12014-02-20  Dean Jackson  <dino@apple.com>
2
3        An unresolved WebGL Context should operate normally until used
4        https://bugs.webkit.org/show_bug.cgi?id=129110
5
6        Reviewed by Brent Fulgham.
7
8        Add the ability to create a special instance of WebGLRenderingContext,
9        that appears normal but won't actually do anything if asked. This will
10        be created in the case of the WebGLLoadPolicy being "pending" and helps
11        in the case of pages that feature detect by creating a context and
12        immediately deleting it.
13
14        Note that the context doesn't actually try to recover from this state
15        yet, although that would be a nice addition. When asked to do something
16        it could actually try to create the GraphicsContext3D. However, if it
17        fails it would then have to fire a context lost.
18
19        * html/HTMLCanvasElement.cpp:
20        (WebCore::HTMLCanvasElement::getContext): Move the load policy code out of getContext.
21        * html/canvas/WebGLRenderingContext.cpp:
22        (WebCore::WebGLRenderingContext::create): Add the ability to create a pending context.
23        (WebCore::WebGLRenderingContext::WebGLRenderingContext): New constructor for a pending context.
24        (WebCore::WebGLRenderingContext::~WebGLRenderingContext): Only delete if not pending.
25        (WebCore::WebGLRenderingContext::destroyGraphicsContext3D): Ditto.
26        (WebCore::WebGLRenderingContext::clearIfComposited): Everything below is about checking the
27        pending state before doing anything, and triggering a resolution if necessary.
28        (WebCore::WebGLRenderingContext::activeTexture):
29        (WebCore::WebGLRenderingContext::attachShader):
30        (WebCore::WebGLRenderingContext::bindAttribLocation):
31        (WebCore::WebGLRenderingContext::checkObjectToBeBound):
32        (WebCore::WebGLRenderingContext::blendColor):
33        (WebCore::WebGLRenderingContext::blendEquation):
34        (WebCore::WebGLRenderingContext::blendEquationSeparate):
35        (WebCore::WebGLRenderingContext::blendFunc):
36        (WebCore::WebGLRenderingContext::blendFuncSeparate):
37        (WebCore::WebGLRenderingContext::bufferData):
38        (WebCore::WebGLRenderingContext::bufferSubData):
39        (WebCore::WebGLRenderingContext::checkFramebufferStatus):
40        (WebCore::WebGLRenderingContext::clear):
41        (WebCore::WebGLRenderingContext::clearColor):
42        (WebCore::WebGLRenderingContext::clearDepth):
43        (WebCore::WebGLRenderingContext::clearStencil):
44        (WebCore::WebGLRenderingContext::colorMask):
45        (WebCore::WebGLRenderingContext::compileShader):
46        (WebCore::WebGLRenderingContext::compressedTexImage2D):
47        (WebCore::WebGLRenderingContext::compressedTexSubImage2D):
48        (WebCore::WebGLRenderingContext::copyTexImage2D):
49        (WebCore::WebGLRenderingContext::copyTexSubImage2D):
50        (WebCore::WebGLRenderingContext::createBuffer):
51        (WebCore::WebGLRenderingContext::createFramebuffer):
52        (WebCore::WebGLRenderingContext::createTexture):
53        (WebCore::WebGLRenderingContext::createProgram):
54        (WebCore::WebGLRenderingContext::createRenderbuffer):
55        (WebCore::WebGLRenderingContext::createShader):
56        (WebCore::WebGLRenderingContext::cullFace):
57        (WebCore::WebGLRenderingContext::deleteObject):
58        (WebCore::WebGLRenderingContext::depthFunc):
59        (WebCore::WebGLRenderingContext::depthMask):
60        (WebCore::WebGLRenderingContext::depthRange):
61        (WebCore::WebGLRenderingContext::detachShader):
62        (WebCore::WebGLRenderingContext::disable):
63        (WebCore::WebGLRenderingContext::disableVertexAttribArray):
64        (WebCore::WebGLRenderingContext::validateDrawArrays):
65        (WebCore::WebGLRenderingContext::validateDrawElements):
66        (WebCore::WebGLRenderingContext::enable):
67        (WebCore::WebGLRenderingContext::enableVertexAttribArray):
68        (WebCore::WebGLRenderingContext::finish):
69        (WebCore::WebGLRenderingContext::flush):
70        (WebCore::WebGLRenderingContext::framebufferRenderbuffer):
71        (WebCore::WebGLRenderingContext::framebufferTexture2D):
72        (WebCore::WebGLRenderingContext::frontFace):
73        (WebCore::WebGLRenderingContext::generateMipmap):
74        (WebCore::WebGLRenderingContext::getActiveAttrib):
75        (WebCore::WebGLRenderingContext::getActiveUniform):
76        (WebCore::WebGLRenderingContext::getAttachedShaders):
77        (WebCore::WebGLRenderingContext::getAttribLocation):
78        (WebCore::WebGLRenderingContext::getBufferParameter):
79        (WebCore::WebGLRenderingContext::getContextAttributes):
80        (WebCore::WebGLRenderingContext::getExtension):
81        (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
82        (WebCore::WebGLRenderingContext::getParameter):
83        (WebCore::WebGLRenderingContext::getProgramParameter):
84        (WebCore::WebGLRenderingContext::getProgramInfoLog):
85        (WebCore::WebGLRenderingContext::getRenderbufferParameter):
86        (WebCore::WebGLRenderingContext::getShaderParameter):
87        (WebCore::WebGLRenderingContext::getShaderInfoLog):
88        (WebCore::WebGLRenderingContext::getShaderPrecisionFormat):
89        (WebCore::WebGLRenderingContext::getShaderSource):
90        (WebCore::WebGLRenderingContext::getTexParameter):
91        (WebCore::WebGLRenderingContext::getUniform):
92        (WebCore::WebGLRenderingContext::getUniformLocation):
93        (WebCore::WebGLRenderingContext::getVertexAttrib):
94        (WebCore::WebGLRenderingContext::getVertexAttribOffset):
95        (WebCore::WebGLRenderingContext::hint):
96        (WebCore::WebGLRenderingContext::isBuffer):
97        (WebCore::WebGLRenderingContext::isContextLostOrPending):
98        (WebCore::WebGLRenderingContext::isEnabled):
99        (WebCore::WebGLRenderingContext::isFramebuffer):
100        (WebCore::WebGLRenderingContext::isProgram):
101        (WebCore::WebGLRenderingContext::isRenderbuffer):
102        (WebCore::WebGLRenderingContext::isShader):
103        (WebCore::WebGLRenderingContext::isTexture):
104        (WebCore::WebGLRenderingContext::lineWidth):
105        (WebCore::WebGLRenderingContext::linkProgram):
106        (WebCore::WebGLRenderingContext::pixelStorei):
107        (WebCore::WebGLRenderingContext::polygonOffset):
108        (WebCore::WebGLRenderingContext::readPixels):
109        (WebCore::WebGLRenderingContext::releaseShaderCompiler):
110        (WebCore::WebGLRenderingContext::renderbufferStorage):
111        (WebCore::WebGLRenderingContext::sampleCoverage):
112        (WebCore::WebGLRenderingContext::scissor):
113        (WebCore::WebGLRenderingContext::shaderSource):
114        (WebCore::WebGLRenderingContext::stencilFunc):
115        (WebCore::WebGLRenderingContext::stencilFuncSeparate):
116        (WebCore::WebGLRenderingContext::stencilMask):
117        (WebCore::WebGLRenderingContext::stencilMaskSeparate):
118        (WebCore::WebGLRenderingContext::stencilOp):
119        (WebCore::WebGLRenderingContext::stencilOpSeparate):
120        (WebCore::WebGLRenderingContext::texImage2D):
121        (WebCore::WebGLRenderingContext::texParameter):
122        (WebCore::WebGLRenderingContext::texSubImage2D):
123        (WebCore::WebGLRenderingContext::uniform1f):
124        (WebCore::WebGLRenderingContext::uniform1fv):
125        (WebCore::WebGLRenderingContext::uniform1i):
126        (WebCore::WebGLRenderingContext::uniform1iv):
127        (WebCore::WebGLRenderingContext::uniform2f):
128        (WebCore::WebGLRenderingContext::uniform2fv):
129        (WebCore::WebGLRenderingContext::uniform2i):
130        (WebCore::WebGLRenderingContext::uniform2iv):
131        (WebCore::WebGLRenderingContext::uniform3f):
132        (WebCore::WebGLRenderingContext::uniform3fv):
133        (WebCore::WebGLRenderingContext::uniform3i):
134        (WebCore::WebGLRenderingContext::uniform3iv):
135        (WebCore::WebGLRenderingContext::uniform4f):
136        (WebCore::WebGLRenderingContext::uniform4fv):
137        (WebCore::WebGLRenderingContext::uniform4i):
138        (WebCore::WebGLRenderingContext::uniform4iv):
139        (WebCore::WebGLRenderingContext::uniformMatrix2fv):
140        (WebCore::WebGLRenderingContext::uniformMatrix3fv):
141        (WebCore::WebGLRenderingContext::uniformMatrix4fv):
142        (WebCore::WebGLRenderingContext::validateProgram):
143        (WebCore::WebGLRenderingContext::vertexAttribPointer):
144        (WebCore::WebGLRenderingContext::viewport):
145        (WebCore::WebGLRenderingContext::forceLostContext):
146        (WebCore::WebGLRenderingContext::forceRestoreContext):
147        (WebCore::WebGLRenderingContext::platformLayer):
148        (WebCore::WebGLRenderingContext::removeSharedObject):
149        (WebCore::WebGLRenderingContext::addSharedObject):
150        (WebCore::WebGLRenderingContext::removeContextObject):
151        (WebCore::WebGLRenderingContext::addContextObject):
152        (WebCore::WebGLRenderingContext::detachAndRemoveAllObjects):
153        (WebCore::WebGLRenderingContext::stop):
154        (WebCore::WebGLRenderingContext::vertexAttribfImpl):
155        (WebCore::WebGLRenderingContext::vertexAttribfvImpl):
156        (WebCore::WebGLRenderingContext::vertexAttribDivisor):
157        * html/canvas/WebGLRenderingContext.h:
158
1592014-02-20  Dean Jackson  <dino@apple.com>
160
161        Add an unresolved WebGLPolicy and an API to resolve it
162        https://bugs.webkit.org/show_bug.cgi?id=129109
163
164        Reviewed by Anders Carlsson.
165
166        Add a third WebGLLoadPolicy which is "pending" allowing the page
167        to go ahead with creating the WebGLRenderingContext and resolve the policy
168        at a later time. Add a new API resolveWebGLLoadPolicy to do the resolution.
169
170        * html/HTMLCanvasElement.cpp:
171        (WebCore::HTMLCanvasElement::getContext): WebGLBlock -> WebGLBlockCreation
172        * loader/FrameLoaderClient.h:
173        (WebCore::FrameLoaderClient::webGLPolicyForURL): WebGLAllow -> WebGLAllowCreation.
174        (WebCore::FrameLoaderClient::resolveWebGLPolicyForURL): New method.
175        * loader/FrameLoaderTypes.h: Add WebGLPendingCreation.
176
1772014-02-20  Zalan Bujtas  <zalan@apple.com>
178
179        Subpixel rendering: Enable compositing RenderLayer painting on device pixel position.
180        https://bugs.webkit.org/show_bug.cgi?id=128509
181
182        Reviewed by Simon Fraser.
183
184        GraphicsLayer is now positioned on device pixel boundary. This enables us to put
185        compositing layers on a subpixel position and animate them with device pixel
186        precision.
187
188        Tests: fast/sub-pixel/compositing-layers-on-subpixel-position.html
189               fast/sub-pixel/simple-clipping.html
190
191        * platform/LayoutUnit.h:
192        (WebCore::ceilToDevicePixel):
193        * platform/graphics/LayoutPoint.h:
194        (WebCore::flooredForPainting):
195        (WebCore::ceiledForPainting):
196        * platform/graphics/LayoutRect.cpp:
197        (WebCore::enclosingRectForPainting):
198        * platform/graphics/LayoutRect.h:
199        * rendering/RenderLayer.cpp:
200        (WebCore::RenderLayer::clipToRect):
201        * rendering/RenderLayerBacking.cpp:
202        (WebCore::clipBox):
203        (WebCore::pixelFractionForLayerPainting):
204        (WebCore::calculateDevicePixelOffsetFromRenderer):
205        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
206        (WebCore::RenderLayerBacking::paintIntoLayer):
207        * rendering/RenderLayerBacking.h:
208
2092014-02-20  Bem Jones-Bey  <bjonesbe@adobe.com>
210
211        Rename border/padding/margin width/height to horizontal/vertical extent on RenderBoxModelObject
212        https://bugs.webkit.org/show_bug.cgi?id=129043
213
214        Reviewed by David Hyatt.
215
216        Using horizontal extent instead of width and vertical extent instead
217        of height makes it more obvious that these are measurements of both
218        border/margin/padding sides, not just one.
219
220        As David Hyatt put it: "I dislike using terms like 'width' since it
221        could be confused with the actual border-width CSS name, i.e., a
222        person new to this code would think the method was returning the pixel
223        width of a single border."
224
225        No new tests, no behavior change.
226
227        * html/HTMLAppletElement.cpp:
228        (WebCore::HTMLAppletElement::updateWidget):
229        * inspector/InspectorOverlay.cpp:
230        * rendering/RenderBlockLineLayout.cpp:
231        (WebCore::RenderBlockFlow::checkFloatsInCleanLine):
232        * rendering/RenderBox.cpp:
233        (WebCore::RenderBox::repaintLayerRectsForImage):
234        (WebCore::RenderBox::positionForPoint):
235        * rendering/RenderBoxModelObject.h:
236        (WebCore::RenderBoxModelObject::horizontalBorderExtent):
237        (WebCore::RenderBoxModelObject::verticalBorderExtent):
238        (WebCore::RenderBoxModelObject::verticalBorderAndPaddingExtent):
239        (WebCore::RenderBoxModelObject::horizontalBorderAndPaddingExtent):
240        (WebCore::RenderBoxModelObject::verticalMarginExtent):
241        (WebCore::RenderBoxModelObject::horizontalMarginExtent):
242        * rendering/RenderDeprecatedFlexibleBox.cpp:
243        (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
244        (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
245        (WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
246        * rendering/RenderFieldset.cpp:
247        (WebCore::RenderFieldset::computePreferredLogicalWidths):
248        * rendering/RenderFileUploadControl.cpp:
249        (WebCore::RenderFileUploadControl::computePreferredLogicalWidths):
250        * rendering/RenderFlexibleBox.cpp:
251        (WebCore::RenderFlexibleBox::crossAxisMarginExtentForChild):
252        (WebCore::RenderFlexibleBox::mainAxisBorderAndPaddingExtentForChild):
253        (WebCore::RenderFlexibleBox::computeNextFlexLine):
254        * rendering/RenderInline.cpp:
255        (WebCore::RenderInline::localCaretRect):
256        (WebCore::RenderInline::generateCulledLineBoxRects):
257        * rendering/RenderLayer.cpp:
258        (WebCore::RenderLayer::resize):
259        * rendering/RenderListBox.cpp:
260        (WebCore::RenderListBox::computePreferredLogicalWidths):
261        (WebCore::RenderListBox::computeLogicalHeight):
262        * rendering/RenderMenuList.cpp:
263        (RenderMenuList::computePreferredLogicalWidths):
264        * rendering/RenderScrollbar.cpp:
265        (WebCore::RenderScrollbar::trackPieceRectWithMargins):
266        * rendering/RenderSlider.cpp:
267        (WebCore::RenderSlider::computePreferredLogicalWidths):
268        * rendering/RenderTextControl.cpp:
269        (WebCore::RenderTextControl::computeLogicalHeight):
270        * rendering/RenderTextControlSingleLine.cpp:
271        (WebCore::RenderTextControlSingleLine::layout):
272        * rendering/line/LineLayoutState.h:
273        (WebCore::FloatWithRect::FloatWithRect):
274        * rendering/shapes/ShapeInfo.cpp:
275        (WebCore::ShapeInfo<RenderType>::setReferenceBoxLogicalSize):
276        * rendering/svg/RenderSVGRoot.cpp:
277        (WebCore::RenderSVGRoot::updateCachedBoundaries):
278
2792014-02-20  Bem Jones-Bey  <bjonesbe@adobe.com>
280
281        Rename RenderBlockFlow::clearFloats and RenderBlockFlow::newLine to be more accurate
282        https://bugs.webkit.org/show_bug.cgi?id=128991
283
284        Reviewed by David Hyatt.
285
286        Rename clearFloats to rebuildFloatingObjectSetFromIntrudingFloats
287        since it does just that.
288
289        Rename newLine to clearFloats because it actually does what the CSS
290        spec calls clearing floats. This also matches clearFloatsIfNeeded.
291
292        This also removes a FIXME comment that points to a bug that has
293        already been fixed.
294
295        This patch is based on a Blink patch by leviw:
296        https://src.chromium.org/viewvc/blink?revision=158598&view=revision
297
298        No new tests, no behavior change.
299
300        * rendering/RenderBlockFlow.cpp:
301        (WebCore::RenderBlockFlow::rebuildFloatingObjectSetFromIntrudingFloats):
302        (WebCore::RenderBlockFlow::layoutBlock):
303        (WebCore::RenderBlockFlow::clearFloats):
304        * rendering/RenderBlockFlow.h:
305        * rendering/RenderBlockLineLayout.cpp:
306        (WebCore::RenderBlockFlow::layoutRunsAndFloats):
307        (WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):
308        * rendering/line/BreakingContextInlineHeaders.h:
309        (WebCore::BreakingContext::handleFloat):
310        * rendering/svg/RenderSVGText.cpp:
311        (WebCore::RenderSVGText::layout):
312
3132014-02-19  Pratik Solanki  <psolanki@apple.com>
314
315        ASSERT in FrameLoader::shouldInterruptLoadForXFrameOptions
316        https://bugs.webkit.org/show_bug.cgi?id=129081
317        <rdar://problem/16026440>
318
319        Reviewed by Alexey Proskuryakov.
320
321        Do not assert if the server sends us a malformed X-Frame-Options header.
322
323        * loader/FrameLoader.cpp:
324        (WebCore::FrameLoader::shouldInterruptLoadForXFrameOptions):
325
3262014-02-20  Krzysztof Czech  <k.czech@samsung.com>
327
328        AX: Use auto to reduce some code in loops
329        https://bugs.webkit.org/show_bug.cgi?id=129087
330
331        Reviewed by Chris Fleizach.
332
333        Use auto where appropriate to reduce some code.
334
335        * accessibility/AccessibilityObject.cpp:
336        (WebCore::AccessibilityObject::boundingBoxForQuads):
337        (WebCore::AccessibilityObject::ariaRoleToWebCoreRole):
338        * accessibility/atk/WebKitAccessibleInterfaceHypertext.cpp:
339        (webkitAccessibleHypertextGetNLinks):
340
3412014-02-20  Commit Queue  <commit-queue@webkit.org>
342
343        Unreviewed, rolling out r164422.
344        http://trac.webkit.org/changeset/164422
345        https://bugs.webkit.org/show_bug.cgi?id=129102
346
347        Causes assertions in
348        ScriptExecutionContext::canSuspendActiveDOMObjects()
349        (Requested by zdobersek on #webkit).
350
351        * dom/KeyboardEvent.cpp:
352        (WebCore::KeyboardEvent::KeyboardEvent):
353        * dom/KeyboardEvent.h:
354        * dom/ScriptExecutionContext.cpp:
355        (WebCore::ScriptExecutionContext::reportException):
356        (WebCore::ScriptExecutionContext::publicURLManager):
357        * dom/ScriptExecutionContext.h:
358        * dom/ScriptRunner.h:
359
3602014-02-20  Zan Dobersek  <zdobersek@igalia.com>
361
362        Move to using std::unique_ptr for VisitedLinkState, CheckedRadioButtons
363        https://bugs.webkit.org/show_bug.cgi?id=128967
364
365        Reviewed by Andreas Kling.
366
367        Replace uses of OwnPtr and PassOwnPtr in the VisitedLinkState and
368        CheckedRadioButtons classes with std::unique_ptr.
369
370        * dom/CheckedRadioButtons.cpp:
371        (WebCore::RadioButtonGroup::RadioButtonGroup):
372        (WebCore::RadioButtonGroup::remove):
373        (WebCore::CheckedRadioButtons::addButton):
374        (WebCore::CheckedRadioButtons::removeButton):
375        * dom/CheckedRadioButtons.h:
376        * dom/Document.cpp:
377        (WebCore::Document::Document):
378        * dom/Document.h:
379        * dom/VisitedLinkState.cpp:
380        * dom/VisitedLinkState.h:
381
3822014-02-20  Artur Moryc  <a.moryc@samsung.com>
383
384        AX: Children Nodes for Canvas objects are not equal to Render Objects.
385        https://bugs.webkit.org/show_bug.cgi?id=123568
386
387        Reviewed by Chris Fleizach.
388
389        There is a difference in children nodes taken into account for RenderObject
390        and for NodeObject types. There is a problem with text nodes that are
391        focusable for EFL/GTK and therefore are not filtered out in the test like it
392        happens for the MAC port. Text nodes are eliminated in the
393        AccessibilityRenderObject::computeAccessibilityIsIgnored() method. The same
394        approach has been applied to the NodeObject to eliminate text nodes.
395
396        Covered by existing tests.
397
398        * accessibility/AccessibilityNodeObject.cpp:
399        (WebCore::AccessibilityNodeObject::computeAccessibilityIsIgnored):
400
4012014-02-20  Zan Dobersek  <zdobersek@igalia.com>
402
403        Move to using std::unique_ptr for KeyboardEvent, ScriptExecutionContext::PendingException
404        https://bugs.webkit.org/show_bug.cgi?id=129061
405
406        Reviewed by Andreas Kling.
407
408        Replace uses of OwnPtr and PassOwnPtr for KeyboardEvent and ScriptExecutionContext::PendingException
409        classes with std::unique_ptr. ScriptExecutionContext::Task objects are still handled through OwnPtr,
410        but this will be addressed later.
411
412        * dom/KeyboardEvent.cpp:
413        (WebCore::KeyboardEvent::KeyboardEvent):
414        * dom/KeyboardEvent.h:
415        * dom/ScriptExecutionContext.cpp:
416        (WebCore::ScriptExecutionContext::reportException):
417        (WebCore::ScriptExecutionContext::publicURLManager):
418        * dom/ScriptExecutionContext.h:
419        * dom/ScriptRunner.h: Remove an unnecessary PassOwnPtr header inclusion.
420
4212014-02-20  Zan Dobersek  <zdobersek@igalia.com>
422
423        Move to using std::unique_ptr for EventListenerMap, EventTarget
424        https://bugs.webkit.org/show_bug.cgi?id=129062
425
426        Reviewed by Andreas Kling.
427
428        Replace uses of OwnPtr and PassOwnPtr in the EventListenerMap and
429        EventTarget classes with std::unique_ptr.
430
431        * dom/EventListenerMap.cpp:
432        (WebCore::EventListenerMap::add):
433        * dom/EventListenerMap.h:
434        * dom/EventTarget.cpp:
435        (WebCore::EventTarget::fireEventListeners):
436        * dom/EventTarget.h:
437
4382014-02-20  Zan Dobersek  <zdobersek@igalia.com>
439
440        Move to using std::unique_ptr for Document and related classes
441        https://bugs.webkit.org/show_bug.cgi?id=129063
442
443        Reviewed by Anders Carlsson.
444
445        Replace uses of OwnPtr and PassOwnPtr in the Document and related classes with std::unique_ptr.
446
447        * dom/DOMImplementation.h:
448        * dom/Document.cpp:
449        (WebCore::Document::Document):
450        (WebCore::Document::removedLastRef):
451        (WebCore::Document::selectorQueryCache):
452        (WebCore::Document::implementation):
453        (WebCore::Document::formController):
454        (WebCore::Document::createStyleResolver):
455        (WebCore::Document::clearStyleResolver):
456        (WebCore::Document::clearAXObjectCache):
457        (WebCore::Document::axObjectCache):
458        (WebCore::Document::setParsing):
459        (WebCore::Document::styleResolverChanged):
460        (WebCore::Document::setTransformSource):
461        (WebCore::Document::accessSVGExtensions):
462        (WebCore::Document::sharedObjectPoolClearTimerFired):
463        (WebCore::Document::didAddTouchEventHandler):
464        * dom/Document.h:
465        * dom/DocumentEventQueue.cpp:
466        (WebCore::DocumentEventQueue::DocumentEventQueue):
467        * dom/DocumentEventQueue.h:
468        * dom/DocumentMarkerController.cpp:
469        (WebCore::DocumentMarkerController::addMarker):
470        * dom/DocumentMarkerController.h:
471        * dom/DocumentSharedObjectPool.cpp:
472        * dom/DocumentSharedObjectPool.h:
473        * dom/DocumentStyleSheetCollection.cpp:
474        (WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
475        (WebCore::DocumentStyleSheetCollection::activeStyleSheetsContains):
476        * dom/DocumentStyleSheetCollection.h:
477        * dom/DocumentType.h:
478        * html/FormController.h:
479        * rendering/TextAutosizer.h:
480        * xml/parser/XMLDocumentParserLibxml2.cpp:
481        (WebCore::XMLDocumentParser::doEnd):
482
4832014-02-20  Mihnea Ovidenie  <mihnea@adobe.com>
484
485        [CSSRegions] Add helper method for region clipping flow content
486        https://bugs.webkit.org/show_bug.cgi?id=129036
487
488        Reviewed by Andrei Bucur.
489
490        Add helper method to test whether a region should clip the flow thread content
491        and use it thoughout the code.
492        Code refactoring, no functionality change, no new tests.
493
494        * rendering/RenderLayer.cpp:
495        (WebCore::RenderLayer::calculateClipRects):
496        * rendering/RenderRegion.cpp:
497        (WebCore::RenderRegion::overflowRectForFlowThreadPortion):
498        (WebCore::RenderRegion::shouldClipFlowThreadContent):
499        (WebCore::RenderRegion::rectFlowPortionForBox):
500        * rendering/RenderRegion.h:
501
5022014-02-20  Frédéric Wang  <fred.wang@free.fr>
503
504        Implement the MathML Operator Dictionary.
505        https://bugs.webkit.org/show_bug.cgi?id=99620
506
507        Reviewed by Chris Fleizach.
508
509        The MathML Operator Dictionary is implemented and the corresponding mo
510        attributes are parsed. Currently, only the stretchy property is used for
511        the visual rendering and the fence/separators properties are used by the
512        accessibility code. Very basic heuristics to determine the form are also
513        added.
514
515        Tests: mathml/presentation/mo-form-fallback.html
516               mathml/presentation/mo-form-stretchy.html
517               mathml/presentation/mo-invalid-attributes.html
518
519        * accessibility/AccessibilityRenderObject.cpp:
520        (WebCore::AccessibilityRenderObject::isMathFenceOperator):
521        (WebCore::AccessibilityRenderObject::isMathSeparatorOperator):
522        * mathml/mathattrs.in:
523        * rendering/mathml/RenderMathMLFenced.cpp:
524        (WebCore::RenderMathMLFenced::createMathMLOperator):
525        (WebCore::RenderMathMLFenced::makeFences):
526        (WebCore::RenderMathMLFenced::addChild):
527        * rendering/mathml/RenderMathMLFenced.h:
528        * rendering/mathml/RenderMathMLOperator.cpp:
529        (WebCore::MathMLOperatorDictionary::ExtractKey):
530        (WebCore::MathMLOperatorDictionary::ExtractChar):
531        (WebCore::RenderMathMLOperator::RenderMathMLOperator):
532        (WebCore::RenderMathMLOperator::setOperatorFlagFromAttribute):
533        (WebCore::RenderMathMLOperator::setOperatorPropertiesFromOpDictEntry):
534        (WebCore::RenderMathMLOperator::SetOperatorProperties):
535        (WebCore::RenderMathMLOperator::advanceForCharacter):
536        (WebCore::RenderMathMLOperator::computePreferredLogicalWidths):
537        (WebCore::RenderMathMLOperator::updateFromElement):
538        (WebCore::RenderMathMLOperator::shouldAllowStretching):
539        (WebCore::RenderMathMLOperator::updateStyle):
540        * rendering/mathml/RenderMathMLOperator.h:
541
5422014-02-19  Zalan Bujtas  <zalan@apple.com>
543
544        Subpixel rendering: Make GraphicsLayer's offsetFromRenderer subpixel position based.
545        https://bugs.webkit.org/show_bug.cgi?id=128694
546
547        Reviewed by Simon Fraser.
548
549        Changing layers from using integral types to using Float/LayoutUnits so that
550        we can position them on subpixels. They are still integral positioned though.
551
552        Covered by existing tests.
553
554        * platform/graphics/GraphicsLayer.cpp:
555        (WebCore::GraphicsLayer::setOffsetFromRenderer):
556        (WebCore::GraphicsLayer::paintGraphicsLayerContents):
557        * platform/graphics/GraphicsLayer.h:
558        (WebCore::GraphicsLayer::offsetFromRenderer): removed incorrect comment.
559        * rendering/RenderLayerBacking.cpp:
560        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
561        (WebCore::RenderLayerBacking::adjustAncestorCompositingBoundsForFlowThread):
562        (WebCore::RenderLayerBacking::positionOverflowControlsLayers):
563        (WebCore::RenderLayerBacking::computeTransformOrigin):
564        (WebCore::RenderLayerBacking::computePerspectiveOrigin):
565        * rendering/RenderLayerBacking.h:
566        * rendering/RenderLayerCompositor.cpp:
567        (WebCore::RenderLayerCompositor::requiresOwnBackingStore):
568        * rendering/RenderLayerCompositor.h:
569        * rendering/RenderMultiColumnSet.cpp:
570        (WebCore::RenderMultiColumnSet::adjustRegionBoundsFromFlowThreadPortionRect):
571        * rendering/RenderMultiColumnSet.h:
572        * rendering/RenderRegion.cpp:
573        (WebCore::RenderRegion::adjustRegionBoundsFromFlowThreadPortionRect):
574        * rendering/RenderRegion.h:
575
5762014-02-19  Zalan Bujtas  <zalan@apple.com>
577
578        Subpixel rendering: Make GraphicsLayer::paintGraphicsLayerContents()'s cliprect FloatRect based.
579        https://bugs.webkit.org/show_bug.cgi?id=128911
580
581        Reviewed by Simon Fraser.
582
583        Switching from IntRect to FloatRect makes device pixel position clipping possible.
584
585        Covered by existing tests.
586
587        * WebCore.exp.in:
588        * platform/graphics/GraphicsLayer.cpp:
589        (WebCore::GraphicsLayer::paintGraphicsLayerContents):
590        * platform/graphics/GraphicsLayer.h:
591        * platform/graphics/ca/GraphicsLayerCA.cpp:
592        (WebCore::GraphicsLayerCA::platformCALayerPaintContents):
593        * platform/graphics/ca/GraphicsLayerCA.h:
594        * platform/graphics/ca/PlatformCALayerClient.h:
595        * platform/graphics/ca/mac/TileController.h:
596        * platform/graphics/ca/mac/TileController.mm:
597        (WebCore::TileController::platformCALayerPaintContents):
598        * platform/graphics/mac/WebLayer.mm:
599        (WebCore::drawLayerContents):
600        (-[WebSimpleLayer drawInContext:]):
601
6022014-02-19  Zalan Bujtas  <zalan@apple.com>
603
604        Subpixel rendering: (RenderLayer)Pass non-css-pixel-snapped dirty rects to PaintInfo when painting renderer().
605        https://bugs.webkit.org/show_bug.cgi?id=128913
606
607        Reviewed by Simon Fraser.
608
609        This is part of the preparation to move RenderLayers to device pixel positioning.
610        We might need to device pixelsnapp the dirty rects later, but PaintInfo should be
611        able to manage that instead of doing it everywhere in the code.
612
613        Covered by existing tests.
614
615        * rendering/RenderLayer.cpp:
616        (WebCore::RenderLayer::paintBackgroundForFragments):
617        (WebCore::RenderLayer::paintForegroundForFragmentsWithPhase):
618        (WebCore::RenderLayer::paintOutlineForFragments):
619        (WebCore::RenderLayer::paintMaskForFragments):
620
6212014-02-19  Ryosuke Niwa  <rniwa@webkit.org>
622
623        fieldset:disabled fieldset > legend:first-child input should be disabled
624        https://bugs.webkit.org/show_bug.cgi?id=129077
625
626        Reviewed by Antti Koivisto.
627
628        Similar to r164403. When a fieldset inside a disabled fieldset, input elements inside
629        the inner fieldset's first legend element child should be disabled.
630
631        Test: fast/forms/fieldset/fieldset-disabled-2.html
632
633        * html/HTMLFieldSetElement.cpp:
634        (WebCore::HTMLFieldSetElement::legend): Fixed the bug where it was returning the first
635        legend element descendent. It should be the first legend element _child_.
636        * html/HTMLFormControlElement.cpp:
637        (WebCore::HTMLFormControlElement::updateAncestorDisabledState): Fixed the algorithm
638        to look for any ancestor fieldset that has been disabled instead of the first fieldset
639        ancestor and checking its disabledness.
640
6412014-02-19  Ryosuke Niwa  <rniwa@webkit.org>
642
643        Debug build fix after r164401. Removed a bogus assertion in comparePositions.
644        When either position is anchored at a detached node, they don't have a tree scope in common.
645
646        * editing/htmlediting.cpp:
647        (WebCore::comparePositions):
648
6492014-02-19  Ryosuke Niwa  <rniwa@webkit.org>
650
651        fieldset:disabled > legend:first-child legend input should not be disabled
652        https://bugs.webkit.org/show_bug.cgi?id=129068
653
654        Reviewed by Andreas Kling.
655
656        An input element inside a disabled fieldset element is ordinarily disabled unless it's inside
657        a legend element that is the first of its kind to appear in the fieldset's child node list.
658
659        Prior to this patch, an input element inside such a legend element was erroneously disabled if
660        we had another legend element between the two as in <fieldset disabled><legend><legend><input>.
661
662        Fixed the bug by correcting the algorithm in updateAncestorDisabledState.
663
664        Test: fast/forms/fieldset/fieldset-disabled-2.html
665
666        * html/HTMLFormControlElement.cpp:
667        (WebCore::HTMLFormControlElement::updateAncestorDisabledState):
668
6692014-02-18  Ryosuke Niwa  <rniwa@webkit.org>
670
671        Changing selection shouldn't synchronously update editor UI components
672        https://bugs.webkit.org/show_bug.cgi?id=129024
673
674        Reviewed by Brent Fulgham.
675
676        Make updates to spellchecker, alternative text controller (correction pane), and delete button controller
677        asynchronous for programmatically triggered selection changes.
678
679        We continue to update their states synchronously immediately after we have applied, unapplied, or reapplied
680        editing commands to keep states in spell checker and alternative text controller consistent. We should be
681        able to make them asynchronous as well in the future but that should be done in a separate patch.
682
683        * WebCore.exp.in:
684        * editing/AlternativeTextController.cpp:
685        (WebCore::AlternativeTextController::respondToChangedSelection): This function used to enumerate all document
686        makers and call respondToMarkerAtEndOfWord on each one of them only to exit early when SetSelectionOptions
687        had DictationTriggered. This condition is now checked in Editor::respondToChangedSelection to avoid all the
688        unnecessary work and remove the dependency on SetSelectionOptions.
689        (WebCore::AlternativeTextController::respondToMarkerAtEndOfWord): Ditto.
690        * editing/AlternativeTextController.h:
691
692        * editing/Editor.cpp:
693        (WebCore::Editor::appliedEditing): Calls updateEditorUINowIfScheduled before calling respondToAppliedEditing
694        on the alternative text controller.
695        (WebCore::Editor::unappliedEditing): Ditto.
696        (WebCore::Editor::reappliedEditing): Ditto.
697        (WebCore::Editor::Editor): Initializes newly added booleans.
698        (WebCore::Editor::respondToChangedSelection): Continue to call respondToChangedSelection (for API consistency)
699        and setStartNewKillRingSequence but defer the "editor UI updates" to spellchecker, alternative text controller
700        and delete button controller by firing a newly added one shot timer.
701        (WebCore::Editor::updateEditorUINowIfScheduled): Synchronously update the pending editor UI updates.
702        (WebCore::Editor::editorUIUpdateTimerFired): Extracted from respondToChangedSelection.
703        * editing/Editor.h:
704
705        * testing/Internals.cpp:
706        (WebCore::Internals::markerCountForNode): Calls updateEditorUINowIfScheduled() to update document markers.
707        (WebCore::Internals::markerAt): Ditto.
708        (WebCore::Internals::updateEditorUINowIfScheduled): Added.
709        (WebCore::Internals::findEditingDeleteButton): Added. Updates delete button controller synchronously.
710        (WebCore::Internals::hasSpellingMarker): Calls updateEditorUINowIfScheduled() to update document markers.
711        (WebCore::Internals::hasAutocorrectedMarker): Ditto.
712        * testing/Internals.h:
713        * testing/Internals.idl:
714
7152014-02-19  Anders Carlsson  <andersca@apple.com>
716
717        Add WTF_MAKE_FAST_ALLOCATED to more classes
718        https://bugs.webkit.org/show_bug.cgi?id=129064
719
720        Reviewed by Andreas Kling.
721
722        * dom/EventContext.h:
723        * platform/graphics/Region.h:
724        * platform/text/BidiResolver.h:
725        * rendering/LayoutState.h:
726
7272014-02-19  Ryosuke Niwa  <rniwa@webkit.org>
728
729        isEditablePosition shouldn't trigger synchronous layout
730        https://bugs.webkit.org/show_bug.cgi?id=129026
731
732        Reviewed by Brent Fulgham.
733
734        Just trigger style recalc instead.
735
736        * editing/htmlediting.cpp:
737        (WebCore::isEditablePosition):
738
7392014-02-19  Beth Dakin  <bdakin@apple.com>
740
741        UIProcess needs to know the color of the page's extended background
742        https://bugs.webkit.org/show_bug.cgi?id=129004
743
744        Rubber-stamped by Andreas Kling.
745
746        Missed this late-breaking review comment. Fixing now!
747
748        * rendering/RenderLayerCompositor.cpp:
749        (WebCore::RenderLayerCompositor::RenderLayerCompositor):
750
7512014-02-19  Beth Dakin  <bdakin@apple.com>
752
753        UIProcess needs to know the color of the page's extended background
754        https://bugs.webkit.org/show_bug.cgi?id=129004
755
756        Reviewed by Brent Fulgham.
757
758        This patch adds a new ChromeClient function, 
759        pageExtendedBackgroundColorDidChange() which will be called whenever the extended 
760        background color has changed.
761
762        New function.
763        * page/ChromeClient.h:
764        (WebCore::ChromeClient::pageExtendedBackgroundColorDidChange):
765
766        Store the extended background color in a member variable so that we can know if it 
767        changed even if we do not have an m_layerForOverhangAreas.
768        * rendering/RenderLayerCompositor.cpp:
769        (WebCore::RenderLayerCompositor::RenderLayerCompositor):
770        (WebCore::RenderLayerCompositor::setRootExtendedBackgroundColor):
771        * rendering/RenderLayerCompositor.h:
772
7732014-02-19  Dirk Schulze  <krit@webkit.org>
774
775        Missing box doesn't use border-box as reference box for clip-path
776        https://bugs.webkit.org/show_bug.cgi?id=129049
777
778        Reviewed by Simon Fraser.
779
780        If no reference box was specified the default reference box should be
781        border-box. Previously to this patch the reference box was the bounding
782        client rect. This was not following the specification.
783        http://www.w3.org/TR/2014/WD-css-masking-1-20140213/#the-clip-path
784        The change affects content using -webkit-clip-path in Safari. Since the
785        bounding client box is equalvalent to the border box most of the time
786        there shouldn't be to much impact.
787
788        Existing tests cover the issue.
789
790        * rendering/RenderLayer.cpp:
791        (WebCore::computeReferenceBox):
792
7932014-02-19  James Craig  <jcraig@apple.com>
794
795        Web Inspector: AX: clarify reason for ignored state where possible (hidden, default for tag, etc)
796        https://bugs.webkit.org/show_bug.cgi?id=129037
797
798        Reviewed by Timothy Hatcher.
799
800        Passing back hidden and ignoredByDefault attrs to clarify some reasons for "ignored" status.
801
802        Test Updated: inspector-protocol/dom/getAccessibilityPropertiesForNode.html
803
804        * inspector/InspectorDOMAgent.cpp:
805        (WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
806        * inspector/protocol/DOM.json:
807
8082014-02-19  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
809
810        [WebRTC] Updating RTCConfiguration to match WebRTC editor's draft of 01/27/2014
811        https://bugs.webkit.org/show_bug.cgi?id=129000
812
813        Reviewed by Eric Carlson.
814
815        Adding RTCIceTransports and RTCIdentityOption to RTCConfiguration object.
816
817        Existing test was updated.
818
819        * Modules/mediastream/RTCPeerConnection.cpp:
820        (WebCore::RTCPeerConnection::parseConfiguration): Taking into account iceTransports and requestIdentity
821        parameters.
822        * platform/mediastream/RTCConfiguration.h:
823        (WebCore::RTCConfiguration::iceTransports): Added.
824        (WebCore::RTCConfiguration::setIceTransports): Added.
825        (WebCore::RTCConfiguration::requestIdentity): Added.
826        (WebCore::RTCConfiguration::setRequestIdentity): Added.
827        (WebCore::RTCConfiguration::RTCConfiguration): Initialize iceTransports and requestIdentity with the default
828        values.
829
8302014-02-19  Antti Koivisto  <antti@apple.com>
831
832        Don't call to willBeDeletedFrom(Document&) when destructing document
833        https://bugs.webkit.org/show_bug.cgi?id=129013
834
835        Reviewed by Andreas Kling.
836        
837        The document is half dead at this point.
838
839        * dom/ContainerNode.cpp:
840        (WebCore::ContainerNode::~ContainerNode):
841
8422014-02-19  Daniel Bates  <dabates@apple.com>
843
844        REGRESSION (r163560): Always treat SVG <tspan> and <textPath> as display inline
845        https://bugs.webkit.org/show_bug.cgi?id=128552
846        <rdar://problem/16029658>
847
848        Reviewed by Andreas Kling.
849
850        Following <http://trac.webkit.org/changeset/163560>, SVG <tspan> and <textPath> may be treated as block-
851        level elements depending on their CSS styles (e.g. display: block). But such elements should always be
852        treated as inline-level elements.
853
854        Tests: svg/text/textpath-display-block.html
855               svg/text/textpath-display-none.html
856               svg/text/tspan-display-block.html
857
858        * css/StyleResolver.cpp:
859        (WebCore::StyleResolver::adjustRenderStyle):
860
8612014-02-19  Daniel Bates  <dabates@apple.com>
862
863        Do not dispatch change event twice in single step action
864        https://bugs.webkit.org/show_bug.cgi?id=116936
865        <rdar://problem/16086828>
866
867        Reviewed by Ryosuke Niwa.
868
869        Merged from Blink (patch by Kent Tamura):
870        https://src.chromium.org/viewvc/blink?view=rev&revision=151175
871
872        Test: fast/forms/number/number-type-update-by-change-event.html
873
874        * html/InputType.cpp:
875        (WebCore::InputType::stepUpFromRenderer):
876
8772014-02-19  Brady Eidson  <beidson@apple.com>
878
879        Add FeatureDefines for image controls
880        https://bugs.webkit.org/show_bug.cgi?id=129022
881
882        Reviewed by Jer Noble.
883
884        * Configurations/FeatureDefines.xcconfig:
885
8862014-02-19  Piotr Grad  <p.grad@samsung.com>
887
888        Setting playback rate on Media Controller modifies current time.
889        https://bugs.webkit.org/show_bug.cgi?id=129042
890
891        Reviewed by Jer Noble.
892
893        In ClockGeneric: when setting playback rate or stoping timer,clock was restarted using current real time
894        instead of provided time by setCurrentTime.
895        Changed impl. so that m_offset is updated when clock stops to remember last clock position.
896        When playbackRate is changed m_offset is updated in order to not use old time interval for new playback rate.
897
898        Test: media/video-controller-currentTime-rate.html
899
900        * html/MediaController.cpp:
901        (MediaController::updatePlaybackState):
902        * platform/ClockGeneric.cpp:
903        (ClockGeneric::setPlayRate):
904        (ClockGeneric::start):
905        (ClockGeneric::stop):
906
9072014-02-19  Brady Eidson  <beidson@apple.com>
908
909        Add settings/preferences for enabling image controls
910        https://bugs.webkit.org/show_bug.cgi?id=129027
911
912        Reviewed by Jer Noble.
913
914        * WebCore.exp.in:
915
916        * page/Settings.cpp:
917        (WebCore::Settings::Settings):
918        (WebCore::Settings::setImageControlsEnabled):
919        * page/Settings.h:
920        (WebCore::Settings::imageControlsEnabled):
921
9222014-02-19  Bem Jones-Bey  <bjonesbe@adobe.com>
923
924        [CSS Shapes] shape-outside does not properly handle different writing modes
925        https://bugs.webkit.org/show_bug.cgi?id=128631
926
927        Reviewed by David Hyatt.
928
929        Fix ShapeOutsideInfo to properly convert the line coordinates and
930        shape coordinates with respect to the writing mode and writing
931        direction for the lines that are affected by the shape. This is
932        notably different from shape inside in that shape outside needs to use
933        the writing mode of the container, not of the element that the shape
934        is applied to.
935
936        Tests: fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-direction-border-box.html
937               fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-direction-content-box.html
938               fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-direction-margin-box.html
939               fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-direction-padding-box.html
940               fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-modes-border-box.html
941               fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-modes-content-box.html
942               fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-modes-margin-box.html
943               fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-modes-padding-box.html
944
945        * rendering/RenderBoxModelObject.h:
946        (WebCore::RenderBoxModelObject::borderWidth): Used by
947            ShapeInfo::setReferenceBoxLogicalSize.
948        (WebCore::RenderBoxModelObject::borderHeight): Ditto.
949        * rendering/shapes/ShapeInfo.cpp:
950        (WebCore::ShapeInfo<RenderType>::setReferenceBoxLogicalSize): Use the
951            container's writing mode to determine the logical dimensions in
952            the case of shape outside.
953        (WebCore::ShapeInfo<RenderType>::computedShape): Use the new
954            ShapeInfo::styleForWritingMode method.
955        (WebCore::borderBeforeInWritingMode): Determines the borderBefore for
956            the passed in renderer using the writing mode passed in. The
957            borderBefore method on the renderer is implemented in RenderStyle,
958            unlike with the margin methods, so this was chosen instead of
959            attempting to move the border method implementation into a place
960            where it could take the writing mode as an argument.
961        (WebCore::borderAndPaddingBeforeInWritingMode): Determines the
962            borderAndPaddingBefore for the passed in renderer using the
963            given writihg mode. See above for why this method instead of doing
964            it like margins.
965        (WebCore::borderStartWithStyleForWritingMode): Determines the
966            borderStart for the passed in renderer using the writing mode and
967            direction from the style passed in. See above for why this method
968            instead of doing it like margins.
969        (WebCore::borderAndPaddingStartWithStyleForWritingMode): Determines
970            the borderAndPaddingStart for the passed in renderer using the
971            writing mode and direction from the style passed in. See above for
972            why this method instead of doing it like margins.
973        (WebCore::ShapeInfo<RenderType>::logicalTopOffset): Use the
974            container's writing mode to determine the logicalTopOffset in the
975            case of shape outside.
976        (WebCore::ShapeInfo<RenderType>::logicalLeftOffset): Use the
977            container's writing mode to determine the logicalTopOffset in the
978            case of shape outside.
979        * rendering/shapes/ShapeInfo.h:
980        * rendering/shapes/ShapeInsideInfo.cpp:
981        (WebCore::ShapeInsideInfo::styleForWritingMode): Return the entire
982            style because to determine start/end the writing direction is
983            needed in addtion to the writing mode.
984        * rendering/shapes/ShapeInsideInfo.h:
985        * rendering/shapes/ShapeOutsideInfo.cpp:
986        (WebCore::ShapeOutsideInfo::updateDeltasForContainingBlockLine):
987            Properly convert the containing block line into the reference box
988            coordinates of the shape.
989        (WebCore::ShapeOutsideInfo::styleForWritingMode): Return the entire
990            style because to determine start/end the writing direction is
991            needed in addtion to the writing mode.
992        * rendering/shapes/ShapeOutsideInfo.h:
993
9942014-02-19  Xabier Rodriguez Calvar  <calvaris@igalia.com>
995
996        [GStreamer] the GstPlayFlags enum diverged from upstream
997        https://bugs.webkit.org/show_bug.cgi?id=128957
998
999        Reviewed by Philippe Normand.
1000
1001        Removed the GstPlayFlags from the GStreamer implementation and
1002        replaced by the use of the GFlags.
1003
1004        * platform/graphics/gstreamer/GStreamerUtilities.h:
1005        * platform/graphics/gstreamer/GStreamerUtilities.cpp:
1006        (WebCore::getGstPlaysFlag): Created to get the flags by using the
1007        GFlags infrastructure.
1008        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1009        (WebCore::MediaPlayerPrivateGStreamer::setDownloadBuffering):
1010        Replaced GST_PLAY_FLAG_DOWNLOAD with getGstPlaysFlag.
1011
10122014-02-19  Zan Dobersek  <zdobersek@igalia.com>
1013
1014        Replace WTF::bind() uses in RTCPeerConnection with C++11 lambdas
1015        https://bugs.webkit.org/show_bug.cgi?id=129001
1016
1017        Reviewed by Eric Carlson.
1018
1019        * Modules/mediastream/RTCPeerConnection.cpp:
1020        (WebCore::RTCPeerConnection::setLocalDescription): Pass a lambda function to
1021        callOnMainThread() instead of using WTF::bind().
1022        (WebCore::RTCPeerConnection::setRemoteDescription): Ditto.
1023
10242014-02-19  Dan Bernstein  <mitz@apple.com>
1025
1026        Simplify PLATFORM(MAC) && !PLATFORM(IOS) and similar expressions
1027        https://bugs.webkit.org/show_bug.cgi?id=129029
1028
1029        Reviewed by Mark Rowe.
1030
1031        * accessibility/AccessibilityRenderObject.cpp:
1032        (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
1033        (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
1034        * config.h:
1035        * editing/Editor.cpp:
1036        (WebCore::Editor::copyURL):
1037        * editing/EditorCommand.cpp:
1038        (WebCore::createCommandMap):
1039        * editing/TypingCommand.cpp:
1040        (WebCore::TypingCommand::markMisspellingsAfterTyping):
1041        * loader/FrameLoader.cpp:
1042        (WebCore::FrameLoader::loadArchive):
1043        * page/AlternativeTextClient.h:
1044        * page/EventHandler.cpp:
1045        * page/PageGroup.cpp:
1046        (WebCore::PageGroup::captionPreferences):
1047        * page/scrolling/ScrollingStateScrollingNode.cpp:
1048        (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
1049        * page/scrolling/ScrollingStateScrollingNode.h:
1050        * page/scrolling/ScrollingTree.h:
1051        * page/scrolling/ThreadedScrollingTree.cpp:
1052        * page/scrolling/ThreadedScrollingTree.h:
1053        * platform/DragData.h:
1054        * platform/FileSystem.cpp:
1055        * platform/MemoryPressureHandler.cpp:
1056        * platform/Pasteboard.h:
1057        * platform/PlatformMouseEvent.h:
1058        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
1059        * platform/PlatformPasteboard.h:
1060        * platform/PlatformScreen.h:
1061        * platform/Scrollbar.cpp:
1062        (WebCore::Scrollbar::supportsUpdateOnSecondaryThread):
1063        * platform/SuddenTermination.h:
1064        * platform/ThreadGlobalData.cpp:
1065        (WebCore::ThreadGlobalData::ThreadGlobalData):
1066        (WebCore::ThreadGlobalData::destroy):
1067        * platform/ThreadGlobalData.h:
1068        * platform/audio/mac/AudioDestinationMac.cpp:
1069        * platform/audio/mac/AudioFileReaderMac.cpp:
1070        * platform/audio/mac/AudioSessionMac.cpp:
1071        * platform/graphics/DisplayRefreshMonitor.h:
1072        * platform/graphics/FloatPoint.h:
1073        * platform/graphics/FloatRect.h:
1074        * platform/graphics/FloatSize.h:
1075        * platform/graphics/IntRect.h:
1076        * platform/graphics/IntSize.h:
1077        * platform/graphics/MediaPlayer.cpp:
1078        (WebCore::installedMediaEngines):
1079        * platform/graphics/cg/ImageBufferCG.cpp:
1080        (WebCore::utiFromMIMEType):
1081        * platform/graphics/cg/PDFDocumentImage.h:
1082        * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
1083        * platform/graphics/mac/GraphicsContextMac.mm:
1084        (WebCore::GraphicsContext::drawLineForDocumentMarker):
1085        * platform/graphics/opengl/Extensions3DOpenGL.cpp:
1086        (WebCore::Extensions3DOpenGL::supportsExtension):
1087        (WebCore::Extensions3DOpenGL::drawBuffersEXT):
1088        * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
1089        (WebCore::Extensions3DOpenGLCommon::Extensions3DOpenGLCommon):
1090        * platform/mac/KeyEventMac.mm:
1091        * platform/network/NetworkStateNotifier.h:
1092        * platform/network/cf/CookieJarCFNet.cpp:
1093        * platform/network/cf/ResourceRequest.h:
1094        * platform/network/cf/ResourceRequestCFNet.cpp:
1095        * platform/network/cf/SocketStreamHandleCFNet.cpp:
1096        (WebCore::SocketStreamHandle::reportErrorToClient):
1097        * platform/text/TextEncodingRegistry.cpp:
1098        (WebCore::extendTextCodecMaps):
1099        * rendering/RenderLayerCompositor.cpp:
1100        (WebCore::RenderLayerCompositor::allowsIndependentlyCompositedFrames):
1101        (WebCore::RenderLayerCompositor::requiresCompositingForAnimation):
1102
11032014-02-18  Dan Bernstein  <mitz@apple.com>
1104
1105        PLATFORM(MAC) is true when building for iOS
1106        https://bugs.webkit.org/show_bug.cgi?id=129025
1107
1108        Reviewed by Mark Rowe.
1109
1110        * editing/Editor.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA) now that the former does not
1111        include iOS.
1112
11132014-02-17  Gavin Barraclough  <barraclough@apple.com>
1114
1115        Add fast mapping from StringImpl to JSString
1116        https://bugs.webkit.org/show_bug.cgi?id=128625
1117
1118        Reviewed by Geoff Garen & Andreas Kling.
1119
1120        Removed JSStringCache from WebCore; call JSC::jsStringWithWeakOwner instead.
1121
1122        * bindings/js/DOMWrapperWorld.cpp:
1123        (WebCore::DOMWrapperWorld::clearWrappers):
1124            - removed JSStringCache.
1125        * bindings/js/DOMWrapperWorld.h:
1126            - removed JSStringCache.
1127        * bindings/js/JSDOMBinding.h:
1128        (WebCore::jsStringWithCache):
1129            - call jsStringWithWeakOwner insead of using JSStringCache.
1130        * bindings/js/JSDOMWindowBase.cpp:
1131        (WebCore::JSDOMWindowBase::commonVM):
1132            - renamed createLeaked -> createLeakedForMainThread.
1133        * bindings/scripts/StaticString.pm:
1134        (GenerateStrings):
1135            - StringImpl has an additional field.
1136
11372014-02-18  Simon Fraser  <simon.fraser@apple.com>
1138
1139        Remove UIWKRemoteView
1140        https://bugs.webkit.org/show_bug.cgi?id=129015
1141
1142        Reviewed by Dan Bernstein.
1143
1144        The project referenced a maketokenizer script that disappeared
1145        long ago.
1146
1147        * WebCore.xcodeproj/project.pbxproj:
1148
11492014-02-18  Simon Fraser  <simon.fraser@apple.com>
1150
1151        border-box clip-paths jump around when outline changes
1152        https://bugs.webkit.org/show_bug.cgi?id=128929
1153
1154        Reviewed by Dirk Schulze.
1155        
1156        computeReferenceBox() for clip paths was using "rootRelativeBounds"
1157        to position the border-box. This bounds is an enclosing bounds for
1158        the layer and its descendants, including outlines and absolute descendants,
1159        so it is not the correct box to use to offset the border-box.
1160        
1161        The caller has offsetFromRoot(), which is the correct thing to use,
1162        so use it.
1163
1164        Test: css3/masking/clip-path-root-relative-bounds.html
1165
1166        * rendering/RenderLayer.cpp:
1167        (WebCore::computeReferenceBox):
1168        (WebCore::RenderLayer::setupClipPath):
1169
11702014-02-18  James Craig  <jcraig@apple.com>
1171
1172        Web Inspector: AX: more properties: exists, required, and invalid (exists was previously combined with ignored)
1173        https://bugs.webkit.org/show_bug.cgi?id=128504
1174
1175        Reviewed by Timothy Hatcher.
1176
1177        Additions to the accessibility node inspector: exists, required, invalid.
1178
1179        Test: inspector-protocol/dom/getAccessibilityPropertiesForNode.html
1180
1181        * inspector/InspectorDOMAgent.cpp:
1182        (WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
1183        * inspector/protocol/DOM.json:
1184
11852014-02-18  Ryosuke Niwa  <rniwa@webkit.org>
1186
1187        Commit the code change supposed to happen in r164320.
1188
1189        * editing/Editor.cpp:
1190        (WebCore::Editor::setIgnoreCompositionSelectionChange):
1191        (WebCore::Editor::respondToChangedSelection):
1192        * editing/Editor.h:
1193
11942014-02-18  Ryosuke Niwa  <rniwa@webkit.org>
1195
1196        TextFieldInputType::handleBeforeTextInsertedEvent shouldn't use plainText
1197        https://bugs.webkit.org/show_bug.cgi?id=128953
1198
1199        Reviewed by Alexey Proskuryakov.
1200
1201        Don't use FrameSelection's toNormalizedRange and plainText. Instead, use the cached selection start and selection
1202        end to extract the selected text. The caches are updated inside FrameSelection::setSelection whenever selection
1203        is inside a text form control via HTMLTextFormControlElement::selectionChanged.
1204
1205        * html/TextFieldInputType.cpp:
1206        (WebCore::TextFieldInputType::handleBeforeTextInsertedEvent):
1207
12082014-02-18  Viatcheslav Ostapenko  <sl.ostapenko@samsung.com>
1209
1210        Bottom/right sticky positioning don't correctly handle scroll containers with padding
1211        https://bugs.webkit.org/show_bug.cgi?id=119280
1212
1213        Reviewed by Simon Fraser.
1214
1215        Take padding into account during calculation of overflow constraining rect for sticky
1216        positioning.
1217
1218        Test: fast/css/sticky/sticky-bottom-overflow-padding.html
1219
1220        * rendering/RenderBoxModelObject.cpp:
1221        (WebCore::RenderBoxModelObject::stickyPositionOffset):
1222
12232014-02-17  Jon Honeycutt  <jhoneycutt@apple.com>
1224
1225        Crash when merging ruby bases that contain floats
1226
1227        https://bugs.webkit.org/show_bug.cgi?id=127515
1228        <rdar://problem/15896562>
1229
1230        This crash occurs when we remove a ruby text object and decide to merge
1231        two adjacent ruby base objects. The right ruby base's children were
1232        being merged into the left ruby base, but the right ruby base's floats
1233        were not being moved to the left base. This could cause us not to
1234        descend into all nodes containing a FloatingObject in
1235        RenderBlockFlow::markAllDescendantsWithFloatsForLayout(), because we
1236        assume that if a block does not have a particular float in its float
1237        list, none of its descendants will, either.
1238
1239        Reviewed by David Hyatt.
1240
1241        Test: fast/ruby/ruby-base-merge-block-children-crash-2.html
1242
1243        * rendering/RenderBlockFlow.cpp:
1244        (WebCore::RenderBlockFlow::moveFloatsTo):
1245        Code split out of moveAllChildrenIncludingFloatsTo().
1246        (WebCore::RenderBlockFlow::moveAllChildrenIncludingFloatsTo):
1247        Call moveFloatsTo().
1248
1249        * rendering/RenderBlockFlow.h:
1250        Add declaration of moveFloatsTo().
1251
1252        * rendering/RenderRubyBase.cpp:
1253        (WebCore::RenderRubyBase::mergeChildrenWithBase):
1254        Move children and floats to the new base.
1255
1256        * rendering/RenderRubyBase.h:
1257        Declare mergeChildrenWithBase().
1258
1259        * rendering/RenderRubyRun.cpp:
1260        (WebCore::RenderRubyRun::removeChild):
1261        Call mergeChildrenWithBase().
1262
12632014-02-18  Ryosuke Niwa  <rniwa@webkit.org>
1264
1265        iOS build fix after r164319.
1266
1267        * editing/FrameSelection.cpp:
1268        (WebCore::FrameSelection::setSelectedRange):
1269
12702014-02-18  Samuel White  <samuel_white@apple.com>
1271
1272        AX: Searching for "immediate descendants only" can return unexpected results.
1273        https://bugs.webkit.org/show_bug.cgi?id=128986
1274
1275        Reviewed by Chris Fleizach.
1276
1277        Missed an application of the immediateDescendantsOnly flag during the initial implementation. We
1278        need to make sure we don't decend into the startObject first if it is provided. This fix causes
1279        the outer loop to 'skip' the first iteration so only siblings of the startObject are considered.
1280
1281        No new tests, updated existing search-predicate-immediate-descendants-only.html test to cover this case.
1282
1283        * accessibility/AccessibilityObject.cpp:
1284        (WebCore::AccessibilityObject::findMatchingObjects):
1285
12862014-02-18 Ryosuke Niwa <rniwa@webkit.org>
1287
1288        Merge notifyComponentsOnChangedSelection into respondToSelectionChange
1289        https://bugs.webkit.org/show_bug.cgi?id=128993
1290
1291        Reviewed by Andreas Kling.
1292
1293        Merged notifyComponentsOnChangedSelection into respondToSelectionChange since notifyComponentsOnChangedSelection
1294        was only added in iOS codebase in response to the code added for continuous spellchecking and alternative text controller
1295        in respondToChangedSelection but they should have been called inside setIgnoreCompositionSelectionChange.
1296
1297        So merge these two functions and make respondToChangedSelection behave like setIgnoreCompositionSelectionChange.
1298
1299        * editing/Editor.cpp:
1300        (WebCore::Editor::setIgnoreCompositionSelectionChange):
1301        (WebCore::Editor::respondToChangedSelection):
1302        * editing/Editor.h:
1303
13042014-02-18  Ryosuke Niwa  <rniwa@webkit.org>
1305
1306        FrameSelection::textWasReplaced and setSelectedRange shouldn't trigger synchronous layout
1307        https://bugs.webkit.org/show_bug.cgi?id=128951
1308
1309        Reviewed by Antti Koivisto.
1310
1311        Cleanup.
1312
1313        * editing/FrameSelection.cpp:
1314        (WebCore::FrameSelection::textWasReplaced): Don't call updateLayout. It's totally unnecessarily.
1315        (WebCore::FrameSelection::setSelectedRange): Ditto. Also removed the code to set affinity only when
1316        range is collapsed since VisibleSelection::validate already does this.
1317
13182014-02-18  Eric Carlson  <eric.carlson@apple.com>
1319
1320        Do not cache media time until media engine returns a non-zero value
1321        https://bugs.webkit.org/show_bug.cgi?id=128976
1322
1323        Reviewed by Jer Noble.
1324
1325        No new tests, covered by existing tests.
1326
1327        * html/HTMLMediaElement.cpp:
1328        (WebCore::HTMLMediaElement::refreshCachedTime): Don't mark the cached time as valid
1329            until it is non-zero.
1330        (WebCore::HTMLMediaElement::currentTime): Return 0 if m_cachedTime is invalid.
1331
13322014-02-17  Alexey Proskuryakov  <ap@apple.com>
1333
1334        [iOS] All WebKit clients should encrypt WebCrypto keys automatically
1335        https://bugs.webkit.org/show_bug.cgi?id=128938
1336
1337        Reviewed by Dan Bernstein.
1338
1339        Don't pass ACLs on iOS. Key will be added to app's default Keychain access group.
1340
1341        Also, don't pass kSecAttrIsPermanent, which is irrelevant for password items, and
1342        caused error -50 in DumpRenderTree for me when passed.
1343
1344        Added fallback to _NSGetProgname for account name, to account for tools such as
1345        Mac DumpRenderTree that don't have bundle identifiers.
1346
1347        * crypto/mac/SerializedCryptoKeyWrapMac.mm:
1348        (WebCore::masterKeyAccountNameForCurrentApplication):
1349        (WebCore::createAndStoreMasterKey):
1350
13512014-02-18  Ryosuke Niwa  <rniwa@webkit.org>
1352
1353        setSelectionRange should set selection without validation
1354        https://bugs.webkit.org/show_bug.cgi?id=128949
1355
1356        Reviewed by Enrica Casucci.
1357
1358        Since positionForIndex in HTMLTextFormControlElement always returns a candidate Position, we don't have to
1359        validate selection in setSelectionRange.
1360
1361        Also fixed various bugs uncovered by this change.
1362
1363        This patch also fixes fast/forms/input-select-webkit-user-select-none.html, which used to assert wrong outcome
1364        so that WebKit's behavior matches that of Chrome and Firefox.
1365
1366        Test: fast/forms/input-select-webkit-user-select-none.html
1367
1368        * dom/Position.h:
1369        (WebCore::positionInParentBeforeNode): This function had a bug that when node is a child of the shadow root
1370        it would return a null Position. Allow a position anchored inside a shadow root.
1371        (WebCore::positionInParentAfterNode): Ditto.
1372
1373        * editing/FrameSelection.cpp:
1374        (WebCore::FrameSelection::moveWithoutValidationTo): Renamed from moveTo and avoided selection validation.
1375        * editing/FrameSelection.h:
1376
1377        * editing/htmlediting.cpp:
1378        (WebCore::updatePositionForNodeRemoval): Fixed the bug that this function doesn't update positions before
1379        or after children even if the shadow host of the anchor node is getting removed. Move the position before
1380        the shadow host to be removed in both situations.
1381
1382        * html/HTMLTextFormControlElement.cpp:
1383        (WebCore::HTMLTextFormControlElement::setSelectionRange): moveTo is renamed to moveWithoutValidationTo.
1384        (WebCore::HTMLTextFormControlElement::selectionChanged): Check if the cached selection offsets are different
1385        in lieu of FrameSelection::isRange() since they're equivalent here.
1386        (WebCore::positionForIndex): Return the position inside or after the last br when there is one to match
1387        the canonicalization algorithm we have. It's probably harmless to return the last position in the inner text
1388        element anyways since most of our codebase supports that but this would avoid having to rebaseline dozens
1389        of tests and reduces the risk of this patch.
1390
13912014-02-18  Zan Dobersek  <zdobersek@igalia.com>
1392
1393        Move IndexedDB module, LevelDB code to std::unique_ptr
1394        https://bugs.webkit.org/show_bug.cgi?id=128964
1395
1396        Reviewed by Andreas Kling.
1397
1398        Replace uses of OwnPtr and PassOwnPtr in the IndexedDB module and LevelDB platform code with std::unique_ptr.
1399
1400        * Modules/indexeddb/IDBCursorBackend.h:
1401        * Modules/indexeddb/IDBDatabaseBackend.cpp:
1402        (WebCore::IDBDatabaseBackend::IDBDatabaseBackend):
1403        (WebCore::IDBDatabaseBackend::transactionFinishedAndAbortFired):
1404        (WebCore::IDBDatabaseBackend::processPendingCalls):
1405        (WebCore::IDBDatabaseBackend::processPendingOpenCalls):
1406        (WebCore::IDBDatabaseBackend::openConnection):
1407        (WebCore::IDBDatabaseBackend::runIntVersionChangeTransaction):
1408        (WebCore::IDBDatabaseBackend::deleteDatabase):
1409        (WebCore::IDBDatabaseBackend::close):
1410        * Modules/indexeddb/IDBDatabaseBackend.h:
1411        (WebCore::IDBDatabaseBackend::hasPendingSecondHalfOpen):
1412        (WebCore::IDBDatabaseBackend::setPendingSecondHalfOpen):
1413        * Modules/indexeddb/IDBPendingDeleteCall.h:
1414        (WebCore::IDBPendingDeleteCall::IDBPendingDeleteCall):
1415        * Modules/indexeddb/IDBPendingOpenCall.h:
1416        (WebCore::IDBPendingOpenCall::IDBPendingOpenCall):
1417        * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
1418        (WebCore::IDBDatabaseBackend::VersionChangeOperation::perform):
1419        * Modules/indexeddb/IDBTransactionCoordinator.cpp:
1420        * Modules/indexeddb/IDBTransactionCoordinator.h:
1421        * Modules/indexeddb/leveldb/IDBBackingStoreCursorLevelDB.h:
1422        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
1423        (WebCore::setUpMetadata):
1424        (WebCore::DefaultLevelDBFactory::openLevelDB):
1425        (WebCore::IDBBackingStoreLevelDB::IDBBackingStoreLevelDB):
1426        (WebCore::IDBBackingStoreLevelDB::~IDBBackingStoreLevelDB):
1427        (WebCore::IDBBackingStoreLevelDB::open):
1428        (WebCore::IDBBackingStoreLevelDB::openInMemory):
1429        (WebCore::IDBBackingStoreLevelDB::create):
1430        (WebCore::IDBBackingStoreLevelDB::getDatabaseNames):
1431        (WebCore::deleteRange):
1432        (WebCore::IDBBackingStoreLevelDB::deleteDatabase):
1433        (WebCore::IDBBackingStoreLevelDB::getObjectStores):
1434        (WebCore::IDBBackingStoreLevelDB::getKeyGeneratorCurrentNumber):
1435        (WebCore::IDBBackingStoreLevelDB::getIndexes):
1436        (WebCore::findGreatestKeyLessThanOrEqual):
1437        (WebCore::IDBBackingStoreLevelDB::findKeyInIndex):
1438        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
1439        * platform/leveldb/LevelDBDatabase.cpp:
1440        (WebCore::LevelDBDatabase::~LevelDBDatabase):
1441        (WebCore::LevelDBDatabase::open):
1442        (WebCore::LevelDBDatabase::openInMemory):
1443        (WebCore::IteratorImpl::IteratorImpl):
1444        (WebCore::LevelDBDatabase::createIterator):
1445        * platform/leveldb/LevelDBDatabase.h:
1446        * platform/leveldb/LevelDBTransaction.cpp:
1447        (WebCore::LevelDBTransaction::commit):
1448        (WebCore::LevelDBTransaction::createIterator):
1449        (WebCore::LevelDBTransaction::TransactionIterator::TransactionIterator):
1450        (WebCore::LevelDBTransaction::TransactionIterator::refreshTreeIterator):
1451        (WebCore::LevelDBWriteOnlyTransaction::LevelDBWriteOnlyTransaction):
1452        * platform/leveldb/LevelDBTransaction.h:
1453        * platform/leveldb/LevelDBWriteBatch.cpp:
1454        (WebCore::LevelDBWriteBatch::LevelDBWriteBatch):
1455        * platform/leveldb/LevelDBWriteBatch.h:
1456
14572014-02-18  David Kilzer  <ddkilzer@apple.com>
1458
1459        Follow-up: Add type-checked casts for StyleImage and subclasses
1460        <http://webkit.org/b/128915>
1461
1462        Address some style issues based on feedback from Andreas Kling.
1463
1464        * css/CSSCursorImageValue.cpp:
1465        (WebCore::CSSCursorImageValue::cachedImageURL):
1466        * css/CSSImageSetValue.cpp:
1467        (WebCore::CSSImageSetValue::~CSSImageSetValue):
1468        (WebCore::CSSImageSetValue::hasFailedOrCanceledSubresources):
1469        * css/CSSImageValue.cpp:
1470        (WebCore::CSSImageValue::hasFailedOrCanceledSubresources):
1471        - Use the reference version of the type-checked casts since we
1472          know the pointers are not NULL.
1473
1474        * rendering/style/StyleImage.h:
1475        - Use 'styleImage' instead of 'resource' in
1476          STYLE_IMAGE_TYPE_CASTS.
1477
14782014-02-18  Zan Dobersek  <zdobersek@igalia.com>
1479
1480        Remove unnecessary UserActionElementSet constructor, destructor
1481        https://bugs.webkit.org/show_bug.cgi?id=128962
1482
1483        Reviewed by Andreas Kling.
1484
1485        UserActionElementSet constructor and destructor are not necessary, as is not the
1486        static create() function that returns PassOwnPtr<UserActionElementSet>. The implicit
1487        constructor and destructor can take care of creating and destroying the sole HashMap
1488        member variable.
1489
1490        * dom/UserActionElementSet.cpp:
1491        * dom/UserActionElementSet.h:
1492
14932014-02-18  Myles C. Maxfield  <mmaxfield@apple.com>
1494
1495        Rename convertFixedAndStickyPosition() to convertPositionStyle()
1496        https://bugs.webkit.org/show_bug.cgi?id=128987
1497
1498        Reviewed by NOBODY. This is addressing a post-commit review from Dean Jackson.
1499
1500        No new tests are necessary because there is no behavior change
1501
1502        * editing/EditingStyle.cpp:
1503        (WebCore::EditingStyle::convertPositionStyle):
1504        * editing/EditingStyle.h:
1505        * editing/markup.cpp:
1506        (WebCore::StyledMarkupAccumulator::appendElement):
1507
15082014-02-18  Commit Queue  <commit-queue@webkit.org>
1509
1510        Unreviewed, rolling out r164296.
1511        http://trac.webkit.org/changeset/164296
1512        https://bugs.webkit.org/show_bug.cgi?id=128989
1513
1514        Broke many media tests (Requested by eric_carlson on #webkit).
1515
1516        * html/HTMLMediaElement.cpp:
1517        (WebCore::HTMLMediaElement::parseAttribute):
1518        * html/HTMLMediaElement.h:
1519
15202014-02-18  Myles C. Maxfield  <mmaxfield@apple.com>
1521
1522        Convert position:sticky to position:static upon copy and paste
1523        https://bugs.webkit.org/show_bug.cgi?id=128982
1524
1525        Reviewed by Simon Fraser.
1526
1527        This patch has two parts:
1528
1529        1. Make sure that position:absolute elements trigger the position:relative wrapping (as
1530        well as position:fixed)
1531        2. Now that we copy position:sticky, convert that to position:static
1532
1533        Tests: editing/pasteboard/copy-paste-converts-fixed.html
1534               editing/pasteboard/copy-paste-converts-sticky.html
1535               editing/pasteboard/copy-paste-wraps-position-absolute.html
1536
1537        * editing/EditingStyle.cpp:
1538        (WebCore::EditingStyle::convertFixedAndStickyPosition):
1539
15402014-02-18  David Kilzer  <ddkilzer@apple.com>
1541
1542        Add type-checked casts for StyleImage and subclasses
1543        <http://webkit.org/b/128915>
1544
1545        Reviewed by Oliver Hunt.
1546
1547        * css/CSSCursorImageValue.cpp:
1548        (WebCore::CSSCursorImageValue::detachPendingImage):
1549        (WebCore::CSSCursorImageValue::cachedImage):
1550        (WebCore::CSSCursorImageValue::cachedImageURL):
1551        * css/CSSImageSetValue.cpp:
1552        (WebCore::CSSImageSetValue::detachPendingImage):
1553        (WebCore::CSSImageSetValue::~CSSImageSetValue):
1554        (WebCore::CSSImageSetValue::cachedImageSet):
1555        (WebCore::CSSImageSetValue::hasFailedOrCanceledSubresources):
1556        * css/CSSImageValue.cpp:
1557        (WebCore::CSSImageValue::detachPendingImage):
1558        (WebCore::CSSImageValue::cachedImage):
1559        (WebCore::CSSImageValue::hasFailedOrCanceledSubresources):
1560        * css/StyleResolver.cpp:
1561        (WebCore::StyleResolver::loadPendingShapeImage):
1562        (WebCore::StyleResolver::loadPendingImages):
1563        * page/PageSerializer.cpp:
1564        (WebCore::PageSerializer::retrieveResourcesForProperties):
1565        * page/animation/CSSPropertyAnimation.cpp:
1566        (WebCore::blendFunc):
1567        - Switch from static_cast<>() operators to toTypeName() methods.
1568        - Replace 0 with nullptr where convenient.
1569
1570        * rendering/style/StyleCachedImage.h:
1571        * rendering/style/StyleCachedImageSet.h:
1572        * rendering/style/StyleGeneratedImage.h:
1573        * rendering/style/StyleImage.h:
1574        * rendering/style/StylePendingImage.h:
1575        - Define type-checked cast macros.
1576
15772014-02-18  Sam Weinig  <sam@webkit.org>
1578
1579        Simplify HTML tokenizer parameterization down to what is used
1580        https://bugs.webkit.org/show_bug.cgi?id=128977
1581
1582        Reviewed by Alexey Proskuryakov.
1583
1584        - Removes support for CustomHTMLTokenizerChunkSize.
1585        - Consolidates CustomHTMLTokenizerTimeDelay down to one implementation, using Settings::maxParseDuration
1586
1587        * WebCore.exp.in:
1588        * html/parser/HTMLParserScheduler.cpp:
1589        (WebCore::HTMLParserScheduler::HTMLParserScheduler):
1590        * page/Page.cpp:
1591        (WebCore::Page::Page):
1592        (WebCore::Page::hasCustomHTMLTokenizerTimeDelay):
1593        (WebCore::Page::customHTMLTokenizerTimeDelay):
1594        * page/Page.h:
1595
15962014-02-18  Eric Carlson  <eric.carlson@apple.com>
1597
1598        Do not cache media time until media engine returns a non-zero value
1599        https://bugs.webkit.org/show_bug.cgi?id=128976
1600
1601        Reviewed by Jer Noble.
1602
1603        No new tests, covered by existing tests.
1604
1605        * html/HTMLMediaElement.cpp:
1606        (WebCore::HTMLMediaElement::refreshCachedTime): Don't mark the cached time as valid
1607            until it is non-zero.
1608
16092014-02-18  Mihai Tica  <mitica@adobe.com>
1610
1611        [CSS Blending] Add -webkit-blend-mode support for SVG.
1612
1613        https://bugs.webkit.org/show_bug.cgi?id=110427
1614        Reviewed by Dirk Schulze.
1615
1616        Add support for blend modes to SVG. This includes adding and validating isolation for blending.
1617        Make masked elements isolate blending by creating a transparency layer.
1618
1619        Tests: css3/compositing/svg-blend-color-burn.html
1620               css3/compositing/svg-blend-color-dodge.html
1621               css3/compositing/svg-blend-color.html
1622               css3/compositing/svg-blend-darken.html
1623               css3/compositing/svg-blend-difference.html
1624               css3/compositing/svg-blend-exclusion.html
1625               css3/compositing/svg-blend-hard-light.html
1626               css3/compositing/svg-blend-hue.html
1627               css3/compositing/svg-blend-layer-blend.html
1628               css3/compositing/svg-blend-layer-clip-path.html
1629               css3/compositing/svg-blend-layer-filter.html
1630               css3/compositing/svg-blend-layer-mask.html
1631               css3/compositing/svg-blend-layer-opacity.html
1632               css3/compositing/svg-blend-layer-shadow.html
1633               css3/compositing/svg-blend-lighten.html
1634               css3/compositing/svg-blend-luminosity.html
1635               css3/compositing/svg-blend-multiply-alpha.html
1636               css3/compositing/svg-blend-multiply.html
1637               css3/compositing/svg-blend-normal.html
1638               css3/compositing/svg-blend-overlay.html
1639               css3/compositing/svg-blend-saturation.html
1640               css3/compositing/svg-blend-screen.html
1641               css3/compositing/svg-blend-soft-light.html
1642
1643        * rendering/RenderElement.cpp:
1644        (WebCore::RenderElement::styleDidChange): Also pass a pointer to the old style when calling SVGRenderSupport::styleChanged.
1645        * rendering/style/RenderStyle.h:  Add blendMode default getter when CSS_COMPOSITING is disabled.
1646        * rendering/style/SVGRenderStyle.h:
1647        (WebCore::SVGRenderStyle::isolatesBlending): Add method.
1648        * rendering/svg/SVGRenderSupport.cpp:
1649        (WebCore::SVGRenderSupport::styleChanged): Call updateMaskedAncestorShouldIsolateBlending only when a blend mode is set/unset.
1650        (WebCore::SVGRenderSupport::isolatesBlending): Implement method that decides whether an SVGElement isolates or not blending.
1651        (WebCore::SVGRenderSupport::updateMaskedAncestorShouldIsolateBlending): Traverse to the nearest ancestor having a mask.
1652        - Set a flag causing the creation of a transparency layer when rendering the masked element.
1653        * rendering/svg/SVGRenderSupport.h:
1654        * rendering/svg/SVGRenderingContext.cpp:
1655        (WebCore::SVGRenderingContext::prepareToRenderSVGContent): Call GraphicsContext::setCompositeOperation.
1656        - Isolate blending by creating a transparency layer.
1657        - Isolate group when rendering a masked element having a blended child node.
1658        * svg/SVGGraphicsElement.cpp:
1659        (WebCore::SVGGraphicsElement::SVGGraphicsElement): Set default m_shouldIsolateBlending to false.
1660        * svg/SVGGraphicsElement.h: Add m_shouldIsolateBlending member, getter and setter.
1661        (WebCore::SVGGraphicsElement::shouldIsolateBlending):
1662        (WebCore::SVGGraphicsElement::setShouldIsolateBlending):
1663
16642014-02-18  ChangSeok Oh  <changseok.oh@collabora.com>
1665
1666        [GTK] Unreviewed fix. Correct wrong flags, ENABLE(GTK)->PLATFORM(GTK).
1667
1668        * platform/graphics/opengl/Extensions3DOpenGL.cpp:
1669        (WebCore::Extensions3DOpenGL::drawArraysInstanced):
1670        (WebCore::Extensions3DOpenGL::drawElementsInstanced):
1671        (WebCore::Extensions3DOpenGL::vertexAttribDivisor):
1672
16732014-02-18  Mihnea Ovidenie  <mihnea@adobe.com>
1674
1675        [CSSRegions] Compute region ranges for inline replaced elements
1676        https://bugs.webkit.org/show_bug.cgi?id=128800
1677
1678        Reviewed by Andrei Bucur.
1679
1680        Tests: fast/regions/hover-content-inside-iframe-in-region.html
1681               fast/regions/select-multiple-in-region.html
1682
1683        When asking for the range of regions for an inline replaced box,
1684        use the region cached on the root inline box for the inline replaced
1685        box as the range of regions is computed only for blocks.
1686        A future patch will extend the computation of region ranges
1687        for inline blocks too.
1688
1689        * rendering/RenderBoxModelObject.cpp:
1690        (WebCore::RenderBoxModelObject::mapAbsoluteToLocalPoint):
1691        Remove the restriction set during https://bugs.webkit.org/show_bug.cgi?id=113703
1692        and enable the code path for boxes not only for blocks.
1693        Method RenderFlowThread::getRegionRangeForBox returns a null region when it is unable
1694        to get the region range and we already check for null region case.
1695        * rendering/RenderFlowThread.cpp:
1696        (WebCore::RenderFlowThread::getRegionRangeForBox):
1697
16982014-02-18  Xabier Rodriguez Calvar  <calvaris@igalia.com>
1699
1700        Move inheriting method to the superclass in the JavaScript media controls
1701        https://bugs.webkit.org/show_bug.cgi?id=128897
1702
1703        Reviewed by Jer Noble.
1704
1705        The inheriting method of the JavaScript multimedia controls was
1706        moved from the subclasses to the superclass because this way it is
1707        only defined once.
1708
1709        * Modules/mediacontrols/mediaControlsApple.js:
1710        (Controller.prototype.extend): Added to replace inheritFrom in the
1711        subclasses.
1712        * Modules/mediacontrols/mediaControlsGtk.js:
1713        * Modules/mediacontrols/mediaControlsiOS.js: Removed inheritFrom
1714        and used extend.
1715
17162014-02-18  Xabier Rodriguez Calvar  <calvaris@igalia.com>
1717
1718        [GTK] Fix hitting hasClass() assertion in debug with the new JS media controls
1719        https://bugs.webkit.org/show_bug.cgi?id=128820
1720
1721        Reviewed by Martin Robinson.
1722
1723        The code introduced at r164024 caused the hit of hasClass()
1724        assertion when getting the classNames() of an element with no
1725        class. Now we check for it to avoid the assertion.
1726
1727        No new tests, current set detects the crash in many tests.
1728
1729        * platform/gtk/RenderThemeGtk.cpp:
1730        (WebCore::nodeHasClass): Check for hasClass() in order not to hit
1731        the assertion when getting the classNames() in debug mode.
1732
17332014-02-18  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1734
1735        Refactor SVGPreserveAspectRatio::parse()
1736        https://bugs.webkit.org/show_bug.cgi?id=128658
1737
1738        Reviewed by Dirk Schulze.
1739
1740        To removed "goto" in SVGPreserveAspectRatio::parse(), this patch introduce parseInternal() to handle
1741        existing behavior with local variables, and existing/new parse() functions invoke it, then set
1742        those to member variables.
1743
1744        Motivated from Blink: https://src.chromium.org/viewvc/blink?view=rev&revision=166927
1745
1746        No new tests, no behavior change.
1747
1748        * svg/SVGPreserveAspectRatio.cpp:
1749        (WebCore::SVGPreserveAspectRatio::parse):
1750        (WebCore::SVGPreserveAspectRatio::parseInternal):
1751        * svg/SVGPreserveAspectRatio.h: Add parse() and parseInternal() functions.
1752
17532014-02-17  Radu Stavila  <stavila@adobe.com>
1754
1755        [CSS Regions] Move specific named flow methods from RenderRegion to RenderNamedFlowFragment
1756        https://bugs.webkit.org/show_bug.cgi?id=128914
1757
1758        Reviewed by Antti Koivisto.
1759
1760        Moved named flow specific methods regionContainer() and regionContainerLayer() from 
1761        RenderRegion to RenderNamedFlowFragment and renamed them to fragmentContainer and
1762        fragmentContainerLayer.
1763
1764        No new tests required.
1765
1766        * rendering/RenderLayer.cpp:
1767        (WebCore::RenderLayer::mapLayerClipRectsToFragmentationLayer):
1768        (WebCore::RenderLayer::calculateClipRects):
1769        * rendering/RenderNamedFlowFragment.cpp:
1770        (WebCore::RenderNamedFlowFragment::fragmentContainer):
1771        (WebCore::RenderNamedFlowFragment::fragmentContainerLayer):
1772        * rendering/RenderNamedFlowFragment.h:
1773        * rendering/RenderRegion.cpp:
1774        * rendering/RenderRegion.h:
1775
17762014-02-17  Sangho Kim  <thomas.kim@lge.com>
1777
1778        Move PublicURLMansger to std::unique_ptr.
1779        https://bugs.webkit.org/show_bug.cgi?id=128891
1780
1781        Reviewed by Anders Carlsson.
1782
1783        Use std::unique_ptr and std::make_unique in place of PassOwnPtr and adoptPtr in the PublicURLManager
1784
1785        * dom/ScriptExecutionContext.h:
1786        * html/PublicURLManager.cpp:
1787        (WebCore::PublicURLManager::create):
1788        * html/PublicURLManager.h:
1789
17902014-02-17  Ricky Mondello  <rmondello@apple.com>
1791
1792        Expose a way to clear cookies modified after a given date
1793        https://bugs.webkit.org/show_bug.cgi?id=128845
1794
1795        Reviewed by Alexey Proskuryakov.
1796
1797        * WebCore.exp.in: Add a symbol.
1798        * platform/network/PlatformCookieJar.h: Declare deleteAllCookiesModifiedAfterDate.
1799        * platform/network/cf/CookieJarCFNet.cpp:
1800        (WebCore::deleteAllCookiesModifiedAfterDate): Add a stub.
1801        * platform/network/curl/CookieJarCurl.cpp:
1802        (WebCore::deleteAllCookiesModifiedAfterDate): Ditto.
1803        * platform/network/soup/CookieJarSoup.cpp:
1804        (WebCore::deleteAllCookiesModifiedAfterDate): Ditto.
1805        * platform/network/mac/CookieJarMac.mm: Add a category NSHTTPCookieStorage category with the method
1806            used for time-based clearing so we can build on all platforms. For now, we'll check for support
1807            at runtime.
1808        (WebCore::deleteAllCookiesModifiedAfterDate): Added. Without foundation API, we'll ignore the passed-in
1809            NetworkStorageSession.
1810
18112014-02-17  Benjamin Poulain  <bpoulain@apple.com>
1812
1813        SelectorCompiler incorrectly saves a backtracking register for a child chain without descendant relation on the right
1814        https://bugs.webkit.org/show_bug.cgi?id=128944
1815
1816        Reviewed by Andreas Kling.
1817
1818        When resolving the backtracking relations, the value of ancestorPositionSinceDescendantRelation was incorrect for the
1819        rightmost child chain.
1820        What was happenning is updateChainStates() would increment ancestorPositionSinceDescendantRelation even if there was
1821        no descendant relation previously in the chain. As a result, the second SelectorFragment in the fragment chain would
1822        save a backtracking register.
1823
1824        Previously this would just be a wasted register but since r163850, the number of registers available for compilation
1825        is defined by SelectorCompiler::minimumRegisterRequirements(). Since we would have one less register available than computed,
1826        we could run out of register and RegisterAllocator would invoke WTFCrash to avoid generating incorrect code.
1827
1828        This patch fixes the issue by not updating ancestorPositionSinceDescendantRelation until the first descendant relation
1829        is seen. There was no need to fix the Adjacent relation because adjacentPositionSinceIndirectAdjacentTreeWalk already
1830        had the correct guard.
1831
1832        Test: fast/selectors/querySelector-rightmost-child-chain-attribute-matching.html
1833
1834        * cssjit/SelectorCompiler.cpp:
1835        (WebCore::SelectorCompiler::updateChainStates):
1836        (WebCore::SelectorCompiler::isFirstAdjacent): The name was a bad copy-paste, fix it.
1837
18382014-02-17  Dean Jackson  <dino@apple.com>
1839
1840        Constrain replaced element layout to from-intrinsic aspect ratio if specified
1841        https://bugs.webkit.org/show_bug.cgi?id=128629
1842
1843        Reviewed by Simon Fraser.
1844
1845        First pass at implementing -webkit-aspect-ratio: from-instrinsics;
1846
1847        After RenderReplaced has done layout, attempt to update the
1848        resulting size to match the desired aspect ratio. This step
1849        will only reduce the size of an element, and never below the
1850        minimum dimensions.
1851
1852        Tests: fast/css/aspect-ratio/columns.html
1853               fast/css/aspect-ratio/containers.html
1854               fast/css/aspect-ratio/simple.html
1855
1856        * rendering/RenderImage.cpp:
1857        (WebCore::RenderImage::imageDimensionsChanged): If we get an update
1858        to our intrinsic dimensions, and layout depends on this, trigger
1859        another layout pass.
1860        * rendering/RenderReplaced.cpp:
1861        (WebCore::RenderReplaced::layout): Implement the step described
1862        above.
1863
18642014-02-17  Sam Weinig  <sam@webkit.org>
1865
1866        Fix build.
1867
1868        * WebCore.exp.in:
1869
18702014-02-17  Anders Carlsson  <andersca@apple.com>
1871
1872        Remove ENABLE_GLOBAL_FASTMALLOC_NEW
1873        https://bugs.webkit.org/show_bug.cgi?id=127067
1874
1875        Reviewed by Geoffrey Garen.
1876
1877        * platform/Timer.h:
1878
18792014-02-17  Sam Weinig  <sam@webkit.org>
1880
1881        Move iOS only Settings into Settings.in and make them not-iOS only
1882        https://bugs.webkit.org/show_bug.cgi?id=128942
1883
1884        Reviewed by Tim Horton.
1885
1886        * page/Settings.cpp:
1887        * page/Settings.h:
1888        * page/Settings.in:
1889
18902014-02-17  Anders Carlsson  <andersca@apple.com>
1891
1892        Remove view source code
1893        https://bugs.webkit.org/show_bug.cgi?id=127233
1894
1895        Reviewed by Antti Koivisto.
1896
1897        * CMakeLists.txt:
1898        * DerivedSources.make:
1899        * GNUmakefile.am:
1900        * GNUmakefile.list.am:
1901        * WebCore.vcxproj/WebCore.vcxproj:
1902        * WebCore.vcxproj/WebCore.vcxproj.filters:
1903        * WebCore.xcodeproj/project.pbxproj:
1904        * bindings/js/ScriptController.cpp:
1905        (WebCore::ScriptController::canExecuteScripts):
1906        * css/CSSDefaultStyleSheets.cpp:
1907        * css/CSSDefaultStyleSheets.h:
1908        * css/DocumentRuleSets.cpp:
1909        (WebCore::DocumentRuleSets::appendAuthorStyleSheets):
1910        (WebCore::DocumentRuleSets::collectFeatures):
1911        * css/DocumentRuleSets.h:
1912        * css/ElementRuleCollector.cpp:
1913        (WebCore::ElementRuleCollector::matchUARules):
1914        * css/StyleResolver.cpp:
1915        (WebCore::StyleResolver::appendAuthorStyleSheets):
1916        (WebCore::StyleResolver::styleForElement):
1917        * css/view-source.css: Removed.
1918        * dom/DOMImplementation.cpp:
1919        (WebCore::DOMImplementation::createDocument):
1920        * dom/DOMImplementation.h:
1921        * dom/Document.cpp:
1922        (WebCore::Document::Document):
1923        * dom/Document.h:
1924        * html/HTMLAttributeNames.in:
1925        * html/HTMLFrameElementBase.cpp:
1926        (WebCore::HTMLFrameElementBase::HTMLFrameElementBase):
1927        (WebCore::HTMLFrameElementBase::openURL):
1928        * html/HTMLFrameElementBase.h:
1929        * html/HTMLViewSourceDocument.cpp: Removed.
1930        * html/HTMLViewSourceDocument.h: Removed.
1931        * html/parser/HTMLToken.h:
1932        * html/parser/HTMLViewSourceParser.cpp: Removed.
1933        * html/parser/HTMLViewSourceParser.h: Removed.
1934        * html/parser/TextViewSourceParser.cpp: Removed.
1935        * html/parser/TextViewSourceParser.h: Removed.
1936        * inspector/InspectorOverlayPage.css:
1937        (.tag-name):
1938        (.node-id):
1939        (.class-name):
1940        * loader/DocumentWriter.cpp:
1941        (WebCore::DocumentWriter::createDocument):
1942        * loader/FrameLoader.cpp:
1943        (WebCore::FrameLoader::receivedFirstData):
1944        * page/Frame.cpp:
1945        (WebCore::Frame::Frame):
1946        * page/Frame.h:
1947        * xml/DOMParser.cpp:
1948        (WebCore::DOMParser::parseFromString):
1949        * xml/XMLViewer.css:
1950        (.tag):
1951        * xml/XSLTProcessor.cpp:
1952        (WebCore::XSLTProcessor::createDocumentFromSource):
1953
19542014-02-17  Simon Fraser  <simon.fraser@apple.com>
1955
1956        box-shadows get truncated with a combination of transforms and clip: (affects Google Maps)
1957        https://bugs.webkit.org/show_bug.cgi?id=128937
1958
1959        Reviewed by Dean Jackson.
1960        
1961        RenderLayer::calculateLayerBounds() incorrectly assumed that if localClipRect() returns
1962        a non-infinite rect, that rect is OK to use as the compositing bounds.
1963        
1964        That is not a valid assumption when clip() has a larger rect than the element (e.g.
1965        with negative top/left in the rect). In that case, localClipRect() still just
1966        returns the background rect, but we actually need a larger compositing layer
1967        to show the unclipped parts of descendants.
1968        
1969        Fix by detecting clip() that exceeds the renderer bounds, and when it does,
1970        not early returning in the UseLocalClipRectIfPossible clause.
1971
1972        Test: compositing/geometry/css-clip-oversize.html
1973
1974        * rendering/RenderLayer.cpp:
1975        (WebCore::RenderLayer::localClipRect): Do a convertToLayerCoords()
1976        because we need offsetFromRoot later, and we can pass our value down to
1977        calculateRects(). Compute clipExceedsBounds based on the CSS clip rect.
1978        (WebCore::RenderLayer::calculateClipRects): Don't early return if clipExceedsBounds
1979        is true.
1980        * rendering/RenderLayer.h:
1981
19822014-02-17  Antti Koivisto  <antti@apple.com>
1983
1984        Make TreeScope::rootNode return a reference
1985        https://bugs.webkit.org/show_bug.cgi?id=128934
1986
1987        Reviewed by Andreas Kling.
1988
1989        It is never null.
1990
1991        * css/ElementRuleCollector.cpp:
1992        (WebCore::ElementRuleCollector::collectMatchingRules):
1993        * dom/ContainerNode.h:
1994        (WebCore::Node::isTreeScope):
1995        * dom/Document.cpp:
1996        (WebCore::Document::buildAccessKeyMap):
1997        * dom/DocumentOrderedMap.cpp:
1998        (WebCore::DocumentOrderedMap::add):
1999        (WebCore::DocumentOrderedMap::get):
2000        (WebCore::DocumentOrderedMap::getAllElementsById):
2001        * dom/EventDispatcher.cpp:
2002        (WebCore::EventRelatedNodeResolver::moveToParentOrShadowHost):
2003        (WebCore::eventTargetRespectingTargetRules):
2004        (WebCore::shouldEventCrossShadowBoundary):
2005        * dom/Node.cpp:
2006        (WebCore::Node::containingShadowRoot):
2007        (WebCore::Node::removedFrom):
2008        * dom/ShadowRoot.h:
2009        (WebCore::isShadowRoot):
2010        * dom/TreeScope.h:
2011        (WebCore::TreeScope::rootNode):
2012        * page/DOMSelection.cpp:
2013        (WebCore::DOMSelection::DOMSelection):
2014        * page/DragController.cpp:
2015        (WebCore::asFileInput):
2016        * page/FocusController.cpp:
2017        (WebCore::FocusNavigationScope::rootNode):
2018
20192014-02-17  Chris Fleizach  <cfleizach@apple.com>
2020
2021        AX: Invalid cast in WebCore::AccessibilityTable::isDataTable (CRBug 280352)
2022        <https://webkit.org/b/128925>
2023        <rdar://problem/16087351>
2024
2025        Merged from Blink (patch by Dominic Mazzoni):
2026        https://src.chromium.org/viewvc/blink?revision=159711&view=revision
2027
2028        Reviewed by Oliver Hunt.
2029
2030        Don't cast to a table cell element unless we are sure it is one.
2031
2032        Test: accessibility/display-table-cell-causes-crash.html
2033
2034        * accessibility/AccessibilityTable.cpp:
2035        (WebCore::AccessibilityTable::isDataTable):
2036
20372014-02-17  Antti Koivisto  <antti@apple.com>
2038
2039        Node constructor should take Document reference
2040        https://bugs.webkit.org/show_bug.cgi?id=128931
2041
2042        Reviewed by Geoff Garen.
2043
2044        * dom/Attr.cpp:
2045        (WebCore::Attr::Attr):
2046        * dom/CharacterData.h:
2047        (WebCore::CharacterData::CharacterData):
2048        * dom/ContainerNode.cpp:
2049        (WebCore::ContainerNode::~ContainerNode):
2050        * dom/ContainerNode.h:
2051        (WebCore::ContainerNode::ContainerNode):
2052        * dom/Document.cpp:
2053        (WebCore::Document::Document):
2054        * dom/Document.h:
2055        (WebCore::Node::Node):
2056        * dom/DocumentFragment.cpp:
2057        (WebCore::DocumentFragment::DocumentFragment):
2058        (WebCore::DocumentFragment::create):
2059        * dom/DocumentFragment.h:
2060        * dom/DocumentType.cpp:
2061        (WebCore::DocumentType::DocumentType):
2062        * dom/Element.h:
2063        (WebCore::Element::Element):
2064        * dom/Entity.h:
2065        (WebCore::Entity::Entity):
2066        * dom/EntityReference.cpp:
2067        (WebCore::EntityReference::EntityReference):
2068        * dom/Node.cpp:
2069        (WebCore::Node::~Node):
2070        (WebCore::Node::willBeDeletedFrom):
2071        * dom/Node.h:
2072        * dom/Notation.cpp:
2073        * dom/Notation.h:
2074        (WebCore::Notation::publicId):
2075        (WebCore::Notation::systemId):
2076        (WebCore::Notation::Notation):
2077        
2078            Remove cruft from this non-instantiated class.
2079
2080        * dom/ShadowRoot.cpp:
2081        (WebCore::ShadowRoot::ShadowRoot):
2082        (WebCore::ShadowRoot::~ShadowRoot):
2083        * dom/TemplateContentDocumentFragment.h:
2084
20852014-02-17  Sergio Correia  <sergio.correia@openbossa.org>
2086
2087        Replace uses of PassOwnPtr/OwnPtr with std::unique_ptr in WebCore/inspector
2088        https://bugs.webkit.org/show_bug.cgi?id=128681
2089
2090        Reviewed by Timothy Hatcher.
2091
2092        Another step towards getting rid of PassOwnPtr/OwnPtr, now targeting
2093        WebCore/inspector/*. Besides files in there, a few other files in
2094        JavaScriptCore/inspector, WebKit/, WebKit2/WebProcess/WebCoreSupport/
2095        and WebCore/testing were touched.
2096
2097        No new tests; no new behavior.
2098
2099        * WebCore.exp.in:
2100        * inspector/CommandLineAPIHost.cpp:
2101        * inspector/CommandLineAPIHost.h:
2102        * inspector/DOMEditor.cpp:
2103        * inspector/DOMPatchSupport.cpp:
2104        * inspector/DOMPatchSupport.h:
2105        * inspector/InspectorApplicationCacheAgent.h:
2106        * inspector/InspectorCSSAgent.cpp:
2107        * inspector/InspectorCSSAgent.h:
2108        * inspector/InspectorCanvasAgent.h:
2109        * inspector/InspectorDOMAgent.cpp:
2110        * inspector/InspectorDOMAgent.h:
2111        * inspector/InspectorDOMDebuggerAgent.h:
2112        * inspector/InspectorDOMStorageAgent.h:
2113        * inspector/InspectorDatabaseAgent.h:
2114        * inspector/InspectorFrontendClientLocal.cpp:
2115        * inspector/InspectorFrontendClientLocal.h:
2116        * inspector/InspectorHeapProfilerAgent.h:
2117        * inspector/InspectorHistory.cpp:
2118        * inspector/InspectorHistory.h:
2119        * inspector/InspectorIndexedDBAgent.h:
2120        * inspector/InspectorInputAgent.h:
2121        * inspector/InspectorLayerTreeAgent.h:
2122        * inspector/InspectorMemoryAgent.cpp:
2123        * inspector/InspectorMemoryAgent.h:
2124        * inspector/InspectorOverlay.cpp:
2125        * inspector/InspectorOverlay.h:
2126        * inspector/InspectorProfilerAgent.cpp:
2127        * inspector/InspectorProfilerAgent.h:
2128        * inspector/InspectorResourceAgent.cpp:
2129        * inspector/InspectorResourceAgent.h:
2130        * inspector/InspectorStyleSheet.cpp:
2131        * inspector/InspectorStyleSheet.h:
2132        * inspector/InspectorTimelineAgent.h:
2133        * inspector/InspectorWorkerAgent.cpp:
2134        * inspector/PageConsoleAgent.cpp:
2135        * inspector/PageRuntimeAgent.h:
2136        * inspector/WebConsoleAgent.cpp:
2137        * inspector/WorkerRuntimeAgent.h:
2138        * testing/Internals.cpp:
2139
21402014-02-17  Antti Koivisto  <antti@apple.com>
2141
2142        Rename Document::m_selfOnlyRefCount to m_referencingNodeCount
2143        https://bugs.webkit.org/show_bug.cgi?id=128916
2144
2145        Reviewed by Andreas Kling.
2146
2147        Make the name more informative. Also make it zero based (document is not considered to reference itself).
2148
2149        * dom/Document.cpp:
2150        (WebCore::Document::Document):
2151        (WebCore::Document::removedLastRef):
2152        * dom/Document.h:
2153        (WebCore::Document::increaseReferencingNodeCount):
2154        (WebCore::Document::decreaseReferencingNodeCount):
2155        (WebCore::Node::Node):
2156        * dom/Node.cpp:
2157        (WebCore::Node::~Node):
2158        * dom/TreeScopeAdopter.cpp:
2159        (WebCore::TreeScopeAdopter::moveTreeToNewScope):
2160        (WebCore::TreeScopeAdopter::moveNodeToNewDocument):
2161
21622014-02-17  ChangSeok Oh  <changseok.oh@collabora.com>
2163
2164        [GTK] Build failure caused by missing jsmin module
2165        https://bugs.webkit.org/show_bug.cgi?id=128742
2166
2167        Reviewed by Philippe Normand.
2168
2169        No new tests since no functionality changed.
2170
2171        * GNUmakefile.am: Relocate PYTHONPATH to make it meaningful.
2172
21732014-02-17  Radu Stavila  <stavila@adobe.com>
2174
2175        [CSS Regions] Make regions unsplittable
2176        https://bugs.webkit.org/show_bug.cgi?id=128811
2177
2178        Reviewed by David Hyatt.
2179
2180        At the moment, nested regions are not properly fragmented across regions. For the moment, 
2181        the regions will become unsplittable elements to avoid slicing. At a later time a proper
2182        fragmentation algorithm should be written, also taking into consideration pagination strut.
2183
2184        Test: fast/regions/unsplittable-nested-region.html
2185
2186        * rendering/RenderBox.cpp:
2187        (WebCore::RenderBox::isUnsplittableForPagination):
2188
21892014-02-17  Simon Fraser  <simon.fraser@apple.com>
2190
2191        Graphics buffer issue with clip-path and fixed positioned element
2192        https://bugs.webkit.org/show_bug.cgi?id=126262
2193
2194        Reviewed by Tim Horton.
2195        
2196        If an element has a clip-path, backgroundIsKnownToBeOpaqueInRect() needs
2197        to return false so that we don't try to make opaque compositing layers.
2198
2199        Test: compositing/contents-opaque/opaque-with-clip-path.html
2200
2201        * rendering/RenderBox.cpp:
2202        (WebCore::RenderBox::backgroundIsKnownToBeOpaqueInRect):
2203
22042014-02-17  Radu Stavila  <stavila@adobe.com>
2205
2206        [CSS Regions] The box decorations of an element overflowing a region should be clipped at the border box, not the content box
2207        https://bugs.webkit.org/show_bug.cgi?id=128815
2208
2209        Reviewed by Andrei Bucur.
2210
2211        Elements flowed into a region should not be painted past the region's content box
2212        if they continue to flow into another region in that direction.
2213        If they do not continue into another region in that direction, they should be
2214        painted all the way to the region's border box.
2215        Regions with overflow:hidden will apply clip at the border box, not the content box.
2216
2217        Tests: fast/regions/box-decorations-over-region-padding-fragmented.html
2218               fast/regions/box-decorations-over-region-padding-horiz-bt.html
2219               fast/regions/box-decorations-over-region-padding-vert-lr.html
2220               fast/regions/box-decorations-over-region-padding-vert-rl.html
2221               fast/regions/box-decorations-over-region-padding.html
2222
2223        * rendering/RenderNamedFlowFragment.cpp:
2224        (WebCore::RenderNamedFlowFragment::flowThreadPortionRectForClipping):
2225        * rendering/RenderNamedFlowFragment.h:
2226        * rendering/RenderRegion.cpp:
2227        (WebCore::RenderRegion::rectFlowPortionForBox):
2228
22292014-02-17  Brendan Long  <b.long@cablelabs.com>
2230
2231        DataCue.data should be a copy of the input ArrayBuffer, not a pointer
2232        https://bugs.webkit.org/show_bug.cgi?id=128886
2233
2234        Reviewed by Eric Carlson.
2235
2236        No new tests, just updated existing track-datacue.html test.
2237
2238        * html/track/DataCue.cpp:
2239        (WebCore::DataCue::DataCue): Add ExceptionCode and pass through to setData().
2240        (WebCore::DataCue::data): Return a copy of m_data instead of a pointer.
2241        (WebCore::DataCue::setData): Create a copy of the input data, or throw an exception if it's null.
2242        * html/track/DataCue.h: Add ExceptionCode parameters to constructor and data setter.
2243        * html/track/DataCue.idl: Same.
2244
22452014-02-17  David Kilzer  <ddkilzer@apple.com>
2246
2247        CounterContentData::counter() and ImageContentData::image() should return references
2248        <http://webkit.org/b/128671>
2249
2250        Reviewed by Darin Adler.
2251
2252        * css/CSSComputedStyleDeclaration.cpp:
2253        (WebCore::contentToCSSValue):
2254        - Update to use references.  Remove useless ASSERTs.
2255
2256        * css/StyleResolver.cpp:
2257        (WebCore::StyleResolver::loadPendingImages):
2258        - Update to use references.  StyleResolver::loadPendingImage()
2259          will be changed to take a reference in the near future.
2260
2261        * rendering/RenderElement.cpp:
2262        (WebCore::RenderElement::createFor):
2263        - Update to use references.  The auto keyword wanted to
2264          instantiate a StyleImage instead a reference, so it was
2265          replaced.
2266
2267        * rendering/style/ContentData.h:
2268        (WebCore::ImageContentData::ImageContentData): Add ASSERT that
2269        m_image is not NULL.
2270        (WebCore::ImageContentData::image): Return a reference.  Remove
2271        useless overload with identical name.
2272        (WebCore::ImageContentData::cloneInternal): Simplify by using
2273        implicit PassRefPtr constructor.
2274        (WebCore::operator==): Remove unneeded deref operators.
2275        (WebCore::CounterContentData::counter): Return a reference.
2276        (WebCore::CounterContentData::cloneInternal): Remove unneeded
2277        deref operator.
2278        (WebCore::operator==): Remove unneeded deref operators.
2279
22802014-02-17  Jer Noble  <jer.noble@apple.com>
2281
2282        [MediaControls][iOS] Make mediacontrols match the system inline controls
2283        https://bugs.webkit.org/show_bug.cgi?id=128833
2284
2285        Reviewed by Eric Carlson.
2286
2287        Move items slightly, fix button sizes, font sizes, and colors to match the
2288        inline controls from MoviePlayer.framework.
2289
2290        * Modules/mediacontrols/mediaControlsiOS.css:
2291        (audio::-webkit-media-controls-panel):
2292        (audio::-webkit-media-controls-fullscreen-button):
2293        (audio::-webkit-media-controls-play-button):
2294        (audio::-webkit-media-controls-play-button.paused):
2295        (audio::-webkit-media-controls-timeline):
2296        (audio::-webkit-media-controls-timeline::-webkit-slider-thumb):
2297        (audio::-webkit-media-controls-time-remaining-display):
2298        * Modules/mediacontrols/mediaControlsiOS.js:
2299        (ControllerIOS.prototype.configureInlineControls): Do not add the status text.
2300        (ControllerIOS.prototype.updateTime): Call updateProgress().
2301        (ControllerIOS.prototype.progressFillStyle): Draw a slightly different color.
2302        (ControllerIOS.prototype.updateProgress): Draw white to the left of the currentTime.
2303        (ControllerIOS.prototype.formatTime): Single leading zero in the time display fields.
2304        (ControllerIOS.prototype.handleTimelineChange): Call updateProgress().
2305
23062014-02-17  Manuel Rego Casasnovas  <rego@igalia.com>
2307
2308        [CSS Grid Layout] Fix missing layout in flexible and content sized columns
2309        https://bugs.webkit.org/show_bug.cgi?id=128672
2310
2311        Reviewed by Sergio Villar Senin.
2312
2313        RenderGrid::logicalContentHeightForChild() is called for some items at the beginning of RenderGrid::layoutGridItems()
2314        from RenderGrid::computeUsedBreadthOfGridTracks(). This causes that the comparison inside the for loop in
2315        RenderGrid::layoutGridItems() does not detect width changes, so elements won't be marked as needsLayout.
2316
2317        So the comparison is done in RenderGrid::logicalContentHeightForChild() and the element is marked to perform a layout if
2318        the width has changed.
2319
2320        The issue can be reproduced easily with a simple grid with one flexible or content sized column, all the available width
2321        is not used. On top of that, when you resize the window the flexible or content sized columns are not updating their
2322        size properly.
2323
2324        CSS Grid Layout perftest results are around 4% worse, which is expected as we're adding a missing layout.
2325
2326        Test: fast/css-grid-layout/flex-content-sized-column-use-available-width.html
2327
2328        * rendering/RenderGrid.cpp:
2329        (WebCore::RenderGrid::logicalContentHeightForChild): Check width changes and mark element as needed layout if required.
2330
23312014-02-16  Andreas Kling  <akling@apple.com>
2332
2333        Ensure that removing an iframe from the DOM tree disconnects its Frame.
2334        <https://webkit.org/b/128889>
2335        <rdar://problem/15671221>
2336
2337        Merged from Blink (patch by Adam Klein):
2338        https://src.chromium.org/viewvc/blink?revision=156174&view=revision
2339
2340        SubframeLoadingDisabler wasn't catching the case when an <iframe> was,
2341        in its unload handler, removed and re-added to the same parent.
2342        Fix this by using a count of SubframeLoadingDisablers that are on the
2343        stack for a given root, rather than a simple boolean.
2344
2345        Test: fast/frames/reattach-in-unload.html
2346
2347        * html/HTMLFrameOwnerElement.h:
2348        (WebCore::SubframeLoadingDisabler::disabledSubtreeRoots):
2349
23502014-02-16  Benjamin Poulain  <benjamin@webkit.org>
2351
2352        When applying style, attribute value matching should be case sensitive for SVG
2353        https://bugs.webkit.org/show_bug.cgi?id=128882
2354
2355        Reviewed by Andreas Kling.
2356
2357        SelectorChecker was incorrectly matching attribute values with a case insensitve comparison
2358        in some cases.
2359
2360        The choice to use case sensitive matching was taking into account the document type but not
2361        the element type. As a result, SVG (and likely MHTML) elements were incorrectly being tested
2362        as if they were HTML element.
2363
2364        With the patch, WebKit also matches the behavior of Firefox, which is great.
2365
2366        Tests: fast/css/case-insensitive-attribute-with-svg.html
2367               fast/selectors/querySelector-case-insensitive-attribute-match-with-svg.html
2368
2369        * css/SelectorChecker.cpp:
2370        (WebCore::SelectorChecker::checkOne):
2371
23722014-02-16  Benjamin Poulain  <benjamin@webkit.org>
2373
2374        Split compilation state between querySelector and CSS matching
2375        https://bugs.webkit.org/show_bug.cgi?id=128869
2376
2377        Reviewed by Antti Koivisto.
2378
2379        Cleanup after recent changes:
2380        -SelectorCompiler now has a SelectorContext defining if the code is compiled for QuerySelector
2381         or for ElementRuleCollector.
2382        -Generalize m_selectorCannotMatchAnything by making it part of the FunctionType. FunctionType now
2383         fully represent the type of code generation and we don't rely implicitly on m_selectorFragments being
2384         empty.
2385
2386        * css/ElementRuleCollector.cpp:
2387        (WebCore::ElementRuleCollector::ruleMatches):
2388
2389        * cssjit/SelectorCompiler.cpp:
2390        (WebCore::SelectorCompiler::compileSelector):
2391        (WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
2392        There is no tree marking for QuerySelector, so we can generate a simple selector
2393        for the sibling selectors.
2394
2395        (WebCore::SelectorCompiler::SelectorCodeGenerator::compile):
2396        The code is split to make it simpler. The classic code generation has been moved
2397        to generateSelectorChecker().
2398        The decision on what to generate is reduced to a simple switch-case.
2399
2400        (WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
2401        The code that was previously in compile().
2402
2403        (WebCore::SelectorCompiler::SelectorCodeGenerator::markParentElementIfResolvingStyle):
2404        We should not generate tree marking on querySelector traversal. Since the constructor
2405        now generate a SimpleChecker, it would also be incorrect to attempt to access the checkingContext
2406        on the stack.
2407        We can just skip the marking entierly.
2408
2409        * cssjit/SelectorCompiler.h:
2410        * dom/SelectorQuery.cpp:
2411        (WebCore::SelectorDataList::execute):
2412        With the changes of SelectorContext, we can no longer generate a complex checker for querySelector.
2413        This code may come back in the future but at the moment it is useless.
2414
24152014-02-16  Benjamin Poulain  <bpoulain@apple.com>
2416
2417        The FTP view is squished to the left
2418        https://bugs.webkit.org/show_bug.cgi?id=128856
2419
2420        Reviewed by Andreas Kling.
2421
2422        * html/FTPDirectoryDocument.cpp:
2423        (WebCore::FTPDirectoryDocumentParser::createBasicDocument):
2424
24252014-02-16  Jae Hyun Park  <jae.park@company100.net>
2426
2427        [Coordinated Graphics] Make AreaAllocator fast allocated
2428        https://bugs.webkit.org/show_bug.cgi?id=124995
2429
2430        Reviewed by Anders Carlsson.
2431
2432        AreaAllocator can be created and destroyed frequently (at least once per
2433        frame) in case of animation with changing width or height. So, it's
2434        better to make AreaAllocator fast allocated.
2435
2436        * platform/graphics/texmap/coordinated/AreaAllocator.h:
2437
24382014-02-16  Pratik Solanki  <psolanki@apple.com>
2439
2440        [iOS] WebKit crashes if text is copied to pasteboard with style containing text-shadow
2441        https://bugs.webkit.org/show_bug.cgi?id=128888
2442        <rdar://problem/16065699>
2443
2444        Reviewed by Anders Carlsson.
2445
2446        Use the correct class on iOS so that we don't crash.
2447
2448        * platform/mac/HTMLConverter.mm:
2449        (_shadowForShadowStyle):
2450
24512014-02-16  Andreas Kling  <akling@apple.com>
2452
2453        Atomicize frequently identical ResourceResponse string members.
2454        <https://webkit.org/b/128887>
2455
2456        Store the mime type, text encoding and HTTP response status text in
2457        AtomicStrings instead of Strings to deduplicate frequently occurring
2458        values (e.g "text/html", "utf-8" and "OK".)
2459
2460        Reviewed by Geoffrey Garen.
2461
2462        * platform/network/ResourceResponseBase.h:
2463        * platform/network/cf/ResourceResponseCFNet.cpp:
2464        (WebCore::ResourceResponse::cfURLResponse):
2465        (WebCore::ResourceResponse::platformLazyInit):
2466        * platform/network/mac/ResourceResponseMac.mm:
2467        (WebCore::ResourceResponse::platformLazyInit):
2468
24692014-02-16  Dan Bernstein  <mitz@apple.com>
2470
2471        Speculative iOS build fix.
2472
2473        * dom/Document.cpp:
2474        (WebCore::Document::Document):
2475
24762014-02-15  Antti Koivisto  <antti@apple.com>
2477
2478        Move document life time management from TreeScope to Document
2479        https://bugs.webkit.org/show_bug.cgi?id=128877
2480
2481        Reviewed by Andreas Kling.
2482
2483        Document life time is managed in confusing manner by TreeScopes which are also inherited to ShadowRoots.
2484        
2485        This patches moves the life time management to Document. Nodes in shadow trees selfOnlyRef the Document instead
2486        of the ShadowRoot. ShadowRoot is treated like any other node and selfOnlyRefs the Document as well (which it
2487        also did earlier, indirectly).
2488        
2489        TreeScope is devirtualized.
2490
2491        * css/ElementRuleCollector.cpp:
2492        (WebCore::ElementRuleCollector::collectMatchingRules):
2493        
2494            Author stylesheets never match in UA shadow trees.
2495
2496        * dom/ContainerNode.cpp:
2497        (WebCore::ContainerNode::~ContainerNode):
2498        * dom/Document.cpp:
2499        (WebCore::Document::Document):
2500        (WebCore::Document::~Document):
2501        (WebCore::Document::removedLastRef):
2502        * dom/Document.h:
2503        (WebCore::Document::selfOnlyRef):
2504        (WebCore::Document::selfOnlyDeref):
2505
2506            To avoid branches Document self-refs itself like all other Nodes. This is why deletion will now happen on ref count of 1.
2507
2508        (WebCore::Node::isDocumentNode):
2509        (WebCore::Node::Node):
2510        * dom/DocumentOrderedMap.cpp:
2511        (WebCore::DocumentOrderedMap::add):
2512        * dom/Element.cpp:
2513        (WebCore::Element::insertedInto):
2514        (WebCore::Element::removedFrom):
2515        * dom/Node.cpp:
2516        (WebCore::Node::~Node):
2517        (WebCore::Node::removedLastRef):
2518        * dom/Node.h:
2519        (WebCore::Node::document):
2520        (WebCore::Node::inDocument):
2521        * dom/ShadowRoot.cpp:
2522        (WebCore::ShadowRoot::ShadowRoot):
2523        (WebCore::ShadowRoot::~ShadowRoot):
2524        * dom/ShadowRoot.h:
2525        * dom/TreeScope.cpp:
2526        (WebCore::TreeScope::TreeScope):
2527        (WebCore::TreeScope::~TreeScope):
2528        (WebCore::TreeScope::setParentTreeScope):
2529        * dom/TreeScope.h:
2530        (WebCore::TreeScope::documentScope):
2531        
2532            Document can no longer ever be null.
2533
2534        (WebCore::TreeScope::rootNode):
2535        (WebCore::TreeScope::setDocumentScope):
2536        * dom/TreeScopeAdopter.cpp:
2537        (WebCore::TreeScopeAdopter::moveTreeToNewScope):
2538        (WebCore::TreeScopeAdopter::moveShadowTreeToNewDocument):
2539        
2540            Manage Document selfOnlyRefs for nodes in shadow trees too.
2541
2542        (WebCore::TreeScopeAdopter::updateTreeScope):
2543        (WebCore::TreeScopeAdopter::moveNodeToNewDocument):
2544        * dom/TreeScopeAdopter.h:
2545
25462014-02-16  Ryosuke Niwa  <rniwa@webkit.org>
2547
2548        setSelectionRange shouldn't directly instantiate VisibleSelection
2549        https://bugs.webkit.org/show_bug.cgi?id=128881
2550
2551        Reviewed by Andreas Kling.
2552
2553        Added a new version of moveTo for setSelectionRange.
2554
2555        * editing/FrameSelection.cpp:
2556        (WebCore::FrameSelection::moveTo): Added.
2557        * editing/FrameSelection.h:
2558        * html/HTMLTextFormControlElement.cpp:
2559        (WebCore::HTMLTextFormControlElement::setSelectionRange): Use the newly added FrameSelection::moveTo
2560        instead of manually instantiating VisibleSelection here.
2561
25622014-02-16  Dan Bernstein  <mitz@apple.com>
2563
2564        Stop using PLATFORM(MAC) in Source except where it means “OS X but not iOS”
2565        https://bugs.webkit.org/show_bug.cgi?id=128885
2566
2567        Reviewed by Anders Carlsson.
2568
2569        * loader/FrameLoaderClient.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
2570        * platform/Cursor.h: Changed PLATFORM(MAC) to USE(APPKIT) around uses of NSCursor.
2571        * platform/LocalizedStrings.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
2572        * platform/graphics/PlatformLayer.h: Ditto.
2573        * platform/graphics/cg/PDFDocumentImage.cpp: Ditto.
2574        * rendering/RenderLayerCompositor.cpp: Ditto.
2575        (WebCore::RenderLayerCompositor::requiresContentShadowLayer):
2576        (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
2577
25782014-02-16  Dan Bernstein  <mitz@apple.com>
2579
2580        Speculative iOS build fix after r164184.
2581
2582        * dom/Node.cpp:
2583        (WebCore::Node::defaultEventHandler):
2584
25852014-02-15  Ryosuke Niwa  <rniwa@webkit.org>
2586
2587        DOMSelection shouldn't instantiate VisibleSelection everywhere
2588        https://bugs.webkit.org/show_bug.cgi?id=128879
2589
2590        Reviewed by Antti Koivisto.
2591
2592        Removed explicit instantiation of VisibleSelection from various member functions of VisibleSelection.
2593
2594        * page/DOMSelection.cpp:
2595        (WebCore::DOMSelection::collapse):
2596        (WebCore::DOMSelection::collapseToEnd):
2597        (WebCore::DOMSelection::collapseToStart):
2598        (WebCore::DOMSelection::setBaseAndExtent):
2599        (WebCore::DOMSelection::setPosition):
2600        (WebCore::DOMSelection::extend):
2601        (WebCore::DOMSelection::getRangeAt):
2602        (WebCore::DOMSelection::addRange):
2603
26042014-02-15  Ryosuke Niwa  <rniwa@webkit.org>
2605
2606        Remove unused arguments from moveTo(Range*)
2607        https://bugs.webkit.org/show_bug.cgi?id=128878
2608
2609        Reviewed by Antti Koivisto.
2610
2611        Cleanup.
2612
2613        * bindings/objc/DOMUIKitExtensions.mm:
2614        (-[DOMRange move:inDirection:]):
2615        (-[DOMRange extend:inDirection:]):
2616        * editing/FrameSelection.cpp:
2617        (WebCore::FrameSelection::moveTo):
2618        * editing/FrameSelection.h:
2619
26202014-02-15  Filip Pizlo  <fpizlo@apple.com>
2621
2622        Vector with inline capacity should work with non-PODs
2623        https://bugs.webkit.org/show_bug.cgi?id=128864
2624
2625        Reviewed by Michael Saboff.
2626
2627        No new tests because no change behavior.
2628        
2629        Deques no longer have inline capacity because it was broken, and we didn't need it
2630        here anyway.
2631
2632        * page/WheelEventDeltaTracker.h:
2633
26342014-02-15  Andreas Kling  <akling@apple.com>
2635
2636        Add checked casts for Event.
2637        <https://webkit.org/b/128875>
2638
2639        Generate casting helpers for casting from Event to various subclasses
2640        and go on static_cast replacement spree.
2641
2642        Reviewed by Sam Weinig.
2643
26442014-02-15  Ryosuke Niwa  <rniwa@webkit.org>
2645
2646        HTMLTextFormControlElement::subtreeHasChanged should be called before updating selection
2647        https://bugs.webkit.org/show_bug.cgi?id=128870
2648
2649        Reviewed by Darin Adler.
2650
2651        Extracted HTMLTextFormControlElement::didEditInnerTextValue out of HTMLTextFormControlElement::defaultEventHandler
2652        and called it in appliedEditing, unappliedEditing, and reappliedEditing before updating selection.
2653
2654        * editing/Editor.cpp:
2655        (WebCore::notifyTextFromControls): Added.
2656        (WebCore::Editor::appliedEditing): Update text form control's internal states before updating selection.
2657        (WebCore::Editor::unappliedEditing): Ditto.
2658        (WebCore::Editor::reappliedEditing): Ditto.
2659        * html/HTMLTextFormControlElement.cpp:
2660        (WebCore::HTMLTextFormControlElement::didEditInnerTextValue):
2661        * html/TextFieldInputType.cpp:
2662        (WebCore::TextFieldInputType::subtreeHasChanged): Removed a stale assertion from the time we used to do
2663        everything in the render tree.
2664
26652014-02-15  Andreas Kling  <akling@apple.com>
2666
2667        Add checked casts for ScriptExecutionContext.
2668        <https://webkit.org/b/128874>
2669
2670        Generate casting helpers for casting from ScriptExecutionContext to
2671        Document and WorkerGlobalScope. Apply heartily.
2672
2673        Reviewed by Antti Koivisto.
2674
26752014-02-15  Alexey Proskuryakov  <ap@apple.com>
2676
2677        [Mac] All WebKit clients should encrypt WebCrypto keys automatically
2678        https://bugs.webkit.org/show_bug.cgi?id=128852
2679
2680        Reviewed by Oliver Hunt.
2681
2682        Install a persistent master key in Keychain on first use of WebCrypto key serialization.
2683        The key is per application, protected with ACL.
2684
2685        * English.lproj/Localizable.strings:
2686        * WebCore.exp.in:
2687        * crypto/SerializedCryptoKeyWrap.h:
2688        * crypto/mac/SerializedCryptoKeyWrapMac.mm:
2689        (WebCore::masterKeyAccountNameForCurrentApplication):
2690        (WebCore::getDefaultWebCryptoMasterKey):
2691        (WebCore::createAndStoreMasterKey):
2692        (WebCore::findMasterKey):
2693        * platform/LocalizedStrings.cpp:
2694        (WebCore::webCryptoMasterKeyKeychainLabel):
2695        (WebCore::webCryptoMasterKeyKeychainComment):
2696        * platform/LocalizedStrings.h:
2697
26982014-02-15  Ryosuke Niwa  <rniwa@webkit.org>
2699
2700        computeSelectionStart and computeSelectionEnd shouldn't trigger synchronous layout
2701        https://bugs.webkit.org/show_bug.cgi?id=128806
2702
2703        Reviewed by Darin Adler.
2704
2705        Added indexForPosition to HTMLTextFormControlElement. Like r163825, this patch traverses the DOM tree
2706        instead of the render tree to compute the index for a given position.
2707
2708        We traverse the DOM Tree backwards starting at the specified Position all the way back to the beginning
2709        of the inner text element. The index is computed as the number of characters we encountered during
2710        this backwards DOM traversal.
2711
2712        It's worth noting that passedPosition.computeNodeBeforePosition() returns and only returns 0 when the
2713        position is before the first node of its parent or inside a text node. In such cases, we call
2714        passedPosition.containerNode() to find the parent or the text node.
2715
2716        * html/HTMLTextFormControlElement.cpp:
2717        (WebCore::HTMLTextFormControlElement::indexForVisiblePosition): Use indexForPosition.
2718        (WebCore::HTMLTextFormControlElement::computeSelectionStart): Ditto.
2719        (WebCore::HTMLTextFormControlElement::computeSelectionEnd): Dotto.
2720        (WebCore::finishText): Cleanup. Use newlineCharacter instead of hard-coding '\n'.
2721        (WebCore::HTMLTextFormControlElement::indexForPosition): Added. See above for the description.
2722        * html/HTMLTextFormControlElement.h:
2723
27242014-02-15  Brent Fulgham  <bfulgham@apple.com>
2725
2726        [Win] Avoid unnecessary asserts if "prepareToPlay" is called multiple times.
2727        https://bugs.webkit.org/show_bug.cgi?id=128859
2728
2729        Reviewed by Eric Carlson.
2730
2731        * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
2732        (WebCore::AVFWrapper::createPlayer): Don't assert if player exists; just return the
2733        existing copy.
2734        (WebCore::AVFWrapper::createPlayerItem): Ditto (but with Player Items).
2735
27362014-02-15  Darin Adler  <darin@apple.com>
2737
2738        Remove double hashing from DatasetDOMStringMap::deleteItem
2739        https://bugs.webkit.org/show_bug.cgi?id=128865
2740
2741        Reviewed by Benjamin Poulain.
2742
2743        * dom/DatasetDOMStringMap.cpp:
2744        (WebCore::DatasetDOMStringMap::deleteItem): Removed call to hasAttribute, using the
2745        result from removeAttribute instead.
2746
2747        * dom/Element.cpp:
2748        (WebCore::Element::removeAttribute): Add a return value, false if nothing is removed,
2749        and true if something is removed.
2750        (WebCore::Element::removeAttributeNS): Ditto.
2751        * dom/Element.h: Ditto.
2752
27532014-02-15  Piotr Grad  <p.grad@samsung.com>
2754
2755        Setting currentTime on HTMLMediaElement with media controller should throw exception.
2756        https://bugs.webkit.org/show_bug.cgi?id=128867.
2757
2758        Reviewed by Eric Carlson.
2759
2760        Added implementation for setting currentTime in HTMLMediaElement. Old implementation
2761        was left to be used internally.
2762
2763        Test: media/video-controller-currentTime.html
2764
2765        * html/HTMLMediaElement.cpp:
2766        (WebCore::HTMLMediaElement::parseAttribute):
2767        * html/HTMLMediaElement.h:
2768        * html/HTMLMediaElement.idl:
2769
27702014-02-15  Anders Carlsson  <andersca@apple.com>
2771
2772        Form controls are always painted in the active state
2773        https://bugs.webkit.org/show_bug.cgi?id=128872
2774        <rdar://problem/9422677>
2775
2776        Reviewed by Dan Bernstein.
2777
2778        AppKit will always paint form controls in the active state if the view doesn't have a
2779        window. Fix this by adding a fake window whose key appearance we'll update based on the 
2780        control state. Also, rename WebCoreFlippedView to WebCoreThemeView since it stopped being
2781        just about the flippedness a long time ago.
2782
2783        * platform/mac/ThemeMac.h:
2784        * platform/mac/ThemeMac.mm:
2785        (-[WebCoreThemeWindow hasKeyAppearance]):
2786        Return themeWindowHasKeyAppearance.
2787
2788        (-[WebCoreThemeView window]):
2789        Create a WebCoreThemeWindow object lazily and return it.
2790
2791        (WebCore::paintCheckbox):
2792        (WebCore::paintRadio):
2793        (WebCore::paintButton):
2794        Pass the control states to ThemeMac::ensuredView.
2795
2796        (WebCore::ThemeMac::ensuredView):
2797        Set themeWindowHasKeyAppearance based on the control state.
2798
2799        * rendering/RenderThemeMac.mm:
2800        (WebCore::RenderThemeMac::documentViewFor):
2801        Pass the control states to ThemeMac::ensuredView.
2802
28032014-02-15  Renata Hodovan  <rhodovan.u-szeged@partner.samsung.com>
2804
2805        ASSERT_WITH_SECURITY_IMPLICATION in WebCore::toElement
2806        https://bugs.webkit.org/show_bug.cgi?id=128810
2807
2808        Reviewed by Ryosuke Niwa.
2809
2810        Make CompositeEditCommand::cloneParagraphUnderNewElement() to work when |outerNode|
2811        doesn't contain |start|.
2812
2813        Before this patch, CompositeEditCommand::cloneParagraphUnderNewElement() tried to copy
2814        ancestry nodes from |start| to Document node when |start| position isn't in |outerNode|. This
2815        patch changes CompositeEditCommand::cloneParagraphUnderNewElement() to copy |start| to
2816        |outerNode| only if |outerNode| contains |start| position.
2817
2818        Merged from Blink https://src.chromium.org/viewvc/blink?revision=161762&view=revision by yosin@chromium.org.
2819
2820        Test: editing/execCommand/indent-with-uneditable-crash.html
2821
2822        * editing/CompositeEditCommand.cpp:
2823        (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
2824
28252014-02-15  Samuel White  <samuel_white@apple.com>
2826
2827        AX: Add ability to specify descendant type when using AXUIElementsForSearchPredicate.
2828        https://bugs.webkit.org/show_bug.cgi?id=128747
2829
2830        Reviewed by Chris Fleizach.
2831
2832        Added support for 'immediate descendant only' to existing predicate based searching. This
2833        addition allows VoiceOver to fetch each child element lazily (rather than all at once via AXChildren).
2834
2835        Test: platform/mac/accessibility/search-predicate-immediate-descendants-only.html
2836
2837        * accessibility/AccessibilityObject.cpp:
2838        (WebCore::AccessibilityObject::findMatchingObjects):
2839        * accessibility/AccessibilityObject.h:
2840        (WebCore::AccessibilitySearchCriteria::AccessibilitySearchCriteria):
2841        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
2842        (accessibilitySearchCriteriaForSearchPredicateParameterizedAttribute):
2843
28442014-02-15  Jeremy Jones  <jeremyj@apple.com>
2845
2846        WK2 AVKit enter fullscreen doesn't work a second time.
2847        https://bugs.webkit.org/show_bug.cgi?id=128558
2848
2849        Reviewed by Jer Noble.
2850
2851        Lazily create WebAVPlayerController when needed.
2852
2853        * platform/ios/WebVideoFullscreenInterfaceAVKit.h:
2854        * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
2855        (WebVideoFullscreenInterfaceAVKit::WebVideoFullscreenInterfaceAVKit):
2856        (WebVideoFullscreenInterfaceAVKit::getPlayerController):
2857        Add getPlayerController()
2858
2859        (WebVideoFullscreenInterfaceAVKit::setWebVideoFullscreenModel):
2860        (WebVideoFullscreenInterfaceAVKit::setDuration):
2861        (WebVideoFullscreenInterfaceAVKit::setCurrentTime):
2862        (WebVideoFullscreenInterfaceAVKit::setRate):
2863        (WebVideoFullscreenInterfaceAVKit::setVideoDimensions):
2864        (WebVideoFullscreenInterfaceAVKit::setVideoLayer):
2865        (WebVideoFullscreenInterfaceAVKit::enterFullscreenWithCompletionHandler):
2866        use getPlayerController();
2867
28682014-02-15  Jer Noble  <jer.noble@apple.com>
2869
2870        [Mac] 10X slower than Chrome when drawing a video into a canvas
2871        https://bugs.webkit.org/show_bug.cgi?id=124599
2872
2873        Reviewed by Darin Adler.
2874
2875        Follow up patch to r159518 to address Darin's post-commit review.
2876
2877        * html/HTMLVideoElement.cpp:
2878        (WebCore::HTMLVideoElement::nativeImageForCurrentTime): Use nullptr.
2879        * platform/graphics/MediaPlayerPrivate.h:
2880        (WebCore::MediaPlayerPrivateInterface::nativeImageForCurrentTime): Ditto.
2881        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2882        (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC): Ditto.
2883        (WebCore::MediaPlayerPrivateAVFoundationObjC::~MediaPlayerPrivateAVFoundationObjC): Clear the
2884                AVPlayerItemVideoOutput's delegate callback.
2885        (WebCore::CVPixelBufferGetBytePointerCallback): Use static_cast.
2886        (WebCore::CVPixelBufferReleaseBytePointerCallback): Ditto.
2887        (WebCore::CVPixelBufferReleaseInfoCallback): Ditto.
2888        (-[WebCoreAVFPullDelegate initWithCallback:]): Space changes.
2889        (-[WebCoreAVFPullDelegate setCallback:]): Added.
2890        (-[WebCoreAVFPullDelegate outputMediaDataWillChange:]): Check the value of m_callback.
2891
28922014-02-14  Andreas Kling  <akling@apple.com>
2893
2894        CTTE: WorkerGlobalScope is always owned by a WorkerThread.
2895        <https://webkit.org/b/128834>
2896
2897        Codify this by storing the owner thread as a WorkerThread& and making
2898        thread() return a reference.
2899
2900        This exposed a couple of unnecessary assertions.
2901
2902        Reviewed by Anders Carlsson.
2903
2904        * Modules/notifications/WorkerGlobalScopeNotifications.cpp:
2905        (WebCore::WorkerGlobalScopeNotifications::webkitNotifications):
2906        * Modules/websockets/ThreadableWebSocketChannel.cpp:
2907        (WebCore::ThreadableWebSocketChannel::create):
2908        * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
2909        (WebCore::WorkerThreadableWebSocketChannel::Bridge::Bridge):
2910        (WebCore::WorkerThreadableWebSocketChannel::Bridge::waitForMethodCompletion):
2911        * bindings/js/ScheduledAction.cpp:
2912        (WebCore::ScheduledAction::execute):
2913        * bindings/js/WorkerScriptDebugServer.cpp:
2914        (WebCore::WorkerScriptDebugServer::runEventLoopWhilePaused):
2915        * dom/ScriptExecutionContext.cpp:
2916        (WebCore::ScriptExecutionContext::createdMessagePort):
2917        (WebCore::ScriptExecutionContext::destroyedMessagePort):
2918        * inspector/WorkerDebuggerAgent.cpp:
2919        (WebCore::WorkerDebuggerAgent::WorkerDebuggerAgent):
2920        (WebCore::WorkerDebuggerAgent::~WorkerDebuggerAgent):
2921        * inspector/WorkerInspectorController.cpp:
2922        * inspector/WorkerRuntimeAgent.cpp:
2923        (WebCore::WorkerRuntimeAgent::pauseWorkerGlobalScope):
2924        * loader/WorkerThreadableLoader.cpp:
2925        (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
2926        (WebCore::WorkerThreadableLoader::loadResourceSynchronously):
2927        * loader/cache/MemoryCache.cpp:
2928        (WebCore::MemoryCache::removeRequestFromCache):
2929        * workers/DedicatedWorkerGlobalScope.cpp:
2930        (WebCore::DedicatedWorkerGlobalScope::create):
2931        (WebCore::DedicatedWorkerGlobalScope::DedicatedWorkerGlobalScope):
2932        (WebCore::DedicatedWorkerGlobalScope::postMessage):
2933        (WebCore::DedicatedWorkerGlobalScope::importScripts):
2934        (WebCore::DedicatedWorkerGlobalScope::thread):
2935        * workers/DedicatedWorkerGlobalScope.h:
2936        * workers/DedicatedWorkerThread.cpp:
2937        (WebCore::DedicatedWorkerThread::createWorkerGlobalScope):
2938        * workers/SharedWorkerGlobalScope.cpp:
2939        (WebCore::SharedWorkerGlobalScope::create):
2940        (WebCore::SharedWorkerGlobalScope::SharedWorkerGlobalScope):
2941        (WebCore::SharedWorkerGlobalScope::thread):
2942        * workers/SharedWorkerGlobalScope.h:
2943        * workers/SharedWorkerThread.cpp:
2944        (WebCore::SharedWorkerThread::createWorkerGlobalScope):
2945        * workers/WorkerGlobalScope.cpp:
2946        (WebCore::CloseWorkerGlobalScopeTask::performTask):
2947        (WebCore::WorkerGlobalScope::WorkerGlobalScope):
2948        (WebCore::WorkerGlobalScope::~WorkerGlobalScope):
2949        (WebCore::WorkerGlobalScope::postTask):
2950        (WebCore::WorkerGlobalScope::logExceptionToConsole):
2951        (WebCore::WorkerGlobalScope::addConsoleMessage):
2952        (WebCore::WorkerGlobalScope::addMessage):
2953        (WebCore::WorkerGlobalScope::isContextThread):
2954        * workers/WorkerGlobalScope.h:
2955        (WebCore::WorkerGlobalScope::thread):
2956        * workers/WorkerMessagingProxy.cpp:
2957        (WebCore::MessageWorkerGlobalScopeTask::performTask):
2958        (WebCore::WorkerMessagingProxy::WorkerMessagingProxy):
2959        (WebCore::WorkerMessagingProxy::~WorkerMessagingProxy):
2960        * workers/WorkerRunLoop.cpp:
2961        (WebCore::WorkerRunLoop::runInMode):
2962        (WebCore::WorkerRunLoop::runCleanupTasks):
2963
29642014-02-14  Ryosuke Niwa  <rniwa@webkit.org>
2965
2966        setSelectionRange shouldn't trigger a synchronous layout to check focusability when text field is already focused
2967        https://bugs.webkit.org/show_bug.cgi?id=128804
2968
2969        Reviewed by Enrica Casucci.
2970
2971        Don't trigger a synchronous layout at the beginning of setSelectionRange if the element is already focused
2972        since we don't have to check the size of render box in that case.
2973
2974        We should be able to get rid of this synchronous layout entirely once we fix https://webkit.org/b/128797
2975        but that's somewhat risky behavioral change so we'll do that in a separate patch.
2976
2977        * editing/FrameSelection.cpp:
2978        (WebCore::FrameSelection::selectAll): Fixed the bug where selectAll selects the entire document even if the text
2979        form contol is focused if the selection is none (i.e. not anchored to any node).
2980        * html/HTMLTextFormControlElement.cpp:
2981        (WebCore::HTMLTextFormControlElement::setSelectionRange): Only update the layout if the element is not focused
2982        already. Also pass in DoNotSetFocus option to setSelection since we already have the focus in that case.
2983
29842014-02-14  Dan Bernstein  <mitz@apple.com>
2985
2986        REGRESSION (r157443): Search fields with a non-white background don’t have a round bezel
2987        https://bugs.webkit.org/show_bug.cgi?id=126295
2988
2989        Reviewed by Ryosuke Niwa.
2990
2991        Reverted r157443 and improved comment.
2992
2993        * rendering/RenderTheme.cpp:
2994        (WebCore::RenderTheme::isControlStyled):
2995
29962014-02-14  Brian Burg  <bburg@apple.com>
2997
2998        Web Replay: AtomicString replay input names should be stored in a thread-local table
2999        https://bugs.webkit.org/show_bug.cgi?id=128829
3000
3001        Reviewed by Andreas Kling.
3002
3003        Similar to how DOM event names are frequently-used AtomicStrings, replay input
3004        names are also checked in many places as a "type tag". This patch puts all known
3005        input names into a class held by ThreadGlobalData and adds the shortcut `inputTypes()`
3006        so that replay input types can be referenced with `inputTypes.InputName()`.
3007
3008        * WebCore.xcodeproj/project.pbxproj:
3009        * platform/ThreadGlobalData.cpp: Add inputTypes() shortcut.
3010        (WebCore::ThreadGlobalData::ThreadGlobalData):
3011        * platform/ThreadGlobalData.h: Add inputTypes() shortcut.
3012        (WebCore::ThreadGlobalData::inputTypes):
3013        * replay/ReplayInputTypes.cpp: Added.
3014        (WebCore::ReplayInputTypes::ReplayInputTypes):
3015        * replay/ReplayInputTypes.h: Added.
3016        (WebCore::inputTypes): The input names are provided by per-framework macros that
3017        are generated by the replay inputs code generator.
3018
30192014-02-14  Jer Noble  <jer.noble@apple.com>
3020
3021        Add support for specced event handlers to HTMLMediaElement
3022        https://bugs.webkit.org/show_bug.cgi?id=128292
3023
3024        Reviewed by Andreas Kling.
3025
3026        Test: media/media-event-listeners.html
3027
3028        Add explicit event listener IDL attributes to HTMLMediaElement.
3029
3030        * html/HTMLMediaElement.h:
3031        * html/HTMLMediaElement.idl:
3032
30332014-02-14  Oliver Hunt  <oliver@apple.com>
3034
3035        Implement a few more Array prototype functions in JS
3036        https://bugs.webkit.org/show_bug.cgi?id=128788
3037
3038        Reviewed by Gavin Barraclough.
3039
3040        Minor change to ensure that the inspector is treating builtins
3041        as host functions.
3042
3043        Tests: js/regress/array-prototype-filter.html
3044               js/regress/array-prototype-forEach.html
3045               js/regress/array-prototype-map.html
3046               js/regress/array-prototype-some.html
3047
3048        * inspector/InspectorDOMAgent.cpp:
3049        (WebCore::InspectorDOMAgent::buildObjectForEventListener):
3050          Make sure we treat builtins as regular host functions
3051
30522014-02-14  Beth Dakin  <bdakin@apple.com>
3053
3054        Margin tiles are not created for the top and left sides when there is a < 1.0 
3055        scale factor
3056        https://bugs.webkit.org/show_bug.cgi?id=128842
3057
3058        Reviewed by Simon Fraser.
3059
3060        floor the result of the computation whenever we have a negative origin, to ensure 
3061        that we are rounding 'up' to a larger number of tiles. 
3062        * platform/graphics/ca/mac/TileController.mm:
3063        (WebCore::TileController::getTileIndexRangeForRect):
3064
30652014-02-13  Ryosuke Niwa  <rniwa@webkit.org>
3066
3067        setSelection should not synchronously trigger layout
3068        https://bugs.webkit.org/show_bug.cgi?id=128797
3069
3070        Reviewed by Antti Koivisto.
3071
3072        Only update the appearance and reveal selection when the style and the layout is already up to date.
3073        Otherwise, do so in performPostLayoutTasks.
3074
3075        * editing/FrameSelection.cpp:
3076        (WebCore::FrameSelection::FrameSelection):
3077        (WebCore::FrameSelection::setSelection): Set m_pendingSelectionUpdate and synchronously update caret rect
3078        if we don't need to update style or layout.
3079        (WebCore::updateSelectionByUpdatingLayoutOrStyle): Added. Used by FrameSelection member functions to
3080        trigger layout or style recalc whichever is needed.
3081        (WebCore::FrameSelection::updateAndRevealSelection): Extracted from setSelection.
3082        (WebCore::FrameSelection::absoluteCaretBounds): Call updateSelectionByUpdatingLayoutOrStyle since caret rect
3083        is no longer updated synchronously in setSelection.
3084        (WebCore::FrameSelection::recomputeCaretRect): Don't assert that visibleStart().absoluteCaretBounds() is
3085        equal to m_absCaretBounds since selection may no longer be caret at this point.
3086        (WebCore::FrameSelection::setCaretVisibility): Call updateSelectionByUpdatingLayoutOrStyle since we're
3087        synchronously calling into updateAppearance here. In the future, we should make this asynchronous as well.
3088        (WebCore::FrameSelection::selectionBounds): Call updateSelectionByUpdatingLayoutOrStyle since selection bounds
3089        could be outdated. This code only triggering style recalc was presumably a bug.
3090        * editing/FrameSelection.h:
3091
3092        * page/FrameView.cpp:
3093        (WebCore::FrameView::performPostLayoutTasks): Update selection's appearance and scroll to reveal selection
3094        as needed.
3095
30962014-02-14  Andreas Kling  <akling@apple.com>
3097
3098        Purge remaining ENABLE(SHADOW_DOM) cruft.
3099        <https://webkit.org/b/128827>
3100
3101        Remove the remaining 8.8 million lines of Shadow DOM code to align
3102        with goals for intent to ship 60fps on mobile in 2014.
3103
3104        Reviewed by Antti Koivisto.
3105
31062014-02-13  Jer Noble  <jer.noble@apple.com>
3107
3108        [MediaControls][iOS] Embedded YouTube does not show a 'paused' button state after starting
3109        https://bugs.webkit.org/show_bug.cgi?id=128755
3110
3111        Reviewed by Eric Carlson.
3112
3113        Don't rely on "canPlay()", instead, take the information directly from the event itself. I.e., when
3114        handling the 'play' event, switch mode to playing, and vice versa for the 'pause' event.
3115
3116        * Modules/mediacontrols/mediaControlsApple.js:
3117        (Controller.prototype.handlePlay):
3118        (Controller.prototype.handlePause):
3119        (Controller.prototype.updatePlaying):
3120        (Controller.prototype.setPlaying):
3121
31222014-02-13  Jer Noble  <jer.noble@apple.com>
3123
3124        [MediaControls][iOS] Start playback button is visible when playing embedded YouTube
3125        https://bugs.webkit.org/show_bug.cgi?id=128754
3126
3127        Reviewed by Eric Carlson.
3128
3129        Update shouldHaveStartPlaybackButton to match the behavior of the plugin proxy.
3130
3131        Add a accessor to determine whether playback has been requested:
3132        * Modules/mediacontrols/MediaControlsHost.cpp:
3133        (WebCore::MediaControlsHost::userGestureRequired):
3134        * Modules/mediacontrols/MediaControlsHost.h:
3135        * Modules/mediacontrols/MediaControlsHost.idl:
3136
3137        Update the logic of shouldHaveStartPlaybackButton.
3138        * Modules/mediacontrols/mediaControlsiOS.js:
3139        (ControllerIOS.prototype.shouldHaveStartPlaybackButton):
3140
31412014-02-13  Jer Noble  <jer.noble@apple.com>
3142
3143        [MediaControls] Add support for a loading progress meter
3144        https://bugs.webkit.org/show_bug.cgi?id=128651
3145
3146        Reviewed by Eric Carlson.
3147
3148        Draw the loaded ranges underneath the timeline slider. Use a -webkit-canvas()
3149        CSS function to allow the track of the slider to reflect the current state of
3150        the video's loadedTimeRanges property.
3151
3152        Since -webkit-canvas() will share a backing store with all other CSS images using
3153        the same identifier, use a monotonically increasing identifier to uniquely identify the timeline on a per-document basis.
3154
3155        * Modules/mediacontrols/mediaControlsApple.css:
3156        (audio::-webkit-media-controls-timeline):
3157        * Modules/mediacontrols/mediaControlsApple.js:
3158        (Controller): Call updateProgress().
3159        (Controller.prototype.createControls): Set up the canvas style and identifier.
3160        (Controller.prototype.handleLoadStart): Call updateProgress().
3161        (Controller.prototype.handleStalled): Ditto.
3162        (Controller.prototype.handleReadyStateChange): Ditto.
3163        (Controller.prototype.handleDurationChange): Ditto.
3164        (Controller.prototype.handleProgress): Ditto.
3165        (Controller.prototype.progressFillStyle): Added an easily overridable method
3166            to determine the fill color of the progress bar.
3167        (Controller.prototype.updateProgress): Draw the loadedTimeRanges into the timeline slider.
3168        * Modules/mediacontrols/mediaControlsiOS.js:
3169        (ControllerIOS.prototype.progressFillStyle): Override.
3170
31712014-02-14  Benjamin Poulain  <benjamin@webkit.org>
3172
3173        Clean up JSDOMStringMap::deleteProperty
3174        https://bugs.webkit.org/show_bug.cgi?id=128801
3175
3176        Reviewed by Geoffrey Garen.
3177
3178        Follow up on my cleaning of JSDOMStringMapCustom, this time for deletion.
3179
3180        Previously, we would query for the name, then call deleteItem() if the name was
3181        found. Instead, everything is moved to deleteItem which then return if the deletion
3182        is successful or not.
3183
3184        By using convertPropertyNameToAttributeName, we can use Element::hasAttribute() directly
3185        to find if the attribute exists or not. If it exists, we remove it.
3186
3187        Theoretically we could have a single pass over the attributes to find->delete but this
3188        code is not hot enough to justify anything fancy at this point.
3189
3190        Finally, we no longer check for isValidPropertyName() on deletion. JSDOMStringMapCustom
3191        was the last client of DatasetDOMStringMap::deleteItem() and it could not call deleteItem()
3192        with invalid name since the name would have failed DatasetDOMStringMap::contains().
3193        The spec does not specify any name checking either for deletion so we are safe just ignoring
3194        invalid input.
3195
3196        * bindings/js/JSDOMStringMapCustom.cpp:
3197        (WebCore::JSDOMStringMap::deleteProperty):
3198        * dom/DatasetDOMStringMap.cpp:
3199        (WebCore::DatasetDOMStringMap::deleteItem):
3200        * dom/DatasetDOMStringMap.h:
3201
32022014-02-14  Benjamin Poulain  <bpoulain@apple.com>
3203
3204        Improve the performance on mobile of FTPDirectoryDocument
3205        https://bugs.webkit.org/show_bug.cgi?id=128778
3206
3207        Reviewed by Antti Koivisto.
3208
3209        Little cleanup.
3210
3211        * html/FTPDirectoryDocument.cpp:
3212        (WebCore::FTPDirectoryDocumentParser::appendEntry):
3213        (WebCore::FTPDirectoryDocumentParser::createTDForFilename):
3214        (WebCore::processFilesizeString):
3215        (WebCore::wasLastDayOfMonth):
3216        (WebCore::processFileDateString):
3217        (WebCore::FTPDirectoryDocumentParser::parseAndAppendOneLine):
3218        (WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate):
3219        (WebCore::FTPDirectoryDocumentParser::createBasicDocument):
3220
32212014-02-14  Benjamin Poulain  <benjamin@webkit.org>
3222
3223        Do not attempt to synchronize attributes when no Simple Selector could match an animatable attribute
3224        https://bugs.webkit.org/show_bug.cgi?id=128728
3225
3226        Reviewed by Andreas Kling.
3227
3228        In most cases, we don't even need to test for the flag animatedSVGAttributesNotDirty.
3229        If the selector filter could never match an animatable attribute, there is no point in testing for one.
3230
3231        * cssjit/SelectorCompiler.cpp:
3232        (WebCore::SelectorCompiler::canMatchStyleAttribute):
3233        Skip the second test when the local name is equal to canonicalLocalName. That is the common case.
3234
3235        (WebCore::SelectorCompiler::canMatchAnimatableSVGAttribute):
3236        (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributesMatching):
3237
3238        * svg/SVGElement.cpp:
3239        (WebCore::addQualifiedName):
3240        (WebCore::SVGElement::animatableAttributeForName):
3241        (WebCore::SVGElement::isAnimatableAttribute):
3242        (WebCore::SVGElement::filterOutAnimatableAttribute):
3243        * svg/SVGElement.h:
3244        * svg/SVGScriptElement.cpp:
3245        (WebCore::SVGScriptElement::filterOutAnimatableAttribute):
3246        * svg/SVGScriptElement.h:
3247        Move the list of animatable attribute to a static function available in Release.
3248        Selector matching is a lot more flexible than normal name matching. Since the local name must
3249        always match, it is used as a key to get the full QualifiedName to compare to the selector.
3250
3251        Separating the list of animatable attributes between Selectors and SVGElement::isAnimatableAttribute
3252        would be error prone. Instead, SVGElement::isAnimatableAttribute() is modified to use
3253        SVGElement::animatableAttributeForName so that the two never get out of sync.
3254
3255        Since SVGScriptElement has one additional restriction to isAnimatableAttribute(), the function
3256        filterOutAnimatableAttribute() is added to remove a qualified name from the complete list of animatable attributes.
3257        This ensure SVGElement::animatableAttributeForName() always has the complete list, and subclasses of SVGElement
3258        can only remove QualifiedNames, not add them.
3259
32602014-02-14  Benjamin Poulain  <benjamin@webkit.org>
3261
3262        Make code generation of the unoptimized pseudo classes separate
3263        https://bugs.webkit.org/show_bug.cgi?id=128704
3264
3265        Reviewed by Andreas Kling.
3266
3267        Mapping the unoptimized selectors when generating the code was useful for debugging
3268        but those cases are so common that looping over unoptimizedPseudoCheckers was more
3269        costly than anticipated.
3270
3271        This patch moves the unoptimized pseudo selector in their own array to simplify code generation.
3272
3273        * cssjit/SelectorCompiler.cpp:
3274        (WebCore::SelectorCompiler::addPseudoType):
3275        (WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
3276        (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
3277
32782014-02-14  Myles C. Maxfield  <mmaxfield@apple.com>
3279
3280        Implement text-decoration-skip: auto
3281        https://bugs.webkit.org/show_bug.cgi?id=128786
3282
3283        Reviewed by Dean Jackson.
3284
3285        http://lists.w3.org/Archives/Public/www-style/2014Feb/0485.html
3286        We are updating the initial value of text-decoration-skip to a new value, "auto".
3287        On Mac + iOS, this will have the same behavior as "skip".
3288
3289        Test: fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-default.html
3290
3291        * css/CSSComputedStyleDeclaration.cpp:
3292        (WebCore::renderTextDecorationSkipFlagsToCSSValue):
3293        * css/CSSParser.cpp:
3294        (WebCore::CSSParser::parseTextDecorationSkip):
3295        * css/DeprecatedStyleBuilder.cpp:
3296        (WebCore::valueToDecorationSkip):
3297        * rendering/InlineTextBox.cpp:
3298        (WebCore::InlineTextBox::paintDecoration):
3299        * rendering/style/RenderStyle.h:
3300        * rendering/style/RenderStyleConstants.h:
3301
33022014-02-13  Simon Fraser  <simon.fraser@apple.com>
3303
3304        Give ScrollingTree(State)Nodes a reference to another layer, which is used for moving overflow:scroll contents around
3305        https://bugs.webkit.org/show_bug.cgi?id=128790
3306
3307        Reviewed by Beth Dakin.
3308
3309        Have scrolling tree nodes and state nodes track another layer, the
3310        "scrolled contents layer", for accelerated overflow:scroll.
3311        
3312        When making ScrollingTreeScrollingNodes for overflow:scroll, the node's
3313        layer will point to the composited element's primary layer, and its
3314        scrolledContentsLayer to the layer that gets moved around by scrolling.
3315        
3316        Do some other cleanup on AsyncScrollingCoordinator, removing
3317        functions that just called through to nodes.
3318
3319        * WebCore.exp.in:
3320        * page/scrolling/AsyncScrollingCoordinator.cpp:
3321        (WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated):
3322        (WebCore::AsyncScrollingCoordinator::frameViewNonFastScrollableRegionChanged):
3323        (WebCore::AsyncScrollingCoordinator::frameViewRootLayerDidChange):
3324        (WebCore::AsyncScrollingCoordinator::updateScrollingNode):
3325        (WebCore::AsyncScrollingCoordinator::updateViewportConstrainedNode):
3326        (WebCore::AsyncScrollingCoordinator::recomputeWheelEventHandlerCountForFrameView):
3327        * page/scrolling/AsyncScrollingCoordinator.h:
3328        * page/scrolling/ScrollingCoordinator.h:
3329        (WebCore::ScrollingCoordinator::updateScrollingNode):
3330        * page/scrolling/ScrollingStateScrollingNode.cpp:
3331        (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
3332        (WebCore::ScrollingStateScrollingNode::setScrolledContentsLayer):
3333        (WebCore::ScrollingStateScrollingNode::setCounterScrollingLayer):
3334        (WebCore::ScrollingStateScrollingNode::setHeaderLayer):
3335        (WebCore::ScrollingStateScrollingNode::setFooterLayer):
3336        * page/scrolling/ScrollingStateScrollingNode.h:
3337        * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.h:
3338        * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm:
3339        (WebCore::ScrollingTreeScrollingNodeIOS::updateBeforeChildren):
3340        * page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
3341        * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
3342        (WebCore::ScrollingTreeScrollingNodeMac::updateBeforeChildren):
3343        * rendering/RenderLayerCompositor.cpp:
3344        (WebCore::RenderLayerCompositor::fixedRootBackgroundLayerChanged):
3345
33462014-02-14  Chris Fleizach  <cfleizach@apple.com>
3347
3348        AX: WebKit needs heuristics to differentiate lists used for layout from semantic data lists, similar to the heuristics for layout tables versus data tables.
3349        https://bugs.webkit.org/show_bug.cgi?id=122320
3350
3351        Reviewed by Mario Sanchez Prada.
3352
3353        Many authors use lists for layout, rather than presenting data. Exposing these kinds of lists to accessibility users
3354        makes the web harder to process and listen, while degrading the importance of real lists.
3355
3356        This introduces heuristics to filter out layout lists with the following:
3357           1. If it's a named list, like ol or aria=list, then it's a list.
3358             1a. Unless the list has no children, then it's not a list.
3359           2. If it displays visible list markers, it's a list.
3360           3. If it does not display list markers and has only one child, it's not a list.
3361           4. If it does not have any listitem children, it's not a list.
3362           5. Otherwise it's a list (for now).
3363
3364        Test: accessibility/list-detection.html
3365
3366        * accessibility/AccessibilityList.cpp:
3367        (WebCore::AccessibilityList::determineAccessibilityRole):
3368        (WebCore::AccessibilityList::roleValue):
3369        * accessibility/AccessibilityList.h:
3370
33712014-02-14  Brendan Long  <b.long@cablelabs.com>
3372
3373        Use AtomicString arguments in TrackPrivateBaseClient callbacks
3374        https://bugs.webkit.org/show_bug.cgi?id=128765
3375
3376        Reviewed by Eric Carlson.
3377
3378        No new tests because this doesn't change functionality.
3379
3380        * html/track/AudioTrack.cpp:
3381        (WebCore::AudioTrack::idChanged):
3382        (WebCore::AudioTrack::labelChanged):
3383        (WebCore::AudioTrack::languageChanged):
3384        * html/track/AudioTrack.h:
3385        * html/track/InbandTextTrack.cpp:
3386        (WebCore::InbandTextTrack::InbandTextTrack):
3387        (WebCore::InbandTextTrack::idChanged):
3388        (WebCore::InbandTextTrack::labelChanged):
3389        (WebCore::InbandTextTrack::languageChanged):
3390        * html/track/InbandTextTrack.h:
3391        * html/track/VideoTrack.cpp:
3392        (WebCore::VideoTrack::idChanged):
3393        (WebCore::VideoTrack::labelChanged):
3394        (WebCore::VideoTrack::languageChanged):
3395        * html/track/VideoTrack.h:
3396        * platform/graphics/TrackPrivateBase.h:
3397
33982014-02-14  Renata Hodovan  <rhodovan.u-szeged@partner.samsung.com>
3399
3400        ASSERTION FAILED: comparePositions(newEnd, newStart) >= 0 in WebCore::ApplyStyleCommand::updateStartEnd
3401        https://bugs.webkit.org/show_bug.cgi?id=121791
3402
3403        Reviewed by Darin Adler.
3404
3405        If WebCore::ApplyStyleCommand::applyBlockStyle() creates a TextIterator for a range
3406        that has an element with ReplacedElement rendering object, then a ',' is emitted in the
3407        constructor of TextIterator. Due to this comma the end of the run range can be at the
3408        wrong position, what makes the assertion fire. This situation can be handled the same
3409        way in TextIterator::rangeFromLocationAndLength() as we do in case of the emitted '\n's.
3410
3411        Test: editing/execCommand/remove-formatting-from-iframe-in-button.html
3412
3413        * editing/TextIterator.cpp:
3414        (WebCore::TextIterator::rangeFromLocationAndLength):
3415
34162014-02-14  Andrei Bucur  <abucur@adobe.com>
3417
3418        [CSS Regions] visibility: hidden on a region should hide its content
3419        https://bugs.webkit.org/show_bug.cgi?id=128814
3420
3421        Reviewed by Mihnea Ovidenie.
3422
3423        The patch properly checks that the content of a region layer should be painted before actually
3424        calling the paint function (for example, when visibility: hidden is specified on a region, its
3425        content should be hidden).
3426
3427        Test: fast/regions/visibility-hidden.html
3428
3429        * rendering/RenderLayer.cpp:
3430        (WebCore::RenderLayer::paintLayerContents):
3431
34322014-02-14  László Langó  <llango.u-szeged@partner.samsung.com>
3433
3434        Follow-up fix after r164036.
3435
3436        Reviewed by Csaba Osztrogonác.
3437
3438        * dom/Document.cpp:
3439        (WebCore::Document::create):
3440
34412014-02-13  Byungseon Shin  <sun.shin@lge.com>
3442
3443        [MSE] Move PublicURLManager shutdown logic so ActiveDOMObjects associated with public URLs won't leak.
3444        https://bugs.webkit.org/show_bug.cgi?id=128532
3445
3446        Reviewed by Jer Noble.
3447
3448        This fixes a leak of DOM objects by breaking the circular reference 
3449        between Document, PublicURLManager, and MediaSource. 
3450        Instead of clearing PublicURLManager at destruction-time, 
3451        which is delayed indefinitely because of the circular reference, 
3452        clear the PublicURLManager during ActiveDOMObject::stop().
3453
3454        Frome Blink r151890 by <acolwell@chromium.org>
3455        <https://src.chromium.org/viewvc/blink?view=rev&revision=151890>
3456
3457        * dom/ScriptExecutionContext.cpp:
3458        (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
3459        (WebCore::ScriptExecutionContext::publicURLManager):
3460        * html/DOMURL.h:
3461        * html/PublicURLManager.cpp:
3462        (WebCore::PublicURLManager::create):
3463        (WebCore::PublicURLManager::PublicURLManager):
3464        (WebCore::PublicURLManager::registerURL):
3465        (WebCore::PublicURLManager::stop):
3466        * html/PublicURLManager.h:
3467
34682014-02-13  Myles C. Maxfield  <mmaxfield@apple.com>
3469
3470        Remove position:sticky runtime flag
3471        https://bugs.webkit.org/show_bug.cgi?id=128774
3472
3473        Reviewed by Simon Fraser.
3474
3475        Rollout of r128663
3476
3477        No new tests are necessary because there is no behavior change.
3478
3479        * css/CSSParser.cpp:
3480        (WebCore::CSSParserContext::CSSParserContext):
3481        (WebCore::operator==):
3482        (WebCore::isValidKeywordPropertyAndValue):
3483        * css/CSSParserMode.h:
3484        * dom/Document.cpp:
3485        * dom/Document.h:
3486        * page/Settings.cpp:
3487        (WebCore::Settings::Settings):
3488        * page/Settings.h:
3489
34902014-02-04  Gustavo Noronha Silva  <gns@gnome.org>
3491
3492        [GTK][CMake] Generate GObject DOM bindings .symbols files
3493        https://bugs.webkit.org/show_bug.cgi?id=126210
3494
3495        Reviewed by Martin Robinson.
3496
3497        No new tests. Build change only.
3498
3499        * CMakeLists.txt: list Quota module files and IDLs even if the feature
3500        is disabled, for GTK, since we rely on that for our DOM bindings.
3501        * PlatformGTK.cmake: add a new target to check for DOM symbols API by
3502        running the new python script.
3503        * bindings/gobject/GNUmakefile.am: call the new python script instead
3504        of using a custom rule.
3505
35062014-02-13  Myles C. Maxfield  <mmaxfield@apple.com>
3507
3508        text-decoration-skip: ink skips randomly when using SVG fonts
3509        https://bugs.webkit.org/show_bug.cgi?id=128709
3510
3511        Reviewed by Simon Fraser.
3512
3513        This patch simply disables skipping underlines being used with SVG fonts.
3514        It's a stopgap until we can support skipping properly with SVG fonts.
3515
3516        Test: svg/custom/svg-fonts-skip-ink.html
3517
3518        * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
3519        (WebCore::FontPlatformData::ctFont):
3520        * platform/graphics/mac/FontMac.mm:
3521        (WebCore::Font::dashesForIntersectionsWithRect):
3522
35232014-02-13  Daniel Bates  <dabates@apple.com>
3524
3525        Fix the ARM build when HAVE_ARM_NEON_INTRINSICS is enabled
3526
3527        Add !HAVE(ARM_NEON_INTRINSICS)-guard around file-level inline function arithmeticSoftware to
3528        avoid an unused function compiler warning when building with ARM Neon intrinsics.
3529
3530        * platform/graphics/filters/FEComposite.cpp:
3531
35322014-02-13  Brady Eidson  <beidson@apple.com>
3533
3534        IDB: Three tests crash the DatabaseProcess under ~KeyedDecoder
3535        https://bugs.webkit.org/show_bug.cgi?id=128763
3536
3537        Reviewed by Anders Carlsson.
3538
3539        No new tests (Covered by three existing tests)
3540
3541        * platform/KeyedCoding.h:
3542        (WebCore::KeyedEncoder::encodeObjects): If the array is empty we still have to begin() and end() it.
3543
35442014-02-13  Yuki Sekiguchi  <yuki.sekiguchi@access-company.com>
3545
3546        [css3-text] Support -webkit-text-decoration-skip: objects
3547        https://bugs.webkit.org/show_bug.cgi?id=128723
3548
3549        Reviewed by Dean Jackson.
3550
3551        Implemented 'objects' value of text-decoration-skip.
3552        http://www.w3.org/TR/2013/CR-css-text-decor-3-20130801/#text-decoration-skip
3553
3554        This is initial value and same behavior without
3555        ENABLE_CSS3_TEXT_DECORATION_SKIP_INK flag. Threfore, this patch only
3556        added parser code and constant for 'objects'.
3557
3558        Changed the initial value of text-decoration-skip.
3559
3560        The current implementation parses 'none', but the rendering code is
3561        not match the spec, so this patch added FIXME to the rendering code.
3562
3563        * css/CSSComputedStyleDeclaration.cpp:
3564        (WebCore::renderTextDecorationSkipFlagsToCSSValue):
3565        * css/CSSParser.cpp:
3566        (WebCore::CSSParser::parseTextDecorationSkip):
3567        * css/CSSValueKeywords.in:
3568        * css/DeprecatedStyleBuilder.cpp:
3569        (WebCore::valueToDecorationSkip):
3570        * rendering/InlineTextBox.cpp:
3571        (WebCore::InlineTextBox::paintDecoration):
3572        * rendering/style/RenderStyle.h:
3573        * rendering/style/RenderStyleConstants.h:
3574
35752014-02-13  Daniel Bates  <dabates@apple.com>
3576
3577        Fix ARM NEON build following <http://trac.webkit.org/changeset/164058>
3578        (https://bugs.webkit.org/show_bug.cgi?id=128767)
3579
3580        I inadvertently didn't include header NEONHelpers.h, which defines WebCore::loadRGBA8AsFloat().
3581
3582        * platform/graphics/cpu/arm/filters/FECompositeArithmeticNEON.h:
3583
35842014-02-13  Daniel Bates  <dabates@apple.com>
3585
3586        Write FEComposite::computeArithmeticPixelsNeon() in terms of loadRGBA8AsFloat()
3587        https://bugs.webkit.org/show_bug.cgi?id=128767
3588
3589        Reviewed by Dean Jackson.
3590
3591        This patch was inspired by Gabor Rapcsanyi's work in <https://bugs.webkit.org/show_bug.cgi?id=90669>.
3592
3593        Currently we duplicate code in FEComposite::computeArithmeticPixelsNeon() to read pixel data.
3594        Instead we should use the convenience function WebCore::loadRGBA8AsFloat. This also resolves
3595        an uninitialized variable compiler warning in the existing code.
3596
3597        * platform/graphics/cpu/arm/filters/FECompositeArithmeticNEON.h:
3598        (WebCore::FEComposite::computeArithmeticPixelsNeon):
3599
36002014-02-13  Myles C. Maxfield  <mmaxfield@apple.com>
3601
3602        During a copy, position:fixed gets converted to position:absolute even if only part of the document is selected
3603        https://bugs.webkit.org/show_bug.cgi?id=128688
3604
3605        Reviewed by Ryosuke Niwa.
3606
3607        Adds a field, m_needsPositionStyleConversion, to StyledMarkupAccumulator.
3608
3609        Also, renames the ConvertPositionStyleOnCopy setting to ShouldConvertPositionStyleOnCopy
3610
3611        Test: editing/pasteboard/copy-paste-doesnt-convert-sticky-and-fixed-during-partial-copy.html
3612
3613        * editing/markup.cpp:
3614        (WebCore::StyledMarkupAccumulator::StyledMarkupAccumulator):
3615        (WebCore::StyledMarkupAccumulator::appendElement):
3616        (WebCore::createMarkupInternal):
3617        * page/Settings.in:
3618        * testing/InternalSettings.cpp:
3619        (WebCore::InternalSettings::Backup::Backup):
3620        (WebCore::InternalSettings::Backup::restoreTo):
3621        (WebCore::InternalSettings::setShouldConvertPositionStyleOnCopy):
3622        * testing/InternalSettings.h:
3623        * testing/InternalSettings.idl:
3624
36252014-02-12  Timothy Hatcher  <timothy@apple.com>
3626
3627        Enable inspection of recently used IndexedDB databases.
3628
3629        https://bugs.webkit.org/show_bug.cgi?id=128687
3630
3631        Reviewed by Brady Eidson & Joseph Pecoraro.
3632
3633        * Modules/indexeddb/IDBFactory.cpp:
3634        (WebCore::IDBFactory::getDatabaseNames):
3635        * Modules/indexeddb/IDBFactoryBackendInterface.h:
3636        * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
3637        (WebCore::IDBFactoryBackendLevelDB::getDatabaseNames):
3638        * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
3639        Fix up the arguments passed to getDatabaseNames.
3640
3641        * WebCore.xcodeproj/project.pbxproj:
3642        Make DOMStringList.h private so WebKit2 can use it.
3643
3644        * inspector/InspectorIndexedDBAgent.cpp:
3645        Modernize the loops and remove some PLATFORM(COCOA) ifdefs to
3646        compile the code. 
3647
3648        * inspector/protocol/IndexedDB.json: Use number for version to
3649        allow larger values instead of clamping to int.
3650
36512014-02-13  Chang Shu  <cshu@webkit.org>
3652
3653        Copying (createMarkup) wrapping text results in space between wrapped lines stripped.
3654        https://bugs.webkit.org/show_bug.cgi?id=63233
3655
3656        The problem is StyledMarkupAccumulator uses renderedText and the space at
3657        the end of the text has been stripped when the tag after the text was wrapped.
3658
3659        Reviewed by Ryosuke Niwa.
3660
3661        Test: editing/pasteboard/copy-text-with-wrapped-tag.html
3662
3663        * editing/TextIterator.cpp:
3664        (WebCore::TextIterator::TextIterator):
3665        (WebCore::TextIterator::handleTextBox):
3666        * editing/TextIterator.h:
3667        Check the special case when the iterator runs over a range that is followed by a non-text box.
3668        In this case, the possible last space has been collapsed and needs to be restored.
3669        * editing/markup.cpp:
3670        (WebCore::StyledMarkupAccumulator::renderedText):
3671        Check if the range is followed by more nodes and pass this information to the constructed TextIterator.
3672
36732014-02-13  Myles C. Maxfield  <mmaxfield@apple.com>
3674
3675        Gaps for text-decoration-skip: ink are calculated assuming the glyph orientation is the same as the run orientation
3676        https://bugs.webkit.org/show_bug.cgi?id=128718
3677
3678        Reviewed by Darin Adler.
3679
3680        This is a stop-gap patch to make underlines in CJK text not look terrible. A long-term fix is to refactor
3681        showGlyphsWithAdvances to move rotation logic into a common place that the text-decoration-skip: ink code
3682        can use.
3683
3684        Test: fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-orientation-upright.html
3685
3686        * rendering/InlineTextBox.cpp:
3687        (WebCore::InlineTextBox::paintDecoration):
3688
36892014-02-13  Andreas Kling  <akling@apple.com>
3690
3691        InsertIntoTextNodeCommand should get Settings from the Frame.
3692        <https://webkit.org/b/128678>
3693
3694        EditCommands have a frame() accessor that returns a reference,
3695        so there's no need to go through Document.
3696
3697        Reviewed by Anders Carlsson.
3698
3699        * editing/InsertIntoTextNodeCommand.cpp:
3700        (WebCore::InsertIntoTextNodeCommand::doApply):
3701
37022014-02-13  László Langó  <llango.u-szeged@partner.samsung.com>
3703
3704        Document should be constructable
3705        https://bugs.webkit.org/show_bug.cgi?id=115643
3706
3707        Reviewed by Darin Adler.
3708
3709        http://www.w3.org/TR/2014/WD-dom-20140204/#interface-document
3710        Make Document constructable so that one can do "new Document"
3711        instead of "document.implementation.createHTMLDocument('')".
3712
3713        Test: fast/dom/Document/document-constructor.html
3714
3715        * dom/Document.cpp:
3716        (WebCore::Document::create):
3717        (WebCore::Document::origin):
3718        * dom/Document.h:
3719        * dom/Document.idl:
3720
37212014-02-13  Javier Fernandez  <jfernandez@igalia.com>
3722
3723        [CSS Grid Layout] Rename named areas property
3724        https://bugs.webkit.org/show_bug.cgi?id=127990
3725
3726        Reviewed by Sergio Villar Senin.
3727
3728        From Blink r165891 by <rego@igalia.com>
3729
3730        The property 'grid-template' has been renamed to 'grid-template-areas'
3731        in the last two versions of the spec.
3732
3733        * CMakeLists.txt:
3734        * GNUmakefile.list.am:
3735        * WebCore.vcxproj/WebCore.vcxproj:
3736        * WebCore.vcxproj/WebCore.vcxproj.filters:
3737        * WebCore.xcodeproj/project.pbxproj:
3738        * css/CSSComputedStyleDeclaration.cpp:
3739        (WebCore::ComputedStyleExtractor::propertyValue):
3740        * css/CSSGridTemplateAreasValue.cpp: Renamed from Source/WebCore/css/CSSGridTemplateValue.cpp.
3741        (WebCore::CSSGridTemplateAreasValue::CSSGridTemplateAreasValue):
3742        (WebCore::stringForPosition):
3743        (WebCore::CSSGridTemplateAreasValue::customCSSText):
3744        * css/CSSGridTemplateAreasValue.h: Renamed from Source/WebCore/css/CSSGridTemplateValue.h.
3745        (WebCore::CSSGridTemplateAreasValue::create):
3746        (WebCore::CSSGridTemplateAreasValue::~CSSGridTemplateAreasValue):
3747        (WebCore::CSSGridTemplateAreasValue::gridAreaMap):
3748        (WebCore::CSSGridTemplateAreasValue::rowCount):
3749        (WebCore::CSSGridTemplateAreasValue::columnCount):
3750        * css/CSSParser.cpp:
3751        (WebCore::CSSParser::parseValue):
3752        (WebCore::CSSParser::parseGridTemplateAreas):
3753        * css/CSSParser.h:
3754        * css/CSSPropertyNames.in:
3755        * css/CSSValue.cpp:
3756        (WebCore::CSSValue::equals):
3757        (WebCore::CSSValue::cssText):
3758        (WebCore::CSSValue::destroy):
3759        * css/CSSValue.h:
3760        (WebCore::CSSValue::isGridTemplateAreasValue):
3761        * css/StyleResolver.cpp:
3762        (WebCore::StyleResolver::applyProperty):
3763
37642014-02-13  Adrian Bunk  <bunk@stusta.de>
3765
3766        Remove the last remnants of Maemo support
3767        https://bugs.webkit.org/show_bug.cgi?id=85238
3768
3769        Reviewed by Ryosuke Niwa.
3770
3771        * plugins/npapi.h:
3772
37732014-02-13  ChangSeok Oh  <changseok.oh@collabora.com>
3774
3775        Support ANGLE_instanced_arrays for GLES backend.
3776        https://bugs.webkit.org/show_bug.cgi?id=128579
3777
3778        Reviewed by Dean Jackson.
3779
3780        Add some APIs to Extensions3D to support ANGLE_instanced_arrays for GLES backend.
3781        At the same time, drawArraysInstanced, drawElementsInstanced and vertexAttribDivisor
3782        are moved from GC3DOpenGL.cpp to GC3DOpenGLCommon.cpp since they could be shareable
3783        through Extensions3D.
3784
3785        Covered by fast/canvas/webgl/angle-instanced-arrays.html
3786
3787        * platform/graphics/Extensions3D.h:
3788        * platform/graphics/opengl/Extensions3DOpenGL.cpp:
3789        (WebCore::Extensions3DOpenGL::drawArraysInstanced):
3790        (WebCore::Extensions3DOpenGL::drawElementsInstanced):
3791        (WebCore::Extensions3DOpenGL::vertexAttribDivisor):
3792        * platform/graphics/opengl/Extensions3DOpenGL.h:
3793        * platform/graphics/opengl/Extensions3DOpenGLES.cpp:
3794        (WebCore::Extensions3DOpenGLES::Extensions3DOpenGLES):
3795        (WebCore::Extensions3DOpenGLES::drawArraysInstanced):
3796        (WebCore::Extensions3DOpenGLES::drawElementsInstanced):
3797        (WebCore::Extensions3DOpenGLES::vertexAttribDivisor):
3798        (WebCore::Extensions3DOpenGLES::supportsExtension):
3799        * platform/graphics/opengl/Extensions3DOpenGLES.h:
3800        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
3801        * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
3802        (WebCore::GraphicsContext3D::drawArraysInstanced):
3803        (WebCore::GraphicsContext3D::drawElementsInstanced):
3804        (WebCore::GraphicsContext3D::vertexAttribDivisor):
3805        * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
3806
38072014-02-13  Xabier Rodriguez Calvar  <calvaris@igalia.com>
3808
3809        [GTK] MEDIA_CONTROLS_SCRIPT support
3810        https://bugs.webkit.org/show_bug.cgi?id=123097
3811
3812        Reviewed by Jer Noble.
3813
3814        WebKitGTK+ multimedia controls are now managed from Javascript
3815        code. Apple controls are kept as common code and GTK+ ones are
3816        subclassed for the specific behavior.
3817
3818        Both CMake and Autotools build support is provided.
3819
3820        * CMakeLists.txt: Added support to build the media controls
3821        script and their associated files.
3822        * GNUmakefile.am: Added support to generate the C++ code from the
3823        Javascript.
3824        * GNUmakefile.list.am: Added the media controls script associated
3825        files.
3826        * Modules/mediacontrols/MediaControlsHost.cpp:
3827        * Modules/mediacontrols/MediaControlsHost.h:
3828        * Modules/mediacontrols/MediaControlsHost.idl:
3829        (WebCore::MediaControlsHost::supportsFullscreen): Added attribute
3830        to know if the element supports fullscreen.
3831        * Modules/mediacontrols/mediaControlsApple.js:
3832        (Controller.prototype.handleWrapperMouseMove):
3833        (Controller.prototype.handleWrapperMouseOut):
3834        (Controller.prototype.updatePlaying): Use clear and
3835        resetHideControlsTimer.
3836        (Controller.prototype.clearHideControlsTimer): Added.
3837        (Controller.prototype.resetHideControlsTimer): Added.
3838        * Modules/mediacontrols/mediaControlsGtk.js: Added.
3839        (createControls): Calls ControllerGtk.
3840        (ControllerGtk): Calls the superclass.
3841        (contains): Defines a function to know if an object is contained
3842        in an array.
3843        (ControllerGtk.prototype.inheritFrom): Copies the method of the
3844        superclass that are not reimplemented in the subclass.
3845        (ControllerGtk.prototype.createControls): Calls the superclass and
3846        create the remaining needed elements.
3847        (ControllerGtk.prototype.configureInlineControls): Configures the
3848        controls.
3849        (ControllerGtk.prototype.setStatusHidden): Redefined empty.
3850        (ControllerGtk.prototype.updateTime): Writes the duration and
3851        current position. As it was so far, current time also includes
3852        duration. If current time is bigger than 0 we show that.
3853        (ControllerGtk.prototype.showCurrentTime): Shows current time and
3854        hides duration label (that is included in current time).
3855        (ControllerGtk.prototype.handlePlay): Calls the superclass and
3856        force showing the current time.
3857        (ControllerGtk.prototype.handleTimeUpdate): Always update the
3858        time.
3859        (ControllerGtk.prototype.handleMuteButtonMouseOver): Shows the
3860        volume slider.
3861        (ControllerGtk.prototype.handleVolumeBoxMouseOut): Hides the
3862        volume slider.
3863        (ControllerGtk.prototype.addControls): Adds the enclosure instead
3864        of the panel directly. Panel is, of course, part of the enclosure.
3865        (ControllerGtk.prototype.updateReadyState): Shows the fullscreen
3866        button only if fullscreen is supported. Sets the volume in up or
3867        down mode depending on its position in the document. Updates the
3868        volume.
3869        (ControllerGtk.prototype.setControlsType): Creates the controls it
3870        they were not created before. Unlike Apple ones, WebKitGTK+
3871        fullscreen and inline controls are the same.
3872        (ControllerGtk.prototype.updatePlaying): Calls the superclass and
3873        shows the controls if not playing.
3874        (ControllerGtk.prototype.handleCaptionButtonClicked): Redefined
3875        empty. To be coherent with volume, that also shows a popup, this
3876        is handled with mouseover instead of click.
3877        (ControllerGtk.prototype.buildCaptionMenu): Calls the superclass
3878        to build the menu, sets some listeners, centers the popup with the
3879        captions button, keeps the current height and sets the style to 0,
3880        which is needed to animate it.
3881        (ControllerGtk.prototype.destroyCaptionMenu): Hides the caption menu.
3882        (ControllerGtk.prototype.showCaptionMenu): Resets the height to
3883        its original. We don't animate it with CSS because we would need
3884        to specify a height in the style and we don't know it in advance.
3885        (ControllerGtk.prototype.hideCaptionMenu): Sets height to 0.
3886        (ControllerGtk.prototype.captionMenuTransitionEnd): When the
3887        captions menu transtition ends, it is destroyed.
3888        (ControllerGtk.prototype.handleCaptionButtonMouseOver): Creates
3889        the caption menu and shows it.
3890        (ControllerGtk.prototype.handleCaptionButtonMouseOut): Hides the
3891        captions menu.
3892        (ControllerGtk.prototype.handleCaptionMouseOut): Hides the
3893        captions menu.
3894        * PlatformGTK.cmake: Added WebCore to the target link libraries
3895        and initialized the variables needed at CMakelists.txt
3896        * css/mediaControlsGtk.css:
3897        (audio::-webkit-media-controls-panel)
3898        (video::-webkit-media-controls-panel): Added transtion based on opacity.
3899        (video::-webkit-media-controls-panel): Set video opacity to 0.
3900        (video::-webkit-media-controls-panel.paused): Set video opacity to 1.
3901        (audio::-webkit-media-controls-panel div.mute-box): Set the same
3902        style as the mute button to preserve the layout.
3903        (audio::-webkit-media-controls-panel div.mute-box.hidden): Sets
3904        the display to none.
3905        (audio::-webkit-media-controls-mute-button)
3906        (video::-webkit-media-controls-mute-button): Removed the outline
3907        and the margin that is managed by the mute box now.
3908        (audio::-webkit-media-controls-play-button)
3909        (video::-webkit-media-controls-play-button): Removed the outline.
3910        (audio::-webkit-media-controls-time-remaining-display)
3911        (video::-webkit-media-controls-time-remaining-display): Removed
3912        the display.
3913        (audio::-webkit-media-controls-current-time-display)
3914        (video::-webkit-media-controls-current-time-display): Added the
3915        display block.
3916        (video::-webkit-media-controls-time-remaining-display): Set
3917        display none.
3918        (video::-webkit-media-controls-time-remaining-display.show): Set
3919        display block.
3920        (video::-webkit-media-controls-time-remaining-display.hidden): Set
3921        display none.
3922        (audio::-webkit-media-controls-timeline)
3923        (video::-webkit-media-controls-timeline): Removed outline.
3924        (audio::-webkit-media-controls-volume-slider-container)
3925        (video::-webkit-media-controls-volume-slider-container): Set
3926        overflow hidden and set a transition by height.
3927        (video::-webkit-media-controls-volume-slider-container.hidden):
3928        Set height 0.
3929        (video::-webkit-media-controls-volume-slider-container.down): Set
3930        bottom to be below the panel. Changed the border radius and
3931        transition accordingly.
3932        (video::-webkit-media-controls-panel .hidden.down): Sets default
3933        bottom as 0.
3934        (audio::-webkit-media-controls-volume-slider)
3935        (video::-webkit-media-controls-volume-slider): Removed the outline.
3936        (audio::-webkit-media-controls-toggle-closed-captions-button)
3937        (video::-webkit-media-controls-toggle-closed-captions-button):
3938        Removed the background that is painted from C++ and removed the
3939        outline.
3940        (video::-webkit-media-controls-closed-captions-container):
3941        (video::-webkit-media-controls-closed-captions-container h3):
3942        (video::-webkit-media-controls-closed-captions-container ul):
3943        (video::-webkit-media-controls-closed-captions-container li):
3944        (video::-webkit-media-controls-closed-captions-container li.selected): Changed
3945        the style to make it more coherent with the rest of the controls.
3946        (audio::-webkit-media-controls-fullscreen-button)
3947        (video::-webkit-media-controls-fullscreen-button): Removed the outline.
3948        (audio::-webkit-media-controls-panel button.hidden): Sets the
3949        display to none.
3950        * html/HTMLMediaElement.cpp: UserAgentScripts.h is not needed here
3951        and build cmake build would need for changes to get this compiled.
3952        * platform/gtk/RenderThemeGtk.cpp:
3953        (WebCore::nodeHasPseudo): Added. Checks if a node has a certain
3954        pseudo.
3955        (WebCore::nodeHasClass): Added. Checks if a node has a certain
3956        class.
3957        (WebCore::supportsFocus): Removed some element types as outline is
3958        now handled in CSS.
3959        (WebCore::RenderThemeGtk::paintMediaPlayButton): Checks if the
3960        play button has the class paused to show the play icon instead of
3961        the pause one.
3962        (WebCore::RenderThemeGtk::paintMediaToggleClosedCaptionsButton):
3963        Added. Paints the captions icon.
3964        (WebCore::RenderThemeGtk::mediaControlsScript): Added. Loads the
3965        bundled scripts.
3966        * platform/gtk/RenderThemeGtk.h: Added the mediaControlsScript
3967        method and declared the redefinition of the method to play the
3968        captions icon.
3969
39702014-02-11  Alexey Proskuryakov  <ap@apple.com>
3971
3972        Don't crash when SerializedScriptValue deserialization fails
3973        https://bugs.webkit.org/show_bug.cgi?id=128657
3974
3975        Reviewed by Oliver Hunt.
3976
3977        Test: crypto/subtle/postMessage-worker.html
3978
3979        * bindings/js/JSMessageEventCustom.cpp: (WebCore::JSMessageEvent::data): Added a FIXME.
3980
3981        * bindings/js/SerializedScriptValue.cpp:
3982        (WebCore::CloneBase::fail): Don't assert on failure.
3983        (WebCore::SerializedScriptValue::deserialize): Never return a null JSValue, these
3984        are not allowed.
3985
39862014-02-12  Bem Jones-Bey  <bjonesbe@adobe.com>
3987
3988        [CSS Shapes] Rename shapeSize and others to make ShapeInfo and friends easier to understand
3989        https://bugs.webkit.org/show_bug.cgi?id=128685
3990
3991        Reviewed by Alexandru Chiculita.
3992
3993        The ShapeInfo hierarchy has grown organically as the spec has changed,
3994        and the naming has become very stale and confusing. The spec is now in
3995        Last Call, so it seems like a good time to take a stab towards better
3996        naming that matches the spec terminology and is also more consistent
3997        in general.
3998
3999        No new tests, no behavior change.
4000
4001        * rendering/RenderBlock.cpp:
4002        (WebCore::RenderBlock::imageChanged): Use new names.
4003        (WebCore::RenderBlock::updateShapeInsideInfoAfterStyleChange): Ditto.
4004        (WebCore::shapeInfoRequiresRelayout): Ditto.
4005        (WebCore::RenderBlock::computeShapeSize): Ditto.
4006        (WebCore::RenderBlock::updateShapesAfterBlockLayout): Ditto.
4007        * rendering/RenderBlock.h:
4008        (WebCore::RenderBlock::logicalSizeForChild): This method makes it much
4009            cleaner to set the reference box size.
4010        * rendering/RenderBlockFlow.cpp:
4011        (WebCore::RenderBlockFlow::positionNewFloats): Use new names.
4012        * rendering/RenderBox.cpp:
4013        (WebCore::RenderBox::updateShapeOutsideInfoAfterStyleChange): Ditto.
4014        (WebCore::RenderBox::imageChanged): Ditto.
4015        * rendering/shapes/ShapeInfo.cpp:
4016        (WebCore::getShapeImageMarginRect): Rename variables.
4017        (WebCore::ShapeInfo<RenderType>::computedShape): More renames.
4018        * rendering/shapes/ShapeInfo.h:
4019        (WebCore::ShapeInfo::setReferenceBoxLogicalSize): Renamed from
4020            setShapeSize.
4021        (WebCore::ShapeInfo::logicalLineTop): Use new names.
4022        (WebCore::ShapeInfo::logicalLineBottom): Ditto.
4023        (WebCore::ShapeInfo::shapeContainingBlockLogicalHeight): Ditto.
4024        (WebCore::ShapeInfo::markShapeAsDirty): Renamed from dirtyShapeSize.
4025        (WebCore::ShapeInfo::isShapeDirty): Renamed from shapeSizeDirty.
4026        (WebCore::ShapeInfo::referenceBoxLogicalSize): Renamed from shapeSize.
4027        (WebCore::ShapeInfo::logicalTopOffset): Use new names.
4028        (WebCore::ShapeInfo::logicalLeftOffset): Ditto.
4029        * rendering/shapes/ShapeInsideInfo.cpp:
4030        (WebCore::ShapeInsideInfo::updateSegmentsForLine): Ditto.
4031        (WebCore::ShapeInsideInfo::adjustLogicalLineTop): Ditto.
4032        (WebCore::ShapeInsideInfo::computeFirstFitPositionForFloat): Ditto.
4033        * rendering/shapes/ShapeInsideInfo.h:
4034        * rendering/shapes/ShapeOutsideInfo.cpp:
4035        (WebCore::ShapeOutsideInfo::updateDeltasForContainingBlockLine): Ditto.
4036        * rendering/shapes/ShapeOutsideInfo.h:
4037
40382014-02-12  Brent Fulgham  <bfulgham@apple.com>
4039
4040        REGRESSION: Crashing/Broken Tests Due To Unexpected 8-bit Character Data
4041        https://bugs.webkit.org/show_bug.cgi?id=128698
4042
4043        Reviewed by Tim Horton.
4044
4045        * platform/graphics/win/UniscribeController.cpp:
4046        (WebCore::UniscribeController::advance): Make 16-bit copy when needed.
4047        (WebCore::UniscribeController::shapeAndPlaceItem): Handle 8-bit case when checking
4048        for word boundaries.
4049
40502014-02-12  Benjamin Poulain  <bpoulain@apple.com>
4051
4052        Document::childrenChanged does not necessarily have a page
4053
4054        Rubber stamped by Enrica Casucci.
4055
4056        * dom/Document.cpp:
4057        (WebCore::Document::childrenChanged):
4058
40592014-02-12  Timothy Hatcher  <timothy@apple.com>
4060
4061        Add a missing ": " between the URL and exception in STDOUT logs.
4062
4063        https://bugs.webkit.org/show_bug.cgi?id=128689
4064
4065        Reviewed by Joseph Pecoraro.
4066
4067        * page/PageConsole.cpp:
4068        (WebCore::PageConsole::addMessage): Print ": " after calling
4069        printSourceURLAndPosition now that it does not print it for us.
4070
40712014-02-12  Enrica Casucci  <enrica@apple.com>
4072
4073        WK2: coordinate mapping for frames does not work when the page is scrolled.
4074        https://bugs.webkit.org/show_bug.cgi?id=128690
4075        <rdar://problem/16042925>
4076
4077        Reviewed by Simon Fraser.
4078
4079        We should not apply the scroll offset when using delegate scrolling.
4080
4081        * platform/ScrollView.cpp:
4082        (WebCore::ScrollView::rootViewToContents):
4083        (WebCore::ScrollView::contentsToRootView):
4084        (WebCore::ScrollView::rootViewToTotalContents):
4085
40862014-02-12  Joseph Pecoraro  <pecoraro@apple.com>
4087
4088        Web Inspector: Rename PageInjectedScript* to WebInjectedScript*
4089        https://bugs.webkit.org/show_bug.cgi?id=128660
4090
4091        Reviewed by Timothy Hatcher.
4092
4093        Rename the files update build systems and users.
4094
4095        * CMakeLists.txt:
4096        * GNUmakefile.list.am:
4097        * WebCore.vcxproj/WebCore.vcxproj:
4098        * WebCore.vcxproj/WebCore.vcxproj.filters:
4099        * WebCore.xcodeproj/project.pbxproj:
4100        * inspector/CommandLineAPIModule.cpp:
4101        (WebCore::CommandLineAPIModule::host):
4102        * inspector/InspectorAllInOne.cpp:
4103        * inspector/InspectorController.cpp:
4104        (WebCore::InspectorController::InspectorController):
4105        * inspector/InspectorController.h:
4106        * inspector/InspectorHeapProfilerAgent.cpp:
4107        (WebCore::InspectorHeapProfilerAgent::InspectorHeapProfilerAgent):
4108        * inspector/InspectorHeapProfilerAgent.h:
4109        * inspector/InspectorProfilerAgent.cpp:
4110        (WebCore::PageProfilerAgent::PageProfilerAgent):
4111        (WebCore::InspectorProfilerAgent::create):
4112        (WebCore::WorkerProfilerAgent::WorkerProfilerAgent):
4113        (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
4114        * inspector/InspectorProfilerAgent.h:
4115        * inspector/PageConsoleAgent.cpp:
4116        (WebCore::PageConsoleAgent::PageConsoleAgent):
4117        (WebCore::PageConsoleAgent::addInspectedNode):
4118        * inspector/PageConsoleAgent.h:
4119        * inspector/WebConsoleAgent.cpp:
4120        (WebCore::WebConsoleAgent::WebConsoleAgent):
4121        (WebCore::WebConsoleAgent::frameWindowDiscarded):
4122        (WebCore::WebConsoleAgent::addInspectedHeapObject):
4123        * inspector/WebConsoleAgent.h:
4124        * inspector/WebInjectedScriptHost.cpp: Renamed from Source/WebCore/inspector/PageInjectedScriptHost.cpp.
4125        (WebCore::WebInjectedScriptHost::type):
4126        (WebCore::WebInjectedScriptHost::isHTMLAllCollection):
4127        * inspector/WebInjectedScriptHost.h: Renamed from Source/WebCore/inspector/PageInjectedScriptHost.h.
4128        * inspector/WebInjectedScriptManager.cpp: Renamed from Source/WebCore/inspector/PageInjectedScriptManager.cpp.
4129        (WebCore::WebInjectedScriptManager::WebInjectedScriptManager):
4130        (WebCore::WebInjectedScriptManager::disconnect):
4131        (WebCore::WebInjectedScriptManager::didCreateInjectedScript):
4132        (WebCore::WebInjectedScriptManager::discardInjectedScriptsFor):
4133        * inspector/WebInjectedScriptManager.h: Renamed from Source/WebCore/inspector/PageInjectedScriptManager.h.
4134        * inspector/WorkerConsoleAgent.cpp:
4135        (WebCore::WorkerConsoleAgent::WorkerConsoleAgent):
4136        * inspector/WorkerConsoleAgent.h:
4137        * inspector/WorkerInspectorController.cpp:
4138        (WebCore::WorkerInspectorController::WorkerInspectorController):
4139        * inspector/WorkerInspectorController.h:
4140
41412014-02-12  Brent Fulgham  <bfulgham@apple.com>
4142
4143        Unreviewed iOS Build fix after r163975.
4144
4145        * page/EventHandler.cpp: Use wheel event stubs if !PLATFORM(MAC) || PLATFORM(IOS).
4146
41472014-02-12  Gavin Barraclough  <barraclough@apple.com>
4148
4149        Clean up PageThrottler interface
4150        https://bugs.webkit.org/show_bug.cgi?id=128677
4151
4152        Reviewed by Benjamin Poulain.
4153
4154        Currently, responsibility for throttling DOM timers & suspending animations is split
4155        between the Page & the PageThrottler. Clarify by making Page responsible for suspending
4156        animations (PageThrottler is now purely related to aspects of timer throttling), and
4157        move all timer throttling policy to the PageThrottler, with a single function on Page to
4158        enable (Page::setTimerThrottlingEnabled).
4159
4160        Also, transmit the full ViewState to the PageThrottler (not just the IsVisuallyIdle flag),
4161        and distinguish between media & page-load activity.
4162
4163        * WebCore.exp.in:
4164            - removed setDOMTimerAlignmentInterval.
4165        * html/HTMLMediaElement.cpp:
4166        (WebCore::HTMLMediaElement::parseAttribute):
4167            - createActivityToken -> mediaActivityToken
4168        * loader/FrameLoader.cpp:
4169        (WebCore::FrameLoader::started):
4170            - createActivityToken -> pageLoadActivityToken
4171        * page/Page.cpp:
4172        (WebCore::Page::Page):
4173            - added m_timerThrottlingEnabled, made PageThrottler a member
4174        (WebCore::Page::setIsVisuallyIdleInternal):
4175            - update animiation suspension.
4176        (WebCore::Page::setTimerThrottlingEnabled):
4177            - setTimerAlignmentInterval -> setTimerThrottlingEnabled
4178        (WebCore::Page::setViewState):
4179            - pass viewState to PageThrottler.
4180        (WebCore::Page::setIsVisibleInternal):
4181            - don't update timer throttling.
4182        * page/Page.h:
4183        (WebCore::Page::pageThrottler):
4184            - made PageThrottler a member.
4185        (WebCore::Page::timerAlignmentInterval):
4186            - inlined.
4187        * page/PageThrottler.cpp:
4188        (WebCore::PageThrottler::PageThrottler):
4189            - initialize ViewState.
4190        (WebCore::PageThrottler::~PageThrottler):
4191            - clean up by calling setTimerThrottlingEnabled directly.
4192        (WebCore::PageThrottler::hiddenPageDOMTimerThrottlingStateChanged):
4193            - moved from Page.
4194        (WebCore::PageThrottler::mediaActivityToken):
4195        (WebCore::PageThrottler::pageLoadActivityToken):
4196            - from Page::createActivityToken
4197        (WebCore::PageThrottler::throttlePage):
4198        (WebCore::PageThrottler::unthrottlePage):
4199            - don't throttle animations here.
4200        (WebCore::PageThrottler::setViewState):
4201        (WebCore::PageThrottler::setIsVisible):
4202            - added, throttle Dom timers.
4203        * page/PageThrottler.h:
4204        * page/Settings.cpp:
4205        (WebCore::Settings::setHiddenPageDOMTimerThrottlingEnabled):
4206            - removed setDOMTimerAlignmentInterval, hiddenPageDOMTimerThrottlingStateChanged moved to PageThrottler.
4207        * page/Settings.h:
4208            - removed setDOMTimerAlignmentInterval.
4209
42102014-02-12  Benjamin Poulain  <bpoulain@apple.com>
4211
4212        [WK2][iOS] Add back the special viewport for the old xhtml mobile doctype
4213        https://bugs.webkit.org/show_bug.cgi?id=128639
4214
4215        Reviewed by Andreas Kling.
4216
4217        * WebCore.exp.in:
4218        * dom/Document.cpp:
4219        (WebCore::Document::childrenChanged):
4220        Document::setDocType() has been removed and the doctype update code with it.
4221        Add a call to didReceiveDocType() to ensure the viewport is updated when the doctype is parsed.
4222
4223        * loader/EmptyClients.h:
4224        * page/Chrome.cpp:
4225        (WebCore::Chrome::didReceiveDocType):
4226        * page/ChromeClient.h:
4227        * page/ViewportConfiguration.cpp:
4228        (WebCore::ViewportConfiguration::xhtmlMobileParameters):
4229        * page/ViewportConfiguration.h:
4230
42312014-02-12  Alexey Proskuryakov  <ap@apple.com>
4232
4233        Mountain Lion build fix.
4234
4235        * WebCore.exp.in: Only export WebCrypto symbols on 10.9+, because SUBTLE_CRYPTO
4236        is not enabled on 10.8.
4237
42382014-02-12  Alexey Proskuryakov  <ap@apple.com>
4239
4240        Wrap WebCrypto keys in SerializedScriptValue
4241        https://bugs.webkit.org/show_bug.cgi?id=128680
4242
4243        Reviewed by Anders Carlsson.
4244
4245        Test: crypto/subtle/rsa-indexeddb.html
4246
4247        Added Mac code to wrap a key with AES-GCM. We then serialize it into a plist,
4248        because more custom formats would be crazy (even the custom format in SerializedScriptValue
4249        makes me nervous, we'll certainly need to change CryptoKey in the future).
4250
4251        * WebCore.exp.in:
4252        * WebCore.xcodeproj/project.pbxproj:
4253        * crypto/CommonCryptoUtilities.h:
4254        * crypto/SerializedCryptoKeyWrap.h: Added.
4255        * crypto/mac/SerializedCryptoKeyWrapMac.mm: Added.
4256        (WebCore::vectorFromNSData):
4257        (WebCore::wrapSerializedCryptoKey):
4258        (WebCore::unwrapSerializedCryptoKey):
4259
42602014-02-12  Brent Fulgham  <bfulgham@apple.com>
4261
4262        Wheel events don't latch to inner scrollable elements 
4263        https://bugs.webkit.org/show_bug.cgi?id=128225
4264        <rdar://problem/12183688>
4265
4266        Reviewed by Simon Fraser
4267
4268        * WebCore.exp.in: Add declarations for new scrolledToTop, scrolledToBottom, scrolledToLeft, and scrolledToRight.
4269        * page/EventHandler.cpp:
4270        (WebCore::EventHandler::EventHandler):
4271        (WebCore::EventHandler::clear):
4272        (WebCore::findScrollableContainer): New helper function to locate first node
4273        in enclosing region of document that is capable of handling mouse wheel events.
4274        (WebCore::isAtMaxDominantScrollPosition): Predicate to check if the scrollable
4275        area is at the limit we will hit based on scroll direction.
4276        (WebCore::EventHandler::handleWheelEvent): Identify the case where we have hit
4277        the end of a scroll, and treat that as a valid 'handled' case. If the scroll event
4278        is just starting, treat end-of-scroll as unhandled so the parent element can
4279        handle things.
4280        * page/EventHandler.h:
4281        * page/scrolling/ScrollingTree.cpp:
4282        (WebCore::ScrollingTree::shouldHandleWheelEventSynchronously): Use new methods
4283        on the PlatformWheelEvent class.
4284        (WebCore::ScrollingTree::setOrClearLatchedNode): Ditto
4285        * platform/PlatformWheelEvent.h:
4286        (WebCore::PlatformWheelEvent::shouldConsiderLatching): Moved implementation from ScrollingTree.
4287        (WebCore::PlatformWheelEvent::shouldClearLatchedNode): Ditto
4288        * platform/ScrollableArea.cpp:
4289        (WebCore::ScrollableArea::scrolledToTop): Added
4290        (WebCore::ScrollableArea::scrolledToBottom):Added
4291        (WebCore::ScrollableArea::scrolledToLeft): Added
4292        (WebCore::ScrollableArea::scrolledToRight): Added
4293        * platform/ScrollableArea.h:
4294        * rendering/RenderListBox.cpp:
4295        (WebCore::RenderListBox::scrolledToTop): Added
4296        (WebCore::RenderListBox::scrolledToBottom): Added
4297        (WebCore::RenderListBox::scrolledToLeft): Added
4298        (WebCore::RenderListBox::scrolledToRight): Added
4299        * rendering/RenderListBox.h: Changed to public inheritance of ScrollableArea to
4300        allow generic use of this type in scroll wheel logic.
4301
43022014-02-12  Brendan Long  <b.long@cablelabs.com>
4303
4304        Implement DataCue for metadata cues
4305        https://bugs.webkit.org/show_bug.cgi?id=128402
4306
4307        Reviewed by Eric Carlson.
4308
4309        Test: media/track/track-datacue.html
4310
4311        * CMakeLists.txt: Add DataCue.
4312        * DerivedSources.cpp: Add JSDataCue.
4313        * DerivedSources.make: Same.
4314        * GNUmakefile.list.am: Add DataCue and JSDataCue.
4315        * WebCore.vcxproj/WebCore.vcxproj: Add DataCue.
4316        * WebCore.vcxproj/WebCore.vcxproj.filters: Same.
4317        * WebCore.xcodeproj/project.pbxproj: Add DataCue and JSDataCue.
4318        * bindings/js/JSTextTrackCueCustom.cpp:
4319        (WebCore::toJS): Add DataCue wrapper.
4320        * html/track/DataCue.cpp: Copied from Source/WebCore/html/track/TextTrack.idl.
4321        * html/track/DataCue.h: Copied from Source/WebCore/html/track/TextTrack.idl.
4322        * html/track/DataCue.idl: Copied from Source/WebCore/html/track/TextTrack.idl.
4323        * html/track/InbandGenericTextTrack.cpp:
4324        (WebCore::InbandGenericTextTrack::addGenericCue): Pass ASSERT_NO_EXCEPTION to addCue().
4325        * html/track/InbandWebVTTTextTrack.cpp:
4326        (WebCore::InbandWebVTTTextTrack::newCuesParsed): Same.
4327        * html/track/TextTrack.cpp:
4328        (WebCore::TextTrack::addCue): Throw an exception if DataCue is added to a track that isn't kind="metadata".
4329        * html/track/TextTrack.h: Add exception code parameter to addCue().
4330        * html/track/TextTrack.idl: Add [RaisesException] to addCue().
4331        * html/track/TextTrackCue.h: Add Data CueType.
4332
43332014-02-12  Zalan Bujtas  <zalan@apple.com>
4334
4335        Subpixel layout: Clean up LayoutPoint class.
4336        https://bugs.webkit.org/show_bug.cgi?id=128515
4337
4338        Reviewed by Simon Fraser.
4339
4340        Remove redundant functions (keep the more explicit ones).
4341
4342        No change in functionality.
4343
4344        * page/FrameView.cpp:
4345        (WebCore::FrameView::viewportConstrainedVisibleContentRect):
4346        * platform/graphics/LayoutPoint.h:
4347        (WebCore::toLayoutPoint):
4348        (WebCore::toLayoutSize):
4349        (WebCore::roundedIntPoint):
4350        * platform/graphics/ca/GraphicsLayerCA.cpp:
4351        (WebCore::GraphicsLayerCA::updateContentsRects):
4352        * rendering/LayoutState.cpp:
4353        (WebCore::LayoutState::LayoutState):
4354        * rendering/RenderBlock.cpp:
4355        (WebCore::RenderBlock::addFocusRingRects):
4356        * rendering/RenderBox.cpp:
4357        (WebCore::RenderBox::offsetFromContainer):
4358        * rendering/RenderInline.cpp:
4359        (WebCore::RenderInline::addFocusRingRects):
4360        * rendering/RenderLayer.cpp:
4361        (WebCore::RenderLayer::updateLayerPosition):
4362        (WebCore::accumulateOffsetTowardsAncestor):
4363        (WebCore::RenderLayer::paintBackgroundForFragments):
4364        (WebCore::RenderLayer::paintForegroundForFragmentsWithPhase):
4365        (WebCore::RenderLayer::paintOutlineForFragments):
4366        (WebCore::RenderLayer::paintMaskForFragments):
4367        (WebCore::RenderLayer::paintOverflowControlsForFragments):
4368        * rendering/RenderScrollbarPart.cpp:
4369        (WebCore::RenderScrollbarPart::paintIntoRect):
4370
43712014-02-12  Zan Dobersek  <zdobersek@igalia.com>
4372
4373        [CoordinatedGraphics] Move CoordinatedGraphicsScene, CoordinatedLayerTreeHostProxy to std::function
4374        https://bugs.webkit.org/show_bug.cgi?id=128473
4375
4376        Reviewed by Anders Carlsson.
4377
4378
4379        Move the CoordinatedGraphicsScene class to using std::function instead of WTF::Functional and std::bind
4380        instead of WTF::bind. The function wrapper is now moved through function calls and not passed by reference,
4381        and lambda functions are inlined into the dispatchOnMainThread() calls, with the CoordinatedGraphicsScene
4382        refcount-protected.
4383
4384        * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
4385        (WebCore::CoordinatedGraphicsScene::dispatchOnMainThread):
4386        (WebCore::CoordinatedGraphicsScene::paintToCurrentGLContext):
4387        (WebCore::CoordinatedGraphicsScene::commitSceneState):
4388        (WebCore::CoordinatedGraphicsScene::syncRemoteContent):
4389        (WebCore::CoordinatedGraphicsScene::purgeGLResources):
4390        (WebCore::CoordinatedGraphicsScene::commitScrollOffset):
4391        (WebCore::CoordinatedGraphicsScene::appendUpdate):
4392        (WebCore::CoordinatedGraphicsScene::setActive):
4393        * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
4394
43952014-02-12  Eric Carlson  <eric.carlson@apple.com>
4396
4397        Cleanup the code added for https://bugs.webkit.org/show_bug.cgi?id=128125.
4398
4399        Not reviewed.
4400
4401        * html/HTMLMediaSession.cpp:
4402        (WebCore::restrictionName): Don't need a "break" after a "return" in a case statement.
4403        * platform/audio/MediaSession.cpp:
4404        (WebCore::stateName): Ditto.
4405        * platform/audio/ios/MediaSessionManagerIOS.mm:
4406
44072014-02-12  Andreas Kling  <akling@apple.com>
4408
4409        RenderNamedFlowThread should only support RenderElement children.
4410        <https://webkit.org/b/128675>
4411
4412        Tighten up flow-thread rendering so that it only supports element
4413        children directly. This means we don't have to worry about text
4414        renderers on this code path.
4415
4416        Reviewed by Antti Koivisto.
4417
4418        * rendering/RenderElement.cpp:
4419        (WebCore::RenderElement::insertedIntoTree):
4420        (WebCore::RenderElement::willBeRemovedFromTree):
4421        (WebCore::RenderElement::willBeDestroyed):
4422        * rendering/RenderNamedFlowThread.cpp:
4423        (WebCore::RenderNamedFlowThread::nextRendererForElement):
4424        (WebCore::RenderNamedFlowThread::addFlowChild):
4425        (WebCore::RenderNamedFlowThread::removeFlowChild):
4426        * rendering/RenderNamedFlowThread.h:
4427        * rendering/RenderObject.cpp:
4428        (WebCore::RenderObject::willBeDestroyed):
4429        (WebCore::RenderObject::insertedIntoTree):
4430        (WebCore::RenderObject::willBeRemovedFromTree):
4431        * style/StyleResolveTree.cpp:
4432        (WebCore::Style::createRendererIfNeeded):
4433
44342014-02-12  Joseph Pecoraro  <pecoraro@apple.com>
4435
4436        Web Inspector: Modernize missed inspector files
4437        https://bugs.webkit.org/show_bug.cgi?id=128661
4438
4439        Reviewed by Anders Carlsson.
4440
4441        Add final, override, and use nullptr where appropriate.
4442
4443        * inspector/InspectorCSSAgent.cpp:
4444        (WebCore::InspectorCSSAgent::asCSSStyleRule):
4445        (WebCore::InspectorCSSAgent::discardAgent):
4446        (WebCore::InspectorCSSAgent::disable):
4447        (WebCore::InspectorCSSAgent::getInlineStylesForNode):
4448        (WebCore::InspectorCSSAgent::getComputedStyleForNode):
4449        (WebCore::InspectorCSSAgent::asInspectorStyleSheet):
4450        (WebCore::InspectorCSSAgent::elementForId):
4451        (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
4452        (WebCore::InspectorCSSAgent::assertStyleSheetForId):
4453        (WebCore::InspectorCSSAgent::buildObjectForRule):
4454        (WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):
4455        * inspector/InspectorFrontendClientLocal.h:
4456
44572014-02-11  Brent Fulgham  <bfulgham@apple.com>
4458
4459        Remove some unintended copies in ranged for loops
4460        https://bugs.webkit.org/show_bug.cgi?id=128644
4461
4462        Reviewed by Anders Carlsson.
4463
4464        * css/StyleResolver.cpp:
4465        (WebCore::StyleResolver::loadPendingSVGDocuments): Avoid creating/destroying
4466        RefPtrs in loop.
4467
44682014-02-12  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
4469
4470        Update the HTML Media Capture implementation.
4471        https://bugs.webkit.org/show_bug.cgi?id=118465
4472
4473        Reviewed by Darin Adler.
4474
4475        Make the implementation in WebKit compatible with the 2013-05-09
4476        version of the spec, which makes the "capture" attribute a boolean
4477        instead of an enum.
4478
4479        Covered by fast/forms/file/file-input-capture.html.
4480
4481        * html/FileInputType.cpp:
4482        (WebCore::FileInputType::handleDOMActivateEvent):
4483        * html/HTMLInputElement.cpp:
4484        (WebCore::HTMLInputElement::capture): Renamed to shouldUseMediaCapture().
4485        (WebCore::HTMLInputElement::shouldUseMediaCapture): Return a bool.
4486        * html/HTMLInputElement.h:
4487        * html/HTMLInputElement.idl: Turn the `capture' attribute into a
4488        reflective boolean instead of a DOMString.
4489        * platform/FileChooser.h:
4490
44912014-02-12  Radu Stavila  <stavila@adobe.com>
4492
4493        [CSS Regions] Remove unused method in RenderFlowThread
4494        https://bugs.webkit.org/show_bug.cgi?id=128373
4495
4496        Reviewed by Mihnea Ovidenie.
4497
4498        After the landing of https://bugs.webkit.org/show_bug.cgi?id=118665, the 
4499        RenderFlowThread::computeRegionClippingRect method is obsolete.
4500
4501        No new tests needed, this patch only removes an unused method.
4502
4503        * rendering/RenderFlowThread.cpp:
4504        * rendering/RenderFlowThread.h:
4505
45062014-02-12  Mihai Tica  <mitica@adobe.com>
4507
4508        [CSS Element Blending] Implement the software path of -webkit-blend-mode with Core Graphics.
4509        https://bugs.webkit.org/show_bug.cgi?id=99119
4510
4511        Reviewed by Simon Fraser.
4512
4513        This patch adds support for -webkit-blend-mode with Core Graphics.
4514        The layer promotion code that forced compositing when blending was detected has been removed.
4515        Remaining work for the software path is to detect and implement isolation of the blending operation:
4516        as stated in the spec, blending should be limited to the parent stacking context.
4517
4518        Tests: css3/compositing/blend-mode-blended-element-overlapping-composited-sibling-should-have-compositing-layer.html
4519               css3/compositing/blend-mode-parent-of-composited-blended-has-layer.html
4520               css3/compositing/blend-mode-simple-composited.html
4521               css3/compositing/blend-mode-with-composited-descendant-should-have-layer.html
4522
4523        * inspector/InspectorLayerTreeAgent.cpp:
4524        (WebCore::InspectorLayerTreeAgent::reasonsForCompositingLayer): Remove CompositingReasonBlending.
4525        * rendering/RenderLayer.cpp:
4526        (WebCore::RenderLayer::beginTransparencyLayers): Set the blendMode on the GraphicsContext.
4527        * rendering/RenderLayer.h: paintsWithTransparency should return true when a blendMode is set.
4528        * rendering/RenderLayerCompositor.cpp: Remove promotion code when a blendMode is detected.
4529        (WebCore::RenderLayerCompositor::requiresCompositingLayer): Remove CompositingReasonBlending reason.
4530        (WebCore::RenderLayerCompositor::requiresOwnBackingStore): Remove CompositingReasonBlending reason.
4531        (WebCore::RenderLayerCompositor::reasonsForCompositing): Remove CompositingReasonBlending reason.
4532        (WebCore::RenderLayerCompositor::logReasonsForCompositing): Remove CompositingReasonBlending reason.
4533        * rendering/RenderLayerCompositor.h:
4534        - Remove the requiresCompositingForBlending method
4535        - Remove the CompositingReasonBlending from the CompositingReasons enum.
4536
45372014-02-11  Zalan Bujtas  <zalan@apple.com>
4538
4539        Subpixel rendering: Switch repaint rect from IntRect to LayoutRect to be able to
4540        repaint on device pixel boundaries.
4541        https://bugs.webkit.org/show_bug.cgi?id=128477
4542
4543        Reviewed by Simon Fraser.
4544
4545        RenderLayer needs to be able to repaint on device pixel boundaries. RenderView still
4546        repaints on integral position.
4547
4548        No change in functionality.
4549
4550        * rendering/RenderBlockLineLayout.cpp:
4551        (WebCore::RenderBlockFlow::layoutRunsAndFloats):
4552        * rendering/RenderElement.cpp:
4553        (WebCore::RenderElement::repaintAfterLayoutIfNeeded):
4554        * rendering/RenderLayer.cpp:
4555        (WebCore::RenderLayer::updateLayerPositions):
4556        (WebCore::RenderLayer::clearRepaintRects):
4557        (WebCore::RenderLayer::scrollTo):
4558        (WebCore::RenderLayer::calculateClipRects):
4559        * rendering/RenderLayerBacking.cpp:
4560        (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
4561        * rendering/RenderLayerBacking.h:
4562        * rendering/RenderObject.cpp:
4563        (WebCore::RenderObject::repaintUsingContainer):
4564        (WebCore::RenderObject::repaint):
4565        (WebCore::RenderObject::repaintRectangle):
4566        * rendering/RenderObject.h:
4567
45682014-02-11  Dan Bernstein  <mitz@apple.com>
4569
4570        iOS build fix fix.
4571
4572        * rendering/RenderElement.cpp:
4573        (WebCore::shouldRepaintForImageAnimation):
4574
45752014-02-11  Dan Bernstein  <mitz@apple.com>
4576
4577        iOS build fix.
4578
4579        * rendering/RenderElement.cpp:
4580        (WebCore::shouldRepaintForImageAnimation):
4581
45822014-02-11  David Kilzer  <ddkilzer@apple.com>
4583
4584        ContentData equals() methods are not inline-able
4585        <http://webkit.org/b/128538>
4586
4587        Reviewed by Darin Adler.
4588
4589        Get rid of pure virtual equals() method in favor of
4590        ContentData::Type enum for runtime type information.
4591        This also lets us devirtualize the isFoo() methods.
4592
4593        * rendering/style/ContentData.h:
4594        (WebCore::ContentData::type): Add.
4595        (WebCore::ContentData::isCounter): Devirtualize.
4596        (WebCore::ContentData::isImage): Devirtualize.
4597        (WebCore::ContentData::isQuote): Devirtualize.
4598        (WebCore::ContentData::isText): Devirtualize.
4599        (WebCore::ContentData::ContentData): Add.  Include
4600        ContentData::Type parameter.
4601        (WebCore::operator==): Add overloaded methods for each subclass.
4602        Stop using pure virtual equals() method, check type(), and use
4603        overloaded subclass operator==() methods.
4604        (WebCore::operator!=): Add overloaded methods for each subclass.
4605
46062014-02-11  Andreas Kling  <akling@apple.com>
4607
4608        Protect some RenderFlowThread functions.
4609        <https://webkit.org/b/128642>
4610
4611        Make the RenderFlowThread constructor protected and a handful of
4612        member functions private.
4613
4614        Reviewed by Anders Carlsson.
4615
4616        * rendering/RenderFlowThread.h:
4617
46182014-02-11  Andreas Kling  <akling@apple.com>
4619
4620        Don't allocate RenderNamedFlowThread's child list separately.
4621        <https://webkit.org/b/128640>
4622
4623        Since we always create the flow-thread child list, there's no reason
4624        to put it in a separate heap allocation. Also remove the typedef and
4625        use auto instead.
4626
4627        Reviewed by Anders Carlsson.
4628
4629        * rendering/RenderNamedFlowThread.cpp:
4630        (WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
4631        (WebCore::RenderNamedFlowThread::nextRendererForNode):
4632        (WebCore::RenderNamedFlowThread::addFlowChild):
4633        (WebCore::RenderNamedFlowThread::removeFlowChild):
4634        * rendering/RenderNamedFlowThread.h:
4635
46362014-02-11  Zalan Bujtas  <zalan@apple.com>
4637
4638        Subpixel rendering: Make GraphicsLayerClient::paintContents's clip rect subpixel based.
4639        https://bugs.webkit.org/show_bug.cgi?id=128460
4640
4641        Reviewed by Simon Fraser.
4642
4643        GraphicsClient::paintContents takes clipRect as FloatRect now so that we can paint on
4644        subpixel position.
4645
4646        No change in functionality.
4647
4648        * platform/graphics/GraphicsLayerClient.h:
4649        * platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:
4650        (WebCore::CompositingCoordinator::paintContents):
4651        * platform/graphics/texmap/coordinated/CompositingCoordinator.h:
4652        * rendering/RenderLayer.cpp:
4653        (WebCore::cornerRect):
4654        (WebCore::RenderLayer::scrollCornerRect):
4655        (WebCore::resizerCornerRect):
4656        (WebCore::RenderLayer::scrollCornerAndResizerRect):
4657        (WebCore::RenderLayer::verticalScrollbarStart):
4658        (WebCore::RenderLayer::horizontalScrollbarStart):
4659        (WebCore::RenderLayer::paintResizer):
4660        (WebCore::RenderLayer::hitTestOverflowControls):
4661        * rendering/RenderLayer.h:
4662        * rendering/RenderLayerBacking.cpp:
4663        (WebCore::RenderLayerBacking::paintIntoLayer):
4664        (WebCore::RenderLayerBacking::paintContents):
4665        * rendering/RenderLayerBacking.h:
4666        * rendering/RenderLayerCompositor.cpp:
4667        (WebCore::RenderLayerCompositor::paintContents):
4668        * rendering/RenderLayerCompositor.h:
4669        * rendering/RenderWidget.cpp:
4670        (WebCore::RenderWidget::paint):
4671
46722014-02-11  Antti Koivisto  <antti@apple.com>
4673
4674        GIF animations should be suspended when outside of viewport
4675        https://bugs.webkit.org/show_bug.cgi?id=128632
4676
4677        Reviewed by Andreas Kling.
4678        
4679        Animations are driven by the paint cycle. Speculative tiles keep animations outside the actual viewport going.
4680        
4681        Pause animations when they are outside the viewport by not painting them.
4682
4683        Test: fast/repaint/no-animation-outside-viewport.html
4684
4685        * loader/cache/CachedImage.cpp:
4686        (WebCore::CachedImage::animationAdvanced):
4687        
4688            Call animation specific newImageAnimationFrameAvailable instead of the generic notifyObservers.
4689
4690        * loader/cache/CachedImage.h:
4691        
4692            Removed now unnecessary resumeAnimatingImagesForLoader mechanism.
4693            Remove unnecessary shouldPauseAnimation. Pausing is now always done when by avoiding repaint.
4694
4695        * loader/cache/CachedImageClient.h:
4696        (WebCore::CachedImageClient::newImageAnimationFrameAvailable):
4697        * page/FrameView.cpp:
4698        (WebCore::FrameView::scrollPositionChanged):
4699        
4700            Check if we have image animations to resume when scroll position changes.
4701
4702        * page/Page.cpp:
4703        (WebCore::Page::resumeAnimatingImages):
4704        
4705            Use the same mechanism when resuming background tabs etc.
4706
4707        * platform/graphics/BitmapImage.cpp:
4708        (WebCore::BitmapImage::internalAdvanceAnimation):
4709        
4710            Remove the shouldPauseAnimation test, always rely on pausing on invalidation.
4711
4712        * platform/graphics/ImageObserver.h:
4713        * rendering/RenderBoxModelObject.cpp:
4714        * rendering/RenderElement.cpp:
4715        (WebCore::RenderElement::RenderElement):
4716        (WebCore::RenderElement::~RenderElement):
4717        (WebCore::shouldRepaintForImageAnimation):
4718        
4719            Factor the pausing conditions to a function. Test that the animation is withing the
4720            visible rect.
4721
4722        (WebCore::RenderElement::newImageAnimationFrameAvailable):
4723        
4724            Add renderer to the paused animation set if we don't continue the animation.
4725
4726        (WebCore::RenderElement::repaintForPausedImageAnimationsIfNeeded):
4727        
4728            Resume the paused animations by triggering repaint.
4729
4730        * rendering/RenderElement.h:
4731        (WebCore::RenderElement::setHasPausedImageAnimations):
4732        (WebCore::RenderElement::hasPausedImageAnimations):
4733        * rendering/RenderObject.cpp:
4734        * rendering/RenderObject.h:
4735        * rendering/RenderView.cpp:
4736        (WebCore::RenderView::addRendererWithPausedImageAnimations):
4737        (WebCore::RenderView::removeRendererWithPausedImageAnimations):
4738        (WebCore::RenderView::resumePausedImageAnimationsIfNeeded):
4739        * rendering/RenderView.h:
4740
47412014-02-11  Andreas Kling  <akling@apple.com>
4742
4743        Remove unused RenderNamedFlowThread::previousRendererForNode().
4744        <https://webkit.org/b/128637>
4745
4746        Reviewed by Antti Koivisto.
4747
4748        * rendering/RenderNamedFlowThread.cpp:
4749        * rendering/RenderNamedFlowThread.h:
4750
47512014-02-11  Andreas Kling  <akling@apple.com>
4752
4753        Move renderNamedFlowThreadWrapper() to RenderElement.
4754        <https://webkit.org/b/128634>
4755
4756        This function is only ever called on RenderElements so move it there
4757        from RenderObject.
4758
4759        Reviewed by Antti Koivisto.
4760
4761        * rendering/RenderElement.cpp:
4762        (WebCore::RenderElement::renderNamedFlowThreadWrapper):
4763        * rendering/RenderElement.h:
4764        * rendering/RenderObject.cpp:
4765        * rendering/RenderObject.h:
4766
47672014-02-11  Myles C. Maxfield  <mmaxfield@apple.com>
4768
4769        Position and thickness of underline as text size changes
4770        https://bugs.webkit.org/show_bug.cgi?id=16768
4771
4772        Reviewed by Dean Jackson.
4773
4774        This patch adopts the iOS codepath for underlines. It also reorganizes
4775        drawLineForText to avoid a costly global state save & restore.
4776
4777        Test: fast/css3-text/css3-text-decoration/text-decoration-thickness.html
4778
4779        * platform/graphics/cg/GraphicsContextCG.cpp:
4780        (WebCore::computeLineBoundsAndAntialiasingModeForText):
4781        (WebCore::GraphicsContext::computeLineBoundsForText):
4782        (WebCore::GraphicsContext::drawLineForText):
4783        (WebCore::GraphicsContext::drawLinesForText):
4784        * rendering/InlineTextBox.cpp:
4785        (WebCore::InlineTextBox::paintDecoration):
4786
47872014-02-11  Ryosuke Niwa  <rniwa@webkit.org>
4788
4789        Frame::rectForSelection shouldn't instantiate FrameSelection
4790        https://bugs.webkit.org/show_bug.cgi?id=128587
4791
4792        Reviewed by Enrica Casucci.
4793
4794        Made VisiblePosition::absoluteCaretBounds more interoperable with the one in FrameSelection and made
4795        iOS's Frame::rectForScrollToVisible use that function instead.
4796
4797        The above change allows us to remove:
4798        - suppressCloseTyping(), restoreCloseTyping(), and m_closeTypingSuppressions in FrameSelection
4799        - suppressSelectionNotifications() and restoreSelectionNotifications() in EditorClient
4800
4801        See inline comments below for more details.
4802
4803        * Source/WebCore/WebCore.exp.in:
4804
4805        * editing/FrameSelection.cpp:
4806        (WebCore::FrameSelection::FrameSelection):
4807        (WebCore::FrameSelection::setSelectionWithoutUpdatingAppearance):
4808        (WebCore::CaretBase::updateCaretRect):
4809        (WebCore::FrameSelection::caretRendererWithoutUpdatingLayout):
4810        (WebCore::DragCaretController::caretRenderer):
4811        (WebCore::repaintCaretForLocalRect):
4812        (WebCore::FrameSelection::recomputeCaretRect): Merged FrameSelection::localCaretRect(). Modified
4813        the code to update caretNode when and only when caret rect is updated. Also added an assertion to
4814        ensure absoluteCaretBounds() on FrameSelection and VisiblePosition yield the same result.
4815
4816        (WebCore::CaretBase::paintCaret):
4817        * editing/FrameSelection.h:
4818
4819        * editing/VisiblePosition.cpp:
4820        (WebCore::VisiblePosition::absoluteCaretBounds): Fixed the bug where the old code wasn't respecting
4821        the convention to use containing block as the renderer to paint caret.
4822
4823        * editing/htmlediting.cpp:
4824        (WebCore::caretRendersInsideNode): Moved from FrameSelection.cpp.
4825        (WebCore::rendererForCaretPainting): Ditto and renamed from caretRenderer.
4826        (WebCore::localCaretRectInRendererForCaretPainting): Extracted from FrameSelection::updateCaretRect.
4827        (WebCore::absoluteBoundsForLocalCaretRect): Ditto from CaretBase::absoluteBoundsForLocalRect.
4828        * editing/htmlediting.h:
4829
4830        * loader/EmptyClients.h:
4831        * page/EditorClient.h:
4832        * page/Frame.h:
4833
4834        * page/ios/FrameIOS.mm:
4835        (WebCore::Frame::rectForScrollToVisible): Reimplemented in its simplest form using VisiblePosition's
4836        absoluteCaretBounds().
4837
48382014-02-11  Enrica Casucci  <enrica@apple.com>
4839
4840        Support WebSelections in WK2 on iOS.
4841        https://bugs.webkit.org/show_bug.cgi?id=127015
4842        <rdar://problem/15211964>
4843
4844        Reviewed by Benjamin Poulain.
4845
4846        Adding few exports.
4847
4848        * WebCore.exp.in:
4849
48502014-02-11  Andreas Kling  <akling@apple.com>
4851
4852        CTTE: RenderNamedFlowThread always has a WebKitNamedFlow.
4853        <https://webkit.org/b/128623>
4854
4855        Codify the fact that RenderNamedFlowThread always has a corresponding
4856        WebKitNamedFlow by storing it in a Ref, and adding an accessor that
4857        returns a reference to get rid of all the ->'s.
4858
4859        Also removed some unnecessary assertions exposed by this.
4860
4861        Reviewed by Antti Koivisto.
4862
4863        * dom/NamedFlowCollection.cpp:
4864        (WebCore::NamedFlowCollection::ensureFlowWithName):
4865        * dom/NamedFlowCollection.h:
4866        * rendering/RenderNamedFlowThread.cpp:
4867        (WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
4868        (WebCore::RenderNamedFlowThread::registerNamedFlowContentElement):
4869        (WebCore::RenderNamedFlowThread::unregisterNamedFlowContentElement):
4870        (WebCore::RenderNamedFlowThread::flowThreadName):
4871        (WebCore::RenderNamedFlowThread::dispatchRegionLayoutUpdateEvent):
4872        (WebCore::RenderNamedFlowThread::dispatchRegionOversetChangeEvent):
4873        (WebCore::RenderNamedFlowThread::regionLayoutUpdateEventTimerFired):
4874        (WebCore::RenderNamedFlowThread::regionOversetChangeEventTimerFired):
4875        (WebCore::RenderNamedFlowThread::setMarkForDestruction):
4876        (WebCore::RenderNamedFlowThread::resetMarkForDestruction):
4877        (WebCore::RenderNamedFlowThread::isMarkedForDestruction):
4878        * rendering/RenderNamedFlowThread.h:
4879
48802014-02-10  Myles C. Maxfield  <mmaxfield@apple.com>
4881
4882        Convert position:fixed property to position:absolute upon copy
4883        https://bugs.webkit.org/show_bug.cgi?id=128194
4884
4885        Reviewed by Simon Fraser.
4886
4887        This adds a Setting and Preference that allows clients to opt-in to this behavior.
4888
4889        This new behavior is only activated if the entire body is copied. If there is a position:fixed
4890        element in the copied selection, it is replaced with position:absolute, and a containing
4891        block (position:relative) is wrapped around the copied text.
4892
4893        This patch originally converted position:-webkit-sticky to position:relative. However, we
4894        currently don't support copying and pasting of position:-webkit-sticky content (See below).
4895        Therefore, this patch only deals with position:fixed.
4896
4897        Right now we don't copy position:-webkit-sticky. This is because:
4898        1. When copying styled elements, we parse the style properties again
4899        2. CSSParserContext has a flag which can disable parsing -webkit-sticky
4900        3. There are two constructors to CSSParserContext: one that takes a document and sets up the
4901        aforementioned flag, and a simple one that doesn't take a document and sets all the enableFoo
4902        flags to false
4903        4. At the relevant place within copy code, we are far removed from the Document object, so we
4904        instead call the second constructor, thereby disabling parsing of -webkit-sticky
4905
4906        Test: editing/pasteboard/copy-paste-converts-sticky-and-fixed.html
4907
4908        * WebCore.exp.in: Export the Setting setter
4909        * editing/EditingStyle.cpp:
4910        (WebCore::EditingStyle::convertFixedAndStickyPosition): Converts a single style
4911        * editing/EditingStyle.h:
4912        * editing/markup.cpp:
4913        (WebCore::StyledMarkupAccumulator::StyledMarkupAccumulator): Remember if we found
4914        an element which needs the position:relative containing block
4915        (WebCore::StyledMarkupAccumulator::appendElement): Surround with the position:relative
4916        containing block if necessary
4917        (WebCore::createMarkupInternal):
4918        * page/Settings.cpp:
4919        (WebCore::Settings::Settings): New setting to opt-in to this new behavior
4920        (WebCore::Settings::setConvertPositionStyleOnCopy):
4921        * page/Settings.h:
4922        (WebCore::Settings::convertPositionStyleOnCopy):
4923        * testing/InternalSettings.cpp: Allow setting the setting from a Layout Test
4924        (WebCore::InternalSettings::Backup::Backup):
4925        (WebCore::InternalSettings::Backup::restoreTo):
4926        (WebCore::InternalSettings::setConvertPositionStyleOnCopy):
4927        * testing/InternalSettings.h:
4928        * testing/InternalSettings.idl:
4929
49302014-02-11  Youenn Fablet  <youennf@gmail.com>
4931
4932        XMLHttpRequest should not send DNT header
4933        https://bugs.webkit.org/show_bug.cgi?id=128533
4934
4935        Reviewed by Alexey Proskuryakov.
4936
4937        Added DNT (Do Not Track) header to the list of forbidden headers.
4938        Updated http/tests/xmlhttprequest/set-dangerous-headers.html to test that header.
4939
4940        * xml/XMLHttpRequest.cpp:
4941        (WebCore::XMLHttpRequestStaticData::XMLHttpRequestStaticData):
4942
49432014-02-10  Jeffrey Pfau  <jpfau@apple.com>
4944
4945        Bring third-party app cache blocking behavior in line with private browsing app cache blocking behavior
4946        https://bugs.webkit.org/show_bug.cgi?id=128557
4947
4948        Reviewed by Alexey Proskuryakov.
4949
4950        * loader/appcache/ApplicationCacheGroup.cpp:
4951        (WebCore::ApplicationCacheGroup::cacheForMainRequest):
4952        (WebCore::ApplicationCacheGroup::selectCache):
4953        (WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL):
4954        (WebCore::ApplicationCacheGroup::update):
4955        * loader/appcache/ApplicationCacheHost.cpp:
4956        (WebCore::ApplicationCacheHost::maybeLoadMainResource):
4957        (WebCore::ApplicationCacheHost::maybeLoadFallbackForMainResponse):
4958        (WebCore::ApplicationCacheHost::maybeLoadFallbackForMainError):
4959        (WebCore::ApplicationCacheHost::maybeLoadResource):
4960        (WebCore::ApplicationCacheHost::scheduleLoadFallbackResourceFromApplicationCache):
4961        (WebCore::ApplicationCacheHost::isApplicationCacheBlockedForRequest):
4962        * loader/appcache/ApplicationCacheHost.h:
4963
49642014-02-11  Brady Eidson  <beidson@apple.com>
4965
4966        IDB: The test after storage/indexeddb/mozilla/object-identity.html fails in cleanup code
4967        <rdar://problem/16040663> and https://bugs.webkit.org/show_bug.cgi?id=128621
4968
4969        Reviewed by Alexey Proskuryakov.
4970
4971        Covered by storage/indexeddb/mozilla/object-identity.html.
4972
4973        * Modules/indexeddb/IDBTransactionBackend.cpp:
4974        (WebCore::IDBTransactionBackend::abort): Clear the m_database pointer before calling the onAbort callback.
4975        (WebCore::IDBTransactionBackend::commit): Don't run the abort code if there's no m_database pointer.
4976
49772014-02-10  Jer Noble  <jer.noble@apple.com>
4978
4979        [EME][Mac] Move the implementation of CDMPrivateAVFoundation back into MediaPlayerPrivateAVFoundationObjC.
4980        https://bugs.webkit.org/show_bug.cgi?id=128559
4981
4982        Reviewed by Dean Jackson.
4983
4984        To prepare for multiple simultaneous CDMs with muliple MediaPlayer types, move the implementation for
4985        CDMPrivateAVFoundation back into its media engine.
4986
4987        * Modules/encryptedmedia/CDMPrivateAVFoundation.mm:
4988        (WebCore::MediaKeyExceptionToErrorCode): Added.
4989        (WebCore::CDMSessionAVFoundation::generateKeyRequest): Moved to MediaPlayerPrivateAVFoundationObjC.
4990        (WebCore::CDMSessionAVFoundation::releaseKeys): Ditto.
4991        (WebCore::CDMSessionAVFoundation::update): Ditto.
4992        * platform/graphics/MediaPlayer.cpp:
4993        (WebCore::MediaPlayer::generateKeyRequest): Added, pass through to MediaPlayerPrivate.
4994        (WebCore::MediaPlayer::releaseKeys): Ditto.
4995        (WebCore::MediaPlayer::update): Ditto.
4996        * platform/graphics/MediaPlayer.h:
4997        * platform/graphics/MediaPlayerPrivate.h:
4998        (WebCore::MediaPlayerPrivateInterface::generateKeyRequest): Added.
4999        (WebCore::MediaPlayerPrivateInterface::releaseKeys): Ditto.
5000        (WebCore::MediaPlayerPrivateInterface::update): Ditto.
5001        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
5002        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
5003        (WebCore::MediaPlayerPrivateAVFoundationObjC::generateKeyRequest): Moved from CDMSessionAVFoundation.
5004        (WebCore::MediaPlayerPrivateAVFoundationObjC::releaseKeys): Ditto.
5005        (WebCore::MediaPlayerPrivateAVFoundationObjC::update): Ditto.
5006
50072014-01-24  Jer Noble  <jer.noble@apple.com>
5008
5009        Run UserAgentScripts through jsmin rather than the css preprocessor
5010        https://bugs.webkit.org/show_bug.cgi?id=127559
5011
5012        Reviewed by Tim Horton.
5013
5014        User Agent JavaScript files were being run through the c++ preprocessor to strip out
5015        comments (and presumably to allow #if ENABLE macros, though that feature is entirely
5016        unused). This had the side effect of removing important whitespace, namely newlines where
5017        there would normally be an implicit semicolon.
5018
5019        Instead, .js files will now be run through the jsmin minifier, used by the inspector.
5020        Jsmin will also strip comments and whitespace, but in a syntactically aware way which will
5021        keep newlines when their presence adds an implied semicolon.
5022
5023        * DerivedSources.make:
5024        * Scripts/make-js-file-arrays.py: Added.
5025        (stringifyCodepoint):
5026        (chunk):
5027        (main):
5028
50292014-02-11  Andy Estes  <aestes@apple.com>
5030
5031        [Mac] connection:willStopBufferingData: no longer exists in NSURLConnectionDelegate
5032        https://bugs.webkit.org/show_bug.cgi?id=128583
5033
5034        Reviewed by Anders Carlsson.
5035
5036        The delegate method was removed in Snow Leopard.
5037
5038        * loader/ResourceLoader.cpp:
5039        * loader/ResourceLoader.h:
5040        * platform/network/ResourceHandleClient.h:
5041        * platform/network/mac/WebCoreResourceHandleAsDelegate.mm:
5042        * platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:
5043
50442014-02-10  Andy Estes  <aestes@apple.com>
5045
5046        [Content Filter] Check for NULL before calling dispatch_release()
5047        https://bugs.webkit.org/show_bug.cgi?id=128576
5048
5049        Reviewed by Darin Adler.
5050
5051        m_neFilterSourceQueue will be NULL if NEFilterSource isn't enabled, and
5052        passing NULL to dispatch_release() is undefined.
5053
5054        * platform/mac/ContentFilterMac.mm:
5055        (WebCore::ContentFilter::~ContentFilter):
5056
50572014-01-24  Jer Noble  <jer.noble@apple.com>
5058
5059        [MediaControls] Allow the media controls script to be debuggable by giving it a generated sourceURL
5060        https://bugs.webkit.org/show_bug.cgi?id=127560
5061
5062        Reviewed by Eric Carlson.
5063
5064        When evaluating a script through ScriptController, if that script does not have an
5065        explicit sourceURL, it will not appear in the resources section of the Web Inspector.
5066        For debug builds only, give the media controls script a generated (i.e. fake) sourceURL.
5067
5068        * html/HTMLMediaElement.cpp:
5069        (WebCore::HTMLMediaElement::parseAttribute):
5070
50712014-02-11  Samuel White  <samuel_white@apple.com>
5072
5073        AX: Add text replacement activity support to NSAccessibilitySelectTextWithCriteriaParameterizedAttribute.
5074        https://bugs.webkit.org/show_bug.cgi?id=128397
5075
5076        Reviewed by Chris Fleizach.
5077
5078        Added text replacement support for the AXSelectTextWithCriteria parameterized attribute.
5079
5080        No new test. Updated platform/mac/accessibility/select-text.html to test the added functionality.
5081
5082        * accessibility/AccessibilityObject.cpp:
5083        (WebCore::AccessibilityObject::selectText):
5084        * accessibility/AccessibilityObject.h:
5085        (WebCore::AccessibilitySelectTextCriteria::AccessibilitySelectTextCriteria):
5086        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
5087        (accessibilitySelectTextCriteriaForCriteriaParameterizedAttribute):
5088
50892014-02-11  Roger Fong  <roger_fong@apple.com>
5090
5091        [Windows] Unreviewed. Speculative test fix.
5092
5093        * platform/graphics/GraphicsContext.h:
5094        (WebCore::GraphicsContext::pixelSnappingFactor):
5095        * platform/graphics/cg/GraphicsContextCG.cpp:
5096        (WebCore::GraphicsContext::platformInit):
5097
50982014-02-11  Dan Bernstein  <mitz@apple.com>
5099
5100        iOS build fix.
5101
5102        * platform/ios/TileGrid.mm:
5103        (WebCore::TileGrid::dropTilesBetweenRects):
5104        (WebCore::TileGrid::dropDistantTiles):
5105        (WebCore::TileGrid::dropInvalidTiles):
5106
51072014-02-11  James Craig  <jcraig@apple.com>
5108
5109        Web Inspector: AX: Accessibility Node Inspection
5110        https://bugs.webkit.org/show_bug.cgi?id=127447
5111
5112        Reviewed by Timothy Hatcher.
5113
5114        New methods supporting WebCore::AccessibilityObject::computedRoleString()
5115        used for Accessibility section in WebInspector Node Inspector. Other updates 
5116        support the JSON interface for the WebInspectorUI feature.
5117
5118        Test: accessibility/roles-computedRoleString.html
5119
5120        * accessibility/AccessibilityObject.cpp:
5121        (WebCore::initializeRoleMap):
5122        (WebCore::ariaRoleMap):
5123        (WebCore::reverseAriaRoleMap):
5124        (WebCore::AccessibilityObject::ariaRoleToWebCoreRole):
5125        (WebCore::AccessibilityObject::computedRoleString):
5126        * accessibility/AccessibilityObject.h:
5127        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
5128        (-[WebAccessibilityObjectWrapper computedRoleString]):
5129        (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
5130        * inspector/InspectorDOMAgent.cpp:
5131        (WebCore::InspectorDOMAgent::getAccessibilityPropertiesForNode):
5132        (WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
5133        * inspector/InspectorDOMAgent.h:
5134        * inspector/protocol/DOM.json:
5135
51362014-02-10  Oliver Hunt  <oliver@apple.com>
5137
5138        Stop throwing when attempting to read instance properties directly from the prototype
5139        https://bugs.webkit.org/show_bug.cgi?id=128568
5140
5141        Reviewed by Mark Lam.
5142
5143        A number of websites expect to be able to access instance properties
5144        directly through the prototype.  This is broken behavior but if we
5145        throw an exception the entire site breaks.  This patch simply makes us
5146        return undefined when reading, and logs the error to the console.
5147
5148        * bindings/scripts/CodeGeneratorJS.pm:
5149        (GenerateImplementation):
5150        * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
5151        (WebCore::jsTestActiveDOMObjectExcitingAttr):
5152        * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
5153        (WebCore::jsTestEventConstructorAttr1):
5154        (WebCore::jsTestEventConstructorAttr2):
5155        * bindings/scripts/test/JS/JSTestException.cpp:
5156        (WebCore::jsTestExceptionName):
5157        * bindings/scripts/test/JS/JSTestInterface.cpp:
5158        (WebCore::jsTestInterfaceImplementsStr1):
5159        (WebCore::jsTestInterfaceImplementsStr2):
5160        (WebCore::jsTestInterfaceImplementsStr3):
5161        (WebCore::jsTestInterfaceImplementsNode):
5162        (WebCore::jsTestInterfaceSupplementalStr1):
5163        (WebCore::jsTestInterfaceSupplementalStr2):
5164        (WebCore::jsTestInterfaceSupplementalStr3):
5165        (WebCore::jsTestInterfaceSupplementalNode):
5166        * bindings/scripts/test/JS/JSTestObj.cpp:
5167        (WebCore::jsTestObjReadOnlyLongAttr):
5168        (WebCore::jsTestObjReadOnlyStringAttr):
5169        (WebCore::jsTestObjReadOnlyTestObjAttr):
5170        (WebCore::jsTestObjConstructorTestSubObj):
5171        (WebCore::jsTestObjTestSubObjEnabledBySettingConstructor):
5172        (WebCore::jsTestObjEnumAttr):
5173        (WebCore::jsTestObjByteAttr):
5174        (WebCore::jsTestObjOctetAttr):
5175        (WebCore::jsTestObjShortAttr):
5176        (WebCore::jsTestObjUnsignedShortAttr):
5177        (WebCore::jsTestObjLongAttr):
5178        (WebCore::jsTestObjLongLongAttr):
5179        (WebCore::jsTestObjUnsignedLongLongAttr):
5180        (WebCore::jsTestObjStringAttr):
5181        (WebCore::jsTestObjTestObjAttr):
5182        (WebCore::jsTestObjXMLObjAttr):
5183        (WebCore::jsTestObjCreate):
5184        (WebCore::jsTestObjReflectedStringAttr):
5185        (WebCore::jsTestObjReflectedIntegralAttr):
5186        (WebCore::jsTestObjReflectedUnsignedIntegralAttr):
5187        (WebCore::jsTestObjReflectedBooleanAttr):
5188        (WebCore::jsTestObjReflectedURLAttr):
5189        (WebCore::jsTestObjReflectedCustomIntegralAttr):
5190        (WebCore::jsTestObjReflectedCustomBooleanAttr):
5191        (WebCore::jsTestObjReflectedCustomURLAttr):
5192        (WebCore::jsTestObjTypedArrayAttr):
5193        (WebCore::jsTestObjAttrWithGetterException):
5194        (WebCore::jsTestObjAttrWithSetterException):
5195        (WebCore::jsTestObjStringAttrWithGetterException):
5196        (WebCore::jsTestObjStringAttrWithSetterException):
5197        (WebCore::jsTestObjCustomAttr):
5198        (WebCore::jsTestObjWithScriptStateAttribute):
5199        (WebCore::jsTestObjWithScriptExecutionContextAttribute):
5200        (WebCore::jsTestObjWithScriptStateAttributeRaises):
5201        (WebCore::jsTestObjWithScriptExecutionContextAttributeRaises):
5202        (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttribute):
5203        (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
5204        (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
5205        (WebCore::jsTestObjWithScriptArgumentsAndCallStackAttribute):
5206        (WebCore::jsTestObjConditionalAttr1):
5207        (WebCore::jsTestObjConditionalAttr2):
5208        (WebCore::jsTestObjConditionalAttr3):
5209        (WebCore::jsTestObjConditionalAttr4Constructor):
5210        (WebCore::jsTestObjConditionalAttr5Constructor):
5211        (WebCore::jsTestObjConditionalAttr6Constructor):
5212        (WebCore::jsTestObjCachedAttribute1):
5213        (WebCore::jsTestObjCachedAttribute2):
5214        (WebCore::jsTestObjAnyAttribute):
5215        (WebCore::jsTestObjContentDocument):
5216        (WebCore::jsTestObjMutablePoint):
5217        (WebCore::jsTestObjImmutablePoint):
5218        (WebCore::jsTestObjStrawberry):
5219        (WebCore::jsTestObjStrictFloat):
5220        (WebCore::jsTestObjDescription):
5221        (WebCore::jsTestObjId):
5222        (WebCore::jsTestObjHash):
5223        (WebCore::jsTestObjReplaceableAttribute):
5224        (WebCore::jsTestObjNullableDoubleAttribute):
5225        (WebCore::jsTestObjNullableLongAttribute):
5226        (WebCore::jsTestObjNullableBooleanAttribute):
5227        (WebCore::jsTestObjNullableStringAttribute):
5228        (WebCore::jsTestObjNullableLongSettableAttribute):
5229        (WebCore::jsTestObjNullableStringValue):
5230        (WebCore::jsTestObjAttribute):
5231        (WebCore::jsTestObjAttributeWithReservedEnumType):
5232        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
5233        (WebCore::jsTestSerializedScriptValueInterfaceValue):
5234        (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValue):
5235        (WebCore::jsTestSerializedScriptValueInterfaceCachedValue):
5236        (WebCore::jsTestSerializedScriptValueInterfacePorts):
5237        (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue):
5238        * bindings/scripts/test/JS/JSTestTypedefs.cpp:
5239        (WebCore::jsTestTypedefsUnsignedLongLongAttr):
5240        (WebCore::jsTestTypedefsImmutableSerializedScriptValue):
5241        (WebCore::jsTestTypedefsConstructorTestSubObj):
5242        (WebCore::jsTestTypedefsAttrWithGetterException):
5243        (WebCore::jsTestTypedefsAttrWithSetterException):
5244        (WebCore::jsTestTypedefsStringAttrWithGetterException):
5245        (WebCore::jsTestTypedefsStringAttrWithSetterException):
5246        * bindings/scripts/test/JS/JSattribute.cpp:
5247        (WebCore::jsattributeReadonly):
5248
52492014-02-11  Sergio Villar Senin  <svillar@igalia.com>
5250
5251        [CSS Grid Layout] Support calc() breadth size type
5252        https://bugs.webkit.org/show_bug.cgi?id=103761
5253
5254        Reviewed by Dean Jackson.
5255
5256        We now support using calc() in
5257        -webkit-grid-template-{columns|rows}. This means that we now
5258        match the specification and support all the possible ways to
5259        specify the track breadths.
5260
5261        This includes a fix to CSSCalculationValue that was converting
5262        Length values to CalcExpressionNumber and thus removing all the
5263        info regarding length units (px, em, pt...). That's why things
5264        like calc(10px + 20%) were shown as calc(10 + 20%) in
5265        getComputedStyle() output.
5266
5267        * css/CSSCalculationValue.cpp:
5268        (WebCore::CSSCalcPrimitiveValue::toCalcValue):
5269        * css/CSSComputedStyleDeclaration.cpp:
5270        (WebCore::zoomAdjustedPixelValueForLength):
5271        (WebCore::specifiedValueForGridTrackBreadth):
5272        (WebCore::specifiedValueForGridTrackSize):
5273        * css/StyleResolver.cpp:
5274        (WebCore::createGridTrackBreadth):
5275        * rendering/RenderGrid.cpp:
5276        (WebCore::RenderGrid::computeUsedBreadthOfMinLength):
5277        (WebCore::RenderGrid::computeUsedBreadthOfMaxLength):
5278        (WebCore::RenderGrid::computeUsedBreadthOfSpecifiedLength):
5279
52802014-02-11  Brent Fulgham  <bfulgham@apple.com>
5281
5282        Correct some uses of 'auto'
5283        https://bugs.webkit.org/show_bug.cgi?id=128578
5284
5285        Reviewed by Anders Carlsson.
5286
5287        Correct the following instances of "for (auto ...)" to use reference or
5288        const references to avoid copies.
5289
5290        * accessibility/AccessibilityObject.cpp:
5291        (WebCore::AccessibilityObject::elementsFromAttribute):
5292        * css/CSSGridTemplateValue.cpp:
5293        (WebCore::stringForPosition):
5294        * dom/Node.cpp:
5295        (WebCore::NodeListsNodeData::invalidateCaches):
5296        * inspector/PageInjectedScriptManager.cpp:
5297        (WebCore::PageInjectedScriptManager::discardInjectedScriptsFor):
5298        * page/WheelEventDeltaTracker.cpp:
5299        (WebCore::WheelEventDeltaTracker::dominantScrollGestureDirection):
5300        * page/scrolling/ScrollingCoordinator.cpp:
5301        (WebCore::ScrollingCoordinator::computeNonFastScrollableRegion):
5302        * platform/graphics/mac/WebLayer.mm:
5303        (WebCore::drawLayerContents):
5304        * platform/ios/TileGrid.mm:
5305        (WebCore::TileGrid::dropTilesBetweenRects):
5306        (WebCore::TileGrid::dropDistantTiles):
5307        (WebCore::TileGrid::dropInvalidTiles):
5308        * rendering/InlineTextBox.cpp:
5309        (WebCore::translateIntersectionPointsToSkipInkBoundaries):
5310        * testing/InternalSettings.cpp:
5311        (WebCore::InternalSettings::Backup::restoreTo):
5312
53132014-02-10  David Hyatt  <hyatt@apple.com>
5314
5315        [New Multicolumn] Make columns work with line grids
5316        https://bugs.webkit.org/show_bug.cgi?id=128555
5317
5318        Reviewed by Antti Koivisto.
5319
5320        Added line-snap-into-columns.html and line-snap-inside-columns.html
5321
5322        * rendering/LayoutState.cpp:
5323        (WebCore::LayoutState::LayoutState):
5324        * rendering/LayoutState.h:
5325        (WebCore::LayoutState::pageOffset):
5326        (WebCore::LayoutState::setLineGridPaginationOrigin):
5327        Change the LayoutState to call into the renderer to compute the line
5328        grid pagination origin instead of doing it directly. Added the
5329        appropriate getters and setters to enable the renderer to do this.
5330
5331        * rendering/RenderBlock.cpp:
5332        (WebCore::RenderBlock::computeLineGridPaginationOrigin):
5333         * rendering/RenderBlock.h:
5334        An implementation for the old multi-column code. The logic is the
5335        same with tweaks made now that the method is on the renderer instead.
5336
5337        * rendering/RenderBlockFlow.cpp:
5338        (WebCore::RenderBlockFlow::pageLogicalTopForOffset):
5339        Fix a bug with flow threads and pageLogicalTopForOffset. Normal CSS region-based
5340        flow threads are never embedded in an enclosing pagination context, so they
5341        didn't add in the firstPageLogicalTop (or subtract it when computing the region
5342        hit). Multi-column flow threads do need to subtract out the firstPageLogicalTop,
5343        since it can occur somewhere on the page.
5344        
5345        Ultimately regions will need to get smarter here too if they want to work with
5346        line grids, but for now I just fixed multi-column.
5347
5348        * rendering/RenderBox.cpp:
5349        (WebCore::RenderBox::isUnsplittableForPagination):
5350        Undo this change, since it prevents the inheritance of line grids into the
5351        multi-column layout.
5352
5353        * rendering/RenderMultiColumnFlowThread.cpp:
5354        (WebCore::RenderMultiColumnFlowThread::computeLineGridPaginationOrigin):
5355        * rendering/RenderMultiColumnFlowThread.h:
5356        An implementation for the new multi-column code. The logic is the
5357        same as the old code. Code duplication is ok, since the old multi-column method
5358        in RenderBlock will just be deleted once the new code is turned on, and it's easier
5359        not to intertwine them.
5360
53612014-02-11  Radu Stavila  <stavila@adobe.com>
5362
5363        [CSS Regions] Overflow above the first region is not properly painted for regions with padding
5364        https://bugs.webkit.org/show_bug.cgi?id=128590
5365
5366        Reviewed by Andrei Bucur.
5367
5368        Painting is done using the layer of the region's container, so offsetting using the content box
5369        of the region itself is incorrect. 
5370
5371        Test: fast/regions/region-padding-overflow-hidden.html
5372
5373        * rendering/RenderLayer.cpp:
5374        (WebCore::RenderLayer::mapLayerClipRectsToFragmentationLayer):
5375        * rendering/RenderRegion.cpp:
5376        (WebCore::RenderRegion::regionContainer):
5377        (WebCore::RenderRegion::regionContainerLayer):
5378        * rendering/RenderRegion.h:
5379
53802014-02-11  Benjamin Poulain  <benjamin@webkit.org>
5381
5382        querySelector() does not use the compiler correctly
5383        https://bugs.webkit.org/show_bug.cgi?id=128588
5384
5385        Reviewed by Andreas Kling.
5386
5387        * dom/SelectorQuery.cpp:
5388        (WebCore::SelectorDataList::execute):
5389        I messed up the refactoring when I landed SelectorQuery. The compiled
5390        code was not used the first time through SelectorDataList::execute.
5391
53922014-02-11  Piotr Grad  <p.grad@samsung.com>
5393
5394        [GStreamer] High playback rate causes crash
5395        https://bugs.webkit.org/show_bug.cgi?id=128453
5396
5397        Reviewed by Philippe Normand.
5398
5399        To high playback rate passed to GStreamer was causing crash.
5400        Added guard in setRate method.
5401
5402        Test: media/video-extreme-playbackrate-crash.html
5403
5404        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
5405        (WebCore::MediaPlayerPrivateGStreamer::setRate):
5406
54072014-02-10  Brady Eidson  <beidson@apple.com>
5408
5409        IndexedDB assertion at IDBTransactionBackend::~IDBTransactionBackend()
5410        https://bugs.webkit.org/show_bug.cgi?id=128341
5411
5412        Reviewed by Maciej Stachowiak.
5413
5414        * Modules/indexeddb/IDBTransactionBackend.cpp:
5415        (WebCore::IDBTransactionBackend::~IDBTransactionBackend): "Finished" is not the only
5416          valid value here - In WK2, "Unused" is also valid. Update the ASSERT.
5417
54182014-02-10  Alexey Proskuryakov  <ap@apple.com>
5419
5420        Add hooks for wrapping CryptoKeys in SerializedScriptValue
5421        https://bugs.webkit.org/show_bug.cgi?id=128567
5422
5423        Reviewed by Anders Carlsson.
5424
5425        * bindings/js/SerializedScriptValue.cpp: Changed SerializedScriptValue to serialize
5426        wrapped keys. Added a version number to crypto key serialization.
5427
5428        * dom/Document.cpp:
5429        (WebCore::Document::wrapCryptoKey):
5430        (WebCore::Document::unwrapCryptoKey):
5431        * dom/Document.h:
5432        * dom/ScriptExecutionContext.h:
5433        * page/ChromeClient.h:
5434        (WebCore::ChromeClient::wrapCryptoKey):
5435        (WebCore::ChromeClient::unwrapCryptoKey):
5436        Hand wrapping/unwrapping over to client code.
5437
5438        * workers/WorkerGlobalScope.cpp:
5439        (WebCore::WorkerGlobalScope::wrapCryptoKey):
5440        (WebCore::WorkerGlobalScope::unwrapCryptoKey):
5441        * workers/WorkerGlobalScope.h:
5442        Not implemented in workers. SubtleCrypto is currently not exposed in workers. It used
5443        to be possible in WebKit implementation to post a CryptoKey to a worker anyway,
5444        but this doesn't work any more.
5445
54462014-02-10  ChangSeok Oh  <changseok.oh@collabora.com>
5447
5448        Support ANGLE_instanced_arrays for linux
5449        https://bugs.webkit.org/show_bug.cgi?id=127465
5450
5451        Reviewed by Martin Robinson.
5452
5453        Support the instanced drawing WebGL extension, ANGLE_instanced_arrays for linux platform.
5454        This is a following patch for r162565. Relevant opengl APIs are exposed
5455        for WebGLRenderingContext to access them.
5456
5457        Covered by fast/canvas/webgl/angle-instanced-arrays.html
5458
5459        * html/canvas/ANGLEInstancedArrays.cpp:
5460        (WebCore::ANGLEInstancedArrays::supported):
5461        * platform/graphics/OpenGLShims.cpp:
5462        (WebCore::initializeOpenGLShims):
5463        * platform/graphics/OpenGLShims.h:
5464        * platform/graphics/opengl/Extensions3DOpenGL.cpp:
5465        (WebCore::Extensions3DOpenGL::supportsExtension):
5466        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
5467        (WebCore::GraphicsContext3D::drawArraysInstanced):
5468        (WebCore::GraphicsContext3D::drawElementsInstanced):
5469        (WebCore::GraphicsContext3D::vertexAttribDivisor):
5470
54712014-02-10  Mark Lam  <mark.lam@apple.com>
5472
5473        Removing limitation on JSLock’s lockDropDepth.
5474        <https://webkit.org/b/128570>
5475
5476        Reviewed by Geoffrey Garen.
5477
5478        No new tests.
5479
5480        * bindings/js/PageScriptDebugServer.cpp:
5481        (WebCore::PageScriptDebugServer::runEventLoopWhilePaused):
5482        * platform/ios/wak/WebCoreThread.mm:
5483        (SendDelegateMessage):
5484        (WebThreadRunOnMainThread):
5485        - No longer need to specify AlwaysDropLocks, because DropAllLocks is
5486          now always unconditional.
5487
54882014-02-10  Benjamin Poulain  <benjamin@webkit.org>
5489
5490        Clean up MarkupAccumulator::appendCharactersReplacingEntities
5491        https://bugs.webkit.org/show_bug.cgi?id=128440
5492
5493        Reviewed by Ryosuke Niwa.
5494
5495        Some cleanup:
5496        -Remove the copied code for the loops. Instead, use a template with the loop
5497         parametrized by the characters type.
5498        -Move EntityDescription from the header to the implementation.
5499        -Make the 5 substitution strings compile-time literals. Replacement is not hot enough
5500         to justify the static here.
5501
5502        * editing/MarkupAccumulator.cpp:
5503        (WebCore::appendCharactersReplacingEntitiesInternal):
5504        (WebCore::MarkupAccumulator::appendCharactersReplacingEntities):
5505        * editing/MarkupAccumulator.h:
5506
55072014-02-10  Benjamin Poulain  <benjamin@webkit.org>
5508
5509        Add a few pseudo type to the selector compiler through function calls
5510        https://bugs.webkit.org/show_bug.cgi?id=128514
5511
5512        Reviewed by Dean Jackson.
5513
5514        Certain pseudo type checkers rely on virtual function calls. Since those types
5515        are uncommon, and this code generator cannot currently make virtual function calls,
5516        the checker are added by generating a function call to a wrapper function.
5517
5518        To avoid code duplication between SelectorChecker and the compiler, all the relevant checking
5519        code has been moved to a common header, SelectorCheckerTestFunctions.h.
5520        SelectorChecker still inline the functions, while the SelectorCompiler generate local static functions
5521        and generate calls to them as needed.
5522
5523        * GNUmakefile.list.am:
5524        * WebCore.vcxproj/WebCore.vcxproj:
5525        * WebCore.vcxproj/WebCore.vcxproj.filters:
5526        * WebCore.xcodeproj/project.pbxproj:
5527        * css/SelectorChecker.cpp:
5528        (WebCore::SelectorChecker::checkOne):
5529        * css/SelectorCheckerTestFunctions.h: Added.
5530        (WebCore::isAutofilled):
5531        (WebCore::isDefaultButtonForForm):
5532        (WebCore::isDisabled):
5533        (WebCore::isEnabled):
5534        (WebCore::isChecked):
5535        (WebCore::isInvalid):
5536        (WebCore::isOptionalFormControl):
5537        (WebCore::isRequiredFormControl):
5538        (WebCore::isValid):
5539        (WebCore::matchesReadOnlyPseudoClass):
5540        (WebCore::matchesReadWritePseudoClass):
5541        (WebCore::shouldAppearIndeterminate):
5542        (WebCore::matchesFullScreenPseudoClass):
5543        (WebCore::matchesFutureCuePseudoClass):
5544        (WebCore::matchesPastCuePseudoClass):
5545        * cssjit/SelectorCompiler.cpp:
5546        (WebCore::SelectorCompiler::addPseudoType):
5547        (WebCore::SelectorCompiler::nonConstTestFunctionWrapper):
5548        (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
5549        (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementFunctionCallTest):
5550        * dom/Element.h:
5551        (WebCore::Element::isValidFormControlElement):
5552        * dom/Node.h:
5553        (WebCore::Node::toInputElement):
5554        * html/HTMLFormControlElement.cpp:
5555        (WebCore::HTMLFormControlElement::isValidFormControlElement):
5556        * html/HTMLFormControlElement.h:
5557
55582014-02-10  Benjamin Poulain  <benjamin@webkit.org>
5559
5560        Add the basic infrastructure to compile attributes matching in selectors
5561        https://bugs.webkit.org/show_bug.cgi?id=128484
5562
5563        Reviewed by Gavin Barraclough.
5564
5565        Tests: fast/selectors/querySelector-attribute-match-with-child-backtracking.html
5566               fast/selectors/querySelector-long-attribute-match-with-child-backtracking.html
5567               fast/selectors/querySelector-long-multiple-attribute-match-with-child-backtracking.html
5568               fast/selectors/querySelector-multiple-attribute-match-with-child-backtracking.html
5569
5570        Add the infrastructure to match attributes. This only add basic support for the 'Set' match
5571        type, the other match types will have to be built on top.
5572
5573        * cssjit/RegisterAllocator.h:
5574        (WebCore::RegisterAllocator::availableRegisterCount):
5575        (WebCore::RegisterAllocator::allocateRegister):
5576        (WebCore::RegisterAllocator::deallocateRegister):
5577        (WebCore::RegisterAllocator::reserveCalleeSavedRegisters):
5578        (WebCore::RegisterAllocator::restoreCalleeSavedRegisters):
5579        (WebCore::RegisterAllocator::allocatedRegisters):
5580        (WebCore::RegisterAllocator::RegisterAllocator):
5581        (WebCore::RegisterAllocator::~RegisterAllocator):
5582        In the worst case, matching attributes can take up to 10 registers. On x86_64, we have
5583        8 caller-saved registers. The extra 2 registers are simply added by taking callee-saved registers.
5584
5585        RegisterAllocator is modified to know support saving and restoring callee saved registers.
5586        The list of available registers is changed from a vector to a HashSet because the registers
5587        are removed from arbitrary locations in restoreCalleeSavedRegisters(). The m_allocatedRegisters
5588        remain a vector since the allocation/release pattern remain ordered.
5589
5590        * cssjit/SelectorCompiler.cpp:
5591        (WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
5592
5593        (WebCore::SelectorCompiler::minimumRegisterRequirements):
5594        This new utility finds the minimum number of registers needed to compile the input. In most
5595        cases we have plenty enough. In rare cases we need to saved a few registers to the stack.
5596
5597        (WebCore::SelectorCompiler::SelectorCodeGenerator::compile):
5598        (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementDataMatching):
5599        (WebCore::SelectorCompiler::testIsHTMLFlagOnNode):
5600        (WebCore::SelectorCompiler::canMatchStyleAttribute):
5601
5602        (WebCore::SelectorCompiler::SelectorCodeGenerator::generateSynchronizeStyleAttribute):
5603        (WebCore::SelectorCompiler::SelectorCodeGenerator::generateSynchronizeAllAnimatedSVGAttribute):
5604        The style attribute and certain SVG attributes can be modified lazily. In those cases,
5605        the element needs to be updated before querying the attributes.
5606
5607        (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributesMatching):
5608        (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributeMatching):
5609        Generate the attribute matching. For each CSSSelector matching an attribute, we generate
5610        a loop over all the attributes of the element, maching the particular CSSSelector.
5611        This makes no attempt at grouping related queries since those do not seem to happen a lot
5612        in practice.
5613
5614        * dom/Attribute.h:
5615        (WebCore::Attribute::nameMemoryOffset):
5616        (WebCore::Attribute::nameMatchesFilter):
5617        (WebCore::Attribute::matches):
5618        * dom/ElementData.h:
5619        (WebCore::ElementData::isUniqueFlag):
5620        (WebCore::ElementData::arraySizeAndFlagsMemoryOffset):
5621        (WebCore::ElementData::styleAttributeIsDirtyFlag):
5622        (WebCore::ElementData::animatedSVGAttributesAreDirtyFlag):
5623        (WebCore::ElementData::arraySizeOffset):
5624        (WebCore::ShareableElementData::attributeArrayMemoryOffset):
5625        (WebCore::UniqueElementData::attributeVectorMemoryOffset):
5626        * dom/Node.h:
5627        (WebCore::Node::flagIsHTML):
5628        * dom/StyledElement.cpp:
5629        (WebCore::StyledElement::synchronizeStyleAttributeInternal):
5630        * dom/StyledElement.h:
5631        (WebCore::StyledElement::synchronizeStyleAttributeInternal):
5632        * svg/SVGElement.cpp:
5633        (WebCore::SVGElement::synchronizeAllAnimatedSVGAttribute):
5634        (WebCore::SVGElement::synchronizeAnimatedSVGAttribute):
5635        * svg/SVGElement.h:
5636
56372014-02-10  Brady Eidson  <beidson@apple.com>
5638
5639        IDB: storage/indexeddb/mozilla/indexes.html fails
5640        <rdar://problem/16031590> and https://bugs.webkit.org/show_bug.cgi?id=128563
5641
5642        Reviewed by Tim Horton.
5643
5644        Tested by storage/indexeddb/mozilla/indexes.html (and probably others)
5645
5646        * Modules/indexeddb/IDBGetResult.h:
5647        (WebCore::IDBGetResult::IDBGetResult): Add a constructor that takes an IDBKeyData argument.
5648
5649        * Modules/indexeddb/IDBRequest.cpp:
5650        (WebCore::IDBRequest::onSuccess): If there’s no keyPath then skip the injection step.
5651
56522014-02-10  Benjamin Poulain  <benjamin@webkit.org>
5653
5654        Speed up DatasetDOMStringMap::item() when the element has multiple attributes
5655        https://bugs.webkit.org/show_bug.cgi?id=128058
5656
5657        Reviewed by Darin Adler.
5658
5659        Accessing data attributes by name through DatasetDOMStringMap involes the conversion
5660        from JavaScript property name to attribute name (done with propertyNameMatchesAttributeName()).
5661
5662        When there is a single data attribute, that method is efficient. When there are several attributes,
5663        comparing names character by character becomes a bottleneck.
5664
5665        This patch add an efficent path for this case: instead of converting the attribute name on the fly,
5666        the JavaScript property name is converted to an attribute name so that it can compared by its
5667        AtomicStringImpl pointer.
5668
5669        This method puts a lot more pressure on convertPropertyNameToAttributeName()'s speed. The method was
5670        improved accordingly to compensate for its new caller.
5671
5672        When enumerating multiple attributes by name, this patch provides about 80% speedup.
5673        I could not measure any slow down on the simple cases.
5674
5675        * dom/DatasetDOMStringMap.cpp:
5676        (WebCore::convertPropertyNameToAttributeName):
5677        (WebCore::DatasetDOMStringMap::item):
5678        * dom/ElementData.h:
5679        (WebCore::AttributeIteratorAccessor::attributeCount):
5680
56812014-02-10  Ryosuke Niwa  <rniwa@webkit.org>
5682
5683        Address the review comments for r163825.
5684
5685        * html/HTMLTextFormControlElement.cpp:
5686        (WebCore::HTMLTextFormControlElement::indexForVisiblePosition):
5687        (WebCore::positionForIndex):
5688
56892014-02-10  Simon Fraser  <simon.fraser@apple.com>
5690
5691        Try to fix the 32-bit build.
5692
5693        * WebCore.exp.in:
5694
56952014-02-10  Filip Pizlo  <fpizlo@apple.com>
5696
5697        Rename Operations.h to JSCInlines.h
5698        https://bugs.webkit.org/show_bug.cgi?id=128543
5699
5700        Rubber stamped by Geoffrey Garen.
5701
5702        No new tests because no change in behavior.
5703
5704        * ForwardingHeaders/runtime/JSCInlines.h: Added.
5705        * bindings/js/JSCryptoAlgorithmBuilder.cpp:
5706        * bindings/js/JSCryptoKeySerializationJWK.cpp:
5707        * bindings/js/JSCustomXPathNSResolver.h:
5708        * bindings/js/JSDOMBinding.h:
5709        * bindings/js/JSDOMGlobalObject.h:
5710        * bindings/js/JSDictionary.h:
5711        * bindings/js/JSMessagePortCustom.cpp:
5712        * bindings/js/JSMessagePortCustom.h:
5713        * bindings/js/JSNodeFilterCondition.h:
5714        * bindings/js/SerializedScriptValue.cpp:
5715        * bindings/js/WebCoreTypedArrayController.cpp:
5716        * bridge/c/c_utility.h:
5717        * bridge/jsc/BridgeJSC.h:
5718        * dom/CustomEvent.cpp:
5719        * dom/Node.cpp:
5720        * html/HTMLCanvasElement.cpp:
5721        * html/HTMLImageLoader.cpp:
5722        * html/canvas/WebGLRenderingContext.cpp:
5723        * inspector/InspectorDOMAgent.cpp:
5724        * inspector/WebConsoleAgent.cpp:
5725        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
5726        * platform/graphics/filters/FEGaussianBlur.cpp:
5727        * platform/graphics/filters/FilterEffect.cpp:
5728        * testing/MockCDM.cpp:
5729        * xml/XMLHttpRequest.cpp:
5730
57312014-02-09  Dean Jackson  <dino@apple.com>
5732
5733        Update aspect-ratio property to have constraining keywords
5734        https://bugs.webkit.org/show_bug.cgi?id=128262
5735
5736        Reviewed by Simon Fraser.
5737
5738        Add support for "from-dimensions" and "from-intrinsic"
5739        property values to "-webkit-aspect-ratio". I also changed
5740        the default value from "none" to "auto", because "none" doesn't
5741        make sense any more.
5742
5743        Covered by enhancing existing tests.
5744
5745        * css/CSSComputedStyleDeclaration.cpp:
5746        (WebCore::ComputedStyleExtractor::propertyValue): New keywords.
5747        * css/CSSParser.cpp:
5748        (WebCore::CSSParser::parseAspectRatio): Support new keywords.
5749        * css/CSSValueKeywords.in: Add from-dimensions and from-intrinsic.
5750        * css/DeprecatedStyleBuilder.cpp: This now has to handle the new
5751        values. I also changed "none" to "auto".
5752        (WebCore::ApplyPropertyAspectRatio::applyInheritValue):
5753        (WebCore::ApplyPropertyAspectRatio::applyInitialValue):
5754        (WebCore::ApplyPropertyAspectRatio::applyValue):
5755        * rendering/style/RenderStyle.h: hasAspectRatio is now aspectRatioType
5756        and indicates one of the three keywords, or a specified number.
5757        * rendering/style/RenderStyleConstants.h: New enum.
5758        * rendering/style/StyleRareNonInheritedData.cpp:
5759        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
5760        (WebCore::StyleRareNonInheritedData::operator==):
5761        * rendering/style/StyleRareNonInheritedData.h:
5762
57632014-02-10  Benjamin Poulain  <bpoulain@apple.com>
5764
5765        [WK2] Add support for image document viewport configuration
5766        https://bugs.webkit.org/show_bug.cgi?id=128565
5767
5768        Reviewed by Simon Fraser.
5769
5770        Add proper default settings for displaying images.
5771
5772        * WebCore.exp.in:
5773        * page/ViewportConfiguration.cpp:
5774        (WebCore::ViewportConfiguration::imageDocumentParameters):
5775        (WebCore::ViewportConfiguration::textDocumentParameters):
5776        * page/ViewportConfiguration.h:
5777
57782014-02-10  Brendan Long  <b.long@cablelabs.com>
5779
5780        Unreviewed GTK build fix after r163816.
5781
5782        * GNUmakefile.list.am: Remove HTMLMediaSource.h and HTMLMediaSource.cpp
5783
57842014-02-10  Jinwoo Song  <jinwoo7.song@samsung.com>
5785
5786        Unreviewed EFL WebKit2 build fix after r163816.
5787
5788        * CMakeLists.txt: Remove HTMLMediaSource.cpp
5789
57902014-02-10  Ryosuke Niwa  <rniwa@webkit.org>
5791
5792        HTMLTextFormControlElement::setSelectionRange shouldn't use VisiblePosition
5793        https://bugs.webkit.org/show_bug.cgi?id=128478
5794
5795        Reviewed by Darin Adler.
5796
5797        Added positionForIndex to compute Position given a selection index. This function doesn't
5798        synchronously trigger like visiblePositionForIndex.
5799
5800        Also added assertions in visiblePositionForIndex and visiblePositionForIndex to make sure
5801        they are inverse of one another.
5802
5803        * html/HTMLTextFormControlElement.cpp:
5804        (WebCore::HTMLTextFormControlElement::setSelectionRange): Use positionForIndex. Also removed
5805        the now tautological assertions since we would never create a position outside the inner text
5806        element.
5807
5808        (WebCore::HTMLTextFormControlElement::indexForVisiblePosition): Fixed the bug where this
5809        function could return a selection index beyond innerTextElement in some types of input
5810        elements such as search fields. fast/forms/search-disabled-readonly.html hits the newly
5811        added assertion without this change. Note we can't use visiblePositionForIndex here as that
5812        would result in a mutual recursion with the assertion in visiblePositionForIndex.
5813
5814        (WebCore::HTMLTextFormControlElement::visiblePositionForIndex): Added an assertion.
5815
5816        (WebCore::positionForIndex): Added. It's here with prototype at the beginning of the file
5817        so that it's right next to HTMLTextFormControlElement::innerText() where we do a similar
5818        DOM traversal to obtain the inner text value.
5819
58202014-02-07  Jeffrey Pfau  <jpfau@apple.com>
5821
5822        Disable access to application cache when in private browsing
5823        https://bugs.webkit.org/show_bug.cgi?id=128426
5824
5825        Reviewed by Alexey Proskuryakov.
5826
5827        Tests: http/tests/security/appcache-in-private-browsing.html
5828               http/tests/security/appcache-switching-private-browsing.html
5829
5830        * loader/appcache/ApplicationCacheGroup.cpp:
5831        (WebCore::ApplicationCacheGroup::cacheForMainRequest):
5832        (WebCore::ApplicationCacheGroup::selectCache):
5833        (WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL):
5834        (WebCore::ApplicationCacheGroup::update):
5835        * loader/appcache/ApplicationCacheHost.cpp:
5836        (WebCore::ApplicationCacheHost::isApplicationCacheEnabled):
5837
58382014-02-10  Jer Noble  <jer.noble@apple.com>
5839
5840        [MSE] Fix layering violations in MediaSource
5841        https://bugs.webkit.org/show_bug.cgi?id=128546
5842
5843        Reviewed by Eric Carlson.
5844
5845        Code in Modules should be considered part of html/ and should have the
5846        same layering properties. Get rid of HTMLMediaSource (which was intended
5847        to allow Modules/mediasource to be considered part of platform/) and add
5848        a new client interface allowing communication from platform/ -> 
5849        Modules/mediasource.
5850
5851        Replace HTMLMediaSource -> MediaSourcePrivateClient:
5852        * html/HTMLMediaSource.cpp: Removed.
5853        * html/HTMLMediaSource.h: Removed.
5854        * platform/graphics/MediaSourcePrivateClient.h: Added.
5855        (WebCore::MediaSourcePrivateClient::~MediaSourcePrivateClient):
5856
5857        Move registry support from HTMLMediaSource -> MediaSource.
5858        * Modules/mediasource/MediaSource.cpp:
5859        (WebCore::MediaSource::setRegistry): Moved from HTMLMediaSource.cpp.
5860        * Modules/mediasource/MediaSource.h:
5861        (WebCore::MediaSource::lookup): Ditto.
5862
5863        Update references to HTMLMediaSource -> MediaSource:
5864        * Modules/mediasource/MediaSourceRegistry.cpp:
5865        (WebCore::MediaSourceRegistry::MediaSourceRegistry): 
5866        * WebCore.xcodeproj/project.pbxproj:
5867        * html/HTMLMediaElement.cpp:
5868        (WebCore::HTMLMediaElement::loadResource):
5869        * html/HTMLMediaElement.h:
5870
5871        Update references to HTMLMediaSource -> MediaSourcePrivateClient:
5872        * platform/graphics/MediaPlayer.cpp:
5873        (WebCore::NullMediaPlayerPrivate::load):
5874        (WebCore::MediaPlayer::load): Ditto.
5875        (WebCore::MediaPlayer::loadWithNextMediaEngine):
5876        * platform/graphics/MediaPlayer.h:
5877        * platform/graphics/MediaPlayerPrivate.h:
5878        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
5879        (WebCore::MediaPlayerPrivateAVFoundation::load):
5880        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
5881        * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
5882        * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
5883        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::load):
5884        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
5885        (WebCore::MediaPlayerPrivateGStreamer::load):
5886        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
5887        * platform/graphics/gstreamer/MediaSourceGStreamer.cpp:
5888        (WebCore::MediaSourceGStreamer::open):
5889        * platform/graphics/gstreamer/MediaSourceGStreamer.h:
5890        * platform/graphics/ios/MediaPlayerPrivateIOS.h:
5891        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
5892        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
5893        (WebCore::MediaPlayerPrivateQTKit::load):
5894        * platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:
5895        (WebCore::MockMediaPlayerMediaSource::load):
5896        * platform/mock/mediasource/MockMediaPlayerMediaSource.h:
5897
58982014-02-10  Alexey Proskuryakov  <ap@apple.com>
5899
5900        Remove some unused functions from SerializedScriptValue
5901        https://bugs.webkit.org/show_bug.cgi?id=128407
5902
5903        Reviewed by Oliver Hunt.
5904
5905        Removed functions that used Deprecated::ScriptValue
5906
5907        * Modules/indexeddb/IDBObjectStore.cpp:
5908        (WebCore::IDBObjectStore::put):
5909        * bindings/js/IDBBindingUtilities.cpp:
5910        (WebCore::deserializeIDBValue):
5911        (WebCore::deserializeIDBValueBuffer):
5912        * bindings/js/SerializedScriptValue.cpp:
5913        * bindings/js/SerializedScriptValue.h:
5914
59152014-02-10  Roger Fong  <roger_fong@apple.com>
5916
5917        [Windows] Unreviewed test fix.
5918
5919        * platform/graphics/cg/GraphicsContextCG.cpp: m_pixelSnappingFactor was not set to 1.
5920        (WebCore::GraphicsContext::platformInit):
5921
59222014-02-10  Carlos Garcia Campos  <cgarcia@igalia.com>
5923
5924        [GLIB] Add GUniqueOutPtr and use it instead of GOwnPtr
5925        https://bugs.webkit.org/show_bug.cgi?id=127554
5926
5927        Reviewed by Gustavo Noronha Silva.
5928
5929        Use GUniqueOutPtr instead of GOwnPtr.
5930
5931        * GNUmakefile.list.am:
5932        * PlatformEfl.cmake:
5933        * PlatformGTK.cmake:
5934        * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
5935        (WebCore::AudioDestinationGStreamer::handleMessage):
5936        * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
5937        (WebCore::AudioFileReader::handleMessage):
5938        * platform/glib/BatteryProviderUPower.cpp:
5939        (BatteryProviderUPower::startUpdating):
5940        * platform/graphics/gstreamer/GStreamerUtilities.cpp:
5941        (WebCore::initializeGStreamer):
5942        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
5943        (WebCore::MediaPlayerPrivateGStreamer::handleMessage):
5944        * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
5945        (WebCore::TrackPrivateBaseGStreamer::getTag):
5946        * platform/graphics/gtk/ImageBufferGtk.cpp:
5947        (WebCore::encodeImage):
5948        (WebCore::ImageBuffer::toDataURL):
5949        * platform/graphics/gtk/ImageGtk.cpp:
5950        (WebCore::loadResourceSharedBuffer):
5951        * platform/gtk/DataObjectGtk.cpp:
5952        (WebCore::DataObjectGtk::setURIList):
5953        * platform/gtk/FileSystemGtk.cpp:
5954        (WebCore::readFromFile):
5955        * platform/gtk/GamepadsGtk.cpp:
5956        (WebCore::GamepadDeviceGtk::readCallback):
5957        * platform/gtk/GtkInputMethodFilter.cpp:
5958        (WebCore::GtkInputMethodFilter::handlePreeditChanged):
5959        * platform/gtk/PasteboardHelper.cpp:
5960        (WebCore::PasteboardHelper::fillDataObjectFromDropData):
5961        * platform/gtk/RenderThemeGtk.cpp:
5962        (WebCore::RenderThemeGtk::systemFont):
5963        * platform/gtk/SharedBufferGtk.cpp:
5964        (WebCore::SharedBuffer::createWithContentsOfFile):
5965        * platform/network/gtk/CredentialBackingStore.cpp:
5966        (WebCore::credentialForChallengeAsyncReadyCallback):
5967        * platform/network/soup/GOwnPtrSoup.cpp: Removed.
5968        * platform/network/soup/GOwnPtrSoup.h: Removed.
5969        * platform/network/soup/ResourceHandleSoup.cpp:
5970        (WebCore::redirectSkipCallback):
5971        (WebCore::nextMultipartResponsePartCallback):
5972        (WebCore::sendRequestCallback):
5973        (WebCore::addFileToSoupMessageBody):
5974        (WebCore::createSoupRequestAndMessageForHandle):
5975        (WebCore::readCallback):
5976        * platform/network/soup/SocketStreamHandleSoup.cpp:
5977        (WebCore::SocketStreamHandle::platformSend):
5978        (WebCore::SocketStreamHandle::platformClose):
5979        (WebCore::connectedCallback):
5980        (WebCore::readReadyCallback):
5981        * platform/network/soup/SoupNetworkSession.cpp:
5982        (WebCore::SoupNetworkSession::httpProxy):
5983
59842014-02-10  Darin Adler  <darin@apple.com>
5985
5986        Automatically generate isRendererOfType in RENDER_OBJECT_TYPE_CASTS
5987        https://bugs.webkit.org/show_bug.cgi?id=128520
5988
5989        Reviewed by Andreas Kling.
5990
5991        * rendering/RenderObject.h: Updated the RENDER_OBJECT_TYPE_CASTS macro so
5992        that it generates isRendererOfType specializations as well as type casts
5993        and also have the type casts use the isRendererOfType function. The macro
5994        also now uses an argument name of "renderer" and allows for a predicate
5995        that is more than just a single function call (see RenderTextFragment.h).
5996
5997        * rendering/RenderBlock.h:
5998        * rendering/RenderBlockFlow.h:
5999        * rendering/RenderBox.h:
6000        * rendering/RenderBoxModelObject.h:
6001        * rendering/RenderCounter.h:
6002        * rendering/RenderElement.h:
6003        * rendering/RenderFrameSet.h:
6004        * rendering/RenderLayerModelObject.h:
6005        * rendering/RenderMenuList.h:
6006        * rendering/RenderNamedFlowThread.h:
6007        * rendering/RenderRubyRun.h:
6008        * rendering/RenderTableSection.h:
6009        * rendering/RenderText.h:
6010        * rendering/mathml/RenderMathMLBlock.h:
6011        * rendering/mathml/RenderMathMLOperator.h:
6012        * rendering/mathml/RenderMathMLToken.h:
6013        * rendering/svg/RenderSVGRoot.h:
6014        * rendering/svg/RenderSVGText.h:
6015        Removed specialization of isRendererOfType, since the RENDER_OBJECT_TYPE_CASTS
6016        macro handles that now. Also removed some unneeded semicolons.
6017
6018        * rendering/RenderTextFragment.h: Use RENDER_OBJECT_TYPE_CASTS instead of
6019        hand written casts, now that it can handle a non-trivial predicate.
6020
6021        * rendering/RenderCombineText.h:
6022        * rendering/RenderDetailsMarker.h:
6023        * rendering/RenderListMarker.h:
6024        * rendering/RenderVideo.h:
6025        * rendering/RenderView.h:
6026        * rendering/mathml/RenderMathMLFraction.h:
6027        * rendering/mathml/RenderMathMLScripts.h:
6028        * rendering/mathml/RenderMathMLSpace.h:
6029        Removed unneeded semicolons.
6030
60312014-02-10  Darin Adler  <darin@apple.com>
6032
6033        Stop using String::deprecatedCharacters to call WTF::Collator
6034        https://bugs.webkit.org/show_bug.cgi?id=128517
6035
6036        Reviewed by Alexey Proskuryakov.
6037
6038        * xml/XSLTUnicodeSort.cpp:
6039        (WebCore::xsltUnicodeSortFunction): Create the collator in a single line using the
6040        new constructor that takes a shouldSortLowercaseFirst boolean. Use the new
6041        collateUTF8 function instead of upconverting UTF-8 strings to UTF-16 as the old code did.
6042
60432014-02-10  Changhun Kang  <temoochin@company100.net>
6044
6045        Remove unnecessary comment lines.
6046        https://bugs.webkit.org/show_bug.cgi?id=127894
6047
6048        Reviewed by Darin Adler.
6049
6050        No new tests. No change in behavior.
6051
6052        * Modules/websockets/WebSocketHandshake.cpp:
6053        (WebCore::WebSocketHandshake::clientHandshakeRequest):
6054
60552014-02-10  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
6056
6057        Fix EFL build with INSPECTOR disabled
6058        https://bugs.webkit.org/show_bug.cgi?id=125064
6059
6060        Reviewed by Csaba Osztrogonác.
6061
6062        * bindings/js/PageScriptDebugServer.cpp:
6063        * bindings/js/PageScriptDebugServer.h:
6064        * bindings/js/WorkerScriptDebugServer.cpp:
6065        * bindings/js/WorkerScriptDebugServer.h:
6066        * inspector/PageInjectedScriptManager.h:
6067
60682014-02-10  Zan Dobersek  <zdobersek@igalia.com>
6069
6070        Fix a few mistakes that landed with r163749.
6071
6072        Rubber-stamped by Carlos Garcia Campos.
6073
6074        * platform/gtk/GtkTouchContextHelper.cpp:
6075        (WebCore::GtkTouchContextHelper::handleEvent): When handling GDK_TOUCH_BEGIN, the assertion
6076        should ensure that the sequence-to-event map doesn't yet contain pairs with the specific
6077        sequence as the key.
6078
60792014-02-10  David Kilzer  <ddkilzer@apple.com>
6080
6081        Add type-safe casts for ContentData subclasses
6082        <http://webkit.org/b/128510>
6083
6084        Reviewed by Darin Adler.
6085
6086        * css/CSSComputedStyleDeclaration.cpp:
6087        (WebCore::contentToCSSValue):
6088        * css/StyleResolver.cpp:
6089        (WebCore::StyleResolver::loadPendingImages):
6090        * rendering/RenderElement.cpp:
6091        (WebCore::RenderElement::createFor):
6092        * rendering/style/RenderStyle.cpp:
6093        (WebCore::RenderStyle::setContent):
6094        - Switch to toFooContentData() methods.
6095
6096        * rendering/style/ContentData.h:
6097        - Define toFooContentData() methods.
6098        - Extract FooContentData::equals() methods so that the
6099          toFooContentData() methods can be used.
6100
61012014-02-09  Dirk Schulze  <dschulze@chromium.org>
6102
6103        -webkit-clip-path should support fill, stroke, view-box keywords
6104        https://bugs.webkit.org/show_bug.cgi?id=128393
6105
6106        Reviewed by Dean Jackson.
6107
6108        CSS Masking uses the keywords fill, stroke and view-box for SVG shapes.
6109        This patch updates the parser, style resolver and SVG implementation of
6110        the prefixed clip-path property.
6111
6112        Remove the unexposed and obsolete keyword bounding-box.
6113
6114        Tests: svg/clip-path/clip-path-shape-fill-expected.svg
6115               svg/clip-path/clip-path-shape-fill.svg
6116               svg/clip-path/clip-path-shape-stroke-expected.svg
6117               svg/clip-path/clip-path-shape-stroke.svg
6118               svg/clip-path/clip-path-shape-view-box-expected.svg
6119               svg/clip-path/clip-path-shape-view-box.svg
6120
6121        * css/CSSParser.cpp: Parse fill, stroke, view-box. Remove bounding-box.
6122        (WebCore::isBoxValue):
6123        * css/CSSPrimitiveValueMappings.h:
6124        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
6125        (WebCore::CSSPrimitiveValue::operator LayoutBox):
6126        * css/CSSValueKeywords.in:
6127        * css/DeprecatedStyleBuilder.cpp:
6128        (WebCore::ApplyPropertyClipPath::applyValue):
6129        * rendering/RenderLayer.cpp:
6130        (WebCore::computeReferenceBox):
6131        * rendering/shapes/ShapeInfo.h:
6132        (WebCore::ShapeInfo::setShapeSize):
6133        (WebCore::ShapeInfo::logicalTopOffset):
6134        (WebCore::ShapeInfo::logicalLeftOffset):
6135        * rendering/style/RenderStyleConstants.h:
6136        * rendering/svg/SVGRenderingContext.cpp: Use different reference boxes per keyword.
6137        (WebCore::SVGRenderingContext::prepareToRenderSVGContent):
6138
61392014-02-09  Dean Jackson  <dino@apple.com>
6140
6141        [WebGL] Remove state restorer code
6142        https://bugs.webkit.org/show_bug.cgi?id=128516
6143
6144        Reviewed by Dirk Schulze.
6145
6146        I'm not sure what the point of the WebGLStateRestorer class was. It was
6147        always constructed with a false parameter, and then wasn't even retained
6148        in local scope (so wouldn't have worked anyway). Meanwhile there were
6149        also LOTS of calls to cleanupAfterGraphicsCall, the majority of which
6150        were a no-op. I replaced the handful of cleanupAfterGraphicsCall(true)
6151        with the call to markContextChanged().
6152
6153        * html/canvas/OESVertexArrayObject.cpp:
6154        (WebCore::OESVertexArrayObject::bindVertexArrayOES):
6155        * html/canvas/WebGLRenderingContext.cpp:
6156        (WebCore::WebGLRenderingContext::activeTexture):
6157        (WebCore::WebGLRenderingContext::attachShader):
6158        (WebCore::WebGLRenderingContext::bindAttribLocation):
6159        (WebCore::WebGLRenderingContext::bindBuffer):
6160        (WebCore::WebGLRenderingContext::bindFramebuffer):
6161        (WebCore::WebGLRenderingContext::bindRenderbuffer):
6162        (WebCore::WebGLRenderingContext::bindTexture):
6163        (WebCore::WebGLRenderingContext::blendColor):
6164        (WebCore::WebGLRenderingContext::blendEquation):
6165        (WebCore::WebGLRenderingContext::blendEquationSeparate):
6166        (WebCore::WebGLRenderingContext::blendFunc):
6167        (WebCore::WebGLRenderingContext::blendFuncSeparate):
6168        (WebCore::WebGLRenderingContext::bufferData):
6169        (WebCore::WebGLRenderingContext::bufferSubData):
6170        (WebCore::WebGLRenderingContext::checkFramebufferStatus):
6171        (WebCore::WebGLRenderingContext::clear):
6172        (WebCore::WebGLRenderingContext::clearColor):
6173        (WebCore::WebGLRenderingContext::clearDepth):
6174        (WebCore::WebGLRenderingContext::clearStencil):
6175        (WebCore::WebGLRenderingContext::colorMask):
6176        (WebCore::WebGLRenderingContext::compileShader):
6177        (WebCore::WebGLRenderingContext::compressedTexImage2D):
6178        (WebCore::WebGLRenderingContext::compressedTexSubImage2D):
6179        (WebCore::WebGLRenderingContext::copyTexImage2D):
6180        (WebCore::WebGLRenderingContext::copyTexSubImage2D):
6181        (WebCore::WebGLRenderingContext::cullFace):
6182        (WebCore::WebGLRenderingContext::depthFunc):
6183        (WebCore::WebGLRenderingContext::depthMask):
6184        (WebCore::WebGLRenderingContext::depthRange):
6185        (WebCore::WebGLRenderingContext::detachShader):
6186        (WebCore::WebGLRenderingContext::disable):
6187        (WebCore::WebGLRenderingContext::disableVertexAttribArray):
6188        (WebCore::WebGLRenderingContext::validateDrawArrays):
6189        (WebCore::WebGLRenderingContext::drawArrays):
6190        (WebCore::WebGLRenderingContext::validateDrawElements):
6191        (WebCore::WebGLRenderingContext::drawElements):
6192        (WebCore::WebGLRenderingContext::enable):
6193        (WebCore::WebGLRenderingContext::enableVertexAttribArray):
6194        (WebCore::WebGLRenderingContext::finish):
6195        (WebCore::WebGLRenderingContext::flush):
6196        (WebCore::WebGLRenderingContext::framebufferRenderbuffer):
6197        (WebCore::WebGLRenderingContext::framebufferTexture2D):
6198        (WebCore::WebGLRenderingContext::frontFace):
6199        (WebCore::WebGLRenderingContext::generateMipmap):
6200        (WebCore::WebGLRenderingContext::getBufferParameter):
6201        (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
6202        (WebCore::WebGLRenderingContext::getParameter):
6203        (WebCore::WebGLRenderingContext::getProgramParameter):
6204        (WebCore::WebGLRenderingContext::getProgramInfoLog):
6205        (WebCore::WebGLRenderingContext::getRenderbufferParameter):
6206        (WebCore::WebGLRenderingContext::getShaderParameter):
6207        (WebCore::WebGLRenderingContext::getShaderInfoLog):
6208        (WebCore::WebGLRenderingContext::getTexParameter):
6209        (WebCore::WebGLRenderingContext::getUniform):
6210        (WebCore::WebGLRenderingContext::getUniformLocation):
6211        (WebCore::WebGLRenderingContext::getVertexAttrib):
6212        (WebCore::WebGLRenderingContext::getVertexAttribOffset):
6213        (WebCore::WebGLRenderingContext::hint):
6214        (WebCore::WebGLRenderingContext::lineWidth):
6215        (WebCore::WebGLRenderingContext::linkProgram):
6216        (WebCore::WebGLRenderingContext::pixelStorei):
6217        (WebCore::WebGLRenderingContext::polygonOffset):
6218        (WebCore::WebGLRenderingContext::readPixels):
6219        (WebCore::WebGLRenderingContext::releaseShaderCompiler):
6220        (WebCore::WebGLRenderingContext::renderbufferStorage):
6221        (WebCore::WebGLRenderingContext::sampleCoverage):
6222        (WebCore::WebGLRenderingContext::scissor):
6223        (WebCore::WebGLRenderingContext::shaderSource):
6224        (WebCore::WebGLRenderingContext::stencilFunc):
6225        (WebCore::WebGLRenderingContext::stencilFuncSeparate):
6226        (WebCore::WebGLRenderingContext::stencilMask):
6227        (WebCore::WebGLRenderingContext::stencilMaskSeparate):
6228        (WebCore::WebGLRenderingContext::stencilOp):
6229        (WebCore::WebGLRenderingContext::stencilOpSeparate):
6230        (WebCore::WebGLRenderingContext::texImage2DBase):
6231        (WebCore::WebGLRenderingContext::texImage2D):
6232        (WebCore::WebGLRenderingContext::texParameter):
6233        (WebCore::WebGLRenderingContext::texSubImage2DBase):
6234        (WebCore::WebGLRenderingContext::uniform1f):
6235        (WebCore::WebGLRenderingContext::uniform1fv):
6236        (WebCore::WebGLRenderingContext::uniform1i):
6237        (WebCore::WebGLRenderingContext::uniform1iv):
6238        (WebCore::WebGLRenderingContext::uniform2f):
6239        (WebCore::WebGLRenderingContext::uniform2fv):
6240        (WebCore::WebGLRenderingContext::uniform2i):
6241        (WebCore::WebGLRenderingContext::uniform2iv):
6242        (WebCore::WebGLRenderingContext::uniform3f):
6243        (WebCore::WebGLRenderingContext::uniform3fv):
6244        (WebCore::WebGLRenderingContext::uniform3i):
6245        (WebCore::WebGLRenderingContext::uniform3iv):
6246        (WebCore::WebGLRenderingContext::uniform4f):
6247        (WebCore::WebGLRenderingContext::uniform4fv):
6248        (WebCore::WebGLRenderingContext::uniform4i):
6249        (WebCore::WebGLRenderingContext::uniform4iv):
6250        (WebCore::WebGLRenderingContext::uniformMatrix2fv):
6251        (WebCore::WebGLRenderingContext::uniformMatrix3fv):
6252        (WebCore::WebGLRenderingContext::uniformMatrix4fv):
6253        (WebCore::WebGLRenderingContext::useProgram):
6254        (WebCore::WebGLRenderingContext::validateProgram):
6255        (WebCore::WebGLRenderingContext::vertexAttribPointer):
6256        (WebCore::WebGLRenderingContext::viewport):
6257        (WebCore::WebGLRenderingContext::vertexAttribfImpl):
6258        (WebCore::WebGLRenderingContext::vertexAttribfvImpl):
6259        (WebCore::WebGLRenderingContext::drawArraysInstanced):
6260        (WebCore::WebGLRenderingContext::drawElementsInstanced):
6261        * html/canvas/WebGLRenderingContext.h:
6262
62632014-02-09  Dean Jackson  <dino@apple.com>
6264
6265        Remove unused layer owner from WebGLLayer
6266        https://bugs.webkit.org/show_bug.cgi?id=128512
6267
6268        Reviewed by Dirk Schulze.
6269
6270        The m_layerOwner and ObjC category were not
6271        used anywhere.
6272
6273        * platform/graphics/mac/WebGLLayer.h:
6274        * platform/graphics/mac/WebGLLayer.mm:
6275        (-[WebGLLayer display]):
6276
62772014-02-09  Ryuan Choi  <ryuan.choi@samsung.com>
6278
6279        [EFL] Remove PageClientEfl
6280        https://bugs.webkit.org/show_bug.cgi?id=128508
6281
6282        Reviewed by Andreas Kling.
6283
6284        PageClientEfl was introduced for accelerated compositing of WebKit1, but
6285        it's bad idea because it's layer violation.
6286        Indeed, it has never been used since introduced.
6287
6288        * platform/Widget.h: Back to PlatformPageClient to Evas_Object.
6289        * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
6290        Removed empty method which use PageClientEfl.
6291        * platform/graphics/efl/GraphicsContext3DPrivate.h: Ditto.
6292
62932014-02-09  Tim Horton  <timothy_horton@apple.com>
6294
6295        [iOS][wk2] ASSERT(WebThreadIsCurrent()) in [WebDisplayLinkHandler handleDisplayLink:]
6296        https://bugs.webkit.org/show_bug.cgi?id=128490
6297
6298        Reviewed by Simon Fraser.
6299
6300        * platform/graphics/ios/DisplayRefreshMonitorIOS.mm:
6301        (-[WebDisplayLinkHandler handleDisplayLink:]):
6302        [WebDisplayLinkHandler handleDisplayLink:] has an ASSERT(WebThreadIsCurrent()).
6303
6304        We don't use the Web Thread in WebKit2, but it looks like isMainThread()
6305        does the right thing (main thread if web thread is disabled, web thread
6306        otherwise), so use that instead.
6307
63082014-02-09  Anders Carlsson  <andersca@apple.com>
6309
6310        Add WTF_MAKE_FAST_ALLOCATED to more classes
6311        https://bugs.webkit.org/show_bug.cgi?id=128506
6312
6313        Reviewed by Andreas Kling.
6314
6315        * dom/Node.h:
6316        * dom/ScriptElement.h:
6317        * loader/ImageLoader.h:
6318        * loader/cache/CachedResourceClient.h:
6319        * platform/TreeShared.h:
6320        * platform/graphics/GlyphMetricsMap.h:
6321        * rendering/InlineBox.h:
6322        * rendering/RenderLayer.h:
6323        * rendering/RenderObject.h:
6324
63252014-02-09  Andreas Kling  <akling@apple.com>
6326
6327        Reduce ref churn in ChildNodesLazySnapshot iteration.
6328        <https://webkit.org/b/128492>
6329
6330        Add a missing release() in ChildNodesLazySnapshot::nextNode()
6331        so we don't have to churn the ref count.
6332
6333        Reviewed by Sam Weinig.
6334
6335        * dom/ContainerNode.h:
6336        (WebCore::ChildNodesLazySnapshot::nextNode):
6337
63382014-02-09  Andreas Kling  <akling@apple.com>
6339
6340        Reduce ref churn in ChildInsertionNotifier.
6341        <https://webkit.org/b/128494>
6342
6343        All callers of notifyNodeInsertedIntoDocument() already hold a strong
6344        reference on the Node, so there's no need to ref it again inside.
6345
6346        Reviewed by Anders Carlsson.
6347
6348        * dom/ContainerNodeAlgorithms.h:
6349        (WebCore::ChildNodeInsertionNotifier::notifyNodeInsertedIntoDocument):
6350
63512014-02-09  Zan Dobersek  <zdobersek@igalia.com>
6352
6353        Manage ShadowData through std::unique_ptr
6354        https://bugs.webkit.org/show_bug.cgi?id=128466
6355
6356        Reviewed by Andreas Kling.
6357
6358        Use std::unique_ptr instead of OwnPtr to manage ShadowData objects.
6359
6360        * css/SVGCSSStyleSelector.cpp:
6361        (WebCore::StyleResolver::applySVGProperty):
6362        * css/StyleResolver.cpp:
6363        (WebCore::StyleResolver::applyProperty):
6364        * page/animation/CSSPropertyAnimation.cpp:
6365        (WebCore::blendFunc):
6366        (WebCore::PropertyWrapperShadow::PropertyWrapperShadow):
6367        (WebCore::PropertyWrapperShadow::blendSimpleOrMatchedShadowLists):
6368        (WebCore::PropertyWrapperShadow::blendMismatchedShadowLists):
6369        * rendering/style/RenderStyle.cpp:
6370        (WebCore::RenderStyle::setTextShadow):
6371        (WebCore::RenderStyle::setBoxShadow):
6372        * rendering/style/RenderStyle.h:
6373        * rendering/style/SVGRenderStyle.h:
6374        (WebCore::SVGRenderStyle::setShadow):
6375        * rendering/style/SVGRenderStyleDefs.cpp:
6376        (WebCore::StyleShadowSVGData::StyleShadowSVGData):
6377        * rendering/style/SVGRenderStyleDefs.h:
6378        * rendering/style/ShadowData.cpp:
6379        (WebCore::ShadowData::ShadowData):
6380        * rendering/style/ShadowData.h:
6381        (WebCore::ShadowData::setNext):
6382        * rendering/style/StyleRareInheritedData.cpp:
6383        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
6384        * rendering/style/StyleRareInheritedData.h:
6385        * rendering/style/StyleRareNonInheritedData.cpp:
6386        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
6387        * rendering/style/StyleRareNonInheritedData.h:
6388
63892014-02-09  Carlos Garnacho  <carlosg@gnome.org>
6390
6391        [GTK] Add touch-events related code to build
6392        https://bugs.webkit.org/show_bug.cgi?id=98931
6393
6394        Reviewed by Carlos Garcia Campos.
6395
6396        Tests in fast/events/touch have been enabled on GTK+ now that touch
6397        support is implemented, and thus all expected bits are there.
6398
6399        * platform/gtk/GtkTouchContextHelper.cpp:
6400        * platform/gtk/GtkTouchContextHelper.h: Add helper object to track all touchpoints, handy
6401        when creating WebTouchEvents.
6402        * GNUmakefile.list.am:
6403        * PlatformGTK.cmake:
6404        * bindings/gobject/GNUmakefile.am: Add touch related code and idls to build, those are
6405        necessary now that GTK+ implements touch events.
6406
64072014-02-09  Zan Dobersek  <zdobersek@igalia.com>
6408
6409        Switch the rest of CSS code from OwnPtr over to std::unique_ptr
6410        https://bugs.webkit.org/show_bug.cgi?id=128471
6411
6412        Reviewed by Andreas Kling.
6413
6414        Replace the remaining uses of OwnPtr in the CSS code with std::unique_ptr, covering
6415        the CSSParser, CSSParserSelector and CSSSelector classes and a few additional, closely related classes.
6416
6417        * css/CSSGrammar.y.in:
6418        * css/CSSParser.cpp:
6419        (WebCore::CSSParser::parseSheet):
6420        (WebCore::CSSParser::parseDeclaration):
6421        (WebCore::CSSParser::parseValue):
6422        (WebCore::CSSParser::markSupportsRuleHeaderStart):
6423        (WebCore::CSSParser::createKeyframesRule):
6424        (WebCore::CSSParser::createStyleRule):
6425        (WebCore::CSSParser::rewriteSpecifiersWithElementName):
6426        (WebCore::CSSParser::rewriteSpecifiers):
6427        * css/CSSParser.h:
6428        * css/CSSParserValues.cpp:
6429        (WebCore::CSSParserSelector::CSSParserSelector):
6430        (WebCore::CSSParserSelector::~CSSParserSelector):
6431        (WebCore::CSSParserSelector::adoptSelectorVector):
6432        (WebCore::CSSParserSelector::insertTagHistory):
6433        (WebCore::CSSParserSelector::appendTagHistory):
6434        (WebCore::CSSParserSelector::prependTagSelector):
6435        * css/CSSParserValues.h:
6436        (WebCore::CSSParserSelector::releaseSelector):
6437        (WebCore::CSSParserSelector::setTagHistory):
6438        (WebCore::CSSParserSelector::clearTagHistory):
6439        * css/CSSSelector.cpp:
6440        (WebCore::CSSSelector::setSelectorList):
6441        * css/CSSSelector.h:
6442        * css/CSSSelectorList.cpp:
6443        (WebCore::CSSSelectorList::adoptSelectorVector):
6444        * css/CSSSelectorList.h:
6445        * css/CSSValueList.cpp:
6446        * css/StyleRule.cpp:
6447        (WebCore::StyleRuleRegion::StyleRuleRegion):
6448        * css/StyleRule.h:
6449        (WebCore::StyleRule::parserAdoptSelectorVector):
6450        (WebCore::StyleRulePage::parserAdoptSelectorVector):
6451        (WebCore::StyleRuleRegion::create):
6452
64532014-02-09  Zan Dobersek  <zdobersek@igalia.com>
6454
6455        Manage MutationObserverInterestGroup through std::unique_ptr
6456        https://bugs.webkit.org/show_bug.cgi?id=128468
6457
6458        Reviewed by Andreas Kling.
6459
6460        Use std::unique_ptr instead of OwnPtr for managing MutationObserverInterestGroup objects.
6461
6462        * css/PropertySetCSSStyleDeclaration.cpp:
6463        * dom/CharacterData.cpp:
6464        (WebCore::CharacterData::dispatchModifiedEvent):
6465        * dom/ChildListMutationScope.cpp:
6466        (WebCore::ChildListMutationAccumulator::ChildListMutationAccumulator):
6467        * dom/ChildListMutationScope.h:
6468        (WebCore::ChildListMutationAccumulator::hasObservers):
6469        * dom/Element.cpp:
6470        (WebCore::Element::willModifyAttribute):
6471        * dom/MutationObserverInterestGroup.cpp:
6472        (WebCore::MutationObserverInterestGroup::createIfNeeded):
6473        * dom/MutationObserverInterestGroup.h:
6474        (WebCore::MutationObserverInterestGroup::createForChildListMutation):
6475        (WebCore::MutationObserverInterestGroup::createForCharacterDataMutation):
6476        (WebCore::MutationObserverInterestGroup::createForAttributesMutation):
6477
64782014-02-09  Zan Dobersek  <zdobersek@igalia.com>
6479
6480        Manage MessagePort, MessagePortChannel and friends through std::unique_ptr
6481        https://bugs.webkit.org/show_bug.cgi?id=128467
6482
6483        Reviewed by Andreas Kling.
6484
6485        Use std::unique_ptr instead of OwnPtr to manage MessagePort, MessagePortArray, MessagePortChannel
6486        and MessagePortChannelArray objects.
6487
6488        * bindings/js/JSMessageEventCustom.cpp:
6489        (WebCore::handleInitMessageEvent):
6490        * dom/MessageEvent.cpp:
6491        (WebCore::MessageEvent::MessageEvent):
6492        (WebCore::MessageEvent::initMessageEvent):
6493        * dom/MessageEvent.h:
6494        (WebCore::MessageEvent::create):
6495        * dom/MessagePort.cpp:
6496        (WebCore::MessagePort::postMessage):
6497        (WebCore::MessagePort::disentangle):
6498        (WebCore::MessagePort::entangle):
6499        (WebCore::MessagePort::dispatchMessages):
6500        (WebCore::MessagePort::disentanglePorts):
6501        (WebCore::MessagePort::entanglePorts):
6502        * dom/MessagePort.h:
6503        * dom/MessagePortChannel.h:
6504        * dom/default/PlatformMessagePortChannel.cpp:
6505        (WebCore::PlatformMessagePortChannel::EventData::EventData):
6506        (WebCore::MessagePortChannel::createChannel):
6507        (WebCore::MessagePortChannel::postMessageToRemote):
6508        (WebCore::MessagePortChannel::tryGetMessageFromRemote):
6509        * dom/default/PlatformMessagePortChannel.h:
6510        (WebCore::PlatformMessagePortChannel::EventData::channels):
6511        * page/DOMWindow.cpp:
6512        (WebCore::PostMessageTimer::PostMessageTimer):
6513        (WebCore::PostMessageTimer::event):
6514        (WebCore::DOMWindow::postMessage):
6515        * workers/DedicatedWorkerGlobalScope.cpp:
6516        (WebCore::DedicatedWorkerGlobalScope::postMessage):
6517        * workers/DefaultSharedWorkerRepository.cpp:
6518        (WebCore::SharedWorkerConnectTask::create):
6519        (WebCore::SharedWorkerConnectTask::SharedWorkerConnectTask):
6520        (WebCore::SharedWorkerConnectTask::performTask):
6521        (WebCore::SharedWorkerScriptLoader::SharedWorkerScriptLoader):
6522        (WebCore::SharedWorkerScriptLoader::notifyFinished):
6523        (WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
6524        (WebCore::DefaultSharedWorkerRepository::connectToWorker):
6525        * workers/DefaultSharedWorkerRepository.h:
6526        * workers/SharedWorker.cpp:
6527        (WebCore::SharedWorker::create):
6528        * workers/SharedWorkerGlobalScope.cpp:
6529        (WebCore::createConnectEvent):
6530        * workers/SharedWorkerRepository.cpp:
6531        (WebCore::SharedWorkerRepository::connect):
6532        * workers/SharedWorkerRepository.h:
6533        * workers/Worker.cpp:
6534        (WebCore::Worker::postMessage):
6535        * workers/WorkerGlobalScopeProxy.h:
6536        * workers/WorkerMessagingProxy.cpp:
6537        (WebCore::MessageWorkerGlobalScopeTask::create):
6538        (WebCore::MessageWorkerGlobalScopeTask::MessageWorkerGlobalScopeTask):
6539        (WebCore::MessageWorkerGlobalScopeTask::performTask):
6540        (WebCore::MessageWorkerTask::create):
6541        (WebCore::MessageWorkerTask::MessageWorkerTask):
6542        (WebCore::MessageWorkerTask::performTask):
6543        (WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
6544        (WebCore::WorkerMessagingProxy::postMessageToWorkerGlobalScope):
6545        * workers/WorkerMessagingProxy.h:
6546        * workers/WorkerObjectProxy.h:
6547
65482014-02-08  Ryosuke Niwa  <rniwa@webkit.org>
6549
6550        Cleanup the interface of FrameSelection
6551        https://bugs.webkit.org/show_bug.cgi?id=128481
6552
6553        Reviewed by Andreas Kling.
6554
6555        Removed FrameSelection::end() as intended in r163232, and the stale declaration of
6556        paintDragCaret() which was supposed to be removed when we extracted DragCaretController.
6557
6558        Renamed caretRenderer() to caretRendererWithoutUpdatingLayout() to clarify the contract
6559        as the only caller of this function is RenderBlock::paintCaret. Also renamed bounds()
6560        to selectionBounds() to make it more easily identifiable / grep'able.
6561
6562        In addition, made recomputeCaretRect() and invalidateCaretRect() private.
6563
6564        * WebCore.exp.in:
6565        * editing/FrameSelection.cpp:
6566        (WebCore::FrameSelection::caretRendererWithoutUpdatingLayout):
6567        (WebCore::FrameSelection::selectionBounds):
6568        (WebCore::FrameSelection::revealSelection):
6569        * editing/FrameSelection.h:
6570        (WebCore::FrameSelection::setCaretVisible):
6571        * page/DragController.cpp:
6572        (WebCore::dragLocForSelectionDrag):
6573        * page/FrameSnapshotting.cpp:
6574        (WebCore::snapshotSelection):
6575        * page/win/FrameWin.cpp:
6576        (WebCore::imageFromSelection):
6577        * rendering/RenderBlock.cpp:
6578        (WebCore::RenderBlock::paintCaret):
6579        * testing/Internals.cpp:
6580        (WebCore::Internals::selectionBounds):
6581
65822014-02-08  Dan Bernstein  <mitz@apple.com>
6583
6584        Reverted part of r163734, because the assertion it enabled still fails when running
6585        loader/load-defer-resume-crash.html
6586
6587        * loader/DocumentLoader.cpp:
6588        (WebCore::DocumentLoader::dataReceived):
6589
65902014-02-08  Ryosuke Niwa  <rniwa@webkit.org>
6591
6592        EFL build fix after r163729.
6593
6594        * Modules/indexeddb/IDBDatabase.cpp:
6595        (WebCore::IDBDatabase::version):
6596
65972014-02-08  Dan Bernstein  <mitz@apple.com>
6598
6599        Remove outdated workarounds in DocumentLoader::dataReceived
6600        https://bugs.webkit.org/show_bug.cgi?id=128465
6601
6602        Reviewed by Andreas Kling.
6603
6604        * loader/DocumentLoader.cpp:
6605        (WebCore::DocumentLoader::dataReceived):
6606
66072014-02-08  Alexey Proskuryakov  <ap@apple.com>
6608
6609        Remove some unused functions from SerializedScriptValue
6610        https://bugs.webkit.org/show_bug.cgi?id=128407
6611
6612        Reviewed by Oliver Hunt.
6613
6614        Removed more unused code, particularly in API helpers. Renamed one serialize()
6615        function to create(), because it does the same thing as other create() functions.
6616
6617        * Modules/indexeddb/IDBObjectStore.cpp:
6618        (WebCore::IDBObjectStore::put):
6619        * bindings/js/SerializedScriptValue.cpp:
6620        (WebCore::SerializedScriptValue::create):
6621        (WebCore::SerializedScriptValue::deserialize):
6622        * bindings/js/SerializedScriptValue.h:
6623
66242014-02-08  Brady Eidson  <beidson@apple.com>
6625
6626        IDB: storage/indexeddb/mozilla/versionchange-abort.html fails
6627        <rdar://problem/16018887> and https://bugs.webkit.org/show_bug.cgi?id=128442
6628
6629        Reviewed by Dan Bernstein.
6630
6631        Tested by storage/indexeddb/mozilla/versionchange-abort.html (and probably others)
6632
6633        * Modules/indexeddb/IDBDatabase.cpp:
6634        (WebCore::IDBDatabase::version): If the version is NoIntVersion, return DefaultIntVersion to script.
6635
66362014-02-08  Brady Eidson  <beidson@apple.com>
6637
6638        IDB: storage/indexeddb/mozilla/cursors.html fails
6639        <rdar://problem/16017998> and https://bugs.webkit.org/show_bug.cgi?id=128423
6640
6641        Reviewed by Dan Bernstein.
6642
6643        Tested by storage/indexeddb/mozilla/cursors.html (And probably others)
6644
6645        * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
6646        (WebCore::OpenCursorOperation::perform): Distinguish between an error while opening the cursor
6647          and opening a cursor that points to no records.
6648
66492014-02-08  Andreas Kling  <akling@apple.com>
6650
6651        Remove unused ChromeClient::layoutUpdated().
6652        <https://webkit.org/b/128470>
6653
6654        Nobody listens for this callback anymore so remove it.
6655
6656        Reviewed by Anders Carlsson.
6657
6658        * page/Chrome.cpp:
6659        * page/Chrome.h:
6660        * page/ChromeClient.h:
6661        * page/FrameView.cpp:
6662        (WebCore::FrameView::layout):
6663
66642014-02-08  Dan Bernstein  <mitz@apple.com>
6665
6666        Stop using PLATFORM(MAC) in WebCore except where it means “OS X but not iOS”
6667        https://bugs.webkit.org/show_bug.cgi?id=128464
6668
6669        Reviewed by Anders Carlsson.
6670
6671        * Modules/webaudio/AudioContext.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
6672        (WebCore::AudioContext::constructCommon):
6673        * accessibility/AccessibilityNodeObject.cpp: Ditto.
6674        (WebCore::AccessibilityNodeObject::visibleText):
6675        * accessibility/AccessibilityObject.h: Ditto.
6676        * accessibility/AccessibilityRenderObject.cpp: Ditto.
6677        (WebCore::AccessibilityRenderObject::clickPoint):
6678        (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
6679        (WebCore::AccessibilityRenderObject::addChildren):
6680        * accessibility/AccessibilityRenderObject.h: Ditto.
6681        * bindings/js/JSInspectorFrontendHostCustom.cpp:
6682        (WebCore::JSInspectorFrontendHost::platform): Made it explicit that this function returns
6683        "mac" when built for iOS.
6684        * bindings/js/ScriptController.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
6685        (WebCore::ScriptController::ScriptController):
6686        * bindings/js/ScriptController.h: Ditto.
6687        * crypto/CryptoKey.cpp: Changed PLATFORM(MAC) to OS(DARWIN) && !PLATFORM(EFL) &&
6688        !PLATFORM(GTK) when checking for whether to use CoreCrypto.
6689        * crypto/keys/CryptoKeyRSA.h: Ditto.
6690        * dom/Clipboard.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
6691        * dom/Document.cpp: Ditto.
6692        (WebCore::Document::implicitClose):
6693        * dom/KeyboardEvent.h: Ditto.
6694        * editing/Editor.cpp: Ditto.
6695        (WebCore::Editor::cut):
6696        (WebCore::Editor::copy):
6697        (WebCore::Editor::copyImage):
6698        * editing/Editor.h: Ditto.
6699        * editing/FrameSelection.h: Ditto.
6700        * editing/TypingCommand.cpp: Ditto.
6701        (WebCore::TypingCommand::typingAddedToOpenCommand):
6702        * history/HistoryItem.h: Ditto.
6703        * html/HTMLMediaElement.cpp: Ditto.
6704        (WebCore::HTMLMediaElement::parseAttribute):
6705        * html/HTMLMediaElement.h: Ditto.
6706        * html/HTMLPlugInElement.cpp: Ditto.
6707        (WebCore::registeredPluginReplacements):
6708        * html/HTMLPlugInImageElement.cpp: Ditto.
6709        (WebCore::HTMLPlugInImageElement::setDisplayState):
6710        * html/HTMLSelectElement.cpp: Ditto.
6711        (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
6712        * html/shadow/MediaControlElements.cpp: Ditto.
6713        (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement):
6714        (WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler):
6715        * html/shadow/MediaControlElements.h: Ditto.
6716        * inspector/InspectorIndexedDBAgent.cpp: Ditto.
6717        * loader/CookieJar.cpp: Ditto.
6718        * loader/DocumentLoader.cpp: Ditto.
6719        (WebCore::DocumentLoader::dataReceived):
6720        * loader/DocumentLoader.h: Ditto.
6721        (WebCore::DocumentLoader::didTellClientAboutLoad):
6722        * loader/EmptyClients.h: Ditto.
6723        * loader/FrameLoader.cpp:
6724        (WebCore::FrameLoader::loadArchive): Added !PLATFORM(IOS) around Mac-only workaround.
6725        (WebCore::FrameLoader::defaultObjectContentType): Changed PLATFORM(MAC) to PLATFORM(COCOA).
6726        (WebCore::FrameLoader::subresourceCachePolicy): Ditto.
6727        * loader/ResourceBuffer.h: Changed PLATFORM(MAC) to USE(FOUNDATION) around functions that
6728        are implemented using Foundation.
6729        * loader/ResourceLoadScheduler.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
6730        (WebCore::ResourceLoadScheduler::scheduleLoad):
6731        * loader/ResourceLoader.cpp: Ditto.
6732        (WebCore::ResourceLoader::didReceiveAuthenticationChallenge):
6733        * loader/ResourceLoader.h: Ditto.
6734        * loader/archive/cf/LegacyWebArchive.cpp: Ditto.
6735        * loader/cache/CachedResource.cpp: Changed PLATFORM(MAC) to USE(FOUNDATION) around function
6736        that is implemented using other USE(FOUNDATION)-guarded code.
6737        * loader/cache/CachedResource.h: Ditto.
6738        * page/Chrome.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
6739        * page/ChromeClient.h: Ditto.
6740        * page/ContextMenuClient.h: Ditto.
6741        * page/ContextMenuController.cpp: Ditto.
6742        (WebCore::ContextMenuController::contextMenuItemSelected):
6743        (WebCore::ContextMenuController::createAndAppendFontSubMenu):
6744        (WebCore::ContextMenuController::createAndAppendSpellingAndGrammarSubMenu):
6745        (WebCore::ContextMenuController::populate):
6746        (WebCore::ContextMenuController::checkOrEnableIfNeeded):
6747        * page/DragClient.h: Ditto.
6748        * page/DragController.cpp: Ditto.
6749        (WebCore::dragLocForDHTMLDrag):
6750        (WebCore::dragLocForSelectionDrag):
6751        (WebCore::DragController::startDrag):
6752        (WebCore::DragController::doImageDrag):
6753        * page/EditorClient.h: Ditto.
6754        * page/EventHandler.cpp: Ditto.
6755        (WebCore::EventHandler::EventHandler):
6756        (WebCore::EventHandler::handleMouseDraggedEvent):
6757        (WebCore::EventHandler::logicalScrollRecursively):
6758        (WebCore::EventHandler::clearDragState):
6759        (WebCore::EventHandler::handleWheelEvent):
6760        (WebCore::EventHandler::defaultWheelEventHandler):
6761        (WebCore::EventHandler::keyEvent):
6762        (WebCore::EventHandler::eventInvertsTabsToLinksClientCallResult):
6763        * page/EventHandler.h: Ditto.
6764        * page/FrameView.cpp: Ditto.
6765        (WebCore::FrameView::layout):
6766        * page/Page.h: Ditto.
6767        * page/Settings.cpp: Ditto.
6768        * page/Settings.h: Ditto.
6769        * page/scrolling/ScrollingCoordinator.cpp: Ditto.
6770        * page/scrolling/ScrollingCoordinator.h: Ditto.
6771        * page/scrolling/ScrollingStateNode.h: Removed unused #include.
6772        * page/scrolling/ScrollingThread.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
6773        (WebCore::ScrollingThread::createThreadIfNeeded):
6774        * page/scrolling/ScrollingThread.h: Ditto.
6775        * platform/network/cf/ResourceRequest.h: Added !PLATFORM(IOS) around
6776        applyWebArchiveHackForMail.
6777        * platform/network/cf/ResourceRequestCFNet.cpp:
6778        (WebCore::ResourceRequest::applyWebArchiveHackForMail): Ditto.
6779        * platform/network/mac/ResourceRequestMac.mm:
6780        (WebCore::ResourceRequest::applyWebArchiveHackForMail): Ditto.
6781        * plugins/PluginViewNone.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA)
6782        * rendering/RenderBox.cpp: Ditto.
6783        (WebCore::RenderBox::logicalScroll):
6784        * rendering/RenderLayerBacking.cpp: Ditto.
6785        (WebCore::RenderLayerBacking::createGraphicsLayer):
6786        (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
6787        * rendering/RenderMenuList.h: Ditto.
6788        * rendering/RenderText.cpp: Ditto.
6789        (WebCore::RenderText::previousOffsetForBackwardDeletion):
6790        * rendering/break_lines.cpp: Removed unused #include.
6791        * testing/js/WebCoreTestSupport.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
6792        * xml/XSLStyleSheetLibxslt.cpp: Changed PLATFORM(MAC) to OS(DARWIN) && !PLATFORM(EFL) &&
6793        !PLATFORM(GTK) around soft-linking libxslt.
6794        * xml/XSLTExtensions.cpp: Ditto.
6795        * xml/XSLTProcessorLibxslt.cpp: Ditto.
6796        * xml/XSLTUnicodeSort.cpp: Ditto.
6797
67982014-02-08  Andreas Kling  <akling@apple.com>
6799
6800        Remove unused ChromeClient::formStateDidChange().
6801        <https://webkit.org/b/128469>
6802
6803        Nobody listens for this callback anymore so remove it and stop
6804        spamming no-op virtual dispatches in forms code.
6805
6806        Reviewed by Anders Carlsson.
6807
6808        * html/FileInputType.cpp:
6809        (WebCore::FileInputType::setFiles):
6810        * html/HTMLFormControlElementWithState.cpp:
6811        * html/HTMLFormControlElementWithState.h:
6812        * html/HTMLInputElement.cpp:
6813        (WebCore::HTMLInputElement::updateType):
6814        (WebCore::HTMLInputElement::setValue):
6815        (WebCore::HTMLInputElement::setValueFromRenderer):
6816        * html/HTMLSelectElement.cpp:
6817        (WebCore::HTMLSelectElement::updateListBoxSelection):
6818        (WebCore::HTMLSelectElement::selectOption):
6819        * html/HTMLTextAreaElement.cpp:
6820        (WebCore::HTMLTextAreaElement::updateValue):
6821        (WebCore::HTMLTextAreaElement::setValueCommon):
6822        * loader/EmptyClients.h:
6823        * page/ChromeClient.h:
6824
68252014-02-08  Chris J. Shull  <chrisjshull@gmail.com>
6826
6827        Web Inspector: Find evaluates attributes in a case sensitive manner
6828        https://bugs.webkit.org/show_bug.cgi?id=128405
6829
6830        Reviewed by Timothy Hatcher.
6831
6832        Changed matchesAttribute to ignore case.
6833
6834        Updated existing test with additional cases: 
6835        inspector-protocol/dom/dom-search.html
6836
6837        * inspector/InspectorNodeFinder.cpp:
6838        (WebCore::InspectorNodeFinder::matchesAttribute):
6839
68402014-02-08  Andreas Kling  <akling@apple.com>
6841
6842        Remove unused FrameLoaderClient::dispatchWillOpenSocketStream().
6843        <https://webkit.org/b/128472>
6844
6845        Nobody listens for this callback anymore so remove it.
6846
6847        Reviewed by Anders Carlsson.
6848
6849        * Modules/websockets/WebSocketChannel.cpp:
6850        (WebCore::WebSocketChannel::willOpenSocketStream):
6851        * loader/FrameLoaderClient.h:
6852
68532014-02-08  Ryosuke Niwa  <rniwa@webkit.org>
6854
6855        Split UserTriggered into FireSelectEvent and RevealSelection for selection options
6856        https://bugs.webkit.org/show_bug.cgi?id=128441
6857
6858        Reviewed by Darin Adler.
6859
6860        Split UserTriggered by FireSelectEvent and RevealSelection for selection options.
6861
6862        Also added defaultSetSelectionOptions() to abstract away the default options.
6863
6864        * editing/AlternativeTextController.cpp:
6865        (WebCore::AlternativeTextController::respondToUnappliedSpellCorrection):
6866        * editing/Editor.cpp:
6867        (WebCore::Editor::unappliedEditing):
6868        (WebCore::Editor::reappliedEditing):
6869        * editing/FrameSelection.cpp:
6870        (WebCore::FrameSelection::moveTo):
6871        (WebCore::FrameSelection::setSelectionByMouseIfDifferent): UserTriggered | DoNotRevealSelection
6872        is replaced by FireSelectEvent.
6873        (WebCore::FrameSelection::setSelectionWithoutUpdatingAppearance): Check options & FireSelectEvent
6874        instead of options & UserTriggered.
6875        (WebCore::FrameSelection::setSelection): Check options & RevealSelection instead of
6876        options & UserTriggered && !(options & DoNotRevealSelection).
6877        (WebCore::FrameSelection::prepareForDestruction):
6878        (WebCore::FrameSelection::setBase):
6879        (WebCore::FrameSelection::setExtent):
6880        (WebCore::FrameSelection::selectAll):
6881        (WebCore::FrameSelection::wordSelectionContainingCaretSelection):
6882        * editing/FrameSelection.h:
6883        (WebCore::FrameSelection::defaultSetSelectionOptions): Added.
6884        * editing/SpellingCorrectionCommand.cpp:
6885        (WebCore::SpellingCorrectionCommand::doApply):
6886        * html/HTMLTextFormControlElement.cpp:
6887        (WebCore::HTMLTextFormControlElement::selectionChanged): Renamed the argument.
6888        * html/HTMLTextFormControlElement.h:
6889
68902014-02-08  Zan Dobersek  <zdobersek@igalia.com>
6891
6892        Move TreeScope, IdTargetObserverRegistry to std::unique_ptr
6893        https://bugs.webkit.org/show_bug.cgi?id=127276
6894
6895        Reviewed by Andreas Kling.
6896
6897        Replace uses of OwnPtr in the TreeScope and IdTargetObserverRegistry classes with std::unique_ptr.
6898
6899        * dom/IdTargetObserverRegistry.cpp:
6900        (WebCore::IdTargetObserverRegistry::addObserver):
6901        * dom/IdTargetObserverRegistry.h:
6902        (WebCore::IdTargetObserverRegistry::IdTargetObserverRegistry):
6903        * dom/TreeScope.cpp:
6904        (WebCore::TreeScope::TreeScope):
6905        (WebCore::TreeScope::destroyTreeScopeData):
6906        (WebCore::TreeScope::addElementById):
6907        (WebCore::TreeScope::addElementByName):
6908        (WebCore::TreeScope::addImageMap):
6909        (WebCore::TreeScope::labelElementForId):
6910        * dom/TreeScope.h:
6911        (WebCore::TreeScope::shouldCacheLabelsByForAttribute):
6912
69132014-02-08  Anders Carlsson  <andersca@apple.com>
6914
6915        Slight CTTE in PingLoader
6916        https://bugs.webkit.org/show_bug.cgi?id=128462
6917
6918        Reviewed by Dan Bernstein.
6919
6920        PingLoader always wants a non-null frame.
6921
6922        * html/HTMLAnchorElement.cpp:
6923        (WebCore::HTMLAnchorElement::sendPings):
6924        * html/parser/XSSAuditorDelegate.cpp:
6925        (WebCore::XSSAuditorDelegate::didBlockScript):
6926        * inspector/InspectorInstrumentation.h:
6927        (WebCore::InspectorInstrumentation::continueAfterPingLoader):
6928        * loader/PingLoader.cpp:
6929        (WebCore::PingLoader::loadImage):
6930        (WebCore::PingLoader::sendPing):
6931        (WebCore::PingLoader::sendViolationReport):
6932        (WebCore::PingLoader::createPingLoader):
6933        (WebCore::PingLoader::PingLoader):
6934        * loader/PingLoader.h:
6935        * loader/cache/CachedResourceLoader.cpp:
6936        (WebCore::CachedResourceLoader::requestImage):
6937        * page/ContentSecurityPolicy.cpp:
6938        (WebCore::ContentSecurityPolicy::reportViolation):
6939
69402014-02-08  Dan Bernstein  <mitz@apple.com>
6941
6942        Remove client-drawn highlights (-webkit-highlight, WebHTMLHighlighter)
6943        https://bugs.webkit.org/show_bug.cgi?id=128456
6944
6945        Reviewed by Anders Carlsson.
6946
6947        Updated fast/css/getComputedStyle and svg/css results.
6948
6949        * css/CSSComputedStyleDeclaration.cpp:
6950        (WebCore::ComputedStyleExtractor::propertyValue): Removed CSSPropertyWebKitHighlight case.
6951        * css/CSSParser.cpp:
6952        (WebCore::CSSParser::parseValue): Ditto.
6953        * css/CSSPropertyNames.in: Removed -webkit-highlight.
6954        * css/DeprecatedStyleBuilder.cpp:
6955        (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): Removed
6956        CSSPropertyWebKitHighlight handler.
6957        * css/StyleResolver.cpp:
6958        (WebCore::StyleResolver::applyProperty): Removed CSSPropertyWebKitHighlight case.
6959        * page/Chrome.cpp: Removed customHighlightRect and paintCustomHighlight.
6960        * page/ChromeClient.h: Ditto.
6961        * rendering/InlineTextBox.cpp:
6962        (WebCore::InlineTextBox::paint): Removed painting custom highlight.
6963        * rendering/InlineTextBox.h:
6964        * rendering/RenderBlockLineLayout.cpp:
6965        (WebCore::RenderBlockFlow::createLineBoxesFromBidiRuns): Removed adding overflow for custom
6966        highlights.
6967        * rendering/RenderBox.cpp: Removed paintCustomHighlight.
6968        * rendering/RenderBox.h:
6969        * rendering/RenderImage.cpp:
6970        (WebCore::RenderImage::paintReplaced): Removed painting custom highlight.
6971        * rendering/RenderListMarker.cpp:
6972        (WebCore::RenderListMarker::paint): Ditto.
6973        * rendering/RenderSnapshottedPlugIn.cpp:
6974        (WebCore::RenderSnapshottedPlugIn::paintSnapshot): Ditto.
6975        * rendering/RenderWidget.cpp:
6976        (WebCore::RenderWidget::paint): Ditto.
6977        * rendering/RootInlineBox.cpp:
6978        (WebCore::RootInlineBox::paint): Ditto.
6979        * rendering/RootInlineBox.h:
6980        * rendering/style/RenderStyle.cpp:
6981        (WebCore::RenderStyle::changeRequiresLayout): Removed highlight comparison.
6982        * rendering/style/RenderStyle.h:
6983        * rendering/style/StyleRareInheritedData.cpp:
6984        (WebCore::StyleRareInheritedData::StyleRareInheritedData): Removed initializer.
6985        (WebCore::StyleRareInheritedData::operator==): Removed highlight comparison.
6986        * rendering/style/StyleRareInheritedData.h: Removed highlight member variable.
6987
69882014-02-08  Dan Bernstein  <mitz@apple.com>
6989
6990        One more build fix fix.
6991
6992        * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
6993        (-[WebAccessibilityObjectWrapper arrayOfTextForTextMarkers:attributed:]):
6994
69952014-02-08  Dan Bernstein  <mitz@apple.com>
6996
6997        More (and more correct) iOS build fix after r163712.
6998
6999        * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
7000        (AXAttributedStringAppendText):
7001        (-[WebAccessibilityObjectWrapper arrayOfTextForTextMarkers:attributed:]):
7002        * page/ios/FrameIOS.mm:
7003        (WebCore::Frame::wordsInCurrentParagraph):
7004
70052014-02-08  Dan Bernstein  <mitz@apple.com>
7006
7007        iOS build fix after r163712.
7008
7009        * page/ios/FrameIOS.mm:
7010        (WebCore::Frame::indexCountOfWordPrecedingSelection):
7011        (WebCore::Frame::wordsInCurrentParagraph):
7012
70132014-02-08  Darin Adler  <darin@apple.com>
7014
7015        Change TextIterator to use StringView, preparing to wean it from deprecatedCharacters
7016        https://bugs.webkit.org/show_bug.cgi?id=128233
7017
7018        Reviewed by Anders Carlsson.
7019
7020        * accessibility/AccessibilityNodeObject.cpp: Removed unneeded TextIterator.h include.
7021
7022        * accessibility/AccessibilityObject.cpp:
7023        (WebCore::AccessibilityObject::hasMisspelling): Updated to use StringView for checkSpelling.
7024
7025        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
7026        (AXAttributeStringSetSpelling): Changed to take a StringView.
7027        (AXAttributedStringAppendText): Ditto.
7028        (-[WebAccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]): Pass StringView.
7029
7030        * editing/Editor.cpp:
7031        (WebCore::Editor::misspelledWordAtCaretOrRange): Pass StringView.
7032        (WebCore::Editor::misspelledSelectionString): Ditto.
7033        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Ditto.
7034
7035        * editing/TextCheckingHelper.cpp:
7036        (WebCore::findGrammaticalErrors): Renamed this function. Changed to use StringView.
7037        (WebCore::findMisspellings): Use StringView.
7038        (WebCore::TextCheckingHelper::findFirstMisspelling): Ditto. Also separated out assertions
7039        that were asserting multiple things with &&.
7040        (WebCore::TextCheckingHelper::findFirstMisspellingOrBadGrammar): Ditto.
7041        (WebCore::TextCheckingHelper::findFirstGrammarDetail): Ditto.
7042        (WebCore::TextCheckingHelper::findFirstBadGrammar): Ditto.
7043        (WebCore::TextCheckingHelper::isUngrammatical): Ditto.
7044        (WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange): Ditto.
7045        (WebCore::checkTextOfParagraph): Ditto.
7046
7047        * editing/TextCheckingHelper.h: Made TextCheckingParagraph::text public. Deleted
7048        TextCheckingParagraph::textDeprecatedCharacters. Added comments about additional
7049        TextCheckingParagraph refinements. Changed checkTextOfParagraph to take a client
7050        reference instead of pointer and StringView instead of characters pointer with length.
7051
7052        * editing/TextIterator.cpp:
7053        (WebCore::TextIterator::appendTextToStringBuilder): Use data members directly,
7054        rather than using functions, since we already checked m_textCharacters for null.
7055        (WebCore::CharacterIterator::string): Use text() instead of characters().
7056        (WebCore::WordAwareIterator::WordAwareIterator): Removed initialization of
7057        m_previousText now that it's a StringView rather than a pointer.
7058        (WebCore::WordAwareIterator::advance): Use TextIterator::text instead of
7059        TextIterator::characters. Also added a FIXME about a fundamental problem
7060        with the implementation of this class!
7061        (WebCore::WordAwareIterator::length): Updated for m_previousText change.
7062        (WebCore::WordAwareIterator::text): Replaced WordAwareIterator::characters with this.
7063        (WebCore::SearchBuffer::append): Changed to take a StringView.
7064        (WebCore::SearchBuffer::prependContext): Ditto.
7065        (WebCore::SearchBuffer::isWordStartMatch): Use StringView.
7066        (WebCore::SearchBuffer::search): Ditto.
7067        (WebCore::findPlainText): Ditto.
7068
7069        * editing/TextIterator.h: Added TextIterator::text that returns a StringView, and
7070        renamed TextIterator::characters to TextIterator::deprecatedTextIteratorCharacters
7071        (easy to search for in source code). Added SimplifiedBackwardsTextIterator::text
7072        and removed SimplifiedBackwardsTextIterator::characters. Added CharacterIterator::text,
7073        and removed CharacterIterator::characters. Added WordAwareIterator::text and removed
7074        WorkdAwareIterator::characters. Changed WordAwareIterator data members to use StringView.
7075
7076        * editing/VisibleSelection.cpp:
7077        (WebCore::VisibleSelection::appendTrailingWhitespace): Use TextIterator::text instead
7078        of TextIterator::characters.
7079
7080        * editing/VisibleUnits.cpp:
7081        (WebCore::previousBoundary): Updated to use StringView.
7082        (WebCore::nextBoundary): Ditto.
7083        (WebCore::startWordBoundary): Ditto.
7084        (WebCore::startOfWord): Ditto.
7085        (WebCore::endWordBoundary): Ditto.
7086        (WebCore::endOfWord): Fixed formatting.
7087        (WebCore::previousWordPositionBoundary): Updated to use StringView.
7088        (WebCore::previousWordPosition): Fixed formatting and got rid of local variable.
7089        (WebCore::nextWordPositionBoundary): Updated to use StringView.
7090        (WebCore::nextWordPosition): Fixed formatting and got rid of local variable.
7091        (WebCore::inSameLine): Fixed formatting.
7092        (WebCore::isStartOfLine): Ditto.
7093        (WebCore::isEndOfLine): Ditto.
7094        (WebCore::absoluteLineDirectionPointToLocalPointInBlock): Changed to take a reference.
7095        (WebCore::previousLinePosition): Fixed formatting chand changed to pass a reference.
7096        (WebCore::nextLinePosition): Ditto.
7097        (WebCore::startSentenceBoundary): Updated to use StringView and got rid of a local.
7098        (WebCore::startOfSentence): Fixed formatting.
7099        (WebCore::endSentenceBoundary): Updated to use StringView and got rid of a local.
7100        (WebCore::endOfSentence): Fixed formatting.
7101        (WebCore::previousSentencePositionBoundary): Updated to use StringView and got rid of
7102        a local.
7103        (WebCore::previousSentencePosition): Ditto.
7104        (WebCore::nextSentencePositionBoundary): Ditto.
7105        (WebCore::nextSentencePosition): Fixed formatting.
7106        (WebCore::endOfParagraph): Ditto.
7107        (WebCore::inSameParagraph): Ditto.
7108        (WebCore::isStartOfParagraph): Ditto.
7109        (WebCore::isEndOfParagraph): Ditto.
7110        (WebCore::inSameBlock): Ditto.
7111        (WebCore::isStartOfBlock): Ditto.
7112        (WebCore::isEndOfBlock): Ditto.
7113        (WebCore::startOfDocument): Ditto.
7114        (WebCore::endOfDocument): Ditto.
7115        (WebCore::inSameDocument): Ditto.
7116        (WebCore::isStartOfDocument): Ditto.
7117        (WebCore::isEndOfDocument): Ditto.
7118        (WebCore::isEndOfEditableOrNonEditableContent): Ditto.
7119
7120        * loader/EmptyClients.h: Use StringView.
7121
7122        * platform/mac/HTMLConverter.mm:
7123        (+[WebHTMLConverter editingAttributedStringFromRange:]): Use StringView.
7124
7125        * platform/text/TextBoundaries.cpp:
7126        (WebCore::endOfFirstWordBoundaryContext): Use StringView and unsigned.
7127        (WebCore::startOfLastWordBoundaryContext): Ditto.
7128
7129        * platform/text/TextBoundaries.h: Change interfaces to use StringView,
7130        and in some cases, unsigned instead of int. All call sites were better off
7131        with unsigned.
7132
7133        * platform/text/TextCheckerClient.h: Use StringView.
7134
7135        * platform/text/mac/TextBoundaries.mm: Changed conditionals to say
7136        USE(APPKIT) instead of PLATFORM(IOS), since that's the real issue.
7137        (WebCore::isSkipCharacter): Tweaked formatting.
7138        (WebCore::isWhitespaceCharacter): Ditto.
7139        (WebCore::isWordDelimitingCharacter): Ditto, also removed local variable.
7140        (WebCore::isSymbolCharacter): Ditto.
7141        (WebCore::tokenizerForString): Ditto.
7142        (WebCore::findSimpleWordBoundary): Use StringView. Also changed to mostly
7143        use unsigned instead of int.
7144        (WebCore::findComplexWordBoundary): Use StringView. Also restructured to
7145        be much more readable, with early returns and such.
7146        (WebCore::findWordBoundary): Use StringView and unsigned.
7147        (WebCore::findEndWordBoundary): Removed redudant copy of the findWordBoundary
7148        function and changed this to just call findWordBoundary. The reason this
7149        function exists is to optimize this case for some non-Mac, non-iOS platforms.
7150        We can always do that for Mac and/or iOS later if we like.
7151        (WebCore::findNextWordFromIndex): Use StringView. Also use wordBreakIterator
7152        instead of using UBreakIterator directly so we get a cached iterator instead
7153        of creating and destroying a new one each time this function is called.
7154
7155        * bindings/objc/DOMUIKitExtensions.mm: Removed unneeded includes.
7156        * dom/Element.cpp: Ditto.
7157        * dom/PositionIterator.cpp: Ditto.
7158        * editing/ApplyBlockElementCommand.cpp: Ditto.
7159        * editing/IndentOutdentCommand.cpp: Ditto.
7160        * editing/InsertListCommand.cpp: Ditto.
7161        * editing/markup.cpp: Ditto.
7162        * html/HTMLElement.cpp: Ditto.
7163        * html/HTMLTextAreaElement.cpp: Ditto.
7164        * page/Frame.cpp: Ditto.
7165        * rendering/RenderTextControl.cpp: Ditto.
7166
71672014-02-08  Andreas Kling  <akling@apple.com>
7168
7169        Remove two unused function declarations.
7170
7171        Scrub "highQualityRepaintTimerFired" declarations from RenderImage
7172        and RenderBoxModelObject since they're not actually defined.
7173
7174        * rendering/RenderBoxModelObject.h:
7175        * rendering/RenderImage.h:
7176
71772014-02-08  Andreas Kling  <akling@apple.com>
7178
7179        CTTE: SVGTRefTargetEventListener is always owned by SVGTRefElement.
7180        <https://webkit.org/b/128432>
7181
7182        Tighten up the relationship between SVGTRefElement and its internal
7183        event listener helper by storing the listener in a Ref, and making
7184        the listeners backpointer to the element be a reference.
7185
7186        Reviewed by Anders Carlsson.
7187
7188        * svg/SVGTRefElement.cpp:
7189        (WebCore::SVGTRefTargetEventListener::create):
7190        (WebCore::SVGTRefTargetEventListener::SVGTRefTargetEventListener):
7191        (WebCore::SVGTRefTargetEventListener::operator==):
7192        (WebCore::SVGTRefTargetEventListener::handleEvent):
7193        (WebCore::SVGTRefElement::SVGTRefElement):
7194        * svg/SVGTRefElement.h:
7195
71962014-02-07  Andreas Kling  <akling@apple.com>
7197
7198        Devirtualize RenderBlockFlowRareData.
7199        <https://webkit.org/b/128427>
7200
7201        This class had a virtual destructor for no reason. Removing it
7202        shrinks RenderBlockFlowRareData by 8 bytes.
7203
7204        Reviewed by Anders Carlsson.
7205
7206        * rendering/RenderBlockFlow.h:
7207        (WebCore::RenderBlockFlow::RenderBlockFlowRareData::~RenderBlockFlowRareData):
7208
72092014-02-08  Andreas Kling  <akling@apple.com>
7210
7211        Use renderer iterators in two more places.
7212        <https://webkit.org/b/128371>
7213
7214        Reviewed by Antti Koivisto.
7215
7216        * dom/Position.cpp:
7217        (WebCore::Position::primaryDirection):
7218
7219            Use lineageOfType instead of walking the parent chain.
7220
7221        * rendering/RenderLayer.cpp:
7222        (WebCore::RenderLayer::insertOnlyThisLayer):
7223
7224            Use childrenOfType instead of walking the children.
7225
72262014-02-07  David Kilzer  <ddkilzer@apple.com>
7227
7228        [ASan] Use new/delete in PODFreeListArena
7229        <http://webkit.org/b/128437>
7230
7231        Reviewed by Oliver Hunt.
7232
7233        * platform/PODFreeListArena.h:
7234        (WebCore::PODFreeListArena::allocateObject): Use new when
7235        ADDRESS_SANITIZER is defined.
7236        (WebCore::PODFreeListArena::freeObject): Use delete when
7237        ADDRESS_SANITIZER is defined.
7238
72392014-02-07  Ryosuke Niwa  <rniwa@webkit.org>
7240
7241        Merge updateSelectionCachesIfSelectionIsInsideTextFormControl into setSelectionWithoutUpdatingAppearance
7242        https://bugs.webkit.org/show_bug.cgi?id=128439
7243
7244        Reviewed by Anders Carlsson.
7245
7246        FrameSelection::selectAll had a superfluous call to updateSelectionCachesIfSelectionIsInsideTextFormControl
7247        because it wasn't setting UserTriggered option to avoid revealing selection.
7248
7249        Call setSelection with UserTriggered and recently added DoNotRevealSelection option and merge
7250        updateSelectionCachesIfSelectionIsInsideTextFormControl into setSelectionWithoutUpdatingAppearance.
7251
7252        Also rename local variables in setSelectionWithoutUpdatingAppearance, newSelection to
7253        newSelectionPossiblyWithoutDirection and s to newSelection so that they're self explanatory.
7254
7255        In addition, we now update the input element's selection caches before calling
7256        selectFrameElementInParentIfFullySelected but this should be fine because selection cannot simultaneously
7257        select the entire document and be inside a text form control.
7258
7259        * editing/FrameSelection.cpp:
7260        (WebCore::FrameSelection::setSelectionWithoutUpdatingAppearance):
7261        (WebCore::FrameSelection::selectAll):
7262
72632014-02-07  Ryosuke Niwa  <rniwa@webkit.org>
7264
7265        EFL build fix attempt after r163662.
7266
7267        * Modules/indexeddb/leveldb/IDBLevelDBCoding.cpp:
7268        (WebCore::IDBLevelDBCoding::encodeIDBKey):
7269
72702014-02-07  Ryosuke Niwa  <rniwa@webkit.org>
7271
7272        FrameSelection's destructor shouldn't notify accessibility
7273        https://bugs.webkit.org/show_bug.cgi?id=128421
7274
7275        Reviewed by Benjamin Poulain.
7276
7277        Extracted setSelectionWithoutUpdatingAppearance out of setSelection and called it in prepareForDestruction
7278        instead of setting DoNotUpdateAppearance option. This new function doesn't reveal selection or notify
7279        accessibility code in addition to not updating appearance.
7280
7281        Note that all implementations of notifyAccessibilityForSelectionChange in FrameSelectionAtk.cpp and
7282        FrameSelectionMac.mm exit early when the selection type is not caret or either start or end is null,
7283        which is already the case inside FrameSelection's destructor. In addition, revealSelection is never called
7284        when selection change was not triggered by user so there should be no behavioral change from this patch.
7285
7286        * editing/FrameSelection.cpp:
7287        (WebCore::FrameSelection::setSelectionWithoutUpdatingAppearance):
7288        (WebCore::FrameSelection::setSelection):
7289        (WebCore::FrameSelection::prepareForDestruction):
7290        * editing/FrameSelection.h:
7291        (WebCore::FrameSelection::notifyAccessibilityForSelectionChange): Added the trivial implementation in the case
7292        accessibility is disabled to tidy up call sites.
7293
72942014-02-07  Martin Robinson  <mrobinson@igalia.com>
7295
7296        Build fix for the GTK+ CMake build
7297
7298        * PlatformGTK.cmake: VTTCue.idl was unintentionally added to the list of GObject DOM bindings
7299        output files. Remove it.
7300
73012014-02-07  Dirk Schulze  <krit@webkit.org>
7302
7303        Per CSSOM, computed rect() function values must be comma separated
7304        https://bugs.webkit.org/show_bug.cgi?id=128401
7305
7306        Reviewed by Simon Fraser.
7307
7308        Updated tests.
7309
7310        * css/Rect.h:
7311        (WebCore::Rect::generateCSSString):
7312
73132014-02-07  Gavin Barraclough  <barraclough@apple.com>
7314
7315        Remove isInitialState flag from Page::setViewState
7316        https://bugs.webkit.org/show_bug.cgi?id=128428
7317
7318        Reviewed by Sam Weinig.
7319
7320        * WebCore.exp.in:
7321            - removed isInitialState.
7322        * page/Page.cpp:
7323        (WebCore::Page::setViewState):
7324            - removed isInitialState.
7325        (WebCore::Page::setIsVisible):
7326            - removed isInitialState.
7327        (WebCore::Page::setIsVisibleInternal):
7328            - removed isInitialState.
7329        * page/Page.h:
7330            - removed isInitialState.
7331
73322014-02-07  Simon Fraser  <simon.fraser@apple.com>
7333
7334        Encode requestedScrollPosition on ScrollingStateScrollingNodes to send to the UI process
7335        https://bugs.webkit.org/show_bug.cgi?id=128416
7336
7337        Reviewed by Tim Horton.
7338        
7339        Change requestedScrollPosition() to be a FloatPoint, and export
7340        ScrollingStateScrollingNode::setRequestedScrollPosition(WebCore::FloatPoint const&, bool)
7341        for WK2.
7342
7343        * WebCore.exp.in:
7344        * page/scrolling/ScrollingStateScrollingNode.cpp:
7345        (WebCore::ScrollingStateScrollingNode::setRequestedScrollPosition):
7346        * page/scrolling/ScrollingStateScrollingNode.h:
7347
73482014-02-07  Beth Dakin  <bdakin@apple.com>
7349
7350        Should get rid of TileController's CoverageForSlowScrolling mode
7351        https://bugs.webkit.org/show_bug.cgi?id=128339
7352
7353        Reviewed by Simon Fraser.
7354
7355        This patch gets rid of CoverageForSlowScrolling in the TileController. It also 
7356        makes sure that margin tiles are properly invalidated on pages with slow repaint 
7357        objects that cause slow scrolling. 
7358
7359        When we invalidate because of slow scrolling, don’t clip the update rect to the 
7360        layer bounds.
7361        * page/FrameView.cpp:
7362        (WebCore::FrameView::scrollContentsSlowPath):
7363
7364        Call new RenderObject paint function repaintSlowRepaintObject() instead of the 
7365        more-generic repaint().
7366        (WebCore::FrameView::repaintSlowRepaintObjects):
7367
7368        Remove CoverageForSlowScrolling.
7369        * platform/graphics/TiledBacking.h:
7370        * platform/graphics/ca/mac/TileController.h:
7371        * platform/graphics/ca/mac/TileController.mm:
7372        (WebCore::TileController::tilesWouldChangeForVisibleRect):
7373        (WebCore::TileController::computeTileCoverageRect):
7374        (WebCore::TileController::revalidateTiles):
7375        * rendering/RenderLayerBacking.cpp:
7376        (WebCore::computeTileCoverage):
7377
7378        Handle repainting a slow repaint object. Don’t clip when we shouldn’t, use the 
7379        RenderView’s backgroundRect as a repaintRect when this is the root background 
7380        since that will take the extended background rect into consideration.
7381        * rendering/RenderObject.cpp:
7382        (WebCore::RenderObject::repaintSlowRepaintObject):
7383        * rendering/RenderObject.h:
7384
73852014-02-06  Filip Pizlo  <fpizlo@apple.com>
7386
7387        More FTL build scaffolding
7388        https://bugs.webkit.org/show_bug.cgi?id=128330
7389
7390        Reviewed by Geoffrey Garen.
7391
7392        The FTL already has tests.
7393
7394        * Configurations/FeatureDefines.xcconfig:
7395
73962014-02-07  Alexey Proskuryakov  <ap@apple.com>
7397
7398        Remove some unused functions from SerializedScriptValue
7399        https://bugs.webkit.org/show_bug.cgi?id=128407
7400
7401        Reviewed by Anders Carlsson.
7402
7403        * bindings/js/SerializedScriptValue.cpp:
7404        (WebCore::SerializedScriptValue::undefinedValue):
7405        (WebCore::SerializedScriptValue::nullValue):
7406        * bindings/js/SerializedScriptValue.h:
7407
74082014-02-07  Brady Eidson  <beidson@apple.com>
7409
7410        IDB: Some Mozilla cursor mutation tests fail
7411        <rdar://problem/16011680> and https://bugs.webkit.org/show_bug.cgi?id=128374
7412
7413        Reviewed by Sam Weinig.
7414
7415        Tested by:
7416        storage/indexeddb/mozilla/cursor-mutation-objectstore-only.html
7417        storage/indexeddb/mozilla/cursor-mutation.html
7418
7419        The previous comment about LevelDB was wrong.
7420        Apparently calling onSuccess() with a null SharedBuffer means the cursor reached the end.
7421        Update to distinguish between an error and reaching the end:
7422        * Modules/indexeddb/IDBCursorBackendOperations.cpp:
7423        (WebCore::CursorAdvanceOperation::perform):
7424        (WebCore::CursorIterationOperation::perform):
7425 
7426        Add a new IDBKey type - Maximum - To be used in comparisons between keys.
7427        This will allow the DatabaseProcess to operate on the range of all keys:
7428        * Modules/indexeddb/IDBKey.cpp:
7429        (WebCore::IDBKey::compare):
7430        * Modules/indexeddb/IDBKey.h:
7431
7432        * Modules/indexeddb/IDBKeyData.cpp:
7433        (WebCore::IDBKeyData::IDBKeyData):
7434        (WebCore::IDBKeyData::maybeCreateIDBKey):
7435        (WebCore::IDBKeyData::isolatedCopy):
7436        (WebCore::IDBKeyData::encode):
7437        (WebCore::IDBKeyData::decode):
7438        (WebCore::IDBKeyData::compare):
7439        (WebCore::IDBKeyData::loggingString):
7440        * Modules/indexeddb/IDBKeyData.h:
7441        (WebCore::IDBKeyData::minimum):
7442        (WebCore::IDBKeyData::maximum):
7443
7444        * bindings/js/IDBBindingUtilities.cpp:
7445        (WebCore::idbKeyToJSValue):
7446
7447        Remove an unused callback:
7448        * Modules/indexeddb/IDBCallbacks.h:
7449        * Modules/indexeddb/IDBRequest.h:
7450
74512014-02-07  Roger Fong  <roger_fong@apple.com>
7452
7453        CGContextGetUserSpaceToDeviceSpaceTransform returns the wrong value on Windows.
7454        https://bugs.webkit.org/show_bug.cgi?id=128395.
7455        
7456        Rubberstamped by Zalan Bujtas.
7457
7458        The call essentially returns 0 and causes an assertion failure when running many layout tests.
7459
7460        * platform/graphics/cg/GraphicsContextCG.cpp: Don't make the call on Windows. We default to 1.
7461        (WebCore::GraphicsContext::platformInit):
7462
74632014-02-07  Dan Bernstein  <mitz@apple.com>
7464
7465        iOS build fix.
7466
7467        * platform/PlatformKeyboardEvent.h: Fixed a typo.
7468
74692014-02-07  Dan Bernstein  <mitz@apple.com>
7470
7471        Stop using PLATFORM(MAC) in WebCore/platform except where it means “OS X but not iOS”
7472        https://bugs.webkit.org/show_bug.cgi?id=128404
7473
7474        Reviewed by Anders Carlsson.
7475
7476        * Configurations/WebCore.xcconfig: Removed KeyEventMac.mm from
7477        EXCLUDED_SOURCE_FILE_NAMES_iphoneos, because that file contains !PLATFORM(IOS) guards.
7478        Removed WheelEventMac.mm from the same definition, because that file no longer exists.
7479        * platform/ContentFilter.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
7480        * platform/ContextMenu.h: Ditto.
7481        * platform/ContextMenuItem.h: Ditto.
7482        * platform/Cursor.cpp: Ditto.
7483        * platform/Cursor.h: Ditto.
7484        * platform/DragData.cpp: Ditto.
7485        * platform/DragImage.cpp: Ditto.
7486        * platform/Language.cpp:
7487        (WebCore::displayNameForLanguageLocale): Changed PLATFORM(MAC) to USE(CF) && !PLATFORM(WIN).
7488        * platform/LocalizedStrings.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
7489        (WebCore::contextMenuItemTagSearchWeb):
7490        * platform/LocalizedStrings.h: Ditto.
7491        * platform/MIMETypeRegistry.cpp: Ditto.
7492        (WebCore::initializeSupportedImageMIMETypesForEncoding):
7493        * platform/PasteboardStrategy.h: Ditto.
7494        * platform/PlatformKeyboardEvent.h: Ditto.
7495        * platform/PlatformMenuDescription.h: Ditto.
7496        * platform/PlatformSpeechSynthesizer.h: Ditto.
7497        * platform/PlatformWheelEvent.h: Ditto.
7498        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
7499        * platform/SchemeRegistry.cpp: Ditto.
7500        (WebCore::localURLSchemes):
7501        (WebCore::SchemeRegistry::removeURLSchemeRegisteredAsLocal):
7502        (WebCore::SchemeRegistry::shouldCacheResponsesFromURLSchemeIndefinitely):
7503        * platform/ScrollAnimator.cpp: Ditto.
7504        (WebCore::ScrollAnimator::handleWheelEvent):
7505        * platform/ScrollAnimator.h: Ditto.
7506        * platform/ScrollView.cpp: Ditto.
7507        * platform/ScrollView.h: Ditto.
7508        * platform/ScrollbarThemeComposite.h: Ditto.
7509        * platform/SharedBuffer.h: Changed PLATFORM(MAC) to USE(FOUNDATION) around NSData-related
7510        code.
7511        * platform/URL.h: Changed PLATFORM(MAC) to USE(FOUNDATION) around NSURL-related code.
7512        * platform/Widget.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
7513        * platform/Widget.h: Ditto.
7514        * platform/audio/AudioSession.cpp: Changed !PLATFORM(MAC) && !PLATFORM(IOS) to
7515        !PLATFORM(COCOA).
7516        * platform/audio/HRTFElevation.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
7517        * platform/audio/MediaSessionManager.cpp: Ditto.
7518        * platform/audio/mac/AudioSessionMac.cpp: Updated comment.
7519        * platform/audio/mac/MediaSessionManagerMac.cpp: Removed PLATFORM(MAC) from Cocoa-only file.
7520        * platform/cf/SharedBufferCF.cpp: Changed !PLATFORM(MAC) to !USE(FOUNDATION) and updated
7521        comment.
7522        * platform/cf/URLCF.cpp: Changed !PLATFORM(MAC) to !USE(FOUNDATION).
7523        * platform/graphics/BitmapImage.h: Changed one instance of PLATFORM(MAC) to
7524        USE(CG) || USE(APPKIT), and another to PLATFORM(COCOA).
7525        * platform/graphics/DisplayRefreshMonitor.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
7526        (WebCore::DisplayRefreshMonitor::DisplayRefreshMonitor):
7527        * platform/graphics/DisplayRefreshMonitor.h: Ditto.
7528        * platform/graphics/FloatPoint.h: Collapsed nested #ifs into a single #if.
7529        * platform/graphics/FloatRect.h: Ditto.
7530        * platform/graphics/FloatSize.h: Ditto.
7531        * platform/graphics/Font.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
7532        * platform/graphics/Font.h: Ditto.
7533        * platform/graphics/FontCache.cpp: Ditto.
7534        (WebCore::FontCache::getFontData):
7535        * platform/graphics/FontCache.h: Ditto. Also removed redundant friend class declaration.
7536        * platform/graphics/FontGlyphs.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
7537        (WebCore::FontGlyphs::glyphDataAndPageForCharacter):
7538        * platform/graphics/GlyphPage.h: Ditto.
7539        * platform/graphics/GraphicsContext3D.h: Ditto.
7540        * platform/graphics/Image.h: Changed PLATFORM(MAC) to USE(APPKIT) around use of NSImage.
7541        Changed another PLATFORM(MAC) to PLATFORM(COCOA).
7542        * platform/graphics/IntRect.h: Collapsed nested #ifs into a single #if.
7543        * platform/graphics/IntSize.h: Ditto.
7544        * platform/graphics/MediaPlayer.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
7545        (WebCore::installedMediaEngines):
7546        (WebCore::MediaPlayer::supportsType):
7547        * platform/graphics/SimpleFontData.cpp: Ditto.
7548        (WebCore::SimpleFontData::nonSyntheticItalicFontData):
7549        (WebCore::SimpleFontData::DerivedFontData::~DerivedFontData):
7550        * platform/graphics/SimpleFontData.h: Ditto.
7551        * platform/graphics/TiledBacking.h: Ditto.
7552        * platform/graphics/ca/GraphicsLayerCA.cpp: Ditto.
7553        (WebCore::GraphicsLayerCA::filtersCanBeComposited):
7554        (WebCore::GraphicsLayerCA::createPlatformCALayer):
7555        * platform/graphics/ca/LayerFlushScheduler.h: Ditto.
7556        * platform/graphics/ca/PlatformCAAnimation.h: Ditto.
7557        * platform/graphics/ca/PlatformCAFilters.h: Ditto.
7558        * platform/graphics/ca/PlatformCALayer.h: Ditto.
7559        * platform/graphics/cg/BitmapImageCG.cpp: Ditto.
7560        * platform/graphics/cg/GraphicsContextCG.cpp: Ditto.
7561        (WebCore::GraphicsContext::setAllowsFontSmoothing):
7562        * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h: Ditto.
7563        * platform/graphics/cg/ImageBufferCG.cpp: Ditto.
7564        * platform/graphics/cg/ImageBufferDataCG.h: Ditto.
7565        * platform/graphics/cg/ImageCG.cpp: Ditto.
7566        * platform/graphics/cg/ImageSourceCG.cpp: Ditto.
7567        (WebCore::ImageSource::setData):
7568        * platform/graphics/cg/ImageSourceCG.h: Ditto.
7569        * platform/graphics/cg/PathCG.cpp: Ditto.
7570        (WebCore::Path::platformAddPathForRoundedRect):
7571        * platform/graphics/cg/PatternCG.cpp: Ditto.
7572        * platform/graphics/gpu/DrawingBuffer.h: Ditto.
7573        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
7574        (WebCore::MediaPlayerPrivateQTKit::createQTMovieView): Removed PLATFORM(MAC) guards, since
7575        this file is only used on Mac and iOS.
7576        * platform/graphics/opengl/Extensions3DOpenGL.cpp:
7577        (WebCore::Extensions3DOpenGL::supportsExtension): Changed the GL_EXT_draw_buffers check to
7578        match the implementation.
7579        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: Changed PLATFORM(MAC) to
7580        PLATFORM(COCOA).
7581        * platform/mac/KeyEventMac.mm: Added !PLATFORM(IOS).
7582        * platform/mac/PlatformEventFactoryMac.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
7583        * platform/mac/WebCoreSystemInterface.h: Ditto. Removed redundant check for PLATFORM(MAC).
7584        * platform/mac/WebCoreSystemInterface.mm: Removed redundant check for PLATFORM(MAC).
7585        * platform/network/Credential.h: Changed PLATFORM(IOS) || PLATFORM(MAC) to PLATFORM(COCOA).
7586        * platform/network/NetworkStateNotifier.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
7587        * platform/network/NetworkStorageSession.h: Ditto.
7588        * platform/network/NetworkingContext.h: Ditto.
7589        * platform/network/ProtectionSpace.cpp: Ditto.
7590        (WebCore::ProtectionSpace::receivesCredentialSecurely):
7591        * platform/network/ResourceHandle.cpp: Ditto.
7592        (WebCore::ResourceHandle::clearAuthentication):
7593        (WebCore::ResourceHandle::shouldContentSniffURL):
7594        * platform/network/ResourceHandle.h: Ditto.
7595        * platform/network/ResourceHandleClient.cpp: Ditto.
7596        * platform/network/ResourceHandleClient.h: Ditto.
7597        * platform/network/ResourceHandleInternal.h: Ditto.
7598        (WebCore::ResourceHandleInternal::ResourceHandleInternal):
7599        * platform/network/ResourceRequestBase.cpp: Ditto.
7600        * platform/network/cf/AuthenticationCF.h: Ditto.
7601        * platform/network/cf/CookieStorageCFNet.cpp: Ditto.
7602        * platform/network/cf/CredentialStorageCFNet.cpp: Ditto.
7603        * platform/network/cf/FormDataStreamCFNet.cpp: Ditto.
7604        * platform/network/cf/NetworkStorageSessionCFNet.cpp: Ditto.
7605        (WebCore::NetworkStorageSession::switchToNewTestingSession):
7606        (WebCore::NetworkStorageSession::createPrivateBrowsingSession):
7607        * platform/network/cf/ResourceError.h: Ditto.
7608        * platform/network/cf/ResourceHandleCFNet.cpp: Ditto.
7609        (WebCore::ResourceHandle::createCFURLConnection):
7610        * platform/network/cf/ResourceHandleCFURLConnectionDelegate.cpp:
7611        * platform/network/cf/ResourceRequest.h: Ditto.
7612        (WebCore::ResourceRequest::ResourceRequest):
7613        * platform/network/cf/ResourceRequestCFNet.cpp: Ditto.
7614        (WebCore::ResourceRequest::doUpdatePlatformRequest):
7615        (WebCore::ResourceRequest::doUpdatePlatformHTTPBody):
7616        (WebCore::ResourceRequest::setStorageSession):
7617        * platform/network/cf/ResourceResponse.h: Ditto.
7618        * platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp:
7619        (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didReceiveResponse):
7620        * platform/network/mac/ResourceResponseMac.mm: Ditto.
7621        * platform/posix/FileSystemPOSIX.cpp: Changed PLATFORM(MAC) to OS(DARWIN) &&
7622        !PLATFORM(EFL) && !PLATFORM(GTK).
7623        * platform/text/TextBoundaries.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
7624
76252014-02-07  Ryosuke Niwa  <rniwa@webkit.org>
7626
7627        Revert r154384 and r154674 as they broke selection rect computations for text with ligatures.
7628
7629        * platform/graphics/Font.cpp:
7630        (WebCore::Font::drawText):
7631        (WebCore::Font::drawEmphasisMarks):
7632        (WebCore::Font::selectionRectForText):
7633        (WebCore::Font::offsetForPosition):
7634        * platform/graphics/FontFastPath.cpp:
7635        (WebCore::Font::getGlyphsAndAdvancesForSimpleText):
7636        (WebCore::Font::selectionRectForSimpleText):
7637        (WebCore::Font::offsetForPositionForSimpleText):
7638        * platform/graphics/GlyphBuffer.h:
7639        * platform/graphics/WidthIterator.cpp:
7640        (WebCore::WidthIterator::WidthIterator):
7641        (WebCore::WidthIterator::advanceInternal):
7642        (WebCore::WidthIterator::advanceOneCharacter):
7643        * platform/graphics/WidthIterator.h:
7644
76452014-02-07  Benjamin Poulain  <bpoulain@apple.com>
7646
7647        [WK2] Add support for text document viewport configuration
7648        https://bugs.webkit.org/show_bug.cgi?id=128359
7649
7650        Reviewed by Simon Fraser.
7651
7652        Define a set of ViewportParameters suitable for displaying text documents.
7653        Add a documents class for text document to differentiate them from other type of documents.
7654
7655        * WebCore.exp.in:
7656        * dom/Document.h:
7657        (WebCore::Document::isTextDocument):
7658        * html/TextDocument.cpp:
7659        (WebCore::TextDocument::TextDocument):
7660        * page/ViewportConfiguration.cpp:
7661        (WebCore::ViewportConfiguration::ViewportConfiguration):
7662        (WebCore::ViewportConfiguration::webpageParameters):
7663        (WebCore::ViewportConfiguration::plainTextParameters):
7664        * page/ViewportConfiguration.h:
7665
76662014-02-07  Bem Jones-Bey  <bjonesbe@adobe.com>
7667
7668        FloatingObject::unsafeClone should not copy m_originatingLine
7669        https://bugs.webkit.org/show_bug.cgi?id=128381
7670
7671        Reviewed by Andreas Kling.
7672
7673        Copying the originatingLine allows to break the invariant that the
7674        floating object must only contain lines that are owned by the renderer
7675        it is attached to.
7676
7677        * rendering/FloatingObjects.cpp:
7678        (WebCore::FloatingObject::unsafeClone):
7679
76802014-02-07  Brendan Long  <b.long@cablelabs.com>
7681
7682        Update TextTrack API to current spec
7683        https://bugs.webkit.org/show_bug.cgi?id=122218
7684
7685        Refactoring VTTCue out of TextTrackCue.
7686
7687        Reviewed by Eric Carlson.
7688
7689        Test: media/track/track-vttcue.html
7690
7691        * CMakeLists.txt: Add VTTCue and rename RenderTextTrackCue to RenderVTTCue.
7692        * DerivedSources.cpp: Same.
7693        * DerivedSources.make: Same.
7694        * GNUmakefile.list.am: Same.
7695        * PlatformGTK.cmake:  Same.
7696        * WebCore.vcxproj/WebCore.vcxproj: Same.
7697        * WebCore.vcxproj/WebCore.vcxproj.filters: Same.
7698        * WebCore.xcodeproj/project.pbxproj: Same.
7699        * bindings/js/JSTextTrackCueCustom.cpp:
7700        (WebCore::toJS): Use VTTCue DOM wrapper for VTTCue and its subclasses.
7701        * html/HTMLMediaElement.cpp:
7702        (WebCore::HTMLMediaElement::updateActiveTextTrackCues): Convert to VTTCue as needed.
7703        (WebCore::HTMLMediaElement::textTrackRemoveCue): Same.
7704        * html/HTMLMediaElement.h: Only print cue.text in debug output if the cue type has a .text attribute
7705        * html/shadow/MediaControlElements.cpp:
7706        (WebCore::MediaControlTextTrackContainerElement::updateDisplay): Convert to VTTCue as needed, and fix TextTrackCueBox to VTTCueBox.
7707        (WebCore::MediaControlTextTrackContainerElement::updateTimerFired): Convert to VTTCue as needed.
7708        * html/track/InbandGenericTextTrack.cpp:
7709        (WebCore::InbandGenericTextTrack::addGenericCue): Use refactored VTTCue attributes.
7710        * html/track/InbandWebVTTTextTrack.cpp:
7711        (WebCore::InbandWebVTTTextTrack::newCuesParsed): Use VTTCue's constructor instead of deprecated TextTrackCue constructor.
7712        * html/track/TextTrack.cpp:
7713        (WebCore::TextTrack::setMode): Convert to VTTCue as needed.
7714        (WebCore::TextTrack::hasCue): Make this function only accept VTTCues, since it's only used for them anyway, and convert existing cues to VTTCues as needed.
7715        * html/track/TextTrack.h: Same as hasCue above.
7716        * html/track/TextTrackCue.cpp: Refactor a lot of code out. Everything that was removed went to VTTCue.cpp.
7717        (WebCore::TextTrackCue::create): For backwards compatibility, just call VTTCue::create().
7718        (WebCore::TextTrackCue::TextTrackCue): Refactor a lot of code out.
7719        (WebCore::TextTrackCue::~TextTrackCue): Same.
7720        (WebCore::TextTrackCue::didChange): Same.
7721        (WebCore::TextTrackCue::setIsActive): Same.
7722        * html/track/TextTrackCue.h: Same.
7723        * html/track/TextTrackCue.idl: Remove VTTCue attributes and add custom toJS function.
7724        * html/track/TextTrackCueGeneric.cpp: Use VTTCue instead of TextTrackCue.
7725        * html/track/TextTrackCueGeneric.h: Same.
7726        * html/track/VTTCue.cpp: Copied from Source/WebCore/html/track/TextTrackCue.cpp.
7727        * html/track/VTTCue.h: Copied from Source/WebCore/html/track/TextTrackCue.h.
7728        * html/track/VTTCue.idl: Copied from Source/WebCore/html/track/TextTrackCue.idl.
7729        * loader/TextTrackLoader.cpp:
7730        (WebCore::TextTrackLoader::getNewCues): Use VTTCue instead of TextTrackCue.
7731        * page/CaptionUserPreferencesMediaAF.cpp:
7732        (WebCore::CaptionUserPreferencesMediaAF::captionsStyleSheetOverride): Use VTTCueBox instead of TextTrackCueBox.
7733        * rendering/RenderVTTCue.cpp: Renamed from Source/WebCore/rendering/RenderTextTrackCue.cpp. Changed to use VTTCue instead of TextTrackCue.
7734        * rendering/RenderVTTCue.h: Renamed from Source/WebCore/rendering/RenderTextTrackCue.h. Changed to use VTTCue instead of TextTrackCue.
7735        * rendering/RenderingAllInOne.cpp: Rename RenderTextTrackCue to RenderVTTCue.
7736
77372014-02-07  Gavin Barraclough  <barraclough@apple.com>
7738
7739        Should report user input to PageThrottler
7740        https://bugs.webkit.org/show_bug.cgi?id=128398
7741
7742        Reviewed by Tim Horton.
7743
7744        Make sure we wake from AppNap if there is user interaction.
7745
7746        * page/PageThrottler.h:
7747        (WebCore::PageThrottler::didReceiveUserInput):
7748        (WebCore::PageThrottler::pluginDidEvaluate):
7749            - added, these call reportInterestingEvent()
7750
77512014-02-07  Jer Noble  <jer.noble@apple.com>
7752
7753        Unreviewed build fix for 32-bit iOS.
7754
7755        Use magic ? values to allow the exported symbol to be different on 32- and 64-bit builds.
7756
7757        * WebCore.exp.in:
7758
77592014-02-07  Anders Carlsson  <andersca@apple.com>
7760
7761        Convert ProgressTracker to std::chrono
7762        https://bugs.webkit.org/show_bug.cgi?id=128377
7763
7764        Reviewed by Andreas Kling.
7765
7766        * loader/ProgressTracker.cpp:
7767        (WebCore::ProgressTracker::ProgressTracker):
7768        (WebCore::ProgressTracker::reset):
7769        (WebCore::ProgressTracker::progressStarted):
7770        (WebCore::ProgressTracker::finalProgressComplete):
7771        (WebCore::ProgressTracker::incrementProgress):
7772        * loader/ProgressTracker.h:
7773
77742014-02-07  Alexey Proskuryakov  <ap@apple.com>
7775
7776        32-bit build fix.
7777
7778        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
7779        (accessibilitySelectTextCriteriaForCriteriaParameterizedAttribute):
7780
77812014-02-07  Mihai Tica  <mitica@adobe.com>
7782
7783        [CSS Background Blending] Unprefix the -webkit-background-blend-mode property
7784
7785        https://bugs.webkit.org/show_bug.cgi?id=128270
7786
7787        Reviewed by Dean Jackson.
7788
7789        This patch consist of unprefixing the -webkit-background-blend-mode.
7790        The property now changes to background-blend-mode.
7791
7792        * css/CSSComputedStyleDeclaration.cpp:
7793        (WebCore::ComputedStyleExtractor::propertyValue):
7794        * css/CSSParser.cpp:
7795        (WebCore::CSSParser::parseValue):
7796        (WebCore::CSSParser::parseFillProperty):
7797        * css/CSSPropertyNames.in:
7798        * css/DeprecatedStyleBuilder.cpp:
7799        (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
7800
78012014-02-07  Samuel White  <samuel_white@apple.com>
7802
7803        AX: Find and select text with respect to insertion point using accessibility API.
7804        https://bugs.webkit.org/show_bug.cgi?id=128026
7805
7806        Reviewed by Chris Fleizach.
7807
7808        Added facilities to support semi-ambiguous text selection through the accessibility API. All
7809        requests are handled with respect to the current selection. The requests are disambiguated in
7810        WebCore using passed parameters such as: SelectStringAfterSelection , ..Before.., ..ClosestTo...,
7811        etc. Callers can also supply an array of strings to select and the closest that matches the
7812        disambiguation criteria will be used.
7813
7814        Test: platform/mac/accessibility/select-text.html
7815
7816        * accessibility/AccessibilityObject.cpp:
7817        (WebCore::AccessibilityObject::rangeClosestToRange):
7818        (WebCore::AccessibilityObject::rangeOfStringClosestToRangeInDirection):
7819        (WebCore::AccessibilityObject::selectionRange):
7820        (WebCore::AccessibilityObject::selectText):
7821        (WebCore::AccessibilityObject::frame):
7822        * accessibility/AccessibilityObject.h:
7823        (WebCore::AccessibilitySelectTextCriteria::AccessibilitySelectTextCriteria):
7824        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
7825        (accessibilitySelectTextCriteriaForCriteriaParameterizedAttribute):
7826        (-[WebAccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
7827        (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
7828        * dom/Position.cpp:
7829        (WebCore::Position::positionCountBetweenPositions):
7830        * dom/Position.h:
7831
78322014-02-07  Bem Jones-Bey  <bjonesbe@adobe.com>
7833
7834        FloatingObject m_paginationStrut should be LayoutUnit
7835        https://bugs.webkit.org/show_bug.cgi?id=119808
7836
7837        Reviewed by Andreas Kling.
7838
7839        Make the paginationStrut in FloatingObject have the same type as all
7840        of the other paginationStruts in the code.
7841
7842        * rendering/FloatingObjects.h:
7843        (WebCore::FloatingObject::paginationStrut):
7844        (WebCore::FloatingObject::setPaginationStrut):
7845        * rendering/RenderBlockLineLayout.cpp:
7846        (WebCore::RenderBlockFlow::positionNewFloatOnLine):
7847
78482014-02-06  Brady Eidson  <beidson@apple.com>
7849
7850        IDB: storage/indexeddb/create-index-with-integer-keys.html fails
7851        <rdar://problem/16002857> and https://bugs.webkit.org/show_bug.cgi?id=128316
7852
7853        Reviewed by Geoff Garen.
7854
7855        Tested by storage/indexeddb/create-index-with-integer-keys.html (and probably some others)
7856
7857        * Modules/indexeddb/IDBCursor.cpp:
7858        (WebCore::IDBCursor::update): Update createIDBKeyFromScriptValueAndKeyPath usage.
7859        (WebCore::IDBCursor::setValueReady): Update createIDBKeyFromScriptValueAndKeyPath usage.
7860
7861        * Modules/indexeddb/IDBObjectStore.cpp:
7862        (WebCore::IDBObjectStore::put): Update usage of binding utilities.
7863
7864        * Modules/indexeddb/IDBRequest.cpp:
7865        (WebCore::IDBRequest::onSuccess): Update createIDBKeyFromScriptValueAndKeyPath usage.
7866
7867        * bindings/js/IDBBindingUtilities.cpp:
7868        (WebCore::internalCreateIDBKeyFromScriptValueAndKeyPath):
7869        (WebCore::createIDBKeyFromScriptValueAndKeyPath): Changed to take an ExecState*.
7870        (WebCore::deserializeIDBValueBuffer): Added new version that starts with ExecState* and Vector<uint8_t>
7871          instead of RequestState and SharedBuffer.
7872        (WebCore::generateIndexKeysForValue): Moved from IDBObjectStore.cpp and changed to take an ExecState*
7873        * bindings/js/IDBBindingUtilities.h:
7874
7875        Added new blob fetcher that works with uint8_t buffers:
7876        * platform/sql/SQLiteStatement.cpp:
7877        (WebCore::SQLiteStatement::getColumnBlobAsVector):
7878        * platform/sql/SQLiteStatement.h:
7879
7880        * WebCore.exp.in:
7881
78822014-02-07  Frédéric Wang  <fred.wang@free.fr>
7883
7884        childShouldCreateRenderer should return false for the mspace element
7885        https://bugs.webkit.org/show_bug.cgi?id=128325
7886
7887        Reviewed by Chris Fleizach.
7888
7889        The mspace element can not have children so this makes its
7890        childShouldCreateRenderer always return false.
7891
7892        Test: mathml/presentation/mspace-children.html
7893
7894        * mathml/MathMLTextElement.cpp:
7895        (WebCore::MathMLTextElement::childShouldCreateRenderer):
7896
78972014-02-07  Javier Fernandez  <jfernandez@igalia.com>
7898
7899        [CSS Grid Layout] Rename grid-definition-{columns|rows} to match the new syntax
7900        https://bugs.webkit.org/show_bug.cgi?id=127989
7901
7902        Reviewed by Andreas Kling.
7903
7904        In the latest WD, grid-definition-{columns|rows} were renamed to grid-template-{columns|rows}.
7905
7906        * css/CSSComputedStyleDeclaration.cpp:
7907        (WebCore::isLayoutDependent):
7908        (WebCore::ComputedStyleExtractor::propertyValue):
7909        * css/CSSParser.cpp:
7910        (WebCore::CSSParser::parseValue):
7911        * css/CSSPropertyNames.in:
7912        * css/StyleResolver.cpp:
7913        (WebCore::StyleResolver::applyProperty):
7914
79152014-02-07  Andreas Kling  <akling@apple.com>
7916
7917        CTTE: DocumentThreadableLoader always has a Document.
7918        <https://webkit.org/b/128364>
7919
7920        DocumentThreadableLoader always has an "owner" Document, so store
7921        that as a reference instead of a pointer. Removed some unnecessary
7922        assertions exposed by this change.
7923
7924        Reviewed by Antti Koivisto.
7925
7926        * loader/DocumentThreadableLoader.cpp:
7927        (WebCore::DocumentThreadableLoader::loadResourceSynchronously):
7928        (WebCore::DocumentThreadableLoader::create):
7929        (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
7930        (WebCore::DocumentThreadableLoader::didReceiveResponse):
7931        (WebCore::DocumentThreadableLoader::didReceiveData):
7932        (WebCore::DocumentThreadableLoader::didFinishLoading):
7933        (WebCore::DocumentThreadableLoader::didFail):
7934        (WebCore::DocumentThreadableLoader::preflightFailure):
7935        (WebCore::DocumentThreadableLoader::loadRequest):
7936        (WebCore::DocumentThreadableLoader::securityOrigin):
7937        * loader/DocumentThreadableLoader.h:
7938        * loader/ThreadableLoader.cpp:
7939        (WebCore::ThreadableLoader::create):
7940        (WebCore::ThreadableLoader::loadResourceSynchronously):
7941        * loader/WorkerThreadableLoader.cpp:
7942        (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader):
7943
79442014-02-07  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
7945
7946        Vector-effect updates require a re-layout
7947        https://bugs.webkit.org/show_bug.cgi?id=127553
7948
7949        Reviewed by Andreas Kling.
7950
7951        As noted in the stale SVGRenderStyle::diff() comment, now that layout() observes vector-effect
7952        we need to trigger a re-layout on attribute changes.
7953
7954        Merged from Blink: https://src.chromium.org/viewvc/blink?revision=152570&view=revision
7955
7956        Tests: svg/custom/non-scaling-stroke-update-expected.svg
7957               svg/custom/non-scaling-stroke-update.svg
7958
7959        * rendering/style/SVGRenderStyle.cpp:
7960        (WebCore::SVGRenderStyle::diff):
7961
79622014-02-07  Laszlo Vidacs  <lvidacs.u-szeged@partner.samsung.com>
7963
7964        Renaming isTableElement() to isRenderedTable() as per the FIXME comment
7965        https://bugs.webkit.org/show_bug.cgi?id=127769
7966
7967        Reviewed by Andreas Kling.
7968
7969        Rename method and use IsTable() instead of local type checking.
7970
7971        * dom/Position.cpp:
7972        (WebCore::Position::parentAnchoredEquivalent):
7973        (WebCore::Position::upstream):
7974        (WebCore::Position::downstream):
7975        (WebCore::Position::isCandidate):
7976        * dom/PositionIterator.cpp:
7977        (WebCore::PositionIterator::isCandidate):
7978        * editing/CompositeEditCommand.cpp:
7979        (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
7980        (WebCore::CompositeEditCommand::moveParagraphWithClones):
7981        * editing/FrameSelection.cpp:
7982        (WebCore::caretRendersInsideNode):
7983        * editing/VisibleUnits.cpp:
7984        (WebCore::startOfParagraph):
7985        (WebCore::endOfParagraph):
7986        * editing/htmlediting.cpp:
7987        (WebCore::firstInSpecialElement):
7988        (WebCore::lastInSpecialElement):
7989        (WebCore::isRenderedTable):
7990        * editing/htmlediting.h:
7991        * rendering/RenderBox.cpp:
7992        (WebCore::RenderBox::localCaretRect):
7993
79942014-02-06  Brady Eidson  <beidson@apple.com>
7995
7996        IDB: Remove the entirely unnecessary "Value Key" concept
7997        https://bugs.webkit.org/show_bug.cgi?id=128360
7998
7999        Reviewed by Dan Bernstein.
8000
8001        No new tests (No change in behavior)
8002
8003        All cursor operations were set up to pass a value key parameter around, but it was:
8004        1 - Entirely unused
8005        2 - The same thing that the primary key is supposed to be
8006
8007        * Modules/indexeddb/IDBCallbacks.h:
8008
8009        * Modules/indexeddb/IDBCursorBackend.cpp:
8010        (WebCore::IDBCursorBackend::updateCursorData):
8011        (WebCore::IDBCursorBackend::clear):
8012        * Modules/indexeddb/IDBCursorBackend.h:
8013
8014        * Modules/indexeddb/IDBCursorBackendOperations.cpp:
8015        (WebCore::CursorAdvanceOperation::perform):
8016        (WebCore::CursorIterationOperation::perform):
8017
8018        * Modules/indexeddb/IDBRequest.cpp:
8019        (WebCore::IDBRequest::onSuccess):
8020        * Modules/indexeddb/IDBRequest.h:
8021
8022        * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
8023        (WebCore::OpenCursorOperation::perform):
8024
8025        * Modules/indexeddb/IDBServerConnection.h:
8026        * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
8027        (WebCore::IDBServerConnectionLevelDB::openCursor):
8028        (WebCore::IDBServerConnectionLevelDB::cursorAdvance):
8029        (WebCore::IDBServerConnectionLevelDB::cursorIterate):
8030        * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
8031
80322014-02-06  Jeremy Jones  <jeremyj@apple.com>
8033
8034        Add support for AVKit fullscreen to WebKit2
8035        https://bugs.webkit.org/show_bug.cgi?id=128143
8036
8037        Reviewed by Simon Fraser.
8038
8039        Rename overloaded functions to prevent ambiguous template parameter
8040        compile error in generated code.
8041
8042        Rename overloaded exitFullscreen to exitFullscreenWithCompletionHandler.
8043        Rename overloaded enterFullscreen to enterFullscreenWithCompletionHandler.
8044
8045        * WebCore.exp.in:
8046        * WebCore.xcodeproj/project.pbxproj:
8047        * platform/ios/WebVideoFullscreenControllerAVKit.mm:
8048        (-[WebVideoFullscreenController exitFullscreen]):
8049        * platform/ios/WebVideoFullscreenInterfaceAVKit.h:
8050        * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
8051        (WebVideoFullscreenInterfaceAVKit::enterFullscreenWithCompletionHandler):
8052        (WebVideoFullscreenInterfaceAVKit::enterFullscreen):
8053        (WebVideoFullscreenInterfaceAVKit::exitFullscreenWithCompletionHandler):
8054        (WebVideoFullscreenInterfaceAVKit::exitFullscreen):
8055        * platform/ios/WebVideoFullscreenModelMediaElement.h:
8056
80572014-02-06  Jeffrey Pfau  <jpfau@apple.com>
8058
8059        loadSubframe can return null in SubframeLoader::loadOrRedirectSubframe
8060        https://bugs.webkit.org/show_bug.cgi?id=128344
8061
8062        Reviewed by Ryosuke Niwa.
8063
8064        * loader/SubframeLoader.cpp:
8065        (WebCore::SubframeLoader::loadOrRedirectSubframe):
8066
80672014-02-06  Andreas Kling  <akling@apple.com>
8068
8069        Use child iterator in HTMLDetailsElement::findMainSummary().
8070        <https://webkit.org/b/128335>
8071
8072        Reviewed by Antti Koivisto.
8073
8074        * html/HTMLDetailsElement.h:
8075        * html/HTMLDetailsElement.cpp:
8076        (WebCore::HTMLDetailsElement::findMainSummary):
8077
80782014-02-06  Antti Koivisto  <antti@apple.com>
8079
8080        Add missing &.
8081
8082        * css/StyleInvalidationAnalysis.cpp:
8083        (WebCore::shouldDirtyAllStyle):
8084
80852014-02-06  Antti Koivisto  <antti@apple.com>
8086
8087        Check selectors exactly when invalidating style
8088        https://bugs.webkit.org/show_bug.cgi?id=128321
8089
8090        Reviewed by Andreas Kling.
8091        
8092        Selectors are now really fast to match with the JIT. Take advantage of this by invalidating
8093        the document style exactly when a new stylesheet arrives (instead of using heuristics).
8094        
8095        This reduces need for large style recalculations in some common cases.
8096
8097        * css/ElementRuleCollector.cpp:
8098        (WebCore::ElementRuleCollector::clearMatchedRules):
8099        (WebCore::ElementRuleCollector::collectMatchingRulesForList):
8100        * css/ElementRuleCollector.h:
8101        (WebCore::ElementRuleCollector::hasMatchedRules):
8102        * css/RuleSet.h:
8103        (WebCore::RuleSet::hasShadowPseudoElementRules):
8104        * css/SelectorChecker.cpp:
8105        (WebCore::SelectorChecker::matchRecursively):
8106        * css/SelectorChecker.h:
8107        
8108            Add new mode where all pseudo elements match so we can invalidate their element.
8109
8110        * css/StyleInvalidationAnalysis.cpp:
8111        (WebCore::shouldDirtyAllStyle):
8112        (WebCore::StyleInvalidationAnalysis::StyleInvalidationAnalysis):
8113        (WebCore::invalidateStyleRecursively):
8114        (WebCore::StyleInvalidationAnalysis::invalidateStyle):
8115        
8116            Switch to real selector checker.
8117
8118        * css/StyleInvalidationAnalysis.h:
8119        * css/StyleResolver.cpp:
8120        (WebCore::StyleResolver::MatchedProperties::~MatchedProperties):
8121        * css/StyleResolver.h:
8122        (WebCore::StyleResolver::mediaQueryEvaluator):
8123        * dom/DocumentStyleSheetCollection.cpp:
8124        (WebCore::DocumentStyleSheetCollection::analyzeStyleSheetChange):
8125
81262014-02-06  Gavin Barraclough  <barraclough@apple.com>
8127
8128        Remove ChildProcess::m_activeTasks
8129        https://bugs.webkit.org/show_bug.cgi?id=128342
8130
8131        Reviewed by Anders Carlson.
8132
8133        Currently we funnel a number of different user activities
8134        to a single UserActivity object, which requires a call down
8135        from WebCore to WebKit2. Split these out so we can track
8136        them separately.
8137
8138        * page/ChromeClient.h:
8139            - removed [inc|dec]rementActivePageCount
8140        * page/PageThrottler.cpp:
8141        (WebCore::PageThrottler::PageThrottler):
8142            - incrementActivePageCount -> beginActivity
8143        (WebCore::PageThrottler::~PageThrottler):
8144            - decrementActivePageCount -> endActivity
8145        (WebCore::PageThrottler::throttlePage):
8146            - decrementActivePageCount -> endActivity
8147        (WebCore::PageThrottler::unthrottlePage):
8148            - incrementActivePageCount -> beginActivity
8149        * page/PageThrottler.h:
8150            - Added m_pageActivity.
8151
81522014-02-06  Commit Queue  <commit-queue@webkit.org>
8153
8154        Unreviewed, rolling out r163558.
8155        http://trac.webkit.org/changeset/163558
8156        https://bugs.webkit.org/show_bug.cgi?id=128350
8157
8158        Breaks scrolling on certain websites (Requested by bfulgham on
8159        #webkit).
8160
8161        * page/EventHandler.cpp:
8162        (WebCore::EventHandler::handleWheelEvent):
8163        * page/WheelEventDeltaTracker.h:
8164
81652014-02-06  Chris Fleizach  <cfleizach@apple.com>
8166
8167        AX: Crash in WebCore::AXObjectCache::computedObjectAttributeCache
8168        https://bugs.webkit.org/show_bug.cgi?id=128310
8169
8170        Reviewed by Alexey Proskuryakov.
8171
8172        Be more careful about using axObjectCache() directly since it can return null.
8173        I audited the usage cases of this method and ensured the ptr was not null in cases
8174        where I thought we might get hit by this.
8175
8176        * accessibility/AccessibilityNodeObject.cpp:
8177        (WebCore::AccessibilityNodeObject::parentObject):
8178        (WebCore::AccessibilityNodeObject::menuForMenuButton):
8179        (WebCore::AccessibilityNodeObject::menuButtonForMenu):
8180        * accessibility/AccessibilityObject.cpp:
8181        (WebCore::AccessibilityObject::firstAccessibleObjectFromNode):
8182        (WebCore::AccessibilityObject::findMatchingObjects):
8183        (WebCore::AccessibilityObject::elementAccessibilityHitTest):
8184        (WebCore::AccessibilityObject::axObjectCache):
8185        (WebCore::AccessibilityObject::notifyIfIgnoredValueChanged):
8186        (WebCore::AccessibilityObject::accessibilityIsIgnored):
8187        * accessibility/AccessibilityRenderObject.cpp:
8188        (WebCore::AccessibilityRenderObject::parentObjectIfExists):
8189        (WebCore::AccessibilityRenderObject::parentObject):
8190        (WebCore::AccessibilityRenderObject::anchorElement):
8191        (WebCore::AccessibilityRenderObject::isTabItemSelected):
8192        (WebCore::AccessibilityRenderObject::accessibilityParentForImageMap):
8193        (WebCore::AccessibilityRenderObject::nodeIsTextControl):
8194        (WebCore::AccessibilityRenderObject::activeDescendant):
8195        (WebCore::AccessibilityRenderObject::handleAriaExpandedChanged):
8196        (WebCore::AccessibilityRenderObject::observableObject):
8197        (WebCore::AccessibilityRenderObject::textChanged):
8198        * accessibility/AccessibilityScrollView.cpp:
8199        (WebCore::AccessibilityScrollView::addChildScrollbar):
8200        (WebCore::AccessibilityScrollView::webAreaObject):
8201        (WebCore::AccessibilityScrollView::parentObject):
8202        (WebCore::AccessibilityScrollView::parentObjectIfExists):
8203
82042014-02-06  Zoltan Horvath  <zoltan@webkit.org>
8205
8206        [CSS Shapes] Rounded Insets Let Content Overlap Shape
8207        https://bugs.webkit.org/show_bug.cgi?id=127852
8208
8209        Reviewed by Bem Jones-Bey.
8210
8211        Using LengthSize to FloatSize conversion from LengthSize.h lead to miscalculated
8212        inset border radius, when the border radius was defined by percentages. This patch
8213        fixes the behavior and removes the incorrect conversion.
8214
8215        Test: fast/shapes/shape-outside-floats/shape-outside-rounded-inset.html
8216
8217        * css/LengthFunctions.cpp:
8218        (WebCore::floatSizeForLengthSize): Add new helper function for LengthSize to FloatSize conversion.
8219        * css/LengthFunctions.h:
8220        * platform/LengthSize.h: Remove floatSize conversion.
8221        * rendering/shapes/Shape.cpp:
8222        (WebCore::Shape::createShape): Use new helper function to calculate the right with for the inset border radius.
8223
82242014-02-06  Joseph Pecoraro  <pecoraro@apple.com>
8225
8226        Regenerate JSTestObj now that ScriptArguments moved. Generator knows what to do.
8227
8228        Rubber-stamped by Zalan Bujtas.
8229
8230        * bindings/scripts/test/JS/JSTestObj.cpp:
8231        (WebCore::jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStack):
8232
82332014-02-04  Jeffrey Pfau  <jpfau@apple.com>
8234
8235        Make adoption agency use the task queue
8236        https://bugs.webkit.org/show_bug.cgi?id=109445
8237
8238        Reviewed by Ryosuke Niwa.
8239
8240        Tests: fast/parser/adoption-agency-crash-01.html
8241               fast/parser/adoption-agency-crash-02.html
8242               fast/parser/adoption-agency-crash-03.html
8243
8244        * html/parser/HTMLConstructionSite.cpp:
8245        (WebCore::insert):
8246        (WebCore::executeInsertTask):
8247        (WebCore::executeReparentTask):
8248        (WebCore::executeInsertAlreadyParsedChildTask):
8249        (WebCore::executeTakeAllChildrenTask):
8250        (WebCore::executeTask):
8251        (WebCore::HTMLConstructionSite::attachLater):
8252        (WebCore::HTMLConstructionSite::executeQueuedTasks):
8253        (WebCore::HTMLConstructionSite::insertTextNode):
8254        (WebCore::HTMLConstructionSite::reparent):
8255        (WebCore::HTMLConstructionSite::insertAlreadyParsedChild):
8256        (WebCore::HTMLConstructionSite::takeAllChildren):
8257        (WebCore::HTMLConstructionSite::fosterParent):
8258        * html/parser/HTMLConstructionSite.h:
8259        (WebCore::HTMLConstructionSiteTask::HTMLConstructionSiteTask):
8260        (WebCore::HTMLConstructionSiteTask::oldParent):
8261        * html/parser/HTMLTreeBuilder.cpp:
8262        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
8263
82642014-02-06  Mark Hahnenberg  <mhahnenberg@apple.com>
8265
8266        Heap::writeBarrier shouldn't be static
8267        https://bugs.webkit.org/show_bug.cgi?id=127807
8268
8269        Reviewed by Geoffrey Garen.
8270
8271        Currently it looks up the Heap in which to fire the write barrier by using 
8272        the cell passed to it. Almost every call site already has a reference to the 
8273        VM or the Heap itself. It seems wasteful to look it up all over again.
8274
8275        * bindings/js/JSEventListener.cpp:
8276        (WebCore::JSEventListener::JSEventListener):
8277        * bindings/js/JSEventListener.h:
8278        (WebCore::JSEventListener::jsFunction):
8279
82802014-02-06  Jaehun Lim  <ljaehun.lim@samsung.com>
8281
8282        Unreviewed, fix build error on 64bit debug build
8283
8284        Apply static_cast<long long> to int64_t variable when '%lli' is used.
8285
8286        * Modules/indexeddb/IDBDatabaseBackend.cpp:
8287        (WebCore::IDBDatabaseBackend::clearObjectStore):
8288        * Modules/indexeddb/IDBTransaction.cpp:
8289        (WebCore::IDBTransaction::setActive):
8290
82912014-02-06  Joseph Pecoraro  <pecoraro@apple.com>
8292
8293        Web Inspector: Add Console support to JSContext Inspection
8294        https://bugs.webkit.org/show_bug.cgi?id=127941
8295
8296        Reviewed by Geoffrey Garen.
8297
8298          - Move InspectorConsoleAgent and dependencies to JavaScriptCore
8299            and into the Inspector namespace.
8300          - Update Console Message enum types to enum classes and update
8301            all users to the new, simpler names.
8302          - Since we are updating addConsoleMessage callsites anyways, add
8303            ASCIILiteral where appropriate.
8304          - Add WebConsoleAgent base of Page/Worker ConsoleAgent to implement
8305            what could not be pushed into JavaScriptCore.
8306
8307        * CMakeLists.txt:
8308        * DerivedSources.make:
8309        * ForwardingHeaders/inspector/ConsoleMessage.h: Added.
8310        * ForwardingHeaders/inspector/ConsoleTypes.h: Added.
8311        * ForwardingHeaders/inspector/IdentifiersFactory.h: Added.
8312        * ForwardingHeaders/inspector/ScriptArguments.h: Added.
8313        * ForwardingHeaders/inspector/ScriptCallFrame.h: Added.
8314        * ForwardingHeaders/inspector/ScriptCallStack.h: Added.
8315        * ForwardingHeaders/inspector/ScriptCallStackFactory.h: Added.
8316        * ForwardingHeaders/inspector/agents/InspectorConsoleAgent.h: Added.
8317        * GNUmakefile.am:
8318        * GNUmakefile.list.am:
8319        Add / remove files from builds.
8320
8321        * inspector/WebConsoleAgent.h:
8322        * inspector/WebConsoleAgent.cpp: Added.
8323        (WebCore::WebConsoleAgent::WebConsoleAgent):
8324        (WebCore::WebConsoleAgent::setMonitoringXHREnabled):
8325        (WebCore::WebConsoleAgent::frameWindowDiscarded):
8326        (WebCore::WebConsoleAgent::didFinishXHRLoading):
8327        (WebCore::WebConsoleAgent::didReceiveResponse):
8328        (WebCore::WebConsoleAgent::didFailLoading):
8329        (WebCore::WebConsoleAgent::addInspectedHeapObject):
8330        Implement what could not be pushed down into JavaScriptCore.
8331
8332        * inspector/InstrumentingAgents.h:
8333        (WebCore::InstrumentingAgents::webConsoleAgent):
8334        (WebCore::InstrumentingAgents::setWebConsoleAgent):
8335        Hold a WebConsoleAgent instead of InspectorConsoleAgent.
8336
8337        * Modules/indexeddb/IDBCursor.cpp:
8338        * Modules/indexeddb/IDBDatabase.cpp:
8339        * Modules/indexeddb/IDBTransaction.cpp:
8340        * Modules/quota/DOMWindowQuota.cpp:
8341        (WebCore::DOMWindowQuota::webkitStorageInfo):
8342        * Modules/webaudio/AudioBufferSourceNode.cpp:
8343        (WebCore::AudioBufferSourceNode::looping):
8344        (WebCore::AudioBufferSourceNode::setLooping):
8345        * Modules/webaudio/AudioContext.cpp:
8346        * Modules/webaudio/PannerNode.cpp:
8347        (WebCore::PannerNode::setPanningModel):
8348        * Modules/webdatabase/DatabaseBase.cpp:
8349        (WebCore::DatabaseBase::logErrorMessage):
8350        * Modules/webdatabase/DatabaseManager.cpp:
8351        (WebCore::DatabaseManager::logErrorMessage):
8352        * Modules/websockets/WebSocket.cpp:
8353        (WebCore::WebSocket::connect):
8354        (WebCore::WebSocket::send):
8355        (WebCore::WebSocket::close):
8356        (WebCore::WebSocket::setBinaryType):
8357        * Modules/websockets/WebSocketChannel.cpp:
8358        (WebCore::WebSocketChannel::fail):
8359        (WebCore::WebSocketChannel::didFailSocketStream):
8360        * Modules/websockets/WebSocketHandshake.cpp:
8361        * WebCore.exp.in:
8362        * WebCore.vcxproj/WebCore.vcxproj:
8363        * WebCore.vcxproj/WebCore.vcxproj.filters:
8364        * WebCore.xcodeproj/project.pbxproj:
8365        * bindings/js/JSAudioContextCustom.cpp:
8366        (WebCore::JSAudioContextConstructor::constructJSAudioContext):
8367        * bindings/js/JSCustomXPathNSResolver.cpp:
8368        (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
8369        * bindings/js/JSDOMBinding.cpp:
8370        * bindings/js/JSSubtleCryptoCustom.cpp:
8371        (WebCore::JSSubtleCrypto::encrypt):
8372        (WebCore::JSSubtleCrypto::decrypt):
8373        (WebCore::JSSubtleCrypto::sign):
8374        (WebCore::JSSubtleCrypto::verify):
8375        (WebCore::JSSubtleCrypto::wrapKey):
8376        (WebCore::JSSubtleCrypto::unwrapKey):
8377        * bindings/js/ScriptController.cpp:
8378        (WebCore::ScriptController::canExecuteScripts):
8379        * bindings/scripts/CodeGeneratorJS.pm:
8380        (GenerateCallWith):
8381        * bindings/scripts/test/JS/JSTestObj.cpp:
8382        * css/CSSParser.cpp:
8383        (WebCore::CSSParser::logError):
8384        * css/MediaList.cpp:
8385        (WebCore::addResolutionWarningMessageToConsole):
8386        * dom/Document.cpp:
8387        (WebCore::Document::logExceptionToConsole):
8388        (WebCore::Document::processHttpEquiv):
8389        (WebCore::Document::addMessage):
8390        * dom/Document.h:
8391        * dom/ScriptElement.cpp:
8392        (WebCore::ScriptElement::executeScript):
8393        (WebCore::ScriptElement::notifyFinished):
8394        * dom/ScriptExecutionContext.cpp:
8395        * dom/ScriptExecutionContext.h:
8396        * dom/ViewportArguments.cpp:
8397        (WebCore::viewportErrorMessageLevel):
8398        (WebCore::reportViewportWarning):
8399        * fileapi/Blob.cpp:
8400        * fileapi/WebKitBlobBuilder.cpp:
8401        * html/HTMLFormControlElement.cpp:
8402        (WebCore::shouldAutofocus):
8403        * html/HTMLFormElement.cpp:
8404        (WebCore::HTMLFormElement::validateInteractively):
8405        * html/HTMLIFrameElement.cpp:
8406        (WebCore::HTMLIFrameElement::parseAttribute):
8407        * html/HTMLMediaElement.cpp:
8408        (WebCore::HTMLMediaElement::parseAttribute):
8409        * html/canvas/CanvasRenderingContext2D.cpp:
8410        (WebCore::CanvasRenderingContext2D::getImageData):
8411        * html/canvas/WebGLRenderingContext.cpp:
8412        (WebCore::WebGLRenderingContext::printWarningToConsole):
8413        * html/parser/XSSAuditor.cpp:
8414        (WebCore::XSSAuditor::init):
8415        * html/parser/XSSAuditorDelegate.cpp:
8416        (WebCore::XSSAuditorDelegate::didBlockScript):
8417        * inspector/CommandLineAPIHost.cpp:
8418        * inspector/CommandLineAPIHost.h:
8419        (WebCore::CommandLineAPIHost::init):
8420        * inspector/InspectorAllInOne.cpp:
8421        * inspector/InspectorConsoleAgent.h: Removed.
8422        * inspector/InspectorConsoleInstrumentation.h:
8423        (WebCore::InspectorInstrumentation::addMessageToConsole):
8424        (WebCore::InspectorInstrumentation::consoleCount):
8425        (WebCore::InspectorInstrumentation::stopConsoleTiming):
8426        (WebCore::InspectorInstrumentation::consoleTimeStamp):
8427        (WebCore::InspectorInstrumentation::addProfile):
8428        * inspector/InspectorController.cpp:
8429        (WebCore::InspectorController::InspectorController):
8430        * inspector/InspectorDOMAgent.cpp:
8431        * inspector/InspectorFrontendHost.h:
8432        * inspector/InspectorInstrumentation.cpp:
8433        (WebCore::InspectorInstrumentation::frameWindowDiscardedImpl):
8434        (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
8435        (WebCore::InspectorInstrumentation::didFailLoadingImpl):
8436        (WebCore::InspectorInstrumentation::didFinishXHRLoadingImpl):
8437        (WebCore::InspectorInstrumentation::didCommitLoadImpl):
8438        (WebCore::isConsoleAssertMessage):
8439        (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
8440        (WebCore::InspectorInstrumentation::consoleCountImpl):
8441        (WebCore::InspectorInstrumentation::startConsoleTimingImpl):
8442        (WebCore::InspectorInstrumentation::stopConsoleTimingImpl):
8443        (WebCore::InspectorInstrumentation::consoleAgentEnabled):
8444        * inspector/InspectorInstrumentation.h:
8445        * inspector/InspectorLayerTreeAgent.cpp:
8446        * inspector/InspectorPageAgent.cpp:
8447        * inspector/InspectorProfilerAgent.cpp:
8448        (WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole):
8449        (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
8450        * inspector/InspectorProfilerAgent.h:
8451        * inspector/InspectorResourceAgent.cpp:
8452        (WebCore::InspectorResourceAgent::buildInitiatorObject):
8453        * inspector/InspectorTimelineAgent.cpp:
8454        * inspector/InstrumentingAgents.cpp:
8455        (WebCore::InstrumentingAgents::InstrumentingAgents):
8456        (WebCore::InstrumentingAgents::reset):
8457        * inspector/PageConsoleAgent.cpp:
8458        (WebCore::PageConsoleAgent::PageConsoleAgent):
8459        (WebCore::PageConsoleAgent::clearMessages):
8460        (WebCore::PageConsoleAgent::addInspectedNode):
8461        * inspector/PageConsoleAgent.h:
8462        * inspector/PageDebuggerAgent.cpp:
8463        (WebCore::PageDebuggerAgent::breakpointActionLog):
8464        * inspector/PageInjectedScriptHost.h:
8465        * inspector/PageInjectedScriptManager.h:
8466        * inspector/TimelineRecordFactory.cpp:
8467        (WebCore::TimelineRecordFactory::createGenericRecord):
8468        (WebCore::WebConsoleAgent::~WebConsoleAgent):
8469        * inspector/WorkerConsoleAgent.cpp:
8470        (WebCore::WorkerConsoleAgent::WorkerConsoleAgent):
8471        (WebCore::WorkerConsoleAgent::addInspectedNode):
8472        * inspector/WorkerConsoleAgent.h:
8473        * inspector/WorkerDebuggerAgent.cpp:
8474        (WebCore::WorkerDebuggerAgent::breakpointActionLog):
8475        * inspector/WorkerInspectorController.cpp:
8476        (WebCore::WorkerInspectorController::WorkerInspectorController):
8477        * loader/DocumentLoader.cpp:
8478        (WebCore::DocumentLoader::responseReceived):
8479        * loader/FrameLoader.cpp:
8480        (WebCore::FrameLoader::submitForm):
8481        (WebCore::FrameLoader::reportLocalLoadFailed):
8482        (WebCore::FrameLoader::handleBeforeUnloadEvent):
8483        (WebCore::FrameLoader::shouldInterruptLoadForXFrameOptions):
8484        (WebCore::createWindow):
8485        * loader/ImageLoader.cpp:
8486        (WebCore::ImageLoader::notifyFinished):
8487        * loader/MixedContentChecker.cpp:
8488        (WebCore::MixedContentChecker::logWarning):
8489        * loader/TextTrackLoader.cpp:
8490        (WebCore::TextTrackLoader::corsPolicyPreventedLoad):
8491        * loader/appcache/ApplicationCacheGroup.cpp:
8492        (WebCore::ApplicationCacheGroup::abort):
8493        (WebCore::ApplicationCacheGroup::didReceiveResponse):
8494        (WebCore::ApplicationCacheGroup::didFinishLoading):
8495        (WebCore::ApplicationCacheGroup::didFail):
8496        (WebCore::ApplicationCacheGroup::didReceiveManifestResponse):
8497        (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
8498        (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
8499        * loader/cache/CachedResourceLoader.cpp:
8500        (WebCore::CachedResourceLoader::printAccessDeniedMessage):
8501        * page/ChromeClient.h:
8502        * page/Console.cpp:
8503        (WebCore::internalAddMessage):
8504        (WebCore::Console::debug):
8505        (WebCore::Console::error):
8506        (WebCore::Console::log):
8507        (WebCore::Console::warn):
8508        (WebCore::Console::dir):
8509        (WebCore::Console::dirxml):
8510        (WebCore::Console::table):
8511        (WebCore::Console::clear):
8512        (WebCore::Console::trace):
8513        (WebCore::Console::assertCondition):
8514        (WebCore::Console::group):
8515        (WebCore::Console::groupCollapsed):
8516        (WebCore::Console::groupEnd):
8517        * page/Console.h:
8518        * page/ConsoleTypes.h: Removed.
8519        * page/ContentSecurityPolicy.cpp:
8520        (WebCore::ContentSecurityPolicy::reportViolation):
8521        (WebCore::ContentSecurityPolicy::logToConsole):
8522        * page/DOMSecurityPolicy.cpp:
8523        * page/DOMWindow.cpp:
8524        (WebCore::DOMWindow::postMessage):
8525        (WebCore::DOMWindow::dispatchMessageEventWithOriginCheck):
8526        (WebCore::DOMWindow::close):
8527        (WebCore::DOMWindow::printErrorMessage):
8528        * page/DOMWindow.h:
8529        * page/EventSource.cpp:
8530        (WebCore::EventSource::didReceiveResponse):
8531        (WebCore::EventSource::didFailAccessControlCheck):
8532        * page/PageConsole.cpp:
8533        (WebCore::PageConsole::printMessageSourceAndLevelPrefix):
8534        (WebCore::PageConsole::addMessage):
8535        * page/PageConsole.h:
8536        * page/PointerLockController.cpp:
8537        (WebCore::PointerLockController::requestPointerLock):
8538        * platform/CrossThreadCopier.h:
8539        * rendering/shapes/ShapeInfo.cpp:
8540        (WebCore::checkShapeImageOrigin):
8541        * svg/SVGDocumentExtensions.cpp:
8542        (WebCore::reportMessage):
8543        (WebCore::SVGDocumentExtensions::reportWarning):
8544        (WebCore::SVGDocumentExtensions::reportError):
8545        * testing/Internals.cpp:
8546        (WebCore::Internals::consoleMessageArgumentCounts):
8547        * workers/DefaultSharedWorkerRepository.cpp:
8548        * workers/SharedWorkerGlobalScope.cpp:
8549        (WebCore::SharedWorkerGlobalScope::logExceptionToConsole):
8550        * workers/SharedWorkerGlobalScope.h:
8551        * workers/WorkerGlobalScope.cpp:
8552        (WebCore::WorkerGlobalScope::addMessageToWorkerConsole):
8553        * workers/WorkerGlobalScope.h:
8554        * workers/WorkerMessagingProxy.cpp:
8555        * workers/WorkerReportingProxy.h:
8556        * xml/XMLHttpRequest.cpp:
8557        (WebCore::logConsoleError):
8558        (WebCore::XMLHttpRequest::send):
8559        * xml/XSLTProcessorLibxslt.cpp:
8560        (WebCore::XSLTProcessor::parseErrorFunc):
8561
85622014-02-06  Joseph Pecoraro  <pecoraro@apple.com>
8563
8564        Convert a parameter to PassRefPtr
8565        https://bugs.webkit.org/show_bug.cgi?id=128327
8566
8567        Reviewed by Timothy Hatcher.
8568
8569        * inspector/InspectorConsoleInstrumentation.h:
8570        (WebCore::InspectorInstrumentation::addProfile):
8571        * inspector/InspectorInstrumentation.h:
8572
85732014-01-30  Oliver Hunt  <oliver@apple.com>
8574
8575        Push DOM attributes into the prototype chain
8576        https://bugs.webkit.org/show_bug.cgi?id=127969
8577
8578        Reviewed by Mark Lam.
8579
8580        This patch does the actual work of moving dom attributes up the
8581        prototype chain. There are still a few class and edge cases
8582        where we can't do this without impacting existing behaviour,
8583        but they can be fixed separately in later patches.
8584
8585        * bindings/js/JSDOMBinding.h:
8586        (WebCore::getStaticPropertySlotEntryWithoutCaching):
8587        (WebCore::getStaticPropertySlotEntryWithoutCaching<JSDOMWrapper>):
8588        * bindings/scripts/CodeGeneratorJS.pm:
8589        (GenerateGetOwnPropertySlotBody):
8590        (HasComplexGetOwnProperty):
8591        (ConstructorShouldBeOnInstance):
8592        (AttributeShouldBeOnInstance):
8593        (InstanceAttributeCount):
8594        (PrototypeAttributeCount):
8595        (InstanceOverridesGetOwnPropertySlot):
8596        (PrototypeOverridesGetOwnPropertySlot):
8597        (GenerateAttributesHashTable):
8598        (GenerateImplementation):
8599
86002014-02-06  Andreas Kling  <akling@apple.com>
8601
8602        Remove display:run-in support.
8603        <https://webkit.org/b/127874>
8604        <rdar://problem/15926949>
8605
8606        Remove support for the "run-in" display type. Blink recently removed
8607        this and Gecko never supported in the first place.
8608
8609        Rubber-stamped by Anders Carlsson.
8610
8611        * css/CSSParser.cpp:
8612        (WebCore::isValidKeywordPropertyAndValue):
8613        * css/CSSPrimitiveValueMappings.h:
8614        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
8615        * css/CSSValueKeywords.in:
8616        * css/StyleResolver.cpp:
8617        (WebCore::equivalentBlockDisplay):
8618        (WebCore::doesNotInheritTextDecoration):
8619        * rendering/RenderBlock.cpp:
8620        (WebCore::RenderBlock::willBeDestroyed):
8621        (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
8622        (WebCore::RenderBlock::makeChildrenNonInline):
8623        (WebCore::canMergeContiguousAnonymousBlocks):
8624        (WebCore::RenderBlock::renderName):
8625        * rendering/RenderBlock.h:
8626        * rendering/RenderBlockFlow.cpp:
8627        (WebCore::RenderBlockFlow::willBeDestroyed):
8628        (WebCore::shouldCheckLines):
8629        (WebCore::getHeightForLineCount):
8630        * rendering/RenderElement.cpp:
8631        (WebCore::RenderElement::createFor):
8632        (WebCore::RenderElement::destroyLeftoverChildren):
8633        * rendering/RenderFileUploadControl.cpp:
8634        * rendering/RenderFileUploadControl.h:
8635        * rendering/RenderInline.cpp:
8636        (WebCore::RenderInline::updateFromStyle):
8637        (WebCore::RenderInline::renderName):
8638        (WebCore::RenderInline::clippedOverflowRectForRepaint):
8639        * rendering/RenderListBox.cpp:
8640        * rendering/RenderListBox.h:
8641        * rendering/RenderMenuList.cpp:
8642        * rendering/RenderMenuList.h:
8643        * rendering/RenderObject.cpp:
8644        * rendering/RenderObject.h:
8645        * rendering/RenderProgress.cpp:
8646        * rendering/RenderProgress.h:
8647        * rendering/RenderSlider.cpp:
8648        * rendering/RenderSlider.h:
8649        * rendering/RenderTextControl.cpp:
8650        * rendering/RenderTextControl.h:
8651        * rendering/RenderTheme.cpp:
8652        (WebCore::RenderTheme::adjustStyle):
8653        * rendering/style/RenderStyleConstants.h:
8654
86552014-02-06  Andreas Kling  <akling@apple.com>
8656
8657        Remove leftover cruft from scoped stylesheet implementation.
8658        <https://webkit.org/b/128139>
8659
8660        Kill some pointless non-null checks that were left behind by the
8661        removed <style scoped> code. Also pruned outdated comments and
8662        FIXME's about such scopes.
8663
8664        Reviewed by Antti Koivisto.
8665
8666        * css/ElementRuleCollector.cpp:
8667        (WebCore::ElementRuleCollector::collectMatchingRules):
8668        * css/RuleSet.cpp:
8669        (WebCore::RuleSet::addChildRules):
8670        (WebCore::RuleSet::addRulesFromSheet):
8671        * css/RuleSet.h:
8672        * css/StyleResolver.cpp:
8673        (WebCore::StyleResolver::checkRegionStyle):
8674
86752014-02-05  Brent Fulgham  <bfulgham@apple.com>
8676
8677        Wheel events don't latch to inner scrollable elements 
8678        https://bugs.webkit.org/show_bug.cgi?id=128225
8679
8680        Reviewed by Beth Dakin.
8681
8682        * page/EventHandler.cpp:
8683        (WebCore::EventHandler::handleWheelEvent): Identify the case
8684        where we have hit the end of a scroll, and treat that as a
8685        valid 'handled' case. If the scroll event is just starting,
8686        treat end-of-scroll as unhandled so the parent element can
8687        handle things.
8688        * page/WheelEventDeltaTracker.h:
8689        (WebCore::WheelEventDeltaTracker::isFirstWheelEvent): Added.
8690
86912014-02-06  Commit Queue  <commit-queue@webkit.org>
8692
8693        Unreviewed, rolling out r163542.
8694        http://trac.webkit.org/changeset/163542
8695        https://bugs.webkit.org/show_bug.cgi?id=128324
8696
8697        Caused many assertion failures (Requested by ap on #webkit).
8698
8699        * bindings/js/JSEventListener.cpp:
8700        (WebCore::JSEventListener::JSEventListener):
8701        * bindings/js/JSEventListener.h:
8702        (WebCore::JSEventListener::jsFunction):
8703
87042014-02-06  Frédéric Wang  <fred.wang@free.fr>
8705
8706        Do not draw multi-characters <mi> in italic.
8707        https://bugs.webkit.org/show_bug.cgi?id=44208
8708
8709        Reviewed by Chris Fleizach.
8710
8711        This test prevents multi-char <mi> to be drawn in italic and prepare
8712        further improvements to MathML token and mfenced elements (bugs 124838
8713        and bug 99620).
8714
8715        Test: mathml/presentation/tokenElements-dynamic.html
8716
8717        * CMakeLists.txt:
8718        * GNUmakefile.list.am:
8719        * WebCore.vcxproj/WebCore.vcxproj:
8720        * WebCore.vcxproj/WebCore.vcxproj.filters:
8721        * WebCore.xcodeproj/project.pbxproj:
8722        * css/mathml.css:
8723        (mi, mo, mrow, mfenced, mfrac, msub, msup, msubsup, mmultiscripts, mprescripts, none, munder, mover, munderover, msqrt, mroot, merror, mphantom, mstyle, menclose):
8724        * mathml/MathMLTextElement.cpp:
8725        (WebCore::MathMLTextElement::didAttachRenderers):
8726        (WebCore::MathMLTextElement::childrenChanged):
8727        (WebCore::MathMLTextElement::createElementRenderer):
8728        * rendering/RenderObject.h:
8729        (WebCore::RenderObject::isRenderMathMLToken):
8730        * rendering/mathml/RenderMathMLToken.cpp: Added.
8731        (WebCore::RenderMathMLToken::RenderMathMLToken):
8732        (WebCore::RenderMathMLToken::addChild):
8733        (WebCore::RenderMathMLToken::createWrapperIfNeeded):
8734        (WebCore::RenderMathMLToken::updateTokenContent):
8735        (WebCore::RenderMathMLToken::updateStyle):
8736        (WebCore::RenderMathMLToken::styleDidChange):
8737        (WebCore::RenderMathMLToken::updateFromElement):
8738        * rendering/mathml/RenderMathMLToken.h: Added.
8739        (WebCore::RenderMathMLToken::element):
8740        (WebCore::RenderMathMLToken>):
8741
87422014-02-06  Zoltan Horvath  <zoltan@webkit.org>
8743
8744        [CSS Shapes] Simplify BasicShapeInset creation
8745        https://bugs.webkit.org/show_bug.cgi?id=128314
8746
8747        Reviewed by David Hyatt.
8748
8749        Introduce convertToLengthSize helper function in order to simplify and make BasicShapeInset more readable.
8750
8751        No new tests, no behavior change.
8752
8753        * css/BasicShapeFunctions.cpp:
8754        (WebCore::convertToLengthSize):
8755        (WebCore::basicShapeForValue):
8756
87572014-02-06  Anders Carlsson  <andersca@apple.com>
8758
8759        Try to fix the Windows build.
8760
8761        * loader/DocumentThreadableLoader.cpp:
8762        (WebCore::DocumentThreadableLoader::didReceiveResponse):
8763
87642014-01-29  Sergio Villar Senin  <svillar@igalia.com>
8765
8766        [CSS Grid Layout] getComputedStyle() is wrong for grid-definition-{columns|rows}
8767        https://bugs.webkit.org/show_bug.cgi?id=127033
8768
8769        Reviewed by Andreas Kling.
8770
8771        Tests: fast/css-grid-layout/non-grid-columns-rows-get-set-multiple.html
8772               fast/css-grid-layout/non-grid-columns-rows-get-set.html
8773               fast/css-grid-layout/non-grid-element-repeat-get-set.html
8774               fast/css-grid-layout/non-named-grid-line-get-set.html
8775
8776        According to the specs getComputedStyle() should return the used
8777        values instead of the resolved values for compatibility with early
8778        implementations. This means that grid-definition-{columns|rows}
8779        are now layout dependent as we need to compute the used values for
8780        grid track sizes.
8781
8782        Updated the outcome of existing tests and added a bunch of new
8783        ones that check the behavior of the different properties outside
8784        grid containers.
8785
8786        * css/CSSComputedStyleDeclaration.cpp:
8787        (WebCore::specifiedValueForGridTrackSize):
8788        (WebCore::valueForGridTrackList):
8789        (WebCore::isLayoutDependent):
8790        (WebCore::ComputedStyleExtractor::propertyValue):
8791        * rendering/RenderGrid.cpp:
8792        (WebCore::RenderGrid::GridIterator::GridIterator):
8793        (WebCore::RenderGrid::computedUsedBreadthOfGridTracks):
8794        (WebCore::RenderGrid::computeUsedBreadthOfMinLength):
8795        (WebCore::RenderGrid::computeUsedBreadthOfMaxLength):
8796        (WebCore::RenderGrid::computeUsedBreadthOfSpecifiedLength):
8797        (WebCore::RenderGrid::computeNormalizedFractionBreadth):
8798        (WebCore::RenderGrid::gridTrackSize):
8799        (WebCore::RenderGrid::minContentForChild):
8800        (WebCore::RenderGrid::maxContentForChild):
8801        (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions):
8802        (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForItems):
8803        (WebCore::RenderGrid::tracksAreWiderThanMinTrackBreadth):
8804        (WebCore::RenderGrid::growGrid):
8805        (WebCore::RenderGrid::autoPlacementMajorAxisDirection):
8806        (WebCore::RenderGrid::autoPlacementMinorAxisDirection):
8807        (WebCore::RenderGrid::layoutGridItems):
8808        (WebCore::RenderGrid::resolveGridPositionsFromAutoPlacementPosition):
8809        (WebCore::RenderGrid::resolveGridPositionsFromStyle):
8810        (WebCore::RenderGrid::gridAreaBreadthForChild):
8811        (WebCore::RenderGrid::populateGridPositions):
8812        (WebCore::RenderGrid::findChildLogicalPosition):
8813        * rendering/RenderGrid.h:
8814
88152014-02-06  Anders Carlsson  <andersca@apple.com>
8816
8817        Modernize CrossOriginPreflightResultCache
8818        https://bugs.webkit.org/show_bug.cgi?id=128309
8819
8820        Reviewed by Antti Koivisto.
8821
8822        Use std::chrono::steady_clock instead of currentTime() for determining when
8823        cache items expire, Use std::unique_ptr instead of OwnPtr, use NeverDestroyed,
8824        get rid of unnecessary container typedefs now that we have auto. Finally,
8825        de-indent the entire class declaration.
8826
8827        * loader/CrossOriginPreflightResultCache.cpp:
8828        (WebCore::CrossOriginPreflightResultCache::CrossOriginPreflightResultCache):
8829        (WebCore::parseAccessControlMaxAge):
8830        (WebCore::CrossOriginPreflightResultCacheItem::parse):
8831        (WebCore::CrossOriginPreflightResultCacheItem::allowsRequest):
8832        (WebCore::CrossOriginPreflightResultCache::shared):
8833        (WebCore::CrossOriginPreflightResultCache::appendEntry):
8834        (WebCore::CrossOriginPreflightResultCache::canSkipPreflight):
8835        * loader/CrossOriginPreflightResultCache.h:
8836        (WebCore::CrossOriginPreflightResultCacheItem::CrossOriginPreflightResultCacheItem):
8837        * loader/DocumentThreadableLoader.cpp:
8838        (WebCore::DocumentThreadableLoader::didReceiveResponse):
8839
88402014-02-06  Gurpreet Kaur  <k.gurpreet@samsung.com>
8841
8842        Menclose with no notation attribute does not display anything.
8843        https://bugs.webkit.org/show_bug.cgi?id=127889
8844
8845        Reviewed by Chris Fleizach.
8846
8847        Menclose with no notation attribute should behave same as menclose with
8848        notation attribute with value as longdiv. By default the division
8849        symbol should be displayed. For empty and invalid notation attribute
8850        nothing should be displayed.
8851
8852        Tests: mathml/presentation/menclose-notation-default-longdiv.html
8853               mathml/presentation/menclose-notation-invalid-empty.html
8854
8855        * mathml/MathMLMencloseElement.h:
8856        * rendering/mathml/RenderMathMLMenclose.cpp:
8857        (WebCore::RenderMathMLMenclose::computePreferredLogicalWidths):
8858        (WebCore::RenderMathMLMenclose::paint):
8859        Added style for menclose with no notation attribute and handled this
8860        condition in paint also where for longdiv we are explicitly drawing
8861        the division symbol.
8862
88632014-02-05  Mark Hahnenberg  <mhahnenberg@apple.com>
8864
8865        Heap::writeBarrier shouldn't be static
8866        https://bugs.webkit.org/show_bug.cgi?id=127807
8867
8868        Reviewed by Geoffrey Garen.
8869
8870        Currently it looks up the Heap in which to fire the write barrier by using 
8871        the cell passed to it. Almost every call site already has a reference to the 
8872        VM or the Heap itself. It seems wasteful to look it up all over again.
8873
8874        * bindings/js/JSEventListener.cpp:
8875        (WebCore::JSEventListener::JSEventListener):
8876        * bindings/js/JSEventListener.h:
8877        (WebCore::JSEventListener::jsFunction):
8878
88792014-02-06  Brady Eidson  <beidson@apple.com>
8880
8881        IDB: storage/indexeddb/mozilla/clear.html fails
8882        <rdar://problem/15997155> and https://bugs.webkit.org/show_bug.cgi?id=128282
8883
8884        Reviewed by David Kilzer.
8885
8886        Covered by storage/indexeddb/mozilla/clear.html (and probably others)
8887
8888        Update the value deserializer to take into account whether or not there was an IDBKey:
8889        * bindings/js/IDBBindingUtilities.cpp:
8890        (WebCore::deserializeIDBValueBuffer):
8891        * bindings/js/IDBBindingUtilities.h:
8892
8893        * Modules/indexeddb/IDBRequest.cpp:
8894        (WebCore::IDBRequest::onSuccess): Call the new form of deserializeIDBValueBuffer.
8895
8896        * Modules/indexeddb/IDBDatabaseBackend.cpp:
8897        (WebCore::IDBDatabaseBackend::clearObjectStore): Update logging.
8898
8899        * Modules/indexeddb/IDBTransaction.cpp:
8900        (WebCore::IDBTransaction::setActive): Update logging.
8901
8902        * Modules/indexeddb/IDBTransactionBackend.cpp:
8903        (WebCore::IDBTransactionBackend::commit): Fix ASSERTs to reflect multi-process worlds.
8904
89052014-02-06  Csaba Osztrogonác  <ossy@webkit.org>
8906
8907        Re-enable simple line layout on non-Mac platforms
8908        https://bugs.webkit.org/show_bug.cgi?id=123338
8909
8910        Reviewed by Anders Carlsson.
8911
8912        * rendering/SimpleLineLayout.cpp:
8913        (WebCore::SimpleLineLayout::canUseFor):
8914
89152014-02-06  Koop Mast <kwm@FreeBSD.org>
8916
8917        Use system default compiler instead of gcc, as final fall through.
8918        https://bugs.webkit.org/show_bug.cgi?id=126773
8919
8920        Reviewed by Alexey Proskuryakov.
8921
8922        * dom/make_names.pl:
8923
89242014-02-06  Eric Carlson  <eric.carlson@apple.com>
8925
8926        No need to enterFullscreen() when already in fullscreen
8927        https://bugs.webkit.org/show_bug.cgi?id=128276
8928
8929        Reviewed by Jer Noble.
8930
8931        No new tests, this is just cleanup.
8932
8933        * html/HTMLMediaElement.cpp:
8934        (WebCore::HTMLMediaElement::updatePlayState): Don't call enterFullscreen() if already there.
8935        (WebCore::HTMLMediaElement::enterFullscreen): Return early if m_isFullscreen is already true.
8936
89372014-02-06  Radu Stavila  <stavila@adobe.com>
8938
8939        [CSS Regions] Null dereference applying animation with CSS regions
8940        https://bugs.webkit.org/show_bug.cgi?id=128218
8941
8942        Reviewed by Andrei Bucur.
8943
8944        The first issue (the null dereference) was caused by the checkForZoomChange method
8945        not guarding against a null parentStyle parameter, as the checkForGenericFamilyChange 
8946        method does, which in the crashing scenario is called just before the faulty
8947        checkForZoomChange method.
8948        The second issue was an assert which was caused by the fact that detaching is performed
8949        in a certain situation if the element has a renderer or if it's inside a named flow.
8950        However, when reattaching and asserting the element has no renderer, the 
8951        "inside named flow" condition was no longer considered.
8952
8953        Test: fast/regions/animation-element-in-region-flowed-to-other-thread.html
8954
8955        * css/StyleResolver.cpp:
8956        (WebCore::StyleResolver::checkForZoomChange):
8957        * style/StyleResolveTree.cpp:
8958        (WebCore::Style::attachChildren):
8959
89602014-02-06  László Langó  <llango.u-szeged@partner.samsung.com>
8961
8962        Create a HTMLUnknownElement when using createElement('image')
8963        https://bugs.webkit.org/show_bug.cgi?id=125896
8964
8965        Reviewed by Antti Koivisto.
8966
8967        Backported from Blink: https://chromium.googlesource.com/chromium/blink/+/fd8a7b65f3300fb9245db24d5ed240c80b7f76ad
8968
8969        * html/HTMLTagNames.in:
8970
89712014-02-06  Youenn Fablet  <youennf@gmail.com>
8972
8973        [XHR] Ensure response return null when error flag is set for blob and arraybuffer
8974        https://bugs.webkit.org/show_bug.cgi?id=127050
8975
8976        Reviewed by Alexey Proskuryakov.
8977
8978        Added a check in JSXMLHttpRequest::response to ensure response return null when error flag is set for blob and arraybuffer
8979        This check also applies to document and json response types (no change in behavior for those types but code path change)
8980        Added assertions in the related XMLHttpRequest blob and array buffer getters
8981        Minor code clean-up.
8982        The test cases check all four response types in case of timeout and abort
8983
8984        Tests: http/tests/xmlhttprequest/onabort-response-getters.html
8985               http/tests/xmlhttprequest/ontimeout-response-getters.html
8986
8987        * bindings/js/JSXMLHttpRequestCustom.cpp:
8988        (WebCore::JSXMLHttpRequest::response):
8989        * xml/XMLHttpRequest.cpp:
8990        (WebCore::XMLHttpRequest::didCacheResponseJSON):
8991        (WebCore::XMLHttpRequest::responseXML):
8992        (WebCore::XMLHttpRequest::responseBlob):
8993        (WebCore::XMLHttpRequest::responseArrayBuffer):
8994
89952014-02-05  Gavin Barraclough  <barraclough@apple.com>
8996
8997        Change Page, FocusController to use ViewState
8998        https://bugs.webkit.org/show_bug.cgi?id=126533
8999
9000        Reviewed by Tim Horton.
9001
9002        These classes currently maintain a set of separate fields to represent the view state;
9003        combine these into a single field, and allow WebPage to send the combined update rather
9004        than individual changes.
9005
9006        Maintain existing interface for WebKit1 clients.
9007
9008        * WebCore.exp.in:
9009            - Added WebCore::setViewState, removed WebCore::setIsVisuallyIdle.
9010        * page/FocusController.cpp:
9011        (WebCore::FocusController::FocusController):
9012            - Initialize combined m_viewState.
9013        (WebCore::FocusController::setFocused):
9014            - Calls setViewState.
9015        (WebCore::FocusController::setFocusedInternal):
9016            - setFocused -> setFocusedInternal.
9017        (WebCore::FocusController::setViewState):
9018            - Added, update all ViewState flags.
9019        (WebCore::FocusController::setActive):
9020            - Calls setViewState.
9021        (WebCore::FocusController::setActiveInternal):
9022            - setActive -> setActiveInternal.
9023        (WebCore::FocusController::setContentIsVisible):
9024            - Calls setViewState.
9025        (WebCore::FocusController::setContentIsVisibleInternal):
9026            - setContentIsVisible -> setContentIsVisibleInternal.
9027        * page/FocusController.h:
9028        (WebCore::FocusController::isActive):
9029        (WebCore::FocusController::isFocused):
9030        (WebCore::FocusController::contentIsVisible):
9031            - Implemented in terms of ViewState.
9032        * page/Page.cpp:
9033        (WebCore::Page::Page):
9034            - Initialize using PageInitialViewState.
9035        (WebCore::Page::setIsInWindow):
9036            - Calls setViewState.
9037        (WebCore::Page::setIsInWindowInternal):
9038            - setIsInWindow -> setIsInWindowInternal.
9039        (WebCore::Page::setIsVisuallyIdleInternal):
9040            - setIsVisuallyIdle -> setIsVisuallyIdleInternal.
9041        (WebCore::Page::setViewState):
9042            - Added, update all ViewState flags, including FocusController.
9043        (WebCore::Page::setIsVisible):
9044            - Calls setViewState.
9045        (WebCore::Page::setIsVisibleInternal):
9046            - setIsVisible -> setIsVisibleInternal.
9047        (WebCore::Page::visibilityState):
9048            - m_isVisible -> isVisible()
9049        (WebCore::Page::hiddenPageCSSAnimationSuspensionStateChanged):
9050            - m_isVisible -> isVisible()
9051        * page/Page.h:
9052        (WebCore::Page::isVisible):
9053        (WebCore::Page::isInWindow):
9054            - Implemented in terms of ViewState.
9055        (WebCore::Page::scriptedAnimationsSuspended):
9056            - Combined member fields into ViewState::Flags.
9057
90582014-02-05  Simon Fraser  <simon.fraser@apple.com>
9059
9060        Transfer the non-fast-scrollable region to the UI process for iOS
9061        https://bugs.webkit.org/show_bug.cgi?id=128293
9062
9063        Reviewed by Benjamin Poulain.
9064
9065        Two main changes to support sending the non-fast scrollable region
9066        to the UI process for iOS:
9067        
9068        1. Add ScrollingCoordinator::frameViewNonFastScrollableRegionChanged(),
9069        which is called when we've updated the touch event region (this can happen
9070        independenly of layout). When called we just scheduled a scrolling tree
9071        commit with the new region.
9072        
9073        2. Avoid thinking that we have a new root node with every remote scrolling
9074        transaction. This was a side-effect of reconstructing the scrolling state
9075        tree in the UI process, and caused us to try to grab a nonFastScrollableRegion
9076        from a node which never had one set.
9077
9078        * WebCore.exp.in:
9079        * page/scrolling/AsyncScrollingCoordinator.cpp:
9080        (WebCore::AsyncScrollingCoordinator::frameViewNonFastScrollableRegionChanged):
9081        * page/scrolling/AsyncScrollingCoordinator.h:
9082        * page/scrolling/ScrollingCoordinator.cpp:
9083        (WebCore::ScrollingCoordinator::computeNonFastScrollableRegion):
9084        * page/scrolling/ScrollingCoordinator.h:
9085        (WebCore::ScrollingCoordinator::frameViewNonFastScrollableRegionChanged):
9086        * page/scrolling/ScrollingStateTree.h:
9087        (WebCore::ScrollingStateTree::setHasNewRootStateNode):
9088        * page/scrolling/ScrollingTree.cpp:
9089        (WebCore::ScrollingTree::commitNewTreeState):
9090        (WebCore::ScrollingTree::isPointInNonFastScrollableRegion):
9091        * page/scrolling/ScrollingTree.h:
9092
90932014-02-05  Benjamin Poulain  <benjamin@webkit.org>
9094
9095        [iOS] Synchronize the WKContentView and UIScrollView updates with the tiles being commited
9096        https://bugs.webkit.org/show_bug.cgi?id=127886
9097
9098        Reviewed by Simon Fraser.
9099
9100        The updates of the views on the UIProcess side was completely disconnected
9101        from the tiles updates from the DrawingArea. There is a non-negligible time
9102        between the size/scale update and the new tiles coming, which causes
9103        visual glitches.
9104
9105        There are three main cases where the tiles and content would be out of sync
9106        with the UIViews:
9107        -When loading a new page with different content width of a different viewport.
9108        -When a page changes its viewport.
9109        -When the viewport-constrainted viewport size changes.
9110
9111        To fix the issue, WKView is modified to maintain the old state of WKContentView
9112        and UIScrollView until the new tiles are available.
9113
9114        Geometry/scale update are split in two phases:
9115        1) A source (the page or the user) changes parameters of the geometry. The WebProcess updates
9116           its layout accordingly.
9117           At this point, the UIViews are unchanged and are left with the old parameters.
9118        2) Eventually, new tiles come and commitLayerTree() is called on the drawing area proxy.
9119           At that point, WKContentView and its UIScrollView are updated to match the committed
9120           size and scale for the page.
9121
9122        * WebCore.exp.in:
9123        * WebCore.xcodeproj/project.pbxproj:
9124        * page/ViewportConfiguration.cpp: Added.
9125        (WebCore::constraintsAreAllRelative):
9126        (WebCore::ViewportConfiguration::ViewportConfiguration):
9127        (WebCore::ViewportConfiguration::setDefaultConfiguration):
9128        (WebCore::ViewportConfiguration::setContentsSize):
9129        (WebCore::ViewportConfiguration::setMinimumLayoutSize):
9130        (WebCore::ViewportConfiguration::setViewportArguments):
9131        (WebCore::ViewportConfiguration::layoutSize):
9132        (WebCore::ViewportConfiguration::initialScale):
9133        (WebCore::ViewportConfiguration::minimumScale):
9134        (WebCore::ViewportConfiguration::maximumScale):
9135        (WebCore::ViewportConfiguration::allowsUserScaling):
9136        (WebCore::viewportArgumentValueIsValid):
9137        (WebCore::applyViewportArgument):
9138        (WebCore::ViewportConfiguration::updateConfiguration):
9139        (WebCore::ViewportConfiguration::layoutWidth):
9140        (WebCore::ViewportConfiguration::layoutHeight):
9141        * page/ViewportConfiguration.h: Added.
9142        (WebCore::ViewportConfigurationConfiguration::ViewportConfigurationConfiguration):
9143        (WebCore::ViewportConfiguration::defaultConfiguration):
9144        (WebCore::ViewportConfiguration::contentsSize):
9145        (WebCore::ViewportConfiguration::minimumLayoutSize):
9146        (WebCore::ViewportConfiguration::viewportArguments):
9147
91482014-02-05  Benjamin Poulain  <benjamin@webkit.org>
9149
9150        SelectorCodeGenerator::generateElementHasTagName should match the local name before the namespace
9151        https://bugs.webkit.org/show_bug.cgi?id=128167
9152
9153        Reviewed by Sam Weinig.
9154
9155        The local name is a stricter filter than the namespace, it should always run first.
9156
9157        * cssjit/SelectorCompiler.cpp:
9158        (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementHasTagName):
9159
91602014-02-05  Benjamin Poulain  <benjamin@webkit.org>
9161
9162        Add HTMLNames::classAttr as a regular name in SVGElement::isAnimatableAttribute
9163        https://bugs.webkit.org/show_bug.cgi?id=128166
9164
9165        Reviewed by Sam Weinig.
9166
9167        For historical reasons, classAttr was treated separately. There is no reasons for that anymore.
9168
9169        * svg/SVGElement.cpp:
9170        (WebCore::SVGElement::isAnimatableAttribute):
9171
91722014-02-05  Simon Fraser  <simon.fraser@apple.com>
9173
9174        Support encoding and decoding of Regions
9175        https://bugs.webkit.org/show_bug.cgi?id=128284
9176
9177        Reviewed by Anders Carlsson.
9178
9179        Region changes to make it encodable:
9180        
9181        Make Region::Span public and give it a default constructor.
9182        Allow getting and setting of Shape internals, and a way to update
9183        the Region bounds after changing the shape. Also add a way to test
9184        for valid spans and segments.
9185
9186        * platform/graphics/Region.cpp:
9187        (WebCore::Region::Shape::isValid):
9188        (WebCore::Region::updateBoundsFromShape):
9189        * platform/graphics/Region.h:
9190        (WebCore::Region::isValid):
9191        (WebCore::Region::Span::Span):
9192        (WebCore::Region::shapeSegments):
9193        (WebCore::Region::shapeSpans):
9194        (WebCore::Region::setShapeSegments):
9195        (WebCore::Region::setShapeSpans):
9196        (WebCore::Region::Shape::segments):
9197        (WebCore::Region::Shape::spans):
9198        (WebCore::Region::Shape::setSegments):
9199        (WebCore::Region::Shape::setSpans):
9200
92012014-02-05  Andreas Kling  <akling@apple.com>
9202
9203        Rebaseline the bindings tests after Oliver's hackery.
9204
9205        * bindings/scripts/test/JS/:
9206
92072014-02-05  Ryuan Choi  <ryuan.choi@samsung.com>
9208
9209        [EFL][GTK] Share plugin's implementation between EFL and Gtk ports.
9210        https://bugs.webkit.org/show_bug.cgi?id=70592
9211
9212        Reviewed by Gyuyoung Kim.
9213
9214        Merge common logics of PluginViewGtk.cpp and PluginViewEfl.cpp to PluginViewX11.cpp.
9215        So, this patch improves the windowless plugin support for the EFL port.
9216
9217        * GNUmakefile.am: Add include path for gtk2xtbin.h header file.
9218        * GNUmakefile.list.am: Added PluginViewX11.cpp into source lists.
9219        * PlatformEfl.cmake: Ditto.
9220        * PlatformGTK.cmake: Ditto.
9221        * plugins/PluginView.h: Added getRootWindow and getPluginDisply which implement platform specific code.
9222        * plugins/efl/PluginViewEfl.cpp:
9223        (WebCore::PluginView::getRootWindow):
9224        (WebCore::PluginView::platformGetValueStatic): Turn on NPNVSupportsWindowless support.
9225        (WebCore::PluginView::getPluginDisplay):
9226        (WebCore::PluginView::platformStart):
9227        * plugins/gtk/PluginViewGtk.cpp:
9228        (WebCore::PluginView::getRootWindow):
9229        (WebCore::setXButtonEventSpecificFields):
9230        (WebCore::setXMotionEventSpecificFields):
9231        (WebCore::setXCrossingEventSpecificFields):
9232        (WebCore::PluginView::getPluginDisplay):
9233        (WebCore::PluginView::platformStart):
9234        * plugins/x11/PluginViewX11.cpp: Moved common logics from PluginViewGtk.cpp
9235        (WebCore::PluginView::dispatchNPEvent):
9236        (WebCore::PluginView::updatePluginWidget):
9237        (WebCore::PluginView::handleFocusInEvent):
9238        (WebCore::PluginView::invalidateRect):
9239        (WebCore::PluginView::invalidateRegion):
9240        (WebCore::PluginView::handleFocusOutEvent):
9241        (WebCore::PluginView::initXEvent):
9242        (WebCore::PluginView::paint):
9243        (WebCore::PluginView::setParent):
9244        (WebCore::PluginView::setNPWindowRect):
9245        (WebCore::PluginView::setNPWindowIfNeeded):
9246
92472014-02-05  Anders Carlsson  <andersca@apple.com>
9248
9249        Fix a warning.
9250
9251        * platform/mac/ContentFilterMac.mm:
9252        (WebCore::ContentFilter::ContentFilter):
9253        Remove an unnecessary comparison.
9254
92552014-02-05  Csaba Osztrogonác  <ossy@webkit.org>
9256
9257        Fix the !ENABLE(PAGE_VISIBILITY_API) build
9258        https://bugs.webkit.org/show_bug.cgi?id=127907
9259
9260        Reviewed by Brent Fulgham.
9261
9262        * page/Page.cpp:
9263        (WebCore::Page::setIsVisible):
9264
92652014-02-05  Oliver Hunt  <oliver@apple.com>
9266
9267        Change custom getter signature to make the base reference an object pointer
9268        https://bugs.webkit.org/show_bug.cgi?id=128279
9269
9270        Reviewed by Geoffrey Garen.
9271
9272        Update everything to the new calling convention.
9273
9274        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
9275        (WebCore::cssPropertyGetterPixelOrPosPrefixCallback):
9276        (WebCore::cssPropertyGetterCallback):
9277        * bindings/js/JSDOMBinding.cpp:
9278        (WebCore::objectToStringFunctionGetter):
9279        * bindings/js/JSDOMBinding.h:
9280        * bindings/js/JSDOMMimeTypeArrayCustom.cpp:
9281        (WebCore::JSDOMMimeTypeArray::nameGetter):
9282        * bindings/js/JSDOMPluginArrayCustom.cpp:
9283        (WebCore::JSDOMPluginArray::nameGetter):
9284        * bindings/js/JSDOMPluginCustom.cpp:
9285        (WebCore::JSDOMPlugin::nameGetter):
9286        * bindings/js/JSDOMWindowCustom.cpp:
9287        (WebCore::nonCachingStaticFunctionGetter):
9288        (WebCore::childFrameGetter):
9289        (WebCore::indexGetter):
9290        (WebCore::namedItemGetter):
9291        * bindings/js/JSHTMLAllCollectionCustom.cpp:
9292        (WebCore::JSHTMLAllCollection::nameGetter):
9293        * bindings/js/JSHTMLCollectionCustom.cpp:
9294        (WebCore::JSHTMLCollection::nameGetter):
9295        * bindings/js/JSHTMLDocumentCustom.cpp:
9296        (WebCore::JSHTMLDocument::nameGetter):
9297        * bindings/js/JSHTMLFormControlsCollectionCustom.cpp:
9298        (WebCore::JSHTMLFormControlsCollection::nameGetter):
9299        * bindings/js/JSHTMLFormElementCustom.cpp:
9300        (WebCore::JSHTMLFormElement::nameGetter):
9301        * bindings/js/JSHTMLFrameSetElementCustom.cpp:
9302        (WebCore::JSHTMLFrameSetElement::nameGetter):
9303        * bindings/js/JSHistoryCustom.cpp:
9304        (WebCore::nonCachingStaticBackFunctionGetter):
9305        (WebCore::nonCachingStaticForwardFunctionGetter):
9306        (WebCore::nonCachingStaticGoFunctionGetter):
9307        * bindings/js/JSLocationCustom.cpp:
9308        (WebCore::nonCachingStaticReplaceFunctionGetter):
9309        (WebCore::nonCachingStaticReloadFunctionGetter):
9310        (WebCore::nonCachingStaticAssignFunctionGetter):
9311        * bindings/js/JSNamedNodeMapCustom.cpp:
9312        (WebCore::JSNamedNodeMap::nameGetter):
9313        * bindings/js/JSPluginElementFunctions.cpp:
9314        (WebCore::pluginElementPropertyGetter):
9315        * bindings/js/JSPluginElementFunctions.h:
9316        * bindings/js/JSRTCStatsResponseCustom.cpp:
9317        (WebCore::JSRTCStatsResponse::nameGetter):
9318        * bindings/js/JSStorageCustom.cpp:
9319        (WebCore::JSStorage::nameGetter):
9320        * bindings/js/JSStyleSheetListCustom.cpp:
9321        (WebCore::JSStyleSheetList::nameGetter):
9322        * bindings/scripts/CodeGeneratorJS.pm:
9323        (GenerateHeader):
9324        (GenerateImplementation):
9325        * bridge/runtime_array.cpp:
9326        (JSC::RuntimeArray::lengthGetter):
9327        (JSC::RuntimeArray::indexGetter):
9328        * bridge/runtime_array.h:
9329        * bridge/runtime_method.cpp:
9330        (JSC::RuntimeMethod::lengthGetter):
9331        * bridge/runtime_method.h:
9332        * bridge/runtime_object.cpp:
9333        (JSC::Bindings::RuntimeObject::fallbackObjectGetter):
9334        (JSC::Bindings::RuntimeObject::fieldGetter):
9335        (JSC::Bindings::RuntimeObject::methodGetter):
9336        * bridge/runtime_object.h:
9337
93382014-02-04  Andy Estes  <aestes@apple.com>
9339
9340        Buffer incoming data in ContentFilter when using NEFilterSource
9341        https://bugs.webkit.org/show_bug.cgi?id=127979
9342
9343        Reviewed by Sam Weinig.
9344
9345        WebFilterEvaluator buffers incoming data and returns it to us as
9346        replacement data if the load is allowed. NEFilterSource doesn't do
9347        this, so we need to do our own buffering.
9348
9349        * platform/ContentFilter.h: Forward-declared NSMutableData and added
9350        m_originalData.
9351        * platform/mac/ContentFilterMac.mm:
9352        (WebCore::ContentFilter::ContentFilter): Constructed m_originalData
9353        with an initial capacity (if we know the expected content size).
9354        (WebCore::ContentFilter::addData): Buffered incoming data if we are
9355        using NEFilterSource.
9356        (WebCore::ContentFilter::finishedAddingData):
9357        (WebCore::ContentFilter::getReplacementData): Returned m_originalData
9358        if the load wasn't blocked.
9359
93602014-02-05  Andreas Kling  <akling@apple.com>
9361
9362        Remove ENABLE(DIRECTORY_UPLOAD).
9363        <https://webkit.org/b/128275>
9364
9365        This is a non-standard Chrome extension that none of the WebKit
9366        ports have even been building.
9367
9368        Rubber-stamped by Ryosuke Niwa.
9369
9370        * Configurations/FeatureDefines.xcconfig:
9371        * fileapi/File.cpp:
9372        * fileapi/File.h:
9373        * fileapi/File.idl:
9374        * html/FileInputType.cpp:
9375        (WebCore::FileInputType::handleDOMActivateEvent):
9376        (WebCore::FileInputType::createFileList):
9377        (WebCore::FileInputType::receiveDroppedFiles):
9378        * html/FileInputType.h:
9379        * html/HTMLAttributeNames.in:
9380        * html/HTMLInputElement.cpp:
9381        (WebCore::HTMLInputElement::parseAttribute):
9382        * html/HTMLInputElement.idl:
9383        * loader/EmptyClients.h:
9384        * page/Chrome.cpp:
9385        * page/Chrome.h:
9386        * page/ChromeClient.h:
9387        * platform/FileChooser.h:
9388        * platform/network/FormData.cpp:
9389        (WebCore::FormData::appendKeyValuePairItems):
9390
93912014-02-05  Brady Eidson  <beidson@apple.com>
9392
9393        IDB: storage/indexeddb/mozilla/autoincrement-indexes.html fails
9394        https://bugs.webkit.org/show_bug.cgi?id=128257
9395
9396        Reviewed by Sam Weinig.
9397
9398        Tests: storage/indexeddb/mozilla/autoincrement-indexes.html
9399
9400        Add some IDBKeyData utility methods for WK2 to use:
9401        * Modules/indexeddb/IDBKeyData.cpp:
9402        (WebCore::IDBKeyData::setArrayValue):
9403        (WebCore::IDBKeyData::setStringValue):
9404        (WebCore::IDBKeyData::setDateValue):
9405        (WebCore::IDBKeyData::setNumberValue):
9406        * Modules/indexeddb/IDBKeyData.h:
9407
9408        * WebCore.exp.in:
9409
94102014-02-05  Andreas Kling  <akling@apple.com>
9411
9412        Turn on ENABLE(8BIT_TEXTRUN) for everyone.
9413        <https://webkit.org/b/128273>
9414
9415        Reviewed by Anders Carlsson.
9416
9417        * platform/graphics/TextRun.h:
9418        (WebCore::TextRun::TextRun):
9419        (WebCore::TextRun::subRun):
9420        * rendering/RenderBlock.cpp:
9421        (WebCore::RenderBlock::constructTextRun):
9422        * rendering/RenderBlock.h:
9423
94242014-02-05  Enrica Casucci  <enrica@apple.com>
9425
9426        WK2: Caret, selections and autocorrection bubbles are incorrectly positioned when inside an iframe.
9427        https://bugs.webkit.org/show_bug.cgi?id=128264
9428        <rdar://problem/15986954>
9429
9430        Reviewed by Simon Fraser.
9431
9432        Adding new exported function.
9433
9434        * WebCore.exp.in:
9435
94362014-02-05  Antti Koivisto  <antti@apple.com>
9437
9438        ElementRuleCollector should not use StyleResolver::State
9439        https://bugs.webkit.org/show_bug.cgi?id=128247
9440
9441        Reviewed by Andreas Kling.
9442        
9443        Make ElementRuleCollector more reusable.
9444
9445        * css/ElementRuleCollector.cpp:
9446        (WebCore::ElementRuleCollector::collectMatchingRules):
9447        (WebCore::ElementRuleCollector::sortAndTransferMatchedRules):
9448        (WebCore::ElementRuleCollector::matchAuthorRules):
9449        (WebCore::ElementRuleCollector::matchUARules):
9450        (WebCore::ElementRuleCollector::ruleMatches):
9451        (WebCore::ElementRuleCollector::collectMatchingRulesForList):
9452        (WebCore::ElementRuleCollector::matchAllRules):
9453        * css/ElementRuleCollector.h:
9454        (WebCore::ElementRuleCollector::ElementRuleCollector):
9455        
9456            Pass the objects that are actually needed rather than the entire State.
9457
94582014-02-05  Brent Fulgham  <bfulgham@apple.com>
9459
9460        [Mac] Correct copy/paste error in scrolling code.
9461        https://bugs.webkit.org/show_bug.cgi?id=128258
9462
9463        Reviewed by Anders Carlsson.
9464
9465        * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
9466        (WebCore::ScrollingTreeScrollingNodeMac::pinnedInDirection): Use
9467        'setWidth' when dealing with width metrics.
9468
94692014-02-05  Yuki Sekiguchi  <yuki.sekiguchi@access-company.com>
9470
9471        Ruby base oddly justify its text when the text is ideograph and it contains <br> on Mac.
9472        https://bugs.webkit.org/show_bug.cgi?id=106417
9473
9474        Reviewed by David Hyatt.
9475
9476        Ruby base always justify even if a line have hard break.
9477        Even if next leaf child is line break, InlineTextBox allow trailing expansion.
9478        This make <br> expanded, and there is odd space at the end of the line.
9479
9480        Test: fast/text/ruby-justification-br.html
9481
9482        * rendering/InlineTextBox.h:
9483        (WebCore::InlineTextBox::expansionBehavior):
9484         - If next leaf child is line break, we should forbid trailing expansion.
9485
94862014-02-05  Andreas Kling  <akling@apple.com>
9487
9488        FrameLoader::stateMachine() should return a reference.
9489        <https://webkit.org/b/128263>
9490
9491        There is always a FrameLoaderStateMatchine, so return it by
9492        reference since it can never be null.
9493
9494        Reviewed by Anders Carlsson.
9495
9496        * history/PageCache.cpp:
9497        (WebCore::logCanCachePageDecision):
9498        * loader/DocumentLoader.cpp:
9499        (WebCore::DocumentLoader::finishedLoading):
9500        (WebCore::DocumentLoader::commitData):
9501        (WebCore::DocumentLoader::maybeLoadEmpty):
9502        * loader/DocumentWriter.cpp:
9503        (WebCore::DocumentWriter::createDocument):
9504        (WebCore::DocumentWriter::begin):
9505        * loader/FrameLoader.cpp:
9506        (WebCore::FrameLoader::prepareForHistoryNavigation):
9507        * loader/FrameLoader.h:
9508        (WebCore::FrameLoader::stateMachine):
9509        * loader/HistoryController.cpp:
9510        (WebCore::HistoryController::restoreScrollPositionAndViewState):
9511        (WebCore::HistoryController::saveDocumentState):
9512        * loader/NavigationScheduler.cpp:
9513        (WebCore::NavigationScheduler::scheduleLocationChange):
9514        (WebCore::NavigationScheduler::scheduleFormSubmission):
9515        * loader/ProgressTracker.cpp:
9516        (WebCore::ProgressTracker::incrementProgress):
9517        * loader/cache/CachedResourceLoader.cpp:
9518        (WebCore::CachedResourceLoader::storeResourceTimingInitiatorInformation):
9519        * page/Frame.cpp:
9520        (WebCore::Frame::injectUserScripts):
9521        * page/FrameView.cpp:
9522        (WebCore::FrameView::qualifiesAsVisuallyNonEmpty):
9523
95242014-02-04  Myles C. Maxfield  <mmaxfield@apple.com>
9525
9526        Move characterAt index checks from InlineIterator to RenderText
9527        https://bugs.webkit.org/show_bug.cgi?id=128224
9528
9529        Reviewed by Simon Fraser.
9530
9531        Move characterAt index checks from InlineIterator to RenderText
9532        so that all RenderText calls are covered. Few safe instances are
9533        now covered with uncheckedCharacterAt.
9534
9535        Merged from Blink:
9536        http://src.chromium.org/viewvc/blink?view=revision&revision=150830
9537
9538        Test: fast/text/character-at-crash.html
9539
9540        * rendering/InlineIterator.h:
9541        (WebCore::InlineIterator::characterAt):
9542        * rendering/RenderText.cpp:
9543        (WebCore::RenderText::computePreferredLogicalWidths):
9544        * rendering/RenderText.h:
9545        (WebCore::RenderText::operator[]):
9546        (WebCore::RenderText::uncheckedCharacterAt):
9547        (WebCore::RenderText::characterAt):
9548
95492014-02-05  Andreas Kling  <akling@apple.com>
9550
9551        Remove leftover seamless iframe logic from containerForRepaint().
9552        <https://webkit.org/b/128235>
9553
9554        The parent-flow-thread-in-different-document case is no longer
9555        relevant after <iframe seamless> was removed.
9556
9557        Reviewed by David Hyatt.
9558
9559        * rendering/RenderObject.cpp:
9560        (WebCore::RenderObject::containerForRepaint):
9561
95622014-02-05  Hans Muller  <hmuller@adobe.com>
9563
9564        [CSS Shapes] Dynamically created element with image valued shape-outside doesn't update automatically
9565        https://bugs.webkit.org/show_bug.cgi?id=128187
9566
9567        Reviewed by Dean Jackson.
9568
9569        Corrected the way shape-outside handles the completion of an image load. Move
9570        the shape-outside imageChanged() logic from RenderBlock to RenderBox and call
9571        markShapeOutsideDependentsForLayout() instead of parent()->setNeedsLayoutAndPrefWidthsRecalc().
9572        The latter did not deal with descendants of the shape element's siblings correctly and it
9573        failed when the shape element was inserted dynamically. The markShapeOutsideDependentsForLayout()
9574        method can't be called during layout, so the imageChanged() code checks for that. The only
9575        scenario where imageChanged() can be called during layout (that I've discovered so far anyway)
9576        is when an SVG Image is renderered  with drawImage(). The Shape::createRasterShape() does this,
9577        and the corresponding imageChanged() notification can be safely ignored.
9578
9579        Test: fast/shapes/shape-outside-floats/shape-outside-insert-svg-shape.html
9580
9581        * rendering/RenderBlock.cpp:
9582        (WebCore::RenderBlock::imageChanged):
9583        * rendering/RenderBox.cpp:
9584        (WebCore::RenderBox::imageChanged):
9585
95862014-02-05  Andreas Kling  <akling@apple.com>
9587
9588        CTTE: ImageLoader is always owned by an Element.
9589        <https://webkit.org/b/128254>
9590
9591        - Codify this by making the constructor take Element& or better.
9592        - Make element() return Element&.
9593        - Marked HTMLImageLoader and SVGImageLoader final.
9594        - Made the ImageLoader constructor protected.
9595
9596        Reviewed by Sam Weinig.
9597
9598        * html/HTMLEmbedElement.cpp:
9599        (WebCore::HTMLEmbedElement::parseAttribute):
9600        * html/HTMLImageElement.cpp:
9601        (WebCore::HTMLImageElement::HTMLImageElement):
9602        * html/HTMLImageLoader.cpp:
9603        (WebCore::HTMLImageLoader::HTMLImageLoader):
9604        (WebCore::HTMLImageLoader::dispatchLoadEvent):
9605        (WebCore::HTMLImageLoader::sourceURI):
9606        (WebCore::HTMLImageLoader::notifyFinished):
9607        * html/HTMLImageLoader.h:
9608        * html/HTMLInputElement.cpp:
9609        (WebCore::HTMLInputElement::imageLoader):
9610        * html/HTMLObjectElement.cpp:
9611        (WebCore::HTMLObjectElement::parseAttribute):
9612        * html/HTMLPlugInImageElement.cpp:
9613        (WebCore::HTMLPlugInImageElement::startLoadingImage):
9614        * html/HTMLVideoElement.cpp:
9615        (WebCore::HTMLVideoElement::didAttachRenderers):
9616        (WebCore::HTMLVideoElement::parseAttribute):
9617        * loader/ImageLoader.cpp:
9618        (WebCore::ImageLoader::ImageLoader):
9619        (WebCore::ImageLoader::~ImageLoader):
9620        (WebCore::ImageLoader::updateFromElement):
9621        (WebCore::ImageLoader::notifyFinished):
9622        (WebCore::ImageLoader::renderImageResource):
9623        (WebCore::ImageLoader::updatedHasPendingEvent):
9624        (WebCore::ImageLoader::timerFired):
9625        (WebCore::ImageLoader::dispatchPendingBeforeLoadEvent):
9626        (WebCore::ImageLoader::dispatchPendingLoadEvent):
9627        (WebCore::ImageLoader::dispatchPendingErrorEvent):
9628        * loader/ImageLoader.h:
9629        (WebCore::ImageLoader::element):
9630        * svg/SVGImageElement.cpp:
9631        (WebCore::SVGImageElement::SVGImageElement):
9632        * svg/SVGImageLoader.cpp:
9633        (WebCore::SVGImageLoader::SVGImageLoader):
9634        (WebCore::SVGImageLoader::~SVGImageLoader):
9635        (WebCore::SVGImageLoader::dispatchLoadEvent):
9636        (WebCore::SVGImageLoader::sourceURI):
9637        * svg/SVGImageLoader.h:
9638
96392014-02-05  Sergio Correia  <sergio.correia@openbossa.org>
9640
9641        SVG preserveAspectRatio=none is not honored.
9642        https://bugs.webkit.org/show_bug.cgi?id=111402
9643
9644        Reviewed by Andreas Kling.
9645
9646        Previously, preserveAspectRatio=none had no effect on SVG images. This change fixes this so
9647        we follow the special handling of preserveAspectRatio on images as defined in the spec:
9648        http://www.w3.org/TR/SVG/single-page.html, 7.8 The ‘preserveAspectRatio’ attribute.
9649
9650        Images that depend on a container size (such as SVG images) require a call to
9651        setContainerSizeForRenderer(...) to set this size. By passing the image's intrinsic size
9652        as the container size, the non-uniform scaling defined in the spec will be achieved.
9653
9654        Merged from Blink: https://chromiumcodereview.appspot.com/14964004
9655
9656        Test: svg/custom/image-with-preserveAspectRatio-none.html
9657
9658        * rendering/svg/RenderSVGImage.cpp:
9659        (WebCore::RenderSVGImage::updateImageViewport):
9660
96612014-02-05  Zoltan Horvath  <zoltan@webkit.org>
9662
9663        [CSS Shapes] Simplify CSSBasicShapeInset::cssText
9664        https://bugs.webkit.org/show_bug.cgi?id=127841
9665
9666        Reviewed by David Hyatt.
9667
9668        I introduced the updateCornerRadiusWidthAndHeight helper function, which makes the code of cssText method clearer.
9669
9670        No new tests, no behavior change.
9671
9672        * css/CSSBasicShapes.cpp:
9673        (WebCore::updateCornerRadiusWidthAndHeight): Add helper function.
9674        (WebCore::CSSBasicShapeInset::cssText):
9675
96762014-02-05  Zoltan Horvath  <zoltan@webkit.org>
9677
9678        [CSS Shapes] Simplify BasicShapeInset::path
9679        https://bugs.webkit.org/show_bug.cgi?id=127920
9680
9681        Reviewed by David Hyatt.
9682
9683        I introduced a new static helper function called floatSizeForLengthSize
9684        in order to simplify BasicShapeInset::path method.
9685
9686        No new tests, no behavior change.
9687
9688        * rendering/style/BasicShapes.cpp:
9689        (WebCore::floatSizeForLengthSize): New helper function.
9690        (WebCore::BasicShapeInset::path):
9691
96922014-02-05  Wojciech Bielawski  <w.bielawski@samsung.com>
9693
9694        XMLHttpRequest performs too many copies for ArrayBuffer results
9695        https://bugs.webkit.org/show_bug.cgi?id=117458
9696
9697        Reviewed by Alexey Proskuryakov.
9698
9699        Based on blink change: https://chromium.googlesource.com/chromium/blink/+/bed266aa5a43f7c080c87e527bd35e2b80ecc7b7
9700
9701        Add SharedBuffer::createArrayBuffer() and use it to create XMLHttpRequest's response in ArrayBuffer
9702        This cuts
9703            - two memsets (in ArrayBuffer::create and SharedBuffer::m_buffer::resize)
9704            - one copy (SharedBuffer::m_buffer to ArrayBufferContents::m_data)
9705            - one allocation (SharedBuffer::m_buffer)
9706
9707        No new tests. WebKit desn't provide test mechanism similar to blink's one.
9708
9709        * platform/SharedBuffer.cpp:
9710        (WebCore::SharedBuffer::createArrayBuffer):
9711        * platform/SharedBuffer.h:
9712        * xml/XMLHttpRequest.cpp:
9713        (WebCore::XMLHttpRequest::responseArrayBuffer):
9714
97152014-02-05  Csaba Osztrogonác  <ossy@webkit.org>
9716
9717        Remove ENABLE(SVG) guards
9718        https://bugs.webkit.org/show_bug.cgi?id=127991
9719
9720        Reviewed by Sam Weinig.
9721
9722        * CMakeLists.txt:
9723        * Configurations/FeatureDefines.xcconfig:
9724        * DerivedSources.make:
9725        * GNUmakefile.am:
9726        * UseJSC.cmake:
9727        * WebCore.exp.in:
9728        * accessibility/AXObjectCache.cpp:
9729        (WebCore::createFromRenderer):
9730        * accessibility/AccessibilityNodeObject.cpp:
9731        (WebCore::AccessibilityNodeObject::alternativeText):
9732        (WebCore::AccessibilityNodeObject::accessibilityDescription):
9733        * accessibility/AccessibilityRenderObject.cpp:
9734        (WebCore::AccessibilityRenderObject::boundingBoxRect):
9735        (WebCore::AccessibilityRenderObject::supportsPath):
9736        (WebCore::AccessibilityRenderObject::elementPath):
9737        (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
9738        (WebCore::AccessibilityRenderObject::remoteSVGRootElement):
9739        * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
9740        (-[WebAccessibilityObjectWrapper isSVGGroupElement]):
9741        * bindings/gobject/GNUmakefile.am:
9742        * bindings/js/JSCSSValueCustom.cpp:
9743        (WebCore::toJS):
9744        * bindings/js/JSDocumentCustom.cpp:
9745        (WebCore::toJS):
9746        * bindings/js/JSElementCustom.cpp:
9747        (WebCore::toJSNewlyCreated):
9748        * bindings/js/JSExceptionBase.cpp:
9749        (WebCore::toExceptionBase):
9750        * bindings/js/JSNodeCustom.cpp:
9751        (WebCore::createWrapperInline):
9752        * bindings/js/JSSVGElementInstanceCustom.cpp:
9753        * bindings/js/JSSVGLengthCustom.cpp:
9754        * bindings/js/JSSVGPathSegCustom.cpp:
9755        * css/CSSComputedStyleDeclaration.cpp:
9756        (WebCore::ComputedStyleExtractor::propertyValue):
9757        * css/CSSComputedStyleDeclaration.h:
9758        * css/CSSCursorImageValue.cpp:
9759        (WebCore::resourceReferencedByCursorElement):
9760        (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
9761        (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
9762        (WebCore::CSSCursorImageValue::cachedImage):
9763        (WebCore::CSSCursorImageValue::removeReferencedElement):
9764        * css/CSSCursorImageValue.h:
9765        * css/CSSDefaultStyleSheets.cpp:
9766        (WebCore::CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement):
9767        * css/CSSFontSelector.cpp:
9768        * css/CSSParser.cpp:
9769        (WebCore::CSSParser::parseValue):
9770        (WebCore::CSSParser::parseClipPath):
9771        (WebCore::CSSParser::parseShadow):
9772        (WebCore::CSSParser::parseFilter):
9773        (WebCore::CSSParser::realLex):
9774        * css/CSSParser.h:
9775        * css/CSSPrimitiveValueMappings.h:
9776        * css/CSSStyleSheet.cpp:
9777        (WebCore::isAcceptableCSSStyleSheetParent):
9778        * css/CSSValue.cpp:
9779        (WebCore::CSSValue::equals):
9780        (WebCore::CSSValue::cssText):
9781        (WebCore::CSSValue::destroy):
9782        (WebCore::CSSValue::cloneForCSSOM):
9783        * css/CSSValue.h:
9784        (WebCore::CSSValue::isSubtypeExposedToCSSOM):
9785        * css/CSSValueKeywords.in:
9786        * css/DeprecatedStyleBuilder.cpp:
9787        (WebCore::ApplyPropertyDisplay::isValidDisplayValue):
9788        (WebCore::ApplyPropertyClipPath::applyValue):
9789        * css/ElementRuleCollector.cpp:
9790        (WebCore::ElementRuleCollector::matchAllRules):
9791        * css/SVGCSSComputedStyleDeclaration.cpp:
9792        * css/SVGCSSParser.cpp:
9793        * css/SVGCSSPropertyNames.in:
9794        * css/SVGCSSStyleSelector.cpp:
9795        * css/StyleProperties.cpp:
9796        (WebCore::StyleProperties::getPropertyValue):
9797        * css/StylePropertyShorthand.cpp:
9798        (WebCore::markerShorthand):
9799        (WebCore::shorthandForProperty):
9800        (WebCore::matchingShorthandsForLonghand):
9801        * css/StylePropertyShorthand.h:
9802        * css/StyleResolver.cpp:
9803        (WebCore::StyleResolver::State::clear):
9804        (WebCore::StyleResolver::locateCousinList):
9805        (WebCore::StyleResolver::sharingCandidateHasIdenticalStyleAffectingAttributes):
9806        (WebCore::StyleResolver::canShareStyleWithElement):
9807        (WebCore::StyleResolver::locateSharedStyle):
9808        (WebCore::StyleResolver::adjustRenderStyle):
9809        (WebCore::isValidVisitedLinkProperty):
9810        (WebCore::StyleResolver::applyProperty):
9811        (WebCore::StyleResolver::loadPendingSVGDocuments):
9812        (WebCore::StyleResolver::createFilterOperations):
9813        (WebCore::StyleResolver::loadPendingResources):
9814        * css/StyleResolver.h:
9815        * dom/DOMExceptions.in:
9816        * dom/DOMImplementation.cpp:
9817        (WebCore::addString):
9818        (WebCore::isSupportedSVG11Feature):
9819        (WebCore::DOMImplementation::hasFeature):
9820        (WebCore::DOMImplementation::createDocument):
9821        * dom/Document.cpp:
9822        (WebCore::Document::commonTeardown):
9823        (WebCore::Document::createElement):
9824        (WebCore::Document::implicitClose):
9825        (WebCore::Document::hasSVGRootNode):
9826        * dom/Document.h:
9827        * dom/DocumentStyleSheetCollection.cpp:
9828        (WebCore::DocumentStyleSheetCollection::collectActiveStyleSheets):
9829        * dom/Element.cpp:
9830        (WebCore::Element::~Element):
9831        (WebCore::Element::synchronizeAllAttributes):
9832        (WebCore::Element::synchronizeAttribute):
9833        (WebCore::Element::boundsInRootViewSpace):
9834        (WebCore::Element::getBoundingClientRect):
9835        (WebCore::Element::removedFrom):
9836        (WebCore::Element::childShouldCreateRenderer):
9837        (WebCore::Element::fastAttributeLookupAllowed):
9838        (WebCore::Element::clearHasPendingResources):
9839        * dom/Element.h:
9840        * dom/ElementData.h:
9841        * dom/ElementRareData.h:
9842        (WebCore::ElementRareData::ElementRareData):
9843        * dom/EventDispatcher.cpp:
9844        (WebCore::eventTargetRespectingTargetRules):
9845        * dom/EventListenerMap.cpp:
9846        * dom/EventListenerMap.h:
9847        * dom/EventNames.in:
9848        * dom/EventTargetFactory.in:
9849        * dom/QualifiedName.cpp:
9850        * dom/ScriptElement.cpp:
9851        (WebCore::toScriptElementIfPossible):
9852        * dom/Text.cpp:
9853        (WebCore::isSVGText):
9854        (WebCore::Text::createTextRenderer):
9855        * history/CachedFrame.cpp:
9856        (WebCore::CachedFrameBase::restore):
9857        * html/HTMLAnchorElement.cpp:
9858        (WebCore::shouldProhibitLinks):
9859        * html/HTMLEmbedElement.idl:
9860        * html/HTMLFrameElement.idl:
9861        * html/HTMLFrameOwnerElement.cpp:
9862        (WebCore::HTMLFrameOwnerElement::getSVGDocument):
9863        * html/HTMLFrameOwnerElement.h:
9864        * html/HTMLIFrameElement.idl:
9865        * html/HTMLObjectElement.idl:
9866        * html/canvas/DOMPath.h:
9867        (WebCore::DOMPath::create):
9868        * html/canvas/DOMPath.idl:
9869        * html/parser/XSSAuditor.cpp:
9870        (WebCore::isSemicolonSeparatedAttribute):
9871        * inspector/DOMPatchSupport.cpp:
9872        (WebCore::DOMPatchSupport::patchDocument):
9873        * inspector/InspectorCSSAgent.cpp:
9874        (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
9875        * inspector/InspectorDOMAgent.cpp:
9876        (WebCore::InspectorDOMAgent::setOuterHTML):
9877        * inspector/InspectorOverlay.cpp:
9878        * inspector/InspectorStyleSheet.cpp:
9879        (WebCore::InspectorStyleSheet::inlineStyleSheetText):
9880        * loader/FrameLoader.cpp:
9881        * loader/ImageLoader.cpp:
9882        (WebCore::ImageLoader::renderImageResource):
9883        * loader/cache/CachedImage.cpp:
9884        (WebCore::CachedImage::didRemoveClient):
9885        (WebCore::CachedImage::imageForRenderer):
9886        (WebCore::CachedImage::setContainerSizeForRenderer):
9887        (WebCore::CachedImage::imageSizeForRenderer):
9888        (WebCore::CachedImage::createImage):
9889        * loader/cache/CachedImage.h:
9890        * loader/cache/CachedResource.cpp:
9891        (WebCore::defaultPriorityForResourceType):
9892        * loader/cache/CachedResource.h:
9893        * loader/cache/CachedResourceClient.h:
9894        * loader/cache/CachedResourceLoader.cpp:
9895        (WebCore::createResource):
9896        (WebCore::CachedResourceLoader::requestSVGDocument):
9897        (WebCore::CachedResourceLoader::checkInsecureContent):
9898        (WebCore::CachedResourceLoader::canRequest):
9899        * loader/cache/CachedResourceLoader.h:
9900        * loader/cache/CachedSVGDocument.cpp:
9901        * loader/cache/CachedSVGDocument.h:
9902        * loader/cache/CachedSVGDocumentClient.h:
9903        * loader/cache/CachedSVGDocumentReference.cpp:
9904        * loader/cache/CachedSVGDocumentReference.h:
9905        * page/EventHandler.cpp:
9906        (WebCore::EventHandler::EventHandler):
9907        (WebCore::EventHandler::clear):
9908        (WebCore::EventHandler::handleMousePressEvent):
9909        (WebCore::EventHandler::updateSelectionForMouseDrag):
9910        (WebCore::EventHandler::handleMouseMoveEvent):
9911        (WebCore::EventHandler::handleMouseReleaseEvent):
9912        (WebCore::instanceAssociatedWithShadowTreeElement):
9913        (WebCore::EventHandler::updateMouseEventTargetNode):
9914        * page/EventHandler.h:
9915        * page/Frame.cpp:
9916        (WebCore::Frame::setPageAndTextZoomFactors):
9917        * page/FrameView.cpp:
9918        (WebCore::FrameView::applyOverflowToViewport):
9919        (WebCore::FrameView::forceLayoutParentViewIfNeeded):
9920        (WebCore::FrameView::embeddedContentBox):
9921        (WebCore::FrameView::scrollToAnchor):
9922        * page/animation/CSSPropertyAnimation.cpp:
9923        (WebCore::blendFunc):
9924        (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
9925        * platform/MIMETypeRegistry.cpp:
9926        (WebCore::initializeSupportedNonImageMimeTypes):
9927        * platform/graphics/TextRun.cpp:
9928        * platform/graphics/TextRun.h:
9929        (WebCore::TextRun::TextRun):
9930        * platform/graphics/WidthIterator.cpp:
9931        (WebCore::WidthIterator::advanceInternal):
9932        * platform/graphics/filters/FETile.cpp:
9933        (WebCore::FETile::platformApplySoftware):
9934        * platform/graphics/filters/FilterOperation.cpp:
9935        (WebCore::ReferenceFilterOperation::getOrCreateCachedSVGDocumentReference):
9936        * platform/graphics/filters/FilterOperation.h:
9937        * platform/gtk/PasteboardGtk.cpp:
9938        (WebCore::getURLForImageElement):
9939        * rendering/FilterEffectRenderer.cpp:
9940        (WebCore::FilterEffectRenderer::buildReferenceFilter):
9941        * rendering/HitTestLocation.cpp:
9942        * rendering/HitTestResult.cpp:
9943        (WebCore::HitTestResult::absoluteImageURL):
9944        (WebCore::HitTestResult::absoluteLinkURL):
9945        (WebCore::HitTestResult::isLiveLink):
9946        * rendering/InlineBox.h:
9947        * rendering/LogicalSelectionOffsetCaches.h:
9948        (WebCore::isContainingBlockCandidateForAbsolutelyPositionedObject):
9949        * rendering/PaintInfo.h:
9950        (WebCore::PaintInfo::applyTransform):
9951        * rendering/RenderBlockLineLayout.cpp:
9952        (WebCore::RenderBlockFlow::createLineBoxesFromBidiRuns):
9953        * rendering/RenderBoxModelObject.cpp:
9954        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
9955        * rendering/RenderElement.cpp:
9956        (WebCore::RenderElement::addChild):
9957        (WebCore::RenderElement::layerCreationAllowedForSubtree):
9958        (WebCore::RenderElement::styleDidChange):
9959        * rendering/RenderGeometryMap.cpp:
9960        (WebCore::canMapBetweenRenderers):
9961        * rendering/RenderImage.cpp:
9962        (WebCore::RenderImage::embeddedContentBox):
9963        * rendering/RenderLayer.cpp:
9964        (WebCore::RenderLayer::isTransparent):
9965        (WebCore::RenderLayer::setupClipPath):
9966        (WebCore::RenderLayer::calculateClipRects):
9967        * rendering/RenderLayer.h:
9968        * rendering/RenderLayerFilterInfo.cpp:
9969        (WebCore::RenderLayer::FilterInfo::~FilterInfo):
9970        * rendering/RenderLayerFilterInfo.h:
9971        * rendering/RenderNamedFlowThread.cpp:
9972        (WebCore::nextNodeInsideContentElement):
9973        * rendering/RenderObject.cpp:
9974        (WebCore::objectIsRelayoutBoundary):
9975        (WebCore::RenderObject::container):
9976        (WebCore::RenderObject::willBeRemovedFromTree):
9977        * rendering/RenderObject.h:
9978        (WebCore::RenderObject::canContainFixedPositionObjects):
9979        (WebCore::RenderObject::preservesNewline):
9980        * rendering/RenderTreeAsText.cpp:
9981        (WebCore::write):
9982        * rendering/RenderView.cpp:
9983        (WebCore::RenderView::layout):
9984        * rendering/RootInlineBox.cpp:
9985        (WebCore::RootInlineBox::alignBoxesInBlockDirection):
9986        * rendering/SimpleLineLayout.cpp:
9987        (WebCore::SimpleLineLayout::canUseFor):
9988        * rendering/line/BreakingContextInlineHeaders.h:
9989        (WebCore::BreakingContext::initializeForCurrentObject):
9990        (WebCore::BreakingContext::handleText):
9991        * rendering/style/RenderStyle.cpp:
9992        (WebCore::RenderStyle::RenderStyle):
9993        (WebCore::RenderStyle::inheritFrom):
9994        (WebCore::RenderStyle::copyNonInheritedFrom):
9995        (WebCore::RenderStyle::operator==):
9996        (WebCore::RenderStyle::inheritedNotEqual):
9997        (WebCore::RenderStyle::inheritedDataShared):
9998        (WebCore::RenderStyle::diff):
9999        * rendering/style/RenderStyle.h:
10000        * rendering/style/SVGRenderStyle.cpp:
10001        * rendering/style/SVGRenderStyle.h:
10002        * rendering/style/SVGRenderStyleDefs.cpp:
10003        * rendering/style/SVGRenderStyleDefs.h:
10004        * rendering/svg/RenderSVGBlock.cpp:
10005        * rendering/svg/RenderSVGBlock.h:
10006        * rendering/svg/RenderSVGContainer.cpp:
10007        * rendering/svg/RenderSVGContainer.h:
10008        * rendering/svg/RenderSVGEllipse.cpp:
10009        * rendering/svg/RenderSVGEllipse.h:
10010        * rendering/svg/RenderSVGForeignObject.cpp:
10011        * rendering/svg/RenderSVGForeignObject.h:
10012        * rendering/svg/RenderSVGGradientStop.cpp:
10013        * rendering/svg/RenderSVGGradientStop.h:
10014        * rendering/svg/RenderSVGHiddenContainer.cpp:
10015        * rendering/svg/RenderSVGHiddenContainer.h:
10016        * rendering/svg/RenderSVGImage.cpp:
10017        * rendering/svg/RenderSVGImage.h:
10018        * rendering/svg/RenderSVGInline.cpp:
10019        * rendering/svg/RenderSVGInline.h:
10020        * rendering/svg/RenderSVGInlineText.cpp:
10021        * rendering/svg/RenderSVGInlineText.h:
10022        * rendering/svg/RenderSVGModelObject.cpp:
10023        * rendering/svg/RenderSVGModelObject.h:
10024        * rendering/svg/RenderSVGPath.cpp:
10025        * rendering/svg/RenderSVGPath.h:
10026        * rendering/svg/RenderSVGRect.cpp:
10027        * rendering/svg/RenderSVGRect.h:
10028        * rendering/svg/RenderSVGResource.cpp:
10029        * rendering/svg/RenderSVGResource.h:
10030        * rendering/svg/RenderSVGResourceClipper.cpp:
10031        * rendering/svg/RenderSVGResourceClipper.h:
10032        * rendering/svg/RenderSVGResourceContainer.cpp:
10033        * rendering/svg/RenderSVGResourceContainer.h:
10034        * rendering/svg/RenderSVGResourceFilter.cpp:
10035        * rendering/svg/RenderSVGResourceFilter.h:
10036        * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
10037        * rendering/svg/RenderSVGResourceFilterPrimitive.h:
10038        * rendering/svg/RenderSVGResourceGradient.cpp:
10039        (WebCore::RenderSVGResourceGradient::applyResource):
10040        * rendering/svg/RenderSVGResourceGradient.h:
10041        * rendering/svg/RenderSVGResourceLinearGradient.cpp:
10042        * rendering/svg/RenderSVGResourceLinearGradient.h:
10043        * rendering/svg/RenderSVGResourceMarker.cpp:
10044        * rendering/svg/RenderSVGResourceMarker.h:
10045        * rendering/svg/RenderSVGResourceMasker.cpp:
10046        * rendering/svg/RenderSVGResourceMasker.h:
10047        * rendering/svg/RenderSVGResourcePattern.cpp:
10048        * rendering/svg/RenderSVGResourcePattern.h:
10049        * rendering/svg/RenderSVGResourceRadialGradient.cpp:
10050        * rendering/svg/RenderSVGResourceRadialGradient.h:
10051        * rendering/svg/RenderSVGResourceSolidColor.cpp:
10052        * rendering/svg/RenderSVGResourceSolidColor.h:
10053        * rendering/svg/RenderSVGRoot.cpp:
10054        * rendering/svg/RenderSVGRoot.h:
10055        * rendering/svg/RenderSVGShape.cpp:
10056        * rendering/svg/RenderSVGShape.h:
10057        * rendering/svg/RenderSVGTSpan.h:
10058        * rendering/svg/RenderSVGText.cpp:
10059        * rendering/svg/RenderSVGText.h:
10060        * rendering/svg/RenderSVGTextPath.cpp:
10061        * rendering/svg/RenderSVGTextPath.h:
10062        * rendering/svg/RenderSVGTransformableContainer.cpp:
10063        * rendering/svg/RenderSVGTransformableContainer.h:
10064        * rendering/svg/RenderSVGViewportContainer.cpp:
10065        * rendering/svg/RenderSVGViewportContainer.h:
10066        * rendering/svg/SVGInlineFlowBox.cpp:
10067        * rendering/svg/SVGInlineFlowBox.h:
10068        * rendering/svg/SVGInlineTextBox.cpp:
10069        * rendering/svg/SVGInlineTextBox.h:
10070        * rendering/svg/SVGMarkerData.h:
10071        * rendering/svg/SVGPathData.cpp:
10072        * rendering/svg/SVGPathData.h:
10073        * rendering/svg/SVGRenderSupport.cpp:
10074        * rendering/svg/SVGRenderSupport.h:
10075        * rendering/svg/SVGRenderTreeAsText.cpp:
10076        * rendering/svg/SVGRenderTreeAsText.h:
10077        * rendering/svg/SVGRenderingContext.cpp:
10078        * rendering/svg/SVGRenderingContext.h:
10079        * rendering/svg/SVGResources.cpp:
10080        * rendering/svg/SVGResources.h:
10081        * rendering/svg/SVGResourcesCache.cpp:
10082        * rendering/svg/SVGResourcesCache.h:
10083        * rendering/svg/SVGResourcesCycleSolver.cpp:
10084        * rendering/svg/SVGResourcesCycleSolver.h:
10085        * rendering/svg/SVGRootInlineBox.cpp:
10086        * rendering/svg/SVGRootInlineBox.h:
10087        * rendering/svg/SVGSubpathData.h:
10088        * rendering/svg/SVGTextChunk.cpp:
10089        * rendering/svg/SVGTextChunk.h:
10090        * rendering/svg/SVGTextChunkBuilder.cpp:
10091        * rendering/svg/SVGTextChunkBuilder.h:
10092        * rendering/svg/SVGTextFragment.h:
10093        * rendering/svg/SVGTextLayoutAttributes.cpp:
10094        * rendering/svg/SVGTextLayoutAttributes.h:
10095        * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
10096        * rendering/svg/SVGTextLayoutAttributesBuilder.h:
10097        * rendering/svg/SVGTextLayoutEngine.cpp:
10098        * rendering/svg/SVGTextLayoutEngine.h:
10099        * rendering/svg/SVGTextLayoutEngineBaseline.cpp:
10100        * rendering/svg/SVGTextLayoutEngineBaseline.h:
10101        * rendering/svg/SVGTextLayoutEngineSpacing.cpp:
10102        * rendering/svg/SVGTextLayoutEngineSpacing.h:
10103        * rendering/svg/SVGTextMetrics.cpp:
10104        * rendering/svg/SVGTextMetrics.h:
10105        * rendering/svg/SVGTextMetricsBuilder.cpp:
10106        * rendering/svg/SVGTextMetricsBuilder.h:
10107        * rendering/svg/SVGTextQuery.cpp:
10108        * rendering/svg/SVGTextQuery.h:
10109        * svg/ColorDistance.cpp:
10110        * svg/ColorDistance.h:
10111        * svg/GradientAttributes.h:
10112        * svg/LinearGradientAttributes.h:
10113        * svg/PatternAttributes.h:
10114        * svg/RadialGradientAttributes.h:
10115        * svg/SVGAElement.cpp:
10116        * svg/SVGAElement.h:
10117        * svg/SVGAElement.idl:
10118        * svg/SVGAltGlyphDefElement.cpp:
10119        * svg/SVGAltGlyphDefElement.h:
10120        * svg/SVGAltGlyphDefElement.idl:
10121        * svg/SVGAltGlyphElement.cpp:
10122        * svg/SVGAltGlyphElement.h:
10123        * svg/SVGAltGlyphElement.idl:
10124        * svg/SVGAltGlyphItemElement.cpp:
10125        * svg/SVGAltGlyphItemElement.h:
10126        * svg/SVGAltGlyphItemElement.idl:
10127        * svg/SVGAngle.cpp:
10128        * svg/SVGAngle.h:
10129        * svg/SVGAngle.idl:
10130        * svg/SVGAnimateColorElement.cpp:
10131        * svg/SVGAnimateColorElement.h:
10132        * svg/SVGAnimateColorElement.idl:
10133        * svg/SVGAnimateElement.cpp:
10134        * svg/SVGAnimateElement.h:
10135        * svg/SVGAnimateElement.idl:
10136        * svg/SVGAnimateMotionElement.cpp:
10137        * svg/SVGAnimateMotionElement.h:
10138        * svg/SVGAnimateMotionElement.idl:
10139        * svg/SVGAnimateTransformElement.cpp:
10140        * svg/SVGAnimateTransformElement.h:
10141        * svg/SVGAnimateTransformElement.idl:
10142        * svg/SVGAnimatedAngle.cpp:
10143        * svg/SVGAnimatedAngle.h:
10144        * svg/SVGAnimatedAngle.idl:
10145        * svg/SVGAnimatedBoolean.cpp:
10146        * svg/SVGAnimatedBoolean.h:
10147        * svg/SVGAnimatedBoolean.idl:
10148        * svg/SVGAnimatedColor.cpp:
10149        * svg/SVGAnimatedColor.h:
10150        * svg/SVGAnimatedEnumeration.cpp:
10151        * svg/SVGAnimatedEnumeration.h:
10152        * svg/SVGAnimatedEnumeration.idl:
10153        * svg/SVGAnimatedInteger.cpp:
10154        * svg/SVGAnimatedInteger.h:
10155        * svg/SVGAnimatedInteger.idl:
10156        * svg/SVGAnimatedIntegerOptionalInteger.cpp:
10157        * svg/SVGAnimatedIntegerOptionalInteger.h:
10158        * svg/SVGAnimatedLength.cpp:
10159        * svg/SVGAnimatedLength.h:
10160        * svg/SVGAnimatedLength.idl:
10161        * svg/SVGAnimatedLengthList.cpp:
10162        * svg/SVGAnimatedLengthList.h:
10163        * svg/SVGAnimatedLengthList.idl:
10164        * svg/SVGAnimatedNumber.cpp:
10165        * svg/SVGAnimatedNumber.h:
10166        * svg/SVGAnimatedNumber.idl:
10167        * svg/SVGAnimatedNumberList.cpp:
10168        * svg/SVGAnimatedNumberList.h:
10169        * svg/SVGAnimatedNumberList.idl:
10170        * svg/SVGAnimatedNumberOptionalNumber.cpp:
10171        * svg/SVGAnimatedNumberOptionalNumber.h:
10172        * svg/SVGAnimatedPath.cpp:
10173        * svg/SVGAnimatedPath.h:
10174        * svg/SVGAnimatedPointList.cpp:
10175        * svg/SVGAnimatedPointList.h:
10176        * svg/SVGAnimatedPreserveAspectRatio.cpp:
10177        * svg/SVGAnimatedPreserveAspectRatio.h:
10178        * svg/SVGAnimatedPreserveAspectRatio.idl:
10179        * svg/SVGAnimatedRect.cpp:
10180        * svg/SVGAnimatedRect.h:
10181        * svg/SVGAnimatedRect.idl:
10182        * svg/SVGAnimatedString.cpp:
10183        * svg/SVGAnimatedString.h:
10184        * svg/SVGAnimatedString.idl:
10185        * svg/SVGAnimatedTransformList.cpp:
10186        * svg/SVGAnimatedTransformList.h:
10187        * svg/SVGAnimatedTransformList.idl:
10188        * svg/SVGAnimatedType.cpp:
10189        * svg/SVGAnimatedType.h:
10190        * svg/SVGAnimatedTypeAnimator.cpp:
10191        * svg/SVGAnimatedTypeAnimator.h:
10192        * svg/SVGAnimationElement.cpp:
10193        * svg/SVGAnimationElement.h:
10194        * svg/SVGAnimationElement.idl:
10195        * svg/SVGAnimatorFactory.h:
10196        * svg/SVGCircleElement.cpp:
10197        * svg/SVGCircleElement.h:
10198        * svg/SVGCircleElement.idl:
10199        * svg/SVGClipPathElement.cpp:
10200        * svg/SVGClipPathElement.h:
10201        * svg/SVGClipPathElement.idl:
10202        * svg/SVGColor.cpp:
10203        * svg/SVGColor.h:
10204        * svg/SVGColor.idl:
10205        * svg/SVGComponentTransferFunctionElement.cpp:
10206        * svg/SVGComponentTransferFunctionElement.h:
10207        * svg/SVGComponentTransferFunctionElement.idl:
10208        * svg/SVGCursorElement.cpp:
10209        * svg/SVGCursorElement.h:
10210        * svg/SVGCursorElement.idl:
10211        * svg/SVGDefsElement.cpp:
10212        * svg/SVGDefsElement.h:
10213        * svg/SVGDefsElement.idl:
10214        * svg/SVGDescElement.cpp:
10215        * svg/SVGDescElement.h:
10216        * svg/SVGDescElement.idl:
10217        * svg/SVGDocument.cpp:
10218        * svg/SVGDocument.h:
10219        * svg/SVGDocument.idl:
10220        * svg/SVGDocumentExtensions.cpp:
10221        * svg/SVGDocumentExtensions.h:
10222        * svg/SVGElement.cpp:
10223        * svg/SVGElement.h:
10224        * svg/SVGElement.idl:
10225        * svg/SVGElementInstance.cpp:
10226        * svg/SVGElementInstance.h:
10227        * svg/SVGElementInstance.idl:
10228        * svg/SVGElementInstanceList.cpp:
10229        * svg/SVGElementInstanceList.h:
10230        * svg/SVGElementInstanceList.idl:
10231        * svg/SVGEllipseElement.cpp:
10232        * svg/SVGEllipseElement.h:
10233        * svg/SVGEllipseElement.idl:
10234        * svg/SVGException.cpp:
10235        * svg/SVGException.h:
10236        * svg/SVGException.idl:
10237        * svg/SVGExternalResourcesRequired.cpp:
10238        * svg/SVGExternalResourcesRequired.h:
10239        * svg/SVGExternalResourcesRequired.idl:
10240        * svg/SVGFEBlendElement.cpp:
10241        * svg/SVGFEBlendElement.h:
10242        * svg/SVGFEBlendElement.idl:
10243        * svg/SVGFEColorMatrixElement.cpp:
10244        * svg/SVGFEColorMatrixElement.h:
10245        * svg/SVGFEColorMatrixElement.idl:
10246        * svg/SVGFEComponentTransferElement.cpp:
10247        * svg/SVGFEComponentTransferElement.h:
10248        * svg/SVGFEComponentTransferElement.idl:
10249        * svg/SVGFECompositeElement.cpp:
10250        * svg/SVGFECompositeElement.h:
10251        * svg/SVGFECompositeElement.idl:
10252        * svg/SVGFEConvolveMatrixElement.cpp:
10253        * svg/SVGFEConvolveMatrixElement.h:
10254        * svg/SVGFEConvolveMatrixElement.idl:
10255        * svg/SVGFEDiffuseLightingElement.cpp:
10256        * svg/SVGFEDiffuseLightingElement.h:
10257        * svg/SVGFEDiffuseLightingElement.idl:
10258        * svg/SVGFEDisplacementMapElement.cpp:
10259        * svg/SVGFEDisplacementMapElement.h:
10260        * svg/SVGFEDisplacementMapElement.idl:
10261        * svg/SVGFEDistantLightElement.cpp:
10262        * svg/SVGFEDistantLightElement.h:
10263        * svg/SVGFEDistantLightElement.idl:
10264        * svg/SVGFEDropShadowElement.cpp:
10265        * svg/SVGFEDropShadowElement.h:
10266        * svg/SVGFEDropShadowElement.idl:
10267        * svg/SVGFEFloodElement.cpp:
10268        * svg/SVGFEFloodElement.h:
10269        * svg/SVGFEFloodElement.idl:
10270        * svg/SVGFEFuncAElement.cpp:
10271        * svg/SVGFEFuncAElement.h:
10272        * svg/SVGFEFuncAElement.idl:
10273        * svg/SVGFEFuncBElement.cpp:
10274        * svg/SVGFEFuncBElement.h:
10275        * svg/SVGFEFuncBElement.idl:
10276        * svg/SVGFEFuncGElement.cpp:
10277        * svg/SVGFEFuncGElement.h:
10278        * svg/SVGFEFuncGElement.idl:
10279        * svg/SVGFEFuncRElement.cpp:
10280        * svg/SVGFEFuncRElement.h:
10281        * svg/SVGFEFuncRElement.idl:
10282        * svg/SVGFEGaussianBlurElement.cpp:
10283        * svg/SVGFEGaussianBlurElement.h:
10284        * svg/SVGFEGaussianBlurElement.idl:
10285        * svg/SVGFEImageElement.cpp:
10286        * svg/SVGFEImageElement.h:
10287        * svg/SVGFEImageElement.idl:
10288        * svg/SVGFELightElement.cpp:
10289        * svg/SVGFELightElement.h:
10290        * svg/SVGFEMergeElement.cpp:
10291        * svg/SVGFEMergeElement.h:
10292        * svg/SVGFEMergeElement.idl:
10293        * svg/SVGFEMergeNodeElement.cpp:
10294        * svg/SVGFEMergeNodeElement.h:
10295        * svg/SVGFEMergeNodeElement.idl:
10296        * svg/SVGFEMorphologyElement.cpp:
10297        * svg/SVGFEMorphologyElement.h:
10298        * svg/SVGFEMorphologyElement.idl:
10299        * svg/SVGFEOffsetElement.cpp:
10300        * svg/SVGFEOffsetElement.h:
10301        * svg/SVGFEOffsetElement.idl:
10302        * svg/SVGFEPointLightElement.cpp:
10303        * svg/SVGFEPointLightElement.h:
10304        * svg/SVGFEPointLightElement.idl:
10305        * svg/SVGFESpecularLightingElement.cpp:
10306        * svg/SVGFESpecularLightingElement.h:
10307        * svg/SVGFESpecularLightingElement.idl:
10308        * svg/SVGFESpotLightElement.cpp:
10309        * svg/SVGFESpotLightElement.h:
10310        * svg/SVGFESpotLightElement.idl:
10311        * svg/SVGFETileElement.cpp:
10312        * svg/SVGFETileElement.h:
10313        * svg/SVGFETileElement.idl:
10314        * svg/SVGFETurbulenceElement.cpp:
10315        * svg/SVGFETurbulenceElement.h:
10316        * svg/SVGFETurbulenceElement.idl:
10317        * svg/SVGFilterElement.cpp:
10318        * svg/SVGFilterElement.h:
10319        * svg/SVGFilterElement.idl:
10320        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
10321        * svg/SVGFilterPrimitiveStandardAttributes.h:
10322        * svg/SVGFilterPrimitiveStandardAttributes.idl:
10323        * svg/SVGFitToViewBox.cpp:
10324        * svg/SVGFitToViewBox.h:
10325        * svg/SVGFitToViewBox.idl:
10326        * svg/SVGFontElement.idl:
10327        * svg/SVGFontFaceElement.idl:
10328        * svg/SVGFontFaceFormatElement.idl:
10329        * svg/SVGFontFaceNameElement.cpp:
10330        * svg/SVGFontFaceNameElement.idl:
10331        * svg/SVGFontFaceSrcElement.idl:
10332        * svg/SVGFontFaceUriElement.idl:
10333        * svg/SVGForeignObjectElement.cpp:
10334        * svg/SVGForeignObjectElement.h:
10335        * svg/SVGForeignObjectElement.idl:
10336        * svg/SVGGElement.cpp:
10337        * svg/SVGGElement.h:
10338        * svg/SVGGElement.idl:
10339        * svg/SVGGlyphElement.idl:
10340        * svg/SVGGlyphRefElement.cpp:
10341        * svg/SVGGlyphRefElement.h:
10342        * svg/SVGGlyphRefElement.idl:
10343        * svg/SVGGradientElement.cpp:
10344        * svg/SVGGradientElement.h:
10345        * svg/SVGGradientElement.idl:
10346        * svg/SVGGraphicsElement.cpp:
10347        * svg/SVGGraphicsElement.h:
10348        * svg/SVGGraphicsElement.idl:
10349        * svg/SVGHKernElement.idl:
10350        * svg/SVGImageElement.cpp:
10351        * svg/SVGImageElement.h:
10352        * svg/SVGImageElement.idl:
10353        * svg/SVGImageLoader.cpp:
10354        * svg/SVGImageLoader.h:
10355        * svg/SVGLangSpace.cpp:
10356        * svg/SVGLangSpace.h:
10357        * svg/SVGLength.cpp:
10358        * svg/SVGLength.h:
10359        * svg/SVGLength.idl:
10360        * svg/SVGLengthContext.cpp:
10361        * svg/SVGLengthContext.h:
10362        * svg/SVGLengthList.cpp:
10363        * svg/SVGLengthList.h:
10364        * svg/SVGLengthList.idl:
10365        * svg/SVGLineElement.cpp:
10366        * svg/SVGLineElement.h:
10367        * svg/SVGLineElement.idl:
10368        * svg/SVGLinearGradientElement.cpp:
10369        * svg/SVGLinearGradientElement.h:
10370        * svg/SVGLinearGradientElement.idl:
10371        * svg/SVGLocatable.cpp:
10372        * svg/SVGLocatable.h:
10373        * svg/SVGMPathElement.cpp:
10374        * svg/SVGMPathElement.h:
10375        * svg/SVGMPathElement.idl:
10376        * svg/SVGMarkerElement.cpp:
10377        * svg/SVGMarkerElement.h:
10378        * svg/SVGMarkerElement.idl:
10379        * svg/SVGMaskElement.cpp:
10380        * svg/SVGMaskElement.h:
10381        * svg/SVGMaskElement.idl:
10382        * svg/SVGMatrix.h:
10383        * svg/SVGMatrix.idl:
10384        * svg/SVGMetadataElement.cpp:
10385        * svg/SVGMetadataElement.h:
10386        * svg/SVGMetadataElement.idl:
10387        * svg/SVGMissingGlyphElement.idl:
10388        * svg/SVGNumber.idl:
10389        * svg/SVGNumberList.cpp:
10390        * svg/SVGNumberList.h:
10391        * svg/SVGNumberList.idl:
10392        * svg/SVGPaint.cpp:
10393        * svg/SVGPaint.h:
10394        * svg/SVGPaint.idl:
10395        * svg/SVGParserUtilities.cpp:
10396        * svg/SVGParserUtilities.h:
10397        * svg/SVGParsingError.h:
10398        * svg/SVGPathBlender.cpp:
10399        * svg/SVGPathBlender.h:
10400        * svg/SVGPathBuilder.cpp:
10401        * svg/SVGPathBuilder.h:
10402        * svg/SVGPathByteStream.h:
10403        * svg/SVGPathByteStreamBuilder.cpp:
10404        * svg/SVGPathByteStreamBuilder.h:
10405        * svg/SVGPathByteStreamSource.cpp:
10406        * svg/SVGPathByteStreamSource.h:
10407        * svg/SVGPathConsumer.h:
10408        * svg/SVGPathElement.cpp:
10409        * svg/SVGPathElement.h:
10410        * svg/SVGPathElement.idl:
10411        * svg/SVGPathParser.cpp:
10412        * svg/SVGPathParser.h:
10413        * svg/SVGPathSeg.h:
10414        * svg/SVGPathSeg.idl:
10415        * svg/SVGPathSegArc.h:
10416        * svg/SVGPathSegArcAbs.h:
10417        * svg/SVGPathSegArcAbs.idl:
10418        * svg/SVGPathSegArcRel.h:
10419        * svg/SVGPathSegArcRel.idl:
10420        * svg/SVGPathSegClosePath.h:
10421        * svg/SVGPathSegClosePath.idl:
10422        * svg/SVGPathSegCurvetoCubic.h:
10423        * svg/SVGPathSegCurvetoCubicAbs.h:
10424        * svg/SVGPathSegCurvetoCubicAbs.idl:
10425        * svg/SVGPathSegCurvetoCubicRel.h:
10426        * svg/SVGPathSegCurvetoCubicRel.idl:
10427        * svg/SVGPathSegCurvetoCubicSmooth.h:
10428        * svg/SVGPathSegCurvetoCubicSmoothAbs.h:
10429        * svg/SVGPathSegCurvetoCubicSmoothAbs.idl:
10430        * svg/SVGPathSegCurvetoCubicSmoothRel.h:
10431        * svg/SVGPathSegCurvetoCubicSmoothRel.idl:
10432        * svg/SVGPathSegCurvetoQuadratic.h:
10433        * svg/SVGPathSegCurvetoQuadraticAbs.h:
10434        * svg/SVGPathSegCurvetoQuadraticAbs.idl:
10435        * svg/SVGPathSegCurvetoQuadraticRel.h:
10436        * svg/SVGPathSegCurvetoQuadraticRel.idl:
10437        * svg/SVGPathSegCurvetoQuadraticSmoothAbs.h:
10438        * svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl:
10439        * svg/SVGPathSegCurvetoQuadraticSmoothRel.h:
10440        * svg/SVGPathSegCurvetoQuadraticSmoothRel.idl:
10441        * svg/SVGPathSegLinetoAbs.h:
10442        * svg/SVGPathSegLinetoAbs.idl:
10443        * svg/SVGPathSegLinetoHorizontal.h:
10444        * svg/SVGPathSegLinetoHorizontalAbs.h:
10445        * svg/SVGPathSegLinetoHorizontalAbs.idl:
10446        * svg/SVGPathSegLinetoHorizontalRel.h:
10447        * svg/SVGPathSegLinetoHorizontalRel.idl:
10448        * svg/SVGPathSegLinetoRel.h:
10449        * svg/SVGPathSegLinetoRel.idl:
10450        * svg/SVGPathSegLinetoVertical.h:
10451        * svg/SVGPathSegLinetoVerticalAbs.h:
10452        * svg/SVGPathSegLinetoVerticalAbs.idl:
10453        * svg/SVGPathSegLinetoVerticalRel.h:
10454        * svg/SVGPathSegLinetoVerticalRel.idl:
10455        * svg/SVGPathSegList.cpp:
10456        * svg/SVGPathSegList.h:
10457        * svg/SVGPathSegList.idl:
10458        * svg/SVGPathSegListBuilder.cpp:
10459        * svg/SVGPathSegListBuilder.h:
10460        * svg/SVGPathSegListSource.cpp:
10461        * svg/SVGPathSegListSource.h:
10462        * svg/SVGPathSegMovetoAbs.h:
10463        * svg/SVGPathSegMovetoAbs.idl:
10464        * svg/SVGPathSegMovetoRel.h:
10465        * svg/SVGPathSegMovetoRel.idl:
10466        * svg/SVGPathSegWithContext.h:
10467        * svg/SVGPathSource.h:
10468        * svg/SVGPathStringBuilder.cpp:
10469        * svg/SVGPathStringBuilder.h:
10470        * svg/SVGPathStringSource.cpp:
10471        * svg/SVGPathStringSource.h:
10472        * svg/SVGPathTraversalStateBuilder.cpp:
10473        * svg/SVGPathTraversalStateBuilder.h:
10474        * svg/SVGPathUtilities.cpp:
10475        * svg/SVGPathUtilities.h:
10476        * svg/SVGPatternElement.cpp:
10477        * svg/SVGPatternElement.h:
10478        * svg/SVGPatternElement.idl:
10479        * svg/SVGPoint.h:
10480        * svg/SVGPoint.idl:
10481        * svg/SVGPointList.cpp:
10482        * svg/SVGPointList.h:
10483        * svg/SVGPointList.idl:
10484        * svg/SVGPolyElement.cpp:
10485        * svg/SVGPolyElement.h:
10486        * svg/SVGPolygonElement.cpp:
10487        * svg/SVGPolygonElement.h:
10488        * svg/SVGPolygonElement.idl:
10489        * svg/SVGPolylineElement.cpp:
10490        * svg/SVGPolylineElement.h:
10491        * svg/SVGPolylineElement.idl:
10492        * svg/SVGPreserveAspectRatio.cpp:
10493        * svg/SVGPreserveAspectRatio.h:
10494        * svg/SVGPreserveAspectRatio.idl:
10495        * svg/SVGRadialGradientElement.cpp:
10496        * svg/SVGRadialGradientElement.h:
10497        * svg/SVGRadialGradientElement.idl:
10498        * svg/SVGRect.h:
10499        * svg/SVGRect.idl:
10500        * svg/SVGRectElement.cpp:
10501        * svg/SVGRectElement.h:
10502        * svg/SVGRectElement.idl:
10503        * svg/SVGRenderingIntent.h:
10504        * svg/SVGRenderingIntent.idl:
10505        * svg/SVGSVGElement.cpp:
10506        * svg/SVGSVGElement.h:
10507        * svg/SVGSVGElement.idl:
10508        * svg/SVGScriptElement.cpp:
10509        * svg/SVGScriptElement.h:
10510        * svg/SVGScriptElement.idl:
10511        * svg/SVGSetElement.cpp:
10512        * svg/SVGSetElement.h:
10513        * svg/SVGSetElement.idl:
10514        * svg/SVGStopElement.cpp:
10515        * svg/SVGStopElement.h:
10516        * svg/SVGStopElement.idl:
10517        * svg/SVGStringList.cpp:
10518        * svg/SVGStringList.h:
10519        * svg/SVGStringList.idl:
10520        * svg/SVGStyleElement.cpp:
10521        * svg/SVGStyleElement.h:
10522        * svg/SVGStyleElement.idl:
10523        * svg/SVGSwitchElement.cpp:
10524        * svg/SVGSwitchElement.h:
10525        * svg/SVGSwitchElement.idl:
10526        * svg/SVGSymbolElement.cpp:
10527        * svg/SVGSymbolElement.h:
10528        * svg/SVGSymbolElement.idl:
10529        * svg/SVGTRefElement.cpp:
10530        * svg/SVGTRefElement.h:
10531        * svg/SVGTRefElement.idl:
10532        * svg/SVGTSpanElement.cpp:
10533        * svg/SVGTSpanElement.h:
10534        * svg/SVGTSpanElement.idl:
10535        * svg/SVGTests.cpp:
10536        * svg/SVGTests.h:
10537        * svg/SVGTests.idl:
10538        * svg/SVGTextContentElement.cpp:
10539        * svg/SVGTextContentElement.h:
10540        * svg/SVGTextContentElement.idl:
10541        * svg/SVGTextElement.cpp:
10542        * svg/SVGTextElement.h:
10543        * svg/SVGTextElement.idl:
10544        * svg/SVGTextPathElement.cpp:
10545        * svg/SVGTextPathElement.h:
10546        * svg/SVGTextPathElement.idl:
10547        * svg/SVGTextPositioningElement.cpp:
10548        * svg/SVGTextPositioningElement.h:
10549        * svg/SVGTextPositioningElement.idl:
10550        * svg/SVGTitleElement.cpp:
10551        * svg/SVGTitleElement.h:
10552        * svg/SVGTitleElement.idl:
10553        * svg/SVGTransform.cpp:
10554        * svg/SVGTransform.h:
10555        * svg/SVGTransform.idl:
10556        * svg/SVGTransformDistance.cpp:
10557        * svg/SVGTransformDistance.h:
10558        * svg/SVGTransformList.cpp:
10559        * svg/SVGTransformList.h:
10560        * svg/SVGTransformList.idl:
10561        * svg/SVGTransformable.cpp:
10562        * svg/SVGTransformable.h:
10563        * svg/SVGURIReference.cpp:
10564        * svg/SVGURIReference.h:
10565        * svg/SVGURIReference.idl:
10566        * svg/SVGUnitTypes.h:
10567        * svg/SVGUnitTypes.idl:
10568        * svg/SVGUnknownElement.h:
10569        * svg/SVGUseElement.cpp:
10570        * svg/SVGUseElement.h:
10571        * svg/SVGUseElement.idl:
10572        * svg/SVGVKernElement.idl:
10573        * svg/SVGViewElement.cpp:
10574        * svg/SVGViewElement.h:
10575        * svg/SVGViewElement.idl:
10576        * svg/SVGViewSpec.cpp:
10577        * svg/SVGViewSpec.h:
10578        * svg/SVGViewSpec.idl:
10579        * svg/SVGZoomAndPan.cpp:
10580        * svg/SVGZoomAndPan.h:
10581        * svg/SVGZoomAndPan.idl:
10582        * svg/SVGZoomEvent.cpp:
10583        * svg/SVGZoomEvent.h:
10584        * svg/SVGZoomEvent.idl:
10585        * svg/animation/SMILTime.cpp:
10586        (WebCore::operator*):
10587        * svg/animation/SMILTime.h:
10588        * svg/animation/SMILTimeContainer.cpp:
10589        * svg/animation/SMILTimeContainer.h:
10590        * svg/animation/SVGSMILElement.cpp:
10591        * svg/animation/SVGSMILElement.h:
10592        * svg/graphics/SVGImage.cpp:
10593        * svg/graphics/SVGImage.h:
10594        * svg/graphics/SVGImageCache.cpp:
10595        * svg/graphics/SVGImageCache.h:
10596        * svg/graphics/SVGImageChromeClient.h:
10597        * svg/graphics/SVGImageForContainer.cpp:
10598        * svg/graphics/SVGImageForContainer.h:
10599        * svg/graphics/filters/SVGFEImage.cpp:
10600        * svg/graphics/filters/SVGFEImage.h:
10601        * svg/graphics/filters/SVGFilter.cpp:
10602        * svg/graphics/filters/SVGFilter.h:
10603        * svg/graphics/filters/SVGFilterBuilder.cpp:
10604        * svg/graphics/filters/SVGFilterBuilder.h:
10605        * svg/properties/SVGAnimatedEnumerationPropertyTearOff.h:
10606        * svg/properties/SVGAnimatedListPropertyTearOff.h:
10607        * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h:
10608        * svg/properties/SVGAnimatedProperty.cpp:
10609        * svg/properties/SVGAnimatedProperty.h:
10610        * svg/properties/SVGAnimatedPropertyDescription.h:
10611        * svg/properties/SVGAnimatedPropertyMacros.h:
10612        * svg/properties/SVGAnimatedPropertyTearOff.h:
10613        * svg/properties/SVGAnimatedStaticPropertyTearOff.h:
10614        * svg/properties/SVGAnimatedTransformListPropertyTearOff.h:
10615        * svg/properties/SVGAttributeToPropertyMap.cpp:
10616        * svg/properties/SVGAttributeToPropertyMap.h:
10617        * svg/properties/SVGListProperty.h:
10618        * svg/properties/SVGListPropertyTearOff.h:
10619        * svg/properties/SVGPathSegListPropertyTearOff.cpp:
10620        * svg/properties/SVGPathSegListPropertyTearOff.h:
10621        * svg/properties/SVGProperty.h:
10622        * svg/properties/SVGPropertyInfo.cpp:
10623        * svg/properties/SVGPropertyInfo.h:
10624        * svg/properties/SVGPropertyTearOff.h:
10625        * svg/properties/SVGPropertyTraits.h:
10626        * svg/properties/SVGStaticListPropertyTearOff.h:
10627        * svg/properties/SVGStaticPropertyTearOff.h:
10628        * svg/properties/SVGStaticPropertyWithParentTearOff.h:
10629        * svg/properties/SVGTransformListPropertyTearOff.h:
10630        * svg/svgattrs.in:
10631        * svg/svgtags.in:
10632        * xml/XMLErrors.cpp:
10633        (WebCore::XMLErrors::insertErrorMessageBlock):
10634        * xml/parser/XMLDocumentParser.cpp:
10635
106362014-02-05  Zan Dobersek  <zdobersek@igalia.com>
10637
10638        Manage CalcExpressionNode and derived classes through std::unique_ptr instead of OwnPtr
10639        https://bugs.webkit.org/show_bug.cgi?id=128118
10640
10641        Reviewed by Darin Adler.
10642
10643        Replace uses of OwnPtr for CalcExpressionNode and derived classes with std::unique_ptr.
10644
10645        * css/CSSCalculationValue.cpp:
10646        (WebCore::CSSCalcPrimitiveValue::toCalcValue):
10647        (WebCore::CSSCalcBinaryOperation::toCalcValue):
10648        * css/CSSCalculationValue.h:
10649        * platform/CalculationValue.cpp:
10650        (WebCore::CalculationValue::create):
10651        * platform/CalculationValue.h:
10652        (WebCore::CalculationValue::CalculationValue):
10653        (WebCore::CalcExpressionBinaryOperation::CalcExpressionBinaryOperation):
10654        * platform/Length.cpp:
10655        (WebCore::Length::blendMixedTypes):
10656        * rendering/style/BasicShapes.cpp:
10657        (WebCore::BasicShapeCenterCoordinate::updateComputedLength):
10658
106592014-02-05  Zan Dobersek  <zdobersek@igalia.com>
10660
10661        Remove CLASS_IF_GCC workarounds
10662        https://bugs.webkit.org/show_bug.cgi?id=128207
10663
10664        Reviewed by Anders Carlsson.
10665
10666        Remove the CLASS_IF_GCC macro that was defined to 'class' when using the GCC compiler.
10667        The macro was then used in class friendship declarations for templated classes to avoid
10668        corner-case compiler failures on both GCC pre-4.7 and MSVC pre-2013. The problematic
10669        versions of both compilers are no longer supported, so this macro is good to go.
10670
10671        * bindings/generic/RuntimeEnabledFeatures.h:
10672
106732014-02-05  Ryuan Choi  <ryuan.choi@samsung.com>
10674
10675        MediaPlayerPrivateGStreamerBase should have virtual destructor
10676        https://bugs.webkit.org/show_bug.cgi?id=128238
10677
10678        Reviewed by Carlos Garcia Campos.
10679
10680        MediaPlayerPrivateGStreamer inherit MediaPlayerPrivateGStreamerBase.
10681        So MediaPlayerPrivateGStreamerBase should have virtual destructor.
10682
10683        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h: Made destructor as virtual.
10684
106852014-02-04  Andreas Kling  <akling@apple.com>
10686
10687        Remove <iframe seamless> support.
10688        <https://webkit.org/b/128213>
10689
10690        Seamless iframes were behind a runtime flag that we never enabled,
10691        and the only other engine that implemented them (Blink) recently
10692        removed them. Since the feature is very invasive, let's take it
10693        out for now.
10694
10695        Rubber-stamped by Antti Koivisto.
10696
10697        * Configurations/FeatureDefines.xcconfig:
10698        * accessibility/AccessibilityObject.h:
10699        * accessibility/AccessibilityRenderObject.cpp:
10700        (WebCore::AccessibilityRenderObject::parentObjectIfExists):
10701        (WebCore::AccessibilityRenderObject::parentObject):
10702        (WebCore::AccessibilityRenderObject::boundingBoxRect):
10703        (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
10704        (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
10705        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
10706        (createAccessibilityRoleMap):
10707        * bindings/generic/RuntimeEnabledFeatures.cpp:
10708        (WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures):
10709        * bindings/generic/RuntimeEnabledFeatures.h:
10710        * css/CSSComputedStyleDeclaration.cpp:
10711        (WebCore::ComputedStyleExtractor::propertyValue):
10712        * css/CSSSelector.cpp:
10713        (WebCore::CSSSelector::pseudoId):
10714        (WebCore::populatePseudoTypeByNameMap):
10715        (WebCore::CSSSelector::extractPseudoType):
10716        * css/CSSSelector.h:
10717        * css/SelectorChecker.cpp:
10718        (WebCore::SelectorChecker::checkOne):
10719        * css/StyleResolver.cpp:
10720        (WebCore::StyleResolver::adjustRenderStyle):
10721        * css/html.css:
10722        (iframe):
10723        * dom/Document.cpp:
10724        (WebCore::Document::scheduleStyleRecalc):
10725        (WebCore::Document::implicitOpen):
10726        (WebCore::Document::initSecurityContext):
10727        * dom/Document.h:
10728        * dom/DocumentStyleSheetCollection.cpp:
10729        (WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
10730        * dom/SecurityContext.cpp:
10731        (WebCore::SecurityContext::SecurityContext):
10732        * dom/SecurityContext.h:
10733        * html/HTMLAttributeNames.in:
10734        * html/HTMLIFrameElement.cpp:
10735        (WebCore::HTMLIFrameElement::HTMLIFrameElement):
10736        (WebCore::HTMLIFrameElement::isPresentationAttribute):
10737        (WebCore::HTMLIFrameElement::parseAttribute):
10738        * html/HTMLIFrameElement.h:
10739        * html/HTMLIFrameElement.idl:
10740        * loader/FrameLoader.cpp:
10741        (WebCore::FrameLoader::findFrameForNavigation):
10742        * page/FrameView.cpp:
10743        (WebCore::FrameView::calculateScrollbarModesForLayout):
10744        (WebCore::FrameView::isInChildFrameWithFrameFlattening):
10745        * page/Location.cpp:
10746        (WebCore::Location::setLocation):
10747        * rendering/RenderBox.h:
10748        (WebCore::RenderBox::stretchesToViewport):
10749        * rendering/RenderIFrame.cpp:
10750        (WebCore::RenderIFrame::shouldComputeSizeAsReplaced):
10751        (WebCore::RenderIFrame::isInlineBlockOrInlineTable):
10752        (WebCore::RenderIFrame::flattenFrame):
10753        (WebCore::RenderIFrame::layout):
10754        * rendering/RenderIFrame.h:
10755        * rendering/RenderView.cpp:
10756        (WebCore::RenderView::initializeLayoutState):
10757        (WebCore::RenderView::layout):
10758        * rendering/RenderView.h:
10759        * style/StyleResolveForDocument.cpp:
10760        (WebCore::Style::resolveForDocument):
10761        * style/StyleResolveTree.cpp:
10762        (WebCore::Style::resolveTree):
10763
107642014-02-04  Tim Horton  <timothy_horton@apple.com>
10765
10766        [iOS][wk2] Make development builds of WebKit work on device
10767        https://bugs.webkit.org/show_bug.cgi?id=128230
10768
10769        Reviewed by Anders Carlsson.
10770
10771        * platform/RuntimeApplicationChecksIOS.mm:
10772        (WebCore::applicationIsWebProcess):
10773        Add WebContent.Development as an additional name for the WebContent process.
10774
107752014-02-04  Brady Eidson  <beidson@apple.com>
10776
10777        IDB: indexeddb/mozilla/add-twice-failure.html fails
10778        <rdar://problem/15982569> and https://bugs.webkit.org/show_bug.cgi?id=128208
10779
10780        Reviewed by Tim Horton.
10781
10782        Covered specifically by indexeddb/mozilla/add-twice-failure.html and a handful of others.
10783
10784        * Modules/indexeddb/IDBRequest.cpp:
10785        (WebCore::IDBRequest::onError): Improve logging.
10786
10787        * Modules/indexeddb/IDBTransactionBackend.cpp:
10788        (WebCore::IDBTransactionBackend::abort): Improve logging.
10789
10790        * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
10791        (WebCore::PutOperation::perform): Don’t abort the transaction when an error occurred.
10792
10793        * WebCore.exp.in:
10794
107952014-02-04  Yoav Weiss  <yoav@yoav.ws>
10796
10797        Use srcset's pixel density to determine intrinsic size
10798        https://bugs.webkit.org/show_bug.cgi?id=123832
10799
10800        Reviewed by Dean Jackson.
10801
10802        The patch is a port of a similar Blink patch: https://codereview.chromium.org/25105004
10803        According to the spec "When an img element has a current pixel density that is not 1.0,
10804        the element's image data must be treated as if its resolution, in device pixels per CSS pixels,
10805        was the current pixel density."
10806
10807        I've added that support using the following changes:
10808        - bestFitSourceForImageAttributes now returns the image candidate to HTMLImageElement.
10809        - HTMLImageElement passes the devicePixelRatio data to RenderImage, which stores it.
10810        - Bitmap images are scaled using the devicePixelRatio at RenderImageResource's intrinsicSize() and imageSize().
10811        - SVG images are scaled using the devicePixelRatio at RenderReplaced::computeAspectRatioInformationForRenderBox.
10812        - Canvas support added at CanvasRenderingContext2D::size.
10813
10814        Tests: fast/hidpi/image-srcset-intrinsic-size.html
10815               fast/hidpi/image-srcset-png-canvas.html
10816               fast/hidpi/image-srcset-png.html
10817               fast/hidpi/image-srcset-relative-svg-canvas-2x.html
10818               fast/hidpi/image-srcset-relative-svg.html
10819               fast/hidpi/image-srcset-space-left-nomodifier.html
10820               fast/hidpi/image-srcset-svg-canvas-2x.html
10821               fast/hidpi/image-srcset-svg-canvas.html
10822               fast/hidpi/image-srcset-svg.html
10823               fast/hidpi/image-srcset-svg2.html
10824
10825        * html/HTMLImageElement.cpp:
10826        (WebCore::HTMLImageElement::HTMLImageElement):
10827        (WebCore::HTMLImageElement::parseAttribute):
10828        (WebCore::HTMLImageElement::createRenderer):
10829        * html/HTMLImageElement.h:
10830        * html/canvas/CanvasRenderingContext2D.cpp:
10831        (WebCore::size):
10832        (WebCore::CanvasRenderingContext2D::drawImage):
10833        * html/parser/HTMLParserIdioms.cpp:
10834        (WebCore::compareByScaleFactor):
10835        (WebCore::parseImagesWithScaleFromSrcsetAttribute):
10836        (WebCore::bestFitSourceForImageAttributes):
10837        * html/parser/HTMLParserIdioms.h:
10838        (WebCore::ImageWithScale::ImageWithScale):
10839        (WebCore::ImageWithScale::imageURL):
10840        (WebCore::ImageWithScale::scaleFactor):
10841        * html/parser/HTMLPreloadScanner.cpp:
10842        (WebCore::TokenPreloadScanner::StartTagScanner::processAttributes):
10843        * rendering/RenderImage.cpp:
10844        (WebCore::RenderImage::RenderImage):
10845        * rendering/RenderImage.h:
10846        (WebCore::RenderImage::setImageDevicePixelRatio):
10847        (WebCore::RenderImage::imageDevicePixelRatio):
10848        * rendering/RenderImageResource.cpp:
10849        (WebCore::RenderImageResource::imageSize):
10850        (WebCore::RenderImageResource::intrinsicSize):
10851        (WebCore::RenderImageResource::getImageSize):
10852        * rendering/RenderImageResource.h:
10853        * rendering/RenderReplaced.cpp:
10854        (WebCore::RenderReplaced::computeAspectRatioInformationForRenderBox):
10855
108562014-02-04  Geoffrey Garen  <ggaren@apple.com>
10857
10858        Rolled out <http://trac.webkit.org/changeset/163280>:
10859
10860            Push DOM attributes into the prototype chain
10861https://bugs.webkit.org/show_bug.cgi?id=127969
10862
10863        It caused performance regressions, and broken websites on iOS.
10864
10865        Reviewed by Geoffrey Garen.
10866
10867        * bindings/js/JSDOMBinding.h:
10868        (WebCore::getStaticValueSlotEntryWithoutCaching):
10869        * bindings/js/JSStorageCustom.cpp:
10870        (WebCore::JSStorage::nameGetter):
10871        (WebCore::JSStorage::deleteProperty):
10872        (WebCore::JSStorage::putDelegate):
10873        * bindings/scripts/CodeGeneratorJS.pm:
10874        (GenerateGetOwnPropertySlotBody):
10875        (InstanceOverridesGetOwnPropertySlot):
10876        (PrototypeOverridesGetOwnPropertySlot):
10877        (GenerateAttributesHashTable):
10878        (GenerateImplementation):
10879        * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
10880        (WebCore::jsTestActiveDOMObjectConstructor):
10881        * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
10882        (WebCore::jsTestCustomNamedGetterConstructor):
10883        * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
10884        (WebCore::JSTestEventConstructor::getOwnPropertySlot):
10885        (WebCore::jsTestEventConstructorConstructor):
10886        * bindings/scripts/test/JS/JSTestEventConstructor.h:
10887        * bindings/scripts/test/JS/JSTestEventTarget.cpp:
10888        (WebCore::jsTestEventTargetConstructor):
10889        * bindings/scripts/test/JS/JSTestException.cpp:
10890        (WebCore::jsTestExceptionConstructor):
10891        * bindings/scripts/test/JS/JSTestException.h:
10892        * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
10893        (WebCore::JSTestGenerateIsReachable::getOwnPropertySlot):
10894        (WebCore::jsTestGenerateIsReachableConstructor):
10895        * bindings/scripts/test/JS/JSTestGenerateIsReachable.h:
10896        * bindings/scripts/test/JS/JSTestInterface.cpp:
10897        (WebCore::jsTestInterfaceConstructor):
10898        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
10899        (WebCore::JSTestMediaQueryListListenerPrototype::getOwnPropertySlot):
10900        (WebCore::JSTestMediaQueryListListener::getOwnPropertySlot):
10901        (WebCore::jsTestMediaQueryListListenerConstructor):
10902        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
10903        (WebCore::JSTestNamedConstructor::getOwnPropertySlot):
10904        (WebCore::jsTestNamedConstructorConstructor):
10905        * bindings/scripts/test/JS/JSTestNamedConstructor.h:
10906        * bindings/scripts/test/JS/JSTestNode.cpp:
10907        (WebCore::JSTestNode::getOwnPropertySlot):
10908        (WebCore::jsTestNodeConstructor):
10909        * bindings/scripts/test/JS/JSTestNode.h:
10910        * bindings/scripts/test/JS/JSTestObj.cpp:
10911        (WebCore::jsTestObjConstructor):
10912        * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
10913        (WebCore::JSTestOverloadedConstructors::getOwnPropertySlot):
10914        (WebCore::jsTestOverloadedConstructorsConstructor):
10915        * bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
10916        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
10917        (WebCore::JSTestSerializedScriptValueInterface::getOwnPropertySlot):
10918        (WebCore::jsTestSerializedScriptValueInterfaceConstructor):
10919        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
10920        * bindings/scripts/test/JS/JSTestTypedefs.cpp:
10921        (WebCore::JSTestTypedefsPrototype::getOwnPropertySlot):
10922        (WebCore::jsTestTypedefsConstructor):
10923        * bindings/scripts/test/JS/JSattribute.cpp:
10924        (WebCore::JSattribute::getOwnPropertySlot):
10925        (WebCore::jsattributeConstructor):
10926        * bindings/scripts/test/JS/JSattribute.h:
10927        * bindings/scripts/test/JS/JSreadonly.cpp:
10928        (WebCore::JSreadonly::getOwnPropertySlot):
10929        (WebCore::jsreadonlyConstructor):
10930        * bindings/scripts/test/JS/JSreadonly.h:
10931
109322014-02-04  Alexey Proskuryakov  <ap@apple.com>
10933
10934        WebCrypto HMAC verification uses a non-constant-time memcmp
10935        https://bugs.webkit.org/show_bug.cgi?id=128198
10936        <rdar://problem/15976961>
10937
10938        Reviewed by Oliver Hunt.
10939
10940        * crypto/mac/CryptoAlgorithmHMACMac.cpp: (WebCore::CryptoAlgorithmHMAC::platformVerify):
10941        Use a constant time memcmp.
10942
109432014-02-04  Simon Fraser  <simon.fraser@apple.com>
10944
10945        Add WK2 event handling path for iOS, and make Mac and iOS code more similar
10946        https://bugs.webkit.org/show_bug.cgi?id=128199
10947
10948        Reviewed by Sam Weinig.
10949
10950        EventHandlerIOS need some changes for WebKit2, where we have no native
10951        widget. Merge those changes from EventHandlerMac.
10952        
10953        Make a few drive-by changes to match EventHandlerMac behavior.
10954        
10955        Clean up EventHandlerMac, removing trailing whitespace and fixing
10956        the odd comment.
10957
10958        * page/ios/EventHandlerIOS.mm:
10959        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
10960        (WebCore::EventHandler::passMouseDownEventToWidget):
10961        (WebCore::EventHandler::passSubframeEventToSubframe):
10962        (WebCore::EventHandler::passWheelEventToWidget):
10963        (WebCore::EventHandler::mouseDown):
10964        (WebCore::EventHandler::mouseMoved):
10965        (WebCore::frameHasPlatformWidget):
10966        (WebCore::EventHandler::passMousePressEventToSubframe):
10967        (WebCore::EventHandler::passMouseMoveEventToSubframe):
10968        (WebCore::EventHandler::passMouseReleaseEventToSubframe):
10969        * page/mac/EventHandlerMac.mm:
10970        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
10971        (WebCore::EventHandler::passMouseDownEventToWidget):
10972        (WebCore::findViewInSubviews):
10973        (WebCore::EventHandler::eventLoopHandleMouseUp):
10974        (WebCore::EventHandler::passWheelEventToWidget):
10975        (WebCore::EventHandler::mouseMoved):
10976
109772014-02-04  Benjamin Poulain  <bpoulain@apple.com>
10978
10979        [OSX] Limit progress bar's dimensions to ushort
10980        https://bugs.webkit.org/show_bug.cgi?id=128019
10981
10982        Wordaround a crash in Quartz until <rdar://problem/15855086> is fixed.
10983
10984        Reviewed by Sam Weinig.
10985
10986        * rendering/RenderThemeMac.mm:
10987        (WebCore::RenderThemeMac::progressBarRectForBounds):
10988
109892014-02-04  Anders Carlsson  <andersca@apple.com>
10990
10991        Rename StringImpl::getCharacters to StringImpl::characters
10992        https://bugs.webkit.org/show_bug.cgi?id=128205
10993
10994        Reviewed by Antti Koivisto.
10995
10996        Update for WTF changes.
10997
10998        * rendering/SimpleLineLayout.cpp:
10999        (WebCore::SimpleLineLayout::createTextRuns):
11000
110012014-02-04  Anders Carlsson  <andersca@apple.com>
11002
11003        Rename equalNonNull to equal and make it take const StringImpl& instead
11004        https://bugs.webkit.org/show_bug.cgi?id=128206
11005
11006        Reviewed by Andreas Kling.
11007
11008        * html/parser/HTMLParserIdioms.cpp:
11009        (WebCore::threadSafeEqual):
11010        (WebCore::threadSafeMatch):
11011
110122014-02-04  Anders Carlsson  <andersca@apple.com>
11013
11014        Rename String::getCharacters to String::characters
11015        https://bugs.webkit.org/show_bug.cgi?id=128196
11016
11017        Reviewed by Andreas Kling.
11018
11019        Update for WTF::String changes.
11020
11021        * dom/Document.cpp:
11022        (WebCore::canonicalizedTitle):
11023
110242014-02-04  Eric Carlson  <eric.carlson@apple.com>
11025
11026        Fix Release build after r163390.
11027
11028        * platform/audio/MediaSession.cpp: Add "#if !LOG_DISABLED" around logging-only function.
11029
110302014-02-04  Eric Carlson  <eric.carlson@apple.com>
11031
11032        Refine MediaSession interruptions
11033        https://bugs.webkit.org/show_bug.cgi?id=128125
11034
11035        Reviewed by Jer Noble.
11036
11037        Test: media/video-background-playback.html
11038
11039        * WebCore.exp.in: Export applicationWillEnterForeground and applicationWillEnterBackground for
11040            Internals.
11041
11042        * html/HTMLMediaElement.cpp:
11043        (WebCore::HTMLMediaElement::play): Ask the media session if playback is allowed instead of check
11044            to see if it is interrupted directly.
11045        (WebCore::HTMLMediaElement::pause): Ask the media session if pausing is allowed instead of check
11046            to see if it is interrupted directly.
11047        (WebCore::HTMLMediaElement::mediaType): Return media type based on media characteristics once
11048            the information is available.
11049        (WebCore::HTMLMediaElement::resumePlayback): New.
11050        * html/HTMLMediaElement.h:
11051
11052        * html/HTMLMediaSession.cpp:
11053        (WebCore::restrictionName): New, use for logging only.
11054        (WebCore::HTMLMediaSession::addBehaviorRestriction): Log  restriction changes.
11055        (WebCore::HTMLMediaSession::removeBehaviorRestriction): Ditto.
11056        * html/HTMLMediaSession.h:
11057
11058        * platform/audio/MediaSession.cpp:
11059        (WebCore::stateName): New, used for logging.
11060        (WebCore::MediaSession::MediaSession): Don't cache client media type because it can change.
11061        (WebCore::MediaSession::setState): Log state changes.
11062        (WebCore::MediaSession::beginInterruption): Remember the current state in case we want to use it
11063            to restore state when the interruption ends.
11064        (WebCore::MediaSession::endInterruption): Resume playback if appropriate.
11065        (WebCore::MediaSession::clientWillBeginPlayback): Track the client's playback state.
11066        (WebCore::MediaSession::clientWillPausePlayback): Ditto.
11067        (WebCore::MediaSession::mediaType): Ask client for state.
11068        * platform/audio/MediaSession.h:
11069
11070        * platform/audio/MediaSessionManager.cpp:
11071        (WebCore::MediaSessionManager::MediaSessionManager): m_interruptions -> m_interrupted.
11072        (WebCore::MediaSessionManager::beginInterruption): Don't assume interruptions are always balanced.
11073        (WebCore::MediaSessionManager::endInterruption): Ditto.
11074        (WebCore::MediaSessionManager::addSession): 
11075        (WebCore::MediaSessionManager::applicationWillEnterBackground): Interrupt client if it is not
11076            allowed to play in the background.
11077        (WebCore::MediaSessionManager::applicationWillEnterForeground): End client interruption if it
11078            was stopped by an interruption.
11079        * platform/audio/MediaSessionManager.h:
11080
11081        * platform/audio/ios/MediaSessionManagerIOS.h:
11082        * platform/audio/ios/MediaSessionManagerIOS.mm:
11083        (WebCore::MediaSessionManageriOS::~MediaSessionManageriOS): Clear the helper callback.
11084        (WebCore::MediaSessionManageriOS::resetRestrictions): Mark video as not allowed to play
11085            while the application is in the background. Register for application suspend/resume
11086            notifications.
11087        (-[WebMediaSessionHelper clearCallback]): Set _callback to nil.
11088        (-[WebMediaSessionHelper applicationWillEnterForeground:]): New, notify client of application 
11089            state change.
11090        (-[WebMediaSessionHelper applicationWillResignActive:]): Ditto.
11091
11092        * platform/audio/mac/AudioDestinationMac.h: Add resumePlayback.
11093
11094        * testing/Internals.cpp:
11095        (WebCore::Internals::applicationWillEnterForeground): New, simulate application context switch.
11096        (WebCore::Internals::applicationWillEnterBackground): Ditto.
11097        (WebCore::Internals::setMediaSessionRestrictions): Add "BackgroundPlaybackNotPermitted" restriction.
11098        * testing/Internals.h:
11099        * testing/Internals.idl:
11100
111012014-02-04  Andreas Kling  <akling@apple.com>
11102
11103        Remove CPP bindings generator.
11104        <https://webkit.org/b/128189>
11105
11106        Scrub out some leftover Blackberry gunk.
11107
11108        Reviewed by Anders Carlsson.
11109
11110        * Modules/webdatabase/SQLResultSet.idl:
11111        * bindings/cpp/WebDOMCString.cpp: Removed.
11112        * bindings/cpp/WebDOMCString.h: Removed.
11113        * bindings/cpp/WebDOMDOMWindowCustom.cpp: Removed.
11114        * bindings/cpp/WebDOMEventListenerCustom.cpp: Removed.
11115        * bindings/cpp/WebDOMEventTarget.cpp: Removed.
11116        * bindings/cpp/WebDOMEventTarget.h: Removed.
11117        * bindings/cpp/WebDOMHTMLCollectionCustom.cpp: Removed.
11118        * bindings/cpp/WebDOMHTMLDocumentCustom.cpp: Removed.
11119        * bindings/cpp/WebDOMHTMLOptionsCollectionCustom.cpp: Removed.
11120        * bindings/cpp/WebDOMNodeCustom.cpp: Removed.
11121        * bindings/cpp/WebDOMNodeFilterCustom.cpp: Removed.
11122        * bindings/cpp/WebDOMObject.h: Removed.
11123        * bindings/cpp/WebDOMString.cpp: Removed.
11124        * bindings/cpp/WebDOMString.h: Removed.
11125        * bindings/cpp/WebExceptionHandler.cpp: Removed.
11126        * bindings/cpp/WebExceptionHandler.h: Removed.
11127        * bindings/cpp/WebNativeEventListener.cpp: Removed.
11128        * bindings/cpp/WebNativeEventListener.h: Removed.
11129        * bindings/cpp/WebNativeNodeFilterCondition.cpp: Removed.
11130        * bindings/cpp/WebNativeNodeFilterCondition.h: Removed.
11131        * bindings/scripts/CodeGeneratorCPP.pm: Removed.
11132        * bindings/scripts/test/CPP/CPPTestSupplemental.cpp: Removed.
11133        * bindings/scripts/test/CPP/CPPTestSupplemental.h: Removed.
11134        * bindings/scripts/test/CPP/WebDOMFloat64Array.cpp: Removed.
11135        * bindings/scripts/test/CPP/WebDOMFloat64Array.h: Removed.
11136        * bindings/scripts/test/CPP/WebDOMTestActiveDOMObject.cpp: Removed.
11137        * bindings/scripts/test/CPP/WebDOMTestActiveDOMObject.h: Removed.
11138        * bindings/scripts/test/CPP/WebDOMTestCallback.cpp: Removed.
11139        * bindings/scripts/test/CPP/WebDOMTestCallback.h: Removed.
11140        * bindings/scripts/test/CPP/WebDOMTestCustomNamedGetter.cpp: Removed.
11141        * bindings/scripts/test/CPP/WebDOMTestCustomNamedGetter.h: Removed.
11142        * bindings/scripts/test/CPP/WebDOMTestEventConstructor.cpp: Removed.
11143        * bindings/scripts/test/CPP/WebDOMTestEventConstructor.h: Removed.
11144        * bindings/scripts/test/CPP/WebDOMTestEventTarget.cpp: Removed.
11145        * bindings/scripts/test/CPP/WebDOMTestEventTarget.h: Removed.
11146        * bindings/scripts/test/CPP/WebDOMTestException.cpp: Removed.
11147        * bindings/scripts/test/CPP/WebDOMTestException.h: Removed.
11148        * bindings/scripts/test/CPP/WebDOMTestGenerateIsReachable.cpp: Removed.
11149        * bindings/scripts/test/CPP/WebDOMTestGenerateIsReachable.h: Removed.
11150        * bindings/scripts/test/CPP/WebDOMTestImplements.cpp: Removed.
11151        * bindings/scripts/test/CPP/WebDOMTestImplements.h: Removed.
11152        * bindings/scripts/test/CPP/WebDOMTestInterface.cpp: Removed.
11153        * bindings/scripts/test/CPP/WebDOMTestInterface.h: Removed.
11154        * bindings/scripts/test/CPP/WebDOMTestMediaQueryListListener.cpp: Removed.
11155        * bindings/scripts/test/CPP/WebDOMTestMediaQueryListListener.h: Removed.
11156        * bindings/scripts/test/CPP/WebDOMTestNamedConstructor.cpp: Removed.
11157        * bindings/scripts/test/CPP/WebDOMTestNamedConstructor.h: Removed.
11158        * bindings/scripts/test/CPP/WebDOMTestNode.cpp: Removed.
11159        * bindings/scripts/test/CPP/WebDOMTestNode.h: Removed.
11160        * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Removed.
11161        * bindings/scripts/test/CPP/WebDOMTestObj.h: Removed.
11162        * bindings/scripts/test/CPP/WebDOMTestOverloadedConstructors.cpp: Removed.
11163        * bindings/scripts/test/CPP/WebDOMTestOverloadedConstructors.h: Removed.
11164        * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.cpp: Removed.
11165        * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.h: Removed.
11166        * bindings/scripts/test/CPP/WebDOMTestSupplemental.cpp: Removed.
11167        * bindings/scripts/test/CPP/WebDOMTestSupplemental.h: Removed.
11168        * bindings/scripts/test/CPP/WebDOMTestTypedefs.cpp: Removed.
11169        * bindings/scripts/test/CPP/WebDOMTestTypedefs.h: Removed.
11170        * bindings/scripts/test/CPP/WebDOMattribute.cpp: Removed.
11171        * bindings/scripts/test/CPP/WebDOMattribute.h: Removed.
11172        * bindings/scripts/test/CPP/WebDOMreadonly.cpp: Removed.
11173        * bindings/scripts/test/CPP/WebDOMreadonly.h: Removed.
11174        * css/StyleSheet.idl:
11175        * dom/CustomEvent.idl:
11176        * dom/Document.idl:
11177        * dom/Event.idl:
11178        * dom/Node.idl:
11179        * dom/PopStateEvent.idl:
11180        * html/HTMLCanvasElement.idl:
11181        * html/HTMLInputElement.idl:
11182        * html/canvas/CanvasRenderingContext2D.idl:
11183        * page/DOMWindow.idl:
11184        * page/Location.idl:
11185        * workers/DedicatedWorkerGlobalScope.idl:
11186
111872014-02-04  Dan Bernstein  <mitz@apple.com>
11188
11189        iOS build fix.
11190
11191        * platform/graphics/cg/GraphicsContextCG.cpp:
11192        (WebCore::GraphicsContext::platformInit):
11193
111942014-02-03  Zan Dobersek  <zdobersek@igalia.com>
11195
11196        Manage MediaQuery and MediaQueryExp classes through std::unique_ptr instead of OwnPtr
11197        https://bugs.webkit.org/show_bug.cgi?id=128117
11198
11199        Reviewed by Darin Adler.
11200
11201        Replace uses of OwnPtr for the MediaQuery and MediaQueryExp classes with std::unique_ptr.
11202
11203        * css/CSSGrammar.y.in:
11204        * css/CSSParser.cpp:
11205        (WebCore::CSSParser::parseMediaQuery):
11206        * css/CSSParser.h:
11207        * css/MediaList.cpp:
11208        (WebCore::MediaQuerySet::parse):
11209        (WebCore::MediaQuerySet::add):
11210        (WebCore::MediaQuerySet::remove):
11211        (WebCore::MediaQuerySet::addMediaQuery):
11212        (WebCore::MediaList::item):
11213        (WebCore::reportMediaQueryWarningIfNeeded):
11214        * css/MediaList.h:
11215        (WebCore::MediaQuerySet::queryVector):
11216        * css/MediaQuery.cpp:
11217        (WebCore::MediaQuery::MediaQuery):
11218        * css/MediaQuery.h:
11219        (WebCore::MediaQuery::expressions):
11220        (WebCore::MediaQuery::copy):
11221        * css/MediaQueryEvaluator.cpp:
11222        (WebCore::MediaQueryEvaluator::eval):
11223        * css/MediaQueryExp.cpp:
11224        (WebCore::MediaQueryExp::MediaQueryExp):
11225        * css/MediaQueryExp.h:
11226        (WebCore::MediaQueryExp::copy):
11227
112282014-02-04  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>
11229
11230        Remove SVG_DOM_OBJC_BINDINGS after r161638.
11231        https://bugs.webkit.org/show_bug.cgi?id=128182
11232
11233        Reviewed by Andreas Kling.
11234
11235        Removed ENABLE(SVG_DOM_OBJC_BINDINGS).
11236
11237        No tests required.
11238
11239        * bindings/objc/DOMUIKitExtensions.mm:
11240        (-[DOMNode boundingBoxes]):
11241        (-[DOMNode absoluteQuads]):
11242
112432014-02-04  Radu Stavila  <stavila@adobe.com>
11244
11245        REGRESSION (r159609): Images are corrupted when hovering over buttons @ github.com
11246        https://bugs.webkit.org/show_bug.cgi?id=127729
11247
11248        Reviewed by Antti Koivisto.
11249
11250        When clipping a rect, the RenderLayer would not properly save the context when
11251        the clipping rect is the same as the paint rect and the clipping rect
11252        has radius.
11253
11254        Test: fast/regions/repaint/hover-border-radius.html
11255
11256        * rendering/RenderLayer.cpp:
11257        (WebCore::RenderLayer::clipToRect):
11258        (WebCore::RenderLayer::restoreClip):
11259
112602014-02-04  Ryuan Choi  <ryuan.choi@samsung.com>
11261
11262        [CMAKE] Remove workaround for GCC 4.6
11263        https://bugs.webkit.org/show_bug.cgi?id=128176
11264
11265        Reviewed by Csaba Osztrogonác.
11266
11267        Since r162126, WebKit requires at least 4.7.
11268
11269        * CMakeLists.txt:
11270
112712014-02-04  Zan Dobersek  <zdobersek@igalia.com>
11272
11273        Manage RuleSet and RuleData classes through std::unique_ptr instead of OwnPtr
11274        https://bugs.webkit.org/show_bug.cgi?id=128116
11275
11276        Reviewed by Darin Adler.
11277
11278        Replace uses of OwnPtr for the RuleSet and RuleData classes with std::unique_ptr.
11279
11280        * css/CSSDefaultStyleSheets.cpp:
11281        (WebCore::CSSDefaultStyleSheets::loadFullDefaultStyle):
11282        (WebCore::CSSDefaultStyleSheets::loadSimpleDefaultStyle):
11283        (WebCore::CSSDefaultStyleSheets::viewSourceStyle):
11284        * css/DocumentRuleSets.cpp:
11285        (WebCore::DocumentRuleSets::initUserStyle):
11286        (WebCore::makeRuleSet):
11287        (WebCore::DocumentRuleSets::resetAuthorStyle):
11288        * css/DocumentRuleSets.h:
11289        * css/RuleSet.cpp:
11290        (WebCore::RuleSet::addToRuleSet):
11291        (WebCore::RuleSet::addRegionRule):
11292        * css/RuleSet.h:
11293        (WebCore::RuleSet::RuleSetSelectorPair::RuleSetSelectorPair):
11294
112952014-02-04  Commit Queue  <commit-queue@webkit.org>
11296
11297        Unreviewed, rolling out r163376.
11298        http://trac.webkit.org/changeset/163376
11299        https://bugs.webkit.org/show_bug.cgi?id=128184
11300
11301        Unexpected test failures. (Requested by eric_carlson on
11302        #webkit).
11303
11304        * WebCore.exp.in:
11305        * html/HTMLMediaElement.cpp:
11306        (WebCore::HTMLMediaElement::parseAttribute):
11307        * html/HTMLMediaElement.h:
11308        * html/HTMLMediaSession.cpp:
11309        (WebCore::HTMLMediaSession::addBehaviorRestriction):
11310        (WebCore::HTMLMediaSession::removeBehaviorRestriction):
11311        (WebCore::HTMLMediaSession::clientWillBeginPlayback):
11312        * html/HTMLMediaSession.h:
11313        * platform/audio/MediaSession.cpp:
11314        (WebCore::MediaSession::MediaSession):
11315        (WebCore::MediaSession::beginInterruption):
11316        (WebCore::MediaSession::endInterruption):
11317        * platform/audio/MediaSession.h:
11318        (WebCore::MediaSession::mediaType):
11319        (WebCore::MediaSession::setState):
11320        (WebCore::MediaSessionClient::beginInterruption):
11321        (WebCore::MediaSessionClient::endInterruption):
11322        * platform/audio/MediaSessionManager.cpp:
11323        (WebCore::MediaSessionManager::MediaSessionManager):
11324        (WebCore::MediaSessionManager::beginInterruption):
11325        (WebCore::MediaSessionManager::endInterruption):
11326        (WebCore::MediaSessionManager::addSession):
11327        * platform/audio/MediaSessionManager.h:
11328        * platform/audio/ios/MediaSessionManagerIOS.h:
11329        (WebCore::MediaSessionManageriOS::~MediaSessionManageriOS):
11330        * platform/audio/ios/MediaSessionManagerIOS.mm:
11331        (WebCore::MediaSessionManageriOS::resetRestrictions):
11332        (-[WebMediaSessionHelper initWithCallback:]):
11333        * platform/audio/mac/AudioDestinationMac.h:
11334        * testing/Internals.cpp:
11335        (WebCore::Internals::setMediaSessionRestrictions):
11336        * testing/Internals.h:
11337        * testing/Internals.idl:
11338
113392014-02-04  Eric Carlson  <eric.carlson@apple.com>
11340
11341        Refine MediaSession interruptions
11342        https://bugs.webkit.org/show_bug.cgi?id=128125
11343
11344        Reviewed by Jer Noble.
11345
11346        Test: media/video-background-playback.html
11347
11348        * WebCore.exp.in: Export applicationWillEnterForeground and applicationWillEnterBackground for
11349            Internals.
11350
11351        * html/HTMLMediaElement.cpp:
11352        (WebCore::HTMLMediaElement::play): Ask the media session if playback is allowed instead of check
11353            to see if it is interrupted directly.
11354        (WebCore::HTMLMediaElement::pause): Ask the media session if pausing is allowed instead of check
11355            to see if it is interrupted directly.
11356        (WebCore::HTMLMediaElement::mediaType): Return media type based on media characteristics once
11357            the information is available.
11358        (WebCore::HTMLMediaElement::resumePlayback): New.
11359        * html/HTMLMediaElement.h:
11360
11361        * html/HTMLMediaSession.cpp:
11362        (WebCore::restrictionName): New, use for logging only.
11363        (WebCore::HTMLMediaSession::addBehaviorRestriction): Log  restriction changes.
11364        (WebCore::HTMLMediaSession::removeBehaviorRestriction): Ditto.
11365        * html/HTMLMediaSession.h:
11366
11367        * platform/audio/MediaSession.cpp:
11368        (WebCore::stateName): New, used for logging.
11369        (WebCore::MediaSession::MediaSession): Don't cache client media type because it can change.
11370        (WebCore::MediaSession::setState): Log state changes.
11371        (WebCore::MediaSession::beginInterruption): Remember the current state in case we want to use it
11372            to restore state when the interruption ends.
11373        (WebCore::MediaSession::endInterruption): Resume playback if appropriate.
11374        (WebCore::MediaSession::clientWillBeginPlayback): Track the client's playback state.
11375        (WebCore::MediaSession::clientWillPausePlayback): Ditto.
11376        (WebCore::MediaSession::mediaType): Ask client for state.
11377        * platform/audio/MediaSession.h:
11378
11379        * platform/audio/MediaSessionManager.cpp:
11380        (WebCore::MediaSessionManager::MediaSessionManager): m_interruptions -> m_interrupted.
11381        (WebCore::MediaSessionManager::beginInterruption): Don't assume interruptions are always balanced.
11382        (WebCore::MediaSessionManager::endInterruption): Ditto.
11383        (WebCore::MediaSessionManager::addSession): 
11384        (WebCore::MediaSessionManager::applicationWillEnterBackground): Interrupt client if it is not
11385            allowed to play in the background.
11386        (WebCore::MediaSessionManager::applicationWillEnterForeground): End client interruption if it
11387            was stopped by an interruption.
11388        * platform/audio/MediaSessionManager.h:
11389
11390        * platform/audio/ios/MediaSessionManagerIOS.h:
11391        * platform/audio/ios/MediaSessionManagerIOS.mm:
11392        (WebCore::MediaSessionManageriOS::~MediaSessionManageriOS): Clear the helper callback.
11393        (WebCore::MediaSessionManageriOS::resetRestrictions): Mark video as not allowed to play
11394            while the application is in the background. Register for application suspend/resume
11395            notifications.
11396        (-[WebMediaSessionHelper clearCallback]): Set _callback to nil.
11397        (-[WebMediaSessionHelper applicationWillEnterForeground:]): New, notify client of application 
11398            state change.
11399        (-[WebMediaSessionHelper applicationWillResignActive:]): Ditto.
11400
11401        * platform/audio/mac/AudioDestinationMac.h: Add resumePlayback.
11402
11403        * testing/Internals.cpp:
11404        (WebCore::Internals::applicationWillEnterForeground): New, simulate application context switch.
11405        (WebCore::Internals::applicationWillEnterBackground): Ditto.
11406        (WebCore::Internals::setMediaSessionRestrictions): Add "BackgroundPlaybackNotPermitted" restriction.
11407        * testing/Internals.h:
11408        * testing/Internals.idl:
11409
114102014-02-04  Mihai Maerean  <mmaerean@adobe.com>
11411
11412        [CSS Regions] Fix Assert SHOULD NEVER BE REACHED in RenderLayer::enclosingElement()
11413        https://bugs.webkit.org/show_bug.cgi?id=123329
11414
11415        Reviewed by Mihnea Ovidenie.
11416
11417        The flowthread doesn't have an enclosing element, so when hitting the layer of the
11418        flowthread (e.g. the descent area of the RootInlineBox for the image flowed alone
11419        inside the flow thread) we're letting the hit testing continue so it will hit the region.
11420
11421        Tests: fast/regions/assert-hit-test-image.html
11422               fast/regions/auto-size/region-same-height-as-div-with-inline-child.html
11423
11424        * rendering/RenderLayer.cpp:
11425        (WebCore::RenderLayer::hitTestContents):
11426
114272014-02-04  Mihnea Ovidenie  <mihnea@adobe.com>
11428
11429        ASSERTION FAILED: !object || (object->isRenderBlock())
11430        https://bugs.webkit.org/show_bug.cgi?id=127687
11431
11432        Reviewed by Ryosuke Niwa.
11433
11434        Currently, when computing the visible position for a point inside a region,
11435        we transform the point into flow thread coordinates and delegate the processing
11436        to the first child of the flow thread which we incorrectly assume is a block.
11437        However, we can specify flow-into also on inline elements which leads to the
11438        assertion.
11439
11440        Instead of delegating the processing to the first child when the flow thread
11441        has children, delegate the computation of the visible position to the
11442        flow thread and avoid any assumption about the nature of the flow thread
11443        first child. If the flow thread does not have any children that should be
11444        rendered by the region, let the region behave like an ordinary element
11445        with no children.
11446
11447        Tests: fast/regions/selection/position-for-point-inline-content-node.html
11448               fast/regions/selection/selection-ended-in-empty-region.html
11449
11450        * rendering/RenderRegion.cpp:
11451        (WebCore::RenderRegion::positionForPoint):
11452
114532014-02-03  Andreas Kling  <akling@apple.com>
11454
11455        Remove stray vestige from ::-webkit-distributed selector.
11456        <https://webkit.org/b/128154>
11457
11458        Reviewed by Anders Carlsson.
11459
11460        * css/CSSSelector.cpp:
11461        (WebCore::CSSSelector::extractPseudoType):
11462
114632014-02-03  Andreas Kling  <akling@apple.com>
11464
11465        Remove the CSS @host rule.
11466        <https://webkit.org/b/128146>
11467
11468        The @host rule is no longer part of the spec, and besides this code
11469        was behind ENABLE(SHADOW_DOM) so nobody was building it.
11470
11471        Reviewed by Anders Carlsson.
11472
11473        * CMakeLists.txt:
11474        * DerivedSources.cpp:
11475        * DerivedSources.make:
11476        * GNUmakefile.list.am:
11477        * WebCore.vcxproj/WebCore.vcxproj:
11478        * WebCore.vcxproj/WebCore.vcxproj.filters:
11479        * WebCore.xcodeproj/project.pbxproj:
11480        * bindings/js/JSCSSRuleCustom.cpp:
11481        (WebCore::toJS):
11482        * bindings/objc/DOMCSS.mm:
11483        (kitClass):
11484        * css/CSSAllInOne.cpp:
11485        * css/CSSGrammar.y.in:
11486        * css/CSSHostRule.cpp: Removed.
11487        * css/CSSHostRule.h: Removed.
11488        * css/CSSHostRule.idl: Removed.
11489        * css/CSSParser.cpp:
11490        (WebCore::CSSParser::detectDashToken):
11491        (WebCore::CSSParser::detectAtToken):
11492        * css/CSSParser.h:
11493        * css/CSSRule.h:
11494        * css/CSSRule.idl:
11495        * css/InspectorCSSOMWrappers.cpp:
11496        (WebCore::InspectorCSSOMWrappers::collect):
11497        * css/StyleResolver.h:
11498        * css/StyleRule.cpp:
11499        (WebCore::StyleRuleBase::destroy):
11500        (WebCore::StyleRuleBase::copy):
11501        (WebCore::StyleRuleBase::createCSSOMWrapper):
11502        * css/StyleRule.h:
11503        * css/StyleSheetContents.cpp:
11504        (WebCore::childRulesHaveFailedOrCanceledSubresources):
11505        * inspector/InspectorStyleSheet.cpp:
11506        (flattenSourceData):
11507        (WebCore::asCSSRuleList):
11508
115092014-02-03  Zalan Bujtas  <zalan@apple.com>
11510
11511        Subpixel rendering: Do not query the scaling factor when the graphics context is invalid.
11512        https://bugs.webkit.org/show_bug.cgi?id=128131
11513
11514        Reviewed by Simon Fraser.
11515
11516        No existing context to test it.
11517
11518        * platform/graphics/GraphicsContext.h:
11519        * platform/graphics/cairo/GraphicsContextCairo.cpp:
11520        (WebCore::GraphicsContext::platformInit):
11521        * platform/graphics/cg/GraphicsContextCG.cpp:
11522        (WebCore::GraphicsContext::platformInit):
11523        * platform/graphics/wince/GraphicsContextWinCE.cpp:
11524        (WebCore::GraphicsContext::platformInit):
11525
115262014-02-03  Hunseop Jeong  <hs85.jeong@samsung.com>
11527
11528        [Cairo] GraphicsContext::m_pixelSnappingFactor is uninitialized
11529        https://bugs.webkit.org/show_bug.cgi?id=128102
11530
11531        Reviewed by Csaba Osztrogonác.
11532
11533        Initalize m_pixelSnappingFactor to 1
11534
11535        * platform/graphics/cairo/GraphicsContextCairo.cpp:
11536        (WebCore::GraphicsContext::GraphicsContext): Initialized pixelSnappingFactor to 1 and 
11537        fixed the coding style violation.
11538
115392014-02-03  Brian Burg  <bburg@apple.com>
11540
11541        Web Replay: upstream base input classes and the input cursor interface
11542        https://bugs.webkit.org/show_bug.cgi?id=128110
11543
11544        Reviewed by Joseph Pecoraro.
11545
11546        Add EventLoopInput, a base class for replay inputs that are handled
11547        as if they begin a new run loop. For example, navigations, user input,
11548        network callbacks, and asynchronous timers are modeled by inputs which
11549        derive from this base class.
11550
11551        Add the ability to set an InputCursor instance on a Document. This
11552        is the means for connecting a replay recording to a document context.
11553
11554        Add forwarding headers for some fundamental replay classes.
11555
11556        No new tests; no new functionality is exposed.
11557
11558        * ForwardingHeaders/replay/EmptyInputCursor.h: Added.
11559        * ForwardingHeaders/replay/InputCursor.h: Added.
11560        * ForwardingHeaders/replay/NondeterministicInput.h: Added.
11561        * WebCore.xcodeproj/project.pbxproj:
11562        * dom/Document.cpp:
11563        (WebCore::Document::Document):
11564        * dom/Document.h:
11565        (WebCore::Document::inputCursor):
11566        (WebCore::Document::setInputCursor):
11567        * replay/EventLoopInput.h: Added.
11568        (WebCore::ReplayPosition::ReplayPosition):
11569        (WebCore::ReplayPosition::index):
11570        (WebCore::ReplayPosition::time):
11571        (WebCore::EventLoopInputBase::EventLoopInputBase):
11572        (WebCore::EventLoopInputBase::~EventLoopInputBase):
11573        (WebCore::EventLoopInputBase::setPosition):
11574        (WebCore::EventLoopInputBase::position):
11575
115762014-02-03  Jinwoo Song  <jinwoo7.song@samsung.com>
11577
11578        Remove unused code in CSSParser.cpp
11579        https://bugs.webkit.org/show_bug.cgi?id=128135
11580
11581        Reviewed by Darin Adler.
11582
11583        * css/CSSParser.cpp:
11584        (WebCore::CSSParser::parseValue):
11585
115862014-02-03  Brent Fulgham  <bfulgham@apple.com>
11587
11588        [Mac] WK1 Clients Only Latch on Momentum Scroll
11589        https://bugs.webkit.org/show_bug.cgi?id=128133
11590
11591        Reviewed by Simon Fraser.
11592
11593        * platform/PlatformWheelEvent.h:
11594        (WebCore::PlatformWheelEvent::useLatchedEventElement): Update
11595        predicate to recognize the start and change phases of the wheel
11596        event as latchable (not just momentum start/change).
11597
115982014-02-03  Dean Jackson  <dino@apple.com>
11599
11600        Feature flag for shape-inside
11601        https://bugs.webkit.org/show_bug.cgi?id=128001
11602
11603        Reviewed by Simon Fraser.
11604
11605        Add CSS_SHAPE_INSIDE flag.
11606
11607        I wrapped everything that is specific to shape-inside in
11608        this flag. It is now possible to build with CSS Shapes enabled
11609        but shape-inside disabled. CSS_SHAPE_INSIDE is dependent on
11610        CSS_SHAPES, so disabling the latter should also disable the former.
11611
11612        * Configurations/FeatureDefines.xcconfig:
11613        * css/CSSComputedStyleDeclaration.cpp:
11614        (WebCore::ComputedStyleExtractor::propertyValue):
11615        * css/CSSParser.cpp:
11616        (WebCore::CSSParser::parseValue):
11617        (WebCore::CSSParser::parseShapeProperty):
11618        * css/CSSPropertyNames.in:
11619        * css/DeprecatedStyleBuilder.cpp:
11620        (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
11621        * css/StyleResolver.cpp:
11622        (WebCore::StyleResolver::applyProperty):
11623        (WebCore::StyleResolver::loadPendingImages):
11624        * page/animation/CSSPropertyAnimation.cpp:
11625        (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
11626        * rendering/LayoutState.cpp:
11627        (WebCore::LayoutState::LayoutState):
11628        * rendering/LayoutState.h:
11629        (WebCore::LayoutState::LayoutState):
11630        * rendering/RenderBlock.cpp:
11631        (WebCore::RenderBlock::styleDidChange):
11632        (WebCore::RenderBlock::updateShapesBeforeBlockLayout):
11633        (WebCore::RenderBlock::updateShapesAfterBlockLayout):
11634        * rendering/RenderBlock.h:
11635        * rendering/RenderBlockFlow.cpp:
11636        (WebCore::RenderBlockFlow::layoutBlockChild):
11637        (WebCore::RenderBlockFlow::computeLogicalLocationForFloat):
11638        * rendering/RenderBlockFlow.h:
11639        * rendering/RenderBlockLineLayout.cpp:
11640        (WebCore::RenderBlockFlow::computeInlineDirectionPositionsForLine):
11641        (WebCore::constructBidiRunsForLine):
11642        (WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):
11643        * rendering/RenderElement.cpp:
11644        (WebCore::RenderElement::~RenderElement):
11645        (WebCore::RenderElement::initializeStyle):
11646        (WebCore::RenderElement::setStyle):
11647        * rendering/RenderNamedFlowFragment.cpp:
11648        (WebCore::RenderNamedFlowFragment::createStyle):
11649        * rendering/RenderView.h:
11650        * rendering/SimpleLineLayout.cpp:
11651        (WebCore::SimpleLineLayout::canUseFor):
11652        * rendering/line/BreakingContextInlineHeaders.h:
11653        (WebCore::BreakingContext::handleText):
11654        (WebCore::BreakingContext::handleEndOfLine):
11655        * rendering/line/LineBreaker.cpp:
11656        (WebCore::LineBreaker::nextLineBreak):
11657        * rendering/line/LineWidth.cpp:
11658        (WebCore::LineWidth::LineWidth):
11659        (WebCore::LineWidth::updateAvailableWidth):
11660        (WebCore::LineWidth::fitBelowFloats):
11661        * rendering/line/LineWidth.h:
11662        * rendering/shapes/ShapeInsideInfo.cpp:
11663        * rendering/shapes/ShapeInsideInfo.h:
11664        * rendering/style/RenderStyle.cpp:
11665        (WebCore::RenderStyle::changeRequiresLayout):
11666        * rendering/style/RenderStyle.h:
11667        * rendering/style/StyleRareNonInheritedData.cpp:
11668        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
11669        (WebCore::StyleRareNonInheritedData::operator==):
11670        * rendering/style/StyleRareNonInheritedData.h:
11671
116722014-02-03  Radu Stavila  <stavila@adobe.com>
11673
11674        REGRESSION (r163018): Can’t scroll in <select> lists
11675        https://bugs.webkit.org/show_bug.cgi?id=128090
11676
11677        The regression was caused by the fact that a new method scrollWithWheelEventLocation() was added
11678        to RenderBox to replace the generic scroll() method for the particular case of scrolling using 
11679        the mouse wheel. This turned out to be a mistake because in the case of some elements, like select lists, 
11680        the scroll method was overriden and now the incorrect method was being called.
11681        The solution was to remove the new method and just add two default parameters to the generic
11682        scroll method.
11683
11684        Reviewed by Simon Fraser.
11685
11686        Test: fast/scrolling/scroll-select-list.html
11687
11688        * page/EventHandler.cpp:
11689        (WebCore::scrollNode):
11690        * rendering/RenderBox.cpp:
11691        (WebCore::RenderBox::scroll):
11692        * rendering/RenderBox.h:
11693        * rendering/RenderEmbeddedObject.cpp:
11694        (WebCore::RenderEmbeddedObject::scroll):
11695        * rendering/RenderEmbeddedObject.h:
11696        * rendering/RenderListBox.cpp:
11697        (WebCore::RenderListBox::scroll):
11698        * rendering/RenderListBox.h:
11699        * rendering/RenderTextControlSingleLine.cpp:
11700        (WebCore::RenderTextControlSingleLine::scroll):
11701        * rendering/RenderTextControlSingleLine.h:
11702
117032014-02-03  Chris Fleizach  <cfleizach@apple.com>
11704
11705        AX: WebKit should support @headers/@id for complex accessible web tables
11706        https://bugs.webkit.org/show_bug.cgi?id=128114
11707
11708        Reviewed by Darin Adler.
11709
11710        Expose the headers attribute for table cells to accessibility.
11711
11712        Test: platform/mac/accessibility/table-headers-attribute.html
11713
11714        * accessibility/AccessibilityTableCell.cpp:
11715        (WebCore::AccessibilityTableCell::columnHeaders):
11716
117172014-02-03  Andreas Kling  <akling@apple.com>
11718
11719        CTTE: RenderSVGGradientStop always has a SVGStopElement.
11720        <https://webkit.org/b/128107>
11721
11722        RenderSVGGradientStop is never anonymous and always has a
11723        corresponding SVGStopElement. Codify this by adding an element()
11724        overload that returns an SVGStopElement&.
11725
11726        Also added missing overrides and made most functions private.
11727
11728        Reviewed by Darin Adler.
11729
11730        * rendering/svg/RenderSVGGradientStop.cpp:
11731        (WebCore::RenderSVGGradientStop::styleDidChange):
11732        (WebCore::RenderSVGGradientStop::gradientElement):
11733        * rendering/svg/RenderSVGGradientStop.h:
11734        * rendering/svg/SVGRenderTreeAsText.cpp:
11735        (WebCore::writeSVGGradientStop):
11736
117372014-02-03  David Kilzer  <ddkilzer@apple.com>
11738
11739        Remove CachedImageManual class
11740        <http://webkit.org/b/128043>
11741
11742        Reviewed by Darin Adler.
11743
11744        Get rid of the CachedImageManual class by inlining its
11745        functionality into CachedImage.  This makes it possible to
11746        de-virtual-ize isManual() (renamed to isManuallyCached()) and to
11747        make CachedImage final.  The size of CachedImage does not
11748        increase because we turn an existing bool into a bitfield to add
11749        an m_isManuallyCached bit, and create a static CachedImageClient
11750        in MemoryCache.cpp as the "fake" client to keep the manually
11751        cached image alive in the cache.
11752
11753        * loader/cache/CachedImage.cpp:
11754        (WebCore::CachedImage::CachedImage): Set m_isManuallyCached
11755        bitfield.  For one overloaded constructor, move the
11756        CachedImageManual code into the CachedImage constructor.
11757        (WebCore::CachedImageManual::CachedImageManual): Remove.
11758        (WebCore::CachedImage::mustRevalidateDueToCacheHeaders): Move
11759        method from CachedImageManual to CachedImage, and put
11760        ManuallyCached behavior behind a check.
11761        * loader/cache/CachedImage.h: Update includes.  Make CachedImage
11762        final.  Add CachedImage::CacheBehaviorType enum when manually
11763        cached images are created.  Move CachedImageManual methods into
11764        CachedImage, remove addFakeClient() and removeFakeClient()
11765        methods (MemoryCache methods use addClient() and removeClient()
11766        with a static CachedImageClient), and remove the
11767        CachedImageManual class definition.  Change
11768        m_shouldPaintBrokenImage to a bitfield and add
11769        m_isManuallyCached bitfield.
11770
11771        * loader/cache/MemoryCache.cpp:
11772        (WebCore::MemoryCache::addImageToCache): Use std::unique_ptr and
11773        remove useless NULL check after calling CachedImage constructor.
11774        (WebCore::MemoryCache::removeImageFromCache):
11775        - Update to use CachedImage class instead of CachedImageManual.
11776
117772014-02-03  Zan Dobersek  <zdobersek@igalia.com>
11778
11779        Move the webdatabase module source code to std::unique_ptr
11780        https://bugs.webkit.org/show_bug.cgi?id=127278
11781
11782        Reviewed by Antti Koivisto.
11783
11784        Replace the majority of OwnPtr uses in the webdatabase module with std::unique_ptr.
11785        The only remaining uses are due to ScriptExecutionContext::Task subclasses.
11786
11787        * Modules/webdatabase/AbstractSQLTransactionBackend.h:
11788        * Modules/webdatabase/Database.cpp:
11789        * Modules/webdatabase/DatabaseTask.h:
11790        * Modules/webdatabase/DatabaseThread.cpp:
11791        (WebCore::DatabaseThread::DatabaseThread):
11792        * Modules/webdatabase/DatabaseThread.h:
11793        * Modules/webdatabase/DatabaseTracker.cpp:
11794        (WebCore::DatabaseTracker::addOpenDatabase):
11795        * Modules/webdatabase/DatabaseTracker.h:
11796        * Modules/webdatabase/OriginLock.cpp:
11797        * Modules/webdatabase/SQLStatement.cpp:
11798        * Modules/webdatabase/SQLStatement.h:
11799        * Modules/webdatabase/SQLStatementBackend.cpp:
11800        (WebCore::SQLStatementBackend::create):
11801        (WebCore::SQLStatementBackend::SQLStatementBackend):
11802        * Modules/webdatabase/SQLStatementBackend.h:
11803        * Modules/webdatabase/SQLTransaction.cpp:
11804        (WebCore::SQLTransaction::executeSQL):
11805        * Modules/webdatabase/SQLTransactionBackend.cpp:
11806        (WebCore::SQLTransactionBackend::doCleanup):
11807        (WebCore::SQLTransactionBackend::computeNextStateAndCleanupIfNeeded):
11808        (WebCore::SQLTransactionBackend::executeSQL):
11809        (WebCore::SQLTransactionBackend::openTransactionAndPreflight):
11810        (WebCore::SQLTransactionBackend::cleanupAfterTransactionErrorCallback):
11811        * Modules/webdatabase/SQLTransactionBackend.h:
11812        * Modules/webdatabase/SQLTransactionBackendSync.cpp:
11813        (WebCore::SQLTransactionBackendSync::SQLTransactionBackendSync):
11814        (WebCore::SQLTransactionBackendSync::begin):
11815        (WebCore::SQLTransactionBackendSync::commit):
11816        (WebCore::SQLTransactionBackendSync::rollback):
11817        * Modules/webdatabase/SQLTransactionBackendSync.h:
11818
118192014-02-03  Andreas Kling  <akling@apple.com>
11820
11821        CTTE: Grab bag of SVGRenderTreeAsText cleanups.
11822        <https://webkit.org/b/128099>
11823
11824        Made some of the DRT SVG functions take more specific types than
11825        RenderObject. Removed some redundant casts.
11826
11827        Reviewed by Anders Carlsson.
11828
11829        * rendering/RenderTreeAsText.cpp:
11830        (WebCore::write):
11831        * rendering/svg/SVGRenderTreeAsText.h:
11832        * rendering/svg/SVGRenderTreeAsText.cpp:
11833        (WebCore::writeSVGResourceContainer):
11834        (WebCore::writeSVGContainer):
11835
11836            Make writeSVGResourceContainer() and writeSVGContainer() take the
11837            final type instead of RenderObject.
11838
11839        (WebCore::writeStyle):
11840        (WebCore::writePositionAndStyle):
11841
11842            Make these take RenderElement instead of RenderObject.
11843
11844        (WebCore::writeChildren):
11845
11846            Use child renderer iterator.
11847
11848        (WebCore::writeResources):
11849
11850            Remove unnecessary cast.
11851
118522014-01-25  Darin Adler  <darin@apple.com>
11853
11854        Stop using Unicode.h
11855        https://bugs.webkit.org/show_bug.cgi?id=127633
11856
11857        Reviewed by Anders Carlsson.
11858
11859        * Modules/indexeddb/IDBKeyPath.cpp:
11860        * css/CSSFontFace.h:
11861        * css/CSSOMUtils.h:
11862        * css/CSSSegmentedFontFace.h:
11863        * css/CSSUnicodeRangeValue.h:
11864        * editing/Editor.cpp:
11865        * editing/SmartReplace.h:
11866        * html/parser/HTMLTokenizer.cpp:
11867        * loader/DocumentLoader.cpp:
11868        * page/ContextMenuController.cpp:
11869        * page/Settings.h:
11870        * platform/DateComponents.h:
11871        * platform/SharedBuffer.cpp:
11872        * platform/graphics/Color.h:
11873        * platform/graphics/FontCache.h:
11874        * platform/graphics/FontData.h:
11875        * platform/graphics/FontDescription.h:
11876        * platform/graphics/FontFastPath.cpp:
11877        * platform/graphics/FontGenericFamilies.h:
11878        * platform/graphics/FontGlyphs.cpp:
11879        * platform/graphics/GlyphMetricsMap.h:
11880        * platform/graphics/GlyphPage.h:
11881        * platform/graphics/GlyphPageTreeNode.cpp:
11882        * platform/graphics/GlyphPageTreeNode.h:
11883        * platform/graphics/SVGGlyph.cpp:
11884        * platform/graphics/WidthIterator.h:
11885        * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
11886        * platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
11887        * platform/graphics/mac/ComplexTextController.h:
11888        * platform/graphics/win/QTMovie.h:
11889        * platform/graphics/wince/FontWinCE.cpp:
11890        * platform/text/BidiContext.h:
11891        * platform/text/Hyphenation.h:
11892        * platform/text/LocaleToScriptMapping.h:
11893        * platform/text/TextBoundaries.cpp:
11894        * platform/text/TextBoundaries.h:
11895        * platform/text/TextBreakIterator.h:
11896        * platform/text/TextCodec.h:
11897        * platform/text/TextEncoding.h:
11898        * platform/text/TextEncodingRegistry.h:
11899        * platform/text/TextStream.h:
11900        * platform/text/icu/UTextProvider.h:
11901        * platform/text/icu/UTextProviderLatin1.h:
11902        * platform/text/icu/UTextProviderUTF16.h:
11903        * platform/text/wchar/TextBreakIteratorWchar.cpp:
11904        * platform/win/WebCoreTextRenderer.cpp:
11905        * rendering/RootInlineBox.cpp:
11906        * rendering/SimpleLineLayout.cpp:
11907        * rendering/SimpleLineLayoutFunctions.cpp:
11908        * rendering/break_lines.h:
11909        * svg/SVGFontData.cpp:
11910        Removed includes of <wtf/unicode/Unicode.h>, adding includes of
11911        ICU headers and <wtf/text/LChar.h> as needed to replace it.
11912
119132014-02-03  Jessie Berlin  <jberlin@apple.com>
11914
11915        Revert r163299 since it broke the ML 32-bit Release build
11916
11917        * html/HTMLAnchorElement.cpp:
11918        (WebCore::parsePortFromStringPosition):
11919        (WebCore::HTMLAnchorElement::hash):
11920        (WebCore::HTMLAnchorElement::setHash):
11921        (WebCore::HTMLAnchorElement::host):
11922        (WebCore::HTMLAnchorElement::setHost):
11923        (WebCore::HTMLAnchorElement::hostname):
11924        (WebCore::HTMLAnchorElement::setHostname):
11925        (WebCore::HTMLAnchorElement::pathname):
11926        (WebCore::HTMLAnchorElement::setPathname):
11927        (WebCore::HTMLAnchorElement::port):
11928        (WebCore::HTMLAnchorElement::setPort):
11929        (WebCore::HTMLAnchorElement::protocol):
11930        (WebCore::HTMLAnchorElement::setProtocol):
11931        (WebCore::HTMLAnchorElement::search):
11932        (WebCore::HTMLAnchorElement::origin):
11933        (WebCore::HTMLAnchorElement::setSearch):
11934        (WebCore::HTMLAnchorElement::toString):
11935        * html/HTMLAnchorElement.h:
11936        * html/HTMLAnchorElement.idl:
11937        * html/HTMLAreaElement.idl:
11938        * html/URLUtils.idl:
11939
119402014-02-03  Mihai Maerean  <mmaerean@adobe.com>
11941
11942        [CSS Regions] Fix selection and hover effect of content in region with overflow:hidden
11943        https://bugs.webkit.org/show_bug.cgi?id=127101
11944
11945        Reviewed by Mihnea Ovidenie.
11946
11947        RenderNamedFlowFragments are not hit candidates. The hit test algorithm will pick the
11948        parent layer, the one of the region.
11949
11950        Test: fast/regions/hover-overflow-hidden.html
11951
11952        * rendering/RenderLayer.cpp:
11953        (WebCore::isHitCandidate):
11954
119552014-02-02  Maciej Stachowiak  <mjs@apple.com>
11956
11957        Adopt URLUtils interface and template in HTMLAnchorElement and HTMLAreaElement
11958        https://bugs.webkit.org/show_bug.cgi?id=128067
11959
11960        Reviewed by Antti Koivisto.
11961
11962        Tests: fast/dom/HTMLAnchorElement/anchor-password.html
11963               fast/dom/HTMLAnchorElement/anchor-username.html
11964               fast/dom/HTMLAreaElement/area-password.html
11965               fast/dom/HTMLAreaElement/area-username.html
11966
11967        * html/HTMLAnchorElement.cpp:
11968        * html/HTMLAnchorElement.h:
11969        (WebCore::HTMLAnchorElement::setHref): Add version that takes
11970        (and ignores) ExceptionCode. This is needed because the URLUtil
11971        base interface is used for URL, which can throw an exception,
11972        and HTMLAnchorElement, which cannot.
11973        * html/HTMLAnchorElement.idl: implement URLUtils
11974        * html/HTMLAreaElement.idl: implement URLUtils
11975        * html/URLUtils.idl: Treat null as empty string for href
11976
119772014-02-03  Krzysztof Czech  <k.czech@samsung.com>
11978
11979        [ATK] Expose aria-controls through ATK_RELATION_CONTROLLER_FOR
11980        https://bugs.webkit.org/show_bug.cgi?id=127908
11981
11982        Reviewed by Chris Fleizach.
11983
11984        Based on w3c, aria-controls could be exposed through ATK_RELATION_CONTROLLER_FOR.
11985
11986        Test: accessibility/aria-controls.html
11987
11988        * accessibility/AccessibilityObject.h:
11989        (WebCore::AccessibilityObject::supportsARIAControls):
11990        (WebCore::AccessibilityObject::ariaControlsElements):
11991        * accessibility/AccessibilityRenderObject.cpp:
11992        (WebCore::AccessibilityRenderObject::supportsARIAFlowTo):
11993        (WebCore::AccessibilityRenderObject::supportsARIAControls):
11994        (WebCore::AccessibilityRenderObject::ariaControlsElements):
11995        * accessibility/AccessibilityRenderObject.h:
11996        * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
11997        (setAtkRelationSetFromCoreObject):
11998
119992014-02-03  Andreas Kling  <akling@apple.com>
12000
12001        RenderSVGResource::removeClientFromCache() should take RenderElement&.
12002        <https://webkit.org/b/128097>
12003
12004        Text renderers never have resources associated with them.
12005        This is yet another step towards enforcing that at compile-time
12006        by making all the resource cache interfaces deal in RenderElement.
12007
12008        Also marked the RenderSVGResourceSolidColor class final.
12009
12010        Reviewed by Darin Adler.
12011
12012        * rendering/svg/RenderSVGResource.cpp:
12013        (WebCore::removeFromCacheAndInvalidateDependencies):
12014        (WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation):
12015        * rendering/svg/RenderSVGResource.h:
12016        * rendering/svg/RenderSVGResourceClipper.cpp:
12017        (WebCore::RenderSVGResourceClipper::removeClientFromCache):
12018        * rendering/svg/RenderSVGResourceClipper.h:
12019        * rendering/svg/RenderSVGResourceFilter.cpp:
12020        (WebCore::RenderSVGResourceFilter::removeClientFromCache):
12021        * rendering/svg/RenderSVGResourceFilter.h:
12022        * rendering/svg/RenderSVGResourceGradient.cpp:
12023        (WebCore::RenderSVGResourceGradient::removeClientFromCache):
12024        * rendering/svg/RenderSVGResourceGradient.h:
12025        * rendering/svg/RenderSVGResourceMarker.cpp:
12026        (WebCore::RenderSVGResourceMarker::removeClientFromCache):
12027        * rendering/svg/RenderSVGResourceMarker.h:
12028        * rendering/svg/RenderSVGResourceMasker.cpp:
12029        (WebCore::RenderSVGResourceMasker::removeClientFromCache):
12030        * rendering/svg/RenderSVGResourceMasker.h:
12031        * rendering/svg/RenderSVGResourcePattern.cpp:
12032        (WebCore::RenderSVGResourcePattern::removeClientFromCache):
12033        * rendering/svg/RenderSVGResourcePattern.h:
12034        * rendering/svg/RenderSVGResourceSolidColor.h:
12035        * rendering/svg/SVGRenderSupport.cpp:
12036        (WebCore::invalidateResourcesOfChildren):
12037        (WebCore::SVGRenderSupport::layoutChildren):
12038        * rendering/svg/SVGResources.cpp:
12039        (WebCore::SVGResources::removeClientFromCache):
12040        * rendering/svg/SVGResources.h:
12041
120422014-02-03  Dan Bernstein  <mitz@apple.com>
12043
12044        More iOS build fixing.
12045
12046        * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
12047        (-[WebAccessibilityObjectWrapper arrayOfTextForTextMarkers:attributed:]):
12048        * html/parser/HTMLTreeBuilder.cpp:
12049        (WebCore::HTMLTreeBuilder::linkifyPhoneNumbers):
12050        * page/ios/FrameIOS.mm:
12051        (WebCore::Frame::interpretationsForCurrentRoot):
12052
120532014-02-03  Darin Adler  <darin@apple.com>
12054
12055        Try to fix iOS build.
12056
12057        * html/BaseDateAndTimeInputType.cpp:
12058        (WebCore::BaseDateAndTimeInputType::parseToDateComponents):
12059        Use deprecatedCharacters.
12060
120612014-02-02  Darin Adler  <darin@apple.com>
12062
12063        Obey "delete this" comments, including deleting String::characters and friends
12064        https://bugs.webkit.org/show_bug.cgi?id=126865
12065
12066        Reviewed by Andreas Kling.
12067
12068        * CMakeLists.txt: Deleted HTMLParserErrorCodes.cpp.
12069        * GNUmakefile.list.am: Deleted HTMLParserErrorCodes.cpp/h, and HTMLParserQuirks.h.
12070        * WebCore.vcxproj/WebCore.vcxproj: Deleted HTMLParserErrorCodes.cpp/h.
12071        * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
12072        * WebCore.xcodeproj/project.pbxproj: Ditto.
12073
12074        * html/HTMLParserErrorCodes.cpp: Removed.
12075        * html/HTMLParserErrorCodes.h: Removed.
12076        * html/HTMLParserQuirks.h: Removed.
12077
12078        * rendering/RenderText.h: Deleted the characters function, leaving behind the
12079        deprecatedCharacters function.
12080
120812014-02-02  Brady Eidson  <beidson@apple.com>
12082
12083        IDB: Cannot open new databases with the default version
12084        https://bugs.webkit.org/show_bug.cgi?id=128096
12085
12086        Reviewed by Tim Horton.
12087
12088        * Modules/indexeddb/IDBDatabaseBackend.cpp:
12089        (WebCore::IDBDatabaseBackend::openConnectionInternal): Update logic to handle the
12090          current version being NoIntVersion.
12091
12092        * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
12093        (WebCore::IDBDatabaseBackend::VersionChangeOperation::perform): Update ASSERT.
12094
120952014-02-02  Darin Adler  <darin@apple.com>
12096
12097        Fix context save/restore mistake spotted in SVGInlineTextBox::paintTextWithShadows
12098        https://bugs.webkit.org/show_bug.cgi?id=128095
12099
12100        Reviewed by Andreas Kling.
12101
12102        * rendering/svg/SVGInlineTextBox.cpp:
12103        (WebCore::SVGInlineTextBox::paintTextWithShadows): Move calls to GraphicsContext::restore
12104        and GraphicsContext::clearShadow before restoreGraphicsContextAfterTextPainting, since that
12105        function can swap contexts.
12106
121072014-02-02  Andreas Kling  <akling@apple.com>
12108
12109        Modernize RenderSVGText::locateRenderSVGTextAncestor().
12110        <https://webkit.org/b/128093>
12111
12112        Make locateRenderSVGTextAncestor() take a reference, and simplify it
12113        internally with lineageOfType.
12114
12115        Switched callers to use 'auto' for the return type so we get some
12116        devirtualization freebies.
12117
12118        Reviewed by Anders Carlsson.
12119
12120        * rendering/svg/RenderSVGInline.cpp:
12121        (WebCore::RenderSVGInline::objectBoundingBox):
12122        (WebCore::RenderSVGInline::strokeBoundingBox):
12123        (WebCore::RenderSVGInline::repaintRectInLocalCoordinates):
12124        (WebCore::RenderSVGInline::absoluteQuads):
12125        (WebCore::RenderSVGInline::addChild):
12126        (WebCore::RenderSVGInline::removeChild):
12127        * rendering/svg/RenderSVGInlineText.cpp:
12128        (WebCore::RenderSVGInlineText::setTextInternal):
12129        (WebCore::RenderSVGInlineText::styleDidChange):
12130        * rendering/svg/RenderSVGResourceGradient.cpp:
12131        (WebCore::createMaskAndSwapContextForTextGradient):
12132        (WebCore::clipToTextMask):
12133        * rendering/svg/RenderSVGText.cpp:
12134        (WebCore::RenderSVGText::locateRenderSVGTextAncestor):
12135        * rendering/svg/RenderSVGText.h:
12136        (WebCore::RenderSVGText>):
12137        * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
12138        (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForTextRenderer):
12139        * rendering/svg/SVGTextMetricsBuilder.cpp:
12140        (WebCore::SVGTextMetricsBuilder::measureTextRenderer):
12141        * svg/SVGTextPositioningElement.cpp:
12142        (WebCore::SVGTextPositioningElement::svgAttributeChanged):
12143
121442014-02-02  Andreas Kling  <akling@apple.com>
12145
12146        Modernize the toRenderSVGResourceContainer() helper.
12147        <https://webkit.org/b/128091>
12148
12149        Make toRenderSVGResourceContainer() a free function like all the
12150        other casting helpers. Use references instead of pointers where
12151        applicable.
12152
12153        Reviewed by Anders Carlsson.
12154
12155        * rendering/RenderLayerFilterInfo.cpp:
12156        (WebCore::RenderLayer::FilterInfo::updateReferenceFilterClients):
12157        (WebCore::RenderLayer::FilterInfo::removeReferenceFilterClients):
12158        * rendering/RenderObject.cpp:
12159        * rendering/RenderObject.h:
12160        * rendering/svg/RenderSVGGradientStop.cpp:
12161        (WebCore::RenderSVGGradientStop::styleDidChange):
12162        * rendering/svg/RenderSVGResource.cpp:
12163        (WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation):
12164        * rendering/svg/RenderSVGResourceContainer.cpp:
12165        (WebCore::RenderSVGResourceContainer::markAllClientsForInvalidation):
12166        * rendering/svg/RenderSVGResourceContainer.h:
12167        * rendering/svg/RenderSVGResourceFilter.cpp:
12168        (WebCore::RenderSVGResourceFilter::buildPrimitives):
12169        * rendering/svg/RenderSVGResourceFilter.h:
12170        * rendering/svg/SVGRenderTreeAsText.cpp:
12171        (WebCore::writeSVGResourceContainer):
12172        * rendering/svg/SVGResourcesCycleSolver.cpp:
12173        (WebCore::SVGResourcesCycleSolver::resolveCycles):
12174        * svg/SVGElement.cpp:
12175        (WebCore::SVGElement::svgAttributeChanged):
12176
121772014-02-02  Andreas Kling  <akling@apple.com>
12178
12179        Minor SVGRootInlineBox cleanup.
12180        <https://webkit.org/b/128094>
12181
12182        Remove two virtual functions and sprinkle some missing overrides.
12183
12184        Reviewed by Anders Carlsson.
12185
12186        * rendering/svg/SVGRootInlineBox.h:
12187
121882014-01-30  Oliver Hunt  <oliver@apple.com>
12189
12190        Push DOM attributes into the prototype chain
12191        https://bugs.webkit.org/show_bug.cgi?id=127969
12192
12193        Reviewed by Mark Lam.
12194
12195        This patch does the actual work of moving dom attributes up the
12196        prototype chain. There are still a few class and edge cases
12197        where we can't do this without impacting existing behaviour,
12198        but they can be fixed separately in later patches.
12199
12200        * bindings/js/JSDOMBinding.h:
12201        (WebCore::getStaticPropertySlotEntryWithoutCaching):
12202        (WebCore::getStaticPropertySlotEntryWithoutCaching<JSDOMWrapper>):
12203        * bindings/scripts/CodeGeneratorJS.pm:
12204        (GenerateGetOwnPropertySlotBody):
12205        (HasComplexGetOwnProperty):
12206        (ConstructorShouldBeOnInstance):
12207        (AttributeShouldBeOnInstance):
12208        (InstanceAttributeCount):
12209        (PrototypeAttributeCount):
12210        (InstanceOverridesGetOwnPropertySlot):
12211        (PrototypeOverridesGetOwnPropertySlot):
12212        (GenerateAttributesHashTable):
12213        (GenerateImplementation):
12214
122152014-02-02  Andreas Kling  <akling@apple.com>
12216
12217        RenderSVGResourceContainer clients are always RenderElement.
12218        <https://webkit.org/b/128088>
12219
12220        All clients of RenderSVGResourceContainer are going to be RenderElement,
12221        so make the interface take RenderElement& instead of RenderObject*.
12222
12223        Also modernized the code a bit with C++11 range for loops.
12224
12225        Reviewed by Sam Weinig.
12226
12227        * rendering/svg/RenderSVGResourceContainer.cpp:
12228        (WebCore::RenderSVGResourceContainer::addClient):
12229        (WebCore::RenderSVGResourceContainer::removeClient):
12230        * rendering/svg/RenderSVGResourceContainer.h:
12231        * rendering/svg/SVGResourcesCache.cpp:
12232        (WebCore::SVGResourcesCache::addResourcesFromRenderer):
12233        (WebCore::SVGResourcesCache::removeResourcesFromRenderer):
12234
122352014-02-02  Zalan Bujtas  <zalan@apple.com>
12236
12237        Subpixel rendering: Use floorf/roundf/fabs in device snapping helpers.
12238        https://bugs.webkit.org/show_bug.cgi?id=128075
12239
12240        Reviewed by Darin Adler.
12241
12242        No change in functionality.
12243
12244        * platform/LayoutUnit.h:
12245        (WebCore::roundToDevicePixel):
12246        (WebCore::floorToDevicePixel):
12247        * platform/graphics/cg/GraphicsContextCG.cpp:
12248        (WebCore::GraphicsContext::platformInit):
12249
122502014-02-02  Andreas Kling  <akling@apple.com>
12251
12252        SVGDocumentExtensions::resourcesCache() should return a reference.
12253        <https://webkit.org/b/128087>
12254
12255        The SVGResourcesCache is always present when the Document is using
12256        SVG extensions, so make this return a reference and propagate that
12257        knowledge to the call site.
12258
12259        This gets rid of an assertion and some rickety looking ->'s.
12260        Also converted a loop to use C++11 range for syntax.
12261
12262        Reviewed by Sam Weinig.
12263
12264        * rendering/svg/SVGResourcesCache.cpp:
12265        (WebCore::resourcesCacheFromRenderer):
12266        (WebCore::SVGResourcesCache::cachedResourcesForRenderObject):
12267        (WebCore::SVGResourcesCache::clientStyleChanged):
12268        (WebCore::SVGResourcesCache::clientWasAddedToTree):
12269        (WebCore::SVGResourcesCache::clientWillBeRemovedFromTree):
12270        (WebCore::SVGResourcesCache::clientDestroyed):
12271        (WebCore::SVGResourcesCache::resourceDestroyed):
12272        * svg/SVGDocumentExtensions.h:
12273        (WebCore::SVGDocumentExtensions::resourcesCache):
12274
122752014-02-02  Andreas Kling  <akling@apple.com>
12276
12277        RenderSVGInlineText::computeNewScaledFontForStyle() should take references.
12278        <https://webkit.org/b/128086>
12279
12280        Make computeNewScaledFontForStyle() take renderer and style by reference
12281        instead of taking a pointer and asserting that it's non-null.
12282
12283        Reviewed by Darin Adler.
12284
12285        * rendering/svg/RenderSVGInlineText.cpp:
12286        (WebCore::RenderSVGInlineText::updateScaledFont):
12287        (WebCore::RenderSVGInlineText::computeNewScaledFontForStyle):
12288        * rendering/svg/RenderSVGInlineText.h:
12289        * rendering/svg/RenderSVGResourceClipper.cpp:
12290        (WebCore::RenderSVGResourceClipper::applyClippingToContext):
12291        * rendering/svg/RenderSVGResourceContainer.cpp:
12292        (WebCore::RenderSVGResourceContainer::shouldTransformOnTextPainting):
12293        * rendering/svg/RenderSVGResourceFilter.cpp:
12294        (WebCore::RenderSVGResourceFilter::applyResource):
12295        * rendering/svg/RenderSVGResourceGradient.cpp:
12296        (WebCore::createMaskAndSwapContextForTextGradient):
12297        (WebCore::clipToTextMask):
12298        * rendering/svg/RenderSVGResourceMasker.cpp:
12299        (WebCore::RenderSVGResourceMasker::applyResource):
12300        * rendering/svg/RenderSVGResourcePattern.cpp:
12301        (WebCore::RenderSVGResourcePattern::buildPattern):
12302        * rendering/svg/SVGInlineTextBox.cpp:
12303        (WebCore::SVGInlineTextBox::paintDecorationWithStyle):
12304        * rendering/svg/SVGRenderingContext.cpp:
12305        (WebCore::SVGRenderingContext::calculateScreenFontSizeScalingFactor):
12306        (WebCore::SVGRenderingContext::calculateTransformationToOutermostCoordinateSystem):
12307        * rendering/svg/SVGRenderingContext.h:
12308
123092014-02-02  Darin Adler  <darin@apple.com>
12310
12311        Still more characters -> deprecatedCharacters (EWS keeps finding more)
12312        https://bugs.webkit.org/show_bug.cgi?id=128076
12313
12314        Reviewed by Andreas Kling.
12315
12316        * platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
12317        (WebCore::HarfBuzzShaper::setFontFeatures):
12318        (WebCore::HarfBuzzShaper::shapeHarfBuzzRuns):
12319        Use deprecatedCharacters.
12320
123212014-02-02  Zalan Bujtas  <zalan@apple.com>
12322
12323        Subpixel rendering: Enable subpixel positioning/sizing/hairline border painting.
12324        https://bugs.webkit.org/show_bug.cgi?id=128009
12325
12326        Reviewed by Simon Fraser.
12327
12328        Snap and clip to device pixels when painting boxes. Enable hairline painting
12329        for solid border.
12330
12331        No existing context to test this functionality yet.
12332
12333        * rendering/RenderBoxModelObject.cpp:
12334        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
12335        (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
12336        * rendering/RenderObject.cpp:
12337        (WebCore::RenderObject::drawLineForBoxSide):
12338        * rendering/style/RenderStyle.cpp:
12339        (WebCore::RenderStyle::getRoundedBorderFor):
12340        (WebCore::RenderStyle::getRoundedInnerBorderFor):
12341
123422014-02-02  Sam Weinig  <sam@webkit.org>
12343
12344        Add some missing override keywords
12345        https://bugs.webkit.org/show_bug.cgi?id=128082
12346
12347        Reviewed by Antti Koivisto.
12348
12349        * loader/DocumentThreadableLoader.h:
12350        * loader/LinkLoader.h:
12351        * loader/TextTrackLoader.h:
12352        * xml/parser/XMLDocumentParser.h:
12353
123542014-02-02  Brady Eidson  <beidson@apple.com>
12355
12356        IDB: Support IDBFactory.deleteDatabase()
12357        https://bugs.webkit.org/show_bug.cgi?id=128060
12358
12359        Reviewed by Filip Pizlo and Maciej Stachowiak (filesystem parts also Tim Hatcher and Simon Fraser)
12360
12361        * Modules/indexeddb/IDBDatabaseBackend.cpp:
12362        (WebCore::IDBDatabaseBackend::deleteDatabaseAsync):
12363
12364        * Modules/indexeddb/IDBFactory.cpp:
12365        (WebCore::IDBFactory::deleteDatabase):
12366
12367        Change factory-level deleteDatabase to take opening and main frame origins:
12368        * Modules/indexeddb/IDBFactoryBackendInterface.h:
12369        * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
12370        (WebCore::IDBFactoryBackendLevelDB::deleteDatabase):
12371        * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
12372
12373        * Modules/indexeddb/IDBServerConnection.h:
12374        * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
12375
12376        * WebCore.exp.in:
12377
123782014-02-02  Zalan Bujtas  <zalan@apple.com>
12379
12380        Subpixel rendering: Introduce device pixel snapping helper functions.
12381        https://bugs.webkit.org/show_bug.cgi?id=128049
12382
12383        Reviewed by Simon Fraser.
12384
12385        These functions help device pixel snapping during painting. They follow the logic of
12386        the corresponding pixelSnappedInt* functions.
12387
12388        No change in functionality.
12389
12390        * platform/LayoutUnit.h:
12391        (WebCore::roundToDevicePixel):
12392        (WebCore::floorToDevicePixel):
12393        (WebCore::snapSizeToPixel):
12394        (WebCore::snapSizeToDevicePixel):
12395        * platform/graphics/GraphicsContext.cpp:
12396        (WebCore::GraphicsContext::GraphicsContext):
12397        * platform/graphics/GraphicsContext.h:
12398        (WebCore::GraphicsContext::pixelSnappingFactor):
12399        * platform/graphics/LayoutRect.h:
12400        (WebCore::pixelSnappedForPainting):
12401        * platform/graphics/cg/GraphicsContextCG.cpp:
12402        (WebCore::GraphicsContext::platformInit):
12403
124042014-02-02  Zalan Bujtas  <zalan@apple.com>
12405
12406        Floor thickness and length after switching from int to float.
12407        https://bugs.webkit.org/show_bug.cgi?id=128071
12408
12409        Reviewed by Antti Koivisto.
12410
12411        This is a temporary solution to fix the assertion on empty line drawing until after
12412        device pixel snapping is added.
12413
12414        Covered by existing tests.
12415
12416        * rendering/RenderObject.cpp:
12417        (WebCore::RenderObject::drawLineForBoxSide):
12418
124192014-02-02  Antti Koivisto  <antti@apple.com>
12420
12421        Remove StyleScopeResolver
12422        https://bugs.webkit.org/show_bug.cgi?id=128069
12423
12424        Reviewed by Anders Carlsson.
12425
12426        This is dead code.
12427
12428        * CMakeLists.txt:
12429        * GNUmakefile.list.am:
12430        * WebCore.xcodeproj/project.pbxproj:
12431        * css/DocumentRuleSets.cpp:
12432        (WebCore::DocumentRuleSets::appendAuthorStyleSheets):
12433        (WebCore::DocumentRuleSets::collectFeatures):
12434        * css/DocumentRuleSets.h:
12435        * css/ElementRuleCollector.h:
12436        (WebCore::ElementRuleCollector::ElementRuleCollector):
12437        * css/RuleSet.cpp:
12438        (WebCore::RuleSet::addChildRules):
12439        * css/StyleResolver.cpp:
12440        (WebCore::StyleResolver::pushParentElement):
12441        (WebCore::StyleResolver::popParentElement):
12442        (WebCore::StyleResolver::locateSharedStyle):
12443        (WebCore::StyleResolver::styleForElement):
12444        * css/StyleResolver.h:
12445        (WebCore::StyleResolver::document):
12446        * css/StyleScopeResolver.cpp: Removed.
12447        * css/StyleScopeResolver.h: Removed.
12448        * style/StyleResolveTree.cpp:
12449        (WebCore::Style::attachShadowRoot):
12450        (WebCore::Style::resolveShadowTree):
12451
124522014-02-02  Zalan Bujtas  <zalan@apple.com>
12453
12454        Subpixel rendering: Make BorderEdge/RoundedRect::Radii LayoutUnit aware.
12455        https://bugs.webkit.org/show_bug.cgi?id=128036
12456
12457        Reviewed by Darin Adler.
12458
12459        Covered by existing tests.
12460
12461        * platform/LayoutUnit.h:
12462        (WebCore::LayoutUnit::operator++):
12463        * rendering/RenderBoxModelObject.cpp:
12464        (WebCore::BorderEdge::BorderEdge):
12465        (WebCore::BorderEdge::usedWidth):
12466        (WebCore::BorderEdge::getDoubleBorderStripeWidths):
12467        (WebCore::RenderBoxModelObject::paintOneBorderSide):
12468        (WebCore::RenderBoxModelObject::paintBorder):
12469        (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
12470        (WebCore::calculateSideRectIncludingInner):
12471        * rendering/RenderObject.cpp:
12472        (WebCore::RenderObject::drawLineForBoxSide):
12473        * rendering/RenderObject.h:
12474        * rendering/style/BorderData.h:
12475        (WebCore::BorderData::borderLeftWidth):
12476        (WebCore::BorderData::borderRightWidth):
12477        (WebCore::BorderData::borderTopWidth):
12478        (WebCore::BorderData::borderBottomWidth):
12479        * rendering/style/RenderStyle.cpp:
12480        (WebCore::calcRadiiFor):
12481        (WebCore::calcConstraintScaleFor):
12482        (WebCore::RenderStyle::getRoundedInnerBorderFor):
12483        * rendering/style/RenderStyle.h:
12484
124852014-02-01  Hunseop Jeong  <hs85.jeong@samsung.com>
12486
12487        REGRESSION(r163234) Debug build is broken
12488        https://bugs.webkit.org/show_bug.cgi?id=128059
12489
12490        Unreviewed. Debug build is broken with INDEXED_DATABASE.
12491
12492        * Modules/indexeddb/IDBKeyData.cpp:
12493        (WebCore::IDBKeyData::loggingString): Added the default: case.
12494
124952014-02-01  Zalan Bujtas  <zalan@apple.com>
12496
12497        Subpixel rendering: LayoutUnit operator++ is broken.
12498        https://bugs.webkit.org/show_bug.cgi?id=128056
12499
12500        Reviewed by Darin Adler.
12501
12502        Add pre-increment operator++.
12503
12504        * platform/LayoutUnit.h:
12505        (WebCore::LayoutUnit::operator++):
12506
125072014-02-01  Darin Adler  <darin@apple.com>
12508
12509        More characters -> deprecatedCharacters (based on more EWS complaints)
12510        https://bugs.webkit.org/show_bug.cgi?id=128063
12511
12512        Reviewed by Anders Carlsson.
12513
12514        * editing/SmartReplace.cpp:
12515        (WebCore::addAllCodePoints):
12516        (WebCore::getSmartSet):
12517        * platform/win/WebCoreTextRenderer.cpp:
12518        (WebCore::doDrawTextAtPoint):
12519        Use deprecatedCharacters.
12520
125212014-02-01  Darin Adler  <darin@apple.com>
12522
12523        Use deprecatedCharacters in a few more places (non-Mac-build sites found by EWS)
12524        https://bugs.webkit.org/show_bug.cgi?id=128042
12525
12526        Reviewed by Sam Weinig.
12527
12528        * Modules/indexeddb/leveldb/IDBLevelDBCoding.cpp:
12529        (WebCore::IDBLevelDBCoding::encodeString):
12530        * platform/graphics/win/FontCacheWin.cpp:
12531        (WebCore::FontCache::systemFallbackForCharacters):
12532        (WebCore::createGDIFont):
12533        (WebCore::FontCache::getTraitsInFamily):
12534        * platform/network/DataURL.cpp:
12535        (WebCore::handleDataURL):
12536        * platform/win/BString.cpp:
12537        (WebCore::BString::BString):
12538        * platform/win/ClipboardUtilitiesWin.cpp:
12539        (WebCore::createGlobalData):
12540        * platform/win/FileSystemWin.cpp:
12541        (WebCore::pathByAppendingComponent):
12542        (WebCore::fileSystemRepresentation):
12543        * platform/win/PasteboardWin.cpp:
12544        (WebCore::filesystemPathFromUrlOrTitle):
12545        (WebCore::Pasteboard::writeURLToDataObject):
12546        (WebCore::createGlobalImageFileDescriptor):
12547        * platform/win/PopupMenuWin.cpp:
12548        (WebCore::PopupMenuWin::calculatePositionAndSize):
12549        Call deprecatedCharacters instead of characters.
12550
125512014-02-01  Enrica Casucci  <enrica@apple.com>
12552
12553        Add support for ActionSheets in WK2 for iOS.
12554        https://bugs.webkit.org/show_bug.cgi?id=127586
12555        <rdar://problem/15283667>
12556
12557        Reviewed by Benjamin Poulain.
12558
12559        Updates the localizable strings for action sheets.
12560
12561        * English.lproj/Localizable.strings:
12562
125632014-02-01  Maciej Stachowiak  <mjs@apple.com>
12564
12565        Factor URL decomposition methods (from URLUtils interface) into a base template
12566        https://bugs.webkit.org/show_bug.cgi?id=128052
12567
12568        Reviewed by Sam Weinig.
12569
12570        Refactoring only; no new tests.
12571
12572        * html/DOMURL.cpp:
12573        * html/DOMURL.h:
12574        (WebCore::DOMURL::href): Moved to header and made inline.
12575        * html/URLUtils.h: Added. 
12576        (WebCore::URLUtils::href): Downcast and call the derived class.
12577        (WebCore::URLUtils::setHref): Downcast and call the derived class.
12578        Functions below factored out from DOMURL.cpp.
12579        (WebCore::URLUtils<T>::toString):
12580        (WebCore::URLUtils<T>::origin):
12581        (WebCore::URLUtils<T>::protocol):
12582        (WebCore::URLUtils<T>::setProtocol):
12583        (WebCore::URLUtils<T>::username):
12584        (WebCore::URLUtils<T>::setUsername):
12585        (WebCore::URLUtils<T>::password):
12586        (WebCore::URLUtils<T>::setPassword):
12587        (WebCore::URLUtils<T>::host):
12588        (WebCore::parsePortFromStringPosition):
12589        (WebCore::URLUtils<T>::setHost):
12590        (WebCore::URLUtils<T>::hostname):
12591        (WebCore::URLUtils<T>::setHostname):
12592        (WebCore::URLUtils<T>::port):
12593        (WebCore::URLUtils<T>::setPort):
12594        (WebCore::URLUtils<T>::pathname):
12595        (WebCore::URLUtils<T>::setPathname):
12596        (WebCore::URLUtils<T>::search):
12597        (WebCore::URLUtils<T>::setSearch):
12598        (WebCore::URLUtils<T>::hash):
12599        (WebCore::URLUtils<T>::setHash):
12600
12601        Add mention of new header.
12602        * GNUmakefile.list.am: 
12603        * WebCore.vcxproj/WebCore.vcxproj:
12604        * WebCore.vcxproj/WebCore.vcxproj.filters:
12605        * WebCore.xcodeproj/project.pbxproj:
12606
126072014-02-01  Benjamin Poulain  <bpoulain@apple.com>
12608
12609        Improve the JavaScript bindings of DatasetDOMStringMap
12610        https://bugs.webkit.org/show_bug.cgi?id=127971
12611
12612        Unriewed.
12613
12614        * dom/DatasetDOMStringMap.cpp:
12615        * dom/DatasetDOMStringMap.h:
12616        Follow up for r163239. Darin pointed out the #includes are wrong.
12617
126182014-02-01  Brady Eidson  <beidson@apple.com>
12619
12620        IDB: Implement IDBObjectStore.delete()
12621        https://bugs.webkit.org/show_bug.cgi?id=127880
12622
12623        Reviewed by Sam Weinig.
12624
12625        * Modules/indexeddb/IDBKeyData.cpp:
12626        (WebCore::IDBKeyData::compare): Make this const.
12627        * Modules/indexeddb/IDBKeyData.h:
12628
12629        * Modules/indexeddb/IDBKeyRangeData.cpp:
12630        (WebCore::IDBKeyRangeData::isExactlyOneKey): Returns whether or not
12631          the key range is known to represent precisely one key.
12632        * Modules/indexeddb/IDBKeyRangeData.h:
12633
12634        * WebCore.exp.in:
12635
126362014-02-01  Anders Carlsson  <andersca@apple.com>
12637
12638        SVGTextLayoutAttributesBuilder shouldn't use RenderText::deprecatedCharacters()
12639        https://bugs.webkit.org/show_bug.cgi?id=128048
12640
12641        Reviewed by Sam Weinig.
12642
12643        Change UChar*& lastCharacter to bool& lastCharacterWasSpace since that's what the parameter was used for.
12644
12645        * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
12646        (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForTextRenderer):
12647        Initialize lastCharacterWasSpace to true to match the previous behavior.
12648
12649        (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForForSubtree):
12650        Ditto.
12651
12652        (WebCore::processRenderSVGInlineText):
12653        Take a reference instead of a pointer, get the character using RenderText::operator[] and compute lastCharacterWasSpace.
12654
12655        (WebCore::SVGTextLayoutAttributesBuilder::collectTextPositioningElements):
12656        This now takes a bool reference instead.
12657
12658        * rendering/svg/SVGTextLayoutAttributesBuilder.h:
12659
126602014-02-01  Brady Eidson  <beidson@apple.com>
12661
12662        IDB: Index cursor complete advance() and iterate() support
12663        <rdar://problem/15941916> and https://bugs.webkit.org/show_bug.cgi?id=127870
12664
12665        Reviewed by Dan Bernstein.
12666
12667        * Modules/indexeddb/IDBRequest.cpp:
12668        (WebCore::IDBRequest::onSuccess): Always use the value buffer for the script object.
12669
126702014-02-01  Alexey Proskuryakov  <ap@apple.com>
12671
12672        Update WebCrypto JWK mapping to use key_ops
12673        https://bugs.webkit.org/show_bug.cgi?id=127609
12674
12675        Reviewed by Sam Weinig.
12676
12677        Updated JWK support ot match current editor draft.
12678
12679        * bindings/js/JSCryptoKeySerializationJWK.cpp:
12680        (WebCore::getJSArrayFromJSON): Fixed this previously untested function to actually work.
12681        (WebCore::tryJWKKeyOpsValue):
12682        (WebCore::JSCryptoKeySerializationJWK::reconcileUsages):
12683        (WebCore::JSCryptoKeySerializationJWK::reconcileExtractable): Removed an old comment,
12684        these things are now specced.
12685        (WebCore::addToJSON): Made static functions file static, there is no reason for
12686        them to be class members.
12687        (WebCore::buildJSONForOctetSequence):
12688        (WebCore::buildJSONForRSAComponents):
12689        (WebCore::addBoolToJSON):
12690        (WebCore::addJWKAlgorithmToJSON):
12691        (WebCore::addUsagesToJSON):
12692        (WebCore::JSCryptoKeySerializationJWK::serialize):
12693        * bindings/js/JSCryptoKeySerializationJWK.h:
12694
12695        * crypto/mac/CryptoAlgorithmAES_KWMac.cpp:
12696        (WebCore::CryptoAlgorithmAES_KW::platformEncrypt):
12697        (WebCore::CryptoAlgorithmAES_KW::platformDecrypt):
12698        Check for length, so that we don't fail silently.
12699
127002014-02-01  David Kilzer  <ddkilzer@apple.com>
12701
12702        Add security-checked casts for all WebCore::CachedResource subclasses
12703        <http://webkit.org/b/127988>
12704
12705        Reviewed by Darin Adler.
12706
12707        * inspector/InspectorPageAgent.cpp:
12708        (WebCore::InspectorPageAgent::cachedResourceContent):
12709        * inspector/InspectorResourceAgent.cpp:
12710        (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
12711        - Switch from static_cast<>() to security-checked cast.
12712
12713        * loader/cache/CachedCSSStyleSheet.h:
12714        (WebCore::toCachedCSSStyleSheet): Add.
12715        * loader/cache/CachedFont.h:
12716        (WebCore::toCachedFont): Add.
12717
12718        * loader/cache/CachedImage.h: Make CachedImageManual final.
12719
12720        * loader/cache/CachedRawResource.cpp:
12721        (WebCore::CachedRawResource::CachedRawResource): Add assert that
12722        only MainResource or RawResource types are used to construct a
12723        CachedRawResource.  This may be a security issue depending on
12724        what code exists that uses the type() value to cast to a
12725        CachedResource subclass.
12726        (WebCore::CachedRawResource::switchClientsToRevalidatedResource):
12727        Switch from static_cast<>() to toCachedRawResource().
12728
12729        * loader/cache/CachedRawResource.h:
12730        (WebCore::toCachedRawResource): Add.
12731        * loader/cache/CachedResource.h:
12732        (WebCore::CachedResource::isMainOrRawResource): Add.  A
12733        CachedRawResource could be either a MainResource or a
12734        RawResource.  Currently only used in assertions.
12735
12736        * loader/cache/CachedResourceLoader.cpp:
12737        (WebCore::CachedResourceLoader::requestFont):
12738        (WebCore::CachedResourceLoader::requestTextTrack):
12739        (WebCore::CachedResourceLoader::requestCSSStyleSheet):
12740        (WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
12741        (WebCore::CachedResourceLoader::requestScript):
12742        (WebCore::CachedResourceLoader::requestXSLStyleSheet):
12743        (WebCore::CachedResourceLoader::requestSVGDocument):
12744        (WebCore::CachedResourceLoader::requestRawResource):
12745        (WebCore::CachedResourceLoader::requestMainResource):
12746        - Switch from static_cast<>() to security-checked cast.
12747
12748        * loader/cache/CachedSVGDocument.h:
12749        (WebCore::toCachedSVGDocument): Add.
12750        * loader/cache/CachedScript.h:
12751        (WebCore::toCachedScript): Add.
12752        * loader/cache/CachedTextTrack.h:
12753        (WebCore::toCachedTextTrack): Add.
12754        * loader/cache/CachedXSLStyleSheet.h:
12755        (WebCore::toCachedXSLStyleSheet): Add.
12756
127572014-02-01  Xabier Rodriguez Calvar  <calvaris@igalia.com>
12758
12759        Unreviewed. Fixed GTK+ CMake build after r162922.
12760
12761        * PlatformGTK.cmake: Removed SoupURIUtils.cpp from the
12762        compilation.
12763
127642014-02-01  Benjamin Poulain  <bpoulain@apple.com>
12765
12766        Improve the JavaScript bindings of DatasetDOMStringMap
12767        https://bugs.webkit.org/show_bug.cgi?id=127971
12768
12769        Reviewed by Sam Weinig.
12770
12771        Instead of querying contains() followed by item(), just get the item
12772        at once in the custom binding.
12773
12774        Test: fast/dom/dataset-name-getter-properties.html
12775
12776        * bindings/js/JSDOMStringMapCustom.cpp:
12777        (WebCore::JSDOMStringMap::getOwnPropertySlotDelegate):
12778        * dom/DOMStringMap.idl:
12779        * dom/DatasetDOMStringMap.cpp:
12780        (WebCore::DatasetDOMStringMap::item):
12781        * dom/DatasetDOMStringMap.h:
12782
127832014-01-31  Benjamin Poulain  <bpoulain@apple.com>
12784
12785        Remove LEGACY_VIEWPORT_ADAPTION
12786        https://bugs.webkit.org/show_bug.cgi?id=128028
12787
12788        Reviewed by Anders Carlsson.
12789
12790        The code is incorrect and was only supported by Nix.
12791
12792        * dom/Document.cpp:
12793        (WebCore::Document::childrenChanged):
12794        * dom/ViewportArguments.h:
12795        * html/HTMLMetaElement.cpp:
12796        (WebCore::HTMLMetaElement::process):
12797
127982014-01-31  Ryosuke Niwa  <rniwa@webkit.org>
12799
12800        Release build fix after r163234. Don't always export the symbol that doesn't exist under NDEBUG.
12801
12802        * WebCore.exp.in:
12803
128042014-01-31  Brady Eidson  <beidson@apple.com>
12805
12806        IDB: Index cursors use wrong deserialization for the retrieved value
12807        https://bugs.webkit.org/show_bug.cgi?id=128035
12808
12809        Reviewed by Dan Bernstein.
12810
12811        For the cursor operations, add an IDBKey value result in the callbacks.
12812        If an already deserialized IDBKey value exists it will be preferred over the serialized buffer.
12813
12814        Change some of the onSuccess() callback formats:
12815        * Modules/indexeddb/IDBCallbacks.h:
12816        * Modules/indexeddb/IDBRequest.cpp:
12817        (WebCore::IDBRequest::onSuccess): Selectively choose between the IDBKey or the SharedBuffer value
12818          when choosed what to convert to the ScriptValue.
12819        * Modules/indexeddb/IDBRequest.h:
12820
12821        Let the IDBCursorBackend hold both a value buffer and a value key:
12822        * Modules/indexeddb/IDBCursorBackend.cpp:
12823        (WebCore::IDBCursorBackend::updateCursorData):
12824        (WebCore::IDBCursorBackend::clear):
12825        * Modules/indexeddb/IDBCursorBackend.h:
12826        (WebCore::IDBCursorBackend::valueBuffer):
12827        (WebCore::IDBCursorBackend::valueKey):
12828
12829        * Modules/indexeddb/IDBCursorBackendOperations.cpp:
12830        (WebCore::CursorAdvanceOperation::perform):
12831        (WebCore::CursorIterationOperation::perform):
12832
12833        * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
12834        (WebCore::OpenCursorOperation::perform):
12835
12836        * Modules/indexeddb/IDBServerConnection.h:
12837        * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
12838        (WebCore::IDBServerConnectionLevelDB::openCursor):
12839        (WebCore::IDBServerConnectionLevelDB::cursorAdvance):
12840        (WebCore::IDBServerConnectionLevelDB::cursorIterate):
12841        * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
12842
12843        Add IDBKey/IDBKeyData debug logging utilities:
12844        * Modules/indexeddb/IDBKey.cpp:
12845        (WebCore::IDBKey::loggingString):
12846        * Modules/indexeddb/IDBKey.h:
12847        * Modules/indexeddb/IDBKeyData.cpp:
12848        (WebCore::IDBKeyData::loggingString):
12849        * Modules/indexeddb/IDBKeyData.h:
12850
12851        * WebCore.exp.in:
12852
128532014-01-31  Ryosuke Niwa  <rniwa@webkit.org>
12854
12855        Debug build fix after r163232. Call hasEditableStyle() instead of isContentEditable() which
12856        can trigger a layout synchronously inside paintCaret. This matches the code before r163232.
12857
12858        * rendering/RenderBlock.cpp:
12859        (WebCore::RenderBlock::paintCaret):
12860
128612014-01-31  Ryosuke Niwa  <rniwa@webkit.org>
12862
12863        Remove inline member functions of FrameSelection that access m_selection
12864        https://bugs.webkit.org/show_bug.cgi?id=127986
12865
12866        Reviewed by Enrica Casucci.
12867
12868        Removed numerous inline member functions of FrameSelection that depend on m_selection.
12869
12870        This is needed to ensure all accesses to m_selection happen through FrameSelection::selection(),
12871        which in turn, allows us to update its call sites to use either validated selection that editing
12872        and rendering code uses or invalidated selection that's exposed to JavaScript.
12873
12874        * WebCore.exp.in:
12875        * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
12876        (-[WebAccessibilityObjectWrapper _convertToNSRange:]):
12877        (-[WebAccessibilityObjectWrapper _convertToDOMRange:]):
12878        * bindings/objc/DOMUIKitExtensions.mm:
12879        (-[DOMRange move:inDirection:]):
12880        (-[DOMRange extend:inDirection:]):
12881        * dom/Element.cpp:
12882        (WebCore::Element::updateFocusAppearance):
12883        * editing/Editor.cpp:
12884        (WebCore::Editor::canEdit):
12885        (WebCore::Editor::canEditRichly):
12886        (WebCore::Editor::canDHTMLCut):
12887        (WebCore::Editor::canDHTMLCopy):
12888        (WebCore::Editor::canCopy):
12889        (WebCore::Editor::canDelete):
12890        (WebCore::Editor::replaceSelectionWithFragment):
12891        (WebCore::Editor::tryDHTMLCopy):
12892        (WebCore::Editor::tryDHTMLCut):
12893        (WebCore::Editor::applyStyle):
12894        (WebCore::Editor::applyParagraphStyle):
12895        (WebCore::Editor::cut):
12896        (WebCore::Editor::copy):
12897        (WebCore::Editor::paste):
12898        (WebCore::Editor::setComposition):
12899        (WebCore::Editor::guessesForMisspelledOrUngrammatical):
12900        (WebCore::Editor::markMisspellingsAfterTypingToWord):
12901        (WebCore::Editor::isSpellCheckingEnabledInFocusedNode):
12902        (WebCore::Editor::markAndReplaceFor):
12903        (WebCore::Editor::getCompositionSelection):
12904        (WebCore::Editor::selectionStartHasMarkerFor):
12905        * editing/EditorCommand.cpp:
12906        (WebCore::expandSelectionToGranularity):
12907        (WebCore::enabledInRichlyEditableText):
12908        (WebCore::enabledRangeInEditableText):
12909        (WebCore::enabledRangeInRichlyEditableText):
12910        * editing/FrameSelection.cpp:
12911        (WebCore::CaretBase::updateCaretRect):
12912        (WebCore::FrameSelection::recomputeCaretRect):
12913        (WebCore::FrameSelection::selectAll):
12914        (WebCore::FrameSelection::updateAppearance):
12915        (WebCore::FrameSelection::updateSelectionCachesIfSelectionIsInsideTextFormControl):
12916        (WebCore::FrameSelection::setFocusedElementIfNeeded):
12917        (WebCore::FrameSelection::currentForm):
12918        (WebCore::FrameSelection::revealSelection):
12919        (WebCore::FrameSelection::setSelectionFromNone):
12920        * editing/FrameSelection.h:
12921        (WebCore::FrameSelection::isCaretOrRange):
12922        * editing/RemoveFormatCommand.cpp:
12923        (WebCore::RemoveFormatCommand::doApply):
12924        * editing/VisibleSelection.cpp:
12925        (WebCore::VisibleSelection::isInPasswordField):
12926        * editing/VisibleSelection.h:
12927        * editing/mac/EditorMac.mm:
12928        (WebCore::Editor::canCopyExcludingStandaloneImages):
12929        (WebCore::Editor::readSelectionFromPasteboard):
12930        * html/HTMLAnchorElement.cpp:
12931        (WebCore::HTMLAnchorElement::defaultEventHandler):
12932        (WebCore::HTMLAnchorElement::setActive):
12933        * html/HTMLTextFormControlElement.cpp:
12934        (WebCore::HTMLTextFormControlElement::computeSelectionStart):
12935        (WebCore::HTMLTextFormControlElement::computeSelectionEnd):
12936        * page/ContextMenuController.cpp:
12937        (WebCore::ContextMenuController::contextMenuItemSelected):
12938        (WebCore::ContextMenuController::populate):
12939        * page/DragController.cpp:
12940        (WebCore::DragController::dragIsMove):
12941        (WebCore::setSelectionToDragCaret):
12942        (WebCore::DragController::concludeEditDrag):
12943        (WebCore::DragController::startDrag):
12944        * page/EventHandler.cpp:
12945        (WebCore::nodeIsNotBeingEdited):
12946        (WebCore::EventHandler::sendContextMenuEvent):
12947        (WebCore::EventHandler::sendContextMenuEventForKey):
12948        (WebCore::EventHandler::handleDrag):
12949        * page/FocusController.cpp:
12950        (WebCore::FocusController::advanceFocusInDocumentOrder):
12951        (WebCore::clearSelectionIfNeeded):
12952        * page/ios/FrameIOS.mm:
12953        (WebCore::Frame::caretRect):
12954        (WebCore::Frame::rectForScrollToVisible):
12955        (WebCore::Frame::styleAtSelectionStart):
12956        (WebCore::Frame::setRangedSelectionBaseToCurrentSelectionStart):
12957        (WebCore::Frame::setRangedSelectionBaseToCurrentSelectionEnd):
12958        (WebCore::Frame::setRangedSelectionInitialExtentToCurrentSelectionStart):
12959        (WebCore::Frame::setRangedSelectionInitialExtentToCurrentSelectionEnd):
12960        (WebCore::Frame::interpretationsForCurrentRoot):
12961        * rendering/RenderBlock.cpp:
12962        (WebCore::RenderBlock::paintCaret):
12963
129642014-01-31  Simon Fraser  <simon.fraser@apple.com>
12965
12966        Pass the viewport rect and scroll origin independently into the scrolling tree, and make things floats
12967        https://bugs.webkit.org/show_bug.cgi?id=128032
12968
12969        Reviewed by Tim Horton.
12970
12971        Pass the viewport rect and scroll offset independently into the ScrollingTree
12972        via the ScrollingStateScrollingNode, since on iOS the scroll offset doesn't
12973        always correspond to the viewport rect.
12974        
12975        Make the viewport rect and the scroll origin be float-based, since on
12976        Retina screens and with zooming these can both be non-integral.
12977
12978        No behavior change.
12979        
12980        * WebCore.exp.in:
12981        * page/scrolling/AsyncScrollingCoordinator.cpp:
12982        (WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated):
12983        (WebCore::AsyncScrollingCoordinator::scheduleUpdateScrollPositionAfterAsyncScroll):
12984        (WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll):
12985        * page/scrolling/AsyncScrollingCoordinator.h:
12986        (WebCore::AsyncScrollingCoordinator::ScheduledScrollUpdate::ScheduledScrollUpdate):
12987        * page/scrolling/ScrollingStateScrollingNode.cpp:
12988        (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
12989        (WebCore::ScrollingStateScrollingNode::setViewportConstrainedObjectRect):
12990        (WebCore::ScrollingStateScrollingNode::setScrollPosition):
12991        (WebCore::ScrollingStateScrollingNode::dumpProperties):
12992        * page/scrolling/ScrollingStateScrollingNode.h:
12993        * page/scrolling/ScrollingTree.cpp:
12994        (WebCore::ScrollingTree::shouldHandleWheelEventSynchronously):
12995        (WebCore::ScrollingTree::commitNewTreeState):
12996        (WebCore::ScrollingTree::mainFrameScrollPosition):
12997        (WebCore::ScrollingTree::setMainFrameScrollPosition):
12998        * page/scrolling/ScrollingTree.h:
12999        * page/scrolling/ScrollingTreeNode.h:
13000        * page/scrolling/ScrollingTreeScrollingNode.cpp:
13001        (WebCore::ScrollingTreeScrollingNode::updateBeforeChildren):
13002        * page/scrolling/ScrollingTreeScrollingNode.h:
13003        (WebCore::ScrollingTreeScrollingNode::scrollPosition):
13004        (WebCore::ScrollingTreeScrollingNode::viewportConstrainedObjectRect):
13005        * page/scrolling/ThreadedScrollingTree.cpp:
13006        (WebCore::ThreadedScrollingTree::scrollingTreeNodeDidScroll):
13007        * page/scrolling/ThreadedScrollingTree.h:
13008        * page/scrolling/ios/ScrollingTreeIOS.cpp:
13009        (WebCore::ScrollingTreeIOS::scrollingTreeNodeDidScroll):
13010        * page/scrolling/ios/ScrollingTreeIOS.h:
13011        * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.h:
13012        * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm:
13013        (WebCore::ScrollingTreeScrollingNodeIOS::scrollPosition):
13014        (WebCore::ScrollingTreeScrollingNodeIOS::setScrollPosition):
13015        (WebCore::ScrollingTreeScrollingNodeIOS::setScrollPositionWithoutContentEdgeConstraints):
13016        (WebCore::ScrollingTreeScrollingNodeIOS::setScrollLayerPosition):
13017        (WebCore::ScrollingTreeScrollingNodeIOS::minimumScrollPosition):
13018        (WebCore::ScrollingTreeScrollingNodeIOS::maximumScrollPosition):
13019        * page/scrolling/mac/ScrollingTreeFixedNode.h:
13020        * page/scrolling/mac/ScrollingTreeFixedNode.mm:
13021        (WebCore::ScrollingTreeFixedNode::parentScrollPositionDidChange):
13022        * page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
13023        * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
13024        (WebCore::ScrollingTreeScrollingNodeMac::updateAfterChildren):
13025        (WebCore::ScrollingTreeScrollingNodeMac::absoluteScrollPosition):
13026        (WebCore::ScrollingTreeScrollingNodeMac::adjustScrollPositionToBoundsIfNecessary):
13027        (WebCore::ScrollingTreeScrollingNodeMac::scrollPosition):
13028        (WebCore::ScrollingTreeScrollingNodeMac::setScrollPosition):
13029        (WebCore::ScrollingTreeScrollingNodeMac::setScrollPositionWithoutContentEdgeConstraints):
13030        (WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):
13031        (WebCore::ScrollingTreeScrollingNodeMac::minimumScrollPosition):
13032        (WebCore::ScrollingTreeScrollingNodeMac::maximumScrollPosition):
13033        (WebCore::ScrollingTreeScrollingNodeMac::updateMainFramePinState):
13034        (WebCore::ScrollingTreeScrollingNodeMac::logExposedUnfilledArea):
13035        * page/scrolling/mac/ScrollingTreeStickyNode.h:
13036        * page/scrolling/mac/ScrollingTreeStickyNode.mm:
13037        (WebCore::ScrollingTreeStickyNode::parentScrollPositionDidChange):
13038        * platform/graphics/FloatPoint.h:
13039        (WebCore::FloatPoint::shrunkTo):
13040
130412014-01-30  Andy Estes  <aestes@apple.com>
13042
13043        [Cocoa] Add NEFilterSource support to ContentFilterMac
13044        https://bugs.webkit.org/show_bug.cgi?id=127979
13045
13046        Reviewed by Sam Weinig.
13047
13048        Update ContentFilterMac to work with both WebFilterEvaluator and
13049        NEFilterSource, if enabled.
13050
13051        * platform/ContentFilter.h: Set HAVE_NE_FILTER_SOURCE based on platform
13052        conditionals, and forward-declare NEFilterSource.
13053        * platform/mac/ContentFilterMac.mm: Included NEFilterSource.h if the SDK
13054        has it; declared the class directly if not. Also soft-linked
13055        NetworkExtension.framework.
13056        (WebCore::ContentFilter::ContentFilter): Initialized
13057        m_neFilterSourceStatus to NEFilterSourceStatusNeedsMoreData and created
13058        m_platformContentFilter and m_neFilterSource objects if their
13059        respective filters were enabled.
13060        (WebCore::ContentFilter::isEnabled): Returned true if either filter is
13061        enabled.
13062        (WebCore::ContentFilter::addData): Added incoming data to each filter
13063        that is enabled.
13064        (WebCore::ContentFilter::finishedAddingData): Notified each enabled
13065        filter that we are finished adding data.
13066        (WebCore::ContentFilter::needsMoreData): Returned true if either filter
13067        needs more data.
13068        (WebCore::ContentFilter::didBlockData): Returned true if either filter
13069        blocked data.
13070        (WebCore::ContentFilter::getReplacementData): Returned
13071        m_replacementData. Commented that this will currently return a null
13072        string if NEFilterSource blocked the load.
13073
130742014-01-31  Oliver Hunt  <oliver@apple.com>
13075
13076        Rollout r163195 and related patches
13077
13078        * CMakeLists.txt:
13079        * ForwardingHeaders/runtime/JSStringInlines.h: Removed.
13080        * Modules/plugins/QuickTimePluginReplacement.cpp:
13081        * bindings/js/JSIDBAnyCustom.cpp:
13082        * bindings/js/JSIDBDatabaseCustom.cpp:
13083        * bindings/js/JSIDBObjectStoreCustom.cpp:
13084        * bindings/js/JSNodeFilterCondition.cpp:
13085
130862014-01-31  Simon Fraser  <simon.fraser@apple.com>
13087
13088        Even when in fixed layout mode, some platforms need to do layout after a viewport change
13089        https://bugs.webkit.org/show_bug.cgi?id=128003
13090
13091        Reviewed by Andreas Kling.
13092        
13093        Re-land 163182 with a less aggresive check in visibleContentsResized() for
13094        needing to layout.
13095
13096        iOS uses fixed layout mode in both WK1 and WK2, but lays out fixed position
13097        elements relative to a variable viewport. This code assumed that fixed layout
13098        implies a fixed viewport.
13099        
13100        Fix by testing for useCustomFixedPositionLayoutRect() in the fixed layout case.
13101        
13102        Also removed RenderView::hasCustomFixedPosition() which is no longer used.
13103        
13104        * page/FrameView.cpp:
13105        (WebCore::FrameView::shouldLayoutAfterViewportChange):
13106        (WebCore::FrameView::visibleContentsResized):
13107        * page/FrameView.h:
13108        * rendering/RenderView.cpp:
13109        * rendering/RenderView.h:
13110
131112014-01-31  Alexey Proskuryakov  <ap@apple.com>
13112
13113        Expose creation and modification times for LocalStorage
13114        https://bugs.webkit.org/show_bug.cgi?id=128018
13115
13116        Reviewed by Anders Carlsson.
13117
13118        * WebCore.exp.in: Export FileSystem functions to get file times.
13119
131202014-01-30  Maciej Stachowiak  <mjs@apple.com>
13121
13122        Implement (most of) URL API
13123        https://bugs.webkit.org/show_bug.cgi?id=127795
13124
13125        Reviewed by Alexey Proskuryakov.
13126
13127        Tests: fast/dom/DOMURL/get-href-attribute-port.html
13128               fast/dom/DOMURL/invalid-url-getters.html
13129               fast/dom/DOMURL/set-href-attribute-hash.html
13130               fast/dom/DOMURL/set-href-attribute-host.html
13131               fast/dom/DOMURL/set-href-attribute-hostname.html
13132               fast/dom/DOMURL/set-href-attribute-pathname.html
13133               fast/dom/DOMURL/set-href-attribute-port.html
13134               fast/dom/DOMURL/set-href-attribute-protocol.html
13135               fast/dom/DOMURL/set-href-attribute-search.html
13136               fast/dom/DOMURL/set-href-attribute-whitespace.html
13137               fast/dom/DOMURL/url-constructor.html
13138               fast/dom/DOMURL/url-origin.html
13139               fast/dom/DOMURL/url-password.html
13140               fast/dom/DOMURL/url-username.html
13141
13142        * CMakeLists.txt: Update for new IDL file.
13143        * DerivedSources.make: ditto
13144        * GNUmakefile.list.am: ditto
13145        * html/DOMURL.cpp: Implement URL() constructor and instance methods; cribbed from
13146        HTMLAnchorElement mostly
13147        (WebCore::DOMURL::DOMURL):
13148        (WebCore::DOMURL::href):
13149        (WebCore::DOMURL::setHref):
13150        (WebCore::DOMURL::toString):
13151        (WebCore::DOMURL::origin):
13152        (WebCore::DOMURL::protocol):
13153        (WebCore::DOMURL::setProtocol):
13154        (WebCore::DOMURL::username):
13155        (WebCore::DOMURL::setUsername):
13156        (WebCore::DOMURL::password):
13157        (WebCore::DOMURL::setPassword):
13158        (WebCore::DOMURL::host):
13159        (WebCore::parsePortFromStringPosition):
13160        (WebCore::DOMURL::setHost):
13161        (WebCore::DOMURL::hostname):
13162        (WebCore::DOMURL::setHostname):
13163        (WebCore::DOMURL::port):
13164        (WebCore::DOMURL::setPort):
13165        (WebCore::DOMURL::pathname):
13166        (WebCore::DOMURL::setPathname):
13167        (WebCore::DOMURL::search):
13168        (WebCore::DOMURL::setSearch):
13169        (WebCore::DOMURL::hash):
13170        (WebCore::DOMURL::setHash):
13171        * html/DOMURL.h:
13172        (WebCore::DOMURL::create):
13173        * html/DOMURL.idl: Update for new methods.
13174        * html/URLUtils.idl: Added. New IDL file that contains most of the interface.
13175
131762014-01-31  Bem Jones-Bey  <bjonesbe@adobe.com>
13177
13178        Create clipping path from <box> value
13179        https://bugs.webkit.org/show_bug.cgi?id=126205
13180
13181        Reviewed by Dirk Schulze.
13182
13183        This implements <box> values for border, content, and padding boxes.
13184        Since margin box is not implemented as a reference box, this does not
13185        implement margin box value.
13186
13187        Tests: css3/masking/clip-path-border-box.html
13188               css3/masking/clip-path-content-box.html
13189               css3/masking/clip-path-padding-box.html
13190
13191        * rendering/ClipPathOperation.h:
13192        (WebCore::BoxClipPathOperation::pathForReferenceRect): Implement.
13193        * rendering/RenderLayer.cpp:
13194        (WebCore::computeReferenceBox): Pull out reference box calculation.
13195        (WebCore::RenderLayer::setupClipPath): Add support for <box> values.
13196        * rendering/shapes/ShapeInfo.cpp:
13197        (WebCore::ShapeInfo<RenderType>::computedShape): Add FIXME comment.
13198
131992014-01-29  Oliver Hunt  <oliver@apple.com>
13200
13201        Make it possible to implement JS builtins in JS
13202        https://bugs.webkit.org/show_bug.cgi?id=127887
13203
13204        Reviewed by Michael Saboff.
13205
13206        Updating for the newly required headers.
13207
13208        Test: js/regress/array-prototype-every.html
13209
13210        * ForwardingHeaders/runtime/JSStringInlines.h: Added.
13211        * Modules/plugins/QuickTimePluginReplacement.cpp:
13212        * bindings/js/JSIDBAnyCustom.cpp:
13213        * bindings/js/JSIDBDatabaseCustom.cpp:
13214        * bindings/js/JSIDBObjectStoreCustom.cpp:
13215
132162014-01-31  Beth Dakin  <bdakin@apple.com>
13217
13218        Build fix.
13219
13220        * rendering/RenderLayerCompositor.cpp:
13221        (WebCore::RenderLayerCompositor::setRootExtendedBackgroundColor):
13222
132232014-01-31  Timothy Hatcher  <timothy@apple.com>
13224
13225        Properly handle cases where a profile couldn't be recorded and null is returned.
13226
13227        <rdar://problem/15957993> Crash with Inspector open at WebCore::ScriptProfile::buildInspectorObject
13228
13229        Reviewed by Joseph Pecoraro.
13230
13231        * inspector/InspectorTimelineAgent.cpp:
13232        (WebCore::InspectorTimelineAgent::didCallFunction): Null check profile.
13233        (WebCore::InspectorTimelineAgent::didEvaluateScript): Ditto.
13234
132352014-01-31  Beth Dakin  <bdakin@apple.com>
13236
13237        Extended background should only create margin tiles for pages with background 
13238        images
13239        https://bugs.webkit.org/show_bug.cgi?id=127876
13240        -and corresponding-
13241        <rdar://problem/15827632>
13242
13243        Reviewed by Simon Fraser.
13244
13245        Settings::backgroundShouldExtendBeyondPage() doesn't need to create margin tiles
13246        for pages with simple background colors. Instead, those pages should achieve the 
13247        same effect by setting a background color on RenderLayerCompositor's
13248        m_layerForOverhangAreas. For now, we should only create tiles when there is a 
13249        background image. We may want to extend this to other types of complicated 
13250        backgrounds in the future.
13251
13252        This patch makes callers that only care about the value of the setting always call 
13253        Settings::backgroundShouldExtendBeyondPage() rather than asking about margin 
13254        tiles. And callers that want to know about margin tiles can either keep querying 
13255        that directly or they can call FrameView::hasExtendedBackgroundRectForPainting(). 
13256        An extended background does not necessarily require an extended background rect 
13257        for painting, and this new FrameView function can make that distinction. 
13258
13259        When setBackgroundExtendsBeyondPage() is called, call RenderLayerCompositor:: 
13260        setRootExtendedBackgroundColor() with either the document background color, or an 
13261        invalid color, depending on whether you have or do not have an extended 
13262        background. Also call needsExtendedBackgroundRectForPainting() to determine if we 
13263        also need to extend the background rect, and then call 
13264        setHasExtendedBackgroundRectForPainting() with its value.
13265        * page/FrameView.cpp:
13266        (WebCore::FrameView::setBackgroundExtendsBeyondPage):
13267        (WebCore::FrameView::hasExtendedBackgroundRectForPainting):
13268
13269         Right now we only need to extend the background rect for documents with 
13270        background images on the root. This may be extended in the future.
13271        (WebCore::FrameView::needsExtendedBackgroundRectForPainting):
13272        (WebCore::FrameView::setHasExtendedBackgroundRectForPainting):
13273        (WebCore::FrameView::extendedBackgroundRectForPainting):
13274        * page/FrameView.h:
13275
13276        Expose defaultTileWidth and defaultTileHeight from TiledBacking.h so that we can 
13277        access the values from RenderLayerBacking.
13278        * platform/graphics/TiledBacking.h:
13279        * platform/graphics/ca/mac/TileController.mm:
13280
13281        hasExtendedBackgroundForPainting() is now called 
13282        hasExtendedBackgroundRectForPainting() to distinguish 
13283        the case where an extended RECT is needed.
13284        * rendering/RenderBox.cpp:
13285        (WebCore::RenderBox::repaintLayerRectsForImage):
13286        * rendering/RenderBoxModelObject.cpp:
13287        (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
13288
13289        Call setHasExtendedBackgroundRectForPainting() if relevant.
13290        * rendering/RenderElement.cpp:
13291        (WebCore::RenderElement::styleWillChange):
13292
13293        Don't call setTiledBackingHasMargins() right in the constructor because we only
13294        want margins if we have a background image, and we won't have that information
13295        yet.
13296        * rendering/RenderLayerBacking.cpp:
13297        (WebCore::RenderLayerBacking::RenderLayerBacking):
13298
13299        Clean up the variable name here. We are only setting margins when we need to 
13300        extend the background rect for painting. Also make us of newly-exposed 
13301        defaultTileWidth and Height.
13302        (WebCore::RenderLayerBacking::setTiledBackingHasMargins):
13303
13304        Remove RenderLayerBacking::tiledBackingHasMargin() since there aren't any more
13305        callers.
13306        * rendering/RenderLayerBacking.h:
13307        (WebCore::RenderLayerBacking::usingTiledBacking):
13308
13309        setMasksToBounds(false) based on the Setting, and not based on whether there are 
13310        tile margins.
13311        * rendering/RenderLayerCompositor.cpp:
13312        (WebCore::RenderLayerCompositor::updateBacking):
13313
13314        Return false from RenderLayerCompositor::requiresContentShadowLayer() if there is 
13315        an extended background.
13316        (WebCore::RenderLayerCompositor::requiresContentShadowLayer):
13317
13318        Setting the background color on m_layerForOverhangAreas is all we need to do to 
13319        create the extended background effect on pages that only have background colors. 
13320        (WebCore::RenderLayerCompositor::setRootExtendedBackgroundColor):
13321        (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
13322
13323        Remove mainFrameBackingIsTiledWithMargin() since there aren't any more callers,
13324        and add setRootExtendedBackgroundColor() so that we can update the color from 
13325        RenderView.
13326        * rendering/RenderLayerCompositor.h:
13327
13328        Revert the code that was added to paint background color here, since this should 
13329        all be covered by calling RenderLayerCompositor::setExtendedBackgroundColor(). 
13330        More complicated backgrounds will run through the full background painting code.
13331        * rendering/RenderView.cpp:
13332        (WebCore::RenderView::paintBoxDecorations):
13333        (WebCore::RenderView::backgroundRect):
13334
133352014-01-31  Jochen Eisinger  <jochen@chromium.org>
13336
13337        Remove FrameLoader's reloadWithOverrideURL and reloadWithRequest
13338        https://bugs.webkit.org/show_bug.cgi?id=128005
13339
13340        Reviewed by Darin Adler.
13341
13342        The former was used by chromium-android to implement the "request
13343        desktop version" feature, but is no longer used. After removing it,
13344        the latter is only invoked by reload(), so we can merge the method
13345        with it.
13346
13347        No new tests, just removing dead code.
13348
13349        * loader/FrameLoader.cpp:
13350        (WebCore::FrameLoader::reload):
13351        * loader/FrameLoader.h:
13352
133532014-01-31  Commit Queue  <commit-queue@webkit.org>
13354
13355        Unreviewed, rolling out r163182.
13356        http://trac.webkit.org/changeset/163182
13357        https://bugs.webkit.org/show_bug.cgi?id=128012
13358
13359        Broke lots of tests (Requested by smfr on #webkit).
13360
13361        * page/FrameView.cpp:
13362        (WebCore::FrameView::visibleContentsResized):
13363        * page/FrameView.h:
13364        * rendering/RenderView.cpp:
13365        (WebCore::isFixedPositionInViewport):
13366        (WebCore::RenderView::hasCustomFixedPosition):
13367        * rendering/RenderView.h:
13368
133692014-01-31  Brady Eidson  <beidson@apple.com>
13370
13371        IDB: openCursor() needs to prime the cursor with first position values
13372        https://bugs.webkit.org/show_bug.cgi?id=128008
13373
13374        Reviewed by Alexey Proskuryakov.
13375
13376        * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
13377        (WebCore::OpenCursorOperation::perform): If the server connection returns initial keys/values
13378          for the cursor, store them.
13379
13380        * Modules/indexeddb/IDBServerConnection.h:
13381
13382        * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
13383        (WebCore::IDBServerConnectionLevelDB::openCursor):
13384        * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
13385
133862014-01-31  Hans Muller  <hmuller@adobe.com>
13387
13388        [CSS Shapes] Image valued shape can fail
13389        https://bugs.webkit.org/show_bug.cgi?id=127588
13390
13391        Reviewed by Dean Jackson.
13392
13393        Correct the handling of image valued shapes that extend into or beyond the
13394        margin box. This can happen when object-fit causes one dimension of the shape
13395        to be greater than the corresponding margin box dimension.
13396
13397        Made some simplifications in RasterShapeIntervals::computeShapeMarginIntervals()
13398        by making the shapeMargin parameter an int, removing some unnecessary variables.
13399
13400        Revised the RasterShapeIntervals class. It's now a just a list of size() interval-lists,
13401        with valid indices: -offset() <= y < size() - offset(), or minY() to maxY(). If margin-top
13402        and shape-margin are specified, then offset() is the larger of shape-margin and margin-top.
13403        Similarly size() is the vertical size of the margin-box or the content-box expanded by
13404        shape-margin, whichever is larger. See computeShapeMarginIntervals().
13405
13406        Tests: fast/shapes/shape-outside-floats/shape-outside-image-fit-005.html
13407               fast/shapes/shape-outside-floats/shape-outside-image-fit-006.html
13408
13409        * rendering/shapes/RasterShape.cpp:
13410        (WebCore::RasterShapeIntervals::computeShapeMarginIntervals):
13411        (WebCore::RasterShape::marginIntervals):
13412        * rendering/shapes/RasterShape.h:
13413        (WebCore::RasterShapeIntervals::RasterShapeIntervals):
13414        (WebCore::RasterShapeIntervals::offset):
13415        (WebCore::RasterShapeIntervals::minY):
13416        (WebCore::RasterShapeIntervals::maxY):
13417        (WebCore::RasterShapeIntervals::intervalsAt):
13418        * rendering/shapes/Shape.cpp:
13419        (WebCore::Shape::createRasterShape):
13420        * rendering/shapes/Shape.h:
13421        * rendering/shapes/ShapeInfo.cpp:
13422
13423        (WebCore::getShapeImageReplacedRect):
13424        The rect that the image will be drawn into. This rect can imply image
13425        scaling and translation.
13426
13427        (WebCore::getShapeImageMarginRect):
13428        The margin rect relative too the (0,0 origin) shape content rect.
13429
13430        (WebCore::ShapeInfo<RenderType>::computedShape):
13431
134322014-01-31  Andreas Kling  <akling@apple.com>
13433
13434        Deduplicate Document::encoding().
13435        <https://webkit.org/b/128000>
13436
13437        Make Document::encoding() return an AtomicString so we don't duplicate
13438        the string every time it's called.
13439
13440        215 KB progression on Membuster3.
13441
13442        Reviewed by Simon Fraser.
13443
13444        * dom/Document.h:
13445        * dom/Document.cpp:
13446        (WebCore::Document::encoding):
13447
134482014-01-31  Simon Fraser  <simon.fraser@apple.com>
13449
13450        Even when in fixed layout mode, some platforms need to do layout after a viewport change
13451        https://bugs.webkit.org/show_bug.cgi?id=128003
13452
13453        Reviewed by Andreas Kling.
13454
13455        iOS uses fixed layout mode in both WK1 and WK2, but lays out fixed position
13456        elements relative to a variable viewport. This code assumed that fixed layout
13457        implies a fixed viewport.
13458        
13459        Fix by testing for useCustomFixedPositionLayoutRect() in the fixed layout case.
13460        
13461        Also removed RenderView::hasCustomFixedPosition() which is no longer used.
13462        
13463        * page/FrameView.cpp:
13464        (WebCore::FrameView::shouldLayoutAfterViewportChange):
13465        (WebCore::FrameView::visibleContentsResized):
13466        * page/FrameView.h:
13467        * rendering/RenderView.cpp:
13468        * rendering/RenderView.h:
13469
134702014-01-31  Zan Dobersek  <zdobersek@igalia.com>
13471
13472        Guard GLContextEGL::platformContext() with USE(3D_GRAPHICS)
13473        https://bugs.webkit.org/show_bug.cgi?id=120214
13474
13475        Reviewed by Philippe Normand.
13476
13477        Guard the GLContextEGL::platformContext() declaration and definiton with USE(3D_GRAPHICS)
13478        since this guard is used in the GLContext class, from which the GLContextEGL class overrides
13479        this method.
13480
13481        * platform/graphics/egl/GLContextEGL.cpp:
13482        * platform/graphics/egl/GLContextEGL.h:
13483
134842014-01-31  Beth Dakin  <bdakin@apple.com>
13485
13486        Sideways 'wobble' when scrolling with trackpad on Mavericks
13487        https://bugs.webkit.org/show_bug.cgi?id=127521
13488        -and corresponding-
13489        <rdar://problem/14137306>
13490
13491        Reviewed by Simon Fraser.
13492
13493        This patch takes http://trac.webkit.org/changeset/154535 which introduced 
13494        filtering wheel events for overflow areas to try to make them less sensitive to X 
13495        deltas when scrolling in a primarily Y direction, and it factors that code out 
13496        into its own class, now called WheelEventDeltaTracker. So now this new class can 
13497        use the same code to filter events for WebKit2’s EventDispatcher.
13498
13499        Files for WheelEventDeltaTracker.
13500        * CMakeLists.txt:
13501        * GNUmakefile.list.am:
13502        * WebCore.vcxproj/WebCore.vcxproj:
13503        * WebCore.vcxproj/WebCore.vcxproj.filters:
13504        * WebCore.xcodeproj/project.pbxproj:
13505
13506        WK2 needs these new WheelEventDeltaTracker functions.
13507        * WebCore.exp.in:
13508
13509        Move a bunch of code over to WheelEventDeltaTracker and use
13510        m_recentWheelEventTracker to serve the same purpose.
13511        * page/EventHandler.cpp:
13512        (WebCore::EventHandler::EventHandler):
13513        (WebCore::EventHandler::handleWheelEvent):
13514        (WebCore::EventHandler::defaultWheelEventHandler):
13515        * page/EventHandler.h:
13516
13517        Allow horizontal rubber banding now that we have some event filtering in place.
13518        * page/FrameView.cpp:
13519        (WebCore::FrameView::FrameView):
13520
13521        New files. Most of this code was from EventHandler.
13522        * page/WheelEventDeltaTracker.cpp: Added.
13523        (WebCore::WheelEventDeltaTracker::WheelEventDeltaTracker):
13524        (WebCore::WheelEventDeltaTracker::~WheelEventDeltaTracker):
13525        (WebCore::WheelEventDeltaTracker::beginTrackingDeltas):
13526        (WebCore::WheelEventDeltaTracker::endTrackingDeltas):
13527        (WebCore::WheelEventDeltaTracker::recordWheelEventDelta):
13528        (WebCore::deltaIsPredominantlyVertical):
13529        (WebCore::WheelEventDeltaTracker::dominantScrollGestureDirection):
13530        * page/WheelEventDeltaTracker.h: Added.
13531        (WebCore::WheelEventDeltaTracker::isTrackingDeltas):
13532
13533        New function to clone events while zero-ing out certain deltas.
13534        * platform/PlatformWheelEvent.h:
13535        (WebCore::PlatformWheelEvent::copyIgnoringHorizontalDelta):
13536        (WebCore::PlatformWheelEvent::copyIgnoringVerticalDelta):
13537
135382014-01-31  Simon Fraser  <simon.fraser@apple.com>
13539
13540        Don't do logging from Range::collectSelectionRects() on iOS
13541        https://bugs.webkit.org/show_bug.cgi?id=127999
13542
13543        Reviewed by Enrica Casucci.
13544
13545        Remove some logging code that printed Range stuff in debug builds.
13546
13547        * dom/Range.cpp:
13548        (WebCore::Range::collectSelectionRects):
13549
135502014-01-30  Simon Fraser  <simon.fraser@apple.com>
13551
13552        Make iOS fixed layer registration more like OS X
13553        https://bugs.webkit.org/show_bug.cgi?id=127983
13554
13555        Reviewed by Antti Koivisto.
13556
13557        Remove some #if PLATFORM(IOS) in the code related to registering
13558        viewport-constrained layers. The code behaves correctly now in WK1
13559        and WK2 based on the presence of a ScrollingCoordinator.
13560
13561        * rendering/RenderLayerCompositor.cpp:
13562        (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
13563        (WebCore::nearestScrollingCoordinatorAncestor):
13564        (WebCore::RenderLayerCompositor::registerOrUpdateViewportConstrainedLayer):
13565        (WebCore::RenderLayerCompositor::unregisterViewportConstrainedLayer):
13566
135672014-01-31  Commit Queue  <commit-queue@webkit.org>
13568
13569        Unreviewed, rolling out r163165.
13570        http://trac.webkit.org/changeset/163165
13571        https://bugs.webkit.org/show_bug.cgi?id=127997
13572
13573        broke 2 fast/table tests (Requested by kling on #webkit).
13574
13575        * rendering/RenderTable.cpp:
13576        (WebCore::RenderTable::updateLogicalWidth):
13577        (WebCore::RenderTable::computePreferredLogicalWidths):
13578
135792014-01-31  Anders Carlsson  <andersca@apple.com>
13580
13581        Don't allocate a new XMLHttpRequestStaticData every time staticData() is called
13582        https://bugs.webkit.org/show_bug.cgi?id=127996
13583
13584        Reviewed by Andreas Kling.
13585
13586        std::once_flag should be static.
13587
13588        * xml/XMLHttpRequest.cpp:
13589        (WebCore::staticData):
13590
135912014-01-31  Zalan Bujtas  <zalan@apple.com>
13592
13593        Subpixel rendering: Change RenderBoxModelObject's border functions' signature to support subpixel border painting.
13594        https://bugs.webkit.org/show_bug.cgi?id=127975
13595
13596        Reviewed by Simon Fraser.
13597
13598        From int to LayoutUnit.
13599
13600        Covered by existing tests. No change in functionality.
13601
13602        * platform/text/TextStream.cpp:
13603        (WebCore::TextStream::operator<<):
13604        * platform/text/TextStream.h:
13605        * rendering/RenderBoxModelObject.cpp:
13606        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
13607        * rendering/RenderBoxModelObject.h:
13608        (WebCore::RenderBoxModelObject::borderTop):
13609        (WebCore::RenderBoxModelObject::borderBottom):
13610        (WebCore::RenderBoxModelObject::borderLeft):
13611        (WebCore::RenderBoxModelObject::borderRight):
13612        (WebCore::RenderBoxModelObject::borderBefore):
13613        (WebCore::RenderBoxModelObject::borderAfter):
13614        (WebCore::RenderBoxModelObject::borderStart):
13615        (WebCore::RenderBoxModelObject::borderEnd):
13616        * rendering/RenderElement.cpp:
13617        (WebCore::RenderElement::repaintAfterLayoutIfNeeded):
13618        * rendering/RenderTable.cpp:
13619        (WebCore::RenderTable::borderBefore):
13620        (WebCore::RenderTable::borderAfter):
13621        * rendering/RenderTable.h:
13622        * rendering/RenderTableCell.cpp:
13623        (WebCore::RenderTableCell::borderLeft):
13624        (WebCore::RenderTableCell::borderRight):
13625        (WebCore::RenderTableCell::borderTop):
13626        (WebCore::RenderTableCell::borderBottom):
13627        (WebCore::RenderTableCell::borderStart):
13628        (WebCore::RenderTableCell::borderEnd):
13629        (WebCore::RenderTableCell::borderBefore):
13630        (WebCore::RenderTableCell::borderAfter):
13631        * rendering/RenderTableCell.h:
13632
136332014-01-31  Brady Eidson  <beidson@apple.com>
13634
13635        IDB: Index writing
13636        <rdar://problem/15899973> and https://bugs.webkit.org/show_bug.cgi?id=127868
13637
13638        Reviewed by Anders Carlsson.
13639
13640        * Modules/indexeddb/IDBDatabaseBackend.cpp:
13641        (WebCore::IDBDatabaseBackend::openConnectionInternal): Remove outdated comment and ASSERT.
13642
13643        * Modules/indexeddb/IDBObjectStore.cpp:
13644        (WebCore::IDBObjectStore::createIndex): Conditionalize a block of code that is LevelDB-only.
13645
13646        Remove getColumnBlob().  Nobody used it, and it was dangerous because it reset the statement:
13647        * platform/sql/SQLiteStatement.cpp:
13648        * platform/sql/SQLiteStatement.h:
13649        * WebCore.exp.in:
13650
136512014-01-30  László Langó  <lango@inf.u-szeged.hu>
13652
13653        [CSS Grid Layout] Do log(n) search in the named line vectors when positioning named line spans.
13654        https://bugs.webkit.org/show_bug.cgi?id=125396
13655
13656        Reviewed by Andreas Kling.
13657
13658        Implement the suggested FIXMEs and do a log search in the named line
13659        vectors. This maintains the previous (somewhat tricky) behavior by
13660        using std::lower_bound and std::upper_bound. No difference in existing
13661        performance tests, but should scale much better for big grids.
13662
13663        Backported from Blink:
13664        https://chromium.googlesource.com/chromium/blink/+/9fc477af0be708c490a6b90e65e412b0c22b161f
13665
13666        No new tests, no behavior change.
13667
13668        * rendering/RenderGrid.cpp:
13669        (WebCore::RenderGrid::resolveRowStartColumnStartNamedGridLinePositionAgainstOppositePosition):
13670        (WebCore::RenderGrid::resolveRowEndColumnEndNamedGridLinePositionAgainstOppositePosition):
13671
136722014-01-31  László Langó  <lango@inf.u-szeged.hu>
13673
13674        Fix table sizing when 'max-width' is used.
13675        https://bugs.webkit.org/show_bug.cgi?id=115156
13676
13677        Reviewed by Andreas Kling.
13678
13679        r143534 make <table> abide by 'max-width' all the time which is wrong.
13680        Per the CSS specification, a table should be wide enough to fit its
13681        content, regardless of 'max-width'.
13682
13683        r140479 fixed part of the regression from that change but made the
13684        same fatal mistake by constraining min-content to fit 'max-width'.
13685
13686        The fix is to avoid constraining min-content and ensure that the table
13687        logical width is at least its min-content size.
13688
13689        Backported from Blink:
13690        https://chromium.googlesource.com/chromium/blink/+/0bca0dec4895aeeb2054ba36316e984e4ebed06f
13691
13692        Test: fast/table/html-table-width-max-width-constrained.html
13693
13694        * rendering/RenderTable.cpp:
13695        (WebCore::RenderTable::updateLogicalWidth):
13696        (WebCore::RenderTable::computePreferredLogicalWidths):
13697
136982014-01-30  Simon Fraser  <simon.fraser@apple.com>
13699
13700        Fix iOS build after r163156.
13701        
13702        Need to convert LayoutSizes to FloatSizes.
13703
13704        * bindings/objc/DOMUIKitExtensions.mm:
13705        (-[DOMNode borderRadii]):
13706
137072014-01-30  Zalan Bujtas  <zalan@apple.com>
13708
13709        Subpixel rendering: Change drawRect()/drawLine() signature to support subpixel rendering.
13710        https://bugs.webkit.org/show_bug.cgi?id=127961
13711
13712        Reviewed by Simon Fraser.
13713
13714        IntRect/IntPoint -> FloatRect/FloatPoint.
13715
13716        Covered by existing tests. No change in functionality.
13717
13718        * platform/graphics/GraphicsContext.h:
13719        * platform/graphics/cairo/GraphicsContextCairo.cpp:
13720        (WebCore::GraphicsContext::drawRect):
13721        (WebCore::GraphicsContext::drawLine):
13722        * platform/graphics/cg/GraphicsContextCG.cpp:
13723        (WebCore::GraphicsContext::drawRect):
13724        (WebCore::GraphicsContext::drawLine): Keep 'distance' int for DottedStroke and DashedStroke for now.
13725        * platform/graphics/wince/GraphicsContextWinCE.cpp:
13726        (WebCore::GraphicsContext::drawRect):
13727        (WebCore::GraphicsContext::drawLine):
13728
137292014-01-30  Simon Fraser  <simon.fraser@apple.com>
13730
13731        Remove ScrollingCoordinator::setLayerIsContainerForFixedPositionLayers() which is no longer used
13732        https://bugs.webkit.org/show_bug.cgi?id=127981
13733
13734        Reviewed by Andreas Kling.
13735
13736        setLayerIsContainerForFixedPositionLayers() was only used by Chromium and Blackberry,
13737        so remove it.
13738        
13739        This allows the removal of RenderLayerBacking::registerScrollingLayers(),
13740        moving the single useful line of code to the caller.
13741
13742        * page/scrolling/ScrollingCoordinator.h:
13743        * rendering/RenderLayerBacking.cpp:
13744        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
13745        * rendering/RenderLayerBacking.h:
13746        * rendering/RenderLayerCompositor.cpp:
13747        (WebCore::RenderLayerCompositor::ensureRootLayer):
13748
137492014-01-30  Simon Fraser  <simon.fraser@apple.com>
13750
13751        Some fixed position elements disappear in WK2 on iOS
13752        https://bugs.webkit.org/show_bug.cgi?id=127977
13753
13754        Reviewed by Tim Horton.
13755
13756        Use the appropriate rectangle to ensure that on iOS we don't 
13757        consider a fixed element outside the viewport when zoomed in,
13758        and therefore never make a compositing layer for it.
13759
13760        Also remove the iOS-specific code in RenderLayerCompositor::requiresCompositingForPosition(),
13761        since it's OK to use the common code. Doing so requires that we
13762        set the "acceleratedCompositingForFixedPositionEnabled" setting to true
13763        for iOS, so do so.
13764
13765        * page/Settings.cpp:
13766        * page/Settings.in:
13767        * rendering/RenderLayerCompositor.cpp:
13768        (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
13769
137702014-01-30  Zalan Bujtas  <zalan@apple.com>
13771
13772        Subpixel rendering: Make RoundedRect layout unit aware.
13773        https://bugs.webkit.org/show_bug.cgi?id=127779
13774
13775        Reviewed by Simon Fraser.
13776
13777        In order to draw hairline borders, RoundedRect needs to be
13778        LayoutUnit based.
13779
13780        No change in behavior.
13781
13782        * platform/graphics/GraphicsContext.cpp:
13783        (WebCore::GraphicsContext::fillRoundedRect):
13784        * platform/graphics/GraphicsContext.h:
13785        * platform/graphics/RoundedRect.cpp:
13786        (WebCore::RoundedRect::Radii::scale):
13787        (WebCore::RoundedRect::Radii::expand):
13788        (WebCore::RoundedRect::inflateWithRadii):
13789        (WebCore::RoundedRect::RoundedRect):
13790        (WebCore::RoundedRect::intersectsQuad):
13791        * platform/graphics/RoundedRect.h:
13792        (WebCore::RoundedRect::Radii::Radii):
13793        (WebCore::RoundedRect::Radii::setTopLeft):
13794        (WebCore::RoundedRect::Radii::setTopRight):
13795        (WebCore::RoundedRect::Radii::setBottomLeft):
13796        (WebCore::RoundedRect::Radii::setBottomRight):
13797        (WebCore::RoundedRect::Radii::topLeft):
13798        (WebCore::RoundedRect::Radii::topRight):
13799        (WebCore::RoundedRect::Radii::bottomLeft):
13800        (WebCore::RoundedRect::Radii::bottomRight):
13801        (WebCore::RoundedRect::Radii::expand):
13802        (WebCore::RoundedRect::Radii::shrink):
13803        (WebCore::RoundedRect::rect):
13804        (WebCore::RoundedRect::setRect):
13805        (WebCore::RoundedRect::move):
13806        (WebCore::RoundedRect::inflate):
13807        (WebCore::RoundedRect::expandRadii):
13808        (WebCore::RoundedRect::shrinkRadii):
13809        * platform/graphics/ShadowBlur.cpp:
13810        (WebCore::ScratchBuffer::setCachedShadowValues):
13811        (WebCore::ScratchBuffer::setCachedInsetShadowValues):
13812        (WebCore::computeSliceSizesFromRadii):
13813        (WebCore::ShadowBlur::templateSize):
13814        (WebCore::ShadowBlur::drawRectShadow):
13815        (WebCore::ShadowBlur::drawInsetShadow):
13816        (WebCore::ShadowBlur::drawRectShadowWithoutTiling):
13817        (WebCore::ShadowBlur::drawInsetShadowWithoutTiling):
13818        (WebCore::ShadowBlur::drawInsetShadowWithTiling):
13819        (WebCore::ShadowBlur::drawRectShadowWithTiling):
13820        (WebCore::ShadowBlur::drawLayerPieces):
13821        (WebCore::ShadowBlur::beginShadowLayer):
13822        * platform/graphics/ShadowBlur.h:
13823        * platform/graphics/cairo/GraphicsContextCairo.cpp:
13824        (WebCore::GraphicsContext::clipOut):
13825        (WebCore::GraphicsContext::fillRoundedRect):
13826        (WebCore::GraphicsContext::fillRectWithRoundedHole):
13827        * platform/graphics/cg/GraphicsContextCG.cpp:
13828        (WebCore::GraphicsContext::platformInit):
13829        * platform/graphics/wince/GraphicsContextWinCE.cpp:
13830        (WebCore::GraphicsContext::clipOut):
13831        (WebCore::GraphicsContext::fillRoundedRect):
13832        * rendering/RenderBoxModelObject.cpp:
13833        (WebCore::RenderBoxModelObject::paintOneBorderSide):
13834        (WebCore::calculateSideRect):
13835        (WebCore::RenderBoxModelObject::paintBorderSides):
13836        (WebCore::RenderBoxModelObject::paintBorder):
13837        (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
13838        (WebCore::calculateSideRectIncludingInner):
13839        (WebCore::calculateAdjustedInnerBorder):
13840        (WebCore::areaCastingShadowInHole):
13841        (WebCore::RenderBoxModelObject::paintBoxShadow):
13842        * rendering/RenderBoxModelObject.h:
13843        * rendering/RenderThemeSafari.cpp:
13844        (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
13845        (WebCore::RenderThemeSafari::paintSliderTrack):
13846
138472014-01-30  Martin Robinson  <mrobinson@igalia.com>
13848
13849        [GTK] [CMake] Add support for building against GTK+ 2
13850        https://bugs.webkit.org/show_bug.cgi?id=127959
13851
13852        Reviewed by Anders Carlsson.
13853
13854        * PlatformGTK.cmake: Use the new API version variable and don't use GTK3 directly.
13855
138562014-01-30  Jessie Berlin  <jberlin@apple.com>
13857
13858        Speculative build fix.
13859
13860        * page/animation/CSSPropertyAnimation.cpp:
13861
138622014-01-30  Zalan Bujtas  <zalan@apple.com>
13863
13864        Subpixel rendering: Change BorderData's width from unsigned to float to enable subpixel border painting.
13865        https://bugs.webkit.org/show_bug.cgi?id=127949
13866
13867        Reviewed by Andreas Kling.
13868
13869        Covered by existing tests. No change in functionality.
13870
13871        * css/DeprecatedStyleBuilder.cpp:
13872        (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
13873        * page/animation/CSSPropertyAnimation.cpp:
13874        (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
13875        * rendering/RenderTable.cpp:
13876        (WebCore::RenderTable::calcBorderStart):
13877        (WebCore::RenderTable::calcBorderEnd):
13878        * rendering/style/BorderValue.h:
13879        (WebCore::BorderValue::BorderValue):
13880        (WebCore::BorderValue::width):
13881        * rendering/style/RenderStyle.cpp:
13882        (WebCore::RenderStyle::borderBeforeWidth):
13883        (WebCore::RenderStyle::borderAfterWidth):
13884        (WebCore::RenderStyle::borderStartWidth):
13885        (WebCore::RenderStyle::borderEndWidth):
13886        * rendering/style/RenderStyle.h:
13887
138882014-01-30  David Kilzer  <ddkilzer@apple.com>
13889
13890        Add security-checked cast for WebCore::CachedImage
13891        <http://webkit.org/b/127967>
13892
13893        Reviewed by Darin Adler.
13894
13895        * loader/cache/CachedImage.h:
13896        (WebCore::toCachedImage): Add.
13897        (WebCore::toCachedImageManual): Add.
13898        * loader/cache/CachedResource.h:
13899        (CACHED_RESOURCE_TYPE_CASTS): Add macro.
13900
13901        * loader/cache/CachedImage.cpp:
13902        (WebCore::CachedImage::switchClientsToRevalidatedResource):
13903        (WebCore::CachedImage::resumeAnimatingImagesForLoader):
13904        * loader/cache/CachedResourceLoader.cpp:
13905        (WebCore::CachedResourceLoader::requestImage):
13906        * loader/cache/MemoryCache.cpp:
13907        (WebCore::MemoryCache::removeImageFromCache):
13908        - Use toCachedImage() and toCachedImageManual().
13909
139102014-01-30  Simon Fraser  <simon.fraser@apple.com>
13911
13912        Fixed position objects are clipped in iOS WK2
13913        https://bugs.webkit.org/show_bug.cgi?id=127974
13914
13915        Reviewed by Darin Adler.
13916        
13917        We clip compositing layers for fixed position objects to the viewport
13918        to avoid huge layers. However, because iOS changes the fixed position
13919        rect when zooming, we need a different rect for iOS.
13920        
13921        In WK1 (when we have a platformWidget), we can use
13922        visibleContentRect(ScrollableArea::LegacyIOSDocumentVisibleRect)
13923        which is effectively the whole document. However in WK2 this is
13924        the real visibleContentRect(), so there we use unscaledDocumentRect().
13925
13926        * page/FrameView.cpp:
13927        (WebCore::FrameView::viewportConstrainedExtentRect):
13928        * page/FrameView.h:
13929        * rendering/RenderLayerBacking.cpp:
13930        (WebCore::RenderLayerBacking::updateCompositedBounds):
13931
139322014-01-28  Timothy Hatcher  <timothy@apple.com>
13933
13934        Add column number and call timing support to LegacyProfiler.
13935
13936        https://bugs.webkit.org/show_bug.cgi?id=127764
13937
13938        Reviewed by Joseph Pecoraro.
13939
13940        * bindings/js/ScriptProfile.cpp:
13941        (WebCore::ScriptProfile::idleTime):
13942        (WebCore::buildInspectorObjectFor):
13943        (WebCore::ScriptProfile::buildInspectorObject):
13944        * bindings/js/ScriptProfile.h:
13945        * inspector/InspectorHeapProfilerAgent.cpp:
13946        (WebCore::InspectorHeapProfilerAgent::createSnapshotHeader):
13947        * inspector/InspectorProfilerAgent.cpp:
13948        (WebCore::InspectorProfilerAgent::createSnapshotHeader):
13949        (WebCore::InspectorProfilerAgent::getCPUProfile):
13950        * inspector/ScriptProfileNode.idl:
13951        * inspector/TimelineRecordFactory.cpp:
13952        (WebCore::TimelineRecordFactory::appendProfile):
13953        * inspector/protocol/Profiler.json:
13954
139552014-01-26  Timothy Hatcher  <timothy@apple.com>
13956
13957        Include profile with FunctionCall and EvaluateScript Timeline records.
13958
13959        https://bugs.webkit.org/show_bug.cgi?id=127663
13960
13961        Reviewed by Joseph Pecoraro.
13962
13963        * bindings/js/JSCallbackData.cpp:
13964        (WebCore::JSCallbackData::invokeCallback):
13965        * bindings/js/JSEventListener.cpp:
13966        (WebCore::JSEventListener::handleEvent):
13967        * bindings/js/JSMutationCallback.cpp:
13968        (WebCore::JSMutationCallback::call):
13969        * bindings/js/ScheduledAction.cpp:
13970        (WebCore::ScheduledAction::executeFunctionInContext):
13971        * bindings/js/ScriptController.cpp:
13972        (WebCore::ScriptController::evaluateInWorld):
13973        * inspector/InspectorController.cpp:
13974        (WebCore::InspectorController::didCallInjectedScriptFunction):
13975        * inspector/InspectorController.h:
13976        * inspector/InspectorInstrumentation.cpp:
13977        (WebCore::InspectorInstrumentation::didCallFunctionImpl):
13978        (WebCore::InspectorInstrumentation::didEvaluateScriptImpl):
13979        * inspector/InspectorInstrumentation.h:
13980        (WebCore::InspectorInstrumentation::didCallFunction):
13981        (WebCore::InspectorInstrumentation::didEvaluateScript):
13982        * inspector/InspectorTimelineAgent.cpp:
13983        (WebCore::InspectorTimelineAgent::willCallFunction):
13984        (WebCore::InspectorTimelineAgent::didCallFunction):
13985        (WebCore::InspectorTimelineAgent::willEvaluateScript):
13986        (WebCore::InspectorTimelineAgent::didEvaluateScript):
13987        (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
13988        * inspector/InspectorTimelineAgent.h:
13989        * inspector/TimelineRecordFactory.cpp:
13990        (WebCore::TimelineRecordFactory::appendProfile):
13991        * inspector/TimelineRecordFactory.h:
13992        * inspector/WorkerInspectorController.cpp:
13993        (WebCore::WorkerInspectorController::didCallInjectedScriptFunction):
13994        * inspector/WorkerInspectorController.h:
13995
139962014-01-30  Joseph Pecoraro  <pecoraro@apple.com>
13997
13998        Remove now-empty ScriptController::setCaptureCallStackForUncaughtExceptions
13999        https://bugs.webkit.org/show_bug.cgi?id=127964
14000
14001        Reviewed by Timothy Hatcher.
14002
14003        Remove empty function. It was only needed by v8 at one point.
14004
14005        * bindings/js/ScriptController.h:
14006        * bindings/js/ScriptController.cpp:
14007        Remove empty function.
14008
14009        * inspector/InspectorConsoleAgent.h:
14010        * inspector/InspectorConsoleAgent.cpp:
14011        (WebCore::InspectorConsoleAgent::enable):
14012        (WebCore::InspectorConsoleAgent::disable):
14013        Remove callers and related tracking state.
14014
140152014-01-30  Roger Fong  <roger_fong@apple.com>
14016
14017        WebGL load policy should be queried for the top level document.
14018        https://bugs.webkit.org/show_bug.cgi?id=127937.
14019        <rdar://problem/15950122>
14020
14021        Reviewed by Timothy Horton.
14022
14023        * html/HTMLCanvasElement.cpp:
14024        (WebCore::HTMLCanvasElement::getContext):
14025
140262014-01-27  Jeffrey Pfau  <jpfau@apple.com>
14027
14028        Add a method for schemes to be registered as supporting cache partitioning
14029        https://bugs.webkit.org/show_bug.cgi?id=127739
14030
14031        Reviewed by Darin Adler.
14032
14033        Currently, this assumes that schemes supporting cache partitioning
14034        also support (scheme, host) doubles for the scheme. Furthermore,
14035        the scheme is currently discarded when partitioning and is only
14036        checked to ensure that partitioning is supported for that scheme: it
14037        is assumed that all origins with the same host double should be binned
14038        together, regardless of scheme.
14039
14040        * WebCore.exp.in:
14041        * page/SecurityOrigin.cpp:
14042        (WebCore::SecurityOrigin::cachePartition):
14043        * platform/SchemeRegistry.cpp:
14044        (WebCore::CachePartitioningSchemes):
14045        (WebCore::SchemeRegistry::registerURLSchemeAsCachePartitioned):
14046        (WebCore::SchemeRegistry::shouldPartitionCacheForURLScheme):
14047        * platform/SchemeRegistry.h:
14048
140492014-01-30  Jer Noble  <jer.noble@apple.com>
14050
14051        [iOS] Convert blocks to lambdas in iOS Fullscreen code.
14052        https://bugs.webkit.org/show_bug.cgi?id=127946
14053
14054        Reviewed by Anders Carlsson.
14055
14056        Pushing a block into a std::function will eventually cause a crash, since std::function
14057        does not know about Block_copy and Block_release.
14058
14059        Lamdas can be intrinsicly converted to blocks, but not vice versa. Switch over all the
14060        blocks in the new iOS Fullscreen code to use lamdas, and use the ref-counted this object
14061        directly rather than implicitly.
14062
14063        * platform/ios/WebVideoFullscreenControllerAVKit.mm:
14064        (-[WebVideoFullscreenController exitFullscreen]):
14065        * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
14066        (WebVideoFullscreenInterfaceAVKit::setVideoLayer):
14067        (WebVideoFullscreenInterfaceAVKit::enterFullscreen):
14068        (WebVideoFullscreenInterfaceAVKit::exitFullscreen):
14069
140702014-01-30  Martin Robinson  <mrobinson@igalia.com>
14071
14072        [GTK] [CMake] Add a "make dist" target
14073        https://bugs.webkit.org/show_bug.cgi?id=116378
14074
14075        Reviewed by Gustavo Noronha Silva.
14076
14077        * CMakeLists.txt: Don't build WebKitVersion.h for WebKitGTK+. We don't use it
14078        and we don't want to distribute the dependency.
14079
140802014-01-30  Brady Eidson  <beidson@apple.com>
14081
14082        IDB: ObjectStore cursor advance() support
14083        <rdar://problem/15779645> and https://bugs.webkit.org/show_bug.cgi?id=127866
14084
14085        Reviewed by Sam Weinig.
14086
14087        Add IDBKeyData sorting for database collation:
14088        * Modules/indexeddb/IDBKeyData.cpp:
14089        (WebCore::IDBKeyData::compare):
14090        * Modules/indexeddb/IDBKeyData.h:
14091
14092        * WebCore.exp.in:
14093
14094        * platform/sql/SQLiteTransaction.h:
14095        (WebCore::SQLiteTransaction::database):
14096
140972014-01-30  David Kilzer  <ddkilzer@apple.com>
14098
14099        De-virtual-ize CachedResource::isImage()
14100        <http://webkit.org/b/127936>
14101
14102        Reviewed by Andreas Kling.
14103
14104        Also replace explicit type() checks with isImage().
14105
14106        * loader/SubresourceLoader.cpp:
14107        (WebCore::SubresourceLoader::willSendRequest): Use isImage().
14108        * loader/cache/CachedImage.h:
14109        (WebCore::CachedResource::isImage): Remove virtual override.
14110        * loader/cache/CachedResource.h:
14111        (WebCore::CachedResource::isImage): Check type() instead of
14112        defining a virtual method that returns false by default.
14113        * loader/cache/CachedResourceLoader.cpp:
14114        (WebCore::CachedResourceLoader::reloadImagesIfNotDeferred): Use isImage().
14115
141162014-01-30  Eric Carlson  <eric.carlson@apple.com>
14117
14118        [iOS] don't update media layers on main thread when using AVFoundation
14119        https://bugs.webkit.org/show_bug.cgi?id=127931
14120
14121        Reviewed by Simon Fraser.
14122
14123        * platform/graphics/GraphicsLayerClient.h:
14124        (WebCore::GraphicsLayerClient::mediaLayerMustBeUpdatedOnMainThread): Add mediaLayerMustBeUpdatedOnMainThread.
14125
14126        * platform/graphics/ca/GraphicsLayerCA.cpp:
14127        (WebCore::GraphicsLayerCA::mediaLayerMustBeUpdatedOnMainThread): Ask the client if graphics layers
14128            should be updated on the main thread.
14129
14130        * rendering/RenderLayerBacking.cpp:
14131        (WebCore::RenderLayerBacking::mediaLayerMustBeUpdatedOnMainThread): New, check settings to see
14132            if video plug-in proxy is enabled.
14133        * rendering/RenderLayerBacking.h:
14134
141352014-01-30  Jer Noble  <jer.noble@apple.com>
14136
14137        [MediaControls][iOS] Fix a couple of UI bugs in the iOS Media Controls
14138        https://bugs.webkit.org/show_bug.cgi?id=127929
14139
14140        Reviewed by Eric Carlson.
14141
14142        Two UI bugs in the iOS Media Controls: the text in the controls should use the apple
14143        system font rather than the webkit small control font, and the buttons in the controls
14144        are clipped due to an "off by one" error when calculating the SVG image dimensions.
14145
14146        * Modules/mediacontrols/mediaControlsiOS.css:
14147        (::-webkit-media-controls):
14148        (audio::-webkit-media-controls-play-button):
14149        (audio::-webkit-media-controls-fullscreen-button):
14150        (audio::-webkit-media-controls-time-remaining-display):
14151
141522014-01-30  Jeremy Jones  <jeremyj@apple.com>
14153
14154        Refactor WebVideoFullscreenController separating AVKit from MediaElement.
14155        https://bugs.webkit.org/show_bug.cgi?id=127762
14156
14157        Reviewed by Jer Noble.
14158
14159        Refactor WebVideoFullscreenControllerAVKit implementation into two abstract interfaces with concrete implementations: 
14160        WebVideoFullscreenModel, WebVideoFullscreenInterface, WebVideoFullscreenModelMediaElement, WebVideoFullscreenInterfaceAVKit.
14161
14162        * WebCore.xcodeproj/project.pbxproj:
14163        * platform/ios/WebVideoFullscreenControllerAVKit.h:
14164        * platform/ios/WebVideoFullscreenControllerAVKit.mm:
14165        (-[WebVideoFullscreenController init]):
14166        (-[WebVideoFullscreenController dealloc]):
14167        (-[WebVideoFullscreenController enterFullscreen:]):
14168        (-[WebVideoFullscreenController exitFullscreen]):
14169        * platform/ios/WebVideoFullscreenInterface.h: Copied from Source/WebCore/platform/ios/WebVideoFullscreenControllerAVKit.h.
14170        (WebCore::WebVideoFullscreenInterface::~WebVideoFullscreenInterface):
14171        * platform/ios/WebVideoFullscreenInterfaceAVKit.h: Added.
14172        (WebCore::WebVideoFullscreenInterfaceAVKit::~WebVideoFullscreenInterfaceAVKit):
14173        * platform/ios/WebVideoFullscreenInterfaceAVKit.mm: Added.
14174        (NS_ENUM):
14175        (-[WebAVPlayerController init]):
14176        (-[WebAVPlayerController dealloc]):
14177        (-[WebAVPlayerController forwardingTargetForSelector:]):
14178        (-[WebAVPlayerController playerViewController:shouldDismissWithReason:]):
14179        (-[WebAVPlayerController play:]):
14180        (-[WebAVPlayerController pause:]):
14181        (-[WebAVPlayerController togglePlayback:]):
14182        (-[WebAVPlayerController isPlaying]):
14183        (-[WebAVPlayerController setPlaying:]):
14184        (+[WebAVPlayerController keyPathsForValuesAffectingPlaying]):
14185        (-[WebAVPlayerController seekToTime:]):
14186        (:m_videoFullscreenModel):
14187        (WebVideoFullscreenInterfaceAVKit::setWebVideoFullscreenModel):
14188        (WebVideoFullscreenInterfaceAVKit::setDuration):
14189        (WebVideoFullscreenInterfaceAVKit::setCurrentTime):
14190        (WebVideoFullscreenInterfaceAVKit::setRate):
14191        (WebVideoFullscreenInterfaceAVKit::setVideoDimensions):
14192        (WebVideoFullscreenInterfaceAVKit::setVideoLayer):
14193        (WebVideoFullscreenInterfaceAVKit::enterFullscreen):
14194        (WebVideoFullscreenInterfaceAVKit::exitFullscreen):
14195        * platform/ios/WebVideoFullscreenModel.h: Copied from Source/WebCore/platform/ios/WebVideoFullscreenControllerAVKit.h.
14196        (WebCore::WebVideoFullscreenModel::~WebVideoFullscreenModel):
14197        * platform/ios/WebVideoFullscreenModelMediaElement.h: Copied from Source/WebCore/platform/ios/WebVideoFullscreenControllerAVKit.h.
14198        (WebCore::WebVideoFullscreenModelMediaElement::~WebVideoFullscreenModelMediaElement):
14199        (WebCore::WebVideoFullscreenModelMediaElement::setWebVideoFullscreenInterface):
14200        * platform/ios/WebVideoFullscreenModelMediaElement.mm: Added.
14201        (WebVideoFullscreenModelMediaElement::setMediaElement):
14202        (WebVideoFullscreenModelMediaElement::handleEvent):
14203        (WebVideoFullscreenModelMediaElement::requestExitFullScreen):
14204        (WebVideoFullscreenModelMediaElement::play):
14205        (WebVideoFullscreenModelMediaElement::pause):
14206        (WebVideoFullscreenModelMediaElement::togglePlayState):
14207        (WebVideoFullscreenModelMediaElement::seekToTime):
14208        (WebVideoFullscreenModelMediaElement::didExitFullscreen):
14209
142102014-01-30  Jer Noble  <jer.noble@apple.com>
14211
14212        [MediaControls][iOS] Add a "start load" button.
14213        https://bugs.webkit.org/show_bug.cgi?id=127861
14214
14215        Reviewed by Eric Carlson.
14216
14217        Add a "start load" button which replaces the controls on platforms
14218        where inline playback is not allowed, or when playback without a
14219        user gesture is not allowed.
14220
14221        Add an accessor to MediaControlsHost to query whether inline playback is allowed.:
14222        * Modules/mediacontrols/MediaControlsHost.cpp:
14223        (WebCore::MediaControlsHost::mediaPlaybackAllowsInline):
14224        * Modules/mediacontrols/MediaControlsHost.h:
14225        * Modules/mediacontrols/MediaControlsHost.idl:
14226        * html/HTMLMediaElement.h:
14227        (WebCore::HTMLMediaElement::mediaSession):
14228
14229        Update the base controller to allow more functions to be overridden:
14230        * Modules/mediacontrols/mediaControlsApple.js:
14231        (Controller):
14232        (Controller.prototype.shouldHaveAnyUI):
14233        (Controller.prototype.updateBase):
14234        (Controller.prototype.setControlsType):
14235        (Controller.prototype.updateControls):
14236        (Controller.prototype.handleFullscreenChange):
14237
14238        Add the new button, and allow for switching between "start", "inline", and "fullscreen" controls:
14239        * Modules/mediacontrols/mediaControlsiOS.js:
14240        (ControllerIOS.prototype.addVideoListeners):
14241        (ControllerIOS.prototype.removeVideoListeners):
14242        (ControllerIOS.prototype.createBase):
14243        (ControllerIOS.prototype.shouldHaveStartPlaybackButton):
14244        (ControllerIOS.prototype.shouldHaveControls):
14245        (ControllerIOS.prototype.shouldHaveAnyUI):
14246        (ControllerIOS.prototype.createControls):
14247        (ControllerIOS.prototype.setControlsType):
14248        (ControllerIOS.prototype.addStartPlaybackControls):
14249        (ControllerIOS.prototype.removeStartPlaybackControls):
14250        (ControllerIOS.prototype.updateControls):
14251        (ControllerIOS.prototype.handleStartPlaybackButtonTouchStart):
14252        (ControllerIOS.prototype.handleStartPlaybackButtonTouchEnd):
14253        (ControllerIOS.prototype.handleStartPlaybackButtonTouchCancel):
14254        (ControllerIOS.prototype.handleReadyStateChange):
14255
14256        Add the new art:
14257        * Modules/mediacontrols/mediaControlsiOS.css:
14258        (audio::-webkit-media-controls-start-playback-button):
14259        (audio::-webkit-media-controls-start-playback-button.failed):
14260
142612014-01-30  Tim Horton  <timothy_horton@apple.com>
14262
14263        WebKit2 View Gestures (Swipe): Provide a way for clients to provide views to swipe
14264        https://bugs.webkit.org/show_bug.cgi?id=127891
14265        <rdar://problem/15931413>
14266
14267        Reviewed by Anders Carlsson.
14268
14269        * WebCore.exp.in:
14270        A surprising export.
14271
142722014-01-30  Beth Dakin  <bdakin@apple.com>
14273
14274        https://bugs.webkit.org/show_bug.cgi?id=127371
14275        Explore new API that could be used to help build infinitely scrolling websites
14276        -and corresponding-
14277        <rdar://problem/15244768>
14278
14279        Reviewed by Sam Weinig.
14280
14281        This patch adds 4 new events called webkitwillrevealbottom, webkitwillrevealtop, 
14282        webkitwillrevealleft, and webkitwillrevealright. These events will fire when the 
14283        user has scrolled close to corresponding edge of the document. Right now that is 
14284        defined to be one viewport away from the corresponding edge. 
14285
14286        FrameView::scrollPositionChanged() and 
14287        FrameView::scrollPositionChangedViaPlatformWidget() now take two parameters 
14288        representing the old scroll position and the new position.
14289        * WebCore.exp.in:
14290
14291        New events.
14292        * dom/Document.h:
14293        * dom/Document.idl:
14294        * dom/Element.h:
14295        * dom/Element.idl:
14296        * dom/EventNames.h:
14297        * html/HTMLAttributeNames.in:
14298        * html/HTMLElement.cpp:
14299        (WebCore::populateEventNameForAttributeLocalNameMap):
14300        * page/DOMWindow.h:
14301        * page/DOMWindow.idl:
14302
14303        Send oldPosition and newPosition to scrollPositionChanged().
14304        * page/FrameView.cpp:
14305        (WebCore::FrameView::setFixedVisibleContentRect):
14306        (WebCore::FrameView::scrollPositionChangedViaPlatformWidget):
14307
14308        After sending scroll events, also call sendWillRevealEdgeEventsIfNeeded() to send 
14309        the see if we should send the new will-reveal events.
14310        (WebCore::FrameView::scrollPositionChanged):
14311
14312        Use the old position and the new position to determine if the events should be 
14313        sent.
14314        (WebCore::FrameView::sendWillRevealEdgeEventsIfNeeded):
14315
14316        Send new parameters to scrollPositionChanged().
14317        (WebCore::FrameView::scrollTo):
14318        (WebCore::FrameView::wheelEvent):
14319        * page/FrameView.h:
14320
143212014-01-30  Szabolcs David  <davidsz@inf.u-szeged.hu>
14322
14323        [curl] Improve realm string parsing in WWW-Authenticate headers
14324        https://bugs.webkit.org/show_bug.cgi?id=127421
14325
14326        Reviewed by Brent Fulgham.
14327
14328        The realm string contains quotes at the beginning and end - this is the
14329        opposite of the libsoup implementation. Furthermore, if the header is
14330        concatenated from two or more another headers, it contains more incorrect part.
14331
14332        * platform/network/curl/ResourceHandleManager.cpp:
14333        (WebCore::removeLeadingAndTrailingQuotes):
14334        (WebCore::getProtectionSpace):
14335
143362014-01-30  Anders Carlsson  <andersca@apple.com>
14337
14338        Modernize HTTPHeaderMap iteration
14339        https://bugs.webkit.org/show_bug.cgi?id=127915
14340
14341        Reviewed by Andreas Kling.
14342
14343        * inspector/InspectorResourceAgent.cpp:
14344        (WebCore::buildObjectForHeaders):
14345        (WebCore::InspectorResourceAgent::willLoadXHR):
14346        (WebCore::InspectorResourceAgent::replayXHR):
14347        * loader/CrossOriginAccessControl.cpp:
14348        (WebCore::isSimpleCrossOriginAccessRequest):
14349        (WebCore::createAccessControlPreflightRequest):
14350        * loader/CrossOriginPreflightResultCache.cpp:
14351        (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders):
14352        * loader/DocumentLoader.cpp:
14353        (WebCore::DocumentLoader::responseReceived):
14354        * loader/appcache/ApplicationCacheStorage.cpp:
14355        (WebCore::ApplicationCacheStorage::store):
14356        * loader/cache/CachedRawResource.cpp:
14357        (WebCore::CachedRawResource::canReuse):
14358        * loader/cache/CachedResource.cpp:
14359        (WebCore::CachedResource::updateResponseAfterRevalidation):
14360        * platform/network/HTTPHeaderMap.cpp:
14361        (WebCore::HTTPHeaderMap::copyData):
14362        * platform/network/ResourceRequestBase.cpp:
14363        (WebCore::ResourceRequestBase::addHTTPHeaderFields):
14364        * platform/network/cf/ResourceRequestCFNet.cpp:
14365        (WebCore::setHeaderFields):
14366        * platform/network/mac/ResourceRequestMac.mm:
14367        (WebCore::ResourceRequest::doUpdatePlatformRequest):
14368        * xml/XMLHttpRequest.cpp:
14369        (WebCore::XMLHttpRequest::getAllResponseHeaders):
14370
143712014-01-30  Antti Koivisto  <antti@apple.com>
14372
14373        WebPage::determinePrimarySnapshottedPlugIn is slow
14374        https://bugs.webkit.org/show_bug.cgi?id=127905
14375
14376        Reviewed by Anders Carlsson.
14377
14378        * WebCore.exp.in: New exports
14379        * WebCore.xcodeproj/project.pbxproj:
14380        * html/HTMLPlugInImageElement.h:
14381        (WebCore::HTMLPlugInImageElement>): Add isElementOfType<>
14382
143832014-01-30  Csaba Osztrogonác  <ossy@webkit.org>
14384
14385        [SOUP] Fix the build if !ENABLE(WEB_TIMING)
14386        https://bugs.webkit.org/show_bug.cgi?id=127906
14387
14388        Reviewed by Gustavo Noronha Silva.
14389
14390        * platform/network/soup/SoupNetworkSession.cpp:
14391
143922014-01-30  Andrei Bucur  <abucur@adobe.com>
14393
14394        Remove the ACCELERATED_COMPOSITING flag
14395        https://bugs.webkit.org/show_bug.cgi?id=127833
14396
14397        Reviewed by Antti Koivisto.
14398
14399        Remove the USE(ACCELERATED_COMPOSITING) conditionals from the code base and make AC
14400        mandatory.
14401
14402        Tests: No new tests, no functional change.
14403
14404        * css/MediaQueryEvaluator.cpp:
14405        (WebCore::transform_3dMediaFeatureEval):
14406        * css/StyleResolver.cpp:
14407        (WebCore::StyleResolver::canShareStyleWithElement):
14408        * dom/Document.cpp:
14409        (WebCore::Document::setVisualUpdatesAllowed):
14410        (WebCore::Document::recalcStyle):
14411        (WebCore::Document::createRenderTree):
14412        (WebCore::Document::documentWillBecomeInactive):
14413        (WebCore::Document::documentDidResumeFromPageCache):
14414        (WebCore::Document::windowScreenDidChange):
14415        * dom/PseudoElement.cpp:
14416        (WebCore::PseudoElement::~PseudoElement):
14417        * history/CachedFrame.cpp:
14418        (WebCore::CachedFrameBase::CachedFrameBase):
14419        (WebCore::CachedFrameBase::restore):
14420        (WebCore::CachedFrame::CachedFrame):
14421        * history/CachedFrame.h:
14422        * history/CachedPage.cpp:
14423        (WebCore::CachedPage::restore):
14424        * history/CachedPage.h:
14425        * history/PageCache.cpp:
14426        (WebCore::PageCache::PageCache):
14427        (WebCore::PageCache::markPagesForDeviceScaleChanged):
14428        * history/PageCache.h:
14429        * html/HTMLCanvasElement.cpp:
14430        (WebCore::HTMLCanvasElement::getContext):
14431        (WebCore::HTMLCanvasElement::reset):
14432        (WebCore::HTMLCanvasElement::paintsIntoCanvasBuffer):
14433        (WebCore::HTMLCanvasElement::createImageBuffer):
14434        * html/HTMLMediaElement.cpp:
14435        (WebCore::HTMLMediaElement::parseAttribute):
14436        * html/HTMLMediaElement.h:
14437        * html/canvas/CanvasRenderingContext.h:
14438        * html/canvas/CanvasRenderingContext2D.cpp:
14439        (WebCore::CanvasRenderingContext2D::didDraw):
14440        * html/canvas/CanvasRenderingContext2D.h:
14441        * html/canvas/WebGLRenderingContext.cpp:
14442        (WebCore::WebGLRenderingContext::markContextChanged):
14443        (WebCore::WebGLRenderingContext::reshape):
14444        (WebCore::WebGLRenderingContext::platformLayer):
14445        * html/canvas/WebGLRenderingContext.h:
14446        * inspector/InspectorController.cpp:
14447        (WebCore::InspectorController::InspectorController):
14448        * inspector/InspectorInstrumentation.cpp:
14449        (WebCore::InspectorInstrumentation::didCommitLoadImpl):
14450        (WebCore::InspectorInstrumentation::pseudoElementDestroyedImpl):
14451        * inspector/InspectorInstrumentation.h:
14452        (WebCore::InspectorInstrumentation::pseudoElementDestroyed):
14453        * inspector/InspectorLayerTreeAgent.cpp:
14454        * inspector/InstrumentingAgents.cpp:
14455        (WebCore::InstrumentingAgents::InstrumentingAgents):
14456        (WebCore::InstrumentingAgents::reset):
14457        * inspector/InstrumentingAgents.h:
14458        * loader/EmptyClients.h:
14459        * page/ChromeClient.h:
14460        * page/Frame.cpp:
14461        (WebCore::Frame::layerTreeAsText):
14462        (WebCore::Frame::deviceOrPageScaleFactorChanged):
14463        * page/Frame.h:
14464        * page/FrameView.cpp:
14465        (WebCore::FrameView::setFrameRect):
14466        (WebCore::FrameView::scheduleLayerFlushAllowingThrottling):
14467        (WebCore::FrameView::hasCompositedContent):
14468        (WebCore::FrameView::hasCompositedContentIncludingDescendants):
14469        (WebCore::FrameView::hasCompositingAncestor):
14470        (WebCore::FrameView::enterCompositingMode):
14471        (WebCore::FrameView::isEnclosedInCompositingLayer):
14472        (WebCore::FrameView::flushCompositingStateIncludingSubframes):
14473        (WebCore::FrameView::isSoftwareRenderable):
14474        (WebCore::FrameView::layout):
14475        (WebCore::FrameView::contentsInCompositedLayer):
14476        (WebCore::FrameView::scrollContentsFastPath):
14477        (WebCore::FrameView::scrollContentsSlowPath):
14478        (WebCore::FrameView::setIsOverlapped):
14479        (WebCore::FrameView::delegatesScrollingDidChange):
14480        (WebCore::FrameView::scrollPositionChanged):
14481        (WebCore::FrameView::updateCompositingLayersAfterScrolling):
14482        (WebCore::FrameView::visibleContentsResized):
14483        (WebCore::FrameView::addedOrRemovedScrollbar):
14484        (WebCore::FrameView::disableLayerFlushThrottlingTemporarilyForInteraction):
14485        (WebCore::FrameView::updateLayerFlushThrottlingInAllFrames):
14486        (WebCore::FrameView::adjustTiledBackingCoverage):
14487        (WebCore::FrameView::hasExtendedBackground):
14488        (WebCore::FrameView::extendedBackgroundRect):
14489        (WebCore::FrameView::setBackgroundExtendsBeyondPage):
14490        (WebCore::FrameView::performPostLayoutTasks):
14491        (WebCore::FrameView::paintContents):
14492        (WebCore::FrameView::setTracksRepaints):
14493        (WebCore::FrameView::resetTrackedRepaints):
14494        (WebCore::FrameView::setScrollingPerformanceLoggingEnabled):
14495        (WebCore::FrameView::setExposedRect):
14496        * page/FrameView.h:
14497        * page/Page.cpp:
14498        (WebCore::Page::setPageScaleFactor):
14499        (WebCore::Page::setDeviceScaleFactor):
14500        * page/Settings.cpp:
14501        (WebCore::Settings::setBackgroundShouldExtendBeyondPage):
14502        * page/animation/AnimationBase.cpp:
14503        (WebCore::AnimationBase::freezeAtTime):
14504        * page/animation/AnimationController.cpp:
14505        (WebCore::AnimationController::supportsAcceleratedAnimationOfProperty):
14506        * page/animation/CSSPropertyAnimation.cpp:
14507        (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
14508        (WebCore::CSSPropertyAnimation::blendProperties):
14509        (WebCore::CSSPropertyAnimation::animationOfPropertyIsAccelerated):
14510        * page/animation/CSSPropertyAnimation.h:
14511        * page/animation/CompositeAnimation.cpp:
14512        (WebCore::CompositeAnimation::updateTransitions):
14513        * page/animation/ImplicitAnimation.cpp:
14514        (WebCore::ImplicitAnimation::animate):
14515        (WebCore::ImplicitAnimation::startAnimation):
14516        (WebCore::ImplicitAnimation::pauseAnimation):
14517        (WebCore::ImplicitAnimation::endAnimation):
14518        (WebCore::ImplicitAnimation::timeToNextService):
14519        * page/animation/KeyframeAnimation.cpp:
14520        (WebCore::KeyframeAnimation::animate):
14521        (WebCore::KeyframeAnimation::startAnimation):
14522        (WebCore::KeyframeAnimation::pauseAnimation):
14523        (WebCore::KeyframeAnimation::endAnimation):
14524        (WebCore::KeyframeAnimation::timeToNextService):
14525        * page/ios/FrameIOS.mm:
14526        (WebCore::Frame::viewportOffsetChanged):
14527        (WebCore::Frame::containsTiledBackingLayers):
14528        * page/scrolling/AsyncScrollingCoordinator.cpp:
14529        (WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll):
14530        * page/scrolling/ScrollingCoordinator.cpp:
14531        (WebCore::ScrollingCoordinator::coordinatesScrollingForFrameView):
14532        (WebCore::ScrollingCoordinator::computeNonFastScrollableRegion):
14533        (WebCore::ScrollingCoordinator::verticalScrollbarLayerForScrollableArea):
14534        (WebCore::ScrollingCoordinator::scrollLayerForFrameView):
14535        (WebCore::ScrollingCoordinator::headerLayerForFrameView):
14536        (WebCore::ScrollingCoordinator::footerLayerForFrameView):
14537        (WebCore::ScrollingCoordinator::counterScrollingLayerForFrameView):
14538        (WebCore::ScrollingCoordinator::hasVisibleSlowRepaintViewportConstrainedObjects):
14539        * page/scrolling/ScrollingCoordinator.h:
14540        * platform/ScrollView.cpp:
14541        (WebCore::positionScrollCornerLayer):
14542        (WebCore::ScrollView::positionScrollbarLayers):
14543        (WebCore::ScrollView::paintScrollbars):
14544        (WebCore::ScrollView::paint):
14545        * platform/ScrollableArea.cpp:
14546        (WebCore::ScrollableArea::invalidateScrollbar):
14547        (WebCore::ScrollableArea::invalidateScrollCorner):
14548        (WebCore::ScrollableArea::horizontalScrollbarLayerDidChange):
14549        (WebCore::ScrollableArea::hasLayerForHorizontalScrollbar):
14550        (WebCore::ScrollableArea::hasLayerForVerticalScrollbar):
14551        (WebCore::ScrollableArea::hasLayerForScrollCorner):
14552        * platform/ScrollableArea.h:
14553        * platform/ScrollbarTheme.h:
14554        * platform/efl/EflScreenUtilities.cpp:
14555        (WebCore::applyFallbackCursor):
14556        * platform/graphics/GraphicsContext3D.h:
14557        * platform/graphics/GraphicsContext3DPrivate.cpp:
14558        (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
14559        (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
14560        * platform/graphics/GraphicsContext3DPrivate.h:
14561        * platform/graphics/GraphicsLayer.cpp:
14562        * platform/graphics/GraphicsLayer.h:
14563        * platform/graphics/GraphicsLayerAnimation.cpp:
14564        * platform/graphics/GraphicsLayerAnimation.h:
14565        * platform/graphics/GraphicsLayerClient.h:
14566        * platform/graphics/GraphicsLayerFactory.h:
14567        * platform/graphics/GraphicsLayerUpdater.cpp:
14568        * platform/graphics/GraphicsLayerUpdater.h:
14569        * platform/graphics/ImageBuffer.cpp:
14570        * platform/graphics/ImageBuffer.h:
14571        * platform/graphics/MediaPlayer.cpp:
14572        (WebCore::MediaPlayer::platformLayer):
14573        (WebCore::MediaPlayer::supportsAcceleratedRendering):
14574        * platform/graphics/MediaPlayer.h:
14575        * platform/graphics/MediaPlayerPrivate.h:
14576        * platform/graphics/PlatformLayer.h:
14577        * platform/graphics/TextTrackRepresentation.cpp:
14578        * platform/graphics/TextTrackRepresentation.h:
14579        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
14580        (WebCore::MediaPlayerPrivateAVFoundation::currentRenderingMode):
14581        (WebCore::MediaPlayerPrivateAVFoundation::preferredRenderingMode):
14582        (WebCore::MediaPlayerPrivateAVFoundation::setUpVideoRendering):
14583        (WebCore::MediaPlayerPrivateAVFoundation::tearDownVideoRendering):
14584        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
14585        * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
14586        * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
14587        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::platformLayer):
14588        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::acceleratedRenderingStateChanged):
14589        * platform/graphics/ca/GraphicsLayerCA.cpp:
14590        * platform/graphics/ca/GraphicsLayerCA.h:
14591        * platform/graphics/ca/LayerFlushScheduler.cpp:
14592        * platform/graphics/ca/LayerFlushScheduler.h:
14593        * platform/graphics/ca/LayerFlushSchedulerClient.h:
14594        * platform/graphics/ca/PlatformCAAnimation.h:
14595        * platform/graphics/ca/PlatformCAFilters.h:
14596        * platform/graphics/ca/PlatformCALayer.h:
14597        * platform/graphics/ca/PlatformCALayerClient.h:
14598        * platform/graphics/ca/mac/LayerFlushSchedulerMac.cpp:
14599        * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
14600        (PlatformCAAnimation::copyTimingFunctionsFrom):
14601        * platform/graphics/ca/mac/PlatformCAFiltersMac.mm:
14602        * platform/graphics/ca/mac/PlatformCALayerMac.h:
14603        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
14604        (PlatformCALayerMac::enumerateRectsBeingDrawn):
14605        * platform/graphics/ca/win/AbstractCACFLayerTreeHost.h:
14606        * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
14607        * platform/graphics/ca/win/CACFLayerTreeHost.h:
14608        * platform/graphics/ca/win/CACFLayerTreeHostClient.h:
14609        * platform/graphics/ca/win/LayerChangesFlusher.cpp:
14610        * platform/graphics/ca/win/LayerChangesFlusher.h:
14611        * platform/graphics/ca/win/LegacyCACFLayerTreeHost.cpp:
14612        * platform/graphics/ca/win/LegacyCACFLayerTreeHost.h:
14613        * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
14614        (PlatformCAAnimation::copyTimingFunctionsFrom):
14615        * platform/graphics/ca/win/PlatformCAFiltersWin.cpp:
14616        * platform/graphics/ca/win/PlatformCALayerWin.cpp:
14617        (PlatformCALayerWin::createCompatibleLayer):
14618        * platform/graphics/ca/win/PlatformCALayerWin.h:
14619        * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:
14620        (PlatformCALayerWinInternal::drawTile):
14621        * platform/graphics/ca/win/PlatformCALayerWinInternal.h:
14622        * platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp:
14623        * platform/graphics/ca/win/WKCACFViewLayerTreeHost.h:
14624        * platform/graphics/cairo/DrawingBufferCairo.cpp:
14625        (WebCore::DrawingBuffer::paintCompositedResultsToCanvas):
14626        * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
14627        (WebCore::GraphicsContext3D::platformLayer):
14628        * platform/graphics/cairo/ImageBufferCairo.cpp:
14629        (WebCore::ImageBuffer::platformLayer):
14630        * platform/graphics/efl/GraphicsContext3DEfl.cpp:
14631        (WebCore::GraphicsContext3D::platformLayer):
14632        * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
14633        * platform/graphics/efl/GraphicsContext3DPrivate.h:
14634        * platform/graphics/gpu/DrawingBuffer.h:
14635        * platform/graphics/gpu/LoopBlinnMathUtils.cpp:
14636        * platform/graphics/gpu/TilingData.cpp:
14637        * platform/graphics/gpu/mac/DrawingBufferMac.mm:
14638        (WebCore::DrawingBuffer::frontColorBuffer):
14639        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
14640        (WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
14641        (WebCore::MediaPlayerPrivateGStreamerBase::paint):
14642        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
14643        * platform/graphics/ios/MediaPlayerPrivateIOS.h:
14644        * platform/graphics/ios/MediaPlayerPrivateIOS.mm:
14645        (WebCore::MediaPlayerPrivateIOS::supportsAcceleratedRendering):
14646        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
14647        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
14648        (WebCore::MediaPlayerPrivateQTKit::createQTMovieLayer):
14649        (WebCore::MediaPlayerPrivateQTKit::destroyQTMovieLayer):
14650        (WebCore::MediaPlayerPrivateQTKit::preferredRenderingMode):
14651        (WebCore::MediaPlayerPrivateQTKit::platformLayer):
14652        (WebCore::MediaPlayerPrivateQTKit::setClosedCaptionsVisible):
14653        (WebCore::MediaPlayerPrivateQTKit::layerHostChanged):
14654        (WebCore::MediaPlayerPrivateQTKit::acceleratedRenderingStateChanged):
14655        (-[WebCoreMovieObserver layerHostChanged:]):
14656        * platform/graphics/mac/WebGLLayer.h:
14657        * platform/graphics/mac/WebGLLayer.mm:
14658        * platform/graphics/mac/WebLayer.h:
14659        * platform/graphics/mac/WebLayer.mm:
14660        * platform/graphics/mac/WebTiledLayer.h:
14661        * platform/graphics/mac/WebTiledLayer.mm:
14662        * platform/graphics/opengl/GLDefs.h:
14663        * platform/graphics/opengl/GLPlatformContext.cpp:
14664        * platform/graphics/opengl/GLPlatformContext.h:
14665        * platform/graphics/opengl/GLPlatformSurface.cpp:
14666        * platform/graphics/opengl/GLPlatformSurface.h:
14667        * platform/graphics/surfaces/GLTransportSurface.cpp:
14668        * platform/graphics/surfaces/GLTransportSurface.h:
14669        * platform/graphics/surfaces/glx/GLXConfigSelector.h:
14670        * platform/graphics/surfaces/glx/GLXContext.cpp:
14671        * platform/graphics/surfaces/glx/GLXContext.h:
14672        * platform/graphics/surfaces/glx/GLXSurface.cpp:
14673        * platform/graphics/surfaces/glx/GLXSurface.h:
14674        * platform/graphics/texmap/TextureMapper.cpp:
14675        * platform/graphics/texmap/TextureMapper.h:
14676        * platform/graphics/texmap/TextureMapperBackingStore.cpp:
14677        * platform/graphics/texmap/TextureMapperBackingStore.h:
14678        * platform/graphics/texmap/TextureMapperFPSCounter.cpp:
14679        * platform/graphics/texmap/TextureMapperFPSCounter.h:
14680        * platform/graphics/texmap/TextureMapperGL.cpp:
14681        * platform/graphics/texmap/TextureMapperGL.h:
14682        * platform/graphics/texmap/TextureMapperLayer.cpp:
14683        * platform/graphics/texmap/TextureMapperLayer.h:
14684        * platform/graphics/texmap/TextureMapperShaderProgram.cpp:
14685        * platform/graphics/texmap/TextureMapperSurfaceBackingStore.cpp:
14686        * platform/graphics/texmap/TextureMapperSurfaceBackingStore.h:
14687        * platform/graphics/texmap/TextureMapperTile.cpp:
14688        * platform/graphics/texmap/TextureMapperTile.h:
14689        * platform/graphics/texmap/TextureMapperTiledBackingStore.cpp:
14690        * platform/graphics/texmap/TextureMapperTiledBackingStore.h:
14691        * platform/graphics/win/GraphicsContext3DWin.cpp:
14692        (WebCore::GraphicsContext3D::platformLayer):
14693        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
14694        (WebCore::MediaPlayerPrivateFullscreenWindow::createWindow):
14695        (WebCore::MediaPlayerPrivateFullscreenWindow::wndProc):
14696        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h:
14697        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
14698        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerLayoutSublayersOfLayer):
14699        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::MediaPlayerPrivateQuickTimeVisualContext):
14700        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::supportsFullscreen):
14701        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::platformMedia):
14702        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::platformLayer):
14703        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::naturalSize):
14704        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::paint):
14705        (WebCore::CreateCGImageFromPixelBuffer):
14706        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveCurrentImage):
14707        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::currentRenderingMode):
14708        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::preferredRenderingMode):
14709        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::setUpVideoRendering):
14710        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::tearDownVideoRendering):
14711        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::hasSetUpVideoRendering):
14712        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveAndResetMovieTransform):
14713        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::createLayerForMovie):
14714        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::destroyLayerForMovie):
14715        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::setPrivateBrowsingMode):
14716        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
14717        * platform/graphics/win/WKCAImageQueue.cpp:
14718        * platform/graphics/win/WKCAImageQueue.h:
14719        * platform/mac/ScrollbarThemeMac.h:
14720        * platform/mac/ScrollbarThemeMac.mm:
14721        * plugins/PluginViewBase.h:
14722        * rendering/FlowThreadController.cpp:
14723        (WebCore::FlowThreadController::updateRenderFlowThreadLayersIfNeeded):
14724        * rendering/FlowThreadController.h:
14725        * rendering/RenderBox.cpp:
14726        (WebCore::RenderBox::styleWillChange):
14727        (WebCore::isCandidateForOpaquenessTest):
14728        (WebCore::layersUseImage):
14729        (WebCore::RenderBox::imageChanged):
14730        * rendering/RenderBoxModelObject.cpp:
14731        (WebCore::RenderBoxModelObject::suspendAnimations):
14732        (WebCore::RenderBoxModelObject::fixedBackgroundPaintsInLocalCoordinates):
14733        * rendering/RenderBoxModelObject.h:
14734        * rendering/RenderElement.cpp:
14735        (WebCore::RenderElement::adjustStyleDifference):
14736        (WebCore::RenderElement::setStyle):
14737        (WebCore::RenderElement::styleWillChange):
14738        * rendering/RenderEmbeddedObject.cpp:
14739        (WebCore::RenderEmbeddedObject::allowsAcceleratedCompositing):
14740        * rendering/RenderEmbeddedObject.h:
14741        * rendering/RenderFlowThread.cpp:
14742        (WebCore::RenderFlowThread::RenderFlowThread):
14743        (WebCore::RenderFlowThread::layout):
14744        (WebCore::RenderFlowThread::updateAllLayerToRegionMappings):
14745        * rendering/RenderFlowThread.h:
14746        * rendering/RenderFullScreen.cpp:
14747        * rendering/RenderImage.cpp:
14748        (WebCore::RenderImage::imageDimensionsChanged):
14749        (WebCore::RenderImage::notifyFinished):
14750        * rendering/RenderLayer.cpp:
14751        (WebCore::RenderLayer::RenderLayer):
14752        (WebCore::RenderLayer::~RenderLayer):
14753        (WebCore::RenderLayer::canRender3DTransforms):
14754        (WebCore::RenderLayer::paintsWithFilters):
14755        (WebCore::RenderLayer::updateLayerPositions):
14756        (WebCore::RenderLayer::updateDescendantsAreContiguousInStackingOrderRecursive):
14757        (WebCore::RenderLayer::currentTransform):
14758        (WebCore::RenderLayer::updateDescendantDependentFlags):
14759        (WebCore::RenderLayer::checkIfDescendantClippingContextNeedsUpdate):
14760        (WebCore::RenderLayer::shouldRepaintAfterLayout):
14761        (WebCore::RenderLayer::enclosingFilterRepaintLayer):
14762        (WebCore::RenderLayer::setFilterBackendNeedsRepaintingInRect):
14763        (WebCore::RenderLayer::clippingRootForPainting):
14764        (WebCore::RenderLayer::addChild):
14765        (WebCore::RenderLayer::removeChild):
14766        (WebCore::RenderLayer::removeOnlyThisLayer):
14767        (WebCore::RenderLayer::scrollTo):
14768        (WebCore::RenderLayer::updateCompositingLayersAfterScroll):
14769        (WebCore::RenderLayer::invalidateScrollbarRect):
14770        (WebCore::RenderLayer::invalidateScrollCornerRect):
14771        (WebCore::RenderLayer::positionOverflowControls):
14772        (WebCore::RenderLayer::updateScrollInfoAfterLayout):
14773        (WebCore::RenderLayer::paintOverflowControls):
14774        (WebCore::shouldDoSoftwarePaint):
14775        (WebCore::RenderLayer::paintLayer):
14776        (WebCore::RenderLayer::calculateClipRects):
14777        * rendering/RenderLayer.h:
14778        * rendering/RenderLayerBacking.cpp:
14779        * rendering/RenderLayerBacking.h:
14780        * rendering/RenderLayerCompositor.cpp:
14781        * rendering/RenderLayerCompositor.h:
14782        * rendering/RenderNamedFlowThread.cpp:
14783        (WebCore::RenderNamedFlowThread::collectsGraphicsLayersUnderRegions):
14784        * rendering/RenderNamedFlowThread.h:
14785        * rendering/RenderObject.cpp:
14786        (WebCore::RenderObject::containerForRepaint):
14787        (WebCore::RenderObject::repaintUsingContainer):
14788        * rendering/RenderTreeAsText.cpp:
14789        (WebCore::write):
14790        * rendering/RenderVideo.cpp:
14791        (WebCore::RenderVideo::updatePlayer):
14792        (WebCore::RenderVideo::acceleratedRenderingStateChanged):
14793        * rendering/RenderVideo.h:
14794        * rendering/RenderView.cpp:
14795        (WebCore::RenderView::paintBoxDecorations):
14796        (WebCore::RenderView::repaintRootContents):
14797        (WebCore::RenderView::repaintRectangleInViewAndCompositedLayers):
14798        (WebCore::RenderView::repaintViewAndCompositedLayers):
14799        (WebCore::RenderView::setMaximalOutlineSize):
14800        (WebCore::RenderView::compositor):
14801        (WebCore::RenderView::setIsInWindow):
14802        * rendering/RenderView.h:
14803        * rendering/RenderWidget.cpp:
14804        (WebCore::RenderWidget::setWidgetGeometry):
14805        (WebCore::RenderWidget::requiresAcceleratedCompositing):
14806        * rendering/RenderWidget.h:
14807        * rendering/style/RenderStyle.cpp:
14808        (WebCore::RenderStyle::changeRequiresLayout):
14809        (WebCore::RenderStyle::changeRequiresLayerRepaint):
14810        (WebCore::RenderStyle::changeRequiresRecompositeLayer):
14811        (WebCore::RenderStyle::diff):
14812        * rendering/style/RenderStyle.h:
14813        * rendering/style/RenderStyleConstants.h:
14814        * rendering/style/StyleRareNonInheritedData.cpp:
14815        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
14816        (WebCore::StyleRareNonInheritedData::operator==):
14817        * rendering/style/StyleRareNonInheritedData.h:
14818        * testing/Internals.cpp:
14819        (WebCore::Internals::resetToConsistentState):
14820        (WebCore::Internals::setHeaderHeight):
14821        (WebCore::Internals::setFooterHeight):
14822
148232014-01-30  Krzysztof Czech  <k.czech@samsung.com>
14824
14825        AX: Clean up AccessibilityRenderObject
14826        https://bugs.webkit.org/show_bug.cgi?id=127838
14827
14828        Reviewed by Chris Fleizach.
14829
14830        Reducing some code by implementing ariaElementsFromAttribute.
14831        It is used as a helper for other methods.
14832
14833        No new tests. Covered by existing ones.
14834
14835        * accessibility/AccessibilityRenderObject.cpp:
14836        (WebCore::AccessibilityRenderObject::ariaElementsFromAttribute):
14837        (WebCore::AccessibilityRenderObject::ariaFlowToElements):
14838        (WebCore::AccessibilityRenderObject::ariaDescribedByElements):
14839        (WebCore::AccessibilityRenderObject::ariaOwnsElements):
14840        * accessibility/AccessibilityRenderObject.h:
14841
148422014-01-29  Commit Queue  <commit-queue@webkit.org>
14843
14844        Unreviewed, rolling out r163048.
14845        http://trac.webkit.org/changeset/163048
14846        https://bugs.webkit.org/show_bug.cgi?id=127890
14847
14848        Caused many crashes, detected by EWS prior to landing
14849        (Requested by ap on #webkit).
14850
14851        * Modules/mediacontrols/MediaControlsHost.cpp:
14852        (WebCore::MediaControlsHost::sortedTrackListForMenu):
14853        (WebCore::MediaControlsHost::displayNameForTrack):
14854        (WebCore::MediaControlsHost::captionDisplayMode):
14855        * WebCore.exp.in:
14856        * WebCore.vcxproj/WebCore.vcxproj:
14857        * WebCore.vcxproj/WebCore.vcxproj.filters:
14858        * WebCore.xcodeproj/project.pbxproj:
14859        * css/DocumentRuleSets.cpp:
14860        (WebCore::DocumentRuleSets::initUserStyle):
14861        * css/InspectorCSSOMWrappers.cpp:
14862        (WebCore::InspectorCSSOMWrappers::collectFromDocumentStyleSheetCollection):
14863        * dom/Document.cpp:
14864        (WebCore::Document::setCompatibilityMode):
14865        (WebCore::Document::registerForCaptionPreferencesChangedCallbacks):
14866        (WebCore::Document::captionPreferencesChanged):
14867        * dom/DocumentStyleSheetCollection.cpp:
14868        * dom/DocumentStyleSheetCollection.h:
14869        * html/HTMLMediaElement.cpp:
14870        (WebCore::HTMLMediaElement::HTMLMediaElement):
14871        (WebCore::HTMLMediaElement::parseAttribute):
14872        * html/shadow/MediaControlElements.cpp:
14873        (WebCore::MediaControlClosedCaptionsTrackListElement::updateDisplay):
14874        (WebCore::MediaControlClosedCaptionsTrackListElement::rebuildTrackListMenu):
14875        (WebCore::MediaControlTextTrackContainerElement::updateTimerFired):
14876        * page/CaptionStyleSheetMediaAF.cpp: Removed.
14877        * page/CaptionStyleSheetMediaAF.h: Removed.
14878        * page/CaptionUserPreferences.cpp:
14879        (WebCore::CaptionUserPreferences::CaptionUserPreferences):
14880        (WebCore::CaptionUserPreferences::notify):
14881        (WebCore::CaptionUserPreferences::setCaptionDisplayMode):
14882        (WebCore::CaptionUserPreferences::userPrefersCaptions):
14883        (WebCore::CaptionUserPreferences::setUserPrefersCaptions):
14884        (WebCore::CaptionUserPreferences::userPrefersSubtitles):
14885        (WebCore::CaptionUserPreferences::setUserPrefersSubtitles):
14886        (WebCore::CaptionUserPreferences::userPrefersTextDescriptions):
14887        (WebCore::CaptionUserPreferences::setUserPrefersTextDescriptions):
14888        (WebCore::CaptionUserPreferences::captionPreferencesChanged):
14889        (WebCore::CaptionUserPreferences::textTrackSelectionScore):
14890        (WebCore::CaptionUserPreferences::setCaptionsStyleSheetOverride):
14891        (WebCore::CaptionUserPreferences::updateCaptionStyleSheetOveride):
14892        * page/CaptionUserPreferences.h:
14893        (WebCore::CaptionUserPreferences::captionsStyleSheetOverride):
14894        (WebCore::CaptionUserPreferences::setInterestedInCaptionPreferenceChanges):
14895        (WebCore::CaptionUserPreferences::testingMode):
14896        (WebCore::CaptionUserPreferences::setTestingMode):
14897        (WebCore::CaptionUserPreferences::pageGroup):
14898        * page/CaptionUserPreferencesMediaAF.cpp:
14899        (WebCore::userCaptionPreferencesChangedNotificationCallback):
14900        (WebCore::CaptionUserPreferencesMediaAF::CaptionUserPreferencesMediaAF):
14901        (WebCore::CaptionUserPreferencesMediaAF::userPrefersCaptions):
14902        (WebCore::CaptionUserPreferencesMediaAF::userPrefersSubtitles):
14903        (WebCore::CaptionUserPreferencesMediaAF::setInterestedInCaptionPreferenceChanges):
14904        (WebCore::CaptionUserPreferencesMediaAF::captionPreferencesChanged):
14905        (WebCore::CaptionUserPreferencesMediaAF::captionsWindowCSS):
14906        (WebCore::CaptionUserPreferencesMediaAF::captionsBackgroundCSS):
14907        (WebCore::CaptionUserPreferencesMediaAF::captionsTextColor):
14908        (WebCore::CaptionUserPreferencesMediaAF::captionsTextColorCSS):
14909        (WebCore::CaptionUserPreferencesMediaAF::windowRoundedCornerRadiusCSS):
14910        (WebCore::CaptionUserPreferencesMediaAF::captionsEdgeColorForTextColor):
14911        (WebCore::CaptionUserPreferencesMediaAF::cssPropertyWithTextEdgeColor):
14912        (WebCore::CaptionUserPreferencesMediaAF::colorPropertyCSS):
14913        (WebCore::CaptionUserPreferencesMediaAF::captionsTextEdgeCSS):
14914        (WebCore::CaptionUserPreferencesMediaAF::captionsDefaultFontCSS):
14915        (WebCore::CaptionUserPreferencesMediaAF::captionsStyleSheetOverride):
14916        (WebCore::CaptionUserPreferencesMediaAF::textTrackSelectionScore):
14917        (WebCore::CaptionUserPreferencesMediaAF::sortedTrackListForMenu):
14918        * page/CaptionUserPreferencesMediaAF.h:
14919        * page/Page.cpp:
14920        * page/Page.h:
14921        * page/PageGroup.cpp:
14922        (WebCore::PageGroup::captionPreferencesChanged):
14923        (WebCore::PageGroup::captionPreferences):
14924        * page/PageGroup.h:
14925        * testing/InternalSettings.cpp:
14926        (WebCore::InternalSettings::setShouldDisplayTrackKind):
14927        (WebCore::InternalSettings::shouldDisplayTrackKind):
14928        * testing/Internals.cpp:
14929        (WebCore::Internals::resetToConsistentState):
14930        (WebCore::Internals::Internals):
14931        (WebCore::Internals::captionsStyleSheetOverride):
14932        (WebCore::Internals::setCaptionsStyleSheetOverride):
14933        (WebCore::Internals::setPrimaryAudioTrackLanguageOverride):
14934        (WebCore::Internals::setCaptionDisplayMode):
14935
149362014-01-29  Csaba Osztrogonác  <ossy@webkit.org>
14937
14938        Remove ENABLE(JAVASCRIPT_DEBUGGER) leftovers
14939        https://bugs.webkit.org/show_bug.cgi?id=127845
14940
14941        Reviewed by Joseph Pecoraro.
14942
14943        * Configurations/FeatureDefines.xcconfig:
14944        * bindings/js/JSDOMWindowBase.cpp:
14945        (WebCore::JSDOMWindowBase::supportsProfiling):
14946
149472014-01-29  Gavin Barraclough  <barraclough@apple.com>
14948
14949        Add IsVisibleOrOccluded to ViewState
14950        https://bugs.webkit.org/show_bug.cgi?id=127875
14951
14952        Reviewed by Anders Carlsson.
14953
14954        * page/ViewState.h:
14955            - added IsVisibleOrOccluded
14956
149572014-01-29  Ryosuke Niwa  <rniwa@webkit.org>
14958
14959        EventHandler::handleMouseReleaseEvent shouldn't call updateSelectionCachesIfSelectionIsInsideTextFormControl
14960        and selectFrameElementInParentIfFullySelected
14961        https://bugs.webkit.org/show_bug.cgi?id=127834
14962
14963        Reviewed by Alexey Proskuryakov.
14964
14965        Removed the calls and made setNonDirectionalSelectionIfNeeded pass in UserTriggered option.
14966
14967        In addition, removed the rather error-prone function override of setSelection since TextGranularity,
14968        which is an enum, could be implicitly coerced into SetSelectionOptions which is a typedefed unsigned int.
14969
14970        * editing/FrameSelection.cpp:
14971        (WebCore::FrameSelection::setSelectionByMouseIfDifferent): Renamed from setNonDirectionalSelectionIfNeeded.
14972        Pass in DoNotRevealSelection to avoid revealing the selection to preserve the existing behavior.
14973        There are two layout tests that fail without this.
14974        (WebCore::FrameSelection::setSelection): Check the newly addeed DoNotRevealSelection option.
14975        (WebCore::FrameSelection::wordSelectionContainingCaretSelection): Call
14976
14977        * editing/FrameSelection.h: Made updateSelectionCachesIfSelectionIsInsideTextFormControl and
14978        selectFrameElementInParentIfFullySelected private as they are no longer called outside of FrameSelection.
14979
14980        * page/EventHandler.cpp:
14981        (WebCore::EventHandler::updateSelectionForMouseDownDispatchingSelectStart):
14982        (WebCore::EventHandler::updateSelectionForMouseDrag):
14983        (WebCore::EventHandler::handleMouseReleaseEvent): Removed calls to the functions.
14984
149852014-01-29  Jer Noble  <jer.noble@apple.com>
14986
14987        Unreviewed iOS build fix after 163050.
14988
14989        Import CALayer.h explicitly as (on iOS) it is not included by other headers.
14990
14991        * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
14992
149932014-01-29  Jer Noble  <jer.noble@apple.com>
14994
14995        Unreviewed Mac Build fix after r163046.
14996
14997        Forward define AVSampleLayerDisplayLayer and its methods.
14998
14999        * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
15000
150012014-01-26  Sam Weinig  <sam@webkit.org>
15002
15003        CaptionUserPreferences should not be on the PageGroup if they are not really per-PageGroup (Part 1)
15004        https://bugs.webkit.org/show_bug.cgi?id=127666
15005
15006        Reviewed by Eric Carlson.
15007
15008        This patch:
15009        - Makes CaptionUserPreferences a singleton (temporary) that is accessed
15010          via Page.
15011        - Simplifies overriding system preferences by requiring that a Document be
15012          be passed so the correct Settings object can be obtained (and not just a 
15013          random one).
15014        - Stops using UserStyleSheets for captions style injection, and instead
15015          adds a new style sheet to the DocumentStyleSheetCollection.
15016        - Move caption style sheet creation into its own file - CaptionStyleSheetMediaAF.h/cpp
15017
15018        * WebCore.vcxproj/WebCore.vcxproj:
15019        * WebCore.vcxproj/WebCore.vcxproj.filters:
15020        * WebCore.xcodeproj/project.pbxproj:
15021        Add new files.
15022
15023        * WebCore.exp.in:
15024        Update exports.
15025
15026        * css/DocumentRuleSets.cpp:
15027        * css/InspectorCSSOMWrappers.cpp:
15028        * dom/Document.cpp:
15029        * dom/DocumentStyleSheetCollection.cpp:
15030        * dom/DocumentStyleSheetCollection.h:
15031        Switch from using the user style sheet mechanism, which is meant for, you guessed it, users,
15032        to an explicit caption style sheet.
15033
15034        * Modules/mediacontrols/MediaControlsHost.cpp:
15035        * html/HTMLMediaElement.cpp:
15036        * html/shadow/MediaControlElements.cpp:
15037        Get the CaptionUserPreferences via the Page.
15038
15039        * page/CaptionStyleSheetMediaAF.cpp: Added.
15040        * page/CaptionStyleSheetMediaAF.h: Added.
15041        Move caption style sheet creation here. If the global style changes, the sheet is invalidated
15042        and this is called again.
15043
15044        * page/CaptionUserPreferences.cpp:
15045        * page/CaptionUserPreferences.h:
15046        - Removes unused m_havePreferences member.
15047        - Change userPrefersFoo() functions to take a Document&. Use it to check its Settings.
15048        - Remove setUserPrefersFoo() functions and just set the Settings directly.
15049        - Move all the testing only pieces together.
15050        
15051        * page/CaptionUserPreferencesMediaAF.cpp:
15052        * page/CaptionUserPreferencesMediaAF.h:
15053        - Extract caption style sheet creation into CaptionStyleSheetMediaAF.h/cpp
15054        - Stop waiting for an interested party, and just register for appearance change
15055          notifications right away. Media elements are common enough that this should not
15056          make a difference.
15057
15058        * page/Page.cpp:
15059        (WebCore::Page::updateStyleForAllPagesForCaptionPreferencesChanged):
15060        Add helper to call captionPreferencesChanged() on all the Pages.
15061
15062        (WebCore::Page::captionPreferences):
15063        Add accessor for the CaptionUserPreferences. Currently this returns a singleton, but I plan
15064        to extract the singleton aspects of it into another class, and leave the per-Page parts here.
15065
15066        * page/Page.h:
15067        * page/PageGroup.cpp:
15068        * page/PageGroup.h:
15069        Remove CaptionUserPreferences from here.
15070
15071        * testing/InternalSettings.cpp:
15072        (WebCore::InternalSettings::setShouldDisplayTrackKind):
15073        (WebCore::InternalSettings::shouldDisplayTrackKind):
15074        Override the settings for the page directly.
15075
15076        * testing/Internals.cpp:
15077        (WebCore::Internals::resetToConsistentState):
15078        (WebCore::Internals::Internals):
15079        (WebCore::Internals::captionsStyleSheetOverride):
15080        (WebCore::Internals::setCaptionsStyleSheetOverride):
15081        (WebCore::Internals::setPrimaryAudioTrackLanguageOverride):
15082        (WebCore::Internals::setCaptionDisplayMode):
15083        Get the CaptionUserPreferences via the Page.
15084
150852014-01-29  Jer Noble  <jer.noble@apple.com>
15086
15087        [MSE][Mac] In SourceBufferPrivateAVFObjC, only include those headers actually necessary to compile.
15088        https://bugs.webkit.org/show_bug.cgi?id=127846
15089
15090        Reviewed by Darin Adler.
15091
15092        To work around a compile issue, only include those paths containing classes and typedefs
15093        which are used within SourceBufferPrivateAVFObjC, rather than all of AVFoundation.
15094
15095        * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
15096
150972014-01-29  Brady Eidson  <beidson@apple.com>
15098
15099        IDB: Fully implement IDBKeyData encoding/decoding
15100        https://bugs.webkit.org/show_bug.cgi?id=127863
15101
15102        Rubberstamped by Alexey Proskuryakov.
15103
15104        * platform/KeyedCoding.h:
15105
15106        * Modules/indexeddb/IDBKeyData.cpp:
15107        (WebCore::IDBKeyData::encode):
15108        (WebCore::IDBKeyData::decode):
15109
15110        * WebCore.exp.in:
15111
151122014-01-29  Bem Jones-Bey  <bjonesbe@adobe.com>
15113
15114        clip-path swaps bottom radii for the inset shape
15115        https://bugs.webkit.org/show_bug.cgi?id=127859
15116
15117        Reviewed by Dirk Schulze.
15118
15119        The bottom right and bottom left radii were passed in the wrong order,
15120        causing the wrong corner to be clipped in the resultant rendering.
15121
15122        Test: css3/masking/clip-path-inset-corners.html
15123
15124        * rendering/style/BasicShapes.cpp:
15125        (WebCore::BasicShapeInset::path): Change the parameter order to be
15126        correct.
15127
151282014-01-29  Jer Noble  <jer.noble@apple.com>
15129
15130        [MediaControls][iOS] Hook up the fullscreen button
15131        https://bugs.webkit.org/show_bug.cgi?id=127850
15132
15133        Reviewed by Eric Carlson.
15134
15135        For the fullscreen button, do the same thing we do for the play button: handle touchstart,
15136        touchend, and touchcancel, and perform the action (i.e., 'click') on touchend.
15137
15138        * Modules/mediacontrols/mediaControlsiOS.js:
15139        (ControllerIOS.prototype.createControls): Add listeners for the fullscreenButton.
15140        (ControllerIOS.prototype.isFullScreen): Override.
15141        (ControllerIOS.prototype.handleFullscreenButtonClicked): Override.
15142        (ControllerIOS.prototype.handleFullscreenTouchStart): Added.
15143        (ControllerIOS.prototype.handleFullscreenTouchEnd): Added.
15144        (ControllerIOS.prototype.handleFullscreenTouchCancel): Added.
15145
151462014-01-29  Brady Eidson  <beidson@apple.com>
15147
15148        IDB: Opening an existing database is broken
15149        https://bugs.webkit.org/show_bug.cgi?id=127851
15150
15151        Reviewed by Tim Hatcher.
15152
15153        * Modules/indexeddb/IDBDatabaseBackend.cpp:
15154        (WebCore::IDBDatabaseBackend::IDBDatabaseBackend):
15155        (WebCore::IDBDatabaseBackend::didOpenInternalAsync): Remember if this method has completed.
15156        (WebCore::IDBDatabaseBackend::processPendingCalls): If didOpenInternalAsync hasn’t
15157          been called yet, then it is incorrect to process any pending calls right now.
15158        * Modules/indexeddb/IDBDatabaseBackend.h:
15159
151602014-01-29  Oliver Hunt  <oliver@apple.com>
15161
15162        This dereference should not actually be necessary, and
15163        is producing deprecation warnings with newer perls
15164
15165        * bindings/scripts/CodeGeneratorJS.pm:
15166        (GenerateAttributesHashTable):
15167
151682014-01-28  Oliver Hunt  <oliver@apple.com>
15169
15170        Make DOM attributes appear to be faux accessor properties
15171        https://bugs.webkit.org/show_bug.cgi?id=127797
15172
15173        Reviewed by Michael Saboff.
15174
15175        Refactor the bindings generator, and make sure we emit
15176        the CustomAccessor flag on properties that should 
15177        appear to be accessors.
15178
15179        * bindings/scripts/CodeGeneratorJS.pm:
15180        (GenerateGetOwnPropertySlotBody):
15181        (GenerateAttributesHashTable):
15182        (GenerateImplementation):
15183
151842014-01-29  Alex Christensen  <achristensen@webkit.org>
15185
15186        Prepare for accelerated compositing on WinCairo.
15187        https://bugs.webkit.org/show_bug.cgi?id=127843
15188
15189        Reviewed by Anders Carlsson.
15190
15191        * platform/network/curl/ResourceHandleManager.cpp:
15192        (WebCore::setupFormData):
15193        Remove VS2005 warning workaround.
15194        * WebCore.vcxproj/WebCore.vcxproj:
15195        Remove StyleCachedImageSet.cpp and CSSImageSetValue.cpp from the Win64 build
15196        to avoid warnings because they are also included in StyleAllInOne.cpp and
15197        CSSAllInOne.cpp, respectively.
15198
151992014-01-28  Michael Saboff  <msaboff@apple.com>
15200
15201        Merge the jsCStack branch
15202        https://bugs.webkit.org/show_bug.cgi?id=127763
15203
15204        Reviewed by Mark Hahnenberg.
15205
15206        Changes from http://svn.webkit.org/repository/webkit/branches/jsCStack
15207        up to changeset 162958.
15208
152092014-01-29  Dan Bernstein  <mitz@apple.com>
15210
15211        Fixed the iOS build.
15212
15213        * bindings/js/JSDOMWindowCustom.cpp: Updated for header renames.
15214
152152014-01-29  Csaba Osztrogonác  <ossy@webkit.org>
15216
15217        Remove ENABLE(JAVASCRIPT_DEBUGGER) guards
15218        https://bugs.webkit.org/show_bug.cgi?id=127840
15219
15220        Reviewed by Mark Lam.
15221
15222        * bindings/js/JSDOMWindowBase.cpp:
15223        (WebCore::JSDOMWindowBase::supportsProfiling):
15224        (WebCore::JSDOMWindowBase::supportsRichSourceInfo):
15225        * bindings/js/PageScriptDebugServer.cpp:
15226        * bindings/js/PageScriptDebugServer.h:
15227        * bindings/js/ScriptProfile.cpp:
15228        * bindings/js/ScriptProfile.h:
15229        * bindings/js/ScriptProfileNode.h:
15230        * bindings/js/ScriptProfiler.cpp:
15231        * bindings/js/ScriptProfiler.h:
15232        * bindings/js/WorkerScriptDebugServer.cpp:
15233        * bindings/js/WorkerScriptDebugServer.h:
15234        * inspector/InspectorConsoleAgent.h:
15235        * inspector/InspectorConsoleInstrumentation.h:
15236        (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileName):
15237        * inspector/InspectorController.cpp:
15238        (WebCore::InspectorController::InspectorController):
15239        (WebCore::InspectorController::resume):
15240        * inspector/InspectorController.h:
15241        * inspector/InspectorDOMDebuggerAgent.cpp:
15242        * inspector/InspectorDOMDebuggerAgent.h:
15243        * inspector/InspectorHeapProfilerAgent.cpp:
15244        * inspector/InspectorHeapProfilerAgent.h:
15245        * inspector/InspectorInstrumentation.cpp:
15246        (WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl):
15247        (WebCore::InspectorInstrumentation::isDebuggerPausedImpl):
15248        (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
15249        (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
15250        (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
15251        (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
15252        (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
15253        (WebCore::InspectorInstrumentation::didInvalidateStyleAttrImpl):
15254        (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
15255        (WebCore::InspectorInstrumentation::scriptExecutionBlockedByCSPImpl):
15256        (WebCore::InspectorInstrumentation::didCommitLoadImpl):
15257        (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
15258        (WebCore::InspectorInstrumentation::profilerEnabledImpl):
15259        (WebCore::InspectorInstrumentation::willEvaluateWorkerScript):
15260        (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
15261        (WebCore::InspectorInstrumentation::cancelPauseOnNativeEvent):
15262        * inspector/InspectorInstrumentation.h:
15263        * inspector/InspectorProfilerAgent.cpp:
15264        * inspector/InspectorProfilerAgent.h:
15265        * inspector/InstrumentingAgents.cpp:
15266        (WebCore::InstrumentingAgents::InstrumentingAgents):
15267        (WebCore::InstrumentingAgents::reset):
15268        * inspector/InstrumentingAgents.h:
15269        * inspector/PageDebuggerAgent.cpp:
15270        * inspector/PageDebuggerAgent.h:
15271        * inspector/ScriptProfile.idl:
15272        * inspector/ScriptProfileNode.idl:
15273        * inspector/WebDebuggerAgent.cpp:
15274        * inspector/WebDebuggerAgent.h:
15275        * inspector/WorkerDebuggerAgent.cpp:
15276        * inspector/WorkerDebuggerAgent.h:
15277        * inspector/WorkerInspectorController.cpp:
15278        (WebCore::WorkerInspectorController::WorkerInspectorController):
15279        (WebCore::WorkerInspectorController::resume):
15280        * inspector/WorkerInspectorController.h:
15281        * inspector/WorkerRuntimeAgent.cpp:
15282        (WebCore::WorkerRuntimeAgent::pauseWorkerGlobalScope):
15283        * inspector/WorkerRuntimeAgent.h:
15284        * loader/FrameLoader.cpp:
15285        (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
15286        * page/Console.cpp:
15287        * page/Console.h:
15288        * page/Console.idl:
15289        * testing/Internals.cpp:
15290        (WebCore::Internals::resetToConsistentState):
15291        * workers/WorkerMessagingProxy.cpp:
15292        (WebCore::connectToWorkerGlobalScopeInspectorTask):
15293        (WebCore::WorkerMessagingProxy::connectToInspector):
15294        (WebCore::disconnectFromWorkerGlobalScopeInspectorTask):
15295        (WebCore::WorkerMessagingProxy::disconnectFromInspector):
15296        (WebCore::dispatchOnInspectorBackendTask):
15297        (WebCore::WorkerMessagingProxy::sendMessageToInspector):
15298
152992014-01-29  Eric Carlson  <eric.carlson@apple.com>
15300
15301        [iOS] cleanup MediaPlayer.cpp
15302        https://bugs.webkit.org/show_bug.cgi?id=127821
15303
15304        Reviewed by Jer Noble.
15305
15306        Don't register MediaPlayerPrivateIOS unless the runtime setting for media player proxy is set.
15307
15308        * platform/graphics/MediaPlayer.cpp: Don't define PlatformMediaEngineClassName on iOS
15309        (WebCore::installedMediaEngines): Drive by cleanup to return early if registration has
15310            already happened.
15311        (WebCore::MediaPlayer::MediaPlayer): Don't force-register the first media engine unless 
15312            isVideoPluginProxyEnabled returns true.
15313
153142014-01-29  Youenn Fablet  <youennf@gmail.com>
15315
15316        Have XHR.getResponseHeader() return null and XHR.getAllResponseHeader() return the empty string in initial ready states
15317        https://bugs.webkit.org/show_bug.cgi?id=125840
15318
15319        Reviewed by Alexey Proskuryakov.
15320
15321        Merging https://chromium.googlesource.com/chromium/blink/+/d201caf874a0bd6f101f517462b3cf1d8c5fce3d
15322        This patch makes it clear that null/empty string is returned whenever the error flag is set.
15323        This new code path is covered by the added test.
15324        
15325        Test: http/tests/xmlhttprequest/response-access-on-error.html
15326
15327        * xml/XMLHttpRequest.cpp:
15328        (WebCore::XMLHttpRequest::getAllResponseHeaders):
15329        (WebCore::XMLHttpRequest::getResponseHeader):
15330        * xml/XMLHttpRequest.h:
15331        * xml/XMLHttpRequest.idl:
15332
153332014-01-29  Antti Koivisto  <antti@apple.com>
15334
15335        REGRESSION (r162947): Repaint test results are different between WK1 and WK2
15336        https://bugs.webkit.org/show_bug.cgi?id=127814
15337
15338        Reviewed by Anders Carlsson.
15339
15340        * page/FrameView.cpp:
15341        (WebCore::FrameView::repaintContentRectangle):
15342        
15343            Move repaint rect logging to RenderView.
15344
15345        * rendering/RenderView.cpp:
15346        (WebCore::RenderView::repaintViewRectangle):
15347        
15348            Record raw repaint rects instead of optimized ones.
15349
153502014-01-29  Brady Eidson  <beidson@apple.com>
15351
15352        IDB: Serialize IDBKeyDatas to disk, not IDBKeys
15353        https://bugs.webkit.org/show_bug.cgi?id=127829
15354
15355        Reviewed by Tim Horton.
15356
15357        Move encode/decode from IDBKey to IDBKeyData.
15358
15359        * Modules/indexeddb/IDBKey.cpp:
15360        * Modules/indexeddb/IDBKey.h:
15361
15362        * Modules/indexeddb/IDBKeyData.cpp:
15363        (WebCore::IDBKeyData::IDBKeyData):
15364        (WebCore::IDBKeyData::encode):
15365        (WebCore::IDBKeyData::decode):
15366        * Modules/indexeddb/IDBKeyData.h:
15367
15368        * WebCore.exp.in:
15369
153702014-01-29  Antti Koivisto  <antti@apple.com>
15371
15372        REGRESSION (r162947): css3/flexbox/multiline-justify-content.html and css3/flexbox/position-absolute-child.html are timing out
15373        https://bugs.webkit.org/show_bug.cgi?id=127809
15374
15375        Reviewed by Anders Carlsson.
15376
15377        These tests generate very large number of small repaint rectangles that overwhelm the region code.
15378
15379        * page/FrameView.cpp:
15380        (WebCore::FrameView::repaintContentRectangle):
15381        * platform/graphics/Region.h:
15382        (WebCore::Region::gridSize):
15383        (WebCore::Region::Shape::gridSize):
15384        
15385            Add accessor for getting the current region grid complexity.
15386
15387        * rendering/RenderView.cpp:
15388        (WebCore::RenderView::repaintViewRectangle):
15389        
15390            If the region gets very complex merge the repaint rects into a single big rectangle.
15391
153922014-01-29  Radu Stavila  <stavila@adobe.com>
15393
15394        [CSSRegions] Unable to scroll a scrollable container for regions using mouse wheel
15395        https://bugs.webkit.org/show_bug.cgi?id=123886
15396
15397        When an element flowed into a scrollable region is scrolled using the mouse wheel, the event 
15398        needs to be propagated to the region containing that element, on top of which the cursor
15399        is located.
15400
15401        Reviewed by Antti Koivisto.
15402
15403        Tests: fast/regions/wheel-scroll-abspos.html
15404               fast/regions/wheel-scroll.html
15405
15406        * page/EventHandler.cpp:
15407        (WebCore::scrollNode):
15408        (WebCore::EventHandler::defaultWheelEventHandler):
15409        * rendering/RenderBox.cpp:
15410        (WebCore::RenderBox::scroll):
15411        (WebCore::RenderBox::scrollWithWheelEventLocation):
15412        * rendering/RenderBox.h:
15413        * rendering/RenderFlowThread.cpp:
15414        (WebCore::RenderFlowThread::regionFromAbsolutePointAndBox):
15415        * rendering/RenderFlowThread.h:
15416
154172014-01-29  Carlos Garcia Campos  <cgarcia@igalia.com>
15418
15419        REGRESSION(r162922): [SOUP] Several tests are failing in EFL and GTK+ after r162922
15420        https://bugs.webkit.org/show_bug.cgi?id=127836
15421
15422        Reviewed by Gustavo Noronha Silva.
15423
15424        The problem is that I assumed that several things done in
15425        ResourceRequest::soupURI() were always desired, so I moved them to
15426        URL. This patch restores the previous behaviour, so that those
15427        tings are only done right before making a request.
15428
15429        * platform/network/soup/ResourceRequestSoup.cpp:
15430        (WebCore::ResourceRequest::createSoupURI):
15431        * platform/soup/URLSoup.cpp:
15432        (WebCore::URL::createSoupURI):
15433
154342014-01-29  Krzysztof Czech  <k.czech@samsung.com>
15435
15436        [ATK] Expose aria-describedby with ATK_RELATION_DESCRIBED_BY
15437        https://bugs.webkit.org/show_bug.cgi?id=121684
15438
15439        Reviewed by Mario Sanchez Prada.
15440
15441        Exposed aria-describedby by ATK_RELATION_DESCRIBED_BY.
15442        Moved elementsFromAttribut to AccessibilityObject to have common interface
15443        for AccessibilityNodeObject and AccessibilityRenderObject. Implemented
15444        supportsARIADescribedBy and ariaDescribedByElements to better deal with aria-describedby attribute.
15445
15446        No new tests. Covered by existed one.
15447
15448        * accessibility/AccessibilityNodeObject.cpp:
15449        * accessibility/AccessibilityNodeObject.h:
15450        * accessibility/AccessibilityObject.cpp:
15451        (WebCore::AccessibilityObject::elementsFromAttribute):
15452        * accessibility/AccessibilityObject.h:
15453        (WebCore::AccessibilityObject::supportsARIADescribedBy):
15454        (WebCore::AccessibilityObject::ariaDescribedByElements):
15455        * accessibility/AccessibilityRenderObject.cpp:
15456        (WebCore::AccessibilityRenderObject::supportsARIADescribedBy):
15457        (WebCore::AccessibilityRenderObject::ariaDescribedByElements):
15458        * accessibility/AccessibilityRenderObject.h:
15459        * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
15460        (setAtkRelationSetFromCoreObject):
15461
154622014-01-29  Sergio Villar Senin  <svillar@igalia.com>
15463
15464        [CSS Grid Layout] minmax() should be a CSSFunction instead of a CSSValueList
15465        https://bugs.webkit.org/show_bug.cgi?id=127057
15466
15467        Reviewed by Antti Koivisto.
15468
15469        We were incorrectly dumping minmax(x,y) as "x y" instead of
15470        "minmax(x,y)". That's because we were treating minmax() internally
15471        as a CSSValueList instead of a CSSFunction. Replaced that and also
15472        added some extra information to our tests in order to check that
15473        we don't regress. From now on the CSS grid layout testing helper
15474        functions print not only the computed style but also the contents
15475        of element.style.webkitGridDefinition{Columns|Rows}.
15476
15477        * css/CSSFunctionValue.h:
15478        (WebCore::CSSFunctionValue::arguments):
15479        * css/CSSParser.cpp:
15480        (WebCore::CSSParser::parseGridTrackList):
15481        (WebCore::CSSParser::parseGridTrackRepeatFunction):
15482        (WebCore::CSSParser::parseGridTrackSize):
15483        * css/CSSParser.h:
15484        * css/StyleResolver.cpp:
15485        (WebCore::createGridTrackSize):
15486
154872014-01-29  Ryosuke Niwa  <rniwa@webkit.org>
15488
15489        Rename notifyRendererOfSelectionChange
15490        https://bugs.webkit.org/show_bug.cgi?id=127831
15491
15492        Reviewed by Antti Koivisto.
15493
15494        Renamed notifyRendererOfSelectionChange to updateSelectionCachesIfSelectionIsInsideTextFormControl.
15495
15496        * WebCore.order: Removed the exported symbol name as it's not used in WebKit or WebKit2 code.
15497        * editing/FrameSelection.cpp:
15498        (WebCore::FrameSelection::setSelection):
15499        (WebCore::FrameSelection::selectAll):
15500        (WebCore::FrameSelection::updateSelectionCachesIfSelectionIsInsideTextFormControl): Don't update the style since the existence
15501        of text form control's shadow DOM no longer depends on renderer.
15502        * editing/FrameSelection.h:
15503        * html/HTMLTextFormControlElement.cpp:
15504        (WebCore::HTMLTextFormControlElement::selectionChanged): Don't check renderer() for the same reason.
15505        * page/EventHandler.cpp:
15506        (WebCore::EventHandler::handleMouseReleaseEvent):
15507
155082014-01-28  Jer Noble  <jer.noble@apple.com>
15509
15510        [Mac] Handle NSURLAuthenticationMethodServerTrust challenges from -resourceLoader:shouldWaitForResponseToAuthenticationChallenge:
15511        https://bugs.webkit.org/show_bug.cgi?id=127806
15512
15513        Reviewed by Eric Carlson.
15514
15515        In addition to the normal "user/password" NSURLAuthenticationChallenges, the 
15516        -resourceLoader:shouldWaitForResponseToAuthenticationChallenge: delegate method will
15517        ask us to confirm server certificate chains. Rather than pop up an authentication
15518        dialog (which won't work anyway) we will now just drop such requests and continue
15519        on normally.
15520
15521        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
15522        (-[WebCoreAVFLoaderDelegate resourceLoader:shouldWaitForResponseToAuthenticationChallenge:]):
15523
155242014-01-28  Commit Queue  <commit-queue@webkit.org>
15525
15526        Unreviewed, rolling out r162987.
15527        http://trac.webkit.org/changeset/162987
15528        https://bugs.webkit.org/show_bug.cgi?id=127825
15529
15530        Broke Mountain Lion build (Requested by andersca on #webkit).
15531
15532        * bindings/scripts/CodeGeneratorJS.pm:
15533        (GenerateGetOwnPropertySlotBody):
15534        (GenerateAttributesHashTable):
15535        (GenerateImplementation):
15536        * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
15537        (WebCore::jsTestActiveDOMObjectConstructor):
15538        * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
15539        (WebCore::jsTestCustomNamedGetterConstructor):
15540        * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
15541        (WebCore::jsTestEventConstructorConstructor):
15542        * bindings/scripts/test/JS/JSTestEventTarget.cpp:
15543        (WebCore::jsTestEventTargetConstructor):
15544        * bindings/scripts/test/JS/JSTestException.cpp:
15545        (WebCore::jsTestExceptionConstructor):
15546        * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
15547        (WebCore::jsTestGenerateIsReachableConstructor):
15548        * bindings/scripts/test/JS/JSTestInterface.cpp:
15549        (WebCore::jsTestInterfaceConstructor):
15550        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
15551        (WebCore::jsTestMediaQueryListListenerConstructor):
15552        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
15553        (WebCore::jsTestNamedConstructorConstructor):
15554        * bindings/scripts/test/JS/JSTestNode.cpp:
15555        (WebCore::jsTestNodeConstructor):
15556        * bindings/scripts/test/JS/JSTestObj.cpp:
15557        (WebCore::jsTestObjConstructor):
15558        * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
15559        (WebCore::jsTestOverloadedConstructorsConstructor):
15560        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
15561        (WebCore::jsTestSerializedScriptValueInterfaceConstructor):
15562        * bindings/scripts/test/JS/JSTestTypedefs.cpp:
15563        (WebCore::jsTestTypedefsConstructor):
15564        * bindings/scripts/test/JS/JSattribute.cpp:
15565        (WebCore::jsattributeConstructor):
15566        * bindings/scripts/test/JS/JSreadonly.cpp:
15567        (WebCore::jsreadonlyConstructor):
15568
155692014-01-28  Enrica Casucci  <enrica@apple.com>
15570
15571        Add support for ActionSheets in WK2 for iOS.
15572        https://bugs.webkit.org/show_bug.cgi?id=127586
15573        <rdar://problem/15283667>
15574
15575        Reviewed by Benjamin Poulain.
15576
15577        This patch contains some WebCore changes required to
15578        implement support for ActionSheets.
15579        It adds copyURL implementation for iOS in the Editor
15580        class and fixes some bugs in the iOS specific pasteboard
15581        writing code.
15582        The changes to Localizable.strings are the result of
15583        running update-webkit-localizedstrings script.
15584
15585        * English.lproj/Localizable.strings:
15586        * WebCore.exp.in:
15587        * editing/Editor.cpp:
15588        * editing/Editor.h:
15589        * editing/ios/EditorIOS.mm:
15590        (WebCore::Editor::writeImageToPasteboard):
15591        * platform/ios/PasteboardIOS.mm:
15592        (WebCore::Pasteboard::write):
15593        * platform/ios/PlatformPasteboardIOS.mm:
15594        (WebCore::PlatformPasteboard::write):
15595
155962014-01-28  Andy Estes  <aestes@apple.com>
15597
15598        [iOS] REGRESSION (r162663): Webpages have strange artifacts or corruption around tile boundaries
15599        https://bugs.webkit.org/show_bug.cgi?id=127823
15600
15601        Reviewed by Daniel Bates.
15602
15603        Original patch by Simon Fraser.
15604
15605        * platform/ScrollView.cpp: Specify LegacyIOSDocumentViewRect when calling visibleContentRect().
15606
156072014-01-28  Zoltan Horvath  <zoltan@webkit.org>
15608
15609        [CSS Shapes] Adjust inset sizing syntax to the latest specification
15610        https://bugs.webkit.org/show_bug.cgi?id=127785
15611
15612        Reviewed by Bem Jones-Bey.
15613
15614        According to the latest CSS Shapes specification [1], the width arguments of inset should
15615        follow the syntax of the margin shorthand, which let us set all four insets with one, two
15616        or four values. This patch updates the behavior and updates the affected tests.
15617
15618        [1] http://dev.w3.org/csswg/css-shapes/#funcdef-inset
15619
15620        Existing tests have been updated.
15621
15622        * css/CSSParser.cpp:
15623        (WebCore::CSSParser::parseInsetRoundedCorners):
15624        (WebCore::CSSParser::parseBasicShapeInset):
15625
156262014-01-28  Oliver Hunt  <oliver@apple.com>
15627
15628        Make DOM attributes appear to be faux accessor properties
15629        https://bugs.webkit.org/show_bug.cgi?id=127797
15630
15631        Reviewed by Michael Saboff.
15632
15633        Refactor the bindings generator, and make sure we emit
15634        the CustomAccessor flag on properties that should 
15635        appear to be accessors.
15636
15637        * bindings/scripts/CodeGeneratorJS.pm:
15638        (GenerateGetOwnPropertySlotBody):
15639        (GenerateAttributesHashTable):
15640        (GenerateImplementation):
15641
156422014-01-27  Chris Fleizach  <cfleizach@apple.com>
15643
15644        AX: Support @scope in HTML tables
15645        https://bugs.webkit.org/show_bug.cgi?id=127688
15646
15647        Reviewed by Mario Sanchez Prada.
15648
15649        Add support for scope attribute so that row headers and column headers
15650        are now exposed at the table cell level where appropriate.
15651
15652        Test: platform/mac/accessibility/table-scope.html
15653
15654        * accessibility/AccessibilityARIAGridCell.cpp:
15655        (WebCore::AccessibilityARIAGridCell::parentTable):
15656        * accessibility/AccessibilityARIAGridCell.h:
15657        * accessibility/AccessibilityARIAGridRow.cpp:
15658        (WebCore::AccessibilityARIAGridRow::parentTable):
15659        * accessibility/AccessibilityARIAGridRow.h:
15660        * accessibility/AccessibilityTable.cpp:
15661        (WebCore::AccessibilityTable::columns):
15662        (WebCore::AccessibilityTable::rows):
15663        * accessibility/AccessibilityTable.h:
15664        * accessibility/AccessibilityTableCell.cpp:
15665        (WebCore::AccessibilityTableCell::parentTable):
15666        (WebCore::AccessibilityTableCell::isTableHeaderCell):
15667        (WebCore::AccessibilityTableCell::isTableCellInSameRowGroup):
15668        (WebCore::AccessibilityTableCell::isTableCellInSameColGroup):
15669        (WebCore::AccessibilityTableCell::columnHeaders):
15670        (WebCore::AccessibilityTableCell::rowHeaders):
15671        * accessibility/AccessibilityTableCell.h:
15672        * accessibility/AccessibilityTableRow.cpp:
15673        (WebCore::AccessibilityTableRow::parentTable):
15674        * accessibility/AccessibilityTableRow.h:
15675        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
15676        (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
15677        (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
15678
156792014-01-28  Brent Fulgham  <bfulgham@apple.com>
15680
15681        Improve latching behavior for wheel events
15682        https://bugs.webkit.org/show_bug.cgi?id=127386
15683        <rdar://problem/12176858>
15684
15685        Reviewed by Simon Fraser.
15686
15687        * page/scrolling/ScrollingTree.cpp:
15688        (WebCore::ScrollingTree::clearLatchedNode): Added
15689        (WebCore::ScrollingTree::latchedNode): Added
15690        (WebCore::ScrollingTree::removeDestroyedNodes): Clear latched node if it's being removed.
15691        (WebCore::ScrollingTree::ScrollingTree): Initialize new value used for tracking
15692        scroll latching state.
15693        (WebCore::ScrollingTree::setLatchedNode): Added
15694        (WebCore::ScrollingTree::setOrClearLatchedNode): Added
15695        Set latched node when beginning a swipe event, or clear latched node when scroll/momentum ends.
15696        (WebCore::ScrollingTree::shouldHandleWheelEventSynchronously): Check for an existing
15697        latched node and stay in fast scrolling mode if possible. If the current event should
15698        start a swipe event, clear the current latched node so we can correctly find and assign
15699        the new latch node.
15700        * page/scrolling/ScrollingTree.h:
15701        (WebCore::ScrollingTree::hasLatchedNode): Added
15702        * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
15703        (WebCore::ScrollingTreeScrollingNodeMac::handleWheelEvent): Determine latching state
15704        based on wheel event state and position of mouse pointer in the document.
15705        * platform/ScrollAnimator.cpp:
15706        (ScrollAnimator::handleWheelEvent): Always treat PlatformWheelEventPhaseMayBegin
15707        as successfully handled so that it does not "bubble back up" to the root of
15708        the scrolling tree.   
15709
157102014-01-23  Myles C. Maxfield  <mmaxfield@apple.com>
15711
15712        ASSERT_WITH_SECURITY_IMPLICATION in WebCore::InlineTextBox::paint
15713        https://bugs.webkit.org/show_bug.cgi?id=114586
15714
15715        Reviewed by Dave Hyatt.
15716
15717        Taken mostly from https://chromium.googlesource.com/chromium/blink/+/cb2297db16f2e9328cb4dd8b552093d6b22340a8
15718
15719        If RenderQuote is a subclass of RenderObject, it can't be split by the first-letter CSS pseudoclass.
15720        Instead, we should make it a subclass of RenderElement, so that it can be split properly.
15721
15722        Test: fast/css-generated-content/quote-first-letter.html
15723
15724        * dom/PseudoElement.cpp:
15725        (WebCore::PseudoElement::didRecalcStyle):
15726        * rendering/RenderQuote.cpp:
15727        (WebCore::RenderQuote::RenderQuote):
15728        (WebCore::RenderQuote::willBeDestroyed):
15729        (WebCore::RenderQuote::willBeRemovedFromTree):
15730        (WebCore::RenderQuote::styleDidChange):
15731        (WebCore::RenderQuote::updateText):
15732        (WebCore::RenderQuote::computeText):
15733        (WebCore::RenderQuote::updateDepth):
15734        * rendering/RenderQuote.h:
15735        * rendering/style/ContentData.cpp:
15736        (WebCore::QuoteContentData::createContentRenderer):
15737
157382014-01-28  Antti Koivisto  <antti@apple.com>
15739
15740        Document::topDocument() should return a reference
15741        https://bugs.webkit.org/show_bug.cgi?id=127786
15742
15743        Reviewed by Darin Adler.
15744
15745        * accessibility/AccessibilityObject.cpp:
15746        (WebCore::AccessibilityObject::mainFrame):
15747        (WebCore::AccessibilityObject::topDocument):
15748        * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
15749        (-[WebAccessibilityObjectWrapper accessibilityContainer]):
15750        * dom/Document.cpp:
15751        (WebCore::Document::~Document):
15752        (WebCore::Document::createRenderTree):
15753        (WebCore::Document::destroyRenderTree):
15754        (WebCore::Document::clearAXObjectCache):
15755        (WebCore::Document::existingAXObjectCache):
15756        (WebCore::Document::axObjectCache):
15757        (WebCore::Document::implicitClose):
15758        (WebCore::Document::topDocument):
15759        (WebCore::Document::topOrigin):
15760        (WebCore::Document::webkitCancelFullScreen):
15761        (WebCore::Document::webkitDidExitFullScreenForElement):
15762        * dom/Document.h:
15763        * page/DOMWindow.cpp:
15764        (WebCore::DOMWindow::incrementScrollEventListenersCount):
15765        (WebCore::DOMWindow::decrementScrollEventListenersCount):
15766        * rendering/RenderEmbeddedObject.cpp:
15767        (WebCore::RenderEmbeddedObject::isReplacementObscured):
15768        * rendering/RenderView.cpp:
15769        (WebCore::RenderView::RepaintRegionAccumulator::RepaintRegionAccumulator):
15770        
157712014-01-28  Viatcheslav Ostapenko  <sl.ostapenko@samsung.com>
15772
15773        Sticky positioning is broken for table rows
15774        https://bugs.webkit.org/show_bug.cgi?id=112024
15775
15776        Reviewed by Simon Fraser.
15777
15778        Enable sticky positioning for table elements. 
15779        Also includes fix for bug ​wkb.ug/105654
15780        I don't have access to this bug, but from related commit message I 
15781        assume it says about "Heap use after free problem".
15782        Debugging showed that it wasn't heap use after free. 
15783        The real problem that RenderObject::container() returns object which is
15784        not RenderBlock and it is used as RenderBlock in 
15785        RenderBox::containingBlockLogicalHeightForPositioned() method.
15786        Added extra isRenderBlock check and search for containingBlock if 
15787        current block is not RenderBlock.
15788        
15789        Tests: fast/css/sticky/sticky-table-row-top.html
15790               fast/css/sticky/sticky-table-thead-top.html
15791
15792        * css/StyleResolver.cpp:
15793        (WebCore::StyleResolver::adjustRenderStyle):
15794        * rendering/RenderBox.cpp:
15795        (WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
15796        * rendering/RenderTableRow.h:
15797
157982014-01-28  Myles C. Maxfield  <mmaxfield@apple.com>
15799
15800        Fixing several incorrect assumptions with handling isolated inlines.
15801        https://bugs.webkit.org/show_bug.cgi?id=127608
15802
15803        Reviewed by Simon Fraser.
15804
15805        Fixing capitalization.
15806
15807        * rendering/RenderBlockLineLayout.cpp:
15808        (WebCore::setUpResolverToResumeInIsolate):
15809        (WebCore::constructBidiRunsForSegment):
15810
158112014-01-28  Myles C. Maxfield  <mmaxfield@apple.com>
15812
15813        Fixing several incorrect assumptions with handling isolated inlines.
15814        https://bugs.webkit.org/show_bug.cgi?id=127608
15815
15816        Reviewed by Dave Hyatt.
15817
15818        First, when an isolated inline spans multiple lines, we aren't guaranteed
15819        to exit BidiResolver with a nested inline count of zero. Removing the
15820        assert that says otherwise.
15821        
15822        Previously in constructBidiRunsForSegment, we called bidiFirst in
15823        an attempt to properly setup the isolatedResolver for any dom/style
15824        that applied, but this only worked on the first line the isolated
15825        inline appeared in. Adding a function that approaches this properly
15826        by recursing through the parents of the starting object for the line
15827        and post-fixing direction attributes to the resolver.
15828        
15829        Finally, addressing an issue where the line following a removed isolated
15830        inline (with a continuation) failed to be marked dirty.
15831
15832        Merged from Blink: https://chromium.googlesource.com/chromium/blink/+/72698f203b1c50900e535b80945563b92b7eef23
15833
15834        Tests: fast/text/nested-bidi-assert.html
15835               fast/text/nested-bidi-with-continuation-crash.html
15836
15837        * platform/text/BidiResolver.h:
15838        (WebCore::Run>::~BidiResolver):
15839        * rendering/RenderBlockLineLayout.cpp:
15840        (WebCore::setupResolverToResumeInIsolate):
15841        (WebCore::constructBidiRunsForSegment):
15842        * rendering/RenderLineBoxList.cpp:
15843        (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
15844
158452014-01-28  Antti Koivisto  <antti@apple.com>
15846
15847        REGRESSION(r162837): 5% regression on html5-full-render and 3% regression in DoYouEvenBench
15848        https://bugs.webkit.org/show_bug.cgi?id=127722
15849
15850        Reviewed by Darin Adler.
15851
15852        Accumulate repaint region in RendeView instead of flushing rects directly to the system.
15853
15854        * dom/Document.cpp:
15855        (WebCore::Document::recalcStyle):
15856        (WebCore::Document::updateLayout):
15857        (WebCore::Document::topDocument):
15858        
15859            Make less silly.
15860
15861        * page/FrameView.cpp:
15862        (WebCore::FrameView::layout):
15863        * rendering/RenderView.cpp:
15864        (WebCore::RenderView::repaintViewRectangle):
15865        (WebCore::RenderView::flushAccumulatedRepaintRegion):
15866        (WebCore::RenderView::RepaintRegionAccumulator::RepaintRegionAccumulator):
15867        (WebCore::RenderView::RepaintRegionAccumulator::~RepaintRegionAccumulator):
15868        * rendering/RenderView.h:
15869
158702014-01-28  Jeremy Jones  <jeremyj@apple.com>
15871
15872        HTMLMediaElement::m_platformLayerBorrowed is uninitialized.
15873        https://bugs.webkit.org/show_bug.cgi?id=127759
15874
15875        Reviewed by Eric Carlson.
15876
15877        Initalize m_platformLayerBorrowed to false.
15878
15879        * html/HTMLMediaElement.cpp:
15880        (WebCore::HTMLMediaElement::HTMLMediaElement):
15881
158822014-01-28  Jer Noble  <jer.noble@apple.com>
15883
15884        [Mac] Use explicit, rather than canonical, AudioFormatFlags and types.
15885        https://bugs.webkit.org/show_bug.cgi?id=127781
15886
15887        Reviewed by Eric Carlson.
15888
15889        Since every mac platform uses Float32 audio samples, use these types explicitly
15890        rather than the implicit, canonical AudioSampleType type. Once we're using Float32
15891        explicity, we can also use the explicit kAudioFormatFlagsNativeFloatPacked flag
15892        rather than the canonical version.
15893
15894        * platform/audio/mac/AudioDestinationMac.cpp:
15895        (WebCore::AudioDestinationMac::configure):
15896        * platform/audio/mac/AudioFileReaderMac.cpp:
15897        (WebCore::AudioFileReader::createBus):
15898
158992014-01-27  Alexey Proskuryakov  <ap@apple.com>
15900
15901        Expose SQL database creation and modification times
15902        https://bugs.webkit.org/show_bug.cgi?id=127728
15903
15904        Reviewed by Brady Eidson.
15905
15906        * platform/FileSystem.h:
15907        * platform/posix/FileSystemPOSIX.cpp:
15908        (WebCore::getFileCreationTime):
15909        * platform/win/FileSystemWin.cpp:
15910        (WebCore::getFileCreationTimeFromFindData):
15911        (WebCore::getFileCreationTime):
15912        Added functions to get file creation times. Not all OSes support that, but Darwin
15913        and Windows do, as (I think) various BSD flavors.
15914
15915        * platform/gtk/FileSystemGtk.cpp: Added a stub for getFileCreationTime().
15916
15917        * platform/sql/SQLiteFileSystem.h:
15918        * platform/sql/SQLiteFileSystem.cpp:
15919        (WebCore::SQLiteFileSystem::databaseCreationTime):
15920        (WebCore::SQLiteFileSystem::databaseModificationTime):
15921        Expose it in the same strange manner other database file operations are.
15922
15923        * Modules/webdatabase/DatabaseDetails.h:
15924        (WebCore::DatabaseDetails::DatabaseDetails):
15925        (WebCore::DatabaseDetails::creationTime):
15926        (WebCore::DatabaseDetails::modificationTime):
15927        Added creation and modification times to DatabaseDetails.
15928
15929        * Modules/webdatabase/DatabaseManager.cpp:
15930        (WebCore::DatabaseManager::ProposedDatabase::ProposedDatabase):
15931        (WebCore::DatabaseManager::openDatabaseBackend):
15932        ProposedDatabase is an unfortunate mechanism for communicating quota errors to the
15933        client, we should really straighten it up. But for now, just leave the times uninitialized.
15934
15935        * Modules/webdatabase/DatabaseBackendBase.cpp: (WebCore::DatabaseBackendBase::details):
15936        This code path is for handling quota errors, so there is no need to initialize most
15937        of DatabaseDetails here as well.
15938
15939        * Modules/webdatabase/DatabaseTracker.cpp: (WebCore::DatabaseTracker::detailsForNameAndOrigin):
15940        * Modules/webdatabase/DatabaseTracker.h:
15941        Fill in database file times. Inlined and removed usageForDatabase function to
15942        avoid rebuilding the path multiple times.
15943
159442014-01-28  Jer Noble  <jer.noble@apple.com>
15945
15946        Setting muted attribute on <video> element is not reflected in controls
15947        https://bugs.webkit.org/show_bug.cgi?id=127726
15948
15949        Reviewed by Eric Carlson.
15950
15951        If the 'muted' IDL attribute is queried after the 'muted' and 'src' content attributes are
15952        set but before loading begins, it will return 'false' until loading begins, but with no
15953        way to query whether that value is valid, nor firing a volumechange event when its value
15954        changes.
15955
15956        The HTML spec says that the 'muted' content attribute controls whether audio output is
15957        muted "when the media element is created", not when loading begins, but we don't
15958        necessarily have a signal that the element is fully parsed.  Additionally, this means its
15959        impossible to make an element via script and get this behavior.
15960
15961        So the new behavior is that the 'muted' IDL attribute will always reflect the 'muted'
15962        content attribute up until one of the following three conditions:
15963
15964        - The 'muted' IDL attribute is set via script.
15965        - The element is inserted in the document.
15966        - The element begins loading.
15967
15968        After the first one of the above conditions, the 'muted' IDL attribute will no longer
15969        change when the 'muted' content attribute changes.
15970
15971        * html/HTMLMediaElement.cpp:
15972        (WebCore::HTMLMediaElement::HTMLMediaElement):
15973        (WebCore::HTMLMediaElement::parseAttribute):
15974        * html/HTMLMediaElement.h:
15975
159762014-01-28  Anders Carlsson  <andersca@apple.com>
15977
15978        Add stubbed out VisitedLinkProvider class
15979        https://bugs.webkit.org/show_bug.cgi?id=127744
15980
15981        Reviewed by Andreas Kling.
15982
15983        This is a first step towards moving responsibility of visited links from 
15984        the page group to a separate object.
15985
15986        * CMakeLists.txt:
15987        * GNUmakefile.list.am:
15988        * WebCore.vcxproj/WebCore.vcxproj:
15989        * WebCore.vcxproj/WebCore.vcxproj.filters:
15990        * WebCore.xcodeproj/project.pbxproj:
15991        * page/PageGroup.cpp:
15992        (WebCore::PageGroup::PageGroup):
15993        * page/PageGroup.h:
15994        (WebCore::PageGroup::visitedLinkProvider):
15995        * page/VisitedLinkProvider.cpp: Added.
15996        (WebCore::VisitedLinkProvider::VisitedLinkProvider):
15997        (WebCore::VisitedLinkProvider::~VisitedLinkProvider):
15998        * page/VisitedLinkProvider.h: Added.
15999        (WebCore::VisitedLinkProvider::create):
16000
160012014-01-28  Gurpreet Kaur  <k.gurpreet@samsung.com>
16002
16003        Add support for menclose element
16004        https://bugs.webkit.org/show_bug.cgi?id=85729
16005
16006        Reviewed by Chris Fleizach.
16007
16008        Added support for menclose element. MathML <menclose> element renders
16009        its content inside an enclosing notation specified by the notation
16010        attribute. The notation attribute can have values longdiv, box, left,
16011        right, top, bottom , radical, madruwb, actuarial, roundedbox, circle,
16012        updiagonalstrike, downdiagonalstrike, verticalstrike and
16013        horizontalstrike.
16014
16015        Tests: mathml/presentation/menclose-add-children.html
16016               mathml/presentation/menclose-notation-attribute-add.html
16017               mathml/presentation/menclose-notation-attribute-change-value.html
16018               mathml/presentation/menclose-notation-attribute-remove.html
16019               mathml/presentation/menclose-notation-attribute-set1.html
16020               mathml/presentation/menclose-notation-attribute-set2.html
16021               mathml/presentation/menclose-notation-no-overlap.html
16022               mathml/presentation/menclose-notation-radical.html
16023               mathml/presentation/menclose-remove-children.html
16024
16025        * CMakeLists.txt:
16026        * GNUmakefile.list.am:
16027        * WebCore.vcxproj/WebCore.vcxproj:
16028        * WebCore.vcxproj/WebCore.vcxproj.filters:
16029        * WebCore.xcodeproj/project.pbxproj:
16030        * css/mathml.css:
16031        (mo, mrow, mfenced, mfrac, msub, msup, msubsup, mmultiscripts, mprescripts, none, munder, mover, munderover, msqrt, mroot, merror, mphantom, mstyle, menclose):
16032        (math, mrow, mfenced, msqrt, mroot, merror, mphantom, mstyle, menclose):
16033        * mathml/MathMLAllInOne.cpp:
16034        * mathml/MathMLElement.h:
16035        * mathml/MathMLInlineContainerElement.cpp:
16036        * mathml/MathMLMencloseElement.cpp: Added.
16037        (WebCore::MathMLMencloseElement::MathMLMencloseElement):
16038        (WebCore::MathMLMencloseElement::create):
16039        (WebCore::MathMLMencloseElement::createElementRenderer):
16040        (WebCore::MathMLMencloseElement::isPresentationAttribute):
16041        (WebCore::MathMLMencloseElement::finishParsingChildren):
16042        (WebCore::MathMLMencloseElement::collectStyleForPresentationAttribute):
16043        (WebCore::MathMLMencloseElement::longDivLeftPadding):
16044        * mathml/MathMLMencloseElement.h: Added.
16045        (WebCore::toMathMLMencloseElement):
16046        * mathml/mathattrs.in:
16047        * mathml/mathtags.in:
16048        * rendering/mathml/RenderMathMLMenclose.cpp: Added.
16049        (WebCore::RenderMathMLMenclose::RenderMathMLMenclose):
16050        (WebCore::RenderMathMLMenclose::addChild):
16051        (WebCore::RenderMathMLMenclose::computePreferredLogicalWidths):
16052        (WebCore::RenderMathMLMenclose::updateLogicalHeight):
16053        (WebCore::RenderMathMLMenclose::paint):
16054        (WebCore::RenderMathMLMenclose::checkNotationalValuesValidity):
16055        * rendering/mathml/RenderMathMLMenclose.h: Added.
16056        * rendering/mathml/RenderMathMLRoot.cpp:
16057        (WebCore::RenderMathMLRoot::RenderMathMLRoot):
16058        * rendering/mathml/RenderMathMLRoot.h:
16059        * rendering/mathml/RenderMathMLSquareRoot.cpp:
16060        (WebCore::RenderMathMLSquareRoot::RenderMathMLSquareRoot):
16061        (WebCore::RenderMathMLSquareRoot::createAnonymousWithParentRenderer):
16062        * rendering/mathml/RenderMathMLSquareRoot.h:
16063        Added new file related to menclose element implementation. Menclose
16064        element is created and while parsing its notation attribute based on
16065        its values like top, left CSSBorder properties are applied and for
16066        values like circle, verticalstrike, longidv its taken care in paint.
16067        For radical value an anonymous RenderMathMLSquareRoot is created as
16068        a child of menclose.
16069
160702014-01-28  Krzysztof Czech  <k.czech@samsung.com>
16071
16072        [ATK] accessibility/range-alter-by-percent.html is failing after r162587.
16073        https://bugs.webkit.org/show_bug.cgi?id=127774
16074
16075        Reviewed by Mario Sanchez Prada.
16076
16077        Implicit value of step in range type elements should be one or larger.
16078
16079        No new tests. Covered by exiting one.
16080
16081        * accessibility/atk/WebKitAccessibleInterfaceValue.cpp:
16082        (webkitAccessibleValueGetMinimumIncrement):
16083
160842014-01-28  Mark Rowe  <mrowe@apple.com>
16085
16086        <https://webkit.org/b/127767> Disable some deprecation warnings to fix the build.
16087
16088        Reviewed by Ryosuke Niwa.
16089
16090        * accessibility/mac/AXObjectCacheMac.mm:
16091        (WebCore::AXObjectCache::postPlatformNotification):
16092        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
16093        (-[WebAccessibilityObjectWrapper renderWidgetChildren]):
16094        * platform/audio/mac/AudioDestinationMac.cpp:
16095        (WebCore::AudioDestinationMac::configure):
16096        * platform/audio/mac/AudioFileReaderMac.cpp:
16097        (WebCore::AudioFileReader::createBus):
16098
160992014-01-28  Carlos Garcia Campos  <cgarcia@igalia.com>
16100
16101        [SOUP] Remove soupURIToKURL
16102        https://bugs.webkit.org/show_bug.cgi?id=127104
16103
16104        Reviewed by Martin Robinson.
16105
16106        In favor of a URL constructor receiving a SoupURI. Also add a
16107        method to URL to create a soupURI.
16108
16109        * GNUmakefile.list.am: Remove SoupURIUtils and add URLSoup.
16110        * PlatformEfl.cmake: Ditto.
16111        * PlatformGTK.cmake: Ditto.
16112        * platform/URL.h: Add URL constructor receiving a SoupURI and
16113        createSoupURI() to create a new soupURI for the URL.
16114        * platform/network/soup/CookieJarSoup.cpp:
16115        (WebCore::setCookiesFromDOM): Use URL::createSoupURI().
16116        (WebCore::cookiesForSession): Ditto.
16117        (WebCore::getRawCookies): Ditto.
16118        (WebCore::deleteCookie): Ditto.
16119        * platform/network/soup/ResourceHandleSoup.cpp:
16120        (WebCore::doRedirect): Use the new URL constructor instead of
16121        soupURIToKURL.
16122        (WebCore::createSoupRequestAndMessageForHandle): Use URL::createSoupURI().
16123        * platform/network/soup/ResourceRequest.h: Rename soupURI as
16124        createSoupURI to make it clear that the method returns a newly
16125        created SoupURI.
16126        * platform/network/soup/ResourceRequestSoup.cpp:
16127        (WebCore::ResourceRequest::updateSoupMessageMembers): Use URL::createSoupURI().
16128        (WebCore::ResourceRequest::updateSoupMessage): Ditto.
16129        (WebCore::ResourceRequest::updateFromSoupMessage): Use the new URL
16130        constructor instead of soupURIToKURL.
16131        (WebCore::ResourceRequest::createSoupURI): Use URL::createSoupURI().
16132        * platform/network/soup/ResourceResponseSoup.cpp:
16133        (WebCore::ResourceResponse::updateFromSoupMessage): Use the new
16134        URL constructor instead of soupURIToKURL.
16135        * platform/network/soup/SoupURIUtils.cpp: Removed.
16136        * platform/network/soup/SoupURIUtils.h: Removed.
16137        * platform/soup/URLSoup.cpp: Added.
16138        (WebCore::URL::URL):
16139        (WebCore::URL::createSoupURI):
16140
161412014-01-27  Carlos Garcia Campos  <cgarcia@igalia.com>
16142
16143        [GTK] Avoid unnecessary string duplications in FileSystemGtk
16144        https://bugs.webkit.org/show_bug.cgi?id=127469
16145
16146        Reviewed by Martin Robinson.
16147
16148        We are using fileSystemRepresentation() everywhere internally
16149        which returns a CString that always duplicates the string.
16150        Add unescapedFilename() internal helper function that returns a
16151        GUniquePtr and used it everywhere instead of fileSystemRepresentation().
16152
16153        * platform/gtk/FileSystemGtk.cpp:
16154        (WebCore::unescapedFilename):
16155        (WebCore::fileSystemRepresentation):
16156        (WebCore::filenameForDisplay):
16157        (WebCore::fileExists):
16158        (WebCore::deleteFile):
16159        (WebCore::deleteEmptyDirectory):
16160        (WebCore::getFileStat):
16161        (WebCore::getFileSize):
16162        (WebCore::getFileModificationTime):
16163        (WebCore::getFileMetadata):
16164        (WebCore::pathByAppendingComponent):
16165        (WebCore::makeAllDirectories):
16166        (WebCore::pathGetFileName):
16167        (WebCore::directoryName):
16168        (WebCore::listDirectory):
16169        (WebCore::openFile):
16170
161712014-01-27  Carlos Garcia Campos  <cgarcia@igalia.com>
16172
16173        [GTK] Make webkit_uri_scheme_request_get_web_view() work with CustomProtocols
16174        https://bugs.webkit.org/show_bug.cgi?id=127614
16175
16176        Reviewed by Gustavo Noronha Silva.
16177
16178        Add API to set the page identifier that initiated the request to
16179        ResourceRequest, and remove the initiatingPageID() method from the
16180        NetworkingContext class.
16181
16182        * platform/network/NetworkingContext.h:
16183        * platform/network/ResourceHandle.h:
16184        * platform/network/soup/ResourceHandleSoup.cpp:
16185        (WebCore::createSoupRequestAndMessageForHandle):
16186        * platform/network/soup/ResourceRequest.h:
16187        (WebCore::ResourceRequest::ResourceRequest):
16188        (WebCore::ResourceRequest::initiatingPageID):
16189        (WebCore::ResourceRequest::setInitiatingPageID):
16190        * platform/network/soup/ResourceRequestSoup.cpp:
16191        (WebCore::ResourceRequest::updateSoupRequest):
16192        (WebCore::ResourceRequest::updateFromSoupRequest):
16193
161942014-01-27  Tim Horton  <timothy_horton@apple.com>
16195
16196        Lots of varied and random crashes on the scrolling thread (ScrollbarPainters are going away)
16197        https://bugs.webkit.org/show_bug.cgi?id=127734
16198        <rdar://problem/15906263>
16199
16200        Reviewed by Simon Fraser.
16201
16202        * page/scrolling/ScrollingStateScrollingNode.h:
16203        Retain the ScrollbarPainters in the scrolling state tree.
16204
162052014-01-27  Joseph Pecoraro  <pecoraro@apple.com>
16206
16207        Unreviewed iOS build fix. FALLTHROUGHs for iOS.
16208
16209        * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
16210        (-[WebAccessibilityObjectWrapper accessibilityTraits]):
16211        (-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]):
16212
162132014-01-27  Roger Fong  <roger_fong@apple.com>
16214
16215        WebGLLoadPolicy::WebGLAsk is an unnecessary value.
16216        https://bugs.webkit.org/show_bug.cgi?id=127755
16217
16218        Reviewed by Anders Carlsson.
16219
16220        * html/HTMLCanvasElement.cpp:
16221        (WebCore::HTMLCanvasElement::getContext):
16222        * loader/FrameLoaderTypes.h:
16223
162242014-01-27  Brady Eidson  <beidson@apple.com>
16225
16226        IDB: Cursor support - Messaging, IPC, Threading plumbing
16227        https://bugs.webkit.org/show_bug.cgi?id=127736
16228
16229        Reviewed by Sam Weinig.
16230
16231        * Modules/indexeddb/IDBCursorBackendOperations.h:
16232        (WebCore::CursorIterationOperation::cursorID):
16233        (WebCore::CursorAdvanceOperation::cursorID):
16234
16235        * Modules/indexeddb/IDBTransactionBackendOperations.h:
16236        (WebCore::OpenCursorOperation::transactionID):
16237
16238        * WebCore.exp.in:
16239
162402014-01-27  Joseph Pecoraro  <pecoraro@apple.com>
16241
16242        WebCore: Enable -Wimplicit-fallthrough and add FALLTHROUGH annotation where needed
16243        https://bugs.webkit.org/show_bug.cgi?id=127671
16244
16245        Reviewed by Ryosuke Niwa.
16246
16247        * Configurations/Base.xcconfig:
16248        Enable the warning.
16249
16250        * css/StyleResolver.cpp:
16251        (WebCore::StyleResolver::applyProperty):
16252        Caught a bug. CSSPropertyWebkitAlt could fall through to CSSPropertyQuotes.
16253
16254        * css/SVGCSSParser.cpp:
16255        (WebCore::CSSParser::parseSVGValue):
16256        Caught a bug. CSSPropertyWebkitSvgShadow could fall through to CSSPropertyMaskType.
16257
16258        * platform/Decimal.cpp:
16259        (WebCore::Decimal::fromString):
16260        Possible bug. Implementation doesn't seem to match its documentation.
16261        Filed an issue to follow-up on this unclear function.
16262
16263        * css/makeprop.pl:
16264        * css/makevalues.pl:
16265        * platform/ColorData.gperf:
16266        Ignore implicit fallthrough warnings in generated code. gperf outputs
16267        a "/*FALLTHROUGH*/" comment, but is not easily customizable to change
16268        this output. Easiest to just ignore the warning for now.
16269
16270        * rendering/AutoTableLayout.cpp:
16271        (WebCore::AutoTableLayout::recalcColumn):
16272        (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
16273        (WebCore::AutoTableLayout::layout):
16274        There has been a "fall through" comment immediately followed by a break
16275        since its introduction in 2003. Removing the inaccurate comment.
16276
16277        * accessibility/AccessibilityNodeObject.cpp:
16278        (WebCore::AccessibilityNodeObject::canHaveChildren):
16279        (WebCore::AccessibilityNodeObject::visibleText):
16280        (WebCore::AccessibilityNodeObject::title):
16281        * accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
16282        (-[WebAccessibilityObjectWrapperBase accessibilityDescription]):
16283        (-[WebAccessibilityObjectWrapperBase accessibilityHelpText]):
16284        * bindings/js/SerializedScriptValue.cpp:
16285        (WebCore::CloneSerializer::serialize):
16286        (WebCore::CloneDeserializer::deserialize):
16287        * css/CSSComputedStyleDeclaration.cpp:
16288        (WebCore::ComputedStyleExtractor::propertyValue):
16289        * css/CSSParser.cpp:
16290        (WebCore::CSSParser::parseValue):
16291        (WebCore::CSSParser::parseContent):
16292        (WebCore::CSSParser::realLex):
16293        * css/CSSSelector.cpp:
16294        (WebCore::CSSSelector::extractPseudoType):
16295        (WebCore::CSSSelector::selectorText):
16296        * css/StyleProperties.cpp:
16297        (WebCore::StyleProperties::asText):
16298        * css/StyleSheetContents.cpp:
16299        (WebCore::childRulesHaveFailedOrCanceledSubresources):
16300        * dom/Node.cpp:
16301        (WebCore::appendTextContent):
16302        * html/parser/HTMLTreeBuilder.cpp:
16303        (WebCore::HTMLTreeBuilder::processStartTag):
16304        (WebCore::HTMLTreeBuilder::processEndTag):
16305        (WebCore::HTMLTreeBuilder::processCharacterBuffer):
16306        (WebCore::HTMLTreeBuilder::processEndOfFile):
16307        * loader/cache/CachedResourceLoader.cpp:
16308        (WebCore::CachedResourceLoader::requestResource):
16309        * page/EventSource.cpp:
16310        (WebCore::EventSource::parseEventStream):
16311        * platform/DateComponents.cpp:
16312        (WebCore::DateComponents::toStringForTime):
16313        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
16314        (WebCore::MediaPlayerPrivateAVFoundation::updateStates):
16315        * platform/graphics/cg/GraphicsContextCG.cpp:
16316        (WebCore::GraphicsContext::platformInit):
16317        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
16318        (WebCore::MediaPlayerPrivateGStreamer::totalBytes):
16319        * platform/graphics/win/FullScreenController.cpp:
16320        (FullScreenController::Private::fullscreenClientWndProc):
16321        * platform/text/BidiResolver.h:
16322        (WebCore::Run>::updateStatusLastFromCurrentDirection):
16323        (WebCore::Run>::createBidiRunsForLine):
16324        * platform/text/win/LocaleWin.cpp:
16325        (WebCore::LocaleWin::initializeLocaleData):
16326        * rendering/PointerEventsHitRules.cpp:
16327        (WebCore::PointerEventsHitRules::PointerEventsHitRules):
16328        * rendering/RenderBlockFlow.cpp:
16329        (WebCore::RenderBlockFlow::newLine):
16330        * rendering/RenderBlockLineLayout.cpp:
16331        (WebCore::RenderBlockFlow::updateLogicalWidthForAlignment):
16332        * rendering/RenderBox.cpp:
16333        (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
16334        * rendering/RenderBoxModelObject.cpp:
16335        (WebCore::RenderBoxModelObject::calculateFillTileSize):
16336        * rendering/RenderObject.cpp:
16337        (WebCore::RenderObject::drawLineForBoxSide):
16338        * rendering/RenderQuote.cpp:
16339        (WebCore::RenderQuote::originalText):
16340        * rendering/RenderReplaced.cpp:
16341        (WebCore::RenderReplaced::replacedContentRect):
16342        * rendering/RenderTable.cpp:
16343        (WebCore::RenderTable::addChild):
16344        * rendering/RenderTheme.cpp:
16345        (WebCore::RenderTheme::adjustStyle):
16346        * rendering/style/RenderStyle.cpp:
16347        (WebCore::RenderStyle::setWordSpacing):
16348        * rendering/svg/RenderSVGResource.cpp:
16349        (WebCore::requestPaintingResource):
16350        * rendering/svg/SVGMarkerData.h:
16351        (WebCore::SVGMarkerData::updateMarkerDataForPathElement):
16352        * svg/SVGPathParser.cpp:
16353        (WebCore::SVGPathParser::parsePathDataFromSource):
16354        * svg/SVGTransformDistance.cpp:
16355        (WebCore::SVGTransformDistance::SVGTransformDistance):
16356        (WebCore::SVGTransformDistance::scaledDistance):
16357        (WebCore::SVGTransformDistance::addSVGTransforms):
16358        (WebCore::SVGTransformDistance::addToSVGTransform):
16359        (WebCore::SVGTransformDistance::distance):
16360        Add annotation or break before falling into a default:break;
16361
163622014-01-27  Andreas Kling  <akling@apple.com>
16363
16364        Allow mmap encoded data replacement for WOFF fonts.
16365        <https://webkit.org/b/127737>
16366
16367        We always have to convert WOFF fonts to SFNT format. This happens
16368        in a separate buffer from the CachedFont's internal resource buffer.
16369        Because of this, there's no need to protect the original buffer from
16370        mmap replacement.
16371
16372        With this change, WOFF web fonts are no longer duplicated between
16373        the network and web processes.
16374
16375        Reviewed by Brady Eidson.
16376
16377        * loader/cache/CachedFont.cpp:
16378        (WebCore::CachedFont::CachedFont):
16379        (WebCore::CachedFont::ensureCustomFontData):
16380        (WebCore::CachedFont::mayTryReplaceEncodedData):
16381        * loader/cache/CachedFont.h:
16382
163832014-01-27  David Hyatt  <hyatt@apple.com>
16384
16385        [New Multicolumn] Add support for block progression axis and reverse direction
16386        https://bugs.webkit.org/show_bug.cgi?id=127715
16387
16388        Reviewed by thorton.
16389
16390        This patch adds support for -webkit-progression-direction and -webkit-progression-axis
16391        to the new column code. This allows columns to stack along the block axis instead of
16392        the inline axis or to reverse directions along that progression axis.
16393
16394        Added fast/multicol/newmulticol/progression-reverse.html and
16395              fast/multicol/newmulticol/progression-reverse-overflow.html
16396
16397        * rendering/RenderBlock.cpp:
16398        (WebCore::RenderBlock::isTopLayoutOverflowAllowed):
16399        (WebCore::RenderBlock::isLeftLayoutOverflowAllowed):
16400        New functions have been added for top and left layout overflow in order to get
16401        a bunch of code out of RenderBox that didn't belong there. RenderBlock is overriding
16402        the functions for the old multicolumn layout code to keep it working.
16403
16404        * rendering/RenderBlock.h:
16405        Added the new top/left overflow functions.
16406
16407        * rendering/RenderBlockFlow.cpp:
16408        (WebCore::RenderBlockFlow::determineLogicalLeftPositionForChild):
16409        Moved from RenderBlock, since it didn't belong there.
16410
16411        (WebCore::RenderBlockFlow::isTopLayoutOverflowAllowed):
16412        (WebCore::RenderBlockFlow::isLeftLayoutOverflowAllowed):
16413        * rendering/RenderBlockFlow.h:
16414        Overridden for the new multi-column code to specify when top/left overflow are
16415        allowed (e.g., when the columns go backwards).
16416
16417        * rendering/RenderBox.cpp:
16418        (WebCore::RenderBox::addLayoutOverflow):
16419        Overridden to use the new top/left overflow functions.
16420
16421        * rendering/RenderBox.h:
16422        (WebCore::RenderBox::isTopLayoutOverflowAllowed):
16423        (WebCore::RenderBox::isLeftLayoutOverflowAllowed):
16424        Added base definitions that look at direction and writing-mode.
16425
16426        * rendering/RenderFlexibleBox.cpp:
16427        (WebCore::RenderFlexibleBox::isTopLayoutOverflowAllowed):
16428        (WebCore::RenderFlexibleBox::isLeftLayoutOverflowAllowed):
16429        * rendering/RenderFlexibleBox.h:
16430        Overrides for flexible box of the top/left overflow functions.
16431
16432        * rendering/RenderMultiColumnFlowThread.h:
16433        Make sure requiresBalancing() is set to false if the axis of the columns
16434        is block, since at least right now, we don't support balancing columns
16435        along the block axis. (In theory we could support this in the future, but
16436        nobody has requested it.)
16437
16438        * rendering/RenderMultiColumnSet.cpp:
16439        (WebCore::RenderMultiColumnSet::updateLogicalWidth):
16440        Remove the code that expands the width of multi column sets. We now always
16441        let their logical width match the containing block's content width and instead
16442        add the overflow to the set itself.
16443
16444        (WebCore::RenderMultiColumnSet::columnRectAt):
16445        (WebCore::RenderMultiColumnSet::flowThreadPortionOverflowRect):
16446        (WebCore::RenderMultiColumnSet::paintColumnRules):
16447        (WebCore::RenderMultiColumnSet::initialBlockOffsetForPainting):
16448        (WebCore::RenderMultiColumnSet::collectLayerFragments):
16449        (WebCore::RenderMultiColumnSet::adjustRegionBoundsFromFlowThreadPortionRect):
16450        Patch all of these functions to know how to handle a block axis or reversed
16451        direction.
16452
16453        (WebCore::RenderMultiColumnSet::addOverflowFromChildren):
16454        * rendering/RenderMultiColumnSet.h:
16455        Make multi-column set add in its overflow in the same way that the old
16456        multi-column code did, by looking at the last column rect. (This is really
16457        not a very good way to do it, but it's the same as the old code for now.)
16458
164592014-01-27  Daniel Bates  <dabates@apple.com>
16460
16461        Fix the Mac build following <http://trac.webkit.org/changeset/162887>
16462        (https://bugs.webkit.org/show_bug.cgi?id=127703)
16463
16464        Export symbol for WebCore::AXObjectCache::enableAccessibility().
16465
16466        * WebCore.exp.in:
16467
164682014-01-27  Roger Fong  <roger_fong@apple.com>
16469
16470        [Mac] Unreviewed build fix. Add missing export symbol.
16471
16472        * WebCore.exp.in:
16473
164742014-01-27  Roger Fong  <roger_fong@apple.com>
16475
16476        [Windows] Tests crashing on Windows after r162816.
16477        https://bugs.webkit.org/show_bug.cgi?id=127703.
16478
16479        Reviewed by Alexey Proskuryakov.
16480
16481        * accessibility/AXObjectCache.cpp:
16482        (WebCore::AXObjectCache::enableAccessibility):
16483        (WebCore::AXObjectCache::disableAccessibility):
16484        * accessibility/AXObjectCache.h: Un-inline some methods so that they can be exported.
16485
164862014-01-27  Andy Estes  <aestes@apple.com>
16487
16488        Update bindings test expectations after r162872
16489
16490        * bindings/scripts/test/ObjC/DOMTestInterface.h:
16491        * bindings/scripts/test/ObjC/DOMTestObj.h:
16492
164932014-01-27  Andy Estes  <aestes@apple.com>
16494
16495        Scrub WebKit API headers of WTF macros
16496        https://bugs.webkit.org/show_bug.cgi?id=127706
16497
16498        Reviewed by David Kilzer.
16499
16500        * Configurations/FeatureDefines.xcconfig: Added ENABLE_INSPECTOR.
16501        * bindings/objc/DOMEvents.h: Guarded include of
16502        DOM{Gesture,Touch}Event.h with TARGET_OS_IPHONE, since those features
16503        are always enabled on iOS.
16504        * platform/graphics/mac/MediaPlayerProxy.h: Replaced PLATFORM(IOS) with
16505        TARGET_OS_IPHONE and ensured ENABLE_IOS_AIRPLAY is defined.
16506        * platform/ios/SystemMemory.h: Replaced PLATFORM(IOS) with
16507        TARGET_OS_IPHONE.
16508        * platform/ios/wak/WKGraphics.h: Replaced PLATFORM(IOS_SIMULATOR) with
16509        TARGET_IPHONE_SIMULATOR.
16510
165112014-01-27  Jer Noble  <jer.noble@apple.com>
16512
16513        [iOS] Use callOnMainThread() not dispatch_async() in MediaPlayerPrivateAVFoundationObjC
16514        https://bugs.webkit.org/show_bug.cgi?id=127701
16515
16516        Reviewed by Eric Carlson.
16517
16518        dispatch_async(dispatch_get_main_queue(), ...) used to be fine so long as the main
16519        thread was also the web thread. But since that's not the case on iOS, we should be
16520        using callOnMainThread() instead (because it dispatches to the web thread, not as
16521        its name implies, the main thread).
16522
16523        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
16524        (WebCore::MediaPlayerPrivateAVFoundationObjC::createWeakPtr):
16525        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
16526        (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC):
16527        (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer):
16528        (WebCore::MediaPlayerPrivateAVFoundationObjC::seekToTime):
16529        (-[WebCoreAVFMovieObserver legibleOutput:didOutputAttributedStrings:nativeSampleBuffers:forItemTime:]):
16530        (-[WebCoreAVFMovieObserver outputSequenceWasFlushed:]):
16531        (-[WebCoreAVFLoaderDelegate resourceLoader:shouldWaitForLoadingOfRequestedResource:]):
16532        (-[WebCoreAVFLoaderDelegate resourceLoader:shouldWaitForResponseToAuthenticationChallenge:]):
16533        (-[WebCoreAVFLoaderDelegate resourceLoader:didCancelLoadingRequest:]):
16534
165352014-01-27  Maciej Stachowiak  <mjs@apple.com>
16536
16537        Move Conditional=BLOB from URL interface to Blob-related methods, to prepare for adding URL API
16538        https://bugs.webkit.org/show_bug.cgi?id=127719
16539
16540        Reviewed by Sam Weinig.
16541
16542        * html/DOMURL.idl:
16543
165442014-01-27  Andreas Kling  <akling@apple.com>
16545
16546        Remove unused USE(OPENTYPE_SANITIZER) code.
16547        <https://webkit.org/b/127710>
16548
16549        This code was only used by the Chromium port.
16550
16551        Reviewed by Darin Adler.
16552
16553        * GNUmakefile.list.am:
16554        * WebCore.xcodeproj/project.pbxproj:
16555        * loader/cache/CachedFont.cpp:
16556        (WebCore::CachedFont::ensureCustomFontData):
16557        * platform/graphics/WOFFFileFormat.cpp:
16558        * platform/graphics/WOFFFileFormat.h:
16559        * platform/graphics/opentype/OpenTypeSanitizer.cpp: Removed.
16560        * platform/graphics/opentype/OpenTypeSanitizer.h: Removed.
16561
16562
165632014-01-27  Andy Estes  <aestes@apple.com>
16564
16565        Stop the code generator from adding ENABLE() macros to Objective-C DOM headers
16566        https://bugs.webkit.org/show_bug.cgi?id=127706
16567
16568        Reviewed by David Kilzer.
16569
16570        Instead of adding ENABLE() macros to generated Objective-C DOM
16571        headers, which might become Public or Private headers, elide generated
16572        code for disabled features.
16573
16574        * bindings/scripts/CodeGeneratorObjC.pm:
16575        (GenerateInterface): Passed $defines to GenerateHeader.
16576        (ConditionalIsEnabled): Checked if the given conditional is found in
16577        $defines. Handled conditionals with '&' and '|'.
16578        (GenerateHeader): Rather than calling GenerateConditionalString to
16579        generate an "#if ENABLE(...)", called ConditionalIsEnabled() to see
16580        whether we should generate code for the given constant, attribute, or
16581        function.
16582
165832014-01-27  Zoltan Horvath  <zoltan@webkit.org>
16584
16585        [CSS Shapes] Remove restriction of negative values for inset parameters
16586        https://bugs.webkit.org/show_bug.cgi?id=127704
16587
16588        Reviewed by Darin Adler.
16589
16590        The latest version of CSS Shapes (http://www.w3.org/TR/css-shapes/) specification
16591        doesn't contain any restriction of using negative values for the inset sizing.
16592        I removed the restriction from the code and added testing for them.
16593
16594        Existing tests have been extended with the new cases.
16595
16596        * css/CSSParser.cpp:
16597        (WebCore::CSSParser::parseBasicShapeInset):
16598
165992014-01-27  Eric Carlson  <eric.carlson@apple.com>
16600
16601        [iOS] preload=none prevents play()
16602        https://bugs.webkit.org/show_bug.cgi?id=127702
16603
16604        Reviewed by Jer Noble.
16605
16606        No new tests, covered by existing tests.
16607
16608        * html/HTMLMediaElement.cpp:
16609        (WebCore::HTMLMediaElement::potentiallyPlaying): Cleanup logic to make it simpler to understand,
16610            fix logic error introduced in r161973
16611        (WebCore::HTMLMediaElement::updatePlayState): Conditionalize some iOS-only code on whether or not
16612            we are using the plug-in proxy.
16613
166142014-01-27  Brady Eidson  <beidson@apple.com>
16615
16616        IDB: LevelDB backing store shouldn't know about IDBCursor or IDBCallbacks
16617        https://bugs.webkit.org/show_bug.cgi?id=127708
16618
16619        Reviewed by Tim Horton.
16620
16621        Move that knowledge to the IDBCursorBackendOperations inside the callback.
16622
16623        * Modules/indexeddb/IDBCursorBackendOperations.cpp:
16624        (WebCore::CursorAdvanceOperation::perform):
16625        (WebCore::CursorIterationOperation::perform):
16626        * Modules/indexeddb/IDBCursorBackendOperations.h:
16627
16628        * Modules/indexeddb/IDBServerConnection.h:
16629        * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
16630        (WebCore::IDBServerConnectionLevelDB::cursorAdvance):
16631        (WebCore::IDBServerConnectionLevelDB::cursorIterate):
16632        * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
16633
166342014-01-27  Brady Eidson  <beidson@apple.com>
16635
16636        IDB: Remove unused concept of "cursor prefetch"
16637        https://bugs.webkit.org/show_bug.cgi?id=127700
16638
16639        Reviewed by Tim Horton.
16640
16641        * Modules/indexeddb/IDBCursorBackend.cpp:
16642        * Modules/indexeddb/IDBCursorBackend.h:
16643        * Modules/indexeddb/IDBCursorBackendOperations.cpp:
16644        * Modules/indexeddb/IDBCursorBackendOperations.h:
16645        * Modules/indexeddb/IDBServerConnection.h:
16646        * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
16647        * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
16648
166492014-01-27  Brady Eidson  <beidson@apple.com>
16650
16651        IDB: Refactor out the last of the operation callbacks that are called by the LevelDB backing store
16652        https://bugs.webkit.org/show_bug.cgi?id=127592
16653
16654        Reviewed by Tim Horton.
16655
16656        For each of the 3 remaining operations where the backing store calls callbacks directly,
16657        factor out the callbacks to the operation itself.
16658
16659
16660        * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
16661        (WebCore::OpenCursorOperation::perform):
16662        (WebCore::CountOperation::perform):
16663        (WebCore::DeleteRangeOperation::perform):
16664        * Modules/indexeddb/IDBTransactionBackendOperations.h:
16665
16666        * Modules/indexeddb/IDBServerConnection.h:
16667        * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
16668        (WebCore::IDBServerConnectionLevelDB::openCursor):
16669        (WebCore::IDBServerConnectionLevelDB::count):
16670        (WebCore::IDBServerConnectionLevelDB::deleteRange):
16671        * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
16672
166732014-01-27  Commit Queue  <commit-queue@webkit.org>
16674
16675        Unreviewed, rolling out r162755.
16676        http://trac.webkit.org/changeset/162755
16677        https://bugs.webkit.org/show_bug.cgi?id=127696
16678
16679        not quite right, breaks subframe scrolling in some cases
16680        (Requested by thorton on #webkit).
16681
16682        * page/scrolling/ScrollingTree.cpp:
16683        (WebCore::ScrollingTree::ScrollingTree):
16684        (WebCore::ScrollingTree::shouldHandleWheelEventSynchronously):
16685        (WebCore::ScrollingTree::removeDestroyedNodes):
16686        * page/scrolling/ScrollingTree.h:
16687        * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
16688        (WebCore::ScrollingTreeScrollingNodeMac::handleWheelEvent):
16689
166902014-01-27  Zoltan Horvath  <zoltan@webkit.org>
16691
16692        [CSS Shapes] inset() function with multiple spaces on element style
16693        https://bugs.webkit.org/show_bug.cgi?id=127617
16694
16695        Reviewed by Dirk Schulze.
16696
16697        When only a subset of parameters were defined for an inset shape, the built
16698        inset string contained some extra spaces. This patch fixes the behavior and
16699        adds tests for the case. I also removed the string allocation optimization from
16700        buildInsetString, since it's not worthwhile to always allocate as many memory
16701        as needed for a fully defined inset.
16702
16703        I added the new test cases to the shapes parser code test.
16704
16705        * css/CSSBasicShapes.cpp:
16706        (WebCore::buildInsetString):
16707
167082014-01-27  Antti Koivisto  <antti@apple.com>
16709
16710        * WebCore.exp.in: Add export needed for iOS.
16711
167122014-01-27  Antti Koivisto  <antti@apple.com>
16713
16714        REGRESSION(r133214): Don't invalidate style when adding classes that don't match rules
16715        https://bugs.webkit.org/show_bug.cgi?id=126177
16716
16717        Reviewed by Anders Carlsson.
16718        
16719        Spotted by Elliott Sprehn in Chromium.
16720
16721        * dom/Element.cpp:
16722        (WebCore::checkSelectorForClassChange):
16723        
16724            Remove unnecessary templating.
16725
16726        (WebCore::Element::classAttributeChanged):
16727        
16728            Fix logic error with 'continue'.
16729
167302014-01-27  Brendan Long  <b.long@cablelabs.com>
16731
16732        [GStreamer] Lockup when playing Icecast radio
16733        https://bugs.webkit.org/show_bug.cgi?id=127452
16734
16735        Reviewed by Philippe Normand.
16736
16737        No new tests. This bug can only be demonstrated with an Icecast stream, and it's
16738        not clear how to do that in our testing framework.
16739
16740        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
16741        (StreamingClient::handleResponseReceived): Wait until we unlock to send notifications.
16742
167432014-01-27  Jessie Berlin  <jberlin@apple.com>
16744
16745        Build fix after r162838.
16746
16747        * page/FrameView.cpp:
16748        Remove an unused constant.
16749
167502014-01-27  Antti Koivisto  <antti@apple.com>
16751
16752        Remove repaint throttling
16753        https://bugs.webkit.org/show_bug.cgi?id=127681
16754
16755        Reviewed by Sam Weinig.
16756
16757        Nowadays we throttle layer flushes. This code is unnecessary.
16758
16759        * WebCore.exp.in:
16760        * dom/Document.cpp:
16761        (WebCore::Document::recalcStyle):
16762        * dom/Element.cpp:
16763        (WebCore::Element::classAttributeChanged):
16764        * editing/AlternativeTextController.cpp:
16765        (WebCore::AlternativeTextController::insertDictatedText):
16766        * loader/FrameLoader.cpp:
16767        (WebCore::FrameLoader::checkCompleted):
16768        * page/EventHandler.cpp:
16769        (WebCore::EventHandler::dispatchDragEvent):
16770        (WebCore::EventHandler::dispatchMouseEvent):
16771        (WebCore::EventHandler::keyEvent):
16772        (WebCore::EventHandler::handleTextInputEvent):
16773        * page/FrameView.cpp:
16774        (WebCore::FrameView::FrameView):
16775        (WebCore::FrameView::reset):
16776        (WebCore::FrameView::flushCompositingStateForThisFrame):
16777        (WebCore::FrameView::layout):
16778        (WebCore::FrameView::repaintContentRectangle):
16779        (WebCore::FrameView::disableLayerFlushThrottlingTemporarilyForInteraction):
16780        (WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive):
16781        * page/FrameView.h:
16782        * rendering/RenderView.cpp:
16783        (WebCore::RenderView::setSelection):
16784
167852014-01-24  Eric Carlson  <eric.carlson@apple.com>
16786
16787        Merge Chromium TextTrack cleanups
16788        https://bugs.webkit.org/show_bug.cgi?id=127483
16789
16790        Reviewed by Darin Adler.
16791
16792        Merge some TextTrack cleanups:
16793        https://chromium.googlesource.com/chromium/blink/+/b571b9fbc6e62e05aa77a402cf8f447e681b8ee3
16794        https://chromium.googlesource.com/chromium/blink/+/6b1940151258150ea01bcf21ebfd958e2af247f4
16795        https://chromium.googlesource.com/chromium/blink/+/397c2a2d9416f5c0d79bca22d6979f174eefcce2
16796        https://chromium.googlesource.com/chromium/blink/+/f42ad93e25c6310b2b0327ab7ce5d82d3c4a6c1b
16797        https://chromium.googlesource.com/chromium/blink/+/d55b52b53b7da05bba5fe378a4278250b9347430
16798        https://chromium.googlesource.com/chromium/blink/+/cac766ecaaac477a08879f0b3157d0327cc75d96
16799        https://chromium.googlesource.com/chromium/blink/+/6197ce278696cdd52fc2ad81893f369492468ca0
16800
16801        * html/HTMLTrackElement.cpp:
16802        (WebCore::HTMLTrackElement::loadTimerFired): Remove the LoadableTextTrack* parameter, it isn't used.
16803        (WebCore::HTMLTrackElement::didCompleteLoad): Ditto.
16804        * html/HTMLTrackElement.h: didCompleteLoad doesn't need to be virtual.
16805
16806        * html/track/LoadableTextTrack.cpp:
16807        (WebCore::LoadableTextTrack::loadTimerFired): Pass a reference, not a pointer.
16808        (WebCore::LoadableTextTrack::cueLoadingStarted): Removed, it wasn't used.
16809        (WebCore::LoadableTextTrack::cueLoadingCompleted): Pass a reference, not a pointer.
16810        * html/track/LoadableTextTrack.h: Delete LoadableTextTrackClient, it is no longer used.
16811
16812        * loader/TextTrackLoader.cpp:
16813        (WebCore::TextTrackLoader::TextTrackLoader): Take a TextTrackLoaderClient reference.
16814        (WebCore::TextTrackLoader::~TextTrackLoader): Rename m_cachedCueData m_resource.
16815        (WebCore::TextTrackLoader::cueLoadTimerFired): m_client is a reference.
16816        (WebCore::TextTrackLoader::cancelLoad): m_cachedCueData -> m_resource.
16817        (WebCore::TextTrackLoader::processNewCueData): Ditto.
16818        (WebCore::TextTrackLoader::deprecatedDidReceiveCachedResource): Ditto.
16819        (WebCore::TextTrackLoader::notifyFinished): Ditto.
16820        (WebCore::TextTrackLoader::load): shouldLoadCues was removed from the client interface because
16821            the only implementation always returned true.
16822        (WebCore::TextTrackLoader::newRegionsParsed): m_client is a reference
16823        * loader/TextTrackLoader.h:
16824
16825        * loader/cache/CachedResourceLoader.cpp:
16826        (WebCore::CachedResourceLoader::canRequest): Remove an outdated comment.
16827
168282014-01-27  Chris Fleizach  <cfleizach@apple.com>
16829
16830        AX: Disable accessibility after every test run
16831        https://bugs.webkit.org/show_bug.cgi?id=127439
16832
16833        Reviewed by Csaba Osztrogonác.
16834
16835        Speculative fix for EFL build. Don't process these notifications unless accessibility is enabled.
16836
16837        * loader/FrameLoader.cpp:
16838        (WebCore::FrameLoader::prepareForLoadStart):
16839
168402014-01-27  Csaba Osztrogonác  <ossy@webkit.org>
16841
16842        Buildfix for !ENABLE(COMPARE_AND_SWAP) platforms after r162774
16843        https://bugs.webkit.org/show_bug.cgi?id=127678
16844
16845        Reviewed by Zoltan Herczeg.
16846
16847        * platform/text/TextBreakIterator.cpp:
16848        (WebCore::compareAndSwapNonSharedCharacterBreakIterator):
16849        Use std::mutex instead of Mutex and std::lock_guard instead of MutexLocker.
16850
168512014-01-26  Tim Horton  <timothy_horton@apple.com>
16852
16853        Fix the iOS build (failed to correctly revert some broken changes in the last patch).
16854
16855        * platform/graphics/cg/BitmapImageCG.cpp:
16856
168572014-01-26  Tim Horton  <timothy_horton@apple.com>
16858
16859        Start cleaning up iOS upstreaming #ifs in platform/graphics
16860        https://bugs.webkit.org/show_bug.cgi?id=127641
16861
16862        Reviewed by Sam Weinig.
16863
16864        * platform/graphics/BitmapImage.h:
16865        * platform/graphics/mac/ColorMac.h:
16866        Use USE(APPKIT) instead of PLATFORM(MAC) && !PLATFORM(IOS) for NSImage/getNSImage().
16867
16868        * platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.mm:
16869        (WebCore::AVTrackPrivateAVFObjCImpl::label):
16870        * platform/graphics/avfoundation/objc/InbandTextTrackPrivateLegacyAVFObjC.mm:
16871        (WebCore::InbandTextTrackPrivateLegacyAVFObjC::label):
16872        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
16873        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL):
16874        Remove some code that was only used on OS X on Lion or below.
16875
16876        * platform/graphics/cg/GraphicsContextCG.cpp:
16877        (WebCore::GraphicsContext::platformInit):
16878        ToT WebKit doesn't build on Lion or earlier anymore, so this code can always run.
16879
16880        * platform/graphics/cg/FloatPointCG.cpp:
16881        * platform/graphics/cg/FloatRectCG.cpp:
16882        * platform/graphics/cg/FloatSizeCG.cpp:
16883        * platform/graphics/cg/GradientCG.cpp:
16884        * platform/graphics/cg/ImageBufferCG.cpp:
16885        * platform/graphics/cg/ImageCG.cpp:
16886        * platform/graphics/cg/IntPointCG.cpp:
16887        * platform/graphics/cg/IntRectCG.cpp:
16888        * platform/graphics/cg/PathCG.cpp:
16889        * platform/graphics/cg/PatternCG.cpp:
16890        * platform/graphics/mac/FontCustomPlatformData.cpp:
16891        Use CoreGraphics/CoreGraphics.h instead of ApplicationServices/ApplicationServices.h
16892        even on Mac, so we can share the include.
16893
16894        * platform/graphics/cg/IntSizeCG.cpp:
16895        Remove a random comment of a style we don't tend to use in WebKit,
16896        and from a file not large enough to need it.
16897
16898        * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
16899        (WebCore::FontPlatformData::FontPlatformData):
16900        (WebCore::FontPlatformData::setFont):
16901        Remove some more always-true #ifs.
16902
16903        * platform/graphics/mac/WebLayer.mm:
16904        Move a #if'd include out to its own block as per the style guide.
16905
169062014-01-26  David Hyatt  <hyatt@apple.com>
16907
16908        [New Multicolumn] Make sure the progression axis and direction are propagated to the new columns.
16909        https://bugs.webkit.org/show_bug.cgi?id=127670
16910
16911        This patch makes sure that the progression axis and direction style properties
16912        are properly propagated from the style to the multi-column flow thread. Virtualizing
16913        and renaming updateColumnInfoFromStyle to updateColumnProgressionFromStyle lets us
16914        share code between the old multi-column code and the new.
16915
16916        Reviewed by Sam Weinig.
16917
16918        * rendering/RenderBlock.cpp:
16919        (WebCore::RenderBlock::updateColumnProgressionFromStyle):
16920        * rendering/RenderBlock.h:
16921        * rendering/RenderBlockFlow.cpp:
16922        (WebCore::RenderBlockFlow::setComputedColumnCountAndWidth):
16923        (WebCore::RenderBlockFlow::updateColumnProgressionFromStyle):
16924        * rendering/RenderBlockFlow.h:
16925        * rendering/RenderBox.cpp:
16926        (WebCore::RenderBox::styleDidChange):
16927        * rendering/RenderMultiColumnFlowThread.cpp:
16928        (WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread):
16929        * rendering/RenderMultiColumnFlowThread.h:
16930        * style/StyleResolveForDocument.cpp:
16931        (WebCore::Style::resolveForDocument):
16932
169332014-01-26  David Hyatt  <hyatt@apple.com>
16934
16935        [New Multicolumn] Change the axis property to be a boolean like other isInline checks
16936        https://bugs.webkit.org/show_bug.cgi?id=127661
16937
16938        Reviewed by Simon Fraser.
16939
16940        * rendering/ColumnInfo.h:
16941        (WebCore::ColumnInfo::ColumnInfo):
16942        (WebCore::ColumnInfo::progressionIsInline):
16943        (WebCore::ColumnInfo::setProgressionIsInline):
16944        * rendering/RenderBlock.cpp:
16945        (WebCore::RenderBlock::paintColumnRules):
16946        (WebCore::RenderBlock::initialBlockOffsetForPainting):
16947        (WebCore::RenderBlock::blockDeltaForPaintingNextColumn):
16948        (WebCore::RenderBlock::setComputedColumnCountAndWidth):
16949        (WebCore::RenderBlock::updateColumnInfoFromStyle):
16950        (WebCore::RenderBlock::columnRectAt):
16951        (WebCore::RenderBlock::adjustPointToColumnContents):
16952        (WebCore::RenderBlock::adjustRectForColumns):
16953        (WebCore::RenderBlock::adjustForColumns):
16954        * rendering/RenderMultiColumnFlowThread.h:
16955        * rendering/RenderObject.cpp:
16956        (WebCore::RenderObject::columnNumberForOffset):
16957
169582014-01-26  Benjamin Poulain  <benjamin@webkit.org>
16959
16960        Make DOMStringMap a typedef of DatasetDOMStringMap
16961        https://bugs.webkit.org/show_bug.cgi?id=127658
16962
16963        Reviewed by Sam Weinig.
16964
16965        The only concrete implementation of DOMStringMap is DatasetDOMStringMap.
16966        The abstract interface for a single definition is adding complexity for no gain.
16967
16968        This patch removes DOMStringMap and simply keeps the name through a typedef.
16969        I used a typedef instead of just renaming DatasetDOMStringMap because I think
16970        having both name has value. DatasetDOMStringMap is a better description of what
16971        the implementation does. DOMStringMap is the public name and the classname is
16972        the same as the JavaScript type by convention.
16973
16974        * CMakeLists.txt:
16975        * GNUmakefile.list.am:
16976        * WebCore.vcxproj/WebCore.vcxproj:
16977        * WebCore.vcxproj/WebCore.vcxproj.filters:
16978        * WebCore.xcodeproj/project.pbxproj:
16979        * dom/DOMAllInOne.cpp:
16980        * dom/DOMStringMap.cpp: Removed.
16981        * dom/DOMStringMap.h:
16982        * dom/DatasetDOMStringMap.h:
16983        * dom/Element.cpp:
16984        (WebCore::Element::dataset):
16985        * dom/Element.h:
16986
169872014-01-26  David Kilzer  <ddkilzer@apple.com>
16988
16989        Part 2: Assertion failure in WebCore::PseudoElement::didRecalcStyle()
16990        <https://bugs.webkit.org/show_bug.cgi?id=126761>
16991        <rdar://problem/15793540>
16992
16993        Reviewed by Simon Fraser.
16994
16995        * bindings/objc/DOM.mm:
16996        (-[DOMElement image]):
16997        (-[DOMElement _imageTIFFRepresentation]):
16998        * platform/gtk/PasteboardGtk.cpp:
16999        (WebCore::Pasteboard::writeImage):
17000        * platform/win/PasteboardWin.cpp:
17001        (WebCore::Pasteboard::writeImage):
17002        (WebCore::getCachedImage):
17003        * rendering/HitTestResult.cpp:
17004        (WebCore::HitTestResult::image):
17005        - More places where toRenderImage() should be used instead of
17006          toImage().
17007        - Fixed last two places where static_cast<WebCore::RenderImage*>
17008          was being used instead of toRenderImage().
17009
170102014-01-26  Chris Fleizach  <cfleizach@apple.com>
17011
17012        AX: Disable accessibility after every test run
17013        https://bugs.webkit.org/show_bug.cgi?id=127439
17014
17015        Reviewed by Alexey Proskuryakov.
17016
17017        If accessibility is disabled, we may still need to return the existing 
17018        AXObjectCache, so that objects can be cleaned up appropriately.
17019
17020        A such we have to be prepared to handle a nullptr return value in more cases.
17021
17022        * accessibility/AXObjectCache.h:
17023        (WebCore::AXObjectCache::disableAccessibility):
17024        * accessibility/AccessibilityNodeObject.cpp:
17025        (WebCore::AccessibilityNodeObject::childrenChanged):
17026        * accessibility/AccessibilityRenderObject.cpp:
17027        (WebCore::AccessibilityRenderObject::remoteSVGRootElement):
17028        * dom/Document.cpp:
17029        (WebCore::Document::existingAXObjectCache):
17030
170312014-01-26  Anders Carlsson  <andersca@apple.com>
17032
17033        Move history item visit count handling to WebKit
17034        https://bugs.webkit.org/show_bug.cgi?id=127659
17035
17036        Reviewed by Dan Bernstein.
17037
17038        Remove all members dealing with visit handling - they're going back to WebKit.
17039
17040        * WebCore.exp.in:
17041        * history/HistoryItem.cpp:
17042        (WebCore::HistoryItem::HistoryItem):
17043        (WebCore::HistoryItem::reset):
17044        (WebCore::HistoryItem::decodeBackForwardTree):
17045        * history/HistoryItem.h:
17046        (WebCore::HistoryItem::create):
17047
170482014-01-26  Anders Carlsson  <andersca@apple.com>
17049
17050        Move lastVisitWasHTTPNonGet out to WebHistoryItem
17051        https://bugs.webkit.org/show_bug.cgi?id=127657
17052
17053        Reviewed by Dan Bernstein.
17054
17055        Remove m_lastVisitWasHTTPNonGet, it's only used by WebKit.
17056
17057        * history/HistoryItem.cpp:
17058        (WebCore::HistoryItem::HistoryItem):
17059        (WebCore::HistoryItem::reset):
17060        * history/HistoryItem.h:
17061
170622014-01-26  Zalan Bujtas  <zalan@apple.com>
17063
17064        Subpixel Layout: Align <input type="button", submit etc (PushButtonPart) top and bottom paddings with <button>
17065        https://bugs.webkit.org/show_bug.cgi?id=127640
17066
17067        Reviewed by Simon Fraser.
17068
17069        <button> sets padding-top: 2px and padding-bottom: 3px as default values (html.css),
17070        while <input type="button" (submit, etc) has the hardcoded values of 0, 0 and we center the text using the available space.
17071        This results in different baseline text position in normal cases. This adjustment puts the <input type='button'
17072        rendering back to the pre-subpixel layout state.
17073
17074        * platform/mac/ThemeMac.mm:
17075        (WebCore::ThemeMac::controlPadding):
17076
170772014-01-26  Benjamin Poulain  <bpoulain@apple.com>
17078
17079        Improve the bindings of NodeList's name accessor
17080        https://bugs.webkit.org/show_bug.cgi?id=127358
17081
17082        Reviewed by Geoffrey Garen.
17083
17084        When accessing an item of NodeList by name, the default bindings was
17085        going through the list of node twice:
17086        -First, getOwnProperty calls canGetItemsForName() to find if a property exists for
17087         the given name. This in turn used NodeList::namedItem() which is a slow operation.
17088        -Then, the value itself was queried through nameGetter(), calling NodeList::namedItem()
17089         a second time to find the same value.
17090
17091        This patch kills the default name getter in favor of a getOwnPropertySlotDelegate() returning
17092        the value directly on the PropertySlot.
17093
17094        Ad Hoc testing show about 15% speed up for simple cases.
17095
17096        * bindings/js/JSNodeListCustom.cpp:
17097        (WebCore::JSNodeList::getOwnPropertySlotDelegate):
17098        * dom/NodeList.idl:
17099
171002014-01-26  Joseph Pecoraro  <pecoraro@apple.com>
17101
17102        Web Inspector: Move InspectorDebuggerAgent into JavaScriptCore
17103        https://bugs.webkit.org/show_bug.cgi?id=127629
17104
17105        Rubber-stamped by Sam Weinig.
17106
17107        Test: inspector-protocol/debugger/pause-on-assert.html
17108
17109        * CMakeLists.txt:
17110        * ForwardingHeaders/inspector/agents/InspectorDebuggerAgent.h: Added.
17111        * GNUmakefile.list.am:
17112        * WebCore.vcxproj/WebCore.vcxproj:
17113        * WebCore.vcxproj/WebCore.vcxproj.filters:
17114        * WebCore.xcodeproj/project.pbxproj:
17115        * inspector/InspectorAllInOne.cpp:
17116        - Remove InspectorDebuggerAgent.
17117        - Add WebDebuggerAgent (shared between Page and Worker).
17118
17119        * inspector/WebDebuggerAgent.h: Added.
17120        (WebCore::WebDebuggerAgent::~WebDebuggerAgent):
17121        * inspector/WebDebuggerAgent.cpp: Added.
17122        (WebCore::WebDebuggerAgent::WebDebuggerAgent):
17123        (WebCore::WebDebuggerAgent::enable):
17124        (WebCore::WebDebuggerAgent::disable):
17125        Shared code for Page and Worker debugger agents.
17126        Instrumenting agents is a concept in WebCore only,
17127        and the Debugger agent is only in the instrumenting
17128        agents list when it is enabled and removed when disabled.
17129
17130        * inspector/InstrumentingAgents.h:
17131        (WebCore::InstrumentingAgents::inspectorDebuggerAgent):
17132        (WebCore::InstrumentingAgents::setInspectorDebuggerAgent):
17133        * inspector/InspectorDOMDebuggerAgent.cpp:
17134        * inspector/InspectorDOMDebuggerAgent.h:
17135        Update namespace for debugger agent.
17136
17137        * inspector/InspectorInstrumentation.cpp:
17138        (WebCore::isConsoleAssertMessage):
17139        (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
17140        DebuggerAgent in JavaScriptCore does not yet know about console
17141        types. So temporarily handle it here. We need to give JavaScriptCore
17142        some concept of Console messages and types.
17143
17144        * inspector/PageDebuggerAgent.cpp:
17145        (WebCore::PageDebuggerAgent::PageDebuggerAgent):
17146        (WebCore::PageDebuggerAgent::enable):
17147        (WebCore::PageDebuggerAgent::disable):
17148        (WebCore::PageDebuggerAgent::sourceMapURLForScript):
17149        (WebCore::PageDebuggerAgent::injectedScriptForEval):
17150        * inspector/PageDebuggerAgent.h:
17151        * inspector/WorkerDebuggerAgent.cpp:
17152        (WebCore::WorkerDebuggerAgent::WorkerDebuggerAgent):
17153        (WebCore::WorkerDebuggerAgent::injectedScriptForEval):
17154        * inspector/WorkerDebuggerAgent.h:
17155        Modernize the Page and Worker debugger agents.
17156
17157        * inspector/InspectorController.cpp:
17158        (WebCore::InspectorController::InspectorController):
17159        * inspector/InspectorController.h:
17160        * inspector/WorkerInspectorController.cpp:
17161        (WebCore::WorkerInspectorController::WorkerInspectorController):
17162        New constructors for the debugger agents.
17163
171642014-01-25  Timothy Hatcher  <timothy@apple.com>
17165
17166        Remove dead code from the JSC profiler.
17167
17168        https://bugs.webkit.org/show_bug.cgi?id=127643
17169
17170        Reviewed by Mark Lam.
17171
17172        Passes existing tests in fast/profiler.
17173
17174        * bindings/js/ScriptProfile.cpp:
17175        (WebCore::buildInspectorObjectFor): Remove visible.
17176        * inspector/ScriptProfileNode.idl: Ditto.
17177        * inspector/protocol/Profiler.json: Ditto.
17178
171792014-01-25  Sam Weinig  <sam@webkit.org>
17180
17181        Remove unused support for DRAGGABLE_REGION
17182        https://bugs.webkit.org/show_bug.cgi?id=127642
17183
17184        Reviewed by Simon Fraser.
17185
17186        * Configurations/FeatureDefines.xcconfig:
17187        * DerivedSources.make:
17188        * WebCore.exp.in:
17189        * css/CSSComputedStyleDeclaration.cpp:
17190        (WebCore::ComputedStyleExtractor::propertyValue):
17191        * css/CSSParser.cpp:
17192        (WebCore::CSSParser::parseValue):
17193        * css/CSSPropertyNames.in:
17194        * css/CSSValueKeywords.in:
17195        * css/StyleResolver.cpp:
17196        (WebCore::StyleResolver::applyProperty):
17197        * dom/Document.cpp:
17198        (WebCore::Document::Document):
17199        * dom/Document.h:
17200        * page/Chrome.cpp:
17201        * page/ChromeClient.h:
17202        * page/FrameView.cpp:
17203        (WebCore::FrameView::layout):
17204        (WebCore::FrameView::paintContents):
17205        * page/FrameView.h:
17206        * rendering/RenderElement.cpp:
17207        (WebCore::RenderElement::styleWillChange):
17208        * rendering/RenderInline.cpp:
17209        (WebCore::RenderInline::addAnnotatedRegions):
17210        * rendering/RenderInline.h:
17211        * rendering/RenderLayer.cpp:
17212        (WebCore::RenderLayer::scrollTo):
17213        (WebCore::RenderLayer::setHasHorizontalScrollbar):
17214        (WebCore::RenderLayer::setHasVerticalScrollbar):
17215        (WebCore::RenderLayer::updateScrollbarsAfterLayout):
17216        * rendering/RenderListBox.cpp:
17217        (WebCore::RenderListBox::setHasVerticalScrollbar):
17218        * rendering/RenderObject.cpp:
17219        (WebCore::RenderObject::addAnnotatedRegions):
17220        * rendering/RenderObject.h:
17221        (WebCore::AnnotatedRegionValue::operator==):
17222        * rendering/style/RenderStyle.h:
17223        * rendering/style/RenderStyleConstants.h:
17224        * rendering/style/StyleRareNonInheritedData.cpp:
17225        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
17226        (WebCore::StyleRareNonInheritedData::operator==):
17227        * rendering/style/StyleRareNonInheritedData.h:
17228
172292014-01-25  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
17230
17231        Clean up SVGPatternElement::collectPatternAttributes 
17232        https://bugs.webkit.org/show_bug.cgi?id=127612
17233
17234        Reviewed by Andreas Kling.
17235
17236        This patch refactors SVGPatternElement::collectPatternAttributes() by extracting
17237        the setPatternAttributes logic into a new function. This patch also changes the
17238        while loop to be easier to understand and similar to collectGradientAttributes.
17239
17240        * svg/SVGPatternElement.cpp:
17241        (WebCore::setPatternAttributes):
17242        (WebCore::SVGPatternElement::collectPatternAttributes):
17243
172442014-01-25  Zalan Bujtas  <zalan@apple.com>
17245
17246        Subpixel layout: RenderInline is not centered when child RenderTextControl's innerTextRenderer needs bias centering.
17247        https://bugs.webkit.org/show_bug.cgi?id=125659
17248
17249        Reviewed by Andreas Kling
17250
17251        layoutMod(logicalHeightDiff, 2) fails to bias round when subpixel layout is enabled. It sets
17252        the denominator value to 2, which returns incorrect modulo result.
17253        (subpixel off: 3px % 2 = 1 vs subpixel on: (3px * 64) -> 192 % 2 = 0)
17254
17255        Covered by existing tests.
17256
17257        * platform/LayoutUnit.h:
17258        * rendering/RenderSearchField.cpp:
17259        (WebCore::RenderSearchField::centerContainerIfNeeded):
17260        * rendering/RenderTextControlSingleLine.cpp:
17261        (WebCore::RenderTextControlSingleLine::centerRenderer):
17262        (WebCore::RenderTextControlSingleLine::layout):
17263        * rendering/RenderTextControlSingleLine.h:
17264
172652014-01-25  Sam Weinig  <sam@webkit.org>
17266
17267        Remove more unnecessary #if PLATFORM(IOS)s in ApplicationCacheStorage.cpp
17268        https://bugs.webkit.org/show_bug.cgi?id=127635
17269
17270        Reviewed by Antti Koivisto.
17271
17272        * loader/appcache/ApplicationCacheStorage.cpp:
17273        (WebCore::ApplicationCacheStorage::executeSQLCommand):
17274        (WebCore::ApplicationCacheStorage::verifySchemaVersion):
17275        (WebCore::ApplicationCacheStorage::executeStatement):
17276        (WebCore::ApplicationCacheStorage::store):
17277        (WebCore::ApplicationCacheStorage::ensureOriginRecord):
17278        (WebCore::ApplicationCacheStorage::loadCache):
17279
172802014-01-25  Sam Weinig  <sam@webkit.org>
17281
17282        Remove some iOS #ifdefs by adding SQLiteDatabaseTracker to all the builds
17283        https://bugs.webkit.org/show_bug.cgi?id=127632
17284
17285        Reviewed by Darin Adler.
17286
17287        Move the SQLiteDatabaseTracker and client from platform/sql/ios to platform/sql,
17288        as there is nothing iOS specific about it. Then, un-#ifdef all its uses. For
17289        ports that don't setup a client, this has no change in behavior.
17290
17291        * CMakeLists.txt:
17292        * GNUmakefile.list.am:
17293        * Modules/webdatabase/DatabaseBackendBase.cpp:
17294        * WebCore.vcxproj/WebCore.vcxproj:
17295        * WebCore.vcxproj/WebCore.vcxproj.filters:
17296        * WebCore.xcodeproj/project.pbxproj:
17297        * loader/appcache/ApplicationCacheStorage.cpp:
17298        * platform/ScrollableArea.h:
17299        (WebCore::ScrollableArea::sendWillRevealEdgeEventsIfNeeded):
17300        * platform/sql/SQLiteDatabaseTracker.cpp: Copied from Source/WebCore/platform/sql/ios/SQLiteDatabaseTracker.cpp.
17301        * platform/sql/SQLiteDatabaseTracker.h: Copied from Source/WebCore/platform/sql/ios/SQLiteDatabaseTracker.h.
17302        * platform/sql/SQLiteDatabaseTrackerClient.h: Copied from Source/WebCore/platform/sql/ios/SQLiteDatabaseTrackerClient.h.
17303        * platform/sql/ios: Removed.
17304        * platform/sql/ios/SQLiteDatabaseTracker.cpp: Removed.
17305        * platform/sql/ios/SQLiteDatabaseTracker.h: Removed.
17306        * platform/sql/ios/SQLiteDatabaseTrackerClient.h: Removed.
17307        * storage/StorageAreaSync.cpp:
17308        (WebCore::StorageAreaSync::openDatabase):
17309        (WebCore::StorageAreaSync::sync):
17310        * storage/StorageTracker.cpp:
17311
173122014-01-25  Anders Carlsson  <andersca@apple.com>
17313
17314        Remove an unused FrameLoaderClient function
17315        https://bugs.webkit.org/show_bug.cgi?id=127628
17316
17317        Reviewed by Andreas Kling.
17318
17319        All implementations of FrameLoaderClient::shouldStopLoadingForHistoryItem return true and this function
17320        was only used by Chromium so we can get rid of it.
17321
17322        * loader/EmptyClients.h:
17323        * loader/FrameLoaderClient.h:
17324        * loader/HistoryController.cpp:
17325        (WebCore::HistoryController::shouldStopLoadingForHistoryItem):
17326
173272014-01-25  Darin Adler  <darin@apple.com>
17328
17329        Call deprecatedCharacters instead of characters at more call sites
17330        https://bugs.webkit.org/show_bug.cgi?id=127631
17331
17332        Reviewed by Sam Weinig.
17333
17334        * bindings/objc/WebScriptObject.mm:
17335        (+[WebScriptObject _convertValueToObjcValue:JSC::originRootObject:rootObject:]):
17336        * editing/CompositeEditCommand.cpp:
17337        (WebCore::containsOnlyWhitespace):
17338        * editing/TypingCommand.cpp:
17339        (WebCore::TypingCommand::insertText):
17340        * editing/VisibleUnits.cpp:
17341        (WebCore::startOfParagraph):
17342        (WebCore::endOfParagraph):
17343        * html/parser/HTMLParserIdioms.cpp:
17344        (WebCore::stripLeadingAndTrailingHTMLSpaces):
17345        (WebCore::parseHTMLNonNegativeInteger):
17346        * inspector/InspectorStyleSheet.cpp:
17347        (WebCore::InspectorStyle::newLineAndWhitespaceDelimiters):
17348        * inspector/InspectorStyleTextEditor.cpp:
17349        (WebCore::InspectorStyleTextEditor::insertProperty):
17350        (WebCore::InspectorStyleTextEditor::internalReplaceProperty):
17351        * platform/Length.cpp:
17352        (WebCore::newCoordsArray):
17353        * platform/LinkHash.cpp:
17354        (WebCore::visitedLinkHash):
17355        * platform/graphics/Color.cpp:
17356        (WebCore::Color::parseHexColor):
17357        (WebCore::Color::Color):
17358        * platform/graphics/TextRun.h:
17359        (WebCore::TextRun::TextRun):
17360        * platform/text/TextEncodingRegistry.cpp:
17361        (WebCore::atomicCanonicalTextEncodingName):
17362        * rendering/RenderBlock.cpp:
17363        (WebCore::RenderBlock::constructTextRun):
17364        * rendering/RenderCombineText.cpp:
17365        (WebCore::RenderCombineText::width):
17366        * svg/SVGFontElement.cpp:
17367        (WebCore::SVGFontElement::registerLigaturesInGlyphCache):
17368        * xml/XPathFunctions.cpp:
17369        (WebCore::XPath::FunId::evaluate):
17370        Use the new name.
17371
173722014-01-25  Darin Adler  <darin@apple.com>
17373
17374        Get rid of ICU_UNICODE and WCHAR_UNICODE remnants
17375        https://bugs.webkit.org/show_bug.cgi?id=127623
17376
17377        Reviewed by Anders Carlsson.
17378
17379        * CMakeLists.txt: Removed SmartReplaceICU.cpp.
17380        * GNUmakefile.list.am: Ditto.
17381        * PlatformEfl.cmake: Ditto.
17382        * PlatformGTK.cmake: Ditto.
17383
17384        * editing/FrameSelection.cpp:
17385        (WebCore::FrameSelection::modifyMovingRight): Ditto.
17386        (WebCore::FrameSelection::modifyMovingLeft): Ditto.
17387
17388        * editing/SmartReplace.cpp: Moved code here from SmartReplaceICU,
17389        since we always support ICU now. Added some FIXME comments about
17390        bugs and mistakes I spotted in the code as I was moving it.
17391        * editing/SmartReplaceICU.cpp: Removed.
17392
17393        * editing/TextIterator.cpp: Removed unneeded checks.
17394        * platform/ThreadGlobalData.cpp:
17395        (WebCore::ThreadGlobalData::ThreadGlobalData): Ditto.
17396        (WebCore::ThreadGlobalData::destroy): Ditto.
17397        * platform/ThreadGlobalData.h: Ditto.
17398        * platform/URL.cpp:
17399        (WebCore::appendEncodedHostname): Ditto.
17400        * platform/graphics/SurrogatePairAwareTextIterator.cpp: Ditto.
17401        Also removed unneeded "using namespace".
17402        * platform/text/TextCodecICU.cpp: Ditto.
17403        * platform/text/TextEncoding.cpp:
17404        (WebCore::TextEncoding::encode): Ditto.
17405        * platform/text/TextEncodingRegistry.cpp:
17406        (WebCore::extendTextCodecMaps): Ditto.
17407
174082014-01-25  Darin Adler  <darin@apple.com>
17409
17410        Get rid of UnicodeRange.h/cpp, using ICU instead
17411        https://bugs.webkit.org/show_bug.cgi?id=127622
17412
17413        Reviewed by Anders Carlsson.
17414
17415        * CMakeLists.txt: Remove UnicodeRange.h/cpp.
17416        * GNUmakefile.list.am: Ditto.
17417        * WebCore.vcxproj/WebCore.vcxproj: Ditto.
17418        * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
17419        * WebCore.xcodeproj/project.pbxproj: Ditto.
17420
17421        * platform/graphics/win/FontCacheWin.cpp:
17422        (WebCore::FontCache::systemFallbackForCharacters): To check if a character has
17423        multiple code pages, use UCHAR_UNIFIED_IDEOGRAPH instead of cRangeSetCJK.
17424        * platform/graphics/wince/FontCacheWinCE.cpp:
17425        (WebCore::FontCache::systemFallbackForCharacters): Ditto. Also, to check if a
17426        character is in the Thai block, use UBLOCK_THAI.
17427
17428        * platform/graphics/wince/FontPlatformData.cpp: Removed include of UnicodeRange.h.
17429
17430        * platform/text/UnicodeRange.cpp: Removed.
17431        * platform/text/UnicodeRange.h: Removed.
17432
17433        * rendering/svg/SVGTextLayoutEngineBaseline.cpp:
17434        (WebCore::SVGTextLayoutEngineBaseline::calculateGlyphOrientationAngle): To figure
17435        out if a character is full width, use UCHAR_EAST_ASIAN_WIDTH, instead of hard-coding
17436        "not Latin or Arabic" as the rule.
17437
174382014-01-25  Tim Horton  <timothy_horton@apple.com>
17439
17440        Remove an unnecessary platform #if in BitmapImage(CG)::checkForSolidColor()
17441        https://bugs.webkit.org/show_bug.cgi?id=127610
17442
17443        Reviewed by Simon Fraser.
17444
17445        * platform/graphics/cg/BitmapImageCG.cpp:
17446        (WebCore::BitmapImage::checkForSolidColor):
17447        Over time, the two sides of this #if !PLATFORM(IOS) converged. Remove the #if
17448        and merge the code. We explicitly use kCGBitmapByteOrder32Big to be correct everywhere.
17449
174502014-01-25  Tim Horton  <timothy_horton@apple.com>
17451
17452        [cg] Look in the PNG dictionary for image duration information
17453        https://bugs.webkit.org/show_bug.cgi?id=127611
17454        <rdar://problem/15408643>
17455
17456        Reviewed by Simon Fraser.
17457
17458        We should look in the PNG properties dictionary for frame duration and loop count data.
17459
17460        * platform/graphics/cg/ImageSourceCG.cpp:
17461        (WebCore::ImageSource::repetitionCount):
17462        Mush repetitionCount a bit more to make it easier to read (early returns, etc.)
17463        Also, look in the PNG properties dictionary for a loop count.
17464
17465        (WebCore::ImageSource::frameDurationAtIndex):
17466        Look in the PNG properties dictionary for delay time.
17467        Get rid of WebCoreCGImagePropertyGIFUnclampedDelayTime; it hasn't
17468        been needed since Snow Leopard.
17469
174702014-01-25  Anders Carlsson  <andersca@apple.com>
17471
17472        Remove atomicIncrement/atomicDecrement
17473        https://bugs.webkit.org/show_bug.cgi?id=127625
17474
17475        Reviewed by Andreas Kling.
17476
17477        Replace atomicIncrement/atomicDecrement with std::atomic.
17478
17479        * Modules/webaudio/AudioContext.cpp:
17480        (WebCore::AudioContext::incrementActiveSourceCount):
17481        (WebCore::AudioContext::decrementActiveSourceCount):
17482        * Modules/webaudio/AudioContext.h:
17483        * Modules/webaudio/AudioNode.cpp:
17484        (WebCore::AudioNode::~AudioNode):
17485        (WebCore::AudioNode::ref):
17486        (WebCore::AudioNode::finishDeref):
17487        * Modules/webaudio/AudioNode.h:
17488        * Modules/webdatabase/OriginLock.h:
17489
174902014-01-25  Alex Christensen  <achristensen@webkit.org>
17491
17492        Unreviewed build fix for WinCairo.
17493
17494        * platform/network/curl/CurlDownload.h:
17495        Included wtf/Threading.h for ThreadIdentifier definition.
17496
174972014-01-25  Anders Carlsson  <andersca@apple.com>
17498
17499        Modernize HashTable threading code
17500        https://bugs.webkit.org/show_bug.cgi?id=127621
17501
17502        Reviewed by Darin Adler.
17503
17504        Explicitly include headers that used to be brought in by HashTable.h
17505
17506        * platform/DragData.h:
17507        Change a Windows-specific typedef to avoid having to include WindDef.h from a header.
17508
17509        * platform/audio/AudioSession.h:
17510        * platform/network/cf/SocketStreamHandle.h:
17511
175122014-01-25  Zan Dobersek  <zdobersek@igalia.com>
17513
17514        Move CSSGroupingRule, CSSStyleSheet, ElementRuleCollector to std::unique_ptr
17515        https://bugs.webkit.org/show_bug.cgi?id=127575
17516
17517        Reviewed by Andreas Kling.
17518
17519        Use std::unique_ptr and std::make_unique in place of OwnPtr and adoptPtr
17520        in the CSSGroupingRule, CSSStyleSheet and ElementRuleCollector classes.
17521
17522        * css/CSSFunctionValue.cpp: Remove the unnecessary PassOwnPtr header inclusion.
17523        * css/CSSGroupingRule.cpp:
17524        (WebCore::CSSGroupingRule::cssRules):
17525        * css/CSSGroupingRule.h:
17526        * css/CSSStyleSheet.cpp:
17527        (WebCore::CSSStyleSheet::cssRules):
17528        * css/CSSStyleSheet.h:
17529        * css/ElementRuleCollector.cpp:
17530        (WebCore::ElementRuleCollector::addMatchedRule):
17531        * css/ElementRuleCollector.h:
17532
175332014-01-25  Zan Dobersek  <zdobersek@igalia.com>
17534
17535        Move MediaQueryMatcher, SelectorFilter to std::unique_ptr
17536        https://bugs.webkit.org/show_bug.cgi?id=127574
17537
17538        Reviewed by Andreas Kling.
17539
17540        Replace the use of OwnPtr and adoptPtr with std::unique_ptr and std::make_unique
17541        in the MediaQueryMatcher and SelectorFilter classes.
17542
17543        * css/MediaQueryMatcher.cpp:
17544        (WebCore::MediaQueryMatcher::prepareEvaluator):
17545        (WebCore::MediaQueryMatcher::evaluate):
17546        (WebCore::MediaQueryMatcher::addListener):
17547        (WebCore::MediaQueryMatcher::styleResolverChanged):
17548        * css/MediaQueryMatcher.h:
17549        * css/SelectorFilter.cpp:
17550        (WebCore::SelectorFilter::popParentStackFrame):
17551        (WebCore::SelectorFilter::setupParentStack):
17552        * css/SelectorFilter.h:
17553
175542014-01-25  Zan Dobersek  <zdobersek@igalia.com>
17555
17556        Move PropertySetCSSStyleDeclaration, WebKitCSSKeyframesRule to std::unique_ptr
17557        https://bugs.webkit.org/show_bug.cgi?id=127572
17558
17559        Reviewed by Andreas Kling.
17560
17561        Switch the PropertySetCSSStyleDeclaration and WebKitCSSKeyframesRule classes from using
17562        OwnPtr and adoptPtr to using std::unique_ptr and std::make_unique.
17563
17564        * css/PropertySetCSSStyleDeclaration.cpp:
17565        (WebCore::PropertySetCSSStyleDeclaration::cloneAndCacheForCSSOM):
17566        (WebCore::StyleRuleCSSStyleDeclaration::didMutate):
17567        (WebCore::InlineCSSStyleDeclaration::didMutate):
17568        * css/PropertySetCSSStyleDeclaration.h:
17569        * css/WebKitCSSKeyframesRule.cpp:
17570        (WebCore::WebKitCSSKeyframesRule::cssRules):
17571        * css/WebKitCSSKeyframesRule.h:
17572
175732014-01-25  Zan Dobersek  <zdobersek@igalia.com>
17574
17575        Move StyleProperties, StyleResolver to std::unique_ptr
17576        https://bugs.webkit.org/show_bug.cgi?id=127570
17577
17578        Reviewed by Andreas Kling.
17579
17580        Move the StyleProperties and StyleResolver classes from using OwnPtr and adoptPtr
17581        to using std::unique_ptr and std::make_unique.
17582
17583        * css/StyleInvalidationAnalysis.h: Remove the PassOwnPtr.h header inclusion.
17584        * css/StyleProperties.cpp:
17585        (WebCore::MutableStyleProperties::ensureCSSStyleDeclaration):
17586        (WebCore::MutableStyleProperties::ensureInlineCSSStyleDeclaration):
17587        * css/StyleProperties.h:
17588        * css/StyleResolver.cpp:
17589        (WebCore::StyleResolver::StyleResolver):
17590        (WebCore::StyleResolver::addViewportDependentMediaQueryResult):
17591        * css/StyleResolver.h:
17592        * css/StyleScopeResolver.h:
17593
175942014-01-25  Zan Dobersek  <zdobersek@igalia.com>
17595
17596        Move CSSFontFace, CSSFontSelector to std::unique_ptr
17597        https://bugs.webkit.org/show_bug.cgi?id=127569
17598
17599        Reviewed by Andreas Kling.
17600
17601        Move the CSSFontFace and CSSFontSelector classes from using OwnPtr, PassOwnPtr and adoptPtr
17602        to using std::unique_ptr, move semantics and std::make_unique.
17603
17604        * css/CSSFontFace.cpp:
17605        (WebCore::CSSFontFace::addSource):
17606        * css/CSSFontFace.h:
17607        * css/CSSFontSelector.cpp:
17608        (WebCore::CSSFontSelector::addFontFaceRule):
17609        (WebCore::CSSFontSelector::getFontFace):
17610        * css/CSSFontSelector.h:
17611
176122014-01-24  Joseph Pecoraro  <pecoraro@apple.com>
17613
17614        Web Inspector: Move InspectorRuntimeAgent into JavaScriptCore
17615        https://bugs.webkit.org/show_bug.cgi?id=127605
17616
17617        Reviewed by Timothy Hatcher.
17618
17619        Covered by existing tests. No change in functionality.
17620
17621        * CMakeLists.txt:
17622        * GNUmakefile.list.am:
17623        * WebCore.vcxproj/WebCore.vcxproj:
17624        * WebCore.vcxproj/WebCore.vcxproj.filters:
17625        * WebCore.xcodeproj/project.pbxproj:
17626        * inspector/InspectorAllInOne.cpp:
17627        Remove WebCore InspectorRuntimeAgent.
17628
17629        * ForwardingHeaders/inspector/agents/InspectorRuntimeAgent.h: Added.
17630        Add JavaScriptCore InspectorRuntimeAgent.
17631
17632        * inspector/InspectorController.cpp:
17633        (WebCore::InspectorController::InspectorController):
17634        * inspector/WorkerInspectorController.h:
17635        * inspector/WorkerInspectorController.cpp:
17636        (WebCore::WorkerInspectorController::WorkerInspectorController):
17637        New constructors for the runtime agent.
17638
17639        * inspector/PageRuntimeAgent.h:
17640        * inspector/PageRuntimeAgent.cpp:
17641        (WebCore::PageRuntimeAgent::PageRuntimeAgent):
17642        (WebCore::PageRuntimeAgent::enable):
17643        (WebCore::PageRuntimeAgent::disable):
17644        (WebCore::PageRuntimeAgent::didCreateMainWorldContext):
17645        (WebCore::PageRuntimeAgent::didCreateIsolatedContext):
17646        (WebCore::PageRuntimeAgent::globalVM):
17647        Modernize and implement globalVM.
17648
17649        * inspector/WorkerRuntimeAgent.h:
17650        * inspector/WorkerRuntimeAgent.cpp:
17651        (WebCore::WorkerRuntimeAgent::WorkerRuntimeAgent):
17652        (WebCore::WorkerRuntimeAgent::injectedScriptForEval):
17653        (WebCore::WorkerRuntimeAgent::globalVM):
17654        Modernize and implement globalVM.
17655
176562014-01-25  Diego Pino Garcia  <dpino@igalia.com>
17657
17658        [GTK] Add parameters from 'DOM Object Model Core' spec and 'DOM CSS' spec that can be NULL
17659
17660        https://bugs.webkit.org/show_bug.cgi?id=117536
17661
17662        Reviewed by Xan Lopez.
17663
17664        * bindings/scripts/CodeGeneratorGObject.pm:
17665        (ParamCanBeNull): Add new pairs (function, parameter) that can be NULL
17666
176672014-01-25  Anders Carlsson  <andersca@apple.com>
17668
17669        Get rid of BackForwardController::isActive()
17670        https://bugs.webkit.org/show_bug.cgi?id=127604
17671
17672        Reviewed by Sam Weinig.
17673
17674        BackForwardController::isActive() used to mean "my page maintains a back forward
17675        list that has zero capacity". Move that logic into WebKit instead, namely the
17676        WebFrameLoaderClient::canCachePage function so we can simplify WebCore.
17677
17678        * history/BackForwardClient.h:
17679        * history/BackForwardController.cpp:
17680        * history/BackForwardController.h:
17681        * history/BackForwardList.h:
17682        * history/PageCache.cpp:
17683        (WebCore::logCanCachePageDecision):
17684        (WebCore::PageCache::canCache):
17685
176862014-01-25  Antti Koivisto  <antti@apple.com>
17687
17688        REGRESSION(r162744): wsj.com paints white
17689        https://bugs.webkit.org/show_bug.cgi?id=127619
17690
17691        Reviewed by Sam Weinig.
17692
17693        Test: fast/css/stylesheet-layout-with-pending-paint.html
17694
17695        * dom/Document.cpp:
17696        (WebCore::Document::styleResolverChanged):
17697        
17698            Ensure we switch out from IgnoreLayoutWithPendingSheets state after stylesheet loads complete.
17699
177002014-01-24  Dan Bernstein  <mitz@apple.com>
17701
17702        Reverted r162760. It broke more things.
17703
17704        * WebCore.exp.in:
17705
177062014-01-24  Dan Bernstein  <mitz@apple.com>
17707
17708        Try to fix some 32-bit builds.
17709
17710        * WebCore.exp.in:
17711
177122014-01-24  Jinwoo Song  <jinwoo7.song@samsung.com>
17713
17714        [EFL] Replace usage of DEFINE_STATIC_LOCAL with NeverDestroyed in WebCore/platform/efl
17715        https://bugs.webkit.org/show_bug.cgi?id=127607
17716
17717        Reviewed by Anders Carlsson.
17718
17719        * platform/efl/EflKeyboardUtilities.cpp:
17720        (WebCore::keyMap): Use NeverDestroyed instead of DEFINE_STATIC_LOCAL.
17721        (WebCore::windowsKeyMap): Ditto.
17722        (WebCore::keyDownCommandsMap): Ditto.
17723        (WebCore::keyPressCommandsMap): Ditto.
17724        * platform/efl/GamepadsEfl.cpp:
17725        (WebCore::sampleGamepads): Ditto.
17726        * platform/efl/RenderThemeEfl.cpp:
17727        (WebCore::RenderThemeEfl::systemFont): Do not use unnecessary DEFINE_STATIC_LOCAL.
17728
177292014-01-23  Joseph Pecoraro  <pecoraro@apple.com>
17730
17731        Move JavaScriptCallFrame and ScriptDebugServer into JavaScriptCore for inspector
17732        https://bugs.webkit.org/show_bug.cgi?id=127543
17733
17734        Reviewed by Geoffrey Garen.
17735
17736        Covered by existing tests.
17737
17738        * ForwardingHeaders/inspector/ScriptDebugServer.h: Added.
17739        * GNUmakefile.list.am:
17740        * UseJSC.cmake:
17741        * WebCore.vcxproj/WebCore.vcxproj:
17742        * WebCore.vcxproj/WebCore.vcxproj.filters:
17743        * WebCore.xcodeproj/project.pbxproj:
17744        * bindings/js/JSBindingsAllInOne.cpp:
17745        * inspector/JavaScriptCallFrame.idl: Removed.
17746        Update builds now that ScriptDebugServer moved to JavaScriptCore.
17747
17748        * bindings/js/PageScriptDebugServer.h:
17749        * bindings/js/PageScriptDebugServer.cpp:
17750        (WebCore::PageScriptDebugServer::runEventLoopWhilePaused):
17751        (WebCore::PageScriptDebugServer::isContentScript):
17752        (WebCore::PageScriptDebugServer::reportException):
17753        * bindings/js/WorkerScriptDebugServer.h:
17754        * bindings/js/WorkerScriptDebugServer.cpp:
17755        (WebCore::WorkerScriptDebugServer::runEventLoopWhilePaused):
17756        (WebCore::WorkerScriptDebugServer::reportException):
17757        Handle ScriptDebugServer functionality depending on WebCore knowledge.
17758
17759        * inspector/InspectorDebuggerAgent.h:
17760        * inspector/InspectorDebuggerAgent.cpp:
17761        (WebCore::InspectorDebuggerAgent::breakpointActionSound):
17762        Handle ScriptDebugServer functionality that depended on WebCore knowledge.
17763        This will eventually be written in a non-WebCore specific way.
17764
17765        * inspector/InspectorRuntimeAgent.cpp:
17766        * inspector/InspectorRuntimeAgent.h:
17767        Update ScriptDebugServer type now that it is in namespace Inspector.
17768
17769        * workers/WorkerGlobalScope.h:
17770        Make addConsoleMessage public again so the inspector can call it.
17771
17772        * inspector/PageDebuggerAgent.cpp:
17773        (WebCore::PageDebuggerAgent::breakpointActionLog):
17774        * inspector/PageDebuggerAgent.h:
17775        * inspector/WorkerDebuggerAgent.cpp:
17776        (WebCore::WorkerDebuggerAgent::breakpointActionLog):
17777        * inspector/WorkerDebuggerAgent.h:
17778        Let each of these handle console logs in their own way. Both of these
17779        eventually go through the PageConsole and log through the InspectorConsoleAgent
17780        and ChromeClient.
17781
177822014-01-24  Brent Fulgham  <bfulgham@apple.com>
17783
17784        Improve latching behavior for wheel events
17785        https://bugs.webkit.org/show_bug.cgi?id=127386
17786        <rdar://problem/12176858>
17787
17788        Reviewed by Simon Fraser.
17789
17790        * page/scrolling/ScrollingTree.cpp:
17791        (WebCore::ScrollingTree::ScrollingTree): Initialize new values used for tracking
17792        scroll latching state.
17793        (WebCore::ScrollingTree::shouldHandleWheelEventSynchronously): Check for an existing
17794        latched node and stay in fast scrolling mode if possible.
17795        (WebCore::ScrollingTree::removeDestroyedNodes): Clear latched node if it's being removed.
17796        (WebCore::ScrollingTree::latchedNode): Added
17797        (WebCore::ScrollingTree::setLatchedNode): Added
17798        (WebCore::ScrollingTree::clearLatchedNode): Added
17799        * page/scrolling/ScrollingTree.h:
17800        (WebCore::ScrollingTree::hasLatchedNode): Added
17801        * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
17802        (WebCore::shouldConsiderLatching): Added
17803        (WebCore::ScrollingTreeScrollingNodeMac::handleWheelEvent): Determine latching state
17804        based on wheel event state and position of mouse pointer in the document.
17805
178062014-01-24  Anders Carlsson  <andersca@apple.com>
17807
17808        Another attempted build fix.
17809
17810        Use wildcards in the the std::duration symbol.
17811
17812        * WebCore.exp.in:
17813
178142014-01-24  Simon Fraser  <simon.fraser@apple.com>
17815
17816        Start using the RemoteScrollingCoordinatorProxy on iOS
17817        https://bugs.webkit.org/show_bug.cgi?id=127598
17818
17819        Reviewed by Tim Horton.
17820
17821        Add a scrollPositionChangedViaDelegatedScrolling() function to
17822        ScrollingTree, allowing the ScrollingTree to be informed about
17823        external sources of scrolling.
17824        
17825        Also add a convenience getter for nodes, nodeForID().
17826
17827        * WebCore.exp.in:
17828        * page/scrolling/ScrollingTree.cpp:
17829        (WebCore::ScrollingTree::scrollPositionChangedViaDelegatedScrolling):
17830        (WebCore::ScrollingTree::nodeForID):
17831        * page/scrolling/ScrollingTree.h:
17832        * rendering/RenderLayerCompositor.cpp:
17833        (WebCore::RenderLayerCompositor::registerAllViewportConstrainedLayers):
17834        To avoid assertions on iOS, bail from iOS WK1 fixed position code if
17835        we have a ScrollingCoordinator.
17836        (WebCore::RenderLayerCompositor::unregisterAllViewportConstrainedLayers):
17837        Ditto.
17838
178392014-01-24  Simon Fraser  <simon.fraser@apple.com>
17840
17841        Add typesafe casts for ScrollingTreeNode classes
17842        https://bugs.webkit.org/show_bug.cgi?id=127597
17843
17844        Reviewed by Tim Horton.
17845
17846        Add a ScrollingNodeType member to ScrollingTreeNodes and
17847        use it for type-safe casting.
17848
17849        * page/scrolling/ScrollingTreeNode.cpp:
17850        (WebCore::ScrollingTreeNode::ScrollingTreeNode):
17851        * page/scrolling/ScrollingTreeNode.h:
17852        (WebCore::ScrollingTreeNode::nodeType):
17853        (WebCore::ScrollingTreeNode::scrollingNodeID):
17854        * page/scrolling/ScrollingTreeScrollingNode.cpp:
17855        (WebCore::ScrollingTreeScrollingNode::ScrollingTreeScrollingNode):
17856        * page/scrolling/ScrollingTreeScrollingNode.h:
17857        * page/scrolling/mac/ScrollingTreeFixedNode.h:
17858        * page/scrolling/mac/ScrollingTreeFixedNode.mm:
17859        (WebCore::ScrollingTreeFixedNode::ScrollingTreeFixedNode):
17860        * page/scrolling/mac/ScrollingTreeStickyNode.h:
17861        * page/scrolling/mac/ScrollingTreeStickyNode.mm:
17862        (WebCore::ScrollingTreeStickyNode::ScrollingTreeStickyNode):
17863
178642014-01-24  Anders Carlsson  <andersca@apple.com>
17865
17866        Remove back/forward list related functions from Page
17867        https://bugs.webkit.org/show_bug.cgi?id=127596
17868
17869        Reviewed by Andreas Kling.
17870
17871        * WebCore.exp.in:
17872        * history/BackForwardController.cpp:
17873        (WebCore::BackForwardController::canGoBackOrForward):
17874        (WebCore::BackForwardController::goBackOrForward):
17875        (WebCore::BackForwardController::goBack):
17876        (WebCore::BackForwardController::goForward):
17877        (WebCore::BackForwardController::count):
17878        * page/EventHandler.cpp:
17879        (WebCore::EventHandler::defaultBackspaceEventHandler):
17880        * page/Page.cpp:
17881        * page/Page.h:
17882
178832014-01-24  Antti Koivisto  <antti@apple.com>
17884
17885        Update style asynchronously after style sheet load
17886        https://bugs.webkit.org/show_bug.cgi?id=127563
17887
17888        Reviewed by Andreas Kling.
17889        
17890        Since we don't attach synchronously we don't need to recalc style synchronously either.
17891
17892        * dom/Document.cpp:
17893        (WebCore::Document::didRemoveAllPendingStylesheet):
17894
178952014-01-24  Zalan Bujtas  <zalan@apple.com>
17896
17897        Subpixel layout: Default style of input type=checkbox/radio (0.5ex) adds 1px extra margin on both left and right.
17898        https://bugs.webkit.org/show_bug.cgi?id=125728
17899
17900        Reviewed by Simon Fraser.
17901
17902        Using the 0.5ex value to set checkbox/radio left and right margins is a long-standing
17903        (khtml) behavior. While it indicates dynamic behavior, in order to get the margins changed,
17904        the widget's font size needs to be set, which is rather rare for such input types.
17905        It also results in odd layout, where the checkbox's indentation may seem to change randomly.
17906
17907        '<input style="font-size: 30px;" type="checkbox">foo' changes neither the checkbox
17908        nor the text size, but it indents the line by about 15px.
17909
17910        Other browsers (FF, Opera with Presto) disagree and they set static margins values.
17911        2px is the current default computed value.
17912
17913        * css/html.css:
17914        (input[type="radio"], input[type="checkbox"]):
17915
179162014-01-24  Oliver Hunt  <oliver@apple.com>
17917
17918        Put functions need to take a base object and a this value, and perform type checks on |this|
17919        https://bugs.webkit.org/show_bug.cgi?id=127594
17920
17921        Reviewed by Geoffrey Garen.
17922
17923        Update bindings generator to emit setters with correct type, and perform
17924        type checks on |this|, instead of the baseObject.
17925
17926        Test: js/dom/dom-as-prototype-assignment-exception.html
17927
17928        * bindings/scripts/CodeGeneratorJS.pm:
17929        (GenerateHeader):
17930        (GenerateImplementation):
17931        (GenerateHashTable):
17932        * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
17933        * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
17934        * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
17935        * bindings/scripts/test/JS/JSTestEventTarget.cpp:
17936        * bindings/scripts/test/JS/JSTestException.cpp:
17937        * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
17938        * bindings/scripts/test/JS/JSTestInterface.cpp:
17939        (WebCore::setJSTestInterfaceConstructorImplementsStaticAttr):
17940        (WebCore::setJSTestInterfaceImplementsStr2):
17941        (WebCore::setJSTestInterfaceImplementsStr3):
17942        (WebCore::setJSTestInterfaceImplementsNode):
17943        (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr):
17944        (WebCore::setJSTestInterfaceSupplementalStr2):
17945        (WebCore::setJSTestInterfaceSupplementalStr3):
17946        (WebCore::setJSTestInterfaceSupplementalNode):
17947        * bindings/scripts/test/JS/JSTestInterface.h:
17948        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
17949        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
17950        * bindings/scripts/test/JS/JSTestNode.cpp:
17951        * bindings/scripts/test/JS/JSTestObj.cpp:
17952        (WebCore::setJSTestObjConstructorStaticStringAttr):
17953        (WebCore::setJSTestObjTestSubObjEnabledBySettingConstructor):
17954        (WebCore::setJSTestObjEnumAttr):
17955        (WebCore::setJSTestObjByteAttr):
17956        (WebCore::setJSTestObjOctetAttr):
17957        (WebCore::setJSTestObjShortAttr):
17958        (WebCore::setJSTestObjUnsignedShortAttr):
17959        (WebCore::setJSTestObjLongAttr):
17960        (WebCore::setJSTestObjLongLongAttr):
17961        (WebCore::setJSTestObjUnsignedLongLongAttr):
17962        (WebCore::setJSTestObjStringAttr):
17963        (WebCore::setJSTestObjTestObjAttr):
17964        (WebCore::setJSTestObjXMLObjAttr):
17965        (WebCore::setJSTestObjCreate):
17966        (WebCore::setJSTestObjReflectedStringAttr):
17967        (WebCore::setJSTestObjReflectedIntegralAttr):
17968        (WebCore::setJSTestObjReflectedUnsignedIntegralAttr):
17969        (WebCore::setJSTestObjReflectedBooleanAttr):
17970        (WebCore::setJSTestObjReflectedURLAttr):
17971        (WebCore::setJSTestObjReflectedCustomIntegralAttr):
17972        (WebCore::setJSTestObjReflectedCustomBooleanAttr):
17973        (WebCore::setJSTestObjReflectedCustomURLAttr):
17974        (WebCore::setJSTestObjTypedArrayAttr):
17975        (WebCore::setJSTestObjAttrWithGetterException):
17976        (WebCore::setJSTestObjAttrWithSetterException):
17977        (WebCore::setJSTestObjStringAttrWithGetterException):
17978        (WebCore::setJSTestObjStringAttrWithSetterException):
17979        (WebCore::setJSTestObjCustomAttr):
17980        (WebCore::setJSTestObjWithScriptStateAttribute):
17981        (WebCore::setJSTestObjWithScriptExecutionContextAttribute):
17982        (WebCore::setJSTestObjWithScriptStateAttributeRaises):
17983        (WebCore::setJSTestObjWithScriptExecutionContextAttributeRaises):
17984        (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttribute):
17985        (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
17986        (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
17987        (WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
17988        (WebCore::setJSTestObjConditionalAttr1):
17989        (WebCore::setJSTestObjConditionalAttr2):
17990        (WebCore::setJSTestObjConditionalAttr3):
17991        (WebCore::setJSTestObjConditionalAttr4Constructor):
17992        (WebCore::setJSTestObjConditionalAttr5Constructor):
17993        (WebCore::setJSTestObjConditionalAttr6Constructor):
17994        (WebCore::setJSTestObjAnyAttribute):
17995        (WebCore::setJSTestObjMutablePoint):
17996        (WebCore::setJSTestObjImmutablePoint):
17997        (WebCore::setJSTestObjStrawberry):
17998        (WebCore::setJSTestObjStrictFloat):
17999        (WebCore::setJSTestObjId):
18000        (WebCore::setJSTestObjReplaceableAttribute):
18001        (WebCore::setJSTestObjNullableLongSettableAttribute):
18002        (WebCore::setJSTestObjNullableStringValue):
18003        (WebCore::setJSTestObjAttributeWithReservedEnumType):
18004        * bindings/scripts/test/JS/JSTestObj.h:
18005        * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
18006        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
18007        (WebCore::setJSTestSerializedScriptValueInterfaceValue):
18008        (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue):
18009        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
18010        * bindings/scripts/test/JS/JSTestTypedefs.cpp:
18011        (WebCore::setJSTestTypedefsUnsignedLongLongAttr):
18012        (WebCore::setJSTestTypedefsImmutableSerializedScriptValue):
18013        (WebCore::setJSTestTypedefsAttrWithGetterException):
18014        (WebCore::setJSTestTypedefsAttrWithSetterException):
18015        (WebCore::setJSTestTypedefsStringAttrWithGetterException):
18016        (WebCore::setJSTestTypedefsStringAttrWithSetterException):
18017        * bindings/scripts/test/JS/JSTestTypedefs.h:
18018        * bindings/scripts/test/JS/JSattribute.cpp:
18019        * bindings/scripts/test/JS/JSreadonly.cpp:
18020
180212014-01-24  Oliver Hunt  <oliver@apple.com>
18022
18023        Generic JSObject::put should handle static properties in the classinfo hierarchy
18024        https://bugs.webkit.org/show_bug.cgi?id=127523
18025
18026        Reviewed by Geoffrey Garen.
18027
18028        Update the bindings generator to emit the flag indicating the presence
18029        of setters, and remove the many (now unnecessary) put overrides.
18030        Tested with run-jsc-benchmarks and shows neutral performance. A few of the
18031        micro benchmarks actually get a significant performance increase which
18032        is nice.
18033
18034        * bindings/js/JSDOMWindowCustom.cpp:
18035        (WebCore::JSDOMWindow::put):
18036            We still need a custom call to lookupPut here in order
18037            to get the magic security semantics of the window object.
18038        * bindings/scripts/CodeGeneratorJS.pm:
18039        (hashTableAccessor):
18040        (prototypeHashTableAccessor):
18041        (constructorHashTableAccessor):
18042        (GenerateImplementation):
18043        (GenerateHashTable):
18044        (GenerateConstructorHelperMethods):
18045
18046        * bindings/js/JSDOMWindowCustom.cpp:
18047        (WebCore::JSDOMWindow::put):
18048        * bindings/scripts/CodeGeneratorJS.pm:
18049        (hashTableAccessor):
18050        (prototypeHashTableAccessor):
18051        (constructorHashTableAccessor):
18052        (InstanceOverridesPutImplementation):
18053        (InstanceOverridesPutDeclaration):
18054        (GenerateHeader):
18055        (GenerateImplementation):
18056        (GenerateHashTable):
18057        (GenerateConstructorHelperMethods):
18058        * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
18059        * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
18060        * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
18061        * bindings/scripts/test/JS/JSTestEventTarget.cpp:
18062        * bindings/scripts/test/JS/JSTestException.cpp:
18063        * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
18064        * bindings/scripts/test/JS/JSTestInterface.cpp:
18065        (WebCore::JSTestInterface::put):
18066        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
18067        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
18068        * bindings/scripts/test/JS/JSTestNode.cpp:
18069        * bindings/scripts/test/JS/JSTestObj.cpp:
18070        * bindings/scripts/test/JS/JSTestObj.h:
18071        * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
18072        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
18073        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
18074        * bindings/scripts/test/JS/JSTestTypedefs.cpp:
18075        * bindings/scripts/test/JS/JSTestTypedefs.h:
18076        * bindings/scripts/test/JS/JSattribute.cpp:
18077        * bindings/scripts/test/JS/JSreadonly.cpp:
18078        * html/canvas/WebGLRenderingContext.idl:
18079          Remove bogus attribute, as it has never been in the spec and should not
18080          have been added.
18081
180822014-01-24  Commit Queue  <commit-queue@webkit.org>
18083
18084        Unreviewed, rolling out r162713.
18085        http://trac.webkit.org/changeset/162713
18086        https://bugs.webkit.org/show_bug.cgi?id=127593
18087
18088        broke media/network-no-source-const-shadow (Requested by
18089        thorton on #webkit).
18090
18091        * bindings/js/JSDOMWindowCustom.cpp:
18092        (WebCore::JSDOMWindow::put):
18093        * bindings/scripts/CodeGeneratorJS.pm:
18094        (hashTableAccessor):
18095        (prototypeHashTableAccessor):
18096        (constructorHashTableAccessor):
18097        (GenerateHeader):
18098        (GenerateImplementation):
18099        (GenerateHashTable):
18100        (GenerateConstructorHelperMethods):
18101        * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
18102        * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
18103        * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
18104        * bindings/scripts/test/JS/JSTestEventTarget.cpp:
18105        * bindings/scripts/test/JS/JSTestException.cpp:
18106        * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
18107        * bindings/scripts/test/JS/JSTestInterface.cpp:
18108        (WebCore::JSTestInterface::put):
18109        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
18110        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
18111        * bindings/scripts/test/JS/JSTestNode.cpp:
18112        * bindings/scripts/test/JS/JSTestObj.cpp:
18113        (WebCore::JSTestObj::put):
18114        * bindings/scripts/test/JS/JSTestObj.h:
18115        * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
18116        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
18117        (WebCore::JSTestSerializedScriptValueInterface::put):
18118        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
18119        * bindings/scripts/test/JS/JSTestTypedefs.cpp:
18120        (WebCore::JSTestTypedefs::put):
18121        * bindings/scripts/test/JS/JSTestTypedefs.h:
18122        * bindings/scripts/test/JS/JSattribute.cpp:
18123        * bindings/scripts/test/JS/JSreadonly.cpp:
18124        * html/canvas/WebGLRenderingContext.idl:
18125
181262014-01-24  Zalan Bujtas  <zalan@apple.com>
18127
18128        Replace LayoutUnit() calls to a more descriptive LayoutUnit::fromPixel(int).
18129        https://bugs.webkit.org/show_bug.cgi?id=127580
18130
18131        Reviewed by Simon Fraser.
18132
18133        LayoutUnit(1) statement is ambiguous. While it is intended to set one (CSS) pixel, it
18134        could be interpreted as 1 layout unit (1/64th of a CSS pixel atm).
18135
18136        No change in behavior.
18137
18138        * inspector/InspectorOverlay.cpp:
18139        (WebCore::buildObjectForRegionHighlight):
18140        * rendering/FloatingObjects.cpp:
18141        (WebCore::ComputeFloatOffsetForFloatLayoutAdapter<FloatTypeValue>::heightRemaining):
18142        * rendering/RenderBlock.cpp:
18143        (WebCore::RenderBlock::layoutShapeInsideInfo):
18144        * rendering/RenderBlockFlow.cpp:
18145        (WebCore::RenderBlockFlow::collapseMargins):
18146        * rendering/RenderFlexibleBox.cpp:
18147        (WebCore::RenderFlexibleBox::mainAxisContentExtent):
18148        (WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild):
18149        (WebCore::RenderFlexibleBox::alignChildren):
18150        * rendering/RenderMultiColumnFlowThread.cpp:
18151        (WebCore::RenderMultiColumnFlowThread::addForcedRegionBreak):
18152        * rendering/RenderMultiColumnSet.cpp:
18153        (WebCore::RenderMultiColumnSet::heightAdjustedForSetOffset):
18154        (WebCore::RenderMultiColumnSet::calculateBalancedHeight):
18155
181562014-01-24  Simon Fraser  <simon.fraser@apple.com>
18157
18158        Prepare scrolling tree to handle > 1 scrolling node
18159        https://bugs.webkit.org/show_bug.cgi?id=127590
18160
18161        Reviewed by Tim Horton.
18162
18163        Clean up the code path called after the ScrollingTree has scrolled a node,
18164        to prepare for multiple scrolling nodes.
18165        
18166        Change "updateMainFrameScrollPosition" terminology to "updateScrollPositionAfterAsyncScroll",
18167        and pass along the ScrollingNodeID that scrolled.
18168        
18169        Move updateMainFrameScrollPosition-related code from ScrollingCoordinator to
18170        AsyncScrollingCoordinator, since this sync-up is only necessary when doing
18171        async scrolling.
18172
18173        * WebCore.exp.in:
18174        * page/scrolling/AsyncScrollingCoordinator.cpp:
18175        (WebCore::AsyncScrollingCoordinator::AsyncScrollingCoordinator):
18176        (WebCore::AsyncScrollingCoordinator::requestScrollPositionUpdate):
18177        (WebCore::AsyncScrollingCoordinator::scheduleUpdateScrollPositionAfterAsyncScroll):
18178        (WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScrollTimerFired):
18179        (WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll):
18180        * page/scrolling/AsyncScrollingCoordinator.h:
18181        (WebCore::AsyncScrollingCoordinator::ScheduledScrollUpdate::ScheduledScrollUpdate):
18182        (WebCore::AsyncScrollingCoordinator::ScheduledScrollUpdate::matchesUpdateType):
18183        Package up the data related to a scheduled scroll into a ScheduledScrollUpdate struct,
18184        for easier comparison and cleaner code.
18185        * page/scrolling/ScrollingCoordinator.cpp:
18186        (WebCore::ScrollingCoordinator::ScrollingCoordinator):
18187        * page/scrolling/ScrollingCoordinator.h:
18188        * page/scrolling/ScrollingTree.h:
18189        * page/scrolling/ThreadedScrollingTree.cpp:
18190        (WebCore::ThreadedScrollingTree::scrollingTreeNodeDidScroll):
18191        * page/scrolling/ThreadedScrollingTree.h:
18192        * page/scrolling/ios/ScrollingTreeIOS.cpp:
18193        (WebCore::ScrollingTreeIOS::scrollingTreeNodeDidScroll):
18194        * page/scrolling/ios/ScrollingTreeIOS.h:
18195        * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm:
18196        (WebCore::ScrollingTreeScrollingNodeIOS::setScrollPositionWithoutContentEdgeConstraints):
18197        * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
18198        (WebCore::ScrollingTreeScrollingNodeMac::setScrollPositionWithoutContentEdgeConstraints):
18199
182002014-01-24  Mark Lam  <mark.lam@apple.com>
18201
18202        ASSERT(!m_markedSpace.m_currentDelayedReleaseScope) reloading page in inspector.
18203        <https://webkit.org/b/127582>
18204
18205        Reviewed by Mark Hahnenberg.
18206
18207        No new tests.
18208
18209        * bindings/js/ScriptController.cpp:
18210        (WebCore::ScriptController::attachDebugger):
18211        * bindings/js/WorkerScriptController.cpp:
18212        (WebCore::WorkerScriptController::detachDebugger):
18213        - Adding reasons for detaching a globalObject from the debugger.
18214
182152014-01-24  Zalan Bujtas  <zalan@apple.com>
18216
18217        Subpixel rendering: Make PaintInfo layout unit aware.
18218        https://bugs.webkit.org/show_bug.cgi?id=127562
18219
18220        Reviewed by Simon Fraser.
18221
18222        Replace PaintInfo's IntRect with LayoutRect to be able to render to
18223        subpixel positions.
18224
18225        No functional changes.
18226
18227        * platform/graphics/LayoutRect.h:
18228        * rendering/PaintInfo.h:
18229        (WebCore::PaintInfo::PaintInfo):
18230        (WebCore::PaintInfo::applyTransform):
18231        * rendering/RenderBlock.cpp:
18232        (WebCore::RenderBlock::paint):
18233        * rendering/RenderBoxModelObject.cpp:
18234        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
18235        * rendering/RenderLayer.cpp:
18236        (WebCore::cornerRect):
18237        (WebCore::RenderLayer::scrollCornerRect):
18238        (WebCore::resizerCornerRect):
18239        (WebCore::RenderLayer::scrollCornerAndResizerRect):
18240        (WebCore::RenderLayer::horizontalScrollbarStart):
18241        (WebCore::RenderLayer::drawPlatformResizerImage):
18242        (WebCore::RenderLayer::paintResizer):
18243        (WebCore::RenderLayer::hitTestOverflowControls):
18244        * rendering/RenderLayer.h:
18245        * rendering/RenderLayerBacking.cpp:
18246        (WebCore::RenderLayerBacking::paintContents):
18247        * rendering/RenderListBox.cpp:
18248        (WebCore::RenderListBox::paintScrollbar):
18249        * rendering/RenderWidget.cpp:
18250        (WebCore::RenderWidget::paintContents):
18251        * rendering/mathml/RenderMathMLOperator.cpp:
18252        (WebCore::RenderMathMLOperator::fillWithExtensionGlyph):
18253        * rendering/svg/SVGRenderingContext.h:
18254
182552014-01-24  Simon Fraser  <simon.fraser@apple.com>
18256
18257        #ifdef out handleWheelEventPhase for iOS
18258        https://bugs.webkit.org/show_bug.cgi?id=127583
18259
18260        Reviewed by Tim Horton.
18261
18262        handleWheelEventPhase() doesn't make any sense for iOS, which
18263        has no wheel events.
18264
18265        * page/scrolling/ScrollingTree.h:
18266        * page/scrolling/ThreadedScrollingTree.cpp:
18267        * page/scrolling/ThreadedScrollingTree.h:
18268        * page/scrolling/ios/ScrollingTreeIOS.h:
18269
182702014-01-24  David Hyatt  <hyatt@apple.com>
18271
18272        [New Multicolumn] Don't destroy all the renderers when a multi-column block stops being multi-column (and vice versa)
18273        https://bugs.webkit.org/show_bug.cgi?id=127584
18274
18275        Make the logic for when you need columns and when you don't shared between the
18276        old multi-column code and the new multi-column code. Make sure that the flow thread
18277        and sets get created lazily and destroyed on-demand when whether or not we should
18278        have multiple columns changes.
18279
18280        Reviewed by Beth Dakin.
18281
18282        * rendering/RenderBlock.cpp:
18283        (WebCore::RenderBlock::updateLogicalWidthAndColumnWidth):
18284        No longer virtual. The new column code now uses this function too.
18285
18286        (WebCore::RenderBlock::availableLogicalWidth):
18287        Renamed desiredColumnWidth() to computedColumnWidth().
18288
18289        (WebCore::RenderBlock::computeColumnCountAndWidth):
18290        Renamed calcColumnWidth to computeColumnCountAndWidth.
18291
18292        (WebCore::RenderBlock::setComputedColumnCountAndWidth):
18293        Rename setDesiredColumnCountAndWidth to computed.
18294
18295        (WebCore::RenderBlock::computedColumnWidth):
18296        (WebCore::RenderBlock::computedColumnCount):
18297        Renamed desiredColumnWidth/Count to computedColumnWidth/Count and made them virtual.
18298
18299        (WebCore::RenderBlock::updateFirstLetterStyle):
18300        desired -> computed rename.
18301
18302        * rendering/RenderBlock.h:
18303        Renames and made a few functions virtual so that RenderBlockFlow can override.
18304
18305        * rendering/RenderBlockFlow.cpp:
18306        (WebCore::RenderBlockFlow::RenderBlockFlow):
18307        Don't create the flow thread at construction time any longer.
18308
18309        (WebCore::RenderBlockFlow::createMultiColumnFlowThread):
18310        (WebCore::RenderBlockFlow::destroyMultiColumnFlowThread):
18311        The methods to create and destroy flow threads. These work at any time now and will
18312        fix up the render tree accordingly.
18313
18314        (WebCore::RenderBlockFlow::setComputedColumnCountAndWidth):
18315        Virtual override that creates/destroys the new multi-column information as needed.
18316
18317        (WebCore::RenderBlockFlow::computedColumnWidth):
18318        (WebCore::RenderBlockFlow::computedColumnCount):
18319        Overrides to return the cached column width and count from the flow thread.
18320
18321        * rendering/RenderBlockFlow.h:
18322        Has overrides of the virtual functions needed to turn multi-column state on/off and
18323        to hand back computed count/width information.
18324
18325        * rendering/RenderMultiColumnFlowThread.cpp:
18326        * rendering/RenderMultiColumnFlowThread.h:
18327        Removed the algorithm to compute column count and width, since this has been combined
18328        with the old multi-column layout code.
18329
18330        * rendering/RenderView.cpp:
18331        (WebCore::RenderView::computeColumnCountAndWidth):
18332        Renamed desired -> computed.
18333
18334        * rendering/RenderView.h:
18335        Renamed desired -> computed.
18336
18337        * style/StyleResolveTree.cpp:
18338        (WebCore::Style::determineChange):
18339        (WebCore::Style::resolveLocal):
18340        (WebCore::Style::resolveTree):
18341        * style/StyleResolveTree.h:
18342        The Settings argument is no longer needed now that we don't destroy and re-create
18343        the renderer for a block flow if it stops being (or becomes) multi-column.
18344
183452014-01-24  Anders Carlsson  <andersca@apple.com>
18346
18347        Fix 32-bit build.
18348
18349        * WebCore.exp.in:
18350
183512014-01-24  Brent Fulgham  <bfulgham@apple.com>
18352
18353        [Win] Convert some NMake files to MSBuild project files
18354        https://bugs.webkit.org/show_bug.cgi?id=127579
18355
18356        Reviewed by Tim Horton.
18357
18358        * WebCore.vcxproj/WebCore.make: Removed.
18359        * WebCore.vcxproj/WebCore.proj: Added.
18360
183612014-01-24  Joseph Pecoraro  <pecoraro@apple.com>
18362
18363        fast/profiler tests ASSERTing after moving recompileAllJSFunctions off a timer
18364        https://bugs.webkit.org/show_bug.cgi?id=127566
18365
18366        Reviewed by Oliver Hunt.
18367
18368        Covered by existing tests.
18369
18370        * testing/Internals.cpp:
18371        (WebCore::Internals::closeDummyInspectorFrontend):
18372        Now that we don't have to fake that this is a page being destroyed to
18373        avoid recompilation. Use the InspectorDestroyed reason.
18374
183752014-01-24  Anders Carlsson  <andersca@apple.com>
18376
18377        Get rid of monotonicallyIncreasingTimeMS and start using std::chrono instead
18378        https://bugs.webkit.org/show_bug.cgi?id=127571
18379
18380        Reviewed by Antti Koivisto.
18381
18382        WebCore.exp.in:
18383        Update symbols.
18384
18385        * dom/Document.cpp:
18386        (WebCore::Document::Document):
18387        (WebCore::Document::implicitClose):
18388        (WebCore::Document::setParsing):
18389        (WebCore::Document::isLayoutTimerActive):
18390        (WebCore::Document::minimumLayoutDelay):
18391        (WebCore::Document::elapsedTime):
18392        (WebCore::Document::write):
18393        (WebCore::Document::styleResolverChanged):
18394        * dom/Document.h:
18395        Use std::chrono instead of doubles for the times and durations.
18396
18397        * fileapi/FileReader.cpp:
18398        (WebCore::FileReader::FileReader):
18399        (WebCore::FileReader::didReceiveData):
18400        * fileapi/FileReader.h:
18401        Switch over to std::chrono.
18402
18403        * page/FrameView.cpp:
18404        (WebCore::FrameView::layout):
18405        (WebCore::FrameView::layoutTimerFired):
18406        (WebCore::FrameView::scheduleRelayout):
18407        (WebCore::FrameView::scheduleRelayoutOfSubtree):
18408        Update for Document::elapsedTime() changes.
18409
18410        * page/Settings.cpp:
18411        (WebCore::Settings::setLayoutInterval):
18412        * page/Settings.h:
18413        (WebCore::Settings::layoutInterval):
18414        Change layoutInterval to be std::chrono::milliseconds instead of int.
18415
18416        * platform/Timer.h:
18417        (WebCore::TimerBase::startOneShot):
18418        Add an overload that takes std::chrono::milliseconds.
18419
184202014-01-24  Oliver Hunt  <oliver@apple.com>
18421
18422        Generic JSObject::put should handle static properties in the classinfo hierarchy
18423        https://bugs.webkit.org/show_bug.cgi?id=127523
18424
18425        Reviewed by Geoffrey Garen.
18426
18427        Update the bindings generator to emit the flag indicating the presence
18428        of setters, and remove the many (now unnecessary) put overrides.
18429        Tested with run-jsc-benchmarks and shows neutral performance. A few of the
18430        micro benchmarks actually get a significant performance increase which
18431        is nice.
18432
18433        * bindings/js/JSDOMWindowCustom.cpp:
18434        (WebCore::JSDOMWindow::put):
18435            We still need a custom call to lookupPut here in order
18436            to get the magic security semantics of the window object.
18437        * bindings/scripts/CodeGeneratorJS.pm:
18438        (hashTableAccessor):
18439        (prototypeHashTableAccessor):
18440        (constructorHashTableAccessor):
18441        (GenerateImplementation):
18442        (GenerateHashTable):
18443        (GenerateConstructorHelperMethods):
18444
18445        * bindings/js/JSDOMWindowCustom.cpp:
18446        (WebCore::JSDOMWindow::put):
18447        * bindings/scripts/CodeGeneratorJS.pm:
18448        (hashTableAccessor):
18449        (prototypeHashTableAccessor):
18450        (constructorHashTableAccessor):
18451        (InstanceOverridesPutImplementation):
18452        (InstanceOverridesPutDeclaration):
18453        (GenerateHeader):
18454        (GenerateImplementation):
18455        (GenerateHashTable):
18456        (GenerateConstructorHelperMethods):
18457        * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
18458        * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
18459        * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
18460        * bindings/scripts/test/JS/JSTestEventTarget.cpp:
18461        * bindings/scripts/test/JS/JSTestException.cpp:
18462        * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
18463        * bindings/scripts/test/JS/JSTestInterface.cpp:
18464        (WebCore::JSTestInterface::put):
18465        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
18466        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
18467        * bindings/scripts/test/JS/JSTestNode.cpp:
18468        * bindings/scripts/test/JS/JSTestObj.cpp:
18469        * bindings/scripts/test/JS/JSTestObj.h:
18470        * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
18471        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
18472        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
18473        * bindings/scripts/test/JS/JSTestTypedefs.cpp:
18474        * bindings/scripts/test/JS/JSTestTypedefs.h:
18475        * bindings/scripts/test/JS/JSattribute.cpp:
18476        * bindings/scripts/test/JS/JSreadonly.cpp:
18477        * html/canvas/WebGLRenderingContext.idl:
18478          Remove bogus attribute, as it has never been in the spec and should not
18479          have been added.
18480
184812014-01-24  David Hyatt  <hyatt@apple.com>
18482
18483        [New Multicolumn] Eliminate RenderMultiColumnBlock
18484        https://bugs.webkit.org/show_bug.cgi?id=127565
18485
18486        Reviewed by Antti Koivisto.
18487
18488        This patch eliminates RenderMultiColumnBlock and folds all of its remaining code
18489        back into RenderBlockFlow. This allows all block flows to support multi-column
18490        layout, including table cells, list items, and the RenderView itself.
18491
18492        * CMakeLists.txt:
18493        * WebCore.order:
18494        * WebCore.vcxproj/WebCore.vcxproj:
18495        * WebCore.vcxproj/WebCore.vcxproj.filters:
18496        * WebCore.xcodeproj/project.pbxproj:
18497        Remove RenderMultiColumnBlock from the makefiles.
18498
18499        * rendering/RenderBlock.cpp:
18500        (WebCore::RenderBlock::adjustIntrinsicLogicalWidthsForColumns):
18501        Tweak the comment, since it was no longer accurate.
18502
18503        * rendering/RenderBlock.h:
18504        Move some functions down into RenderBlockFlow.
18505
18506        * rendering/RenderBlockFlow.cpp:
18507        (WebCore::RenderBlockFlow::RenderBlockFlow):
18508        (WebCore::RenderBlockFlow::createMultiColumnFlowThreadIfNeeded):
18509        (WebCore::RenderBlockFlow::styleDidChange):
18510        (WebCore::RenderBlockFlow::relayoutForPagination):
18511        (WebCore::RenderBlockFlow::layoutSpecialExcludedChild):
18512        (WebCore::RenderBlockFlow::updateLogicalWidthAndColumnWidth):
18513        (WebCore::RenderBlockFlow::addChild):
18514        (WebCore::RenderBlockFlow::checkForPaginationLogicalHeightChange):
18515         * rendering/RenderBlockFlow.h:
18516         Move a bunch of functions from RenderMultiColumnBlock up into RenderBlockFlow.
18517
18518        * rendering/RenderBox.cpp:
18519        (WebCore::RenderBox::isUnsplittableForPagination):
18520        Calls isMultiColumnBlockFlow() now instead of testing for a specific renderer type.
18521
18522        * rendering/RenderElement.cpp:
18523        (WebCore::RenderElement::createFor):
18524        Remove the multicolumn block creation code, since we always make a block flow now.
18525
18526        * rendering/RenderMultiColumnBlock.cpp: Removed.
18527        * rendering/RenderMultiColumnBlock.h: Removed.
18528        Nuke the files.
18529
18530        * rendering/RenderMultiColumnFlowThread.cpp:
18531        (WebCore::RenderMultiColumnFlowThread::initialLogicalWidth):
18532        (WebCore::RenderMultiColumnFlowThread::autoGenerateRegionsToBlockOffset):
18533        * rendering/RenderMultiColumnSet.cpp:
18534        (WebCore::RenderMultiColumnSet::heightAdjustedForSetOffset):
18535        (WebCore::RenderMultiColumnSet::addForcedBreak):
18536        (WebCore::RenderMultiColumnSet::recalculateBalancedHeight):
18537        (WebCore::RenderMultiColumnSet::updateLogicalWidth):
18538        (WebCore::RenderMultiColumnSet::prepareForLayout):
18539        (WebCore::RenderMultiColumnSet::columnGap):
18540        (WebCore::RenderMultiColumnSet::paintColumnRules):
18541        Change all of the functions in the multicolumnset and multicolumnflowthread classes
18542        to cast the parent to a RenderBlockFlow now instead of a RenderMultiColumnBlock.
18543        Change the code to call through to multiColumnFlowThread() for column-specific information
18544        for that parent block.
18545
18546        * rendering/RenderObject.h:
18547        (WebCore::RenderObject::isMultiColumnBlockFlow):
18548        Remove isRenderMultiColumnBlock() and replace with isMultiColumnBlockFlow().
18549
18550        * rendering/RenderingAllInOne.cpp:
18551        Remove RenderMultiColumnBlock include.
18552        
185532014-01-24  Brady Eidson  <beidson@apple.com>
18554
18555        IDB: support createIndex/deleteIndex messaging
18556        https://bugs.webkit.org/show_bug.cgi?id=127546
18557
18558        Reviewed by Tim Horton.
18559
18560        * WebCore.exp.in: Export a needed CrossThreadCopier
18561
185622014-01-24  Daniel Bates  <dabates@apple.com>
18563
18564        Fix the Windows build after <http://trac.webkit.org/changeset/162704>
18565        (https://bugs.webkit.org/show_bug.cgi?id=127293)
18566
18567        Only include TargetConditionals.h when building on a Darwin-based OS.
18568        Also, check that TARGET_OS_IPHONE is defined before referencing its value
18569        since it will be undefined when building on Windows.
18570
18571        * bindings/objc/PublicDOMInterfaces.h:
18572
185732014-01-24  Daniel Bates  <dabates@apple.com>
18574
18575        Bindings generation tests hit an error trying to include wtf/Platform.h after r161638
18576        https://bugs.webkit.org/show_bug.cgi?id=127293
18577
18578        Reviewed by Alexey Proskuryakov.
18579
18580        Include TargetConditionals.h instead of wtf/Platform.h as the latter isn't available
18581        in the public SDK.
18582
18583        As a side effect of this change, replace usage of PLATFORM(IOS) with TARGET_OS_IPHONE.
18584
18585        * bindings/objc/PublicDOMInterfaces.h:
18586
185872014-01-21  David Hyatt  <hyatt@apple.com>
18588
18589        [New Multicolumn] Table cells and list items need to work as multicolumn blocks.
18590        https://bugs.webkit.org/show_bug.cgi?id=127365
18591        
18592        This patch is a first step towards eliminating RenderMultiColumnBlock and moving
18593        all its functionality into RenderBlockFlow. Doing so will allow table cells, list
18594        items and the RenderView to use the new multi-column layout.
18595        
18596        Reviewed by Simon Fraser.
18597
18598        * rendering/RenderBlockFlow.cpp:
18599        (WebCore::RenderBlockFlow::setMultiColumnFlowThread):
18600        * rendering/RenderBlockFlow.h:
18601        (WebCore::RenderBlockFlow::RenderBlockFlowRareData::RenderBlockFlowRareData):
18602        (WebCore::RenderBlockFlow::multiColumnFlowThread):
18603        Add the flow thread pointer to the multi-column flow thread to RenderBlockFlow's
18604        rare data. This lets us use only one pointer in the rare data to point to an object
18605        that can hold all of the rest of the multi-column info.
18606
18607        * rendering/RenderMultiColumnBlock.cpp:
18608        (WebCore::RenderMultiColumnBlock::RenderMultiColumnBlock):
18609        Move the construction of the flow thread to the constructor. This ensures we
18610        never have a null flow thread and lets us avoid having to null check it for
18611        empty multi-column blocks.
18612
18613        (WebCore::RenderMultiColumnBlock::columnHeightAvailable):
18614        (WebCore::RenderMultiColumnBlock::columnWidth):
18615        (WebCore::RenderMultiColumnBlock::columnCount):
18616        (WebCore::RenderMultiColumnBlock::updateLogicalWidthAndColumnWidth):
18617        The above functions now call through to the multi-column flow thread for results.
18618
18619        (WebCore::RenderMultiColumnBlock::checkForPaginationLogicalHeightChange):
18620         Set the column height available on the flow thread.
18621
18622        (WebCore::RenderMultiColumnBlock::relayoutForPagination):
18623        The balancing pass and guard is in the multi-column flow thread now.
18624
18625        (WebCore::RenderMultiColumnBlock::addChild):
18626        Don't have to create the flow thread here any longer, since we do it up front
18627        in the constructor of RenderMultiColumnBlock.
18628
18629        (WebCore::RenderMultiColumnBlock::layoutSpecialExcludedChild):
18630        Don't need the null check of the flow thread any more.
18631
18632        * rendering/RenderMultiColumnBlock.h:
18633        Change the inlined functions to not be inlined, since they need to call
18634        RenderMultiColumnFlowThread functions now.
18635
18636        * rendering/RenderMultiColumnFlowThread.cpp:
18637        (WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread):
18638        Init the new member variables we moved here from RenderMultiColumnBlock.
18639
18640        (WebCore::RenderMultiColumnFlowThread::computeColumnCountAndWidth):
18641        Moved from RenderMultiColumnBlock.
18642
18643        * rendering/RenderMultiColumnFlowThread.h:
18644        Add public getters/setters to the member variables so that RenderMultiColumnBlock can
18645        still see them. Move the member variables here from RenderMultiColumnBlock.
18646
18647        * rendering/RenderMultiColumnSet.cpp:
18648        (WebCore::RenderMultiColumnSet::calculateBalancedHeight):
18649        (WebCore::RenderMultiColumnSet::prepareForLayout):
18650        (WebCore::RenderMultiColumnSet::columnCount):
18651        Call through to the flow thread instead.
18652
186532014-01-24  Zan Dobersek  <zdobersek@igalia.com>
18654
18655        Unreviewed GTK build fix after r162663.
18656
18657        * platform/gtk/ScrollViewGtk.cpp:
18658        (WebCore::ScrollView::visibleContentRectInternal): Renamed from visibleContentRect.
18659
186602014-01-24  Zan Dobersek  <zdobersek@igalia.com>
18661
18662        Move HistoryItem to std::unique_ptr
18663        https://bugs.webkit.org/show_bug.cgi?id=127275
18664
18665        Reviewed by Darin Adler.
18666
18667        Replace the uses of OwnPtr and PassOwnPtr in the HistoryItem class with std::unique_ptr.
18668
18669        * history/HistoryItem.cpp:
18670        (WebCore::HistoryItem::HistoryItem):
18671        (WebCore::HistoryItem::reset):
18672        (WebCore::HistoryItem::addRedirectURL):
18673        (WebCore::HistoryItem::setRedirectURLs):
18674        * history/HistoryItem.h:
18675        * history/mac/HistoryItemMac.mm:
18676        (WebCore::HistoryItem::setTransientProperty):
18677        WebCore.exp.in: Update the symbol.
18678
186792014-01-23  Morten Stenshorne  <mstensho@opera.com>
18680
18681        Region based multicol: unresolvable percent height results in 1px tall multicol
18682        https://bugs.webkit.org/show_bug.cgi?id=122826
18683
18684        Reviewed by David Hyatt.
18685
18686        If a box has a percentage height, but the computed height of its
18687        containing block is auto, the computed height of the box also becomes
18688        auto. computeContentLogicalHeight() returns -1 if the height isn't
18689        resolvable, and we need to make sure that such a value doesn't
18690        constrain the height of the multicol container.
18691
18692        Tests: fast/multicol/newmulticol/unresolvable-percent-height-2.html
18693               fast/multicol/newmulticol/unresolvable-percent-height.html
18694               fast/multicol/newmulticol/unresolvable-percent-max-height-2.html
18695               fast/multicol/newmulticol/unresolvable-percent-max-height.html
18696
18697        * rendering/RenderMultiColumnSet.cpp:
18698        (WebCore::RenderMultiColumnSet::RenderMultiColumnSet):
18699        (WebCore::RenderMultiColumnSet::calculateBalancedHeight):
18700        (WebCore::RenderMultiColumnSet::recalculateBalancedHeight):
18701        (WebCore::RenderMultiColumnSet::prepareForLayout):
18702
187032014-01-23  Joseph Pecoraro  <pecoraro@apple.com>
18704
18705        Move ContentSearchUtils, ScriptBreakpoint, and ScriptDebugListener into JavaScriptCore for inspector
18706        https://bugs.webkit.org/show_bug.cgi?id=127537
18707
18708        Reviewed by Timothy Hatcher.
18709
18710          - Rename ContentSearchUtils => ContentSearchUtilities and move to JavaScriptCore.
18711          - Move ScriptBreakpoint and ScriptDebugListener to JavaScriptCore.
18712          - Move them all to namespace Inspector.
18713          - Update build files and users to the new names.
18714
18715        No change in functionality, just moving code.
18716
18717        * CMakeLists.txt:
18718        * ForwardingHeaders/inspector/ContentSearchUtilities.h: Added.
18719        * ForwardingHeaders/inspector/ScriptBreakpoint.h: Added.
18720        * ForwardingHeaders/inspector/ScriptDebugListener.h: Added.
18721        * GNUmakefile.list.am:
18722        * WebCore.vcxproj/WebCore.vcxproj:
18723        * WebCore.vcxproj/WebCore.vcxproj.filters:
18724        * WebCore.xcodeproj/project.pbxproj:
18725        * bindings/js/PageScriptDebugServer.cpp:
18726        * bindings/js/PageScriptDebugServer.h:
18727        * bindings/js/ScriptDebugServer.cpp:
18728        * bindings/js/ScriptDebugServer.h:
18729        * bindings/js/WorkerScriptDebugServer.cpp:
18730        * bindings/js/WorkerScriptDebugServer.h:
18731        * inspector/InspectorAllInOne.cpp:
18732        * inspector/InspectorDebuggerAgent.cpp:
18733        (WebCore::InspectorDebuggerAgent::searchInContent):
18734        (WebCore::InspectorDebuggerAgent::sourceMapURLForScript):
18735        (WebCore::InspectorDebuggerAgent::didParseSource):
18736        * inspector/InspectorDebuggerAgent.h:
18737        * inspector/InspectorPageAgent.cpp:
18738        (WebCore::InspectorPageAgent::sourceMapURLForResource):
18739        (WebCore::InspectorPageAgent::searchInResource):
18740        (WebCore::InspectorPageAgent::searchInResources):
18741        * inspector/InspectorStyleSheet.cpp:
18742        (WebCore::buildSourceRangeObject):
18743        (WebCore::InspectorStyleSheet::lineEndings):
18744        (WebCore::InspectorStyleSheetForInlineStyle::lineEndings):
18745
187462014-01-23  Joseph Pecoraro  <pecoraro@apple.com>
18747
18748        Move RegularExpression into JavaScriptCore for inspector
18749        https://bugs.webkit.org/show_bug.cgi?id=127526
18750
18751        Reviewed by Geoffrey Garen.
18752
18753        Update as appropriate for the moved file and namespace
18754        change for class RegularExpression.
18755
18756        * CMakeLists.txt:
18757        * ForwardingHeaders/yarr/RegularExpression.h: Added.
18758        * GNUmakefile.list.am:
18759        * WebCore.exp.in:
18760        * WebCore.vcxproj/WebCore.vcxproj:
18761        * WebCore.vcxproj/WebCore.vcxproj.filters:
18762        * WebCore.xcodeproj/project.pbxproj:
18763        * dom/DOMImplementation.h:
18764        * html/BaseCheckableInputType.cpp:
18765        * html/BaseTextInputType.cpp:
18766        (WebCore::BaseTextInputType::patternMismatch):
18767        * html/EmailInputType.cpp:
18768        (WebCore::isValidEmailAddress):
18769        * html/InputType.cpp:
18770        * inspector/ContentSearchUtils.cpp:
18771        (WebCore::ContentSearchUtils::getRegularExpressionMatchesByLines):
18772        (WebCore::ContentSearchUtils::createSearchRegex):
18773        (WebCore::ContentSearchUtils::countRegularExpressionMatches):
18774        (WebCore::ContentSearchUtils::searchInTextByLines):
18775        * inspector/ContentSearchUtils.h:
18776        * inspector/InspectorDebuggerAgent.cpp:
18777        (WebCore::matches):
18778        (WebCore::InspectorDebuggerAgent::breakpointActionLog):
18779        (WebCore::InspectorDebuggerAgent::breakpointActionSound):
18780        * inspector/InspectorDebuggerAgent.h:
18781        * inspector/InspectorPageAgent.cpp:
18782        (WebCore::InspectorPageAgent::searchInResources):
18783        * inspector/InspectorPageAgent.h:
18784        * inspector/InspectorRuntimeAgent.cpp:
18785        * inspector/InspectorRuntimeAgent.h:
18786        * inspector/InspectorStyleSheet.cpp:
18787        (WebCore::selectorsFromSource):
18788        * inspector/WorkerDebuggerAgent.cpp:
18789        * page/Frame.cpp:
18790        (WebCore::createRegExpForLabels):
18791        (WebCore::Frame::searchForLabelsAboveCell):
18792        (WebCore::Frame::searchForLabelsBeforeElement):
18793        (WebCore::matchLabelsAgainstString):
18794        * page/Frame.h:
18795        * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
18796        (WebCore::GraphicsContext3D::getUnmangledInfoLog):
18797
187982014-01-23  Brady Eidson  <beidson@apple.com>
18799
18800        IDB: Support IDBObjectStore.clear()
18801        https://bugs.webkit.org/show_bug.cgi?id=127541
18802        
18803        Reviewed by Anders Carlsson.
18804
18805        The backing store should never be performing callbacks directly:
18806        * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
18807        (WebCore::IDBServerConnectionLevelDB::clearObjectStore):
18808
18809        Instead, the transaction operations should do that themselves:
18810        * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
18811        (WebCore::ClearObjectStoreOperation::perform):
18812        * Modules/indexeddb/IDBTransactionBackendOperations.h:
18813        (WebCore::ClearObjectStoreOperation::transaction):
18814
188152014-01-23  Dan Bernstein  <mitz@apple.com>
18816
18817        <rdar://problem/15875326> REGRESSION (r162257): Assertion failure (should not be reached) in CSSPreloadScanner::tokenize()
18818        https://bugs.webkit.org/show_bug.cgi?id=127540
18819
18820        Reviewed by Anders Carlsson.
18821
18822        No new tests, because I could not reproduce the bug reliably and I don’t know how to trigger
18823        it.
18824
18825        * html/parser/CSSPreloadScanner.cpp:
18826        (WebCore::CSSPreloadScanner::scan): Check for the DoneParsingImportRules before tokenizing
18827        a character, not after. This restores the logic from before r162257.
18828
188292014-01-23  Jer Noble  <jer.noble@apple.com>
18830
18831        [iOS] Protect against possbile deadlock by delaying video layer creation
18832        https://bugs.webkit.org/show_bug.cgi?id=127505
18833
18834        Reviewed by Eric Carlson.
18835
18836        Work around a possible deadlock on iOS when creating a media element
18837        backed by AVFoundation by delaying creation of the AVPlayerLayer.
18838        The deadlock can occur when the web thread is doing CALayer layout
18839        while taking the web thread lock, while CoreMedia is doing property
18840        access on an async thread while taking the CM lock, and each is waiting
18841        for the other's lock to be released.
18842
18843        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
18844        (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer):
18845
188462014-01-23  Jer Noble  <jer.noble@apple.com>
18847
18848        [MSE][Mac] Crash when reloading a page during playback
18849        https://bugs.webkit.org/show_bug.cgi?id=126903
18850
18851        Reviewed by Eric Carlson.
18852
18853        Periodic time observers added to AVSampleBufferRenderSynchronizer will execute their
18854        callback block even after being removed with -removeTimeObserver:, which is tracked by
18855        <rdar://problem/15798050>. Work around this problem by passing a WeakPtr into the block
18856        and bail early if the owning media player has been destroyed.
18857
18858        * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
18859        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::createWeakPtr):
18860        * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
18861        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::MediaPlayerPrivateMediaSourceAVFObjC):
18862
188632014-01-23  ChangSeok Oh  <changseok.oh@collabora.com>
18864
18865        Dragging from inner side of video to outside causes a crash
18866        https://bugs.webkit.org/show_bug.cgi?id=126338
18867
18868        Reviewed by Jer Noble.
18869
18870        The crash happens while dragging mouse cursor through timeline control to outside
18871        of video region. This is beacause media controls are selected with the drag.
18872        The media controls disappear when mouse cursor goes outside of video though
18873        the dragging/selection proceeds. If once media controls are hidden, related element
18874        lose their renderers. However the drag is still under going. it requires shadowPseudoId
18875        of the selected controls. Untorntunately, SliderThumbElement/SliderContainerElement
18876        don't return a static value for the shadowPseudoId unlike other media controls,
18877        but they need a renderer to determine it. This is the reason of crash.
18878
18879        Test: media/media-controller-drag-crash.html
18880
18881        * html/shadow/SliderThumbElement.cpp:
18882        (WebCore::SliderThumbElement::shadowPseudoId):
18883        (WebCore::SliderContainerElement::shadowPseudoId):
18884
188852014-01-23  Brady Eidson  <beidson@apple.com>
18886
18887        IDB: Implement SQLite backing store 'get' support
18888        https://bugs.webkit.org/show_bug.cgi?id=127502
18889
18890        Reviewed by Tim Horton.
18891
18892        Get a KeyRange from a KeyRangeData:
18893        * Modules/indexeddb/IDBKeyRangeData.cpp:
18894        (WebCore::IDBKeyRangeData::maybeCreateIDBKeyRange):
18895        * Modules/indexeddb/IDBKeyRangeData.h:
18896
18897        Add collation function support to SQLiteDatabase:
18898        * platform/sql/SQLiteDatabase.cpp:
18899        (WebCore::destroyCollationFunction):
18900        (WebCore::callCollationFunction):
18901        (WebCore::SQLiteDatabase::setCollationFunction):
18902        (WebCore::SQLiteDatabase::removeCollationFunction):
18903        * platform/sql/SQLiteDatabase.h:
18904
18905        * WebCore.exp.in:
18906
189072014-01-23  Jon Honeycutt  <jhoneycutt@apple.com>
18908
18909        Assertion failure in WebCore::PseudoElement::didRecalcStyle()
18910        <https://bugs.webkit.org/show_bug.cgi?id=126761>
18911        <rdar://problem/15793540>
18912
18913        Reviewed by Andy Estes.
18914
18915        Test: fast/images/animate-list-item-image-assertion.html
18916
18917        * dom/PseudoElement.cpp:
18918        (WebCore::PseudoElement::didRecalcStyle):
18919        Check isRenderImage() rather than isImage() before casting to
18920        RenderImage.
18921
18922        * editing/ios/EditorIOS.mm:
18923        (WebCore::getImage):
18924        Ditto.
18925
18926        * editing/mac/EditorMac.mm:
18927        (WebCore::getImage):
18928        Ditto.
18929
18930        * html/HTMLImageElement.cpp:
18931        (WebCore::HTMLImageElement::parseAttribute):
18932        (WebCore::HTMLImageElement::didAttachRenderers):
18933        Ditto.
18934
18935        * loader/ImageLoader.cpp:
18936        (WebCore::ImageLoader::renderImageResource):
18937        Ditto.
18938
18939        * page/DragController.cpp:
18940        (WebCore::getCachedImage):
18941        Ditto.
18942
18943        * rendering/RenderLayerBacking.cpp:
18944        (WebCore::RenderLayerBacking::isDirectlyCompositedImage):
18945        (WebCore::RenderLayerBacking::updateImageContents):
18946        Ditto.
18947
189482014-01-23  Joseph Pecoraro  <pecoraro@apple.com>
18949
18950        Web Inspector: Remove recompileAllJSFunctions timer in ScriptDebugServer
18951        https://bugs.webkit.org/show_bug.cgi?id=127409
18952
18953        Reviewed by Geoffrey Garen.
18954
18955        Covered by existing tests.
18956
18957        * bindings/js/ScriptDebugServer.h:
18958        * bindings/js/ScriptDebugServer.cpp:
18959        (WebCore::ScriptDebugServer::ScriptDebugServer):
18960        Remove m_recompileTimer and the recompile soon function.
18961        We can just recompile immediately in all existing cases.
18962
18963        * bindings/js/PageScriptDebugServer.h:
18964        * bindings/js/PageScriptDebugServer.cpp:
18965        (WebCore::PageScriptDebugServer::addListener):
18966        (WebCore::PageScriptDebugServer::removeListener):
18967        (WebCore::PageScriptDebugServer::recompileAllJSFunctions):
18968        (WebCore::PageScriptDebugServer::didAddFirstListener):
18969        (WebCore::PageScriptDebugServer::didRemoveLastListener):
18970        Add a "didAddFirstListener" to match "didRemoveLastListener".
18971        Only recompile functions when we attach the debugger and when
18972        we detach the last listener.
18973
18974        * bindings/js/WorkerScriptDebugServer.cpp:
18975        (WebCore::WorkerScriptDebugServer::addListener):
18976        (WebCore::WorkerScriptDebugServer::removeListener):
18977        (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
18978        Same thing. Also rearrange the functions to read better.
18979
18980        * inspector/InspectorProfilerAgent.cpp:
18981        Use the direct recompile function instead of the removed "soon" version.
18982
18983        * WebCore.exp.in:
18984        Update disconnectFrontend symbol.
18985
18986        * page/PageDebuggable.cpp:
18987        (WebCore::PageDebuggable::disconnect):
18988        * testing/Internals.cpp:
18989        (WebCore::Internals::closeDummyInspectorFrontend):
18990        * workers/WorkerMessagingProxy.cpp:
18991        (WebCore::disconnectFromWorkerGlobalScopeInspectorTask):
18992        Include an InspectorDisconnectReason when calling disconnectFrontend.
18993
18994        * inspector/InspectorDatabaseAgent.h:
18995        * inspector/InspectorDebuggerAgent.cpp:
18996        (WebCore::InspectorDebuggerAgent::disable):
18997        (WebCore::InspectorDebuggerAgent::willDestroyFrontendAndBackend):
18998        If the disconnect reason is the page will be destroyed, don't recompile when disconnecting.
18999
19000        * inspector/InspectorProfilerAgent.h:
19001        * inspector/InspectorProfilerAgent.cpp:
19002        (WebCore::InspectorProfilerAgent::enable):
19003        (WebCore::InspectorProfilerAgent::disable):
19004        (WebCore::InspectorProfilerAgent::willDestroyFrontendAndBackend):
19005        If the disconnect reason is the page will be destroyed, don't recompile when disconnecting.
19006
19007        * inspector/InspectorController.h:
19008        * inspector/InspectorController.cpp:
19009        (WebCore::InspectorController::inspectedPageDestroyed):
19010        (WebCore::InspectorController::disconnectFrontend):
19011        (WebCore::InspectorController::close):
19012        Pass different reasons for the different disconnect reasons.
19013
19014        * inspector/WorkerInspectorController.h:
19015        * inspector/WorkerInspectorController.cpp:
19016        (WebCore::WorkerInspectorController::~WorkerInspectorController):
19017        (WebCore::WorkerInspectorController::disconnectFrontend):
19018        Pass different reasons for the different disconnect reasons.
19019
19020        * inspector/InspectorApplicationCacheAgent.cpp:
19021        (WebCore::InspectorApplicationCacheAgent::willDestroyFrontendAndBackend):
19022        * inspector/InspectorApplicationCacheAgent.h:
19023        * inspector/InspectorCSSAgent.cpp:
19024        (WebCore::InspectorCSSAgent::willDestroyFrontendAndBackend):
19025        * inspector/InspectorCSSAgent.h:
19026        * inspector/InspectorCanvasAgent.cpp:
19027        (WebCore::InspectorCanvasAgent::willDestroyFrontendAndBackend):
19028        * inspector/InspectorCanvasAgent.h:
19029        * inspector/InspectorConsoleAgent.cpp:
19030        (WebCore::InspectorConsoleAgent::willDestroyFrontendAndBackend):
19031        * inspector/InspectorConsoleAgent.h:
19032        * inspector/InspectorDOMAgent.cpp:
19033        (WebCore::InspectorDOMAgent::willDestroyFrontendAndBackend):
19034        * inspector/InspectorDOMAgent.h:
19035        * inspector/InspectorDOMDebuggerAgent.cpp:
19036        (WebCore::InspectorDOMDebuggerAgent::willDestroyFrontendAndBackend):
19037        * inspector/InspectorDOMDebuggerAgent.h:
19038        * inspector/InspectorDOMStorageAgent.cpp:
19039        (WebCore::InspectorDOMStorageAgent::willDestroyFrontendAndBackend):
19040        * inspector/InspectorDOMStorageAgent.h:
19041        * inspector/InspectorDatabaseAgent.cpp:
19042        (WebCore::InspectorDatabaseAgent::willDestroyFrontendAndBackend):
19043        * inspector/InspectorDebuggerAgent.h:
19044        * inspector/InspectorHeapProfilerAgent.cpp:
19045        (WebCore::InspectorHeapProfilerAgent::willDestroyFrontendAndBackend):
19046        * inspector/InspectorHeapProfilerAgent.h:
19047        * inspector/InspectorIndexedDBAgent.cpp:
19048        (WebCore::InspectorIndexedDBAgent::willDestroyFrontendAndBackend):
19049        * inspector/InspectorIndexedDBAgent.h:
19050        * inspector/InspectorInputAgent.cpp:
19051        (WebCore::InspectorInputAgent::willDestroyFrontendAndBackend):
19052        * inspector/InspectorInputAgent.h:
19053        * inspector/InspectorLayerTreeAgent.cpp:
19054        (WebCore::InspectorLayerTreeAgent::willDestroyFrontendAndBackend):
19055        * inspector/InspectorLayerTreeAgent.h:
19056        * inspector/InspectorMemoryAgent.cpp:
19057        (WebCore::InspectorMemoryAgent::willDestroyFrontendAndBackend):
19058        * inspector/InspectorMemoryAgent.h:
19059        * inspector/InspectorPageAgent.cpp:
19060        (WebCore::InspectorPageAgent::willDestroyFrontendAndBackend):
19061        * inspector/InspectorPageAgent.h:
19062        * inspector/InspectorResourceAgent.cpp:
19063        (WebCore::InspectorResourceAgent::willDestroyFrontendAndBackend):
19064        * inspector/InspectorResourceAgent.h:
19065        * inspector/InspectorTimelineAgent.cpp:
19066        (WebCore::InspectorTimelineAgent::willDestroyFrontendAndBackend):
19067        * inspector/InspectorTimelineAgent.h:
19068        * inspector/InspectorWorkerAgent.cpp:
19069        (WebCore::InspectorWorkerAgent::willDestroyFrontendAndBackend):
19070        * inspector/InspectorWorkerAgent.h:
19071        * inspector/PageDebuggerAgent.cpp:
19072        (WebCore::PageDebuggerAgent::disable):
19073        (WebCore::PageDebuggerAgent::stopListeningScriptDebugServer):
19074        * inspector/PageDebuggerAgent.h:
19075        * inspector/PageRuntimeAgent.cpp:
19076        (WebCore::PageRuntimeAgent::willDestroyFrontendAndBackend):
19077        * inspector/PageRuntimeAgent.h:
19078        * inspector/WorkerDebuggerAgent.cpp:
19079        (WebCore::WorkerDebuggerAgent::stopListeningScriptDebugServer):
19080        * inspector/WorkerDebuggerAgent.h:
19081        * inspector/WorkerRuntimeAgent.cpp:
19082        (WebCore::WorkerRuntimeAgent::willDestroyFrontendAndBackend):
19083        * inspector/WorkerRuntimeAgent.h:
19084        Include InspectorDisconnectReason param.
19085
190862014-01-23  Simon Fraser  <simon.fraser@apple.com>
19087
19088        Another Windows fix: include <algorithm> for std::min and std::max.
19089        
19090        * platform/graphics/IntSize.h:
19091
190922014-01-23  Simon Fraser  <simon.fraser@apple.com>
19093
19094        Try to fix Windows build.
19095
19096        * platform/win/PopupMenuWin.cpp:
19097        (WebCore::PopupMenuWin::visibleSize):
19098        * platform/win/PopupMenuWin.h:
19099
191002014-01-23  Simon Fraser  <simon.fraser@apple.com>
19101
19102        Make visibleContentRect() return actualVisibleContentRect() on iOS most of the time
19103        https://bugs.webkit.org/show_bug.cgi?id=127456
19104        
19105        Reviewed by Antti Koivisto.
19106        
19107        On iOS, visibleContentRect() returns the entire document rect for historical
19108        reasons, and actualVisibleContentRect() returns what visibleContentRect()
19109        returns on other platforms.
19110        
19111        In addition, actualVisibleContentRect() was returning an empty rect in WK2.
19112        
19113        Reduce the confusion of #ifdefs by making visibleContentRect() behave like
19114        actualVisibleContentRect() by default on iOS. Where it needs the old behavior,
19115        an optional parameter, LegacyIOSDocumentVisibleRect, provides this.
19116        
19117        Achieve this by having the virtual ScrollableArea::visibleContentRectInternal(),
19118        which is called by non-virtual visibleContentRect() and visibleContentRectIncludingScrollbars().
19119        
19120        Similarly clean up visibleHeight/visibleWidth functions by having visibleSize() be virtual,
19121        with non-virtual visibleHeight() and visibleWidth().
19122        
19123        ScrollableArea subclasses override visibleContentRectInternal() and visibleSize() where necessary.
19124        
19125        Mechanically change all the call sites of actualVisibleContentRect() to
19126        use visibleContentRect(), and the call sites of visibleContentRect()
19127        to visibleContentRect(..., LegacyIOSDocumentVisibleRect), adding comments
19128        where this may not be appropriate.
19129        
19130        Change callers of visibleContentRect(IncludeScrollbars...) to visibleContentRectIncludingScrollbars().
19131        
19132        Also add actualScrollPosition(), and clean up some actualScroll* call sites.
19133        
19134        No behavior change.
19135
19136        * WebCore.exp.in:
19137        * accessibility/AccessibilityObject.cpp:
19138        (WebCore::AccessibilityObject::isOnscreen):
19139        (WebCore::AccessibilityObject::scrollToMakeVisibleWithSubFocus):
19140        * accessibility/AccessibilityRenderObject.cpp:
19141        (WebCore::AccessibilityRenderObject::isOffScreen):
19142        * dom/Document.cpp:
19143        (WebCore::Document::adjustFloatQuadsForScrollAndAbsoluteZoomAndFrameScale):
19144        (WebCore::Document::adjustFloatRectForScrollAndAbsoluteZoomAndFrameScale):
19145        * dom/MouseRelatedEvent.cpp:
19146        (WebCore::MouseRelatedEvent::MouseRelatedEvent):
19147        * editing/Editor.cpp:
19148        (WebCore::Editor::countMatchesForText):
19149        * editing/FrameSelection.cpp:
19150        (WebCore::FrameSelection::bounds):
19151        (WebCore::FrameSelection::getClippedVisibleTextRectangles):
19152        * html/HTMLBodyElement.cpp:
19153        (WebCore::HTMLBodyElement::scrollLeft):
19154        (WebCore::HTMLBodyElement::scrollTop):
19155        * html/ImageDocument.cpp:
19156        (WebCore::ImageDocument::imageFitsInWindow):
19157        (WebCore::ImageDocument::windowSizeChanged):
19158        * inspector/InspectorOverlay.cpp:
19159        (WebCore::InspectorOverlay::update):
19160        * page/DOMWindow.cpp:
19161        (WebCore::DOMWindow::innerHeight):
19162        (WebCore::DOMWindow::innerWidth):
19163        (WebCore::DOMWindow::scrollX):
19164        (WebCore::DOMWindow::scrollY):
19165        (WebCore::DOMWindow::scrollBy):
19166        * page/FrameView.cpp:
19167        (WebCore::FrameView::calculateScrollbarModesForLayout):
19168        (WebCore::FrameView::layout):
19169        (WebCore::FrameView::scrollContentsSlowPath):
19170        (WebCore::FrameView::repaintContentRectangle):
19171        (WebCore::FrameView::sendResizeEventIfNeeded):
19172        (WebCore::FrameView::windowClipRect):
19173        (WebCore::FrameView::isScrollable):
19174        (WebCore::FrameView::paintControlTints):
19175        * page/SpatialNavigation.cpp:
19176        (WebCore::canScrollInDirection):
19177        * platform/ScrollView.cpp:
19178        (WebCore::ScrollView::unscaledVisibleContentSize):
19179        (WebCore::ScrollView::visibleContentRectInternal):
19180        (WebCore::ScrollView::updateScrollbars):
19181        (WebCore::ScrollView::paint):
19182        * platform/ScrollView.h:
19183        (WebCore::ScrollView::scrollOffset):
19184        (WebCore::ScrollView::actualScrollX):
19185        (WebCore::ScrollView::actualScrollY):
19186        (WebCore::ScrollView::actualScrollPosition):
19187        * platform/ScrollableArea.cpp:
19188        (WebCore::ScrollableArea::visibleContentRect):
19189        (WebCore::ScrollableArea::visibleContentRectIncludingScrollbars):
19190        (WebCore::ScrollableArea::visibleContentRectInternal):
19191        * platform/ScrollableArea.h:
19192        (WebCore::ScrollableArea::visibleWidth):
19193        (WebCore::ScrollableArea::visibleHeight):
19194        * platform/graphics/IntSize.h:
19195        (WebCore::IntSize::expandedTo): Drive-by cleanup.
19196        (WebCore::IntSize::shrunkTo):
19197        * platform/gtk/ScrollViewGtk.cpp:
19198        (WebCore::ScrollView::visibleContentRect):
19199        * rendering/RenderLayer.cpp:
19200        (WebCore::RenderLayer::scrollRectToVisible):
19201        (WebCore::RenderLayer::maximumScrollPosition):
19202        (WebCore::RenderLayer::visibleContentRectInternal):
19203        (WebCore::RenderLayer::hitTest):
19204        * rendering/RenderLayer.h:
19205        * rendering/RenderLayerBacking.cpp:
19206        (WebCore::RenderLayerBacking::updateCompositedBounds):
19207        * rendering/RenderListBox.cpp:
19208        * rendering/RenderListBox.h:
19209        * rendering/RenderView.cpp:
19210        (WebCore::RenderView::viewRect):
19211        (WebCore::RenderView::viewportSize):
19212
192132014-01-20  Myles C. Maxfield  <mmaxfield@apple.com>
19214
19215       Turn text-decoration-skip: ink on for all underlines
19216       https://bugs.webkit.org/show_bug.cgi?id=127331
19217
19218       Reviewed by Antti Koivisto.
19219
19220       No new tests are necessary because tests already exist
19221
19222       * rendering/style/RenderStyle.h:
19223
192242014-01-23  Hans Muller  <hmuller@adobe.com>
19225
19226        [CSS Shapes] Image valued shape size and position should conform to the spec
19227        https://bugs.webkit.org/show_bug.cgi?id=123295
19228
19229        Reviewed by Andreas Kling.
19230
19231        Implement image valued shape-outside scaling and translation per the spec,
19232        http://dev.w3.org/csswg/css-shapes/#shapes-from-image:
19233
19234        "The image is sized and positioned as if it were a replaced element whose
19235        specified width and height are the same as the element’s used content box size."
19236
19237        This change doesn't completely fulfill the spec, it's limited to image elements
19238        and shape-outside.
19239
19240        Tests: fast/shapes/shape-outside-floats/shape-outside-image-fit-001.html
19241               fast/shapes/shape-outside-floats/shape-outside-image-fit-002.html
19242               fast/shapes/shape-outside-floats/shape-outside-image-fit-003.html
19243               fast/shapes/shape-outside-floats/shape-outside-image-fit-004.html
19244
19245        * rendering/shapes/Shape.h:
19246        * rendering/shapes/Shape.cpp:
19247        (WebCore::Shape::createRasterShape):
19248        Added an imageRect parameter which specifies where the shape image is to
19249        appear relative to the content box. The imageRect implies both scaling and
19250        translation of the shape image.
19251
19252        * rendering/shapes/ShapeInfo.cpp:
19253        (WebCore::ShapeInfo<RenderType>::computedShape):
19254        (WebCore::getShapeImageRect):
19255        For replaced elements, compute the shape's imageRect with
19256        RenderReplaced::replacedContentRect().
19257
19258
192592014-01-23  Max Vujovic  <mvujovic@adobe.com>
19260
19261        Remove CSS Custom Filters code and tests
19262        https://bugs.webkit.org/show_bug.cgi?id=127382
19263
19264        Reviewed by Simon Fraser.
19265
19266        No new tests. Removing functionality.
19267
19268        * CMakeLists.txt:
19269        * Configurations/FeatureDefines.xcconfig:
19270        * DerivedSources.cpp:
19271        * DerivedSources.make:
19272        * GNUmakefile.list.am:
19273        * WebCore.order:
19274        * WebCore.vcxproj/WebCore.vcxproj:
19275        * WebCore.vcxproj/WebCore.vcxproj.filters:
19276        * WebCore.xcodeproj/project.pbxproj:
19277        * bindings/js/JSCSSRuleCustom.cpp:
19278        (WebCore::toJS):
19279        * bindings/js/JSCSSValueCustom.cpp:
19280        (WebCore::toJS):
19281        * bindings/objc/DOMCSS.mm:
19282        (kitClass):
19283        * css/CSSComputedStyleDeclaration.cpp:
19284        (WebCore::ComputedStyleExtractor::valueForFilter):
19285        (WebCore::ComputedStyleExtractor::propertyValue):
19286        * css/CSSComputedStyleDeclaration.h:
19287        * css/CSSGrammar.y.in:
19288        * css/CSSParser.cpp:
19289        (WebCore::CSSParserContext::CSSParserContext):
19290        (WebCore::operator==):
19291        (WebCore::CSSParser::CSSParser):
19292        (WebCore::CSSParser::parseValue):
19293        (WebCore::filterInfoForName):
19294        (WebCore::CSSParser::parseFilter):
19295        (WebCore::CSSParser::detectAtToken):
19296        * css/CSSParser.h:
19297        * css/CSSParserMode.h:
19298        * css/CSSPropertyNames.in:
19299        * css/CSSPropertySourceData.h:
19300        * css/CSSRule.h:
19301        * css/CSSRule.idl:
19302        * css/CSSValue.cpp:
19303        (WebCore::CSSValue::equals):
19304        (WebCore::CSSValue::cssText):
19305        (WebCore::CSSValue::destroy):
19306        (WebCore::CSSValue::cloneForCSSOM):
19307        * css/CSSValue.h:
19308        * css/CSSValueKeywords.in:
19309        * css/StyleResolver.cpp:
19310        (WebCore::StyleResolver::State::clear):
19311        (WebCore::StyleResolver::applyProperty):
19312        (WebCore::filterOperationForType):
19313        (WebCore::StyleResolver::createFilterOperations):
19314        (WebCore::StyleResolver::loadPendingResources):
19315        * css/StyleResolver.h:
19316        (WebCore::StyleResolver::State::State):
19317        * css/StyleRule.cpp:
19318        (WebCore::StyleRuleBase::destroy):
19319        (WebCore::StyleRuleBase::copy):
19320        (WebCore::StyleRuleBase::createCSSOMWrapper):
19321        * css/StyleRule.h:
19322        * css/StyleSheetContents.cpp:
19323        (WebCore::childRulesHaveFailedOrCanceledSubresources):
19324        * css/WebKitCSSArrayFunctionValue.cpp: Removed.
19325        * css/WebKitCSSArrayFunctionValue.h: Removed.
19326        * css/WebKitCSSFilterRule.cpp: Removed.
19327        * css/WebKitCSSFilterRule.h: Removed.
19328        * css/WebKitCSSFilterRule.idl: Removed.
19329        * css/WebKitCSSFilterValue.cpp:
19330        (WebCore::WebKitCSSFilterValue::WebKitCSSFilterValue):
19331        (WebCore::WebKitCSSFilterValue::customCSSText):
19332        * css/WebKitCSSFilterValue.h:
19333        * css/WebKitCSSFilterValue.idl:
19334        * css/WebKitCSSMatFunctionValue.cpp: Removed.
19335        * css/WebKitCSSMatFunctionValue.h: Removed.
19336        * css/WebKitCSSMixFunctionValue.cpp: Removed.
19337        * css/WebKitCSSMixFunctionValue.h: Removed.
19338        * css/WebKitCSSMixFunctionValue.idl: Removed.
19339        * css/WebKitCSSShaderValue.cpp: Removed.
19340        * css/WebKitCSSShaderValue.h: Removed.
19341        * loader/cache/CachedResource.cpp:
19342        (WebCore::defaultPriorityForResourceType):
19343        * loader/cache/CachedResource.h:
19344        * loader/cache/CachedResourceLoader.cpp:
19345        (WebCore::createResource):
19346        (WebCore::CachedResourceLoader::checkInsecureContent):
19347        (WebCore::CachedResourceLoader::canRequest):
19348        * loader/cache/CachedResourceLoader.h:
19349        * loader/cache/CachedShader.cpp: Removed.
19350        * loader/cache/CachedShader.h: Removed.
19351        * page/Settings.cpp:
19352        (WebCore::Settings::Settings):
19353        * page/Settings.h:
19354        * page/animation/CSSPropertyAnimation.cpp:
19355        (WebCore::blendFilter):
19356        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
19357        (PlatformCALayerMac::filtersCanBeComposited):
19358        * platform/graphics/filters/CustomFilterArrayParameter.h: Removed.
19359        * platform/graphics/filters/CustomFilterColorParameter.h: Removed.
19360        * platform/graphics/filters/CustomFilterCompiledProgram.cpp: Removed.
19361        * platform/graphics/filters/CustomFilterCompiledProgram.h: Removed.
19362        * platform/graphics/filters/CustomFilterConstants.h: Removed.
19363        * platform/graphics/filters/CustomFilterGlobalContext.cpp: Removed.
19364        * platform/graphics/filters/CustomFilterGlobalContext.h: Removed.
19365        * platform/graphics/filters/CustomFilterMesh.cpp: Removed.
19366        * platform/graphics/filters/CustomFilterMesh.h: Removed.
19367        * platform/graphics/filters/CustomFilterMeshGenerator.cpp: Removed.
19368        * platform/graphics/filters/CustomFilterMeshGenerator.h: Removed.
19369        * platform/graphics/filters/CustomFilterNumberParameter.h: Removed.
19370        * platform/graphics/filters/CustomFilterOperation.cpp: Removed.
19371        * platform/graphics/filters/CustomFilterOperation.h: Removed.
19372        * platform/graphics/filters/CustomFilterParameter.h: Removed.
19373        * platform/graphics/filters/CustomFilterParameterList.cpp: Removed.
19374        * platform/graphics/filters/CustomFilterParameterList.h: Removed.
19375        * platform/graphics/filters/CustomFilterProgram.cpp: Removed.
19376        * platform/graphics/filters/CustomFilterProgram.h: Removed.
19377        * platform/graphics/filters/CustomFilterProgramClient.h: Removed.
19378        * platform/graphics/filters/CustomFilterProgramInfo.cpp: Removed.
19379        * platform/graphics/filters/CustomFilterProgramInfo.h: Removed.
19380        * platform/graphics/filters/CustomFilterRenderer.cpp: Removed.
19381        * platform/graphics/filters/CustomFilterRenderer.h: Removed.
19382        * platform/graphics/filters/CustomFilterTransformParameter.h: Removed.
19383        * platform/graphics/filters/CustomFilterValidatedProgram.cpp: Removed.
19384        * platform/graphics/filters/CustomFilterValidatedProgram.h: Removed.
19385        * platform/graphics/filters/FECustomFilter.cpp: Removed.
19386        * platform/graphics/filters/FECustomFilter.h: Removed.
19387        * platform/graphics/filters/FilterOperation.h:
19388        * platform/graphics/filters/FilterOperations.cpp:
19389        (WebCore::FilterOperations::outsets):
19390        * platform/graphics/filters/FilterOperations.h:
19391        * platform/graphics/filters/ValidatedCustomFilterOperation.cpp: Removed.
19392        * platform/graphics/filters/ValidatedCustomFilterOperation.h: Removed.
19393        * platform/graphics/filters/texmap/CustomFilterValidatedProgramTextureMapper.cpp: Removed.
19394        * platform/graphics/filters/texmap/TextureMapperPlatformCompiledProgram.h: Removed.
19395        * platform/graphics/gpu/Texture.cpp:
19396        * platform/graphics/texmap/TextureMapper.h:
19397        * platform/graphics/texmap/TextureMapperGL.cpp:
19398        (WebCore::getPassesRequiredForFilter):
19399        (WebCore::BitmapTextureGL::applyFilters):
19400        * platform/graphics/texmap/TextureMapperGL.h:
19401        * platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:
19402        (WebCore::CompositingCoordinator::clearPendingStateChanges):
19403        (WebCore::CompositingCoordinator::syncLayerState):
19404        * platform/graphics/texmap/coordinated/CompositingCoordinator.h:
19405        * platform/graphics/texmap/coordinated/CoordinatedCustomFilterOperation.h: Removed.
19406        * platform/graphics/texmap/coordinated/CoordinatedCustomFilterProgram.h: Removed.
19407        * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
19408        (WebCore::CoordinatedGraphicsScene::setLayerFiltersIfNeeded):
19409        (WebCore::CoordinatedGraphicsScene::commitSceneState):
19410        (WebCore::CoordinatedGraphicsScene::setLayerAnimationsIfNeeded):
19411        * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
19412        * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:
19413        * rendering/FilterEffectRenderer.cpp:
19414        (WebCore::FilterEffectRenderer::FilterEffectRenderer):
19415        (WebCore::FilterEffectRenderer::build):
19416        (WebCore::FilterEffectRenderer::computeSourceImageRectForDirtyRect):
19417        * rendering/FilterEffectRenderer.h:
19418        * rendering/RenderLayer.cpp:
19419        (WebCore::RenderLayer::setFilterBackendNeedsRepaintingInRect):
19420        (WebCore::RenderLayer::calculateClipRects):
19421        * rendering/RenderLayer.h:
19422        * rendering/RenderLayerBacking.cpp:
19423        (WebCore::RenderLayerBacking::updateFilters):
19424        * rendering/RenderLayerFilterInfo.cpp:
19425        (WebCore::RenderLayer::FilterInfo::~FilterInfo):
19426        * rendering/RenderLayerFilterInfo.h:
19427        * rendering/RenderView.cpp:
19428        * rendering/RenderView.h:
19429        * rendering/style/StyleCachedShader.cpp: Removed.
19430        * rendering/style/StyleCachedShader.h: Removed.
19431        * rendering/style/StyleCustomFilterProgram.cpp: Removed.
19432        * rendering/style/StyleCustomFilterProgram.h: Removed.
19433        * rendering/style/StyleCustomFilterProgramCache.cpp: Removed.
19434        * rendering/style/StyleCustomFilterProgramCache.h: Removed.
19435        * rendering/style/StylePendingShader.h: Removed.
19436        * rendering/style/StyleShader.h: Removed.
19437
194382014-01-22  Jon Honeycutt  <jhoneycutt@apple.com>
19439
19440        REGRESSION(r161967): Crash in WebCore::CachedSVGDocumentReference::load
19441        <https://webkit.org/b/127151>
19442        <rdar://problem/15840760>
19443
19444        There were two issues introduced here; the first is a use-after-free of
19445        CachedSVGDocumentReference objects.
19446
19447        The previous code kept a map from FilterOperation ->
19448        RefPtr<WebKitCSSSVGDocumentValue>, which retained the
19449        CachedSVGDocument. In r161967, this was changed to use a weak HashSet,
19450        which allows stale CachedSVGDocumentReferences in the pending document
19451        set if the owning FilterOperation is deleted. To fix this, we'll keep a
19452        vector of RefPtr<FilterOperation> with pending SVG documents.
19453
19454        The second issue is a null deref in CachedSVGDocumentReference::load();
19455        CachedResourceLoader::requestSVGDocument() can return 0 if (for
19456        example) an invalid URL is passed. r161967 removed a null check as part
19457        of the refactoring.
19458
19459        Reviewed by Dirk Schulze.
19460
19461        Tests: css3/filters/crash-filter-animation-invalid-url.html
19462               css3/filters/crash-invalid-url.html
19463
19464        * css/StyleResolver.cpp:
19465        (WebCore::StyleResolver::State::clear):
19466        Use new member var name.
19467        (WebCore::StyleResolver::loadPendingSVGDocuments):
19468        For each FilterOperation with a pending SVG document, get or create a
19469        CachedSVGDocumentReference, and tell it to load. Changed to use new
19470        function names.
19471        (WebCore::StyleResolver::createFilterOperations):
19472        Append the FilterOperation to the list of FilterOperations with
19473        unloaded SVG documents.
19474
19475        * css/StyleResolver.h:
19476        Changed from using PendingSVGDocumentSet, a weak set, to
19477        a Vector<RefPtr<ReferenceFilterOperation>>.
19478        (WebCore::StyleResolver::State::filtersWithPendingSVGDocuments):
19479        Return the vector.
19480
19481        * loader/cache/CachedSVGDocumentReference.cpp:
19482        (WebCore::CachedSVGDocumentReference::~CachedSVGDocumentReference):
19483        Null check m_document rather than checking m_loadRequested.
19484        m_loadRequested may be true when m_document is 0.
19485        (WebCore::CachedSVGDocumentReference::load):
19486        Null check the result of CachedResourceLoader::requestSVGDocument().
19487
19488        * platform/graphics/filters/FilterOperation.cpp:
19489        (WebCore::ReferenceFilterOperation::getOrCreateCachedSVGDocumentReference):
19490        Create, if necessary, and return the CachedSVGDocumentReference.
19491
19492        * platform/graphics/filters/FilterOperation.h:
19493        Replaced createCachedSVGDocumentReference() with
19494        getOrCreateCachedSVGDocumentReference(), which makes for slightly
19495        cleaner code.
19496
194972014-01-23  Antti Koivisto  <antti@apple.com>
19498
19499        Don't enable speculative tiles immediately after main load stops progressing
19500        https://bugs.webkit.org/show_bug.cgi?id=127507
19501
19502        Reviewed by Andreas Kling.
19503
19504        It is common for timers and events to trigger more loading after the initial main frame loading
19505        has completed. We should delay a bit before enabling speculative tiles and keep them disabled 
19506        if loading still continues.
19507
19508        * page/FrameView.cpp:
19509        (WebCore::FrameView::FrameView):
19510        (WebCore::FrameView::adjustTiledBackingCoverage):
19511        (WebCore::shouldEnableSpeculativeTilingDuringLoading):
19512        (WebCore::FrameView::enableSpeculativeTilingIfNeeded):
19513        
19514            When load progression stops wait 0.5s before enabling speculative tiles.
19515
19516        (WebCore::FrameView::speculativeTilingEnableTimerFired):
19517        
19518            Don't enable speculative tiles if the progression has started again. Instead restart the timer.
19519
19520        * page/FrameView.h:
19521        * rendering/RenderLayerBacking.cpp:
19522        (WebCore::RenderLayerBacking::RenderLayerBacking):
19523        (WebCore::computeTileCoverage):
19524        
19525            Move the FrameView level code to FrameView (so we don't need to add a timer to every RenderLayerBacking).
19526
19527        * rendering/RenderLayerBacking.h:
19528
195292014-01-23  Antti Koivisto  <antti@apple.com>
19530
19531        Loads started soon after main frame completion should be considered part of the main load
19532        https://bugs.webkit.org/show_bug.cgi?id=127504
19533
19534        Reviewed by Andreas Kling.
19535
19536        ProgressTracker currently decides that main load is complete when the main frame stops loading. 
19537        However it is common that timers and onload events trigger more loads immediately (for example 
19538        by inserting iframes) and loading continues visually. These should be considered as part of the
19539        main load for paint throttling and speculative tiling coverage purposes.
19540
19541        * loader/ProgressTracker.cpp:
19542        (WebCore::ProgressTracker::ProgressTracker):
19543        (WebCore::ProgressTracker::progressStarted):
19544        
19545            Track whether this is considered part of the main load or not with a boolean. 
19546            It is set for subframe loads too if they start loading soon (within 1s) after the main frame load completes.
19547
19548        (WebCore::ProgressTracker::finalProgressComplete):
19549        
19550            Get a timestamp.
19551
19552        (WebCore::ProgressTracker::isMainLoadProgressing):
19553
19554            New definition of "main load".
19555
19556        * loader/ProgressTracker.h:
19557
195582014-01-23  peavo@outlook.com  <peavo@outlook.com>
19559
19560        [WinCairo] Compile error.
19561        https://bugs.webkit.org/show_bug.cgi?id=127499
19562
19563        Reviewed by Brent Fulgham.
19564
19565        * platform/network/curl/ResourceError.h: Include <winsock2.h> before <curl/curl.h>.
19566
195672014-01-23  Brady Eidson  <beidson@apple.com>
19568
19569        IDB: Implement cross-thread and IPC plumbing for 'get' support
19570        https://bugs.webkit.org/show_bug.cgi?id=127501
19571
19572        Reviewed by Anders Carlsson.
19573
19574        Add isolatedCopy to the IDBGetResult object:
19575        * Modules/indexeddb/IDBGetResult.h:
19576        (WebCore::IDBGetResult::isolatedCopy):
19577
19578        Add a cross-thread and cross-IPC appropriate object for IDBKeyRanges:
19579        * Modules/indexeddb/IDBKeyRangeData.cpp: Copied from Source/WebCore/Modules/indexeddb/IDBGetResult.h.
19580        (WebCore::IDBKeyRangeData::isolatedCopy):
19581        * Modules/indexeddb/IDBKeyRangeData.h: Copied from Source/WebCore/Modules/indexeddb/IDBGetResult.h.
19582        (WebCore::IDBKeyRangeData::IDBKeyRangeData):
19583
19584        Add a few more cross-thread copiers:
19585        * platform/CrossThreadCopier.cpp:
19586        (WebCore::IDBGetResult>::copy):
19587        (WebCore::IDBKeyRangeData>::copy):
19588        * platform/CrossThreadCopier.h:
19589
19590        Project file gunk:
19591        * CMakeLists.txt:
19592        * GNUmakefile.list.am:
19593        * WebCore.exp.in:
19594        * WebCore.xcodeproj/project.pbxproj:
19595
195962014-01-23  Jer Noble  <jer.noble@apple.com>
19597
19598        [MSE][Mac] Adopt new AVStreamDataParser delegate API
19599        https://bugs.webkit.org/show_bug.cgi?id=127498
19600
19601        Reviewed by Eric Carlson.
19602
19603        Adopt a new delegate API which passes in whether or not the new AVAsset
19604        is discontinuous, implying the AVAsset is entirely new rather than
19605        just updated with new information.
19606
19607        * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
19608        (-[WebAVStreamDataParserListener streamDataParser:didParseStreamDataAsAsset:withDiscontinuity:]):
19609
196102014-01-23  Tim Horton  <timothy_horton@apple.com>
19611
19612        PDFPlugin: Use PDFPlugin even if there's an external plugin installed, if it's blocked
19613        https://bugs.webkit.org/show_bug.cgi?id=127415
19614        <rdar://problem/12482452>
19615
19616        Reviewed by Sam Weinig.
19617
19618        * English.lproj/Localizable.strings:
19619        * WebCore.exp.in:
19620        * platform/LocalizedStrings.cpp:
19621        (WebCore::useBlockedPlugInContextMenuTitle):
19622        * platform/LocalizedStrings.h:
19623        Add a localizable string for the generic case, where the client
19624        didn't provide a more specific string for the context menu item.
19625
196262014-01-23  peavo@outlook.com  <peavo@outlook.com>
19627
19628        [Curl] There is no way to specify cache folder.
19629        https://bugs.webkit.org/show_bug.cgi?id=125028
19630
19631        Reviewed by Brent Fulgham.
19632
19633        Fixed logical test, disc cache should be disabled if creating cache folder fails.
19634
19635        * platform/network/curl/CurlCacheManager.cpp:
19636        (WebCore::CurlCacheManager::setCacheDirectory):
19637
196382014-01-23  Brady Eidson  <beidson@apple.com>
19639
19640        Unreviewed build fix.
19641
19642        * WebCore.xcodeproj/project.pbxproj: Export the new header so WebKit can see it
19643
196442014-01-22  Brent Fulgham  <bfulgham@apple.com>
19645
19646        [Win] Update project and solution files for 64-bit builds
19647        https://bugs.webkit.org/show_bug.cgi?id=127457
19648
19649        Reviewed by Eric Carlson.
19650
19651        * WebCore.vcxproj/QTMovieWin/QTMovieWin.vcxproj: Update for VS2013
19652        * WebCore.vcxproj/WebCore.submit.sln: Add x64 targets
19653        * WebCore.vcxproj/WebCore.vcxproj: Update for VS2013. Also exclude 32-bit specific
19654        assembly when building 64-bit target.
19655        * WebCore.vcxproj/WebCore.vcxproj.filters: Update for VS2013
19656        * config.h: Handle 64-bit type definitions.
19657        * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
19658        (PlatformCAAnimation::setFromValue): Use CGFloat to support 64-bit builds
19659        (PlatformCAAnimation::setToValue): Ditto
19660        (PlatformCAAnimation::setValues): Ditto
19661        * platform/graphics/win/FontCustomPlatformData.cpp:
19662        (WebCore::FontCustomPlatformData::fontPlatformData): Add cast to
19663        support 32- and 64-bit targets.
19664        * platform/graphics/win/GraphicsContextCGWin.cpp:
19665        (WebCore::GraphicsContext::drawLineForDocumentMarker): Use CGFloat to
19666        support 64-bit builds.
19667        * platform/win/PasteboardWin.cpp:
19668        (WebCore::Pasteboard::writeURLToDataObject): Specialize std::min to
19669        work on 32- and 64-bit code.
19670        (WebCore::createGlobalImageFileDescriptor): Ditto
19671        * platform/win/StructuredExceptionHandlerSuppressor.cpp:
19672        (WebCore::StructuredExceptionHandlerSuppressor::StructuredExceptionHandlerSuppressor):
19673        Comment out 32-bit inline assembly.
19674        (WebCore::StructuredExceptionHandlerSuppressor::~StructuredExceptionHandlerSuppressor):
19675        Ditto
19676
196772014-01-23  Brady Eidson  <beidson@apple.com>
19678
19679        Make IDBGetResult work with IDBKeyData instead of IDBKey.
19680        https://bugs.webkit.org/show_bug.cgi?id=127493
19681
19682        Reviewed by Eric Carlson.
19683
19684        Also break it into its own header to work better with IPC messages.
19685
19686        * Modules/indexeddb/IDBGetResult.h: Added.
19687        (WebCore::IDBGetResult::IDBGetResult):
19688
19689        * Modules/indexeddb/IDBServerConnection.h:
19690
19691        * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
19692        (WebCore::GetOperation::perform):
19693
19694        * WebCore.xcodeproj/project.pbxproj:
19695
196962014-01-23  Mátyás Mustoha  <mmatyas@inf.u-szeged.hu>
19697
19698        [curl] Add storage limit to cache manager
19699        https://bugs.webkit.org/show_bug.cgi?id=125779
19700
19701        Reviewed by Brent Fulgham.
19702
19703        Sets a local disc storage size limit for the cache manager
19704        used by the curl network backend.
19705
19706        * platform/network/curl/CurlCacheEntry.cpp:
19707        (WebCore::CurlCacheEntry::CurlCacheEntry):
19708        (WebCore::CurlCacheEntry::isCached):
19709        (WebCore::CurlCacheEntry::saveCachedData):
19710        (WebCore::CurlCacheEntry::readCachedData):
19711        (WebCore::CurlCacheEntry::didFail):
19712        (WebCore::CurlCacheEntry::didFinishLoading):
19713        (WebCore::CurlCacheEntry::loadFileToBuffer):
19714        (WebCore::CurlCacheEntry::parseResponseHeaders):
19715        (WebCore::CurlCacheEntry::entrySize):
19716        * platform/network/curl/CurlCacheEntry.h:
19717        (WebCore::CurlCacheEntry::requestHeaders):
19718        * platform/network/curl/CurlCacheManager.cpp:
19719        (WebCore::CurlCacheManager::CurlCacheManager):
19720        (WebCore::CurlCacheManager::setStorageSizeLimit):
19721        (WebCore::CurlCacheManager::loadIndex):
19722        (WebCore::CurlCacheManager::saveIndex):
19723        (WebCore::CurlCacheManager::makeRoomForNewEntry):
19724        (WebCore::CurlCacheManager::didReceiveResponse):
19725        (WebCore::CurlCacheManager::didReceiveData):
19726        (WebCore::CurlCacheManager::invalidateCacheEntry):
19727        (WebCore::CurlCacheManager::readCachedData):
19728        * platform/network/curl/CurlCacheManager.h:
19729        (WebCore::CurlCacheManager::cacheDirectory):
19730
197312014-01-23  Carlos Garcia Campos  <cgarcia@igalia.com>
19732
19733        Unreviewed. Fix automake warning.
19734
19735        * GNUmakefile.list.am: Remove trailing whitespaces.
19736
197372014-01-23  Mihai Maerean  <mmaerean@adobe.com>
19738
19739        [CSS Regions] Fix positioning composited layers when the region has overflow:hidden
19740        https://bugs.webkit.org/show_bug.cgi?id=124042
19741
19742        Reviewed by Mihnea Ovidenie.
19743
19744        If there's a clipping GraphicsLayer on the hierarchy, substract its offset, since it's its
19745        parent that positions us.
19746
19747        Tests: compositing/regions/position-layer-inside-region-overflow-hidden.html
19748               compositing/regions/position-layer-inside-overflow-hidden.html
19749               compositing/regions/position-layers-inside-region-overflow-hidden.html
19750               compositing/regions/position-layers-inside-regions-overflow-hidden.html
19751
19752        * rendering/RenderLayerBacking.cpp:
19753        (WebCore::RenderLayerBacking::adjustAncestorCompositingBoundsForFlowThread): The position
19754        must also be correct when the region has box-shadow that inflates the region's layer. The
19755        composited layers from the flow thread should be rendered in the same position whether the
19756        associated region has clipping or not.
19757        Using the position of the clipping layer instead of the location of the clipbox makes it
19758        also work with box-shadow that inflates the region's graphics layer.
19759
197602014-01-23  Andrei Bucur  <abucur@adobe.com>
19761
19762        [CSS Regions] Convert regions iterator loops to range-based loops
19763        https://bugs.webkit.org/show_bug.cgi?id=127464
19764
19765        Reviewed by Antti Koivisto.
19766
19767        Replace most of the iterator loops in the region implementation with
19768        range based for loops. The for loops that iterate only over subsets
19769        of collections have not been changed.
19770
19771        Tests: no new tests, this is a refactoring patch.
19772
19773        * dom/WebKitNamedFlow.cpp:
19774        (WebCore::WebKitNamedFlow::firstEmptyRegionIndex):
19775        (WebCore::WebKitNamedFlow::getRegionsByContent):
19776        (WebCore::WebKitNamedFlow::getRegions):
19777        (WebCore::WebKitNamedFlow::getContent):
19778        * inspector/InspectorOverlay.cpp:
19779        (WebCore::buildObjectForCSSRegionsHighlight):
19780        * rendering/RenderFlowThread.cpp:
19781        (WebCore::RenderFlowThread::validateRegions):
19782        (WebCore::RenderFlowThread::updateLogicalWidth):
19783        (WebCore::RenderFlowThread::computeLogicalHeight):
19784        (WebCore::RenderFlowThread::repaintRectangleInRegions):
19785        (WebCore::RenderFlowThread::removeRenderBoxRegionInfo):
19786        (WebCore::RenderFlowThread::logicalWidthChangedInRegionsForBlock):
19787        (WebCore::RenderFlowThread::clearRenderBoxRegionInfoAndCustomStyle):
19788        (WebCore::RenderFlowThread::isAutoLogicalHeightRegionsCountConsistent):
19789        (WebCore::RenderFlowThread::markAutoLogicalHeightRegionsForLayout):
19790        (WebCore::RenderFlowThread::markRegionsForOverflowLayoutIfNeeded):
19791        (WebCore::RenderFlowThread::updateRegionsFlowThreadPortionRect):
19792        (WebCore::RenderFlowThread::collectLayerFragments):
19793        (WebCore::RenderFlowThread::fragmentsBoundingBox):
19794        * rendering/RenderNamedFlowFragment.cpp:
19795        (WebCore::RenderNamedFlowFragment::setRegionObjectsRegionStyle):
19796        (WebCore::RenderNamedFlowFragment::restoreRegionObjectsOriginalStyle):
19797        * rendering/RenderNamedFlowThread.cpp:
19798        (WebCore::RenderNamedFlowThread::clearContentElements):
19799        (WebCore::RenderNamedFlowThread::nextRendererForNode):
19800        (WebCore::RenderNamedFlowThread::dependsOn):
19801        (WebCore::RenderNamedFlowThread::computeOversetStateForRegions):
19802        (WebCore::RenderNamedFlowThread::checkInvalidRegions):
19803        (WebCore::RenderNamedFlowThread::pushDependencies):
19804        (WebCore::RenderNamedFlowThread::registerNamedFlowContentElement):
19805        (WebCore::isContainedInElements):
19806        (WebCore::RenderNamedFlowThread::getRanges):
19807        (WebCore::RenderNamedFlowThread::checkRegionsWithStyling):
19808        (WebCore::RenderNamedFlowThread::clearRenderObjectCustomStyle):
19809        * rendering/RenderTreeAsText.cpp:
19810        (WebCore::writeRenderRegionList):
19811
198122014-01-23  László Langó  <llango.u-szeged@partner.samsung.com>
19813
19814        Range should be constructable.
19815        https://bugs.webkit.org/show_bug.cgi?id=115639
19816
19817        Reviewed by Ryosuke Niwa.
19818
19819        http://www.w3.org/TR/2013/WD-dom-20131107/#interface-range
19820        Now we can do `new Range()` instead of `document.createRange()`.
19821
19822        Backported from Blink: https://chromium.googlesource.com/chromium/blink/+/47ca40efdf58a4787aa33aa75a35778899b1c002%5E%21
19823
19824        Test: fast/dom/Range/range-constructor.html
19825
19826        * dom/Range.cpp:
19827        (WebCore::Range::create):
19828        * dom/Range.h:
19829        * dom/Range.idl:
19830
198312014-01-23  ChangSeok Oh  <changseok.oh@collabora.com>
19832
19833        Unreviewed build fix for gles after r162565. Add missing definitions.
19834
19835        * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
19836        (WebCore::GraphicsContext3D::drawArraysInstanced):
19837        (WebCore::GraphicsContext3D::drawElementsInstanced):
19838        (WebCore::GraphicsContext3D::vertexAttribDivisor):
19839
198402014-01-22  Carlos Garcia Campos  <cgarcia@igalia.com>
19841
19842        [GLIB] Use GUniquePtr instead of GOwnPtr
19843        https://bugs.webkit.org/show_bug.cgi?id=127431
19844
19845        Reviewed by Martin Robinson.
19846
19847        GUniquePtr is a template alias of std::unique_ptr with a custom
19848        deleter that replaces GOwnPtr. GOwnPtr is still used for the cases
19849        where the output pointer is needed, but it will also be replaced soon.
19850
19851        * GNUmakefile.list.am:
19852        * PlatformGTK.cmake:
19853        * accessibility/atk/AXObjectCacheAtk.cpp:
19854        * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
19855        (getAttributeSetForAccessibilityObject):
19856        (accessibilityObjectLength):
19857        (textExtents):
19858        (webkitAccessibleTextGetChar):
19859        (numberOfReplacedElementsBeforeOffset):
19860        * page/ContextMenuController.cpp:
19861        * platform/SharedBuffer.h:
19862        * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
19863        (webKitWebAudioSrcConstructed):
19864        (webKitWebAudioSrcLoop):
19865        * platform/audio/gtk/AudioBusGtk.cpp:
19866        (WebCore::AudioBus::loadPlatformResource):
19867        * platform/geoclue/GeolocationProviderGeoclue.cpp:
19868        * platform/graphics/gstreamer/ImageGStreamerCairo.cpp:
19869        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
19870        (WebCore::MediaPlayerPrivateGStreamer::setAudioStreamProperties):
19871        (WebCore::MediaPlayerPrivateGStreamer::handleMessage):
19872        * platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp:
19873        (webKitMediaSrcAddSrc):
19874        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
19875        (webKitWebSrcStart):
19876        (ResourceHandleStreamingClient::wasBlocked):
19877        (ResourceHandleStreamingClient::cannotShowURL):
19878        * platform/graphics/gtk/ImageBufferGtk.cpp:
19879        (WebCore::encodeImage):
19880        (WebCore::ImageBuffer::toDataURL):
19881        * platform/graphics/gtk/ImageGtk.cpp:
19882        (WebCore::getThemeIconFileName):
19883        (WebCore::Image::loadPlatformResource):
19884        * platform/gtk/ContextMenuGtk.cpp:
19885        (WebCore::ContextMenu::itemCount):
19886        (WebCore::contextMenuItemVector):
19887        * platform/gtk/ContextMenuItemGtk.cpp:
19888        (WebCore::createPlatformMenuItemDescription):
19889        * platform/gtk/DataObjectGtk.cpp:
19890        (WebCore::DataObjectGtk::setURIList):
19891        (WebCore::DataObjectGtk::setURL):
19892        * platform/gtk/FileSystemGtk.cpp:
19893        (WebCore::filenameToString):
19894        (WebCore::fileSystemRepresentation):
19895        (WebCore::filenameForDisplay):
19896        (WebCore::pathGetFileName):
19897        (WebCore::applicationDirectoryPath):
19898        (WebCore::sharedResourcesPath):
19899        (WebCore::directoryName):
19900        (WebCore::listDirectory):
19901        (WebCore::openTemporaryFile):
19902        * platform/gtk/GOwnPtrGtk.cpp: Removed.
19903        * platform/gtk/GOwnPtrGtk.h: Removed.
19904        * platform/gtk/GUniquePtrGtk.h: Added.
19905        * platform/gtk/GamepadsGtk.cpp:
19906        (WebCore::GamepadsGtk::GamepadsGtk):
19907        * platform/gtk/GtkClickCounter.cpp:
19908        (WebCore::GtkClickCounter::shouldProcessButtonEvent):
19909        * platform/gtk/GtkInputMethodFilter.cpp:
19910        (WebCore::GtkInputMethodFilter::sendCompositionAndPreeditWithFakeKeyEvents):
19911        * platform/gtk/GtkPopupMenu.cpp:
19912        (WebCore::GtkPopupMenu::popUp):
19913        (WebCore::GtkPopupMenu::typeAheadFind):
19914        * platform/gtk/LanguageGtk.cpp:
19915        (WebCore::platformLanguage):
19916        * platform/gtk/LocalizedStringsGtk.cpp:
19917        (WebCore::imageTitle):
19918        (WebCore::localizedMediaTimeDescription):
19919        * platform/gtk/PasteboardHelper.cpp:
19920        (WebCore::selectionDataToUTF8String):
19921        (WebCore::PasteboardHelper::getClipboardContents):
19922        (WebCore::PasteboardHelper::fillSelectionData):
19923        * platform/gtk/PopupMenuGtk.cpp:
19924        (WebCore::PopupMenuGtk::createGtkActionForMenuItem):
19925        (WebCore::PopupMenuGtk::show):
19926        * platform/gtk/WebKitAuthenticationWidget.cpp:
19927        (webkitAuthenticationWidgetInitialize):
19928        * platform/network/ResourceHandleInternal.h:
19929        * platform/network/gtk/CredentialBackingStore.cpp:
19930        (WebCore::credentialForChallengeAsyncReadyCallback):
19931        * platform/network/soup/CookieJarSoup.cpp:
19932        (WebCore::setCookiesFromDOM):
19933        (WebCore::cookiesForSession):
19934        (WebCore::getRawCookies):
19935        (WebCore::deleteCookie):
19936        (WebCore::getHostnamesWithCookies):
19937        (WebCore::deleteCookiesForHostname):
19938        (WebCore::deleteAllCookies):
19939        * platform/network/soup/DNSSoup.cpp:
19940        * platform/network/soup/GUniquePtrSoup.h: Added.
19941        * platform/network/soup/ResourceErrorSoup.cpp:
19942        (WebCore::failingURI):
19943        * platform/network/soup/ResourceHandleSoup.cpp:
19944        (WebCore::ResourceHandle::ensureReadBuffer):
19945        (WebCore::cleanupSoupRequestOperation):
19946        (WebCore::createSoupRequestAndMessageForHandle):
19947        * platform/network/soup/ResourceRequestSoup.cpp:
19948        (WebCore::ResourceRequest::updateSoupMessageMembers):
19949        (WebCore::ResourceRequest::updateSoupMessage):
19950        * platform/network/soup/ResourceResponseSoup.cpp:
19951        * platform/network/soup/SoupURIUtils.cpp:
19952        (WebCore::soupURIToKURL):
19953        * platform/soup/SharedBufferSoup.cpp:
19954        (WebCore::SharedBuffer::SharedBuffer):
19955        (WebCore::SharedBuffer::clearPlatformData):
19956        (WebCore::SharedBuffer::maybeTransferPlatformData):
19957        (WebCore::SharedBuffer::hasPlatformData):
19958        * plugins/gtk/PluginPackageGtk.cpp:
19959        (WebCore::PluginPackage::fetchInfo):
19960        (WebCore::PluginPackage::load):
19961
199622014-01-22  Simon Fraser  <simon.fraser@apple.com>
19963
19964        Surround fixedVisibleContentRect code with USE(TILED_BACKING_STORE)
19965        https://bugs.webkit.org/show_bug.cgi?id=127461
19966
19967        Reviewed by Andreas Kling.
19968
19969        The "fixedVisibleContentRect" code path is only used by platforms
19970        which enabled TILED_BACKING_STORE, so to reduce confusion, surround
19971        this code with #if USE(TILED_BACKING_STORE).
19972
19973        * page/Frame.cpp:
19974        (WebCore::Frame::createView):
19975        * page/FrameView.cpp:
19976        * page/FrameView.h:
19977        * platform/ScrollView.cpp:
19978        (WebCore::ScrollView::unscaledVisibleContentSize):
19979        (WebCore::ScrollView::visibleContentRect):
19980        * platform/ScrollView.h:
19981        (WebCore::ScrollView::visibleSize):
19982
199832014-01-22  Myles C. Maxfield  <mmaxfield@apple.com>
19984
19985        ASSERTION FAILED: v.isFixed() in WebCore::RenderStyle::setWordSpacing
19986        https://bugs.webkit.org/show_bug.cgi?id=126987
19987
19988        Reviewed by Simon Fraser.
19989
19990        When "inherit" is specified and there is no parent, Length values have an "Auto" type
19991
19992        Test: fast/css3-text/css3-word-spacing-percentage/word-spacing-crash.html
19993
19994        * rendering/style/RenderStyle.cpp:
19995        (WebCore::RenderStyle::setWordSpacing):
19996
199972014-01-22  Samuel White  <samuel_white@apple.com>
19998
19999        AX: Can't always increment web sliders.
20000        https://bugs.webkit.org/show_bug.cgi?id=127451
20001
20002        Reviewed by Chris Fleizach.
20003
20004        Clamping the decrement/increment amount to one when necessary (if a percent change would result in a change of less than one).
20005
20006        Test: accessibility/range-alter-by-percent.html
20007
20008        * accessibility/AccessibilityNodeObject.cpp:
20009        (WebCore::AccessibilityNodeObject::changeValueByPercent):
20010
200112014-01-22  Myles C. Maxfield  <mmaxfield@apple.com>
20012
20013        Remove CSS3_TEXT_DECORATION define
20014        https://bugs.webkit.org/show_bug.cgi?id=127333
20015
20016        Reviewed by Simon Fraser.
20017
20018        This is required for unprefixing the text-decoration-* CSS properties.
20019
20020        No new tests are necessary becase the flag was already on by default.
20021
20022        * Configurations/FeatureDefines.xcconfig:
20023        * css/CSSComputedStyleDeclaration.cpp:
20024        (WebCore::renderTextDecorationSkipFlagsToCSSValue):
20025        (WebCore::ComputedStyleExtractor::propertyValue):
20026        * css/CSSParser.cpp:
20027        (WebCore::isColorPropertyID):
20028        (WebCore::CSSParser::parseValue):
20029        (WebCore::CSSParser::addTextDecorationProperty):
20030        (WebCore::CSSParser::parseTextUnderlinePosition):
20031        * css/CSSParser.h:
20032        * css/CSSPrimitiveValueMappings.h:
20033        (WebCore::CSSPrimitiveValue::operator TextUnderlinePosition):
20034        * css/CSSPropertyNames.in:
20035        * css/CSSValueKeywords.in:
20036        * css/DeprecatedStyleBuilder.cpp:
20037        (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
20038        * css/StylePropertyShorthand.cpp:
20039        (WebCore::webkitTextDecorationShorthand):
20040        (WebCore::shorthandForProperty):
20041        (WebCore::matchingShorthandsForLonghand):
20042        * css/StylePropertyShorthand.h:
20043        * css/StyleResolver.cpp:
20044        (WebCore::shouldApplyPropertyInParseOrder):
20045        (WebCore::isValidVisitedLinkProperty):
20046        (WebCore::StyleResolver::applyProperty):
20047        * platform/graphics/GraphicsContext.h:
20048        * platform/graphics/cairo/GraphicsContextCairo.cpp:
20049        (WebCore::GraphicsContext::setPlatformStrokeStyle):
20050        * platform/graphics/cg/GraphicsContextCG.cpp:
20051        (WebCore::GraphicsContext::platformInit):
20052        * platform/graphics/wince/GraphicsContextWinCE.cpp:
20053        (WebCore::createPen):
20054        * rendering/InlineFlowBox.cpp:
20055        (WebCore::InlineFlowBox::computeMaxLogicalTop):
20056        * rendering/InlineFlowBox.h:
20057        * rendering/InlineTextBox.cpp:
20058        (WebCore::textDecorationStyleToStrokeStyle):
20059        (WebCore::boundingBoxForAllActiveDecorations):
20060        (WebCore::InlineTextBox::paintDecoration):
20061        * rendering/RenderObject.cpp:
20062        (WebCore::decorationColor):
20063        * rendering/RootInlineBox.cpp:
20064        (WebCore::RootInlineBox::maxLogicalTop):
20065        * rendering/RootInlineBox.h:
20066        * rendering/style/RenderStyle.cpp:
20067        (WebCore::RenderStyle::changeRequiresRepaintIfTextOrBorderOrOutline):
20068        (WebCore::RenderStyle::colorIncludingFallback):
20069        (WebCore::RenderStyle::visitedDependentColor):
20070        * rendering/style/RenderStyle.h:
20071        * rendering/style/RenderStyleConstants.h:
20072        * rendering/style/StyleRareInheritedData.cpp:
20073        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
20074        (WebCore::StyleRareInheritedData::operator==):
20075        * rendering/style/StyleRareInheritedData.h:
20076        * rendering/style/StyleRareNonInheritedData.cpp:
20077        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
20078        (WebCore::StyleRareNonInheritedData::operator==):
20079        * rendering/style/StyleRareNonInheritedData.h:
20080
200812014-01-22  Chris Fleizach  <cfleizach@apple.com>
20082
20083        AX: Do not return an accessible name for an object just because it has tabindex=0
20084        https://bugs.webkit.org/show_bug.cgi?id=126914
20085
20086        Reviewed by Mario Sanchez Prada.
20087
20088        WebKit has code to return an accessible name for any object that is "generically" focusable (ie. tabindex=0).
20089        This behavior, which is not supported in ARIA, has caused many problems for VoiceOver. Often VoiceOver will
20090        speak all the text underneath any type of group.
20091
20092        I think we need to revert this behavior and follow the ARIA spec more closely.
20093
20094        Test: accessibility/aria-describedby-ensures-visibility.html
20095
20096        * accessibility/AccessibilityNodeObject.cpp:
20097        (WebCore::AccessibilityNodeObject::visibleText):
20098        (WebCore::AccessibilityNodeObject::title):
20099
201002014-01-22  Brady Eidson  <beidson@apple.com>
20101
20102        The IDB backing store get() method shouldn't call IDB callbacks directly
20103        https://bugs.webkit.org/show_bug.cgi?id=127453
20104
20105        Reviewed by Beth Dakin.
20106
20107        * Modules/indexeddb/IDBServerConnection.h:
20108        (WebCore::IDBGetResult::IDBGetResult): Add a new structure to hold all of the
20109          possible results of a get() call.
20110
20111        * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
20112        (WebCore::IDBServerConnectionLevelDB::get): Don't call IDBCallbacks directly.
20113          Instead, return the GetResult to the GetOperation which will make IDBCallbacks.
20114        * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
20115
20116        * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
20117        (WebCore::GetOperation::perform): Get all of the IDBGetResults in the completion callback
20118          make the appropriate IDBCallback.
20119        * Modules/indexeddb/IDBTransactionBackendOperations.h:
20120
201212014-01-22  Dean Jackson  <dino@apple.com>
20122
20123        Unreviewed attempt to fix 32-bit builds.
20124
20125        Use long long rather than GC3Dintptr.
20126
20127        * html/canvas/ANGLEInstancedArrays.cpp:
20128        (WebCore::ANGLEInstancedArrays::drawElementsInstancedANGLE):
20129        * html/canvas/ANGLEInstancedArrays.h:
20130        * html/canvas/WebGLRenderingContext.cpp:
20131        (WebCore::WebGLRenderingContext::drawElementsInstanced):
20132        * html/canvas/WebGLRenderingContext.h:
20133
201342014-01-21  Brady Eidson  <beidson@apple.com>
20135
20136        IDB: "Put" support
20137        <rdar://problem/15779643> and https://bugs.webkit.org/show_bug.cgi?id=127401
20138
20139        Reviewed by Alexey Proskuryakov.
20140
20141        Add persistent encode/decode for storage to the database:
20142        * Modules/indexeddb/IDBKey.cpp:
20143        (WebCore::IDBKey::encode):
20144        (WebCore::IDBKey::decode):
20145        * Modules/indexeddb/IDBKey.h:
20146
20147        Add a data class to represent IDBKey suitable for crossing IPC:
20148        * Modules/indexeddb/IDBKeyData.cpp: Added.
20149        (WebCore::IDBKeyData::IDBKeyData):
20150        (WebCore::IDBKeyData::maybeCreateIDBKey):
20151        (WebCore::IDBKeyData::isolatedCopy):
20152        * Modules/indexeddb/IDBKeyData.h: Added.
20153        (WebCore::IDBKeyData::IDBKeyData):
20154
20155        * platform/CrossThreadCopier.cpp:
20156        (WebCore::IDBKeyData>::copy):
20157        * platform/CrossThreadCopier.h:
20158
20159        * WebCore.exp.in:
20160        * WebCore.xcodeproj/project.pbxproj:
20161
201622014-01-22  Dean Jackson  <dino@apple.com>
20163
20164        [WebGL] Implement ANGLE_instanced_arrays
20165        https://bugs.webkit.org/show_bug.cgi?id=127257
20166
20167        Reviewed by Brent Fulgham.
20168
20169        Implement the instanced drawing WebGL extension,
20170        ANGLE_instanced_arrays. This is currently Mac-only,
20171        but should be portable to other platforms if their
20172        OpenGL exposes the functions. It's also done in a way
20173        that will make exposing it to WebGL2 simple.
20174
20175        Test: fast/canvas/webgl/angle-instanced-arrays.html
20176
20177        * CMakeLists.txt:
20178        * DerivedSources.cpp:
20179        * DerivedSources.make:
20180        * GNUmakefile.list.am:
20181        * WebCore.vcxproj/WebCore.vcxproj:
20182        * WebCore.vcxproj/WebCore.vcxproj.filters:
20183        * WebCore.xcodeproj/project.pbxproj:
20184        Add the new files to all the build systems.
20185
20186        * bindings/js/JSWebGLRenderingContextCustom.cpp:
20187        (WebCore::toJS): Link JS side to C++ side.
20188
20189        * html/canvas/ANGLEInstancedArrays.cpp: Added.
20190        (WebCore::ANGLEInstancedArrays::ANGLEInstancedArrays):
20191        * html/canvas/ANGLEInstancedArrays.h: Added.
20192        * html/canvas/ANGLEInstancedArrays.idl: Added.
20193        New boilerplate files that expose the extension methods.
20194
20195        * html/canvas/WebGLExtension.h: New extension enum.
20196
20197        * html/canvas/WebGLRenderingContext.cpp:
20198        (WebCore::WebGLRenderingContext::validateVertexAttributes): Add an optional
20199        parameter representing the number of instance primitives we are asked
20200        to draw. Use that for the draw count if looking at an instanced attribute.
20201        Also make sure we see at least one non-instanced attribute.
20202        (WebCore::WebGLRenderingContext::validateDrawArrays): Update this so it could
20203        be used from either drawArrays or drawArraysInstanced.
20204        (WebCore::WebGLRenderingContext::drawArrays):
20205        (WebCore::WebGLRenderingContext::validateDrawElements): Same here, now can be
20206        used by the instanced and non-instanced versions.
20207        (WebCore::WebGLRenderingContext::drawElements):
20208        (WebCore::WebGLRenderingContext::getExtension): Create and return the new extension.
20209        (WebCore::WebGLRenderingContext::getSupportedExtensions): Add new extension to the list.
20210        (WebCore::WebGLRenderingContext::getVertexAttrib): Intercept a query to the divisor
20211        attribute and return the value we kept in the state.
20212        (WebCore::WebGLRenderingContext::drawArraysInstanced): Call the GC3D method.
20213        (WebCore::WebGLRenderingContext::drawElementsInstanced): Ditto.
20214        (WebCore::WebGLRenderingContext::vertexAttribDivisor): Ditto.
20215
20216        * html/canvas/WebGLRenderingContext.h: Define the new methods and parameters.
20217
20218        * html/canvas/WebGLVertexArrayObjectOES.cpp:
20219        (WebCore::WebGLVertexArrayObjectOES::setVertexAttribDivisor): Keep a record of the
20220        divisor if we set it.
20221        * html/canvas/WebGLVertexArrayObjectOES.h:
20222        (WebCore::WebGLVertexArrayObjectOES::VertexAttribState::VertexAttribState):
20223
20224        * platform/graphics/GraphicsContext3D.h: New enum.
20225        * platform/graphics/mac/GraphicsContext3DMac.mm:
20226        (WebCore::GraphicsContext3D::drawArraysInstanced): The actual calls into OpenGL.
20227        (WebCore::GraphicsContext3D::drawElementsInstanced): Ditto.
20228        (WebCore::GraphicsContext3D::vertexAttribDivisor): Ditto.
20229
20230        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: Empty implementations
20231        for non-mac platforms.
20232
20233        * platform/graphics/ios/GraphicsContext3DIOS.h: Define the iOS names for the
20234        functions.
20235
202362014-01-22  Zalan Bujtas  <zalan@apple.com>
20237
20238        [CSS Shapes] shape-inside rectangle layout can fail
20239        https://bugs.webkit.org/show_bug.cgi?id=124784
20240
20241        Reviewed by Darin Adler.
20242
20243        Early subpixel rounding/flooring/ceiling can have unwanted
20244        side effect on the final pixel value. Delay pixel
20245        conversions as much as possible.
20246
20247        Existing test is changed to reflect subpixel functionality.
20248
20249        * rendering/shapes/RectangleShape.cpp:
20250        (WebCore::RectangleShape::firstIncludedIntervalLogicalTop):
20251
202522014-01-22  Jochen Eisinger  <jochen@chromium.org>
20253
20254        Add protocolIsInHTTPFamily for strings and use it where appropriate
20255        https://bugs.webkit.org/show_bug.cgi?id=127336
20256
20257        Reviewed by Alexey Proskuryakov.
20258
20259        * html/HTMLAnchorElement.cpp:
20260        (WebCore::HTMLAnchorElement::parseAttribute):
20261        * page/ContentSecurityPolicy.cpp:
20262        (WebCore::CSPSource::schemeMatches):
20263        * page/SecurityPolicy.cpp:
20264        (WebCore::SecurityPolicy::generateReferrerHeader):
20265        * platform/URL.cpp:
20266        (WebCore::protocolIsInHTTPFamily):
20267        * platform/URL.h:
20268
202692014-01-22  Zalan Bujtas  <zalan@apple.com>
20270
20271        Subpixel Layout: SimpleLineLayout needs more position rounding to match InlineFlowBox layout.
20272        https://bugs.webkit.org/show_bug.cgi?id=127404
20273
20274        Reviewed by Antti Koivisto.
20275
20276        In order to produce a CSS pixel perfect layout, SimpleLineLayout needs to
20277        round line positions to CSS (integral) position similarly to InlineFlowBox.
20278
20279        Existing tests cover it.
20280
20281        * rendering/SimpleLineLayoutResolver.h:
20282        (WebCore::SimpleLineLayout::RunResolver::Run::rect):
20283        (WebCore::SimpleLineLayout::RunResolver::Run::baseline):
20284
202852014-01-22  Joseph Pecoraro  <pecoraro@apple.com>
20286
20287        Unreviewed rollout of r162534, this caused inspector test failures.
20288
20289        * bindings/js/PageScriptDebugServer.cpp:
20290        (WebCore::PageScriptDebugServer::addListener):
20291        (WebCore::PageScriptDebugServer::removeListener):
20292        (WebCore::PageScriptDebugServer::recompileAllJSFunctions):
20293        (WebCore::PageScriptDebugServer::didRemoveLastListener):
20294        * bindings/js/PageScriptDebugServer.h:
20295        * bindings/js/ScriptDebugServer.cpp:
20296        (WebCore::ScriptDebugServer::ScriptDebugServer):
20297        (WebCore::ScriptDebugServer::recompileAllJSFunctionsSoon):
20298        (WebCore::ScriptDebugServer::recompileAllJSFunctionsTimerFired):
20299        * bindings/js/ScriptDebugServer.h:
20300        * bindings/js/WorkerScriptDebugServer.cpp:
20301        (WebCore::WorkerScriptDebugServer::addListener):
20302        (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
20303        (WebCore::WorkerScriptDebugServer::removeListener):
20304        * inspector/InspectorProfilerAgent.cpp:
20305
203062014-01-22  peavo@outlook.com  <peavo@outlook.com>
20307
20308        Crashes in setTextForIterator
20309        https://bugs.webkit.org/show_bug.cgi?id=127424
20310
20311        Reviewed by Brent Fulgham.
20312
20313        * platform/text/icu/UTextProviderLatin1.cpp:
20314        (WebCore::uTextLatin1Clone): Provide correct buffer size in utext_setup function call.
20315        (WebCore::uTextLatin1Access): Give correct buffer size to memset call.
20316        (WebCore::openLatin1UTextProvider): Ditto.
20317
203182014-01-22  Jer Noble  <jer.noble@apple.com>
20319
20320        [Mac] MediaPlayerPrivateMediaSourceAVFObjC::load ASSERTs on lots of tests
20321        https://bugs.webkit.org/show_bug.cgi?id=127430
20322
20323        Reviewed by Eric Carlson.
20324
20325        When other registered media engines cannot load a URL, the engine selection
20326        will eventually pick MediaPlayerPrivateMediaSourceAVFObjC and ask it to load
20327        the URL. Instead of ASSERTing here, simply reject the URL by setting the
20328        network state to FormatError.
20329
20330        * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
20331        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::load):
20332
203332014-01-22  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
20334
20335        [EFL][GTK] Get EFL and GTK compiling with ACCESSIBILITY disabled
20336        https://bugs.webkit.org/show_bug.cgi?id=127119
20337
20338        Reviewed by Mario Sanchez Prada.
20339
20340        At build time, the compiler was not able to determine which Timer's constructor to call in AXObjectCache when
20341        ACCESSIBILITY is not enabled, fixing that.
20342        Also guarding some members in AccessibilityObject that are only being used by EFL and GTK with ACCESSIBILITY.
20343
20344        * accessibility/AXObjectCache.h:
20345        (WebCore::AXObjectCache::AXObjectCache):
20346        * accessibility/AccessibilityObject.h:
20347
203482014-01-22  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
20349
20350        Refactor calculation of hasRx and hasRy values in SVGPathData
20351        https://bugs.webkit.org/show_bug.cgi?id=127423
20352
20353        Reviewed by Darin Adler.
20354
20355        This is a follow-up on https://bugs.webkit.org/show_bug.cgi?id=127337
20356
20357        * rendering/svg/SVGPathData.cpp:
20358        (WebCore::updatePathFromRectElement):
20359
203602014-01-21  Joseph Pecoraro  <pecoraro@apple.com>
20361
20362        Web Inspector: Remove recompileAllJSFunctions timer in ScriptDebugServer
20363        https://bugs.webkit.org/show_bug.cgi?id=127409
20364
20365        Reviewed by Timothy Hatcher.
20366
20367        * bindings/js/ScriptDebugServer.h:
20368        * bindings/js/ScriptDebugServer.cpp:
20369        (WebCore::ScriptDebugServer::ScriptDebugServer):
20370        Remove m_recompileTimer and the recompile soon function.
20371        We can just recompile immediately in all existing cases.
20372
20373        * bindings/js/PageScriptDebugServer.h:
20374        * bindings/js/PageScriptDebugServer.cpp:
20375        (WebCore::PageScriptDebugServer::addListener):
20376        (WebCore::PageScriptDebugServer::removeListener):
20377        (WebCore::PageScriptDebugServer::recompileAllJSFunctions):
20378        (WebCore::PageScriptDebugServer::didAddFirstListener):
20379        (WebCore::PageScriptDebugServer::didRemoveLastListener):
20380        Add a "didAddFirstListener" to match "didRemoveLastListener".
20381        Only recompile functions when we attach the debugger and when
20382        we detach the last listener.
20383
20384        * bindings/js/WorkerScriptDebugServer.cpp:
20385        (WebCore::WorkerScriptDebugServer::addListener):
20386        (WebCore::WorkerScriptDebugServer::removeListener):
20387        (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
20388        Same thing. Also rearrange the functions to read better.
20389
20390        * inspector/InspectorProfilerAgent.cpp:
20391        Use the direct recompile function instead of the removed "soon" version.
20392
203932014-01-22  Robert Sipka  <sipka@inf.u-szeged.hu>
20394
20395        [curl] Improve detecting and handling of SSL client certificate
20396        https://bugs.webkit.org/show_bug.cgi?id=125006
20397
20398        Reviewed by Brent Fulgham.
20399
20400        Add client certificate handling.
20401
20402        * platform/network/ResourceHandle.h:
20403        * platform/network/curl/ResourceError.h:
20404        (WebCore::ResourceError::hasSSLConnectError):
20405        * platform/network/curl/ResourceHandleCurl.cpp:
20406        (WebCore::ResourceHandle::setClientCertificateInfo):
20407        * platform/network/curl/ResourceHandleManager.cpp:
20408        (WebCore::ResourceHandleManager::initializeHandle):
20409        * platform/network/curl/SSLHandle.cpp:
20410        (WebCore::addAllowedClientCertificate):
20411        (WebCore::setSSLClientCertificate):
20412        * platform/network/curl/SSLHandle.h:
20413
204142014-01-22  Mihai Maerean  <mmaerean@adobe.com>
20415
20416        [CSS Regions] layerOwner in RenderNamedFlowFragment cannot return null
20417        https://bugs.webkit.org/show_bug.cgi?id=127343
20418
20419        Reviewed by Sam Weinig.
20420
20421        RenderNamedFlowFragment::layerOwner cannot return null because regions create stacking
20422        contexts which create layers.
20423
20424        No new tests, no functional change.
20425
20426        * rendering/RenderFlowThread.cpp:
20427        (WebCore::RenderFlowThread::hasCompositingRegionDescendant):
20428        * rendering/RenderLayer.cpp:
20429        (WebCore::RenderLayer::calculateClipRects):
20430        * rendering/RenderLayerBacking.cpp:
20431        (WebCore::RenderLayerBacking::adjustAncestorCompositingBoundsForFlowThread):
20432        * rendering/RenderLayerCompositor.cpp:
20433        (WebCore::RenderLayerCompositor::computeRegionCompositingRequirements):
20434        * rendering/RenderNamedFlowFragment.h:
20435
204362014-01-22  Antti Koivisto  <antti@apple.com>
20437
20438        Avoid unthrottled layer flushes triggered by RenderLayerCompositor::ensureRootLayer
20439        https://bugs.webkit.org/show_bug.cgi?id=127426
20440
20441        Reviewed by Anders Carlsson.
20442        
20443        * rendering/RenderLayerCompositor.cpp:
20444        (WebCore::RenderLayerCompositor::updateScrollLayerPosition):
20445        (WebCore::RenderLayerCompositor::frameViewDidScroll):
20446
20447            Factor scroll layer position update to a function.
20448
20449        (WebCore::RenderLayerCompositor::ensureRootLayer):
20450        
20451            Stop calling frameViewDidChangeSize/frameViewDidScroll. Instead call the relevent functions
20452            directly. This avoid unthrottled layer flush that is done when the view actually scrolls.
20453
20454        * rendering/RenderLayerCompositor.h:
20455
204562014-01-22  Mihai Tica  <mitica@adobe.com>
20457
20458        [CSS Background Blending] -webkit-background-blend-mode fails for certain SVG files
20459        https://bugs.webkit.org/show_bug.cgi?id=127350
20460
20461        Reviewed by Dirk Schulze.
20462
20463        The graphics context of the SVG inherits the blend mode set
20464        on the background layer. Fix consists in drawing the SVG
20465        in a transparency layer.
20466
20467        Test: css3/compositing/background-blend-mode-svg.html
20468
20469        * svg/graphics/SVGImage.cpp:
20470        (WebCore::SVGImage::draw): Begin a transparency layer if a blend mode is set.
20471
204722014-01-22  Antti Koivisto  <antti@apple.com>
20473
20474        Update overlay scrollbars in single pass
20475        https://bugs.webkit.org/show_bug.cgi?id=127289
20476
20477        Reviewed by Anders Carlsson.
20478
20479        * platform/ScrollView.cpp:
20480        (WebCore::ScrollView::updateScrollbars):
20481        
20482            Multi-pass scrollbar resolution is only needed for traditional scrollbars. Overlay scrollbars don't affect layout.
20483
204842014-01-22  Mihnea Ovidenie  <mihnea@adobe.com>
20485
20486        [CSSRegions] Incorrect layout of a region pseudo children
20487        https://bugs.webkit.org/show_bug.cgi?id=126146
20488
20489        Reviewed by David Hyatt.
20490
20491        Test: fast/regions/collapse-anonymous-region.html
20492
20493        A region behaviour, styled using -webkit-flow-from, is modeled using an anonymous
20494        block created to fragment the named flow content inside the region. We have to prevent
20495        the behaviour of anonymous children collapsing for this block to make sure that the
20496        region element children are still laid out properly when the region element becomes an ordinary
20497        element.
20498
20499        * rendering/RenderBlockFlow.h:
20500
205012014-01-21  Ryuan Choi  <ryuan.choi@samsung.com>
20502
20503        Remove unused "acceleratedCompositingForScrollableFramesEnabled" setting
20504        https://bugs.webkit.org/show_bug.cgi?id=127402
20505
20506        Reviewed by Anders Carlsson.
20507
20508        compositing/iframes/iframe-composited-scrolling.html is updated because
20509        there are no usages in WebCore.
20510
20511        * page/Settings.in:
20512
205132014-01-21  Alex Christensen  <achristensen@webkit.org>
20514
20515        Compile fix for using libsoup on Windows.
20516        https://bugs.webkit.org/show_bug.cgi?id=127377
20517
20518        Reviewed by Daniel Bates.
20519
20520        * platform/network/soup/ProxyResolverSoup.cpp:
20521        (soupProxyResolverWkSetProperty):
20522        (soupProxyResolverWkGetProperty):
20523        (soupProxyResolverWkGetProxyURISync):
20524        Replaced uint with unsigned.
20525
205262014-01-21  Daniel Bates  <dabates@apple.com>
20527
20528        Break up single assertion into two assertions in HTMLMediaElement::returnPlatformLayer()
20529
20530        Following up after <http://trac.webkit.org/changeset/162473>, we should break up
20531        the assertion into two assertions as suggested by Darin Adler. Separating the single
20532        assertion into two assertions makes it straightforward to determine the conjunct that
20533        failed among other benefits.
20534
20535        * html/HTMLMediaElement.cpp:
20536        (WebCore::HTMLMediaElement::parseAttribute):
20537
205382014-01-21  Brady Eidson  <beidson@apple.com>
20539
20540        The IDB backing store put() method shouldn't call IDB callbacks directly
20541        https://bugs.webkit.org/show_bug.cgi?id=127399
20542
20543        Reviewed by Beth Dakin.
20544
20545        Refactor the put() callback to take a resulting key or an error.
20546        * Modules/indexeddb/IDBServerConnection.h:
20547
20548        * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
20549        (WebCore::PutOperation::perform): Call to the backing store, then perform the
20550          appropriate IDB callback whether a key or an error was returned.
20551        * Modules/indexeddb/IDBTransactionBackendOperations.h:
20552
20553        * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
20554        (WebCore::IDBServerConnectionLevelDB::put): Don’t call IDB callbacks directly.
20555          Instead, pass the resulting key/error back to the PutOperation.
20556        * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
20557
205582014-01-21  Jae Hyun Park  <jae.park@company100.net>
20559
20560        Use nullptr in HTMLCanvasElement
20561        https://bugs.webkit.org/show_bug.cgi?id=127388
20562
20563        Reviewed by Gyuyoung Kim.
20564
20565        * html/HTMLCanvasElement.cpp:
20566        (WebCore::HTMLCanvasElement::getContext):
20567        (WebCore::HTMLCanvasElement::drawingContext):
20568        (WebCore::HTMLCanvasElement::existingDrawingContext):
20569
205702014-01-21  László Langó  <llango.u-szeged@partner.samsung.com>
20571
20572        Assertion failure in Range::nodeWillBeRemoved
20573        https://bugs.webkit.org/show_bug.cgi?id=121694
20574
20575        Reviewed by Ryosuke Niwa.
20576
20577        Based on Blink a change: https://chromium.googlesource.com/chromium/blink/+/407c1d7b2c45974aa614b3f847ffe9e8fce205fa
20578
20579        This patch fix an assertion failure. Range::nodeWillBeRemoved() might
20580        be called with removed node in ContainerNode, when DOMNodeRemovedFromDocument
20581        event handler calls removeChild(), for node being removed.
20582
20583        Test: fast/dom/Range/remove-twice-crash.html
20584
20585        * dom/ContainerNode.cpp:
20586        (WebCore::ContainerNode::willRemoveChild):
20587        * dom/ContainerNode.h:
20588
205892014-01-21  Tim Horton  <timothy_horton@apple.com>
20590
20591        REGRESSION (r161580): Some PDFs render outside their <img>
20592        https://bugs.webkit.org/show_bug.cgi?id=127381
20593        <rdar://problem/15872168>
20594
20595        Reviewed by Simon Fraser.
20596
20597        * platform/graphics/cg/PDFDocumentImage.cpp:
20598        (WebCore::transformContextForPainting):
20599        Only try to make the scale uniform if it isn't already, and use the minimum
20600        of the two original scales when doing so, so that it is absolutely certain
20601        to fit inside space allocated for the image during layout.
20602
206032014-01-21  Simon Fraser  <simon.fraser@apple.com>
20604
20605        Remove #if PLATFORM(IOS) in various places around customFixedPositionLayoutRect() code
20606        https://bugs.webkit.org/show_bug.cgi?id=127373
20607
20608        Reviewed by Beth Dakin.
20609
20610        Instead of PLATFORM(IOS) #idefs at every call site for viewportConstrainedVisibleContentRect(),
20611        move the #ifdef inside viewportConstrainedVisibleContentRect().
20612        
20613        The one call site that needs special handling is RenderLayerBacking::updateCompositedBounds(),
20614        which needs to avoid clipping fixed layers to the custom fixed position rect, but instead to
20615        visibleContentRect() (which is really the document bounds on iOS). This ensures that the
20616        fixed layers aren't clipped when zooming out.
20617
20618        * page/FrameView.cpp:
20619        (WebCore::FrameView::viewportConstrainedVisibleContentRect):
20620        * rendering/RenderBoxModelObject.cpp:
20621        (WebCore::RenderBoxModelObject::stickyPositionOffset):
20622        * rendering/RenderLayerBacking.cpp:
20623        (WebCore::RenderLayerBacking::updateCompositedBounds):
20624        * rendering/RenderLayerCompositor.cpp:
20625        (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
20626        (WebCore::RenderLayerCompositor::computeFixedViewportConstraints):
20627        (WebCore::RenderLayerCompositor::computeStickyViewportConstraints):
20628
206292014-01-21  Andy Estes  <aestes@apple.com>
20630
20631        [iOS] Allow all clients to link against WebCore
20632        https://bugs.webkit.org/show_bug.cgi?id=127372
20633        
20634        Reviewed by Dan Bernstein.
20635
20636        * Configurations/WebCore.xcconfig:
20637
206382014-01-21  Bear Travis  <betravis@adobe.com>
20639
20640        [CSS Shapes] Preserve box-shape order when serializing shape values
20641        https://bugs.webkit.org/show_bug.cgi?id=127200
20642
20643        Reviewed by Dirk Schulze.
20644
20645        Convert the parsed shape-box pair to a CSSValueList rather than directly
20646        adding the box value to BasicShape. The CSSValueList preserves the
20647        shape-box ordering, and cleans up a little bit of the code shared between
20648        clip and shape values.
20649
20650        Modifying existing parsing tests.
20651
20652        * css/CSSComputedStyleDeclaration.cpp:
20653        (WebCore::shapePropertyValue): Factor out code common to generating shape
20654        values.
20655        (WebCore::ComputedStyleExtractor::propertyValue): Generate a CSSValueList when
20656        you have both a shape and a box.
20657        * css/CSSParser.cpp:
20658        (WebCore::CSSParser::parseBasicShapeAndOrBox): Factor out code common to clip
20659        paths and shape properties that parses the [basic-shape || box] syntax from
20660        the CSS Shapes spec.
20661        (WebCore::CSSParser::parseShapeProperty): Parse shape-box pairs as a CSSValueList.
20662        * css/DeprecatedStyleBuilder.cpp:
20663        (WebCore::ApplyPropertyShape::applyValue): Use the CSSValueList for shape-box pairs.
20664        * css/CSSValueList.h:
20665        (WebCore::CSSValueList::itemWithoutBoundsCheck): Add a const version.
20666        * page/animation/CSSPropertyAnimation.cpp:
20667        (WebCore::blendFunc): Specify a box when blending.
20668        * rendering/style/ShapeValue.h:
20669        (WebCore::ShapeValue::createShapeValue): Add a box parameter.
20670        (WebCore::ShapeValue::ShapeValue): Ditto.
20671
206722014-01-21  Daniel Bates  <dabates@apple.com>
20673
20674        Fix the iOS Simulator release build
20675
20676        Substitute ASSERT_UNUSED() for ASSERT() to resolve a compiler warning
20677        that the argument platformLayer is unused. The argument platformLayer
20678        is only used in the asserted condition, which isn't compiled in a
20679        release build; => the argument is unused in a release build.
20680
20681        * html/HTMLMediaElement.cpp:
20682        (WebCore::HTMLMediaElement::parseAttribute):
20683
206842014-01-21  Zoltan Horvath  <zoltan@webkit.org>
20685
20686        Since MidpointState is a class, it should behave like a class
20687        https://bugs.webkit.org/show_bug.cgi?id=127154
20688
20689        Reviewed by David Hyatt.
20690
20691        I modified MidpointState to behave like a class, updated the call sites also.
20692
20693        No new tests, no behavior change.
20694
20695        * platform/text/BidiResolver.h:
20696        (WebCore::MidpointState::reset):
20697        (WebCore::MidpointState::startIgnoringSpaces):
20698        (WebCore::MidpointState::stopIgnoringSpaces):
20699        (WebCore::MidpointState::midpoints):
20700        (WebCore::MidpointState::numMidpoints):
20701        (WebCore::MidpointState::currentMidpoint):
20702        (WebCore::MidpointState::incrementCurrentMidpoint):
20703        (WebCore::MidpointState::decreaseNumMidpoints):
20704        (WebCore::MidpointState::betweenMidpoints):
20705        (WebCore::MidpointState::setBetweenMidpoints):
20706        (WebCore::MidpointState::addMidpoint): Renamed from deprecatedAddMidpoint, since now
20707        its private, we no longer need to discourage callers from using it.
20708        * rendering/InlineIterator.h:
20709        (WebCore::IsolateTracker::addFakeRunIfNecessary):
20710        * rendering/RenderBlockLineLayout.cpp:
20711        (WebCore::RenderBlockFlow::appendRunsForObject):
20712        (WebCore::constructBidiRunsForLine):
20713        * rendering/line/BreakingContextInlineHeaders.h:
20714        (WebCore::checkMidpoints):
20715        * rendering/line/TrailingObjects.cpp:
20716        (WebCore::TrailingObjects::updateMidpointsForTrailingBoxes):
20717
207182014-01-21  Commit Queue  <commit-queue@webkit.org>
20719
20720        Unreviewed, rolling out r162452.
20721        http://trac.webkit.org/changeset/162452
20722        https://bugs.webkit.org/show_bug.cgi?id=127366
20723
20724        broke a few tests on all Mac WebKit1 bots (Requested by
20725        thorton on #webkit).
20726
20727        * WebCore.exp.in:
20728        * page/FocusController.cpp:
20729        (WebCore::FocusController::FocusController):
20730        (WebCore::FocusController::setFocused):
20731        (WebCore::FocusController::setActive):
20732        (WebCore::FocusController::setContentIsVisible):
20733        * page/FocusController.h:
20734        (WebCore::FocusController::isActive):
20735        (WebCore::FocusController::isFocused):
20736        * page/Page.cpp:
20737        (WebCore::Page::Page):
20738        (WebCore::Page::setIsInWindow):
20739        (WebCore::Page::setIsVisuallyIdle):
20740        (WebCore::Page::setIsVisible):
20741        (WebCore::Page::visibilityState):
20742        (WebCore::Page::hiddenPageCSSAnimationSuspensionStateChanged):
20743        * page/Page.h:
20744        (WebCore::Page::isVisible):
20745        (WebCore::Page::isInWindow):
20746
207472014-01-21  Chris Fleizach  <cfleizach@apple.com>
20748
20749        AX: Mac: Expose the visible text of a password field to AX
20750        https://bugs.webkit.org/show_bug.cgi?id=127353
20751
20752        Reviewed by Brent Fulgham.
20753
20754        The Mac platform should now expose the rendered value of password fields through AX.
20755
20756        Test: accessibility/password-field-value.html
20757
20758        * accessibility/AccessibilityRenderObject.cpp:
20759        (WebCore::AccessibilityRenderObject::textLength):
20760        (WebCore::AccessibilityRenderObject::passwordFieldValue):
20761
207622014-01-21  Robert Sipka  <sipka@inf.u-szeged.hu>
20763
20764        Support SSL error handling in case of synchronous job.
20765        https://bugs.webkit.org/show_bug.cgi?id=125301
20766
20767        Reviewed by Brent Fulgham.
20768
20769        Set ssl error informations for the users.
20770
20771        * platform/network/curl/ResourceHandleManager.cpp:
20772        (WebCore::ResourceHandleManager::dispatchSynchronousJob):
20773
207742014-01-21  Simon Fraser  <simon.fraser@apple.com>
20775
20776        Export systemTotalMemory() and systemMemoryLevel() for MobileSafari
20777        https://bugs.webkit.org/show_bug.cgi?id=127360
20778
20779        Reviewed by Andy Estes.
20780        
20781        MobileSafari inappropriately calls these WebCore functions directly,
20782        so export them.
20783
20784        * WebCore.exp.in:
20785
207862014-01-21  Simon Fraser  <simon.fraser@apple.com>
20787
20788        Clean up PLATFORM(IOS) code related to the custom fixed position layout rect
20789        https://bugs.webkit.org/show_bug.cgi?id=127362
20790
20791        Reviewed by Dave Hyatt.
20792
20793        Various platforms customize the rect used to layout position:fixed elements,
20794        and each modified RenderBox::availableLogicalHeight/WidthUsing() in different
20795        ways.
20796        
20797        Clean this up by adding RenderView::clientLogicalWidth/HeightForFixedPosition(),
20798        and moving the platform hacks into it.
20799
20800        * rendering/RenderBox.cpp:
20801        (WebCore::RenderBox::availableLogicalHeightUsing):
20802        (WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
20803        (WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
20804        * rendering/RenderView.cpp:
20805        (WebCore::RenderView::clientLogicalWidthForFixedPosition):
20806        (WebCore::RenderView::clientLogicalHeightForFixedPosition):
20807        * rendering/RenderView.h:
20808
208092014-01-21  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>
20810
20811        ASSERT(time.isFinite()) in SVGSMILElement::createInstanceTimesFromSyncbase
20812        <https://webkit.org/b/108184>
20813
20814        Reviewed by Philip Rogers.
20815
20816        In the case a SMILElement timing had a syncbase dependency on an indefinite value
20817        the assert were raised. The assert has been removed and a check has been added
20818        instead that prevents the addition of indefinite times to the time list.
20819
20820        Test: svg/animations/smil-syncbase-self-dependency.svg
20821
20822        * svg/animation/SVGSMILElement.cpp:
20823        (WebCore::SVGSMILElement::createInstanceTimesFromSyncbase):
20824          ASSERT removed.
20825
208262014-01-21  Tim Horton  <timothy_horton@apple.com>
20827
20828        Address late review naming comments after r162453.
20829
20830        * WebCore.xcodeproj/project.pbxproj:
20831        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
20832        * platform/graphics/mac/CALayerWebAdditions.h: Removed.
20833        * platform/graphics/mac/CALayerWebAdditions.mm: Removed.
20834        * platform/graphics/mac/WebCoreCALayerExtras.h: Added.
20835        * platform/graphics/mac/WebCoreCALayerExtras.mm: Added.
20836        (-[CALayer web_disableAllActions]):
20837
208382014-01-21  Tim Horton  <timothy_horton@apple.com>
20839
20840        Keep CALayer implicit animation disabling code in a single place
20841        https://bugs.webkit.org/show_bug.cgi?id=127355
20842
20843        Reviewed by Simon Fraser.
20844
20845        * WebCore.xcodeproj/project.pbxproj:
20846        Add CALayerWebAdditions.{h,mm}.
20847
20848        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
20849        (PlatformCALayerMac::commonInit):
20850        Remove nullActionsDictionary() and use [CALayer(WebAdditions) web_disableAllActions] instead.
20851
20852        * platform/graphics/mac/CALayerWebAdditions.h: Added.
20853        * platform/graphics/mac/CALayerWebAdditions.mm: Added.
20854        (-[CALayer web_disableAllActions]):
20855        Added. Disable all implicit actions on the layer.
20856
208572014-01-21  Gavin Barraclough  <barraclough@apple.com>
20858
20859        Change Page, FocusController to use ViewState
20860        https://bugs.webkit.org/show_bug.cgi?id=126533
20861
20862        Reviewed by Tim Horton.
20863
20864        These classes currently maintain a set of separate fields to represent the view state;
20865        combine these into a single field, and allow WebPage to send the combined update rather
20866        than individual changes.
20867
20868        Maintain existing interface for WebKit1 clients.
20869
20870        * WebCore.exp.in:
20871            - Added WebCore::setViewState, removed WebCore::setIsVisuallyIdle.
20872        * page/FocusController.cpp:
20873        (WebCore::FocusController::FocusController):
20874            - Initialize combined m_viewState.
20875        (WebCore::FocusController::setFocused):
20876            - Calls setViewState.
20877        (WebCore::FocusController::setFocusedInternal):
20878            - setFocused -> setFocusedInternal.
20879        (WebCore::FocusController::setViewState):
20880            - Added, update all ViewState flags.
20881        (WebCore::FocusController::setActive):
20882            - Calls setViewState.
20883        (WebCore::FocusController::setActiveInternal):
20884            - setActive -> setActiveInternal.
20885        (WebCore::FocusController::setContentIsVisible):
20886            - Calls setViewState.
20887        (WebCore::FocusController::setContentIsVisibleInternal):
20888            - setContentIsVisible -> setContentIsVisibleInternal.
20889        * page/FocusController.h:
20890        (WebCore::FocusController::isActive):
20891        (WebCore::FocusController::isFocused):
20892        (WebCore::FocusController::contentIsVisible):
20893            - Implemented in terms of ViewState.
20894        * page/Page.cpp:
20895        (WebCore::Page::Page):
20896            - Initialize using PageInitialViewState.
20897        (WebCore::Page::setIsInWindow):
20898            - Calls setViewState.
20899        (WebCore::Page::setIsInWindowInternal):
20900            - setIsInWindow -> setIsInWindowInternal.
20901        (WebCore::Page::setIsVisuallyIdleInternal):
20902            - setIsVisuallyIdle -> setIsVisuallyIdleInternal.
20903        (WebCore::Page::setViewState):
20904            - Added, update all ViewState flags, including FocusController.
20905        (WebCore::Page::setIsVisible):
20906            - Calls setViewState.
20907        (WebCore::Page::setIsVisibleInternal):
20908            - setIsVisible -> setIsVisibleInternal.
20909        (WebCore::Page::visibilityState):
20910            - m_isVisible -> isVisible()
20911        (WebCore::Page::hiddenPageCSSAnimationSuspensionStateChanged):
20912            - m_isVisible -> isVisible()
20913        * page/Page.h:
20914        (WebCore::Page::isVisible):
20915        (WebCore::Page::isInWindow):
20916            - Implemented in terms of ViewState.
20917        (WebCore::Page::scriptedAnimationsSuspended):
20918            - Combined member fields into ViewState::Flags.
20919
209202014-01-21  Lauro Neto  <lauro.neto@openbossa.org>
20921
20922        Remove PLATFORM(NIX) from WebCore
20923        https://bugs.webkit.org/show_bug.cgi?id=127299
20924
20925        Reviewed by Anders Carlsson.
20926
20927        * editing/Editor.cpp:
20928        (WebCore::Editor::cut):
20929        (WebCore::Editor::copy):
20930        (WebCore::Editor::copyImage):
20931        * editing/Editor.h:
20932        * html/HTMLCanvasElement.h:
20933        * loader/EmptyClients.h:
20934        * loader/FrameLoader.cpp:
20935        (WebCore::FrameLoader::defaultObjectContentType):
20936        * page/ChromeClient.h:
20937        * page/DragController.cpp:
20938        (WebCore::DragController::startDrag):
20939        * platform/Cursor.h:
20940        * platform/DragData.h:
20941        * platform/DragImage.h:
20942        * platform/FileSystem.h:
20943        * platform/LocalizedStrings.h:
20944        * platform/Widget.h:
20945        * platform/audio/FFTFrame.h:
20946        * platform/audio/HRTFElevation.cpp:
20947        * platform/cairo/WidgetBackingStore.h:
20948        * platform/graphics/ANGLEWebKitBridge.h:
20949        * platform/graphics/FontPlatformData.h:
20950        * platform/graphics/GLContext.cpp:
20951        (WebCore::GLContext::createContextForWindow):
20952        * platform/graphics/GLContext.h:
20953        * platform/graphics/GraphicsContext3D.h:
20954        * platform/graphics/GraphicsContext3DPrivate.cpp:
20955        (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
20956        * platform/graphics/OpenGLESShims.h:
20957        * platform/graphics/OpenGLShims.cpp:
20958        (WebCore::getProcAddress):
20959        * platform/graphics/OpenGLShims.h:
20960        * platform/graphics/PlatformLayer.h:
20961        * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
20962        * platform/graphics/opengl/Extensions3DOpenGL.cpp:
20963        (WebCore::Extensions3DOpenGL::createVertexArrayOES):
20964        (WebCore::Extensions3DOpenGL::deleteVertexArrayOES):
20965        (WebCore::Extensions3DOpenGL::isVertexArrayOES):
20966        (WebCore::Extensions3DOpenGL::bindVertexArrayOES):
20967        (WebCore::Extensions3DOpenGL::supportsExtension):
20968        * platform/graphics/opengl/Extensions3DOpenGL.h:
20969        * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
20970        * platform/graphics/opengl/Extensions3DOpenGLES.h:
20971        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
20972        * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
20973        (WebCore::GraphicsContext3D::reshape):
20974        * platform/graphics/opengl/TemporaryOpenGLSetting.cpp:
20975        * platform/graphics/texmap/TextureMapper.h:
20976        * platform/network/ResourceHandle.h:
20977        * plugins/PluginPackage.cpp:
20978        * plugins/PluginView.cpp:
20979        (WebCore::PluginView::PluginView):
20980        * plugins/PluginView.h:
20981        * plugins/PluginViewNone.cpp:
20982        * rendering/SimpleLineLayout.cpp:
20983        (WebCore::SimpleLineLayout::canUseFor):
20984
209852014-01-21  Eric Carlson  <eric.carlson@apple.com>
20986
20987        Add &lrm; &rlm; and &nbsp; to WebVTT parser
20988        https://bugs.webkit.org/show_bug.cgi?id=85112
20989
20990        Reviewed by Jer Noble.
20991
20992        No new tests, track-webvtt-tc022-entities.html was updated to test this.
20993
20994        * html/track/WebVTTTokenizer.cpp:
20995        (WebCore::WebVTTTokenizer::nextToken): Support RLM, LRM, and NBSP entities.
20996
209972014-01-21  Commit Queue  <commit-queue@webkit.org>
20998
20999        Unreviewed, rolling out r162354.
21000        http://trac.webkit.org/changeset/162354
21001        https://bugs.webkit.org/show_bug.cgi?id=127354
21002
21003        Appears to have broken accessibility in a non-trivial way
21004        (Requested by ap on #webkit).
21005
21006        * platform/ScrollView.cpp:
21007        (WebCore::ScrollView::updateScrollbars):
21008
210092014-01-21  Commit Queue  <commit-queue@webkit.org>
21010
21011        Unreviewed, rolling out r162445.
21012        http://trac.webkit.org/changeset/162445
21013        https://bugs.webkit.org/show_bug.cgi?id=127351
21014
21015        It broke the 32 bit GTK build (Requested by Ossy on #webkit).
21016
21017        * rendering/style/StyleRareInheritedData.cpp:
21018
210192014-01-21  László Langó  <llango.u-szeged@partner.samsung.com>
21020
21021        Wrong struct size when CSS_IMAGE_ORIENTATION and CSS3_TEXT_DECORATION are enabled.
21022        https://bugs.webkit.org/show_bug.cgi?id=127346
21023
21024        Efl build fix.
21025
21026        Reviewed by Csaba Osztrogonác.
21027
21028        * rendering/style/StyleRareInheritedData.cpp:
21029
210302014-01-21  Antti Koivisto  <antti@apple.com>
21031
21032        Delay initial layer flush during loading on all platforms
21033        https://bugs.webkit.org/show_bug.cgi?id=127347
21034
21035        Reviewed by Andreas Kling.
21036
21037        To reduce unnecessary repaints enable the same behaviour as iOS already has.
21038
21039        * rendering/RenderLayerCompositor.cpp:
21040        (WebCore::RenderLayerCompositor::RenderLayerCompositor):
21041        
21042            Set the initial state of m_layerFlushThrottlingEnabled correctly.
21043
21044        (WebCore::RenderLayerCompositor::scheduleLayerFlush):
21045        (WebCore::RenderLayerCompositor::startInitialLayerFlushTimerIfNeeded):
21046        * rendering/RenderLayerCompositor.h:
21047        
21048            Enable initial layer flush delay on all platforms.
21049
210502014-01-21  Mihai Tica  <mitica@adobe.com>
21051
21052        If you set a tiled cross-faded-image or a tiled gradient as
21053        a background layer, -webkit-background-blend-mode doesn't work.
21054        The problem consists in the blendMode parameter not being set
21055        for these specific drawing paths.
21056
21057        https://bugs.webkit.org/show_bug.cgi?id=126888
21058        Reviewed by Dirk Schulze.
21059
21060        Test: css3/compositing/background-blend-mode-tiled-layers.html
21061
21062        * platform/graphics/CrossfadeGeneratedImage.cpp:
21063        (WebCore::CrossfadeGeneratedImage::drawPattern): Add the blendMode parameter and pass it to ImageBuffer::drawPattern.
21064        * platform/graphics/GradientImage.cpp:
21065        (WebCore::GradientImage::drawPattern): Add the blendMode parameter and pass it to ImageBuffer::drawPattern.
21066        * platform/graphics/ImageBuffer.h: Add a BlendMode parameter to the drawPattern method.
21067        * platform/graphics/cairo/ImageBufferCairo.cpp:
21068        (WebCore::ImageBuffer::drawPattern): Add the default BlendMode parameter to the method declaration.
21069        * platform/graphics/cg/ImageBufferCG.cpp:
21070        (WebCore::ImageBuffer::drawPattern): Add and use the blendMode parameter for all the code paths.
21071        * platform/graphics/wince/ImageBufferWinCE.cpp:
21072        (WebCore::BufferedImage::drawPattern): Add the default BlendMode parameter to the method declaration.
21073
210742014-01-21  Gurpreet Kaur  <k.gurpreet@samsung.com>
21075
21076        The WebCore.vcxproj.filters doesnot apply
21077        https://bugs.webkit.org/show_bug.cgi?id=127338
21078
21079        Reviewed by Csaba Osztrogonác.
21080
21081        * WebCore.vcxproj/WebCore.vcxproj.filters:
21082        Modified the WebCore.vcxproj.filters so that it is applied when loading
21083        WebCore.vcxproj file.
21084
210852014-01-21  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
21086
21087        Fix SVG animations which set rx or ry attributes
21088        https://bugs.webkit.org/show_bug.cgi?id=127337
21089
21090        Reviewed by Dirk Schulze.
21091
21092        Test: svg/stroke/animated-non-scaling-rxry.html
21093
21094        Merged from Blink: https://src.chromium.org/viewvc/blink?revision=152376&view=revision
21095
21096        * rendering/svg/RenderSVGRect.cpp:
21097        (WebCore::RenderSVGRect::updateShapeFromElement):
21098        * rendering/svg/SVGPathData.cpp:
21099        (WebCore::updatePathFromRectElement):
21100
211012014-01-21  Krzysztof Czech  <k.czech@samsung.com>
21102
21103        [ATK] Expose aria-flowto through ATK_RELATION_FLOWS_TO
21104        https://bugs.webkit.org/show_bug.cgi?id=127291
21105
21106        Reviewed by Mario Sanchez Prada.
21107
21108        Test: accessibility/aria-flowto.html
21109
21110        Expose aria-flowto through ATK_RELATION_FLOWS_TO according to
21111        http://www.w3.org/TR/wai-aria-implementation/#mapping_state-property
21112
21113        * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
21114        (setAtkRelationSetFromCoreObject):
21115
211162014-01-20  Ryuan Choi  <ryuan.choi@samsung.com>
21117
21118        [CMAKE] Remove Nix from CMake scripts
21119        https://bugs.webkit.org/show_bug.cgi?id=127264
21120
21121        Reviewed by Anders Carlsson.
21122
21123        * CMakeLists.txt:
21124
211252014-01-20  Anders Carlsson  <andersca@apple.com>
21126
21127        Remove an unused PageGroup function
21128        https://bugs.webkit.org/show_bug.cgi?id=127327
21129
21130        Reviewed by Andreas Kling.
21131
21132        * WebCore.exp.in:
21133        * page/PageGroup.cpp:
21134        * page/PageGroup.h:
21135
211362014-01-20  Anders Carlsson  <andersca@apple.com>
21137
21138        Move user style sheet handling to UserContentController
21139        https://bugs.webkit.org/show_bug.cgi?id=127322
21140        <rdar://problem/15861296>
21141
21142        Reviewed by Andreas Kling.
21143
21144        * dom/DocumentStyleSheetCollection.cpp:
21145        (WebCore::DocumentStyleSheetCollection::updateInjectedStyleSheetCache):
21146        * page/PageGroup.cpp:
21147        (WebCore::PageGroup::addUserStyleSheetToWorld):
21148        (WebCore::PageGroup::removeUserStyleSheetFromWorld):
21149        (WebCore::PageGroup::removeUserStyleSheetsFromWorld):
21150        (WebCore::PageGroup::removeAllUserContent):
21151        * page/PageGroup.h:
21152        * page/UserContentController.cpp:
21153        (WebCore::UserContentController::addUserStyleSheet):
21154        (WebCore::UserContentController::removeUserStyleSheet):
21155        (WebCore::UserContentController::removeUserStyleSheets):
21156        (WebCore::UserContentController::removeAllUserContent):
21157        (WebCore::UserContentController::invalidateInjectedStyleSheetCacheInAllFrames):
21158        * page/UserContentController.h:
21159        (WebCore::UserContentController::userStyleSheets):
21160
211612014-01-20  Benjamin Poulain  <benjamin@webkit.org>
21162
21163        Add a nicer way to iterate over all the attributes of an element
21164        https://bugs.webkit.org/show_bug.cgi?id=127266
21165
21166        Reviewed by Geoffrey Garen.
21167
21168        When using Element::attributeAt() in a loop, the compiler had to generate two kinds of
21169        accessor:
21170        -If the element data is unique, the length and data comes from the attribute Vector.
21171        -If the element data is shared, the data comes from the tail of elementData itself.
21172
21173        The choice was done for every access, which caused the assembly to be a little
21174        hard to follow.
21175        This patch unify the data access by doing everything as a array pointer with offset (getting
21176        that data from Vector when necessary).
21177
21178        To make it easier to do the right thing, a new iterator was added so that range-based loops
21179        can replace all the faulty cases.
21180
21181        * css/SelectorChecker.cpp:
21182        (WebCore::anyAttributeMatches):
21183        * css/SelectorChecker.h:
21184        (WebCore::SelectorChecker::checkExactAttribute):
21185        * dom/DatasetDOMStringMap.cpp:
21186        (WebCore::DatasetDOMStringMap::getNames):
21187        (WebCore::DatasetDOMStringMap::item):
21188        (WebCore::DatasetDOMStringMap::contains):
21189        * dom/Element.cpp:
21190        (WebCore::Element::normalizeAttributes):
21191        (WebCore::Element::detachAllAttrNodesFromElement):
21192        (WebCore::Element::cloneAttributesFromElement):
21193        * dom/Element.h:
21194        (WebCore::Element::attributesIterator):
21195        * dom/ElementData.cpp:
21196        (WebCore::ElementData::isEquivalent):
21197        (WebCore::ElementData::findAttributeIndexByNameSlowCase):
21198        * dom/ElementData.h:
21199        (WebCore::AttributeConstIterator::AttributeConstIterator):
21200        (WebCore::AttributeConstIterator::operator*):
21201        (WebCore::AttributeConstIterator::operator->):
21202        (WebCore::AttributeConstIterator::operator++):
21203        (WebCore::AttributeConstIterator::operator==):
21204        (WebCore::AttributeConstIterator::operator!=):
21205        (WebCore::AttributeIteratorAccessor::AttributeIteratorAccessor):
21206        (WebCore::AttributeIteratorAccessor::begin):
21207        (WebCore::AttributeIteratorAccessor::end):
21208        (WebCore::ElementData::attributesIterator):
21209        * dom/Node.cpp:
21210        (WebCore::Node::isDefaultNamespace):
21211        (WebCore::Node::lookupNamespaceURI):
21212        (WebCore::Node::lookupNamespacePrefix):
21213        (WebCore::Node::compareDocumentPosition):
21214        * dom/StyledElement.cpp:
21215        (WebCore::StyledElement::makePresentationAttributeCacheKey):
21216        (WebCore::StyledElement::rebuildPresentationAttributeStyle):
21217        * editing/MarkupAccumulator.cpp:
21218        (WebCore::MarkupAccumulator::appendElement):
21219        * editing/markup.cpp:
21220        (WebCore::completeURLs):
21221        (WebCore::StyledMarkupAccumulator::appendElement):
21222        * html/HTMLEmbedElement.cpp:
21223        (WebCore::HTMLEmbedElement::parametersForPlugin):
21224        * html/HTMLObjectElement.cpp:
21225        (WebCore::HTMLObjectElement::parametersForPlugin):
21226        * inspector/DOMPatchSupport.cpp:
21227        (WebCore::DOMPatchSupport::innerPatchNode):
21228        (WebCore::DOMPatchSupport::createDigest):
21229        * inspector/InspectorDOMAgent.cpp:
21230        (WebCore::InspectorDOMAgent::setAttributesAsText):
21231        (WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
21232        * inspector/InspectorNodeFinder.cpp:
21233        (WebCore::InspectorNodeFinder::matchesElement):
21234        * page/PageSerializer.cpp:
21235        (WebCore::isCharsetSpecifyingNode):
21236        * xml/XPathNodeSet.cpp:
21237        (WebCore::XPath::NodeSet::traversalSort):
21238        * xml/XPathStep.cpp:
21239        (WebCore::XPath::Step::nodesInAxis):
21240        * xml/parser/XMLDocumentParserLibxml2.cpp:
21241        (WebCore::XMLDocumentParser::XMLDocumentParser):
21242
212432014-01-20  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
21244
21245        Do refactor in collectGradientAttributes() and renderStyleForLengthResolve()
21246        https://bugs.webkit.org/show_bug.cgi?id=126869
21247
21248        Reviewed by Dirk Schulze.
21249
21250        Some SVG functions have done a first iteration by using a boolean flag. This is
21251        one of poor implementations. This patch fix it by extracting a logic into a new method.
21252        Additionally it would be good to use do-while() loop instead of using while() in
21253        renderStyleForLengthResolving() because a first condition is always true.
21254
21255        Merge r165358 from blink.
21256
21257        * svg/SVGLengthContext.cpp:
21258        (WebCore::renderStyleForLengthResolving):
21259        * svg/SVGLinearGradientElement.cpp:
21260        (WebCore::setGradientAttributes):
21261        (WebCore::SVGLinearGradientElement::collectGradientAttributes):
21262        * svg/SVGRadialGradientElement.cpp:
21263        (WebCore::setGradientAttributes):
21264        (WebCore::SVGRadialGradientElement::collectGradientAttributes):
21265
212662014-01-20  Anders Carlsson  <andersca@apple.com>
21267
21268        UserContentController should keep track of user scripts
21269        https://bugs.webkit.org/show_bug.cgi?id=127317
21270        <rdar://problem/15861296>
21271
21272        Reviewed by Andreas Kling.
21273
21274        Move handling of user scripts from PageGroup to UserContentController.
21275
21276        * page/Frame.cpp:
21277        (WebCore::Frame::injectUserScripts):
21278        * page/PageGroup.cpp:
21279        (WebCore::PageGroup::addUserScriptToWorld):
21280        (WebCore::PageGroup::removeUserScriptFromWorld):
21281        (WebCore::PageGroup::removeUserScriptsFromWorld):
21282        (WebCore::PageGroup::removeAllUserContent):
21283        * page/PageGroup.h:
21284        * page/UserContentController.cpp:
21285        (WebCore::UserContentController::addUserScript):
21286        (WebCore::UserContentController::removeUserScript):
21287        (WebCore::UserContentController::removeUserScripts):
21288        (WebCore::UserContentController::removeAllUserContent):
21289        * page/UserContentController.h:
21290        (WebCore::UserContentController::userScripts):
21291
212922014-01-20  Anders Carlsson  <andersca@apple.com>
21293
21294        Give each page a UserContentController
21295        https://bugs.webkit.org/show_bug.cgi?id=127315
21296        <rdar://problem/15861296>
21297
21298        Reviewed by Andreas Kling.
21299
21300        Add a UserContentController object to PageGroup and have the page group set it on any
21301        pages that are added to the page group.
21302
21303        This is another step towards moving handling of user content away from PageGroup and make it
21304        possible for each page to have different user content.
21305
21306        * page/Page.cpp:
21307        (WebCore::Page::~Page):
21308        (WebCore::Page::setUserContentController):
21309        * page/Page.h:
21310        (WebCore::Page::userContentController):
21311        * page/PageGroup.cpp:
21312        (WebCore::PageGroup::PageGroup):
21313        (WebCore::PageGroup::addPage):
21314        (WebCore::PageGroup::removePage):
21315        * page/PageGroup.h:
21316        * page/UserContentController.cpp:
21317        (WebCore::UserContentController::addPage):
21318        (WebCore::UserContentController::removePage):
21319        * page/UserContentController.h:
21320
213212014-01-20  Jeremy Jones  <jeremyj@apple.com>
21322
21323        Add AVKit fullscreen video interface.
21324        https://bugs.webkit.org/show_bug.cgi?id=126818
21325
21326        Reviewed by Eric Carlson.
21327
21328        No new tests, no observable change in functionality.
21329
21330        * WebCore.exp.in:
21331        * WebCore.xcodeproj/project.pbxproj:
21332        * html/HTMLMediaElement.cpp:
21333        (WebCore::HTMLMediaElement::parseAttribute):
21334        * html/HTMLMediaElement.h:
21335        Add ability for fullscreen to borrow the AVPlayerLayer.
21336        * page/Settings.cpp:
21337        * page/Settings.h:
21338        (WebCore::Settings::setMediaPlaybackFullscreenAVKit):
21339        (WebCore::Settings::mediaPlaybackFullscreenAVKit):
21340        Add a disabled setting.
21341        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
21342        (WebCore::MediaPlayerPrivateAVFoundation::supportsFullscreen):
21343        Enabled fullscreen for iOS.
21344        * platform/ios/WebVideoFullscreenControllerAVKit.h: Added.
21345        * platform/ios/WebVideoFullscreenControllerAVKit.mm: Added.
21346        (-[WebAVPlayerController init]):
21347        (-[WebAVPlayerController dealloc]):
21348        (-[WebAVPlayerController forwardingTargetForSelector:]):
21349        (-[WebAVPlayerController shouldDismissForDone]):
21350        (-[WebAVPlayerController play:]):
21351        (-[WebAVPlayerController pause:]):
21352        (-[WebAVPlayerController togglePlayback:]):
21353        (-[WebAVPlayerController isPlaying]):
21354        (-[WebAVPlayerController setPlaying:]):
21355        (+[WebAVPlayerController keyPathsForValuesAffectingPlaying]):
21356        (-[WebAVPlayerController seekToTime:]):
21357        (-[WebAVPlayerController updateTimingWithCurrentTime:]):
21358        (-[WebAVPlayerController effectiveRate]):
21359        (-[WebAVPlayerController setMediaElement:]):
21360        (-[WebAVPlayerController handleEvent:]):
21361        (-[WebVideoFullscreenController init]):
21362        (-[WebVideoFullscreenController dealloc]):
21363        (-[WebVideoFullscreenController setMediaElement:]):
21364        (-[WebVideoFullscreenController mediaElement]):
21365        (-[WebVideoFullscreenController enterFullscreen:]):
21366        (-[WebVideoFullscreenController exitFullscreen]):
21367        Add WebAVPlayerController for HTMLMediaElememt to interface with AVPlayerViewController.
21368
213692014-01-20  Zan Dobersek  <zdobersek@igalia.com>
21370
21371        Replace uses of std::forward<T>(), std::unique_ptr<T>::clear() that landed in r162368
21372        https://bugs.webkit.org/show_bug.cgi?id=127306
21373
21374        Reviewed by Darin Adler.
21375
21376        Address the post-landing reviews of the r162368 commit that moved WebAudio source code to using std::unique_ptr.
21377        std::move() should be used instead of std::forward<T>() in HRTFKernel::create().
21378        Instead of calling std::unique_ptr<T>::reset(), nullptr should be assigned to that smart pointer to reset it.
21379
21380        * Modules/webaudio/ConvolverNode.cpp:
21381        (WebCore::ConvolverNode::uninitialize):
21382        * Modules/webaudio/DynamicsCompressorNode.cpp:
21383        (WebCore::DynamicsCompressorNode::uninitialize):
21384        * Modules/webaudio/MediaElementAudioSourceNode.cpp:
21385        (WebCore::MediaElementAudioSourceNode::setFormat):
21386        * Modules/webaudio/PannerNode.cpp:
21387        (WebCore::PannerNode::uninitialize):
21388        * platform/audio/AudioChannel.h:
21389        (WebCore::AudioChannel::set):
21390        * platform/audio/HRTFDatabaseLoader.cpp:
21391        (WebCore::HRTFDatabaseLoader::~HRTFDatabaseLoader):
21392        * platform/audio/HRTFKernel.h:
21393        (WebCore::HRTFKernel::create):
21394
213952014-01-20  Joseph Pecoraro  <pecoraro@apple.com>
21396
21397        Modernize WebCore/inspector with nullptr
21398        https://bugs.webkit.org/show_bug.cgi?id=127303
21399
21400        Reviewed by Anders Carlsson.
21401
21402        Ran clang-modernize -use-nullptr over WebCore/inspector.
21403
21404        * inspector/ConsoleMessage.cpp:
21405        (WebCore::ConsoleMessage::ConsoleMessage):
21406        * inspector/ConsoleMessage.h:
21407        * inspector/ContentSearchUtils.cpp:
21408        (WebCore::ContentSearchUtils::findMagicComment):
21409        * inspector/DOMEditor.cpp:
21410        (WebCore::DOMEditor::SetOuterHTMLAction::SetOuterHTMLAction):
21411        * inspector/DOMPatchSupport.cpp:
21412        (WebCore::DOMPatchSupport::patchDocument):
21413        (WebCore::DOMPatchSupport::patchNode):
21414        (WebCore::DOMPatchSupport::diff):
21415        (WebCore::DOMPatchSupport::innerPatchChildren):
21416        * inspector/InspectorApplicationCacheAgent.cpp:
21417        (WebCore::InspectorApplicationCacheAgent::willDestroyFrontendAndBackend):
21418        (WebCore::InspectorApplicationCacheAgent::assertFrameWithDocumentLoader):
21419        * inspector/InspectorCanvasAgent.cpp:
21420        (WebCore::InspectorCanvasAgent::disable):
21421        (WebCore::InspectorCanvasAgent::notifyRenderingContextWasWrapped):
21422        (WebCore::InspectorCanvasAgent::frameNavigated):
21423        * inspector/InspectorConsoleAgent.cpp:
21424        (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
21425        (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
21426        (WebCore::InspectorConsoleAgent::clearMessages):
21427        (WebCore::InspectorConsoleAgent::didFinishXHRLoading):
21428        (WebCore::InspectorConsoleAgent::didReceiveResponse):
21429        (WebCore::InspectorConsoleAgent::didFailLoading):
21430        * inspector/InspectorConsoleAgent.h:
21431        * inspector/InspectorController.cpp:
21432        (WebCore::InspectorController::inspectedPageDestroyed):
21433        * inspector/InspectorDOMDebuggerAgent.cpp:
21434        (WebCore::InspectorDOMDebuggerAgent::disable):
21435        (WebCore::InspectorDOMDebuggerAgent::discardAgent):
21436        * inspector/InspectorDOMStorageAgent.cpp:
21437        (WebCore::InspectorDOMStorageAgent::~InspectorDOMStorageAgent):
21438        (WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
21439        (WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
21440        (WebCore::InspectorDOMStorageAgent::findStorageArea):
21441        * inspector/InspectorDatabaseAgent.cpp:
21442        (WebCore::InspectorDatabaseAgent::~InspectorDatabaseAgent):
21443        (WebCore::InspectorDatabaseAgent::findByFileName):
21444        (WebCore::InspectorDatabaseAgent::databaseForId):
21445        * inspector/InspectorDebuggerAgent.cpp:
21446        (WebCore::InspectorDebuggerAgent::addMessageToConsole):
21447        (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
21448        (WebCore::InspectorDebuggerAgent::didParseSource):
21449        (WebCore::InspectorDebuggerAgent::didContinue):
21450        (WebCore::InspectorDebuggerAgent::clearBreakDetails):
21451        * inspector/InspectorFrontendHost.cpp:
21452        (WebCore::FrontendMenuProvider::disconnect):
21453        (WebCore::InspectorFrontendHost::InspectorFrontendHost):
21454        (WebCore::InspectorFrontendHost::disconnectClient):
21455        * inspector/InspectorHeapProfilerAgent.cpp:
21456        (WebCore::InspectorHeapProfilerAgent::~InspectorHeapProfilerAgent):
21457        * inspector/InspectorIndexedDBAgent.cpp:
21458        (WebCore::assertDocument):
21459        (WebCore::assertIDBFactory):
21460        (WebCore::InspectorIndexedDBAgent::requestData):
21461        * inspector/InspectorInstrumentation.cpp:
21462        (WebCore::frameForScriptExecutionContext):
21463        (WebCore::InspectorInstrumentation::willDispatchEventOnWindowImpl):
21464        (WebCore::InspectorInstrumentation::didReceiveResourceResponseButCanceledImpl):
21465        (WebCore::InspectorInstrumentation::consoleAgentEnabled):
21466        (WebCore::InspectorInstrumentation::unregisterInstrumentingAgents):
21467        (WebCore::InspectorInstrumentation::retrieveTimelineAgent):
21468        (WebCore::InspectorInstrumentation::instrumentingAgentsForPage):
21469        (WebCore::InspectorInstrumentation::instrumentingAgentsForWorkerGlobalScope):
21470        (WebCore::InspectorInstrumentation::instrumentingAgentsForNonDocumentContext):
21471        * inspector/InspectorInstrumentation.h:
21472        (WebCore::InspectorInstrumentation::instrumentingAgentsForContext):
21473        (WebCore::InspectorInstrumentation::instrumentingAgentsForFrame):
21474        (WebCore::InspectorInstrumentation::instrumentingAgentsForDocument):
21475        * inspector/InspectorLayerTreeAgent.cpp:
21476        (WebCore::InspectorLayerTreeAgent::disable):
21477        * inspector/InspectorNodeFinder.cpp:
21478        (WebCore::InspectorNodeFinder::searchUsingXPath):
21479        * inspector/InspectorOverlay.cpp:
21480        (WebCore::buildObjectForElementInfo):
21481        * inspector/InspectorPageAgent.cpp:
21482        (WebCore::InspectorPageAgent::cachedResourceContent):
21483        (WebCore::InspectorPageAgent::sharedBufferContent):
21484        (WebCore::InspectorPageAgent::disable):
21485        (WebCore::InspectorPageAgent::frameForId):
21486        (WebCore::InspectorPageAgent::findFrameWithSecurityOrigin):
21487        * inspector/InspectorProfilerAgent.cpp:
21488        (WebCore::InspectorProfilerAgent::~InspectorProfilerAgent):
21489        * inspector/InspectorProfilerAgent.h:
21490        * inspector/InspectorResourceAgent.cpp:
21491        (WebCore::buildObjectForResourceResponse):
21492        (WebCore::InspectorResourceAgent::willSendRequest):
21493        (WebCore::InspectorResourceAgent::didReceiveResponse):
21494        (WebCore::InspectorResourceAgent::didFinishLoading):
21495        (WebCore::InspectorResourceAgent::didFailLoading):
21496        (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
21497        (WebCore::InspectorResourceAgent::disable):
21498        * inspector/InspectorRuntimeAgent.cpp:
21499        (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
21500        * inspector/InspectorStyleSheet.cpp:
21501        (ParsedStyleSheet::ruleSourceDataAt):
21502        (WebCore::buildSourceRangeObject):
21503        (WebCore::asCSSRuleList):
21504        (WebCore::fillMediaListChain):
21505        (WebCore::InspectorStyle::setPropertyText):
21506        (WebCore::InspectorStyle::populateAllProperties):
21507        (WebCore::InspectorStyle::extractSourceData):
21508        (WebCore::InspectorStyle::newLineAndWhitespaceDelimiters):
21509        (WebCore::InspectorStyleSheet::addRule):
21510        (WebCore::InspectorStyleSheet::ruleForId):
21511        (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
21512        (WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo):
21513        (WebCore::InspectorStyleSheet::buildObjectForRule):
21514        (WebCore::InspectorStyleSheet::styleForId):
21515        (WebCore::InspectorStyleSheet::inspectorStyleForId):
21516        (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
21517        * inspector/InspectorStyleSheet.h:
21518        (WebCore::InspectorCSSId::asProtocolValue):
21519        * inspector/InspectorTimelineAgent.cpp:
21520        (WebCore::InspectorTimelineAgent::stop):
21521        (WebCore::InspectorTimelineAgent::willComposite):
21522        (WebCore::InspectorTimelineAgent::page):
21523        * inspector/InspectorWorkerAgent.cpp:
21524        (WebCore::InspectorWorkerAgent::~InspectorWorkerAgent):
21525        * inspector/InstrumentingAgents.cpp:
21526        (WebCore::InstrumentingAgents::InstrumentingAgents):
21527        (WebCore::InstrumentingAgents::reset):
21528        * inspector/NetworkResourcesData.cpp:
21529        (WebCore::NetworkResourcesData::ResourceData::ResourceData):
21530        (WebCore::NetworkResourcesData::xhrReplayData):
21531        (WebCore::NetworkResourcesData::removeCachedResource):
21532        (WebCore::NetworkResourcesData::resourceDataForRequestId):
21533        * inspector/PageConsoleAgent.cpp:
21534        (WebCore::PageConsoleAgent::~PageConsoleAgent):
21535        * inspector/PageDebuggerAgent.cpp:
21536        (WebCore::PageDebuggerAgent::disable):
21537        * inspector/PageRuntimeAgent.cpp:
21538        (WebCore::PageRuntimeAgent::~PageRuntimeAgent):
21539        (WebCore::PageRuntimeAgent::didCreateMainWorldContext):
21540        (WebCore::PageRuntimeAgent::reportExecutionContextCreation):
21541        * inspector/ScriptArguments.cpp:
21542        (WebCore::ScriptArguments::globalState):
21543        * inspector/WorkerRuntimeAgent.cpp:
21544        (WebCore::WorkerRuntimeAgent::~WorkerRuntimeAgent):
21545
215462014-01-20  Anders Carlsson  <andersca@apple.com>
21547
21548        Add empty UserContentController class
21549        https://bugs.webkit.org/show_bug.cgi?id=127300
21550        <rdar://problem/15861296>
21551
21552        Reviewed by Dan Bernstein.
21553
21554        This is the first step towards moving handling of user scripts and style sheets from
21555        the page group to a separate objects and ultimately make them be settable per page instead of per page group.
21556
21557        * CMakeLists.txt:
21558        * GNUmakefile.list.am:
21559        * WebCore.vcxproj/WebCore.vcxproj:
21560        * WebCore.vcxproj/WebCore.vcxproj.filters:
21561        * WebCore.xcodeproj/project.pbxproj:
21562        * page/UserContentController.cpp: Added.
21563        (WebCore::UserContentController::create):
21564        (WebCore::UserContentController::UserContentController):
21565        (WebCore::UserContentController::~UserContentController):
21566        * page/UserContentController.h: Added.
21567
215682014-01-20  Joseph Pecoraro  <pecoraro@apple.com>
21569
21570        Run clang-modernize and let it add a bunch of missing overrides in WebCore/inspector
21571        https://bugs.webkit.org/show_bug.cgi?id=127206
21572
21573        Reviewed by Anders Carlsson.
21574
21575        Let clang-modernize add overrides.
21576
21577        * inspector/DOMEditor.cpp:
21578        * inspector/InspectorApplicationCacheAgent.h:
21579        * inspector/InspectorCSSAgent.h:
21580        * inspector/InspectorCanvasAgent.h:
21581        * inspector/InspectorConsoleAgent.h:
21582        * inspector/InspectorDOMAgent.h:
21583        * inspector/InspectorDOMDebuggerAgent.h:
21584        * inspector/InspectorDOMStorageAgent.h:
21585        * inspector/InspectorDatabaseAgent.cpp:
21586        * inspector/InspectorDatabaseAgent.h:
21587        * inspector/InspectorDebuggerAgent.h:
21588        * inspector/InspectorFrontendHost.cpp:
21589        * inspector/InspectorHeapProfilerAgent.cpp:
21590        (WebCore::InspectorHeapProfilerAgent::getHeapSnapshot):
21591        (WebCore::InspectorHeapProfilerAgent::takeHeapSnapshot):
21592        * inspector/InspectorHeapProfilerAgent.h:
21593        * inspector/InspectorHistory.cpp:
21594        * inspector/InspectorIndexedDBAgent.cpp:
21595        * inspector/InspectorIndexedDBAgent.h:
21596        * inspector/InspectorInputAgent.h:
21597        * inspector/InspectorLayerTreeAgent.h:
21598        * inspector/InspectorMemoryAgent.h:
21599        * inspector/InspectorPageAgent.h:
21600        * inspector/InspectorProfilerAgent.cpp:
21601        * inspector/InspectorProfilerAgent.h:
21602        * inspector/InspectorResourceAgent.h:
21603        * inspector/InspectorRuntimeAgent.h:
21604        * inspector/InspectorStyleSheet.h:
21605        * inspector/InspectorTimelineAgent.h:
21606        * inspector/InspectorWorkerAgent.cpp:
21607        * inspector/InspectorWorkerAgent.h:
21608        * inspector/PageConsoleAgent.h:
21609        * inspector/PageDebuggerAgent.h:
21610        * inspector/PageRuntimeAgent.h:
21611        * inspector/WorkerConsoleAgent.h:
21612        * inspector/WorkerDebuggerAgent.cpp:
21613        * inspector/WorkerInspectorController.cpp:
21614        * inspector/WorkerRuntimeAgent.h:
21615
216162014-01-20  Zan Dobersek  <zdobersek@igalia.com>
21617
21618        Move WebAudio source code to std::unique_ptr
21619        https://bugs.webkit.org/show_bug.cgi?id=127274
21620
21621        Reviewed by Eric Carlson.
21622
21623        Move from using OwnPtr and PassOwnPtr to using std::unique_ptr and move semantics
21624        in the WebAudio module and the WebAudio code in the platform layer.
21625
21626        * Modules/webaudio/AsyncAudioDecoder.cpp:
21627        * Modules/webaudio/AsyncAudioDecoder.h:
21628        * Modules/webaudio/AudioBasicInspectorNode.cpp:
21629        (WebCore::AudioBasicInspectorNode::AudioBasicInspectorNode):
21630        * Modules/webaudio/AudioBasicProcessorNode.cpp:
21631        (WebCore::AudioBasicProcessorNode::AudioBasicProcessorNode):
21632        * Modules/webaudio/AudioBasicProcessorNode.h:
21633        * Modules/webaudio/AudioBufferSourceNode.cpp:
21634        (WebCore::AudioBufferSourceNode::AudioBufferSourceNode):
21635        * Modules/webaudio/AudioContext.cpp:
21636        * Modules/webaudio/AudioContext.h:
21637        * Modules/webaudio/AudioDestinationNode.cpp:
21638        (WebCore::AudioDestinationNode::AudioDestinationNode):
21639        * Modules/webaudio/AudioNode.cpp:
21640        (WebCore::AudioNode::addInput):
21641        (WebCore::AudioNode::addOutput):
21642        (WebCore::AudioNode::checkNumberOfChannelsForInput):
21643        * Modules/webaudio/AudioNode.h:
21644        * Modules/webaudio/BiquadFilterNode.cpp:
21645        (WebCore::BiquadFilterNode::BiquadFilterNode):
21646        * Modules/webaudio/BiquadProcessor.cpp:
21647        (WebCore::BiquadProcessor::createKernel):
21648        (WebCore::BiquadProcessor::getFrequencyResponse):
21649        * Modules/webaudio/BiquadProcessor.h:
21650        * Modules/webaudio/ChannelMergerNode.cpp:
21651        (WebCore::ChannelMergerNode::ChannelMergerNode):
21652        * Modules/webaudio/ChannelSplitterNode.cpp:
21653        (WebCore::ChannelSplitterNode::ChannelSplitterNode):
21654        * Modules/webaudio/ConvolverNode.cpp:
21655        (WebCore::ConvolverNode::ConvolverNode):
21656        (WebCore::ConvolverNode::uninitialize):
21657        (WebCore::ConvolverNode::setBuffer):
21658        * Modules/webaudio/ConvolverNode.h:
21659        * Modules/webaudio/DefaultAudioDestinationNode.h:
21660        * Modules/webaudio/DelayNode.cpp:
21661        (WebCore::DelayNode::DelayNode):
21662        * Modules/webaudio/DelayProcessor.cpp:
21663        (WebCore::DelayProcessor::createKernel):
21664        * Modules/webaudio/DelayProcessor.h:
21665        * Modules/webaudio/DynamicsCompressorNode.cpp:
21666        (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
21667        (WebCore::DynamicsCompressorNode::initialize):
21668        (WebCore::DynamicsCompressorNode::uninitialize):
21669        * Modules/webaudio/DynamicsCompressorNode.h:
21670        * Modules/webaudio/GainNode.cpp:
21671        (WebCore::GainNode::GainNode):
21672        * Modules/webaudio/MediaElementAudioSourceNode.cpp:
21673        (WebCore::MediaElementAudioSourceNode::MediaElementAudioSourceNode):
21674        (WebCore::MediaElementAudioSourceNode::setFormat):
21675        * Modules/webaudio/MediaElementAudioSourceNode.h:
21676        * Modules/webaudio/MediaStreamAudioDestinationNode.h:
21677        * Modules/webaudio/MediaStreamAudioSource.cpp:
21678        * Modules/webaudio/MediaStreamAudioSourceNode.cpp:
21679        (WebCore::MediaStreamAudioSourceNode::MediaStreamAudioSourceNode):
21680        * Modules/webaudio/MediaStreamAudioSourceNode.h:
21681        * Modules/webaudio/OscillatorNode.cpp:
21682        (WebCore::OscillatorNode::OscillatorNode):
21683        * Modules/webaudio/PannerNode.cpp:
21684        (WebCore::PannerNode::PannerNode):
21685        (WebCore::PannerNode::uninitialize):
21686        (WebCore::PannerNode::setPanningModel):
21687        * Modules/webaudio/PannerNode.h:
21688        * Modules/webaudio/PeriodicWave.cpp:
21689        (WebCore::PeriodicWave::createBandLimitedTables):
21690        * Modules/webaudio/PeriodicWave.h:
21691        * Modules/webaudio/RealtimeAnalyser.cpp:
21692        (WebCore::RealtimeAnalyser::RealtimeAnalyser):
21693        (WebCore::RealtimeAnalyser::setFftSize):
21694        * Modules/webaudio/RealtimeAnalyser.h:
21695        * Modules/webaudio/ScriptProcessorNode.cpp:
21696        (WebCore::ScriptProcessorNode::ScriptProcessorNode):
21697        * Modules/webaudio/WaveShaperDSPKernel.cpp:
21698        (WebCore::WaveShaperDSPKernel::lazyInitializeOversampling):
21699        * Modules/webaudio/WaveShaperDSPKernel.h:
21700        * Modules/webaudio/WaveShaperNode.cpp:
21701        (WebCore::WaveShaperNode::WaveShaperNode):
21702        * Modules/webaudio/WaveShaperProcessor.cpp:
21703        (WebCore::WaveShaperProcessor::createKernel):
21704        * Modules/webaudio/WaveShaperProcessor.h:
21705        * platform/audio/AudioBus.cpp:
21706        (WebCore::AudioBus::AudioBus):
21707        (WebCore::AudioBus::copyWithGainFrom):
21708        * platform/audio/AudioBus.h:
21709        * platform/audio/AudioChannel.cpp:
21710        * platform/audio/AudioChannel.h:
21711        (WebCore::AudioChannel::AudioChannel):
21712        (WebCore::AudioChannel::set):
21713        * platform/audio/AudioDSPKernelProcessor.h:
21714        * platform/audio/AudioDestination.h:
21715        * platform/audio/AudioResampler.cpp:
21716        (WebCore::AudioResampler::AudioResampler):
21717        (WebCore::AudioResampler::configureChannels):
21718        * platform/audio/AudioResampler.h:
21719        * platform/audio/AudioSession.h:
21720        * platform/audio/DynamicsCompressor.cpp:
21721        (WebCore::DynamicsCompressor::setNumberOfChannels):
21722        * platform/audio/DynamicsCompressor.h:
21723        * platform/audio/DynamicsCompressorKernel.cpp:
21724        (WebCore::DynamicsCompressorKernel::setNumberOfChannels):
21725        * platform/audio/DynamicsCompressorKernel.h:
21726        * platform/audio/FFTFrame.cpp:
21727        (WebCore::FFTFrame::createInterpolatedFrame):
21728        * platform/audio/FFTFrame.h:
21729        * platform/audio/HRTFDatabase.cpp:
21730        (WebCore::HRTFDatabase::HRTFDatabase):
21731        * platform/audio/HRTFDatabase.h:
21732        * platform/audio/HRTFDatabaseLoader.cpp:
21733        (WebCore::HRTFDatabaseLoader::~HRTFDatabaseLoader):
21734        (WebCore::HRTFDatabaseLoader::load):
21735        * platform/audio/HRTFDatabaseLoader.h:
21736        * platform/audio/HRTFElevation.cpp:
21737        (WebCore::HRTFElevation::createForSubject):
21738        (WebCore::HRTFElevation::createByInterpolatingSlices):
21739        * platform/audio/HRTFElevation.h:
21740        (WebCore::HRTFElevation::HRTFElevation):
21741        * platform/audio/HRTFKernel.cpp:
21742        (WebCore::HRTFKernel::HRTFKernel):
21743        (WebCore::HRTFKernel::createImpulseResponse):
21744        (WebCore::HRTFKernel::createInterpolatedKernel):
21745        * platform/audio/HRTFKernel.h:
21746        (WebCore::HRTFKernel::create):
21747        (WebCore::HRTFKernel::HRTFKernel):
21748        * platform/audio/MultiChannelResampler.cpp:
21749        (WebCore::MultiChannelResampler::MultiChannelResampler):
21750        * platform/audio/MultiChannelResampler.h:
21751        * platform/audio/Panner.cpp:
21752        (WebCore::Panner::create):
21753        * platform/audio/Panner.h:
21754        * platform/audio/Reverb.cpp:
21755        (WebCore::Reverb::initialize):
21756        * platform/audio/Reverb.h:
21757        * platform/audio/ReverbConvolver.h:
21758        * platform/audio/ReverbConvolverStage.cpp:
21759        (WebCore::ReverbConvolverStage::ReverbConvolverStage):
21760        * platform/audio/ReverbConvolverStage.h:
21761        * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
21762        (WebCore::AudioDestination::create):
21763        * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
21764        * platform/audio/ios/AudioDestinationIOS.cpp:
21765        (WebCore::AudioDestination::create):
21766        * platform/audio/ios/AudioSessionIOS.mm:
21767        (WebCore::AudioSession::AudioSession):
21768        * platform/audio/mac/AudioDestinationMac.cpp:
21769        (WebCore::AudioDestination::create):
21770        * platform/audio/mac/AudioDestinationMac.h:
21771        * platform/audio/mac/AudioSessionMac.cpp:
21772        (WebCore::AudioSession::AudioSession):
21773
217742014-01-20  Morten Stenshorne  <mstensho@opera.com>
21775
21776        Region based multicol: support explicit column breaks
21777        https://bugs.webkit.org/show_bug.cgi?id=123993
21778
21779        Reviewed by David Hyatt.
21780
21781        Merely supporting insertion of explicit (forced) column breaks in
21782        the region based multicol implementation is really simple: just
21783        hook up with what the CSS regions code is already doing.
21784
21785        However, there is one complication: column balancing. In order to
21786        balance columns as nicely as possible when there are explicit
21787        breaks, we need to figure out between which explicit breaks the
21788        implicit breaks will occur (if there's room for any at all).
21789
21790        Tests: fast/multicol/newmulticol/break-after.html
21791               fast/multicol/newmulticol/break-before.html
21792               fast/multicol/newmulticol/breaks-2-columns-3-no-balancing.html
21793               fast/multicol/newmulticol/breaks-2-columns-3.html
21794               fast/multicol/newmulticol/breaks-3-columns-3.html
21795               fast/multicol/newmulticol/fixed-height-fill-balance-2.html
21796
21797        * rendering/RenderBlockFlow.cpp:
21798        (WebCore::RenderBlockFlow::applyBeforeBreak):
21799        (WebCore::RenderBlockFlow::applyAfterBreak): Use the already
21800        existing region breaking code when inserting breaks in region
21801        based multicol.
21802        * rendering/RenderFlowThread.h:
21803        * rendering/RenderMultiColumnBlock.cpp:
21804        (WebCore::RenderMultiColumnBlock::RenderMultiColumnBlock):
21805        (WebCore::RenderMultiColumnBlock::relayoutForPagination): Avoid
21806        re-balancing if the multicol's contents were not laid out. Apart
21807        from being good for performance, this is now necessary because of
21808        how explicit breaks are implemented.
21809        (WebCore::RenderMultiColumnBlock::layoutSpecialExcludedChild):
21810        Detect if the contents are going to be laid out, or skipped, so
21811        that we can tell if we need to (re-)balance the columns
21812        afterwards.
21813        * rendering/RenderMultiColumnBlock.h:
21814        * rendering/RenderMultiColumnFlowThread.cpp:
21815        (WebCore::RenderMultiColumnFlowThread::addForcedRegionBreak):
21816        Locate the appropriate multi-column set and call its
21817        addForcedBreak().
21818        * rendering/RenderMultiColumnFlowThread.h:
21819        * rendering/RenderMultiColumnSet.cpp:
21820        (WebCore::RenderMultiColumnSet::RenderMultiColumnSet):
21821        (WebCore::RenderMultiColumnSet::findRunWithTallestColumns):
21822        (WebCore::RenderMultiColumnSet::distributeImplicitBreaks): Figure
21823        out how many implicit breaks each single "content run" should
21824        contain. The taller the content run, the more implicit breaks.
21825        (WebCore::RenderMultiColumnSet::calculateBalancedHeight): This is
21826        now a const method that only does half of what the old
21827        calculateBalancedHeight() did. The rest (such as actually storing
21828        the new column height) is done by recalculateBalancedHeight().
21829        (WebCore::RenderMultiColumnSet::clearForcedBreaks): Needs to be
21830        called between each layout pass, to clear the list of "content
21831        runs".
21832        (WebCore::RenderMultiColumnSet::addForcedBreak): Only useful when
21833        columns are to be balanced. It receives explicit (forced) breaks
21834        and stores them as "content runs". When layout is done, we'll go
21835        through the list of content runs, and see where implicit breaks
21836        should be inserted (if there's room for any). The goal is to
21837        insert implicit breaks in such a way that the final columns become
21838        as short as possible.
21839        (WebCore::RenderMultiColumnSet::recalculateBalancedHeight):
21840        Calculates and sets a new balanced column height. This used to be
21841        done directly in calculateBalancedHeight(), but that method is now
21842        const and it now only calculates the new height and returns it.
21843        (WebCore::RenderMultiColumnSet::prepareForLayout):
21844        * rendering/RenderMultiColumnSet.h: Remove old data members
21845        intended for forced breaks (they were unused), and introduce a
21846        "content run" vector instead. A new content run is triggered by an
21847        explicit break. This is only used when column balancing is
21848        enabled. When not balanced, RenderMultiColumnSet doesn't need to
21849        do anything when explicit breaks are inserted.
21850
218512014-01-20  Eric Carlson  <eric.carlson@apple.com>
21852
21853        Allow MediaSessionManager to restrict 'preload' behavior
21854        https://bugs.webkit.org/show_bug.cgi?id=127297
21855
21856        Reviewed by Jer Noble.
21857
21858        Tests: media/video-restricted-no-preload-auto.html
21859               media/video-restricted-no-preload-metadata.html
21860
21861        * html/HTMLMediaElement.cpp:
21862        (WebCore::HTMLMediaElement::parseAttribute): Apply restrictions to preload attribute before
21863            passing to media engine.
21864        (WebCore::HTMLMediaElement::loadResource): Ditto.
21865
21866        * html/HTMLMediaSession.cpp:
21867        (WebCore::HTMLMediaSession::effectivePreloadForElement): New, limit preload according to restrictions.
21868        * html/HTMLMediaSession.h:
21869
21870        * platform/audio/MediaSessionManager.h:
21871        * platform/audio/ios/MediaSessionManagerIOS.mm:
21872        (WebCore::MediaSessionManageriOS::resetRestrictions): Limit preload to metadata only. Drive-by
21873            static deviceClass initialization cleanup.
21874
21875        * testing/Internals.cpp:
21876        (WebCore::Internals::setMediaSessionRestrictions): Support MetadataPreloadingNotPermitted and
21877            AutoPreloadingNotPermitted.
21878
218792014-01-20  Andreas Kling  <akling@apple.com>
21880
21881        Let RenderImage construct its RenderImageResource.
21882        <https://webkit.org/b/127290>
21883
21884        Everyone who creates a RenderImage immediately follows up with
21885        creating a RenderImageResource and assigning it to the image.
21886
21887        Let the RenderImage constructor do this instead, and make the
21888        imageResource() accessors return references. This exposed a
21889        number of unnecessary null checks.
21890
21891        Also modernized the touched code with std::unique_ptr.
21892
21893        Reviewed by Antti Koivisto.
21894
21895        * html/HTMLImageElement.cpp:
21896        (WebCore::HTMLImageElement::createElementRenderer):
21897        (WebCore::HTMLImageElement::didAttachRenderers):
21898        * html/HTMLPlugInImageElement.cpp:
21899        (WebCore::HTMLPlugInImageElement::createElementRenderer):
21900        * html/HTMLVideoElement.cpp:
21901        (WebCore::HTMLVideoElement::didAttachRenderers):
21902        (WebCore::HTMLVideoElement::parseAttribute):
21903        * html/ImageInputType.cpp:
21904        (WebCore::ImageInputType::createInputRenderer):
21905        (WebCore::ImageInputType::attach):
21906        * loader/ImageLoader.cpp:
21907        (WebCore::ImageLoader::renderImageResource):
21908        * rendering/RenderElement.cpp:
21909        (WebCore::RenderElement::createFor):
21910        * rendering/RenderImage.cpp:
21911        (WebCore::RenderImage::RenderImage):
21912        (WebCore::RenderImage::~RenderImage):
21913        (WebCore::RenderImage::styleDidChange):
21914        (WebCore::RenderImage::imageChanged):
21915        (WebCore::RenderImage::updateIntrinsicSizeIfNeeded):
21916        (WebCore::RenderImage::updateInnerContentRect):
21917        (WebCore::RenderImage::imageDimensionsChanged):
21918        (WebCore::RenderImage::notifyFinished):
21919        (WebCore::RenderImage::paintReplaced):
21920        (WebCore::RenderImage::paintIntoRect):
21921        (WebCore::RenderImage::foregroundIsKnownToBeOpaqueInRect):
21922        (WebCore::RenderImage::minimumReplacedHeight):
21923        (WebCore::RenderImage::computeIntrinsicRatioInformation):
21924        (WebCore::RenderImage::embeddedContentBox):
21925        * rendering/RenderImage.h:
21926        (WebCore::RenderImage::imageResource):
21927        (WebCore::RenderImage::cachedImage):
21928        * rendering/RenderImageResource.h:
21929        * rendering/RenderImageResourceStyleImage.h:
21930        * rendering/RenderMedia.cpp:
21931        (WebCore::RenderMedia::RenderMedia):
21932        * rendering/RenderSnapshottedPlugIn.cpp:
21933        (WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn):
21934        * rendering/RenderSnapshottedPlugIn.h:
21935        * rendering/RenderVideo.cpp:
21936        (WebCore::RenderVideo::calculateIntrinsicSize):
21937        * rendering/style/ContentData.cpp:
21938        (WebCore::ImageContentData::createContentRenderer):
21939        * rendering/svg/RenderSVGImage.cpp:
21940        (WebCore::RenderSVGImage::RenderSVGImage):
21941        (WebCore::RenderSVGImage::~RenderSVGImage):
21942        (WebCore::RenderSVGImage::updateImageViewport):
21943        (WebCore::RenderSVGImage::paint):
21944        (WebCore::RenderSVGImage::paintForeground):
21945        * rendering/svg/RenderSVGImage.h:
21946        * svg/SVGImageElement.cpp:
21947        (WebCore::SVGImageElement::didAttachRenderers):
21948
219492014-01-20  Antti Koivisto  <antti@apple.com>
21950
21951        Update overlay scrollbars in single pass
21952        https://bugs.webkit.org/show_bug.cgi?id=127289
21953
21954        Reviewed by Anders Carlsson.
21955
21956        * platform/ScrollView.cpp:
21957        (WebCore::ScrollView::updateScrollbars):
21958        
21959            Multi-pass scrollbar resolution is only needed for traditional scrollbars. Overlay scrollbars don't affect layout.
21960
219612014-01-20  Jochen Eisinger  <jochen@chromium.org>
21962
21963        Never send a non-http(s) referrer header even with a referrer policy
21964        https://bugs.webkit.org/show_bug.cgi?id=127172
21965
21966        Reviewed by Alexey Proskuryakov.
21967
21968        This mirrors the code SecurityPolicy::shouldHideReferrer which is used
21969        for ReferrerPolicyDefault.
21970
21971        No new tests, only affects an embedder that registers other schemes,
21972        e.g. chrome://
21973
21974        * page/SecurityPolicy.cpp:
21975        (WebCore::SecurityPolicy::generateReferrerHeader):
21976
219772014-01-20  Mihai Tica  <mitica@adobe.com>
21978
21979        [CSS Background Blending] Background layer with -webkit-cross-fade doesn't blend
21980        when having -webkit-background-blending applied. Turns out the problem was
21981        the blending parameter not being passed to WebCore::CrossfadeGeneratedImage::draw
21982
21983        https://bugs.webkit.org/show_bug.cgi?id=126887
21984
21985        Reviewed by Dirk Schulze.
21986
21987        Test: css3/compositing/background-blend-mode-crossfade-image.html
21988
21989        * platform/graphics/CrossfadeGeneratedImage.cpp:
21990        (WebCore::CrossfadeGeneratedImage::draw): set blendMode on context.
21991
219922013-11-22  Sergio Villar Senin  <svillar@igalia.com>
21993
21994        Null-pointer dereference in WebCore::CSSValue::isPrimitiveValue
21995        https://bugs.webkit.org/show_bug.cgi?id=124769
21996
21997        Reviewed by Andreas Kling.
21998
21999        Test: fast/gradients/crash-on-no-position-separator.html
22000
22001        The function parseFillPosition() may not return valid values for
22002        centerX and centerY if the input data is malformed. We need to
22003        check that we get a valid pair of positions before checking that
22004        they're actually valid primitive values in the assertions.
22005
22006        * css/CSSParser.cpp:
22007        (WebCore::CSSParser::parseRadialGradient):
22008
220092014-01-20  Mihai Tica  <mitica@adobe.com>
22010
22011        Background-blend-mode doesn't work for an element with an
22012        SVG image as background and border-style or padding set.
22013        The problem consisted in the drawing path using the default
22014        blending parameter at all times.
22015        https://bugs.webkit.org/show_bug.cgi?id=118894
22016
22017        Reviewed by Dirk Schulze.
22018
22019        Test: css3/compositing/background-blend-mode-data-uri-svg-image.html
22020
22021        * svg/graphics/SVGImage.cpp:
22022        (WebCore::SVGImage::drawPatternForContainer): Pass blendMode to Image::drawPattern.
22023        * svg/graphics/SVGImage.h: Add a blendMode parameter to drawPatternForContainer.
22024        * svg/graphics/SVGImageForContainer.cpp:
22025        (WebCore::SVGImageForContainer::drawPattern): Pass blendMode to drawPatternForContainer call.
22026
220272014-01-20  Zalan Bujtas  <zalan@apple.com>
22028
22029        Subpixel layout: setSimpleLineLayoutEnabled() produces different layout when line position has CSS px fractions.
22030        https://bugs.webkit.org/show_bug.cgi?id=126892
22031
22032        Reviewed by Antti Koivisto.
22033
22034        SimpleLineLayout needs to copy normal linebox layout's subpixel rounding strategy to produce
22035        the same layout.
22036
22037        Covered by existing tests.
22038
22039        * rendering/SimpleLineLayoutFunctions.cpp:
22040        (WebCore::SimpleLineLayout::paintFlow):
22041
220422014-01-20  Gurpreet Kaur  <k.gurpreet@samsung.com>
22043
22044        Col width is not honored when dynamically updated and it would make table narrower
22045        https://bugs.webkit.org/show_bug.cgi?id=104711
22046
22047        Reviewed by Antti Koivisto.
22048
22049        Increasing the table width by increasing the colgroup width
22050        was working but decreasing the table width by decreasing the
22051        colgroup width is not working.
22052
22053        Test: fast/dom/HTMLTableColElement/resize-table-width-using-col-width.html
22054
22055        * rendering/RenderTableCol.cpp:
22056        (WebCore::RenderTableCol::styleDidChange):
22057        When colgroup width is defined table cell should adjust according to
22058        that. On decreasing colgroup width the cells maxPreferredLogicalWidth
22059        was still set to the earlier value. Setting the
22060        setPreferredLogicalWidthsDirty to true so that cells pref width is
22061        calculated again.
22062
220632014-01-20  Edit Balint  <edbalint@inf.u-szeged.hu>
22064
22065        [CoordinatedGraphics] Segmentation fault at  CoordinatedGraphicsScene::clearImageBackingContents
22066
22067        https://bugs.webkit.org/show_bug.cgi?id=125776
22068
22069        Reviewed by Csaba Osztrogonác.
22070
22071        Unexpected behavior occurs in some test cases which leads to segmentation fault.
22072
22073        * platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:
22074        (WebCore::CompositingCoordinator::removeImageBacking):
22075
220762014-01-20  Morten Stenshorne  <mstensho@opera.com>
22077
22078        Region based multicol: tall line causes taller multicol container than necessary
22079        https://bugs.webkit.org/show_bug.cgi?id=122550
22080
22081        Detect and report all column breaks, also when there's no pagination strut involved.
22082
22083        This may end up becoming the overall smallest space shortage in some cases,
22084        so we need to report it, to avoid column height over-stretching.
22085
22086        Reviewed by David Hyatt.
22087
22088        Test: fast/multicol/newmulticol/balance10.html
22089
22090        * rendering/RenderBlockFlow.cpp:
22091        (WebCore::RenderBlockFlow::adjustLinePositionForPagination):
22092
220932014-01-19  Carlos Garcia Campos  <cgarcia@igalia.com>
22094
22095        [GLIB] GVariant floating references are not correctly handled by GRefPtr
22096        https://bugs.webkit.org/show_bug.cgi?id=127246
22097
22098        Reviewed by Martin Robinson.
22099
22100        Do not adopt GVariant floating references, they will be converted
22101        to a full reference by GRefPtr.
22102
22103        * platform/gtk/PasteboardHelper.cpp:
22104        (WebCore::PasteboardHelper::fillSelectionData):
22105        (WebCore::PasteboardHelper::fillDataObjectFromDropData):
22106
221072014-01-19  Jinwoo Song  <jinwoo7.song@samsung.com>
22108
22109        Use unsigned type for the size of CSSParserValueList
22110        https://bugs.webkit.org/show_bug.cgi?id=127211
22111
22112        Reviewed by Andreas Kling.
22113
22114        * css/CSSParser.cpp: Changed variable type from int to unsigned.
22115        (WebCore::CSSParser::parseValue):
22116
221172014-01-19  Jaehun Lim  <ljaehun.lim@samsung.com>
22118
22119        Unreviewed build fix after r162293
22120
22121        Fix debug build.
22122
22123        [ 13%] Building CXX object Source/WebCore/CMakeFiles/WebCore.dir/html/parser/HTMLTreeBuilder.cpp.o
22124        /source/WebKit/Source/WebCore/html/parser/HTMLTreeBuilder.cpp: In member function ‘void WebCore::HTMLTreeBuilder::processStartTagForInTable(WebCore::AtomicHTMLToken*)’:
22125        /source/WebKit/Source/WebCore/html/parser/HTMLTreeBuilder.cpp:1037:40: error: no match for ‘operator!’ in ‘!(WebCore::HTMLTreeBuilder::InsertionMode)12’
22126        /source/WebKit/Source/WebCore/html/parser/HTMLTreeBuilder.cpp:1037:40: note: candidate is:
22127        /source/WebKit/Source/WebCore/html/parser/HTMLTreeBuilder.cpp:1037:40: note: operator!(bool) <built-in>
22128        /source/WebKit/Source/WebCore/html/parser/HTMLTreeBuilder.cpp:1037:40: note:   no known conversion for argument 1 from ‘WebCore::HTMLTreeBuilder::InsertionMode’ to ‘bool’
22129        make[2]: *** [Source/WebCore/CMakeFiles/WebCore.dir/html/parser/HTMLTreeBuilder.cpp.o] Error 1
22130        make[1]: *** [Source/WebCore/CMakeFiles/WebCore.dir/all] Error 2
22131        make: *** [all] Error 2
22132
22133        * html/parser/HTMLTreeBuilder.cpp:
22134        (WebCore::HTMLTreeBuilder::processStartTagForInTable): Fix ASSERT.
22135
221362014-01-19  Anders Carlsson  <andersca@apple.com>
22137
22138        Stop using MutexTryLocker in WebCore
22139        https://bugs.webkit.org/show_bug.cgi?id=127254
22140
22141        Reviewed by Andreas Kling.
22142
22143        Instead use std::mutex and std::unique_lock with the std::try_to_lock constructor.
22144
22145        * Modules/webaudio/AudioBufferSourceNode.cpp:
22146        (WebCore::AudioBufferSourceNode::process):
22147        (WebCore::AudioBufferSourceNode::setBuffer):
22148        * Modules/webaudio/AudioBufferSourceNode.h:
22149        * Modules/webaudio/AudioParamTimeline.cpp:
22150        (WebCore::AudioParamTimeline::insertEvent):
22151        (WebCore::AudioParamTimeline::cancelScheduledValues):
22152        (WebCore::AudioParamTimeline::valueForContextTime):
22153        (WebCore::AudioParamTimeline::valuesForTimeRange):
22154        (WebCore::AudioParamTimeline::valuesForTimeRangeImpl):
22155        * Modules/webaudio/AudioParamTimeline.h:
22156        * Modules/webaudio/ConvolverNode.cpp:
22157        (WebCore::ConvolverNode::process):
22158        (WebCore::ConvolverNode::reset):
22159        (WebCore::ConvolverNode::setBuffer):
22160        * Modules/webaudio/ConvolverNode.h:
22161        * Modules/webaudio/MediaElementAudioSourceNode.cpp:
22162        (WebCore::MediaElementAudioSourceNode::setFormat):
22163        (WebCore::MediaElementAudioSourceNode::process):
22164        (WebCore::MediaElementAudioSourceNode::lock):
22165        (WebCore::MediaElementAudioSourceNode::unlock):
22166        * Modules/webaudio/MediaElementAudioSourceNode.h:
22167        * Modules/webaudio/MediaStreamAudioSourceNode.cpp:
22168        (WebCore::MediaStreamAudioSourceNode::setFormat):
22169        (WebCore::MediaStreamAudioSourceNode::process):
22170        * Modules/webaudio/MediaStreamAudioSourceNode.h:
22171        * Modules/webaudio/OscillatorNode.cpp:
22172        (WebCore::OscillatorNode::process):
22173        (WebCore::OscillatorNode::setPeriodicWave):
22174        * Modules/webaudio/OscillatorNode.h:
22175        * Modules/webaudio/PannerNode.cpp:
22176        (WebCore::PannerNode::process):
22177        (WebCore::PannerNode::setPanningModel):
22178        * Modules/webaudio/PannerNode.h:
22179        * Modules/webaudio/WaveShaperProcessor.cpp:
22180        (WebCore::WaveShaperProcessor::setCurve):
22181        (WebCore::WaveShaperProcessor::setOversample):
22182        (WebCore::WaveShaperProcessor::process):
22183        * Modules/webaudio/WaveShaperProcessor.h:
22184
221852014-01-19  Alberto Garcia  <berto@igalia.com>
22186
22187        Does not build with SVG disabled
22188        https://bugs.webkit.org/show_bug.cgi?id=127248
22189
22190        Reviewed by Sam Weinig.
22191
22192        Add missing #if ENABLE(SVG) guard.
22193
22194        * dom/ElementData.h:
22195
221962014-01-19  Anders Carlsson  <andersca@apple.com>
22197
22198        Use a strong enum for HTMLTreeBuilder::InsertionMode
22199        https://bugs.webkit.org/show_bug.cgi?id=127252
22200
22201        Reviewed by Antti Koivisto.
22202
22203        * html/parser/HTMLTreeBuilder.cpp:
22204        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
22205        (WebCore::HTMLTreeBuilder::constructTree):
22206        (WebCore::HTMLTreeBuilder::processDoctypeToken):
22207        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
22208        (WebCore::HTMLTreeBuilder::processTemplateStartTag):
22209        (WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup):
22210        (WebCore::HTMLTreeBuilder::closeTheCell):
22211        (WebCore::HTMLTreeBuilder::processStartTagForInTable):
22212        (WebCore::HTMLTreeBuilder::processStartTag):
22213        (WebCore::HTMLTreeBuilder::processBodyEndTagForInBody):
22214        (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
22215        (WebCore::HTMLTreeBuilder::processEndTagForInTableBody):
22216        (WebCore::HTMLTreeBuilder::processEndTagForInRow):
22217        (WebCore::HTMLTreeBuilder::processEndTagForInCell):
22218        (WebCore::HTMLTreeBuilder::processCaptionEndTagForInCaption):
22219        (WebCore::HTMLTreeBuilder::processTrEndTagForInRow):
22220        (WebCore::HTMLTreeBuilder::processEndTag):
22221        (WebCore::HTMLTreeBuilder::processComment):
22222        (WebCore::HTMLTreeBuilder::processCharacterBuffer):
22223        (WebCore::HTMLTreeBuilder::processEndOfFile):
22224        (WebCore::HTMLTreeBuilder::defaultForInitial):
22225        (WebCore::HTMLTreeBuilder::defaultForBeforeHTML):
22226        (WebCore::HTMLTreeBuilder::processStartTagForInHead):
22227        (WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag):
22228        (WebCore::HTMLTreeBuilder::processGenericRawTextStartTag):
22229        (WebCore::HTMLTreeBuilder::processScriptStartTag):
22230        * html/parser/HTMLTreeBuilder.h:
22231
222322014-01-19  Anders Carlsson  <andersca@apple.com>
22233
22234        Convert LoaderRunLoopCF.cpp and WebCoreThreadRun.cpp over to modern threading primitives
22235        https://bugs.webkit.org/show_bug.cgi?id=127251
22236
22237        Reviewed by Antti Koivisto.
22238
22239        Also add a condition to the loaderRunLoop() function to protect against spurious wake-ups.
22240
22241        * platform/ios/wak/WebCoreThreadRun.cpp:
22242        * platform/network/cf/LoaderRunLoopCF.cpp:
22243        (WebCore::loaderRunLoopMutex):
22244        (WebCore::loaderRunLoopConditionVariable):
22245        (WebCore::runLoaderThread):
22246        (WebCore::loaderRunLoop):
22247
222482014-01-19  Anders Carlsson  <andersca@apple.com>
22249
22250        Modernize ReverbConvolver
22251        https://bugs.webkit.org/show_bug.cgi?id=127250
22252
22253        Reviewed by Andreas Kling.
22254
22255        Use std::unique_ptr instead of OwnPtr and the STL threading primitives instead of the WTF ones.
22256
22257        * platform/audio/ReverbConvolver.cpp:
22258        (WebCore::ReverbConvolver::ReverbConvolver):
22259        (WebCore::ReverbConvolver::~ReverbConvolver):
22260        (WebCore::ReverbConvolver::backgroundThreadEntry):
22261        (WebCore::ReverbConvolver::process):
22262        * platform/audio/ReverbConvolver.h:
22263
222642014-01-18  Andy Estes  <aestes@apple.com>
22265
22266        [iOS] Rename GestureEventIOS.{cpp,h} to GestureEvent.{cpp,h} to fix the build
22267
22268        InFilesCompiler.pm assumes that <interface name>.h exists for each
22269        interface it processes. We renamed GestureEvent.h to GestureEventIOS.h
22270        but kept the interface named GestureEvent, so a non-existant file was
22271        being referenced by InFilesCompiler.pm (this was hard to detect since
22272        GestureEvent.h still existed in the SDK due to not having submitted
22273        WebKitAdditions recently).
22274
22275        Since we cannot rename the GestureEvent interface, and since there is
22276        no conflicting GestureEvent in open source, we can just rename
22277        GestureEventIOS.{cpp,h} back to GestureEvent.{cpp,h}.
22278
22279        * dom/ios/TouchEvents.cpp: Updated to include GestureEvent.cpp.
22280
222812014-01-18  Alexey Proskuryakov  <ap@apple.com>
22282
22283        Memory leak in JSSubtleCrypto::wrapKey
22284        https://bugs.webkit.org/show_bug.cgi?id=127241
22285
22286        Reviewed by Sam Weinig.
22287
22288        * bindings/js/JSSubtleCryptoCustom.cpp: (WebCore::JSSubtleCrypto::wrapKey):
22289        Delete algorithmPtr and parametersPtr that aren't smart pointers because of lambdas.
22290
222912014-01-18  Andy Estes  <aestes@apple.com>
22292
22293        Fix the iOS Production build.
22294
22295        * Configurations/WebCore.xcconfig:
22296
222972014-01-18  Alberto Garcia  <berto@igalia.com>
22298
22299        [CodeGeneratorJS] Sort output of StructureFlags and function parameters
22300
22301        https://bugs.webkit.org/show_bug.cgi?id=127226
22302
22303        Reviewed by Alexey Proskuryakov.
22304
22305        The order of the keys in a hash is undefined and subject to change
22306        between different Perl versions, so we have to sort them to make
22307        sure that the output is always the same.
22308
22309        * bindings/scripts/CodeGeneratorJS.pm:
22310        (GenerateHeader):
22311        (GenerateParametersCheckExpression):
22312        * bindings/scripts/test/JS/JSTestActiveDOMObject.h:
22313        * bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
22314        * bindings/scripts/test/JS/JSTestEventConstructor.h:
22315        * bindings/scripts/test/JS/JSTestEventTarget.h:
22316        * bindings/scripts/test/JS/JSTestException.h:
22317        * bindings/scripts/test/JS/JSTestGenerateIsReachable.h:
22318        * bindings/scripts/test/JS/JSTestInterface.h:
22319        * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
22320        * bindings/scripts/test/JS/JSTestNamedConstructor.h:
22321        * bindings/scripts/test/JS/JSTestNode.h:
22322        * bindings/scripts/test/JS/JSTestObj.cpp:
22323        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
22324        * bindings/scripts/test/JS/JSTestObj.h:
22325        * bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
22326        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
22327        * bindings/scripts/test/JS/JSTestTypedefs.h:
22328        * bindings/scripts/test/JS/JSattribute.h:
22329        * bindings/scripts/test/JS/JSreadonly.h:
22330
223312014-01-18  Anders Carlsson  <andersca@apple.com>
22332
22333        Replace a couple of uses of WTF::Function with std::function
22334        https://bugs.webkit.org/show_bug.cgi?id=127218
22335
22336        Reviewed by Andreas Kling.
22337
22338        * WebCore.exp.in:
22339        * page/scrolling/ScrollingThread.cpp:
22340        (WebCore::ScrollingThread::dispatch):
22341        (WebCore::ScrollingThread::dispatchBarrier):
22342        (WebCore::ScrollingThread::shared):
22343        (WebCore::ScrollingThread::createThreadIfNeeded):
22344        (WebCore::ScrollingThread::dispatchFunctionsFromScrollingThread):
22345        * page/scrolling/ScrollingThread.h:
22346        * page/scrolling/mac/ScrollingThreadMac.mm:
22347        (WebCore::ScrollingThread::initializeRunLoop):
22348
223492014-01-18  Anders Carlsson  <andersca@apple.com>
22350
22351        Modernize HTML parser code
22352        https://bugs.webkit.org/show_bug.cgi?id=127236
22353
22354        Reviewed by Andreas Kling.
22355
22356        * html/parser/AtomicHTMLToken.h:
22357        * html/parser/CSSPreloadScanner.cpp:
22358        (WebCore::CSSPreloadScanner::emitRule):
22359        * html/parser/HTMLDocumentParser.cpp:
22360        (WebCore::HTMLDocumentParser::HTMLDocumentParser):
22361        (WebCore::HTMLDocumentParser::detach):
22362        (WebCore::HTMLDocumentParser::stopParsing):
22363        (WebCore::HTMLDocumentParser::pumpTokenizer):
22364        (WebCore::HTMLDocumentParser::insert):
22365        (WebCore::HTMLDocumentParser::append):
22366        (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
22367        * html/parser/HTMLDocumentParser.h:
22368        * html/parser/HTMLElementStack.cpp:
22369        (WebCore::HTMLElementStack::ElementRecord::ElementRecord):
22370        (WebCore::HTMLElementStack::insertAbove):
22371        (WebCore::HTMLElementStack::pushCommon):
22372        * html/parser/HTMLElementStack.h:
22373        (WebCore::HTMLElementStack::ElementRecord::releaseNext):
22374        (WebCore::HTMLElementStack::ElementRecord::setNext):
22375        * html/parser/HTMLMetaCharsetParser.cpp:
22376        (WebCore::HTMLMetaCharsetParser::HTMLMetaCharsetParser):
22377        * html/parser/HTMLMetaCharsetParser.h:
22378        * html/parser/HTMLParserScheduler.h:
22379        * html/parser/HTMLPreloadScanner.cpp:
22380        (WebCore::TokenPreloadScanner::StartTagScanner::createPreloadRequest):
22381        (WebCore::TokenPreloadScanner::scan):
22382        (WebCore::HTMLPreloadScanner::HTMLPreloadScanner):
22383        * html/parser/HTMLPreloadScanner.h:
22384        * html/parser/HTMLResourcePreloader.cpp:
22385        (WebCore::HTMLResourcePreloader::takeAndPreload):
22386        (WebCore::HTMLResourcePreloader::preload):
22387        * html/parser/HTMLResourcePreloader.h:
22388        (WebCore::PreloadRequest::PreloadRequest):
22389        * html/parser/HTMLScriptRunner.h:
22390        * html/parser/HTMLToken.h:
22391        (WebCore::HTMLToken::beginDOCTYPE):
22392        (WebCore::HTMLToken::releaseDoctypeData):
22393        * html/parser/HTMLTokenizer.h:
22394        * html/parser/HTMLTreeBuilder.h:
22395        * html/parser/HTMLViewSourceParser.cpp:
22396        (WebCore::HTMLViewSourceParser::HTMLViewSourceParser):
22397        * html/parser/HTMLViewSourceParser.h:
22398        * html/parser/XSSAuditor.cpp:
22399        (WebCore::XSSAuditor::init):
22400        (WebCore::XSSAuditor::filterToken):
22401        * html/parser/XSSAuditor.h:
22402        * html/parser/XSSAuditorDelegate.h:
22403        (WebCore::XSSInfo::XSSInfo):
22404        * loader/TextResourceDecoder.cpp:
22405        (WebCore::TextResourceDecoder::checkForHeadCharset):
22406        (WebCore::TextResourceDecoder::checkForMetaCharset):
22407        * loader/TextResourceDecoder.h:
22408
224092014-01-18  Benjamin Poulain  <benjamin@webkit.org>
22410
22411        Make ElementData JIT friendly
22412        https://bugs.webkit.org/show_bug.cgi?id=127209
22413
22414        Reviewed by Geoffrey Garen.
22415
22416        The offsets of ElementData's flags were not accessible by the JIT. This patch
22417        refactor ElementData to use explicit flags so that they can be used from
22418        the code generators.
22419
22420        * dom/Element.cpp:
22421        (WebCore::Element::synchronizeAllAttributes):
22422        (WebCore::Element::synchronizeAttribute):
22423        (WebCore::Element::attributeChanged):
22424        (WebCore::Element::removeAttribute):
22425        * dom/ElementData.cpp:
22426        (WebCore::ElementData::destroy):
22427        (WebCore::ElementData::ElementData):
22428        (WebCore::ShareableElementData::ShareableElementData):
22429        (WebCore::ShareableElementData::~ShareableElementData):
22430        (WebCore::ElementData::arraySizeAndFlagsFromOther):
22431        * dom/ElementData.h:
22432        (WebCore::ElementData::hasName):
22433        (WebCore::ElementData::isUnique):
22434        (WebCore::ElementData::updateFlag):
22435        (WebCore::ElementData::arraySize):
22436        (WebCore::ElementData::setHasNameAttribute):
22437        (WebCore::ElementData::styleAttributeIsDirty):
22438        (WebCore::ElementData::setStyleAttributeIsDirty):
22439        (WebCore::ElementData::presentationAttributeStyleIsDirty):
22440        (WebCore::ElementData::setPresentationAttributeStyleIsDirty):
22441        (WebCore::ElementData::animatedSVGAttributesAreDirty):
22442        (WebCore::ElementData::setAnimatedSVGAttributesAreDirty):
22443        (WebCore::ElementData::length):
22444        (WebCore::ElementData::attributeBase):
22445        (WebCore::ElementData::presentationAttributeStyle):
22446        * dom/StyledElement.cpp:
22447        (WebCore::StyledElement::synchronizeStyleAttributeInternal):
22448        (WebCore::StyledElement::attributeChanged):
22449        (WebCore::StyledElement::styleAttributeChanged):
22450        (WebCore::StyledElement::inlineStyleChanged):
22451        (WebCore::StyledElement::rebuildPresentationAttributeStyle):
22452        * dom/StyledElement.h:
22453        (WebCore::StyledElement::invalidateStyleAttribute):
22454        (WebCore::StyledElement::presentationAttributeStyle):
22455        * svg/SVGElement.cpp:
22456        (WebCore::SVGElement::synchronizeAnimatedSVGAttribute):
22457        * svg/SVGElement.h:
22458        (WebCore::SVGElement::invalidateSVGAttributes):
22459
224602014-01-18  Zalan Bujtas  <zalan@apple.com>
22461
22462        Subpixel layout: IntRect::infiniteRect() overflows when subpixel layout is enabled.
22463        https://bugs.webkit.org/show_bug.cgi?id=126899
22464
22465        Reviewed by Tim Horton.
22466
22467        Use LayoutUnits when setting the infinite values on IntRect::infiniteRect() to ensure
22468        it won't overflow later when the IntRect gets converted to LayoutRect.
22469
22470        Covered by existing tests.
22471
22472        * platform/graphics/IntRect.h:
22473        (WebCore::IntRect::infiniteRect):
22474
224752014-01-18  Anders Carlsson  <andersca@apple.com>
22476
22477        Remove support for the viewsource attribute
22478        https://bugs.webkit.org/show_bug.cgi?id=127232
22479
22480        Reviewed by Andreas Kling.
22481
22482        The 'viewsource' attribute on frames is nonstandard, not used by anyone (the inspector has
22483        its own syntax highlighting) and not audited.
22484
22485        This patch removes parsing of the viewsource attribute and the associated tests. A subsequent
22486        patch will remove the code as well.
22487
22488        * html/HTMLFrameElementBase.cpp:
22489        (WebCore::HTMLFrameElementBase::parseAttribute):
22490
224912014-01-18  Anders Carlsson  <andersca@apple.com>
22492
22493        XMLTreeViewer shouldn't use the view source mode
22494        https://bugs.webkit.org/show_bug.cgi?id=127229
22495
22496        Reviewed by Andreas Kling.
22497
22498        Add the relevant styles from view-source.css to XMLViewer.css.
22499
22500        * xml/XMLTreeViewer.cpp:
22501        (WebCore::XMLTreeViewer::transformDocumentToTreeView):
22502        * xml/XMLViewer.css:
22503        (body):
22504        (.comment):
22505        (.tag):
22506        (.attribute-name):
22507        (.attribute-value):
22508        * xml/XMLViewer.js:
22509        (createComment):
22510        (createTag):
22511        (createAttribute):
22512
225132014-01-18  Andreas Kling  <akling@apple.com>
22514
22515        Remove unused "touchDragDropEnabled" setting.
22516        <https://webkit.org/b/127227>
22517
22518        Reviewed by Sam Weinig.
22519
22520        * page/Settings.in:
22521
225222014-01-18  Brian Burg  <bburg@apple.com>
22523
22524        Web Inspector: Page should use std::unique_ptr for InspectorController
22525        https://bugs.webkit.org/show_bug.cgi?id=127068
22526
22527        Reviewed by Joseph Pecoraro.
22528
22529        Make Page and WorkerGlobalScope keep a std::unique_ptr to InspectorController
22530        and WorkerInspectorController. Store page references and return controller
22531        references where possible.
22532
22533        Convert call sites to use an InspectorController reference.
22534        Convert instantiations of InspectorFrontendClient to use std::unique_ptr.
22535        Convert InspectorOverlay to keep Page references.
22536
22537        * WebCore.exp.in:
22538        * bindings/js/JSDOMWindowBase.cpp:
22539        (WebCore::JSDOMWindowBase::supportsProfiling):
22540        (WebCore::JSDOMWindowBase::supportsRichSourceInfo):
22541        * dom/Node.cpp:
22542        (WebCore::Node::inspect):
22543        * inspector/InspectorController.cpp:
22544        (WebCore::InspectorController::InspectorController):
22545        (WebCore::InspectorController::inspectedPageDestroyed):
22546        (WebCore::InspectorController::setInspectorFrontendClient):
22547        (WebCore::InspectorController::hasInspectorFrontendClient):
22548        (WebCore::InspectorController::connectFrontend):
22549        (WebCore::InspectorController::disconnectFrontend):
22550        (WebCore::InspectorController::inspectedPage):
22551        (WebCore::InspectorController::developerExtrasEnabled):
22552        * inspector/InspectorController.h:
22553        * inspector/InspectorFrontendClientLocal.cpp:
22554        (WebCore::InspectorFrontendClientLocal::canAttachWindow):
22555        (WebCore::InspectorFrontendClientLocal::changeAttachedWindowHeight):
22556        (WebCore::InspectorFrontendClientLocal::changeAttachedWindowWidth):
22557        (WebCore::InspectorFrontendClientLocal::openInNewTab):
22558        (WebCore::InspectorFrontendClientLocal::restoreAttachedWindowHeight):
22559        * inspector/InspectorOverlay.cpp:
22560        (WebCore::InspectorOverlay::InspectorOverlay):
22561        (WebCore::InspectorOverlay::getHighlight):
22562        (WebCore::InspectorOverlay::highlightQuad):
22563        (WebCore::InspectorOverlay::update):
22564        (WebCore::InspectorOverlay::buildObjectForHighlightedNode):
22565        (WebCore::InspectorOverlay::drawQuadHighlight):
22566        (WebCore::InspectorOverlay::overlayPage):
22567        (WebCore::InspectorOverlay::reset):
22568        * inspector/InspectorOverlay.h:
22569        * inspector/InstrumentingAgents.cpp:
22570        (WebCore::instrumentationForPage): remove null checks.
22571        (WebCore::instrumentationForWorkerGlobalScope): remove null checks.
22572        * inspector/WorkerInspectorController.cpp:
22573        (WebCore::WorkerInspectorController::WorkerInspectorController):
22574        (WebCore::WorkerInspectorController::connectFrontend):
22575        (WebCore::WorkerInspectorController::disconnectFrontend):
22576        * inspector/WorkerInspectorController.h:
22577        * loader/FrameLoader.cpp:
22578        (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
22579        (WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld):
22580        * page/ContextMenuController.cpp:
22581        (WebCore::ContextMenuController::showContextMenu):
22582        (WebCore::ContextMenuController::contextMenuItemSelected):
22583        (WebCore::ContextMenuController::populate):
22584        (WebCore::ContextMenuController::addInspectElementItem):
22585        * page/FrameView.cpp:
22586        (WebCore::FrameView::sendResizeEventIfNeeded):
22587        * page/Page.cpp:
22588        (WebCore::Page::Page):
22589        * page/Page.h:
22590        (WebCore::Page::inspectorController):
22591        * page/PageDebuggable.cpp:
22592        (WebCore::PageDebuggable::hasLocalDebugger):
22593        (WebCore::PageDebuggable::parentProcessIdentifier):
22594        (WebCore::PageDebuggable::connect):
22595        (WebCore::PageDebuggable::disconnect):
22596        (WebCore::PageDebuggable::dispatchMessageFromRemoteFrontend):
22597        (WebCore::PageDebuggable::setIndicating):
22598        * platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:
22599        (WebCore::CompositingCoordinator::syncDisplayState):
22600        * testing/Internals.cpp:
22601        (WebCore::Internals::resetToConsistentState):
22602        (WebCore::Internals::inspectorHighlightRects):
22603        (WebCore::Internals::inspectorHighlightObject):
22604        (WebCore::Internals::emitInspectorDidBeginFrame):
22605        (WebCore::Internals::emitInspectorDidCancelFrame):
22606        (WebCore::Internals::openDummyInspectorFrontend):
22607        (WebCore::Internals::closeDummyInspectorFrontend):
22608        (WebCore::Internals::setInspectorResourcesDataSizeLimits):
22609        (WebCore::Internals::setJavaScriptProfilingEnabled):
22610        * workers/WorkerGlobalScope.cpp:
22611        (WebCore::WorkerGlobalScope::WorkerGlobalScope):
22612        * workers/WorkerGlobalScope.h: remove clearInspector(). 
22613        (WebCore::WorkerGlobalScope::workerInspectorController):
22614        * workers/WorkerMessagingProxy.cpp:
22615        (WebCore::connectToWorkerGlobalScopeInspectorTask):
22616        (WebCore::disconnectFromWorkerGlobalScopeInspectorTask):
22617        (WebCore::dispatchOnInspectorBackendTask):
22618        * workers/WorkerThread.cpp:
22619        (WebCore::WorkerThreadShutdownFinishTask::performTask):
22620
226212014-01-18  Anders Carlsson  <andersca@apple.com>
22622
22623        Remove ENABLE_THREADED_HTML_PARSER defines everywhere
22624        https://bugs.webkit.org/show_bug.cgi?id=127225
22625
22626        Reviewed by Andreas Kling.
22627
22628        This concludes the removal of over 8.8 million lines of threaded parser code.
22629
22630        * Configurations/FeatureDefines.xcconfig:
22631
226322014-01-18  Anders Carlsson  <andersca@apple.com>
22633
22634        Remove the remaining threaded parser code
22635        https://bugs.webkit.org/show_bug.cgi?id=127224
22636
22637        Reviewed by Andreas Kling.
22638
22639        * dom/Document.cpp:
22640        (WebCore::Document::decrementActiveParserCount):
22641        * html/parser/AtomicHTMLToken.h:
22642        * html/parser/HTMLDocumentParser.cpp:
22643        (WebCore::HTMLDocumentParser::HTMLDocumentParser):
22644        (WebCore::HTMLDocumentParser::detach):
22645        (WebCore::HTMLDocumentParser::stopParsing):
22646        (WebCore::HTMLDocumentParser::prepareToStopParsing):
22647        (WebCore::HTMLDocumentParser::resumeParsingAfterYield):
22648        (WebCore::HTMLDocumentParser::forcePlaintextForTextDocument):
22649        (WebCore::HTMLDocumentParser::insert):
22650        (WebCore::HTMLDocumentParser::append):
22651        (WebCore::HTMLDocumentParser::end):
22652        (WebCore::HTMLDocumentParser::finish):
22653        (WebCore::HTMLDocumentParser::textPosition):
22654        (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
22655        * html/parser/HTMLDocumentParser.h:
22656        * html/parser/HTMLParserIdioms.cpp:
22657        * html/parser/HTMLParserIdioms.h:
22658        * html/parser/HTMLTokenizer.cpp:
22659        * html/parser/HTMLTokenizer.h:
22660        * loader/DocumentLoader.cpp:
22661        (WebCore::DocumentLoader::isLoading):
22662        (WebCore::DocumentLoader::checkLoadComplete):
22663        * page/Settings.in:
22664
226652014-01-18  Anders Carlsson  <andersca@apple.com>
22666
22667        Remove threaded parser code from the preload scanners
22668        https://bugs.webkit.org/show_bug.cgi?id=127222
22669
22670        Reviewed by Andreas Kling.
22671
22672        * html/parser/CSSPreloadScanner.cpp:
22673        (WebCore::CSSPreloadScanner::CSSPreloadScanner):
22674        Use nullptr.
22675
22676        (WebCore::CSSPreloadScanner::scan):
22677        Move scanCommon here and simplify the code.
22678
22679        * html/parser/CSSPreloadScanner.h:
22680        Remove scanCommon.
22681
22682        * html/parser/HTMLPreloadScanner.cpp:
22683        (WebCore::TokenPreloadScanner::tagIdFor):
22684        TagId is a strong enum now, update enum values.
22685
22686        (WebCore::TokenPreloadScanner::initiatorFor):
22687        Ditto.
22688
22689        (WebCore::TokenPreloadScanner::StartTagScanner::processAttributes):
22690        Ditto.
22691
22692        (WebCore::TokenPreloadScanner::StartTagScanner::match):
22693        Indent this.
22694
22695        (WebCore::TokenPreloadScanner::StartTagScanner::processAttribute):
22696        TagId is a strong enum now, update enum values.
22697
22698        (WebCore::TokenPreloadScanner::StartTagScanner::charset):
22699        Ditto.
22700
22701        (WebCore::TokenPreloadScanner::StartTagScanner::resourceType):
22702        Ditto.
22703
22704        (WebCore::TokenPreloadScanner::StartTagScanner::shouldPreload):
22705        Ditto.
22706
22707        (WebCore::TokenPreloadScanner::scan):
22708        Merge scan and scanCommon.
22709
22710        * html/parser/HTMLPreloadScanner.h:
22711
227122014-01-18  Lauro Neto  <lauro.neto@openbossa.org>
22713
22714        Remove Nix files from WebCore
22715        https://bugs.webkit.org/show_bug.cgi?id=127176
22716
22717        Reviewed by Anders Carlsson.
22718
22719        * PlatformNix.cmake: Removed.
22720        * css/mediaControlsNix.css: Removed.
22721        * css/mediaControlsNixFullscreen.css: Removed.
22722        * editing/nix/EditorNix.cpp: Removed.
22723        * page/nix/EventHandlerNix.cpp: Removed.
22724        * platform/audio/nix/AudioBusNix.cpp: Removed.
22725        * platform/audio/nix/AudioDestinationNix.cpp: Removed.
22726        * platform/audio/nix/AudioDestinationNix.h: Removed.
22727        * platform/audio/nix/FFTFrameNix.cpp: Removed.
22728        * platform/graphics/nix/IconNix.cpp: Removed.
22729        * platform/graphics/nix/ImageNix.cpp: Removed.
22730        * platform/nix/CursorNix.cpp: Removed.
22731        * platform/nix/DragDataNix.cpp: Removed.
22732        * platform/nix/DragImageNix.cpp: Removed.
22733        * platform/nix/ErrorsNix.cpp: Removed.
22734        * platform/nix/ErrorsNix.h: Removed.
22735        * platform/nix/FileSystemNix.cpp: Removed.
22736        * platform/nix/GamepadsNix.cpp: Removed.
22737        * platform/nix/LanguageNix.cpp: Removed.
22738        * platform/nix/LocalizedStringsNix.cpp: Removed.
22739        * platform/nix/MIMETypeRegistryNix.cpp: Removed.
22740        * platform/nix/NixKeyboardUtilities.cpp: Removed.
22741        * platform/nix/NixKeyboardUtilities.h: Removed.
22742        * platform/nix/PasteboardNix.cpp: Removed.
22743        * platform/nix/PlatformKeyboardEventNix.cpp: Removed.
22744        * platform/nix/PlatformScreenNix.cpp: Removed.
22745        * platform/nix/RenderThemeNix.cpp: Removed.
22746        * platform/nix/RenderThemeNix.h: Removed.
22747        * platform/nix/ScrollbarThemeNix.cpp: Removed.
22748        * platform/nix/ScrollbarThemeNix.h: Removed.
22749        * platform/nix/SharedTimerNix.cpp: Removed.
22750        * platform/nix/SoundNix.cpp: Removed.
22751        * platform/nix/TemporaryLinkStubs.cpp: Removed.
22752        * platform/nix/WidgetNix.cpp: Removed.
22753        * platform/nix/support/MultiChannelPCMData.cpp: Removed.
22754        * platform/text/nix/TextBreakIteratorInternalICUNix.cpp: Removed.
22755
227562014-01-18  Anders Carlsson  <andersca@apple.com>
22757
22758        Remove DocumentParser::pinToMainThread() and related code
22759        https://bugs.webkit.org/show_bug.cgi?id=127221
22760
22761        Reviewed by Andreas Kling.
22762
22763        * dom/Document.cpp:
22764        (WebCore::Document::setContent):
22765        * dom/DocumentParser.h:
22766        * html/parser/HTMLDocumentParser.cpp:
22767        (WebCore::HTMLDocumentParser::HTMLDocumentParser):
22768        * html/parser/HTMLDocumentParser.h:
22769        * html/parser/HTMLParserOptions.cpp:
22770        (WebCore::HTMLParserOptions::HTMLParserOptions):
22771        * html/parser/HTMLParserOptions.h:
22772        * html/parser/HTMLTreeBuilder.cpp:
22773        (WebCore::HTMLTreeBuilder::processEndTag):
22774        * loader/DocumentWriter.cpp:
22775        (WebCore::DocumentWriter::replaceDocument):
22776
227772014-01-18  Anders Carlsson  <andersca@apple.com>
22778
22779        Remove HTMLParserThread
22780        https://bugs.webkit.org/show_bug.cgi?id=127220
22781
22782        Reviewed by Andreas Kling.
22783
22784        * CMakeLists.txt:
22785        * GNUmakefile.list.am:
22786        * WebCore.vcxproj/WebCore.vcxproj:
22787        * WebCore.vcxproj/WebCore.vcxproj.filters:
22788        * WebCore.xcodeproj/project.pbxproj:
22789        * html/parser/HTMLDocumentParser.cpp:
22790        * html/parser/HTMLParserThread.cpp: Removed.
22791        * html/parser/HTMLParserThread.h: Removed.
22792
227932014-01-17  Andreas Kling  <akling@apple.com>
22794
22795        GC soon after responding to fake memory pressure.
22796        <https://webkit.org/b/127210>
22797
22798        Ask JSC to garbage collect "soon" after handling the fake memory
22799        pressure signal on Mac. This seems to stabilize the post-pressure
22800        numbers on Membuster3 a bit on my laptop. The difference is mostly
22801        made up of JSC::CodeBlock objects.
22802
22803        Reviewed by Geoffrey Garen.
22804
22805        * platform/mac/MemoryPressureHandlerMac.mm:
22806        (WebCore::MemoryPressureHandler::install):
22807
228082014-01-18  Anders Carlsson  <andersca@apple.com>
22809
22810        Remove files only used by the threaded HTML parser
22811        https://bugs.webkit.org/show_bug.cgi?id=127219
22812        <rdar://problem/13331277>
22813
22814        Reviewed by Andreas Kling.
22815
22816        * CMakeLists.txt:
22817        * GNUmakefile.list.am:
22818        * WebCore.vcxproj/WebCore.vcxproj:
22819        * WebCore.vcxproj/WebCore.vcxproj.filters:
22820        * WebCore.xcodeproj/project.pbxproj:
22821        * html/parser/AtomicHTMLToken.h:
22822        * html/parser/BackgroundHTMLInputStream.cpp: Removed.
22823        * html/parser/BackgroundHTMLInputStream.h: Removed.
22824        * html/parser/BackgroundHTMLParser.cpp: Removed.
22825        * html/parser/BackgroundHTMLParser.h: Removed.
22826        * html/parser/CompactHTMLToken.cpp: Removed.
22827        * html/parser/CompactHTMLToken.h: Removed.
22828        * html/parser/HTMLDocumentParser.cpp:
22829        * html/parser/HTMLDocumentParser.h:
22830        * html/parser/HTMLIdentifier.cpp: Removed.
22831        * html/parser/HTMLIdentifier.h: Removed.
22832        * html/parser/HTMLParserIdioms.h:
22833        * html/parser/HTMLPreloadScanner.h:
22834        * html/parser/HTMLTreeBuilderSimulator.cpp: Removed.
22835        * html/parser/HTMLTreeBuilderSimulator.h: Removed.
22836
228372014-01-17  Andreas Kling  <akling@apple.com>
22838
22839        Micro-optimize RenderBoxModelObject::computedCSSPadding().
22840        <https://webkit.org/b/127208>
22841
22842        Make computedCSSPadding() take the Length as a const reference
22843        to avoid creating a temporary copy. This was showing up (0.2%)
22844        on DoYouEvenBench.
22845
22846        Reviewed by Anders Carlsson.
22847
22848        * rendering/RenderBoxModelObject.h:
22849        * rendering/RenderBoxModelObject.cpp:
22850        (WebCore::RenderBoxModelObject::computedCSSPadding):
22851
228522014-01-17  Anders Carlsson  <andersca@apple.com>
22853
22854        Add a callOnMainThreadAndWait variant in SocketStreamHandle
22855        https://bugs.webkit.org/show_bug.cgi?id=127180
22856
22857        Reviewed by Geoffrey Garen.
22858
22859        WTF::callOnMainThreadAndWait was only used inside SocketStreamHandleCFNet.cpp, 
22860        so add an improved version there which is implemented in terms of callOnMainThread and
22861        with the bonus of handling spurious wake-ups correctly (the old version didn't).
22862
22863        * platform/network/cf/SocketStreamHandle.h:
22864        * platform/network/cf/SocketStreamHandleCFNet.cpp:
22865        (WebCore::callOnMainThreadAndWait):
22866        (WebCore::SocketStreamHandle::pacExecutionCallback):
22867        (WebCore::SocketStreamHandle::readStreamCallback):
22868        (WebCore::SocketStreamHandle::writeStreamCallback):
22869
228702014-01-17  Anders Carlsson  <andersca@apple.com>
22871
22872        Clean up PageCache classes
22873        https://bugs.webkit.org/show_bug.cgi?id=127202
22874
22875        Reviewed by Andreas Kling.
22876
22877        * WebCore.exp.in:
22878        * history/CachedFrame.cpp:
22879        (WebCore::CachedFrameBase::~CachedFrameBase):
22880        (WebCore::CachedFrame::CachedFrame):
22881        (WebCore::CachedFrame::clear):
22882        (WebCore::CachedFrame::setCachedFramePlatformData):
22883        * history/CachedFrame.h:
22884        * history/CachedPage.cpp:
22885        (WebCore::CachedPage::CachedPage):
22886        * history/CachedPage.h:
22887        * history/HistoryItem.h:
22888        (WebCore::HistoryItem::isInPageCache):
22889        * history/PageCache.cpp:
22890        (WebCore::PageCache::add):
22891        (WebCore::PageCache::take):
22892        (WebCore::PageCache::remove):
22893        * history/PageCache.h:
22894        * loader/FrameLoader.cpp:
22895        (WebCore::FrameLoader::commitProvisionalLoad):
22896        * loader/HistoryController.cpp:
22897        (WebCore::HistoryController::invalidateCurrentItemCachedPage):
22898
228992014-01-17  Andy Estes  <aestes@apple.com>
22900
22901        Work around a preprocessor warning in mediaControlsApple.js
22902        https://bugs.webkit.org/show_bug.cgi?id=127204
22903
22904        Reviewed by Dan Bernstein.
22905
22906        * Modules/mediacontrols/mediaControlsApple.js: Changed '' to String().
22907
229082014-01-17  Daniel Bates  <dabates@apple.com>
22909
22910        Fix the iOS build after <http://trac.webkit.org/changeset/162184>
22911        (https://bugs.webkit.org/show_bug.cgi?id=126856)
22912
22913        Remove symbol for WebCore::NonSharedCharacterBreakIterator::NonSharedCharacterBreakIterator(unsigned short const*, int).
22914        Add symbol for WebCore::NonSharedCharacterBreakIterator::NonSharedCharacterBreakIterator(WTF::StringView).
22915
22916        * WebCore.exp.in:
22917
229182014-01-17  Andreas Kling  <akling@apple.com>
22919
22920        Remove unused TOUCH_ADJUSTMENT code.
22921        <https://webkit.org/b/127181>
22922
22923        There are no ports using the ENABLE(TOUCH_ADJUSTMENT) feature
22924        anymore, so nuke it from orbit.
22925
22926        Reviewed by Anders Carlsson.
22927
22928        * page/EventHandler.cpp:
22929        * page/EventHandler.h:
22930        * page/Settings.in:
22931        * page/TouchAdjustment.cpp: Removed.
22932        * page/TouchAdjustment.h: Removed.
22933        * testing/Internals.cpp:
22934        * testing/Internals.h:
22935        * testing/Internals.idl:
22936
229372014-01-17  Beth Dakin  <bdakin@apple.com>
22938
22939        Need a way to test the tile cache with margins enabled
22940        https://bugs.webkit.org/show_bug.cgi?id=127194
22941        -and corresponding-
22942        <rdar://problem/15571327>
22943
22944        Reviewed by Tim Horton.
22945
22946        This patch adds a new function to InternalSettings that will allow layout tests to 
22947        flip the setting Settings::setBackgroundShouldExtendBeyondPage(). This patch also         
22948        makes changing that setting take effect immediately. 
22949
22950        To make this setting dynamic, we can no longer generate the Setting function, so 
22951        we have to export the symbol manually.
22952        * WebCore.exp.in:
22953
22954        This new function on FrameView will call into RenderLayerBacking to add or remove 
22955        margins.
22956        * page/FrameView.cpp:
22957        (WebCore::FrameView::setBackgroundExtendsBeyondPage):
22958        * page/FrameView.h:
22959
22960        Again, we’re no longer using the boiler-plate generated Setting functions, so now 
22961        we can call into FrameView to make the background extend.
22962        * page/Settings.cpp:
22963        (WebCore::Settings::Settings):
22964        (WebCore::Settings::setBackgroundShouldExtendBeyondPage):
22965        * page/Settings.h:
22966        (WebCore::Settings::backgroundShouldExtendBeyondPage):
22967        * page/Settings.in:
22968
22969        Whenever tile margins are set, call setNeedsRevalidateTiles() to make the change 
22970        dynamic.
22971        * platform/graphics/ca/mac/TileController.mm:
22972        (WebCore::TileController::setTileMargins):
22973
22974        Move the call to TiledBacking::setTileMargins() into a helper function so that the 
22975        same code can be used for FrameView.
22976        * rendering/RenderLayerBacking.cpp:
22977        (WebCore::RenderLayerBacking::RenderLayerBacking):
22978        (WebCore::RenderLayerBacking::setTiledBackingHasMargins):
22979        * rendering/RenderLayerBacking.h:
22980
22981        New InternalSetting.
22982        * testing/InternalSettings.cpp:
22983        (WebCore::InternalSettings::setBackgroundShouldExtendBeyondPage):
22984        * testing/InternalSettings.h:
22985        * testing/InternalSettings.idl:
22986
229872014-01-17  Anders Carlsson  <andersca@apple.com>
22988
22989        Remove another unused FrameLoaderClient callback
22990        https://bugs.webkit.org/show_bug.cgi?id=127192
22991
22992        Reviewed by Dan Bernstein.
22993
22994        FrameLoaderClient::dispatchDocumentElementAvailable() was only used by the Chromium port, so remove it.
22995
22996        * html/ImageDocument.cpp:
22997        (WebCore::ImageDocument::createDocumentStructure):
22998        * html/MediaDocument.cpp:
22999        (WebCore::MediaDocumentParser::createDocumentStructure):
23000        * html/PluginDocument.cpp:
23001        (WebCore::PluginDocumentParser::createDocumentStructure):
23002        * html/parser/HTMLConstructionSite.cpp:
23003        (WebCore::HTMLConstructionSite::dispatchDocumentElementAvailableIfNeeded):
23004        * loader/EmptyClients.h:
23005        * loader/FrameLoader.cpp:
23006        * loader/FrameLoader.h:
23007        * loader/FrameLoaderClient.h:
23008        * xml/parser/XMLDocumentParserLibxml2.cpp:
23009        (WebCore::XMLDocumentParser::startElementNs):
23010
230112014-01-17  Anders Carlsson  <andersca@apple.com>
23012
23013        Remove FrameLoaderClient::didPerformFirstNavigation()
23014        https://bugs.webkit.org/show_bug.cgi?id=127191
23015
23016        Reviewed by Dan Bernstein.
23017
23018        * loader/EmptyClients.h:
23019        * loader/FrameLoader.cpp:
23020        (WebCore::FrameLoader::FrameLoader):
23021        * loader/FrameLoader.h:
23022        * loader/FrameLoaderClient.h:
23023        * loader/HistoryController.cpp:
23024        (WebCore::HistoryController::updateBackForwardListClippedAtTarget):
23025
230262014-01-17  Anders Carlsson  <andersca@apple.com>
23027
23028        Move didPerformFirstNavigation() logic to -[WebView _didCommitLoadForFrame:]
23029        https://bugs.webkit.org/show_bug.cgi?id=127189
23030
23031        Reviewed by Dan Bernstein.
23032
23033        * loader/FrameLoaderClient.h:
23034        (WebCore::FrameLoaderClient::didPerformFirstNavigation):
23035        Add an empty implementation of didPerformFirstNavigation() to make it easier to remove it from subclasses.
23036
230372014-01-17  Eric Carlson  <eric.carlson@apple.com>
23038
23039        [iOS] HTMLMediaSession should set AudioSession category
23040        https://bugs.webkit.org/show_bug.cgi?id=127137
23041
23042        Reviewed by Sam Weinig.
23043
23044        * html/HTMLMediaSession.cpp:
23045        (WebCore::initializeAudioSession): New, set the audio session to "media" on iOS.
23046        (WebCore::HTMLMediaSession::HTMLMediaSession): Call initializeAudioSession.
23047
230482014-01-17  Daniel Bates  <dabates@apple.com>
23049
23050        Fix the iOS build after <http://trac.webkit.org/changeset/162178>
23051        (https://bugs.webkit.org/show_bug.cgi?id=127147)
23052
23053        Declare WebMediaSessionHelper outside of namespace WebCore to resolve error that
23054        "Objective-C declarations may only appear in global scope".
23055
23056        * platform/audio/ios/MediaSessionManagerIOS.mm:
23057
230582014-01-17  Bem Jones-Bey  <bjonesbe@adobe.com>
23059
23060        [CSS Shapes] Stacked floats with shape-outside should allow inline content to interact with the non-outermost float
23061        https://bugs.webkit.org/show_bug.cgi?id=122576
23062
23063        Reviewed by David Hyatt.
23064
23065        Make inline content interact with stacked floats with shape-outside
23066        per the spec. This means that content can interact with floats on the
23067        line that are not the outermost float.
23068
23069        This refactors ComputeFloatOffsetAdapter into a superclass and two
23070        subclasses: one adaptor for determining the offset for float layout,
23071        and one for determining the offset for inline layout.
23072
23073        The logic in LineWidth::shrinkAvailableWidthForNewFloatIfNeeded has
23074        been updated to handle stacked floats with shape-outside properly and
23075        has been considerably simplified in the process. It was previously
23076        doing a whole bunch of unnecessary work.
23077
23078        Tests: fast/shapes/shape-outside-floats/shape-outside-floats-stacked-000.html
23079               fast/shapes/shape-outside-floats/shape-outside-floats-stacked-001.html
23080               fast/shapes/shape-outside-floats/shape-outside-floats-stacked-002.html
23081
23082        * rendering/FloatingObjects.cpp:
23083        (WebCore::ComputeFloatOffsetAdapter::~ComputeFloatOffsetAdapter):
23084        (WebCore::ComputeFloatOffsetForFloatLayoutAdapter::ComputeFloatOffsetForFloatLayoutAdapter):
23085        (WebCore::ComputeFloatOffsetForFloatLayoutAdapter::~ComputeFloatOffsetForFloatLayoutAdapter):
23086        (WebCore::ComputeFloatOffsetForLineLayoutAdapter::ComputeFloatOffsetForLineLayoutAdapter):
23087        (WebCore::ComputeFloatOffsetForLineLayoutAdapter::~ComputeFloatOffsetForLineLayoutAdapter):
23088        (WebCore::FloatingObjects::logicalLeftOffsetForPositioningFloat):
23089        (WebCore::FloatingObjects::logicalRightOffsetForPositioningFloat):
23090        (WebCore::FloatingObjects::logicalLeftOffset):
23091        (WebCore::FloatingObjects::logicalRightOffset):
23092        (WebCore::ComputeFloatOffsetForFloatLayoutAdapter<FloatingObject::FloatLeft>::updateOffsetIfNeeded):
23093        (WebCore::ComputeFloatOffsetForFloatLayoutAdapter<FloatingObject::FloatRight>::updateOffsetIfNeeded):
23094        (WebCore::ComputeFloatOffsetForFloatLayoutAdapter<FloatTypeValue>::heightRemaining):
23095        (WebCore::shapeInfoForFloat):
23096        (WebCore::ComputeFloatOffsetForLineLayoutAdapter<FloatingObject::FloatLeft>::updateOffsetIfNeeded):
23097        (WebCore::ComputeFloatOffsetForLineLayoutAdapter<FloatingObject::FloatRight>::updateOffsetIfNeeded):
23098        * rendering/line/LineWidth.cpp:
23099        (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
23100        * rendering/shapes/ShapeOutsideInfo.cpp:
23101        (WebCore::ShapeOutsideInfo::updateDeltasForContainingBlockLine):
23102        * rendering/shapes/ShapeOutsideInfo.h:
23103
231042014-01-17  Zoltan Horvath  <zoltan@webkit.org>
23105
23106        [CSS3] Add rendering support for -webkit-text-align-last
23107        https://bugs.webkit.org/show_bug.cgi?id=99584
23108
23109        Reviewed by David Hyatt.
23110
23111        Add support for the text-align-last CSS3 property, according to the latest specification:
23112        http://dev.w3.org/csswg/css-text-3/#text-align-last-property
23113
23114        Tests: fast/css3-text/css3-text-align-last/text-align-last-with-text-align-justify.html
23115               fast/css3-text/css3-text-align-last/text-align-last-with-text-align-non-justify.html
23116
23117        * rendering/RenderBlockLineLayout.cpp:
23118        (WebCore::RenderBlockFlow::textAlignmentForLine):
23119        * rendering/style/RenderStyle.cpp:
23120        (WebCore::RenderStyle::changeRequiresLayout):
23121
231222014-01-17  Daniel Bates  <dabates@apple.com>
23123
23124        Fix the iOS build after <http://trac.webkit.org/changeset/162208>
23125        (https://bugs.webkit.org/show_bug.cgi?id=127139)
23126
23127        __MAC_OS_X_VERSION_MIN_REQUIRED isn't defined when building for iOS. Instead, explicitly
23128        check that we're not PLATFORM(IOS) to avoid defining the enum value CFHTTPCookieStorageAcceptPolicyExclusivelyFromMainDocumentDomain.
23129
23130        * platform/network/cf/CookieJarCFNet.cpp:
23131
231322014-01-17  Bear Travis  <betravis@adobe.com>
23133
23134        [CSS Shapes] Basic shapes' computed position should be a horizontal and vertical offset
23135        https://bugs.webkit.org/show_bug.cgi?id=127010
23136
23137        Reviewed by Rob Buis.
23138
23139        This patch updates the computed position values used for blending to be a horizontal
23140        left offset and a vertical top offset. When positions include a center, bottom, or
23141        right position offset, it is converted to the appropriate top/left coordinate as
23142        a calc expression. Serialized values still use the original bottom/right directions
23143        when present, and also omit the top/left keywords where possible.
23144
23145        Updated parsing and animation tests.
23146
23147        * css/BasicShapeFunctions.cpp:
23148        (WebCore::valueForCenterCoordinate): Use the simplified BasicShapeCenterCoordinate,
23149        which includes an offset and whether the direction is from the top/left or bottom/right.
23150        (WebCore::valueForBasicShape): Ditto.
23151        (WebCore::convertToCenterCoordinate): Ditto.
23152        (WebCore::basicShapeForValue): Ditto.
23153        (WebCore::floatValueForCenterCoordinate): Ditto.
23154        * page/animation/CSSPropertyAnimation.cpp:
23155        (WebCore::blendFunc): Remove the RenderBox parameter, which is no longer needed.
23156        * rendering/style/BasicShapes.cpp:
23157        (WebCore::BasicShapeCenterCoordinate::updateComputedLength): Calculate the computed
23158        position offset for this center coordinate.
23159        (WebCore::BasicShapeRectangle::blend): Remove the RenderBox parameter.
23160        (WebCore::DeprecatedBasicShapeCircle::blend): Ditto.
23161        (WebCore::BasicShapeCircle::blend): Ditto.
23162        (WebCore::DeprecatedBasicShapeEllipse::blend): Ditto.
23163        (WebCore::BasicShapeEllipse::blend): Ditto.
23164        (WebCore::BasicShapePolygon::blend): Ditto.
23165        (WebCore::BasicShapeInsetRectangle::blend): Ditto.
23166        (WebCore::BasicShapeInset::blend): Ditto.
23167        * rendering/style/BasicShapes.h:
23168        (WebCore::BasicShapeCenterCoordinate::BasicShapeCenterCoordinate): Simplify
23169        BasicShapeCenterCoordinate to contain an offset and a direction. Also add a
23170        computed length, which is an offset from the top/left direction.
23171        (WebCore::BasicShapeCenterCoordinate::direction):
23172        (WebCore::BasicShapeCenterCoordinate::computedLength):
23173        (WebCore::BasicShapeCenterCoordinate::blend):
23174
231752014-01-17  Alexey Proskuryakov  <ap@apple.com>
23176
23177        More non-Mac build fix.
23178
23179        * platform/network/cf/CookieJarCFNet.cpp:
23180
231812014-01-16  Myles C. Maxfield  <mmaxfield@apple.com>
23182
23183        Unprefix text-emphasis CSS properties
23184        https://bugs.webkit.org/show_bug.cgi?id=127160
23185
23186        Reviewed by Sam Weinig.
23187
23188        Add synonym CSS properties. We don't want to delete the old ones because
23189        we've shipped with them included.
23190
23191        Test: fast/css3-text/css3-text-decoration/text-decoration-unprefix.html
23192
23193        * css/CSSPropertyNames.in:
23194
231952014-01-17  Alberto Garcia  <berto@igalia.com>
23196
23197        [GTK] WebKitGtk/testcopyandpaste fails in debug builds
23198        https://bugs.webkit.org/show_bug.cgi?id=127173
23199
23200        Reviewed by Carlos Garcia Campos.
23201
23202        Remove duplicate "PasteGlobalSelection" entry.
23203
23204        * editing/EditorCommand.cpp:
23205        (WebCore::createCommandMap):
23206
232072014-01-14  Andreas Kling  <akling@apple.com>
23208
23209        Pack ResourceRequest harder.
23210        <https://webkit.org/b/126982>
23211
23212        Re-arrange the members of ResourceRequest to reduce padding,
23213        shrinking it by 8 bytes.
23214
23215        Reviewed by Anders Carlsson.
23216
23217        * platform/network/ResourceRequestBase.h:
23218        (WebCore::ResourceRequestBase::ResourceRequestBase):
23219
232202014-01-17  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
23221
23222        Remove workaround for compilers not supporting deleted functions
23223        https://bugs.webkit.org/show_bug.cgi?id=127166
23224
23225        Reviewed by Andreas Kling.
23226
23227        * bindings/js/JSLazyEventListener.h:
23228        * dom/ContainerNode.h:
23229        * dom/Document.h:
23230        * dom/Element.h:
23231        * rendering/InlineFlowBox.h:
23232        * rendering/InlineTextBox.h:
23233        * rendering/RenderButton.h:
23234        * rendering/RenderCombineText.h:
23235        * rendering/RenderElement.h:
23236        * rendering/RenderFieldset.h:
23237        * rendering/RenderFileUploadControl.h:
23238        * rendering/RenderFrame.h:
23239        * rendering/RenderFrameBase.h:
23240        * rendering/RenderFrameSet.h:
23241        * rendering/RenderHTMLCanvas.h:
23242        * rendering/RenderIFrame.h:
23243        * rendering/RenderLineBreak.h:
23244        * rendering/RenderListBox.h:
23245        * rendering/RenderListMarker.h:
23246        * rendering/RenderMedia.h:
23247        * rendering/RenderMenuList.h:
23248        * rendering/RenderSnapshottedPlugIn.h:
23249        * rendering/RenderTableCell.h:
23250        * rendering/RenderTableRow.h:
23251        * rendering/RenderTableSection.h:
23252        * rendering/RenderText.h:
23253        * rendering/RenderTextControl.h:
23254        * rendering/RenderTextControlMultiLine.h:
23255        * rendering/RenderTextControlSingleLine.h:
23256        * rendering/RenderVideo.h:
23257        * rendering/RenderWidget.h:
23258        * rendering/svg/RenderSVGBlock.h:
23259        * rendering/svg/RenderSVGForeignObject.h:
23260        * rendering/svg/RenderSVGImage.h:
23261        * rendering/svg/RenderSVGInline.h:
23262        * rendering/svg/RenderSVGRect.h:
23263        * rendering/svg/RenderSVGResourceClipper.h:
23264        * rendering/svg/RenderSVGResourceFilter.h:
23265        * rendering/svg/RenderSVGResourceFilterPrimitive.h:
23266        * rendering/svg/RenderSVGResourceGradient.h:
23267        * rendering/svg/RenderSVGResourceLinearGradient.h:
23268        * rendering/svg/RenderSVGResourceMarker.h:
23269        * rendering/svg/RenderSVGResourceMasker.h:
23270        * rendering/svg/RenderSVGResourcePattern.h:
23271        * rendering/svg/RenderSVGResourceRadialGradient.h:
23272        * rendering/svg/RenderSVGRoot.h:
23273        * rendering/svg/RenderSVGShape.h:
23274        * rendering/svg/RenderSVGTSpan.h:
23275        * rendering/svg/RenderSVGText.h:
23276        * rendering/svg/RenderSVGTextPath.h:
23277        * rendering/svg/RenderSVGTransformableContainer.h:
23278        * rendering/svg/RenderSVGViewportContainer.h:
23279        * xml/XPathValue.h:
23280
232812014-01-17  Zan Dobersek  <zdobersek@igalia.com>
23282
23283        [ATK] Modernize the for loops in ATK AX code
23284        https://bugs.webkit.org/show_bug.cgi?id=127120
23285
23286        Reviewed by Mario Sanchez Prada.
23287
23288        Update the for loops to be range-based in ATK accessibility code.
23289        This work is complementary to r161979.
23290
23291        * accessibility/atk/WebKitAccessibleInterfaceHypertext.cpp:
23292        (webkitAccessibleHypertextGetLink):
23293        * accessibility/atk/WebKitAccessibleInterfaceTable.cpp:
23294        (webkitAccessibleTableGetColumnHeader):
23295        (webkitAccessibleTableGetRowHeader):
23296        * accessibility/atk/WebKitAccessibleUtil.cpp:
23297        (accessibilityTitle):
23298        (accessibilityDescription):
23299        * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
23300        (getNChildrenForTable):
23301        (getChildForTable):
23302        (getIndexInParentForCellInRow):
23303
233042014-01-17  Zan Dobersek  <zdobersek@igalia.com>
23305
23306        [Soup] Remove unnecessary using-directives for the std namespace
23307        https://bugs.webkit.org/show_bug.cgi?id=127122
23308
23309        Reviewed by Martin Robinson.
23310
23311        * platform/network/soup/ResourceRequestSoup.cpp: Remove the unnecessary using-directive for the std namespace
23312        as no symbols from that namespace are in use in this implementation file.
23313        * platform/network/soup/ResourceResponseSoup.cpp: Ditto.
23314
233152014-01-16  Tim Horton  <timothy_horton@apple.com>
23316
23317        On iOS, zooming in with a TileController-backed main frame makes hundreds of tiles
23318        https://bugs.webkit.org/show_bug.cgi?id=126531
23319        <rdar://problem/15745862>
23320
23321        Reviewed by Anders Carlsson.
23322
23323        * platform/graphics/ca/mac/TileController.h:
23324        * platform/graphics/ca/mac/TileController.mm:
23325        (WebCore::TileController::tilesWouldChangeForVisibleRect):
23326        (WebCore::TileController::scaledExposedRect):
23327        (WebCore::TileController::computeTileCoverageRect):
23328        (WebCore::TileController::revalidateTiles):
23329        (WebCore::TileController::updateTileCoverageMap):
23330        Scale the FrameView-space exposedRect into document space, to match the visibleRect.
23331
23332        Flipping on WKView's clipsToExposedRect now works correctly even in Safari
23333        or MiniBrowser with zooming.
23334
233352014-01-15  Sam Weinig  <sam@webkit.org>
23336
23337        TextBreakIterator's should support Latin-1 for all iterator types (Part 3)
23338        https://bugs.webkit.org/show_bug.cgi?id=126856
23339
23340        Reviewed by Ryosuke Niwa.
23341
23342        Change all the TextBreakIterator creation functions to take StringViews. Remove a few
23343        now unnecessary up-conversions to UTF-16 in the process.
23344
23345        * dom/CharacterData.cpp:
23346        * editing/TextCheckingHelper.cpp:
23347        * editing/VisibleUnits.cpp:
23348        * platform/graphics/StringTruncator.cpp:
23349        * platform/graphics/mac/ComplexTextController.cpp:
23350        * platform/text/TextBoundaries.cpp:
23351        * platform/text/TextBreakIterator.cpp:
23352        * platform/text/TextBreakIterator.h:
23353        * rendering/RenderText.cpp:
23354
233552014-01-16  Anders Carlsson  <andersca@apple.com>
23356
23357        Run clang-modernize and let it add a bunch of missing overrides.
23358
23359        Rubber-stamped by Sam Weinig.
23360
23361        * dom/BeforeLoadEvent.h:
23362        * dom/ClassNodeList.h:
23363        * dom/Comment.h:
23364        * dom/CompositionEvent.h:
23365        * dom/DecodedDataDocumentParser.h:
23366        * dom/DeviceMotionEvent.h:
23367        * dom/DeviceOrientationEvent.h:
23368        * dom/DocumentMarker.cpp:
23369        * dom/DocumentType.h:
23370        * dom/EntityReference.h:
23371        * dom/FocusEvent.h:
23372        * dom/HashChangeEvent.h:
23373        * dom/MessageEvent.h:
23374        * dom/MouseEvent.h:
23375        * dom/MouseRelatedEvent.h:
23376        * dom/MutationEvent.h:
23377        * dom/NameNodeList.h:
23378        * dom/Notation.h:
23379        * dom/OverflowEvent.h:
23380        * dom/PendingScript.h:
23381        * dom/PopStateEvent.h:
23382        * dom/ProcessingInstruction.h:
23383        * dom/ScriptElement.h:
23384        * dom/ScriptExecutionContext.cpp:
23385        * dom/ScriptableDocumentParser.h:
23386        * dom/ScriptedAnimationController.h:
23387        * dom/StringCallback.cpp:
23388        * dom/WheelEvent.h:
23389        * html/FTPDirectoryDocument.h:
23390        * html/FileInputType.cpp:
23391        * html/HTMLAppletElement.h:
23392        * html/HTMLBRElement.h:
23393        * html/HTMLBaseElement.h:
23394        * html/HTMLBodyElement.h:
23395        * html/HTMLButtonElement.h:
23396        * html/HTMLDocument.h:
23397        * html/HTMLEmbedElement.h:
23398        * html/HTMLFormControlsCollection.h:
23399        * html/HTMLFrameElement.h:
23400        * html/HTMLFrameSetElement.h:
23401        * html/HTMLHRElement.h:
23402        * html/HTMLIFrameElement.h:
23403        * html/HTMLKeygenElement.cpp:
23404        * html/HTMLKeygenElement.h:
23405        * html/HTMLLinkElement.h:
23406        * html/HTMLMarqueeElement.h:
23407        * html/HTMLObjectElement.h:
23408        * html/HTMLOutputElement.h:
23409        * html/HTMLParamElement.h:
23410        * html/HTMLScriptElement.h:
23411        * html/HTMLStyleElement.h:
23412        * html/HTMLSummaryElement.h:
23413        * html/HTMLTrackElement.h:
23414        * html/HTMLViewSourceDocument.h:
23415        * html/ImageDocument.cpp:
23416        * html/ImageDocument.h:
23417        * html/MediaDocument.cpp:
23418        * html/MediaDocument.h:
23419        * html/MediaKeyEvent.h:
23420        * html/PluginDocument.cpp:
23421        * html/RadioNodeList.h:
23422        * html/TextDocument.h:
23423        * html/canvas/EXTDrawBuffers.h:
23424        * html/canvas/EXTTextureFilterAnisotropic.h:
23425        * html/canvas/OESElementIndexUint.h:
23426        * html/canvas/OESStandardDerivatives.h:
23427        * html/canvas/OESTextureFloat.h:
23428        * html/canvas/OESTextureFloatLinear.h:
23429        * html/canvas/OESTextureHalfFloat.h:
23430        * html/canvas/OESTextureHalfFloatLinear.h:
23431        * html/canvas/OESVertexArrayObject.h:
23432        * html/canvas/WebGLBuffer.h:
23433        * html/canvas/WebGLCompressedTextureATC.h:
23434        * html/canvas/WebGLCompressedTexturePVRTC.h:
23435        * html/canvas/WebGLCompressedTextureS3TC.h:
23436        * html/canvas/WebGLContextEvent.h:
23437        * html/canvas/WebGLContextObject.h:
23438        * html/canvas/WebGLDebugRendererInfo.h:
23439        * html/canvas/WebGLDebugShaders.h:
23440        * html/canvas/WebGLDepthTexture.h:
23441        * html/canvas/WebGLFramebuffer.cpp:
23442        * html/canvas/WebGLFramebuffer.h:
23443        * html/canvas/WebGLLoseContext.h:
23444        * html/canvas/WebGLProgram.h:
23445        * html/canvas/WebGLRenderbuffer.h:
23446        * html/canvas/WebGLRenderingContext.cpp:
23447        * html/canvas/WebGLRenderingContext.h:
23448        * html/canvas/WebGLShader.h:
23449        * html/canvas/WebGLSharedObject.h:
23450        * html/canvas/WebGLTexture.h:
23451        * html/canvas/WebGLVertexArrayObjectOES.h:
23452        * html/parser/HTMLDocumentParser.h:
23453        * html/parser/HTMLViewSourceParser.h:
23454        * html/shadow/DetailsMarkerControl.h:
23455        * html/shadow/MediaControls.h:
23456        * html/shadow/MediaControlsApple.h:
23457        * html/shadow/MeterShadowElement.h:
23458        * html/shadow/ProgressShadowElement.h:
23459        * html/shadow/SliderThumbElement.h:
23460        * html/track/LoadableTextTrack.h:
23461        * html/track/TrackEvent.h:
23462        * svg/SVGAElement.h:
23463        * svg/SVGAnimateColorElement.h:
23464        * svg/SVGAnimateElement.h:
23465        * svg/SVGAnimateMotionElement.h:
23466        * svg/SVGAnimateTransformElement.h:
23467        * svg/SVGAnimationElement.h:
23468        * svg/SVGCircleElement.h:
23469        * svg/SVGClipPathElement.h:
23470        * svg/SVGComponentTransferFunctionElement.h:
23471        * svg/SVGCursorElement.h:
23472        * svg/SVGDefsElement.h:
23473        * svg/SVGDescElement.h:
23474        * svg/SVGEllipseElement.h:
23475        * svg/SVGFEBlendElement.h:
23476        * svg/SVGFEColorMatrixElement.h:
23477        * svg/SVGFEComponentTransferElement.h:
23478        * svg/SVGFECompositeElement.h:
23479        * svg/SVGFEConvolveMatrixElement.h:
23480        * svg/SVGFEDiffuseLightingElement.h:
23481        * svg/SVGFEDisplacementMapElement.h:
23482        * svg/SVGFEDistantLightElement.h:
23483        * svg/SVGFEDropShadowElement.h:
23484        * svg/SVGFEFloodElement.h:
23485        * svg/SVGFEGaussianBlurElement.h:
23486        * svg/SVGFEImageElement.h:
23487        * svg/SVGFELightElement.h:
23488        * svg/SVGFEMergeElement.h:
23489        * svg/SVGFEMergeNodeElement.h:
23490        * svg/SVGFEMorphologyElement.h:
23491        * svg/SVGFEOffsetElement.h:
23492        * svg/SVGFEPointLightElement.h:
23493        * svg/SVGFESpecularLightingElement.h:
23494        * svg/SVGFESpotLightElement.h:
23495        * svg/SVGFETileElement.h:
23496        * svg/SVGFETurbulenceElement.h:
23497        * svg/SVGFilterElement.h:
23498        * svg/SVGFilterPrimitiveStandardAttributes.h:
23499        * svg/SVGFontData.h:
23500        * svg/SVGForeignObjectElement.h:
23501        * svg/SVGGlyphElement.h:
23502        * svg/SVGGlyphRefElement.h:
23503        * svg/SVGGradientElement.h:
23504        * svg/SVGHKernElement.h:
23505        * svg/SVGImageElement.h:
23506        * svg/SVGImageLoader.h:
23507        * svg/SVGLineElement.h:
23508        * svg/SVGLinearGradientElement.h:
23509        * svg/SVGMPathElement.h:
23510        * svg/SVGMarkerElement.h:
23511        * svg/SVGMaskElement.h:
23512        * svg/SVGMissingGlyphElement.h:
23513        * svg/SVGPathBuilder.h:
23514        * svg/SVGPathByteStreamBuilder.h:
23515        * svg/SVGPathByteStreamSource.h:
23516        * svg/SVGPathElement.h:
23517        * svg/SVGPathSegArcAbs.h:
23518        * svg/SVGPathSegArcRel.h:
23519        * svg/SVGPathSegClosePath.h:
23520        * svg/SVGPathSegCurvetoCubicAbs.h:
23521        * svg/SVGPathSegCurvetoCubicRel.h:
23522        * svg/SVGPathSegCurvetoCubicSmoothAbs.h:
23523        * svg/SVGPathSegCurvetoCubicSmoothRel.h:
23524        * svg/SVGPathSegCurvetoQuadraticAbs.h:
23525        * svg/SVGPathSegCurvetoQuadraticRel.h:
23526        * svg/SVGPathSegCurvetoQuadraticSmoothAbs.h:
23527        * svg/SVGPathSegCurvetoQuadraticSmoothRel.h:
23528        * svg/SVGPathSegLinetoAbs.h:
23529        * svg/SVGPathSegLinetoHorizontalAbs.h:
23530        * svg/SVGPathSegLinetoHorizontalRel.h:
23531        * svg/SVGPathSegLinetoRel.h:
23532        * svg/SVGPathSegLinetoVerticalAbs.h:
23533        * svg/SVGPathSegLinetoVerticalRel.h:
23534        * svg/SVGPathSegListBuilder.h:
23535        * svg/SVGPathSegListSource.h:
23536        * svg/SVGPathSegMovetoAbs.h:
23537        * svg/SVGPathSegMovetoRel.h:
23538        * svg/SVGPathStringSource.h:
23539        * svg/SVGPathTraversalStateBuilder.h:
23540        * svg/SVGPatternElement.h:
23541        * svg/SVGPolyElement.h:
23542        * svg/SVGRadialGradientElement.h:
23543        * svg/SVGRectElement.h:
23544        * svg/SVGSVGElement.h:
23545        * svg/SVGScriptElement.h:
23546        * svg/SVGStopElement.h:
23547        * svg/SVGStyleElement.h:
23548        * svg/SVGSwitchElement.h:
23549        * svg/SVGSymbolElement.h:
23550        * svg/SVGTRefElement.h:
23551        * svg/SVGTSpanElement.h:
23552        * svg/SVGTextContentElement.h:
23553        * svg/SVGTextElement.h:
23554        * svg/SVGTextPathElement.h:
23555        * svg/SVGTextPositioningElement.h:
23556        * svg/SVGTitleElement.h:
23557        * svg/SVGUseElement.h:
23558        * svg/SVGVKernElement.h:
23559        * svg/SVGViewElement.h:
23560        * svg/SVGZoomEvent.h:
23561        * svg/animation/SVGSMILElement.cpp:
23562        * svg/animation/SVGSMILElement.h:
23563        * svg/graphics/SVGImageChromeClient.h:
23564        * svg/graphics/filters/SVGFEImage.h:
23565        * svg/graphics/filters/SVGFilter.h:
23566        * svg/properties/SVGAnimatedEnumerationPropertyTearOff.h:
23567        * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h:
23568        * svg/properties/SVGPathSegListPropertyTearOff.h:
23569
235702014-01-16  Jer Noble  <jer.noble@apple.com>
23571
23572        REGRESSION(r162145): media/video-controls-visible-audio-only.html fails
23573        https://bugs.webkit.org/show_bug.cgi?id=127147
23574
23575        Reviewed by Eric Carlson.
23576
23577        Reset the MediaSessionManager's restrictions to their default values before
23578        each run.
23579
23580        Add a new virtual method "resetRestrictions()" so that each port-specific
23581        MediaSessionManager can reset the restrictions to their default values.
23582        Call this from Internals::resetToConsistentState() so that tests which change
23583        the restrictions don't affect later tests.
23584
23585        * platform/audio/MediaSessionManager.cpp:
23586        (WebCore::MediaSessionManager::MediaSessionManager):
23587        (WebCore::MediaSessionManager::resetRestrictions):
23588        * platform/audio/MediaSessionManager.h:
23589        (WebCore::MediaSessionManager::~MediaSessionManager):
23590        * platform/audio/ios/MediaSessionManagerIOS.h:
23591        * platform/audio/ios/MediaSessionManagerIOS.mm:
23592        (WebCore::MediaSessionManageriOS::resetRestrictions):
23593        * testing/Internals.cpp:
23594        (WebCore::Internals::resetToConsistentState):
23595
235962014-01-16  Alex Christensen  <achristensen@webkit.org>
23597
23598        Compile fix for WinCairo after r162138.
23599        https://bugs.webkit.org/show_bug.cgi?id=127140
23600
23601        Reviewed by Beth Dakin.
23602
23603        * page/FrameView.cpp:
23604        (WebCore::FrameView::extendedBackgroundRect):
23605        Use unscaledDocumentRect for extendedBackgroundRect without accelerated compositing.
23606
236072014-01-16  Brady Eidson  <beidson@apple.com>
23608
23609        IDB: delete object store support
23610        <rdar://problem/15779641> and https://bugs.webkit.org/show_bug.cgi?id=127123
23611
23612        Reviewed by Alexey Proskuryakov.
23613
23614        * Modules/indexeddb/IDBTransactionBackendOperations.h:
23615        (WebCore::DeleteObjectStoreOperation::transaction):
23616
236172014-01-16  Alexey Proskuryakov  <ap@apple.com>
23618
23619        More non-Mac build fix.
23620
23621        * platform/network/cf/CookieJarCFNet.cpp:
23622        (WebCore::copyCookiesForURLWithFirstPartyURL):
23623
236242014-01-16  Alexey Proskuryakov  <ap@apple.com>
23625
23626        Build fix.
23627
23628        * platform/network/cf/CookieJarCFNet.cpp: Remove a spurious semicolon.
23629
236302014-01-16  Andy Estes  <aestes@apple.com>
23631
23632        Another iOS build fix.
23633
23634        * platform/audio/ios/MediaSessionManagerIOS.mm:
23635        (WebCore::m_objcObserver):
23636
236372014-01-16  Alexey Proskuryakov  <ap@apple.com>
23638
23639        [Mac] [iOS] Add support for CFHTTPCookieStorageAcceptPolicyExclusivelyFromMainDocumentDomain
23640        https://bugs.webkit.org/show_bug.cgi?id=127139
23641
23642        Reviewed by Brady Eidson.
23643
23644        * platform/ios/WebCoreSystemInterfaceIOS.mm:
23645        * platform/mac/WebCoreSystemInterface.h:
23646        * platform/mac/WebCoreSystemInterface.mm:
23647        Pass first party URL down, because reading cookies depends on it when this policy
23648        in in action.
23649
23650        * platform/network/cf/CookieJarCFNet.cpp:
23651        (WebCore::copyCookiesForURLWithFirstPartyURL):
23652        (WebCore::cookiesForDOM):
23653        (WebCore::cookieRequestHeaderFieldValue):
23654        (WebCore::cookiesEnabled):
23655        (WebCore::getRawCookies):
23656        Use a new CFNetwork API that takes first party URL.
23657
23658        * platform/network/mac/CookieJarMac.mm:
23659        (WebCore::cookiesForDOM):
23660        (WebCore::cookieRequestHeaderFieldValue):
23661        (WebCore::cookiesEnabled):
23662        (WebCore::getRawCookies):
23663        (WebCore::deleteCookie):
23664        Pass first party URL (and null in deleteCookie, as there is none).
23665
23666        * platform/network/mac/ResourceHandleMac.mm:
23667        (WebCore::ResourceHandle::platformLoadResourceSynchronously):
23668        Removed a call to shouldRelaxThirdPartyCookiePolicy(), which no longer exists
23669        in trunk.
23670
236712014-01-16  Andy Estes  <aestes@apple.com>
23672
23673        Fix the iOS build after r162150.
23674
23675        * platform/graphics/cg/GraphicsContextCG.cpp:
23676        (WebCore::GraphicsContext::platformInit):
23677
236782014-01-16  Dean Jackson  <dino@apple.com>
23679
23680        glReadPixels should use UNSIGNED_BYTE on iOS
23681        https://bugs.webkit.org/show_bug.cgi?id=127148
23682
23683        Reviewed by Benjamin Poulain.
23684
23685        We were incorrectly mapping GL_UNSIGNED_INT_8_8_8_8_REV to
23686        GL_RGBA on iOS. It's only used in glReadPixels, so should
23687        be GL_UNSIGNED_BYTE.
23688
23689        This is covered by lots of tests in the Khronos test suite,
23690        that now pass on iOS.
23691
23692        * platform/graphics/ios/GraphicsContext3DIOS.h:
23693
236942014-01-16  Anders Carlsson  <andersca@apple.com>
23695
23696        Change all uses of FINAL to final now that all our compilers support it
23697        https://bugs.webkit.org/show_bug.cgi?id=127142
23698
23699        Reviewed by Benjamin Poulain.
23700
23701        * Modules/encryptedmedia/MediaKeySession.h:
23702        * Modules/indexeddb/IDBCursorBackendOperations.h:
23703        * Modules/indexeddb/IDBDatabase.h:
23704        * Modules/indexeddb/IDBDatabaseCallbacksImpl.h:
23705        * Modules/indexeddb/IDBRequest.h:
23706        * Modules/indexeddb/IDBTransaction.h:
23707        * Modules/indexeddb/IDBTransactionBackendOperations.h:
23708        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
23709        * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
23710        * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
23711        * Modules/mediasource/MediaSource.h:
23712        * Modules/mediasource/MediaSourceRegistry.h:
23713        * Modules/mediasource/SourceBuffer.h:
23714        * Modules/mediasource/SourceBufferList.h:
23715        * Modules/mediastream/AudioStreamTrack.h:
23716        * Modules/mediastream/MediaStream.h:
23717        * Modules/mediastream/MediaStreamRegistry.h:
23718        * Modules/mediastream/MediaStreamTrack.h:
23719        * Modules/mediastream/RTCDTMFSender.h:
23720        * Modules/mediastream/RTCDataChannel.h:
23721        * Modules/mediastream/RTCPeerConnection.h:
23722        * Modules/mediastream/UserMediaRequest.h:
23723        * Modules/mediastream/VideoStreamTrack.h:
23724        * Modules/notifications/Notification.h:
23725        * Modules/speech/SpeechSynthesisUtterance.h:
23726        * Modules/webaudio/AudioContext.h:
23727        * Modules/webaudio/AudioNode.h:
23728        * Modules/websockets/WebSocket.h:
23729        * accessibility/AccessibilityList.h:
23730        * accessibility/AccessibilityListBoxOption.h:
23731        * accessibility/AccessibilityNodeObject.h:
23732        * accessibility/AccessibilitySearchFieldButtons.h:
23733        * accessibility/AccessibilitySlider.h:
23734        * bindings/js/JSCryptoAlgorithmBuilder.h:
23735        * bindings/js/JSCryptoKeySerializationJWK.h:
23736        * bindings/js/JSDOMGlobalObjectTask.cpp:
23737        * bindings/js/JSDOMGlobalObjectTask.h:
23738        * bindings/js/JSLazyEventListener.h:
23739        * bindings/js/ScriptDebugServer.h:
23740        * bindings/js/WorkerScriptDebugServer.h:
23741        * crypto/algorithms/CryptoAlgorithmAES_CBC.h:
23742        * crypto/algorithms/CryptoAlgorithmAES_KW.h:
23743        * crypto/algorithms/CryptoAlgorithmHMAC.h:
23744        * crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.h:
23745        * crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.h:
23746        * crypto/algorithms/CryptoAlgorithmRSA_OAEP.h:
23747        * crypto/algorithms/CryptoAlgorithmSHA1.h:
23748        * crypto/algorithms/CryptoAlgorithmSHA224.h:
23749        * crypto/algorithms/CryptoAlgorithmSHA256.h:
23750        * crypto/algorithms/CryptoAlgorithmSHA384.h:
23751        * crypto/algorithms/CryptoAlgorithmSHA512.h:
23752        * crypto/keys/CryptoKeyAES.h:
23753        * crypto/keys/CryptoKeyDataOctetSequence.h:
23754        * crypto/keys/CryptoKeyDataRSAComponents.h:
23755        * crypto/keys/CryptoKeyHMAC.h:
23756        * crypto/keys/CryptoKeyRSA.h:
23757        * crypto/keys/CryptoKeySerializationRaw.h:
23758        * crypto/parameters/CryptoAlgorithmAesCbcParams.h:
23759        * crypto/parameters/CryptoAlgorithmAesKeyGenParams.h:
23760        * crypto/parameters/CryptoAlgorithmHmacKeyParams.h:
23761        * crypto/parameters/CryptoAlgorithmHmacParams.h:
23762        * crypto/parameters/CryptoAlgorithmRsaKeyGenParams.h:
23763        * crypto/parameters/CryptoAlgorithmRsaKeyParamsWithHash.h:
23764        * crypto/parameters/CryptoAlgorithmRsaOaepParams.h:
23765        * crypto/parameters/CryptoAlgorithmRsaSsaParams.h:
23766        * css/CSSCanvasValue.h:
23767        * css/CSSFontSelector.h:
23768        * css/CSSStyleSheet.h:
23769        * dom/Attr.h:
23770        * dom/BeforeUnloadEvent.h:
23771        * dom/CDATASection.h:
23772        * dom/CharacterData.h:
23773        * dom/ChildNodeList.h:
23774        * dom/Clipboard.cpp:
23775        * dom/Comment.h:
23776        * dom/DatasetDOMStringMap.h:
23777        * dom/Document.h:
23778        * dom/DocumentEventQueue.cpp:
23779        * dom/DocumentEventQueue.h:
23780        * dom/DocumentType.h:
23781        * dom/Element.h:
23782        * dom/EntityReference.h:
23783        * dom/EventContext.h:
23784        * dom/EventTarget.h:
23785        * dom/FocusEvent.h:
23786        * dom/LiveNodeList.h:
23787        * dom/MessagePort.h:
23788        * dom/MouseEvent.h:
23789        * dom/Node.h:
23790        * dom/Notation.h:
23791        * dom/ProcessingInstruction.h:
23792        * dom/PseudoElement.h:
23793        * dom/ShadowRoot.h:
23794        * dom/StaticNodeList.h:
23795        * dom/StyledElement.h:
23796        * dom/TemplateContentDocumentFragment.h:
23797        * dom/Text.h:
23798        * dom/WebKitNamedFlow.h:
23799        * editing/ios/EditorIOS.mm:
23800        * editing/mac/EditorMac.mm:
23801        * editing/markup.cpp:
23802        * fileapi/Blob.cpp:
23803        * fileapi/FileReader.h:
23804        * html/ClassList.h:
23805        * html/DOMSettableTokenList.h:
23806        * html/FTPDirectoryDocument.cpp:
23807        * html/FormAssociatedElement.cpp:
23808        * html/FormAssociatedElement.h:
23809        * html/HTMLAllCollection.h:
23810        * html/HTMLAnchorElement.h:
23811        * html/HTMLAppletElement.h:
23812        * html/HTMLAreaElement.h:
23813        * html/HTMLAudioElement.h:
23814        * html/HTMLBDIElement.h:
23815        * html/HTMLBRElement.h:
23816        * html/HTMLBaseElement.h:
23817        * html/HTMLBaseFontElement.h:
23818        * html/HTMLBodyElement.h:
23819        * html/HTMLButtonElement.h:
23820        * html/HTMLCanvasElement.h:
23821        * html/HTMLDListElement.h:
23822        * html/HTMLDataListElement.h:
23823        * html/HTMLDetailsElement.h:
23824        * html/HTMLDirectoryElement.h:
23825        * html/HTMLDocument.h:
23826        * html/HTMLElement.h:
23827        * html/HTMLEmbedElement.h:
23828        * html/HTMLFieldSetElement.h:
23829        * html/HTMLFontElement.h:
23830        * html/HTMLFormControlElement.h:
23831        * html/HTMLFormElement.h:
23832        * html/HTMLFrameElement.h:
23833        * html/HTMLFrameSetElement.h:
23834        * html/HTMLHRElement.h:
23835        * html/HTMLHeadElement.h:
23836        * html/HTMLHeadingElement.h:
23837        * html/HTMLHtmlElement.h:
23838        * html/HTMLIFrameElement.h:
23839        * html/HTMLImageElement.h:
23840        * html/HTMLInputElement.h:
23841        * html/HTMLKeygenElement.cpp:
23842        * html/HTMLKeygenElement.h:
23843        * html/HTMLLIElement.h:
23844        * html/HTMLLabelElement.h:
23845        * html/HTMLLegendElement.h:
23846        * html/HTMLLinkElement.h:
23847        * html/HTMLMapElement.h:
23848        * html/HTMLMarqueeElement.h:
23849        * html/HTMLMenuElement.h:
23850        * html/HTMLMetaElement.h:
23851        * html/HTMLMeterElement.h:
23852        * html/HTMLModElement.h:
23853        * html/HTMLNameCollection.h:
23854        * html/HTMLOListElement.h:
23855        * html/HTMLObjectElement.h:
23856        * html/HTMLOptGroupElement.h:
23857        * html/HTMLOptionElement.h:
23858        * html/HTMLOptionsCollection.h:
23859        * html/HTMLOutputElement.h:
23860        * html/HTMLParagraphElement.h:
23861        * html/HTMLParamElement.h:
23862        * html/HTMLPlugInElement.h:
23863        * html/HTMLPreElement.h:
23864        * html/HTMLProgressElement.h:
23865        * html/HTMLQuoteElement.h:
23866        * html/HTMLScriptElement.h:
23867        * html/HTMLSelectElement.h:
23868        * html/HTMLSourceElement.h:
23869        * html/HTMLStyleElement.h:
23870        * html/HTMLSummaryElement.h:
23871        * html/HTMLTableCaptionElement.h:
23872        * html/HTMLTableCellElement.h:
23873        * html/HTMLTableColElement.h:
23874        * html/HTMLTableElement.h:
23875        * html/HTMLTableRowElement.h:
23876        * html/HTMLTableRowsCollection.h:
23877        * html/HTMLTableSectionElement.h:
23878        * html/HTMLTemplateElement.h:
23879        * html/HTMLTextAreaElement.h:
23880        * html/HTMLTextFormControlElement.h:
23881        * html/HTMLTitleElement.h:
23882        * html/HTMLTrackElement.h:
23883        * html/HTMLUListElement.h:
23884        * html/HTMLUnknownElement.h:
23885        * html/HTMLVideoElement.h:
23886        * html/HTMLViewSourceDocument.h:
23887        * html/ImageDocument.cpp:
23888        * html/ImageDocument.h:
23889        * html/LabelableElement.h:
23890        * html/LabelsNodeList.h:
23891        * html/MediaController.h:
23892        * html/MediaDocument.cpp:
23893        * html/MediaDocument.h:
23894        * html/MediaFragmentURIParser.h:
23895        * html/PluginDocument.cpp:
23896        * html/PluginDocument.h:
23897        * html/RangeInputType.h:
23898        * html/TextDocument.h:
23899        * html/parser/TextDocumentParser.h:
23900        * html/parser/TextViewSourceParser.h:
23901        * html/shadow/DetailsMarkerControl.h:
23902        * html/shadow/MediaControlElementTypes.h:
23903        * html/shadow/MediaControlElements.h:
23904        * html/shadow/MeterShadowElement.h:
23905        * html/shadow/ProgressShadowElement.h:
23906        * html/shadow/SliderThumbElement.h:
23907        * html/shadow/SpinButtonElement.h:
23908        * html/shadow/TextControlInnerElements.h:
23909        * html/shadow/YouTubeEmbedShadowElement.h:
23910        * html/track/TextTrack.h:
23911        * html/track/TextTrackCue.h:
23912        * html/track/TextTrackCueGeneric.cpp:
23913        * html/track/TextTrackCueGeneric.h:
23914        * html/track/TrackListBase.h:
23915        * html/track/WebVTTElement.h:
23916        * inspector/CommandLineAPIModule.h:
23917        * inspector/InjectedScriptCanvasModule.h:
23918        * inspector/InspectorConsoleAgent.cpp:
23919        * inspector/InspectorController.h:
23920        * inspector/InspectorDebuggerAgent.h:
23921        * inspector/PageConsoleAgent.cpp:
23922        * inspector/PageInjectedScriptHost.h:
23923        * inspector/PageInjectedScriptManager.h:
23924        * inspector/WorkerInspectorController.h:
23925        * loader/SinkDocument.cpp:
23926        * loader/SinkDocument.h:
23927        * loader/appcache/DOMApplicationCache.h:
23928        * loader/cache/CachedCSSStyleSheet.h:
23929        * loader/cache/CachedFont.h:
23930        * loader/cache/CachedRawResource.h:
23931        * loader/cache/CachedSVGDocument.h:
23932        * loader/cache/CachedScript.h:
23933        * loader/cache/CachedShader.h:
23934        * loader/cache/CachedTextTrack.h:
23935        * loader/cache/CachedXSLStyleSheet.h:
23936        * loader/icon/IconLoader.h:
23937        * mathml/MathMLSelectElement.h:
23938        * page/DOMTimer.h:
23939        * page/DOMWindow.h:
23940        * page/EventSource.h:
23941        * page/Frame.h:
23942        * page/FrameView.h:
23943        * page/MainFrame.h:
23944        * page/PageDebuggable.h:
23945        * page/PageSerializer.cpp:
23946        * page/Performance.h:
23947        * page/SuspendableTimer.h:
23948        * page/animation/KeyframeAnimation.h:
23949        * page/scrolling/ScrollingStateFixedNode.h:
23950        * page/scrolling/ScrollingStateScrollingNode.h:
23951        * page/scrolling/ScrollingStateStickyNode.h:
23952        * platform/ClockGeneric.h:
23953        * platform/efl/ScrollbarThemeEfl.h:
23954        * platform/graphics/BitmapImage.h:
23955        * platform/graphics/CrossfadeGeneratedImage.h:
23956        * platform/graphics/GradientImage.h:
23957        * platform/graphics/SimpleFontData.h:
23958        * platform/graphics/avfoundation/objc/AudioTrackPrivateMediaSourceAVFObjC.h:
23959        * platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.h:
23960        * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
23961        * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
23962        * platform/graphics/avfoundation/objc/VideoTrackPrivateAVFObjC.h:
23963        * platform/graphics/avfoundation/objc/VideoTrackPrivateMediaSourceAVFObjC.h:
23964        * platform/graphics/ca/mac/PlatformCALayerMac.h:
23965        * platform/graphics/ca/win/PlatformCALayerWin.h:
23966        * platform/graphics/cg/PDFDocumentImage.h:
23967        * platform/graphics/gstreamer/AudioTrackPrivateGStreamer.h:
23968        * platform/graphics/gstreamer/MediaSourceGStreamer.h:
23969        * platform/graphics/gstreamer/SourceBufferPrivateGStreamer.h:
23970        * platform/graphics/gstreamer/VideoTrackPrivateGStreamer.h:
23971        * platform/ios/WebSafeGCActivityCallbackIOS.h:
23972        * platform/ios/WebSafeIncrementalSweeperIOS.h:
23973        * platform/mac/PlatformClockCA.h:
23974        * platform/mac/PlatformClockCM.h:
23975        * platform/mac/ScrollAnimatorMac.h:
23976        * platform/mediastream/MediaStreamTrackPrivate.h:
23977        * platform/mediastream/mac/MediaStreamCenterMac.h:
23978        * platform/mock/MockMediaStreamCenter.h:
23979        * platform/mock/RTCDataChannelHandlerMock.h:
23980        * platform/mock/RTCPeerConnectionHandlerMock.h:
23981        * platform/mock/mediasource/MockBox.h:
23982        * platform/mock/mediasource/MockMediaSourcePrivate.h:
23983        * platform/mock/mediasource/MockSourceBufferPrivate.cpp:
23984        * platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.h:
23985        * platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.h:
23986        * platform/text/LocaleNone.cpp:
23987        * platform/text/PlatformLocale.cpp:
23988        * rendering/EllipsisBox.h:
23989        * rendering/FilterEffectRenderer.h:
23990        * rendering/InlineElementBox.h:
23991        * rendering/InlineFlowBox.h:
23992        * rendering/InlineTextBox.h:
23993        * rendering/RenderBlock.h:
23994        * rendering/RenderBlockFlow.h:
23995        * rendering/RenderBox.cpp:
23996        (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
23997        (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
23998        * rendering/RenderBox.h:
23999        * rendering/RenderButton.h:
24000        * rendering/RenderCombineText.h:
24001        * rendering/RenderCounter.h:
24002        * rendering/RenderDeprecatedFlexibleBox.h:
24003        * rendering/RenderDetailsMarker.h:
24004        * rendering/RenderElement.h:
24005        * rendering/RenderEmbeddedObject.h:
24006        * rendering/RenderFieldset.h:
24007        * rendering/RenderFileUploadControl.h:
24008        * rendering/RenderFlexibleBox.h:
24009        * rendering/RenderFlowThread.h:
24010        * rendering/RenderFrame.h:
24011        * rendering/RenderFrameSet.h:
24012        * rendering/RenderFullScreen.cpp:
24013        * rendering/RenderFullScreen.h:
24014        * rendering/RenderGrid.h:
24015        * rendering/RenderHTMLCanvas.h:
24016        * rendering/RenderIFrame.h:
24017        * rendering/RenderImage.h:
24018        * rendering/RenderInline.h:
24019        * rendering/RenderLayer.h:
24020        * rendering/RenderLayerFilterInfo.h:
24021        * rendering/RenderLineBreak.h:
24022        * rendering/RenderListBox.h:
24023        * rendering/RenderListItem.h:
24024        * rendering/RenderListMarker.h:
24025        * rendering/RenderMedia.h:
24026        * rendering/RenderMediaControlElements.h:
24027        * rendering/RenderMenuList.h:
24028        * rendering/RenderMeter.h:
24029        * rendering/RenderMultiColumnBlock.h:
24030        * rendering/RenderMultiColumnFlowThread.h:
24031        * rendering/RenderMultiColumnSet.h:
24032        * rendering/RenderNamedFlowFragment.h:
24033        * rendering/RenderNamedFlowThread.h:
24034        * rendering/RenderProgress.h:
24035        * rendering/RenderQuote.h:
24036        * rendering/RenderRegion.h:
24037        * rendering/RenderRegionSet.h:
24038        * rendering/RenderReplaced.h:
24039        * rendering/RenderReplica.h:
24040        * rendering/RenderRuby.h:
24041        * rendering/RenderRubyBase.h:
24042        * rendering/RenderRubyRun.h:
24043        * rendering/RenderRubyText.h:
24044        * rendering/RenderScrollbar.h:
24045        * rendering/RenderScrollbarPart.h:
24046        * rendering/RenderSearchField.h:
24047        * rendering/RenderSlider.h:
24048        * rendering/RenderSnapshottedPlugIn.h:
24049        * rendering/RenderTable.h:
24050        * rendering/RenderTableCaption.h:
24051        * rendering/RenderTableCell.h:
24052        * rendering/RenderTableCol.h:
24053        * rendering/RenderTableRow.h:
24054        * rendering/RenderTableSection.h:
24055        * rendering/RenderText.h:
24056        * rendering/RenderTextControl.h:
24057        * rendering/RenderTextControlMultiLine.h:
24058        * rendering/RenderTextControlSingleLine.h:
24059        * rendering/RenderTextFragment.h:
24060        * rendering/RenderTextTrackCue.h:
24061        * rendering/RenderVideo.h:
24062        * rendering/RenderView.h:
24063        * rendering/RenderWidget.h:
24064        * rendering/RootInlineBox.h:
24065        * rendering/TrailingFloatsRootInlineBox.h:
24066        * rendering/mathml/RenderMathMLBlock.h:
24067        * rendering/mathml/RenderMathMLFenced.h:
24068        * rendering/mathml/RenderMathMLFraction.h:
24069        * rendering/mathml/RenderMathMLMath.h:
24070        * rendering/mathml/RenderMathMLOperator.h:
24071        * rendering/mathml/RenderMathMLRoot.h:
24072        * rendering/mathml/RenderMathMLRow.h:
24073        * rendering/mathml/RenderMathMLScripts.h:
24074        * rendering/mathml/RenderMathMLSpace.h:
24075        * rendering/mathml/RenderMathMLSquareRoot.h:
24076        * rendering/shapes/ShapeInsideInfo.h:
24077        * rendering/shapes/ShapeOutsideInfo.h:
24078        * rendering/style/ContentData.h:
24079        * rendering/style/StyleCachedImage.h:
24080        * rendering/style/StyleCachedImageSet.h:
24081        * rendering/style/StyleGeneratedImage.h:
24082        * rendering/svg/RenderSVGBlock.h:
24083        * rendering/svg/RenderSVGContainer.h:
24084        * rendering/svg/RenderSVGEllipse.h:
24085        * rendering/svg/RenderSVGForeignObject.h:
24086        * rendering/svg/RenderSVGGradientStop.h:
24087        * rendering/svg/RenderSVGHiddenContainer.h:
24088        * rendering/svg/RenderSVGImage.h:
24089        * rendering/svg/RenderSVGInline.h:
24090        * rendering/svg/RenderSVGInlineText.h:
24091        * rendering/svg/RenderSVGModelObject.h:
24092        * rendering/svg/RenderSVGPath.h:
24093        * rendering/svg/RenderSVGRect.h:
24094        * rendering/svg/RenderSVGResourceClipper.h:
24095        * rendering/svg/RenderSVGResourceContainer.h:
24096        * rendering/svg/RenderSVGResourceFilter.h:
24097        * rendering/svg/RenderSVGResourceFilterPrimitive.h:
24098        * rendering/svg/RenderSVGResourceGradient.h:
24099        * rendering/svg/RenderSVGResourceLinearGradient.h:
24100        * rendering/svg/RenderSVGResourceMarker.h:
24101        * rendering/svg/RenderSVGResourceMasker.h:
24102        * rendering/svg/RenderSVGResourcePattern.h:
24103        * rendering/svg/RenderSVGResourceRadialGradient.h:
24104        * rendering/svg/RenderSVGRoot.h:
24105        * rendering/svg/RenderSVGShape.cpp:
24106        * rendering/svg/RenderSVGShape.h:
24107        * rendering/svg/RenderSVGTSpan.h:
24108        * rendering/svg/RenderSVGText.h:
24109        * rendering/svg/RenderSVGTextPath.h:
24110        * rendering/svg/RenderSVGTransformableContainer.h:
24111        * rendering/svg/RenderSVGViewportContainer.h:
24112        * rendering/svg/SVGInlineFlowBox.h:
24113        * rendering/svg/SVGInlineTextBox.h:
24114        * rendering/svg/SVGRootInlineBox.h:
24115        * rendering/svg/SVGTextRunRenderingContext.h:
24116        * svg/SVGAElement.h:
24117        * svg/SVGAltGlyphDefElement.h:
24118        * svg/SVGAltGlyphElement.h:
24119        * svg/SVGAltGlyphItemElement.h:
24120        * svg/SVGAnimateColorElement.h:
24121        * svg/SVGAnimateMotionElement.h:
24122        * svg/SVGAnimateTransformElement.h:
24123        * svg/SVGAnimatedAngle.h:
24124        * svg/SVGAnimatedBoolean.h:
24125        * svg/SVGAnimatedColor.h:
24126        * svg/SVGAnimatedEnumeration.h:
24127        * svg/SVGAnimatedInteger.h:
24128        * svg/SVGAnimatedIntegerOptionalInteger.h:
24129        * svg/SVGAnimatedLength.h:
24130        * svg/SVGAnimatedLengthList.h:
24131        * svg/SVGAnimatedNumber.h:
24132        * svg/SVGAnimatedNumberList.h:
24133        * svg/SVGAnimatedNumberOptionalNumber.h:
24134        * svg/SVGAnimatedPath.h:
24135        * svg/SVGAnimatedPointList.h:
24136        * svg/SVGAnimatedPreserveAspectRatio.h:
24137        * svg/SVGAnimatedRect.h:
24138        * svg/SVGAnimatedString.h:
24139        * svg/SVGAnimatedTransformList.h:
24140        * svg/SVGCircleElement.h:
24141        * svg/SVGClipPathElement.h:
24142        * svg/SVGCursorElement.h:
24143        * svg/SVGDefsElement.h:
24144        * svg/SVGDescElement.h:
24145        * svg/SVGDocument.h:
24146        * svg/SVGElement.h:
24147        * svg/SVGEllipseElement.h:
24148        * svg/SVGFEBlendElement.h:
24149        * svg/SVGFEColorMatrixElement.h:
24150        * svg/SVGFEComponentTransferElement.h:
24151        * svg/SVGFECompositeElement.h:
24152        * svg/SVGFEConvolveMatrixElement.h:
24153        * svg/SVGFEDiffuseLightingElement.h:
24154        * svg/SVGFEDisplacementMapElement.h:
24155        * svg/SVGFEDistantLightElement.h:
24156        * svg/SVGFEDropShadowElement.h:
24157        * svg/SVGFEFloodElement.h:
24158        * svg/SVGFEFuncAElement.h:
24159        * svg/SVGFEFuncBElement.h:
24160        * svg/SVGFEFuncGElement.h:
24161        * svg/SVGFEFuncRElement.h:
24162        * svg/SVGFEGaussianBlurElement.h:
24163        * svg/SVGFEImageElement.h:
24164        * svg/SVGFEMergeElement.h:
24165        * svg/SVGFEMergeNodeElement.h:
24166        * svg/SVGFEMorphologyElement.h:
24167        * svg/SVGFEOffsetElement.h:
24168        * svg/SVGFEPointLightElement.h:
24169        * svg/SVGFESpecularLightingElement.h:
24170        * svg/SVGFESpotLightElement.h:
24171        * svg/SVGFETileElement.h:
24172        * svg/SVGFETurbulenceElement.h:
24173        * svg/SVGFilterElement.h:
24174        * svg/SVGFontElement.h:
24175        * svg/SVGFontFaceElement.h:
24176        * svg/SVGFontFaceFormatElement.h:
24177        * svg/SVGFontFaceNameElement.h:
24178        * svg/SVGFontFaceSrcElement.h:
24179        * svg/SVGFontFaceUriElement.h:
24180        * svg/SVGForeignObjectElement.h:
24181        * svg/SVGGElement.h:
24182        * svg/SVGGlyphElement.h:
24183        * svg/SVGGlyphRefElement.h:
24184        * svg/SVGHKernElement.h:
24185        * svg/SVGImageElement.h:
24186        * svg/SVGLineElement.h:
24187        * svg/SVGLinearGradientElement.h:
24188        * svg/SVGMPathElement.h:
24189        * svg/SVGMarkerElement.h:
24190        * svg/SVGMaskElement.h:
24191        * svg/SVGMetadataElement.h:
24192        * svg/SVGMissingGlyphElement.h:
24193        * svg/SVGPathElement.h:
24194        * svg/SVGPathStringBuilder.h:
24195        * svg/SVGPatternElement.h:
24196        * svg/SVGPolygonElement.h:
24197        * svg/SVGPolylineElement.h:
24198        * svg/SVGRadialGradientElement.h:
24199        * svg/SVGRectElement.h:
24200        * svg/SVGSVGElement.h:
24201        * svg/SVGScriptElement.h:
24202        * svg/SVGSetElement.h:
24203        * svg/SVGStopElement.h:
24204        * svg/SVGStyleElement.h:
24205        * svg/SVGSwitchElement.h:
24206        * svg/SVGSymbolElement.h:
24207        * svg/SVGTRefElement.h:
24208        * svg/SVGTSpanElement.h:
24209        * svg/SVGTextContentElement.h:
24210        * svg/SVGTextElement.h:
24211        * svg/SVGTextPathElement.h:
24212        * svg/SVGTitleElement.h:
24213        * svg/SVGUnknownElement.h:
24214        * svg/SVGUseElement.h:
24215        * svg/SVGVKernElement.h:
24216        * svg/SVGViewElement.h:
24217        * svg/animation/SVGSMILElement.h:
24218        * svg/graphics/SVGImage.h:
24219        * svg/graphics/SVGImageForContainer.h:
24220        * svg/graphics/filters/SVGFilter.h:
24221        * workers/AbstractWorker.h:
24222        * workers/SharedWorker.h:
24223        * workers/Worker.h:
24224        * workers/WorkerEventQueue.cpp:
24225        * workers/WorkerEventQueue.h:
24226        * workers/WorkerGlobalScope.h:
24227        * xml/XMLHttpRequest.h:
24228        * xml/XMLHttpRequestUpload.h:
24229        * xml/XPathFunctions.cpp:
24230        * xml/XPathPath.h:
24231        * xml/XPathPredicate.h:
24232        * xml/XSLStyleSheet.h:
24233
242342014-01-15  Myles C. Maxfield  <mmaxfield@apple.com>
24235
24236        Draw all underline segments in a particular run in the same call
24237        https://bugs.webkit.org/show_bug.cgi?id=127082
24238
24239        Reviewed by Simon Fraser.
24240
24241        Instead of running CGContextFillRect() in a loop, we can instead call CGContextFillRects()
24242
24243        In my tests, this seems to have about 0.5% speedup.
24244
24245        This patch creates some redundant code, but I think that refactoring would make the code
24246        much less readable. I also am hesitant to make drawLineForText call drawLinesForText because
24247        of the overhead of the vector that would be needed.
24248
24249        As there is no behavior change, no new tests are necessary
24250
24251        * platform/graphics/GraphicsContext.h:
24252        * platform/graphics/cairo/GraphicsContextCairo.cpp:
24253        (WebCore::GraphicsContext::drawLinesForText):
24254        * platform/graphics/cg/GraphicsContextCG.cpp:
24255        (WebCore::GraphicsContext::platformInit):
24256        * platform/graphics/wince/GraphicsContextWinCE.cpp:
24257        (WebCore::GraphicsContext::drawLinesForText):
24258        * rendering/InlineTextBox.cpp:
24259        (WebCore::drawSkipInkUnderline):
24260
242612014-01-16  Brady Eidson  <beidson@apple.com>
24262
24263        Use KeyedCoding as a persistent storage mechanism for blobs
24264        https://bugs.webkit.org/show_bug.cgi?id=127012
24265
24266        Reviewed by Anders Carlsson.
24267
24268        Add basic KeyedDecoder interface that is the inverse of KeyedEncoder:
24269        * platform/KeyedCoding.h:
24270        (WebCore::KeyedDecoder::decodeVerifiedEnum):
24271        (WebCore::KeyedDecoder::decodeObject):
24272        (WebCore::KeyedDecoder::decodeObjects):
24273
24274        Use KeyedEncoder/Decoder to encode/decode IDBKeyPath:
24275        * Modules/indexeddb/IDBKeyPath.cpp:
24276        (WebCore::IDBKeyPath::encode):
24277        (WebCore::IDBKeyPath::decode):
24278        * Modules/indexeddb/IDBKeyPath.h:
24279
24280        * WebCore.exp.in:
24281
242822014-01-16  Eric Carlson  <eric.carlson@apple.com>
24283
24284        Allow MediaSessionManager to restrict inline <video> playback
24285        https://bugs.webkit.org/show_bug.cgi?id=127113
24286
24287        Reviewed by Jer Noble.
24288
24289        Test: media/video-fullscreeen-only-playback.html
24290
24291        * html/HTMLMediaElement.cpp:
24292        (WebCore::HTMLMediaElement::updatePlayState): Drive-by change to not tell the media session that
24293            playback is starting if the media player is already playing. Enter fullscreen if the media
24294            session says it is required.
24295
24296        * html/HTMLMediaSession.cpp:
24297        (WebCore::HTMLMediaSession::clientWillBeginPlayback): Make it const.
24298        (WebCore::HTMLMediaSession::requiresFullscreenForVideoPlayback): New, see if the specified
24299            media element must be played in fullscreen based on the media session settings, document
24300            settings, and attributes.
24301        * html/HTMLMediaSession.h:
24302
24303        * platform/audio/MediaSession.h: pauseSession shouldn't be virtual.
24304
24305        * platform/audio/MediaSessionManager.cpp:
24306        (WebCore::MediaSessionManager::sessionWillBeginPlayback): Return immediately if ConcurrentPlaybackNotPermitted
24307            is not set.
24308        (WebCore::MediaSessionManager::sessionRestrictsInlineVideoPlayback): New.
24309        * platform/audio/MediaSessionManager.h:
24310
24311        * platform/audio/ios/MediaSessionManagerIOS.mm:
24312        (WebCore::MediaSessionManageriOS::MediaSessionManageriOS): Set InlineVideoPlaybackRestricted if
24313            running on an iPhone or iPod class device.
24314
24315        * testing/Internals.cpp:
24316        (WebCore::Internals::setMediaSessionRestrictions): Support InlineVideoPlaybackRestricted.
24317
243182014-01-16  Roger Fong  <roger_fong@apple.com>
24319
24320        Add support for handling WebGL load policies.
24321        https://bugs.webkit.org/show_bug.cgi?id=126935
24322        <rdar://problem/15790448>.
24323
24324        Reviewed by Timothy Horton.
24325
24326        Rename webGLPolicyForSite to webGLPolicyForURL.
24327
24328        * html/HTMLCanvasElement.cpp:
24329        (WebCore::HTMLCanvasElement::getContext):
24330        * loader/FrameLoaderClient.h:
24331        (WebCore::FrameLoaderClient::webGLPolicyForURL):
24332
243332014-01-16  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
24334
24335        Guarding HTMLMediaSession with ENABLE(VIDEO)
24336        https://bugs.webkit.org/show_bug.cgi?id=127126
24337
24338        Reviewed by Eric Carlson.
24339
24340        No new tests needed.
24341
24342        * html/HTMLMediaSession.cpp:
24343        * html/HTMLMediaSession.h:
24344
243452014-01-16  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
24346
24347        Remove workaround for compilers not supporting explicit override control
24348        https://bugs.webkit.org/show_bug.cgi?id=127111
24349
24350        Reviewed by Anders Carlsson.
24351
24352        Now all compilers support explicit override control, this workaround can be removed.
24353
24354        * Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.h:
24355        * Modules/encryptedmedia/CDMPrivateAVFoundation.h:
24356        * Modules/encryptedmedia/CDMPrivateAVFoundation.mm:
24357        * Modules/encryptedmedia/MediaKeyMessageEvent.h:
24358        * Modules/encryptedmedia/MediaKeyNeededEvent.h:
24359        * Modules/encryptedmedia/MediaKeySession.h:
24360        * Modules/encryptedmedia/MediaKeys.h:
24361        * Modules/geolocation/Geolocation.h:
24362        * Modules/indexeddb/DOMWindowIndexedDatabase.h:
24363        * Modules/indexeddb/IDBCursorBackendOperations.h:
24364        * Modules/indexeddb/IDBCursorWithValue.h:
24365        * Modules/indexeddb/IDBDatabase.h:
24366        * Modules/indexeddb/IDBDatabaseCallbacksImpl.h:
24367        * Modules/indexeddb/IDBOpenDBRequest.h:
24368        * Modules/indexeddb/IDBRequest.h:
24369        * Modules/indexeddb/IDBTransaction.h:
24370        * Modules/indexeddb/IDBTransactionBackendOperations.h:
24371        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
24372        * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
24373        * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
24374        * Modules/indieui/UIRequestEvent.h:
24375        * Modules/mediasource/MediaSource.h:
24376        * Modules/mediasource/MediaSourceRegistry.h:
24377        * Modules/mediasource/SourceBuffer.h:
24378        * Modules/mediasource/SourceBufferList.h:
24379        * Modules/mediastream/AudioStreamTrack.h:
24380        * Modules/mediastream/MediaConstraintsImpl.h:
24381        * Modules/mediastream/MediaStream.h:
24382        * Modules/mediastream/MediaStreamRegistry.h:
24383        * Modules/mediastream/MediaStreamTrack.h:
24384        * Modules/mediastream/MediaStreamTrackEvent.h:
24385        * Modules/mediastream/MediaStreamTrackSourcesRequest.h:
24386        * Modules/mediastream/RTCDTMFSender.h:
24387        * Modules/mediastream/RTCDataChannel.h:
24388        * Modules/mediastream/RTCPeerConnection.h:
24389        * Modules/mediastream/RTCSessionDescriptionRequestImpl.h:
24390        * Modules/mediastream/RTCStatsRequestImpl.h:
24391        * Modules/mediastream/RTCStatsResponse.h:
24392        * Modules/mediastream/RTCVoidRequestImpl.h:
24393        * Modules/mediastream/UserMediaRequest.h:
24394        * Modules/mediastream/VideoStreamTrack.h:
24395        * Modules/networkinfo/NetworkInfoConnection.h:
24396        * Modules/notifications/DOMWindowNotifications.h:
24397        * Modules/notifications/Notification.h:
24398        * Modules/notifications/NotificationCenter.h:
24399        * Modules/plugins/QuickTimePluginReplacement.h:
24400        * Modules/speech/SpeechRecognition.h:
24401        * Modules/speech/SpeechRecognitionError.h:
24402        * Modules/speech/SpeechRecognitionEvent.h:
24403        * Modules/speech/SpeechSynthesis.h:
24404        * Modules/speech/SpeechSynthesisUtterance.h:
24405        * Modules/webaudio/AnalyserNode.h:
24406        * Modules/webaudio/AudioBasicInspectorNode.h:
24407        * Modules/webaudio/AudioBasicProcessorNode.h:
24408        * Modules/webaudio/AudioBufferSourceNode.h:
24409        * Modules/webaudio/AudioContext.h:
24410        * Modules/webaudio/AudioDestinationNode.h:
24411        * Modules/webaudio/AudioNode.h:
24412        * Modules/webaudio/AudioNodeInput.h:
24413        * Modules/webaudio/AudioParam.h:
24414        * Modules/webaudio/AudioProcessingEvent.h:
24415        * Modules/webaudio/BiquadDSPKernel.h:
24416        * Modules/webaudio/BiquadProcessor.h:
24417        * Modules/webaudio/ChannelMergerNode.h:
24418        * Modules/webaudio/ChannelSplitterNode.h:
24419        * Modules/webaudio/ConvolverNode.h:
24420        * Modules/webaudio/DefaultAudioDestinationNode.h:
24421        * Modules/webaudio/DelayDSPKernel.h:
24422        * Modules/webaudio/DelayProcessor.h:
24423        * Modules/webaudio/DynamicsCompressorNode.h:
24424        * Modules/webaudio/GainNode.h:
24425        * Modules/webaudio/MediaElementAudioSourceNode.h:
24426        * Modules/webaudio/MediaStreamAudioDestinationNode.h:
24427        * Modules/webaudio/MediaStreamAudioSourceNode.h:
24428        * Modules/webaudio/OfflineAudioCompletionEvent.h:
24429        * Modules/webaudio/OfflineAudioDestinationNode.h:
24430        * Modules/webaudio/OscillatorNode.h:
24431        * Modules/webaudio/PannerNode.h:
24432        * Modules/webaudio/ScriptProcessorNode.h:
24433        * Modules/webaudio/WaveShaperDSPKernel.h:
24434        * Modules/webaudio/WaveShaperProcessor.h:
24435        * Modules/webdatabase/DatabaseTask.h:
24436        * Modules/webdatabase/SQLTransaction.h:
24437        * Modules/webdatabase/SQLTransactionBackend.h:
24438        * Modules/websockets/CloseEvent.h:
24439        * Modules/websockets/WebSocket.h:
24440        * Modules/websockets/WebSocketChannel.h:
24441        * Modules/websockets/WebSocketDeflateFramer.cpp:
24442        * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
24443        * Modules/websockets/WorkerThreadableWebSocketChannel.h:
24444        * accessibility/AccessibilityARIAGrid.h:
24445        * accessibility/AccessibilityARIAGridCell.h:
24446        * accessibility/AccessibilityARIAGridRow.h:
24447        * accessibility/AccessibilityImageMapLink.h:
24448        * accessibility/AccessibilityList.h:
24449        * accessibility/AccessibilityListBox.h:
24450        * accessibility/AccessibilityListBoxOption.h:
24451        * accessibility/AccessibilityMediaControls.h:
24452        * accessibility/AccessibilityMenuList.h:
24453        * accessibility/AccessibilityMenuListOption.h:
24454        * accessibility/AccessibilityMenuListPopup.h:
24455        * accessibility/AccessibilityMockObject.h:
24456        * accessibility/AccessibilityNodeObject.h:
24457        * accessibility/AccessibilityProgressIndicator.h:
24458        * accessibility/AccessibilityRenderObject.h:
24459        * accessibility/AccessibilitySVGRoot.h:
24460        * accessibility/AccessibilityScrollView.h:
24461        * accessibility/AccessibilityScrollbar.h:
24462        * accessibility/AccessibilitySearchFieldButtons.h:
24463        * accessibility/AccessibilitySlider.h:
24464        * accessibility/AccessibilitySpinButton.h:
24465        * accessibility/AccessibilityTable.h:
24466        * accessibility/AccessibilityTableCell.h:
24467        * accessibility/AccessibilityTableColumn.h:
24468        * accessibility/AccessibilityTableHeaderContainer.h:
24469        * accessibility/AccessibilityTableRow.h:
24470        * bindings/js/JSCryptoAlgorithmBuilder.h:
24471        * bindings/js/JSCryptoKeySerializationJWK.h:
24472        * bindings/js/JSDOMGlobalObjectTask.h:
24473        * bindings/js/JSEventListener.h:
24474        * bindings/js/JSLazyEventListener.h:
24475        * bindings/js/JSMutationCallback.h:
24476        * bindings/js/PageScriptDebugServer.h:
24477        * bindings/js/ScriptDebugServer.h:
24478        * bindings/js/WebCoreTypedArrayController.h:
24479        * bindings/js/WorkerScriptDebugServer.h:
24480        * bridge/c/c_class.h:
24481        * bridge/c/c_instance.h:
24482        * bridge/c/c_runtime.h:
24483        * bridge/runtime_root.h:
24484        * crypto/algorithms/CryptoAlgorithmAES_CBC.h:
24485        * crypto/algorithms/CryptoAlgorithmAES_KW.h:
24486        * crypto/algorithms/CryptoAlgorithmHMAC.h:
24487        * crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.h:
24488        * crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.h:
24489        * crypto/algorithms/CryptoAlgorithmRSA_OAEP.h:
24490        * crypto/algorithms/CryptoAlgorithmSHA1.h:
24491        * crypto/algorithms/CryptoAlgorithmSHA224.h:
24492        * crypto/algorithms/CryptoAlgorithmSHA256.h:
24493        * crypto/algorithms/CryptoAlgorithmSHA384.h:
24494        * crypto/algorithms/CryptoAlgorithmSHA512.h:
24495        * crypto/keys/CryptoKeyAES.h:
24496        * crypto/keys/CryptoKeyHMAC.h:
24497        * crypto/keys/CryptoKeyRSA.h:
24498        * crypto/keys/CryptoKeySerializationRaw.h:
24499        * crypto/parameters/CryptoAlgorithmAesCbcParams.h:
24500        * crypto/parameters/CryptoAlgorithmAesKeyGenParams.h:
24501        * crypto/parameters/CryptoAlgorithmHmacKeyParams.h:
24502        * crypto/parameters/CryptoAlgorithmHmacParams.h:
24503        * crypto/parameters/CryptoAlgorithmRsaKeyGenParams.h:
24504        * crypto/parameters/CryptoAlgorithmRsaKeyParamsWithHash.h:
24505        * crypto/parameters/CryptoAlgorithmRsaOaepParams.h:
24506        * crypto/parameters/CryptoAlgorithmRsaSsaParams.h:
24507        * css/CSSBasicShapes.h:
24508        * css/CSSCanvasValue.h:
24509        * css/CSSCharsetRule.h:
24510        * css/CSSComputedStyleDeclaration.h:
24511        * css/CSSCrossfadeValue.h:
24512        * css/CSSFilterImageValue.h:
24513        * css/CSSFontFaceRule.h:
24514        * css/CSSFontSelector.h:
24515        * css/CSSGroupingRule.h:
24516        * css/CSSHostRule.h:
24517        * css/CSSImportRule.h:
24518        * css/CSSMediaRule.h:
24519        * css/CSSPageRule.h:
24520        * css/CSSStyleRule.h:
24521        * css/CSSStyleSheet.h:
24522        * css/CSSSupportsRule.h:
24523        * css/CSSUnknownRule.h:
24524        * css/FontLoader.cpp:
24525        * css/FontLoader.h:
24526        * css/PropertySetCSSStyleDeclaration.h:
24527        * css/WebKitCSSFilterRule.h:
24528        * css/WebKitCSSKeyframeRule.h:
24529        * css/WebKitCSSKeyframesRule.h:
24530        * css/WebKitCSSRegionRule.h:
24531        * css/WebKitCSSViewportRule.h:
24532        * dom/Attr.h:
24533        * dom/BeforeTextInsertedEvent.h:
24534        * dom/BeforeUnloadEvent.h:
24535        * dom/CDATASection.h:
24536        * dom/CharacterData.h:
24537        * dom/ChildNodeList.h:
24538        * dom/Clipboard.cpp:
24539        * dom/ClipboardEvent.h:
24540        * dom/ContainerNode.h:
24541        * dom/DOMImplementation.cpp:
24542        * dom/DatasetDOMStringMap.h:
24543        * dom/DeviceMotionController.h:
24544        * dom/DeviceOrientationController.h:
24545        * dom/Document.h:
24546        * dom/DocumentEventQueue.cpp:
24547        * dom/DocumentEventQueue.h:
24548        * dom/DocumentFragment.h:
24549        * dom/Element.h:
24550        * dom/ErrorEvent.h:
24551        * dom/EventContext.h:
24552        * dom/EventTarget.h:
24553        * dom/FocusEvent.h:
24554        * dom/KeyboardEvent.h:
24555        * dom/LiveNodeList.h:
24556        * dom/MessagePort.h:
24557        * dom/MouseEvent.h:
24558        * dom/MutationRecord.cpp:
24559        * dom/Node.h:
24560        * dom/PageTransitionEvent.h:
24561        * dom/ProcessingInstruction.h:
24562        * dom/ProgressEvent.h:
24563        * dom/PseudoElement.h:
24564        * dom/ScriptExecutionContext.h:
24565        * dom/ShadowRoot.h:
24566        * dom/StaticNodeList.h:
24567        * dom/StyledElement.h:
24568        * dom/TagNodeList.h:
24569        * dom/TemplateContentDocumentFragment.h:
24570        * dom/Text.h:
24571        * dom/TextEvent.h:
24572        * dom/TouchEvent.h:
24573        * dom/TransitionEvent.h:
24574        * dom/UIEvent.h:
24575        * dom/WebKitAnimationEvent.h:
24576        * dom/WebKitNamedFlow.h:
24577        * dom/WebKitTransitionEvent.h:
24578        * editing/AppendNodeCommand.h:
24579        * editing/ApplyBlockElementCommand.h:
24580        * editing/ApplyStyleCommand.h:
24581        * editing/BreakBlockquoteCommand.h:
24582        * editing/CompositeEditCommand.h:
24583        * editing/DeleteButton.h:
24584        * editing/DeleteFromTextNodeCommand.h:
24585        * editing/EditCommand.h:
24586        * editing/InsertIntoTextNodeCommand.h:
24587        * editing/InsertNodeBeforeCommand.h:
24588        * editing/InsertTextCommand.h:
24589        * editing/MergeIdenticalElementsCommand.h:
24590        * editing/RemoveCSSPropertyCommand.h:
24591        * editing/RemoveNodeCommand.h:
24592        * editing/ReplaceNodeWithSpanCommand.h:
24593        * editing/SetNodeAttributeCommand.h:
24594        * editing/SetSelectionCommand.h:
24595        * editing/SpellChecker.h:
24596        * editing/SpellingCorrectionCommand.cpp:
24597        * editing/SpellingCorrectionCommand.h:
24598        * editing/SplitElementCommand.h:
24599        * editing/SplitTextNodeCommand.h:
24600        * editing/WrapContentsInDummySpanCommand.h:
24601        * editing/ios/EditorIOS.mm:
24602        * editing/markup.cpp:
24603        * fileapi/Blob.cpp:
24604        * fileapi/Blob.h:
24605        * fileapi/File.h:
24606        * fileapi/FileReader.h:
24607        * fileapi/FileThreadTask.h:
24608        * history/BackForwardList.h:
24609        * html/BaseButtonInputType.h:
24610        * html/BaseCheckableInputType.h:
24611        * html/BaseChooserOnlyDateAndTimeInputType.h:
24612        * html/BaseClickableWithKeyInputType.h:
24613        * html/BaseDateAndTimeInputType.h:
24614        * html/BaseTextInputType.h:
24615        * html/ButtonInputType.h:
24616        * html/CheckboxInputType.h:
24617        * html/ClassList.h:
24618        * html/ColorInputType.h:
24619        * html/DOMSettableTokenList.h:
24620        * html/DateInputType.h:
24621        * html/DateTimeInputType.h:
24622        * html/DateTimeLocalInputType.h:
24623        * html/EmailInputType.h:
24624        * html/FTPDirectoryDocument.cpp:
24625        * html/FileInputType.h:
24626        * html/FormAssociatedElement.cpp:
24627        * html/FormAssociatedElement.h:
24628        * html/HTMLAnchorElement.h:
24629        * html/HTMLAppletElement.h:
24630        * html/HTMLAreaElement.h:
24631        * html/HTMLBRElement.h:
24632        * html/HTMLBaseElement.h:
24633        * html/HTMLBodyElement.h:
24634        * html/HTMLButtonElement.h:
24635        * html/HTMLCanvasElement.h:
24636        * html/HTMLDetailsElement.cpp:
24637        * html/HTMLDetailsElement.h:
24638        * html/HTMLDivElement.h:
24639        * html/HTMLDocument.h:
24640        * html/HTMLElement.h:
24641        * html/HTMLEmbedElement.h:
24642        * html/HTMLFieldSetElement.h:
24643        * html/HTMLFontElement.h:
24644        * html/HTMLFormControlElement.h:
24645        * html/HTMLFormControlElementWithState.h:
24646        * html/HTMLFormControlsCollection.h:
24647        * html/HTMLFormElement.h:
24648        * html/HTMLFrameElement.h:
24649        * html/HTMLFrameElementBase.h:
24650        * html/HTMLFrameOwnerElement.h:
24651        * html/HTMLFrameSetElement.h:
24652        * html/HTMLHRElement.h:
24653        * html/HTMLHtmlElement.h:
24654        * html/HTMLIFrameElement.h:
24655        * html/HTMLImageElement.h:
24656        * html/HTMLImageLoader.h:
24657        * html/HTMLInputElement.cpp:
24658        * html/HTMLInputElement.h:
24659        * html/HTMLKeygenElement.h:
24660        * html/HTMLLIElement.h:
24661        * html/HTMLLabelElement.h:
24662        * html/HTMLLegendElement.h:
24663        * html/HTMLLinkElement.h:
24664        * html/HTMLMapElement.h:
24665        * html/HTMLMarqueeElement.h:
24666        * html/HTMLMediaElement.h:
24667        * html/HTMLMediaSession.h:
24668        * html/HTMLMediaSource.h:
24669        * html/HTMLMetaElement.h:
24670        * html/HTMLMeterElement.h:
24671        * html/HTMLModElement.h:
24672        * html/HTMLOListElement.h:
24673        * html/HTMLObjectElement.h:
24674        * html/HTMLOptGroupElement.h:
24675        * html/HTMLOptionElement.h:
24676        * html/HTMLOutputElement.h:
24677        * html/HTMLParagraphElement.h:
24678        * html/HTMLParamElement.h:
24679        * html/HTMLPlugInElement.h:
24680        * html/HTMLPlugInImageElement.h:
24681        * html/HTMLPreElement.h:
24682        * html/HTMLProgressElement.h:
24683        * html/HTMLQuoteElement.h:
24684        * html/HTMLScriptElement.h:
24685        * html/HTMLSelectElement.h:
24686        * html/HTMLSourceElement.h:
24687        * html/HTMLStyleElement.h:
24688        * html/HTMLSummaryElement.h:
24689        * html/HTMLTableCaptionElement.h:
24690        * html/HTMLTableCellElement.h:
24691        * html/HTMLTableColElement.h:
24692        * html/HTMLTableElement.h:
24693        * html/HTMLTablePartElement.h:
24694        * html/HTMLTableRowsCollection.h:
24695        * html/HTMLTableSectionElement.h:
24696        * html/HTMLTemplateElement.h:
24697        * html/HTMLTextAreaElement.h:
24698        * html/HTMLTextFormControlElement.h:
24699        * html/HTMLTitleElement.h:
24700        * html/HTMLTrackElement.h:
24701        * html/HTMLUListElement.h:
24702        * html/HTMLUnknownElement.h:
24703        * html/HTMLVideoElement.h:
24704        * html/HiddenInputType.h:
24705        * html/ImageDocument.cpp:
24706        * html/ImageInputType.h:
24707        * html/LabelableElement.h:
24708        * html/LabelsNodeList.h:
24709        * html/MediaController.h:
24710        * html/MonthInputType.h:
24711        * html/NumberInputType.h:
24712        * html/PasswordInputType.h:
24713        * html/PluginDocument.h:
24714        * html/RadioInputType.h:
24715        * html/RangeInputType.h:
24716        * html/ResetInputType.h:
24717        * html/SearchInputType.h:
24718        * html/SubmitInputType.h:
24719        * html/TelephoneInputType.h:
24720        * html/TextFieldInputType.h:
24721        * html/TextInputType.h:
24722        * html/TimeInputType.h:
24723        * html/URLInputType.h:
24724        * html/WeekInputType.h:
24725        * html/canvas/CanvasRenderingContext2D.cpp:
24726        * html/canvas/CanvasRenderingContext2D.h:
24727        * html/canvas/WebGLRenderingContext.h:
24728        * html/parser/HTMLDocumentParser.h:
24729        * html/parser/TextDocumentParser.h:
24730        * html/shadow/DetailsMarkerControl.h:
24731        * html/shadow/InsertionPoint.h:
24732        * html/shadow/MediaControlElementTypes.h:
24733        * html/shadow/MediaControlElements.h:
24734        * html/shadow/MediaControls.h:
24735        * html/shadow/MediaControlsApple.h:
24736        * html/shadow/MediaControlsGtk.h:
24737        * html/shadow/MeterShadowElement.h:
24738        * html/shadow/ProgressShadowElement.h:
24739        * html/shadow/SliderThumbElement.cpp:
24740        * html/shadow/SliderThumbElement.h:
24741        * html/shadow/SpinButtonElement.h:
24742        * html/shadow/TextControlInnerElements.h:
24743        * html/shadow/YouTubeEmbedShadowElement.h:
24744        * html/track/AudioTrack.h:
24745        * html/track/AudioTrackList.h:
24746        * html/track/InbandGenericTextTrack.h:
24747        * html/track/InbandTextTrack.h:
24748        * html/track/InbandWebVTTTextTrack.h:
24749        * html/track/LoadableTextTrack.h:
24750        * html/track/TextTrack.h:
24751        * html/track/TextTrackCue.h:
24752        * html/track/TextTrackCueGeneric.cpp:
24753        * html/track/TextTrackCueGeneric.h:
24754        * html/track/TextTrackList.h:
24755        * html/track/TrackListBase.h:
24756        * html/track/VideoTrack.h:
24757        * html/track/VideoTrackList.h:
24758        * html/track/WebVTTElement.h:
24759        * inspector/CommandLineAPIModule.h:
24760        * inspector/InjectedScriptCanvasModule.h:
24761        * inspector/InspectorApplicationCacheAgent.h:
24762        * inspector/InspectorCSSAgent.h:
24763        * inspector/InspectorCanvasAgent.h:
24764        * inspector/InspectorConsoleAgent.cpp:
24765        * inspector/InspectorConsoleAgent.h:
24766        * inspector/InspectorController.h:
24767        * inspector/InspectorDOMAgent.h:
24768        * inspector/InspectorDOMDebuggerAgent.h:
24769        * inspector/InspectorDOMStorageAgent.h:
24770        * inspector/InspectorDatabaseAgent.h:
24771        * inspector/InspectorDebuggerAgent.h:
24772        * inspector/InspectorHeapProfilerAgent.h:
24773        * inspector/InspectorIndexedDBAgent.cpp:
24774        * inspector/InspectorIndexedDBAgent.h:
24775        * inspector/InspectorInputAgent.h:
24776        * inspector/InspectorLayerTreeAgent.h:
24777        * inspector/InspectorMemoryAgent.h:
24778        * inspector/InspectorPageAgent.h:
24779        * inspector/InspectorProfilerAgent.h:
24780        * inspector/InspectorResourceAgent.h:
24781        * inspector/InspectorTimelineAgent.h:
24782        * inspector/InspectorWorkerAgent.h:
24783        * inspector/PageConsoleAgent.cpp:
24784        * inspector/PageConsoleAgent.h:
24785        * inspector/PageInjectedScriptHost.h:
24786        * inspector/PageInjectedScriptManager.h:
24787        * inspector/PageRuntimeAgent.h:
24788        * inspector/WorkerConsoleAgent.h:
24789        * inspector/WorkerDebuggerAgent.h:
24790        * inspector/WorkerInspectorController.h:
24791        * inspector/WorkerRuntimeAgent.h:
24792        * loader/DocumentLoader.h:
24793        * loader/EmptyClients.h:
24794        * loader/FrameNetworkingContext.h:
24795        * loader/ImageLoader.h:
24796        * loader/NavigationScheduler.cpp:
24797        * loader/NetscapePlugInStreamLoader.h:
24798        * loader/PingLoader.h:
24799        * loader/ResourceLoader.h:
24800        * loader/SubresourceLoader.h:
24801        * loader/WorkerThreadableLoader.h:
24802        * loader/appcache/ApplicationCacheGroup.cpp:
24803        * loader/appcache/ApplicationCacheGroup.h:
24804        * loader/appcache/DOMApplicationCache.h:
24805        * loader/archive/cf/LegacyWebArchive.h:
24806        * loader/cache/CachedCSSStyleSheet.h:
24807        * loader/cache/CachedFont.h:
24808        * loader/cache/CachedFontClient.h:
24809        * loader/cache/CachedImage.h:
24810        * loader/cache/CachedImageClient.h:
24811        * loader/cache/CachedRawResource.h:
24812        * loader/cache/CachedRawResourceClient.h:
24813        * loader/cache/CachedSVGDocument.h:
24814        * loader/cache/CachedSVGDocumentClient.h:
24815        * loader/cache/CachedScript.h:
24816        * loader/cache/CachedShader.h:
24817        * loader/cache/CachedStyleSheetClient.h:
24818        * loader/cache/CachedTextTrack.h:
24819        * loader/cache/CachedXSLStyleSheet.h:
24820        * loader/icon/IconLoader.h:
24821        * mathml/MathMLElement.h:
24822        * mathml/MathMLInlineContainerElement.h:
24823        * mathml/MathMLMathElement.h:
24824        * mathml/MathMLSelectElement.h:
24825        * mathml/MathMLTextElement.h:
24826        * page/CaptionUserPreferencesMediaAF.h:
24827        * page/Chrome.h:
24828        * page/DOMTimer.h:
24829        * page/DOMWindow.h:
24830        * page/DOMWindowExtension.h:
24831        * page/EventSource.h:
24832        * page/Frame.h:
24833        * page/FrameView.h:
24834        * page/PageDebuggable.h:
24835        * page/PageSerializer.cpp:
24836        * page/Performance.h:
24837        * page/SuspendableTimer.h:
24838        * page/animation/ImplicitAnimation.h:
24839        * page/animation/KeyframeAnimation.h:
24840        * page/scrolling/AsyncScrollingCoordinator.h:
24841        * page/scrolling/ScrollingConstraints.h:
24842        * page/scrolling/ScrollingStateFixedNode.h:
24843        * page/scrolling/ScrollingStateScrollingNode.h:
24844        * page/scrolling/ScrollingStateStickyNode.h:
24845        * page/scrolling/ScrollingTreeScrollingNode.h:
24846        * page/scrolling/ThreadedScrollingTree.h:
24847        * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.h:
24848        * page/scrolling/ios/ScrollingCoordinatorIOS.h:
24849        * page/scrolling/ios/ScrollingTreeIOS.h:
24850        * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.h:
24851        * page/scrolling/mac/ScrollingCoordinatorMac.h:
24852        * page/scrolling/mac/ScrollingTreeFixedNode.h:
24853        * page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
24854        * page/scrolling/mac/ScrollingTreeStickyNode.h:
24855        * pdf/ios/PDFDocument.cpp:
24856        * pdf/ios/PDFDocument.h:
24857        * platform/CalculationValue.h:
24858        * platform/ClockGeneric.h:
24859        * platform/MainThreadTask.h:
24860        * platform/PODIntervalTree.h:
24861        * platform/PODRedBlackTree.h:
24862        * platform/RefCountedSupplement.h:
24863        * platform/ScrollView.h:
24864        * platform/Scrollbar.h:
24865        * platform/Timer.h:
24866        * platform/animation/TimingFunction.h:
24867        * platform/audio/AudioDSPKernelProcessor.h:
24868        * platform/audio/EqualPowerPanner.h:
24869        * platform/audio/HRTFPanner.h:
24870        * platform/audio/ios/AudioDestinationIOS.h:
24871        * platform/audio/mac/AudioDestinationMac.h:
24872        * platform/audio/nix/AudioDestinationNix.h:
24873        * platform/efl/RenderThemeEfl.h:
24874        * platform/efl/ScrollbarEfl.h:
24875        * platform/efl/ScrollbarThemeEfl.h:
24876        * platform/graphics/AudioTrackPrivate.h:
24877        * platform/graphics/BitmapImage.h:
24878        * platform/graphics/CrossfadeGeneratedImage.h:
24879        * platform/graphics/FloatPolygon.h:
24880        * platform/graphics/GeneratedImage.h:
24881        * platform/graphics/GradientImage.h:
24882        * platform/graphics/GraphicsLayer.h:
24883        * platform/graphics/InbandTextTrackPrivate.h:
24884        * platform/graphics/MediaPlayer.cpp:
24885        * platform/graphics/SimpleFontData.h:
24886        * platform/graphics/VideoTrackPrivate.h:
24887        * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h:
24888        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
24889        * platform/graphics/avfoundation/VideoTrackPrivateAVF.h:
24890        * platform/graphics/avfoundation/cf/InbandTextTrackPrivateAVCF.h:
24891        * platform/graphics/avfoundation/cf/InbandTextTrackPrivateLegacyAVCF.h:
24892        * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
24893        * platform/graphics/avfoundation/objc/AudioTrackPrivateMediaSourceAVFObjC.h:
24894        * platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.h:
24895        * platform/graphics/avfoundation/objc/InbandTextTrackPrivateLegacyAVFObjC.h:
24896        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
24897        * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
24898        * platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.h:
24899        * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
24900        * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
24901        * platform/graphics/avfoundation/objc/VideoTrackPrivateAVFObjC.h:
24902        * platform/graphics/avfoundation/objc/VideoTrackPrivateMediaSourceAVFObjC.h:
24903        * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h:
24904        * platform/graphics/ca/GraphicsLayerCA.h:
24905        * platform/graphics/ca/mac/PlatformCALayerMac.h:
24906        * platform/graphics/ca/mac/TileController.h:
24907        * platform/graphics/ca/win/LegacyCACFLayerTreeHost.h:
24908        * platform/graphics/ca/win/PlatformCALayerWin.h:
24909        * platform/graphics/ca/win/WKCACFViewLayerTreeHost.h:
24910        * platform/graphics/cg/PDFDocumentImage.h:
24911        * platform/graphics/efl/GraphicsContext3DPrivate.h:
24912        * platform/graphics/egl/GLContextFromCurrentEGL.h:
24913        * platform/graphics/filters/DistantLightSource.h:
24914        * platform/graphics/filters/FEComposite.h:
24915        * platform/graphics/filters/FEDisplacementMap.h:
24916        * platform/graphics/filters/FEFlood.h:
24917        * platform/graphics/filters/FilterOperation.h:
24918        * platform/graphics/filters/PointLightSource.h:
24919        * platform/graphics/filters/SpotLightSource.h:
24920        * platform/graphics/gstreamer/AudioTrackPrivateGStreamer.h:
24921        * platform/graphics/gstreamer/InbandMetadataTextTrackPrivateGStreamer.h:
24922        * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.h:
24923        * platform/graphics/gstreamer/VideoTrackPrivateGStreamer.h:
24924        * platform/graphics/ios/InbandTextTrackPrivateAVFIOS.h:
24925        * platform/graphics/ios/MediaPlayerPrivateIOS.h:
24926        * platform/graphics/ios/TextTrackRepresentationIOS.h:
24927        * platform/graphics/surfaces/GLTransportSurface.h:
24928        * platform/graphics/surfaces/egl/EGLContext.h:
24929        * platform/graphics/surfaces/egl/EGLSurface.h:
24930        * platform/graphics/surfaces/egl/EGLXSurface.h:
24931        * platform/graphics/surfaces/glx/GLXContext.h:
24932        * platform/graphics/surfaces/glx/GLXSurface.h:
24933        * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
24934        * platform/graphics/texmap/TextureMapperGL.h:
24935        * platform/graphics/texmap/TextureMapperImageBuffer.h:
24936        * platform/graphics/texmap/TextureMapperLayer.h:
24937        * platform/graphics/texmap/TextureMapperTiledBackingStore.h:
24938        * platform/graphics/texmap/coordinated/CompositingCoordinator.h:
24939        * platform/graphics/texmap/coordinated/CoordinatedBackingStore.h:
24940        * platform/graphics/texmap/coordinated/CoordinatedCustomFilterProgram.h:
24941        * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
24942        * platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp:
24943        * platform/graphics/texmap/coordinated/CoordinatedTile.h:
24944        * platform/graphics/texmap/coordinated/UpdateAtlas.cpp:
24945        * platform/gtk/RenderThemeGtk.h:
24946        * platform/ios/DeviceMotionClientIOS.h:
24947        * platform/ios/DeviceOrientationClientIOS.h:
24948        * platform/ios/ScrollAnimatorIOS.h:
24949        * platform/ios/ScrollbarThemeIOS.h:
24950        * platform/ios/WebSafeGCActivityCallbackIOS.h:
24951        * platform/ios/WebSafeIncrementalSweeperIOS.h:
24952        * platform/mac/PlatformClockCA.h:
24953        * platform/mac/PlatformClockCM.h:
24954        * platform/mac/ScrollAnimatorMac.h:
24955        * platform/mac/ScrollbarThemeMac.h:
24956        * platform/mediastream/MediaStreamTrackPrivate.h:
24957        * platform/mediastream/gstreamer/MediaStreamCenterGStreamer.h:
24958        * platform/mediastream/mac/AVAudioCaptureSource.h:
24959        * platform/mediastream/mac/AVMediaCaptureSource.h:
24960        * platform/mediastream/mac/AVVideoCaptureSource.h:
24961        * platform/mediastream/mac/MediaStreamCenterMac.h:
24962        * platform/mock/DeviceMotionClientMock.h:
24963        * platform/mock/DeviceOrientationClientMock.h:
24964        * platform/mock/MockMediaStreamCenter.h:
24965        * platform/mock/RTCDataChannelHandlerMock.h:
24966        * platform/mock/RTCNotifiersMock.h:
24967        * platform/mock/RTCPeerConnectionHandlerMock.h:
24968        * platform/mock/mediasource/MockMediaPlayerMediaSource.h:
24969        * platform/mock/mediasource/MockMediaSourcePrivate.h:
24970        * platform/mock/mediasource/MockSourceBufferPrivate.cpp:
24971        * platform/mock/mediasource/MockSourceBufferPrivate.h:
24972        * platform/network/BlobRegistryImpl.h:
24973        * platform/network/BlobResourceHandle.cpp:
24974        * platform/network/BlobResourceHandle.h:
24975        * platform/network/ResourceHandle.h:
24976        * platform/network/SynchronousLoaderClient.h:
24977        * platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.h:
24978        * platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.h:
24979        * platform/nix/RenderThemeNix.h:
24980        * platform/nix/ScrollbarThemeNix.h:
24981        * platform/text/LocaleICU.h:
24982        * platform/text/LocaleNone.cpp:
24983        * platform/text/PlatformLocale.cpp:
24984        * platform/text/mac/LocaleMac.h:
24985        * platform/text/win/LocaleWin.h:
24986        * platform/win/PopupMenuWin.h:
24987        * plugins/PluginView.h:
24988        * rendering/AutoTableLayout.h:
24989        * rendering/ClipPathOperation.h:
24990        * rendering/EllipsisBox.h:
24991        * rendering/FilterEffectRenderer.h:
24992        * rendering/FixedTableLayout.h:
24993        * rendering/InlineElementBox.h:
24994        * rendering/InlineFlowBox.h:
24995        * rendering/InlineTextBox.h:
24996        * rendering/RenderBlock.h:
24997        * rendering/RenderBlockFlow.h:
24998        * rendering/RenderBox.h:
24999        * rendering/RenderBoxModelObject.h:
25000        * rendering/RenderButton.h:
25001        * rendering/RenderCombineText.h:
25002        * rendering/RenderCounter.h:
25003        * rendering/RenderDeprecatedFlexibleBox.h:
25004        * rendering/RenderDetailsMarker.h:
25005        * rendering/RenderElement.h:
25006        * rendering/RenderEmbeddedObject.h:
25007        * rendering/RenderFieldset.h:
25008        * rendering/RenderFileUploadControl.h:
25009        * rendering/RenderFlexibleBox.h:
25010        * rendering/RenderFlowThread.h:
25011        * rendering/RenderFrame.h:
25012        * rendering/RenderFrameSet.h:
25013        * rendering/RenderFullScreen.h:
25014        * rendering/RenderGrid.h:
25015        * rendering/RenderHTMLCanvas.h:
25016        * rendering/RenderIFrame.h:
25017        * rendering/RenderImage.h:
25018        * rendering/RenderImageResourceStyleImage.h:
25019        * rendering/RenderInline.h:
25020        * rendering/RenderLayer.h:
25021        * rendering/RenderLayerBacking.h:
25022        * rendering/RenderLayerCompositor.h:
25023        * rendering/RenderLayerFilterInfo.h:
25024        * rendering/RenderLayerModelObject.h:
25025        * rendering/RenderLineBreak.h:
25026        * rendering/RenderListBox.h:
25027        * rendering/RenderListItem.h:
25028        * rendering/RenderListMarker.h:
25029        * rendering/RenderMedia.h:
25030        * rendering/RenderMenuList.h:
25031        * rendering/RenderMeter.h:
25032        * rendering/RenderMultiColumnBlock.h:
25033        * rendering/RenderMultiColumnFlowThread.h:
25034        * rendering/RenderMultiColumnSet.h:
25035        * rendering/RenderNamedFlowFragment.h:
25036        * rendering/RenderNamedFlowThread.h:
25037        * rendering/RenderObject.h:
25038        * rendering/RenderProgress.h:
25039        * rendering/RenderQuote.h:
25040        * rendering/RenderRegion.h:
25041        * rendering/RenderRegionSet.h:
25042        * rendering/RenderReplaced.h:
25043        * rendering/RenderReplica.h:
25044        * rendering/RenderRuby.h:
25045        * rendering/RenderRubyRun.h:
25046        * rendering/RenderRubyText.h:
25047        * rendering/RenderScrollbar.h:
25048        * rendering/RenderScrollbarPart.h:
25049        * rendering/RenderScrollbarTheme.h:
25050        * rendering/RenderSearchField.h:
25051        * rendering/RenderSlider.h:
25052        * rendering/RenderSnapshottedPlugIn.h:
25053        * rendering/RenderTable.h:
25054        * rendering/RenderTableCaption.h:
25055        * rendering/RenderTableCell.h:
25056        * rendering/RenderTableCol.h:
25057        * rendering/RenderTableRow.h:
25058        * rendering/RenderTableSection.h:
25059        * rendering/RenderText.h:
25060        * rendering/RenderTextControl.h:
25061        * rendering/RenderTextControlMultiLine.h:
25062        * rendering/RenderTextControlSingleLine.h:
25063        * rendering/RenderTextFragment.h:
25064        * rendering/RenderTextTrackCue.h:
25065        * rendering/RenderThemeIOS.h:
25066        * rendering/RenderThemeMac.h:
25067        * rendering/RenderThemeSafari.h:
25068        * rendering/RenderThemeWin.h:
25069        * rendering/RenderVideo.h:
25070        * rendering/RenderView.h:
25071        * rendering/RenderWidget.h:
25072        * rendering/RootInlineBox.h:
25073        * rendering/mathml/RenderMathMLBlock.h:
25074        * rendering/mathml/RenderMathMLFenced.h:
25075        * rendering/mathml/RenderMathMLFraction.h:
25076        * rendering/mathml/RenderMathMLMath.h:
25077        * rendering/mathml/RenderMathMLOperator.h:
25078        * rendering/mathml/RenderMathMLRoot.h:
25079        * rendering/mathml/RenderMathMLRow.h:
25080        * rendering/mathml/RenderMathMLScripts.h:
25081        * rendering/mathml/RenderMathMLSpace.h:
25082        * rendering/mathml/RenderMathMLSquareRoot.h:
25083        * rendering/mathml/RenderMathMLUnderOver.h:
25084        * rendering/shapes/BoxShape.h:
25085        * rendering/shapes/PolygonShape.h:
25086        * rendering/shapes/RasterShape.h:
25087        * rendering/shapes/RectangleShape.h:
25088        * rendering/shapes/ShapeInsideInfo.h:
25089        * rendering/shapes/ShapeOutsideInfo.h:
25090        * rendering/style/BasicShapes.h:
25091        * rendering/style/ContentData.h:
25092        * rendering/style/StyleCachedImage.h:
25093        * rendering/style/StyleCachedImageSet.h:
25094        * rendering/style/StyleGeneratedImage.h:
25095        * rendering/style/StylePendingImage.h:
25096        * rendering/svg/RenderSVGBlock.h:
25097        * rendering/svg/RenderSVGContainer.h:
25098        * rendering/svg/RenderSVGForeignObject.h:
25099        * rendering/svg/RenderSVGGradientStop.h:
25100        * rendering/svg/RenderSVGHiddenContainer.h:
25101        * rendering/svg/RenderSVGImage.h:
25102        * rendering/svg/RenderSVGInline.h:
25103        * rendering/svg/RenderSVGInlineText.h:
25104        * rendering/svg/RenderSVGModelObject.h:
25105        * rendering/svg/RenderSVGPath.h:
25106        * rendering/svg/RenderSVGResourceClipper.h:
25107        * rendering/svg/RenderSVGResourceContainer.h:
25108        * rendering/svg/RenderSVGResourceFilter.h:
25109        * rendering/svg/RenderSVGResourceGradient.h:
25110        * rendering/svg/RenderSVGResourceLinearGradient.h:
25111        * rendering/svg/RenderSVGResourceMarker.h:
25112        * rendering/svg/RenderSVGResourceMasker.h:
25113        * rendering/svg/RenderSVGResourcePattern.h:
25114        * rendering/svg/RenderSVGResourceRadialGradient.h:
25115        * rendering/svg/RenderSVGResourceSolidColor.h:
25116        * rendering/svg/RenderSVGRoot.h:
25117        * rendering/svg/RenderSVGShape.cpp:
25118        * rendering/svg/RenderSVGShape.h:
25119        * rendering/svg/RenderSVGText.h:
25120        * rendering/svg/RenderSVGTextPath.h:
25121        * rendering/svg/RenderSVGViewportContainer.h:
25122        * rendering/svg/SVGInlineFlowBox.h:
25123        * rendering/svg/SVGInlineTextBox.h:
25124        * rendering/svg/SVGRootInlineBox.h:
25125        * rendering/svg/SVGTextRunRenderingContext.h:
25126        * storage/StorageAreaImpl.h:
25127        * storage/StorageNamespaceImpl.h:
25128        * svg/SVGAElement.h:
25129        * svg/SVGAltGlyphDefElement.h:
25130        * svg/SVGAltGlyphElement.h:
25131        * svg/SVGAltGlyphItemElement.h:
25132        * svg/SVGAnimateElement.h:
25133        * svg/SVGAnimateMotionElement.h:
25134        * svg/SVGAnimateTransformElement.h:
25135        * svg/SVGAnimatedAngle.h:
25136        * svg/SVGAnimatedBoolean.h:
25137        * svg/SVGAnimatedColor.h:
25138        * svg/SVGAnimatedEnumeration.h:
25139        * svg/SVGAnimatedInteger.h:
25140        * svg/SVGAnimatedIntegerOptionalInteger.h:
25141        * svg/SVGAnimatedLength.h:
25142        * svg/SVGAnimatedLengthList.h:
25143        * svg/SVGAnimatedNumber.h:
25144        * svg/SVGAnimatedNumberList.h:
25145        * svg/SVGAnimatedNumberOptionalNumber.h:
25146        * svg/SVGAnimatedPath.h:
25147        * svg/SVGAnimatedPointList.h:
25148        * svg/SVGAnimatedPreserveAspectRatio.h:
25149        * svg/SVGAnimatedRect.h:
25150        * svg/SVGAnimatedString.h:
25151        * svg/SVGAnimatedTransformList.h:
25152        * svg/SVGAnimationElement.h:
25153        * svg/SVGCircleElement.h:
25154        * svg/SVGClipPathElement.h:
25155        * svg/SVGComponentTransferFunctionElement.h:
25156        * svg/SVGCursorElement.h:
25157        * svg/SVGDefsElement.h:
25158        * svg/SVGDocument.h:
25159        * svg/SVGElement.h:
25160        * svg/SVGElementInstance.h:
25161        * svg/SVGEllipseElement.h:
25162        * svg/SVGFEBlendElement.h:
25163        * svg/SVGFEColorMatrixElement.h:
25164        * svg/SVGFEComponentTransferElement.h:
25165        * svg/SVGFECompositeElement.h:
25166        * svg/SVGFEConvolveMatrixElement.h:
25167        * svg/SVGFEDiffuseLightingElement.h:
25168        * svg/SVGFEDisplacementMapElement.h:
25169        * svg/SVGFEDropShadowElement.h:
25170        * svg/SVGFEGaussianBlurElement.h:
25171        * svg/SVGFEImageElement.h:
25172        * svg/SVGFELightElement.h:
25173        * svg/SVGFEMergeNodeElement.h:
25174        * svg/SVGFEMorphologyElement.h:
25175        * svg/SVGFEOffsetElement.h:
25176        * svg/SVGFESpecularLightingElement.h:
25177        * svg/SVGFETileElement.h:
25178        * svg/SVGFETurbulenceElement.h:
25179        * svg/SVGFilterElement.h:
25180        * svg/SVGFilterPrimitiveStandardAttributes.h:
25181        * svg/SVGFontElement.h:
25182        * svg/SVGFontFaceElement.h:
25183        * svg/SVGFontFaceFormatElement.h:
25184        * svg/SVGFontFaceNameElement.h:
25185        * svg/SVGFontFaceSrcElement.h:
25186        * svg/SVGFontFaceUriElement.h:
25187        * svg/SVGForeignObjectElement.h:
25188        * svg/SVGGElement.h:
25189        * svg/SVGGlyphElement.h:
25190        * svg/SVGGlyphRefElement.h:
25191        * svg/SVGGradientElement.h:
25192        * svg/SVGGraphicsElement.h:
25193        * svg/SVGHKernElement.h:
25194        * svg/SVGImageElement.h:
25195        * svg/SVGLineElement.h:
25196        * svg/SVGLinearGradientElement.h:
25197        * svg/SVGMPathElement.h:
25198        * svg/SVGMarkerElement.h:
25199        * svg/SVGMaskElement.h:
25200        * svg/SVGMetadataElement.h:
25201        * svg/SVGPathElement.h:
25202        * svg/SVGPathStringBuilder.h:
25203        * svg/SVGPatternElement.h:
25204        * svg/SVGPolyElement.h:
25205        * svg/SVGRadialGradientElement.h:
25206        * svg/SVGRectElement.h:
25207        * svg/SVGSVGElement.h:
25208        * svg/SVGScriptElement.h:
25209        * svg/SVGSetElement.h:
25210        * svg/SVGStopElement.h:
25211        * svg/SVGStyleElement.h:
25212        * svg/SVGSwitchElement.h:
25213        * svg/SVGSymbolElement.h:
25214        * svg/SVGTRefElement.cpp:
25215        * svg/SVGTRefElement.h:
25216        * svg/SVGTSpanElement.h:
25217        * svg/SVGTextContentElement.h:
25218        * svg/SVGTextElement.h:
25219        * svg/SVGTextPathElement.h:
25220        * svg/SVGTextPositioningElement.h:
25221        * svg/SVGTitleElement.h:
25222        * svg/SVGTransformable.h:
25223        * svg/SVGUnknownElement.h:
25224        * svg/SVGUseElement.h:
25225        * svg/SVGVKernElement.h:
25226        * svg/SVGViewElement.h:
25227        * svg/animation/SVGSMILElement.h:
25228        * svg/graphics/SVGImage.h:
25229        * svg/graphics/SVGImageForContainer.h:
25230        * svg/graphics/filters/SVGFilter.h:
25231        * svg/properties/SVGAnimatedListPropertyTearOff.h:
25232        * svg/properties/SVGAnimatedTransformListPropertyTearOff.h:
25233        * svg/properties/SVGListPropertyTearOff.h:
25234        * svg/properties/SVGPathSegListPropertyTearOff.h:
25235        * svg/properties/SVGPropertyTearOff.h:
25236        * testing/InternalSettings.cpp:
25237        * testing/Internals.cpp:
25238        * testing/MockCDM.cpp:
25239        * testing/MockCDM.h:
25240        * workers/AbstractWorker.h:
25241        * workers/DedicatedWorkerGlobalScope.h:
25242        * workers/DedicatedWorkerThread.h:
25243        * workers/SharedWorker.h:
25244        * workers/SharedWorkerGlobalScope.h:
25245        * workers/SharedWorkerThread.h:
25246        * workers/Worker.h:
25247        * workers/WorkerEventQueue.cpp:
25248        * workers/WorkerEventQueue.h:
25249        * workers/WorkerGlobalScope.h:
25250        * workers/WorkerMessagingProxy.h:
25251        * workers/WorkerObjectProxy.h:
25252        * workers/WorkerScriptLoader.h:
25253        * workers/WorkerThread.cpp:
25254        * xml/XMLHttpRequest.h:
25255        * xml/XMLHttpRequestUpload.h:
25256        * xml/XPathFunctions.cpp:
25257        * xml/XPathPath.h:
25258        * xml/XPathPredicate.h:
25259        * xml/XSLStyleSheet.h:
25260
252612014-01-16  Beth Dakin  <bdakin@apple.com>
25262
25263        Speculative Win Cairo build fix.
25264
25265        These need to be inside an ifdef.
25266        * page/FrameView.cpp:
25267        (WebCore::FrameView::hasExtendedBackground):
25268        (WebCore::FrameView::extendedBackgroundRect):
25269
252702014-01-07  Myles C. Maxfield  <mmaxfield@apple.com>
25271
25272        text-emphasis-position CSS property doesn't recognize 'left' and 'right'
25273        https://bugs.webkit.org/show_bug.cgi?id=126611
25274
25275        Reviewed by Simon Fraser.
25276
25277        This patch allows the text-emphasis-position to accept the "left" and
25278        "right" CSS values. In horizontal writing modes, these values no not
25279        change behavior. In vertical writing modes, however, these values specify
25280        which side to place the emphasis mark. Similarly, in vertical writing
25281        modes, the "above" and "below" values should not change behavior.
25282
25283        However, in order to keep existing behavior, if neither "left" nor "right"
25284        is specified, we should draw as if the appropriate value were
25285        specified ("over" -> "right" and "under" -> "left"). Note that this
25286        will have to be updated when we implement the
25287        "text-orientation: sideways-left" CSS property.
25288
25289        Tests: fast/text/emphasis-horizontal-left-right.html
25290               fast/text/emphasis-vertical-over-right.html
25291               fast/text/emphasis-vertical-over-under.html
25292
25293        * css/CSSComputedStyleDeclaration.cpp:
25294        (WebCore::renderEmphasisPositionFlagsToCSSValue):
25295        (WebCore::ComputedStyleExtractor::propertyValue):
25296        * css/CSSParser.cpp:
25297        (WebCore::isValidKeywordPropertyAndValue):
25298        (WebCore::isKeywordPropertyID):
25299        (WebCore::CSSParser::parseValue):
25300        (WebCore::CSSParser::parseTextEmphasisPosition):
25301        * css/CSSParser.h:
25302        * css/CSSPrimitiveValueMappings.h:
25303        * css/DeprecatedStyleBuilder.cpp:
25304        (WebCore::valueToEmphasisPosition):
25305        (WebCore::ApplyPropertyTextEmphasisPosition::applyValue):
25306        (WebCore::ApplyPropertyTextEmphasisPosition::createHandler):
25307        (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
25308        * rendering/InlineFlowBox.cpp:
25309        (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
25310        (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
25311        (WebCore::InlineFlowBox::computeOverAnnotationAdjustment):
25312        (WebCore::InlineFlowBox::computeUnderAnnotationAdjustment):
25313        * rendering/InlineTextBox.cpp:
25314        (WebCore::InlineTextBox::emphasisMarkExistsAndIsAbove):
25315        (WebCore::InlineTextBox::paint):
25316        * rendering/InlineTextBox.h:
25317        * rendering/style/RenderStyle.h:
25318        * rendering/style/RenderStyleConstants.h:
25319        * rendering/style/StyleRareInheritedData.cpp:
25320        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
25321        * rendering/style/StyleRareInheritedData.h:
25322
253232014-01-16  Chris Fleizach  <cfleizach@apple.com>
25324
25325        AX: WebKit is not firing AXMenuOpenedNotification
25326        https://bugs.webkit.org/show_bug.cgi?id=126993
25327
25328        Reviewed by Mario Sanchez Prada.
25329
25330        To monitor for menu open notifications, we need to know which children are added to
25331        the render tree, so the childrenChanged() method has been updated to allow for that.
25332        Once we know the new child, we can then check what kind of role it has.
25333
25334        I also found a flakiness issue with DRT where posting a notification back to DRT
25335        would sometimes cause a new notification to be queued, which would then be lost when the
25336        queue was cleared. This was fixed by copying the notifications to post before iterating them.
25337
25338        Test: platform/mac/accessibility/aria-menu-open-notification.html
25339
25340        * accessibility/AXObjectCache.cpp:
25341        (WebCore::AXObjectCache::checkForOpenMenu):
25342        (WebCore::AXObjectCache::childrenChanged):
25343        (WebCore::AXObjectCache::notificationPostTimerFired):
25344        * accessibility/AXObjectCache.h:
25345        (WebCore::AXObjectCache::childrenChanged):
25346        * accessibility/AccessibilityNodeObject.h:
25347        * accessibility/mac/AXObjectCacheMac.mm:
25348        (WebCore::AXObjectCache::postPlatformNotification):
25349        * rendering/RenderElement.cpp:
25350        (WebCore::RenderElement::insertChildInternal):
25351        (WebCore::RenderElement::styleWillChange):
25352
253532014-01-16  Chris Fleizach  <cfleizach@apple.com>
25354
25355        AX: WebKit is not firing AXMenuItemSelectedNotification
25356        https://bugs.webkit.org/show_bug.cgi?id=127081
25357
25358        Reviewed by Mario Sanchez Prada.
25359
25360        Monitor for when a menu item either gains focus() or has aria-selected set,
25361        in which case, we need to fire a specific notification.
25362
25363        Test: platform/mac/accessibility/aria-menu-item-selected-notification.html
25364
25365        * accessibility/AXObjectCache.cpp:
25366        (WebCore::nodeHasRole):
25367            This method was declared in the header, but never implemented, leading to compilation issues.
25368        (WebCore::AXObjectCache::handleMenuItemSelected):
25369        (WebCore::AXObjectCache::handleFocusedUIElementChanged):
25370            Allow the core class to handle focus changes first, then pass off to platform
25371        (WebCore::AXObjectCache::selectedChildrenChanged):
25372        * accessibility/AXObjectCache.h:
25373        * accessibility/ios/AXObjectCacheIOS.mm:
25374        (WebCore::AXObjectCache::platformHandleFocusedUIElementChanged):
25375        * accessibility/mac/AXObjectCacheMac.mm:
25376        (WebCore::AXObjectCache::postPlatformNotification):
25377        (WebCore::AXObjectCache::platformHandleFocusedUIElementChanged):
25378        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
25379        (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
25380            Allow menu items to expose a description attribute.
25381
253822014-01-16  Andy Estes  <aestes@apple.com>
25383
25384        [iOS] Fix build issues with exported headers
25385
25386        * Configurations/WebCore.xcconfig: Allowed UIKit to link against
25387        WebCore.
25388        * page/ios/WebEventRegion.h: Removed ENABLE(TOUCH_EVENTS), which are
25389        always enabled on iOS.
25390
253912014-01-16  Dirk Schulze  <krit@webkit.org>
25392
25393        Rename functions in SVGDocumentExtension
25394        https://bugs.webkit.org/show_bug.cgi?id=127046
25395
25396        Reviewed by Sam Weinig.
25397
25398        Change some function names in SVGDocumentExtension
25399        to make them more descriptive.
25400
25401        Simple refactoring. No new tests.
25402
25403        * rendering/svg/RenderSVGResourceContainer.cpp:
25404        (WebCore::RenderSVGResourceContainer::registerResource):
25405        * svg/SVGDocumentExtensions.cpp:
25406        (WebCore::SVGDocumentExtensions::addPendingResource):
25407        (WebCore::SVGDocumentExtensions::isIdOfPendingResource):
25408        (WebCore::SVGDocumentExtensions::isElementWithPendingResources):
25409        (WebCore::SVGDocumentExtensions::isPendingResource):
25410        (WebCore::SVGDocumentExtensions::clearHasPendingResourcesIfPossible):
25411        (WebCore::SVGDocumentExtensions::removeElementFromPendingResources):
25412        (WebCore::SVGDocumentExtensions::removePendingResource):
25413        (WebCore::SVGDocumentExtensions::removePendingResourceForRemoval):
25414        (WebCore::SVGDocumentExtensions::markPendingResourcesForRemoval):
25415        (WebCore::SVGDocumentExtensions::removeElementFromPendingResourcesForRemovalMap): The name is not great but a bit more descriptive.
25416        * svg/SVGDocumentExtensions.h:
25417        * svg/SVGElement.cpp:
25418        (WebCore::SVGElement::buildPendingResourcesIfNeeded):
25419        * svg/SVGMPathElement.cpp:
25420        (WebCore::SVGMPathElement::buildPendingResource):
25421        * svg/SVGTextPathElement.cpp:
25422        (WebCore::SVGTextPathElement::buildPendingResource):
25423        * svg/animation/SVGSMILElement.cpp:
25424        (WebCore::SVGSMILElement::buildPendingResource):
25425
254262014-01-15  Carlos Garcia Campos  <cgarcia@igalia.com>
25427
25428        [GTK][EFL][NIX] Do not use PrintContext, Frame and DocumentLoader in Errors
25429        https://bugs.webkit.org/show_bug.cgi?id=127047
25430
25431        Reviewed by Martin Robinson.
25432
25433        Using PrintContext, Frame and DocumentLoader in platform is a
25434        layering violation.
25435        Change printing error methods to receive a failing URL instead of
25436        receiving a PrintContext that was used only to get the failing
25437        URL.
25438
25439        * platform/efl/ErrorsEfl.cpp:
25440        (WebCore::printError):
25441        (WebCore::printerNotFoundError):
25442        (WebCore::invalidPageRangeToPrint):
25443        * platform/efl/ErrorsEfl.h:
25444        * platform/gtk/ErrorsGtk.cpp:
25445        (WebCore::printError):
25446        (WebCore::printerNotFoundError):
25447        (WebCore::invalidPageRangeToPrint):
25448        * platform/gtk/ErrorsGtk.h:
25449        * platform/nix/ErrorsNix.cpp:
25450        (WebCore::printError):
25451        (WebCore::printerNotFoundError):
25452        (WebCore::invalidPageRangeToPrint):
25453        * platform/nix/ErrorsNix.h:
25454
254552014-01-15  Mihnea Ovidenie  <mihnea@adobe.com>
25456
25457        [CSS Regions] Enable accelerated compositing for fixed elements in named flows
25458        https://bugs.webkit.org/show_bug.cgi?id=125144
25459
25460        Reviewed by David Hyatt.
25461
25462        Add support for compositing for fixed positioned element that are collected
25463        inside a named flow. Prior to this patch, the fixed positioned elements were
25464        positioned and sized properly but only in the non-compositing scenario.
25465
25466        Tests: compositing/regions/abs-in-named-flow-from-fixed-in-named-flow.html
25467               compositing/regions/fixed-in-diff-named-flows-zIndex.html
25468               compositing/regions/fixed-in-named-flow-clip-descendant.html
25469               compositing/regions/fixed-in-named-flow-from-abs-in-named-flow.html
25470               compositing/regions/fixed-in-named-flow-from-outflow.html
25471               compositing/regions/fixed-in-named-flow-got-transformed-parent.html
25472               compositing/regions/fixed-in-named-flow-lost-transformed-parent.html
25473               compositing/regions/fixed-in-named-flow-overlap-composited.html
25474               compositing/regions/fixed-in-named-flow-position-changed.html
25475               compositing/regions/fixed-in-named-flow-transformed-parent.html
25476               compositing/regions/fixed-in-named-flow-zIndex.html
25477               compositing/regions/fixed-in-named-flow.html
25478               compositing/regions/fixed-transformed-in-named-flow.html
25479
25480        * rendering/RenderFlowThread.cpp:
25481        (WebCore::RenderFlowThread::regionForCompositedLayer):
25482        * rendering/RenderLayerCompositor.cpp:
25483        (WebCore::RenderLayerCompositor::computeCompositingRequirementsForNamedFlowFixed):
25484        (WebCore::RenderLayerCompositor::computeCompositingRequirements):
25485        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTreeForNamedFlowFixed):
25486        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
25487        (WebCore::RenderLayerCompositor::updateLayerTreeGeometry):
25488        (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
25489        * rendering/RenderLayerCompositor.h:
25490        * rendering/RenderNamedFlowFragment.h:
25491        * rendering/RenderNamedFlowThread.h:
25492
254932014-01-15  Benjamin Poulain  <bpoulain@apple.com>
25494
25495        Fix the iOS build after r162114
25496
25497        Unreviewed.
25498
25499        * WebCore.exp.in: Move the symbol to the right section and add the missing symbols for iOS.
25500
255012014-01-15  Mihai Maerean  <mmaerean@adobe.com>
25502
25503        [CSS Regions] Fix painting when the composited region has overflow:hidden
25504        https://bugs.webkit.org/show_bug.cgi?id=124887
25505
25506        Reviewed by Alexandru Chiculita.
25507
25508        When the layer of the region is composited, the region receives a GraphicsLayer of its own
25509        so the clipping coordinates (caused by overflow:hidden) must be relative to the
25510        GraphicsLayer coordinates in which the region gets painted.
25511
25512        Also, while the painting is done relative to the location of the region's content box, the
25513        clipping is bound to the padding box of the region.
25514
25515        Tests: compositing/regions/paint-inside-composited-region-overflow-hidden-versus-div.html
25516               compositing/regions/paint-inside-composited-region-overflow-hidden-versus-region.html
25517
25518        * rendering/RenderLayer.cpp:
25519        (WebCore::RenderLayer::paintFlowThreadIfRegion):
25520
255212014-01-15  Benjamin Poulain  <bpoulain@apple.com>
25522
25523        Move user agent code to WebCore and unify some code between OS X and iOS
25524        https://bugs.webkit.org/show_bug.cgi?id=127080
25525
25526        Reviewed by Sam Weinig.
25527
25528        Move the duplicated code from WebView and WebPageProxy to two files
25529        in WebCore: UserAgentMac and UserAgentIOS.
25530
25531        * Configurations/WebCore.xcconfig:
25532        * WebCore.exp.in:
25533        * WebCore.xcodeproj/project.pbxproj:
25534        * page/ios/UserAgentIOS.mm: Added.
25535        (WebCore::platformSystemRootDirectory):
25536        (WebCore::osMarketingVersion):
25537        (WebCore::standardUserAgentWithApplicationName):
25538        * page/mac/UserAgent.h: Added.
25539        * page/mac/UserAgentMac.mm: Added.
25540        (WebCore::systemMarketingVersionForUserAgentString):
25541        (WebCore::standardUserAgentWithApplicationName):
25542        * platform/ios/WebCoreSystemInterfaceIOS.h:
25543        * platform/ios/WebCoreSystemInterfaceIOS.mm:
25544
255452014-01-15  Sam Weinig  <sam@webkit.org>
25546
25547        Fix windows build.
25548
25549        * platform/text/TextAllInOne.cpp:
25550
255512014-01-15  Joseph Pecoraro  <pecoraro@apple.com>
25552
25553        [iOS] Clean up REMOTE_INSPECTOR code in OpenSource after the iOS merge
25554        https://bugs.webkit.org/show_bug.cgi?id=127069
25555
25556        Reviewed by Timothy Hatcher.
25557
25558        * WebCore.exp.in:
25559
255602014-01-15  Sam Weinig  <sam@webkit.org>
25561
25562        TextBreakIterator's should support Latin-1 for all iterator types (Part 2)
25563        https://bugs.webkit.org/show_bug.cgi?id=126856
25564
25565        Reviewed by Ryosuke Niwa.
25566
25567        Move the contents of TextBreakIteratorICU.cpp to TextBreakIterator.cpp and remove TextBreakIteratorICU.cpp.
25568
25569        * CMakeLists.txt:
25570        * GNUmakefile.list.am:
25571        * PlatformGTK.cmake:
25572        * WebCore.vcxproj/WebCore.vcxproj:
25573        * WebCore.vcxproj/WebCore.vcxproj.filters:
25574        * WebCore.xcodeproj/project.pbxproj:
25575        * platform/text/TextBreakIterator.cpp:
25576        * platform/text/TextBreakIteratorICU.cpp: Removed.
25577
255782014-01-15  Eric Carlson  <eric.carlson@apple.com>
25579
25580        MediaSessionManager shouldn't use std::map
25581        https://bugs.webkit.org/show_bug.cgi?id=127003
25582
25583        Reviewed by Sam Weinig.
25584
25585        No new tests, no functional change.
25586
25587        Use an array instead of std::map.
25588        * platform/audio/MediaSessionManager.cpp:
25589        (WebCore::MediaSessionManager::MediaSessionManager):
25590        (WebCore::MediaSessionManager::addRestriction):
25591        (WebCore::MediaSessionManager::removeRestriction):
25592        (WebCore::MediaSessionManager::restrictions):
25593        (WebCore::MediaSessionManager::sessionWillBeginPlayback):
25594        * platform/audio/MediaSessionManager.h:
25595
255962014-01-15  Gavin Barraclough  <barraclough@apple.com>
25597
25598        Change Page, FocusController to use ViewState
25599        https://bugs.webkit.org/show_bug.cgi?id=126533
25600
25601        Unreviewed rollout, this caused a regression.
25602
25603        * WebCore.exp.in:
25604        * page/FocusController.cpp:
25605        (WebCore::FocusController::FocusController):
25606        (WebCore::FocusController::setFocused):
25607        (WebCore::FocusController::setActive):
25608        (WebCore::FocusController::setContentIsVisible):
25609        * page/FocusController.h:
25610        (WebCore::FocusController::isActive):
25611        (WebCore::FocusController::isFocused):
25612        * page/Page.cpp:
25613        (WebCore::Page::Page):
25614        (WebCore::Page::setIsInWindow):
25615        (WebCore::Page::setIsVisuallyIdle):
25616        (WebCore::Page::setIsVisible):
25617        (WebCore::Page::visibilityState):
25618        (WebCore::Page::hiddenPageCSSAnimationSuspensionStateChanged):
25619        * page/Page.h:
25620        (WebCore::Page::isVisible):
25621        (WebCore::Page::isInWindow):
25622
256232014-01-15  Brent Fulgham  <bfulgham@apple.com>
25624
25625        [WebGL] Resizing and entering/exiting full screen draws garbage
25626        https://bugs.webkit.org/show_bug.cgi?id=127077
25627
25628        Reviewed by Dean Jackson.
25629
25630        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
25631        (WebCore::GraphicsContext3D::reshapeFBOs): Simplified logic regarding FBO switching.
25632        (WebCore::GraphicsContext3D::resolveMultisamplingIfNecessary): Make sure a few things
25633        are turned off that might affect blitting data from one FBO to another.
25634        * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
25635        (WebCore::GraphicsContext3D::prepareTexture): Actually turn dithering off!
25636        (WebCore::GraphicsContext3D::reshape): Mark the context as dirty when resizing so that
25637        the GL view is redrawn during resizing events.
25638
256392014-01-15  Roger Fong  <roger_fong@apple.com>
25640
25641        Remove unnecessary call to webGLContextCreated
25642        https://bugs.webkit.org/show_bug.cgi?id=127000
25643
25644        Reviewed by Brent Fulgham.
25645
25646        Note that the functionality of webGLContextCreated will be handled by webGLPolicyForSite now.
25647
25648        Tests: Unskipping tests skipped in r162002.
25649
25650        * html/HTMLCanvasElement.cpp: Remove webGLContextCreated call.
25651        (WebCore::HTMLCanvasElement::getContext):
25652        * loader/FrameLoaderClient.h:
25653        Have the returned load policy default to WebGLAllow so as to not break clients that don't implement the method.
25654        (WebCore::FrameLoaderClient::webGLPolicyForSite):
25655        webGLPolicyForSite is now assuming the role of webGLContextCreated as well, pass in the whole site URL instead of just the host.
25656        * page/ChromeClient.h: Remove webGLContextCreated method.
25657        (WebCore::ChromeClient::decrementActivePageCount):
25658
256592014-01-15  Beth Dakin  <bdakin@apple.com>
25660
25661        Repeating background images should continue into margin tiles
25662        https://bugs.webkit.org/show_bug.cgi?id=127021
25663        -and corresponding-
25664        <rdar://problem/15571300>
25665
25666        Reviewed by Simon Fraser.
25667
25668        This patch makes repeating background images continue into margin tiles. 
25669
25670        RenderObject::repaintRectangle() now takes an addition bool parameter which 
25671        indicates whether or not the repaint rect should be clipped to the layer size.
25672        * WebCore.exp.in:
25673
25674        These new functions on FrameView provide a way for code in the render tree to know 
25675        if the TiledBacking has a margin. tiledBacking() is now const. It should have 
25676        always been const, and it needs to be const to make these new functions const.
25677        * page/FrameView.cpp:
25678        (WebCore::FrameView::tiledBacking):
25679        (WebCore::FrameView::hasExtendedBackground):
25680        (WebCore::FrameView::extendedBackgroundRect):
25681        * page/FrameView.h:
25682        * platform/ScrollableArea.h:
25683        (WebCore::ScrollableArea::tiledBacking):
25684
25685        If we’re painting the root background and it is an extended background, we need to 
25686        inflate the repaint rect to span the extended background. 
25687        * rendering/RenderBox.cpp:
25688        (WebCore::RenderBox::repaintLayerRectsForImage):
25689
25690        To get the phase right on repeated background images on a page with margin tiles, 
25691        we need to make sure we factor the size of the margin tiles into the left and top 
25692        values that we use when calculating background image geometry.
25693        * rendering/RenderBoxModelObject.cpp:
25694        (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
25695
25696        setBackingNeedsRepaintInRect() now takes GraphicsLayer::ShouldClipToLayer as a 
25697        parameter, just like setBackingNeedsRepaint(). 
25698        * rendering/RenderLayer.cpp:
25699        (WebCore::RenderLayer::calculateClipRects):
25700
25701        setContentsNeedDisplayInRect() also takes a GraphicsLayer::ShouldClipToLayer now, 
25702        and it passes that information down to the GraphicsLayer.
25703        * rendering/RenderLayer.h:
25704        * rendering/RenderLayerBacking.cpp:
25705        (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
25706        * rendering/RenderLayerBacking.h:
25707
25708        These two RenderObject functions now take an optional bool parameter which 
25709        indicates whether or not the rect should be clipped to the layer size. They use a 
25710        bool instead of the GraphicsLayer enum in order to avoid including GraphicsLayer.h 
25711        from within RenderObject.h. This seems like a simpler solution than adding a new 
25712        stand-alone file for this very simple enum.
25713        * rendering/RenderObject.cpp:
25714        (WebCore::RenderObject::repaintUsingContainer):
25715        (WebCore::RenderObject::repaintRectangle):
25716        * rendering/RenderObject.h:
25717
25718        RenderView::backgroundRect needs to return the extendedBackgroundRect when it had 
25719        one.
25720        * rendering/RenderView.cpp:
25721        (WebCore::RenderView::backgroundRect):
25722
257232014-01-15  Brian Burg  <bburg@apple.com>
25724
25725        Web Inspector: capture probe samples on the backend
25726        https://bugs.webkit.org/show_bug.cgi?id=126668
25727
25728        Reviewed by Joseph Pecoraro.
25729
25730        Test: inspector-protocol/debugger/setProbe-multiple-actions.html
25731
25732        Add the probe breakpoint action type. A probe action
25733        evaluates an expression on the script call frame, and
25734        the result is aggregated on a per-probe basis. Each
25735        evaluated expression result is called a probe sample.
25736
25737        * bindings/js/ScriptDebugServer.cpp:
25738        (WebCore::ScriptDebugServer::evaluateBreakpointAction): Teach
25739        the debug server to evaluate a probe.
25740
25741        (WebCore::ScriptDebugServer::dispatchDidSampleProbe): Added.
25742        (WebCore::ScriptDebugServer::handleBreakpointHit): Increment a hit count.
25743        (WebCore::ScriptDebugServer::getActionsForBreakpoint):
25744        * bindings/js/ScriptDebugServer.h:
25745        * inspector/InspectorDebuggerAgent.cpp:
25746        (WebCore::objectGroupForBreakpointAction): Added. Create an object
25747        group for each breakpoint action. Currently only probes make objects.
25748        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
25749        (WebCore::InspectorDebuggerAgent::disable):
25750        (WebCore::InspectorDebuggerAgent::enable): Remove stale comment.
25751        (WebCore::breakpointActionTypeForString): Add new case.
25752        (WebCore::InspectorDebuggerAgent::breakpointActionsFromProtocol): Make
25753        this a member function instead of a static function, so it can increment
25754        the breakpoint action identifier counter.
25755        (WebCore::InspectorDebuggerAgent::setBreakpointByUrl): Propagate the
25756        assigned breakpoint action identifiers.
25757        (WebCore::InspectorDebuggerAgent::setBreakpoint): Propagate the
25758        assigned breakpoint action identifiers.
25759        (WebCore::InspectorDebuggerAgent::removeBreakpoint): Release object
25760        groups for any actions that were associated with the removed breakpoint.
25761        (WebCore::InspectorDebuggerAgent::didSampleProbe): Added.
25762        (WebCore::InspectorDebuggerAgent::clearResolvedBreakpointState): Renamed from clear().
25763        (WebCore::InspectorDebuggerAgent::didClearGlobalObject): Renamed from reset().
25764        * inspector/InspectorDebuggerAgent.h:
25765        * inspector/PageDebuggerAgent.cpp:
25766        (WebCore::PageDebuggerAgent::didClearMainFrameWindowObject):
25767        * inspector/ScriptBreakpoint.h:
25768        (WebCore::ScriptBreakpointAction::ScriptBreakpointAction): Add identifier member.
25769        * inspector/ScriptDebugListener.h:
25770
257712014-01-15  Brent Fulgham  <bfulgham@apple.com>
25772
25773        [WebGL] Validation function for compressed formats incorrect
25774        https://bugs.webkit.org/show_bug.cgi?id=127023
25775
25776        Reviewed by Dean Jackson.
25777
25778        No new tests. Covered by existing WebGL compressed texture tests.
25779
25780        * html/canvas/WebGLRenderingContext.cpp:
25781        (WebCore::WebGLRenderingContext::validateCompressedTexFuncData): Revise to match specifications.
25782
257832014-01-15  Andreas Kling  <akling@apple.com>
25784
25785        Remove the CSS selector profiler.
25786        <https://webkit.org/b/127039>
25787
25788        The selector profiler was painting a mostly fictional picture of what
25789        selectors we were spending time on. It never really grokked the fast
25790        path selectors, nor did it understand recent additions like the extra
25791        cascading pass or the selector JIT.
25792
25793        Somewhat ironically, this may end up making some selectors run faster
25794        since it removes a number of brances in hot code.
25795
25796        Reviewed by Sam Weinig.
25797
25798        * css/ElementRuleCollector.cpp:
25799        (WebCore::ElementRuleCollector::collectMatchingRulesForList):
25800        * css/ElementRuleCollector.h:
25801        * inspector/InspectorCSSAgent.cpp:
25802        (WebCore::InspectorCSSAgent::willDestroyFrontendAndBackend):
25803        * inspector/InspectorCSSAgent.h:
25804        * inspector/InspectorInstrumentation.cpp:
25805        * inspector/InspectorInstrumentation.h:
25806        * inspector/protocol/CSS.json:
25807
258082014-01-15  Frédéric Wang  <fred.wang@free.fr>
25809
25810        [SVG] Accept HTML and MathML namespaces as valid requiredExtensions
25811        https://bugs.webkit.org/show_bug.cgi?id=88188
25812
25813        Reviewed by Chris Fleizach.
25814
25815        When HTML and MathML are used as foreign objects of an SVG image, it is
25816        important for Web authors to be able to specify a fallback content for
25817        SVG-only readers or browsers without MathML support. We rely on the
25818        requiredExtensions for that purpose and we use the XHTML/MathML
25819        namespaces as suggested in SVG Tiny 1.2 and implemented in Gecko.
25820
25821        Tests: svg/custom/conditional-processing-1.svg
25822               svg/custom/conditional-processing-2.html
25823               svg/dom/SVGTests.html
25824
25825        * svg/SVGSwitchElement.cpp: Remove an incorrect FIXME comment and replace it with a reference to bug 74749.
25826        (WebCore::SVGSwitchElement::childShouldCreateRenderer):
25827        * svg/SVGTests.cpp: Check if the list of required extensions contains only the XHTML/MathML namespaces.
25828        (WebCore::SVGTests::hasExtension):
25829        (WebCore::SVGTests::isValid):
25830
258312014-01-15  Commit Queue  <commit-queue@webkit.org>
25832
25833        Unreviewed, rolling out r162066.
25834        http://trac.webkit.org/changeset/162066
25835        https://bugs.webkit.org/show_bug.cgi?id=127056
25836
25837        The added test still fails on some bots (Requested by ap on
25838        #webkit).
25839
25840        * svg/graphics/SVGImage.cpp:
25841        (WebCore::SVGImage::drawPatternForContainer):
25842        * svg/graphics/SVGImage.h:
25843        * svg/graphics/SVGImageForContainer.cpp:
25844        (WebCore::SVGImageForContainer::drawPattern):
25845
258462014-01-15  David Kilzer  <ddkilzer@apple.com>
25847
25848        [iOS] Fix intialization order of ResourceResponse constructor
25849
25850        Fixes the following build failure:
25851
25852            WebCore/platform/network/mac/ResourceResponseMac.mm:83:7: error: field 'm_nsResponse' will be initialized after field 'm_initLevel' [-Werror,-Wreorder]
25853                , m_nsResponse(nsResponse)
25854                  ^
25855
25856        * platform/network/mac/ResourceResponseMac.mm:
25857        (WebCore::ResourceResponse::ResourceResponse): Reorder member
25858        initializers to match the order that they are defined in the
25859        header.
25860
258612014-01-15  Roger Fong  <roger_fong@apple.com>
25862
25863        Unreviewed. Comment out part of r162036 which broke WebGL on many ports.
25864
25865        * html/HTMLCanvasElement.cpp:
25866        (WebCore::HTMLCanvasElement::getContext):
25867
258682014-01-15  Zoltan Horvath  <zoltan@webkit.org>
25869
25870        WordMeasurement is a struct, not a class
25871        https://bugs.webkit.org/show_bug.cgi?id=125373
25872
25873        Reviewed by Anders Carlsson.
25874
25875        Change class to struct, because there is no reason for WordMeasurement to be a class.
25876
25877        No new tests, no behavior change.
25878
25879        * rendering/RenderBlockFlow.h:
25880        * rendering/line/BreakingContextInlineHeaders.h:
25881
258822014-01-15  Mihai Tica  <mitica@adobe.com>
25883
25884        Reapplying:
25885        Background-blend-mode doesn't work for an element with an
25886        SVG image as background and border-style or padding set.
25887        The problem consisted in the drawing path using the default
25888        blending parameter at all times.
25889        https://bugs.webkit.org/show_bug.cgi?id=118894
25890
25891        Reviewed by Dirk Schulze.
25892
25893        Test: css3/compositing/background-blend-mode-data-uri-svg-image.html
25894
25895        * svg/graphics/SVGImage.cpp:
25896        (WebCore::SVGImage::drawPatternForContainer): Pass blendMode to Image::drawPattern.
25897        * svg/graphics/SVGImage.h: Add a blendMode parameter to drawPatternForContainer.
25898        * svg/graphics/SVGImageForContainer.cpp:
25899        (WebCore::SVGImageForContainer::drawPattern): Pass blendMode to drawPatternForContainer call.
25900
259012014-01-15  Andrei Bucur  <abucur@adobe.com>
25902
25903        [CSS Regions] Hit-testing goes through clipped layer in fast/regions/overflow-first-and-last-regions-in-container-hidden.html
25904        https://bugs.webkit.org/show_bug.cgi?id=126886
25905
25906        Reviewed by Mihnea Ovidenie.
25907
25908        Currently, when hit testing a location inside a flow thread we ignore the clipping rectangle of
25909        the region. This leads to false positives when the location is over the clipped out content of a
25910        flow thread. The patch verifies that the location is inside the clipping rectangle of the region before
25911        forwarding the hit test verification to the flow thread layer.
25912
25913        Test: fast/regions/hover-and-js-in-visual-overflow-hidden.html
25914
25915        * rendering/RenderLayer.cpp:
25916        (WebCore::RenderLayer::hitTestFlowThreadIfRegion):
25917
259182014-01-15  Antti Koivisto  <antti@apple.com>
25919
25920        Suspend resource requests during computedStyle
25921        https://bugs.webkit.org/show_bug.cgi?id=127034
25922
25923        Reviewed by Andreas Kling.
25924
25925        We have some cases where getting computed style leads to crashes in loadPendingImages. 
25926        This is probably caused by load callbacks resulting in re-entering WebKit and killing the StyleResolver.
25927        
25928        As a speculative fix suspend resource loads (and so callbacks) when getting the computed style.
25929        We do similar suspension during style recalc for the same reason.
25930
25931        * dom/Document.cpp:
25932        (WebCore::Document::styleForElementIgnoringPendingStylesheets):
25933        * loader/ResourceLoadScheduler.h:
25934        (WebCore::ResourceLoadScheduler::Suspender::Suspender):
25935        (WebCore::ResourceLoadScheduler::Suspender::~Suspender):
25936
259372014-01-15  László Langó  <llango.u-szeged@partner.samsung.com>
25938
25939        DocumentFragment should be constructable.
25940        https://bugs.webkit.org/show_bug.cgi?id=115641
25941
25942        Reviewed by Ryosuke Niwa.
25943
25944        http://www.w3.org/TR/2013/WD-dom-20131107/#interface-documentfragment
25945        This allows us to do `new DocumentFragment` instead of
25946        `document.createDocumentFragment()`.
25947
25948        Backported from Blink: https://chromium.googlesource.com/chromium/blink/+/86855c44a5a127716840fb377281b1c428e5eb2d%5E%21
25949
25950        Test: fast/dom/DocumentFragment/document-fragment-constructor.html
25951
25952        * dom/DocumentFragment.cpp:
25953        (WebCore::DocumentFragment::create):
25954        * dom/DocumentFragment.h:
25955        * dom/DocumentFragment.idl:
25956
259572014-01-14  ChangSeok Oh  <changseok.oh@collabora.com>
25958
25959        Unreviewed build fix after r161980.
25960
25961        CachedResourcesLoader.h should not belong to the CSS_SHADERS flag since it is used
25962        out of the flag so it causes a compile failure when svg and css shaders are concurrently disabled.
25963
25964        * css/StyleResolver.cpp:
25965
259662014-01-14  Andreas Kling  <akling@apple.com>
25967
25968        Pack ResourceResponse harder.
25969        <https://webkit.org/b/127005>
25970
25971        Re-arrange the members of ResourceResponse to reduce padding,
25972        shrinking it by 8 bytes.
25973
25974        This nudges CachedResource and CachedImage into smaller size
25975        classes, yielding a ~700 kB progression on Membuster3.
25976
25977        Reviewed by Anders Carlsson.
25978
25979        * platform/network/ResourceResponseBase.cpp:
25980        (WebCore::ResourceResponseBase::ResourceResponseBase):
25981        * platform/network/ResourceResponseBase.h:
25982        * platform/network/cf/ResourceResponse.h:
25983        (WebCore::ResourceResponse::ResourceResponse):
25984
259852014-01-14  Dirk Schulze  <krit@webkit.org>
25986
25987        Remove unnecessary WebkitCSSSVGDocumentValue
25988        https://bugs.webkit.org/show_bug.cgi?id=126997
25989
25990        Reviewed by Andreas Kling.
25991
25992        Removing redundant code path. WebkitCSSSVGDocumentValue
25993        can be expressed by a CSSPrimitiveValue.
25994
25995        No new tests.
25996
25997        * CMakeLists.txt:
25998        * GNUmakefile.list.am:
25999        * WebCore.order:
26000        * WebCore.vcxproj/WebCore.vcxproj:
26001        * WebCore.vcxproj/WebCore.vcxproj.filters:
26002        * WebCore.xcodeproj/project.pbxproj:
26003        * css/CSSParser.cpp:
26004        (WebCore::CSSParser::parseFilter):
26005        * css/CSSValue.cpp:
26006        (WebCore::CSSValue::equals):
26007        (WebCore::CSSValue::cssText):
26008        (WebCore::CSSValue::destroy):
26009        * css/CSSValue.h:
26010        * css/StyleResolver.cpp:
26011        (WebCore::StyleResolver::createFilterOperations):
26012        * css/StyleResolver.h:
26013        * css/WebKitCSSSVGDocumentValue.cpp: Removed.
26014        * css/WebKitCSSSVGDocumentValue.h: Removed.
26015        * css/CSSComputedStyleDeclaration.cpp:
26016        (WebCore::ComputedStyleExtractor::valueForFilter):
26017        * css/WebKitCSSFilterValue.cpp:
26018        (WebCore::WebKitCSSFilterValue::customCSSText):
26019
260202014-01-14  Mihnea Ovidenie  <mihnea@adobe.com>
26021
26022        [CSSRegions] Incorrect repaint of fixed element with transformed parent
26023        https://bugs.webkit.org/show_bug.cgi?id=125756
26024
26025        Reviewed by Simon Fraser.
26026
26027        When collecting the layers for fixed positioned elements with named flow
26028        as a containing block, use layers collection at named flow layer level
26029        instead of relying on the positioned elements collection.
26030
26031        With this approach, there are situations with nested named flows laid out in
26032        auto-height regions and thus assuming 2 step layouts, in which is enough to lay
26033        out the inner named flow once instead of twice with a performance gain.
26034        In such situations, the layers lists for the inner named flow are not yet updated
26035        when collectFixedPositionedLayers is called to paint the fixed positioned layers.
26036        Therefore I called updateLayerListsIfNeeded for all named flows layers, via the flow thread controller, before inspecting the named flow layers to avoid hitting the assertions when
26037        accessing the named flows layers lists.
26038
26039        Tests: fast/regions/repaint/fixed-in-named-flow-cb-changed.html
26040               fast/regions/repaint/fixed-in-named-flow-cb-changed2.html
26041
26042        * rendering/FlowThreadController.cpp:
26043        (WebCore::FlowThreadController::updateNamedFlowsLayerListsIfNeeded):
26044        (WebCore::FlowThreadController::collectFixedPositionedLayers):
26045        * rendering/FlowThreadController.h:
26046        * rendering/RenderLayer.cpp:
26047        (WebCore::RenderLayer::paintFixedLayersInNamedFlows):
26048
260492014-01-14  Brent Fulgham  <bfulgham@apple.com>
26050
26051        Unreviewed test fix.
26052
26053        * html/canvas/WebGLRenderingContext.cpp:
26054        (WebCore::WebGLRenderingContext::validateCompressedTexDimensions): Emit
26055        error state expected by Khronos test suite.
26056
260572014-01-14  Brady Eidson  <beidson@apple.com>
26058
26059        IDB: create object store support
26060        <rdar://problem/15779639> and https://bugs.webkit.org/show_bug.cgi?id=127011
26061
26062        Reviewed by Anders Carlsson.
26063
26064        Split the 3 objects declared in IDBDatabaseMetadata into their own header files:
26065        * Modules/indexeddb/IDBDatabaseMetadata.h:
26066        * Modules/indexeddb/IDBIndexMetadata.h:
26067        (WebCore::IDBIndexMetadata::IDBIndexMetadata):
26068        * Modules/indexeddb/IDBObjectStoreMetadata.h:
26069        (WebCore::IDBObjectStoreMetadata::IDBObjectStoreMetadata):
26070
26071        Add cross thread copying for IDBDatabaseMetadata:
26072        * platform/CrossThreadCopier.cpp:
26073        (WebCore::IDBIndexMetadata>::copy):
26074        (WebCore::IDBObjectStoreMetadata>::copy):
26075        * platform/CrossThreadCopier.h:
26076
26077        * WebCore.exp.in:
26078        * WebCore.xcodeproj/project.pbxproj:
26079
260802014-01-14  Joseph Pecoraro  <pecoraro@apple.com>
26081
26082        [iOS] Crash in NavigatorBase::vendor loading apple.com
26083        https://bugs.webkit.org/show_bug.cgi?id=127028
26084
26085        Reviewed by Daniel Bates.
26086
26087        Export function pointers to be filled in with WebKitSystemInterface functions.
26088
26089        * WebCore.exp.in:
26090
260912014-01-14  Jeffrey Pfau  <jpfau@apple.com>
26092
26093        Build fix after r162034
26094
26095        Rubber-stamped by Benjamin Poulain.
26096
26097        * WebCore.exp.in:
26098
260992014-01-14  Timothy Hatcher  <timothy@apple.com>
26100
26101        Web Inspector: Resource finish time is sometimes earlier than response received time.
26102
26103        https://bugs.webkit.org/show_bug.cgi?id=127027
26104
26105        Reviewed by Joseph Pecoraro.
26106
26107        * inspector/InspectorResourceAgent.cpp:
26108        (WebCore::InspectorResourceAgent::didFinishLoading): Use currentTime() and not the
26109        passed in finishTime.
26110
261112014-01-14  Anders Carlsson  <andersca@apple.com>
26112
26113        Follow up build fix attempt.
26114
26115        * WebCore.exp.in:
26116
261172014-01-14  Roger Fong  <roger_fong@apple.com>
26118
26119        Add support for handling WebGL load policies.
26120        https://bugs.webkit.org/show_bug.cgi?id=126935
26121        <rdar://problem/15790448>.
26122
26123        Reviewed by Brent Fulgham.
26124
26125        * WebCore.xcodeproj/project.pbxproj: Copy over HTMLCanvasElement.h to the private headers directory.
26126        * html/HTMLCanvasElement.cpp: Show the policy dialog and retrieve policies as necessary.
26127        (WebCore::HTMLCanvasElement::getContext): Make sure that WebGL is allowed on the site.
26128                                                  If it isn't, be sure to notify the frame loader client that
26129                                                  the site is trying to create a WebGL context.
26130        * loader/FrameLoaderClient.h:
26131        (WebCore::FrameLoaderClient::webGLPolicyForHost): Used to get the WebGL load policy for a site.
26132        * loader/FrameLoaderTypes.h:
26133        * page/ChromeClient.h:
26134        (WebCore::ChromeClient::webGLContextCreated): Called when a site is creating a WebGL context.
26135
261362014-01-14  Anders Carlsson  <andersca@apple.com>
26137
26138        Create separate progress tracker clients
26139        https://bugs.webkit.org/show_bug.cgi?id=127025
26140
26141        Reviewed by Sam Weinig.
26142
26143        * loader/ProgressTracker.cpp:
26144        (WebCore::ProgressTracker::~ProgressTracker):
26145        * loader/ProgressTrackerClient.h:
26146
261472014-01-14  Brent Fulgham  <bfulgham@apple.com>
26148
26149        [WebGL] WebGLRenderingContext::validateCompressedTexDimensions improperly calculates values
26150        https://bugs.webkit.org/show_bug.cgi?id=126926
26151
26152        Reviewed by Dean Jackson.
26153
26154        Test coverage in fast/canvas/webgl/webgl-compressed-texture-size-limit.html
26155
26156        * html/canvas/WebGLRenderingContext.cpp:
26157        (WebCore::WebGLRenderingContext::compressedTexImage2D): Pass target to
26158        validation function.
26159        (WebCore::WebGLRenderingContext::validateCompressedTexDimensions): Revise
26160        calculation to also confirm size is in bounds.
26161        (WebCore::WebGLRenderingContext::validateCompressedTexSubDimensions): Pass
26162       target to validation function.
26163        * html/canvas/WebGLRenderingContext.h: Modify signature.
26164
261652014-01-14  Simon Fraser  <simon.fraser@apple.com>
26166
26167        On iOS, we never want to make scrollbar layers
26168        https://bugs.webkit.org/show_bug.cgi?id=127024
26169        <rdar://problem/15745768>
26170
26171        Reviewed by Dean Jackson.
26172
26173        On platforms that delegate scrolling, don't try to make layers
26174        for scrollbars.
26175        
26176        This fixes a crash in RenderLayerCompositor::updateOverflowControlsLayers()
26177        where m_overflowControlsHostLayer is null.
26178
26179        * rendering/RenderLayerCompositor.cpp:
26180        (WebCore::RenderLayerCompositor::shouldCompositeOverflowControls):
26181
261822014-01-14  Simon Fraser  <simon.fraser@apple.com>
26183
26184        Avoid PLATFORM() macros in exported headers.
26185
26186        * platform/ios/WebEvent.h:
26187
261882014-01-14  Daniel Bates  <dabates@apple.com>
26189
26190        [iOS] Build fix for 32-bit simulator and device
26191
26192        CGFloat is defined to be float, double for 32-bit, and 64-bit devices respectively.
26193        Because WebCore::createCGColorWithDeviceWhite() takes CGFloat arguments we need to
26194        list both the float and double-variants of this symbol in WebCore.exp.in. Currently
26195        we only list the version whose arguments are of type double.
26196
26197        * WebCore.exp.in:
26198
261992014-01-14  Simon Fraser  <simon.fraser@apple.com>
26200
26201        Clean up exports and headers for iOS.
26202        
26203        Don't use ENABLE() macro in an exported header.
26204
26205        * platform/ios/wak/WAKResponder.h:
26206
262072014-01-14  Daniel Bates  <dabates@apple.com>
26208
26209        [iOS] Move symbol __ZN7WebCore34registerQLPreviewConverterIfNeededEP5NSURLP8NSStringP6NSData to
26210        section USE(QUICK_LOOK)
26211
26212        * WebCore.exp.in:
26213
262142014-01-14  Anders Carlsson  <andersca@apple.com>
26215
26216        Clean up DNSResolveQueue
26217        https://bugs.webkit.org/show_bug.cgi?id=127007
26218
26219        Reviewed by Geoffrey Garen.
26220
26221        Move the shared() getter out of line and make it use NeverDestroyed.
26222        Add a Timer member variable instead of inheriting from TimerBase. 
26223        Use std::atomic<int> for the m_requestsInFlight member variable.
26224
26225        * platform/network/DNSResolveQueue.cpp:
26226        (WebCore::DNSResolveQueue::shared):
26227        (WebCore::DNSResolveQueue::DNSResolveQueue):
26228        (WebCore::DNSResolveQueue::add):
26229        (WebCore::DNSResolveQueue::timerFired):
26230        * platform/network/DNSResolveQueue.h:
26231        (WebCore::DNSResolveQueue::decrementRequestCount):
26232
262332014-01-14  Simon Fraser  <simon.fraser@apple.com>
26234
26235        Two more exports for iOS.
26236
26237        * WebCore.exp.in:
26238
262392014-01-14  Csaba Osztrogonác  <ossy@webkit.org>
26240
26241        One more buildfix after r161999.
26242
26243        * Modules/webaudio/MediaStreamAudioSource.h:
26244
262452014-01-14  Simon Fraser  <simon.fraser@apple.com>
26246
26247        Export __ZN7WebCore11FileChooser16chooseMediaFilesERKN3WTF6VectorINS1_6StringELm0ENS1_15CrashOnOverflowEEERKS3_PNS_4IconE
26248        to fix WK1 iOS linking.
26249
26250        * WebCore.exp.in:
26251
262522014-01-14  Simon Fraser  <simon.fraser@apple.com>
26253
26254        iOS build fixing: export required by iOS WebKit1.
26255
26256        * WebCore.exp.in:
26257
262582014-01-14  Commit Queue  <commit-queue@webkit.org>
26259
26260        Unreviewed, rolling out r162000.
26261        http://trac.webkit.org/changeset/162000
26262        https://bugs.webkit.org/show_bug.cgi?id=127009
26263
26264        API versioning is wrong (Requested by rfong on #webkit).
26265
26266        * WebCore.xcodeproj/project.pbxproj:
26267        * html/HTMLCanvasElement.cpp:
26268        (WebCore::HTMLCanvasElement::getContext):
26269        * loader/FrameLoaderClient.h:
26270        * loader/FrameLoaderTypes.h:
26271        * page/ChromeClient.h:
26272
262732014-01-14  Bear Travis  <betravis@adobe.com>
26274
26275        [CSS Shapes] Move CSSPrimitiveValue <-> LayoutBox Conversion to CSSPrimitiveValueMappings
26276        https://bugs.webkit.org/show_bug.cgi?id=126719
26277
26278        Reviewed by Dirk Schulze.
26279
26280        The standard location for conversions to/from CSSPrimitiveValues is CSSPrimitiveValueMappings.
26281        This patch moves the conversion for LayoutBoxes from BasicShapeFunctions to
26282        CSSPrimitiveValueMappings.h.
26283
26284        Refactoring, no new tests.
26285
26286        * css/BasicShapeFunctions.cpp:
26287        (WebCore::valueForBasicShape):
26288        (WebCore::basicShapeForValue):
26289        * css/CSSComputedStyleDeclaration.cpp:
26290        (WebCore::ComputedStyleExtractor::propertyValue):
26291        * css/CSSPrimitiveValueMappings.h:
26292        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
26293        (WebCore::CSSPrimitiveValue::operator LayoutBox):
26294        * css/DeprecatedStyleBuilder.cpp:
26295        (WebCore::ApplyPropertyClipPath::applyValue):
26296        (WebCore::ApplyPropertyShape::applyValue):
26297
262982014-01-09  Roger Fong  <roger_fong@apple.com>
26299
26300        Add support for handling WebGL load policies.
26301        https://bugs.webkit.org/show_bug.cgi?id=126935
26302        <rdar://problem/15790448>.
26303
26304        Reviewed by Brent Fulgham.
26305
26306        * WebCore.xcodeproj/project.pbxproj: Copy over HTMLCanvasElement.h to the private headers directory.
26307        * html/HTMLCanvasElement.cpp: Show the policy dialog and retrieve policies as necessary.
26308        (WebCore::HTMLCanvasElement::getContext): Make sure that WebGL is allowed on the site.
26309                                                  If it isn't, be sure to notify the frame loader client that
26310                                                  the site is trying to create a WebGL context.
26311        * loader/FrameLoaderClient.h:
26312        (WebCore::FrameLoaderClient::webGLPolicyForHost): Used to get the WebGL load policy for a site.
26313        * loader/FrameLoaderTypes.h:
26314        * page/ChromeClient.h:
26315        (WebCore::ChromeClient::webGLContextCreated): Called when a site is creating a WebGL context.
26316
263172014-01-14  Anders Carlsson  <andersca@apple.com>
26318
26319        Get rid of ThreadRestrictionVerifier
26320        https://bugs.webkit.org/show_bug.cgi?id=127004
26321
26322        Reviewed by Sam Weinig.
26323
26324        Remove now unneeded calls.
26325
26326        * loader/icon/IconDatabase.cpp:
26327        (WebCore::IconDatabase::defaultIcon):
26328        (WebCore::IconDatabase::setIconDataForIconURL):
26329        (WebCore::IconDatabase::getOrCreateIconRecord):
26330        (WebCore::IconDatabase::readFromDatabase):
26331
263322014-01-14  Daniel Bates  <dabates@apple.com>
26333
26334        [iOS] Directly allocate NSMutableDictionary in QLPreviewConverterDictionary() and QLContentDictionary()
26335        https://bugs.webkit.org/show_bug.cgi?id=126999
26336        <rdar://problem/15810305>
26337
26338        Reviewed by Joseph Pecoraro.
26339
26340        Fixes an issue where we may crash when subsequently accessing WebCore::QLPreviewConverterDictionary()
26341        or WebCore::QLContentDictionary(). Currently neither of these functions retain'ed the NSMutable dictionary
26342        returned by [NSMutableDictionary dictionary]. Instead, we should allocate and initialize NSMutableDictionary
26343        directly to ensure that the dictionary is retained.
26344
26345        * platform/network/ios/QuickLook.mm:
26346        (QLPreviewConverterDictionary):
26347        (QLContentDictionary):
26348
263492014-01-14  Brent Fulgham  <bfulgham@apple.com>
26350
26351        [WebGL] Invalid range checking in WebGLRenderingContext::validateTexFuncLevel
26352        https://bugs.webkit.org/show_bug.cgi?id=126925
26353
26354        Reviewed by Dean Jackson.
26355
26356        Added fast/canvas/webgl/webgl-compressed-texture-size-limit.html.
26357
26358        * html/canvas/WebGLRenderingContext.cpp:
26359        (WebCore::WebGLRenderingContext::validateTexFuncLevel): Avoid off-by-one error
26360
263612014-01-14  Mark Rowe  <mrowe@apple.com>
26362
26363        WebCore icon database appears to leak sudden termination assertions
26364        <https://webkit.org/b/126971> / <rdar://problem/15808797>
26365
26366        Introduce an RAII wrapper around disableSuddenTermination / enableSuddenTermination
26367        and adopt it in IconDatabase to address the incorrect management of sudden termination.
26368
26369        IconDatabase now owns up to two SuddenTerminationDisabler objects. One ensures that
26370        sudden termination is disabled while we're waiting on the sync timer to fire. The second
26371        ensures that sudden termination is disabled while we're waiting on the sync thread to
26372        process any pending work.
26373
26374        Reviewed by Alexey Proskuryakov.
26375
26376        * loader/icon/IconDatabase.cpp:
26377        (WebCore::IconDatabase::IconDatabase):
26378        (WebCore::IconDatabase::wakeSyncThread): Disable sudden termination until the sync thread
26379        has finished this unit of work.
26380        (WebCore::IconDatabase::scheduleOrDeferSyncTimer): Disable sudden termination until the
26381        sync timer has fired.
26382        (WebCore::IconDatabase::syncTimerFired): Clear the member variable to reenable sudden termination.
26383        (WebCore::IconDatabase::syncThreadMainLoop): Taken ownership of the SuddenTerminationDisabler
26384        instance when we start processing a unit of work. Discard the object when our work is complete.
26385        * loader/icon/IconDatabase.h:
26386        * platform/SuddenTermination.h:
26387        (WebCore::SuddenTerminationDisabler::SuddenTerminationDisabler): Disable sudden termination when created.
26388        (WebCore::SuddenTerminationDisabler::~SuddenTerminationDisabler): Enable it when destroyed.
26389
263902014-01-14  Joseph Pecoraro  <pecoraro@apple.com>
26391
26392        Web Inspector: For Remote Inspection link WebProcess's to their parent UIProcess
26393        https://bugs.webkit.org/show_bug.cgi?id=126995
26394
26395        Reviewed by Timothy Hatcher.
26396
26397        * inspector/InspectorClient.h:
26398        (WebCore::InspectorClient::parentProcessIdentifier):
26399        Client method intended for WebKit2 so a WebProcess can link to its UIProcess.
26400
26401        * page/PageDebuggable.h:
26402        * page/PageDebuggable.cpp:
26403        (WebCore::PageDebuggable::parentProcessIdentifier):
26404        Provide parent process identifier if there is one.
26405
264062014-01-14  Tim Horton  <timothy_horton@apple.com>
26407
26408        iOS WebKit2 build fixes, part 2
26409
26410        * WebCore.exp.in:
26411        Export some more symbols.
26412
264132014-01-14  Brian J. Burg  <burg@cs.washington.edu>
26414
26415        Add ENABLE(WEB_REPLAY) feature flag to the build system
26416        https://bugs.webkit.org/show_bug.cgi?id=126949
26417
26418        Reviewed by Joseph Pecoraro.
26419
26420        * Configurations/FeatureDefines.xcconfig:
26421
264222014-01-10  Jer Noble  <jer.noble@apple.com>
26423
26424        Crash in WebCore::MediaSourcePrivateAVFObjC::hasAudio const + 13
26425        https://bugs.webkit.org/show_bug.cgi?id=126768
26426
26427        Reviewed by Eric Carlson.
26428
26429        Null-check m_mediaSourcePrivate before calling.
26430
26431        * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
26432        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::hasVideo):
26433        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::hasAudio):
26434        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekInternal):
26435
264362014-01-14  Piotr Grad  <p.grad@samsung.com>
26437
26438        [GStreamer] Playback rate is not set when pipeline is not ready.
26439        https://bugs.webkit.org/show_bug.cgi?id=126692
26440
26441        Reviewed by Philippe Normand.
26442
26443        No new tests. Covered by existing tests.
26444
26445        Added new method updatePlaybackRate which is called when playback rate change is possible.
26446        Added m_lastPlaybackRate in order to retrieve last correct playback rate and notify upper
26447        layers about that setting playback rate failed.
26448
26449        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
26450        (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
26451        (WebCore::MediaPlayerPrivateGStreamer::updatePlaybackRate):
26452        (WebCore::MediaPlayerPrivateGStreamer::setRate):
26453        (WebCore::MediaPlayerPrivateGStreamer::updateStates):
26454        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
26455
264562014-01-14  Commit Queue  <commit-queue@webkit.org>
26457
26458        Unreviewed, rolling out r161978.
26459        http://trac.webkit.org/changeset/161978
26460        https://bugs.webkit.org/show_bug.cgi?id=126992
26461
26462        Test case causes crash on some hardware (Requested by bfulgham
26463        on #webkit).
26464
26465        * html/canvas/WebGLRenderingContext.cpp:
26466        (WebCore::WebGLRenderingContext::validateTexFuncLevel):
26467
264682014-01-14  Commit Queue  <commit-queue@webkit.org>
26469
26470        Unreviewed, rolling out r161964 and r161965.
26471        http://trac.webkit.org/changeset/161964
26472        http://trac.webkit.org/changeset/161965
26473        https://bugs.webkit.org/show_bug.cgi?id=126988
26474
26475        Tests do not pass on the bots because of slight color
26476        differences. The tests should be redone with squared results
26477        and blending that leads to stable colors. (Requested by krit_
26478        on #webkit).
26479
26480        * platform/graphics/CrossfadeGeneratedImage.cpp:
26481        (WebCore::CrossfadeGeneratedImage::draw):
26482        * svg/graphics/SVGImage.cpp:
26483        (WebCore::SVGImage::drawPatternForContainer):
26484        * svg/graphics/SVGImage.h:
26485        * svg/graphics/SVGImageForContainer.cpp:
26486        (WebCore::SVGImageForContainer::drawPattern):
26487
264882014-01-14  Hans Muller  <hmuller@adobe.com>
26489
26490        [CSS Shapes] Shape images are now <image> types, not just URIs
26491        https://bugs.webkit.org/show_bug.cgi?id=125224
26492
26493        Reviewed by Andreas Kling.
26494
26495        Added support for image-set valued shapes. Added an optional ResourceLoaderOptions
26496        parameter to CSSImageSetValue::cachedImageSet() to enable CORS-enabled fetch of
26497        image-set images. This change is based on a similar patch for ordinary shape image values:
26498        https://bugs.webkit.org/show_bug.cgi?id=123114.
26499
26500        Tests: fast/shapes/shape-inside/shape-inside-image-set.html
26501               fast/shapes/shape-outside-floats/shape-outside-image-set.html
26502
26503        * css/CSSImageSetValue.cpp:
26504        (WebCore::CSSImageSetValue::cachedImageSet):
26505        * css/CSSImageSetValue.h:
26506        * css/CSSParser.cpp:
26507        (WebCore::CSSParser::parseShapeProperty):
26508        * css/DeprecatedStyleBuilder.cpp:
26509        (WebCore::ApplyPropertyShape::applyValue):
26510        * css/StyleResolver.cpp:
26511        (WebCore::StyleResolver::loadPendingImage):
26512        (WebCore::StyleResolver::loadPendingShapeImage):
26513        * css/StyleResolver.h:
26514        * rendering/shapes/Shape.cpp:
26515        (WebCore::Shape::createShape):
26516
265172014-01-13  Chris Fleizach  <cfleizach@apple.com>
26518
26519        AX: Modernize AccessibilityChildrenVector loops
26520        https://bugs.webkit.org/show_bug.cgi?id=126915
26521
26522        Reviewed by Anders Carlsson.
26523
26524        Change appropriate for loops to use the new style.
26525        Use auto where appropriate.
26526
26527        * accessibility/AXObjectCache.cpp:
26528        (WebCore::AXObjectCache::focusedImageMapUIElement):
26529        * accessibility/AccessibilityARIAGrid.cpp:
26530        (WebCore::AccessibilityARIAGrid::addRowDescendant):
26531        * accessibility/AccessibilityARIAGridCell.cpp:
26532        (WebCore::AccessibilityARIAGridCell::rowIndexRange):
26533        * accessibility/AccessibilityARIAGridRow.cpp:
26534        (WebCore::AccessibilityARIAGridRow::disclosedRows):
26535        (WebCore::AccessibilityARIAGridRow::disclosedByRow):
26536        (WebCore::AccessibilityARIAGridRow::parentTable):
26537        (WebCore::AccessibilityARIAGridRow::headerObject):
26538        * accessibility/AccessibilityListBox.cpp:
26539        (WebCore::AccessibilityListBox::addChildren):
26540        (WebCore::AccessibilityListBox::setSelectedChildren):
26541        (WebCore::AccessibilityListBox::selectedChildren):
26542        * accessibility/AccessibilityListBoxOption.cpp:
26543        (WebCore::AccessibilityListBoxOption::listBoxOptionIndex):
26544        * accessibility/AccessibilityMenuList.cpp:
26545        (WebCore::AccessibilityMenuList::didUpdateActiveOption):
26546        * accessibility/AccessibilityMenuListPopup.cpp:
26547        (WebCore::AccessibilityMenuListPopup::addChildren):
26548        * accessibility/AccessibilityNodeObject.cpp:
26549        (WebCore::AccessibilityNodeObject::insertChild):
26550        (WebCore::AccessibilityNodeObject::selectedRadioButton):
26551        (WebCore::AccessibilityNodeObject::selectedTabItem):
26552        (WebCore::AccessibilityNodeObject::ariaLabeledByText):
26553        * accessibility/AccessibilityObject.cpp:
26554        (WebCore::appendChildrenToArray):
26555        (WebCore::AccessibilityObject::clearChildren):
26556        (WebCore::AccessibilityObject::ariaTreeRows):
26557        (WebCore::AccessibilityObject::ariaTreeItemContent):
26558        (WebCore::AccessibilityObject::ariaTreeItemDisclosedRows):
26559        (WebCore::AccessibilityObject::elementAccessibilityHitTest):
26560        * accessibility/AccessibilityRenderObject.cpp:
26561        (WebCore::AccessibilityRenderObject::addRadioButtonGroupMembers):
26562        (WebCore::AccessibilityRenderObject::ariaFlowToElements):
26563        (WebCore::AccessibilityRenderObject::isTabItemSelected):
26564        (WebCore::AccessibilityRenderObject::setSelectedRows):
26565        (WebCore::AccessibilityRenderObject::ariaOwnsElements):
26566        (WebCore::AccessibilityRenderObject::accessibilityImageMapHitTest):
26567        (WebCore::AccessibilityRenderObject::addRemoteSVGChildren):
26568        (WebCore::AccessibilityRenderObject::updateAttachmentViewParents):
26569        (WebCore::AccessibilityRenderObject::addHiddenChildren):
26570        (WebCore::AccessibilityRenderObject::ariaSelectedRows):
26571        (WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren):
26572        (WebCore::AccessibilityRenderObject::ariaListboxVisibleChildren):
26573        (WebCore::AccessibilityRenderObject::tabChildren):
26574        (WebCore::AccessibilityRenderObject::mathRadicandObject):
26575        (WebCore::AccessibilityRenderObject::mathRootIndexObject):
26576        (WebCore::AccessibilityRenderObject::mathNumeratorObject):
26577        (WebCore::AccessibilityRenderObject::mathDenominatorObject):
26578        (WebCore::AccessibilityRenderObject::mathUnderObject):
26579        (WebCore::AccessibilityRenderObject::mathOverObject):
26580        (WebCore::AccessibilityRenderObject::mathBaseObject):
26581        (WebCore::AccessibilityRenderObject::mathSubscriptObject):
26582        (WebCore::AccessibilityRenderObject::mathSuperscriptObject):
26583        * accessibility/AccessibilityTable.cpp:
26584        (WebCore::AccessibilityTable::columnHeaders):
26585        (WebCore::AccessibilityTable::rowHeaders):
26586        (WebCore::AccessibilityTable::visibleRows):
26587        (WebCore::AccessibilityTable::cells):
26588        (WebCore::AccessibilityTable::cellForColumnAndRow):
26589        * accessibility/AccessibilityTableColumn.cpp:
26590        (WebCore::AccessibilityTableColumn::headerObject):
26591        * accessibility/AccessibilityTableHeaderContainer.cpp:
26592        (WebCore::AccessibilityTableHeaderContainer::addChildren):
26593        * accessibility/AccessibilityTableRow.cpp:
26594        (WebCore::AccessibilityTableRow::headerObject):
26595        * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
26596        (-[WebAccessibilityObjectWrapper accessibilityElementAtIndex:]):
26597        (-[WebAccessibilityObjectWrapper indexOfAccessibilityElement:]):
26598        (-[WebAccessibilityObjectWrapper containsUnnaturallySegmentedChildren]):
26599        * accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
26600        (convertMathPairsToNSArray):
26601        (-[WebAccessibilityObjectWrapperBase accessibilityTitle]):
26602        (-[WebAccessibilityObjectWrapperBase accessibilityDescription]):
26603        (-[WebAccessibilityObjectWrapperBase accessibilityHelpText]):
26604        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
26605        (convertToNSArray):
26606        (convertStringsToNSArray):
26607        (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
26608        (-[WebAccessibilityObjectWrapper accessibilityIndexOfChild:]):
26609        (-[WebAccessibilityObjectWrapper accessibilityArrayAttributeCount:]):
26610        (-[WebAccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
26611
266122014-01-14  Brent Fulgham  <bfulgham@apple.com>
26613
26614        [WebGL] Invalid range checking in WebGLRenderingContext::validateTexFuncLevel
26615        https://bugs.webkit.org/show_bug.cgi?id=126925
26616
26617        Reviewed by Dean Jackson.
26618
26619        Added fast/canvas/webgl/webgl-compressed-texture-size-limit.html.
26620
26621        * html/canvas/WebGLRenderingContext.cpp:
26622        (WebCore::WebGLRenderingContext::validateTexFuncLevel): Avoid off-by-one error
26623
266242014-01-14  Carlos Garcia Campos  <cgarcia@igalia.com>
26625
26626        [SOUP] SoupNetworkSession::setAcceptLanguages should receive a const reference
26627        https://bugs.webkit.org/show_bug.cgi?id=126966
26628
26629        Reviewed by Gustavo Noronha Silva.
26630
26631        We don't really need to modify the Vector just to ignore the C
26632        locale.
26633
26634        * platform/network/soup/SoupNetworkSession.cpp:
26635        (WebCore::buildAcceptLanguages): Rework it to not modify the
26636        passed vector to ignore the C locale when it's present.
26637        (WebCore::SoupNetworkSession::setAcceptLanguages): Use const Vector<String>&.
26638        * platform/network/soup/SoupNetworkSession.h:
26639
266402014-01-14  Piotr Grad  <p.grad@samsung.com>
26641
26642        HTMLMediaElement::potentiallyPlaying can be more simple.
26643        https://bugs.webkit.org/show_bug.cgi?id=111
26644
26645        Reviewed by Eric Carlson.
26646
26647        Tests: No new tests, just refactorings.
26648
26649        Expression is simplified because the first 'if' statement depends on the same condition
26650        as pausedToBuffer value.
26651
26652        * html/HTMLMediaElement.cpp:
26653        (WebCore::HTMLMediaElement::parseAttribute):
26654
266552014-01-14  Andreas Kling  <akling@apple.com>
26656
26657        Remove deprecated DeferrableOneShotTimer constructor.
26658        <https://webkit.org/b/126984>
26659
26660        Remove the deprecated constructor for callback functions that take
26661        the timer by pointer instead of by reference.
26662
26663        This shrinks DeferrableOneShotTimer by 8 bytes.
26664
26665        Reviewed by Anders Carlsson.
26666
26667        * platform/Timer.h:
26668        (WebCore::DeferrableOneShotTimer::DeferrableOneShotTimer):
26669
266702014-01-14  Dirk Schulze  <krit@webkit.org>
26671
26672        Make CachedSVGDocument independent of CSS Filters
26673        https://bugs.webkit.org/show_bug.cgi?id=126133
26674
26675        Reviewed by Antti Koivisto.
26676
26677        Clean-up the pendingSVGDocuments code in StyleResolver.
26678        CachedSVGDocumentReference is responsible for requesting the
26679        SVG document instead of WebKitCSSSVGDocumentValue.
26680        CachedSVGDocumentReference can be used by other SVG resource like
26681        clip-path and mask now so that these may load external resources
26682        as well.
26683        WebKitCSSSVGDocumentValue does not provide any further value
26684        and will be removed in the next patch.
26685
26686        Refactoring, no new test cases.
26687
26688        * css/StyleResolver.cpp:
26689        (WebCore::StyleResolver::loadPendingSVGDocuments):
26690        (WebCore::StyleResolver::createFilterOperations):
26691        * css/StyleResolver.h: Replace Map with a Set.
26692        (WebCore::StyleResolver::State::pendingSVGDocuments): Use the Set from now on.
26693        * loader/cache/CachedSVGDocumentReference.cpp:
26694        (WebCore::CachedSVGDocumentReference::CachedSVGDocumentReference):
26695        (WebCore::CachedSVGDocumentReference::~CachedSVGDocumentReference):
26696        (WebCore::CachedSVGDocumentReference::load):
26697        * loader/cache/CachedSVGDocumentReference.h: Is responsible for 
26698            requesting the SVG document.
26699        (WebCore::CachedSVGDocumentReference::create):
26700        (WebCore::CachedSVGDocumentReference::loadRequested):
26701        * platform/graphics/filters/FilterOperation.cpp:
26702        (WebCore::ReferenceFilterOperation::createCachedSVGDocumentReference):
26703        * platform/graphics/filters/FilterOperation.h:
26704
267052014-01-14  Mario Sanchez Prada  <mario.prada@samsung.com>
26706
26707        [ATK] AXChildrenChanged notification handling is a performance black hole
26708        https://bugs.webkit.org/show_bug.cgi?id=126970
26709
26710        Reviewed by Gustavo Noronha Silva.
26711
26712        Remove code that is causing a huge performance problem when
26713        loading big pages, just to be able to emit the children-changed:add
26714        signal at the exact time a child is added.
26715
26716        This removal does not imply that the signal won't be ever emitted,
26717        just that it will be emitted a bit later (when the new child is
26718        asynchronously added to the tree), which should be good enough
26719        anyway for Accessible Technologies, without impacting perfformance
26720        in such a negative way.
26721
26722        * accessibility/atk/AXObjectCacheAtk.cpp:
26723        (WebCore::AXObjectCache::postPlatformNotification): Removed
26724        extremely expensive referring loop when AXChildrenChanged is received.
26725
267262014-01-14  Mihai Tica  <mitica@adobe.com>
26727
26728        [CSS Background Blending] Background layer with -webkit-cross-fade doesn't blend
26729        when having -webkit-background-blending applied. Turns out the problem was
26730        the blending parameter not being passed to WebCore::CrossfadeGeneratedImage::draw
26731
26732        https://bugs.webkit.org/show_bug.cgi?id=126887
26733
26734        Reviewed by Dirk Schulze.
26735
26736        Test: css3/compositing/background-blend-mode-crossfade-image.html
26737
26738        * platform/graphics/CrossfadeGeneratedImage.cpp:
26739        (WebCore::CrossfadeGeneratedImage::draw): set blendMode on context.
26740
267412014-01-14  Mihai Tica  <mitica@adobe.com>
26742
26743        Background-blend-mode doesn't work for an element with an
26744        SVG image as background and border-style or padding set.
26745        The problem consisted in the drawing path using the default
26746        blending parameter at all times.
26747        https://bugs.webkit.org/show_bug.cgi?id=118894
26748
26749        Reviewed by Dirk Schulze.
26750
26751        Test: css3/compositing/background-blend-mode-data-uri-svg-image.html
26752
26753        * svg/graphics/SVGImage.cpp:
26754        (WebCore::SVGImage::drawPatternForContainer): Pass blendMode to Image::drawPattern.
26755        * svg/graphics/SVGImage.h: Add a blendMode parameter to drawPatternForContainer.
26756        * svg/graphics/SVGImageForContainer.cpp:
26757        (WebCore::SVGImageForContainer::drawPattern): Pass blendMode to drawPatternForContainer call.
26758
267592014-01-14  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
26760
26761        Remove accidentally added PLATFORM(QT) from Source/WebCore/editing/EditorCommand.cpp after r161638
26762        https://bugs.webkit.org/show_bug.cgi?id=126980
26763
26764        Reviewed by Andreas Kling.
26765
26766        * editing/EditorCommand.cpp:
26767        (WebCore::createCommandMap):
26768
267692014-01-14  Mihnea Ovidenie  <mihnea@adobe.com>
26770
26771        [CSSRegions] The list of fixed positioned layers in named flows should be sorted by z-index
26772        https://bugs.webkit.org/show_bug.cgi?id=126978
26773
26774        Reviewed by Antti Koivisto.
26775
26776        Return the list of fixed positioned layers sorted by z-index from
26777        FlowThreadController::collectFixedPositionedLayers instead of manually sort it
26778        every time we need it (RenderLayer::paintFixedLayersInNamedFlows, RenderLayer::hitTestFixedLayersInNamedFlows).
26779        Refactoring covered by existing regions tests.
26780
26781        * rendering/FlowThreadController.cpp:
26782        (WebCore::compareZIndex):
26783        (WebCore::FlowThreadController::collectFixedPositionedLayers):
26784        * rendering/RenderLayer.cpp:
26785        (WebCore::RenderLayer::paintFixedLayersInNamedFlows):
26786        (WebCore::RenderLayer::hitTestFixedLayersInNamedFlows):
26787
267882014-01-14  Andreas Kling  <akling@apple.com>
26789
26790        Pack ResourceLoaderOptions harder.
26791        <https://webkit.org/b/126972>
26792
26793        Make all ResourceLoaderOptions members bitfields to reduce padding,
26794        shrinking it from 28 to 4 bytes.
26795
26796        Reviewed by Antti Koivisto.
26797
26798        * loader/ResourceLoaderOptions.h:
26799
268002014-01-14  Andreas Kling  <akling@apple.com>
26801
26802        Pack ResourceError harder.
26803        <https://webkit.org/b/126969>
26804
26805        Re-arrange the members of ResourceError to reduce padding,
26806        shrinking it by 8 bytes.
26807
26808        Reviewed by Antti Koivisto.
26809
26810        * platform/network/ResourceErrorBase.h:
26811        (WebCore::ResourceErrorBase::ResourceErrorBase):
26812
268132014-01-14  Andreas Kling  <akling@apple.com>
26814
26815        Pack RenderLayer harder.
26816        <https://webkit.org/b/126967>
26817
26818        Re-arrange the members of ScrollableArea a bit so that RenderLayer
26819        can combine its bitfields with the ones in ScrollableArea.
26820        This makes RenderLayer fit into a snugger size class, saving 32 bytes
26821        per layer.
26822
26823        296 kB progression on Membuster3.
26824
26825        Reviewed by Antti Koivisto.
26826
26827        * platform/ScrollableArea.cpp:
26828        * platform/ScrollableArea.h:
26829
26830            Put bitfield members at the end of ScrollableArea so inheriting
26831            classes can synergize with the padding.
26832
26833        * rendering/RenderLayer.h:
26834
26835            Make m_blendMode a bitfield to avoid bloating the class.
26836
268372014-01-13  Tim Horton  <timothy_horton@apple.com>
26838
26839        iOS WebCore build fixes
26840
26841        Add WebKit and WebKit2 as allowable clients of WebCore.
26842
26843        * Configurations/WebCore.xcconfig:
26844
268452014-01-13  Tim Horton  <timothy_horton@apple.com>
26846
26847        iOS WebKit2 build fixes, part 1
26848
26849        * WebCore.xcodeproj/project.pbxproj:
26850        Move some headers to 'private', from 'project'.
26851
268522014-01-13  Commit Queue  <commit-queue@webkit.org>
26853
26854        Unreviewed, rolling out r161907.
26855        http://trac.webkit.org/changeset/161907
26856        https://bugs.webkit.org/show_bug.cgi?id=126963
26857
26858        fast/canvas/webgl/webgl-compressed-texture-size-limit.html
26859        fails on many bots (Requested by ap on #webkit).
26860
26861        * html/canvas/WebGLRenderingContext.cpp:
26862        (WebCore::WebGLRenderingContext::validateTexFuncLevel):
26863
268642014-01-13  David Kilzer  <ddkilzer@apple.com>
26865
26866        Fix typedef of DragDataRef from id back to id<NSDraggingInfo>
26867        <http://webkit.org/b/126958>
26868        <rdar://problem/14814649>
26869
26870        Reviewed by Mark Rowe.
26871
26872        * WebCore.exp.in: Export different symbols based on
26873        __has_feature(objc_protocol_qualifier_mangling) since clang
26874        mangles the type differently with that change.
26875
26876        * platform/DragData.h:
26877        * platform/mac/DragDataMac.mm:
26878        (WebCore::DragData::DragData):
26879        - Revert r154493 by switching back to id<NSDraggingInfo>.
26880
268812014-01-13  Commit Queue  <commit-queue@webkit.org>
26882
26883        Unreviewed, rolling out r161939.
26884        http://trac.webkit.org/changeset/161939
26885        https://bugs.webkit.org/show_bug.cgi?id=126956
26886
26887        didn't work with mac, of course (Requested by thorton on
26888        #webkit).
26889
26890        * WebCore.xcodeproj/project.pbxproj:
26891
268922014-01-13  Tim Horton  <timothy_horton@apple.com>
26893
26894        iOS WebKit2 build fixes
26895
26896        * WebCore.xcodeproj/project.pbxproj:
26897        Make some headers private instead of project for WK2's use.
26898
268992014-01-13  Simon Fraser  <simon.fraser@apple.com>
26900
26901        Make NetworkStateNotifier.h a private header, needed by iOS.
26902
26903        * WebCore.xcodeproj/project.pbxproj:
26904
269052014-01-13  Simon Fraser  <simon.fraser@apple.com>
26906
26907        More work towards getting iOS WK1 building.
26908
26909        Some more Private headers for iOS.
26910
26911        * WebCore.xcodeproj/project.pbxproj:
26912
269132014-01-13  Myles C. Maxfield  <mmaxfield@apple.com>
26914
26915        Highlighting password field then making a Sticky Note via Safari Services exposes password
26916        https://bugs.webkit.org/show_bug.cgi?id=126946
26917
26918        Reviewed by Enrica Casucci.
26919
26920        Using the Services menu has a slightly different codepath than Editor::copy() does. This
26921        patch duplicates the canCopy() check that Editor::copy() does.
26922
26923        Testing is not possible because the Services menu is not accessible to our tests.
26924
26925        * editing/mac/EditorMac.mm:
26926        (WebCore::Editor::stringSelectionForPasteboard):
26927        (WebCore::Editor::stringSelectionForPasteboardWithImageAltText):
26928        (WebCore::Editor::dataSelectionForPasteboard):
26929
269302014-01-13  Brent Fulgham  <bfulgham@apple.com>
26931
26932        [WebGL] Crash due to forceLostContext
26933        https://bugs.webkit.org/show_bug.cgi?id=126947
26934
26935        Reviewed by Dean Jackson.
26936
26937        Covered by webgl/conformance/textures/origin-clean-conformance.html.
26938
26939        * html/canvas/WebGLRenderingContext.cpp:
26940        (WebCore::WebGLRenderingContext::isContextLost): Make const.
26941        (WebCore::WebGLRenderingContext::platformLayer): Don't attempt to use
26942        a lost context.
26943        * html/canvas/WebGLRenderingContext.h: isContextLost should be const.
26944
269452014-01-13  Martin Robinson  <mrobinson@igalia.com>
26946
26947        [GTK][CMake] WebCorePlatform build can sometimes fail due to missing generated headers
26948        https://bugs.webkit.org/show_bug.cgi?id=126911
26949
26950        Reviewed by Daniel Bates.
26951
26952        * PlatformGTK.cmake: Add an explicit dependency from WebCorePlatform to WebCore.
26953
269542014-01-13  Benjamin Poulain  <benjamin@webkit.org>
26955
26956        Use the Selector Code Generator for resolving style
26957        https://bugs.webkit.org/show_bug.cgi?id=126199
26958
26959        Reviewed by Ryosuke Niwa.
26960
26961        * css/ElementRuleCollector.cpp:
26962        (WebCore::ElementRuleCollector::ruleMatches):
26963        * css/RuleSet.h:
26964
269652014-01-13  Benjamin Poulain  <benjamin@webkit.org>
26966
26967        Update the SelectorQuery code using compiled selector after r161196
26968        https://bugs.webkit.org/show_bug.cgi?id=126860
26969
26970        Reviewed by Andreas Kling.
26971
26972        Update tree traversal code to the current traversal functions.
26973
26974        * dom/SelectorQuery.cpp:
26975        (WebCore::SelectorDataList::executeCompiledSimpleSelectorChecker):
26976        (WebCore::SelectorDataList::executeCompiledSelectorCheckerWithContext):
26977
269782014-01-13  Simon Fraser  <simon.fraser@apple.com>
26979
26980        Various iOS WebKit1 build fixes.
26981
26982        * WebCore.xcodeproj/project.pbxproj: iOS WebKit1 needs various
26983        headers to be Private.
26984
269852014-01-13  Andreas Kling  <akling@apple.com>
26986
26987        Map RootInlineBox to containing region via bit+hashmap.
26988        <https://webkit.org/b/126917>
26989
26990        The vas majority of RootInlineBox objects don't have a containing
26991        RenderRegion, so let's store that in a bit+hashmap configuration
26992        instead of having a dedicated pointer member for it.
26993
26994        148 kB progression on Membuster3.
26995
26996        Reviewed by Antti Koivisto.
26997
26998        * rendering/InlineFlowBox.h:
26999        (WebCore::InlineFlowBox::InlineFlowBox):
27000        * rendering/RootInlineBox.cpp:
27001        (WebCore::RootInlineBox::RootInlineBox):
27002
27003            Added m_hasContainingRegion bit.
27004
27005        (WebCore::containingRegionMap):
27006
27007            Global map between RootInlineBox and RenderRegion.
27008
27009        (WebCore::RootInlineBox::~RootInlineBox):
27010
27011            Remove self from aforementioned global map if needed.
27012
27013        (WebCore::RootInlineBox::paint):
27014
27015            Tweak a condition to avoid double hash lookup.
27016
27017        * rendering/RootInlineBox.h:
27018        (WebCore::RootInlineBox::containingRegion):
27019        (WebCore::RootInlineBox::clearContainingRegion):
27020        (WebCore::RootInlineBox::setContainingRegion):
27021
27022            Store the containing region in a bit+hashmap.
27023
270242014-01-13  Brent Fulgham  <bfulgham@apple.com>
27025
27026        [WebGL] Invalid range checking in WebGLRenderingContext::validateTexFuncLevel
27027        https://bugs.webkit.org/show_bug.cgi?id=126925
27028
27029        Reviewed by Dean Jackson.
27030
27031        Added fast/canvas/webgl/webgl-compressed-texture-size-limit.html.
27032
27033        * html/canvas/WebGLRenderingContext.cpp:
27034        (WebCore::WebGLRenderingContext::validateTexFuncLevel): Avoid off-by-one error
27035
270362014-01-13  Daniel Bates  <dabates@apple.com>
27037
27038        Add uint8_t specialization for WebCore::writeLittleEndian()
27039        https://bugs.webkit.org/show_bug.cgi?id=126924
27040
27041        Reviewed by Darin Adler.
27042
27043        Specialize WebCore::writeLittleEndian() for datatype uint8_t so as to avoid
27044        a compiler warning when right shifting a uint8_t by 8 because the result of
27045        such a computation is undefined.
27046
27047        * bindings/js/SerializedScriptValue.cpp:
27048        (WebCore::writeLittleEndian<uint8_t>): Added.
27049
270502014-01-13  Daniel Bates  <dabates@apple.com>
27051
27052        r161638 broke the Windows build
27053        https://bugs.webkit.org/show_bug.cgi?id=126916
27054
27055        * DerivedSources.make:
27056
270572014-01-13  Eric Carlson  <eric.carlson@apple.com>
27058
27059        Allow MediaSessionManager to restrict media playback
27060        https://bugs.webkit.org/show_bug.cgi?id=126780
27061
27062        Reviewed by Jer Noble.
27063
27064        Test: media/video-concurrent-playback.html
27065
27066        * WebCore.exp.in: Export functions needed by Internals.
27067
27068        Add HTMLMediaSession.
27069        * WebCore.xcodeproj/project.pbxproj:
27070        * CMakeLists.txt:
27071        * GNUmakefile.list.am:
27072        * WebCore.vcxproj/WebCore.vcxproj:
27073        * WebCore.vcxproj/WebCore.vcxproj.filters:
27074        * WebCore.xcodeproj/project.pbxproj:
27075
27076        Add a media session object to manage HTMLMediaElement restrictions.
27077        * html/HTMLMediaSession.cpp: Added.
27078        * html/HTMLMediaSession.h: Added.
27079
27080        Move media restriction management to a MediaSession.
27081        * html/HTMLMediaElement.cpp:
27082        (WebCore::HTMLMediaElement::HTMLMediaElement): Use the media session to manage restrictions.
27083        (WebCore::HTMLMediaElement::parseAttribute): Ditto.
27084        (WebCore::HTMLMediaElement::insertedInto): Ditto.
27085        (WebCore::HTMLMediaElement::parseAttribute): Ditto.
27086        (WebCore::HTMLMediaElement::loadInternal): Ditto.
27087        (WebCore::HTMLMediaElement::loadResource): Ditto.
27088        (WebCore::HTMLMediaElement::setReadyState): Ditto.
27089        (WebCore::HTMLMediaElement::autoplay): Ditto.
27090        (WebCore::HTMLMediaElement::play): Ditto.
27091        (WebCore::HTMLMediaElement::pause): Ditto
27092        (WebCore::HTMLMediaElement::pauseInternal): Ditto
27093        (WebCore::HTMLMediaElement::suspend): Ditto
27094        (WebCore::HTMLMediaElement::resume): Ditto.
27095        (WebCore::HTMLMediaElement::updatePlayState): Tell media session playback is about to start.
27096        (WebCore::HTMLMediaElement::deliverNotification): Ditto.
27097        (WebCore::HTMLMediaElement::webkitShowPlaybackTargetPicker): Ditto.
27098        (WebCore::HTMLMediaElement::mediaPlayerIsFullscreenPermitted): Ditto.
27099        (WebCore::HTMLMediaElement::removeBehaviorsRestrictionsAfterFirstUserGesture): Ditto.
27100        (WebCore::HTMLMediaElement::pausePlayback): New, allows the media session to pause playback.
27101        * html/HTMLMediaElement.h:
27102
27103        * html/HTMLVideoElement.cpp:
27104        (WebCore::HTMLVideoElement::webkitEnterFullscreen): Use the media session to manage restrictions.
27105
27106        * platform/audio/MediaSession.cpp:
27107        (WebCore::MediaSession::beginInterruption): Add logging.
27108        (WebCore::MediaSession::endInterruption): Ditto.
27109        (WebCore::MediaSession::pauseSession): New, allows the session manager to pause playback.
27110        * platform/audio/MediaSession.h:
27111
27112        Add per-media type restrictions.
27113        * platform/audio/MediaSessionManager.cpp:
27114        (WebCore::MediaSessionManager::MediaSessionManager): Initialize restrictions.
27115        (WebCore::MediaSessionManager::addRestriction): New.
27116        (WebCore::MediaSessionManager::removeRestriction): New.
27117        (WebCore::MediaSessionManager::restrictions): New.
27118        (WebCore::MediaSessionManager::sessionWillBeginPlayback): New. If only one session if the same
27119            type is allowed to play, pause all others.
27120        * platform/audio/MediaSessionManager.h:
27121
27122        * platform/audio/ios/MediaSessionManagerIOS.h: Added.
27123        * platform/audio/ios/MediaSessionManagerIOS.mm: Added.
27124        (WebCore::MediaSessionManager::sharedManager):
27125        (WebCore::m_objcObserver):
27126        (-[WebAVAudioSessionHelper initWithCallback:]):
27127        (-[WebAVAudioSessionHelper dealloc]):
27128        (-[WebAVAudioSessionHelper interruption:]):
27129
27130        * platform/audio/mac/AudioDestinationMac.h: Add pausePlayback.
27131
27132        Allow tests to set media session restrictions.
27133        * testing/Internals.cpp:
27134        * testing/Internals.h:
27135        * testing/Internals.idl:
27136
271372014-01-13  Alexey Proskuryakov  <ap@apple.com>
27138
27139        Fix the build more.
27140
27141        * xml/XMLHttpRequestProgressEventThrottle.cpp:
27142        (WebCore::XMLHttpRequestProgressEventThrottle::dispatchProgressEvent):
27143
271442014-01-13  Alexey Proskuryakov  <ap@apple.com>
27145
27146        Fix the build.
27147
27148        * xml/XMLHttpRequestProgressEventThrottle.cpp:
27149        (WebCore::XMLHttpRequestProgressEventThrottle::dispatchProgressEvent):
27150
271512014-01-13  Simon Fraser  <simon.fraser@apple.com>
27152
27153        Fix copy of SystemMemory.h in iOS WebKit build.
27154        
27155        Move SystemMemory.h from platform/SystemMemory.h to platform/ios/SystemMemory.h.
27156        Add it to the project file.
27157        Make it a Private header.
27158        Add PLATFORM(IOS) #idfefs around its contents.
27159
27160        * WebCore.xcodeproj/project.pbxproj:
27161        * platform/ios/SystemMemory.h: Renamed from Source/WebCore/platform/SystemMemory.h.
27162
271632014-01-13  Youenn Fablet  <youennf@gmail.com>
27164
27165        Dispatch a progress event before dispatching abort, error or timeout event
27166        https://bugs.webkit.org/show_bug.cgi?id=126575
27167
27168        Reviewed by Alexey Proskuryakov.
27169
27170        Added sending of progress event after readystatechange event (switching to DONE state) in case of abort, error or timeout. 
27171        Fixed assertions in XMLHttpRequestProgressEventThrottle and XMLHttpRequestUpload.
27172
27173        * xml/XMLHttpRequest.cpp:
27174        (WebCore::XMLHttpRequest::dispatchErrorEvents): added sending of progress event before the specific error event
27175        * xml/XMLHttpRequestProgressEventThrottle.cpp:
27176        (WebCore::XMLHttpRequestProgressEventThrottle::dispatchProgressEvent): fixed assertion
27177        * xml/XMLHttpRequestUpload.cpp:
27178        (WebCore::XMLHttpRequestUpload::dispatchProgressEvent): fixed assertion
27179
271802014-01-13  Carlos Garcia Campos  <cgarcia@igalia.com>
27181
27182        [SOUP] Add SoupNetworkSession class to wrap a SoupSession
27183        https://bugs.webkit.org/show_bug.cgi?id=126813
27184
27185        Reviewed by Gustavo Noronha Silva.
27186
27187        Add SoupNetworkSession class that wraps a SoupSession and move all
27188        the code related to the SoupSession from ResourceHandle to
27189        SoupNetworkSession, including the static methods to get the
27190        default session and create testing and private sessions.
27191
27192        * GNUmakefile.list.am: Add new files to compilation.
27193        * PlatformEfl.cmake: Ditto.
27194        * PlatformGTK.cmake: Ditto.
27195        * platform/network/NetworkStorageSession.h: Use SoupNetworkSession
27196        instead of SoupSession.
27197        * platform/network/ResourceHandle.h:
27198        * platform/network/soup/CookieJarSoup.cpp:
27199        (WebCore::cookieJarForSession): Use SoupNetworkSession to get the
27200        SoupSession.
27201        * platform/network/soup/DNSSoup.cpp:
27202        (WebCore::DNSResolveQueue::platformResolve): Ditto.
27203        * platform/network/soup/NetworkStorageSessionSoup.cpp:
27204        (WebCore::NetworkStorageSession::NetworkStorageSession): Use
27205        SoupNetworkSession instead of SoupSession.
27206        (WebCore::NetworkStorageSession::~NetworkStorageSession):
27207        (WebCore::NetworkStorageSession::defaultStorageSession): Create a
27208        NetworkStorageSession with a NULL SoupNetworkSession which means
27209        that the default SoupNetworkSession will be used.
27210        (WebCore::NetworkStorageSession::createPrivateBrowsingSession):
27211        Call SoupNetworkSession::createPrivateBrowsingSession() to create
27212        the private session.
27213        (WebCore::NetworkStorageSession::switchToNewTestingSession): Call
27214        SoupNetworkSession::createTestingSession() to create the testing
27215        session.
27216        (WebCore::NetworkStorageSession::soupNetworkSession): Return the
27217        SoupNetworkSession or the default one.
27218        (WebCore::NetworkStorageSession::setSoupNetworkSession): Set a new
27219        SoupNetworkSession.
27220        * platform/network/soup/ResourceHandleSoup.cpp:
27221        (WebCore::sessionFromContext): Use SoupNetworkSession to get the
27222        SoupSession.
27223        (WebCore::ResourceHandleInternal::soupSession): Simply call
27224        sessionFromContext(), since ensureSessionIsInitialized() is no
27225        longer needed, because the SoupSession are now initialized in the
27226        SoupNetworkSession constructor.
27227        (WebCore::ResourceHandle::didStartRequest): Function to notify the
27228        ResourceHandle that current request has just started for web timing.
27229        * platform/network/soup/SoupNetworkSession.cpp: Added.
27230        (WebCore::soupLogPrinter): Logger callback.
27231        (WebCore::SoupNetworkSession::defaultSession): Return a reference
27232        to the default SoupNetworkSession.
27233        (WebCore::SoupNetworkSession::createPrivateBrowsingSession):
27234        Create a new private session.
27235        (WebCore::SoupNetworkSession::createTestingSession): Create a new
27236        testing session.
27237        (WebCore::SoupNetworkSession::createForSoupSession): Create a new
27238        SoupNetworkSession for the given SoupSession.
27239        (WebCore::authenticateCallback): Callback emitted by the
27240        SoupSession when the request needs authentication.
27241        (WebCore::requestStartedCallback): Callback emitted by the
27242        SoupSession when as request has just started.
27243        (WebCore::SoupNetworkSession::SoupNetworkSession):
27244        (WebCore::SoupNetworkSession::~SoupNetworkSession):
27245        (WebCore::SoupNetworkSession::setupLogger): Helper private
27246        function to setup the logger.
27247        (WebCore::SoupNetworkSession::setCookieJar): Set a new CookieJar
27248        in the session replacing the existing one.
27249        (WebCore::SoupNetworkSession::cookieJar): Return the current
27250        CookieJar of the session.
27251        (WebCore::SoupNetworkSession::setCache): Set a disk cache.
27252        (WebCore::SoupNetworkSession::cache): Return the current disk cache.
27253        (WebCore::SoupNetworkSession::setSSLPolicy): Set the SSL policy.
27254        (WebCore::SoupNetworkSession::sslPolicy): Get the current SSL policy.
27255        (WebCore::SoupNetworkSession::setHTTPProxy): Set the HTTP proxy.
27256        (WebCore::SoupNetworkSession::httpProxy): Get the current HTTP proxy.
27257        (WebCore::SoupNetworkSession::setupHTTPProxyFromEnvironment): Set
27258        the HTTP proxy using the environment variables.
27259        (WebCore::buildAcceptLanguages): Helper function build the accept
27260        language string in the format expected by soup (RFC 2616).
27261        (WebCore::SoupNetworkSession::setAcceptLanguages): Set the accept
27262        language for the given list of languages.
27263        * platform/network/soup/SoupNetworkSession.h: Added.
27264        (WebCore::SoupNetworkSession::soupSession): Return the SoupSession.
27265
272662014-01-13  Brent Fulgham  <bfulgham@apple.com>
27267
27268        [WebGL] Error messages should use source code labels, not internal mangled symbols.
27269        https://bugs.webkit.org/show_bug.cgi?id=126832
27270
27271        Reviewed by Dean Jackson.
27272
27273        Revised fast/canvas/webgl/glsl-conformance.html.
27274
27275        * platform/graphics/ANGLEWebKitBridge.cpp:
27276        (WebCore::getSymbolInfo): Correct missing 'break'.
27277        (WebCore::ANGLEWebKitBridge::compileShaderSource): Call 'getSymbolInfo'
27278        for SH_VARYINGS.
27279        * platform/graphics/GraphicsContext3D.h: Add new declarations.
27280        * platform/graphics/filters/CustomFilterValidatedProgram.cpp: Add case
27281        for SHADER_SYMBOL_TYPE_VARYING. This is a no-op to match existing
27282        behavior.
27283        * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
27284        (WebCore::GraphicsContext3D::compileShader): Demangle log output.
27285        (WebCore::GraphicsContext3D::mappedSymbolName): Added.
27286        (WebCore::GraphicsContext3D::getUnmangledInfoLog): Added.
27287        (WebCore::GraphicsContext3D::getProgramInfoLog): Demangle log output.
27288        (WebCore::GraphicsContext3D::getShaderInfoLog): Demangle log output.
27289
272902014-01-13  David Kilzer  <ddkilzer@apple.com>
27291
27292        [iOS] Include RenderElement.h to fix BaseChooserOnlyDateAndTimeInputType.cpp
27293
27294        Fixes the following build failure:
27295
27296            Undefined symbols for architecture x86_64:
27297              "__ZNK7WebCore13ContainerNode8rendererEv", referenced from:
27298                  __ZN7WebCore35BaseChooserOnlyDateAndTimeInputType22handleDOMActivateEventEPNS_5EventE in BaseChooserOnlyDateAndTimeInputType.o
27299
27300        * html/BaseChooserOnlyDateAndTimeInputType.cpp: Include
27301        RenderElement.h.
27302
273032014-01-13  Andy Estes  <aestes@apple.com>
27304
27305        [iOS] Build Fix: copy iOS-specific generated headers
27306
27307        * Configurations/WebCore.xcconfig: Excluded DOMTouch* and DOMGesture* headers on Mac.
27308        * WebCore.xcodeproj/project.pbxproj:
27309
273102014-01-13  Zalan Bujtas  <zalan@apple.com>
27311
27312        Enable SUBPIXEL_LAYOUT on Mac
27313        <https://webkit.org/b/126283>
27314
27315        Reviewed by Simon Fraser.
27316
27317        * Configurations/FeatureDefines.xcconfig:
27318
273192014-01-13  Tibor Meszaros  <tmeszaros.u-szeged@partner.samsung.com>
27320
27321        REGRESSION(r161715): Use of uninitialized value $ENV{"PLATFORM_NAME"}
27322        https://bugs.webkit.org/show_bug.cgi?id=126873
27323
27324        Reviewed by Csaba Osztrogonác.
27325
27326        * bindings/scripts/CodeGeneratorObjC.pm:
27327        * bindings/scripts/preprocessor.pm:
27328        (applyPreprocessor):
27329
273302014-01-13  Andreas Kling  <akling@apple.com>
27331
27332        CTTE: Autoscroll renderer is always a RenderBox.
27333        <https://webkit.org/b/126884>
27334
27335        Reviewed by Antti Koivisto.
27336
27337        * page/EventHandler.h:
27338        * page/EventHandler.cpp:
27339        (WebCore::EventHandler::autoscrollRenderer):
27340
27341            Make autoscrollRenderer() return a RenderBox*.
27342
27343        * rendering/RenderObject.cpp:
27344        (WebCore::RenderObject::willBeDestroyed):
27345        * rendering/RenderBox.cpp:
27346        (WebCore::RenderBox::willBeDestroyed):
27347
27348            Only check if the autoscroll renderer is being torn down
27349            in RenderBox::willBeDestroyed() since it's not relevant for
27350            other renderer types.
27351
273522014-01-13  László Langó  <llango.u-szeged@partner.samsung.com>
27353
27354        Text should be constructable.
27355        https://bugs.webkit.org/show_bug.cgi?id=115640
27356
27357        Reviewed by Csaba Osztrogonác.
27358
27359        http://dom.spec.whatwg.org/#interface-text
27360        Make Text constructable so that one can do "new Text('abc')"
27361        instead of "document.createTexte('abc')".
27362
27363        Backported from Blink: https://chromium.googlesource.com/chromium/blink/+/cdd5a914daf3862379a5ce4596149bd690d0fa08
27364
27365        Test: fast/dom/Text/text-constructor.html
27366
27367        * dom/Text.cpp:
27368        (WebCore::Text::create):
27369        * dom/Text.h:
27370        * dom/Text.idl:
27371
273722014-01-13  Zan Dobersek  <zdobersek@igalia.com>
27373
27374        Avoid unnecessary copies of AccessibilityObject::AccessibilityChildrenVector
27375        https://bugs.webkit.org/show_bug.cgi?id=126876
27376
27377        Reviewed by Andreas Kling.
27378
27379        AccessibilityObject::children() returns a reference to the Vector of that AccessibilityObject's children.
27380        The majority of callsites stores the return value in a temporary value instead of a reference, causing
27381        a copy each time. A reference to the return value should be used instead.
27382
27383        * accessibility/AXObjectCache.cpp:
27384        (WebCore::AXObjectCache::focusedImageMapUIElement):
27385        * accessibility/AccessibilityARIAGrid.cpp:
27386        (WebCore::AccessibilityARIAGrid::addRowDescendant):
27387        * accessibility/AccessibilityARIAGridCell.cpp:
27388        (WebCore::AccessibilityARIAGridCell::rowIndexRange):
27389        (WebCore::AccessibilityARIAGridCell::columnIndexRange):
27390        * accessibility/AccessibilityARIAGridRow.cpp:
27391        (WebCore::AccessibilityARIAGridRow::headerObject):
27392        * accessibility/AccessibilityListBox.cpp:
27393        (WebCore::AccessibilityListBox::setSelectedChildren):
27394        * accessibility/AccessibilityListBox.h:
27395        * accessibility/AccessibilityNodeObject.cpp:
27396        (WebCore::AccessibilityNodeObject::insertChild):
27397        (WebCore::AccessibilityNodeObject::selectedRadioButton):
27398        (WebCore::AccessibilityNodeObject::selectedTabItem):
27399        * accessibility/AccessibilityObject.cpp:
27400        (WebCore::appendChildrenToArray):
27401        (WebCore::AccessibilityObject::ariaTreeRows):
27402        (WebCore::AccessibilityObject::ariaTreeItemContent):
27403        (WebCore::AccessibilityObject::ariaTreeItemDisclosedRows):
27404        * accessibility/AccessibilityRenderObject.cpp:
27405        (WebCore::AccessibilityRenderObject::accessibilityImageMapHitTest):
27406        (WebCore::AccessibilityRenderObject::addRemoteSVGChildren):
27407        (WebCore::AccessibilityRenderObject::addHiddenChildren):
27408        (WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren):
27409        (WebCore::AccessibilityRenderObject::ariaListboxVisibleChildren):
27410        (WebCore::AccessibilityRenderObject::tabChildren):
27411        (WebCore::AccessibilityRenderObject::mathRadicandObject):
27412        (WebCore::AccessibilityRenderObject::mathRootIndexObject):
27413        (WebCore::AccessibilityRenderObject::mathNumeratorObject):
27414        (WebCore::AccessibilityRenderObject::mathDenominatorObject):
27415        (WebCore::AccessibilityRenderObject::mathUnderObject):
27416        (WebCore::AccessibilityRenderObject::mathOverObject):
27417        (WebCore::AccessibilityRenderObject::mathBaseObject):
27418        (WebCore::AccessibilityRenderObject::mathSubscriptObject):
27419        (WebCore::AccessibilityRenderObject::mathSuperscriptObject):
27420        * accessibility/AccessibilityTable.cpp:
27421        (WebCore::AccessibilityTable::cellForColumnAndRow):
27422        * accessibility/AccessibilityTableColumn.cpp:
27423        (WebCore::AccessibilityTableColumn::headerObject):
27424        * accessibility/AccessibilityTableRow.cpp:
27425        (WebCore::AccessibilityTableRow::headerObject):
27426        * accessibility/atk/AXObjectCacheAtk.cpp:
27427        (WebCore::getListObject):
27428        (WebCore::notifyChildrenSelectionChange):
27429        * accessibility/atk/WebKitAccessibleInterfaceHypertext.cpp:
27430        (webkitAccessibleHypertextGetLink):
27431        (webkitAccessibleHypertextGetNLinks):
27432        * accessibility/atk/WebKitAccessibleInterfaceSelection.cpp:
27433        (listObjectForSelection):
27434        (optionFromList):
27435        (webkitAccessibleSelectionSelectAllSelection):
27436        * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
27437        (getNChildrenForTable):
27438        (getChildForTable):
27439        (webkitAccessibleRefChild):
27440        (getIndexInParentForCellInRow):
27441        (getInterfaceMaskFromObject):
27442        * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
27443        (-[WebAccessibilityObjectWrapper accessibilityElementAtIndex:]):
27444        (-[WebAccessibilityObjectWrapper indexOfAccessibilityElement:]):
27445        (-[WebAccessibilityObjectWrapper containsUnnaturallySegmentedChildren]):
27446        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
27447        (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
27448
274492014-01-13  László Langó  <llango.u-szeged@partner.samsung.com>
27450
27451        Comment should be consructable.
27452        https://bugs.webkit.org/show_bug.cgi?id=115642
27453
27454        Reviewed by Andreas Kling.
27455
27456        http://dom.spec.whatwg.org/#comment
27457        This allows us to do `new Comment('abc')` instead of `document.createComment('abc')`.
27458
27459        Backported from Blink: https://chromium.googlesource.com/chromium/blink/+/06e4a37f6b11348606de5405edac1ada97499d2a%5E%21
27460
27461        Test: fast/dom/Comment/comment-constructor.html
27462
27463        * dom/Comment.cpp:
27464        (WebCore::Comment::create):
27465        * dom/Comment.h:
27466        * dom/Comment.idl:
27467
274682014-01-13  Commit Queue  <commit-queue@webkit.org>
27469
27470        Unreviewed, rolling out r161808.
27471        http://trac.webkit.org/changeset/161808
27472        https://bugs.webkit.org/show_bug.cgi?id=126874
27473
27474        This patch make several files to be always regenerated on
27475        every make (Requested by KaL on #webkit).
27476
27477        * GNUmakefile.am:
27478        * bindings/gobject/GNUmakefile.am:
27479
274802014-01-12  Commit Queue  <commit-queue@webkit.org>
27481
27482        Unreviewed, rolling out r161843.
27483        http://trac.webkit.org/changeset/161843
27484        https://bugs.webkit.org/show_bug.cgi?id=126871
27485
27486        Caused CSS custom filter tests to assert (Requested by smfr on
27487        #webkit).
27488
27489        * platform/graphics/ANGLEWebKitBridge.cpp:
27490        (WebCore::getSymbolInfo):
27491        (WebCore::ANGLEWebKitBridge::compileShaderSource):
27492        * platform/graphics/GraphicsContext3D.h:
27493        * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
27494        (WebCore::GraphicsContext3D::compileShader):
27495        (WebCore::GraphicsContext3D::getProgramInfoLog):
27496        (WebCore::GraphicsContext3D::getShaderInfoLog):
27497
274982014-01-12  Commit Queue  <commit-queue@webkit.org>
27499
27500        Unreviewed, rolling out r161840.
27501        http://trac.webkit.org/changeset/161840
27502        https://bugs.webkit.org/show_bug.cgi?id=126870
27503
27504        Caused jsscore and layout test failures (Requested by smfr on
27505        #webkit).
27506
27507        * bindings/objc/WebScriptObject.mm:
27508        (+[WebScriptObject _convertValueToObjcValue:JSC::originRootObject:rootObject:]):
27509        * editing/CompositeEditCommand.cpp:
27510        (WebCore::containsOnlyWhitespace):
27511        * editing/TypingCommand.cpp:
27512        (WebCore::TypingCommand::insertText):
27513        * editing/VisibleUnits.cpp:
27514        (WebCore::startOfParagraph):
27515        (WebCore::endOfParagraph):
27516        * html/parser/HTMLParserIdioms.cpp:
27517        (WebCore::stripLeadingAndTrailingHTMLSpaces):
27518        (WebCore::parseHTMLNonNegativeInteger):
27519        * inspector/ContentSearchUtils.cpp:
27520        (WebCore::ContentSearchUtils::createSearchRegexSource):
27521        * inspector/InspectorStyleSheet.cpp:
27522        (WebCore::InspectorStyle::newLineAndWhitespaceDelimiters):
27523        * inspector/InspectorStyleTextEditor.cpp:
27524        (WebCore::InspectorStyleTextEditor::insertProperty):
27525        (WebCore::InspectorStyleTextEditor::internalReplaceProperty):
27526        * platform/Length.cpp:
27527        (WebCore::newCoordsArray):
27528        * platform/LinkHash.cpp:
27529        (WebCore::visitedLinkHash):
27530        * platform/graphics/Color.cpp:
27531        (WebCore::Color::parseHexColor):
27532        (WebCore::Color::Color):
27533        * platform/graphics/TextRun.h:
27534        (WebCore::TextRun::TextRun):
27535        * platform/text/TextEncodingRegistry.cpp:
27536        (WebCore::atomicCanonicalTextEncodingName):
27537        * rendering/RenderBlock.cpp:
27538        (WebCore::RenderBlock::constructTextRun):
27539        * rendering/RenderCombineText.cpp:
27540        (WebCore::RenderCombineText::width):
27541        * svg/SVGFontElement.cpp:
27542        (WebCore::SVGFontElement::registerLigaturesInGlyphCache):
27543        * xml/XPathFunctions.cpp:
27544        (WebCore::XPath::FunId::evaluate):
27545        * xml/XPathNodeSet.h:
27546
275472014-01-12  Jinwoo Song  <jinwoo7.song@samsung.com>
27548
27549        Fix build warnings by unused parameter
27550        https://bugs.webkit.org/show_bug.cgi?id=126867
27551
27552        Reviewed by Gyuyoung Kim.
27553
27554        * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp: 
27555        (WebCore::IDBServerConnectionLevelDB::changeDatabaseVersion): Remove unused parameter 'operation'.
27556
275572014-01-12  Brent Fulgham  <bfulgham@apple.com>
27558
27559        Unreviewed build fix for WinCairo.
27560
27561        * WebCore.vcxproj/WebCoreCairo.props: Add missing include path
27562        to locate SelectorCompiler.h.
27563
275642014-01-12  Maciej Stachowiak  <mjs@apple.com>
27565
27566        Fix iOS build breakage from http://trac.webkit.org/changeset/161844
27567        https://bugs.webkit.org/show_bug.cgi?id=126866
27568
27569        Reviewed by Simon Fraser.
27570
27571        * platform/text/TextBreakIteratorICU.cpp:
27572        (WebCore::cursorMovementIterator): Use initializeIterator instead of createSharedIterator,
27573        which does not exist.
27574
275752014-01-12  Darin Adler  <darin@apple.com>
27576
27577        Add PLATFORM(COCOA) and USE(FOUNDATION)
27578        https://bugs.webkit.org/show_bug.cgi?id=126859
27579
27580        Reviewed by Anders Carlsson.
27581
27582        * config.h: Use PLATFORM(COCOA) instead of PLATFORM(MAC) || PLATFORM(IOS)
27583        to set USE(FILE_LOCK). Would be nice to use OS(DARWIN), but that would be
27584        a change in behavior that might be incorrect. Removed bogus comments in
27585        the USE(NEW_THEME) setting code. Removed redundant code to set USE(CA),
27586        which exactly duplicates code that already exists in Platform.h.
27587
275882014-01-12  Darin Adler  <darin@apple.com>
27589
27590        Add deprecatedCharacters as a synonym for characters and convert most call sites
27591        https://bugs.webkit.org/show_bug.cgi?id=126858
27592
27593        Reviewed by Anders Carlsson.
27594
27595        * Modules/indexeddb/IDBKeyPath.cpp:
27596        (WebCore::IDBKeyPathLexer::IDBKeyPathLexer):
27597        * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
27598        (WebCore::ThreadableWebSocketChannelClientWrapper::setSubprotocol):
27599        (WebCore::ThreadableWebSocketChannelClientWrapper::setExtensions):
27600        * accessibility/AccessibilityObject.cpp:
27601        (WebCore::AccessibilityObject::hasMisspelling):
27602        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
27603        (-[WebAccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]):
27604        * bindings/js/SerializedScriptValue.cpp:
27605        (WebCore::CloneSerializer::serialize):
27606        (WebCore::CloneSerializer::write):
27607        * dom/CharacterData.cpp:
27608        (WebCore::CharacterData::parserAppendData):
27609        * dom/Document.cpp:
27610        (WebCore::Document::parseQualifiedName):
27611        * editing/Editor.cpp:
27612        (WebCore::Editor::misspelledWordAtCaretOrRange):
27613        (WebCore::Editor::misspelledSelectionString):
27614        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
27615        * editing/TextCheckingHelper.cpp:
27616        (WebCore::TextCheckingHelper::findFirstMisspellingOrBadGrammar):
27617        (WebCore::TextCheckingHelper::findFirstBadGrammar):
27618        (WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange):
27619        * editing/TextCheckingHelper.h:
27620        (WebCore::TextCheckingParagraph::textDeprecatedCharacters):
27621        * editing/TextIterator.cpp:
27622        (WebCore::collapsedSpaceLength):
27623        (WebCore::SimplifiedBackwardsTextIterator::handleTextNode):
27624        (WebCore::containsKanaLetters):
27625        (WebCore::SearchBuffer::SearchBuffer):
27626        * editing/TextIterator.h:
27627        (WebCore::TextIterator::characters):
27628        * editing/VisiblePosition.cpp:
27629        (WebCore::VisiblePosition::characterAfter):
27630        * editing/VisibleUnits.cpp:
27631        (WebCore::wordBreakIteratorForMinOffsetBoundary):
27632        (WebCore::wordBreakIteratorForMaxOffsetBoundary):
27633        (WebCore::visualWordPosition):
27634        (WebCore::previousBoundary):
27635        (WebCore::nextBoundary):
27636        * fileapi/WebKitBlobBuilder.cpp:
27637        (WebCore::BlobBuilder::append):
27638        * html/FormDataList.cpp:
27639        (WebCore::FormDataList::appendString):
27640        * html/canvas/CanvasRenderingContext2D.cpp:
27641        (WebCore::normalizeSpaces):
27642        * html/parser/HTMLParserIdioms.cpp:
27643        (WebCore::parseImagesWithScaleFromSrcsetAttribute):
27644        * html/parser/HTMLTreeBuilder.cpp:
27645        (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::ExternalCharacterTokenBuffer):
27646        * loader/appcache/ManifestParser.cpp:
27647        (WebCore::parseManifest):
27648        * page/ContentSecurityPolicy.cpp:
27649        (WebCore::isSourceListNone):
27650        (WebCore::CSPSourceList::parse):
27651        (WebCore::NonceDirective::parse):
27652        (WebCore::MediaListDirective::parse):
27653        (WebCore::CSPDirectiveList::parse):
27654        (WebCore::CSPDirectiveList::parseReportURI):
27655        (WebCore::CSPDirectiveList::parseReflectedXSS):
27656        (WebCore::ContentSecurityPolicy::didReceiveHeader):
27657        * page/PageSerializer.cpp:
27658        (WebCore::PageSerializer::serializeFrame):
27659        (WebCore::PageSerializer::serializeCSSStyleSheet):
27660        * platform/Length.cpp:
27661        (WebCore::newCoordsArray):
27662        (WebCore::newLengthArray):
27663        * platform/LinkHash.cpp:
27664        (WebCore::visitedURL):
27665        (WebCore::visitedLinkHash):
27666        * platform/SharedBuffer.cpp:
27667        (WebCore::utf8Buffer):
27668        * platform/URL.cpp:
27669        (WebCore::URL::port):
27670        (WebCore::encodeHostnames):
27671        * platform/graphics/StringTruncator.cpp:
27672        (WebCore::centerTruncateToBuffer):
27673        (WebCore::rightTruncateToBuffer):
27674        (WebCore::rightClipToCharacterBuffer):
27675        (WebCore::rightClipToWordBuffer):
27676        (WebCore::leftTruncateToBuffer):
27677        (WebCore::truncateString):
27678        (WebCore::StringTruncator::width):
27679        * platform/graphics/TextRun.h:
27680        (WebCore::TextRun::TextRun):
27681        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
27682        (WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForLoadingOfResource):
27683        * platform/network/FormDataBuilder.cpp:
27684        (WebCore::FormDataBuilder::addFilenameToMultiPartHeader):
27685        * platform/sql/SQLiteStatement.cpp:
27686        (WebCore::SQLiteStatement::bindBlob):
27687        (WebCore::SQLiteStatement::bindText):
27688        * platform/text/DecodeEscapeSequences.h:
27689        (WebCore::decodeEscapeSequences):
27690        * platform/text/TextBreakIterator.cpp:
27691        (WebCore::numGraphemeClusters):
27692        (WebCore::numCharactersInGraphemeClusters):
27693        * platform/text/TextBreakIteratorICU.cpp:
27694        (WebCore::setUpIteratorWithRules):
27695        * platform/text/TextCodecICU.cpp:
27696        (WebCore::TextCodecICU::encode):
27697        * rendering/RenderBlock.cpp:
27698        (WebCore::RenderBlock::constructTextRun):
27699        * rendering/RenderListMarker.cpp:
27700        (WebCore::RenderListMarker::paint):
27701        * rendering/RenderText.cpp:
27702        (WebCore::maxWordFragmentWidth):
27703        (WebCore::RenderText::computePreferredLogicalWidths):
27704        (WebCore::RenderText::computeCanUseSimpleFontCodePath):
27705        * rendering/RenderText.h:
27706        (WebCore::RenderText::characters):
27707        (WebCore::RenderText::deprecatedCharacters):
27708        * rendering/line/BreakingContextInlineHeaders.h:
27709        (WebCore::tryHyphenating):
27710        * rendering/svg/SVGInlineTextBox.cpp:
27711        (WebCore::SVGInlineTextBox::constructTextRun):
27712        * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
27713        (WebCore::processRenderSVGInlineText):
27714        * rendering/svg/SVGTextLayoutEngine.cpp:
27715        (WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath):
27716        * rendering/svg/SVGTextMetrics.cpp:
27717        (WebCore::SVGTextMetrics::measureCharacterRange):
27718        (WebCore::SVGTextMetrics::SVGTextMetrics):
27719        * rendering/svg/SVGTextMetricsBuilder.cpp:
27720        (WebCore::SVGTextMetricsBuilder::initializeMeasurementWithTextRenderer):
27721        * svg/SVGAngle.cpp:
27722        (WebCore::SVGAngle::setValueAsString):
27723        * svg/SVGAnimateMotionElement.cpp:
27724        (WebCore::parsePoint):
27725        * svg/SVGAnimationElement.cpp:
27726        (WebCore::parseKeySplines):
27727        * svg/SVGFitToViewBox.cpp:
27728        (WebCore::SVGFitToViewBox::parseViewBox):
27729        * svg/SVGFontData.cpp:
27730        (WebCore::SVGFontData::applySVGGlyphSelection):
27731        * svg/SVGGlyphMap.h:
27732        (WebCore::SVGGlyphMap::addGlyph):
27733        (WebCore::SVGGlyphMap::collectGlyphsForString):
27734        * svg/SVGGlyphRefElement.cpp:
27735        (WebCore::SVGGlyphRefElement::parseAttribute):
27736        * svg/SVGLength.cpp:
27737        (WebCore::SVGLength::setValueAsString):
27738        * svg/SVGLengthList.cpp:
27739        (WebCore::SVGLengthList::parse):
27740        * svg/SVGNumberList.cpp:
27741        (WebCore::SVGNumberList::parse):
27742        * svg/SVGParserUtilities.cpp:
27743        (WebCore::parseNumberFromString):
27744        (WebCore::parseNumberOptionalNumber):
27745        (WebCore::parseRect):
27746        (WebCore::pointsListFromSVGData):
27747        (WebCore::parseGlyphName):
27748        (WebCore::parseKerningUnicodeString):
27749        (WebCore::parseDelimitedString):
27750        * svg/SVGPreserveAspectRatio.cpp:
27751        (WebCore::SVGPreserveAspectRatio::parse):
27752        * svg/SVGStringList.cpp:
27753        (WebCore::SVGStringList::parse):
27754        * svg/SVGTransformList.cpp:
27755        (WebCore::SVGTransformList::parse):
27756        * svg/SVGTransformable.cpp:
27757        (WebCore::SVGTransformable::parseTransformType):
27758        * svg/SVGViewSpec.cpp:
27759        (WebCore::SVGViewSpec::parseViewSpec):
27760        * svg/SVGZoomAndPan.h:
27761        (WebCore::SVGZoomAndPan::parseAttribute):
27762        * xml/XMLHttpRequest.cpp:
27763        (WebCore::XMLHttpRequest::send):
27764        * xml/XSLStyleSheetLibxslt.cpp:
27765        (WebCore::XSLStyleSheet::parseString):
27766        * xml/XSLTUnicodeSort.cpp:
27767        (WebCore::xsltUnicodeSortFunction):
27768        * xml/parser/XMLDocumentParserLibxml2.cpp:
27769        (WebCore::XMLDocumentParser::doWrite):
27770        (WebCore::parseAttributes):
27771        Use deprecatedCharacters instead of characters.
27772
277732014-01-12  Darin Adler  <darin@apple.com>
27774
27775        Add type checking to isEqual methods
27776        https://bugs.webkit.org/show_bug.cgi?id=126862
27777
27778        Reviewed by Anders Carlsson.
27779
27780        * page/ios/WebEventRegion.mm:
27781        (-[WebEventRegion isEqual:]): Add type checking on the argument.
27782        Add a FIXME about the lack of a hash method override. Formatted to match
27783        the usual WebKit coding style.
27784
277852014-01-12  Anders Carlsson  <andersca@apple.com>
27786
27787        Try to fix the 32-bit build.
27788
27789        * platform/text/icu/UTextProviderLatin1.cpp:
27790        (WebCore::uTextLatin1Clone):
27791        (WebCore::uTextLatin1Extract):
27792        (WebCore::uTextLatin1MapNativeIndexToUTF16):
27793
277942014-01-12  Anders Carlsson  <andersca@apple.com>
27795
27796        Remove all uses of AtomicallyInitializedStatic from WebCore
27797        https://bugs.webkit.org/show_bug.cgi?id=126861
27798
27799        Reviewed by Darin Adler.
27800
27801        * Modules/indexeddb/IDBPendingTransactionMonitor.cpp:
27802        (WebCore::transactions):
27803        * fileapi/ThreadableBlobRegistry.cpp:
27804        (WebCore::originMap):
27805        * platform/text/TextEncodingRegistry.cpp:
27806        (WebCore::encodingRegistryMutex):
27807        (WebCore::newTextCodec):
27808        (WebCore::atomicCanonicalTextEncodingName):
27809        (WebCore::dumpTextEncodingNameMap):
27810        * workers/DefaultSharedWorkerRepository.cpp:
27811        (WebCore::DefaultSharedWorkerRepository::instance):
27812
278132014-01-12  Anders Carlsson  <andersca@apple.com>
27814
27815        Use an std::atomic<uint32_t> when computing IDBDatabase transaction IDs
27816        https://bugs.webkit.org/show_bug.cgi?id=126853
27817
27818        Reviewed by Sam Weinig.
27819
27820        * Modules/indexeddb/IDBDatabase.cpp:
27821        (WebCore::IDBDatabase::nextTransactionId):
27822
278232014-01-12  Sam Weinig  <sam@webkit.org>
27824
27825        TextBreakIterator's should support Latin-1 for all iterator types (Part 1)
27826        https://bugs.webkit.org/show_bug.cgi?id=126856
27827
27828        Reviewed by Darin Adler.
27829
27830        - Do some initial cleanup before adding complete Latin-1 support.
27831
27832        * platform/text/TextBreakIterator.cpp:
27833        Remove non-ICU acquireLineBreakIterator() implementation.
27834
27835        * platform/text/TextBreakIterator.h:
27836        - Changes acquireLineBreakIterator() to take a StringView.
27837
27838        * platform/text/TextBreakIteratorICU.cpp:
27839        - Refactor iterator initialization and setting of text on the iterator.
27840        - Add support for using a Latin-1 provider (this is not currently used).
27841
27842        * platform/text/icu/UTextProviderLatin1.cpp:
27843        * platform/text/icu/UTextProviderLatin1.h:
27844        - Add back non-context aware Latin-1 provider (from r129662).
27845        - Rename context aware provider.
27846
27847        * platform/text/icu/UTextProviderUTF16.cpp:
27848        * platform/text/icu/UTextProviderUTF16.h:
27849        - Rename context aware provider.
27850
278512014-01-12  Brent Fulgham  <bfulgham@apple.com>
27852
27853        [WebGL] Error messages should use source code labels, not internal mangled symbols.
27854        https://bugs.webkit.org/show_bug.cgi?id=126832
27855
27856        Reviewed by Dean Jackson.
27857
27858        Revised fast/canvas/webgl/glsl-conformance.html.
27859
27860        * platform/graphics/ANGLEWebKitBridge.cpp:
27861        (WebCore::getSymbolInfo): Correct missing 'break'.
27862        (WebCore::ANGLEWebKitBridge::compileShaderSource): Call 'getSymbolInfo'
27863        for SH_VARYINGS.
27864        * platform/graphics/GraphicsContext3D.h: Add new declarations.
27865        * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
27866        (WebCore::GraphicsContext3D::compileShader): Demangle log output.
27867        (WebCore::GraphicsContext3D::mappedSymbolName): Added.
27868        (WebCore::GraphicsContext3D::getUnmangledInfoLog): Added.
27869        (WebCore::GraphicsContext3D::getProgramInfoLog): Demangle log output.
27870        (WebCore::GraphicsContext3D::getShaderInfoLog): Demangle log output.
27871
278722014-01-12  Dan Bernstein  <mitz@apple.com>
27873
27874        Try to fix the Windows build after r161839.
27875
27876        * WebCore.vcxproj/WebCoreCommon.props:
27877
278782014-01-12  Darin Adler  <darin@apple.com>
27879
27880        Reduce use of String::characters
27881        https://bugs.webkit.org/show_bug.cgi?id=126854
27882
27883        Reviewed by Sam Weinig.
27884
27885        * bindings/objc/WebScriptObject.mm:
27886        (+[WebScriptObject _convertValueToObjcValue:JSC::originRootObject:rootObject:]):
27887        Get rid of unneeded code to turn a WTF::String into an NSString, since that's
27888        built into the WTF::String class.
27889
27890        * editing/CompositeEditCommand.cpp:
27891        (WebCore::containsOnlyWhitespace): Use WTF::String's [] operator instead of
27892        an explicit call to the characters function. Small performance cost.
27893        * editing/TypingCommand.cpp:
27894        (WebCore::TypingCommand::insertText): Ditto.
27895
27896        * editing/VisibleUnits.cpp:
27897        (WebCore::startOfParagraph): Use reverseFind instead of writing our own loop.
27898        (WebCore::endOfParagraph): Use find instead of writing our own loop.
27899
27900        * html/parser/HTMLParserIdioms.cpp:
27901        (WebCore::stripLeadingAndTrailingHTMLSpaces): Use characters16 instead of
27902        characters since we have already checked is8Bit.
27903        (WebCore::parseHTMLNonNegativeInteger): Ditto. Replace the length check with
27904        a check of isNull since a zero length string could be 8 bit, but it's not
27905        safe to call is8Bit on a null WTF::String. (That should probably be fixed.)
27906
27907        * inspector/ContentSearchUtils.cpp:
27908        (WebCore::ContentSearchUtils::createSearchRegexSource): Use StringBuilder
27909        instead of String in code that builds up a string one character at a time.
27910        The old way was ridiculously slow because it allocated a new string for every
27911        character; the new way still isn't all that efficient, but it's better. Also
27912        changed to use strchr instead of WTF::String::find for special characters.
27913
27914        * inspector/InspectorStyleSheet.cpp:
27915        (WebCore::InspectorStyle::newLineAndWhitespaceDelimiters): Use WTF::String's
27916        [] operator instead of an explicit call to the characters function.
27917        * inspector/InspectorStyleTextEditor.cpp:
27918        (WebCore::InspectorStyleTextEditor::insertProperty): Ditto.
27919        (WebCore::InspectorStyleTextEditor::internalReplaceProperty): Ditto.
27920        * platform/Length.cpp:
27921        (WebCore::newCoordsArray): Ditto.
27922
27923        * platform/LinkHash.cpp:
27924        (WebCore::visitedLinkHash): Use characters16 instead of characters since
27925        we have already checked is8Bit. Replace the length check with a check of
27926        isNull (as above in parseHTMLNonNegativeInteger).
27927
27928        * platform/graphics/Color.cpp:
27929        (WebCore::Color::parseHexColor): Use characters16 since we already checked is8Bit.
27930        (WebCore::Color::Color): Ditto.
27931
27932        * platform/graphics/TextRun.h:
27933        (WebCore::TextRun::TextRun): Use characters16 instead of characters since
27934        we have already checked is8Bit. Replace the length check with a check of
27935        isNull (as above in parseHTMLNonNegativeInteger).
27936
27937        * platform/text/TextEncodingRegistry.cpp:
27938        (WebCore::atomicCanonicalTextEncodingName): Use characters16 instead of
27939        characters since we already checked is8Bit. Also use isEmpty instead of !length.
27940
27941        * rendering/RenderBlock.cpp:
27942        (WebCore::RenderBlock::constructTextRun): Use characters16 instead of characters
27943        since we have already checked is8Bit. Replace the length check with a check of
27944        isNull (as above in parseHTMLNonNegativeInteger).
27945
27946        * rendering/RenderCombineText.cpp:
27947        (WebCore::RenderCombineText::width): Check for zero length instead of checking
27948        for null characters.
27949
27950        * svg/SVGFontElement.cpp:
27951        (WebCore::SVGFontElement::registerLigaturesInGlyphCache): Rewrite ligatures
27952        for loop and give local variables a better name. Construct the substring with
27953        the substring function. Still a really inefficient approach -- allocating a new
27954        string for every character is absurdly expensive.
27955
27956        * xml/XPathFunctions.cpp:
27957        (WebCore::XPath::FunId::evaluate): Use String instead of StringBuilder. Still
27958        not all that efficient, but better than before. Use substring to construct the
27959        substring.
27960
27961        * xml/XPathNodeSet.h: Added begin and end functions so we can use a C++11 for
27962        loop with this class.
27963
279642014-01-12  Benjamin Poulain  <benjamin@webkit.org>
27965
27966        Use the Selector Code Generator for matching in SelectorQuery
27967        https://bugs.webkit.org/show_bug.cgi?id=126185
27968
27969        Reviewed by Ryosuke Niwa.
27970
27971        Compile selectors on demand and use the generated binary to perform
27972        element matching in SelectorQuery.
27973
27974        Tests: fast/selectors/querySelector-long-adjacent-backtracking.html
27975               fast/selectors/querySelector-long-child-backtracking.html
27976               fast/selectors/querySelector-mixed-child-adjacent-backtracking.html
27977               fast/selectors/querySelector-multiple-simple-child-backtracking.html
27978               fast/selectors/querySelector-simple-adjacent-backtracking.html
27979               fast/selectors/querySelector-simple-child-backtracking.html
27980
27981        * dom/SelectorQuery.cpp:
27982        (WebCore::SelectorDataList::executeCompiledSimpleSelectorChecker):
27983        (WebCore::SelectorDataList::executeCompiledSelectorCheckerWithContext):
27984        (WebCore::SelectorDataList::execute):
27985        * dom/SelectorQuery.h:
27986
279872014-01-12  Anders Carlsson  <andersca@apple.com>
27988
27989        Simplify creation of XMLHttpRequestStaticData
27990        https://bugs.webkit.org/show_bug.cgi?id=126852
27991
27992        Reviewed by Sam Weinig.
27993
27994        Add a staticData() getter that does the initialization and get rid of the explicit
27995        calls to initializeXMLHttpRequestStaticData().
27996
27997        * xml/XMLHttpRequest.cpp:
27998        (WebCore::XMLHttpRequestStaticData::XMLHttpRequestStaticData):
27999        (WebCore::staticData):
28000        (WebCore::XMLHttpRequest::XMLHttpRequest):
28001        (WebCore::XMLHttpRequest::isAllowedHTTPHeader):
28002
280032014-01-12  Simon Fraser  <simon.fraser@apple.com>
28004
28005        Final WebCore link error: update a symbol in WebCoreSystemInterfaceIOS.mm.
28006
28007        * platform/ios/WebCoreSystemInterfaceIOS.mm:
28008
280092014-01-12  Anders Carlsson  <andersca@apple.com>
28010
28011        Use std::call_once instead of AtomicallyInitializedStatic in DatabaseBackendBase
28012        https://bugs.webkit.org/show_bug.cgi?id=126851
28013
28014        Reviewed by Sam Weinig.
28015
28016        * Modules/webdatabase/DatabaseBackendBase.cpp:
28017        (WebCore::guidMutex):
28018        (WebCore::guidToVersionMap):
28019        (WebCore::updateGuidVersionMap):
28020        (WebCore::guidToDatabaseMap):
28021        (WebCore::guidForOriginAndName):
28022        (WebCore::DatabaseBackendBase::DatabaseBackendBase):
28023        (WebCore::DatabaseBackendBase::closeDatabase):
28024        (WebCore::DatabaseBackendBase::performOpenAndVerify):
28025        (WebCore::DatabaseBackendBase::getCachedVersion):
28026        (WebCore::DatabaseBackendBase::setCachedVersion):
28027
280282014-01-12  Dan Bernstein  <mitz@apple.com>
28029
28030        Try to fix the Windows build after r161830.
28031
28032        * platform/network/NetworkStateNotifier.h:
28033
280342014-01-12  Simon Fraser  <simon.fraser@apple.com>
28035
28036        Don't build JSTouch* and JSGesture* files on Mac.
28037
28038        * Configurations/WebCore.xcconfig:
28039
280402014-01-12  Anders Carlsson  <andersca@apple.com>
28041
28042        Clean up NetworkStateNotifier class
28043        https://bugs.webkit.org/show_bug.cgi?id=126850
28044
28045        Reviewed by Andreas Kling.
28046
28047        Use std::call_once instead of AtomicallyInitializedStatic and a std::function
28048        instead of a custom function pointer typedef.
28049
28050        * platform/network/NetworkStateNotifier.cpp:
28051        (WebCore::networkStateNotifier):
28052        (WebCore::NetworkStateNotifier::addNetworkStateChangeListener):
28053        (WebCore::NetworkStateNotifier::notifyNetworkStateChange):
28054        * platform/network/NetworkStateNotifier.h:
28055
280562014-01-12  Simon Fraser  <simon.fraser@apple.com>
28057
28058        Add implementations of Frame::viewportArguments() and
28059        Frame::setViewportArguments().
28060
28061        * page/ios/FrameIOS.mm:
28062        (WebCore::Frame::viewportArguments):
28063        (WebCore::Frame::setViewportArguments):
28064
280652014-01-12  Simon Fraser  <simon.fraser@apple.com>
28066
28067        Add JSWebKitPlaybackTargetAvailabilityEvent.* to the project.
28068
28069        * WebCore.xcodeproj/project.pbxproj:
28070
280712014-01-12  Simon Fraser  <simon.fraser@apple.com>
28072
28073        Stub out some DragImage functions for iOS.
28074        
28075        * WebCore.xcodeproj/project.pbxproj:
28076        * platform/ios/DragImageIOS.mm: Added.
28077        (WebCore::dragImageSize):
28078        (WebCore::scaleDragImage):
28079        (WebCore::createDragImageFromImage):
28080
280812014-01-12  Simon Fraser  <simon.fraser@apple.com>
28082
28083        We need DragImage.cpp code even when ENABLE_DRAG_SUPPORT is
28084        not defined, because these are actually generic snapshotting
28085        functions.
28086
28087        * platform/DragImage.cpp:
28088
280892014-01-12  Simon Fraser  <simon.fraser@apple.com>
28090
28091        Fix linker errors: add DateTimeFormat.cpp to the project,
28092        and make DateInputType::DateInputType not inline.
28093
28094        * WebCore.xcodeproj/project.pbxproj:
28095        * html/DateInputType.cpp:
28096        (WebCore::DateInputType::DateInputType):
28097        * platform/DragImage.cpp:
28098
280992014-01-12  Simon Fraser  <simon.fraser@apple.com>
28100
28101        Fix a bunch of linker errors related to exported functions.
28102        I removed some iOS symbols from the .exp.in file; we may have
28103        to add some back.
28104
28105        * WebCore.exp.in:
28106
281072014-01-12  Simon Fraser  <simon.fraser@apple.com>
28108
28109        Add generated JSTouch* and JSGestureEvent.* files to the project.
28110
28111        * WebCore.xcodeproj/project.pbxproj:
28112
281132014-01-12  David Kilzer  <ddkilzer@apple.com>
28114
28115        Move implementation of AuthenticationChallenge::setAuthenticationClient() to source file for USE(CFNETWORK)
28116        <http://webkit.org/b/126848>
28117
28118        Reviewed by Simon Fraser.
28119
28120        * platform/network/cf/AuthenticationCF.cpp:
28121        (WebCore::AuthenticationChallenge::setAuthenticationClient):
28122        Move implementation to here...
28123        * platform/network/cf/AuthenticationChallenge.h: ...from here.
28124        Remove duplicate header definitions inside USE(CFNETWORK).
28125
281262014-01-12  Sam Weinig  <sam@webkit.org>
28127
28128        Fix windows.
28129
28130        * WebCore.vcxproj/WebCore.vcxproj:
28131
281322014-01-12  Anders Carlsson  <andersca@apple.com>
28133
28134        Replace more uses of AtomicallyInitializedStatic with std::call_once
28135        https://bugs.webkit.org/show_bug.cgi?id=126847
28136
28137        Reviewed by Sam Weinig.
28138
28139        * crypto/CryptoAlgorithmRegistry.cpp:
28140        (WebCore::CryptoAlgorithmRegistry::shared):
28141        (WebCore::registryMutex):
28142        (WebCore::CryptoAlgorithmRegistry::getIdentifierForName):
28143        (WebCore::CryptoAlgorithmRegistry::nameForIdentifier):
28144        (WebCore::CryptoAlgorithmRegistry::create):
28145        (WebCore::CryptoAlgorithmRegistry::registerAlgorithm):
28146        * crypto/CryptoAlgorithmRegistry.h:
28147        * inspector/WorkerDebuggerAgent.cpp:
28148        (WebCore::WorkerDebuggerAgent::WorkerDebuggerAgent):
28149        (WebCore::WorkerDebuggerAgent::~WorkerDebuggerAgent):
28150        (WebCore::WorkerDebuggerAgent::interruptAndDispatchInspectorCommands):
28151        * workers/WorkerThread.cpp:
28152        (WebCore::threadSetMutex):
28153        (WebCore::workerThreads):
28154        (WebCore::WorkerThread::workerThreadCount):
28155        (WebCore::WorkerThread::WorkerThread):
28156        (WebCore::WorkerThread::~WorkerThread):
28157        (WebCore::WorkerThread::releaseFastMallocFreeMemoryInAllThreads):
28158
281592014-01-11  Sam Weinig  <sam@webkit.org>
28160
28161        Split ICU UText providers out into their own files
28162        https://bugs.webkit.org/show_bug.cgi?id=126834
28163
28164        Reviewed by Anders Carlsson.
28165
28166        Moves the implementation of our custom UText providers out into
28167        their own files.
28168        - UTextProviderLatin1.h/cpp contains the Latin-1 provider.
28169        - UTextProviderUTF16.h/cpp contains the UTF-16 provider.
28170        - UTextProvider.h/cpp contains code common to all the providers.
28171
28172        * CMakeLists.txt:
28173        * GNUmakefile.list.am:
28174        * PlatformGTK.cmake:
28175        * WebCore.vcxproj/WebCoreCommon.props:
28176        * WebCore.vcxproj/copyForwardingHeaders.cmd:
28177        * WebCore.xcodeproj/project.pbxproj:
28178        * platform/text/TextAllInOne.cpp:
28179        * platform/text/TextBreakIteratorICU.cpp:
28180        (WebCore::setUpIterator):
28181        (WebCore::wordBreakIterator):
28182        (WebCore::acquireLineBreakIterator):
28183        (WebCore::sentenceBreakIterator):
28184        (WebCore::setUpIteratorWithRules):
28185        * platform/text/icu: Added.
28186        * platform/text/icu/UTextProvider.cpp: Added.
28187        (WebCore::fixPointer):
28188        (WebCore::uTextCloneImpl):
28189        * platform/text/icu/UTextProvider.h: Added.
28190        (WebCore::uTextProviderContext):
28191        (WebCore::uTextInitialize):
28192        (WebCore::uTextAccessPinIndex):
28193        (WebCore::uTextAccessInChunkOrOutOfRange):
28194        * platform/text/icu/UTextProviderLatin1.cpp: Added.
28195        * platform/text/icu/UTextProviderLatin1.h: Added.
28196        * platform/text/icu/UTextProviderUTF16.cpp: Added.
28197        * platform/text/icu/UTextProviderUTF16.h: Added.
28198
281992014-01-12  Carlos Garcia Campos  <cgarcia@igalia.com>
28200
28201        Unreviewed. Fix make distcheck.
28202
28203        * GNUmakefile.list.am: Add missing files.
28204
282052014-01-12  Simon Fraser  <simon.fraser@apple.com>
28206
28207        Fix some CoreVideo linker errors on iOS by softlinking with more CoreVideo
28208        symbols.
28209
28210        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
28211
282122014-01-12  Andreas Kling  <akling@apple.com>
28213
28214        REGRESSION(r160806): line-height is not applied when only present in :link style.
28215        <http://webkit.org/b/126839>
28216        <rdar://problem/15799899>
28217
28218        Reviewed by Antti Koivisto.
28219
28220        Test: fast/css/line-height-link-style.html
28221
28222        * css/StyleResolver.cpp:
28223        (WebCore::StyleResolver::CascadedProperties::Property::apply):
28224
28225            Use the CSSValue for SelectorChecker::MatchLink when applying
28226            style inside a link.
28227
282282014-01-12  David Kilzer  <ddkilzer@apple.com>
28229
28230        [iOS] Fix link errors for iOS: Part 3
28231
28232        * WebCore.exp.in:
28233        - Move some Mac-only symbols to Mac-only section.
28234        * WebCore.xcodeproj/project.pbxproj:
28235        - Add missing references to AuthenticationCF.cpp and
28236          CookieJarCFNet.cpp.
28237
282382014-01-11  Anders Carlsson  <andersca@apple.com>
28239
28240        Remove unsafe uses of AtomicallyInitializedStatic
28241        https://bugs.webkit.org/show_bug.cgi?id=126838
28242
28243        Reviewed by Andreas Kling.
28244
28245        AtomicStrings are per thread so any static initialization of them is potentially dangerous
28246        unless it's certain that they're only ever used from the same thread.
28247        
28248        This goes against using them with AtomicallyInitializedStatic, so just create AtomicStrings where needed.
28249        (This is highly unlikely to have any real negative performance impact since these two functions
28250        aren't called very frequently).
28251
28252        * loader/CrossOriginAccessControl.cpp:
28253        (WebCore::passesAccessControlCheck):
28254        * page/PerformanceResourceTiming.cpp:
28255        (WebCore::passesTimingAllowCheck):
28256
282572014-01-12  David Kilzer  <ddkilzer@apple.com>
28258
28259        [iOS] Fix link errors for iOS: Part 2
28260
28261        * WebCore.exp.in:
28262        - Move some Mac-only symbols to Mac-only section.
28263
282642014-01-12  David Kilzer  <ddkilzer@apple.com>
28265
28266        [iOS] First of many iOS fixes to WebCore.exp.in
28267
28268        * WebCore.exp.in:
28269        - Move some Mac-only symbols to Mac-only section.
28270        - Upstream some changes to iOS-only section.
28271
282722014-01-12  David Kilzer  <ddkilzer@apple.com>
28273
28274        [iOS] Don't link to Mac-only frameworks when building iOS
28275        <http://webkit.org/b/126841>
28276
28277        * Configurations/WebCore.xcconfig:
28278        (OTHER_LDFLAGS_iphonesimulator): Remove common frameworks that
28279        are already in the Xcode project.
28280        (OTHER_LDFLAGS_macosx): Add Mac-only frameworks removed from the
28281        Xcode project.
28282        * Configurations/WebCoreTestShim.xcconfig:
28283        (OTHER_LDFLAGS[sdk=macosx*]): Link to Carbon.framework for Mac
28284        since it was removed from the Xcode project.
28285        * WebCore.xcodeproj/project.pbxproj: Remove Mac-only frameworks.
28286
282872014-01-12  Tobias Mueller  <tobiasmue@gnome.org>
28288
28289        --disable-dependency-tracking causes build failure due to missing directories
28290        https://bugs.webkit.org/show_bug.cgi?id=94488
28291        
28292        Reviewed by Gustavo Noronha Silva.
28293
28294        Ensure output directory existing
28295        before generating DerivedSources. This allows for
28296        --disable-dependency-tracking to be run.
28297
28298        * GNUmakefile.am: Added new target DerivedSources/ANGLE which is a directory to be created
28299        * bindings/gobject/GNUmakefile.am: Added new target DerivedSources/webkitdom which is a directory to be created
28300
283012014-01-12  David Kilzer  <ddkilzer@apple.com>
28302
28303        [iOS] WebFontCache is Mac-only
28304
28305        * WebCore.exp.in: Move export to Mac-only section.
28306
283072014-01-12  David Kilzer  <ddkilzer@apple.com>
28308
28309        [iOS] Upstream WebEventRegion.{h|mm} to fix the build
28310
28311        * WebCore.xcodeproj/project.pbxproj: Add to project.
28312        * page/ios/WebEventRegion.h: Added.
28313        * page/ios/WebEventRegion.mm: Added.
28314        (-[WebEventRegion initWithPoints::::]):
28315        (-[WebEventRegion copyWithZone:]):
28316        (-[WebEventRegion description]):
28317        (-[WebEventRegion hitTest:]):
28318        (-[WebEventRegion isEqual:]):
28319        (-[WebEventRegion quad]):
28320
283212014-01-11  Anders Carlsson  <andersca@apple.com>
28322
28323        Use std::call_once instead of AtomicallyInitializedStatic when creating a HTTP header set
28324        https://bugs.webkit.org/show_bug.cgi?id=126837
28325
28326        Reviewed by Sam Weinig.
28327
28328        Use std::call_once when constructing the HTTPHeaderSet.
28329
28330        * loader/CrossOriginAccessControl.cpp:
28331        (WebCore::isOnAccessControlResponseHeaderWhitelist):
28332
283332014-01-11  David Kilzer  <ddkilzer@apple.com>
28334
28335        [iOS] Do not link to ApplicationServices.framework for iOS
28336        <http://webkit.org/b/126835>
28337
28338        Reviewed by Dan Bernstein.
28339
28340        * Configurations/WebCore.xcconfig:
28341        (OTHER_LDFLAGS_macosx): Add -framework ApplicationServices.
28342        * WebCore.xcodeproj/project.pbxproj: Remove reference to
28343        ApplicationServices.framework.
28344
283452014-01-11  David Kilzer  <ddkilzer@apple.com>
28346
28347        [iOS] Build fix for StyleResolver.cpp
28348
28349        * rendering/style/RenderStyle.h:
28350        (WebCore::RenderStyle::setCompositionFillColor): Added.
28351
283522014-01-11  David Kilzer  <ddkilzer@apple.com>
28353
28354        [iOS] Fix build of RenderLayerCompositor::registerAllViewportConstrainedLayers()
28355
28356        * rendering/RenderLayerCompositor.cpp:
28357        (WebCore::RenderLayerCompositor::registerAllViewportConstrainedLayers):
28358        Fix use of std::make_unique<>() and add an adoptPtr() call.
28359
283602014-01-11  Alexey Proskuryakov  <ap@apple.com>
28361
28362        [Mac] [Windows] Stop scheduling network requests in WebCore
28363        https://bugs.webkit.org/show_bug.cgi?id=126789
28364        <rdar://problem/15114727>
28365
28366        Reviewed by Sam Weinig.
28367
28368        We'll just send all requests to CFNetwork now, along with associated priorities.
28369
28370        * WebCore.exp.in: WebKitSystemInterface functions are changing to support priorities
28371        for more than just pipelining.
28372        * loader/ResourceLoadScheduler.cpp:
28373        (WebCore::ResourceLoadScheduler::scheduleLoad):
28374        * platform/ios/WebCoreSystemInterfaceIOS.mm:
28375        * platform/mac/WebCoreSystemInterface.h:
28376        * platform/mac/WebCoreSystemInterface.mm:
28377        * platform/network/ResourceHandle.h: For syncronous requests, make it so that they
28378        don't count against HTTP connection limit, to avoid the possibility of hanging the process.
28379        * platform/network/cf/ResourceHandleCFNet.cpp:
28380        (WebCore::ResourceHandle::createCFURLConnection):
28381        (WebCore::ResourceHandle::start):
28382        (WebCore::ResourceHandle::platformLoadResourceSynchronously):
28383        * platform/network/cf/ResourceRequestCFNet.cpp:
28384        (WebCore::ResourceRequest::doUpdatePlatformRequest):
28385        (WebCore::ResourceRequest::doUpdateResourceRequest):
28386        (WebCore::initializeMaximumHTTPConnectionCountPerHost):
28387        (WebCore::initializeHTTPConnectionSettingsOnStartup):
28388        * platform/network/cf/ResourceRequestCFNet.h:
28389        (WebCore::toPlatformRequestPriority):
28390        * platform/network/mac/ResourceHandleMac.mm:
28391        (WebCore::ResourceHandle::createNSURLConnection):
28392        (WebCore::ResourceHandle::start):
28393        (WebCore::ResourceHandle::platformLoadResourceSynchronously):
28394        * platform/network/mac/ResourceRequestMac.mm:
28395        (WebCore::ResourceRequest::doUpdateResourceRequest):
28396        (WebCore::ResourceRequest::doUpdatePlatformRequest):
28397
283982014-01-11  David Kilzer  <ddkilzer@apple.com>
28399
28400        [iOS] Fix build failure in WebCore::findEndWordBoundary()
28401
28402        Filed Bug 126830 for the proper fix:
28403        <http://webkit.org/b/126830>
28404
28405        * editing/VisibleUnits.cpp:
28406        (WebCore::endWordBoundary): Switch back to using
28407        WebCore::findWordBoundary() on iOS.
28408
28409        * platform/text/mac/TextBoundaries.mm:
28410        (WebCore::findEndWordBoundary): Add FIXME for iOS implementation
28411        that doesn't use NSAttributedString.
28412
284132014-01-11  Andy Estes  <aestes@apple.com>
28414
28415        [iOS] Move text autosizing code from RenderBlock to RenderBlockFlow
28416        https://bugs.webkit.org/show_bug.cgi?id=126829
28417
28418        Reviewed by Sam Weinig.
28419
28420        Some newly-upstreamed iOS text autosizing code needs to move to
28421        RenderBlockFlow in order to build.
28422
28423        * rendering/RenderBlock.cpp:
28424        (WebCore::RenderBlock::RenderBlock):
28425        * rendering/RenderBlock.h:
28426        * rendering/RenderBlockFlow.cpp:
28427        (WebCore::RenderBlockFlow::RenderBlockFlow):
28428        (WebCore::isVisibleRenderText):
28429        (WebCore::resizeTextPermitted):
28430        (WebCore::RenderBlockFlow::immediateLineCount):
28431        (WebCore::isNonBlocksOrNonFixedHeightListItems):
28432        (WebCore::oneLineTextMultiplier):
28433        (WebCore::textMultiplier):
28434        (WebCore::RenderBlockFlow::adjustComputedFontSizes):
28435        * rendering/RenderBlockFlow.h:
28436        (WebCore::RenderBlockFlow::resetComputedFontSize):
28437        * rendering/RenderObject.cpp:
28438        (WebCore::RenderObject::adjustComputedFontSizesOnBlocks):
28439        (WebCore::RenderObject::resetTextAutosizing):
28440
284412014-01-11  Daniel Bates  <dabates@apple.com>
28442
28443        [iOS] Fix the build
28444
28445        Only call CGContextFlush() when building for OS X < 10.9.
28446
28447        * platform/graphics/cg/ImageBufferBackingStoreCache.cpp:
28448        (WebCore::ImageBufferBackingStoreCache::deallocate):
28449
284502014-01-11  Anders Carlsson  <andersca@apple.com>
28451
28452        InspectorAgentRegistry should use std::unique_ptr
28453        https://bugs.webkit.org/show_bug.cgi?id=126826
28454
28455        Reviewed by Sam Weinig.
28456
28457        * inspector/InspectorApplicationCacheAgent.h:
28458        * inspector/InspectorCSSAgent.h:
28459        * inspector/InspectorCanvasAgent.h:
28460        * inspector/InspectorController.cpp:
28461        (WebCore::InspectorController::InspectorController):
28462        * inspector/InspectorDOMAgent.h:
28463        * inspector/InspectorDOMDebuggerAgent.cpp:
28464        * inspector/InspectorDOMDebuggerAgent.h:
28465        * inspector/InspectorDOMStorageAgent.h:
28466        * inspector/InspectorDatabaseAgent.h:
28467        * inspector/InspectorHeapProfilerAgent.cpp:
28468        * inspector/InspectorHeapProfilerAgent.h:
28469        * inspector/InspectorIndexedDBAgent.h:
28470        * inspector/InspectorInputAgent.h:
28471        * inspector/InspectorLayerTreeAgent.h:
28472        * inspector/InspectorMemoryAgent.cpp:
28473        * inspector/InspectorMemoryAgent.h:
28474        * inspector/InspectorPageAgent.cpp:
28475        * inspector/InspectorPageAgent.h:
28476        * inspector/InspectorProfilerAgent.cpp:
28477        (WebCore::InspectorProfilerAgent::create):
28478        * inspector/InspectorProfilerAgent.h:
28479        * inspector/InspectorResourceAgent.h:
28480        * inspector/InspectorTimelineAgent.h:
28481        * inspector/InspectorWorkerAgent.cpp:
28482        * inspector/InspectorWorkerAgent.h:
28483        * inspector/PageConsoleAgent.h:
28484        * inspector/PageDebuggerAgent.cpp:
28485        * inspector/PageDebuggerAgent.h:
28486        * inspector/PageRuntimeAgent.h:
28487        * inspector/WorkerConsoleAgent.h:
28488        * inspector/WorkerDebuggerAgent.cpp:
28489        * inspector/WorkerDebuggerAgent.h:
28490        * inspector/WorkerInspectorController.cpp:
28491        (WebCore::WorkerInspectorController::WorkerInspectorController):
28492        * inspector/WorkerRuntimeAgent.h:
28493
284942014-01-11  Sam Weinig  <sam@webkit.org>
28495
28496        Extract the FormatConverter class out of GraphicsContext3D.cpp and into its own file
28497        https://bugs.webkit.org/show_bug.cgi?id=126820
28498
28499        Reviewed by Anders Carlsson.
28500
28501        * CMakeLists.txt:
28502        * GNUmakefile.list.am:
28503        * WebCore.vcxproj/WebCore.vcxproj:
28504        * WebCore.vcxproj/WebCore.vcxproj.filters:
28505        * WebCore.xcodeproj/project.pbxproj:
28506        * platform/graphics/FormatConverter.cpp: Copied from Source/WebCore/platform/graphics/GraphicsContext3D.cpp.
28507        (WebCore::convertFloatToHalfFloat):
28508        (WebCore::FormatConverter::convert):
28509        * platform/graphics/FormatConverter.h: Copied from Source/WebCore/platform/graphics/GraphicsContext3D.cpp.
28510        (WebCore::FormatConverter::FormatConverter):
28511        (WebCore::FormatConverter::success):
28512        * platform/graphics/GraphicsContext3D.cpp:
28513        (WebCore::GraphicsContext3D::computeFormatAndTypeParameters):
28514        (WebCore::GraphicsContext3D::computeImageSizeInBytes):
28515        (WebCore::GraphicsContext3D::packImageData):
28516        (WebCore::GraphicsContext3D::extractImageData):
28517        (WebCore::GraphicsContext3D::extractTextureData):
28518        (WebCore::GraphicsContext3D::packPixels):
28519        * platform/graphics/GraphicsContext3D.h:
28520        (WebCore::GraphicsContext3D::hasAlpha):
28521        (WebCore::GraphicsContext3D::hasColor):
28522
285232014-01-11  Simon Fraser  <simon.fraser@apple.com>
28524
28525        Fix updateScrollingLayerWithClient() for iOS.
28526        
28527        * rendering/RenderLayerCompositor.cpp:
28528        (WebCore::updateScrollingLayerWithClient):
28529
285302014-01-11  Simon Fraser  <simon.fraser@apple.com>
28531
28532        Unfork GraphicsContext::drawNativeImage for iOS
28533        https://bugs.webkit.org/show_bug.cgi?id=126824
28534
28535        Reviewed by Dean Jackson.
28536
28537        GraphicsContext::drawNativeImage had a different signature for iOS,
28538        which required #ifdefs at all the call sites. Unfork by passing the "scale"
28539        parameter everywhere (it's only used on iOS).
28540
28541        * WebCore.exp.in:
28542        * html/canvas/CanvasRenderingContext2D.cpp:
28543        (WebCore::CanvasRenderingContext2D::drawImage):
28544        * platform/graphics/GraphicsContext.h:
28545        * platform/graphics/cg/BitmapImageCG.cpp:
28546        (WebCore::BitmapImage::draw):
28547        * platform/graphics/cg/GraphicsContext3DCG.cpp:
28548        (WebCore::GraphicsContext3D::paintToCanvas):
28549        * platform/graphics/cg/GraphicsContextCG.cpp:
28550        (WebCore::GraphicsContext::platformInit):
28551        * platform/graphics/cg/ImageBufferCG.cpp:
28552        (WebCore::ImageBuffer::draw):
28553        * platform/graphics/ios/IconIOS.mm:
28554        (WebCore::Icon::paint):
28555
285562014-01-11  Simon Fraser  <simon.fraser@apple.com>
28557
28558        Work around USE(CFNETWORK) build failure on iOS.
28559
28560        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
28561        (WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForResponseToAuthenticationChallenge):
28562
285632014-01-11  Simon Fraser  <simon.fraser@apple.com>
28564
28565        Fix LegacyWebArchive.cpp:567:91: error: calling 'utf8' with incomplete return type 'WTF::CString'
28566        
28567        * loader/archive/cf/LegacyWebArchive.cpp:
28568
285692014-01-11  David Kilzer  <ddkilzer@apple.com>
28570
28571        [iOS] Fix the easy half of the build errors in RenderBlock.cpp
28572
28573        * rendering/RenderBlock.cpp:
28574        (WebCore::isNonBlocksOrNonFixedHeightListItems):
28575        (WebCore::oneLineTextMultiplier):
28576        (WebCore::textMultiplier):
28577        (WebCore::RenderBlock::adjustComputedFontSizes):
28578
285792014-01-11  Simon Fraser  <simon.fraser@apple.com>
28580
28581        Change touch-related headers to include WebKitAdditions headers,
28582        which have been renamed to have IOS suffixes.
28583
28584        * WebCore.xcodeproj/project.pbxproj:
28585        * bindings/js/ios/TouchConstructors.cpp:
28586        * dom/Touch.h:
28587        * dom/TouchEvent.h:
28588        * dom/TouchList.h:
28589        * dom/ios/TouchEvents.cpp:
28590
285912014-01-11  Anders Carlsson  <andersca@apple.com>
28592
28593        ScriptDebugServer should use a separate member function for its timer handler
28594        https://bugs.webkit.org/show_bug.cgi?id=126819
28595
28596        Reviewed by Sam Weinig.
28597
28598        It's weird to have subclasses override a timer handler and sometimes invoke 
28599        the timer handler directly so make it a separate member function instead.
28600
28601        * bindings/js/PageScriptDebugServer.cpp:
28602        (WebCore::PageScriptDebugServer::recompileAllJSFunctions):
28603        * bindings/js/PageScriptDebugServer.h:
28604        * bindings/js/ScriptDebugServer.cpp:
28605        (WebCore::ScriptDebugServer::ScriptDebugServer):
28606        (WebCore::ScriptDebugServer::recompileAllJSFunctionsTimerFired):
28607        * bindings/js/ScriptDebugServer.h:
28608        * bindings/js/WorkerScriptDebugServer.cpp:
28609        (WebCore::WorkerScriptDebugServer::addListener):
28610        (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
28611        * bindings/js/WorkerScriptDebugServer.h:
28612        * inspector/InspectorProfilerAgent.cpp:
28613        (WebCore::InspectorProfilerAgent::start):
28614
286152014-01-11  Anders Carlsson  <andersca@apple.com>
28616
28617        Simplify Timer and DeferrableOneShotTimer using std::function
28618        https://bugs.webkit.org/show_bug.cgi?id=126816
28619
28620        Reviewed by Sam Weinig.
28621
28622        * platform/Timer.h:
28623        (WebCore::Timer::Timer):
28624
286252014-01-11  Anders Carlsson  <andersca@apple.com>
28626
28627        CTTE Timer and DeferrableOneShotTimer
28628        https://bugs.webkit.org/show_bug.cgi?id=126814
28629
28630        Reviewed by Antti Koivisto.
28631
28632        Add new Timer and DeferrableOneShotTimer constructors whose member function pointers
28633        take a reference instead of a pointer.
28634        Also, convert a bunch of classes over to using these new constructors.
28635
28636        * Modules/encryptedmedia/MediaKeySession.cpp:
28637        (WebCore::MediaKeySession::keyRequestTimerFired):
28638        (WebCore::MediaKeySession::addKeyTimerFired):
28639        * Modules/encryptedmedia/MediaKeySession.h:
28640        * Modules/geolocation/Geolocation.cpp:
28641        (WebCore::Geolocation::GeoNotifier::timerFired):
28642        (WebCore::Geolocation::resumeTimerFired):
28643        * Modules/geolocation/Geolocation.h:
28644        * Modules/indexeddb/IDBTransactionBackend.cpp:
28645        (WebCore::IDBTransactionBackend::taskTimerFired):
28646        * Modules/indexeddb/IDBTransactionBackend.h:
28647        * Modules/mediasource/SourceBuffer.cpp:
28648        (WebCore::SourceBuffer::appendBufferTimerFired):
28649        * Modules/mediasource/SourceBuffer.h:
28650        * Modules/notifications/Notification.cpp:
28651        (WebCore::Notification::taskTimerFired):
28652        * Modules/notifications/Notification.h:
28653        * Modules/notifications/NotificationCenter.cpp:
28654        (WebCore::NotificationCenter::NotificationRequestCallback::timerFired):
28655        * Modules/notifications/NotificationCenter.h:
28656        * accessibility/AXObjectCache.cpp:
28657        (WebCore::AXObjectCache::notificationPostTimerFired):
28658        * accessibility/AXObjectCache.h:
28659        * css/CSSFontSelector.cpp:
28660        (WebCore::CSSFontSelector::beginLoadTimerFired):
28661        * css/CSSFontSelector.h:
28662        * css/CSSImageGeneratorValue.cpp:
28663        (WebCore::CSSImageGeneratorValue::CachedGeneratedImage::evictionTimerFired):
28664        * css/CSSImageGeneratorValue.h:
28665        * dom/Document.cpp:
28666        (WebCore::Document::visualUpdatesSuppressionTimerFired):
28667        (WebCore::Document::styleRecalcTimerFired):
28668        (WebCore::Document::optimizedStyleSheetUpdateTimerFired):
28669        (WebCore::Document::sharedObjectPoolClearTimerFired):
28670        (WebCore::Document::styleResolverThrowawayTimerFired):
28671        (WebCore::Document::updateFocusAppearanceTimerFired):
28672        (WebCore::Document::resetHiddenFocusElementTimer):
28673        (WebCore::Document::pendingTasksTimerFired):
28674        (WebCore::Document::fullScreenChangeDelayTimerFired):
28675        (WebCore::Document::loadEventDelayTimerFired):
28676        (WebCore::Document::didAssociateFormControlsTimerFired):
28677        * dom/Document.h:
28678        * dom/EventSender.h:
28679        (WebCore::EventSender::timerFired):
28680        * dom/GenericEventQueue.cpp:
28681        (WebCore::GenericEventQueue::timerFired):
28682        * dom/GenericEventQueue.h:
28683        * dom/ScriptRunner.cpp:
28684        (WebCore::ScriptRunner::timerFired):
28685        * dom/ScriptRunner.h:
28686        * dom/ScriptedAnimationController.cpp:
28687        (WebCore::ScriptedAnimationController::animationTimerFired):
28688        * dom/ScriptedAnimationController.h:
28689        * editing/AlternativeTextController.cpp:
28690        (WebCore::AlternativeTextController::timerFired):
28691        * editing/AlternativeTextController.h:
28692        * editing/FrameSelection.cpp:
28693        (WebCore::FrameSelection::caretBlinkTimerFired):
28694        * editing/FrameSelection.h:
28695        * html/HTMLMediaElement.cpp:
28696        (WebCore::HTMLMediaElement::parseAttribute):
28697        * html/HTMLMediaElement.h:
28698        * html/HTMLPlugInElement.cpp:
28699        (WebCore::HTMLPlugInElement::swapRendererTimerFired):
28700        * html/HTMLPlugInElement.h:
28701        * html/HTMLPlugInImageElement.cpp:
28702        (WebCore::HTMLPlugInImageElement::removeSnapshotTimerFired):
28703        (WebCore::HTMLPlugInImageElement::simulatedMouseClickTimerFired):
28704        * html/HTMLPlugInImageElement.h:
28705        * html/HTMLSourceElement.cpp:
28706        (WebCore::HTMLSourceElement::errorEventTimerFired):
28707        * html/HTMLSourceElement.h:
28708        * html/HTMLTrackElement.cpp:
28709        (WebCore::HTMLTrackElement::loadTimerFired):
28710        * html/HTMLTrackElement.h:
28711        * html/MediaController.cpp:
28712        (MediaController::asyncEventTimerFired):
28713        (MediaController::clearPositionTimerFired):
28714        (MediaController::timeupdateTimerFired):
28715        * html/MediaController.h:
28716        * html/MediaDocument.cpp:
28717        (WebCore::MediaDocument::replaceMediaElementTimerFired):
28718        * html/MediaDocument.h:
28719        * html/parser/HTMLParserScheduler.cpp:
28720        (WebCore::HTMLParserScheduler::continueNextChunkTimerFired):
28721        * html/parser/HTMLParserScheduler.h:
28722        * html/shadow/MediaControlElementTypes.cpp:
28723        (WebCore::MediaControlSeekButtonElement::seekTimerFired):
28724        * html/shadow/MediaControlElementTypes.h:
28725        * html/shadow/MediaControlElements.cpp:
28726        (WebCore::MediaControlPanelElement::transitionTimerFired):
28727        (WebCore::MediaControlTextTrackContainerElement::updateTimerFired):
28728        * html/shadow/MediaControlElements.h:
28729        * html/shadow/MediaControls.cpp:
28730        (WebCore::MediaControls::hideFullscreenControlsTimerFired):
28731        * html/shadow/MediaControls.h:
28732        * html/track/LoadableTextTrack.cpp:
28733        (WebCore::LoadableTextTrack::loadTimerFired):
28734        * html/track/LoadableTextTrack.h:
28735        * inspector/InspectorCSSAgent.cpp:
28736        (WebCore::UpdateRegionLayoutTask::UpdateRegionLayoutTask):
28737        (WebCore::UpdateRegionLayoutTask::timerFired):
28738        (WebCore::ChangeRegionOversetTask::ChangeRegionOversetTask):
28739        (WebCore::ChangeRegionOversetTask::timerFired):
28740        * inspector/InspectorDOMAgent.cpp:
28741        (WebCore::RevalidateStyleAttributeTask::RevalidateStyleAttributeTask):
28742        (WebCore::RevalidateStyleAttributeTask::timerFired):
28743        * inspector/InspectorFrontendClientLocal.cpp:
28744        (WebCore::InspectorBackendDispatchTask::InspectorBackendDispatchTask):
28745        (WebCore::InspectorBackendDispatchTask::timerFired):
28746        * loader/DocumentLoader.cpp:
28747        (WebCore::DocumentLoader::substituteResourceDeliveryTimerFired):
28748        * loader/DocumentLoader.h:
28749        * loader/FrameLoader.cpp:
28750        (WebCore::FrameLoader::checkTimerFired):
28751        * loader/FrameLoader.h:
28752        * loader/ImageLoader.cpp:
28753        (WebCore::ImageLoader::timerFired):
28754        * loader/ImageLoader.h:
28755        * loader/LinkLoader.cpp:
28756        (WebCore::LinkLoader::linkLoadTimerFired):
28757        (WebCore::LinkLoader::linkLoadingErrorTimerFired):
28758        * loader/LinkLoader.h:
28759        * loader/NavigationScheduler.cpp:
28760        (WebCore::NavigationScheduler::timerFired):
28761        * loader/NavigationScheduler.h:
28762        * loader/PingLoader.cpp:
28763        (WebCore::PingLoader::PingLoader):
28764        * loader/PingLoader.h:
28765        (WebCore::PingLoader::timeoutTimerFired):
28766        * loader/ProgressTracker.cpp:
28767        (WebCore::ProgressTracker::progressHeartbeatTimerFired):
28768        * loader/ProgressTracker.h:
28769        * loader/ResourceLoadScheduler.cpp:
28770        (WebCore::ResourceLoadScheduler::requestTimerFired):
28771        * loader/ResourceLoadScheduler.h:
28772        * loader/cache/CachedResource.cpp:
28773        (WebCore::CachedResource::decodedDataDeletionTimerFired):
28774        (WebCore::CachedResource::CachedResourceCallback::timerFired):
28775        * loader/cache/CachedResource.h:
28776        * loader/cache/CachedResourceLoader.cpp:
28777        (WebCore::CachedResourceLoader::garbageCollectDocumentResourcesTimerFired):
28778        * loader/cache/CachedResourceLoader.h:
28779        * loader/icon/IconDatabase.cpp:
28780        (WebCore::IconDatabase::syncTimerFired):
28781        * loader/icon/IconDatabase.h:
28782        * page/AutoscrollController.cpp:
28783        (WebCore::AutoscrollController::autoscrollTimerFired):
28784        * page/AutoscrollController.h:
28785        * page/CaptionUserPreferences.cpp:
28786        (WebCore::CaptionUserPreferences::timerFired):
28787        * page/CaptionUserPreferences.h:
28788        * page/DeviceController.cpp:
28789        (WebCore::DeviceController::fireDeviceEvent):
28790        * page/DeviceController.h:
28791        * page/EventHandler.cpp:
28792        (WebCore::EventHandler::cursorUpdateTimerFired):
28793        (WebCore::EventHandler::autoHideCursorTimerFired):
28794        (WebCore::EventHandler::fakeMouseMoveEventTimerFired):
28795        (WebCore::EventHandler::hoverTimerFired):
28796        * page/EventHandler.h:
28797        * page/EventSource.cpp:
28798        (WebCore::EventSource::connectTimerFired):
28799        * page/EventSource.h:
28800        * page/FrameView.cpp:
28801        (WebCore::FrameView::deferredRepaintTimerFired):
28802        (WebCore::FrameView::layoutTimerFired):
28803        (WebCore::FrameView::postLayoutTimerFired):
28804        * page/FrameView.h:
28805        * page/PageThrottler.cpp:
28806        (WebCore::PageThrottler::throttleHysteresisTimerFired):
28807        * page/PageThrottler.h:
28808        * page/animation/AnimationController.cpp:
28809        (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
28810        (WebCore::AnimationControllerPrivate::animationTimerFired):
28811        * page/animation/AnimationControllerPrivate.h:
28812        * platform/Scrollbar.cpp:
28813        (WebCore::Scrollbar::autoscrollTimerFired):
28814        * platform/Scrollbar.h:
28815        * platform/Timer.h:
28816        (WebCore::Timer::Timer):
28817        (WebCore::DeferrableOneShotTimer::DeferrableOneShotTimer):
28818        * platform/graphics/BitmapImage.cpp:
28819        (WebCore::BitmapImage::advanceAnimation):
28820        * platform/graphics/BitmapImage.h:
28821        * platform/graphics/MediaPlayer.cpp:
28822        (WebCore::MediaPlayer::reloadTimerFired):
28823        * platform/graphics/MediaPlayer.h:
28824        * platform/graphics/ca/mac/LayerPool.h:
28825        * platform/graphics/ca/mac/LayerPool.mm:
28826        (WebCore::LayerPool::pruneTimerFired):
28827        * platform/graphics/cg/ImageBufferBackingStoreCache.cpp:
28828        (WebCore::ImageBufferBackingStoreCache::timerFired):
28829        * platform/graphics/cg/ImageBufferBackingStoreCache.h:
28830        * platform/graphics/cg/SubimageCacheWithTimer.cpp:
28831        (WebCore::SubimageCacheWithTimer::invalidateCacheTimerFired):
28832        * platform/graphics/cg/SubimageCacheWithTimer.h:
28833        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
28834        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
28835        (WebCore::MediaPlayerPrivateQTKit::seekTimerFired):
28836        * platform/mac/ScrollAnimatorMac.h:
28837        * platform/mac/ScrollAnimatorMac.mm:
28838        (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
28839        (WebCore::ScrollAnimatorMac::initialScrollbarPaintTimerFired):
28840        (WebCore::ScrollAnimatorMac::sendContentAreaScrolledTimerFired):
28841        * platform/mock/DeviceOrientationClientMock.cpp:
28842        (WebCore::DeviceOrientationClientMock::timerFired):
28843        * platform/mock/DeviceOrientationClientMock.h:
28844        * platform/network/NetworkStateNotifier.h:
28845        * platform/network/ResourceHandle.cpp:
28846        (WebCore::ResourceHandle::failureTimerFired):
28847        * platform/network/ResourceHandle.h:
28848        * platform/network/ResourceHandleInternal.h:
28849        (WebCore::ResourceHandleInternal::ResourceHandleInternal):
28850        * platform/network/mac/NetworkStateNotifierMac.cpp:
28851        (WebCore::NetworkStateNotifier::networkStateChangeTimerFired):
28852        * rendering/ImageQualityController.cpp:
28853        (WebCore::ImageQualityController::highQualityRepaintTimerFired):
28854        * rendering/ImageQualityController.h:
28855        * rendering/RenderButton.cpp:
28856        (WebCore::RenderButton::timerFired):
28857        * rendering/RenderButton.h:
28858        * rendering/RenderLayerCompositor.cpp:
28859        (WebCore::RenderLayerCompositor::updateCompositingLayersTimerFired):
28860        (WebCore::RenderLayerCompositor::layerFlushTimerFired):
28861        (WebCore::RenderLayerCompositor::paintRelatedMilestonesTimerFired):
28862        * rendering/RenderLayerCompositor.h:
28863        * rendering/RenderMarquee.cpp:
28864        (WebCore::RenderMarquee::timerFired):
28865        * rendering/RenderMarquee.h:
28866        * rendering/RenderNamedFlowThread.cpp:
28867        (WebCore::RenderNamedFlowThread::regionLayoutUpdateEventTimerFired):
28868        (WebCore::RenderNamedFlowThread::regionOversetChangeEventTimerFired):
28869        * rendering/RenderNamedFlowThread.h:
28870        * rendering/RenderProgress.cpp:
28871        (WebCore::RenderProgress::animationTimerFired):
28872        * rendering/RenderProgress.h:
28873
288742014-01-11  Simon Fraser  <simon.fraser@apple.com>
28875
28876        #ifdef out the contents of Touch* files for iOS.
28877        
28878        * dom/Touch.h:
28879        * dom/TouchEvent.h:
28880        * dom/TouchList.h:
28881
288822014-01-11  Simon Fraser  <simon.fraser@apple.com>
28883
28884        No need to include <ApplicationServices/ApplicationServices.h> in
28885        the header. Can use <CoreGraphics/CoreGraphics.h> in the .cpp file.
28886
28887        * platform/graphics/cg/ImageBufferBackingStoreCache.cpp:
28888        * platform/graphics/cg/ImageBufferBackingStoreCache.h:
28889
288902014-01-11  Simon Fraser  <simon.fraser@apple.com>
28891
28892        Fix DOM headers: TARGET_OS_EMBEDDED -> TARGET_OS_IPHONE
28893        and a drive-by cleanup of DOMUIKitExtensions.mm #includes.
28894
28895        * bindings/objc/DOMPrivate.h:
28896        * bindings/objc/DOMUIKitExtensions.h:
28897        * bindings/objc/DOMUIKitExtensions.mm:
28898
288992014-01-11  Simon Fraser  <simon.fraser@apple.com>
28900
28901        Fix use of GL_HALF_FLOAT_ARB on iOS.
28902
28903        * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
28904        (WebCore::GraphicsContext3D::texSubImage2D):
28905
289062014-01-11  Simon Fraser  <simon.fraser@apple.com>
28907
28908        Fix build of SourceBufferPrivateAVFObjC.mm on iOS.
28909
28910        * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
28911
289122014-01-11  Simon Fraser  <simon.fraser@apple.com>
28913
28914        Fix use of nonexistent kCGColorSpaceSRGB on iOS.
28915
28916        * platform/graphics/cg/GraphicsContextCG.cpp:
28917        (WebCore::sRGBColorSpaceRef):
28918
289192014-01-11  Joseph Pecoraro  <pecoraro@apple.com>
28920
28921        Web Inspector: Some ScriptDebugServer Cleanup
28922        https://bugs.webkit.org/show_bug.cgi?id=126793
28923
28924        Reviewed by Timothy Hatcher.
28925
28926        * bindings/js/PageScriptDebugServer.cpp:
28927        (WebCore::PageScriptDebugServer::didContinue):
28928        (WebCore::PageScriptDebugServer::runEventLoopWhilePaused):
28929        Move the special iOS WebThread EventLoop nesting handling here.
28930
28931        * bindings/js/ScriptDebugServer.cpp:
28932        (WebCore::ScriptDebugServer::ScriptDebugServer):
28933        (WebCore::ScriptDebugServer::handlePause):
28934        * bindings/js/ScriptDebugServer.h:
28935        * inspector/InspectorDebuggerAgent.cpp:
28936        * inspector/InspectorDebuggerAgent.h:
28937        Remove unused headers and functions.
28938
289392014-01-11  David Kilzer  <ddkilzer@apple.com>
28940
28941        [iOS] Add USE(IOSURFACE_CANVAS_BACKING_STORE) to fix build
28942
28943        * platform/graphics/cg/ImageBufferCG.cpp:
28944        (WebCore::ImageBuffer::ImageBuffer): The 'width' and 'height'
28945        variables are only used by code protected by
28946        USE(IOSURFACE_CANVAS_BACKING_STORE).
28947
289482014-01-11  David Kilzer  <ddkilzer@apple.com>
28949
28950        [iOS] Multisampling is not available on iOS
28951
28952        * platform/graphics/mac/GraphicsContext3DMac.mm:
28953        (WebCore::GraphicsContext3D::GraphicsContext3D):
28954
289552014-01-10  David Kilzer  <ddkilzer@apple.com>
28956
28957        [iOS] Fix build for HTMLImageElement::willRespondToMouseClickEvents()
28958
28959        * html/HTMLImageElement.cpp:
28960        (WebCore::HTMLImageElement::willRespondToMouseClickEvents):
28961
289622014-01-10  Anders Carlsson  <andersca@apple.com>
28963
28964        Fix test crashes.
28965        
28966        * loader/ProgressTracker.cpp:
28967        (WebCore::ProgressTracker::~ProgressTracker):
28968        Comment out the call to progressTrackerDestroyed for now.
28969
289702014-01-10  David Kilzer  <ddkilzer@apple.com>
28971
28972        [iOS] Fix build for RenderEmbeddedObject::canHaveChildren()
28973
28974        * rendering/RenderEmbeddedObject.cpp:
28975        (WebCore::RenderEmbeddedObject::canHaveChildren):
28976
289772014-01-10  Anders Carlsson  <andersca@apple.com>
28978
28979        Tweak ProgressTrackerClient functions
28980        https://bugs.webkit.org/show_bug.cgi?id=126808
28981
28982        Reviewed by Sam Weinig.
28983
28984        Rename the three progress state related member functions since it's up to the various
28985        WebKit implementations to decide what to do - not everyone wants to post a notification.
28986        Also add an originating progress frame parameter since WebKit2 doesn't report progress for
28987        subframe navigation and we need to be able to keep track of that.
28988        
28989        Finally, tweak ProgressTracker::completeProgress to get rid of an unnecessary hash lookup.
28990
28991        * loader/EmptyClients.h:
28992        * loader/ProgressTracker.cpp:
28993        (WebCore::ProgressItem::ProgressItem):
28994        (WebCore::ProgressTracker::progressStarted):
28995        (WebCore::ProgressTracker::finalProgressComplete):
28996        (WebCore::ProgressTracker::incrementProgress):
28997        (WebCore::ProgressTracker::completeProgress):
28998        * loader/ProgressTrackerClient.h:
28999
290002014-01-10  David Kilzer  <ddkilzer@apple.com>
29001
29002        [iOS] Fix COMPILE_ASSERT by updating struct SameSizeAsStyleRareInheritedData
29003
29004        * rendering/style/StyleRareInheritedData.cpp:
29005
290062014-01-10  David Kilzer  <ddkilzer@apple.com>
29007
29008        [iOS] Fix build of SubframeLoader.cpp
29009
29010        * loader/SubframeLoader.cpp:
29011        (WebCore::SubframeLoader::loadMediaPlayerProxyPlugin):
29012        (WebCore::SubframeLoader::loadPlugin):
29013        * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
29014
290152014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
29016
29017        Fix Mac after r161747. One part of that is iOS specific.
29018
29019        Unreviewed build fix.
29020
29021        * bindings/js/GCController.cpp:
29022        (WebCore::GCController::releaseExecutableMemory):
29023
290242014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
29025
29026        [iOS] Fix GCController::releaseExecutableMemory
29027        https://bugs.webkit.org/show_bug.cgi?id=126805
29028
29029        Reviewed by Sam Weinig and Mark Lam.
29030
29031        VM::dynamicGlobalObject has since been replaced by VMEntryScope.
29032        Update to check entryScope instead of the dynamicGlobalObject.
29033        Also, make this non-iOS only.
29034
29035        * bindings/js/GCController.h:
29036        * bindings/js/GCController.cpp:
29037        (WebCore::GCController::releaseExecutableMemory):
29038
290392014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
29040
29041        Fix HTMLMediaElement.o for iOS. Unreviewed build fix.
29042
29043        There is now local variable mediaElement. Just call the
29044        functions since they are methods on this class.
29045
29046        Fix RequireUserGestureToShowPlaybackTargetPickerRestriction typos.
29047
29048        * html/HTMLMediaElement.cpp:
29049        (WebCore::HTMLMediaElement::parseAttribute):
29050
290512014-01-10  Anders Carlsson  <andersca@apple.com>
29052
29053        Move progress tracking functions from FrameLoaderClient to a new ProgressTrackerClient
29054        https://bugs.webkit.org/show_bug.cgi?id=126801
29055
29056        Reviewed by Sam Weinig.
29057
29058        * GNUmakefile.list.am:
29059        * WebCore.vcxproj/WebCore.vcxproj:
29060        * WebCore.vcxproj/WebCore.vcxproj.filters:
29061        * WebCore.xcodeproj/project.pbxproj:
29062        * loader/EmptyClients.cpp:
29063        (WebCore::fillWithEmptyClients):
29064        * loader/EmptyClients.h:
29065        * loader/FrameLoaderClient.h:
29066        * loader/ProgressTracker.cpp:
29067        (WebCore::ProgressTracker::ProgressTracker):
29068        (WebCore::ProgressTracker::~ProgressTracker):
29069        (WebCore::ProgressTracker::progressStarted):
29070        (WebCore::ProgressTracker::progressCompleted):
29071        (WebCore::ProgressTracker::finalProgressComplete):
29072        (WebCore::ProgressTracker::incrementProgress):
29073        * loader/ProgressTracker.h:
29074        * loader/ProgressTrackerClient.h: Added.
29075        (WebCore::ProgressTrackerClient::~ProgressTrackerClient):
29076        (WebCore::ProgressTrackerClient::progressTrackerDestroyed):
29077        (WebCore::ProgressTrackerClient::willChangeEstimatedProgress):
29078        (WebCore::ProgressTrackerClient::didChangeEstimatedProgress):
29079        * page/Page.cpp:
29080        (WebCore::Page::Page):
29081        (WebCore::Page::PageClients::PageClients):
29082        * page/Page.h:
29083
290842014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
29085
29086        Fix RenderObject.o for iOS. Unreviewed build fix.
29087
29088        r156285 renamed firstChild() to firstChildSlow(), so update
29089        occurances in IOS_TEXT_AUTOSIZING code. Also account for a
29090        RenderObject::style reference / pointer change.
29091
29092        * rendering/RenderObject.cpp:
29093        (WebCore::RenderObject::traverseNext):
29094        (WebCore::includeNonFixedHeight):
29095
290962014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
29097
29098        Fix MediaPlayerPrivateMediaSourceAVFObjC.o for iOS. Unreviewed build fix.
29099
29100        Import CALayer, which Mac must have been getting some other way.
29101
29102        * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
29103
291042014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
29105
29106        Fix TileGrid.o for iOS. Unreviewed build fix.
29107
29108        Explicitly use namespace std in std::pair.
29109
29110        * platform/ios/TileGrid.mm:
29111        (WebCore::isFartherAway):
29112        (WebCore::TileGrid::dropDistantTiles):
29113
291142014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
29115
29116        Fix RenderImage.o for iOS. Unreviewed build fix.
29117
29118        inlineBoxWrapper() returns an InlineElementBox type, which is an InlineBox but
29119        without including InlineElementBox.h, iOS didn't know what an InlineElementBox was!
29120
29121        * rendering/RenderImage.cpp:
29122
291232014-01-10  David Kilzer  <ddkilzer@apple.com>
29124
29125        [iOS] Fix macros in Scrollbar::supportsUpdateOnSecondaryThread()
29126
29127        Fixes the following build error:
29128
29129            WebCore/platform/Scrollbar.cpp:552:22: error: '__MAC_OS_X_VERSION_MIN_REQUIRED' is not defined, evaluates to 0 [-Werror,-Wundef]
29130            #if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101000 && ENABLE(ASYNC_SCROLLING)
29131                                 ^
29132
29133        * platform/Scrollbar.cpp:
29134        (WebCore::Scrollbar::supportsUpdateOnSecondaryThread):
29135
291362014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
29137
29138        Fix RenderFileUploadControl.o for iOS. Unreviewed build fix.
29139
29140        WebCore::theme() returns a reference now, not a pointer.
29141
29142        * rendering/RenderFileUploadControl.cpp:
29143        (WebCore::RenderFileUploadControl::paintObject):
29144
291452014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
29146
29147        Fix HTMLPlugInImageElement.o for iOS. Unreviewed build fix.
29148
29149        Forgot to upstream YouTubeEmbedShadowElement.*. Do so and
29150        add the files to the Xcode project so they build.
29151
29152        * WebCore.xcodeproj/project.pbxproj:
29153        * html/shadow/YouTubeEmbedShadowElement.cpp: Added.
29154        (WebCore::YouTubeEmbedShadowElement::create):
29155        (WebCore::YouTubeEmbedShadowElement::YouTubeEmbedShadowElement):
29156        (WebCore::YouTubeEmbedShadowElement::pluginElement):
29157        (WebCore::YouTubeEmbedShadowElement::shadowPseudoId):
29158        * html/shadow/YouTubeEmbedShadowElement.h: Added.
29159
291602014-01-10  David Kilzer  <ddkilzer@apple.com>
29161
29162        [iOS] Update EditorIOS.mm to switch from pointers to references
29163
29164        * editing/ios/EditorIOS.mm:
29165        (WebCore::Editor::setTextAlignmentForChangedBaseWritingDirection):
29166        (WebCore::Editor::insertParagraphSeparatorInQuotedContent):
29167        (WebCore::styleForSelectionStart):
29168        (WebCore::Editor::selectionInWebArchiveFormat):
29169        (WebCore::Editor::writeImageToPasteboard):
29170        (WebCore::Editor::WebContentReader::readWebArchive):
29171        (WebCore::Editor::WebContentReader::readRTFD):
29172        (WebCore::Editor::WebContentReader::readRTF):
29173        (WebCore::uniqueURLWithRelativePart):
29174        (WebCore::Editor::WebContentReader::readPlainText):
29175        (WebCore::Editor::webContentFromPasteboard):
29176        (WebCore::Editor::createFragmentAndAddResources):
29177        (WebCore::Editor::createFragmentForImageResourceAndAddResource):
29178
291792014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
29180
29181        Web Inspector: Push InspectorAgent down into JSC, give JSC an InspectorController
29182        https://bugs.webkit.org/show_bug.cgi?id=126763
29183
29184        Reviewed by Timothy Hatcher.
29185
29186        No new tests, no observable change in functionality.
29187
29188        * CMakeLists.txt:
29189        * ForwardingHeaders/inspector/agent/InspectorAgent.h: Added.
29190        * GNUmakefile.list.am:
29191        * WebCore.vcxproj/WebCore.vcxproj:
29192        * WebCore.vcxproj/WebCore.vcxproj.filters:
29193        * WebCore.xcodeproj/project.pbxproj:
29194        * inspector/InspectorAllInOne.cpp:
29195        InspectorAgent moved to JavaScriptCore. Include forwarding header.
29196
29197        * inspector/PageConsoleAgent.cpp:
29198        (WebCore::PageConsoleAgent::PageConsoleAgent):
29199        (WebCore::PageConsoleAgent::~PageConsoleAgent):
29200        * inspector/PageConsoleAgent.h:
29201        (WebCore::PageConsoleAgent::create):
29202        * inspector/InspectorApplicationCacheAgent.cpp:
29203        * inspector/InspectorApplicationCacheAgent.h:
29204        InspectorAgent was not used by these files, remove it.
29205
29206        * inspector/CommandLineAPIHost.cpp:
29207        * inspector/CommandLineAPIHost.h:
29208        (WebCore::CommandLineAPIHost::init):
29209        * inspector/InspectorInstrumentation.cpp:
29210        * inspector/InstrumentingAgents.h:
29211        (WebCore::InstrumentingAgents::inspectorAgent):
29212        (WebCore::InstrumentingAgents::setInspectorAgent):
29213        Switch to Inspector::InspectorAgent where applicable.
29214
29215        * inspector/InspectorController.cpp:
29216        (WebCore::InspectorController::InspectorController):
29217        * inspector/InspectorController.h:
29218        Manually add InspectorAgent to the InstrumentingAgents. It is one
29219        of the agents that is always available in InstrumentingAgents.
29220
292212014-01-10  Simon Fraser  <simon.fraser@apple.com>
29222
29223       Add TextAutoSizing.* for iOS, and fix DeviceOrientationController creation.
29224
29225        * WebCore.xcodeproj/project.pbxproj:
29226        * dom/Document.cpp:
29227        (WebCore::Document::Document):
29228        * rendering/TextAutoSizing.cpp: Added.
29229        (WebCore::cloneRenderStyleWithState):
29230        (WebCore::TextAutoSizingKey::TextAutoSizingKey):
29231        (WebCore::TextAutoSizingKey::~TextAutoSizingKey):
29232        (WebCore::TextAutoSizingKey::operator=):
29233        (WebCore::TextAutoSizingKey::ref):
29234        (WebCore::TextAutoSizingKey::deref):
29235        (WebCore::TextAutoSizingValue::numNodes):
29236        (WebCore::TextAutoSizingValue::addNode):
29237        (WebCore::TextAutoSizingValue::adjustNodeSizes):
29238        (WebCore::TextAutoSizingValue::reset):
29239        * rendering/TextAutoSizing.h: Added.
29240        (WebCore::TextAutoSizingKey::doc):
29241        (WebCore::TextAutoSizingKey::style):
29242        (WebCore::TextAutoSizingKey::isValidDoc):
29243        (WebCore::TextAutoSizingKey::isValidStyle):
29244        (WebCore::TextAutoSizingKey::deletedKeyDoc):
29245        (WebCore::TextAutoSizingKey::deletedKeyStyle):
29246        (WebCore::operator==):
29247        (WebCore::TextAutoSizingHash::hash):
29248        (WebCore::TextAutoSizingHash::equal):
29249        (WebCore::TextAutoSizingValue::create):
29250        (WebCore::TextAutoSizingValue::TextAutoSizingValue):
29251
292522014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
29253
29254        Fix GraphicsLayerCA.o for iOS. Unreviewed build fix.
29255
29256        Use of systemMemoryLevel was missing include of SystemMemory.h.
29257
29258        * platform/graphics/ca/GraphicsLayerCA.cpp:
29259
292602014-01-10  Simon Fraser  <simon.fraser@apple.com>
29261
29262        Fix iOS build.
29263
29264        * bindings/objc/DOM.mm:
29265        (-[DOMRange renderedImageForcingBlackText:renderedImageForcingBlackText:]):
29266        * bindings/objc/DOMExtensions.h:
29267        * platform/DragImage.h:
29268
292692014-01-10  Simon Fraser  <simon.fraser@apple.com>
29270
29271        Fix iOS build.
29272        
29273        Generated DOMTouch* and DOMGesture* files need to be in the project.
29274        Exclude them on Mac via EXCLUDED_SOURCE_FILE_NAMES_macosx.
29275        
29276        Use TARGET_OS_IPHONE instead of TARGET_OS_EMBEDDED in DOMPrivate.h
29277
29278        * Configurations/WebCore.xcconfig:
29279        * WebCore.xcodeproj/project.pbxproj:
29280        * bindings/objc/DOMPrivate.h:
29281
292822014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
29283
29284        Fix RenderThemeIOS.o for iOS. Unreviewed build fix.
29285
29286        Typo referring to generated name. Should be "iOS" not "IOS".
29287
29288        * rendering/RenderThemeIOS.mm:
29289        (WebCore::RenderThemeIOS::mediaControlsScript):
29290
292912014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
29292
29293        Fix WebAccessibilityObjectWrapperIOS.o for iOS. Unreviewed build fix.
29294
29295        The upstreamed WebAccessibilityObjectWrapperIOS.mm was out of date, e.g.
29296        it was using GSFonts. Just upstream a newer version of the file. Also
29297        explicitly namespace qualify std::pair.
29298
29299        * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
29300        (AXAttributeStringSetStyle):
29301
293022014-01-10  Jinwoo Song  <jinwoo7.song@samsung.com>
29303
29304        Remove willRespondToTouchEvents() which was used by chromium port
29305        https://bugs.webkit.org/show_bug.cgi?id=126739
29306
29307        Reviewed by Alexey Proskuryakov.
29308
29309        willRespondToTouchEvents() was added to check if a node listens to touch events in r126945.
29310        However, it is not used anywhere after chromium port is removed.
29311
29312        * dom/Node.cpp:
29313        * dom/Node.h:
29314
293152014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
29316
29317        Fix SystemVersionMac.o for iOS. Unreviewed build fix.
29318
29319        Add missing expected function. Maybe we can avoid including
29320        this file entirely on iOS, there was already a FIXME.
29321
29322        * platform/mac/SystemVersionMac.mm:
29323        (WebCore::systemMarketingVersion):
29324
293252014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
29326
29327        Fix JSDOMWindowBase.o for iOS. Unreviewed build fix.
29328
29329        Add missing iOS method declarations.
29330
29331        * bindings/js/JSDOMWindowBase.h:
29332
293332014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
29334
29335        Fix InputType.o for iOS. Unreviewed build fix.
29336
29337        The RuntimeEnabledFeatures function pointer type should have a
29338        const qualifier, because the implementations are all const.
29339
29340        * html/InputType.cpp:
29341
293422014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
29343
29344        Fix MediaPlayerPrivateIOS.o for iOS. Unreviewed build fix.
29345
29346        Add missing MediaPlayerProxy Objective C methods and forward declarations.
29347
29348        * platform/graphics/mac/MediaPlayerProxy.h:
29349
293502014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
29351
29352        Fix FrameSelection.o for iOS. Unreviewed build fix.
29353
29354        r160966 renamed rendererIsEditable to hasEditableStyle.
29355
29356        * editing/FrameSelection.cpp:
29357        (WebCore::FrameSelection::setSelectionFromNone):
29358
293592014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
29360
29361        Fix DragData.o for iOS. Unreviewed build fix.
29362
29363        String m_pasteboardName is unused on iOS, so ifdef it out.
29364
29365        * platform/DragData.h:
29366
293672014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
29368
29369        Fix FrameIOS.o for iOS. Unreviewed build fix.
29370
29371        Remove stale include to file that no longer exists. It was not needed.
29372
29373        * page/ios/FrameIOS.mm:
29374
293752014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
29376
29377        Fix MonthInputType.o for iOS. Unreviewed build fix.
29378
29379        When ENABLE_INPUT_MULTIPLE_FIELDS_UI was removed in r150876,
29380        the wrong class name lingered. Fix it to be the base class.
29381
29382        * html/TimeInputType.cpp:
29383        (WebCore::TimeInputType::TimeInputType):
29384
293852014-01-10  Andy Estes  <aestes@apple.com>
29386
29387        [iOS] Build fix: make sure WTF_PLATFORM_IOS is defined when preprocessing
29388
29389        * DerivedSources.make:
29390        * bindings/scripts/preprocessor.pm:
29391        (applyPreprocessor):
29392
293932014-01-10  Simon Fraser  <simon.fraser@apple.com>
29394
29395        Use TARGET_OS_IPHONE in this API file, and #if TARGET_OS_MAC
29396        for a non-iOS function.
29397
29398        * bindings/objc/DOMExtensions.h:
29399
294002014-01-10  David Kilzer  <ddkilzer@apple.com>
29401
29402        Clean up architectures in xcconfig files
29403        <http://webkit.org/b/126794>
29404
29405        Reviewed by Andy Estes.
29406
29407        * Configurations/Base.xcconfig:
29408        * Configurations/WebCore.xcconfig: Remove armv6.
29409        * DerivedSources.make: Remove armv6, armv7f. Sort.
29410        - Add new arch.
29411
294122014-01-10  Simon Fraser  <simon.fraser@apple.com>
29413
29414        Fix iOS build
29415
29416        * Configurations/WebCore.xcconfig:
29417        * css/DeprecatedStyleBuilder.cpp:
29418        (WebCore::ApplyPropertyLineHeightForIOSTextAutosizing::applyValue):
29419
294202014-01-10  Simon Fraser  <simon.fraser@apple.com>
29421
29422        Fix iOS build.
29423        
29424        * html/DateTimeLocalInputType.h:
29425        (WebCore::DateTimeLocalInputType::DateTimeLocalInputType):
29426        * loader/ios/DiskImageCacheIOS.h:
29427
294282014-01-10  Simon Fraser  <simon.fraser@apple.com>
29429
29430        iOS build fix: add StyleRareInheritedData::compositionFillColor
29431
29432        * rendering/style/RenderStyle.h:
29433        * rendering/style/StyleRareInheritedData.cpp:
29434        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
29435        (WebCore::StyleRareInheritedData::operator==):
29436        * rendering/style/StyleRareInheritedData.h:
29437
294382014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
29439
29440        Fix MonthInputType.o for iOS. Unreviewed build fix.
29441
29442        When ENABLE_INPUT_MULTIPLE_FIELDS_UI was removed in r150876, the
29443        BaseMonthInputType typedef was removed. However a use of it lingered.
29444        Changing to match the base class name.
29445
29446        * html/MonthInputType.h:
29447        (WebCore::MonthInputType::MonthInputType):
29448
294492014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
29450
29451        Fix RenderButton.o for iOS. Unreviewed build fix.
29452
29453        Missing prototype in header for override of the layout method.
29454
29455        * rendering/RenderButton.h:
29456
294572014-01-10  Simon Fraser  <simon.fraser@apple.com>
29458
29459        A couple of iOS build fixes.
29460
29461        * accessibility/ios/AXObjectCacheIOS.mm:
29462        (WebCore::AXObjectCache::handleFocusedUIElementChanged):
29463        * html/canvas/CanvasRenderingContext2D.cpp:
29464        (WebCore::CanvasRenderingContext2D::drawImage):
29465
294662014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
29467
29468        Fix PlatformScreenIOS.mm for iOS. Unreviewed build fix.
29469
29470        PlatformScreen.h removed screenVerticalDPI and screenHorizontalDPI in r132419,
29471        so remove the stale implementations on iOS. Also, add a notImplemented version
29472        of screenColorProfile, which matches Mac and is unused in WebCore for this port.
29473
29474        * platform/ios/PlatformScreenIOS.mm:
29475        (WebCore::screenColorProfile):
29476
294772014-01-10  Anders Carlsson  <andersca@apple.com>
29478
29479        CTTE FrameTree
29480        https://bugs.webkit.org/show_bug.cgi?id=126795
29481
29482        Reviewed by Tim Horton.
29483
29484        * page/Frame.cpp:
29485        (WebCore::Frame::Frame):
29486        * page/FrameTree.cpp:
29487        (WebCore::FrameTree::transferChild):
29488        (WebCore::FrameTree::appendChild):
29489        (WebCore::FrameTree::actuallyAppendChild):
29490        (WebCore::FrameTree::uniqueChildName):
29491        (WebCore::FrameTree::scopedChild):
29492        (WebCore::FrameTree::scopedChildCount):
29493        (WebCore::FrameTree::child):
29494        (WebCore::FrameTree::find):
29495        (WebCore::FrameTree::isDescendantOf):
29496        (WebCore::FrameTree::traverseNext):
29497        (WebCore::FrameTree::traverseNextWithWrap):
29498        (WebCore::FrameTree::traversePreviousWithWrap):
29499        (WebCore::FrameTree::deepLastChild):
29500        (WebCore::FrameTree::top):
29501        * page/FrameTree.h:
29502        (WebCore::FrameTree::FrameTree):
29503
295042014-01-10  Simon Fraser  <simon.fraser@apple.com>
29505
29506        Fix iOS build.
29507
29508        * loader/ResourceLoader.h:
29509
295102014-01-10  Simon Fraser  <simon.fraser@apple.com>
29511
29512        Fix iOS build.
29513
29514        * platform/graphics/ImageSource.h:
29515        (WebCore::ImageSource::acceleratedImageDecodingEnabled):
29516        (WebCore::ImageSource::setAcceleratedImageDecodingEnabled):
29517
295182014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
29519
29520        Unreviewed EFL build fix after r161678.
29521
29522        static_cast a size_t to unsigned long for %lu format string.
29523
29524        * page/Console.cpp:
29525        (WebCore::internalAddMessage):
29526
295272014-01-10  Benjamin Poulain  <bpoulain@apple.com>
29528
29529        Remove the BlackBerry port from trunk
29530        https://bugs.webkit.org/show_bug.cgi?id=126715
29531
29532        Reviewed by Anders Carlsson.
29533
29534        * html/canvas/WebGLRenderingContext.cpp:
29535        (WebCore::WebGLRenderingContext::readPixels):
29536        * platform/graphics/ImageBuffer.cpp:
29537        * platform/graphics/ImageBufferData.h:
29538        * platform/graphics/IntPoint.h:
29539        * platform/graphics/IntRect.h:
29540        * platform/graphics/IntSize.h:
29541        * platform/graphics/MediaPlayer.cpp:
29542        * platform/graphics/NativeImagePtr.h:
29543        * platform/graphics/OpenGLESShims.h:
29544        * platform/graphics/Path.cpp:
29545        (WebCore::Path::addPathForRoundedRect):
29546        * platform/graphics/Path.h:
29547        * platform/graphics/PlatformLayer.h:
29548        * platform/graphics/filters/CustomFilterValidatedProgram.cpp:
29549        * platform/graphics/filters/CustomFilterValidatedProgram.h:
29550        * platform/graphics/filters/FilterOperation.h:
29551        * platform/graphics/gpu/DrawingBuffer.cpp:
29552        * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
29553        * platform/graphics/opengl/Extensions3DOpenGLES.cpp:
29554        (WebCore::Extensions3DOpenGLES::getGraphicsResetStatusARB):
29555        * platform/graphics/opengl/Extensions3DOpenGLES.h:
29556        * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
29557        (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
29558        (WebCore::GraphicsContext3D::prepareTexture):
29559        (WebCore::GraphicsContext3D::bindFramebuffer):
29560        (WebCore::GraphicsContext3D::compileShader):
29561        (WebCore::GraphicsContext3D::copyTexImage2D):
29562        (WebCore::GraphicsContext3D::copyTexSubImage2D):
29563        * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
29564        (WebCore::GraphicsContext3D::readPixels):
29565        (WebCore::GraphicsContext3D::readPixelsAndConvertToBGRAIfNecessary):
29566        (WebCore::GraphicsContext3D::reshapeFBOs):
29567        * platform/network/NetworkStateNotifier.h:
29568        * platform/network/ResourceHandle.h:
29569        * platform/network/ResourceHandleInternal.h:
29570        * platform/network/ResourceRequestBase.cpp:
29571
295722014-01-10  Simon Fraser  <simon.fraser@apple.com>
29573
29574        Fix CharsetData.cpp build for iOS
29575        https://bugs.webkit.org/show_bug.cgi?id=126792
29576
29577        Reviewed by Mark Rowe.
29578
29579        CharsetData.cpp should have an empty CharsetTable list for iOS.
29580        Achieve this with an iOS-specific encodings.txt file.
29581
29582        * DerivedSources.make:
29583        * WebCore.xcodeproj/project.pbxproj:
29584        * platform/text/mac/ios-encodings.txt: Added.
29585
295862014-01-10  Anders Carlsson  <andersca@apple.com>
29587
29588        CTTE in NavigationScheduler
29589        https://bugs.webkit.org/show_bug.cgi?id=126788
29590
29591        Reviewed by Tim Horton.
29592
29593        * inspector/InspectorInstrumentation.cpp:
29594        (WebCore::InspectorInstrumentation::frameScheduledNavigationImpl):
29595        (WebCore::InspectorInstrumentation::frameClearedScheduledNavigationImpl):
29596        * inspector/InspectorInstrumentation.h:
29597        (WebCore::InspectorInstrumentation::frameScheduledNavigation):
29598        (WebCore::InspectorInstrumentation::frameClearedScheduledNavigation):
29599        * inspector/InspectorPageAgent.cpp:
29600        (WebCore::InspectorPageAgent::frameScheduledNavigation):
29601        (WebCore::InspectorPageAgent::frameClearedScheduledNavigation):
29602        * inspector/InspectorPageAgent.h:
29603        * loader/NavigationScheduler.cpp:
29604        (WebCore::ScheduledNavigation::shouldStartTimer):
29605        (WebCore::ScheduledNavigation::didStartTimer):
29606        (WebCore::ScheduledNavigation::didStopTimer):
29607        (WebCore::NavigationScheduler::NavigationScheduler):
29608        (WebCore::NavigationScheduler::clear):
29609        (WebCore::NavigationScheduler::shouldScheduleNavigation):
29610        (WebCore::NavigationScheduler::scheduleRedirect):
29611        (WebCore::NavigationScheduler::mustLockBackForwardList):
29612        (WebCore::NavigationScheduler::scheduleLocationChange):
29613        (WebCore::NavigationScheduler::scheduleFormSubmission):
29614        (WebCore::NavigationScheduler::scheduleRefresh):
29615        (WebCore::NavigationScheduler::scheduleHistoryNavigation):
29616        (WebCore::NavigationScheduler::timerFired):
29617        (WebCore::NavigationScheduler::schedule):
29618        (WebCore::NavigationScheduler::startTimer):
29619        (WebCore::NavigationScheduler::cancel):
29620        * loader/NavigationScheduler.h:
29621        * page/Frame.cpp:
29622        (WebCore::Frame::Frame):
29623
296242014-01-10  Myles C. Maxfield  <mmaxfield@apple.com>
29625
29626        CSS word-spacing property does not obey percentages
29627        https://bugs.webkit.org/show_bug.cgi?id=126674
29628
29629        Reviewed by Simon Fraser.
29630
29631        One change between CSS2.1 and CSS3 is that the word-spacing CSS property can
29632        take percentages (of the width of the space character) in CSS3. In order to
29633        implement this, the datatype must be changed from a float to a Length, which
29634        can hold percentage values. Then, during layout, we can query the width of
29635        the space character and update the Font's word-spacing value appropriately.
29636        However, the RenderStyle still holds on to the Length (as a rare inherited
29637        value).
29638
29639        Tests: fast/css3-text/css3-word-spacing-percentage/word-spacing-change-font.html
29640               fast/css3-text/css3-word-spacing-percentage/word-spacing-percentage-parse.html
29641               fast/css3-text/css3-word-spacing-percentage/word-spacing-percentage.html
29642
29643        * css/CSSComputedStyleDeclaration.cpp:
29644        (WebCore::ComputedStyleExtractor::propertyValue): Use Font's computed value instead
29645        of style's Length value.
29646        * css/CSSParser.cpp:
29647        (WebCore::CSSParser::parseValue): word-spacing and letter-spacing no longer are
29648        parsed the same way.
29649        * css/DeprecatedStyleBuilder.cpp:
29650        (WebCore::ApplyPropertyWordSpacing::applyValue): Construct a length from a given
29651        CSSValue and set the style's word spacing with it.
29652        (WebCore::ApplyPropertyWordSpacing::createHandler):
29653        (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): Use ApplyPropertyWordSpacing.
29654        * page/animation/CSSPropertyAnimation.cpp:
29655        (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
29656        * rendering/RenderBlockLineLayout.cpp:
29657        (WebCore::setLogicalWidthForTextRun): Use Font's computed value instead
29658        of style's Length value.
29659        * rendering/RenderText.cpp:
29660        (WebCore::RenderText::computePreferredLogicalWidths): Ditto.
29661        * rendering/SimpleLineLayout.cpp:
29662        (WebCore::SimpleLineLayout::canUseFor): Opt-out of the SimpleLineLayout
29663        if either the percentage or the length is nonzero.
29664        * rendering/line/BreakingContextInlineHeaders.h:
29665        (WebCore::BreakingContext::handleText): Use Font's computed value instead
29666        of style's Length value.
29667        * rendering/style/RenderStyle.cpp:
29668        (WebCore::RenderStyle::wordSpacing):
29669        (WebCore::RenderStyle::setWordSpacing): Consult the Font's space with to compute
29670        percentage values, but hold on to the original Length.
29671        * rendering/style/RenderStyle.h:
29672        * rendering/style/StyleRareInheritedData.cpp:
29673        * rendering/style/StyleRareInheritedData.h: Hold on to the specified Length
29674
296752014-01-10  Simon Fraser  <simon.fraser@apple.com>
29676
29677        Fix the iOS build.
29678
29679        * platform/audio/mac/MediaSessionManagerMac.cpp:
29680
296812014-01-10  Simon Fraser  <simon.fraser@apple.com>
29682
29683        iOS doesn't have <OpenGL/gl.h>; fix iOS build.
29684
29685        * platform/graphics/opengl/TemporaryOpenGLSetting.cpp:
29686
296872014-01-10  Andy Estes  <aestes@apple.com>
29688
29689        [iOS] Build Fix: Properly add $SDKROOT/usr/local/include/ to the search path when building PublicDOMInterfaces.h
29690
29691        * bindings/scripts/CodeGeneratorObjC.pm:
29692        (ReadPublicInterfaces):
29693
296942014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
29695
29696        Web Inspector: Remove unimplemented or static ScriptDebugServer features
29697        https://bugs.webkit.org/show_bug.cgi?id=126784
29698
29699        Reviewed by Timothy Hatcher.
29700
29701        These features are unimplemented in the backend, and unused by the
29702        current frontend. Most deal with features that were supported by v8
29703        and are as yet unimplemented by JSC. If we decide to add such features
29704        we can reimplement without conforming to an old implementation.
29705
29706        * bindings/js/ScriptDebugServer.cpp:
29707        * bindings/js/ScriptDebugServer.h:
29708        * bindings/js/ScriptProfiler.h:
29709        * inspector/InspectorDebuggerAgent.cpp:
29710        (WebCore::InspectorDebuggerAgent::disable):
29711        * inspector/InspectorDebuggerAgent.h:
29712        * inspector/InspectorPageAgent.cpp:
29713        (WebCore::InspectorPageAgent::reload):
29714        (WebCore::InspectorPageAgent::frameNavigated):
29715        * inspector/InspectorPageAgent.h:
29716        * inspector/InspectorProfilerAgent.cpp:
29717        * inspector/InspectorProfilerAgent.h:
29718        * inspector/PageDebuggerAgent.cpp:
29719        (WebCore::PageDebuggerAgent::didClearMainFrameWindowObject):
29720        * inspector/protocol/Page.json:
29721        * inspector/protocol/Profiler.json:
29722
297232014-01-10  David Kilzer  <ddkilzer@apple.com>
29724
29725        [iOS] Remove unused variable from TileGrid::dropTilesBetweenRects()
29726
29727        Fixes the following build error:
29728
29729            WebCore/platform/ios/TileGrid.mm:88:23: error: unused variable 'end' [-Werror,-Wunused-variable]
29730                TileMap::iterator end = m_tiles.end();
29731                                  ^
29732
29733        * platform/ios/TileGrid.mm:
29734        (WebCore::TileGrid::dropTilesBetweenRects): Remove unused
29735        variable now that the for loop uses an auto iterator.
29736
297372014-01-10  Dean Jackson  <dino@apple.com>
29738
29739        Implement OES texture half float linear
29740        https://bugs.webkit.org/show_bug.cgi?id=125060
29741
29742        Reviewed by Brent Fulgham.
29743
29744        Test: fast/canvas/webgl/oes-texture-half-float-linear.html
29745
29746        * CMakeLists.txt: Add new files.
29747        * DerivedSources.cpp: Ditto.
29748        * DerivedSources.make: Generate new file from IDL.
29749        * GNUmakefile.list.am: Add new files.
29750        * WebCore.vcxproj/WebCore.vcxproj: Ditto.
29751        * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
29752        * WebCore.xcodeproj/project.pbxproj: New files for OESTextureHalfFloatLinear.
29753
29754        * bindings/js/JSWebGLRenderingContextCustom.cpp:
29755        (WebCore::toJS): Map from extension name to native object.
29756
29757        * html/canvas/OESTextureHalfFloatLinear.cpp: Added. New files. These are boiler-plate.
29758        * html/canvas/OESTextureHalfFloatLinear.h: Added.
29759        * html/canvas/OESTextureHalfFloatLinear.idl: Added.
29760
29761        * html/canvas/WebGLExtension.h: Add new enum for the new extension.
29762
29763        * html/canvas/WebGLRenderingContext.cpp:
29764        (WebCore::WebGLRenderingContext::getExtension): Create the extension object if the
29765        context is asked for one.
29766        (WebCore::WebGLRenderingContext::getSupportedExtensions): Add the new extension to the
29767        list of supported extensions. Actually remember to do it this time :)
29768        (WebCore::WebGLRenderingContext::checkTextureCompleteness): Need to check for the half-float
29769        extension as well, and update the log message.
29770        * html/canvas/WebGLRenderingContext.h: New extension object.
29771
29772        * html/canvas/WebGLTexture.cpp:
29773        (WebCore::WebGLTexture::WebGLTexture):
29774        (WebCore::WebGLTexture::needToUseBlackTexture): Check for half-float type.
29775        (WebCore::WebGLTexture::update): Mark a texture as half-float if necessary.
29776        * html/canvas/WebGLTexture.h:
29777
29778        * platform/graphics/Extensions3D.h: Add a comment about the new extension.
29779        * platform/graphics/opengl/Extensions3DOpenGL.cpp:
29780        (WebCore::Extensions3DOpenGL::supportsExtension): This extension is available
29781        when GL_ARB_texture_float is supported, so add the name to the translation.
29782
297832014-01-10  Brent Fulgham  <bfulgham@apple.com>
29784
29785        [WebGL] Correct uniform input validation for texture sampler uniform
29786        https://bugs.webkit.org/show_bug.cgi?id=126775
29787
29788        Reviewed by Dean Jackson.
29789
29790        Added fast/canvas/webgl/uniform-samplers-test.html
29791
29792        * html/canvas/WebGLRenderingContext.cpp:
29793        (WebCore::WebGLRenderingContext::uniform1iv): Access Int32Array data properly.
29794
297952014-01-10  Manuel Rego Casasnovas  <rego@igalia.com>
29796
29797        [GTK] Unreviewed build fix after r161644.
29798
29799        * Modules/webaudio/MediaStreamAudioSourceNode.cpp:
29800        (WebCore::MediaStreamAudioSourceNode::setFormat):
29801
298022014-01-10  Anders Carlsson  <andersca@apple.com>
29803
29804        Remove an unused FrameLoader function
29805        https://bugs.webkit.org/show_bug.cgi?id=126785
29806
29807        Reviewed by Beth Dakin.
29808
29809        * WebCore.exp.in:
29810        * loader/FrameLoader.cpp:
29811        (WebCore::FrameLoader::setState):
29812        * loader/FrameLoader.h:
29813
298142014-01-10  Benjamin Poulain  <bpoulain@apple.com>
29815
29816        Remove the BlackBerry port from trunk
29817        https://bugs.webkit.org/show_bug.cgi?id=126715
29818
29819        Reviewed by Anders Carlsson.
29820
29821        * platform/MIMETypeRegistry.cpp:
29822        (WebCore::initializeSupportedImageMIMETypesForEncoding):
29823        * platform/PlatformKeyboardEvent.h:
29824        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
29825        * platform/PlatformMouseEvent.h:
29826        * platform/PlatformTouchEvent.h:
29827        (WebCore::PlatformTouchEvent::PlatformTouchEvent):
29828        * platform/PlatformTouchPoint.h:
29829        * platform/ScrollAnimatorNone.cpp:
29830        (WebCore::ScrollAnimator::create):
29831        * platform/URL.cpp:
29832        (WebCore::URL::parse):
29833        (WebCore::portAllowed):
29834        * platform/Widget.h:
29835        * platform/graphics/ANGLEWebKitBridge.h:
29836        * platform/graphics/DisplayRefreshMonitor.cpp:
29837        (WebCore::DisplayRefreshMonitor::DisplayRefreshMonitor):
29838        * platform/graphics/DisplayRefreshMonitor.h:
29839        * platform/graphics/FloatPoint.h:
29840        * platform/graphics/FloatRect.h:
29841        * platform/graphics/FloatSize.h:
29842        * platform/graphics/FontCache.h:
29843        * platform/graphics/FontPlatformData.h:
29844        * platform/graphics/GlyphBuffer.h:
29845        * platform/graphics/Gradient.cpp:
29846        * platform/graphics/Gradient.h:
29847        * platform/graphics/GraphicsContext.h:
29848        * platform/graphics/GraphicsContext3D.h:
29849
298502014-01-10  Timothy Hatcher  <timothy@apple.com>
29851
29852        Clean up and fix some issues with stdout formatting of console messages.
29853
29854        * Fix URLs not printing line numbers unless column number is > 0.
29855        * Change "CONSOLEAPI" to "CONSOLE" for the source.
29856        * Clean up how console.trace outputs and print URL, line and column for each frame.
29857        * Print "(unknown)" for anonymous and native code call frames.
29858
29859        https://bugs.webkit.org/show_bug.cgi?id=126767
29860
29861        Reviewed by Joseph Pecoraro.
29862
29863        * page/Console.cpp:
29864        (WebCore::internalAddMessage):
29865        * page/PageConsole.cpp:
29866        (WebCore::PageConsole::printSourceURLAndPosition):
29867        (WebCore::PageConsole::printMessageSourceAndLevelPrefix):
29868        * page/PageConsole.h:
29869
298702014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
29871
29872        [iOS] Fill in missing WebCoreThread function pointers
29873        https://bugs.webkit.org/show_bug.cgi?id=126776
29874
29875        Reviewed by Timothy Hatcher.
29876
29877        * platform/ios/wak/WebCoreThreadSystemInterface.cpp:
29878        (InitWebCoreThreadSystemInterface):
29879
298802014-01-10  Yongjun Zhang  <yongjun_zhang@apple.com>
29881
29882        Clear unparented tiled layers on memory pressure.
29883        https://bugs.webkit.org/show_bug.cgi?id=126737
29884
29885        Reviewed by Simon Fraser.
29886
29887        TileController hold unparented tiles for a short period of time (1 -3 sec); we should clear these unparented
29888        tiles immediately if we are under memory pressure.
29889        
29890        The patch does 3 things to improve the behavior:
29891        1) When the system free memory is low (<35%), reduce the tiling threshold.  This could reduce
29892        the peak memory usage when system is under low memory since we will convert more web layers into
29893        tiled backing.
29894        2) Under memory pressure, immediately clear all unparented tiles.
29895        3) Add a cap (16 tiles) to limit the total number of unparented tiles in TileController's.
29896
29897        * WebCore.exp.in:
29898        * WebCore.xcodeproj/project.pbxproj: Add a new class TileControllerMemoryHandler.
29899        * platform/graphics/ca/GraphicsLayerCA.cpp:
29900        (WebCore::GraphicsLayerCA::requiresTiledLayer):  Use a smaller tiling threshold if the system free memory is low.
29901        * platform/graphics/ca/mac/TileController.h:
29902        (WebCore::TileController::numberOfUnparentedTiles):
29903        * platform/graphics/ca/mac/TileController.mm:
29904        (WebCore::TileController::startedNewCohort):
29905        (WebCore::TileController::removeUnparentedTilesNow): Remove all unparentd tiles.
29906        * platform/ios/MemoryPressureHandlerIOS.mm:
29907        * platform/ios/TileControllerMemoryHandlerIOS.cpp: Added.
29908        (WebCore::TileControllerMemoryHandler::removeTileController):
29909        (WebCore::TileControllerMemoryHandler::totalUnparentedTiledLayers):
29910        (WebCore::TileControllerMemoryHandler::tileControllerGainUnparentedTiles):
29911        (WebCore::TileControllerMemoryHandler::trimUnparentedTilesToTarget): Trims the number of unparented tiles until
29912            it reaches the target.
29913        (WebCore::tileControllerMemoryHandler):
29914        * platform/ios/TileControllerMemoryHandlerIOS.h: Added.
29915        (WebCore::TileControllerMemoryHandler::TileControllerMemoryHandler):
29916
299172014-01-10  Joseph Pecoraro  <pecoraro@apple.com>
29918
29919        [CSS Blending] Log blending as a layer creation reason in the WI
29920        https://bugs.webkit.org/show_bug.cgi?id=126159
29921
29922        Reviewed by Timothy Hatcher.
29923
29924        * inspector/InspectorLayerTreeAgent.cpp:
29925        (WebCore::InspectorLayerTreeAgent::reasonsForCompositingLayer):
29926        * inspector/protocol/LayerTree.json:
29927
299282014-01-10  Andy Estes  <aestes@apple.com>
29929
29930        Fix some iOS build errors during bindings generation.
29931
29932        * bindings/objc/PublicDOMInterfaces.h: Included
29933        WebKitAdditions/PublicDOMInterfacesIOS.h and change
29934        -[DOMRGBColor color] to return a CGColorRef on iOS.
29935
299362014-01-10  Timothy Hatcher  <timothy@apple.com>
29937
29938        Prevent some resources from showing up in Web Inspector as years in duration.
29939
29940        No WebKit port passed a monotonic time to InspectorInstrumentation::didFinishLoading -- except Chromium.
29941
29942        https://bugs.webkit.org/show_bug.cgi?id=126760
29943
29944        Reviewed by Joseph Pecoraro.
29945
29946        * inspector/InspectorInstrumentation.cpp:
29947        (WebCore::InspectorInstrumentation::didFinishLoadingImpl):
29948        Revert part of r102961 to use finishTime as-is and not expect a monotonic time.
29949
299502014-01-10  Dirk Schulze  <krit@webkit.org>
29951
29952        Make clipping path from basic-shapes relative to <box> value
29953        https://bugs.webkit.org/show_bug.cgi?id=126206
29954
29955        Reviewed by Simon Fraser.
29956
29957        Tests: css3/masking/clip-path-circle-border-box.html
29958               css3/masking/clip-path-circle-bounding-box.html
29959               css3/masking/clip-path-circle-content-box.html
29960               css3/masking/clip-path-circle-margin-box.html
29961               css3/masking/clip-path-circle-padding-box.html
29962
29963        * rendering/RenderLayer.cpp:
29964        (WebCore::RenderLayer::setupClipPath): Add switch to differ between boxes
29965            and use different reference boxes to size the clipping path.
29966
299672014-01-10  Youenn Fablet  <youennf@gmail.com>
29968
29969
29970        Correctly set XHR loadend attributes (loaded and total).
29971        https://bugs.webkit.org/show_bug.cgi?id=120828
29972
29973        Reviewed by Alexey Proskuryakov.
29974        
29975        Added correct initialization of lengthComputable, loaded and total attributes 
29976        to XHR ProgressEvent events (load, loadstart, loadend, abort, error and timeout).
29977
29978        XMLHttpRequestProgressEventThrottle and XMLHttpRequestUpload now keep persistent knowledge 
29979        of m_loaded and m_total values with this patch.
29980        
29981        Code refactoring to handle event dispatching in case of error in a single manner.
29982        XMLHttpRequestProgressEventThrottle::dispatchProgressEvent is renamed as dispatchThrottledProgressEvent
29983        XMLHttpRequestProgressEventThrottle::dispatchEventAndLoadend is replaced by dispatchProgressEvent(const AtomicString&)
29984        
29985        Fixed assertion issues over bug 120828 patch
29986
29987        Tests: http/tests/xmlhttprequest/loadstart-event-init.html
29988               http/tests/xmlhttprequest/onabort-progressevent-attributes.html
29989               http/tests/xmlhttprequest/onload-progressevent-attributes.html
29990               http/tests/xmlhttprequest/upload-onabort-progressevent-attributes.html
29991               http/tests/xmlhttprequest/upload-onload-progressevent-attributes.html
29992
29993        * xml/XMLHttpRequest.cpp:
29994        (WebCore::XMLHttpRequest::callReadyStateChangeListener): changed readystatechange event from ProgressEvent to Event (not cancellable, not bubblable) to better match the spec 
29995        (WebCore::XMLHttpRequest::createRequest):
29996        (WebCore::XMLHttpRequest::abort): code refactoring to handle error event dispatching in a single way
29997        (WebCore::XMLHttpRequest::networkError): code refactoring to handle error event dispatching in a single way
29998        (WebCore::XMLHttpRequest::abortError): code refactoring to handle error event dispatching in a single way
29999        (WebCore::XMLHttpRequest::didSendData):
30000        (WebCore::XMLHttpRequest::didReceiveData):
30001        (WebCore::XMLHttpRequest::dispatchErrorEvents): dispatch progress events in case of error
30002        (WebCore::XMLHttpRequest::didTimeout): code refactoring to handle error event dispatching in a single way
30003        * xml/XMLHttpRequest.h:
30004        * xml/XMLHttpRequestProgressEventThrottle.cpp: before the patch, the fact that a progress event is being throttled is stored indirectly (m_loaded or m_total not equal to zero). With the patch, this information is stored in m_hasThrottledProgressEvent. The m_loaded and m_total values are no longer set back to zero after a progress event is dispatched. This allows using these values to correctly initialize other ProgressEvent events (in particular loadend, abort, timeout...) 
30005        (WebCore::XMLHttpRequestProgressEventThrottle::XMLHttpRequestProgressEventThrottle):
30006        (WebCore::XMLHttpRequestProgressEventThrottle::dispatchThrottledProgressEvent): always update the new m_loaded and m_total values. If progress event is not sent as part of the function call, store the fact that a progress event is being throttled through m_hasThrottledProgressEvent. 
30007        (WebCore::XMLHttpRequestProgressEventThrottle::dispatchProgressEvent): used to send any ProgressEvent event that is not be throttled
30008        (WebCore::XMLHttpRequestProgressEventThrottle::flushProgressEvent): after the call, no progress event is throttled anymore
30009        (WebCore::XMLHttpRequestProgressEventThrottle::fired): after the call, no progress event is throttled anymore
30010        (WebCore::XMLHttpRequestProgressEventThrottle::hasEventToDispatch):
30011        (WebCore::XMLHttpRequestProgressEventThrottle::suspend):
30012        * xml/XMLHttpRequestProgressEventThrottle.h: introduced m_hasThrottledProgressEvent which stores whether a progress event is being throttled and m_computableLength which is used to initialize ProgressEvent computableLength
30013        * xml/XMLHttpRequestUpload.cpp:
30014        (WebCore::XMLHttpRequestUpload::XMLHttpRequestUpload):
30015        (WebCore::XMLHttpRequestUpload::dispatchProgressEvent):
30016        * xml/XMLHttpRequestUpload.h: introduced m_loaded, m_total and m_lengthComputable, similarly to XMLHttpRequestProgressEventThrottle
30017
300182014-01-10  Bear Travis  <betravis@adobe.com>
30019
30020        [CSS Shapes] Change parseBasicShape to return a CSSPrimitiveValue
30021        https://bugs.webkit.org/show_bug.cgi?id=126713
30022
30023        Reviewed by Dirk Schulze.
30024
30025        Avoid the duplicated code wrapping the CSSBasicShape in a CSSPrimitiveValue
30026        by having parseBasicShape return a CSSPrimitiveValue reference.
30027
30028        Refactoring, no new tests.
30029
30030        * css/CSSParser.cpp:
30031        (WebCore::CSSParser::parseShapeProperty):
30032        (WebCore::CSSParser::parseClipPath):
30033        (WebCore::CSSParser::parseBasicShape):
30034        * css/CSSParser.h:
30035
300362014-01-10  Piotr Grad  <p.grad@samsung.com>
30037
30038        Possible crash in ApplicationCache::removeResource.
30039        https://bugs.webkit.org/show_bug.cgi?id=126695
30040
30041        Reviewed by Alexey Proskuryakov.
30042
30043        No new tests.
30044
30045        Iterator variable was used after it was removed.
30046
30047        * loader/appcache/ApplicationCache.cpp:
30048        (WebCore::ApplicationCache::removeResource):
30049
300502014-01-10  Daniel Bates  <dabates@apple.com>
30051
30052        Another build fix for the Production Mac build following <http://trac.webkit.org/changeset/161638>
30053        (https://bugs.webkit.org/show_bug.cgi?id=126698)
30054
30055        Move the logic for appending the port-specific IDL files {Touch, TouchEvent, TouchList}.idl to the
30056        list of binding IDLs (BINDING_IDLS) before the definition of variables DOM_CLASSES and JS_DOM_HEADERS
30057        so that we generate the DOM and JS bindings for these IDLs.
30058
30059        * DerivedSources.make:
30060
300612014-01-10  Anders Carlsson  <andersca@apple.com>
30062
30063        Remove supportMultipleWindows setting
30064        https://bugs.webkit.org/show_bug.cgi?id=126772
30065
30066        Reviewed by Beth Dakin.
30067
30068        This setting was added in https://bugs.webkit.org/show_bug.cgi?id=99716 for the Chromium port
30069        and is unused by everyone else so get rid of it.
30070
30071        * loader/FrameLoader.cpp:
30072        (WebCore::createWindow):
30073        * page/ContextMenuController.cpp:
30074        (WebCore::openNewWindow):
30075        * page/Settings.in:
30076
300772014-01-10  Benjamin Poulain  <bpoulain@apple.com>
30078
30079        Remove the BlackBerry port from trunk
30080        https://bugs.webkit.org/show_bug.cgi?id=126715
30081
30082        Reviewed by Anders Carlsson.
30083
30084        * dom/TouchEvent.cpp:
30085        (WebCore::TouchEvent::TouchEvent):
30086        (WebCore::TouchEvent::initTouchEvent):
30087        * dom/TouchEvent.h:
30088        * dom/ViewportArguments.cpp:
30089        * dom/ViewportArguments.h:
30090        * history/HistoryItem.h:
30091        * loader/PingLoader.cpp:
30092        (WebCore::PingLoader::loadImage):
30093        (WebCore::PingLoader::sendPing):
30094        (WebCore::PingLoader::sendViolationReport):
30095        * loader/appcache/ApplicationCacheGroup.cpp:
30096        (WebCore::ApplicationCacheGroup::createResourceHandle):
30097        * loader/cache/CachedResource.cpp:
30098        (WebCore::CachedResource::load):
30099        * loader/icon/IconLoader.cpp:
30100        (WebCore::IconLoader::startLoading):
30101        * page/NavigatorBase.cpp:
30102        * page/Settings.cpp:
30103        * page/scrolling/ScrollingCoordinator.cpp:
30104        (WebCore::ScrollingCoordinator::create):
30105        * platform/Cursor.cpp:
30106        * platform/Cursor.h:
30107        (WebCore::Cursor::Cursor):
30108        * platform/DragData.h:
30109        * platform/DragImage.h:
30110        * plugins/PluginDatabase.cpp:
30111        (WebCore::PluginDatabase::defaultPluginDirectories):
30112        (WebCore::PluginDatabase::isPreferredPluginDirectory):
30113        * rendering/RenderLayerBacking.cpp:
30114        (WebCore::RenderLayerBacking::paintsIntoWindow):
30115        * rendering/RenderObject.cpp:
30116        (WebCore::RenderObject::shouldRespectImageOrientation):
30117        * testing/Internals.cpp:
30118        (WebCore::Internals::getCurrentCursorInfo):
30119        * workers/DefaultSharedWorkerRepository.cpp:
30120        (WebCore::SharedWorkerScriptLoader::load):
30121        * workers/Worker.cpp:
30122        (WebCore::Worker::create):
30123        * workers/WorkerGlobalScope.cpp:
30124        (WebCore::WorkerGlobalScope::importScripts):
30125        * workers/WorkerScriptLoader.cpp:
30126        (WebCore::WorkerScriptLoader::createResourceRequest):
30127        * workers/WorkerScriptLoader.h:
30128        * xml/XMLHttpRequest.cpp:
30129        (WebCore::XMLHttpRequest::createRequest):
30130
301312014-01-10  Benjamin Poulain  <bpoulain@apple.com>
30132
30133        Remove the BlackBerry port from trunk
30134        https://bugs.webkit.org/show_bug.cgi?id=126715
30135
30136        Reviewed by Anders Carlsson.
30137
30138        * Modules/navigatorcontentutils/NavigatorContentUtils.cpp:
30139        (WebCore::initProtocolHandlerWhitelist):
30140        * UseJSC.cmake:
30141        * bindings/generic/RuntimeEnabledFeatures.cpp:
30142        (WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures):
30143        * bindings/js/GCController.cpp:
30144        (WebCore::GCController::GCController):
30145        (WebCore::GCController::garbageCollectSoon):
30146        * bindings/js/GCController.h:
30147
301482014-01-10  Daniel Bates  <dabates@apple.com>
30149
30150        Fix the WebCore, WebKit build targets following <http://trac.webkit.org/changeset/161638>
30151        (https://bugs.webkit.org/show_bug.cgi?id=126698)
30152
30153        Tell Xcode that the supported platforms for all WebKit targets are iOS and OS X.
30154
30155        * Configurations/Base.xcconfig:
30156
301572014-01-09  Andy Estes  <aestes@apple.com>
30158
30159        [iOS] Upstream iOS changes to MigrateHeaders.make
30160        https://bugs.webkit.org/show_bug.cgi?id=126731
30161
30162        Reviewed by David Kilzer.
30163
30164        * WebCore.xcodeproj/project.pbxproj: Mark an iOS-specific header at
30165        Private that will later be migrated by WebKit.
30166
301672014-01-10  Daniel Bates  <dabates@apple.com>
30168
30169        Fix the Production Mac build following <http://trac.webkit.org/changeset/161638>
30170        (https://bugs.webkit.org/show_bug.cgi?id=126698)
30171
30172        Substitute JAVASCRIPTCORE_PRIVATE_HEADERS_DIR_Production_ for JAVASCRIPTCORE_PRIVATE_HEADERS_Production_.
30173
30174        * Configurations/WebCore.xcconfig:
30175
301762014-01-10  Anders Carlsson  <andersca@apple.com>
30177
30178        Add a missing include.
30179
30180        * Modules/webdatabase/DatabaseManager.h:
30181
301822014-01-10  Anders Carlsson  <andersca@apple.com>
30183
30184        Use STL threading primitives in DatabaseDetails and DatabaseManager
30185        https://bugs.webkit.org/show_bug.cgi?id=126759
30186
30187        Reviewed by Geoffrey Garen.
30188
30189        * Modules/webdatabase/DatabaseDetails.h:
30190        (WebCore::DatabaseDetails::DatabaseDetails):
30191        (WebCore::DatabaseDetails::threadID):
30192        * Modules/webdatabase/DatabaseManager.cpp:
30193        (WebCore::DatabaseManager::existingDatabaseContextFor):
30194        (WebCore::DatabaseManager::registerDatabaseContext):
30195        (WebCore::DatabaseManager::unregisterDatabaseContext):
30196        (WebCore::DatabaseManager::didConstructDatabaseContext):
30197        (WebCore::DatabaseManager::didDestructDatabaseContext):
30198        (WebCore::DatabaseManager::addProposedDatabase):
30199        (WebCore::DatabaseManager::removeProposedDatabase):
30200        (WebCore::DatabaseManager::fullPathForDatabase):
30201        (WebCore::DatabaseManager::detailsForNameAndOrigin):
30202        * Modules/webdatabase/DatabaseManager.h:
30203
302042014-01-10  Commit Queue  <commit-queue@webkit.org>
30205
30206        Unreviewed, rolling out r161629.
30207        http://trac.webkit.org/changeset/161629
30208        https://bugs.webkit.org/show_bug.cgi?id=126762
30209
30210        Fails svg/custom/conditional-processing-2.html (Requested by
30211        ap on #webkit).
30212
30213        * svg/SVGSwitchElement.cpp:
30214        (WebCore::SVGSwitchElement::childShouldCreateRenderer):
30215        * svg/SVGTests.cpp:
30216        (WebCore::SVGTests::hasExtension):
30217        (WebCore::SVGTests::isValid):
30218
302192014-01-10  ChangSeok Oh  <changseok.oh@collabora.com>
30220
30221        Unreviewed build fix since r161589.
30222
30223        The changeset causes a compile failure with --no-svg.
30224
30225        * platform/graphics/FontFastPath.cpp:
30226        (WebCore::Font::drawGlyphBuffer):
30227
302282014-01-10  Przemyslaw Szymanski  <p.szymanski3@samsung.com>
30229
30230        [WebGL] Removing unnecessary pointer checks
30231        https://bugs.webkit.org/show_bug.cgi?id=124046
30232
30233        Reviewed by Brent Fulgham.
30234
30235        We do not need to check for a null array three times in
30236        the same call. Let's just do it once!
30237
30238        No new tests. Covered by existing ones.
30239
30240        * html/canvas/WebGLBuffer.cpp:
30241        (WebCore::WebGLBuffer::associateBufferData):
30242
302432014-01-10  Daniel Bates  <dabates@apple.com>
30244
30245        Speculative build fix for Windows following <http://trac.webkit.org/changeset/161638>
30246        (https://bugs.webkit.org/show_bug.cgi?id=126698)
30247
30248        Reviewed by David Kilzer.
30249
30250        * bindings/scripts/preprocessor.pm:
30251        (applyPreprocessor):
30252
302532014-01-10  Przemyslaw Szymanski  <p.szymanski3@samsung.com>
30254
30255        [WebGL] Wrong condition order in the if statement
30256        https://bugs.webkit.org/show_bug.cgi?id=125000
30257
30258        Reviewed by Brent Fulgham.
30259
30260        We should only pay the cost of string comparison once. The
30261        current logic requires a string comparison every time we
30262        pass through the function. Instead, by reordering the statements
30263        we can short-circuit through the boolean test after the initial
30264        setup is complete.
30265
30266        No new tests. No behaviour changes.
30267
30268        * platform/graphics/opengl/Extensions3DOpenGLES.cpp:
30269        (WebCore::Extensions3DOpenGLES::supportsExtension):
30270
302712014-01-10  Anders Carlsson  <andersca@apple.com>
30272
30273        CTTE in AudioContext::AutoLocker
30274        https://bugs.webkit.org/show_bug.cgi?id=126758
30275
30276        Reviewed by Antti Koivisto.
30277
30278        * Modules/webaudio/AudioBasicInspectorNode.cpp:
30279        (WebCore::AudioBasicInspectorNode::connect):
30280        (WebCore::AudioBasicInspectorNode::disconnect):
30281        * Modules/webaudio/AudioBufferSourceNode.cpp:
30282        (WebCore::AudioBufferSourceNode::setBuffer):
30283        * Modules/webaudio/AudioContext.cpp:
30284        (WebCore::AudioContext::refNode):
30285        (WebCore::AudioContext::deleteMarkedNodes):
30286        (WebCore::AudioContext::removeMarkedSummingJunction):
30287        * Modules/webaudio/AudioContext.h:
30288        (WebCore::AudioContext::AutoLocker::AutoLocker):
30289        (WebCore::AudioContext::AutoLocker::~AutoLocker):
30290        * Modules/webaudio/AudioNode.cpp:
30291        (WebCore::AudioNode::connect):
30292        (WebCore::AudioNode::disconnect):
30293        (WebCore::AudioNode::setChannelCount):
30294        (WebCore::AudioNode::setChannelCountMode):
30295        (WebCore::AudioNode::setChannelInterpretation):
30296        (WebCore::AudioNode::enableOutputsIfNecessary):
30297        * Modules/webaudio/MediaElementAudioSourceNode.cpp:
30298        (WebCore::MediaElementAudioSourceNode::setFormat):
30299        * Modules/webaudio/WaveShaperNode.cpp:
30300        (WebCore::WaveShaperNode::setOversample):
30301
303022014-01-10  Antti Koivisto  <antti@apple.com>
30303
30304        Use element iterators more
30305        https://bugs.webkit.org/show_bug.cgi?id=126756
30306
30307        Reviewed by Anders Carlsson.
30308
30309        * dom/VisitedLinkState.cpp:
30310        (WebCore::VisitedLinkState::invalidateStyleForAllLinks):
30311        (WebCore::VisitedLinkState::invalidateStyleForLink):
30312        * html/HTMLMeterElement.cpp:
30313        (WebCore::HTMLMeterElement::renderMeter):
30314        * html/HTMLProgressElement.cpp:
30315        (WebCore::HTMLProgressElement::renderProgress):
30316        * html/shadow/ContentDistributor.cpp:
30317        (WebCore::ContentDistributor::ensureInsertionPointList):
30318        * style/StyleResolveTree.cpp:
30319
303202014-01-10  Daniel Bates  <dabates@apple.com>
30321
30322        Attempt to fix the iOS build after <http://trac.webkit.org/changeset/161589>
30323        (https://bugs.webkit.org/show_bug.cgi?id=126654)
30324
30325        * platform/audio/ios/AudioSessionIOS.mm: Import header PassOwnPtr.h so that we can use adoptPtr().
30326
303272014-01-10  Daniel Bates  <dabates@apple.com>
30328
30329        Attempt to fix the build after <http://trac.webkit.org/changeset/161638>
30330        (https://bugs.webkit.org/show_bug.cgi?id=126698)
30331
30332        Substitute tab characters for space characters.
30333
30334        * DerivedSources.make:
30335
303362014-01-10  Anders Carlsson  <andersca@apple.com>
30337
30338        DOMWindow::showModalDialog should use std::function
30339        https://bugs.webkit.org/show_bug.cgi?id=126753
30340
30341        Reviewed by Antti Koivisto.
30342
30343        * bindings/js/JSDOMWindowCustom.cpp:
30344        (WebCore::DialogHandler::dialogCreated):
30345        (WebCore::JSDOMWindow::showModalDialog):
30346        * page/DOMWindow.cpp:
30347        (WebCore::DOMWindow::createWindow):
30348        (WebCore::DOMWindow::showModalDialog):
30349        * page/DOMWindow.h:
30350
303512014-01-10  Daniel Bates  <dabates@apple.com>
30352
30353        [iOS] Upstream WebCore and Tools miscellaneous changes
30354        https://bugs.webkit.org/show_bug.cgi?id=126698
30355
30356        Reviewed by David Kilzer.
30357
30358        * Configurations/Base.xcconfig:
30359        * Configurations/WebCore.xcconfig:
30360        * Configurations/WebCoreTestSupport.xcconfig:
30361        * Configurations/iOS.xcconfig: Added.
30362        * DerivedSources.make:
30363        * English.lproj/Localizable.strings:
30364        * Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.cpp: Copied from Source/WebCore/editing/TextAffinity.h.
30365        (WebCore::stringForPlaybackTargetAvailability):
30366        (WebCore::WebKitPlaybackTargetAvailabilityEvent::WebKitPlaybackTargetAvailabilityEvent):
30367        * Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.h: Added.
30368        (WebCore::WebKitPlaybackTargetAvailabilityEventInit::WebKitPlaybackTargetAvailabilityEventInit):
30369        (WebCore::WebKitPlaybackTargetAvailabilityEvent::~WebKitPlaybackTargetAvailabilityEvent):
30370        (WebCore::WebKitPlaybackTargetAvailabilityEvent::create):
30371        (WebCore::WebKitPlaybackTargetAvailabilityEvent::availability):
30372        * Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.idl: Copied from Source/WebCore/editing/DeleteButton.h.
30373        * Modules/geolocation/Geolocation.cpp:
30374        (WebCore::Geolocation::Geolocation):
30375        (WebCore::Geolocation::canSuspend):
30376        (WebCore::Geolocation::suspend):
30377        (WebCore::Geolocation::resume):
30378        (WebCore::Geolocation::resumeTimerFired):
30379        (WebCore::Geolocation::resetAllGeolocationPermission):
30380        (WebCore::Geolocation::stop):
30381        (WebCore::Geolocation::setIsAllowed):
30382        (WebCore::Geolocation::positionChanged):
30383        (WebCore::Geolocation::setError):
30384        * Modules/geolocation/Geolocation.h:
30385        * Modules/geolocation/NavigatorGeolocation.cpp:
30386        (WebCore::NavigatorGeolocation::resetAllGeolocationPermission):
30387        * Modules/geolocation/NavigatorGeolocation.h:
30388        * Modules/speech/SpeechSynthesis.cpp:
30389        (WebCore::SpeechSynthesis::SpeechSynthesis):
30390        (WebCore::SpeechSynthesis::speak):
30391        * Modules/speech/SpeechSynthesis.h:
30392        (WebCore::SpeechSynthesis::userGestureRequiredForSpeechStart):
30393        (WebCore::SpeechSynthesis::removeBehaviorRestriction):
30394        * Modules/webaudio/AudioContext.cpp:
30395        * Modules/webaudio/AudioContext.h:
30396        * Modules/webaudio/AudioScheduledSourceNode.cpp:
30397        * Modules/webdatabase/Database.cpp:
30398        * Modules/webdatabase/DatabaseBackendBase.cpp:
30399        (WebCore::DatabaseBackendBase::performOpenAndVerify):
30400        (WebCore::DatabaseBackendBase::incrementalVacuumIfNeeded):
30401        * Modules/webdatabase/DatabaseContext.cpp:
30402        (WebCore::DatabaseContext::DatabaseContext):
30403        (WebCore::DatabaseContext::databaseThread):
30404        (WebCore::DatabaseContext::setPaused):
30405        * Modules/webdatabase/DatabaseContext.h:
30406        * Modules/webdatabase/DatabaseManagerClient.h:
30407        * Modules/webdatabase/DatabaseTask.cpp:
30408        (WebCore::DatabaseTask::performTask):
30409        (WebCore::Database::DatabaseTransactionTask::shouldPerformWhilePaused):
30410        * Modules/webdatabase/DatabaseTask.h:
30411        * Modules/webdatabase/DatabaseThread.cpp:
30412        (WebCore::DatabaseThread::DatabaseThread):
30413        (WebCore::DatabaseThread::requestTermination):
30414        (WebCore::DatabaseUnpauseTask::create):
30415        (WebCore::DatabaseUnpauseTask::shouldPerformWhilePaused):
30416        (WebCore::DatabaseUnpauseTask::DatabaseUnpauseTask):
30417        (WebCore::DatabaseUnpauseTask::doPerformTask):
30418        (WebCore::DatabaseUnpauseTask::debugTaskName):
30419        (WebCore::DatabaseThread::setPaused):
30420        (WebCore::DatabaseThread::handlePausedQueue):
30421        (WebCore::DatabaseThread::databaseThread):
30422        * Modules/webdatabase/DatabaseThread.h:
30423        * Modules/webdatabase/DatabaseTracker.cpp:
30424        (WebCore::DatabaseTracker::setQuota):
30425        (WebCore::DatabaseTracker::deleteOrigin):
30426        (WebCore::DatabaseTracker::deleteDatabase):
30427        (WebCore::DatabaseTracker::deleteDatabaseFile):
30428        (WebCore::DatabaseTracker::removeDeletedOpenedDatabases):
30429        (WebCore::isZeroByteFile):
30430        (WebCore::DatabaseTracker::deleteDatabaseFileIfEmpty):
30431        (WebCore::DatabaseTracker::openDatabaseMutex):
30432        (WebCore::DatabaseTracker::emptyDatabaseFilesRemovalTaskWillBeScheduled):
30433        (WebCore::DatabaseTracker::emptyDatabaseFilesRemovalTaskDidFinish):
30434        (WebCore::DatabaseTracker::setDatabasesPaused):
30435        * Modules/webdatabase/DatabaseTracker.h:
30436        * Modules/webdatabase/SQLTransactionBackend.cpp:
30437        (WebCore::SQLTransactionBackend::shouldPerformWhilePaused):
30438        * Modules/webdatabase/SQLTransactionBackend.h:
30439        * Resources/DictationPhraseWithAlternativesDot.png: Added.
30440        * Resources/DictationPhraseWithAlternativesDot@2x.png: Added.
30441        * Resources/SpellingDot.png: Added.
30442        * Resources/SpellingDot@2x.png: Added.
30443        * Resources/decrementArrow.tiff: Added.
30444        * Resources/hScrollControl_left.png: Added.
30445        * Resources/hScrollControl_middle.png: Added.
30446        * Resources/hScrollControl_right.png: Added.
30447        * Resources/incrementArrow.tiff: Added.
30448        * Resources/markedLeft.png: Added.
30449        * Resources/markedMiddle.png: Added.
30450        * Resources/markedRight.png: Added.
30451        * Resources/vScrollControl_bottom.png: Added.
30452        * Resources/vScrollControl_middle.png: Added.
30453        * Resources/vScrollControl_top.png: Added.
30454        * WebCore.xcodeproj/project.pbxproj:
30455        * bindings/js/GCController.cpp:
30456        (WebCore::GCController::garbageCollectNow):
30457        (WebCore::GCController::releaseExecutableMemory):
30458        * bindings/js/GCController.h:
30459        * bindings/js/JSCallbackData.h:
30460        (WebCore::JSCallbackData::~JSCallbackData):
30461        * bindings/js/JSDOMWindowBase.cpp:
30462        (WebCore::JSDOMWindowBase::supportsProfiling):
30463        (WebCore::JSDOMWindowBase::shouldInterruptScriptBeforeTimeout):
30464        (WebCore::JSDOMWindowBase::commonVM):
30465        (WebCore::JSDOMWindowBase::commonVMExists):
30466        (WebCore::JSDOMWindowBase::commonVMInternal):
30467        * bindings/js/JSDOMWindowCustom.cpp:
30468        (WebCore::JSDOMWindow::touch):
30469        (WebCore::JSDOMWindow::touchList):
30470        * bindings/js/JSDeviceOrientationEventCustom.cpp:
30471        (WebCore::JSDeviceOrientationEvent::webkitCompassHeading):
30472        (WebCore::JSDeviceOrientationEvent::webkitCompassAccuracy):
30473        (WebCore::JSDeviceOrientationEvent::initDeviceOrientationEvent):
30474        * bindings/js/JSMainThreadExecState.h:
30475        * bindings/js/JSTouchCustom.cpp:
30476        * bindings/js/JSTouchListCustom.cpp:
30477        * bindings/js/PageScriptDebugServer.cpp:
30478        (WebCore::PageScriptDebugServer::didContinue):
30479        * bindings/js/ScriptController.cpp:
30480        (WebCore::ScriptController::initializeThreading):
30481        * bindings/js/ScriptDebugServer.cpp:
30482        (WebCore::ScriptDebugServer::handlePause):
30483        * bindings/js/ios/TouchConstructors.cpp: Added.
30484        * bindings/objc/DOM.mm:
30485        (WebCore::wkQuadFromFloatQuad):
30486        (WebCore::kit):
30487        (WebCore::min4):
30488        (WebCore::max4):
30489        (WebCore::emptyQuad):
30490        (-[WKQuadObject initWithQuad:]):
30491        (-[WKQuadObject quad]):
30492        (-[WKQuadObject boundingBox]):
30493        (-[DOMNode boundingBox]):
30494        (-[DOMNode absoluteQuad]):
30495        (-[DOMNode absoluteQuadAndInsideFixedPosition:]):
30496        (-[DOMNode boundingBoxUsingTransforms]):
30497        (-[DOMNode lineBoxQuads]):
30498        (-[DOMNode _linkElement]):
30499        (-[DOMNode hrefURL]):
30500        (-[DOMNode hrefTarget]):
30501        (-[DOMNode hrefFrame]):
30502        (-[DOMNode hrefLabel]):
30503        (-[DOMNode hrefTitle]):
30504        (-[DOMNode boundingFrame]):
30505        (-[DOMNode innerFrameQuad]):
30506        (-[DOMNode computedFontSize]):
30507        (-[DOMNode nextFocusNode]):
30508        (-[DOMNode previousFocusNode]):
30509        (-[DOMRange boundingBox]):
30510        (-[DOMRange renderedImageForcingBlackText:renderedImageForcingBlackText:]):
30511        (-[DOMElement _font]):
30512        (-[DOMHTMLLinkElement _mediaQueryMatchesForOrientation:]):
30513        (-[DOMHTMLLinkElement _mediaQueryMatches]):
30514        * bindings/objc/DOMEvents.h:
30515        * bindings/objc/DOMEvents.mm:
30516        (kitClass):
30517        * bindings/objc/DOMExtensions.h:
30518        * bindings/objc/DOMHTML.mm:
30519        (-[DOMHTMLElement scrollYOffset]):
30520        (-[DOMHTMLElement setScrollXOffset:scrollYOffset:]):
30521        (-[DOMHTMLElement setScrollXOffset:scrollYOffset:adjustForIOSCaret:]):
30522        (-[DOMHTMLElement absolutePosition::::]):
30523        (-[DOMHTMLInputElement _autocapitalizeType]):
30524        (-[DOMHTMLTextAreaElement _autocapitalizeType]):
30525        (-[DOMHTMLInputElement setValueWithChangeEvent:]):
30526        (-[DOMHTMLInputElement setValueAsNumberWithChangeEvent:]):
30527        * bindings/objc/DOMInternal.h:
30528        * bindings/objc/DOMInternal.mm:
30529        (wrapperCacheLock):
30530        (getDOMWrapper):
30531        (addDOMWrapper):
30532        (removeDOMWrapper):
30533        * bindings/objc/DOMPrivate.h:
30534        * bindings/objc/DOMUIKitExtensions.h: Added.
30535        * bindings/objc/DOMUIKitExtensions.mm: Added.
30536        * bindings/objc/PublicDOMInterfaces.h:
30537        * bindings/scripts/CodeGeneratorJS.pm:
30538        (GenerateHeaderContentHeader):
30539        (GenerateImplementationContentHeader):
30540        (GenerateHeader):
30541        (GenerateImplementation):
30542        (GenerateCallbackImplementation):
30543        * bindings/scripts/CodeGeneratorObjC.pm:
30544        (ReadPublicInterfaces):
30545        (GetClassName):
30546        (IsCoreFoundationType):
30547        (GetObjCType):
30548        (AddIncludesForType):
30549        (GenerateHeader):
30550        (GenerateImplementation):
30551        (WriteData):
30552        * bindings/scripts/IDLAttributes.txt:
30553        * bindings/scripts/preprocessor.pm:
30554        (applyPreprocessor):
30555        * bridge/objc/objc_class.mm:
30556        (JSC::Bindings::ObjcClass::fieldNamed):
30557        * bridge/objc/objc_instance.mm:
30558        * config.h:
30559        * dom/Document.cpp:
30560        (WebCore::Document::addAutoSizingNode):
30561        * dom/Document.h:
30562        * dom/Document.idl:
30563        * dom/ios/TouchEvents.cpp: Added.
30564        * editing/ApplyStyleCommand.cpp:
30565        (WebCore::ApplyStyleCommand::applyBlockStyle):
30566        * editing/CompositeEditCommand.cpp:
30567        (WebCore::EditCommandComposition::unapply):
30568        (WebCore::CompositeEditCommand::apply):
30569        (WebCore::CompositeEditCommand::inputText):
30570        (WebCore::CompositeEditCommand::replaceTextInNodePreservingMarkers):
30571        (WebCore::CompositeEditCommand::moveParagraphs):
30572        * editing/CompositeEditCommand.h:
30573        * editing/DeleteButton.h:
30574        * editing/DeleteButtonController.cpp:
30575        (WebCore::DeleteButtonController::enable):
30576        (WebCore::DeleteButtonController::disable):
30577        * editing/DeleteSelectionCommand.cpp:
30578        (WebCore::DeleteSelectionCommand::doApply):
30579        * editing/DeleteSelectionCommand.h:
30580        * editing/EditAction.h:
30581        * editing/EditCommand.h:
30582        (WebCore::EditCommand::isInsertTextCommand):
30583        * editing/EditingStyle.cpp:
30584        * editing/Editor.cpp:
30585        (WebCore::ClearTextCommand::ClearTextCommand):
30586        (WebCore::ClearTextCommand::editingAction):
30587        (WebCore::ClearTextCommand::CreateAndApply):
30588        (WebCore::Editor::handleTextEvent):
30589        (WebCore::Editor::clearText):
30590        (WebCore::Editor::insertDictationPhrases):
30591        (WebCore::Editor::setDictationPhrasesAsChildOfElement):
30592        (WebCore::Editor::confirmMarkedText):
30593        (WebCore::Editor::setTextAsChildOfElement):
30594        (WebCore::Editor::notifyComponentsOnChangedSelection):
30595        (WebCore::Editor::ensureLastEditCommandHasCurrentSelectionIfOpenForMoreTyping):
30596        (WebCore::Editor::copy):
30597        (WebCore::Editor::setBaseWritingDirection):
30598        (WebCore::Editor::setComposition):
30599        (WebCore::Editor::showSpellingGuessPanel):
30600        (WebCore::Editor::markMisspellingsAfterTypingToWord):
30601        (WebCore::Editor::markMisspellingsOrBadGrammar):
30602        (WebCore::Editor::changeBackToReplacedString):
30603        (WebCore::Editor::updateMarkersForWordsAffectedByEditing):
30604        (WebCore::Editor::setIgnoreCompositionSelectionChange):
30605        (WebCore::Editor::changeSelectionAfterCommand):
30606        (WebCore::Editor::shouldChangeSelection):
30607        (WebCore::Editor::respondToChangedSelection):
30608        (WebCore::Editor::resolveTextCheckingTypeMask):
30609        * editing/Editor.h:
30610        * editing/EditorCommand.cpp:
30611        (WebCore::executeClearText):
30612        (WebCore::enabledCopy):
30613        (WebCore::enabledCut):
30614        (WebCore::enabledClearText):
30615        (WebCore::createCommandMap):
30616        * editing/FrameSelection.cpp:
30617        (WebCore::FrameSelection::FrameSelection):
30618        (WebCore::FrameSelection::setSelection):
30619        (WebCore::FrameSelection::modifyExtendingRight):
30620        (WebCore::FrameSelection::modifyExtendingForward):
30621        (WebCore::FrameSelection::modifyMovingRight):
30622        (WebCore::FrameSelection::modifyMovingForward):
30623        (WebCore::FrameSelection::modifyExtendingLeft):
30624        (WebCore::FrameSelection::modifyExtendingBackward):
30625        (WebCore::FrameSelection::modifyMovingLeft):
30626        (WebCore::FrameSelection::modifyMovingBackward):
30627        (WebCore::FrameSelection::setSelectedRange):
30628        (WebCore::FrameSelection::focusedOrActiveStateChanged):
30629        (WebCore::FrameSelection::updateAppearance):
30630        (WebCore::FrameSelection::shouldDeleteSelection):
30631        (WebCore::FrameSelection::revealSelection):
30632        (WebCore::FrameSelection::setSelectionFromNone):
30633        (WebCore::FrameSelection::shouldChangeSelection):
30634        (WebCore::FrameSelection::expandSelectionToElementContainingCaretSelection):
30635        (WebCore::FrameSelection::elementRangeContainingCaretSelection):
30636        (WebCore::FrameSelection::expandSelectionToWordContainingCaretSelection):
30637        (WebCore::FrameSelection::wordRangeContainingCaretSelection):
30638        (WebCore::FrameSelection::expandSelectionToStartOfWordContainingCaretSelection):
30639        (WebCore::FrameSelection::characterInRelationToCaretSelection):
30640        (WebCore::FrameSelection::characterBeforeCaretSelection):
30641        (WebCore::FrameSelection::characterAfterCaretSelection):
30642        (WebCore::FrameSelection::wordOffsetInRange):
30643        (WebCore::FrameSelection::spaceFollowsWordInRange):
30644        (WebCore::FrameSelection::selectionAtDocumentStart):
30645        (WebCore::FrameSelection::selectionAtSentenceStart):
30646        (WebCore::FrameSelection::selectionAtWordStart):
30647        (WebCore::FrameSelection::rangeByMovingCurrentSelection):
30648        (WebCore::FrameSelection::rangeByExtendingCurrentSelection):
30649        (WebCore::FrameSelection::selectRangeOnElement):
30650        (WebCore::FrameSelection::wordSelectionContainingCaretSelection):
30651        (WebCore::FrameSelection::actualSelectionAtSentenceStart):
30652        (WebCore::FrameSelection::rangeByAlteringCurrentSelection):
30653        (WebCore::FrameSelection::clearCurrentSelection):
30654        (WebCore::FrameSelection::setCaretBlinks):
30655        (WebCore::FrameSelection::setCaretColor):
30656        * editing/FrameSelection.h:
30657        (WebCore::FrameSelection::suppressCloseTyping):
30658        (WebCore::FrameSelection::restoreCloseTyping):
30659        (WebCore::FrameSelection::setUpdateAppearanceEnabled):
30660        (WebCore::FrameSelection::suppressScrolling):
30661        (WebCore::FrameSelection::restoreScrolling):
30662        * editing/InsertIntoTextNodeCommand.cpp:
30663        (WebCore::InsertIntoTextNodeCommand::doReapply):
30664        * editing/InsertIntoTextNodeCommand.h:
30665        * editing/InsertTextCommand.h:
30666        * editing/ReplaceSelectionCommand.cpp:
30667        (WebCore::ReplaceSelectionCommand::doApply):
30668        * editing/TextAffinity.h:
30669        * editing/TextCheckingHelper.cpp:
30670        * editing/TextGranularity.h:
30671        * editing/TextIterator.cpp:
30672        (WebCore::isRendererReplacedElement):
30673        * editing/TypingCommand.cpp:
30674        (WebCore::TypingCommand::ensureLastEditCommandHasCurrentSelectionIfOpenForMoreTyping):
30675        (WebCore::TypingCommand::markMisspellingsAfterTyping):
30676        (WebCore::TypingCommand::deleteKeyPressed):
30677        (WebCore::TypingCommand::forwardDeleteKeyPressed):
30678        (WebCore::FriendlyEditCommand::setEndingSelection):
30679        (WebCore::TypingCommand::setEndingSelectionOnLastInsertCommand):
30680        * editing/TypingCommand.h:
30681        * editing/VisiblePosition.h:
30682        (WebCore::operator<):
30683        (WebCore::operator>):
30684        (WebCore::operator<=):
30685        (WebCore::operator>=):
30686        * editing/VisibleSelection.cpp:
30687        (WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity):
30688        (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries):
30689        * editing/VisibleUnits.cpp:
30690        (WebCore::previousBoundary):
30691        (WebCore::nextBoundary):
30692        (WebCore::startOfDocument):
30693        (WebCore::endOfDocument):
30694        (WebCore::directionIsDownstream):
30695        (WebCore::atBoundaryOfGranularity):
30696        (WebCore::withinTextUnitOfGranularity):
30697        (WebCore::nextCharacterBoundaryInDirection):
30698        (WebCore::nextWordBoundaryInDirection):
30699        (WebCore::nextSentenceBoundaryInDirection):
30700        (WebCore::nextLineBoundaryInDirection):
30701        (WebCore::nextParagraphBoundaryInDirection):
30702        (WebCore::nextDocumentBoundaryInDirection):
30703        (WebCore::positionOfNextBoundaryOfGranularity):
30704        (WebCore::enclosingTextUnitOfGranularity):
30705        (WebCore::distanceBetweenPositions):
30706        (WebCore::wordRangeFromPosition):
30707        (WebCore::closestWordBoundaryForPosition):
30708        * editing/VisibleUnits.h:
30709        * editing/ios/DictationCommandIOS.cpp: Added.
30710        * editing/ios/DictationCommandIOS.h: Added.
30711        (WebCore::DictationCommandIOS::create):
30712        (WebCore::DictationCommandIOS::editingAction):
30713        * editing/mac/FrameSelectionMac.mm:
30714        (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
30715        * fileapi/AsyncFileStream.cpp:
30716        * generate-export-file: Added.
30717        * inspector/InspectorCounters.h:
30718        * inspector/InspectorFrontendHost.h:
30719        * make-export-file-generator:
30720        * plugins/PluginPackage.h:
30721        * plugins/PluginViewBase.h:
30722        (WebCore::PluginViewBase::willProvidePluginLayer):
30723        (WebCore::PluginViewBase::attachPluginLayer):
30724        (WebCore::PluginViewBase::detachPluginLayer):
30725        * style/StyleResolveForDocument.cpp:
30726        (WebCore::Style::resolveForDocument):
30727        * style/StyleResolveTree.cpp:
30728        (WebCore::Style::elementImplicitVisibility):
30729        * testing/Internals.cpp:
30730        (WebCore::Internals::getCurrentCursorInfo):
30731        (WebCore::Internals::isSelectPopupVisible):
30732        * workers/WorkerThread.cpp:
30733        (WebCore::WorkerThread::workerThread):
30734
307352014-01-10  Daniel Bates  <dabates@apple.com>
30736
30737        Fix the iOS build after <http://trac.webkit.org/changeset/161589>
30738        (https://bugs.webkit.org/show_bug.cgi?id=126654)
30739
30740        * platform/graphics/ios/MediaPlayerPrivateIOS.h:
30741        (WebCore::MediaPlayerPrivateIOS::engineDescription): Adding missing return keyword.
30742
307432014-01-10  Andrei Bucur  <abucur@adobe.com>
30744
30745        [CSS Regions] Remove unused CSSParser::parseFlowThread
30746        https://bugs.webkit.org/show_bug.cgi?id=126749
30747
30748        Reviewed by Antti Koivisto.
30749
30750        There are two versions of CSSParser::parseFlowThread. Remove the unused one:
30751        bool parseFlowThread(const String& flowName);
30752
30753        Tests: No tests, code cleanup.
30754
30755        * css/CSSParser.cpp:
30756        * css/CSSParser.h:
30757
307582014-01-10  Alex Christensen  <achristensen@webkit.org>
30759
30760        [WinCairo] Build fix after r161589.
30761        https://bugs.webkit.org/show_bug.cgi?id=126747
30762
30763        Reviewed by Anders Carlsson.
30764
30765        * platform/network/ResourceHandle.cpp:
30766        Include NotImplemented.h for all platforms.
30767
307682014-01-10  Anders Carlsson  <andersca@apple.com>
30769
30770        Convert some for loops over to range-based for
30771        https://bugs.webkit.org/show_bug.cgi?id=126752
30772
30773        Reviewed by Antti Koivisto.
30774
30775        * inspector/InspectorApplicationCacheAgent.cpp:
30776        (WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources):
30777        * loader/appcache/ApplicationCache.cpp:
30778        (WebCore::ApplicationCache::clearStorageID):
30779        * loader/appcache/ApplicationCacheGroup.cpp:
30780        (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
30781        (WebCore::ApplicationCacheGroup::clearStorageID):
30782        * loader/appcache/ApplicationCacheHost.cpp:
30783        (WebCore::ApplicationCacheHost::fillResourceList):
30784        * loader/appcache/ApplicationCacheResource.cpp:
30785        (WebCore::ApplicationCacheResource::estimatedSizeInStorage):
30786        * loader/appcache/ApplicationCacheStorage.cpp:
30787        (WebCore::ApplicationCacheStorage::cacheGroupForURL):
30788        * loader/archive/ArchiveFactory.cpp:
30789        (WebCore::ArchiveFactory::registerKnownArchiveMIMETypes):
30790        * page/animation/AnimationController.cpp:
30791        (WebCore::AnimationControllerPrivate::styleAvailable):
30792        (WebCore::AnimationControllerPrivate::startTimeResponse):
30793
307942014-01-10  Anders Carlsson  <andersca@apple.com>
30795
30796        Tighten up two functions in the inspector code
30797        https://bugs.webkit.org/show_bug.cgi?id=126751
30798
30799        Reviewed by Antti Koivisto.
30800
30801        * inspector/InspectorInstrumentation.cpp:
30802        (WebCore::InspectorInstrumentation::frameStartedLoadingImpl):
30803        (WebCore::InspectorInstrumentation::frameStoppedLoadingImpl):
30804        * inspector/InspectorInstrumentation.h:
30805        (WebCore::InspectorInstrumentation::frameStartedLoading):
30806        (WebCore::InspectorInstrumentation::frameStoppedLoading):
30807        * inspector/InspectorPageAgent.cpp:
30808        (WebCore::InspectorPageAgent::frameStartedLoading):
30809        (WebCore::InspectorPageAgent::frameStoppedLoading):
30810        * inspector/InspectorPageAgent.h:
30811
308122014-01-10  Antti Koivisto  <antti@apple.com>
30813
30814        Crash when mutating SVG text with transform
30815        https://bugs.webkit.org/show_bug.cgi?id=126744
30816
30817        Reviewed by Dirk Schulze.
30818
30819        Test: svg/custom/mutation-text-transform-crash.html
30820        
30821        Text-transform property triggers subtreeTextDidChange when an SVG text renderer is
30822        being added to the render tree. The function assumes the child is already fully in the tree
30823        but in this case we are still in middle of adding it.
30824
30825        * rendering/svg/RenderSVGText.cpp:
30826        (WebCore::RenderSVGText::subtreeTextDidChange):
30827        
30828            Bail out if the changed RenderSVGInlineText can't be found from m_layoutAttributes.
30829            This means that subtreeChildWasAdded hasn't been invoked yet for it and there is nothing
30830            to update. The required updates will happen in subtreeChildWasAdded.
30831
308322014-01-10  Frédéric Wang  <fred.wang@free.fr>
30833
30834        [SVG] Accept HTML and MathML namespaces as valid requiredExtensions
30835        https://bugs.webkit.org/show_bug.cgi?id=88188
30836
30837        Reviewed by Dirk Schulze.
30838
30839        When HTML and MathML are used as foreign objects of an SVG image, it is
30840        important for Web authors to be able to specify a fallback content for
30841        SVG-only readers or browsers without MathML support. We rely on the
30842        requiredExtensions for that purpose and we use the XHTML/MathML
30843        namespaces as suggested in SVG Tiny 1.2 and implemented in Gecko.
30844
30845        Tests: svg/custom/conditional-processing-1.svg
30846               svg/custom/conditional-processing-2.html
30847               svg/dom/SVGTests.html
30848
30849        * svg/SVGSwitchElement.cpp: Remove an incorrect FIXME comment and replace it with a reference to bug 74749.
30850        (WebCore::SVGSwitchElement::childShouldCreateRenderer):
30851        * svg/SVGTests.cpp: Check if the list of required extensions contains only the XHTML/MathML namespaces.
30852        (WebCore::SVGTests::hasExtension):
30853        (WebCore::SVGTests::isValid):
30854
308552014-01-10  Mihai Tica  <mitica@adobe.com>
30856
30857        Add support for blendmode to Core Animation layer.
30858        Patch by Rik Cabanier, Dean Jackson and Mihai Tica.
30859
30860        https://bugs.webkit.org/show_bug.cgi?id=99200
30861
30862        Reviewed by Dirk Schulze.
30863
30864        Tests: css3/compositing/blend-mode-layers.html
30865               css3/compositing/blend-mode-overflow.html
30866               css3/compositing/blend-mode-reflection.html
30867               css3/compositing/blend-mode-should-not-have-compositing-layer.html
30868               css3/compositing/blend-mode-simple.html
30869
30870        * WebCore.exp.in: export PlatformCALayer::setBlendMode for WebKit::PlatformCALayerRemote
30871        * WebCore.xcodeproj/project.pbxproj: Add PlatformCAFiltersMac.h
30872        * platform/graphics/GraphicsLayer.cpp: add blendMode member
30873        (WebCore::GraphicsLayer::GraphicsLayer):
30874        * platform/graphics/GraphicsLayer.h:
30875        (WebCore::GraphicsLayer::blendMode):
30876        (WebCore::GraphicsLayer::setBlendMode):
30877        * platform/graphics/ca/GraphicsLayerCA.cpp:
30878        (WebCore::GraphicsLayerCA::setBlendMode):
30879        (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): add call to updateBlendMode()
30880        (WebCore::GraphicsLayerCA::updateBlendMode):
30881        * platform/graphics/ca/GraphicsLayerCA.h:
30882        * platform/graphics/ca/PlatformCAFilters.h:
30883        * platform/graphics/ca/PlatformCALayer.h:
30884        * platform/graphics/ca/mac/PlatformCAFiltersMac.h: Added.
30885        * platform/graphics/ca/mac/PlatformCAFiltersMac.mm:
30886        (PlatformCAFilters::setBlendingFiltersOnLayer): set a compositing CAFilter on CALayer
30887        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
30888        (PlatformCALayer::setBlendMode): call to PlatformCAFilters::setBlendingFiltersOnLayer
30889        * rendering/RenderLayerBacking.cpp:
30890        (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
30891        (WebCore::RenderLayerBacking::updateBlendMode):
30892        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
30893        (WebCore::RenderLayerBacking::setBlendMode):
30894        * rendering/RenderLayerBacking.h:
30895        * rendering/RenderLayerCompositor.cpp:
30896        (WebCore::CompositingState::CompositingState): add m_subtreeHasBlending member
30897        (WebCore::RenderLayerCompositor::computeCompositingRequirements): promote layer if subtree has blending
30898        (WebCore::RenderLayerCompositor::reasonsForCompositing):
30899        (WebCore::RenderLayerCompositor::logReasonsForCompositing): log blending reason
30900        (WebCore::RenderLayerCompositor::requiresCompositingForIndirectReason): add blending reason
30901        * rendering/RenderLayerCompositor.h:
30902
309032014-01-10  Andrei Bucur  <abucur@adobe.com>
30904
30905        [CSS Regions] Implement visual overflow computation for inline elements
30906        https://bugs.webkit.org/show_bug.cgi?id=125291
30907
30908        Reviewed by David Hyatt.
30909
30910        The patch implements visual overflow computation for inline elements per region. The algorithm
30911        uses the container region of each root line box to determine the lines in a region generated by
30912        a RenderInline. The overflow of a RenderInline inside a region is the smallest rectangle that fits
30913        all the line boxes belonging to that region.
30914
30915        The patch also correctly flips for writing mode the overflow of a renderer before clipping with it.
30916
30917        Tests: fast/regions/overflow-in-variable-width-regions-inline-bt.html
30918               fast/regions/overflow-in-variable-width-regions-inline-continuation.html
30919               fast/regions/overflow-in-variable-width-regions-inline-lr.html
30920               fast/regions/overflow-in-variable-width-regions-inline-rl.html
30921               fast/regions/overflow-in-variable-width-regions-inline.html
30922
30923        * rendering/RenderFlowThread.cpp:
30924        (WebCore::RenderFlowThread::objectShouldPaintInFlowRegion):
30925        * rendering/RenderInline.cpp:
30926        (WebCore::RenderInline::updateAlwaysCreateLineBoxes): Always create line boxes for RenderInline
30927        (WebCore::RenderInline::linesVisualOverflowBoundingBoxInRegion):
30928        * rendering/RenderInline.h:
30929        * rendering/RenderLayer.cpp:
30930        (WebCore::RenderLayer::calculateClipRects):
30931        * rendering/RenderRegion.cpp:
30932        (WebCore::RenderRegion::visualOverflowRectForBox):
30933        (WebCore::RenderRegion::visualOverflowRectForBoxForPropagation):
30934        * rendering/RenderRegion.h:
30935
309362014-01-09  Jer Noble  <jer.noble@apple.com>
30937
30938        [Mac] .mp3 media document controls missing their background
30939        https://bugs.webkit.org/show_bug.cgi?id=126683
30940
30941        Reviewed by Eric Carlson.
30942
30943        Test: media/media-document-audio-controls-visible.html
30944
30945        <video> elements in a media document are created with an intrinsic size of 300x1,
30946        with the expectation that either the size will be updated if the media has a video
30947        track, or the controls will visibly overflow if the media is audio-only. Since the
30948        shadow root is a flex-box, the panel was being collapsed to 1px high, so give the panel
30949        a minimum height to prevent that. Also, disable "fading out" the controls in a
30950        media document for an audio-only file by adding a "no-video" class to the panel
30951        and adding a media document-only rule to force the controls to always be visible.
30952
30953        * Modules/mediacontrols/mediaControlsApple.css:
30954        (video:-webkit-full-page-media::-webkit-media-controls-panel.no-video):
30955        (audio::-webkit-media-controls-panel):
30956        * Modules/mediacontrols/mediaControlsApple.js:
30957        (Controller): Call updateHasVideo().
30958        (Controller.prototype.addVideoListeners): Add video track listeners.
30959        (Controller.prototype.removeVideoListeners): Remove same.
30960        (Controller.prototype.updateHasVideo): Add a 'no-video' class to the panel if
30961            the video element has no video tracks.
30962
309632014-01-09  Anders Carlsson  <andersca@apple.com>
30964
30965        Clean up ProgressTracker a little
30966        https://bugs.webkit.org/show_bug.cgi?id=126738
30967
30968        Reviewed by Dan Bernstein.
30969
30970        Use Frame& where the frame can never be null, avoid an extra hash lookup and
30971        switch the m_progressItems map over to std::unique_ptr.
30972
30973        * inspector/InspectorInstrumentation.h:
30974        (WebCore::InspectorInstrumentation::frameStartedLoading):
30975        * loader/FrameLoader.cpp:
30976        (WebCore::FrameLoader::FrameProgressTracker::~FrameProgressTracker):
30977        (WebCore::FrameLoader::FrameProgressTracker::progressStarted):
30978        (WebCore::FrameLoader::FrameProgressTracker::progressCompleted):
30979        * loader/ProgressTracker.cpp:
30980        (WebCore::ProgressTracker::progressStarted):
30981        (WebCore::ProgressTracker::progressCompleted):
30982        (WebCore::ProgressTracker::incrementProgress):
30983        * loader/ProgressTracker.h:
30984        * loader/ResourceLoadNotifier.cpp:
30985        (WebCore::ResourceLoadNotifier::didReceiveData):
30986
309872014-01-09  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
30988
30989        Fix a build break on EFL debug build
30990        https://bugs.webkit.org/show_bug.cgi?id=126735
30991
30992        Reviewed by Anders Carlsson.
30993
30994        No new tests, just build fix.
30995
30996        * platform/ThreadTimers.cpp:
30997        (WebCore::ThreadTimers::sharedTimerFiredInternal):  Add parentheses.
30998
309992014-01-09  Anders Carlsson  <andersca@apple.com>
31000
31001        Remove unused FrameLoader member functions
31002        https://bugs.webkit.org/show_bug.cgi?id=126734
31003
31004        Reviewed by Andreas Kling.
31005
31006        * loader/FrameLoader.cpp:
31007        * loader/FrameLoader.h:
31008
310092014-01-09  Joseph Pecoraro  <pecoraro@apple.com>
31010
31011        Unreviewed Windows build fix for r161563.
31012
31013        Remove stale forward declaration causing namespace ambiguity
31014        later on in a Windows AllInOne file that picked it up. Also
31015        remove a few stale functions that are not used and accidentally
31016        got added back in when the file changed names.
31017
31018        * bindings/js/ScriptGlobalObject.h:
31019
310202014-01-09  Dean Jackson  <dino@apple.com>
31021
31022        [WebGL] Expose texture_float_linear and texture_half_float to getSupportedExtensions
31023        https://bugs.webkit.org/show_bug.cgi?id=126732
31024
31025        Reviewed by Tim Horton.
31026
31027        When I added support for these two extensions, I forgot to add their
31028        names to the list in getSupportedExtensions.
31029
31030        Covered by the Khronos test: conformance/extensions/get-extension.html
31031
31032        * html/canvas/WebGLRenderingContext.cpp:
31033        (WebCore::WebGLRenderingContext::getSupportedExtensions): Add OES_texture_float_linear
31034        and OES_texture_half_float if the WebGL context supports them.
31035
310362014-01-09  Joseph Pecoraro  <pecoraro@apple.com>
31037
31038        Revert r161611, incorrect fix, will fix better.
31039
31040        * bindings/js/ScriptGlobalObject.h:
31041
310422014-01-09  Jer Noble  <jer.noble@apple.com>
31043
31044        [Mac] Scrubbing performance of HD content with software decoding is poor.
31045        https://bugs.webkit.org/show_bug.cgi?id=126705
31046
31047        Reviewed by Eric Carlson.
31048
31049        Instead of issuing a new seek before the previous one completes, wait until that seek's
31050        completion handler is called, and then issue the new seek. This has the added benefit of
31051        coalescing multiple incoming seeks so that only the last one is acted upon.
31052
31053        Save the parameters passed into seekToTime and bind them together in a std::function
31054        to be replayed once the in-flight seek completes. To handle the case where a completion
31055        handler fires after the media player is destroyed, add a weakPtrFactory and pass a
31056        WeakPtr into the completion handler.
31057        
31058        Clean up some ivars which are no longer necessary: remove m_seekCount and m_seekTime.
31059
31060        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
31061        (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation): Initialize the
31062            WeakPtrFactory.
31063        (WebCore::MediaPlayerPrivateAVFoundation::seekWithTolerance):
31064        (WebCore::MediaPlayerPrivateAVFoundation::seeking): m_seekTime -> m_seeking.
31065        (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted):
31066        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
31067        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
31068        (WebCore::MediaPlayerPrivateAVFoundationObjC::createWeakPtr):
31069        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
31070        (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC):
31071        (WebCore::MediaPlayerPrivateAVFoundationObjC::seekToTime):
31072        (WebCore::MediaPlayerPrivateAVFoundationObjC::finishSeek):
31073
310742014-01-08  Jer Noble  <jer.noble@apple.com>
31075
31076        [MSE][Mac] Report the intrinsic size of the media element
31077        https://bugs.webkit.org/show_bug.cgi?id=125156
31078
31079        Reviewed by Eric Carlson.
31080
31081        * WebCore.xcodeproj/project.pbxproj:
31082        * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
31083        * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
31084        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::naturalSize): Pass to MediaSourcePrivateAVFObjC.
31085        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::sizeChanged): Added; Pass to MediaPlayer.
31086        * platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.h:
31087        * platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:
31088        (WebCore::MediaSourcePrivateAVFObjC::naturalSize): Return the union of the naturalSizes of all active buffers.
31089        * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
31090        * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
31091        (WebCore::SourceBufferPrivateAVFObjC::didParseStreamDataAsAsset): Notify the media player that the size changed.
31092        (WebCore::SourceBufferPrivateAVFObjC::naturalSize): Return the size of the selected video track.
31093        * platform/graphics/avfoundation/objc/VideoTrackPrivateMediaSourceAVFObjC.h:
31094        * platform/graphics/avfoundation/objc/VideoTrackPrivateMediaSourceAVFObjC.mm: Renamed from Source/WebCore/platform/graphics/avfoundation/objc/VideoTrackPrivateMediaSourceAVFObjC.cpp.
31095        (WebCore::VideoTrackPrivateMediaSourceAVFObjC::assetTrack): Made const.
31096        (WebCore::VideoTrackPrivateMediaSourceAVFObjC::naturalSize): Return the size of the AVAssetTrack.
31097
310982014-01-09  Joseph Pecoraro  <pecoraro@apple.com>
31099
31100        Unreviewed Windows build fix for r161563.
31101
31102        Remove stale forward declaration causing namespace ambiguity
31103        later on in a Windows AllInOne file that picked it up.
31104
31105        * bindings/js/ScriptGlobalObject.h:
31106
311072014-01-09  Simon Fraser  <simon.fraser@apple.com>
31108
31109        Enable async scrolling for iOS
31110        https://bugs.webkit.org/show_bug.cgi?id=126730
31111
31112        Reviewed by Tim Horton.
31113
31114        Turn on ENABLE_ASYNC_SCROLLING for iOS.
31115        
31116        Disable rubber-banding and scrollbar-related Mac code for PLATFORM(IOS),
31117        provide stubs for scrolling nodes and scrolling state nodes, and an
31118        iOS scrolling tree, and scrolling coordinator.
31119        
31120        Move crollingCoordinator::create() into the platform implementation file.
31121
31122        * page/scrolling/ScrollingCoordinator.cpp:
31123        (WebCore::ScrollingCoordinator::create):
31124        * page/scrolling/ScrollingStateScrollingNode.cpp:
31125        (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
31126        (WebCore::ScrollingStateScrollingNode::setScrollbarPaintersFromScrollbars):
31127        * page/scrolling/ScrollingStateScrollingNode.h:
31128        * page/scrolling/ScrollingTree.h:
31129        (WebCore::ScrollingTree::isScrollingTreeIOS):
31130        * page/scrolling/ThreadedScrollingTree.h:
31131        * page/scrolling/ios/ScrollingCoordinatorIOS.h: Copied from Source/WebKit2/UIProcess/Scrolling/RemoteScrollingTree.h.
31132        * page/scrolling/ios/ScrollingCoordinatorIOS.mm: Copied from Source/WebCore/page/scrolling/mac/ScrollingCoordinatorMac.mm.
31133        (WebCore::ScrollingCoordinator::create):
31134        (WebCore::ScrollingCoordinatorIOS::ScrollingCoordinatorIOS):
31135        (WebCore::ScrollingCoordinatorIOS::~ScrollingCoordinatorIOS):
31136        (WebCore::ScrollingCoordinatorIOS::pageDestroyed):
31137        (WebCore::ScrollingCoordinatorIOS::commitTreeStateIfNeeded):
31138        (WebCore::ScrollingCoordinatorIOS::scheduleTreeStateCommit):
31139        (WebCore::ScrollingCoordinatorIOS::scrollingStateTreeCommitterTimerFired):
31140        (WebCore::ScrollingCoordinatorIOS::commitTreeState):
31141        (WebCore::ScrollingCoordinatorIOS::createScrollingTreeNode):
31142        * page/scrolling/ios/ScrollingTreeIOS.cpp: Added.
31143        (WebCore::ScrollingTreeIOS::create):
31144        (WebCore::ScrollingTreeIOS::ScrollingTreeIOS):
31145        (WebCore::ScrollingTreeIOS::~ScrollingTreeIOS):
31146        (WebCore::derefScrollingCoordinator):
31147        (WebCore::ScrollingTreeIOS::invalidate):
31148        (WebCore::ScrollingTreeIOS::commitNewTreeState):
31149        (WebCore::ScrollingTreeIOS::updateMainFrameScrollPosition):
31150        (WebCore::ScrollingTreeIOS::createNode):
31151        * page/scrolling/ios/ScrollingTreeIOS.h: Copied from Source/WebCore/page/scrolling/ThreadedScrollingTree.h.
31152        * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.h: Added.
31153        * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm: Added.
31154        (WebCore::ScrollingTreeScrollingNodeIOS::create):
31155        (WebCore::ScrollingTreeScrollingNodeIOS::ScrollingTreeScrollingNodeIOS):
31156        (WebCore::ScrollingTreeScrollingNodeIOS::~ScrollingTreeScrollingNodeIOS):
31157        (WebCore::ScrollingTreeScrollingNodeIOS::updateBeforeChildren):
31158        (WebCore::ScrollingTreeScrollingNodeIOS::updateAfterChildren):
31159        (WebCore::ScrollingTreeScrollingNodeIOS::scrollPosition):
31160        (WebCore::ScrollingTreeScrollingNodeIOS::setScrollPosition):
31161        (WebCore::ScrollingTreeScrollingNodeIOS::setScrollPositionWithoutContentEdgeConstraints):
31162        (WebCore::ScrollingTreeScrollingNodeIOS::setScrollLayerPosition):
31163        (WebCore::ScrollingTreeScrollingNodeIOS::minimumScrollPosition):
31164        (WebCore::ScrollingTreeScrollingNodeIOS::maximumScrollPosition):
31165        (WebCore::ScrollingTreeScrollingNodeIOS::scrollBy):
31166        (WebCore::ScrollingTreeScrollingNodeIOS::scrollByWithoutContentEdgeConstraints):
31167        * page/scrolling/mac/ScrollingCoordinatorMac.mm:
31168        (WebCore::ScrollingCoordinator::create):
31169        * page/scrolling/mac/ScrollingTreeFixedNode.mm:
31170        * page/scrolling/mac/ScrollingTreeStickyNode.mm:
31171
311722014-01-09  Myles C. Maxfield  <mmaxfield@apple.com>
31173
31174        text-decoration-skip: ink does not work with line wraps
31175        https://bugs.webkit.org/show_bug.cgi?id=126729
31176
31177        Reviewed by Simon Fraser.
31178
31179        InlineTextBox's m_start and m_length fields are offsets into the renderer's string,
31180        not the generated TextRun. Because of this distinction, when multiple InlineTextBoxes
31181        were constructed for the same element, all the subsequent elements would use incorrect
31182        indices and therefore not have skipping decorations.
31183
31184        Test: fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-ink-multiline.html
31185
31186        * platform/graphics/Font.h:
31187        * platform/graphics/mac/FontMac.mm:
31188        (WebCore::Font::dashesForIntersectionsWithRect):
31189        * rendering/InlineTextBox.cpp:
31190        (WebCore::drawSkipInkUnderline):
31191        (WebCore::InlineTextBox::paintDecoration):
31192        * rendering/TextPainter.cpp:
31193        (WebCore::TextPainter::dashesForIntersectionsWithRect):
31194        * rendering/TextPainter.h:
31195
311962014-01-09  Benjamin Poulain  <bpoulain@apple.com>
31197
31198        Remove remaining blackberry files I could find in WebCore
31199        https://bugs.webkit.org/show_bug.cgi?id=126715
31200
31201        Reviewed by Anders Carlsson.
31202
31203        * PlatformBlackBerry.cmake: Removed.
31204        * Resources/blackberry: Removed.
31205        * css/mediaControlsBlackBerry.css: Removed.
31206        * css/mediaControlsBlackBerryFullscreen.css: Removed.
31207        * css/themeBlackBerry.css: Removed.
31208        * editing/blackberry: Removed.
31209        * history/blackberry: Removed.
31210        * html/shadow/MediaControlsBlackBerry.cpp: Removed.
31211        * html/shadow/MediaControlsBlackBerry.h: Removed.
31212        * page/blackberry: Removed.
31213        * page/scrolling/blackberry: Removed.
31214        * plugins/blackberry: Removed.
31215
312162014-01-09  Brent Fulgham  <bfulgham@apple.com>
31217
31218        [WebGL] Return filtered results for getProgramParameter for ACTIVE_ATTRIBUTES and ACTIVE_UNIFORMS
31219        https://bugs.webkit.org/show_bug.cgi?id=126718
31220        <rdar://problem/15202048>
31221
31222        Reviewed by Dean Jackson.
31223
31224        Covered by webgl/conformance/ogles/GL/biuDepthRange/biuDepthRange_001_to_002.html and
31225        webgl/conformance/ogles/GL/gl_FragCoord/gl_FragCoord_001_to_003.html.
31226
31227        * html/canvas/WebGLRenderingContext.cpp:
31228        (WebCore::WebGLRenderingContext::getActiveAttrib): Added loging.
31229        (WebCore::WebGLRenderingContext::getActiveUniform): Added logging.
31230        (WebCore::WebGLRenderingContext::getAttribLocation): Drive-by-fix. Return
31231        -1 on link failure (an invalid location) rather than 0 (a valid
31232        location) when link fails.
31233        (WebCore::WebGLRenderingContext::getProgramParameter): Use new
31234        method to return filtered count.
31235        (WebCore::WebGLRenderingContext::getUniformLocation): Use nullptr
31236        rather than returning 0.
31237        * platform/graphics/GraphicsContext3D.h:
31238        (WebCore::GraphicsContext3D::ActiveShaderSymbolCounts::ActiveShaderSymbolCounts):
31239        (WebCore::GraphicsContext3D::ActiveShaderSymbolCounts::countForType):
31240        * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
31241        (WebCore::GraphicsContext3D::precisionsMatch): Drive-by-fix. Don't
31242        copy giant objects to read a single value.
31243        (WebCore::GraphicsContext3D::compileShader): Release filtered count
31244        when we change shader source code.
31245        (WebCore::GraphicsContext3D::getActiveAttribImpl): Renamed from getActiveAttrib.
31246        (WebCore::GraphicsContext3D::getActiveAttrib): Maps filtered indices to
31247        real OpenGL indices.
31248        (WebCore::GraphicsContext3D::getActiveUniformImpl): Renamed from getActiveUniform.
31249        (WebCore::GraphicsContext3D::getActiveUniform): Maps filtered indices to
31250        real OpenGL indices.
31251        (WebCore::GraphicsContext3D::originalSymbolName): Use C++11 loop.
31252        (WebCore::GraphicsContext3D::getAttribLocation): Added logging.
31253        (WebCore::GraphicsContext3D::getNonBuiltinActiveSymbolCount): Added.
31254        (WebCore::GraphicsContext3D::getShaderiv): Const correctness.
31255        (WebCore::GraphicsContext3D::getShaderInfoLog): Ditto.
31256        (WebCore::GraphicsContext3D::getShaderSource): Ditto.
31257
312582014-01-09  Zoltan Horvath  <zoltan@webkit.org>
31259
31260        [CSS Shapes] First line gets incorrectly adjusted in shape-inside due to rounding
31261        https://bugs.webkit.org/show_bug.cgi?id=126601
31262
31263        Reviewed by Bem Jones-Bey.
31264
31265        In order to get consistent results of the first fit position of the content in shapes,
31266        firstIncludedIntervalLogicalTop should take a FloatSize rather than LayoutSize for
31267        minLogicalIntervalSize, because LayoutSize clamps the float value to int, when subpixel-layout
31268        is disabled, thus firstIncludedIntervalLogicalTop could end up calculating with an unprecize
31269        value. This change modifies firstIncludedIntervalLogicalTop to take FloatSize consistently.
31270
31271        Test: fast/shapes/shape-inside/shape-inside-polygon-rounded-first-fit.html
31272
31273        * rendering/shapes/BoxShape.cpp:
31274        (WebCore::BoxShape::firstIncludedIntervalLogicalTop):
31275        * rendering/shapes/BoxShape.h:
31276        * rendering/shapes/PolygonShape.cpp:
31277        (WebCore::PolygonShape::firstIncludedIntervalLogicalTop):
31278        * rendering/shapes/PolygonShape.h:
31279        * rendering/shapes/RasterShape.cpp:
31280        (WebCore::RasterShape::firstIncludedIntervalLogicalTop):
31281        * rendering/shapes/RasterShape.h:
31282        * rendering/shapes/RectangleShape.cpp:
31283        (WebCore::RectangleShape::firstIncludedIntervalLogicalTop):
31284        * rendering/shapes/RectangleShape.h:
31285        * rendering/shapes/Shape.h:
31286        * rendering/shapes/ShapeInsideInfo.cpp:
31287        (WebCore::ShapeInsideInfo::adjustLogicalLineTop):
31288        (WebCore::ShapeInsideInfo::computeFirstFitPositionForFloat):
31289
312902014-01-09  Andy Estes  <aestes@apple.com>
31291
31292        [iOS] Upstream WAK
31293        https://bugs.webkit.org/show_bug.cgi?id=126724
31294
31295        Reviewed by David Kilzer.
31296
31297        * Configurations/WebCore.xcconfig: Excluded new iOS-specific Private
31298        headers on the Mac build.
31299        * WebCore.xcodeproj/project.pbxproj: Added new files to the project.
31300        * platform/ios/wak/WAKAppKitStubs.h: Added.
31301        * platform/ios/wak/WAKAppKitStubs.m: Added.
31302        * platform/ios/wak/WAKClipView.h: Added.
31303        * platform/ios/wak/WAKClipView.m: Added.
31304        * platform/ios/wak/WAKResponder.h: Added.
31305        * platform/ios/wak/WAKResponder.m: Added.
31306        * platform/ios/wak/WAKScrollView.h: Added.
31307        * platform/ios/wak/WAKScrollView.mm: Added.
31308        * platform/ios/wak/WAKView.h: Added.
31309        * platform/ios/wak/WAKView.mm: Added.
31310        * platform/ios/wak/WAKViewPrivate.h: Added.
31311        * platform/ios/wak/WAKWindow.h: Added.
31312        * platform/ios/wak/WAKWindow.mm: Added.
31313        * platform/ios/wak/WKContentObservation.cpp: Added.
31314        * platform/ios/wak/WKContentObservation.h: Added.
31315        * platform/ios/wak/WKGraphics.h: Added.
31316        * platform/ios/wak/WKGraphics.mm: Added.
31317        * platform/ios/wak/WKTypes.h: Added.
31318        * platform/ios/wak/WKUtilities.c: Added.
31319        * platform/ios/wak/WKUtilities.h: Added.
31320        * platform/ios/wak/WKView.h: Added.
31321        * platform/ios/wak/WKView.mm: Added.
31322        * platform/ios/wak/WKViewPrivate.h: Added.
31323        * platform/ios/wak/WebCoreThread.h: Added.
31324        * platform/ios/wak/WebCoreThread.mm: Added.
31325        * platform/ios/wak/WebCoreThreadInternal.h: Added.
31326        * platform/ios/wak/WebCoreThreadMessage.h: Added.
31327        * platform/ios/wak/WebCoreThreadRun.cpp: Added.
31328        * platform/ios/wak/WebCoreThreadRun.h: Added.
31329        * platform/ios/wak/WebCoreThreadSafe.h: Added.
31330        * platform/ios/wak/WebCoreThreadSystemInterface.cpp: Added.
31331        * platform/ios/wak/WebCoreThreadSystemInterface.h: Added.
31332
313332014-01-09  Daniel Bates  <dabates@apple.com>
31334
31335        Another attempt to fix the Windows build following <http://trac.webkit.org/changeset/161589>
31336        (https://bugs.webkit.org/show_bug.cgi?id=126654)
31337
31338        * platform/network/cf/ResourceRequest.h: Always declare ResourceRequest::updateFromDelegatePreservingOldHTTPBody()
31339        instead of only declaring it when building without CFNetwork.
31340
313412014-01-09  Daniel Bates  <dabates@apple.com>
31342
31343        Attempt to fix the Windows build following <http://trac.webkit.org/changeset/161589>
31344        (https://bugs.webkit.org/show_bug.cgi?id=126654)
31345
31346        For some reason, the Windows build is unhappy that NeverDestroyed<FontCache> calls the private constructor
31347        FontCache::FontCache() despite being a friend class of FontCache. Use DEFINE_STATIC_LOCAL instead of
31348        NeverDestroyed<> for now. I'll look to investigate this issue offline.
31349
31350        * platform/graphics/FontCache.cpp:
31351        (WebCore::fontCache):
31352        * platform/graphics/FontCache.h:
31353
313542014-01-09  Benjamin Poulain  <bpoulain@apple.com>
31355
31356        Remove blackberry from WebCore/platform
31357        https://bugs.webkit.org/show_bug.cgi?id=126715
31358
31359        Reviewed by Anders Carlsson.
31360
31361        * platform/blackberry: Removed.
31362        * platform/graphics/blackberry: Removed.
31363        * platform/graphics/filters/blackberry: Removed.
31364        * platform/image-decoders/blackberry: Removed.
31365        * platform/mediastream/blackberry: Removed.
31366        * platform/network/blackberry: Removed.
31367        * platform/text/blackberry: Removed.
31368
313692014-01-09  Alexey Proskuryakov  <ap@apple.com>
31370
31371        Fix a copy-paste mistake in an include guard.
31372
31373        Rubber-stamped by Sam Weinig.
31374
31375        * crypto/parameters/CryptoAlgorithmRsaKeyParamsWithHash.h:
31376
313772014-01-09  Anders Carlsson  <andersca@apple.com>
31378
31379        History::StateObjectType should be a strong enum
31380        https://bugs.webkit.org/show_bug.cgi?id=126725
31381
31382        Reviewed by Beth Dakin.
31383
31384        * bindings/js/JSHistoryCustom.cpp:
31385        (WebCore::JSHistory::pushState):
31386        (WebCore::JSHistory::replaceState):
31387        * loader/HistoryController.cpp:
31388        (WebCore::HistoryController::pushState):
31389        * page/History.cpp:
31390        (WebCore::History::stateObjectAdded):
31391        * page/History.h:
31392
313932014-01-09  Daniel Bates  <dabates@apple.com>
31394
31395        Attempt to fix the Mountain Lion Release (32-bit) build following <http://trac.webkit.org/changeset/161589>
31396        (https://bugs.webkit.org/show_bug.cgi?id=126654)
31397
31398        * platform/ios/WebEvent.h:
31399        * platform/ios/WebEvent.mm:
31400
314012014-01-09  Daniel Bates  <dabates@apple.com>
31402
31403        [iOS] Upstream WebCore/platform changes
31404        https://bugs.webkit.org/show_bug.cgi?id=126654
31405
31406        Rubber-stamped by David Kilzer.
31407
31408        * WebCore.exp.in:
31409        * WebCore.xcodeproj/project.pbxproj:
31410        * platform/ContentFilter.h:
31411        * platform/DragData.h:
31412        * platform/FileChooser.cpp:
31413        (WebCore::FileChooser::chooseMediaFiles):
31414        * platform/FileChooser.h:
31415        * platform/FileSystem.cpp:
31416        (WebCore::setMetadataURL):
31417        * platform/FileSystem.h:
31418        * platform/KillRingNone.cpp:
31419        * platform/LocalizedStrings.cpp:
31420        (WebCore::fileButtonChooseMediaFileLabel):
31421        (WebCore::fileButtonChooseMultipleMediaFilesLabel):
31422        (WebCore::fileButtonNoMediaFileSelectedLabel):
31423        (WebCore::fileButtonNoMediaFilesSelectedLabel):
31424        * platform/LocalizedStrings.h:
31425        * platform/Logging.h:
31426        * platform/MIMETypeRegistry.cpp:
31427        (WebCore::initializeSupportedImageMIMETypes):
31428        (WebCore::initializeSupportedNonImageMimeTypes):
31429        (WebCore::initializeUnsupportedTextMIMETypes):
31430        * platform/MemoryPressureHandler.cpp:
31431        (WebCore::MemoryPressureHandler::MemoryPressureHandler):
31432        * platform/MemoryPressureHandler.h:
31433        * platform/PlatformKeyboardEvent.h:
31434        (WebCore::PlatformKeyboardEvent::event):
31435        * platform/PlatformMouseEvent.h:
31436        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
31437        * platform/PlatformScreen.h:
31438        * platform/RuntimeApplicationChecks.cpp:
31439        (WebCore::mainBundleIsEqualTo):
31440        * platform/RuntimeApplicationChecksIOS.h: Copied from Source/WebCore/platform/graphics/StringTruncator.h.
31441        * platform/RuntimeApplicationChecksIOS.mm: Added.
31442        * platform/ScrollAnimator.cpp:
31443        (WebCore::ScrollAnimator::handleTouchEvent):
31444        * platform/ScrollAnimator.h:
31445        * platform/ScrollTypes.h:
31446        * platform/ScrollView.cpp:
31447        (WebCore::ScrollView::unscaledVisibleContentSize):
31448        (WebCore::ScrollView::visibleContentRect):
31449        * platform/ScrollView.h:
31450        (WebCore::ScrollView::actualScrollX):
31451        (WebCore::ScrollView::actualScrollY):
31452        * platform/ScrollableArea.cpp:
31453        (WebCore::ScrollableArea::handleTouchEvent):
31454        (WebCore::ScrollableArea::isPinnedInBothDirections):
31455        (WebCore::ScrollableArea::isPinnedHorizontallyInDirection):
31456        (WebCore::ScrollableArea::isPinnedVerticallyInDirection):
31457        * platform/ScrollableArea.h:
31458        (WebCore::ScrollableArea::isTouchScrollable):
31459        (WebCore::ScrollableArea::isOverflowScroll):
31460        (WebCore::ScrollableArea::didStartScroll):
31461        (WebCore::ScrollableArea::didEndScroll):
31462        (WebCore::ScrollableArea::didUpdateScroll):
31463        (WebCore::ScrollableArea::setIsUserScroll):
31464        (WebCore::ScrollableArea::isHorizontalScrollerPinnedToMinimumPosition):
31465        (WebCore::ScrollableArea::isHorizontalScrollerPinnedToMaximumPosition):
31466        (WebCore::ScrollableArea::isVerticalScrollerPinnedToMinimumPosition):
31467        (WebCore::ScrollableArea::isVerticalScrollerPinnedToMaximumPosition):
31468        * platform/Scrollbar.cpp:
31469        * platform/Scrollbar.h:
31470        * platform/SharedBuffer.cpp:
31471        (WebCore::SharedBuffer::SharedBuffer):
31472        (WebCore::SharedBuffer::createPurgeableBuffer):
31473        (WebCore::SharedBuffer::data):
31474        * platform/SharedBuffer.h:
31475        (WebCore::SharedBuffer::shouldUsePurgeableMemory):
31476        * platform/SuddenTermination.h:
31477        * platform/Supplementable.h:
31478        (WebCore::Supplementable::provideSupplement):
31479        (WebCore::Supplementable::removeSupplement):
31480        (WebCore::Supplementable::requireSupplement):
31481        * platform/SystemMemory.h: Copied from Source/WebCore/platform/graphics/StringTruncator.h.
31482        * platform/ThreadCheck.h:
31483        * platform/ThreadGlobalData.cpp:
31484        (WebCore::ThreadGlobalData::ThreadGlobalData):
31485        (WebCore::ThreadGlobalData::destroy):
31486        (WebCore::ThreadGlobalData::setWebCoreThreadData):
31487        (WebCore::threadGlobalData):
31488        * platform/ThreadGlobalData.h:
31489        * platform/ThreadTimers.cpp:
31490        (WebCore::ThreadTimers::ThreadTimers):
31491        (WebCore::ThreadTimers::sharedTimerFiredInternal):
31492        * platform/Timer.cpp:
31493        (WebCore::TimerBase::start):
31494        (WebCore::TimerBase::stop):
31495        (WebCore::TimerBase::setNextFireTime):
31496        * platform/Timer.h:
31497        (WebCore::TimerBase::isActive):
31498        * platform/URL.cpp:
31499        (WebCore::enableURLSchemeCanonicalization):
31500        (WebCore::equal):
31501        (WebCore::URL::parse):
31502        * platform/URL.h:
31503        * platform/Widget.h:
31504        * platform/audio/ios/AudioDestinationIOS.cpp:
31505        * platform/audio/ios/AudioDestinationIOS.h:
31506        * platform/audio/ios/AudioFileReaderIOS.cpp: Copied from Source/WebCore/platform/audio/mac/AudioFileReaderMac.cpp.
31507        (WebCore::createAudioBufferList):
31508        (WebCore::destroyAudioBufferList):
31509        (WebCore::AudioFileReader::AudioFileReader):
31510        (WebCore::AudioFileReader::~AudioFileReader):
31511        (WebCore::AudioFileReader::readProc):
31512        (WebCore::AudioFileReader::getSizeProc):
31513        (WebCore::AudioFileReader::createBus):
31514        (WebCore::createBusFromAudioFile):
31515        (WebCore::createBusFromInMemoryAudioFile):
31516        * platform/audio/ios/AudioFileReaderIOS.h: Copied from Source/WebCore/platform/graphics/StringTruncator.h.
31517        (WebCore::AudioFileReader::data):
31518        (WebCore::AudioFileReader::dataSize):
31519        * platform/audio/ios/AudioSessionIOS.mm:
31520        (SOFT_LINK_POINTER):
31521        (-[WebAudioSessionHelper initWithCallback:WebCore::]):
31522        (-[WebAudioSessionHelper dealloc]):
31523        (-[WebAudioSessionHelper interruption:]):
31524        (WebCore::AudioSession::setCategory):
31525        * platform/audio/mac/AudioDestinationMac.cpp:
31526        * platform/audio/mac/AudioFileReaderMac.cpp:
31527        (WebCore::AudioFileReader::AudioFileReader):
31528        (WebCore::createBusFromAudioFile):
31529        (WebCore::createBusFromInMemoryAudioFile):
31530        * platform/audio/mac/AudioSessionMac.cpp:
31531        * platform/audio/mac/MediaSessionManagerMac.cpp:
31532        (MediaSessionManager::updateSessionState):
31533        * platform/cf/SharedBufferCF.cpp:
31534        (WebCore::SharedBuffer::SharedBuffer):
31535        * platform/cf/URLCF.cpp:
31536        * platform/cocoa/KeyEventCocoa.mm:
31537        (WebCore::windowsKeyCodeForCharCode):
31538        * platform/graphics/BitmapImage.cpp:
31539        (WebCore::BitmapImage::BitmapImage):
31540        (WebCore::BitmapImage::destroyDecodedDataIfNecessary):
31541        (WebCore::BitmapImage::cacheFrame):
31542        (WebCore::BitmapImage::cacheFrameInfo):
31543        (WebCore::BitmapImage::updateSize):
31544        (WebCore::BitmapImage::originalSize):
31545        (WebCore::BitmapImage::originalSizeRespectingOrientation):
31546        (WebCore::BitmapImage::dataChanged):
31547        (WebCore::BitmapImage::ensureFrameInfoIsCached):
31548        (WebCore::BitmapImage::frameAtIndex):
31549        (WebCore::BitmapImage::frameIsCompleteAtIndex):
31550        (WebCore::BitmapImage::frameDurationAtIndex):
31551        (WebCore::BitmapImage::frameHasAlphaAtIndex):
31552        (WebCore::BitmapImage::frameOrientationAtIndex):
31553        (WebCore::BitmapImage::startAnimation):
31554        (WebCore::BitmapImage::internalAdvanceAnimation):
31555        * platform/graphics/BitmapImage.h:
31556        (WebCore::FrameData::FrameData):
31557        * platform/graphics/Color.cpp:
31558        (WebCore::Color::isDark):
31559        * platform/graphics/Color.h:
31560        * platform/graphics/DisplayRefreshMonitor.h:
31561        * platform/graphics/FloatPoint.h:
31562        * platform/graphics/FloatRect.h:
31563        * platform/graphics/FloatSize.h:
31564        * platform/graphics/Font.cpp:
31565        (WebCore::Font::drawText):
31566        (WebCore::Font::width):
31567        * platform/graphics/Font.h:
31568        * platform/graphics/FontCache.cpp:
31569        (initFontCacheLockOnce):
31570        (FontLocker::FontLocker):
31571        (FontLocker::~FontLocker):
31572        (WebCore::fontCache):
31573        (WebCore::FontCache::getCachedFontPlatformData):
31574        (WebCore::FontCache::getCachedFontData):
31575        (WebCore::FontCache::releaseFontData):
31576        (WebCore::FontCache::purgeInactiveFontDataIfNeeded):
31577        (WebCore::FontCache::purgeInactiveFontData):
31578        * platform/graphics/FontCache.h:
31579        * platform/graphics/FontFastPath.cpp:
31580        (WebCore::Font::drawSimpleText):
31581        (WebCore::Font::drawGlyphBuffer):
31582        * platform/graphics/FontGlyphs.h:
31583        * platform/graphics/FontPlatformData.cpp:
31584        (WebCore::FontPlatformData::FontPlatformData):
31585        * platform/graphics/FontPlatformData.h:
31586        (WebCore::FontPlatformData::font):
31587        (WebCore::FontPlatformData::roundsGlyphAdvances):
31588        (WebCore::FontPlatformData::hash):
31589        (WebCore::FontPlatformData::hashTableDeletedFontValue):
31590        * platform/graphics/GlyphPageTreeNode.cpp:
31591        (WebCore::GlyphPageTreeNode::initializePage):
31592        * platform/graphics/GraphicsContext.cpp:
31593        (WebCore::GraphicsContext::GraphicsContext):
31594        (WebCore::GraphicsContext::drawRaisedEllipse):
31595        (WebCore::GraphicsContext::drawText):
31596        (WebCore::GraphicsContext::drawBidiText):
31597        (WebCore::GraphicsContext::clipRoundedRect):
31598        (WebCore::GraphicsContext::emojiDrawingEnabled):
31599        (WebCore::GraphicsContext::setEmojiDrawingEnabled):
31600        * platform/graphics/GraphicsContext.h:
31601        (WebCore::GraphicsContextState::GraphicsContextState):
31602        * platform/graphics/GraphicsContext3D.h:
31603        * platform/graphics/GraphicsLayer.cpp:
31604        (WebCore::GraphicsLayer::willBeDestroyed):
31605        * platform/graphics/GraphicsLayer.h:
31606        (WebCore::GraphicsLayer::contentsLayerForMedia):
31607        (WebCore::GraphicsLayer::pixelAlignmentOffset):
31608        (WebCore::GraphicsLayer::hasFlattenedPerspectiveTransform):
31609        * platform/graphics/Icon.h:
31610        * platform/graphics/Image.cpp:
31611        (WebCore::Image::drawTiled):
31612        * platform/graphics/ImageSource.h:
31613        (WebCore::ImageSource::isSubsampled):
31614        * platform/graphics/IntPoint.h:
31615        * platform/graphics/IntRect.h:
31616        * platform/graphics/IntSize.h:
31617        * platform/graphics/MediaPlayer.cpp:
31618        (WebCore::installedMediaEngines):
31619        (WebCore::MediaPlayer::isCurrentPlaybackTargetWireless):
31620        (WebCore::MediaPlayer::showPlaybackTargetPicker):
31621        (WebCore::MediaPlayer::hasWirelessPlaybackTargets):
31622        (WebCore::MediaPlayer::wirelessVideoPlaybackDisabled):
31623        (WebCore::MediaPlayer::setWirelessVideoPlaybackDisabled):
31624        (WebCore::MediaPlayer::setHasPlaybackTargetAvailabilityListeners):
31625        (WebCore::MediaPlayer::currentPlaybackTargetIsWirelessChanged):
31626        (WebCore::MediaPlayer::playbackTargetAvailabilityChanged):
31627        (WebCore::MediaPlayer::attributeChanged):
31628        (WebCore::MediaPlayer::readyForPlayback):
31629        (WebCore::MediaPlayer::volumeChanged):
31630        * platform/graphics/MediaPlayer.h:
31631        (WebCore::MediaPlayerClient::mediaPlayerCurrentPlaybackTargetIsWirelessChanged):
31632        (WebCore::MediaPlayerClient::mediaPlayerPlaybackTargetAvailabilityChanged):
31633        * platform/graphics/MediaPlayerPrivate.h:
31634        (WebCore::MediaPlayerPrivateInterface::volume):
31635        (WebCore::MediaPlayerPrivateInterface::isCurrentPlaybackTargetWireless):
31636        (WebCore::MediaPlayerPrivateInterface::showPlaybackTargetPicker):
31637        (WebCore::MediaPlayerPrivateInterface::hasWirelessPlaybackTargets):
31638        (WebCore::MediaPlayerPrivateInterface::wirelessVideoPlaybackDisabled):
31639        (WebCore::MediaPlayerPrivateInterface::setWirelessVideoPlaybackDisabled):
31640        (WebCore::MediaPlayerPrivateInterface::setHasPlaybackTargetAvailabilityListeners):
31641        (WebCore::MediaPlayerPrivateInterface::attributeChanged):
31642        (WebCore::MediaPlayerPrivateInterface::readyForPlayback):
31643        * platform/graphics/SimpleFontData.cpp:
31644        (WebCore::SimpleFontData::SimpleFontData):
31645        * platform/graphics/SimpleFontData.h:
31646        * platform/graphics/StringTruncator.cpp:
31647        (WebCore::centerTruncateToBuffer):
31648        (WebCore::rightTruncateToBuffer):
31649        (WebCore::rightClipToCharacterBuffer):
31650        (WebCore::rightClipToWordBuffer):
31651        (WebCore::leftTruncateToBuffer):
31652        (WebCore::truncateString):
31653        (WebCore::StringTruncator::centerTruncate):
31654        (WebCore::StringTruncator::rightTruncate):
31655        (WebCore::StringTruncator::leftTruncate):
31656        (WebCore::StringTruncator::rightClipToCharacter):
31657        (WebCore::StringTruncator::rightClipToWord):
31658        * platform/graphics/StringTruncator.h:
31659        * platform/graphics/TextTrackRepresentation.cpp:
31660        * platform/graphics/WidthIterator.h:
31661        (WebCore::WidthIterator::supportsTypesettingFeatures):
31662        * platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.mm:
31663        (WebCore::AVTrackPrivateAVFObjCImpl::label):
31664        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
31665        (WebCore::MediaPlayerPrivateAVFoundationObjC::platformMaxTimeLoaded):
31666        (WebCore::wkAVAssetResolvedURL):
31667        * platform/graphics/blackberry/FontBlackBerry.cpp:
31668        (WebCore::Font::drawComplexText):
31669        * platform/graphics/ca/GraphicsLayerCA.cpp:
31670        (WebCore::supportsAcceleratedFilterAnimations):
31671        (WebCore::GraphicsLayerCA::setContentsToImage):
31672        (WebCore::GraphicsLayerCA::contentsLayerForMedia):
31673        (WebCore::GraphicsLayerCA::computeVisibleRect):
31674        (WebCore::GraphicsLayerCA::updateGeometry):
31675        (WebCore::GraphicsLayerCA::ensureStructuralLayer):
31676        (WebCore::GraphicsLayerCA::updateContentsRects):
31677        (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
31678        (WebCore::GraphicsLayerCA::setupContentsLayer):
31679        (WebCore::GraphicsLayerCA::mediaLayerMustBeUpdatedOnMainThread):
31680        (WebCore::GraphicsLayerCA::computePixelAlignment):
31681        * platform/graphics/ca/GraphicsLayerCA.h:
31682        * platform/graphics/ca/PlatformCAFilters.h:
31683        * platform/graphics/ca/PlatformCALayer.h:
31684        * platform/graphics/ca/mac/LayerFlushSchedulerMac.cpp:
31685        (WebCore::currentRunLoop):
31686        (WebCore::LayerFlushScheduler::schedule):
31687        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
31688        (-[WebAnimationDelegate animationDidStart:]):
31689        (PlatformCALayerMac::setContentsScale):
31690        (PlatformCALayer::isWebLayer):
31691        (PlatformCALayer::setBoundsOnMainThread):
31692        (PlatformCALayer::setPositionOnMainThread):
31693        (PlatformCALayer::setAnchorPointOnMainThread):
31694        (PlatformCALayer::setTileSize):
31695        * platform/graphics/ca/mac/TileController.mm:
31696        (WebCore::TileController::platformCALayerPaintContents):
31697        (WebCore::TileController::removeAllTiles):
31698        (WebCore::TileController::removeAllSecondaryTiles):
31699        (WebCore::TileController::removeTilesInCohort):
31700        (WebCore::TileController::revalidateTiles):
31701        (WebCore::TileController::createTileLayer):
31702        * platform/graphics/cairo/FontCairoHarfbuzzNG.cpp:
31703        (WebCore::Font::drawComplexText):
31704        * platform/graphics/cg/BitmapImageCG.cpp:
31705        (WebCore::FrameData::clear):
31706        (WebCore::BitmapImage::BitmapImage):
31707        (WebCore::BitmapImage::checkForSolidColor):
31708        (WebCore::BitmapImage::draw):
31709        (WebCore::BitmapImage::copyUnscaledFrameAtIndex):
31710        * platform/graphics/cg/ColorCG.cpp:
31711        (WebCore::createCGColorWithDeviceWhite):
31712        (WebCore::createCGColorWithDeviceRGBA):
31713        (WebCore::Color::Color):
31714        * platform/graphics/cg/FloatPointCG.cpp:
31715        * platform/graphics/cg/FloatRectCG.cpp:
31716        * platform/graphics/cg/FloatSizeCG.cpp:
31717        * platform/graphics/cg/GradientCG.cpp:
31718        * platform/graphics/cg/GraphicsContextCG.cpp:
31719        (WebCore::sRGBColorSpaceRef):
31720        (WebCore::setStrokeAndFillColor):
31721        (WebCore::GraphicsContext::platformInit):
31722        * platform/graphics/cg/ImageBufferCG.cpp:
31723        (WebCore::createIOSurface):
31724        (WebCore::ImageBuffer::ImageBuffer):
31725        (WebCore::ImageBuffer::draw):
31726        (WebCore::jpegUTI):
31727        (WebCore::utiFromMIMEType):
31728        * platform/graphics/cg/ImageBufferDataCG.cpp:
31729        (WebCore::ImageBufferData::getData):
31730        (WebCore::ImageBufferData::putData):
31731        * platform/graphics/cg/ImageBufferDataCG.h:
31732        * platform/graphics/cg/ImageCG.cpp:
31733        (WebCore::drawPatternCallback):
31734        (WebCore::Image::drawPattern):
31735        * platform/graphics/cg/ImageSourceCG.cpp:
31736        (WebCore::ImageSource::ImageSource):
31737        (WebCore::imageSourceOptions):
31738        (WebCore::ImageSource::imageSourceOptions):
31739        (WebCore::ImageSource::frameSizeAtIndex):
31740        (WebCore::ImageSource::originalSize):
31741        (WebCore::ImageSource::createFrameAtIndex):
31742        * platform/graphics/cg/ImageSourceCGMac.mm:
31743        * platform/graphics/cg/IntPointCG.cpp:
31744        * platform/graphics/cg/IntRectCG.cpp:
31745        * platform/graphics/cg/IntSizeCG.cpp:
31746        * platform/graphics/cg/PDFDocumentImage.cpp:
31747        * platform/graphics/cg/PathCG.cpp:
31748        * platform/graphics/cg/PatternCG.cpp:
31749        * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
31750        (WebCore::FontPlatformData::FontPlatformData):
31751        (WebCore::FontPlatformData::~FontPlatformData):
31752        (WebCore::FontPlatformData::platformDataInit):
31753        (WebCore::FontPlatformData::platformDataAssign):
31754        (WebCore::FontPlatformData::platformIsEqual):
31755        (WebCore::FontPlatformData::setFont):
31756        (WebCore::FontPlatformData::allowsLigatures):
31757        (WebCore::FontPlatformData::ctFont):
31758        * platform/graphics/ios/DisplayRefreshMonitorIOS.mm: Added.
31759        (WebCore::DisplayRefreshMonitor::~DisplayRefreshMonitor):
31760        (WebCore::DisplayRefreshMonitor::requestRefreshCallback):
31761        (WebCore::DisplayRefreshMonitor::displayLinkFired):
31762        * platform/graphics/ios/FontCacheIOS.mm: Added.
31763        * platform/graphics/ios/FontServicesIOS.h: Added.
31764        * platform/graphics/ios/FontServicesIOS.mm: Added.
31765        (WebCore::FontServicesIOS::FontServicesIOS):
31766        * platform/graphics/ios/GraphicsContext3DIOS.h: Added.
31767        * platform/graphics/ios/IconIOS.mm: Copied from Source/WebCore/platform/mac/DisplaySleepDisabler.cpp.
31768        * platform/graphics/ios/InbandTextTrackPrivateAVFIOS.h: Copied from Source/WebCore/platform/graphics/cg/ImageBufferDataCG.h.
31769        (WebCore::InbandTextTrackPrivateAVFIOS::create):
31770        (WebCore::InbandTextTrackPrivateAVFIOS::internalID):
31771        * platform/graphics/ios/InbandTextTrackPrivateAVFIOS.mm: Copied from Source/WebCore/platform/graphics/mac/IntRectMac.mm.
31772        (WebCore::InbandTextTrackPrivateAVFIOS::InbandTextTrackPrivateAVFIOS):
31773        (WebCore::InbandTextTrackPrivateAVFIOS::~InbandTextTrackPrivateAVFIOS):
31774        (WebCore::InbandTextTrackPrivateAVFIOS::kind):
31775        * platform/graphics/ios/MediaPlayerPrivateIOS.h: Added.
31776        * platform/graphics/ios/MediaPlayerPrivateIOS.mm: Added.
31777        * platform/graphics/ios/SimpleFontDataIOS.mm: Added.
31778        (WebCore::fontFamilyShouldNotBeUsedForArabic):
31779        (WebCore::fontHasVerticalGlyphs):
31780        (WebCore::SimpleFontData::platformInit):
31781        (WebCore::SimpleFontData::platformCharWidthInit):
31782        (WebCore::SimpleFontData::platformCreateScaledFontData):
31783        (WebCore::SimpleFontData::containsCharacters):
31784        (WebCore::SimpleFontData::determinePitch):
31785        (WebCore::SimpleFontData::platformWidthForGlyph):
31786        * platform/graphics/ios/TextTrackRepresentationIOS.h: Copied from Source/WebCore/platform/graphics/TextTrackRepresentation.cpp.
31787        * platform/graphics/ios/TextTrackRepresentationIOS.mm: Added.
31788        * platform/graphics/mac/ColorMac.h:
31789        * platform/graphics/mac/ComplexTextController.cpp:
31790        (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
31791        * platform/graphics/mac/ComplexTextControllerCoreText.mm:
31792        (WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
31793        * platform/graphics/mac/FloatPointMac.mm:
31794        * platform/graphics/mac/FloatRectMac.mm:
31795        * platform/graphics/mac/FloatSizeMac.mm:
31796        * platform/graphics/mac/FontCacheMac.mm:
31797        * platform/graphics/mac/FontComplexTextMac.cpp:
31798        (WebCore::Font::drawComplexText):
31799        (WebCore::Font::fontDataForCombiningCharacterSequence):
31800        * platform/graphics/mac/FontCustomPlatformData.cpp:
31801        * platform/graphics/mac/FontMac.mm:
31802        (WebCore::showLetterpressedGlyphsWithAdvances):
31803        (WebCore::Font::drawGlyphs):
31804        * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
31805        (WebCore::GlyphPage::fill):
31806        * platform/graphics/mac/GraphicsContext3DMac.mm:
31807        (WebCore::GraphicsContext3D::GraphicsContext3D):
31808        (WebCore::GraphicsContext3D::~GraphicsContext3D):
31809        (WebCore::GraphicsContext3D::setRenderbufferStorageFromDrawable):
31810        (WebCore::GraphicsContext3D::makeContextCurrent):
31811        (WebCore::GraphicsContext3D::endPaint):
31812        * platform/graphics/mac/GraphicsContextMac.mm:
31813        (WebCore::GraphicsContext::drawFocusRing):
31814        (WebCore::createDotPattern):
31815        (WebCore::GraphicsContext::drawLineForDocumentMarker):
31816        * platform/graphics/mac/IconMac.mm:
31817        * platform/graphics/mac/ImageMac.mm:
31818        (WebCore::BitmapImage::invalidatePlatformData):
31819        * platform/graphics/mac/IntPointMac.mm:
31820        * platform/graphics/mac/IntRectMac.mm:
31821        * platform/graphics/mac/IntSizeMac.mm:
31822        * platform/graphics/mac/MediaPlayerProxy.h:
31823        * platform/graphics/mac/SimpleFontDataCoreText.cpp:
31824        * platform/graphics/mac/SimpleFontDataMac.mm:
31825        * platform/graphics/mac/WebGLLayer.h:
31826        * platform/graphics/mac/WebGLLayer.mm:
31827        (-[WebGLLayer copyImageSnapshotWithColorSpace:]):
31828        (-[WebGLLayer display]):
31829        * platform/graphics/mac/WebLayer.mm:
31830        (WebCore::drawLayerContents):
31831        (-[WebSimpleLayer display]):
31832        (-[WebSimpleLayer drawInContext:]):
31833        * platform/graphics/mac/WebTiledLayer.mm:
31834        (+[WebTiledLayer shouldDrawOnMainThread]):
31835        (-[WebTiledLayer display]):
31836        (-[WebTiledLayer drawInContext:]):
31837        * platform/graphics/opengl/Extensions3DOpenGL.cpp:
31838        (WebCore::Extensions3DOpenGL::blitFramebuffer):
31839        (WebCore::Extensions3DOpenGL::bindVertexArrayOES):
31840        (WebCore::Extensions3DOpenGL::supportsExtension):
31841        (WebCore::Extensions3DOpenGL::drawBuffersEXT):
31842        * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
31843        (WebCore::Extensions3DOpenGLCommon::Extensions3DOpenGLCommon):
31844        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
31845        (WebCore::GraphicsContext3D::reshapeFBOs):
31846        (WebCore::GraphicsContext3D::resolveMultisamplingIfNecessary):
31847        (WebCore::GraphicsContext3D::renderbufferStorage):
31848        (WebCore::GraphicsContext3D::getIntegerv):
31849        (WebCore::GraphicsContext3D::texImage2D):
31850        (WebCore::GraphicsContext3D::depthRange):
31851        (WebCore::GraphicsContext3D::clearDepth):
31852        * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
31853        (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
31854        * platform/graphics/transforms/TransformationMatrix.cpp:
31855        (WebCore::TransformationMatrix::multiply):
31856        * platform/graphics/win/FontWin.cpp:
31857        (WebCore::Font::drawComplexText):
31858        * platform/graphics/wince/FontWinCE.cpp:
31859        (WebCore::Font::drawComplexText):
31860        * platform/ios/ContentFilterIOS.mm: Copied from Source/WebCore/platform/ContentFilter.h.
31861        * platform/ios/DeviceMotionClientIOS.h: Added.
31862        (WebCore::DeviceMotionClientIOS::create):
31863        * platform/ios/DeviceMotionClientIOS.mm: Added.
31864        * platform/ios/DeviceOrientationClientIOS.h: Added.
31865        (WebCore::DeviceOrientationClientIOS::create):
31866        * platform/ios/DeviceOrientationClientIOS.mm: Added.
31867        * platform/ios/KeyEventIOS.mm:
31868        * platform/ios/MIMETypeRegistryIOS.mm: Copied from Source/WebCore/platform/network/mac/CredentialStorageMac.mm.
31869        * platform/ios/MemoryPressureHandlerIOS.mm: Added.
31870        * platform/ios/PasteboardIOS.mm:
31871        (WebCore::Pasteboard::write):
31872        (WebCore::Pasteboard::resourceMIMEType):
31873        (WebCore::Pasteboard::writePlainText):
31874        (WebCore::Pasteboard::read):
31875        (WebCore::supportedImageTypes):
31876        (WebCore::Pasteboard::supportedPasteboardTypes):
31877        (WebCore::Pasteboard::hasData):
31878        (WebCore::Pasteboard::readString):
31879        * platform/ios/PlatformEventFactoryIOS.h: Copied from Source/WebCore/platform/mac/DisplaySleepDisabler.h.
31880        * platform/ios/PlatformEventFactoryIOS.mm: Added.
31881        * platform/ios/PlatformPasteboardIOS.mm:
31882        (WebCore::PlatformPasteboard::write):
31883        * platform/ios/PlatformScreenIOS.mm: Added.
31884        * platform/ios/PlatformSpeechSynthesizerIOS.mm: Added.
31885        * platform/ios/SSLKeyGeneratorIOS.cpp: Added.
31886        * platform/ios/ScrollAnimatorIOS.h: Copied from Source/WebCore/platform/mac/DisplaySleepDisabler.h.
31887        * platform/ios/ScrollAnimatorIOS.mm: Added.
31888        * platform/ios/ScrollViewIOS.mm: Added.
31889        * platform/ios/ScrollbarThemeIOS.h: Added.
31890        * platform/ios/ScrollbarThemeIOS.mm: Added.
31891        * platform/ios/SelectionRect.cpp: Added.
31892        * platform/ios/SelectionRect.h: Added.
31893        * platform/ios/SoundIOS.mm: Copied from Source/WebCore/platform/text/mac/CharsetData.h.
31894        * platform/ios/SystemMemoryIOS.cpp: Added.
31895        * platform/ios/ThemeIOS.h: Copied from Source/WebCore/platform/KillRingNone.cpp.
31896        * platform/ios/ThemeIOS.mm: Copied from Source/WebCore/platform/KillRingNone.cpp.
31897        * platform/ios/TileCache.h: Added.
31898        (WebCore::TileCache::isSpeculativeTileCreationEnabled):
31899        * platform/ios/TileCache.mm: Added.
31900        * platform/ios/TileGrid.h: Added.
31901        * platform/ios/TileGrid.mm: Added.
31902        * platform/ios/TileGridTile.h: Copied from Source/WebCore/platform/ContentFilter.h.
31903        * platform/ios/TileGridTile.mm: Added.
31904        * platform/ios/TileLayer.h: Copied from Source/WebCore/platform/mac/DisplaySleepDisabler.h.
31905        * platform/ios/TileLayer.mm: Added.
31906        * platform/ios/TileLayerPool.mm: Added.
31907        * platform/ios/WebCoreMotionManager.h: Copied from Source/WebCore/platform/KillRingNone.cpp.
31908        * platform/ios/WebCoreMotionManager.mm: Added.
31909        * platform/ios/WebCoreSystemInterfaceIOS.h: Added.
31910        * platform/ios/WebCoreSystemInterfaceIOS.mm: Added.
31911        * platform/ios/WebEvent.h: Added.
31912        * platform/ios/WebEvent.mm: Added.
31913        * platform/ios/WidgetIOS.mm: Added.
31914        * platform/mac/DisplaySleepDisabler.cpp:
31915        (WebCore::DisplaySleepDisabler::DisplaySleepDisabler):
31916        (WebCore::DisplaySleepDisabler::~DisplaySleepDisabler):
31917        * platform/mac/DisplaySleepDisabler.h:
31918        * platform/mac/FileSystemMac.mm:
31919        * platform/mac/KillRingMac.mm:
31920        * platform/mac/MemoryPressureHandlerMac.mm:
31921        (WebCore::MemoryPressureHandler::install):
31922        (WebCore::MemoryPressureHandler::releaseMemory):
31923        * platform/mac/PlatformClockCM.mm:
31924        (PlatformClockCM::PlatformClockCM):
31925        * platform/mac/SoftLinking.h:
31926        * platform/mac/SystemVersionMac.mm:
31927        * platform/mac/WebCoreFullScreenPlaceholderView.h:
31928        * platform/mac/WebCoreFullScreenPlaceholderView.mm:
31929        * platform/mac/WebCoreFullScreenWarningView.h:
31930        * platform/mac/WebCoreFullScreenWarningView.mm:
31931        * platform/mac/WebCoreFullScreenWindow.h:
31932        * platform/mac/WebCoreFullScreenWindow.mm:
31933        * platform/mac/WebCoreNSCellExtras.h:
31934        * platform/mac/WebCoreNSCellExtras.m:
31935        * platform/mac/WebCoreSystemInterface.h:
31936        * platform/mac/WebFontCache.mm:
31937        (+[WebFontCache fontWithFamily:traits:size:]):
31938        * platform/network/BlobRegistry.cpp:
31939        * platform/network/BlobRegistryImpl.cpp:
31940        * platform/network/Credential.h:
31941        * platform/network/CredentialStorage.cpp:
31942        (WebCore::CredentialStorage::set):
31943        (WebCore::CredentialStorage::clearCredentials):
31944        * platform/network/CredentialStorage.h:
31945        * platform/network/NetworkStateNotifier.h:
31946        * platform/network/ResourceHandle.cpp:
31947        (WebCore::builtinResourceHandleConstructorMap):
31948        (WebCore::ResourceHandle::continueWillSendRequest):
31949        (WebCore::ResourceHandle::continueDidReceiveResponse):
31950        (WebCore::ResourceHandle::continueShouldUseCredentialStorage):
31951        (WebCore::ResourceHandle::continueCanAuthenticateAgainstProtectionSpace):
31952        * platform/network/ResourceRequestBase.cpp:
31953        (WebCore::ResourceRequestBase::setDefaultAllowCookies):
31954        (WebCore::ResourceRequestBase::defaultAllowCookies):
31955        * platform/network/ResourceRequestBase.h:
31956        (WebCore::ResourceRequestBase::ResourceRequestBase):
31957        * platform/network/cf/CredentialStorageCFNet.cpp:
31958        (WebCore::CredentialStorage::saveToPersistentStorage):
31959        * platform/network/cf/DNSCFNet.cpp:
31960        * platform/network/cf/ProxyServerCFNet.cpp:
31961        * platform/network/cf/ResourceRequest.h:
31962        (WebCore::ResourceRequest::ResourceRequest):
31963        (WebCore::ResourceRequest::setMainResourceRequest):
31964        (WebCore::ResourceRequest::isMainResourceRequest):
31965        * platform/network/cf/ResourceRequestCFNet.cpp:
31966        (WebCore::ResourceRequest::updateFromDelegatePreservingOldHTTPBody):
31967        (WebCore::ResourceRequest::doUpdateResourceRequest):
31968        (WebCore::ResourceRequest::applyWebArchiveHackForMail):
31969        (WebCore::initializeHTTPConnectionSettingsOnStartup):
31970        * platform/network/cf/SocketStreamHandleCFNet.cpp:
31971        (WebCore::SocketStreamHandle::reportErrorToClient):
31972        * platform/network/ios/NetworkStateNotifierIOS.cpp: Copied from Source/WebCore/platform/KillRingNone.cpp.
31973        (WebCore::NetworkStateNotifier::NetworkStateNotifier):
31974        (WebCore::NetworkStateNotifier::setIsOnLine):
31975        * platform/network/ios/QuickLook.h: Added.
31976        * platform/network/ios/QuickLook.mm: Added.
31977        * platform/network/ios/ResourceHandleIOS.mm: Added.
31978        * platform/network/ios/WebCoreURLResponseIOS.h: Copied from Source/WebCore/platform/graphics/StringTruncator.h.
31979        * platform/network/ios/WebCoreURLResponseIOS.mm: Added.
31980        * platform/network/mac/AuthenticationMac.mm:
31981        (WebCore::mac):
31982        * platform/network/mac/CredentialStorageMac.mm:
31983        (WebCore::CredentialStorage::saveToPersistentStorage):
31984        * platform/network/mac/ResourceErrorMac.mm:
31985        (dictionaryThatCanCode):
31986        (-[WebCustomNSURLError encodeWithCoder:]):
31987        (NSErrorFromCFError):
31988        (WebCore::ResourceError::nsError):
31989        * platform/network/mac/ResourceHandleMac.mm:
31990        (WebCore::synchronousWillSendRequestEnabled):
31991        (WebCore::ResourceHandle::createNSURLConnection):
31992        (WebCore::ResourceHandle::start):
31993        (WebCore::ResourceHandle::schedule):
31994        (WebCore::ResourceHandle::unschedule):
31995        (WebCore::ResourceHandle::platformLoadResourceSynchronously):
31996        (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
31997        * platform/network/mac/ResourceRequestMac.mm:
31998        (WebCore::ResourceRequest::ResourceRequest):
31999        (WebCore::ResourceRequest::updateNSURLRequest):
32000        (WebCore::ResourceRequest::applyWebArchiveHackForMail):
32001        (WebCore::ResourceRequest::useQuickLookResourceCachingQuirks):
32002        * platform/network/mac/UTIUtilities.mm:
32003        * platform/network/mac/WebCoreResourceHandleAsDelegate.mm:
32004        (-[WebCoreResourceHandleAsDelegate connectionShouldUseCredentialStorage:]):
32005        (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
32006        (-[WebCoreResourceHandleAsDelegate connection:didReceiveDataArray:]):
32007        (-[WebCoreResourceHandleAsDelegate connection:didReceiveData:lengthReceived:]):
32008        (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]):
32009        (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]):
32010        * platform/sql/SQLiteDatabase.h:
32011        (WebCore::SQLiteDatabase::sqlite3Handle):
32012        * platform/sql/SQLiteFileSystem.cpp:
32013        (WebCore::SQLiteFileSystem::truncateDatabaseFile):
32014        * platform/sql/SQLiteFileSystem.h:
32015        * platform/sql/SQLiteTransaction.cpp:
32016        (WebCore::SQLiteTransaction::begin):
32017        (WebCore::SQLiteTransaction::commit):
32018        (WebCore::SQLiteTransaction::rollback):
32019        (WebCore::SQLiteTransaction::stop):
32020        * platform/sql/ios/SQLiteDatabaseTracker.cpp: Added.
32021        * platform/sql/ios/SQLiteDatabaseTracker.h: Copied from Source/WebCore/platform/MemoryPressureHandler.cpp.
32022        * platform/sql/ios/SQLiteDatabaseTrackerClient.h: Copied from Source/WebCore/platform/KillRingNone.cpp.
32023        * platform/text/PlatformLocale.cpp:
32024        * platform/text/PlatformLocale.h:
32025        * platform/text/TextBreakIteratorICU.cpp:
32026        (WebCore::cursorMovementIterator):
32027        * platform/text/TextCodecICU.cpp:
32028        (WebCore::TextCodecICU::registerEncodingNames):
32029        (WebCore::TextCodecICU::registerCodecs):
32030        * platform/text/TextEncodingRegistry.cpp:
32031        (WebCore::extendTextCodecMaps):
32032        * platform/text/cf/HyphenationCF.cpp:
32033        (WebCore::canHyphenate):
32034        * platform/text/ios/LocalizedDateCache.h: Copied from Source/WebCore/platform/MemoryPressureHandler.h.
32035        * platform/text/ios/LocalizedDateCache.mm: Added.
32036        * platform/text/mac/CharsetData.h:
32037        * platform/text/mac/LocaleMac.h:
32038        * platform/text/mac/LocaleMac.mm:
32039        (WebCore::LocaleMac::formatDateTime):
32040        (WebCore::LocaleMac::maximumWidthForDateType):
32041        * platform/text/mac/TextBoundaries.mm:
32042        (WebCore::isSkipCharacter):
32043        (WebCore::isWhitespaceCharacter):
32044        (WebCore::isWordDelimitingCharacter):
32045        (WebCore::isSymbolCharacter):
32046        (WebCore::isAmbiguousBoundaryCharacter):
32047        (WebCore::tokenizerForString):
32048        (WebCore::findSimpleWordBoundary):
32049        (WebCore::findComplexWordBoundary):
32050        (WebCore::findWordBoundary):
32051        (WebCore::findNextWordFromIndex):
32052        * platform/text/mac/TextCodecMac.cpp:
32053        * platform/text/mac/TextCodecMac.h:
32054
320552014-01-09  Joseph Pecoraro  <pecoraro@apple.com>
32056
32057        Web Inspector: Consolidate developerExtrasEnabled to just InspectorEnvironment
32058        https://bugs.webkit.org/show_bug.cgi?id=126717
32059
32060        Reviewed by Timothy Hatcher.
32061
32062        They all route to InspectorEnvironment::developerExtrasEnabled, so make
32063        InspectorEnvironment available to all agents through InstrumentingAgents
32064        and use that where needed.
32065
32066        * inspector/InspectorAgent.cpp:
32067        (WebCore::InspectorAgent::InspectorAgent):
32068        * inspector/InspectorAgent.h:
32069        (WebCore::InspectorAgent::create):
32070        * inspector/InspectorConsoleAgent.cpp:
32071        (WebCore::InspectorConsoleAgent::addMessageToConsole):
32072        (WebCore::InspectorConsoleAgent::didFinishXHRLoading):
32073        (WebCore::InspectorConsoleAgent::didReceiveResponse):
32074        (WebCore::InspectorConsoleAgent::didFailLoading):
32075        (WebCore::InspectorConsoleAgent::addConsoleMessage):
32076        * inspector/InspectorConsoleAgent.h:
32077        * inspector/InspectorController.cpp:
32078        (WebCore::InspectorController::InspectorController):
32079        (WebCore::InspectorController::enabled):
32080        * inspector/InspectorInstrumentation.cpp:
32081        (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl):
32082        (WebCore::InspectorInstrumentation::didCommitLoadImpl):
32083        (WebCore::InspectorInstrumentation::frameDocumentUpdatedImpl):
32084        (WebCore::InspectorInstrumentation::didOpenDatabaseImpl):
32085        (WebCore::InspectorInstrumentation::didCreateWebSocketImpl):
32086        * inspector/InstrumentingAgents.cpp:
32087        (WebCore::InstrumentingAgents::InstrumentingAgents):
32088        * inspector/InstrumentingAgents.h:
32089        (WebCore::InstrumentingAgents::create):
32090        (WebCore::InstrumentingAgents::inspectorEnvironment):
32091        * inspector/PageConsoleAgent.cpp:
32092        * inspector/PageConsoleAgent.h:
32093        * inspector/WorkerConsoleAgent.cpp:
32094        * inspector/WorkerConsoleAgent.h:
32095        * inspector/WorkerInspectorController.cpp:
32096        (WebCore::WorkerInspectorController::WorkerInspectorController):
32097
320982014-01-09  Joseph Pecoraro  <pecoraro@apple.com>
32099
32100        Web Inspector: Remove Unnecessary InspectorAgent parameters
32101        https://bugs.webkit.org/show_bug.cgi?id=126712
32102
32103        Reviewed by Timothy Hatcher.
32104
32105        * inspector/InspectorController.cpp:
32106        (WebCore::InspectorController::InspectorController):
32107        * inspector/InspectorDOMDebuggerAgent.cpp:
32108        (WebCore::InspectorDOMDebuggerAgent::create):
32109        (WebCore::InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent):
32110        * inspector/InspectorDOMDebuggerAgent.h:
32111        * inspector/InspectorPageAgent.cpp:
32112        (WebCore::InspectorPageAgent::create):
32113        (WebCore::InspectorPageAgent::InspectorPageAgent):
32114        * inspector/InspectorPageAgent.h:
32115
321162014-01-09  Antti Koivisto  <antti@apple.com>
32117
32118        Remove an accidentally left-behind static_cast.
32119
32120        * dom/ElementDescendantIterator.h:
32121        (WebCore::ElementDescendantIteratorAdapter<ElementType>::beginAt):
32122
321232014-01-09  Antti Koivisto  <antti@apple.com>
32124
32125        Replace ElementIteratorAdapter find() with beginAt()
32126        https://bugs.webkit.org/show_bug.cgi?id=126714
32127
32128        Reviewed by Andreas Kling.
32129
32130        ElementIteratorAdapter find() would return iterator for the argument element if it was
32131        of correct type and in the right subtree. This is not really what you would expect from find()
32132        so replace it with a simple beginAt() iterator construction function.
32133
32134        * dom/DocumentOrderedMap.cpp:
32135        (WebCore::DocumentOrderedMap::getAllElementsById):
32136        * dom/ElementChildIterator.h:
32137        (WebCore::ElementChildIteratorAdapter<ElementType>::beginAt):
32138        (WebCore::ElementChildConstIteratorAdapter<ElementType>::beginAt):
32139        * dom/ElementDescendantIterator.h:
32140        (WebCore::ElementDescendantIteratorAdapter<ElementType>::beginAt):
32141        (WebCore::ElementDescendantConstIteratorAdapter<ElementType>::beginAt):
32142        * html/HTMLFormElement.cpp:
32143        (WebCore::HTMLFormElement::formElementIndex):
32144        * html/HTMLTableRowsCollection.cpp:
32145        (WebCore::HTMLTableRowsCollection::rowAfter):
32146
321472014-01-09  Brian Burg  <bburg@apple.com>
32148
32149        REGRESSION (r160152): Selection drag snapshot doesn't appear or has the wrong content on Retina
32150        https://bugs.webkit.org/show_bug.cgi?id=125375
32151
32152        Reviewed by Darin Adler.
32153
32154        Move scaling of drag images by the device scale factor out of DragClient
32155        and into WebCore. This removes several redundant copies and scaling operations.
32156
32157        Fix scaling bugs that were cancelled out by over-allocating the backing store.
32158
32159        * page/DragController.cpp:
32160        (WebCore::DragController::startDrag): Scale the drag image for a link
32161        according to the device scale factor before giving it to the OS.
32162
32163        (WebCore::DragController::doImageDrag): Scale the drag image for an image
32164        according to the device scale factor before giving it to the OS.
32165
32166        * page/FrameSnapshotting.cpp:
32167        (WebCore::snapshotFrameRect): Don't pre-scale or clip the snapshot. The
32168        ImageBuffer does this already.
32169
32170        * platform/DragImage.cpp:
32171        (WebCore::createDragImageFromSnapshot): Don't scale the backing store
32172        when copying an ImageBuffer into an Image.
32173
32174        * platform/graphics/cg/ImageBufferCG.cpp:
32175        (WebCore::ImageBuffer::copyImage): Draw the image in user-space coordinates,
32176        not in backing-store coordinates. Remove unnecessary assertions. Crop the
32177        buffer before drawing the image into it.
32178
321792014-01-09  Myles C. Maxfield  <mmaxfield@apple.com>
32180
32181        Narrow underlines are too tall
32182        https://bugs.webkit.org/show_bug.cgi?id=126708
32183
32184        Reviewed by Simon Fraser.
32185
32186        I made a typo in r158392 and used was settings the line rect's
32187        height equal to its width. No one noticed because of the subsequent
32188        if statement.
32189
32190        Test: fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-tall-underlines.html
32191
32192        * platform/graphics/cg/GraphicsContextCG.cpp:
32193        (WebCore::computeLineBoundsAndAntialiasingModeForText):
32194
321952014-01-09  Antti Koivisto  <antti@apple.com>
32196
32197        DocumentOrderedMap should use iterator
32198        https://bugs.webkit.org/show_bug.cgi?id=126696
32199
32200        Reviewed by Andreas Kling.
32201
32202        * dom/DocumentOrderedMap.cpp:
32203        (WebCore::keyMatchesId):
32204        (WebCore::keyMatchesName):
32205        (WebCore::keyMatchesMapName):
32206        (WebCore::keyMatchesLowercasedMapName):
32207        (WebCore::keyMatchesLowercasedUsemap):
32208        (WebCore::keyMatchesLabelForAttribute):
32209        (WebCore::keyMatchesWindowNamedItem):
32210        (WebCore::keyMatchesDocumentNamedItem):
32211        
32212            Switch to Element references.
32213
32214        (WebCore::DocumentOrderedMap::add):
32215        (WebCore::DocumentOrderedMap::remove):
32216        (WebCore::DocumentOrderedMap::get):
32217        (WebCore::DocumentOrderedMap::getAllElementsById):
32218        
32219             Use element iterator instead of ElementTraversal.
32220
32221        * dom/DocumentOrderedMap.h:
32222
322232014-01-09  Beth Dakin  <bdakin@apple.com>
32224
32225        Margin tiles are not repainted when background color changes
32226        https://bugs.webkit.org/show_bug.cgi?id=126541
32227        -and corresponding-
32228        <rdar://problem/15578131>
32229
32230        Reviewed by Simon Fraser.
32231
32232        This patch adds an optional parameter to GraphicsLayer::setNeedsDisplayInRect, 
32233        RenderLayerBacking::setContentsNeedDisplay(), and 
32234        RenderLayer::setBackingNeedsRepaint() that is used to determine whether or not to 
32235        clip the invalidation rect to the size of the layer. Then whenever the margin 
32236        needs to be repainted, we can call setNeedsDisplayInRect() with a rect that 
32237        includes the margin, and also indicate that it should not be clipped.
32238
32239        GraphicsLayer now takes an optional parameter which is an enum called 
32240        ShouldClipToLayer.
32241        * WebCore.exp.in:
32242        * platform/graphics/GraphicsLayer.h:
32243        * platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp:
32244        (WebCore::GraphicsLayerBlackBerry::setNeedsDisplayInRect):
32245        * platform/graphics/blackberry/GraphicsLayerBlackBerry.h:
32246        * platform/graphics/ca/GraphicsLayerCA.cpp:
32247        (WebCore::GraphicsLayerCA::setNeedsDisplayInRect):
32248        * platform/graphics/ca/GraphicsLayerCA.h:
32249        * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
32250        (WebCore::GraphicsLayerTextureMapper::setNeedsDisplayInRect):
32251        * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
32252        * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
32253        (WebCore::CoordinatedGraphicsLayer::setNeedsDisplayInRect):
32254        * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
32255
32256        Make TileController::bounds() a virtual function, and declare it on TiledBacking 
32257        so that we can call it from RenderLayerBacking.
32258        * platform/graphics/TiledBacking.h:
32259        * platform/graphics/ca/mac/TileController.h:
32260
32261        RenderLayer also now takes an optional parameter which is an enum called 
32262        ShouldClipToLayer.
32263        * rendering/RenderLayer.cpp:
32264        (WebCore::RenderLayer::calculateClipRects):
32265        * rendering/RenderLayer.h:
32266
32267        If the margin needs to be repainted, call GraphicsLayer::setNeedsDisplayInRect 
32268        with a big enough rect and a ShouldClipToLayer value of DoNotClipToLayer.
32269        * rendering/RenderLayerBacking.cpp:
32270        (WebCore::RenderLayerBacking::setContentsNeedDisplay):
32271        * rendering/RenderLayerBacking.h:
32272
32273        Whenever all of the root contents need to be repainted the margin will also need 
32274        to be repainted, so call setBackingNeedsRepaint() with the new parameter 
32275        indicating the the invalidation should NOT be clipped to the layer size.
32276        * rendering/RenderView.cpp:
32277        (WebCore::RenderView::repaintRootContents):
32278
322792014-01-09  Bear Travis  <betravis@adobe.com>
32280
32281        [CSS Shapes] Factor the ReferenceBox type out of BasicShapes
32282        https://bugs.webkit.org/show_bug.cgi?id=126648
32283
32284        Reviewed by Dirk Schulze.
32285
32286        Moving ReferenceBox out of BasicShapes and into RenderStyleConstants
32287        as the LayoutBox enum. Most of the changes are removing the BasicShape
32288        namespace.
32289
32290        Refactoring, no new tests.
32291
32292        * css/BasicShapeFunctions.cpp:
32293        (WebCore::valueForBox):
32294        (WebCore::boxForValue):
32295        (WebCore::valueForBasicShape):
32296        (WebCore::basicShapeForValue):
32297        * css/BasicShapeFunctions.h:
32298        * css/CSSBasicShapes.cpp:
32299        (WebCore::CSSBasicShapeRectangle::cssText):
32300        (WebCore::CSSBasicShapeRectangle::equals):
32301        (WebCore::CSSBasicShapeCircle::cssText):
32302        (WebCore::CSSBasicShapeCircle::equals):
32303        (WebCore::CSSDeprecatedBasicShapeCircle::cssText):
32304        (WebCore::CSSDeprecatedBasicShapeCircle::equals):
32305        (WebCore::CSSBasicShapeEllipse::cssText):
32306        (WebCore::CSSBasicShapeEllipse::equals):
32307        (WebCore::CSSDeprecatedBasicShapeEllipse::cssText):
32308        (WebCore::CSSDeprecatedBasicShapeEllipse::equals):
32309        (WebCore::CSSBasicShapePolygon::cssText):
32310        (WebCore::CSSBasicShapePolygon::equals):
32311        (WebCore::CSSBasicShapeInsetRectangle::cssText):
32312        (WebCore::CSSBasicShapeInsetRectangle::equals):
32313        (WebCore::CSSBasicShapeInset::cssText):
32314        * css/CSSBasicShapes.h:
32315        (WebCore::CSSBasicShape::layoutBox):
32316        (WebCore::CSSBasicShape::setLayoutBox):
32317        * css/CSSComputedStyleDeclaration.cpp:
32318        (WebCore::ComputedStyleExtractor::propertyValue):
32319        * css/CSSParser.cpp:
32320        (WebCore::CSSParser::parseShapeProperty):
32321        * css/DeprecatedStyleBuilder.cpp:
32322        (WebCore::ApplyPropertyClipPath::applyValue):
32323        (WebCore::ApplyPropertyShape::applyValue):
32324        * rendering/ClipPathOperation.h:
32325        (WebCore::ShapeClipPathOperation::setReferenceBox):
32326        (WebCore::ShapeClipPathOperation::referenceBox):
32327        (WebCore::ShapeClipPathOperation::ShapeClipPathOperation):
32328        (WebCore::BoxClipPathOperation::create):
32329        (WebCore::BoxClipPathOperation::referenceBox):
32330        (WebCore::BoxClipPathOperation::BoxClipPathOperation):
32331        * rendering/shapes/Shape.cpp:
32332        (WebCore::Shape::createLayoutBoxShape):
32333        * rendering/shapes/Shape.h:
32334        * rendering/shapes/ShapeInfo.cpp:
32335        (WebCore::ShapeInfo<RenderType>::computedShape):
32336        * rendering/shapes/ShapeInfo.h:
32337        (WebCore::ShapeInfo::setShapeSize):
32338        (WebCore::ShapeInfo::logicalTopOffset):
32339        (WebCore::ShapeInfo::logicalLeftOffset):
32340        * rendering/shapes/ShapeInsideInfo.h:
32341        * rendering/shapes/ShapeOutsideInfo.h:
32342        * rendering/style/BasicShapes.cpp:
32343        (WebCore::BasicShape::canBlend):
32344        (WebCore::BasicShape::referenceBoxSize):
32345        * rendering/style/BasicShapes.h:
32346        (WebCore::BasicShape::layoutBox):
32347        (WebCore::BasicShape::setLayoutBox):
32348        (WebCore::BasicShape::BasicShape):
32349        * rendering/style/RenderStyleConstants.h:
32350        * rendering/style/ShapeValue.h:
32351        (WebCore::ShapeValue::createLayoutBoxValue):
32352        (WebCore::ShapeValue::layoutBox):
32353        (WebCore::ShapeValue::ShapeValue):
32354
323552014-01-09  Tim Horton  <timothy_horton@apple.com>
32356
32357        PDFDocumentImage can be very slow to do the initial paint
32358        https://bugs.webkit.org/show_bug.cgi?id=126633
32359        <rdar://problem/15770980>
32360
32361        Reviewed by Simon Fraser.
32362
32363        * platform/graphics/cg/PDFDocumentImage.cpp:
32364        (WebCore::PDFDocumentImage::PDFDocumentImage):
32365        (WebCore::PDFDocumentImage::size):
32366        (WebCore::transformContextForPainting):
32367        (WebCore::PDFDocumentImage::computeBoundsForCurrentPage):
32368        (WebCore::applyRotationForPainting):
32369        (WebCore::PDFDocumentImage::drawPDFPage):
32370        * platform/graphics/cg/PDFDocumentImage.h:
32371        * platform/graphics/mac/PDFDocumentImageMac.mm:
32372        (WebCore::PDFDocumentImage::computeBoundsForCurrentPage):
32373        Store rotation from the PDF in degrees, since it can
32374        only be 0, 90, 180, or 270, and don't do any trig to
32375        perform the rotation, to avoid introducing minor rounding
32376        issues in the size.
32377
32378        Once we're going to paint, if the difference between the
32379        computed scale for each axis is due only to integer rounding
32380        of the image size, use the same scale for both axes, to avoid
32381        a CG slow-path which occurs whenever the scale is nonuniform.
32382
323832014-01-09  Antti Koivisto  <antti@apple.com>
32384
32385        Disconnect child frames iteratively
32386        https://bugs.webkit.org/show_bug.cgi?id=126700
32387
32388        Reviewed by Andreas Kling.
32389
32390        Use descendant iterator instead of recursion for traversal.
32391
32392        * dom/ContainerNode.cpp:
32393        (WebCore::willRemoveChild):
32394        (WebCore::willRemoveChildren):
32395        (WebCore::ContainerNode::disconnectDescendantFrames):
32396        * dom/ContainerNodeAlgorithms.cpp:
32397        (WebCore::assertConnectedSubrameCountIsConsistent):
32398        (WebCore::collectFrameOwners):
32399        (WebCore::disconnectSubframes):
32400        
32401            Get rid of the strange ChildFrameDisconnector class in favor of a function.
32402
32403        * dom/ContainerNodeAlgorithms.h:
32404        (WebCore::disconnectSubframesIfNeeded):
32405
324062014-01-09  Joseph Pecoraro  <pecoraro@apple.com>
32407
32408        Unreviewed Windows build fix for r161563.
32409
32410        Remove reference to removed file.
32411
32412        * bindings/js/JSBindingsAllInOne.cpp:
32413
324142014-01-09  Joseph Pecoraro  <pecoraro@apple.com>
32415
32416        Web Inspector: Move InjectedScript classes into JavaScriptCore
32417        https://bugs.webkit.org/show_bug.cgi?id=126598
32418
32419        Part 6: Put it all together. Make WebCore use the JavaScriptCore InjectedScript files.
32420
32421        Reviewed by Timothy Hatcher.
32422
32423        * CMakeLists.txt:
32424        * DerivedSources.cpp:
32425        * DerivedSources.make:
32426        * GNUmakefile.list.am:
32427        * UseJSC.cmake:
32428        * WebCore.vcxproj/WebCore.vcxproj:
32429        * WebCore.vcxproj/WebCore.vcxproj.filters:
32430        * WebCore.xcodeproj/project.pbxproj:
32431        Remove old InjectedScript files.
32432
32433        * ForwardingHeaders/inspector/InjectedScript.h: Added.
32434        * ForwardingHeaders/inspector/InjectedScriptBase.h: Added.
32435        * ForwardingHeaders/inspector/InjectedScriptHost.h: Added.
32436        * ForwardingHeaders/inspector/InjectedScriptManager.h: Added.
32437        * ForwardingHeaders/inspector/InjectedScriptModule.h: Added.
32438        * ForwardingHeaders/inspector/InspectorEnvironment.h: Added.
32439        Expose headers to WebCore.
32440
32441        * inspector/InspectorController.h:
32442        * inspector/InspectorController.cpp:
32443        (WebCore::InspectorController::InspectorController):
32444        (WebCore::InspectorController::developerExtrasEnabled):
32445        (WebCore::InspectorController::canAccessInspectedScriptState):
32446        (WebCore::InspectorController::functionCallHandler):
32447        (WebCore::InspectorController::evaluateHandler):
32448        (WebCore::InspectorController::willCallInjectedScriptFunction):
32449        (WebCore::InspectorController::didCallInjectedScriptFunction):
32450        * inspector/WorkerInspectorController.h:
32451        * inspector/WorkerInspectorController.cpp:
32452        (WebCore::WorkerInspectorController::WorkerInspectorController):
32453        (WebCore::WorkerInspectorController::functionCallHandler):
32454        (WebCore::WorkerInspectorController::evaluateHandler):
32455        (WebCore::WorkerInspectorController::willCallInjectedScriptFunction):
32456        (WebCore::WorkerInspectorController::didCallInjectedScriptFunction):
32457        Make both InspectorControllers in WebCore be InspectorEnvironments.
32458
32459        * bindings/js/JSMainThreadExecState.h:
32460        * bindings/js/JSMainThreadExecState.cpp:
32461        (WebCore::evaluateHandlerFromAnyThread):
32462        Make JSC::evaluate wrapper like the existing JSC::call wrapper.
32463        These will be the ScriptFunctionCall implementations when debugging
32464        a WebCore::Page or worker, instead of the pure JSC versions.
32465
32466        * inspector/PageInjectedScriptHost.h: Copied from Source/WebCore/inspector/CommandLineAPIModule.h.
32467        * inspector/PageInjectedScriptHost.cpp: Copied from Source/WebCore/inspector/PageInjectedScriptManager.cpp.
32468        (WebCore::PageInjectedScriptHost::type):
32469        (WebCore::PageInjectedScriptHost::isHTMLAllCollection):
32470        WebCore InjectedScriptHost implementation for DOM type handling.
32471
32472        * inspector/PageInjectedScriptManager.h:
32473        * inspector/PageInjectedScriptManager.cpp:
32474        (WebCore::PageInjectedScriptManager::PageInjectedScriptManager):
32475        (WebCore::PageInjectedScriptManager::discardInjectedScriptsFor):
32476        WebCore InjectedScriptManager implementation for CommandLineAPI and
32477        specialized DOMWindow injected script management.
32478
32479        * bindings/js/JSBindingsAllInOne.cpp:
32480        * inspector/CommandLineAPIHost.cpp:
32481        * inspector/CommandLineAPIHost.h:
32482        * inspector/CommandLineAPIModule.cpp:
32483        (WebCore::CommandLineAPIModule::host):
32484        * inspector/CommandLineAPIModule.h:
32485        * inspector/ConsoleMessage.cpp:
32486        (WebCore::ConsoleMessage::addToFrontend):
32487        * inspector/ConsoleMessage.h:
32488        * inspector/InjectedScriptCanvasModule.cpp:
32489        (WebCore::InjectedScriptCanvasModule::InjectedScriptCanvasModule):
32490        * inspector/InjectedScriptCanvasModule.h:
32491        * inspector/InspectorAllInOne.cpp:
32492        * inspector/InspectorCanvasAgent.cpp:
32493        * inspector/InspectorCanvasAgent.h:
32494        (WebCore::InspectorCanvasAgent::create):
32495        * inspector/InspectorConsoleAgent.cpp:
32496        (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
32497        * inspector/InspectorConsoleAgent.h:
32498        * inspector/InspectorDOMAgent.cpp:
32499        * inspector/InspectorDOMAgent.h:
32500        (WebCore::InspectorDOMAgent::create):
32501        * inspector/InspectorDebuggerAgent.cpp:
32502        * inspector/InspectorDebuggerAgent.h:
32503        (WebCore::InspectorDebuggerAgent::injectedScriptManager):
32504        * inspector/InspectorHeapProfilerAgent.cpp:
32505        (WebCore::InspectorHeapProfilerAgent::create):
32506        (WebCore::InspectorHeapProfilerAgent::InspectorHeapProfilerAgent):
32507        * inspector/InspectorHeapProfilerAgent.h:
32508        * inspector/InspectorIndexedDBAgent.cpp:
32509        * inspector/InspectorIndexedDBAgent.h:
32510        (WebCore::InspectorIndexedDBAgent::create):
32511        * inspector/InspectorPageAgent.cpp:
32512        * inspector/InspectorPageAgent.h:
32513        * inspector/InspectorProfilerAgent.cpp:
32514        (WebCore::PageProfilerAgent::PageProfilerAgent):
32515        (WebCore::InspectorProfilerAgent::create):
32516        (WebCore::WorkerProfilerAgent::WorkerProfilerAgent):
32517        (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
32518        * inspector/InspectorProfilerAgent.h:
32519        * inspector/InspectorRuntimeAgent.cpp:
32520        * inspector/InspectorRuntimeAgent.h:
32521        (WebCore::InspectorRuntimeAgent::injectedScriptManager):
32522        * inspector/PageConsoleAgent.cpp:
32523        (WebCore::PageConsoleAgent::PageConsoleAgent):
32524        * inspector/PageConsoleAgent.h:
32525        (WebCore::PageConsoleAgent::create):
32526        * inspector/PageDebuggerAgent.cpp:
32527        * inspector/PageDebuggerAgent.h:
32528        * inspector/PageRuntimeAgent.cpp:
32529        * inspector/PageRuntimeAgent.h:
32530        (WebCore::PageRuntimeAgent::create):
32531        * inspector/WorkerConsoleAgent.cpp:
32532        (WebCore::WorkerConsoleAgent::WorkerConsoleAgent):
32533        * inspector/WorkerConsoleAgent.h:
32534        (WebCore::WorkerConsoleAgent::create):
32535        * inspector/WorkerDebuggerAgent.cpp:
32536        * inspector/WorkerDebuggerAgent.h:
32537        * inspector/WorkerRuntimeAgent.cpp:
32538        * inspector/WorkerRuntimeAgent.h:
32539        (WebCore::WorkerRuntimeAgent::create):
32540        Switch to using the Inspector namespace and JSC InjectedScript files.
32541
32542        * bindings/js/JSInjectedScriptManager.cpp: Removed.
32543        * inspector/InjectedScript.h: Removed.
32544        * inspector/InjectedScriptHost.cpp: Removed.
32545        * inspector/InjectedScriptHost.h: Removed.
32546        * inspector/InjectedScriptHost.idl: Removed.
32547
32548
32549        Part 4: Move all inspector scripts into JavaScriptCore and update generators.
32550
32551        With the updated location switch to using the appropriate INSPECTOR_SCRIPTS_DIR
32552        variable which defines where the scripts are.
32553
32554        * CMakeLists.txt:
32555        * DerivedSources.make:
32556        * GNUmakefile.am:
32557        * GNUmakefile.list.am:
32558        * WebCore.vcxproj/WebCore.vcxproj:
32559        * WebCore.vcxproj/WebCore.vcxproj.filters:
32560        * WebCore.xcodeproj/project.pbxproj:
32561
32562
32563        Part 1: Extract InspectorInstrumentationCookie class from InspectorInstrumentation.
32564
32565        Currently InjectedScriptBase uses InspectorInstrumentation directly
32566        to track calling into JavaScript for timeline purposes. We will remove
32567        the direct call from InjectedScriptBase and extracting the Cookie class
32568        will make that easier.
32569
32570        * CMakeLists.txt:
32571        * GNUmakefile.list.am:
32572        * WebCore.vcxproj/WebCore.vcxproj:
32573        * WebCore.vcxproj/WebCore.vcxproj.filters:
32574        * WebCore.xcodeproj/project.pbxproj:
32575        * inspector/InspectorAllInOne.cpp:
32576        * inspector/InspectorInstrumentation.cpp:
32577        * inspector/InspectorInstrumentation.h:
32578        * inspector/InspectorInstrumentationCookie.cpp: Added.
32579        (WebCore::InspectorInstrumentationCookie::InspectorInstrumentationCookie):
32580        (WebCore::InspectorInstrumentationCookie::operator=):
32581        (WebCore::InspectorInstrumentationCookie::~InspectorInstrumentationCookie):
32582        * inspector/InspectorInstrumentationCookie.h: Added.
32583        (WebCore::InspectorInstrumentationCookie::isValid):
32584        (WebCore::InspectorInstrumentationCookie::instrumentingAgents):
32585        (WebCore::InspectorInstrumentationCookie::hasMatchingTimelineAgentId):
32586
325872014-01-09  Pascal Jacquemart  <p.jacquemart@samsung.com>
32588
32589        Cannot select multiple non-adjacent items in a multiple select control with the keyboard only
32590        https://bugs.webkit.org/show_bug.cgi?id=15816
32591
32592        Reviewed by Chris Fleizach.
32593
32594        Test: fast/forms/listbox-non-contiguous-keyboard-selection.html
32595
32596        * html/HTMLSelectElement.cpp:
32597        (WebCore::HTMLSelectElement::HTMLSelectElement):
32598        New member m_allowsNonContiguousSelection defaults to false
32599        (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
32600        Tracking CTRL modifier to start multiple non contiguous selection
32601        * html/HTMLSelectElement.h: New member m_allowsNonContiguousSelection
32602        (WebCore::HTMLSelectElement::allowsNonContiguousSelection): New getter
32603        * rendering/RenderListBox.cpp:
32604        (WebCore::RenderListBox::addFocusRingRects):
32605        Following implementation made for spatial navigation
32606
326072014-01-09  Seokju Kwon  <seokju@webkit.org>
32608
32609        Web Inspector: Remove unused overriding protocols.
32610        https://bugs.webkit.org/show_bug.cgi?id=126630
32611
32612        Reviewed by Timothy Hatcher.
32613
32614        No new tests, No change in behavior.
32615
32616        Remove unused overriding protocols as these are not used anymore in Frontned.
32617        -Page.setGeolocationOverride
32618        -Page.clearGeolocationOverride
32619        -Page.canOverrideGeolocation
32620        -Page.setDeviceOrientationOverride
32621        -Page.clearDeviceOrientationOverride
32622        -Page.canOverrideGeolocation
32623        -Network.setUserAgentOverride
32624
32625        * Modules/geolocation/GeolocationController.cpp:
32626        (WebCore::GeolocationController::GeolocationController):
32627        (WebCore::GeolocationController::create):
32628        (WebCore::GeolocationController::positionChanged):
32629        (WebCore::provideGeolocationTo):
32630        * Modules/geolocation/GeolocationController.h:
32631        * dom/DeviceOrientationController.cpp:
32632        (WebCore::DeviceOrientationController::DeviceOrientationController):
32633        (WebCore::DeviceOrientationController::create):
32634        (WebCore::DeviceOrientationController::didChangeDeviceOrientation):
32635        (WebCore::provideDeviceOrientationTo):
32636        * dom/DeviceOrientationController.h:
32637        * inspector/InspectorInstrumentation.cpp:
32638        * inspector/InspectorInstrumentation.h:
32639        * inspector/InspectorPageAgent.cpp:
32640        (WebCore::InspectorPageAgent::InspectorPageAgent):
32641        * inspector/InspectorPageAgent.h:
32642        * inspector/InspectorResourceAgent.cpp:
32643        (WebCore::InspectorResourceAgent::disable):
32644        * inspector/InspectorResourceAgent.h:
32645        * inspector/protocol/Network.json:
32646        * inspector/protocol/Page.json:
32647        * loader/FrameLoader.cpp:
32648        (WebCore::FrameLoader::userAgent):
32649
326502014-01-09  Andrei Bucur  <abucur@adobe.com>
32651
32652        [CSSRegions] Move regions auto-size code into RenderNamedFlowFragment
32653        https://bugs.webkit.org/show_bug.cgi?id=122959
32654
32655        Reviewed by Mihnea Ovidenie.
32656
32657        Move the auto-height logic from RenderRegion to RenderNamedFlowFragment because it's
32658        used only by the CSS Regions implementation.
32659
32660        Bug 126642 covers the auto-height logic move from RenderFlowThread to RenderNamedFlowThread.
32661
32662        Tests: No new tests, just refactorings.
32663
32664        * rendering/RenderFlowThread.cpp:
32665        (WebCore::RenderFlowThread::styleDidChange):
32666        (WebCore::RenderFlowThread::validateRegions):
32667        (WebCore::RenderFlowThread::isAutoLogicalHeightRegionsCountConsistent):
32668        (WebCore::RenderFlowThread::initializeRegionsComputedAutoHeight):
32669        (WebCore::RenderFlowThread::markAutoLogicalHeightRegionsForLayout):
32670        (WebCore::RenderFlowThread::updateRegionsFlowThreadPortionRect):
32671        (WebCore::RenderFlowThread::addForcedRegionBreak):
32672        * rendering/RenderMultiColumnSet.h:
32673        * rendering/RenderNamedFlowFragment.cpp:
32674        (WebCore::RenderNamedFlowFragment::RenderNamedFlowFragment):
32675        (WebCore::RenderNamedFlowFragment::styleDidChange):
32676        (WebCore::RenderNamedFlowFragment::incrementAutoLogicalHeightCount):
32677        (WebCore::RenderNamedFlowFragment::decrementAutoLogicalHeightCount):
32678        (WebCore::RenderNamedFlowFragment::updateRegionHasAutoLogicalHeightFlag):
32679        (WebCore::RenderNamedFlowFragment::updateLogicalHeight):
32680        (WebCore::RenderNamedFlowFragment::pageLogicalHeight):
32681        (WebCore::RenderNamedFlowFragment::layoutBlock):
32682        (WebCore::RenderNamedFlowFragment::attachRegion):
32683        (WebCore::RenderNamedFlowFragment::detachRegion):
32684        * rendering/RenderNamedFlowFragment.h:
32685        * rendering/RenderRegion.cpp:
32686        (WebCore::RenderRegion::RenderRegion):
32687        (WebCore::RenderRegion::pageLogicalHeight):
32688        (WebCore::RenderRegion::logicalHeightOfAllFlowThreadContent):
32689        (WebCore::RenderRegion::isLastRegion):
32690        (WebCore::RenderRegion::styleDidChange):
32691        (WebCore::RenderRegion::attachRegion):
32692        (WebCore::RenderRegion::detachRegion):
32693        * rendering/RenderRegion.h:
32694        * rendering/RenderRegionSet.h:
32695        * rendering/RenderTreeAsText.cpp:
32696        (WebCore::writeRenderRegionList):
32697
326982014-01-09  Antti Koivisto  <antti@apple.com>
32699
32700        Switch HTMLTableRowsCollection from Traversal<> to iterators
32701        https://bugs.webkit.org/show_bug.cgi?id=126684
32702
32703        Reviewed by Andreas Kling.
32704
32705        This is the last remaining client of Traversal<> outside the iterator implementation.
32706
32707        * dom/ElementChildIterator.h:
32708        (WebCore::ElementChildIteratorAdapter<ElementType>::find):
32709        (WebCore::ElementChildConstIteratorAdapter<ElementType>::find):
32710        
32711            Add find with the same semantics as ElementDescendantIterator::find.
32712
32713        * html/HTMLTableRowsCollection.cpp:
32714        (WebCore::HTMLTableRowsCollection::rowAfter):
32715        (WebCore::HTMLTableRowsCollection::lastRow):
32716
327172014-01-08  Carlos Garcia Campos  <cgarcia@igalia.com>
32718
32719        REGRESSION(r161176): http/tests/misc/authentication-redirect-3/authentication-sent-to-redirect-same-origin-with-location-credentials.html is failing on GTK
32720        https://bugs.webkit.org/show_bug.cgi?id=126518
32721
32722        Reviewed by Martin Robinson.
32723
32724        Clear the credentials before calling willSendRequest on the client
32725        to avoid sending the credentials to the API layer, but apply them
32726        again to the request right before creating the new SoupRequest.
32727
32728        * platform/network/soup/ResourceHandleSoup.cpp:
32729        (WebCore::continueAfterWillSendRequest):
32730        (WebCore::doRedirect):
32731
327322014-01-08  Commit Queue  <commit-queue@webkit.org>
32733
32734        Unreviewed, rolling out r161532.
32735        http://trac.webkit.org/changeset/161532
32736        https://bugs.webkit.org/show_bug.cgi?id=126677
32737
32738        Caused lots of assertion failures (Requested by ap on
32739        #webkit).
32740
32741        * xml/XMLHttpRequest.cpp:
32742        (WebCore::XMLHttpRequest::callReadyStateChangeListener):
32743        (WebCore::XMLHttpRequest::createRequest):
32744        (WebCore::XMLHttpRequest::abort):
32745        (WebCore::XMLHttpRequest::networkError):
32746        (WebCore::XMLHttpRequest::abortError):
32747        (WebCore::XMLHttpRequest::didSendData):
32748        (WebCore::XMLHttpRequest::didReceiveData):
32749        (WebCore::XMLHttpRequest::didTimeout):
32750        * xml/XMLHttpRequest.h:
32751        * xml/XMLHttpRequestProgressEventThrottle.cpp:
32752        (WebCore::XMLHttpRequestProgressEventThrottle::XMLHttpRequestProgressEventThrottle):
32753        (WebCore::XMLHttpRequestProgressEventThrottle::dispatchProgressEvent):
32754        (WebCore::XMLHttpRequestProgressEventThrottle::dispatchEventAndLoadEnd):
32755        (WebCore::XMLHttpRequestProgressEventThrottle::flushProgressEvent):
32756        (WebCore::XMLHttpRequestProgressEventThrottle::fired):
32757        (WebCore::XMLHttpRequestProgressEventThrottle::hasEventToDispatch):
32758        (WebCore::XMLHttpRequestProgressEventThrottle::suspend):
32759        * xml/XMLHttpRequestProgressEventThrottle.h:
32760        * xml/XMLHttpRequestUpload.cpp:
32761        (WebCore::XMLHttpRequestUpload::XMLHttpRequestUpload):
32762        (WebCore::XMLHttpRequestUpload::dispatchEventAndLoadEnd):
32763        * xml/XMLHttpRequestUpload.h:
32764
327652014-01-08  Brian Burg  <bburg@apple.com>
32766
32767        Clean up confusing names and calculations in image-dragging functions
32768        https://bugs.webkit.org/show_bug.cgi?id=126661
32769
32770        Reviewed by Timothy Hatcher.
32771
32772        No new tests.
32773
32774        * page/DragController.cpp:
32775        (WebCore::DragController::doImageDrag): rename variables and
32776        simplify the calculation of the image's scaled origin.
32777
32778        * platform/DragImage.cpp:
32779        (WebCore::fitDragImageToMaxSize): rename variables.
32780
327812014-01-08  Seokju Kwon  <seokju@webkit.org>
32782
32783        Web Inspector: Remove InspectorClient::captureScreenshot()
32784        https://bugs.webkit.org/show_bug.cgi?id=126616
32785
32786        Reviewed by Joseph Pecoraro.
32787
32788        No new tests, No change in behavior.
32789
32790        Remove leftover mothod as Page.captureScreenshot API was removed in r160202.
32791
32792        * inspector/InspectorClient.h:
32793
327942014-01-08  Youenn Fablet  <youennf@gmail.com>
32795
32796        Correctly set XHR loadend attributes (loaded and total).
32797        https://bugs.webkit.org/show_bug.cgi?id=120828
32798
32799        Reviewed by Alexey Proskuryakov.
32800        
32801        Added correct initialization of lengthComputable, loaded and total attributes 
32802        to XHR ProgressEvent events (load, loadstart, loadend, abort, error and timeout).
32803
32804        XMLHttpRequestProgressEventThrottle and XMLHttpRequestUpload now keep persistent knowledge 
32805        of m_loaded and m_total values with this patch.
32806        
32807        Code refactoring to handle event dispatching in case of error in a single manner.
32808        XMLHttpRequestProgressEventThrottle::dispatchProgressEvent is renamed as dispatchThrottledProgressEvent
32809        XMLHttpRequestProgressEventThrottle::dispatchEventAndLoadend is replaced by dispatchProgressEvent(const AtomicString&)
32810
32811        Tests: http/tests/xmlhttprequest/loadstart-event-init.html
32812               http/tests/xmlhttprequest/onabort-progressevent-attributes.html
32813               http/tests/xmlhttprequest/onload-progressevent-attributes.html
32814               http/tests/xmlhttprequest/upload-onabort-progressevent-attributes.html
32815               http/tests/xmlhttprequest/upload-onload-progressevent-attributes.html
32816
32817        * xml/XMLHttpRequest.cpp:
32818        (WebCore::XMLHttpRequest::callReadyStateChangeListener): changed readystatechange event from ProgressEvent to Event (not cancellable, not bubblable) to better match the spec 
32819        (WebCore::XMLHttpRequest::createRequest):
32820        (WebCore::XMLHttpRequest::abort): code refactoring to handle error event dispatching in a single way
32821        (WebCore::XMLHttpRequest::networkError): code refactoring to handle error event dispatching in a single way
32822        (WebCore::XMLHttpRequest::abortError): code refactoring to handle error event dispatching in a single way
32823        (WebCore::XMLHttpRequest::didSendData):
32824        (WebCore::XMLHttpRequest::didReceiveData):
32825        (WebCore::XMLHttpRequest::dispatchErrorEvents): dispatch progress events in case of error
32826        (WebCore::XMLHttpRequest::didTimeout): code refactoring to handle error event dispatching in a single way
32827        * xml/XMLHttpRequest.h:
32828        * xml/XMLHttpRequestProgressEventThrottle.cpp: before the patch, the fact that a progress event is being throttled is stored indirectly (m_loaded or m_total not equal to zero). With the patch, this information is stored in m_hasThrottledProgressEvent. The m_loaded and m_total values are no longer set back to zero after a progress event is dispatched. This allows using these values to correctly initialize other ProgressEvent events (in particular loadend, abort, timeout...) 
32829        (WebCore::XMLHttpRequestProgressEventThrottle::XMLHttpRequestProgressEventThrottle):
32830        (WebCore::XMLHttpRequestProgressEventThrottle::dispatchThrottledProgressEvent): always update the new m_loaded and m_total values. If progress event is not sent as part of the function call, store the fact that a progress event is being throttled through m_hasThrottledProgressEvent. 
32831        (WebCore::XMLHttpRequestProgressEventThrottle::dispatchProgressEvent): used to send any ProgressEvent event that is not be throttled
32832        (WebCore::XMLHttpRequestProgressEventThrottle::flushProgressEvent): after the call, no progress event is throttled anymore
32833        (WebCore::XMLHttpRequestProgressEventThrottle::fired): after the call, no progress event is throttled anymore
32834        (WebCore::XMLHttpRequestProgressEventThrottle::hasEventToDispatch):
32835        (WebCore::XMLHttpRequestProgressEventThrottle::suspend):
32836        * xml/XMLHttpRequestProgressEventThrottle.h: introduced m_hasThrottledProgressEvent which stores whether a progress event is being throttled and m_computableLength which is used to initialize ProgressEvent computableLength
32837        * xml/XMLHttpRequestUpload.cpp:
32838        (WebCore::XMLHttpRequestUpload::XMLHttpRequestUpload):
32839        (WebCore::XMLHttpRequestUpload::dispatchProgressEvent):
32840        * xml/XMLHttpRequestUpload.h: introduced m_loaded, m_total and m_lengthComputable, similarly to XMLHttpRequestProgressEventThrottle
32841
328422014-01-08  Tim Horton  <timothy_horton@apple.com>
32843
32844        TileController can fail to receive exposedRect from the drawing area if set at the wrong time
32845        https://bugs.webkit.org/show_bug.cgi?id=126536
32846
32847        Reviewed by Simon Fraser.
32848
32849        * WebCore.exp.in:
32850        Export some things.
32851
32852        * page/FrameView.cpp:
32853        (WebCore::FrameView::FrameView):
32854        (WebCore::FrameView::setExposedRect):
32855        Store the exposed rect on FrameView. When it changes, if the main frame
32856        has a TiledBacking, inform it of the change.
32857
32858        * page/FrameView.h:
32859        * platform/graphics/TiledBacking.h:
32860        * platform/graphics/ca/mac/TileController.h:
32861        * platform/graphics/ca/mac/TileController.mm:
32862        (WebCore::TileController::TileController):
32863        (WebCore::TileController::tilesWouldChangeForVisibleRect):
32864        (WebCore::TileController::computeTileCoverageRect):
32865        (WebCore::TileController::revalidateTiles):
32866        (WebCore::TileController::updateTileCoverageMap):
32867        Make use of the fact that we can test if a rect is infinite
32868        instead of having a separate boolean property for that.
32869
32870        * rendering/RenderLayerBacking.cpp:
32871        (WebCore::RenderLayerBacking::RenderLayerBacking):
32872        (WebCore::computeTileCoverage):
32873        Push the FrameView's cached exposed rect down into the TiledBacking when it is created.
32874        We only support clipping for the main frame TileController for now.
32875
328762014-01-07  Myles C. Maxfield  <mmaxfield@apple.com>
32877
32878        a fractional value of the css letter-spacing property is not rendered as expected
32879        https://bugs.webkit.org/show_bug.cgi?id=20606
32880
32881        Reviewed by Simon Fraser.
32882
32883        This turns on fractional letter-spacing and word-spacing CSS values.
32884        It is taken mostly from Blink r153727 and iOS. Updating the relevant
32885        types is all that is necessary
32886
32887        Existing tests have been updated.
32888
32889        * css/DeprecatedStyleBuilder.cpp:
32890        (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
32891        * page/animation/CSSPropertyAnimation.cpp:
32892        (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
32893        * platform/graphics/Font.cpp:
32894        (WebCore::Font::Font):
32895        (WebCore::Font::width):
32896        * platform/graphics/Font.h:
32897        (WebCore::Font::wordSpacing):
32898        (WebCore::Font::letterSpacing):
32899        (WebCore::Font::setWordSpacing):
32900        (WebCore::Font::setLetterSpacing):
32901        * rendering/style/RenderStyle.cpp:
32902        (WebCore::RenderStyle::wordSpacing):
32903        (WebCore::RenderStyle::letterSpacing):
32904        (WebCore::RenderStyle::setWordSpacing):
32905        (WebCore::RenderStyle::setLetterSpacing):
32906        * rendering/style/RenderStyle.h:
32907
329082014-01-08  Anders Carlsson  <andersca@apple.com>
32909
32910        Add WTF::StringView and use it for grammar checking
32911        https://bugs.webkit.org/show_bug.cgi?id=126644
32912
32913        Reviewed by Antti Koivisto.
32914
32915        Use a StringView in TextCheckerClient::checkTextOfParagraph to avoid upconverting strings unnecessarily.
32916
32917        * editing/TextCheckingHelper.cpp:
32918        (WebCore::checkTextOfParagraph):
32919        Pass a StringView to TextCheckerClient::checkTextOfParagraph.
32920        
32921        * loader/EmptyClients.h:
32922        Update for TextCheckerClient changes.
32923
32924        * platform/text/TextCheckerClient.h:
32925        Change TextCheckerClient::checkTextOfParagraph to take a StringView.
32926        
329272014-01-08  Eric Carlson  <eric.carlson@apple.com>
32928
32929        Unreviewed Windows build fix attempt after r161481.
32930
32931        * WebCore.vcxproj/copyForwardingHeaders.cmd:
32932
329332014-01-08  Andreas Kling  <akling@apple.com>
32934
32935        Deploy RenderPtr in RenderMathMLOperator::updateFromElement().
32936        <https://webkit.org/b/126628>
32937
32938        Reviewed by Antti Koivisto.
32939
32940        * rendering/mathml/RenderMathMLOperator.cpp:
32941        (WebCore::RenderMathMLOperator::updateFromElement):
32942
32943            Use RenderPtr/createRenderer for renderer creation.
32944            Removed an unnecessary null check (text is always created.)
32945            Also use RenderStyle::createAnonymousStyleWithDisplay()
32946            helper to shorten down the code a bit.
32947
329482014-01-08  Alberto Garcia  <berto@igalia.com>
32949
32950        Fix some compilation warnings
32951        https://bugs.webkit.org/show_bug.cgi?id=126635
32952
32953        Reviewed by Csaba Osztrogonác.
32954
32955        Remove code that is no longer being used.
32956
32957        * platform/graphics/cairo/GraphicsContextCairo.cpp:
32958        * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
32959        * platform/gtk/PopupMenuGtk.cpp:
32960        * platform/gtk/RedirectedXCompositeWindow.h:
32961
329622014-01-08  Zan Dobersek  <zdobersek@igalia.com>
32963
32964        [Automake] Scripts for generated build targets do not necessarily produce their output
32965        https://bugs.webkit.org/show_bug.cgi?id=126378
32966
32967        Reviewed by Carlos Garcia Campos.
32968
32969        * GNUmakefile.am: Touch the build targets that are generated through helper scripts that don't
32970        assure the output is generated every time the script is invoked, most commonly due to unchanged
32971        * bindings/gobject/GNUmakefile.am: Simply move the gdom-gen-symbols file into the output file
32972        instead of copying it if the contents differ and removing it. This again ensures that the output
32973        file is always newer than its dependencies, even if the input hasn't changed.
32974
329752014-01-08  Frédéric Wang  <fred.wang@free.fr>
32976
32977        Remove invalid comments from mathtags.ing
32978        https://bugs.webkit.org/show_bug.cgi?id=126629
32979
32980        Reviewed by Chris Fleizach.
32981
32982        * mathml/mathtags.in:
32983
329842014-01-08  Andreas Kling  <akling@apple.com>
32985
32986        RenderMathMLRow::createAnonymousWithParentRenderer() should return RenderPtr.
32987        <https://webkit.org/b/126631>
32988
32989        Reviewed by Antti Koivisto.
32990
32991        * rendering/mathml/RenderMathMLRow.h:
32992        * rendering/mathml/RenderMathMLRow.cpp:
32993        (WebCore::RenderMathMLRow::createAnonymousWithParentRenderer):
32994
32995            Tweak to return RenderPtr<RenderMathMLRow> and removed comment(!)
32996            about how this should return a smart pointer. Also take the
32997            parent renderer as a RenderMathMLRoot& instead of a RenderObject*
32998            since that's all we ever pass.
32999
33000        * rendering/mathml/RenderMathMLRoot.cpp:
33001        (WebCore::RenderMathMLRoot::addChild):
33002
33003            Updated for new createAnonymousWithParentRenderer() signature.
33004
330052014-01-08  Mario Sanchez Prada  <mario.prada@samsung.com>
33006
33007        AX: Make roleValue() return DescriptionListRole for <dl> elements
33008        https://bugs.webkit.org/show_bug.cgi?id=126579
33009
33010        Reviewed by Chris Fleizach.
33011
33012        Implement AccessibilityList::roleValue() so it will return
33013        ListRole or DescriptionListRole depending on the type of list.
33014
33015        No new tests needed, as no new functionality was added and ports
33016        should still be exposing the right role for <dl> elements
33017
33018        * accessibility/AccessibilityList.cpp:
33019        (WebCore::AccessibilityList::roleValue): Implemented.
33020        * accessibility/AccessibilityList.h:
33021
33022        * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
33023        (atkRole): Removed extra checks for objects with ListRole role.
33024
330252014-01-08  Andreas Kling  <akling@apple.com>
33026
33027        createMathMLOperator() should return RenderPtr.
33028        <https://webkit.org/b/126622>
33029
33030        Reviewed by Antti Koivisto.
33031
33032        * rendering/mathml/RenderMathMLFenced.h:
33033        * rendering/mathml/RenderMathMLFenced.cpp:
33034        (WebCore::RenderMathMLFenced::createMathMLOperator):
33035
33036            Make this return a RenderPtr<RenderMathMLOperator>.
33037
33038        (WebCore::RenderMathMLFenced::makeFences):
33039        (WebCore::RenderMathMLFenced::addChild):
33040
33041            Updated for the new createMathMLOperator() signature.
33042
330432014-01-07  Antti Koivisto  <antti@apple.com>
33044
33045        REGRESSION (r161195): Acid2 regression tests frequently fail
33046        https://bugs.webkit.org/show_bug.cgi?id=126432
33047
33048        Reviewed by Anders Carlsson.
33049        
33050        We would occasionally dump the render tree before the actual last resource on the page was loaded.
33051        The problematic resource is an image loaded by an <object> tag nested as fallback of another <object>.
33052
33053        * html/HTMLObjectElement.cpp:
33054        (WebCore::HTMLObjectElement::renderFallbackContent):
33055        
33056            Force style recalc when rendering fallback content. The current mechanism for triggering the fallback content load
33057            requires a style recalc.
33058
330592014-01-07  Andreas Kling  <akling@apple.com>
33060
33061        createAnonymousMathMLBlock() should return RenderPtr.
33062        <https://webkit.org/b/126583>
33063
33064        Reviewed by Antti Koivisto.
33065
33066        * rendering/mathml/RenderMathMLBlock.h:
33067        * rendering/mathml/RenderMathMLBlock.cpp:
33068        (WebCore::RenderMathMLBlock::createAnonymousMathMLBlock):
33069
33070            Make this return a RenderPtr<RenderMathMLBlock> and removed the
33071            EDisplay argument since it was always using the default (FLEX.)
33072
33073        * rendering/mathml/RenderMathMLFraction.cpp:
33074        (WebCore::RenderMathMLFraction::addChild):
33075
33076            Updated for the new createAnonymousMathMLBlock() signature.
33077
330782014-01-07  Eric Carlson  <eric.carlson@apple.com>
33079
33080        Teach MediaSessionManager to manage interruptions
33081        https://bugs.webkit.org/show_bug.cgi?id=126530
33082
33083        Reviewed by Sam Weinig.
33084
33085        Tests: media/video-interruption-active-when-element-created.html
33086               media/video-interruption-with-resume-allowing-play.html
33087               media/video-interruption-with-resume-not-allowing-play.html
33088
33089        * WebCore.exp.in: Export functions needed by Internals.
33090
33091        Add MediaSession and MediaSessionManager.
33092        * CMakeLists.txt:
33093        * GNUmakefile.list.am:
33094        * WebCore.vcxproj/WebCore.vcxproj:
33095        * WebCore.vcxproj/WebCore.vcxproj.filters:
33096        * WebCore.xcodeproj/project.pbxproj:
33097
33098        Automatically pause/play for interruptions. Move media restriction management to a MediaSession.
33099        * html/HTMLMediaElement.cpp:
33100        (WebCore::HTMLMediaElement::HTMLMediaElement): Get rid of m_loadInitiatedByUserGesture and m_userStartedPlayback,
33101            they aren't needed.
33102        (WebCore::HTMLMediaElement::load): Ditto.
33103        (WebCore::HTMLMediaElement::loadInternal): Use the media session to manage restrictions.
33104        (WebCore::HTMLMediaElement::play): Remove redundant iOS code. Postpone playback if called 
33105            during an interruption.
33106        (WebCore::HTMLMediaElement::pause): Remember to not resume playback when it ends if called during
33107            an interruption.
33108        (WebCore::HTMLMediaElement::potentiallyPlaying): Rearrange code to make it easier to understand.
33109        (WebCore::HTMLMediaElement::couldPlayIfEnoughData): Ditto.
33110        (WebCore::HTMLMediaElement::pausedForUserInteraction): Return true if paused because of an interruption.
33111        (WebCore::HTMLMediaElement::removeBehaviorsRestrictionsAfterFirstUserGesture): Be explicit about
33112            which restrictions are removed.
33113        (WebCore::HTMLMediaElement::mediaType): MediaSessionManager::<Type> -> MediaSession::<Type>.
33114        (WebCore::HTMLMediaElement::beginInterruption): New.
33115        (WebCore::HTMLMediaElement::endInterruption): Ditto.
33116        * html/HTMLMediaElement.h:
33117
33118        Pulled MediaSessionManagerToken out of MediaSessionManager.cpp, added functionality to manage interruptions.
33119        * platform/audio/MediaSession.cpp: Added.
33120        (WebCore::MediaSession::create):
33121        (WebCore::MediaSession::MediaSession):
33122        (WebCore::MediaSession::~MediaSession):
33123        (WebCore::MediaSession::beginInterruption): Inform client of interruption state change.
33124        (WebCore::MediaSession::endInterruption): Ditto.
33125        * platform/audio/MediaSession.h: Added.
33126
33127        * platform/audio/MediaSessionManager.cpp:
33128        (WebCore::MediaSessionManager::MediaSessionManager): Initialize interruption counter.
33129        (WebCore::MediaSessionManager::has): MediaType is defined in MediaSession.
33130        (WebCore::MediaSessionManager::count): Ditto.
33131        (WebCore::MediaSessionManager::beginInterruption): Inform all clients of interruption start if
33132            not already in an interruption.
33133        (WebCore::MediaSessionManager::endInterruption): Inform all clients if interruption has ended.
33134        (WebCore::MediaSessionManager::addSession): Renamed from addToken. Set session interruption state.
33135        (WebCore::MediaSessionManager::removeSession): Renamed from removeToken.
33136        * platform/audio/MediaSessionManager.h:
33137
33138        * platform/audio/mac/AudioDestinationMac.cpp:
33139        (WebCore::AudioDestinationMac::AudioDestinationMac): MediaSessionManagerToken -> MediaSession.
33140        * platform/audio/mac/AudioDestinationMac.h:
33141
33142        * platform/audio/mac/MediaSessionManagerMac.cpp:
33143        (MediaSessionManager::updateSessionState): Ditto.
33144
33145        Make it possible for tests to begin and end interruptions.
33146        * testing/Internals.cpp:
33147        (WebCore::Internals::beginMediaSessionInterruption):
33148        (WebCore::Internals::endMediaSessionInterruption):
33149        * testing/Internals.h:
33150        * testing/Internals.idl:
33151
331522014-01-07  Seokju Kwon  <seokju@webkit.org>
33153
33154        Web Inspector: Remove leftover 'device metrics' code
33155        https://bugs.webkit.org/show_bug.cgi?id=126607
33156
33157        Reviewed by Joseph Pecoraro.
33158
33159        No new tests, No changes in behavior.
33160
33161        Removes unused code related to 'device metrics'.
33162
33163        * css/MediaQueryEvaluator.cpp:
33164        (WebCore::device_heightMediaFeatureEval):
33165        (WebCore::device_widthMediaFeatureEval):
33166        * inspector/InspectorClient.h:
33167        * inspector/InspectorInstrumentation.cpp:
33168        * inspector/InspectorInstrumentation.h:
33169        * inspector/InspectorPageAgent.cpp:
33170        (WebCore::InspectorPageAgent::InspectorPageAgent):
33171        (WebCore::InspectorPageAgent::disable):
33172        (WebCore::InspectorPageAgent::didLayout):
33173        * inspector/InspectorPageAgent.h:
33174        * page/DOMWindow.cpp:
33175        (WebCore::DOMWindow::innerHeight):
33176        (WebCore::DOMWindow::innerWidth):
33177        * page/Screen.cpp:
33178        (WebCore::Screen::height):
33179        (WebCore::Screen::width):
33180        * rendering/TextAutosizer.cpp:
33181        (WebCore::TextAutosizer::processSubtree):
33182
331832014-01-02  Andy Estes  <aestes@apple.com>
33184
33185        [iOS] Upstream remainder of minimal-ui viewport changes
33186        https://bugs.webkit.org/show_bug.cgi?id=126410
33187
33188        Reviewed by Sam Weinig.
33189
33190        * dom/ViewportArguments.h:
33191
331922014-01-07  Victor Costan  <costan@gmail.com>
33193
33194        createElementNS handles element name 'xmlns' correctly.
33195        https://bugs.webkit.org/show_bug.cgi?id=126553
33196
33197        Reviewed by Alexey Proskuryakov.
33198
33199        Tests: fast/dom/createElementNS-namespace-errors.html
33200               fast/dom/setAttributeNS-namespace-errors.html
33201
33202        * dom/Document.cpp:
33203        (WebCore::Document::hasValidNamespaceForElements): updated to match DOM3/DOM4 spec.
33204        (WebCore::Document::hasValidNamespaceForAttributes): updated to match DOM3/DOM4 spec.
33205
332062014-01-07  Jer Noble  <jer.noble@apple.com>
33207
33208        PlatformLayer containing scrollbars does not disappear when setting overflow:hidden on page root, until resize.
33209        https://bugs.webkit.org/show_bug.cgi?id=116051
33210
33211        Reviewed by Simon Fraser.
33212
33213        Move the pre-existing call to addedOrRemovedScrollbar() outside of the else-statement
33214        in updateScrollbars() so that changes made in the if-statement cause the scrollbar
33215        layers to be updated. The scrollbarAddedOrRemoved local variable guarding access to
33216        addedOrRemovedScrollbar() is already being set (but never checked) inside the if-statement.
33217
33218        * platform/ScrollView.cpp:
33219        (WebCore::ScrollView::updateScrollbars):
33220
332212014-01-06  Jer Noble  <jer.noble@apple.com>
33222
33223        HTML5 video tag Does Not Load in Apache htaccess/htpasswd Protected Directory
33224        https://bugs.webkit.org/show_bug.cgi?id=40382
33225
33226        Reviewed by Eric Carlson.
33227
33228        Test: http/tests/media/video-auth.html
33229
33230        Adopt a new AVFoundation API to handle authentication challenge generated while loading
33231        media through an AVAsset. The authentication request comes through as a
33232        NSURLAuthenticationChallenge, and is wrapped in a WebCore::AuthenticationChallenge
33233        by MediaPlayerPrivateAVFoundationObjC, and is sent up to the HTMLMediaElement to handle.
33234        The HTMLMediaElement creates a ResourceRequest, and passes the challenge up to the
33235        ResourceLoadNotifier.
33236
33237        To allow the HTMLMediaElement to initiate handling an AuthenticationChallenge without
33238        actually creating a ResourceLoader, allow ResourceLoaderDelegate to accept a unique
33239        identifier and a DocumentLoader in lieu of a ResourceLoader.
33240
33241        * html/HTMLMediaElement.cpp:
33242        (WebCore::HTMLMediaElement::parseAttribute):
33243        * html/HTMLMediaElement.h:
33244        * loader/ResourceLoadNotifier.cpp:
33245        (WebCore::ResourceLoadNotifier::didReceiveAuthenticationChallenge):
33246        (WebCore::ResourceLoadNotifier::didCancelAuthenticationChallenge):
33247        * loader/ResourceLoadNotifier.h:
33248        * platform/graphics/MediaPlayer.cpp:
33249        (WebCore::MediaPlayer::shouldWaitForResponseToAuthenticationChallenge):
33250        * platform/graphics/MediaPlayer.h:
33251        (WebCore::MediaPlayerClient::mediaPlayerShouldWaitForResponseToAuthenticationChallenge):
33252        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
33253        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
33254        (WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForResponseToAuthenticationChallenge):
33255        (-[WebCoreAVFLoaderDelegate resourceLoader:shouldWaitForResponseToAuthenticationChallenge:]):
33256
332572014-01-07  Commit Queue  <commit-queue@webkit.org>
33258
33259        Unreviewed, rolling out r161447.
33260        http://trac.webkit.org/changeset/161447
33261        https://bugs.webkit.org/show_bug.cgi?id=126592
33262
33263        needs some more work (Requested by thorton on #webkit).
33264
33265        * WebCore.exp.in:
33266        * page/FrameView.cpp:
33267        (WebCore::FrameView::FrameView):
33268        * page/FrameView.h:
33269        * platform/graphics/GraphicsLayerClient.h:
33270        * platform/graphics/TiledBacking.h:
33271        * platform/graphics/ca/GraphicsLayerCA.h:
33272        * platform/graphics/ca/PlatformCALayerClient.h:
33273        * platform/graphics/ca/mac/TileController.h:
33274        * platform/graphics/ca/mac/TileController.mm:
33275        (WebCore::TileController::TileController):
33276        (WebCore::TileController::tilesWouldChangeForVisibleRect):
33277        (WebCore::TileController::setExposedRect):
33278        (WebCore::TileController::setClipsToExposedRect):
33279        (WebCore::TileController::computeTileCoverageRect):
33280        (WebCore::TileController::revalidateTiles):
33281        (WebCore::TileController::updateTileCoverageMap):
33282        * rendering/RenderLayerBacking.cpp:
33283        (WebCore::computeTileCoverage):
33284        * rendering/RenderLayerBacking.h:
33285
332862014-01-07  Tim Horton  <timothy_horton@apple.com>
33287
33288        TileController can fail to receive exposedRect from the drawing area if set at the wrong time
33289        https://bugs.webkit.org/show_bug.cgi?id=126536
33290
33291        Reviewed by Anders Carlsson.
33292
33293        Move exposedRect to FrameView so it can be pushed in from WebKit before we have
33294        a TiledBacking, and can be retrieved by the TiledBacking when it needs to.
33295
33296        * WebCore.exp.in:
33297        Export some things.
33298
33299        * page/FrameView.cpp:
33300        (WebCore::FrameView::FrameView):
33301        (WebCore::FrameView::setExposedRect):
33302        * page/FrameView.h:
33303        Store the exposed rect on FrameView. When it changes, if the main frame
33304        has a TiledBacking, inform it of the change.
33305
33306        * platform/graphics/GraphicsLayerClient.h:
33307        (WebCore::GraphicsLayerClient::exposedRect):
33308        * platform/graphics/TiledBacking.h:
33309        * platform/graphics/ca/GraphicsLayerCA.h:
33310        * platform/graphics/ca/PlatformCALayerClient.h:
33311        Plumbing so that TileController can retrieve the exposedRect from FrameView.
33312
33313        * platform/graphics/ca/mac/TileController.h:
33314        * platform/graphics/ca/mac/TileController.mm:
33315        (WebCore::TileController::TileController):
33316        (WebCore::TileController::platformCALayerExposedRect):
33317        (WebCore::TileController::tilesWouldChangeForVisibleRect):
33318        (WebCore::TileController::exposedRectDidChange):
33319        (WebCore::TileController::computeTileCoverageRect):
33320        (WebCore::TileController::revalidateTiles):
33321        (WebCore::TileController::updateTileCoverageMap):
33322        Don't store the exposed rect or clipsToExposedRect on TileController.
33323        Instead, retrieve it from our client.
33324        Make use of the fact that we can test if a rect is infinite
33325        instead of having a separate boolean property for that.
33326
33327        * rendering/RenderLayerBacking.cpp:
33328        (WebCore::computeTileCoverage):
33329        (WebCore::RenderLayerBacking::exposedRect):
33330        Hand the FrameView's exposedRect back to our GraphicsLayer.
33331        We only support clipping for the main frame TileController for now.
33332
33333        * rendering/RenderLayerBacking.h:
33334
333352014-01-07  Carlos Garcia Campos  <cgarcia@igalia.com>
33336
33337        REGRESSION(r161381): [GTK] Rendering is broken in GTK after r161381
33338        https://bugs.webkit.org/show_bug.cgi?id=126570
33339
33340        Reviewed by Tim Horton.
33341
33342        Use LayoutRect::infiniteRect() instead of IntRect::infiniteRect()
33343        when a LayoutRect is expected.
33344
33345        * rendering/RenderFlowThread.cpp:
33346        (WebCore::RenderFlowThread::fragmentsBoundingBox):
33347        * rendering/RenderLayer.cpp:
33348        (WebCore::RenderLayer::collectFragments):
33349        (WebCore::RenderLayer::calculateClipRects):
33350        * rendering/RenderLayerBacking.cpp:
33351        (WebCore::clipBox):
33352        * rendering/RenderLayerCompositor.cpp:
33353        (WebCore::RenderLayerCompositor::clippedByAncestor):
33354
333552014-01-07  Bear Travis  <betravis@adobe.com>
33356
33357        [CSS Shapes] Change default value from 'auto' to 'none'
33358        https://bugs.webkit.org/show_bug.cgi?id=126544
33359
33360        Reviewed by Sam Weinig.
33361
33362        Update the CSS infrastructure to accept 'none' as the default value
33363        for shape-inside and shape-outside.
33364
33365        Updated existing parsing tests.
33366
33367        * css/CSSComputedStyleDeclaration.cpp:
33368        (WebCore::ComputedStyleExtractor::propertyValue):
33369        * css/CSSParser.cpp:
33370        (WebCore::CSSParser::parseShapeProperty):
33371        * rendering/style/ShapeValue.h:
33372
333732014-01-07  Hans Muller  <hmuller@adobe.com>
33374
33375        [CSS Shapes] shape-outside layout incorrect when line spans rounded box rounded corners
33376        https://bugs.webkit.org/show_bug.cgi?id=126528
33377
33378        Reviewed by Andreas Kling.
33379
33380        BoxShape::getExcludedIntervals() now checks for the special case where the line spans the
33381        top and bottom rounded corners - which implies that the excluded interval is the box's
33382        horizontal extent.
33383
33384        Test: fast/shapes/shape-outside-floats/shape-outside-line-spans-box-corners.html
33385
33386        * rendering/shapes/BoxShape.cpp:
33387        (WebCore::BoxShape::getExcludedIntervals):
33388
333892014-01-07  Alexey Proskuryakov  <ap@apple.com>
33390
33391        Debug biuld fix.
33392
33393        Replace actionTag with mactionTag in assertions.
33394
33395        * mathml/MathMLSelectElement.cpp:
33396        (WebCore::MathMLSelectElement::getSelectedActionChildAndIndex):
33397        (WebCore::MathMLSelectElement::getSelectedActionChild):
33398
333992014-01-07  Frédéric Wang  <fred.wang@free.fr>
33400
33401        Add Support for the semantics element.
33402        https://bugs.webkit.org/show_bug.cgi?id=100626
33403
33404        Reviewed by Chris Fleizach.
33405
33406        Tests: mathml/presentation/semantics-2.html
33407               mathml/presentation/semantics-3.html
33408               mathml/presentation/semantics-4.html
33409
33410        This provides a complete support for the semantics element. When the first child is a content MathML, an annotation can be selected and displayed. The selection algorithm is identical to Gecko's one. The recognized annotations are text (e.g. LaTeX), presentation MathML, SVG and HTML.
33411
33412        * mathml/MathMLElement.cpp:
33413        (WebCore::MathMLElement::childShouldCreateRenderer):
33414        (WebCore::MathMLElement::attributeChanged):
33415        (WebCore::MathMLElement::isPresentationMathML):
33416        * mathml/MathMLElement.h:
33417        (WebCore::MathMLElement::isMathMLToken):
33418        (WebCore::MathMLElement::isSemanticAnnotation):
33419        (WebCore::MathMLElement::isPresentationMathML):
33420        (WebCore::MathMLElement::updateSelectedChild):
33421        * mathml/MathMLInlineContainerElement.h:
33422        * mathml/MathMLSelectElement.cpp:
33423        (WebCore::MathMLSelectElement::getSelectedActionChildAndIndex):
33424        (WebCore::MathMLSelectElement::getSelectedActionChild):
33425        (WebCore::MathMLSelectElement::getSelectedSemanticsChild):
33426        (WebCore::MathMLSelectElement::updateSelectedChild):
33427        (WebCore::MathMLSelectElement::toggle):
33428        * mathml/MathMLSelectElement.h:
33429        * mathml/MathMLTextElement.h:
33430        * mathml/mathattrs.in:
33431        * mathml/mathtags.in:
33432
334332014-01-07  Pascal Jacquemart  <p.jacquemart@samsung.com>
33434
33435        Fix compilation issue with GLES2 after http://webkit.org/b/126548
33436        https://bugs.webkit.org/show_bug.cgi?id=126578
33437
33438        Reviewed by  Brent Fulgham
33439
33440        * platform/graphics/opengl/TemporaryOpenGLSetting.cpp: added GLES2/gl2.h include
33441
334422014-01-07  László Langó  <llango.u-szeged@partner.samsung.com>
33443
33444        Remove some extra includes from XML.
33445        https://bugs.webkit.org/show_bug.cgi?id=126572
33446
33447        Reviewed by Anders Carlsson.
33448
33449        No new tests, no functionality changed.
33450
33451        * xml/XMLHttpRequest.cpp:
33452        * xml/XMLHttpRequestUpload.cpp:
33453        * xml/XMLHttpRequestUpload.h:
33454        * xml/XPathEvaluator.cpp:
33455        * xml/XPathExpression.cpp:
33456        * xml/XPathExpressionNode.cpp:
33457        * xml/XPathFunctions.cpp:
33458        * xml/XPathNodeSet.cpp:
33459        * xml/XPathParser.cpp:
33460        * xml/XPathPath.cpp:
33461        * xml/XPathPredicate.cpp:
33462        * xml/XPathPredicate.h:
33463        * xml/XPathResult.cpp:
33464        * xml/XPathValue.cpp:
33465        * xml/XPathVariableReference.cpp:
33466        * xml/XSLImportRule.cpp:
33467        * xml/XSLStyleSheetLibxslt.cpp:
33468        * xml/XSLTProcessorLibxslt.cpp:
33469        * xml/parser/XMLDocumentParser.cpp:
33470        * xml/parser/XMLDocumentParserLibxml2.cpp:
33471
334722014-01-07  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
33473
33474        Add toHTMLTableSectionElement() functions, and use it
33475        https://bugs.webkit.org/show_bug.cgi?id=126418
33476
33477        Reviewed by Andreas Kling.
33478
33479        HTMLTableSectionElement covers tbody, tfoot, and thead tags. So, we can't
33480        generate isHTMLTableSectionElement() by using template. This patch add
33481        toHTMLTableSectionElement() manually in order to cleanup static_cast<>.
33482
33483        No new tests, no behavior change.
33484
33485        * html/HTMLTableElement.cpp:
33486        (WebCore::HTMLTableElement::tHead):
33487        (WebCore::HTMLTableElement::tFoot):
33488        (WebCore::HTMLTableElement::lastBody):
33489        * html/HTMLTableRowElement.cpp:
33490        (WebCore::HTMLTableRowElement::rowIndex):
33491        * html/HTMLTableSectionElement.h:
33492        * html/HTMLTagNames.in:
33493
334942014-01-07  László Langó  <llango.u-szeged@partner.samsung.com>
33495
33496        Remove some extra includes from SVG.
33497        https://bugs.webkit.org/show_bug.cgi?id=126565
33498
33499        Reviewed by Dirk Schulze.
33500
33501        No new tests, no functionality changed.
33502
33503        * rendering/svg/RenderSVGBlock.cpp:
33504        * rendering/svg/RenderSVGContainer.cpp:
33505        * rendering/svg/RenderSVGEllipse.cpp:
33506        * rendering/svg/RenderSVGEllipse.h:
33507        * rendering/svg/RenderSVGHiddenContainer.cpp:
33508        * rendering/svg/RenderSVGImage.cpp:
33509        * rendering/svg/RenderSVGImage.h:
33510        * rendering/svg/RenderSVGInlineText.cpp:
33511        * rendering/svg/RenderSVGModelObject.cpp:
33512        * rendering/svg/RenderSVGPath.cpp:
33513        * rendering/svg/RenderSVGRect.cpp:
33514        * rendering/svg/RenderSVGResource.cpp:
33515        * rendering/svg/RenderSVGResourceClipper.cpp:
33516        * rendering/svg/RenderSVGResourceClipper.h:
33517        * rendering/svg/RenderSVGResourceContainer.cpp:
33518        * rendering/svg/RenderSVGResourceFilter.cpp:
33519        * rendering/svg/RenderSVGResourceFilter.h:
33520        * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
33521        * rendering/svg/RenderSVGResourceFilterPrimitive.h:
33522        * rendering/svg/RenderSVGResourceGradient.cpp:
33523        * rendering/svg/RenderSVGResourceGradient.h:
33524        * rendering/svg/RenderSVGResourceLinearGradient.cpp:
33525        * rendering/svg/RenderSVGResourceMarker.cpp:
33526        * rendering/svg/RenderSVGResourceMarker.h:
33527        * rendering/svg/RenderSVGResourceMasker.cpp:
33528        * rendering/svg/RenderSVGResourceMasker.h:
33529        * rendering/svg/RenderSVGResourcePattern.cpp:
33530        * rendering/svg/RenderSVGResourcePattern.h:
33531        * rendering/svg/RenderSVGResourceRadialGradient.cpp:
33532        * rendering/svg/RenderSVGResourceSolidColor.cpp:
33533        * rendering/svg/RenderSVGResourceSolidColor.h:
33534        * rendering/svg/RenderSVGRoot.cpp:
33535        * rendering/svg/RenderSVGShape.cpp:
33536        * rendering/svg/RenderSVGText.cpp:
33537        * rendering/svg/RenderSVGTransformableContainer.cpp:
33538        * rendering/svg/SVGInlineFlowBox.cpp:
33539        * rendering/svg/SVGInlineTextBox.cpp:
33540        * rendering/svg/SVGRenderSupport.cpp:
33541        * rendering/svg/SVGRenderTreeAsText.cpp:
33542        * rendering/svg/SVGRenderingContext.cpp:
33543        * rendering/svg/SVGResources.cpp:
33544        * rendering/svg/SVGResourcesCache.cpp:
33545        * rendering/svg/SVGResourcesCycleSolver.cpp:
33546        * rendering/svg/SVGRootInlineBox.cpp:
33547        * rendering/svg/SVGTextChunk.cpp:
33548        * rendering/svg/SVGTextChunkBuilder.cpp:
33549        * rendering/svg/SVGTextLayoutAttributes.h:
33550        * rendering/svg/SVGTextLayoutAttributesBuilder.h:
33551        * rendering/svg/SVGTextLayoutEngine.cpp:
33552        * rendering/svg/SVGTextLayoutEngine.h:
33553        * rendering/svg/SVGTextMetricsBuilder.h:
33554        * rendering/svg/SVGTextQuery.cpp:
33555        * rendering/svg/SVGTextRunRenderingContext.cpp:
33556
335572014-01-07  Krzysztof Czech  <k.czech@samsung.com>
33558
33559        [ATK] Expose aria-checked mixed state as ATK_STATE_INDETERMINATE
33560        https://bugs.webkit.org/show_bug.cgi?id=125855
33561
33562        Reviewed by Mario Sanchez Prada.
33563
33564        Test: accessibility/aria-checked-mixed-value.html
33565
33566        Expose ATK_STATE_INDETERMINATE to support aria-checked mixed state
33567        for radio and checkbox types.
33568
33569        * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
33570        (setAtkStateSetFromCoreObject):
33571
335722014-01-07  Mark Rowe  <mrowe@apple.com>
33573
33574        <https://webkit.org/b/126562> DOMProgressEvent has unspecified availability
33575
33576        Reviewed by Ryosuke Niwa.
33577
33578        * bindings/objc/PublicDOMInterfaces.h: Add DOMProgressEvent. It first appeared in 10.6.
33579
335802014-01-07  Mark Rowe  <mrowe@apple.com>
33581
33582        Another Mountain Lion build fix.
33583
33584        The Mountain Lion version of NS_DEPRECATED_MAC generates a reference to a nonexistent
33585        availability macro when the introduced and deprecated versions are the same. Follow
33586        AppKit's lead in working around this by defining the macros that will be referenced
33587        for the various possible OS version numbers. This isn't an issue on newer versions of
33588        OS X as the Foundation availability macros expand directly in to __attributes__ rather
33589        than in to the legacy availability maros.
33590
33591        * bindings/objc/WebKitAvailability.h:
33592
335932014-01-06  Mark Rowe  <mrowe@apple.com>
33594
33595        Mountain Lion build fix.
33596
33597        * bindings/objc/WebKitAvailability.h: #define __AVAILABILITY_INTERNAL__MAC_TBD so that
33598        the TBD version works on Mountain Lion. Newer OS versions use a slightly different set
33599        of macros that already support this version. Add a missing #include so that defintions
33600        of the Foundation availability macros can be found even if no other Foundation headers
33601        were included first.
33602
336032014-01-06  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
33604
33605        Unreviewed, rolling out r161401.
33606        http://trac.webkit.org/changeset/161401
33607        https://bugs.webkit.org/show_bug.cgi?id=126418
33608
33609        REGRESSION(r161401): Break layout test on mac-wk1(Debug)
33610
33611        * html/HTMLTableElement.cpp:
33612        (WebCore::HTMLTableElement::tHead):
33613        (WebCore::HTMLTableElement::tFoot):
33614        (WebCore::HTMLTableElement::lastBody):
33615        * html/HTMLTableRowElement.cpp:
33616        (WebCore::HTMLTableRowElement::rowIndex):
33617        * html/HTMLTableSectionElement.h:
33618
336192014-01-05  Mark Rowe  <mrowe@apple.com>
33620
33621        <https://webkit.org/b/126500> Move Objective-C DOM bindings off the legacy WebKit availability macros
33622
33623        The legacy WebKit availability macros are verbose, confusing, and provide no benefit
33624        over using the system availability macros directly. The original vision was that
33625        they'd serve a cross-platform purpose but that never came to be.
33626
33627        The OS X version used in the new availability macros is based on the mapping in
33628        JavaScriptCore/WebKitAvailability.h.
33629
33630        Part of <rdar://problem/15512304>.
33631
33632        Reviewed by Sam Weinig.
33633
33634        * bindings/objc/DOMCSS.h:
33635        * bindings/objc/DOMEventException.h:
33636        * bindings/objc/DOMException.h:
33637        * bindings/objc/DOMExtensions.h:
33638        * bindings/objc/DOMObject.h:
33639        * bindings/objc/DOMRangeException.h:
33640        * bindings/objc/DOMXPathException.h:
33641        * bindings/objc/PublicDOMInterfaces.h:
33642        * bindings/objc/WebScriptObject.h:
33643        * bindings/scripts/CodeGeneratorObjC.pm:
33644        (ReadPublicInterfaces):
33645        (GenerateHeader): Tag enums with WK_ENUM_AVAILABLE_MAC and classes with WEBKIT_CLASS_AVAILABLE_MAC.
33646        Remove the #ifs that we were previously generating now that enums are appropriately tagged.
33647        * bindings/scripts/test/ObjC/DOMTestActiveDOMObject.h:
33648        * bindings/scripts/test/ObjC/DOMTestActiveDOMObjectInternal.h:
33649        * bindings/scripts/test/ObjC/DOMTestCallback.h:
33650        * bindings/scripts/test/ObjC/DOMTestCallbackInternal.h:
33651        * bindings/scripts/test/ObjC/DOMTestCustomNamedGetter.h:
33652        * bindings/scripts/test/ObjC/DOMTestCustomNamedGetterInternal.h:
33653        * bindings/scripts/test/ObjC/DOMTestEventConstructor.h:
33654        * bindings/scripts/test/ObjC/DOMTestEventConstructorInternal.h:
33655        * bindings/scripts/test/ObjC/DOMTestEventTarget.h:
33656        * bindings/scripts/test/ObjC/DOMTestEventTargetInternal.h:
33657        * bindings/scripts/test/ObjC/DOMTestException.h:
33658        * bindings/scripts/test/ObjC/DOMTestExceptionInternal.h:
33659        * bindings/scripts/test/ObjC/DOMTestGenerateIsReachable.h:
33660        * bindings/scripts/test/ObjC/DOMTestGenerateIsReachableInternal.h:
33661        * bindings/scripts/test/ObjC/DOMTestInterface.h:
33662        * bindings/scripts/test/ObjC/DOMTestInterfaceInternal.h:
33663        * bindings/scripts/test/ObjC/DOMTestMediaQueryListListener.h:
33664        * bindings/scripts/test/ObjC/DOMTestMediaQueryListListenerInternal.h:
33665        * bindings/scripts/test/ObjC/DOMTestNamedConstructor.h:
33666        * bindings/scripts/test/ObjC/DOMTestNamedConstructorInternal.h:
33667        * bindings/scripts/test/ObjC/DOMTestNode.h:
33668        * bindings/scripts/test/ObjC/DOMTestNodeInternal.h:
33669        * bindings/scripts/test/ObjC/DOMTestObj.h:
33670        * bindings/scripts/test/ObjC/DOMTestObjInternal.h:
33671        * bindings/scripts/test/ObjC/DOMTestOverloadedConstructors.h:
33672        * bindings/scripts/test/ObjC/DOMTestOverloadedConstructorsInternal.h:
33673        * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h:
33674        * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterfaceInternal.h:
33675        * bindings/scripts/test/ObjC/DOMTestTypedefs.h:
33676        * bindings/scripts/test/ObjC/DOMTestTypedefsInternal.h:
33677        * bindings/scripts/test/ObjC/DOMattribute.h:
33678        * bindings/scripts/test/ObjC/DOMattributeInternal.h:
33679        * bindings/scripts/test/ObjC/DOMreadonly.h:
33680        * bindings/scripts/test/ObjC/DOMreadonlyInternal.h:
33681
336822014-01-06  Ryosuke Niwa  <rniwa@webkit.org>
33683
33684        REGRESSION(r157851): trailing space inside an editable region could be erroneously collapsed
33685        https://bugs.webkit.org/show_bug.cgi?id=126549
33686
33687        Reviewed by Sam Weinig.
33688
33689        The regression was caused by erroneous use of m_currentCharacterIsSpace in place of m_currentCharacterIsWS.
33690
33691        See the following two lines before the refactoring:
33692        http://trac.webkit.org/browser/trunk/Source/WebCore/rendering/RenderBlockLineLayout.cpp?rev=157850#L3074
33693        http://trac.webkit.org/browser/trunk/Source/WebCore/rendering/RenderBlockLineLayout.cpp?rev=157850#L3198
33694
33695        I've also cross-checked other places where m_currentCharacterIsSpace and m_currentCharacterIsWS are used.
33696
33697        Test: editing/inserting/inserting-trailing-space-and-letter.html
33698
33699        * rendering/line/BreakingContextInlineHeaders.h:
33700        (WebCore::BreakingContext::handleText):
33701
337022014-01-06  Seokju Kwon  <seokju@webkit.org>
33703
33704        Web Inspector: Remove canOverrideDeviceMetrics and setDeviceMetricsOverride from protocol
33705        https://bugs.webkit.org/show_bug.cgi?id=126149
33706
33707        Reviewed by Joseph Pecoraro.
33708
33709        No new tests, No changes in behavior.
33710
33711        These are not used anywhere in WebInspectorUI.
33712        So, it removes unused Protocols and APIs.
33713
33714        * inspector/InspectorClient.h:
33715        * inspector/InspectorPageAgent.cpp:
33716        (WebCore::InspectorPageAgent::InspectorPageAgent):
33717        (WebCore::InspectorPageAgent::disable):
33718        * inspector/InspectorPageAgent.h:
33719        * inspector/protocol/Page.json:
33720
337212014-01-06  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
33722
33723        Add toHTMLTableSectionElement() functions, and use it
33724        https://bugs.webkit.org/show_bug.cgi?id=126418
33725
33726        Reviewed by Anders Carlsson.
33727
33728        HTMLTableSectionElement covers tbody, tfoot, and thead tags. So, we can't
33729        generate isHTMLTableSectionElement() by using template. This patch add
33730        toHTMLTableSectionElement() manually in order to cleanup static_cast<>.
33731
33732        No new tests, no behavior change.
33733
33734        * html/HTMLTableElement.cpp:
33735        (WebCore::HTMLTableElement::tHead):
33736        (WebCore::HTMLTableElement::tFoot):
33737        (WebCore::HTMLTableElement::lastBody):
33738        * html/HTMLTableRowElement.cpp:
33739        (WebCore::HTMLTableRowElement::rowIndex):
33740        * html/HTMLTableSectionElement.h:
33741        * html/HTMLTagNames.in:
33742
337432014-01-06  Mark Rowe  <mrowe@apple.com>
33744
33745        <https://webkit.org/b/126559> Be more correct in dealing with NSControlSize
33746
33747        Reviewed by Ryosuke Niwa.
33748
33749        * platform/mac/ScrollbarThemeMac.mm:
33750        (WebCore::scrollbarControlSizeToNSControlSize): Helper function to map from ScrollbarControlSize
33751        to NSControlSize.
33752        (WebCore::ScrollbarThemeMac::registerScrollbar): Use the helper rather than casting.
33753        (WebCore::ScrollbarThemeMac::scrollbarThickness): Use the helper.
33754        * rendering/RenderThemeMac.mm:
33755        (WebCore::RenderThemeMac::progressBarRectForBounds): Update the type of the local to NSControlSize.
33756        (WebCore::RenderThemeMac::paintProgressBar): Ditto.
33757
337582014-01-06  Brent Fulgham  <bfulgham@apple.com>
33759
33760        [WebGL] Be safer about toggling OpenGL state by using a scoped object to control setting lifetime.
33761        https://bugs.webkit.org/show_bug.cgi?id=126548
33762
33763        Reviewed by Anders Carlsson.
33764
33765        No new tests since there is no change in behavior.
33766
33767        * GNUmakefile.list.am: Updated to build new TemporaryOpenGLSetting files.
33768        * PlatformBlackBerry.cmake: Ditto
33769        * PlatformEfl.cmake: Ditto
33770        * PlatformGTK.cmake: Ditto
33771        * PlatformNix.cmake: Ditto
33772        * WebCore.vcxproj/WebCore.vcxproj: Ditto
33773        * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto
33774        * WebCore.xcodeproj/project.pbxproj: Ditto
33775        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
33776        (WebCore::GraphicsContext3D::resolveMultisamplingIfNecessary): Use new object.
33777        * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
33778        (WebCore::GraphicsContext3D::prepareTexture): Ditto
33779        (WebCore::GraphicsContext3D::reshape): Ditto
33780        * platform/graphics/opengl/TemporaryOpenGLSetting.cpp: Added.
33781        (WebCore::TemporaryOpenGLSetting::TemporaryOpenGLSetting):
33782        (WebCore::TemporaryOpenGLSetting::~TemporaryOpenGLSetting):
33783        * platform/graphics/opengl/TemporaryOpenGLSetting.h: Added.
33784
337852014-01-06  Simon Fraser  <simon.fraser@apple.com>
33786
33787        Hook up the RemoteScrollingCoordinator
33788        https://bugs.webkit.org/show_bug.cgi?id=126547
33789
33790        Reviewed by Tim Horton.
33791
33792        Export lots of scrolling-related symbols for use by WebKit2.
33793
33794        * WebCore.exp.in:
33795
337962014-01-06  Seokju Kwon  <seokju@webkit.org>
33797
33798        Web Inspector: Remove support for FileSystem in Frontend.
33799        https://bugs.webkit.org/show_bug.cgi?id=126369
33800
33801        Reviewed by Joseph Pecoraro.
33802
33803        No new tests, No change in behavior.
33804
33805        Remove leftover codes from protocol after r156692.
33806
33807        * CMakeLists.txt:
33808        * DerivedSources.make:
33809        * GNUmakefile.am:
33810        * inspector/InspectorFrontendClient.h:
33811        * inspector/InspectorFrontendClientLocal.h:
33812        * inspector/InspectorFrontendHost.cpp:
33813        * inspector/InspectorFrontendHost.h:
33814        * inspector/InspectorFrontendHost.idl:
33815        * inspector/protocol/FileSystem.json: Removed.
33816
338172014-01-06  Zoltan Horvath  <zoltan@webkit.org>
33818
33819        [CSS Regions][CSS Shapes] ASSERTION FAILED: m_segmentRanges.size() < m_segments.size()
33820        https://bugs.webkit.org/show_bug.cgi?id=125770
33821
33822        Reviewed by Bem Jones-Bey.
33823
33824        When we have an e.g. up-side-down triangle, when the content doesn't fit in the bottom part of the shape,
33825        and the adjusted content flows into the next region with a shape, we need to update the actual shape
33826        and region. Since it wasn't updated, it led to a shape mismatch, which led to assert/layout error.
33827
33828        Test: fast/regions/shape-inside/shape-inside-on-multiple-regions-bottom-adjustment.html
33829
33830        * rendering/RenderBlockLineLayout.cpp:
33831        (WebiCore::RenderBlockFlow::updateShapeAndSegmentsForCurrentLineInFlowThread): Update current shape
33832        and region, when adjustment occured.
33833
338342014-01-06  Seokju Kwon  <seokju@webkit.org>
33835
33836        Web Inspector: Get rid of Inspector/BindingVisitors.h
33837        https://bugs.webkit.org/show_bug.cgi?id=126374
33838
33839        Reviewed by Joseph Pecoraro.
33840
33841        No new tests, No change in behavior.
33842
33843        In r161204, methods related to BindingVisitors was removed.
33844
33845        * GNUmakefile.list.am:
33846        * WebCore.vcxproj/WebCore.vcxproj:
33847        * WebCore.vcxproj/WebCore.vcxproj.filters:
33848        * WebCore.xcodeproj/project.pbxproj:
33849        * bindings/js/ScriptProfiler.h:
33850        * inspector/BindingVisitors.h: Removed.
33851        * inspector/InspectorCanvasAgent.cpp:
33852        * inspector/InspectorMemoryAgent.cpp:
33853
338542014-01-06  Tim Horton  <timothy_horton@apple.com>
33855
33856        Add {IntRect, FloatRect}::infiniteRect() and ::isInfinite()
33857        https://bugs.webkit.org/show_bug.cgi?id=126537
33858
33859        Reviewed by Simon Fraser.
33860
33861        * platform/graphics/FloatRect.h:
33862        (WebCore::FloatRect::infiniteRect):
33863        (WebCore::FloatRect::isInfinite):
33864        * platform/graphics/IntRect.h:
33865        (WebCore::IntRect::infiniteRect):
33866        (WebCore::IntRect::isInfinite):
33867        Add infiniteRect() and isInfinite() to FloatRect and IntRect.
33868
33869        * platform/graphics/ca/GraphicsLayerCA.cpp:
33870        (WebCore::GraphicsLayerCA::setNeedsDisplay):
33871        * rendering/PaintInfo.h:
33872        (WebCore::PaintInfo::applyTransform):
33873        * rendering/RenderFlowThread.cpp:
33874        (WebCore::RenderFlowThread::fragmentsBoundingBox):
33875        * rendering/RenderLayer.cpp:
33876        (WebCore::RenderLayer::collectFragments):
33877        (WebCore::RenderLayer::calculateClipRects):
33878        * rendering/RenderLayerBacking.cpp:
33879        (WebCore::clipBox):
33880        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
33881        * rendering/RenderLayerCompositor.cpp:
33882        (WebCore::RenderLayerCompositor::clippedByAncestor):
33883        * rendering/svg/SVGRenderingContext.cpp:
33884        (WebCore::SVGRenderingContext::renderSubtreeToImageBuffer):
33885        Adopt the new functions.
33886
338872014-01-06  Seokju Kwon  <seokju@webkit.org>
33888
33889        Web Inspector: Get rid of DOM.setFileInputFiles from Protocol
33890        https://bugs.webkit.org/show_bug.cgi?id=126312
33891
33892        Reviewed by Joseph Pecoraro.
33893
33894        No new tests, No changes in behavior.
33895
33896        It is a dead code as all ports in WebKit don't support it.
33897        And this patch removes all things related to DOM.setFileInputFiles in Frontend.
33898
33899        * inspector/InspectorClient.h:
33900        * inspector/InspectorController.cpp:
33901        (WebCore::InspectorController::InspectorController):
33902        * inspector/InspectorDOMAgent.cpp:
33903        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
33904        * inspector/InspectorDOMAgent.h:
33905        (WebCore::InspectorDOMAgent::create):
33906        * inspector/protocol/DOM.json:
33907
339082014-01-06  Brent Fulgham  <bfulgham@apple.com>
33909
33910        [WebGL] Revise String Concatenation (Follow-up to r161247)
33911        https://bugs.webkit.org/show_bug.cgi?id=126411
33912
33913        Reviewed by Dean Jackson.
33914
33915        * html/canvas/WebGLRenderingContext.cpp:
33916        (WebCore::WebGLRenderingContext::getUniformLocation): Use more efficient string
33917        concatenation per Darin Adler's suggestion.
33918
339192014-01-06  Brent Fulgham  <bfulgham@apple.com>
33920
33921        [WebGL] FBO Depth Buffer Attachment Function Improperly Clearing with 0
33922        https://bugs.webkit.org/show_bug.cgi?id=126538
33923        <rdar://problem/15201336>
33924
33925        Reviewed by Dean Jackson.
33926
33927        Tested by webgl/1.0.2/resources/webgl_test_files/conformance/renderbuffers/framebuffer-object-attachment.html
33928
33929        * html/canvas/WebGLFramebuffer.cpp:
33930        (WebCore::WebGLFramebuffer::initializeAttachments): Clear depth buffer with 1.0f (rather than 0), to match expected
33931        default (clear) buffer state for OpenGL. Using 0 would require us to flip the clear mask for the depth attachment
33932        type.
33933
339342014-01-06  Simon Fraser  <simon.fraser@apple.com>
33935
33936        Add new files for UI-side scrolling
33937        https://bugs.webkit.org/show_bug.cgi?id=126532
33938
33939        Reviewed by Anders Carlson.
33940
33941        * WebCore.xcodeproj/project.pbxproj: Make lots of scrolling-related headers Private
33942        so WebKit2 can include them.
33943        * page/scrolling/ScrollingCoordinator.cpp:
33944        (WebCore::ScrollingCoordinator::scheduleUpdateScrollPositionForNode): Callback that
33945        indicates that the given node has been scrolled asynchronously. Currently only
33946        handles the main frame.
33947        * page/scrolling/ScrollingCoordinator.h: Add support for type-casts of a remote subclass
33948        in another namespace.
33949        (WebCore::ScrollingCoordinator::isRemoteScrollingCoordinator):
33950        * page/scrolling/ScrollingTree.h:
33951        (WebCore::ScrollingTree::isRemoteScrollingTree):
33952
339532014-01-06  Gavin Barraclough  <barraclough@apple.com>
33954
33955        Change Page, FocusController to use ViewState
33956        https://bugs.webkit.org/show_bug.cgi?id=126533
33957
33958        Reviewed by Tim Horton.
33959
33960        These classes currently maintain a set of separate fields to represent the view state;
33961        combine these into a single field, and allow WebPage to send the combined update rather
33962        than individual changes.
33963
33964        Maintain existing interface for WebKit1 clients.
33965
33966        * WebCore.exp.in:
33967            - Added WebCore::setViewState, removed WebCore::setIsVisuallyIdle.
33968        * page/FocusController.cpp:
33969        (WebCore::FocusController::FocusController):
33970            - Initialize combined m_viewState.
33971        (WebCore::FocusController::setFocused):
33972            - Calls setViewState.
33973        (WebCore::FocusController::setFocusedInternal):
33974            - setFocused -> setFocusedInternal.
33975        (WebCore::FocusController::setViewState):
33976            - Added, update all ViewState flags.
33977        (WebCore::FocusController::setActive):
33978            - Calls setViewState.
33979        (WebCore::FocusController::setActiveInternal):
33980            - setActive -> setActiveInternal.
33981        (WebCore::FocusController::setContentIsVisible):
33982            - Calls setViewState.
33983        (WebCore::FocusController::setContentIsVisibleInternal):
33984            - setContentIsVisible -> setContentIsVisibleInternal.
33985        * page/FocusController.h:
33986        (WebCore::FocusController::isActive):
33987        (WebCore::FocusController::isFocused):
33988        (WebCore::FocusController::contentIsVisible):
33989            - Implemented in terms of ViewState.
33990        * page/Page.cpp:
33991        (WebCore::Page::Page):
33992            - Initialize using PageInitialViewState.
33993        (WebCore::Page::setIsInWindow):
33994            - Calls setViewState.
33995        (WebCore::Page::setIsInWindowInternal):
33996            - setIsInWindow -> setIsInWindowInternal.
33997        (WebCore::Page::setIsVisuallyIdleInternal):
33998            - setIsVisuallyIdle -> setIsVisuallyIdleInternal.
33999        (WebCore::Page::setViewState):
34000            - Added, update all ViewState flags, including FocusController.
34001        (WebCore::Page::setIsVisible):
34002            - Calls setViewState.
34003        (WebCore::Page::setIsVisibleInternal):
34004            - setIsVisible -> setIsVisibleInternal.
34005        (WebCore::Page::visibilityState):
34006            - m_isVisible -> isVisible()
34007        (WebCore::Page::hiddenPageCSSAnimationSuspensionStateChanged):
34008            - m_isVisible -> isVisible()
34009        * page/Page.h:
34010        (WebCore::Page::isVisible):
34011        (WebCore::Page::isInWindow):
34012            - Implemented in terms of ViewState.
34013        (WebCore::Page::scriptedAnimationsSuspended):
34014            - Combined member fields into ViewState::Flags.
34015
340162014-01-06  Gavin Barraclough  <barraclough@apple.com>
34017
34018        Move ViewState to WebCore
34019        https://bugs.webkit.org/show_bug.cgi?id=126488
34020
34021        Reviewed by Anders Carlson.
34022
34023        This change also partial reverts handling of LayerHostingMode, making this
34024        a separate message again. With hindsight the new way of doing this wasn't
34025        in all ways simpler, and it won't make sense to move this to WebCore.
34026
34027        * WebCore.xcodeproj/project.pbxproj:
34028        * page/ViewState.h: Added.
34029            - Moved from WebKit2, will be used by Page & FocusController.
34030
340312014-01-06  Martin Robinson  <mrobinson@igalia.com>
34032
34033        [CMake] [GTK] Fix the build for the WebKitGTK+ developer configuration
34034        https://bugs.webkit.org/show_bug.cgi?id=126505
34035
34036        Reviewed by Gustavo Noronha Silva.
34037
34038        * CMakeLists.txt: Add missing IDLS and source files to the lists.
34039        * PlatformGTK.cmake: Add missing include directories and source files to the lists.
34040        Use the GeoClue, GUdev, and gio-unix include paths and libraries and sort the list
34041        of WebCore include directories.
34042        * UseJSC.cmake: Align the sourced list with the contents of the bindings/js directory.
34043
340442014-01-06  Gavin Barraclough  <barraclough@apple.com>
34045
34046        Refactor NSActivity handling code from ChildProcess to UserActivity
34047        https://bugs.webkit.org/show_bug.cgi?id=126330
34048
34049        Unreviewed speculative Windows build fix.
34050
34051        * WebCore.vcxproj/WebCore.vcxproj:
34052            - Added UserActivity.cpp/.h.
34053
340542014-01-06  peavo@outlook.com  <peavo@outlook.com>
34055
34056        [Win] Link error.
34057        https://bugs.webkit.org/show_bug.cgi?id=126526
34058
34059        Reviewed by Brent Fulgham.
34060
34061        * WebCore.vcxproj/WebCore.vcxproj: Include UserActivity files in build.
34062        * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
34063
340642014-01-06  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
34065
34066        [Nix] Adding screenRect implementation to PlatformScreenNix
34067        https://bugs.webkit.org/show_bug.cgi?id=126231
34068
34069        Reviewed by Csaba Osztrogonác.
34070
34071        No new tests needed.
34072
34073        * platform/nix/PlatformScreenNix.cpp:
34074        (WebCore::screenRect):
34075
340762014-01-06  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
34077
34078        [Nix] Adding missing platform #ifs to WebCore files
34079        https://bugs.webkit.org/show_bug.cgi?id=126227
34080
34081        Reviewed by Csaba Osztrogonác.
34082
34083        No new tests needed.
34084
34085        * loader/EmptyClients.h:
34086        * page/ChromeClient.h:
34087        * page/DragController.cpp:
34088        (WebCore::DragController::startDrag):
34089        * platform/LocalizedStrings.h:
34090
340912014-01-06  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
34092
34093        [Nix] Adding new strings to LocalizedStringsNix
34094        https://bugs.webkit.org/show_bug.cgi?id=126228
34095
34096        Reviewed by Csaba Osztrogonác.
34097
34098        No new tests needed.
34099
34100        * platform/nix/LocalizedStringsNix.cpp:
34101        (WebCore::submitButtonDefaultLabel):
34102        (WebCore::inputElementAltText):
34103        (WebCore::resetButtonDefaultLabel):
34104        (WebCore::defaultDetailsSummaryText):
34105        (WebCore::searchableIndexIntroduction):
34106        (WebCore::fileButtonChooseFileLabel):
34107        (WebCore::fileButtonChooseMultipleFilesLabel):
34108        (WebCore::fileButtonNoFileSelectedLabel):
34109        (WebCore::fileButtonNoFilesSelectedLabel):
34110        (WebCore::contextMenuItemTagOpenLinkInNewWindow):
34111        (WebCore::contextMenuItemTagDownloadLinkToDisk):
34112        (WebCore::contextMenuItemTagCopyLinkToClipboard):
34113        (WebCore::contextMenuItemTagOpenImageInNewWindow):
34114        (WebCore::contextMenuItemTagDownloadImageToDisk):
34115        (WebCore::contextMenuItemTagCopyImageToClipboard):
34116        (WebCore::contextMenuItemTagCopyImageUrlToClipboard):
34117        (WebCore::contextMenuItemTagOpenVideoInNewWindow):
34118        (WebCore::contextMenuItemTagOpenAudioInNewWindow):
34119        (WebCore::contextMenuItemTagDownloadVideoToDisk):
34120        (WebCore::contextMenuItemTagDownloadAudioToDisk):
34121        (WebCore::contextMenuItemTagCopyVideoLinkToClipboard):
34122        (WebCore::contextMenuItemTagCopyAudioLinkToClipboard):
34123        (WebCore::contextMenuItemTagToggleMediaControls):
34124        (WebCore::contextMenuItemTagShowMediaControls):
34125        (WebCore::contextMenuitemTagHideMediaControls):
34126        (WebCore::contextMenuItemTagToggleMediaLoop):
34127        (WebCore::contextMenuItemTagEnterVideoFullscreen):
34128        (WebCore::contextMenuItemTagMediaPlay):
34129        (WebCore::contextMenuItemTagMediaPause):
34130        (WebCore::contextMenuItemTagMediaMute):
34131        (WebCore::contextMenuItemTagOpenFrameInNewWindow):
34132        (WebCore::contextMenuItemTagCopy):
34133        (WebCore::contextMenuItemTagDelete):
34134        (WebCore::contextMenuItemTagSelectAll):
34135        (WebCore::contextMenuItemTagUnicode):
34136        (WebCore::contextMenuItemTagInputMethods):
34137        (WebCore::contextMenuItemTagGoBack):
34138        (WebCore::contextMenuItemTagGoForward):
34139        (WebCore::contextMenuItemTagStop):
34140        (WebCore::contextMenuItemTagReload):
34141        (WebCore::contextMenuItemTagCut):
34142        (WebCore::contextMenuItemTagPaste):
34143        (WebCore::contextMenuItemTagNoGuessesFound):
34144        (WebCore::contextMenuItemTagIgnoreSpelling):
34145        (WebCore::contextMenuItemTagLearnSpelling):
34146        (WebCore::contextMenuItemTagSearchWeb):
34147        (WebCore::contextMenuItemTagLookUpInDictionary):
34148        (WebCore::contextMenuItemTagOpenLink):
34149        (WebCore::contextMenuItemTagIgnoreGrammar):
34150        (WebCore::contextMenuItemTagSpellingMenu):
34151        (WebCore::contextMenuItemTagShowSpellingPanel):
34152        (WebCore::contextMenuItemTagCheckSpelling):
34153        (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
34154        (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
34155        (WebCore::contextMenuItemTagFontMenu):
34156        (WebCore::contextMenuItemTagBold):
34157        (WebCore::contextMenuItemTagItalic):
34158        (WebCore::contextMenuItemTagUnderline):
34159        (WebCore::contextMenuItemTagOutline):
34160        (WebCore::contextMenuItemTagInspectElement):
34161        (WebCore::contextMenuItemTagRightToLeft):
34162        (WebCore::contextMenuItemTagLeftToRight):
34163        (WebCore::contextMenuItemTagWritingDirectionMenu):
34164        (WebCore::contextMenuItemTagTextDirectionMenu):
34165        (WebCore::contextMenuItemTagDefaultDirection):
34166        (WebCore::searchMenuNoRecentSearchesText):
34167        (WebCore::searchMenuRecentSearchesText):
34168        (WebCore::searchMenuClearRecentSearchesText):
34169        (WebCore::AXDefinitionText):
34170        (WebCore::AXDescriptionListText):
34171        (WebCore::AXDescriptionListTermText):
34172        (WebCore::AXDescriptionListDetailText):
34173        (WebCore::AXFooterRoleDescriptionText):
34174        (WebCore::AXSearchFieldCancelButtonText):
34175        (WebCore::AXButtonActionVerb):
34176        (WebCore::AXRadioButtonActionVerb):
34177        (WebCore::AXTextFieldActionVerb):
34178        (WebCore::AXCheckedCheckBoxActionVerb):
34179        (WebCore::AXUncheckedCheckBoxActionVerb):
34180        (WebCore::AXLinkActionVerb):
34181        (WebCore::unknownFileSizeText):
34182        (WebCore::imageTitle):
34183        (WebCore::AXListItemActionVerb):
34184        (WebCore::localizedMediaControlElementString):
34185        (WebCore::localizedMediaControlElementHelpText):
34186        (WebCore::localizedMediaTimeDescription):
34187        (WebCore::mediaElementLoadingStateText):
34188        (WebCore::mediaElementLiveBroadcastStateText):
34189        (WebCore::validationMessagePatternMismatchText):
34190        (WebCore::validationMessageRangeOverflowText):
34191        (WebCore::validationMessageRangeUnderflowText):
34192        (WebCore::validationMessageStepMismatchText):
34193        (WebCore::validationMessageTooLongText):
34194        (WebCore::validationMessageTypeMismatchText):
34195        (WebCore::validationMessageTypeMismatchForEmailText):
34196        (WebCore::validationMessageTypeMismatchForMultipleEmailText):
34197        (WebCore::validationMessageTypeMismatchForURLText):
34198        (WebCore::validationMessageValueMissingText):
34199        (WebCore::validationMessageValueMissingForCheckboxText):
34200        (WebCore::validationMessageValueMissingForFileText):
34201        (WebCore::validationMessageValueMissingForMultipleFileText):
34202        (WebCore::validationMessageValueMissingForRadioText):
34203        (WebCore::validationMessageValueMissingForSelectText):
34204        (WebCore::validationMessageBadInputForNumberText):
34205        (WebCore::missingPluginText):
34206        (WebCore::AXMenuListPopupActionVerb):
34207        (WebCore::AXMenuListActionVerb):
34208        (WebCore::multipleFileUploadText):
34209        (WebCore::crashedPluginText):
34210        (WebCore::blockedPluginByContentSecurityPolicyText):
34211        (WebCore::insecurePluginVersionText):
34212        (WebCore::inactivePluginText):
34213        (WebCore::unacceptableTLSCertificate):
34214        (WebCore::textTrackClosedCaptionsText):
34215        (WebCore::textTrackSubtitlesText):
34216        (WebCore::textTrackOffMenuItemText):
34217        (WebCore::textTrackAutomaticMenuItemText):
34218        (WebCore::textTrackNoLabelText):
34219        (WebCore::snapshottedPlugInLabelTitle):
34220        (WebCore::snapshottedPlugInLabelSubtitle):
34221
342222014-01-06  László Langó  <lango@inf.u-szeged.hu>
34223
34224        Use unsigned consistently, and check for invalid casts when calling into SharedBuffer from other code.
34225        https://bugs.webkit.org/show_bug.cgi?id=124579
34226
34227        Reviewed by Anders Carlsson.
34228
34229        * WebCore.exp.in:
34230        * loader/NetscapePlugInStreamLoader.cpp:
34231        (WebCore::NetscapePlugInStreamLoader::didReceiveData):
34232        * loader/NetscapePlugInStreamLoader.h:
34233        * loader/PingLoader.h:
34234        * loader/ResourceBuffer.cpp:
34235        (WebCore::ResourceBuffer::ResourceBuffer):
34236        * loader/ResourceBuffer.h:
34237        (WebCore::ResourceBuffer::create):
34238        * loader/ResourceLoader.cpp:
34239        (WebCore::ResourceLoader::addDataOrBuffer):
34240        (WebCore::ResourceLoader::didReceiveData):
34241        (WebCore::ResourceLoader::didReceiveDataOrBuffer):
34242        (WebCore::ResourceLoader::willStopBufferingData):
34243        * loader/ResourceLoader.h:
34244        * loader/SubresourceLoader.cpp:
34245        (WebCore::SubresourceLoader::didReceiveData):
34246        * loader/SubresourceLoader.h:
34247        * loader/appcache/ApplicationCacheGroup.cpp:
34248        (WebCore::ApplicationCacheGroup::didReceiveData):
34249        * loader/appcache/ApplicationCacheGroup.h:
34250        * loader/mac/ResourceLoaderMac.mm:
34251        (WebCore::ResourceLoader::didReceiveDataArray):
34252        * platform/SharedBuffer.cpp:
34253        (WebCore::SharedBuffer::SharedBuffer):
34254        * platform/SharedBuffer.h:
34255        (WebCore::SharedBuffer::create):
34256        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
34257        (ResourceHandleStreamingClient::didReceiveData):
34258        * platform/network/BlobResourceHandle.cpp:
34259        * platform/network/ResourceHandleClient.h:
34260        (WebCore::ResourceHandleClient::didReceiveData):
34261        (WebCore::ResourceHandleClient::willStopBufferingData):
34262        * platform/network/SynchronousLoaderClient.cpp:
34263        (WebCore::SynchronousLoaderClient::didReceiveData):
34264        * platform/network/SynchronousLoaderClient.h:
34265        * platform/network/blackberry/BlobStream.cpp:
34266        (WebCore::BlobStream::didReceiveData):
34267        * platform/network/blackberry/BlobStream.h:
34268        * platform/network/blackberry/ResourceHandleBlackBerry.cpp:
34269        (WebCore::WebCoreSynchronousLoader::didReceiveData):
34270        * platform/network/curl/ResourceHandleCurl.cpp:
34271        (WebCore::WebCoreSynchronousLoader::didReceiveData):
34272        * platform/network/mac/WebCoreResourceHandleAsDelegate.mm:
34273        (-[WebCoreResourceHandleAsDelegate connection:willStopBufferingData:]):
34274        * platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:
34275        (-[WebCoreResourceHandleAsOperationQueueDelegate connection:willStopBufferingData:]):
34276        * platform/network/soup/ResourceHandleSoup.cpp:
34277        (WebCore::WebCoreSynchronousLoader::didReceiveData):
34278        * platform/network/win/ResourceHandleWin.cpp:
34279        (WebCore::WebCoreSynchronousLoader::didReceiveData):
34280
342812014-01-06  Andreas Kling  <akling@apple.com>
34282
34283        RenderBlock::clone() should return RenderPtr.
34284        <https://webkit.org/b/126513>
34285
34286        Reviewed by Antti Koivisto.
34287
34288        * rendering/RenderBlock.h:
34289        * rendering/RenderBlock.cpp:
34290        (WebCore::RenderBlock::clone):
34291
34292            Tweaked to return RenderPtr<RenderBlock>.
34293
34294        (WebCore::RenderBlock::splitBlocks):
34295
34296            Store cloned RenderBlocks in RenderPtrs. Use leakPtr() to sink
34297            them into ownership-taking APIs that still use raw pointers.
34298
34299        * rendering/RenderPtr.h:
34300
34301            Add a simple static_pointer_cast for RenderPtr&&.
34302
343032014-01-06  Andreas Kling  <akling@apple.com>
34304
34305        RenderInline::clone() should return RenderPtr.
34306        <https://webkit.org/b/126514>
34307
34308        Reviewed by Antti Koivisto.
34309
34310        * rendering/RenderInline.h:
34311        * rendering/RenderInline.cpp:
34312        (WebCore::RenderInline::clone):
34313
34314            Tweaked to return RenderPtr<RenderInline>.
34315
34316        (WebCore::RenderInline::splitInlines):
34317
34318            Store cloned RenderInlines in RenderPtrs. Use leakPtr() to sink
34319            them into ownership-taking APIs that still use raw pointers.
34320
343212014-01-06  Gurpreet Kaur  <k.gurpreet@samsung.com>
34322
34323        <hr> appears gray instead of green because of color attribute is defined followed by noshade attribute
34324        https://bugs.webkit.org/show_bug.cgi?id=17674
34325
34326        Reviewed by Simon Fraser.
34327
34328        The noshade attribute is a boolean attribute and when set on hr element
34329        it shows a gray color. When there is color attribute the default gray
34330        color should be replaced by the color mentioned by the color attribute.
34331        Firefox and IE show the same behaviour but Webkit is different. Making
34332        the behaviour of Webkit similiar to Firefox and IE's behaviour.
34333
34334        Test: fast/dom/HTMLHrElement/hr-color-noshade-attribute.html
34335
34336        * html/HTMLHRElement.cpp:
34337        (WebCore::HTMLHRElement::collectStyleForPresentationAttribute):
34338        When the color attribute is present that value is applied and the 
34339        default gray color is ignored. Incase of no color attribute the default
34340        gray color is applied.
34341
343422014-01-06  Mark Rowe  <mrowe@apple.com>
34343
34344        <https://webkit.org/b/126499> Move WebKit off the legacy WebKit availability macros
34345
34346        The legacy WebKit availability macros are verbose, confusing, and provide no benefit
34347        over using the system availability macros directly. The original vision was that
34348        they'd serve a cross-platform purpose but that never came to be.
34349
34350        Since WebKit1 is API on OS X but SPI on iOS, some indirection is still needed in the
34351        availability macros to allow the headers to advertise the API as unavailable on OS X
34352        without interfering with the ability to build on iOS. This is achieved by defining
34353        WEBKIT-prefixed versions of the Foundation availability macros that are defined to
34354        their NS-prefixed equivalents. The installed headers are post-processed to map these
34355        macros back to their Foundation equivalents.
34356
34357        Part of <rdar://problem/15512304>.
34358
34359        Reviewed by Sam Weinig.
34360
34361        * WebCore.xcodeproj/project.pbxproj:
34362        * bindings/objc/WebKitAvailability.h: Added. This lives at the WebCore level since it
34363        will be needed by the Objective-C DOM bindings.
34364
343652014-01-05  Simon Fraser  <simon.fraser@apple.com>
34366
34367        Move responsibility for remote layer tree committing to RemoteLayerTreeDrawingArea
34368        https://bugs.webkit.org/show_bug.cgi?id=126501
34369
34370        Reviewed by Sam Weinig.
34371
34372        Add type-safe casting to GraphicsLayer.
34373
34374        * platform/graphics/GraphicsLayer.h:
34375        (WebCore::GraphicsLayer::isGraphicsLayerCA):
34376        (WebCore::GraphicsLayer::isGraphicsLayerCARemote):
34377        * platform/graphics/ca/GraphicsLayerCA.h:
34378        (WebCore::GraphicsLayerCA::isGraphicsLayerCA):
34379
343802014-01-05  Martin Robinson  <mrobinson@igalia.com>
34381
34382        [GTK] [CMake] Ensure that the autotools build and the CMake install the same files
34383        https://bugs.webkit.org/show_bug.cgi?id=116379
34384
34385        Reviewed by Gustavo Noronha Silva.
34386
34387        * PlatformGTK.cmake: Reformat some install directives to be consistent with the rest of them.
34388        Install the GObject DOM bindings headers.
34389
343902014-01-05  Andreas Kling  <akling@apple.com>
34391
34392        Use lineageOfType to simplify two rendering helpers.
34393        <https://webkit.org/b/126498>
34394
34395        Reviewed by Antti Koivisto.
34396
34397        * rendering/RenderRuby.cpp:
34398        (WebCore::findRubyRunParent):
34399        * rendering/svg/SVGRenderSupport.cpp:
34400        (WebCore::SVGRenderSupport::findTreeRootObject):
34401
34402            Simplify two functions that walk their parent chain to find the
34403            closest ancestor of a certain type.
34404
34405        * rendering/RenderRubyRun.h:
34406
34407            Add requisite isRendererOfType<RenderRubyRun>().
34408
344092014-01-05  Csaba Osztrogonác  <ossy@webkit.org>
34410
34411        Fix the Mac build too.
34412
34413        * page/PageThrottler.h:
34414
344152014-01-05  Csaba Osztrogonác  <ossy@webkit.org>
34416
34417        Weekend URTBF after r161319 to make non Mac builds work again.
34418
34419        * page/PageThrottler.h:
34420
344212014-01-05  Gavin Barraclough  <barraclough@apple.com>
34422
34423        Move process suppression of WebProcess to Page (from UIProcess)
34424        https://bugs.webkit.org/show_bug.cgi?id=126480
34425
34426        Reviewed by Sam Weinig.
34427
34428        Let each page take a UserActivity rather than having to coalesce this state, and take different activity
34429        tokens for normal visibility and suppression disabled, so we can see why the process is not suppressed.
34430
34431        * WebCore.exp.in:
34432        * page/Page.cpp:
34433        (WebCore::Page::setIsVisuallyIdle):
34434        * page/Page.h:
34435            - setThrottled -> setIsVisuallyIdle.
34436        * page/PageThrottler.cpp:
34437        (WebCore::PageThrottler::PageThrottler):
34438            - Initialize m_visuallyNonIdle.
34439        (WebCore::PageThrottler::~PageThrottler):
34440            - setThrottled -> setIsVisuallyIdle.
34441        (WebCore::PageThrottler::setIsVisuallyIdle):
34442            - Use m_visuallyNonIdle to disable supression when the page is not visually idle.
34443        * page/PageThrottler.h:
34444            - setThrottled -> setIsVisuallyIdle, added m_visuallyNonIdle.
34445
344462014-01-04  Sam Weinig  <sam@webkit.org>
34447
34448        Move a few more functions from RenderBlock to RenderBlockFlow
34449        https://bugs.webkit.org/show_bug.cgi?id=126494
34450
34451        Reviewed by Andreas Kling.
34452
34453        * rendering/RenderBlock.h:
34454        * rendering/RenderBlockFlow.h:
34455        (WebCore::RenderBlockFlow::adjustInlineDirectionLineBounds):
34456        * rendering/RenderBlockLineLayout.cpp:
34457        (WebCore::RenderBlockFlow::textAlignmentForLine):
34458        (WebCore::RenderBlockFlow::updateLogicalWidthForAlignment):
34459        (WebCore::RenderBlockFlow::startAlignedOffsetForLine):
34460        These are only used by RenderBlockFlow, so move them there.
34461
344622014-01-04  Simon Fraser  <simon.fraser@apple.com>
34463
34464        Prepare the ScrollingTree for remote use
34465        https://bugs.webkit.org/show_bug.cgi?id=126493
34466
34467        Reviewed by Sam Weinig.
34468
34469        When committing the scrolling tree, we clone the ScrollingStateTree
34470        to hand off to another thread, or (in future) to encode to send to the
34471        UI process. During this cloning process, two types of layer transformations
34472        take place: for threaded scrolling, we replace GraphicsLayer with PlatformLayers.
34473        For remote scrolling, we'll replace GraphicsLayers with PlatformLayerIDs.
34474        Allow the ScrollingCoordinator to specify which type of transformation occurs
34475        by giving ScrollingStateTree a LayerRepresentation::Type member,
34476        which is consulted during ScrollingStateNode cloning.
34477        
34478        Also only copy layers that have changed to avoid setting dirty bits.
34479        
34480        Expose some other stuff on ScrollingStateTree which will be needed for
34481        remote scrolling.
34482
34483        * page/scrolling/ScrollingStateFixedNode.cpp:
34484        (WebCore::ScrollingStateFixedNode::syncLayerPositionForViewportRect):
34485        * page/scrolling/ScrollingStateNode.cpp:
34486        (WebCore::ScrollingStateNode::ScrollingStateNode):
34487        * page/scrolling/ScrollingStateNode.h:
34488        (WebCore::LayerRepresentation::operator GraphicsLayer::PlatformLayerID):
34489        (WebCore::LayerRepresentation::toRepresentation):
34490        (WebCore::ScrollingStateNode::changedProperties):
34491        (WebCore::ScrollingStateNode::setChangedProperties):
34492        (WebCore::ScrollingStateNode::parentNodeID):
34493        * page/scrolling/ScrollingStateScrollingNode.cpp:
34494        (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
34495        * page/scrolling/ScrollingStateStickyNode.cpp:
34496        (WebCore::ScrollingStateStickyNode::syncLayerPositionForViewportRect):
34497        * page/scrolling/ScrollingStateTree.cpp:
34498        (WebCore::ScrollingStateTree::ScrollingStateTree):
34499        (WebCore::ScrollingStateTree::commit):
34500        (WebCore::ScrollingStateTree::setRemovedNodes):
34501        (WebCore::ScrollingStateTree::stateNodeForID):
34502        * page/scrolling/ScrollingStateTree.h:
34503        (WebCore::ScrollingStateTree::nodeCount):
34504        (WebCore::ScrollingStateTree::nodeMap):
34505        (WebCore::ScrollingStateTree::preferredLayerRepresentation):
34506        (WebCore::ScrollingStateTree::setPreferredLayerRepresentation):
34507        * page/scrolling/mac/ScrollingCoordinatorMac.mm:
34508        (WebCore::ScrollingCoordinatorMac::commitTreeState):
34509
345102014-01-04  Sam Weinig  <sam@webkit.org>
34511
34512        Move LineBreaker functions to LineBreaker.cpp
34513        https://bugs.webkit.org/show_bug.cgi?id=126491
34514
34515        Reviewed by Simon Fraser.
34516
34517        - Moves LineBreaker::nextLineBreak() and LineBreaker::nextSegmentBreak() to
34518          LineBreaker.cpp from RenderBlockLineLayout.cpp
34519        - Moves requiresIndent() to LineWidth.h/cpp from RenderBlockLineLayout.cpp
34520          so it can be shared.
34521        - Adds missing inline specifier to BreakingContext::handleEndOfLine() to avoid
34522          duplicate symbols.
34523
34524        * rendering/RenderBlockLineLayout.cpp:
34525        (WebCore::updateLogicalInlinePositions):
34526        (WebCore::RenderBlockFlow::computeInlineDirectionPositionsForLine):
34527        * rendering/line/BreakingContextInlineHeaders.h:
34528        (WebCore::BreakingContext::handleEndOfLine):
34529        * rendering/line/LineBreaker.cpp:
34530        (WebCore::LineBreaker::nextLineBreak):
34531        (WebCore::LineBreaker::nextSegmentBreak):
34532        * rendering/line/LineWidth.cpp:
34533        (WebCore::requiresIndent):
34534        * rendering/line/LineWidth.h:
34535
345362014-01-04  Martin Robinson  <mrobinson@igalia.com>
34537
34538        [GTK] [CMake] Fix the video and audio build
34539        https://bugs.webkit.org/show_bug.cgi?id=126464
34540
34541        Reviewed by Philippe Normand.
34542
34543        * PlatformGTK.cmake: Complete the audio and video source lists.
34544
345452014-01-04  Zan Dobersek  <zdobersek@igalia.com>
34546
34547        Explicitly use the std:: nested name specifier when using std::pair, std::make_pair
34548        https://bugs.webkit.org/show_bug.cgi?id=126439
34549
34550        Reviewed by Andreas Kling.
34551
34552        Instead of relying on std::pair and std::make_pair symbols being present in the current scope
34553        through the pair and make_pair symbols, the std:: specifier should be used explicitly.
34554
34555        * Modules/webdatabase/DatabaseTracker.cpp:
34556        (WebCore::DatabaseTracker::scheduleNotifyDatabaseChanged):
34557        * accessibility/AXObjectCache.h:
34558        * accessibility/AccessibilityARIAGridCell.cpp:
34559        (WebCore::AccessibilityARIAGridCell::rowIndexRange):
34560        (WebCore::AccessibilityARIAGridCell::columnIndexRange):
34561        * accessibility/AccessibilityARIAGridCell.h:
34562        * accessibility/AccessibilityObject.h:
34563        * accessibility/AccessibilityRenderObject.cpp:
34564        (WebCore::AccessibilityRenderObject::mathPrescripts):
34565        (WebCore::AccessibilityRenderObject::mathPostscripts):
34566        * accessibility/AccessibilityTable.cpp:
34567        (WebCore::AccessibilityTable::cellForColumnAndRow):
34568        * accessibility/AccessibilityTableCell.cpp:
34569        (WebCore::AccessibilityTableCell::rowIndexRange):
34570        (WebCore::AccessibilityTableCell::columnIndexRange):
34571        * accessibility/AccessibilityTableCell.h:
34572        * accessibility/atk/WebKitAccessibleInterfaceTable.cpp:
34573        (webkitAccessibleTableGetColumnAtIndex):
34574        (webkitAccessibleTableGetRowAtIndex):
34575        (webkitAccessibleTableGetColumnExtentAt):
34576        (webkitAccessibleTableGetRowExtentAt):
34577        (webkitAccessibleTableGetColumnHeader):
34578        (webkitAccessibleTableGetRowHeader):
34579        * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
34580        (-[WebAccessibilityObjectWrapper accessibilityHeaderElements]):
34581        (-[WebAccessibilityObjectWrapper accessibilityRowRange]):
34582        (-[WebAccessibilityObjectWrapper accessibilityColumnRange]):
34583        * accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
34584        (convertMathPairsToNSArray):
34585        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
34586        (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
34587        * bindings/js/SerializedScriptValue.cpp:
34588        * dom/ContainerNode.cpp:
34589        * dom/StyledElement.cpp:
34590        (WebCore::attributeNameSort):
34591        * html/MediaFragmentURIParser.cpp:
34592        (WebCore::MediaFragmentURIParser::parseTimeFragment):
34593        * html/parser/HTMLMetaCharsetParser.h:
34594        * inspector/ContentSearchUtils.cpp:
34595        (WebCore::ContentSearchUtils::getRegularExpressionMatchesByLines):
34596        (WebCore::ContentSearchUtils::searchInTextByLines):
34597        * inspector/DOMPatchSupport.cpp:
34598        (WebCore::DOMPatchSupport::diff):
34599        (WebCore::DOMPatchSupport::innerPatchChildren):
34600        * inspector/DOMPatchSupport.h:
34601        * inspector/InspectorAgent.cpp:
34602        (WebCore::InspectorAgent::enable):
34603        (WebCore::InspectorAgent::evaluateForTestInFrontend):
34604        * inspector/InspectorAgent.h:
34605        * loader/FormSubmission.cpp:
34606        (WebCore::FormSubmission::create):
34607        * loader/cache/CachedImage.cpp:
34608        (WebCore::CachedImage::brokenImage):
34609        * loader/cache/CachedImage.h:
34610        * platform/URL.cpp:
34611        (WebCore::findHostnamesInMailToURL):
34612        (WebCore::encodeHostnames):
34613        * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.h:
34614        * platform/graphics/FontCache.cpp:
34615        (WebCore::FontCache::getCachedFontData):
34616        * platform/graphics/WidthIterator.cpp:
34617        * platform/network/HTTPHeaderMap.cpp:
34618        (WebCore::HTTPHeaderMap::adopt):
34619        * platform/network/ResourceResponseBase.cpp:
34620        (WebCore::ResourceResponseBase::parseCacheControlDirectives):
34621        (WebCore::parseCacheHeader):
34622        * platform/text/AtomicStringKeyedMRUCache.h:
34623        * platform/text/LineBreakIteratorPoolICU.h:
34624        * rendering/InlineFlowBox.h:
34625        * rendering/RenderImage.cpp:
34626        (WebCore::RenderImage::imageSizeForError):
34627        (WebCore::RenderImage::paintReplaced):
34628        * rendering/RenderTableSection.cpp:
34629        (WebCore::RenderTableSection::cachedCollapsedBorder):
34630        * rendering/RenderTableSection.h:
34631        * rendering/svg/SVGTextRunRenderingContext.cpp:
34632        (WebCore::SVGTextRunRenderingContext::glyphDataForCharacter):
34633        * svg/SVGAnimatedAngle.cpp:
34634        (WebCore::SVGAnimatedAngleAnimator::constructFromString):
34635        (WebCore::SVGAnimatedAngleAnimator::addAnimatedTypes):
34636        (WebCore::SVGAnimatedAngleAnimator::calculateAnimatedValue):
34637        * svg/SVGAnimatedIntegerOptionalInteger.cpp:
34638        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::constructFromString):
34639        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::addAnimatedTypes):
34640        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::calculateAnimatedValue):
34641        * svg/SVGAnimatedNumberOptionalNumber.cpp:
34642        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::constructFromString):
34643        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::addAnimatedTypes):
34644        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::calculateAnimatedValue):
34645        * svg/SVGAnimatedType.cpp:
34646        (WebCore::SVGAnimatedType::createIntegerOptionalInteger):
34647        (WebCore::SVGAnimatedType::createNumberOptionalNumber):
34648        * svg/SVGAnimatedType.h:
34649        (WebCore::SVGAnimatedType::integerOptionalInteger):
34650        (WebCore::SVGAnimatedType::numberOptionalNumber):
34651        * svg/SVGAnimatedTypeAnimator.h:
34652        (WebCore::SVGAnimatedTypeAnimator::constructFromBaseValues):
34653        (WebCore::SVGAnimatedTypeAnimator::resetFromBaseValues):
34654        * svg/SVGParserUtilities.h:
34655        * svg/animation/SMILTimeContainer.h:
34656
346572014-01-03  Simon Fraser  <simon.fraser@apple.com>
34658
34659        Attempt to fix EFL build.
34660
34661        * page/scrolling/ScrollingStateTree.cpp:
34662        (WebCore::ScrollingStateTree::setHasChangedProperties):
34663
346642014-01-03  Simon Fraser  <simon.fraser@apple.com>
34665
34666        Clean up the means of committing the scrolling state tree
34667        https://bugs.webkit.org/show_bug.cgi?id=126482
34668
34669        Reviewed by Tim Horton.
34670
34671        ScrollingStateNodes would manually call scrollingStateTree().setHasChangedProperties()
34672        after setPropertyChanged() in lots of places, which was repetitive, and
34673        AsyncScrollingCoordinator manually called scheduleTreeStateCommit() in many places.
34674        
34675        Clean up both of these with a clearer trigger for state tree commits.
34676        ScrollingStateNodes::setPropertyChanged() calls ScrollingStateTree::setHasChangedProperties(),
34677        which turns around and tells the ScrollingCoordinator that the state tree became dirty.
34678
34679        * page/scrolling/AsyncScrollingCoordinator.cpp:
34680        (WebCore::AsyncScrollingCoordinator::AsyncScrollingCoordinator):
34681        (WebCore::AsyncScrollingCoordinator::scrollingStateTreePropertiesChanged):
34682        (WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated):
34683        (WebCore::AsyncScrollingCoordinator::requestScrollPositionUpdate):
34684        (WebCore::AsyncScrollingCoordinator::updateScrollingNode):
34685        (WebCore::AsyncScrollingCoordinator::updateViewportConstrainedNode):
34686        (WebCore::AsyncScrollingCoordinator::setScrollLayerForNode):
34687        (WebCore::AsyncScrollingCoordinator::setCounterScrollingLayerForNode):
34688        (WebCore::AsyncScrollingCoordinator::setHeaderLayerForNode):
34689        (WebCore::AsyncScrollingCoordinator::setFooterLayerForNode):
34690        (WebCore::AsyncScrollingCoordinator::setNonFastScrollableRegionForNode):
34691        (WebCore::AsyncScrollingCoordinator::setWheelEventHandlerCountForNode):
34692        (WebCore::AsyncScrollingCoordinator::setScrollBehaviorForFixedElementsForNode):
34693        (WebCore::AsyncScrollingCoordinator::setScrollbarPaintersFromScrollbarsForNode):
34694        (WebCore::AsyncScrollingCoordinator::setSynchronousScrollingReasons):
34695        * page/scrolling/AsyncScrollingCoordinator.h:
34696        * page/scrolling/ScrollingStateFixedNode.cpp:
34697        (WebCore::ScrollingStateFixedNode::updateConstraints):
34698        * page/scrolling/ScrollingStateNode.cpp:
34699        (WebCore::ScrollingStateNode::setPropertyChanged):
34700        (WebCore::ScrollingStateNode::setLayer):
34701        * page/scrolling/ScrollingStateNode.h:
34702        * page/scrolling/ScrollingStateScrollingNode.cpp:
34703        (WebCore::ScrollingStateScrollingNode::setViewportRect):
34704        (WebCore::ScrollingStateScrollingNode::setTotalContentsSize):
34705        (WebCore::ScrollingStateScrollingNode::setScrollOrigin):
34706        (WebCore::ScrollingStateScrollingNode::setScrollableAreaParameters):
34707        (WebCore::ScrollingStateScrollingNode::setFrameScaleFactor):
34708        (WebCore::ScrollingStateScrollingNode::setNonFastScrollableRegion):
34709        (WebCore::ScrollingStateScrollingNode::setWheelEventHandlerCount):
34710        (WebCore::ScrollingStateScrollingNode::setSynchronousScrollingReasons):
34711        (WebCore::ScrollingStateScrollingNode::setScrollBehaviorForFixedElements):
34712        (WebCore::ScrollingStateScrollingNode::setRequestedScrollPosition):
34713        (WebCore::ScrollingStateScrollingNode::setHeaderHeight):
34714        (WebCore::ScrollingStateScrollingNode::setFooterHeight):
34715        (WebCore::ScrollingStateScrollingNode::setCounterScrollingLayer):
34716        (WebCore::ScrollingStateScrollingNode::setHeaderLayer):
34717        (WebCore::ScrollingStateScrollingNode::setFooterLayer):
34718        * page/scrolling/ScrollingStateStickyNode.cpp:
34719        (WebCore::ScrollingStateStickyNode::updateConstraints):
34720        * page/scrolling/ScrollingStateTree.cpp:
34721        (WebCore::ScrollingStateTree::create):
34722        (WebCore::ScrollingStateTree::ScrollingStateTree):
34723        (WebCore::ScrollingStateTree::setHasChangedProperties):
34724        (WebCore::ScrollingStateTree::didRemoveNode):
34725        * page/scrolling/ScrollingStateTree.h:
34726        * page/scrolling/mac/ScrollingCoordinatorMac.mm:
34727        (WebCore::ScrollingCoordinatorMac::scheduleTreeStateCommit):
34728        * page/scrolling/mac/ScrollingStateScrollingNodeMac.mm:
34729        (WebCore::ScrollingStateScrollingNode::setScrollbarPaintersFromScrollbars):
34730
347312014-01-03  Simon Fraser  <simon.fraser@apple.com>
34732
34733        Try to fix CoordinatedGraphics build after r161303. Remove implementations
34734        which are now in the cross-platform file.
34735
34736        * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp:
34737        (WebCore::ScrollingCoordinatorCoordinatedGraphics::detachFromStateTree):
34738        (WebCore::ScrollingCoordinatorCoordinatedGraphics::updateViewportConstrainedNode):
34739        * page/scrolling/coordinatedgraphics/ScrollingStateNodeCoordinatedGraphics.cpp:
34740        * page/scrolling/coordinatedgraphics/ScrollingStateScrollingNodeCoordinatedGraphics.cpp:
34741
347422014-01-03  Simon Fraser  <simon.fraser@apple.com>
34743
34744        Simplify ScrollingStateNode references to various layer types
34745        https://bugs.webkit.org/show_bug.cgi?id=126477
34746
34747        Reviewed by Tim Horton.
34748        
34749        ScrollingStateNodes referenced both GraphicsLayer and PlatformLayers, in
34750        confusing ways. In the main thread they have a GraphicsLayer*, but need
34751        to check to see if the underlying PlatformLayer changed. Then, when
34752        cloned to commit to the scrolling thread, they drop the GraphicsLayer
34753        and store a PlatformLayer.
34754        
34755        Hide the complexity (and prepare for the future) by adding LayerRepresentation,
34756        which wraps various different flavors of layers, and knows how to check whether
34757        the PlatformLayer underlying a GraphicsLayer changed.
34758        
34759        ScrollingStateNode layer setters then just take and compare LayerRepresentations.
34760        Copy constructors convert to a PlatformLayer representation (though not really
34761        in the right place currently), and ScrollingTreeNodes get PlatformLayers.
34762
34763        * page/scrolling/AsyncScrollingCoordinator.cpp:
34764        (WebCore::AsyncScrollingCoordinator::updateScrollingNode):
34765        (WebCore::AsyncScrollingCoordinator::setScrollLayerForNode):
34766        * page/scrolling/ScrollingStateFixedNode.cpp:
34767        (WebCore::ScrollingStateFixedNode::syncLayerPositionForViewportRect):
34768        * page/scrolling/ScrollingStateNode.cpp:
34769        (WebCore::ScrollingStateNode::ScrollingStateNode):
34770        (WebCore::ScrollingStateNode::setLayer):
34771        * page/scrolling/ScrollingStateNode.h:
34772        (WebCore::LayerRepresentation::LayerRepresentation):
34773        (WebCore::LayerRepresentation::operator GraphicsLayer*):
34774        (WebCore::LayerRepresentation::operator PlatformLayer*):
34775        (WebCore::LayerRepresentation::operator GraphicsLayer::PlatformLayerID):
34776        (WebCore::LayerRepresentation::operator ==):
34777        (WebCore::LayerRepresentation::toPlatformLayer):
34778        (WebCore::LayerRepresentation::representsGraphicsLayer):
34779        (WebCore::LayerRepresentation::representsPlatformLayer):
34780        (WebCore::LayerRepresentation::representsPlatformLayerID):
34781        (WebCore::ScrollingStateNode::layer):
34782        * page/scrolling/ScrollingStateScrollingNode.cpp:
34783        (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
34784        (WebCore::ScrollingStateScrollingNode::setCounterScrollingLayer):
34785        (WebCore::ScrollingStateScrollingNode::setHeaderLayer):
34786        (WebCore::ScrollingStateScrollingNode::setFooterLayer):
34787        * page/scrolling/ScrollingStateScrollingNode.h:
34788        * page/scrolling/ScrollingStateStickyNode.cpp:
34789        (WebCore::ScrollingStateStickyNode::syncLayerPositionForViewportRect):
34790        * page/scrolling/mac/ScrollingStateNodeMac.mm:
34791        * page/scrolling/mac/ScrollingStateScrollingNodeMac.mm:
34792        * page/scrolling/mac/ScrollingTreeFixedNode.mm:
34793        (WebCore::ScrollingTreeFixedNode::updateBeforeChildren):
34794        * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
34795        (WebCore::ScrollingTreeScrollingNodeMac::updateBeforeChildren):
34796        * page/scrolling/mac/ScrollingTreeStickyNode.mm:
34797        (WebCore::ScrollingTreeStickyNode::updateBeforeChildren):
34798
347992014-01-03  Brent Fulgham  <bfulgham@apple.com>
34800
34801        [WebGL] Blit operation from Multisample FBO to rendering FBO must ignore GL_SCISSOR test
34802        https://bugs.webkit.org/show_bug.cgi?id=126470
34803        <rdar://problem/15201370>
34804
34805        Reviewed by Dean Jackson.
34806
34807        Covered by webgl/1.0.2/resources/webgl_test_files/conformance/rendering/gl-scissor-test.html
34808
34809        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
34810        (WebCore::GraphicsContext3D::resolveMultisamplingIfNecessary): Temporarily deactivate the GL_SCISSOR
34811        test while we do our blit, then reactivate if necessary.
34812
348132014-01-03  Brent Fulgham  <bfulgham@apple.com>
34814
34815        [WebGL] CGLPixelFormat should specify SampleBuffer and Sample count when using MSAA
34816        https://bugs.webkit.org/show_bug.cgi?id=126468
34817
34818        Reviewed by Dean Jackson.
34819
34820        Covered by webgl/1.0.2/resources/webgl_test_files/conformance/rendering/gl-scissor-test.html
34821
34822        * platform/graphics/mac/GraphicsContext3DMac.mm:
34823        (WebCore::setPixelFormat): Add kCGLPFAMultisample, kCGLPFASampleBuffers (and count), and
34824        kCGLPFASamples (and count) to our pixel format when 'antialias=true'.
34825        (WebCore::GraphicsContext3D::GraphicsContext3D): Pass a new 'antialias' flag to the setPixelFormat
34826        method so we can turn on MSAA features when needed.
34827
348282014-01-03  Simon Fraser  <simon.fraser@apple.com>
34829
34830        Give all PlatformCALayers a PlatformLayerID, not just remote ones
34831        https://bugs.webkit.org/show_bug.cgi?id=126466
34832
34833        Reviewed by Tim Horton.
34834
34835        The ScrollingStateTree has references to both GraphicsLayers and PlatformLayers
34836        which is confusing, and is necessary because the underlying PlatformLayer
34837        inside a GraphicsLayer can change. In order to hide some of this complexity,
34838        expose GraphicsLayer::primaryLayerID() which is a PlatformLayerID that clients
34839        can hold onto to test for underlying layer swapping.
34840        
34841        Also constify LayerType m_layerType on PlatformCALayer, which required
34842        cleaning up the construction of PlatformCALayerMac in the case where a
34843        PlatformCALayerMac is wrapping an existing CALayer (which happens for video).
34844
34845        * WebCore.exp.in:
34846        * platform/graphics/GraphicsLayer.h:
34847        (WebCore::GraphicsLayer::primaryLayerID):
34848        * platform/graphics/ca/GraphicsLayerCA.cpp:
34849        (WebCore::GraphicsLayerCA::primaryLayerID):
34850        * platform/graphics/ca/GraphicsLayerCA.h:
34851        * platform/graphics/ca/PlatformCALayer.cpp:
34852        (WebCore::generateLayerID):
34853        (WebCore::PlatformCALayer::PlatformCALayer):
34854        * platform/graphics/ca/PlatformCALayer.h:
34855        (WebCore::PlatformCALayer::layerID):
34856        * platform/graphics/ca/mac/PlatformCALayerMac.h:
34857        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
34858        (PlatformCALayerMac::create):
34859        (PlatformCALayerMac::PlatformCALayerMac):
34860        (PlatformCALayerMac::commonInit):
34861
348622014-01-03  Andreas Kling  <akling@apple.com>
34863
34864        Add lineageOfType renderer iterator and start using it.
34865        <https://webkit.org/b/126456>
34866
34867        Add a convenient way to iterate over a renderers ancestry *including*
34868        the starting point renderer (if it meets the type criteria.)
34869
34870        This works just like lineageOfType for Elements.
34871
34872        Reviewed by Geoffrey Garen.
34873
34874        * rendering/RenderAncestorIterator.h:
34875        (WebCore::lineageOfType):
34876
34877            Added. Returns an adapter for walking a renderer's entire lineage
34878            matching any renderer of the given type.
34879
34880        * rendering/RenderBoxModelObject.h:
34881        * rendering/RenderLayerModelObject.h:
34882
34883            Add the requisite isRendererOfType<T> helpers.
34884
34885        * rendering/RenderBox.cpp:
34886        (WebCore::RenderBox::enclosingFloatPaintingLayer):
34887        * rendering/RenderObject.cpp:
34888        (WebCore::RenderObject::enclosingLayer):
34889        (WebCore::RenderObject::enclosingBox):
34890        (WebCore::RenderObject::enclosingBoxModelObject):
34891
34892            Simplify with lineageOfType. Added some FIXMEs about functions
34893            that should return references instead of pointers.
34894
348952014-01-03  Martin Robinson  <mrobinson@igalia.com>
34896
34897        Small build fix for the GTK+ CMake port
34898
34899        * PlatformGTK.cmake: Add an IDL file that is missing from the list of IDLs
34900        used to generate GObject DOM bindings.
34901
349022014-01-03  Daniel Bates  <dabates@apple.com>
34903
34904        [iOS] Upstream WebCore/css changes
34905        https://bugs.webkit.org/show_bug.cgi?id=126237
34906
34907        Reviewed by Simon Fraser.
34908
34909        * css/CSSComputedStyleDeclaration.cpp:
34910        (WebCore::ComputedStyleExtractor::propertyValue): Added iOS-specific code and FIXME comment.
34911        * css/CSSParser.cpp:
34912        (WebCore::CSSParserContext::CSSParserContext): Ditto.
34913        (WebCore::CSSParser::parseValue): Ditto.
34914        * css/CSSPropertyNames.in: Added property -webkit-composition-fill-color. Also added FIXME comment.
34915        * css/CSSValueKeywords.in: Added iOS-specific -apple-system-* values.
34916        * css/DeprecatedStyleBuilder.cpp:
34917        (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): Added iOS-specific code and FIXME comments.
34918        * css/MediaFeatureNames.h: Added media feature -webkit-video-playable-inline.
34919        * css/MediaQueryEvaluator.cpp:
34920        (WebCore::isRunningOnIPhoneOrIPod): Added. Also added FIXME comment.
34921        (WebCore::video_playable_inlineMediaFeatureEval): Added.
34922        * css/StyleResolver.cpp:
34923        (WebCore::StyleResolver::canShareStyleWithElement): Substitute toHTMLMediaElement() for toMediaElement().
34924        (WebCore::StyleResolver::applyProperty): Added iOS-specific code and FIXME comment.
34925        * css/html.css: Added iOS-specific CSS styles.
34926        (input, textarea, keygen, select, button, isindex):
34927        (isindex):
34928        (input[type="date"]):
34929        (input[type="datetime"]):
34930        (input[type="datetime-local"]):
34931        (input[type="month"]):
34932        (input[type="time"]):
34933        (textarea):
34934        (input:-webkit-autofill):
34935        (input[type="radio"], input[type="checkbox"]):
34936        (input[type="button"], input[type="submit"], input[type="reset"], input[type="file"]::-webkit-file-upload-button, button):
34937        (input[type="range"]::-webkit-slider-thumb, input[type="range"]::-webkit-media-slider-thumb):
34938        (input[type="range"]::-webkit-slider-thumb:active):
34939        (input:disabled, textarea:disabled):
34940        (input[readonly], textarea[readonly]):
34941        (textarea::-webkit-input-placeholder):
34942        (input[type="checkbox"]):
34943        (input[type="radio"]):
34944        (input[type="checkbox"]:checked, input[type="radio"]:checked):
34945        (input[type="checkbox"]:checked:disabled, input[type="radio"]:checked:disabled):
34946        (select:focus):
34947        (select):
34948        * css/mathml.css: Added iOS-specific CSS styles.
34949        (math, mfenced > *):
34950        (mo, mfenced):
34951        * css/mediaControlsiOS.css: Added.
34952        * css/svg.css: Added iOS-specific CSS styles.
34953        (text, tspan, tref):
34954
349552014-01-03  Brent Fulgham  <bfulgham@apple.com>
34956
34957        [WebGL] glScissor test is not accounted for when generating internal rendering textures.
34958        https://bugs.webkit.org/show_bug.cgi?id=126455
34959        <rdar://problem/15744206>
34960
34961        Reviewed by Dean Jackson.
34962
34963        Covered by webgl/1.0.2/conformance/rendering/gl-scissor-test.html
34964
34965        * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
34966        (WebCore::GraphicsContext3D::prepareTexture): Check state of GL_SCISSOR_TEST and GL_DITHER, deactivate them during
34967        our internal drawing, then turn them back on for further processing.
34968
349692014-01-03  Simon Fraser  <simon.fraser@apple.com>
34970
34971        Maybe fix Windows build.
34972
34973        * WebCore.vcxproj/copyForwardingHeaders.cmd:
34974
349752014-01-03  Jer Noble  <jer.noble@apple.com>
34976
34977        [MediaControls][iOS] Enable JavaScript Media Controls on iOS.
34978        https://bugs.webkit.org/show_bug.cgi?id=126440
34979
34980        Reviewed by Eric Carlson.
34981
34982        Drive-by misspelling fix, and add a convenience function to check if the
34983        controls are currently hidden:
34984        * Modules/mediacontrols/mediaControlsApple.js:
34985        (Controller.prototype.handleWrapperMouseMove):
34986        (Controller.prototype.handleWrapperMouseOut):
34987        (Controller.prototype.updatePlaying):
34988        (Controller.prototype.controlsAreHidden): Added.
34989
34990        Add a new subclass of Controller for iOS and a matching CSS:
34991        * Modules/mediacontrols/mediaControlsiOS.css: Added.
34992        * Modules/mediacontrols/mediaControlsiOS.js: Added.
34993        (createControls): Override the createControls() in mediaControlsApple.js.
34994        (ControllerIOS): Define a new class.
34995        (ControllerIOS.prototype.inheritFrom): Convenience method to mixin parent
34996            prototype methods.
34997        (ControllerIOS.prototype.createBase): Override, listen for touches instead of mouse events.
34998        (ControllerIOS.prototype.createControls): Ditto.
34999        (ControllerIOS.prototype.configureInlineControls): Override, only add play, timeline, and full
35000            screen butttons.
35001        (ControllerIOS.prototype.configureFullScreenControls): Override, and add no buttons.
35002        (ControllerIOS.prototype.handlePlayButtonTouchStart): Activate.
35003        (ControllerIOS.prototype.handlePlayButtonTouchEnd): De-activate and do action.
35004        (ControllerIOS.prototype.handlePlayButtonTouchCancel): De-activate and cancel.
35005        (ControllerIOS.prototype.handleWrapperTouchStart): Show controls.
35006        (ControllerIOS.prototype.handlePanelTouchStart): Disable video selection.
35007        (ControllerIOS.prototype.handlePanelTouchEnd): Re-enable video selection.
35008        (ControllerIOS.prototype.handlePanelTouchCancel): Ditto.
35009
35010        Drive-by fix to enable the JavaScript controls when the plugin is disabled:
35011        * html/HTMLMediaElement.cpp:
35012        (WebCore::HTMLMediaElement::parseAttribute):
35013
35014        Add the iOS JavaScript by appending it to the generic (Apple) JavaScript:
35015        * rendering/RenderThemeIOS.mm:
35016        (WebCore::RenderThemeIOS::mediaControlsScript):
35017
35018        Add new files to project:
35019        * DerivedSources.make:
35020        * WebCore.xcodeproj/project.pbxproj:
35021
350222014-01-03  Simon Fraser  <simon.fraser@apple.com>
35023
35024        Allow the ChromeClient to provide a custom ScrollingCoordinator
35025        https://bugs.webkit.org/show_bug.cgi?id=126450
35026
35027        Reviewed by Tim Horton.
35028        
35029        Some platforms will want to provide a custom ScrollingCoordinator, so let
35030        them do so by asking ChromeClient first for one.
35031
35032        * page/ChromeClient.h:
35033        (WebCore::ChromeClient::createScrollingCoordinator):
35034        * page/Page.cpp:
35035        (WebCore::Page::scrollingCoordinator):
35036
350372014-01-03  Andreas Kling  <akling@apple.com>
35038
35039        Deploy more child renderer iterators in RenderBlockFlow.
35040        <https://webkit.org/b/126434>
35041
35042        Reviewed by Sam Weinig.
35043
35044        * rendering/RenderBlockFlow.cpp:
35045        (WebCore::shouldCheckLines):
35046
35047            Make this helper take a RenderBlockFlow instead of a RenderObject
35048            and simplified it a bit. RenderDeprecatedFlexibleBox does not
35049            derive from RenderBlockFlow so those checks can be omitted.
35050
35051        (WebCore::RenderBlockFlow::layoutBlock):
35052        (WebCore::RenderBlockFlow::markAllDescendantsWithFloatsForLayout):
35053        (WebCore::RenderBlockFlow::lineAtIndex):
35054        (WebCore::RenderBlockFlow::lineCount):
35055        (WebCore::RenderBlockFlow::clearTruncation):
35056
35057            Use childrenOfType to iterate over block and block-flow children.
35058            Tweaked some early return/continue to reduce nesting.
35059
350602014-01-03  Simon Fraser  <simon.fraser@apple.com>
35061
35062        Allow different types of ScrollingTrees to have different types of ScrollingTreeNode subclasses
35063        https://bugs.webkit.org/show_bug.cgi?id=126445
35064
35065        Reviewed by Tim Horton.
35066        
35067        Make it possible to have ScrollingTree subclasses with different subclasses of ScrollingTreeNodes,
35068        by giving ScrollingTree a pure virtual createNode() function. ThreadedScrollingTree implements
35069        this, and then delegates node creation to its AsyncScrollingCoordinator (since we have
35070        a ScrollingCoordinatorMac but no real need for a ThreadedScrollingTreeMac).
35071        
35072        Also made ThreadedScrollingTree's m_scrollingCoordinator an AsyncScrollingCoordinator,
35073        since by definition a threaded scrolling tree uses an async coordinator.
35074
35075        * page/scrolling/AsyncScrollingCoordinator.h:
35076        * page/scrolling/ScrollingTree.cpp:
35077        (WebCore::ScrollingTree::updateTreeFromStateNode):
35078        * page/scrolling/ScrollingTree.h:
35079        * page/scrolling/ScrollingTreeScrollingNode.h:
35080        * page/scrolling/ThreadedScrollingTree.cpp:
35081        (WebCore::ThreadedScrollingTree::create):
35082        (WebCore::ThreadedScrollingTree::ThreadedScrollingTree):
35083        (WebCore::ThreadedScrollingTree::createNode):
35084        * page/scrolling/ThreadedScrollingTree.h:
35085        * page/scrolling/mac/ScrollingCoordinatorMac.h:
35086        * page/scrolling/mac/ScrollingCoordinatorMac.mm:
35087        (WebCore::ScrollingCoordinatorMac::createScrollingTreeNode):
35088        * page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
35089        * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
35090        (WebCore::ScrollingTreeScrollingNodeMac::create):
35091
350922014-01-03  Gavin Barraclough  <barraclough@apple.com>
35093
35094        Refactor NSActivity handling code from ChildProcess to UserActivity
35095        https://bugs.webkit.org/show_bug.cgi?id=126330
35096
35097        Unreviewed build fix.
35098
35099        * platform/UserActivity.h:
35100            - case fix.
35101
351022014-01-02  Gavin Barraclough  <barraclough@apple.com>
35103
35104        Refactor NSActivity handling code from ChildProcess to UserActivity
35105        https://bugs.webkit.org/show_bug.cgi?id=126330
35106
35107        Reviewed by Sam Weinig.
35108
35109        UserActivity is a mechanism to express to the operating system (where appropriate)
35110        that a user initiated activity is taking place, and as such that resources should be
35111        made available to the process accordingly.
35112
35113        Currently we hold a single NSActivity, at the WebKit layer. This refactoring allows us
35114        to hold different activity tokens for different user actions (which simplifies the
35115        handling, and aides debugging since the token can more accurately express the activity
35116        taking place), and also will allow us to avoid the layering difficulty of calling back
35117        up the stack to WebKit to register that an activity is taking place.
35118
35119        * WebCore.xcodeproj/project.pbxproj:
35120            - added new files.
35121        * platform/UserActivity.cpp: Added.
35122        (WebCore::UserActivity::UserActivity):
35123            - nop implementation - ignore description.
35124        (WebCore::UserActivity::beginActivity):
35125        (WebCore::UserActivity::endActivity):
35126            - nop implementation - just inc/dec m_count.
35127        * platform/UserActivity.h: Added.
35128        (WebCore::UserActivity::isActive):
35129            - returns true if one or more instance of this activity is in progress.
35130        * platform/mac/UserActivityMac.mm: Added.
35131        (WebCore::UserActivity::UserActivity):
35132            - constructor accepts one argument, a description string.
35133        (WebCore::UserActivity::isValid):
35134            - used by assertions.
35135        (WebCore::UserActivity::beginActivity):
35136        (WebCore::UserActivity::endActivity):
35137            - track start/end of an activity - calls to these methods should be balanced.
35138        (WebCore::UserActivity::hysteresisTimerFired):
35139              - used to implement hysteresis in releasing  NSActivity.
35140
351412014-01-03  Alexey Proskuryakov  <ap@apple.com>
35142
35143        Line ending conversion should be able to handle strings with null chars
35144        https://bugs.webkit.org/show_bug.cgi?id=126202
35145
35146        This is a merge from Blink.
35147
35148        Reviewed by Alexey Proskuryakov.
35149
35150        Test: http/tests/local/formdata/send-form-data-with-string-containing-null.html
35151
35152        * platform/text/LineEnding.cpp: (WebCore::normalizeToCROrLF): Do it right.
35153
351542014-01-03  Alberto Garcia  <berto@igalia.com>
35155
35156        WebKit-GTK 1.8.1 does not build on OS X 10.7
35157        https://bugs.webkit.org/show_bug.cgi?id=88407
35158
35159        Reviewed by Carlos Garcia Campos.
35160
35161        Replace non-portable 'echo -n' with 'true'.
35162
35163        * GNUmakefile.am:
35164
351652014-01-03  peavo@outlook.com  <peavo@outlook.com>
35166
35167        [WinCairo] Compile error.
35168        https://bugs.webkit.org/show_bug.cgi?id=126428
35169
35170        Reviewed by Brent Fulgham.
35171
35172        The NativeImagePtr type is not an CGImageRef on WinCairo, cannot use CFRetain.
35173
35174        * loader/cache/MemoryCache.cpp: Replace USE(CF) with USE(CG).
35175        * loader/cache/MemoryCache.h: Ditto.
35176
351772014-01-03  Hans Muller  <hmuller@adobe.com>
35178
35179        [CSS Shapes] Simplify FloatRoundedRect, BoxShape construction
35180        https://bugs.webkit.org/show_bug.cgi?id=125995
35181
35182        Reviewed by Andreas Kling.
35183
35184        Cleanup of various internal Shape issues:
35185        - Removed unnecessary Shape() initialization list entries in Shape subclasses
35186          per https://bugs.webkit.org/show_bug.cgi?id=125548#c2.
35187        - Used const references instead of pointers for non-deprecated Shape:createShape() logic.
35188        - Replaced createShape() overloads for Rasters and Boxes with functions named
35189          createRasterShape() and createBoxShape().
35190        - Added a FloatRoundedRect::Radii() constructor to reduce the parameter list
35191          length of the FloatRoundedRect constructor in createBoxShape().
35192
35193        There are no new tests, this is just internal refactoring.
35194
35195        * platform/graphics/FloatRoundedRect.h:
35196        (WebCore::FloatRoundedRect::Radii::Radii):
35197        * rendering/shapes/BoxShape.h:
35198        (WebCore::BoxShape::BoxShape):
35199        * rendering/shapes/PolygonShape.h:
35200        (WebCore::PolygonShape::PolygonShape):
35201        * rendering/shapes/RasterShape.h:
35202        (WebCore::RasterShape::RasterShape):
35203        * rendering/shapes/RectangleShape.h:
35204        (WebCore::RectangleShape::RectangleShape):
35205        * rendering/shapes/Shape.cpp:
35206        (WebCore::createInsetShape):
35207        (WebCore::Shape::createShape):
35208        (WebCore::Shape::createRasterShape):
35209        (WebCore::Shape::createBoxShape):
35210        * rendering/shapes/Shape.h:
35211        * rendering/shapes/ShapeInfo.cpp:
35212        (WebCore::ShapeInfo<RenderType>::computedShape):
35213
352142014-01-03  Andreas Kling  <akling@apple.com>
35215
35216        Remove unused Document::openSearchDescriptionURL().
35217        <https://webkit.org/b/126419>
35218
35219        Reviewed by Antti Koivisto.
35220
35221        * dom/Document.h:
35222        * dom/Document.cpp:
35223
35224            Scrub leftovers from the defunct Chromium port.
35225
352262014-01-03  Jinwoo Song  <jinwoo7.song@samsung.com>
35227
35228        VibrationPattern should allocate an single vector instance for single integer input
35229        https://bugs.webkit.org/show_bug.cgi?id=126417
35230
35231        Reviewed by Gyuyoung Kim.
35232
35233        When the Vibration pattern is set with a single integer, the VibrationPattern should
35234        be set with this integer as a vibration time. But the VibrationPattern(unsigned vector) was
35235        initialized with a single parameter, the vibration time, so the time was used to set
35236        the size of vector.
35237
35238        * Modules/vibration/NavigatorVibration.cpp:
35239        (WebCore::NavigatorVibration::vibrate):
35240
352412014-01-02  Jaehun Lim  <ljaehun.lim@samsung.com>
35242
35243        IconController.cpp needs to include <wtf/text/CString.h>
35244        https://bugs.webkit.org/show_bug.cgi?id=126415
35245
35246        Reviewed by Gyuyoung Kim.
35247
35248        Build fails in IconController.cpp when ICONDATABASE is disabled.
35249        WebKit/Source/WebCore/loader/icon/IconController.cpp:124:110: error: invalid use of incomplete type ‘class WTF::CString’
35250        IconController.cpp needs #include <wtf/text/CString.h>.
35251
35252        No new tests. Just build fix.
35253
35254        * loader/icon/IconController.cpp: Add #include statement.
35255
352562014-01-02  Ryuan Choi  <ryuan.choi@samsung.com>
35257
35258        [EFL] Previous scrollbar is remained sometimes
35259        https://bugs.webkit.org/show_bug.cgi?id=126414
35260
35261        Reviewed by Gyuyoung Kim.
35262
35263        * platform/efl/ScrollbarEfl.cpp:
35264        (ScrollbarEfl::invalidate):
35265        Updated scrollbar visibility in Scrollbar::invalidate().
35266        * platform/efl/ScrollbarEfl.h:
35267        Removed show()/hide() which never been called() for scrollbar.
35268
352692014-01-02  Brent Fulgham  <bfulgham@apple.com>
35270
35271        [WebGL] Correct symbol lookup logic to handle 1-element arrays
35272        https://bugs.webkit.org/show_bug.cgi?id=126411
35273        <rdar://problem/15394564>
35274
35275        Reviewed by Dean Jackson.
35276
35277        Tested by revisions to webgl/1.0.2/conformance/glsl/misc/shader-with-array-of-structs-containing-arrays.html
35278
35279        * html/canvas/WebGLRenderingContext.cpp:
35280        (WebCore::WebGLRenderingContext::getUniformLocation): Revise to
35281        handle access to zeroeth element of the array.
35282
352832014-01-02  Myles C. Maxfield  <mmaxfield@apple.com>
35284
35285        Crash in WebCore::translateIntersectionPointsToSkipInkBoundaries
35286        https://bugs.webkit.org/show_bug.cgi?id=126252
35287
35288        Reviewed by Alexey Proskuryakov.
35289
35290        lastIntermediate was a iterator pointing into a Vector, which was being re-used
35291        even while appending to the Vector. If any of the append operators triggered
35292        a realloc, the iterator would point to the old free'ed memory.
35293
35294        Test: fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-ink-crash-many-gaps.html
35295
35296        * rendering/InlineTextBox.cpp:
35297        (WebCore::translateIntersectionPointsToSkipInkBoundaries):
35298
352992014-01-02  Brent Fulgham  <bfulgham@apple.com>
35300
35301        [WebGL] Correct symbol lookup logic to handle 1-element arrays
35302        https://bugs.webkit.org/show_bug.cgi?id=126411
35303        <rdar://problem/15394564>
35304
35305        Reviewed by Dean Jackson.
35306
35307        * html/canvas/WebGLRenderingContext.cpp:
35308        (WebCore::WebGLRenderingContext::getUniformLocation): Revise code to handle the case of single-element
35309        arrays.
35310
353112014-01-02  Sam Weinig  <sam@webkit.org>
35312
35313        Update Promises to the https://github.com/domenic/promises-unwrapping spec
35314        https://bugs.webkit.org/show_bug.cgi?id=120954
35315
35316        Reviewed by Filip Pizlo.
35317
35318        * ForwardingHeaders/runtime/JSPromiseDeferred.h: Added.
35319        * ForwardingHeaders/runtime/JSPromiseResolver.h: Removed.
35320        * bindings/js/JSDOMGlobalObjectTask.cpp:
35321        (WebCore::JSGlobalObjectTask::JSGlobalObjectTask):
35322        * bindings/js/JSDOMGlobalObjectTask.h:
35323        * bindings/js/JSDOMPromise.cpp:
35324        (WebCore::DeferredWrapper::DeferredWrapper):
35325        (WebCore::DeferredWrapper::promise):
35326        (WebCore::DeferredWrapper::resolve):
35327        (WebCore::DeferredWrapper::reject):
35328        * bindings/js/JSDOMPromise.h:
35329        (WebCore::DeferredWrapper::resolve):
35330        (WebCore::DeferredWrapper::reject):
35331        (WebCore::DeferredWrapper::resolve<String>):
35332        (WebCore::DeferredWrapper::resolve<bool>):
35333        (WebCore::char>>):
35334        (WebCore::DeferredWrapper::reject<String>):
35335        * bindings/js/JSDOMWindowBase.cpp:
35336        (WebCore::JSDOMWindowBase::queueTaskToEventLoop):
35337        * bindings/js/JSDOMWindowBase.h:
35338        * bindings/js/JSSubtleCryptoCustom.cpp:
35339        (WebCore::JSSubtleCrypto::encrypt):
35340        (WebCore::JSSubtleCrypto::decrypt):
35341        (WebCore::JSSubtleCrypto::sign):
35342        (WebCore::JSSubtleCrypto::verify):
35343        (WebCore::JSSubtleCrypto::digest):
35344        (WebCore::JSSubtleCrypto::generateKey):
35345        (WebCore::JSSubtleCrypto::importKey):
35346        (WebCore::JSSubtleCrypto::exportKey):
35347        (WebCore::JSSubtleCrypto::wrapKey):
35348        (WebCore::JSSubtleCrypto::unwrapKey):
35349        * bindings/js/JSWorkerGlobalScopeBase.cpp:
35350        (WebCore::JSWorkerGlobalScopeBase::queueTaskToEventLoop):
35351        * bindings/js/JSWorkerGlobalScopeBase.h:
35352
353532014-01-02  Tim Horton  <timothy_horton@apple.com>
35354
35355        ImageBufferBackingStoreCache should use DeferrableOneShotTimer
35356        https://bugs.webkit.org/show_bug.cgi?id=126155
35357
35358        Reviewed by Anders Carlsson.
35359
35360        Since ImageBufferBackingStoreCache's purge timer is pushed out every time
35361        a backing store is deallocated, we can easily waste a lot of time rescheduling
35362        the timer. Since it's a cache purge timer and doesn't need that kind of precision,
35363        adopt DeferrableOneShotTimer, which is much more performant when deferred frequently.
35364
35365        * platform/graphics/cg/ImageBufferBackingStoreCache.cpp:
35366        (WebCore::ImageBufferBackingStoreCache::ImageBufferBackingStoreCache):
35367        (WebCore::ImageBufferBackingStoreCache::timerFired):
35368        (WebCore::ImageBufferBackingStoreCache::schedulePurgeTimer):
35369        * platform/graphics/cg/ImageBufferBackingStoreCache.h:
35370
353712014-01-02  Myles C. Maxfield  <mmaxfield@apple.com>
35372
35373        Allow ImageBuffer to re-use IOSurfaces
35374        https://bugs.webkit.org/show_bug.cgi?id=125477
35375
35376        Reviewed by Geoff Garen. Modifications reviewed by Tim Horton.
35377
35378        This patch is taken from r160945, but the modifications to ImageBufferCG.cpp
35379        have been reverted.
35380
35381        This test adds a static class, ImageBufferBackingStoreCache, that vends 
35382        IOSurfaces. It remembers IOSurfaces that have been returned to it until 
35383        a configurable timeout. 
35384
35385        The storage used by this class is in the form of a HashMap from a 
35386        bucketed size to the IOSurface. There are many other data structures 
35387        that could be used, but this implementation gives a 80% hit rate on 
35388        normal browsing of some example sites with Canvas and 
35389        text-decoration-skip: ink. Because the buckets are fairly 
35390        small (rounding the width and height up to multiples of 8), traversing the 
35391        bucket contents takes on average 2 steps.  
35392
35393        Test: fast/canvas/canvas-backing-store-reuse.html 
35394
35395        * WebCore.xcodeproj/project.pbxproj: Added new caching class 
35396        * platform/graphics/cg/ImageBufferBackingStoreCache.cpp: Added. 
35397        (WebCore::createIOSurface): Copied from ImageBufferCG.cpp 
35398        (WebCore::ImageBufferBackingStoreCache::timerFired): Forget the cache 
35399        contents 
35400        (WebCore::ImageBufferBackingStoreCache::schedulePurgeTimer): 
35401        (WebCore::ImageBufferBackingStoreCache::get): Static getter 
35402        (WebCore::ImageBufferBackingStoreCache::ImageBufferBackingStoreCache): 
35403        (WebCore::ImageBufferBackingStoreCache::insertIntoCache): Memory-management 
35404        creation function 
35405        (WebCore::ImageBufferBackingStoreCache::takeFromCache): Memory-management 
35406        deletion function 
35407        (WebCore::ImageBufferBackingStoreCache::isAcceptableSurface): Does this cached 
35408        IOSurface fit the bill? 
35409        (WebCore::ImageBufferBackingStoreCache::tryTakeFromCache): Lookup 
35410        a bucket and walk through its contents 
35411        (WebCore::ImageBufferBackingStoreCache::getOrAllocate): Public function 
35412        for clients who want a IOSurface from the cache 
35413        (WebCore::ImageBufferBackingStoreCache::deallocate): Public 
35414        function for clients to return an IOSurface to the pool 
35415        * platform/graphics/cg/ImageBufferBackingStoreCache.h: Added. 
35416        (WebCore::ImageBuffer::ImageBuffer): 
35417        (WebCore::ImageBuffer::~ImageBuffer): 
35418
354192014-01-02  Piotr Grad  <p.grad@samsung.com>
35420
35421        Video-seek-with-negative-playback was flaky.
35422        https://bugs.webkit.org/show_bug.cgi?id=126379
35423
35424        Reviewed by Eric Carlson.
35425
35426        No new tests. Covered by existing tests.
35427
35428        m_player->setRate() should be called before updating m_playbackRate, because potentiallyPlaying() depends
35429        on endedPlayback(), which checks m_playbackRate.
35430
35431        * html/HTMLMediaElement.cpp:
35432        (WebCore::HTMLMediaElement::setPlaybackRate):
35433
354342014-01-02  Daniel Bates  <dabates@apple.com>
35435
35436        [iOS] Tapping any link crashes in WebCore::EventHandler::mouseMoved()
35437        (also crashes when scrolling certain sites)
35438        https://bugs.webkit.org/show_bug.cgi?id=126401
35439        <rdar://problem/15739334>
35440
35441        Reviewed by Tim Horton.
35442
35443        * page/ios/EventHandlerIOS.mm:
35444        (WebCore::currentEventSlot): Make the shared variable have static-storage duration.
35445
354462014-01-02  Gavin Barraclough  <barraclough@apple.com>
35447
35448        Remove WindowIsVisible
35449        https://bugs.webkit.org/show_bug.cgi?id=126270
35450
35451        Reviewed by Tim Horton.
35452
35453        We currently track visibility in two ways - ViewState::IsVisible and ViewState::WindowIsVisible.
35454        The latter detects that the content is hidden in fewer cases than the former, and as such, the
35455        former is always preferable.
35456
35457        This affects the hidden state provided to FocusController::contentAreaDidShowOrHide and to
35458        Plugin::windowVisibilityChanged.
35459
35460        * WebCore.exp.in:
35461        * page/FocusController.cpp:
35462        (WebCore::FocusController::FocusController):
35463        (WebCore::FocusController::setContentIsVisible):
35464        * page/FocusController.h:
35465            - rename ContainingWindowIsVisible -> ContentIsVisible.
35466
354672014-01-02  Gavin Barraclough  <barraclough@apple.com>
35468
35469        Merge didMoveOnscreen / page visibility to isVisible
35470        https://bugs.webkit.org/show_bug.cgi?id=126268
35471
35472        Reviewed by Tim Horton.
35473
35474        The onscreen state most closely tracks view visibility (though currently
35475        also tracks a mix of in-window state). Make more consistent, simplify,
35476        and move all animation suspension logic to Page, so it can be controlled
35477        by the PageThrottler.
35478
35479        * WebCore.exp.in:
35480        * page/EventHandler.cpp:
35481        (WebCore::EventHandler::fakeMouseMoveEventTimerFired):
35482        * page/FrameView.cpp:
35483        (WebCore::FrameView::shouldSetCursor):
35484        * page/Page.cpp:
35485        (WebCore::Page::Page):
35486            - initialize new variables.
35487        (WebCore::Page::setIsVisible):
35488            - merge setVisibilityState, didMoveOnscreen, willMoveOffscreen.
35489        (WebCore::Page::setIsPrerender):
35490            - switches visibility state from hidden to prerender.
35491        (WebCore::Page::visibilityState):
35492            - computed from m_isVisible, m_isPrerender.
35493        (WebCore::Page::hiddenPageCSSAnimationSuspensionStateChanged):
35494            - m_visibilityState -> m_isVisible.
35495        * page/Page.h:
35496            - remove didMoveOnscreen/willMoveOffscreen
35497              m_isOnscreen & m_visibilityState -> m_isVisible & m_isPrerender
35498              setVisibilityState -> setIsVisible & setIsPrerender.
35499        (WebCore::Page::isVisible):
35500            - isOnscreen -> isVisible.
35501
355022014-01-02  Oliver Hunt  <oliver@apple.com>
35503
35504        Update bindings test results
35505
35506        * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
35507        (WebCore::jsTestActiveDOMObjectConstructor):
35508        * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
35509        (WebCore::jsTestCustomNamedGetterConstructor):
35510        * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
35511        (WebCore::jsTestEventConstructorConstructor):
35512        * bindings/scripts/test/JS/JSTestEventTarget.cpp:
35513        (WebCore::jsTestEventTargetConstructor):
35514        * bindings/scripts/test/JS/JSTestException.cpp:
35515        (WebCore::jsTestExceptionConstructor):
35516        * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
35517        (WebCore::jsTestGenerateIsReachableConstructor):
35518        * bindings/scripts/test/JS/JSTestInterface.cpp:
35519        (WebCore::jsTestInterfaceConstructor):
35520        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
35521        (WebCore::jsTestMediaQueryListListenerConstructor):
35522        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
35523        (WebCore::jsTestNamedConstructorConstructor):
35524        * bindings/scripts/test/JS/JSTestNode.cpp:
35525        (WebCore::jsTestNodeConstructor):
35526        * bindings/scripts/test/JS/JSTestObj.cpp:
35527        (WebCore::jsTestObjConstructor):
35528        * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
35529        (WebCore::jsTestOverloadedConstructorsConstructor):
35530        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
35531        (WebCore::jsTestSerializedScriptValueInterfaceConstructor):
35532        * bindings/scripts/test/JS/JSTestTypedefs.cpp:
35533        (WebCore::jsTestTypedefsConstructor):
35534        * bindings/scripts/test/JS/JSattribute.cpp:
35535        (WebCore::jsattributeConstructor):
35536        * bindings/scripts/test/JS/JSreadonly.cpp:
35537        (WebCore::jsreadonlyConstructor):
35538
355392013-12-23  Oliver Hunt  <oliver@apple.com>
35540
35541        Refactor PutPropertySlot to be aware of custom properties
35542        https://bugs.webkit.org/show_bug.cgi?id=126187
35543
35544        Reviewed by Antti Koivisto.
35545
35546        Update the bindings code generation and custom objects
35547        to the new function signatures
35548
35549        * bindings/js/JSDOMWindowCustom.cpp:
35550        (WebCore::JSDOMWindow::put):
35551        * bindings/objc/WebScriptObject.mm:
35552        (-[WebScriptObject setValue:forKey:]):
35553        * bindings/scripts/CodeGeneratorJS.pm:
35554        (GenerateImplementation):
35555        * bindings/scripts/test/JS/JSTestInterface.cpp:
35556        (WebCore::JSTestInterface::putByIndex):
35557        * bridge/NP_jsobject.cpp:
35558        (_NPN_SetProperty):
35559
355602014-01-02  Simon Fraser  <simon.fraser@apple.com>
35561
35562        Add AsyncScrollingCoordinator, which is a base class for threaded and future remote ScrollingCoordinators
35563        https://bugs.webkit.org/show_bug.cgi?id=126389
35564
35565        Reviewed by Tim Horton.
35566
35567        Add AsyncScrollingCoordinator, a ScrollingCoordinator that knows about ScrollingStateTrees
35568        and ScrollingTrees, but leaves it up to subclasses to decide when and how to commit.
35569
35570        * WebCore.xcodeproj/project.pbxproj: Added AsyncScrollingCoordinator.*
35571        * page/scrolling/AsyncScrollingCoordinator.cpp: Copied from Source/WebCore/page/scrolling/mac/ScrollingCoordinatorMac.mm.
35572        (WebCore::AsyncScrollingCoordinator::AsyncScrollingCoordinator):
35573        (WebCore::AsyncScrollingCoordinator::~AsyncScrollingCoordinator):
35574        (WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated):
35575        (WebCore::AsyncScrollingCoordinator::frameViewRootLayerDidChange):
35576        (WebCore::AsyncScrollingCoordinator::requestScrollPositionUpdate):
35577        (WebCore::AsyncScrollingCoordinator::scrollableAreaScrollbarLayerDidChange):
35578        (WebCore::AsyncScrollingCoordinator::attachToStateTree):
35579        (WebCore::AsyncScrollingCoordinator::detachFromStateTree):
35580        (WebCore::AsyncScrollingCoordinator::clearStateTree):
35581        (WebCore::AsyncScrollingCoordinator::syncChildPositions):
35582        (WebCore::AsyncScrollingCoordinator::ensureRootStateNodeForFrameView):
35583        (WebCore::AsyncScrollingCoordinator::updateScrollingNode):
35584        (WebCore::AsyncScrollingCoordinator::updateViewportConstrainedNode):
35585        (WebCore::AsyncScrollingCoordinator::setScrollLayerForNode):
35586        (WebCore::AsyncScrollingCoordinator::setCounterScrollingLayerForNode):
35587        (WebCore::AsyncScrollingCoordinator::setHeaderLayerForNode):
35588        (WebCore::AsyncScrollingCoordinator::setFooterLayerForNode):
35589        (WebCore::AsyncScrollingCoordinator::setNonFastScrollableRegionForNode):
35590        (WebCore::AsyncScrollingCoordinator::setWheelEventHandlerCountForNode):
35591        (WebCore::AsyncScrollingCoordinator::setScrollBehaviorForFixedElementsForNode):
35592        (WebCore::AsyncScrollingCoordinator::setScrollbarPaintersFromScrollbarsForNode):
35593        (WebCore::AsyncScrollingCoordinator::setSynchronousScrollingReasons):
35594        (WebCore::AsyncScrollingCoordinator::updateMainFrameScrollLayerPosition):
35595        (WebCore::AsyncScrollingCoordinator::recomputeWheelEventHandlerCountForFrameView):
35596        (WebCore::AsyncScrollingCoordinator::isRubberBandInProgress):
35597        (WebCore::AsyncScrollingCoordinator::setScrollPinningBehavior):
35598        (WebCore::AsyncScrollingCoordinator::scrollingStateTreeAsText):
35599        * page/scrolling/AsyncScrollingCoordinator.h: Copied from Source/WebCore/page/scrolling/mac/ScrollingCoordinatorMac.h.
35600        (WebCore::AsyncScrollingCoordinator::scrollingTree):
35601        (WebCore::AsyncScrollingCoordinator::setScrollingTree):
35602        (WebCore::AsyncScrollingCoordinator::scrollingStateTree):
35603        (WebCore::AsyncScrollingCoordinator::releaseScrollingTree):
35604        * page/scrolling/ScrollingCoordinator.h: Add casting support.
35605        (WebCore::ScrollingCoordinator::isAsyncScrollingCoordinator):
35606        * page/scrolling/ThreadedScrollingTree.h: commitNewTreeState() needs to be public.
35607        * page/scrolling/mac/ScrollingCoordinatorMac.h:
35608        * page/scrolling/mac/ScrollingCoordinatorMac.mm: Lots of code moved to AsyncScrollingCoordinator.
35609        (WebCore::ScrollingCoordinatorMac::ScrollingCoordinatorMac):
35610        (WebCore::ScrollingCoordinatorMac::~ScrollingCoordinatorMac):
35611        (WebCore::ScrollingCoordinatorMac::pageDestroyed):
35612        (WebCore::ScrollingCoordinatorMac::commitTreeStateIfNeeded):
35613        (WebCore::ScrollingCoordinatorMac::handleWheelEvent):
35614        (WebCore::ScrollingCoordinatorMac::scheduleTreeStateCommit):
35615        (WebCore::ScrollingCoordinatorMac::commitTreeState):
35616        (WebCore::ScrollingCoordinatorMac::updateTiledScrollingIndicator):
35617
356182014-01-02  Andreas Kling  <akling@apple.com>
35619
35620        Simplify the insides of DocumentSharedObjectPool and reduce memory usage.
35621
35622        Merging Blink r164152 by Elliott Sprehn.
35623
35624        Instead of storing an OwnPtr to an object that has a pointer to the
35625        ShareableElementData as well as a pointer into the ShareableElementData
35626        and the length we can just store a RefPtr to the SharableElementData.
35627
35628        This also reduces the memory usage of the pool by 2 pointers per entry.
35629
35630        * dom/DocumentSharedObjectPool.h:
35631        * dom/DocumentSharedObjectPool.cpp:
35632        (WebCore::attributeHash):
35633        (WebCore::hasSameAttributes):
35634        (WebCore::DocumentSharedObjectPool::cachedShareableElementDataWithAttributes):
35635
356362014-01-02  Dirk Schulze  <krit@webkit.org>
35637
35638        Support <box> values computed style for 'clip-path' property
35639        https://bugs.webkit.org/show_bug.cgi?id=126148
35640
35641        Reviewed by Simon Fraser.
35642
35643        Calculate computed style for 'clip-path' property.
35644
35645        Updated tests to check for computed style.
35646
35647        * css/BasicShapeFunctions.cpp: Add box value bounding-box.
35648        (WebCore::valueForBox):
35649        (WebCore::boxForValue):
35650        * css/CSSComputedStyleDeclaration.cpp: Return the computed style
35651            for 'clip-path'.
35652        (WebCore::ComputedStyleExtractor::propertyValue):
35653        * css/DeprecatedStyleBuilder.cpp: Create CSSValueLists for 'clip-th'.
35654        (WebCore::ApplyPropertyClipPath::applyValue):
35655        * rendering/ClipPathOperation.h: Add bounding-box value.
35656        (WebCore::ShapeClipPathOperation::pathForReferenceRect):
35657        (WebCore::ShapeClipPathOperation::setReferenceBox):
35658        (WebCore::ShapeClipPathOperation::referenceBox):
35659        (WebCore::BoxClipPathOperation::create):
35660        (WebCore::BoxClipPathOperation::pathForReferenceRect):
35661        (WebCore::BoxClipPathOperation::referenceBox):
35662        (WebCore::BoxClipPathOperation::BoxClipPathOperation):
35663        * rendering/shapes/ShapeInfo.h: Add bounding-box value.
35664        (WebCore::ShapeInfo::setShapeSize):
35665        (WebCore::ShapeInfo::logicalTopOffset):
35666        (WebCore::ShapeInfo::logicalLeftOffset):
35667        * rendering/style/BasicShapes.cpp: Add bounding-box value.
35668        (WebCore::BasicShape::referenceBoxSize):
35669        * rendering/style/BasicShapes.h:
35670
356712014-01-02  Antti Koivisto  <antti@apple.com>
35672
35673        Always resolve style from root
35674        https://bugs.webkit.org/show_bug.cgi?id=126380
35675
35676        Reviewed by Andreas Kling.
35677        
35678        Forced style resolve that does not start from the root is never really correct. 
35679        Remove the few remaining instances.
35680
35681        * dom/ShadowRoot.cpp:
35682        (WebCore::ShadowRoot::setResetStyleInheritance):
35683        
35684            Update style asynchronously.
35685
35686        * dom/ShadowRoot.h:
35687        * dom/Text.h:
35688        * html/HTMLPlugInImageElement.cpp:
35689        (WebCore::HTMLPlugInImageElement::createElementRenderer):
35690        (WebCore::HTMLPlugInImageElement::documentWillSuspendForPageCache):
35691        (WebCore::HTMLPlugInImageElement::documentDidResumeFromPageCache):
35692        
35693            Delete the render tree synchronously on suspend and rebuild it asynchronously on resume.
35694            No need for m_customStyleForPageCache hack.
35695
35696        * html/HTMLPlugInImageElement.h:
35697        
35698            Remove m_customStyleForPageCache.
35699
35700        * style/StyleResolveTree.cpp:
35701        * style/StyleResolveTree.h:
35702        
35703            Remove Element version of resolveTree from the interface.
35704
35705        * svg/SVGUseElement.h:
35706
357072014-01-02  Antti Koivisto  <antti@apple.com>
35708
35709        Remove PlaceholderDocument
35710        https://bugs.webkit.org/show_bug.cgi?id=126382
35711
35712        Reviewed by Andreas Kling.
35713
35714        Remove PlaceholderDocument class and replace it with a bit in Document.
35715
35716        * WebCore.xcodeproj/project.pbxproj:
35717        * dom/Document.cpp:
35718        (WebCore::Document::Document):
35719        (WebCore::Document::createRenderTree):
35720        * dom/Document.h:
35721        
35722            Also make Synthesized a construction flag instead of a boolean parameter.
35723
35724        (WebCore::Document::createNonRenderedPlaceholder):
35725        * html/HTMLDocument.cpp:
35726        (WebCore::HTMLDocument::HTMLDocument):
35727        * html/HTMLDocument.h:
35728        (WebCore::HTMLDocument::create):
35729        (WebCore::HTMLDocument::createSynthesizedDocument):
35730        * loader/DocumentWriter.cpp:
35731        (WebCore::DocumentWriter::createDocument):
35732        * loader/PlaceholderDocument.cpp: Removed.
35733        * loader/PlaceholderDocument.h: Removed.
35734        * pdf/ios/PDFDocument.h:
35735        (WebCore::PDFDocument::PDFDocument):
35736
357372014-01-01  Antti Koivisto  <antti@apple.com>
35738
35739        Remove public attachRenderTree
35740        https://bugs.webkit.org/show_bug.cgi?id=126368
35741
35742        Reviewed by Andreas Kling.
35743
35744        Remove the remaining explicit render tree construction.
35745
35746        * dom/Document.cpp:
35747        (WebCore::Document::createRenderTree):
35748        
35749           Use recalcStyle() instead of calling attachRenderTree directly.
35750
35751        * html/HTMLViewSourceDocument.cpp:
35752        (WebCore::HTMLViewSourceDocument::addText):
35753        
35754            Remove forgotten attachTextRenderer.
35755
35756        * html/shadow/InsertionPoint.cpp:
35757        (WebCore::InsertionPoint::InsertionPoint):
35758        
35759            Remove willAttachRenderers/didAttachRenderers hack.
35760
35761        * html/shadow/InsertionPoint.h:
35762        (WebCore::toInsertionPoint):
35763        * loader/PlaceholderDocument.cpp:
35764        (WebCore::PlaceholderDocument::createRenderTree):
35765        
35766            Seriously, nothing to do here.
35767
35768        * style/StyleResolveTree.cpp:
35769        (WebCore::Style::attachDistributedChildren):
35770        (WebCore::Style::attachChildren):
35771        (WebCore::Style::detachDistributedChildren):
35772        (WebCore::Style::detachChildren):
35773        
35774            Making attaching and detaching distributed insertion point children part of ResolveTree internals.
35775
35776        * style/StyleResolveTree.h:
35777        
35778            Remove interfaces with no clients.
35779
357802014-01-01  Seokju Kwon  <seokju@webkit.org>
35781
35782        Remove stale ScriptProfiler methods
35783        https://bugs.webkit.org/show_bug.cgi?id=126373
35784
35785        Reviewed by Darin Adler.
35786
35787        No new tests, No change behavior. 
35788
35789        * bindings/js/ScriptProfiler.h: Remove dead code.
35790
357912014-01-01  Andreas Kling  <akling@apple.com>
35792
35793        Remove ChromeClient::fullScreenRendererChanged().
35794        <https://webkit.org/b/126370>
35795
35796        This hook was added in r75277 to notify WebFullScreenController when
35797        the full screen renderer changed. In r110216 the code was refactored,
35798        making this notification unnecessary.
35799
35800        Reviewed by Antti Koivisto.
35801
358022014-01-01  Simon Fraser  <simon.fraser@apple.com>
35803
35804        Fix the build by exposing some more scrolling state node headers
35805        as Private in WebCore.framework.
35806
35807        * WebCore.xcodeproj/project.pbxproj:
35808
358092014-01-01  Ryuan Choi  <ryuan.choi@samsung.com>
35810
35811        [EFL] Unreviewed build fix after r160903 when ACCESSIBILITY is disabled
35812
35813        * accessibility/AccessibilityObject.h:
35814        (WebCore::AccessibilityObject::children):
35815
358162014-01-01  Andreas Kling  <akling@apple.com>
35817
35818        RenderScrollbar: Map of scrollbar parts should use RenderPtr.
35819        <https://webkit.org/b/126367>
35820
35821        Turn RenderScrollbar::m_parts into HashMap of RenderPtrs. This makes
35822        renderer destruction automatic and lets us remove some code.
35823
35824        Reviewed by Antti Koivisto.
35825
35826        * rendering/RenderPtr.h:
35827
35828            Add HashTraits for RenderPtr so we can use them as values in
35829            WTF hash tables.
35830
35831        * rendering/RenderScrollbar.h:
35832        * rendering/RenderScrollbar.cpp:
35833        (WebCore::RenderScrollbar::~RenderScrollbar):
35834        (WebCore::RenderScrollbar::setParent):
35835        (WebCore::RenderScrollbar::updateScrollbarParts):
35836        (WebCore::RenderScrollbar::updateScrollbarPart):
35837
35838            Remove now-unneeded kludges of logic to manually delete scrollbar
35839            part renderers in various scenarios.
35840
358412014-01-01  Antti Koivisto  <antti@apple.com>
35842
35843        Remove reattachRenderTree
35844        https://bugs.webkit.org/show_bug.cgi?id=126366
35845
35846        Reviewed by Andreas Kling.
35847
35848        Remove the last remaining client.
35849
35850        * html/HTMLSelectElement.cpp:
35851        (WebCore::HTMLSelectElement::parseAttribute):
35852        
35853            Reconstruct render tree asynchronously.
35854
35855        (WebCore::HTMLSelectElement::scrollToSelection):
35856        (WebCore::HTMLSelectElement::setOptionsChangedOnRenderer):
35857        (WebCore::HTMLSelectElement::selectOption):
35858        
35859            It is not safe to cast the renderer based on usesMenuList test. Switch to RenderObject::isMenuList test.
35860
35861        (WebCore::HTMLSelectElement::parseMultipleAttribute):
35862        
35863            Reconstruct render tree asynchronously.
35864
35865        (WebCore::HTMLSelectElement::platformHandleKeydownEvent):
35866        (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
35867        (WebCore::HTMLSelectElement::defaultEventHandler):
35868        * style/StyleResolveTree.cpp:
35869        * style/StyleResolveTree.h:
35870        
35871            Remove the function.
35872
358732014-01-01  Simon Fraser  <simon.fraser@apple.com>
35874
35875        Create a ThreadedScrollingTree subclass of ScrollingTree, and push all knowledge of the scrolling thread into it
35876        https://bugs.webkit.org/show_bug.cgi?id=126362
35877
35878        Reviewed by Sam Weinig.
35879
35880        Eventually we'll have a ScrollingTree in situations where there is no scrolling
35881        thread, so make the ScrollingTree base class thread-agnostic (but threadsafe),
35882        and subclass it in ThreadedScrollingTree for scrolling-thread-specific functionality.
35883        
35884        The ScrollingTree base class also no longer needs to know about the
35885        ScrollingCoordinator.
35886
35887        ScrollingCoordinatorMac creates a ThreadedScrollingTree.
35888
35889        * WebCore.exp.in:
35890        * WebCore.xcodeproj/project.pbxproj: Add ThreadedScrollingTree.*
35891        Make some headers Private that we'll need in WebKit2 soon.
35892        * page/scrolling/ScrollingStateTree.h: Drive-by cleanup: clone() was unimplemented.
35893        * page/scrolling/ScrollingTree.cpp:
35894        (WebCore::ScrollingTree::ScrollingTree):
35895        (WebCore::ScrollingTree::~ScrollingTree):
35896        (WebCore::ScrollingTree::shouldHandleWheelEventSynchronously): Wrap up some logic that
35897        involves taking the mutex, so ThreadedScrollingTree can conveniently call it.
35898        (WebCore::ScrollingTree::handleWheelEvent):
35899        (WebCore::ScrollingTree::commitNewTreeState):
35900        (WebCore::ScrollingTree::setMainFrameScrollPosition):
35901        (WebCore::ScrollingTree::isHandlingProgrammaticScroll):
35902        * page/scrolling/ScrollingTree.h:
35903        (WebCore::ScrollingTree::isThreadedScrollingTree):
35904        (WebCore::ScrollingTree::invalidate):
35905        * page/scrolling/ThreadedScrollingTree.cpp: Added.
35906        (WebCore::ThreadedScrollingTree::create):
35907        (WebCore::ThreadedScrollingTree::ThreadedScrollingTree):
35908        (WebCore::ThreadedScrollingTree::~ThreadedScrollingTree):
35909        (WebCore::ThreadedScrollingTree::tryToHandleWheelEvent):
35910        (WebCore::ThreadedScrollingTree::handleWheelEvent):
35911        (WebCore::derefScrollingCoordinator):
35912        (WebCore::ThreadedScrollingTree::invalidate):
35913        (WebCore::ThreadedScrollingTree::commitNewTreeState):
35914        (WebCore::ThreadedScrollingTree::updateMainFrameScrollPosition):
35915        (WebCore::ThreadedScrollingTree::handleWheelEventPhase):
35916        * page/scrolling/ThreadedScrollingTree.h: Added.
35917        (WebCore::ThreadedScrollingTree::isThreadedScrollingTree):
35918        * page/scrolling/mac/ScrollingCoordinatorMac.h:
35919        * page/scrolling/mac/ScrollingCoordinatorMac.mm:
35920        (WebCore::ScrollingCoordinatorMac::ScrollingCoordinatorMac):
35921        (WebCore::ScrollingCoordinatorMac::handleWheelEvent):
35922
359232014-01-01  Andreas Kling  <akling@apple.com>
35924
35925        FrameView: Store scroll corner renderer in a RenderPtr.
35926        <https://webkit.org/b/126364>
35927
35928        Make FrameView::m_scrollCorner a RenderPtr<RenderScrollbarPart> and
35929        remove two manual destroy() calls.
35930
35931        Reviewed by Antti Koivisto.
35932
359332014-01-01  Antti Koivisto  <antti@apple.com>
35934
35935        Remove elementChildren/elementDescendants shorthands
35936        https://bugs.webkit.org/show_bug.cgi?id=126363
35937
35938        Reviewed by Anders Carlsson.
35939
35940        Just use childrenOfType<Element>/descendantsOfType<Element> instead. They are not that much longer
35941        and consistency is valuable.
35942
35943        * accessibility/AccessibilityNodeObject.cpp:
35944        (WebCore::AccessibilityNodeObject::canvasHasFallbackContent):
35945        (WebCore::siblingWithAriaRole):
35946        * accessibility/AccessibilityTable.cpp:
35947        (WebCore::AccessibilityTable::isDataTable):
35948        * css/StyleInvalidationAnalysis.cpp:
35949        (WebCore::StyleInvalidationAnalysis::invalidateStyle):
35950        * dom/ChildNodeList.cpp:
35951        (WebCore::ChildNodeList::namedItem):
35952        * dom/Document.cpp:
35953        (WebCore::Document::buildAccessKeyMap):
35954        (WebCore::Document::childrenChanged):
35955        * dom/Element.cpp:
35956        (WebCore::Element::resetComputedStyle):
35957        * dom/ElementChildIterator.h:
35958        * dom/ElementDescendantIterator.h:
35959        * dom/SelectorQuery.cpp:
35960        (WebCore::elementsForLocalName):
35961        (WebCore::anyElement):
35962        (WebCore::SelectorDataList::executeSingleTagNameSelectorData):
35963        (WebCore::SelectorDataList::executeSingleClassNameSelectorData):
35964        (WebCore::SelectorDataList::executeSingleSelectorData):
35965        (WebCore::SelectorDataList::executeSingleMultiSelectorData):
35966        * editing/ApplyStyleCommand.cpp:
35967        (WebCore::ApplyStyleCommand::cleanupUnstyledAppleStyleSpans):
35968        * editing/ReplaceSelectionCommand.cpp:
35969        (WebCore::removeHeadContents):
35970        * editing/markup.cpp:
35971        (WebCore::completeURLs):
35972        * html/HTMLFieldSetElement.cpp:
35973        (WebCore::HTMLFieldSetElement::refreshElementsIfNeeded):
35974        * html/HTMLObjectElement.cpp:
35975        (WebCore::HTMLObjectElement::containsJavaApplet):
35976        * loader/PlaceholderDocument.cpp:
35977        (WebCore::PlaceholderDocument::createRenderTree):
35978        * rendering/RenderChildIterator.h:
35979        * svg/SVGSVGElement.cpp:
35980        (WebCore::SVGSVGElement::getElementById):
35981        * svg/SVGUseElement.cpp:
35982        (WebCore::subtreeContainsDisallowedElement):
35983        (WebCore::removeDisallowedElementsFromSubtree):
35984
359852014-01-01  Antti Koivisto  <antti@apple.com>
35986
35987        Do less synchronous render tree construction
35988        https://bugs.webkit.org/show_bug.cgi?id=126359
35989
35990        Reviewed by Anders Carlsson.
35991
35992        Remove some now-unnecessary attachRenderTree calls.
35993
35994        * html/HTMLDetailsElement.cpp:
35995        (WebCore::HTMLDetailsElement::parseAttribute):
35996        * html/HTMLInputElement.cpp:
35997        (WebCore::HTMLInputElement::parseAttribute):
35998        * html/HTMLObjectElement.cpp:
35999        (WebCore::HTMLObjectElement::renderFallbackContent):
36000        * html/HTMLPlugInElement.cpp:
36001        (WebCore::HTMLPlugInElement::didAddUserAgentShadowRoot):
36002        * html/HTMLPlugInImageElement.cpp:
36003        (WebCore::HTMLPlugInImageElement::willRecalcStyle):
36004        (WebCore::HTMLPlugInImageElement::createShadowIFrameSubtree):
36005        (WebCore::HTMLPlugInImageElement::restartSnapshottedPlugIn):
36006        * html/HTMLViewSourceDocument.cpp:
36007        (WebCore::HTMLViewSourceDocument::createContainingTable):
36008        (WebCore::HTMLViewSourceDocument::addSpanWithClassName):
36009        (WebCore::HTMLViewSourceDocument::addLine):
36010        (WebCore::HTMLViewSourceDocument::finishLine):
36011        (WebCore::HTMLViewSourceDocument::addBase):
36012        (WebCore::HTMLViewSourceDocument::addLink):
36013        * xml/XMLErrors.cpp:
36014        (WebCore::XMLErrors::insertErrorMessageBlock):
36015
360162014-01-01  Simon Fraser  <simon.fraser@apple.com>
36017
36018        Updating the scrolling tree should use references to state nodes
36019        https://bugs.webkit.org/show_bug.cgi?id=126360
36020
36021        Reviewed by Anders Carlsson.
36022
36023        Change functions related to ScrollingTreeNode updating to take
36024        const references to state nodes rather than pointers.
36025
36026        * page/scrolling/ScrollingStateNode.h:
36027        (WebCore::ScrollingStateNode::hasChangedProperty):
36028        * page/scrolling/ScrollingTree.cpp:
36029        (WebCore::ScrollingTree::commitNewTreeState):
36030        (WebCore::ScrollingTree::updateTreeFromStateNode): The node can be nil so
36031        this continues to take a pointer.
36032        (WebCore::ScrollingTree::removeDestroyedNodes):
36033        * page/scrolling/ScrollingTree.h:
36034        * page/scrolling/ScrollingTreeNode.h:
36035        (WebCore::ScrollingTreeNode::updateAfterChildren):
36036        * page/scrolling/ScrollingTreeScrollingNode.cpp:
36037        (WebCore::ScrollingTreeScrollingNode::updateBeforeChildren):
36038        * page/scrolling/ScrollingTreeScrollingNode.h:
36039        * page/scrolling/mac/ScrollingTreeFixedNode.h:
36040        * page/scrolling/mac/ScrollingTreeFixedNode.mm:
36041        (WebCore::ScrollingTreeFixedNode::updateBeforeChildren):
36042        * page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
36043        * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
36044        (WebCore::ScrollingTreeScrollingNodeMac::updateBeforeChildren):
36045        (WebCore::ScrollingTreeScrollingNodeMac::updateAfterChildren):
36046        * page/scrolling/mac/ScrollingTreeStickyNode.h:
36047        * page/scrolling/mac/ScrollingTreeStickyNode.mm:
36048        (WebCore::ScrollingTreeStickyNode::updateBeforeChildren):
36049
360502014-01-01  Simon Fraser  <simon.fraser@apple.com>
36051
36052        Add a typedef for PlatformLayerID on GraphicsLayer, and migrate RemoteLayerTreeTransaction to use it
36053        https://bugs.webkit.org/show_bug.cgi?id=126346
36054
36055        Reviewed by Tim Horton.
36056
36057        Remote scrolling tree code is soon going to use RemoteLayerTreeTransaction::LayerID,
36058        so it makes more sense to put this layerID type on GraphicsLayer as
36059        GraphicsLayer::PlatformLayerID.
36060        
36061        Also add some type cast macros for PlatformCALayer and subclasses, and use them
36062        where appropriate.
36063
36064        * platform/graphics/GraphicsLayer.h:
36065        * platform/graphics/ca/GraphicsLayerCA.cpp:
36066        (WebCore::GraphicsLayerCA::setName):
36067        * platform/graphics/ca/PlatformCALayer.h:
36068        (WebCore::PlatformCALayer::isPlatformCALayerMac):
36069        (WebCore::PlatformCALayer::isPlatformCALayerRemote):
36070        (WebCore::PlatformCALayer::PlatformCALayer):
36071        * platform/graphics/ca/mac/PlatformCALayerMac.h:
36072
360732013-12-31  Simon Fraser  <simon.fraser@apple.com>
36074
36075        ScrollingStateNodes should have a reference to the ScrollingStateTree
36076        https://bugs.webkit.org/show_bug.cgi?id=126348
36077
36078        Reviewed by Sam Weinig.
36079
36080        Make ScrollingStateNodes always belong to a ScrollingStateTree, and thus
36081        have a reference to the tree rather than a pointer. When cloning nodes,
36082        they are adopted by a new ScrollingStateTree, which adds them to its
36083        node map (which didn't happen before).
36084        
36085        In subclasses access the ScrollingStateTree through a member function.
36086
36087        * page/scrolling/ScrollingStateFixedNode.cpp:
36088        (WebCore::ScrollingStateFixedNode::create):
36089        (WebCore::ScrollingStateFixedNode::ScrollingStateFixedNode):
36090        (WebCore::ScrollingStateFixedNode::clone):
36091        (WebCore::ScrollingStateFixedNode::updateConstraints):
36092        * page/scrolling/ScrollingStateFixedNode.h:
36093        * page/scrolling/ScrollingStateNode.cpp:
36094        (WebCore::ScrollingStateNode::ScrollingStateNode):
36095        (WebCore::ScrollingStateNode::cloneAndReset):
36096        (WebCore::ScrollingStateNode::cloneAndResetChildren):
36097        (WebCore::ScrollingStateNode::willBeRemovedFromStateTree):
36098        * page/scrolling/ScrollingStateNode.h:
36099        (WebCore::ScrollingStateNode::scrollingStateTree):
36100        * page/scrolling/ScrollingStateScrollingNode.cpp:
36101        (WebCore::ScrollingStateScrollingNode::create):
36102        (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
36103        (WebCore::ScrollingStateScrollingNode::clone):
36104        (WebCore::ScrollingStateScrollingNode::setViewportRect):
36105        (WebCore::ScrollingStateScrollingNode::setTotalContentsSize):
36106        (WebCore::ScrollingStateScrollingNode::setScrollOrigin):
36107        (WebCore::ScrollingStateScrollingNode::setScrollableAreaParameters):
36108        (WebCore::ScrollingStateScrollingNode::setFrameScaleFactor):
36109        (WebCore::ScrollingStateScrollingNode::setNonFastScrollableRegion):
36110        (WebCore::ScrollingStateScrollingNode::setWheelEventHandlerCount):
36111        (WebCore::ScrollingStateScrollingNode::setSynchronousScrollingReasons):
36112        (WebCore::ScrollingStateScrollingNode::setScrollBehaviorForFixedElements):
36113        (WebCore::ScrollingStateScrollingNode::setRequestedScrollPosition):
36114        (WebCore::ScrollingStateScrollingNode::setHeaderHeight):
36115        (WebCore::ScrollingStateScrollingNode::setFooterHeight):
36116        * page/scrolling/ScrollingStateScrollingNode.h:
36117        * page/scrolling/ScrollingStateStickyNode.cpp:
36118        (WebCore::ScrollingStateStickyNode::create):
36119        (WebCore::ScrollingStateStickyNode::ScrollingStateStickyNode):
36120        (WebCore::ScrollingStateStickyNode::clone):
36121        (WebCore::ScrollingStateStickyNode::updateConstraints):
36122        * page/scrolling/ScrollingStateStickyNode.h:
36123        * page/scrolling/ScrollingStateTree.cpp:
36124        (WebCore::ScrollingStateTree::attachNode):
36125        (WebCore::ScrollingStateTree::commit):
36126        (WebCore::ScrollingStateTree::addNode):
36127        * page/scrolling/ScrollingStateTree.h:
36128        * page/scrolling/mac/ScrollingStateNodeMac.mm:
36129        (WebCore::ScrollingStateNode::setScrollLayer):
36130        * page/scrolling/mac/ScrollingStateScrollingNodeMac.mm:
36131        (WebCore::ScrollingStateScrollingNode::setCounterScrollingLayer):
36132        (WebCore::ScrollingStateScrollingNode::setHeaderLayer):
36133        (WebCore::ScrollingStateScrollingNode::setFooterLayer):
36134        (WebCore::ScrollingStateScrollingNode::setScrollbarPaintersFromScrollbars):
36135
361362013-12-31  Simon Fraser  <simon.fraser@apple.com>
36137
36138        Give ScrollingStateNodes a nodeType()
36139        https://bugs.webkit.org/show_bug.cgi?id=126347
36140
36141        Reviewed by Tim Horton.
36142
36143        When we start serializing ScrollingStateNodes to send to the UI process,
36144        it's more convenient if they have a nodeType member rather than virtual functions,
36145        so give them one, and fix the casting macros to use it. This allows us to use
36146        a switch() on node creation, so the compiler will tell us if we forgot to create
36147        a node type.
36148
36149        * page/scrolling/ScrollingStateFixedNode.cpp:
36150        (WebCore::ScrollingStateFixedNode::ScrollingStateFixedNode):
36151        * page/scrolling/ScrollingStateFixedNode.h:
36152        * page/scrolling/ScrollingStateNode.cpp:
36153        (WebCore::ScrollingStateNode::ScrollingStateNode):
36154        * page/scrolling/ScrollingStateNode.h: const ScrollingNodeType field
36155        (can't be modified after construction), and move the m_scrollingStateTree
36156        member after it (the awkward protected:/private: will be cleaned up in a later patch).
36157        (WebCore::ScrollingStateNode::nodeType):
36158        * page/scrolling/ScrollingStateScrollingNode.cpp:
36159        (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
36160        * page/scrolling/ScrollingStateScrollingNode.h:
36161        * page/scrolling/ScrollingStateStickyNode.cpp:
36162        (WebCore::ScrollingStateStickyNode::ScrollingStateStickyNode):
36163        * page/scrolling/ScrollingStateStickyNode.h:
36164        * page/scrolling/ScrollingTree.cpp:
36165        (WebCore::ScrollingTree::updateTreeFromStateNode):
36166
361672013-12-31  Andreas Kling  <akling@apple.com>
36168
36169        Out-of-line RenderStyle substructure copying helpers.
36170        <https://webkit.org/b/126340>
36171
36172        This shrinks the .access() calls by moving memory allocation logic
36173        out-of-line, though I'm really doing this to make Instruments.app
36174        allocations output more readable.
36175
36176        Writes to e.g 'font' or 'color' will now be grouped under a single
36177        StyleInheritedData::copy() call instead of being spread out over
36178        setFontDescription(), setLineHeight(), setColor(), etc.
36179
36180        Reviewed by Anders Carlsson.
36181
361822013-12-31  Andreas Kling  <akling@apple.com>
36183
36184        RenderListItem should store its marker in a RenderPtr.
36185        <https://webkit.org/b/126298>
36186
36187        Make RenderListItem::m_marker a RenderPtr<RenderListMarker> and
36188        remove two manual destroy() calls. Tweaked code to reduce nesting.
36189
36190        Reviewed by Anders Carlsson.
36191
361922013-12-31  Andreas Kling  <akling@apple.com>
36193
36194        Element's renderer factory should return RenderPtrs.
36195        <https://webkit.org/b/126318>
36196
36197        Rename Element::createRenderer() to createElementRenderer() and have
36198        it return RenderPtr<RenderElement>. Propagate signature until it
36199        builds again.
36200
36201        We leakPtr() the renderer at two call sites when handing things over
36202        to raw pointer API. This'll get tidied up in subsequent patches.
36203
36204        Reviewed by Sam Weinig.
36205
362062013-12-31  Carlos Garcia Campos  <cgarcia@igalia.com>
36207
36208        [SOUP] Return early in ResourceHandle::receivedCancellation if the load has already cancelled
36209        https://bugs.webkit.org/show_bug.cgi?id=126287
36210
36211        Reviewed by Martin Robinson.
36212
36213        This situation can happen when using the network process, because
36214        the ReceivedCancellation message can be received when the resource
36215        loader has already been removed, but the authentication challenge
36216        still has a reference to the ResourceHandleClient.
36217
36218        * platform/network/soup/ResourceHandleSoup.cpp:
36219        (WebCore::ResourceHandle::receivedCancellation):
36220
362212013-12-31  Carlos Garcia Campos  <cgarcia@igalia.com>
36222
36223        [SOUP] The initiating page is lost after a redirection
36224        https://bugs.webkit.org/show_bug.cgi?id=126293
36225
36226        Reviewed by Martin Robinson.
36227
36228        The initiating page id is attached to the initial soup request
36229        object, but not to the one created after a redirection.
36230
36231        * platform/network/soup/ResourceHandleSoup.cpp:
36232        (WebCore::createSoupRequestAndMessageForHandle): Call
36233        setSoupRequestInitiatingPageIDFromNetworkingContext() here if the
36234        soup request is created successfully.
36235        (WebCore::ResourceHandle::start): Remove the call to
36236        setSoupRequestInitiatingPageIDFromNetworkingContext().
36237
362382013-12-31  Carlos Garcia Campos  <cgarcia@igalia.com>
36239
36240        [SOUP] Implement ResourceHandle::continueWillSendRequest()
36241        https://bugs.webkit.org/show_bug.cgi?id=126291
36242
36243        Reviewed by Martin Robinson.
36244
36245        * platform/network/soup/ResourceHandleSoup.cpp:
36246        (WebCore::continueAfterWillSendRequest): Helper function that
36247        continues with the load after willSendRequest has been called.
36248        (WebCore::doRedirect): Call continueAfterWillSendRequest() when
36249        client doesn't use async callbacks.
36250        (WebCore::ResourceHandle::continueWillSendRequest): Call
36251        continueAfterWillSendRequest().
36252
362532013-12-30  Carlos Garcia Campos  <cgarcia@igalia.com>
36254
36255        [SOUP] willSendRequest doesn't work after a redirect
36256        https://bugs.webkit.org/show_bug.cgi?id=126290
36257
36258        Reviewed by Martin Robinson.
36259
36260        The problem is that we are creating the new soup request for the
36261        redirect before calling ResourceHandleClient::willSendRequest() so
36262        that any change made to the request by the client is ignored.
36263
36264        * platform/network/soup/ResourceHandleSoup.cpp:
36265        (WebCore::doRedirect): Create the new soup request and soup
36266        message for the redirect after calling willSendRequest() on the
36267        client.
36268
362692013-12-30  Andreas Kling  <akling@apple.com>
36270
36271        InputType should return input renderers wrapped in RenderPtr.
36272        <https://webkit.org/b/126307>
36273
36274        Rename InputType::createRenderer() to createInputRenderer() and
36275        make it return RenderPtr<RenderElement>. Also made it non-const.
36276
36277        Reviewed by Anders Carlsson.
36278
362792013-12-30  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
36280
36281        Cleanup static_cast<HTMLFormElement*> by using toHTMLFormElement()
36282        https://bugs.webkit.org/show_bug.cgi?id=126309
36283
36284        Reviewed by Andreas Kling.
36285
36286        To detect bad type casts, it would be good to use toHTMLFormElement() instead of
36287        using manual type cast. Additionally FORM_ASSOCIATED_ELEMENT_TYPE_CASTS is introduced newly
36288        to do it.
36289
36290        No new tests, no behavior changes.
36291
36292        * html/FormAssociatedElement.h:
36293        * html/HTMLFormControlElement.h:
36294        * html/HTMLFormElement.cpp:
36295        (WebCore::HTMLFormElement::submitImplicitly):
36296        (WebCore::HTMLFormElement::validateInteractively):
36297        (WebCore::HTMLFormElement::submit):
36298        (WebCore::HTMLFormElement::reset):
36299        (WebCore::HTMLFormElement::defaultButton):
36300        (WebCore::HTMLFormElement::checkInvalidControlsAndCollectUnhandled):
36301        (WebCore::HTMLFormElement::documentDidResumeFromPageCache):
36302        * loader/FormSubmission.cpp:
36303        (WebCore::FormSubmission::create):
36304
363052013-12-30  Anders Carlsson  <andersca@apple.com>
36306
36307        Replace yield() and pauseBriefly() with std::this_thread::yield()
36308        https://bugs.webkit.org/show_bug.cgi?id=126105
36309
36310        Reviewed by Sam Weinig.
36311
36312        * platform/sql/SQLiteDatabase.cpp:
36313        (WebCore::SQLiteDatabase::interrupt):
36314
363152013-12-30  Andreas Kling  <akling@apple.com>
36316
36317        Rename createRenderObject() to createRenderer().
36318
36319        Somewhat rubber-stamped by Antti Koivisto.
36320
363212013-12-30  Andreas Kling  <akling@apple.com>
36322
36323        Document should store its RenderView in a RenderPtr.
36324        <https://webkit.org/b/126299>
36325
36326        Make Document::m_renderView a RenderPtr<RenderView> and remove one
36327        manual destroy() call. Also removed the setRenderView() helper and
36328        inlined it at the two call sites.
36329
36330        Reviewed by Antti Koivisto.
36331
363322013-12-30  Martin Robinson  <mrobinson@igalia.com>
36333
36334        [CMake] [GTK] Add support for GObject introspection
36335        https://bugs.webkit.org/show_bug.cgi?id=126162
36336
36337        Reviewed by Daniel Bates.
36338
36339        * PlatformGTK.cmake: Build a list of WebKitDOM headers and expose it to the
36340        parent scope of the build.
36341
363422013-12-30  Andreas Kling  <akling@apple.com>
36343
36344        Text::createTextRenderer() should return a RenderPtr.
36345        <https://webkit.org/b/126292>
36346
36347        Make createTextRenderer() return a RenderPtr and remove one manual
36348        destroy() call. Also, since it should always return a valid object,
36349        I turned a null check into an assertion instead.
36350
36351        Reviewed by Antti Koivisto.
36352
363532013-12-30  Antti Koivisto  <antti@apple.com>
36354
36355        Remove attachChild
36356        https://bugs.webkit.org/show_bug.cgi?id=126288
36357
36358        Reviewed by Andreas Kling.
36359
36360        * dom/ContainerNode.cpp:
36361        (WebCore::destroyRenderTreeIfNeeded):
36362        
36363            Rename detachChild and move the tests here.
36364
36365        (WebCore::ContainerNode::takeAllChildrenFrom):
36366        
36367            No need to call attachRenderTree explicitly anymore.
36368
36369        (WebCore::ContainerNode::removeBetween):
36370
363712013-12-29  Andreas Kling  <akling@apple.com>
36372
36373        RenderLayer: Store corner and resizer renderers in RenderPtrs.
36374        <https://webkit.org/b/126274>
36375
36376        Turn RenderLayer::m_scrollCorner and m_resizer into RenderPtrs.
36377        Removed manual destroy() calls as appropriate. Also tweaked some
36378        code to reduce nesting.
36379
36380        Reviewed by Anders Carlsson.
36381
363822013-12-30  Antti Koivisto  <antti@apple.com>
36383
36384        XML document builder should create render tree asynchronously
36385        https://bugs.webkit.org/show_bug.cgi?id=126285
36386
36387        Reviewed by Andreas Kling.
36388        
36389        Stop creating renderers explicitly. 
36390        Fix SVG <use> element to not rely on parse time render tree construction.
36391
36392        * svg/SVGUseElement.cpp:
36393        (WebCore::SVGUseElement::svgAttributeChanged):
36394        
36395            Remove renderer check, we may not have created the render tree yet.
36396
36397        (WebCore::SVGUseElement::willAttachRenderers):
36398        
36399            Switch to willAttachRenderers from willRecalcStyle. The latter is only called as long as style
36400            recalc doesn't start creating new renderers.
36401
36402        (WebCore::SVGUseElement::invalidateShadowTree):
36403        
36404            Remove renderer check, we may not have created the render tree yet. 
36405            Invalidate with ReconstructRenderTree so willAttachRenderers will always get called.
36406
36407        * svg/SVGUseElement.h:
36408        * xml/parser/XMLDocumentParser.cpp:
36409        (WebCore::XMLDocumentParser::exitText):
36410        * xml/parser/XMLDocumentParserLibxml2.cpp:
36411        (WebCore::XMLDocumentParser::startElementNs):
36412        (WebCore::XMLDocumentParser::cdataBlock):
36413        
36414            Remove explicit call to attachRenderTree. The render tree will be created lazily.
36415
364162013-12-29  Joone Hur  <joone.hur@intel.com>
36417
36418        Reverted r156742. The same fix was reverted from Blink due to heap-use-after-free on ClusterFuzz.
36419        https://bugs.webkit.org/show_bug.cgi?id=126275
36420
36421        https://codereview.chromium.org/102993011
36422
36423        Reviewed by Darin Adler.
36424
36425        * rendering/RenderBlock.cpp:
36426        (WebCore::RenderBlock::updateFirstLetter):
36427
364282013-12-29  ChangSeok Oh  <changseok.oh@collabora.com>
36429
36430        Remove unused functions in GraphicsContext3D.cpp
36431        https://bugs.webkit.org/show_bug.cgi?id=126265
36432
36433        Reviewed by Andreas Kling.
36434
36435        platformGraphicsContext3D, platformTexture and platformLayer in GC3D.cpp
36436        seem not used by any ports.
36437
36438        No new tests, no functionality changed.
36439
36440        * platform/graphics/GraphicsContext3D.cpp:
36441
364422013-12-29  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
36443
36444        Fix build error on 64bit debug build.
36445        https://bugs.webkit.org/show_bug.cgi?id=126248
36446
36447        r161076 used ‘%lli’(for long long int) for int64_t(aka long int).
36448        However, in a 64bit compile, int64_t is 'long int', not a 'long long int'.
36449        To support 32bit and 64bit, we use static_cast<long long>.
36450
36451        * Modules/indexeddb/IDBTransactionBackend.cpp:
36452        (WebCore::IDBTransactionBackend::commit):
36453
364542013-12-29  Antti Koivisto  <antti@apple.com>
36455
36456        Remove some accidental commented out code.
36457
36458        * testing/Internals.cpp:
36459        (WebCore::Internals::mallocStatistics):
36460
364612013-12-29  Antti Koivisto  <antti@apple.com>
36462
36463        Fix build.
36464
36465        * xml/parser/XMLDocumentParser.cpp:
36466
364672013-12-29  Antti Koivisto  <antti@apple.com>
36468
36469        Remove Node::attached()
36470        https://bugs.webkit.org/show_bug.cgi?id=126276
36471
36472        Reviewed by Sam Weinig.
36473
36474        Node::attached() is poorly defined. Replace it with renderer() and inRenderedDocument() tests as appropriate.
36475        
36476        Also remove some unnecessary explicit attachRenderTree/detachRenderTree calls from the tree builders.
36477
364782013-12-29  Andreas Kling  <akling@apple.com>
36479
36480        RenderLayer: Store reflection renderer in a RenderPtr.
36481        <https://webkit.org/b/126273>
36482
36483        Reviewed by Anders Carlsson.
36484
36485        * rendering/RenderLayer.h:
36486        * rendering/RenderLayer.cpp:
36487        (WebCore::RenderLayer::RenderLayer):
36488        (WebCore::RenderLayer::calculateClipRects):
36489
36490            Turn RenderLayer::m_reflection into a RenderPtr<RenderReplica>
36491            instead of a raw pointer.
36492
36493        * WebCore.xcodeproj/project.pbxproj:
36494
36495            Add RenderPtr.h to private headers.
36496
364972013-12-28  Andreas Kling  <akling@apple.com>
36498
36499        Add an owning smart pointer for RenderObjects and start using it.
36500        <https://webkit.org/b/126251>
36501
36502        This patch adds a RenderPtr pointer, essentially an OwnPtr for
36503        RenderObjects. The difference is that RenderPtr destroys the object
36504        by calling destroy() on it.
36505
36506        This is necessary to implement the willBeDestroyed() mechanism in
36507        RenderObject that notifies renderers just before they are about to
36508        be deleted, while they can still do tree traversal, etc.
36509
36510        I also added a make_unique-alike helper so you can write:
36511
36512            auto renderer = createRenderObject<RenderImage>(...);
36513
36514        Put it all to use by making ContentData::createRenderer() return
36515        RenderPtr<RenderObject> instead of raw RenderObject*.
36516
36517        Reviewed by Antti Koivisto.
36518
365192013-12-28  Benjamin Poulain  <benjamin@webkit.org>
36520
36521        Add a missing include path for GTK
36522        https://bugs.webkit.org/show_bug.cgi?id=126257
36523
36524        Reviewed by Philippe Normand.
36525
36526        * GNUmakefile.am:
36527
365282013-12-28  Carlos Garcia Campos  <cgarcia@igalia.com>
36529
36530        Unreviewed. Update GObject DOM symbols file after r160733.
36531
36532        * bindings/gobject/webkitdom.symbols:
36533
365342013-12-28  Carlos Garcia Campos  <cgarcia@igalia.com>
36535
36536        [GTK] Downloads are broken with the network process enabled
36537        https://bugs.webkit.org/show_bug.cgi?id=126131
36538
36539        Reviewed by Martin Robinson.
36540
36541        The problem is that the network process crashes when trying to
36542        convert the handle to a download, because at that point the
36543        download has finished and the handle is NULL. This happens because
36544        we are not implementing ResourceHandle::continueDidReceiveResponse().
36545
36546        * platform/network/soup/ResourceHandleSoup.cpp:
36547        (WebCore::nextMultipartResponsePartCallback): Call
36548        continueAfterDidReceiveResponse() when not using async callbacks.
36549        (WebCore::sendRequestCallback): Ditto.
36550        (WebCore::continueAfterDidReceiveResponse): Helper function that
36551        continues the load after didReceiveResponse.
36552        (WebCore::ResourceHandle::continueDidReceiveResponse): Call
36553        continueAfterDidReceiveResponse().
36554
365552013-12-27  Daniel Bates  <dabates@apple.com>
36556
36557        Another attempt to fix the Windows build after <http://trac.webkit.org/changeset/161106>
36558        (https://bugs.webkit.org/show_bug.cgi?id=126180)
36559
36560        * WebCore.vcxproj/WebCore.vcxproj.filters: Add files platform/audio/{AudioSession, AudioSessionListener}.h
36561        * WebCore.vcxproj/WebCoreCommon.props: Add directory WebCore/platform/audio to the list of
36562        include directories.
36563
365642013-12-27  Daniel Bates  <dabates@apple.com>
36565
36566        Attempt to fix the Windows build after <http://trac.webkit.org/changeset/161106>
36567        (https://bugs.webkit.org/show_bug.cgi?id=126180)
36568
36569        Add files platform/audio/AudioSession.{cpp, h} and platform/audio/AudioSessionListener.h
36570        to the Visual Studio project. Note, the contents of these files are guarded by USE(AUDIO_SESSION),
36571        which is only enabled on Mac and iOS at the time of writing.
36572
36573        I thought to try this approach to fix the build so as to avoid adding an extraneous
36574        USE(AUDIO_SESSION)-guard around the #include "AudioSession.h" in Settings.cpp since
36575        the contents of the file AudioSession.h is guarded by USE(AUDIO_SESSION).
36576
36577        * WebCore.vcxproj/WebCore.vcxproj:
36578
365792013-12-27  Daniel Bates  <dabates@apple.com>
36580
36581        [iOS] Upstream WebCore/page changes
36582        https://bugs.webkit.org/show_bug.cgi?id=126180
36583
36584        Reviewed by Darin Adler.
36585
36586        * WebCore.xcodeproj/project.pbxproj:
36587        * dom/EventNames.h:
36588        (WebCore::EventNames::isGestureEventType): Added.
36589        * page/AlternativeTextClient.h: Do not define WTF_USE_DICTATION_ALTERNATIVES when building for iOS.
36590        * page/Chrome.cpp:
36591        (WebCore::Chrome::Chrome):
36592        (WebCore::Chrome::dispatchViewportPropertiesDidChange): Added; guarded by PLATFORM(IOS).
36593        (WebCore::Chrome::setCursor): Make this an empty function when building for iOS.
36594        (WebCore::Chrome::setCursorHiddenUntilMouseMoves): Ditto.
36595        (WebCore::Chrome::didReceiveDocType): Added; iOS-specific.
36596        * page/Chrome.h:
36597        (WebCore::Chrome::setDispatchViewportDataDidChangeSuppressed): Added; guarded by PLATFORM(IOS).
36598        * page/ChromeClient.h:
36599        (WebCore::ChromeClient::didFlushCompositingLayers): Added; guarded by PLATFORM(IOS).
36600        (WebCore::ChromeClient::fetchCustomFixedPositionLayoutRect): Added; guarded by PLATFORM(IOS).
36601        (WebCore::ChromeClient::updateViewportConstrainedLayers): Added; guarded by PLATFORM(IOS).
36602        * page/DOMTimer.cpp:
36603        (WebCore::DOMTimer::install): Added iOS-specific code.
36604        (WebCore::DOMTimer::fired): Ditto.
36605        * page/DOMWindow.cpp:
36606        (WebCore::DOMWindow::DOMWindow): Ditto.
36607        (WebCore::DOMWindow::innerHeight): Ditto.
36608        (WebCore::DOMWindow::innerWidth): Ditto.
36609        (WebCore::DOMWindow::scrollX): Ditto.
36610        (WebCore::DOMWindow::scrollY): Ditto.
36611        (WebCore::DOMWindow::scrollBy): Ditto.
36612        (WebCore::DOMWindow::scrollTo): Ditto.
36613        (WebCore::DOMWindow::clearTimeout): Ditto.
36614        (WebCore::DOMWindow::addEventListener): Ditto.
36615        (WebCore::DOMWindow::incrementScrollEventListenersCount): Added; guarded by PLATFORM(IOS).
36616        (WebCore::DOMWindow::decrementScrollEventListenersCount): Added; guarded by PLATFORM(IOS).
36617        (WebCore::DOMWindow::resetAllGeolocationPermission): Added; Also added FIXME comment.
36618        (WebCore::DOMWindow::removeEventListener): Added iOS-specific code.
36619        (WebCore::DOMWindow::dispatchEvent): Modified to prevent dispatching duplicate pageshow and pagehide
36620        events per <http://www.whatwg.org/specs/web-apps/current-work/multipage/history.html#event-pageshow>.
36621        (WebCore::DOMWindow::removeAllEventListeners): Added iOS-specific code.
36622        * page/DOMWindow.h:
36623        * page/DOMWindow.idl: Added IOS_GESTURE_EVENTS-guarded attributes: ongesture{change, end, start}. Also
36624        added IOS_TOUCH_EVENTS-guarded attributes: {Touch, TouchList}Constructor.
36625        * page/EditorClient.h:
36626        * page/EventHandler.cpp:
36627        (WebCore::EventHandler::EventHandler): Added iOS-specific code.
36628        (WebCore::EventHandler::clear): Ditto.
36629        (WebCore::EventHandler::startPanScrolling): Make this an empty function when building for iOS.
36630        (WebCore::EventHandler::handleMousePressEvent): Modified to invalidate a click when the clicked node is
36631        null. Also, opt out of code for updating the scrollbars as UIKit manages scrollbars on iOS.
36632        (WebCore::EventHandler::handleMouseMoveEvent): Opt of code for updating the scrollbars and cursor when building on iOS.
36633        (WebCore::hitTestResultInFrame): Made this a file-local static function since it's only used in EventHandler.cpp.
36634        (WebCore::EventHandler::dispatchSyntheticTouchEventIfEnabled): Added iOS-specific code.
36635        * page/EventHandler.h:
36636        * page/FocusController.h:
36637        * page/Frame.cpp:
36638        (WebCore::Frame::Frame): Added iOS-specific code.
36639        (WebCore::Frame::scrollOverflowLayer): Added; iOS-specific.
36640        (WebCore::Frame::overflowAutoScrollTimerFired): Added; iOS-specific.
36641        (WebCore::Frame::startOverflowAutoScroll): Added; iOS-specific.
36642        (WebCore::Frame::checkOverflowScroll): Added; iOS-specific.
36643        (WebCore::Frame::willDetachPage): Added iOS-specific code.
36644        (WebCore::Frame::createView): Ditto.
36645        (WebCore::Frame::setSelectionChangeCallbacksDisabled): Added; iOS-specific.
36646        (WebCore::Frame::selectionChangeCallbacksDisabled): Added; iOS-specific.
36647        * page/Frame.h:
36648        (WebCore::Frame::timersPaused): Added; guarded by PLATFORM(IOS).
36649        * page/FrameView.cpp:
36650        (WebCore::FrameView::FrameView): Added iOS-specific code.
36651        (WebCore::FrameView::clear): Ditto.
36652        (WebCore::FrameView::flushCompositingStateForThisFrame): Ditto.
36653        (WebCore::FrameView::graphicsLayerForPlatformWidget): Added.
36654        (WebCore::FrameView::scheduleLayerFlushAllowingThrottling): Added.
36655        (WebCore::FrameView::layout): Added iOS-specific code.
36656        (WebCore::countRenderedCharactersInRenderObjectWithThreshold): Added; helper function used by FrameView::renderedCharactersExceed().
36657        Also added FIXME comment.
36658        (WebCore::FrameView::renderedCharactersExceed): Added.
36659        (WebCore::FrameView::visibleContentsResized): Added iOS-specific code.
36660        (WebCore::FrameView::adjustTiledBackingCoverage): Ditto.
36661        (WebCore::FrameView::performPostLayoutTasks): Ditto.
36662        (WebCore::FrameView::sendResizeEventIfNeeded): Ditto.
36663        (WebCore::FrameView::paintContents): Added iOS-specific code. Also added FIXME comments.
36664        (WebCore::FrameView::setUseCustomFixedPositionLayoutRect): Added; iOS-specific.
36665        (WebCore::FrameView::setCustomFixedPositionLayoutRect): Added; iOS-specific.
36666        (WebCore::FrameView::updateFixedPositionLayoutRect): Added; iOS-specific.
36667        * page/FrameView.h:
36668        * page/Navigator.cpp:
36669        (WebCore::Navigator::standalone): Added; iOS-specific.
36670        * page/Navigator.h:
36671        * page/Navigator.idl: Added WTF_PLATFORM_IOS-guarded attribute: standalone. Also added FIXME comment.
36672        * page/NavigatorBase.cpp:
36673        (WebCore::NavigatorBase::platform): Added iOS-specific code.
36674        * page/Page.h:
36675        (WebCore::Page::hasCustomHTMLTokenizerTimeDelay): Added; guarded by PLATFORM(IOS). Also added FIXME comment
36676        to remove this method.
36677        (WebCore::Page::customHTMLTokenizerTimeDelay): Added; guarded by PLATFORM(IOS). Also added FIXME comment
36678        to remove this method.
36679        * page/PageGroup.cpp:
36680        (WebCore::PageGroup::removeVisitedLink): Added.
36681        * page/PageGroup.h:
36682        * page/Settings.cpp:
36683        (WebCore::Settings::Settings):
36684        (WebCore::Settings::setScriptEnabled): Added; guarded by PLATFORM(IOS).
36685        (WebCore::Settings::setStandalone): Added; guarded by PLATFORM(IOS).
36686        (WebCore::Settings::setAudioSessionCategoryOverride): Added; guarded by PLATFORM(IOS).
36687        (WebCore::Settings::audioSessionCategoryOverride): Added; guarded by PLATFORM(IOS).
36688        (WebCore::Settings::setNetworkDataUsageTrackingEnabled): Added; guarded by PLATFORM(IOS).
36689        (WebCore::Settings::networkDataUsageTrackingEnabled): Added; guarded by PLATFORM(IOS).
36690        (WebCore::sharedNetworkInterfaceNameGlobal): Added; guarded by PLATFORM(IOS).
36691        (WebCore::Settings::setNetworkInterfaceName): Added; guarded by PLATFORM(IOS).
36692        (WebCore::Settings::networkInterfaceName): Added; guarded by PLATFORM(IOS).
36693        * page/Settings.h:
36694        (WebCore::Settings::setMaxParseDuration): Added; guarded by PLATFORM(IOS). Also added FIXME comment.
36695        (WebCore::Settings::maxParseDuration): Added; guarded by PLATFORM(IOS). Also added FIXME comment.
36696        (WebCore::Settings::standalone): Added; guarded by PLATFORM(IOS).
36697        (WebCore::Settings::setTelephoneNumberParsingEnabled): Added; guarded by PLATFORM(IOS).
36698        (WebCore::Settings::telephoneNumberParsingEnabled): Added; guarded by PLATFORM(IOS).
36699        (WebCore::Settings::setMediaDataLoadsAutomatically): Added; guarded by PLATFORM(IOS).
36700        (WebCore::Settings::mediaDataLoadsAutomatically): Added; guarded by PLATFORM(IOS).
36701        (WebCore::Settings::setShouldTransformsAffectOverflow): Added; guarded by PLATFORM(IOS).
36702        (WebCore::Settings::shouldTransformsAffectOverflow): Added; guarded by PLATFORM(IOS).
36703        (WebCore::Settings::setShouldDispatchJavaScriptWindowOnErrorEvents): Added; guarded by PLATFORM(IOS).
36704        (WebCore::Settings::shouldDispatchJavaScriptWindowOnErrorEvents): Added; guarded by PLATFORM(IOS).
36705        (WebCore::Settings::setAlwaysUseBaselineOfPrimaryFont): Added; guarded by PLATFORM(IOS).
36706        (WebCore::Settings::alwaysUseBaselineOfPrimaryFont): Added; guarded by PLATFORM(IOS).
36707        (WebCore::Settings::setAlwaysUseAcceleratedOverflowScroll): Added; guarded by PLATFORM(IOS).
36708        (WebCore::Settings::alwaysUseAcceleratedOverflowScroll): Added; guarded by PLATFORM(IOS).
36709        * page/Settings.in: Added IOS_AIRPLAY-guarded setting: mediaPlaybackAllowsAirPlay.
36710        * page/animation/CSSPropertyAnimation.cpp:
36711        (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap): Added iOS-specific code and FIXME comment.
36712        * page/ios/EventHandlerIOS.mm: Added.
36713        * page/ios/FrameIOS.mm: Added.
36714        * page/mac/ChromeMac.mm:
36715        * page/mac/PageMac.cpp:
36716        (WebCore::Page::addSchedulePair): Opt out of code when building for iOS.
36717        (WebCore::Page::removeSchedulePair): Ditto.
36718        * page/mac/SettingsMac.mm:
36719        (WebCore::Settings::shouldEnableScreenFontSubstitutionByDefault): Added iOS-specific code.
36720        * page/mac/WebCoreFrameView.h:
36721
367222013-12-27  Gavin Barraclough  <barraclough@apple.com>
36723
36724        Merge PageVisibilityState & ViewState::IsVisible in WebKit2
36725        https://bugs.webkit.org/show_bug.cgi?id=126214
36726
36727        Reviewed by Alexey Proskuryakov.
36728
36729        WebKit2 redundantly tracks the visibility of the view through two mechanisms - the visibility
36730        state, and the view state. Remove visibility state from the WebKit2 layer. The visibility
36731        state also tracks the prerender state - so split this out and handle it separately (a change
36732        we should make in WebCore, too).
36733
36734        WebCore - changes the API tests exposed a bug, a view should only ever come out of the
36735        prerender state when it becomes visible - redundant notifications that the view is still
36736        hidden should be ignored.
36737
36738        * page/Page.cpp:
36739        (WebCore::Page::setVisibilityState):
36740            - ignore visibility state change to hidden, if the current state is prerender.
36741
367422013-12-27  Joseph Pecoraro  <pecoraro@apple.com>
36743
36744        Unreviewed Windows build fix for r160946.
36745
36746        Add another file to the Windows InspectorAllInOne.cpp.
36747
36748        * inspector/InspectorAllInOne.cpp:
36749
367502013-12-27  Commit Queue  <commit-queue@webkit.org>
36751
36752        Unreviewed, rolling out r161096.
36753        http://trac.webkit.org/changeset/161096
36754        https://bugs.webkit.org/show_bug.cgi?id=126256
36755
36756        Made lots of tests crash (Requested by ap on #webkit).
36757
36758        * dom/ContainerNode.cpp:
36759        (WebCore::ContainerNode::insertBefore):
36760        (WebCore::ContainerNode::replaceChild):
36761        (WebCore::willRemoveChildren):
36762        (WebCore::ContainerNode::appendChild):
36763        * dom/Document.cpp:
36764        (WebCore::Document::visibilityStateChanged):
36765        (WebCore::Document::moveNodeIteratorsToNewDocument):
36766        (WebCore::Document::updateRangesAfterChildrenChanged):
36767        (WebCore::Document::nodeChildrenWillBeRemoved):
36768        (WebCore::Document::nodeWillBeRemoved):
36769        (WebCore::Document::textInserted):
36770        (WebCore::Document::textRemoved):
36771        (WebCore::Document::textNodesMerged):
36772        (WebCore::Document::textNodeSplit):
36773        (WebCore::Document::documentWillSuspendForPageCache):
36774        (WebCore::Document::documentDidResumeFromPageCache):
36775        (WebCore::Document::mediaVolumeDidChange):
36776        (WebCore::Document::privateBrowsingStateDidChange):
36777        (WebCore::Document::captionPreferencesChanged):
36778        (WebCore::Document::validateAutoSizingNodes):
36779        (WebCore::Document::resetAutoSizingNodes):
36780        (WebCore::Document::webkitExitFullscreen):
36781        * dom/MutationObserver.cpp:
36782        (WebCore::MutationObserver::disconnect):
36783        (WebCore::MutationObserver::getObservedNodes):
36784        (WebCore::MutationObserver::deliver):
36785        * dom/MutationObserverInterestGroup.cpp:
36786        (WebCore::MutationObserverInterestGroup::isOldValueRequested):
36787        (WebCore::MutationObserverInterestGroup::enqueueMutationRecord):
36788        * dom/MutationObserverRegistration.cpp:
36789        (WebCore::MutationObserverRegistration::clearTransientRegistrations):
36790        (WebCore::MutationObserverRegistration::addRegistrationNodesToSet):
36791        * dom/Node.cpp:
36792        (WebCore::Node::dumpStatistics):
36793        (WebCore::Document::invalidateNodeListAndCollectionCaches):
36794        (WebCore::NodeListsNodeData::invalidateCaches):
36795        (WebCore::Node::didMoveToNewDocument):
36796        (WebCore::collectMatchingObserversForMutation):
36797        (WebCore::Node::notifyMutationObserversNodeWillDetach):
36798        * dom/NodeRareData.h:
36799        (WebCore::NodeListsNodeData::adoptDocument):
36800        * dom/ScriptExecutionContext.cpp:
36801        (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
36802        (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
36803        (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
36804        (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
36805        (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
36806        (WebCore::ScriptExecutionContext::closeMessagePorts):
36807        (WebCore::ScriptExecutionContext::adjustMinimumTimerInterval):
36808        (WebCore::ScriptExecutionContext::didChangeTimerAlignmentInterval):
36809        * dom/WebKitNamedFlow.cpp:
36810        (WebCore::WebKitNamedFlow::getRegionsByContent):
36811        (WebCore::WebKitNamedFlow::getRegions):
36812        (WebCore::WebKitNamedFlow::getContent):
36813
368142013-12-26  Sam Weinig  <sam@webkit.org>
36815
36816        Convert some of WebCore/dom over to range-for loops
36817        https://bugs.webkit.org/show_bug.cgi?id=126250
36818
36819        Reviewed by Andreas Kling.
36820
36821        * dom/ContainerNode.cpp:
36822        * dom/Document.cpp:
36823        * dom/MutationObserver.cpp:
36824        * dom/MutationObserverInterestGroup.cpp:
36825        * dom/MutationObserverRegistration.cpp:
36826        * dom/Node.cpp:
36827        * dom/NodeRareData.h:
36828        * dom/ScriptExecutionContext.cpp:
36829        * dom/WebKitNamedFlow.cpp:
36830
368312013-12-26  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
36832
36833        [Nix] Cleanup Source/WebCore/PlatformNix.cmake
36834        https://bugs.webkit.org/show_bug.cgi?id=126226
36835
36836        Reviewed by Csaba Osztrogonác.
36837
36838        No new tests needed.
36839
36840        * PlatformNix.cmake:
36841
368422013-12-26  Joseph Pecoraro  <pecoraro@apple.com>
36843
36844        Unreviewed attempt at Windows build fix.
36845
36846        I think Window's "AllInOne.cpp" is causing a using namespace JSC
36847        to cause naming conflicts between Inspector::TypeBuilder::Debugger::types
36848        and JSC::types. So removing the ambiguity.
36849
36850        * inspector/InjectedScript.cpp:
36851        (WebCore::InjectedScript::getProperties):
36852        (WebCore::InjectedScript::wrapCallFrames):
36853
368542013-12-22  Andreas Kling  <akling@apple.com>
36855
36856        Make Text::createTextRenderer() take a const RenderStyle&.
36857        <https://webkit.org/b/126136>
36858
36859        Nuke a FIXME about constifying a RenderStyle& local.
36860
36861        Reviewed by Anders Carlsson.
36862
368632013-12-22  Andreas Kling  <akling@apple.com>
36864
36865        Move more inlines from RenderObject to RenderElement.
36866        <https://webkit.org/b/126134>
36867
36868        Lift some inline functions that use style() from RenderObject over
36869        to RenderElement, making them branchless.
36870
36871        Reviewed by Anders Carlsson.
36872
368732013-12-26  ChangSeok Oh  <changseok.oh@collabora.com>
36874
36875        Unreviewed build fix after r159526.
36876        isBoxValue is used at out of ENABLE_CSS_SHAPES gaurd. It causes a compile failure.
36877        So I moved isBoxValue to out side of ENABLE_CSS_SHAPES.
36878
36879        * css/CSSParser.cpp:
36880
368812013-12-25  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
36882
36883        Set m_pos as private in InlineIterator, and use getter and setter functions.
36884        https://bugs.webkit.org/show_bug.cgi?id=125614
36885
36886        Reviewed by Alexey Proskuryakov.
36887
36888        InlineIterator has been exported m_pos as public directly though it is member variable.
36889        This patch set it as private, and add getter/setter functions for it.
36890
36891        No new tests, no behavior changes.
36892
36893        * rendering/InlineIterator.h:
36894        (WebCore::InlineIterator::setOffset):
36895        (WebCore::operator==):
36896        (WebCore::operator!=):
36897        (WebCore::InlineBidiResolver::appendRun):
36898        * rendering/RenderBlockLineLayout.cpp:
36899        (WebCore::RenderBlockFlow::appendRunsForObject):
36900        (WebCore::constructBidiRunsForLine):
36901        (WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):
36902        (WebCore::RenderBlockFlow::matchedEndLine):
36903        (WebCore::LineBreaker::nextSegmentBreak):
36904        * rendering/line/BreakingContextInlineHeaders.h:
36905        (WebCore::BreakingContext::handleBR):
36906        (WebCore::BreakingContext::handleFloat):
36907        (WebCore::iteratorIsBeyondEndOfRenderCombineText):
36908        (WebCore::ensureCharacterGetsLineBox):
36909        (WebCore::BreakingContext::handleText):
36910        (WebCore::checkMidpoints):
36911        (WebCore::BreakingContext::handleEndOfLine):
36912        * rendering/line/TrailingObjects.cpp:
36913        (WebCore::TrailingObjects::updateMidpointsForTrailingBoxes):
36914
369152013-12-25  Kim Byung Jun  <bj1987.kim@samsung.com>
36916
36917        [EFL] Delete file.edc and file_*.png.
36918        https://bugs.webkit.org/show_bug.cgi?id=125134
36919
36920        Reviewed by Gyuyoung Kim.
36921
36922        File_theme uses button form.
36923
36924        * platform/efl/DefaultTheme/CMakeLists.txt:
36925        * platform/efl/DefaultTheme/default.edc:
36926        * platform/efl/DefaultTheme/widget/file/file.edc: Removed.
36927        * platform/efl/DefaultTheme/widget/file/file_focus.png: Removed.
36928        * platform/efl/DefaultTheme/widget/file/file_hover.png: Removed.
36929        * platform/efl/DefaultTheme/widget/file/file_normal.png: Removed.
36930        * platform/efl/DefaultTheme/widget/file/file_press.png: Removed.
36931
369322013-12-25  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
36933
36934        [Nix] Adding createDragImageIconForCachedImageFilename method to DragImageNix
36935        https://bugs.webkit.org/show_bug.cgi?id=126230
36936
36937        Reviewed by Daniel Bates.
36938
36939        Also returning nullptr in other functions that were returning 0 as a pointer.
36940
36941        * platform/nix/DragImageNix.cpp:
36942        (WebCore::createDragImageFromImage):
36943        (WebCore::createDragImageIconForCachedImage):
36944        (WebCore::createDragImageIconForCachedImageFilename):
36945
369462013-12-25  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
36947
36948        [Nix] Fixing DragData::asFragment signature in DragDataNix.cpp
36949        https://bugs.webkit.org/show_bug.cgi?id=126229
36950
36951        Reviewed by Daniel Bates.
36952
36953        * platform/nix/DragDataNix.cpp:
36954        (WebCore::DragData::asFragment):
36955
369562013-12-25  Commit Queue  <commit-queue@webkit.org>
36957
36958        Unreviewed, rolling out r161033 and r161074.
36959        http://trac.webkit.org/changeset/161033
36960        http://trac.webkit.org/changeset/161074
36961        https://bugs.webkit.org/show_bug.cgi?id=126240
36962
36963        Oliver says that a rollout would be better (Requested by ap on
36964        #webkit).
36965
36966        * bindings/js/JSDOMWindowCustom.cpp:
36967        (WebCore::JSDOMWindow::put):
36968        * bindings/objc/WebScriptObject.mm:
36969        (-[WebScriptObject setValue:forKey:]):
36970        * bindings/scripts/CodeGeneratorJS.pm:
36971        (GenerateImplementation):
36972        * bindings/scripts/test/JS/JSTestInterface.cpp:
36973        (WebCore::JSTestInterface::putByIndex):
36974        * bridge/NP_jsobject.cpp:
36975        (_NPN_SetProperty):
36976
369772013-12-25  Brady Eidson  <beidson@apple.com>
36978
36979        DatabaseProcess: Implement version changing
36980        https://bugs.webkit.org/show_bug.cgi?id=126099
36981
36982        Reviewed by Sam Weinig.
36983
36984        No new tests (No change in WebCore behavior).
36985
36986        * Modules/indexeddb/IDBTransactionBackend.cpp:
36987        (WebCore::IDBTransactionBackend::commit): Update some logging.
36988
36989        * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
36990        (WebCore::IDBDatabaseBackend::VersionChangeOperation::perform): Move some things that used to be in
36991          IDBServerConnectionLevelDB::changeDatabaseVersion to this cross-platform location.
36992        * Modules/indexeddb/IDBTransactionBackendOperations.h:
36993        (WebCore::IDBDatabaseBackend::VersionChangeOperation::transaction):
36994
36995        * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
36996        (WebCore::IDBServerConnectionLevelDB::changeDatabaseVersion): Move the actual updating of the database backend
36997          metadata to the VersionChangeOperation.
36998
369992013-12-25  Martin Robinson  <mrobinson@igalia.com>
37000
37001        [GTK] [CMake] Clean up generated sources directories
37002        https://bugs.webkit.org/show_bug.cgi?id=126216
37003
37004        Reviewed by Gustavo Noronha Silva.
37005
37006        * PlatformGTK.cmake: Use the new directory variables.
37007
370082013-12-25  Dirk Schulze  <krit@webkit.org>
37009
37010        Support <box> values parsing on 'clip-path' property
37011        https://bugs.webkit.org/show_bug.cgi?id=126147
37012
37013        Reviewed by Ryosuke Niwa.
37014
37015        Support parsing of the background reference boxes, margin-box and bounding-box.
37016        A box will be a reference box and define the origin for a basic shape.
37017        If no basic shape is specified, the box defines the clipping path itself.
37018        The specification text follows the changes to CSS Shapes now.
37019
37020        https://dvcs.w3.org/hg/FXTF/raw-file/3f213145303e/css-masking-1/index.html#the-clip-path
37021
37022        Existing parsing test have been extended to test box values as well.
37023
37024        * css/CSSParser.cpp:
37025        (WebCore::CSSParser::parseValue):
37026        (WebCore::CSSParser::parseClipPath):
37027        * css/CSSParser.h:
37028        * css/CSSValueKeywords.in:
37029        * css/DeprecatedStyleBuilder.cpp:
37030        (WebCore::ApplyPropertyClipPath::applyValue):
37031
370322013-12-25  David Kilzer  <ddkilzer@apple.com>
37033
37034        [iOS] Upstream WebCore/pdf changes
37035        http://webkit.org/b/126097
37036
37037        Reviewed by Sam Weinig.
37038
37039        * WebCore.xcodeproj/project.pbxproj: Added files to project.
37040        * pdf/ios/PDFDocument.cpp: Added.
37041        (WebCore::PDFDocumentParser::create):
37042        (WebCore::PDFDocumentParser::document):
37043        (WebCore::PDFDocumentParser::PDFDocumentParser):
37044        (WebCore::PDFDocument::createParser):
37045        * pdf/ios/PDFDocument.h: Added.
37046        (WebCore::PDFDocument::create):
37047        (WebCore::PDFDocument::PDFDocument):
37048
370492013-12-24  Commit Queue  <commit-queue@webkit.org>
37050
37051        Unreviewed, rolling out r160959.
37052        http://trac.webkit.org/changeset/160959
37053        https://bugs.webkit.org/show_bug.cgi?id=126222
37054
37055        Caused Windows build to fail (Requested by rfong on #webkit).
37056
37057        * platform/sql/SQLiteDatabase.cpp:
37058        (WebCore::SQLiteDatabase::interrupt):
37059
370602013-12-24  Ryosuke Niwa  <rniwa@webkit.org>
37061
37062        Unreviewed, rolling out r161051.
37063        http://trac.webkit.org/changeset/161051
37064        https://bugs.webkit.org/show_bug.cgi?id=45994
37065
37066        Caused two DFG tests to hit assertions due to a separate bug
37067
37068        * xml/XMLHttpRequest.cpp:
37069        (WebCore::XMLHttpRequest::status):
37070        (WebCore::XMLHttpRequest::statusText):
37071        * xml/XMLHttpRequest.h:
37072        * xml/XMLHttpRequest.idl:
37073
370742013-12-24  Mihnea Ovidenie  <mihnea@adobe.com>
37075
37076        [CSSRegions] Crash while repainting an invalid region
37077        https://bugs.webkit.org/show_bug.cgi?id=126152
37078
37079        Reviewed by Daniel Bates.
37080
37081        An invalid region, part of a dependency cycle, should not attempt to repaint content from
37082        its associated named flow, otherwise there may be the case of an infinite repaint cycle,
37083        resulting in a crash due to a stack overflow.
37084
37085        Test: fast/regions/repaint/invalid-region-repaint-crash.html
37086
37087        * rendering/RenderLayer.cpp:
37088        (WebCore::RenderLayer::repaintIncludingDescendants):
37089
370902013-12-23  Ryosuke Niwa  <rniwa@webkit.org>
37091
37092        XMLHttpRequest: status and statusText throw DOM Exception 11 when the state is UNSENT or OPENED.
37093        https://bugs.webkit.org/show_bug.cgi?id=45994
37094
37095        Reviewed by Alexey Proskuryakov.
37096
37097        Merged https://chromium.googlesource.com/chromium/blink/+/23c90460de16e04c5aba7ed942fba76cb79fdb9b.
37098
37099        Latest XHR spec says that XHR should return 0 and an empty string when it's in UNSENT or OPENED state
37100        or error flag is set: http://www.w3.org/TR/2012/WD-XMLHttpRequest-20121206/#the-status-attribute
37101
37102        * xml/XMLHttpRequest.cpp:
37103        (WebCore::XMLHttpRequest::status):
37104        (WebCore::XMLHttpRequest::statusText):
37105        * xml/XMLHttpRequest.h:
37106        * xml/XMLHttpRequest.idl:
37107
371082013-12-23  Ryosuke Niwa  <rniwa@webkit.org>
37109
37110        Crash in ReplaceSelectionCommand
37111        https://bugs.webkit.org/show_bug.cgi?id=126107
37112
37113        Reviewed by Benjamin Poulain.
37114
37115        Merge https://chromium.googlesource.com/chromium/blink/+/c1ebe5c1e808daf9db5e348a8d0ab32570b9f7a5
37116        except the test since it doesn't reproduce the crash in WebKit.
37117
37118        * editing/ReplaceSelectionCommand.cpp:
37119        (WebCore::ReplaceSelectionCommand::doApply):
37120
371212013-12-23  Benjamin Poulain  <benjamin@webkit.org>
37122
37123        Add the pseudo classes link and any-link to the Selector Code Generator
37124        https://bugs.webkit.org/show_bug.cgi?id=126196
37125
37126        Reviewed by Ryosuke Niwa.
37127
37128        * cssjit/SelectorCompiler.cpp:
37129        (WebCore::SelectorCompiler::addPseudoType):
37130        (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
37131        (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsLink):
37132        * dom/Node.h:
37133        (WebCore::Node::flagIsElement):
37134        (WebCore::Node::flagIsLink):
37135        Fix the type to match TrustedImm32.
37136
371372013-12-23  Benjamin Poulain  <benjamin@webkit.org>
37138
37139        Add the experimental CSS code generator files to the remaining build systems
37140        https://bugs.webkit.org/show_bug.cgi?id=126192
37141
37142        Reviewed by Sam Weinig.
37143
37144        * CMakeLists.txt:
37145        * GNUmakefile.list.am:
37146        * WebCore.vcxproj/WebCore.vcxproj:
37147        * WebCore.vcxproj/WebCore.vcxproj.filters:
37148
371492013-12-23  Benjamin Poulain  <benjamin@webkit.org>
37150
37151        Add the pseudo class :focus to the Selector Code Generator
37152        https://bugs.webkit.org/show_bug.cgi?id=126189
37153
37154        Reviewed by Ryosuke Niwa.
37155
37156        * cssjit/SelectorCompiler.cpp:
37157        (WebCore::SelectorCompiler::addPseudoType):
37158        (WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
37159        (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
37160        (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsFocused):
37161
371622013-12-23  Ryosuke Niwa  <rniwa@webkit.org>
37163
37164        Remove boolean argument from Element::setChildrenAffectBy* methods
37165        https://bugs.webkit.org/show_bug.cgi?id=126183
37166
37167        Reviewed by Daniel Bates.
37168
37169        Merge https://chromium.googlesource.com/chromium/blink/+/066ef2fa78336b2b65052cb17cb81b367fe7dbbf
37170
37171        These functions are never called with false.
37172
37173        * css/SelectorChecker.cpp:
37174        (WebCore::SelectorChecker::checkOne):
37175        * dom/Element.cpp:
37176        (WebCore::Element::setChildrenAffectedByActive):
37177        (WebCore::Element::setChildrenAffectedByDrag):
37178        * dom/Element.h:
37179        (WebCore::Element::setChildrenAffectedByHover):
37180
371812013-12-23  Tim Horton  <timothy_horton@apple.com>
37182
37183        Fix the iOS build after r161013 and r160672.
37184
37185        * WebCore.exp.in:
37186        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
37187        (PlatformCALayerMac::updateCustomAppearance):
37188
371892013-12-23  Oliver Hunt  <oliver@apple.com>
37190
37191        Refactor PutPropertySlot to be aware of custom properties
37192        https://bugs.webkit.org/show_bug.cgi?id=126187
37193
37194        Reviewed by msaboff.
37195
37196        Update the bindings code generation and custom objects
37197        to the new function signatures
37198
37199        * bindings/js/JSDOMWindowCustom.cpp:
37200        (WebCore::JSDOMWindow::put):
37201        * bindings/objc/WebScriptObject.mm:
37202        (-[WebScriptObject setValue:forKey:]):
37203        * bindings/scripts/CodeGeneratorJS.pm:
37204        (GenerateImplementation):
37205        * bindings/scripts/test/JS/JSTestInterface.cpp:
37206        (WebCore::JSTestInterface::putByIndex):
37207        * bridge/NP_jsobject.cpp:
37208        (_NPN_SetProperty):
37209
372102013-12-23  Benjamin Poulain  <benjamin@webkit.org>
37211
37212        Add class matching to the Selector Code Generator
37213        https://bugs.webkit.org/show_bug.cgi?id=126176
37214
37215        Reviewed by Antti Koivisto.
37216
37217        Add selector matching based on classname to the Selector Compiler.
37218
37219        * cssjit/SelectorCompiler.cpp:
37220        (WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
37221        (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementDataMatching):
37222        (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementHasClasses):
37223        * dom/ElementData.h:
37224        (WebCore::ElementData::classNamesMemoryOffset):
37225        * dom/SpaceSplitString.h:
37226        (WebCore::SpaceSplitStringData::sizeMemoryOffset):
37227        (WebCore::SpaceSplitStringData::tokensMemoryOffset):
37228
372292013-12-23  Daniel Bates  <dabates@apple.com>
37230
37231        [iOS] Upstream WebCore/storage changes
37232        https://bugs.webkit.org/show_bug.cgi?id=125913
37233
37234        Reviewed by David Kilzer.
37235
37236        * storage/StorageAreaSync.cpp:
37237        (WebCore::StorageAreaSync::openDatabase): Added iOS-specific code.
37238        (WebCore::StorageAreaSync::sync): Ditto.
37239        * storage/StorageTracker.cpp:
37240        (WebCore::StorageTracker::openTrackerDatabase): Ditto.
37241        (WebCore::StorageTracker::syncImportOriginIdentifiers): Ditto.
37242        (WebCore::StorageTracker::syncFileSystemAndTrackerDatabase): Ditto.
37243        (WebCore::StorageTracker::syncSetOriginDetails): Ditto.
37244        (WebCore::StorageTracker::syncDeleteAllOrigins): Ditto.
37245        (WebCore::StorageTracker::syncDeleteOrigin): Ditto.
37246        (WebCore::StorageTracker::databasePathForOrigin): Ditto.
37247
372482013-12-23  Daniel Bates  <dabates@apple.com>
37249
37250        Fix the iOS build following <http://trac.webkit.org/changeset/160236>
37251        (https://bugs.webkit.org/show_bug.cgi?id=125239)
37252
37253        * rendering/RenderBlock.h:
37254        * rendering/RenderBox.cpp:
37255        (WebCore::RenderBox::containingBlockLogicalWidthForPositioned): Substitute view() for &view().
37256        * rendering/RenderLayer.cpp:
37257        (WebCore::RenderLayer::scrollTo): Fix indentation of closing brace.
37258        * rendering/RenderLayerCompositor.cpp: Include MainFrame.h.
37259        (WebCore::RenderLayerCompositor::contentsScaleMultiplierForNewTiles): Check that page->mainFrame().view()
37260        is non-null; also add explicit #else clause.
37261        (WebCore::RenderLayerCompositor::ensureRootLayer): Fix up main frame check.
37262        * rendering/RenderTheme.h:
37263        (WebCore::RenderTheme::paintFileUploadIconDecorations): Substitute rect for r.
37264        * rendering/RenderThemeIOS.mm:
37265        (WebCore::RenderThemeIOS::paintTextFieldDecorations): Use .get() to access underlying NeverDestroyed item.
37266        (WebCore::RenderThemeIOS::systemFont):
37267        * rendering/RenderView.cpp:
37268        (WebCore::fixedPositionOffset): Substitute frameView.scrollOffset() for frameView->scrollOffset().
37269
372702013-12-23  Ryosuke Niwa  <rniwa@webkit.org>
37271
37272        Minor optimization in FrameSelection::setNonDirectionalSelectionIfNeeded()
37273        https://bugs.webkit.org/show_bug.cgi?id=126108
37274
37275        Reviewed by Benjamin Poulain.
37276
37277        Merge https://chromium.googlesource.com/chromium/blink/+/237b987c324e2e389a9e0350293bfaf16a5e201d
37278
37279        * editing/FrameSelection.cpp:
37280        (WebCore::FrameSelection::setNonDirectionalSelectionIfNeeded):
37281
372822013-12-23  Ryosuke Niwa  <rniwa@webkit.org>
37283
37284        Use isDocumentFragment() instead of comparing nodeType() with Node::DOCUMENT_FRAGMENT_NODE
37285        https://bugs.webkit.org/show_bug.cgi?id=126178
37286
37287        Reviewed by Antti Koivisto.
37288
37289        Inspired by https://chromium.googlesource.com/chromium/blink/+/a622cb80af2bfb0c5d91123cbcfa4fa72a06554c
37290
37291        Use inline Node::isDocumentFragment() instead of virtual nodeType().
37292
37293        * dom/ContainerNode.cpp:
37294        (WebCore::collectChildrenAndRemoveFromOldParent):
37295        * dom/Document.cpp:
37296        (WebCore::Document::canReplaceChild):
37297
372982013-12-23  Gwang Yoon Hwang  <ryumiel@company100.net>
37299
37300        Clear ScratchBuffer::m_lastLayerSize when clearing the scratch buffer.
37301        https://bugs.webkit.org/show_bug.cgi?id=126150
37302
37303        Reviewed by Simon Fraser.
37304
37305        Since ScratchBuffer::clearScratchBuffer only clears m_lastRadius,
37306        ShadowBlur doesn't draw shadow into the re-created scratch buffer if it
37307        tries to draw shadow without blurRadius.
37308
37309        Clear m_lastLayerSize to empty is enought to ensure that there is no
37310        drawn contents in the scratch buffer.
37311
37312        No new tests due to the flaky nature of reproducing the issue.
37313
37314        * platform/graphics/ShadowBlur.cpp:
37315        (WebCore::ScratchBuffer::clearScratchBuffer):
37316
373172013-12-23  Benjamin Poulain  <benjamin@webkit.org>
37318
37319        Add id matching to the Selector Code Generator
37320        https://bugs.webkit.org/show_bug.cgi?id=126154
37321
37322        Reviewed by Antti Koivisto.
37323
37324        Compile matching for #id selectors. IDs are Atomic String so it is just a matter
37325        of comparing the pointers.
37326
37327        No attempt is made at optimizing for the double #id case because such problem
37328        do not really happen outside tests.
37329
37330        * cssjit/SelectorCompiler.cpp:
37331        (WebCore::SelectorCompiler::SelectorFragment::SelectorFragment):
37332        (WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
37333        (WebCore::SelectorCompiler::SelectorCodeGenerator::compile):
37334        (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
37335        (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementDataMatching):
37336        (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementHasId):
37337        * dom/Element.h:
37338        (WebCore::Element::elementDataMemoryOffset):
37339        * dom/ElementData.h:
37340        (WebCore::ElementData::idForStyleResolutionMemoryOffset):
37341
373422013-12-23  Oliver Hunt  <oliver@apple.com>
37343
37344        Update custom setter implementations to perform type checks
37345        https://bugs.webkit.org/show_bug.cgi?id=126171
37346
37347        Reviewed by Daniel Bates.
37348
37349        Update the bindings code generator for setters so that they perform a real
37350        type check.
37351
37352        * bindings/scripts/CodeGeneratorJS.pm:
37353        (GenerateAttributeEventListenerCall):
37354        (GenerateHeader):
37355        (GenerateImplementation):
37356        * bindings/scripts/test/JS/JSTestInterface.cpp:
37357        (WebCore::setJSTestInterfaceConstructorImplementsStaticAttr):
37358        (WebCore::setJSTestInterfaceImplementsStr2):
37359        (WebCore::setJSTestInterfaceImplementsStr3):
37360        (WebCore::setJSTestInterfaceImplementsNode):
37361        (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr):
37362        (WebCore::setJSTestInterfaceSupplementalStr2):
37363        (WebCore::setJSTestInterfaceSupplementalStr3):
37364        (WebCore::setJSTestInterfaceSupplementalNode):
37365        * bindings/scripts/test/JS/JSTestInterface.h:
37366        * bindings/scripts/test/JS/JSTestObj.cpp:
37367        (WebCore::setJSTestObjConstructorStaticStringAttr):
37368        (WebCore::setJSTestObjTestSubObjEnabledBySettingConstructor):
37369        (WebCore::setJSTestObjEnumAttr):
37370        (WebCore::setJSTestObjByteAttr):
37371        (WebCore::setJSTestObjOctetAttr):
37372        (WebCore::setJSTestObjShortAttr):
37373        (WebCore::setJSTestObjUnsignedShortAttr):
37374        (WebCore::setJSTestObjLongAttr):
37375        (WebCore::setJSTestObjLongLongAttr):
37376        (WebCore::setJSTestObjUnsignedLongLongAttr):
37377        (WebCore::setJSTestObjStringAttr):
37378        (WebCore::setJSTestObjTestObjAttr):
37379        (WebCore::setJSTestObjXMLObjAttr):
37380        (WebCore::setJSTestObjCreate):
37381        (WebCore::setJSTestObjReflectedStringAttr):
37382        (WebCore::setJSTestObjReflectedIntegralAttr):
37383        (WebCore::setJSTestObjReflectedUnsignedIntegralAttr):
37384        (WebCore::setJSTestObjReflectedBooleanAttr):
37385        (WebCore::setJSTestObjReflectedURLAttr):
37386        (WebCore::setJSTestObjReflectedCustomIntegralAttr):
37387        (WebCore::setJSTestObjReflectedCustomBooleanAttr):
37388        (WebCore::setJSTestObjReflectedCustomURLAttr):
37389        (WebCore::setJSTestObjTypedArrayAttr):
37390        (WebCore::setJSTestObjAttrWithGetterException):
37391        (WebCore::setJSTestObjAttrWithSetterException):
37392        (WebCore::setJSTestObjStringAttrWithGetterException):
37393        (WebCore::setJSTestObjStringAttrWithSetterException):
37394        (WebCore::setJSTestObjCustomAttr):
37395        (WebCore::setJSTestObjWithScriptStateAttribute):
37396        (WebCore::setJSTestObjWithScriptExecutionContextAttribute):
37397        (WebCore::setJSTestObjWithScriptStateAttributeRaises):
37398        (WebCore::setJSTestObjWithScriptExecutionContextAttributeRaises):
37399        (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttribute):
37400        (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
37401        (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
37402        (WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
37403        (WebCore::setJSTestObjConditionalAttr1):
37404        (WebCore::setJSTestObjConditionalAttr2):
37405        (WebCore::setJSTestObjConditionalAttr3):
37406        (WebCore::setJSTestObjConditionalAttr4Constructor):
37407        (WebCore::setJSTestObjConditionalAttr5Constructor):
37408        (WebCore::setJSTestObjConditionalAttr6Constructor):
37409        (WebCore::setJSTestObjAnyAttribute):
37410        (WebCore::setJSTestObjMutablePoint):
37411        (WebCore::setJSTestObjImmutablePoint):
37412        (WebCore::setJSTestObjStrawberry):
37413        (WebCore::setJSTestObjStrictFloat):
37414        (WebCore::setJSTestObjId):
37415        (WebCore::setJSTestObjReplaceableAttribute):
37416        (WebCore::setJSTestObjNullableLongSettableAttribute):
37417        (WebCore::setJSTestObjNullableStringValue):
37418        (WebCore::setJSTestObjAttributeWithReservedEnumType):
37419        * bindings/scripts/test/JS/JSTestObj.h:
37420        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
37421        (WebCore::setJSTestSerializedScriptValueInterfaceValue):
37422        (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue):
37423        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
37424        * bindings/scripts/test/JS/JSTestTypedefs.cpp:
37425        (WebCore::setJSTestTypedefsUnsignedLongLongAttr):
37426        (WebCore::setJSTestTypedefsImmutableSerializedScriptValue):
37427        (WebCore::setJSTestTypedefsAttrWithGetterException):
37428        (WebCore::setJSTestTypedefsAttrWithSetterException):
37429        (WebCore::setJSTestTypedefsStringAttrWithGetterException):
37430        (WebCore::setJSTestTypedefsStringAttrWithSetterException):
37431        * bindings/scripts/test/JS/JSTestTypedefs.h:
37432
374332013-12-23  Lucas Forschler  <lforschler@apple.com>
37434
37435        <rdar://problem/15682948> Update copyright strings
37436
37437        Reviewed by Dan Bernstein
37438
37439        * Info.plist:
37440
374412013-12-23  Commit Queue  <commit-queue@webkit.org>
37442
37443        Unreviewed, rolling out r160945.
37444        http://trac.webkit.org/changeset/160945
37445        https://bugs.webkit.org/show_bug.cgi?id=126164
37446
37447        Seems to have broken multiple canvas tests (Requested by ap on
37448        #webkit).
37449
37450        * WebCore.xcodeproj/project.pbxproj:
37451        * platform/graphics/cg/ImageBufferBackingStoreCache.cpp: Removed.
37452        * platform/graphics/cg/ImageBufferBackingStoreCache.h: Removed.
37453        * platform/graphics/cg/ImageBufferCG.cpp:
37454        (WebCore::createIOSurface):
37455        (WebCore::ImageBuffer::ImageBuffer):
37456        (WebCore::ImageBuffer::~ImageBuffer):
37457
374582013-12-23  Eric Carlson  <eric.carlson@apple.com>
37459
37460        AudioSessionManager should be MediaSessionManager
37461        https://bugs.webkit.org/show_bug.cgi?id=126087
37462
37463        Reviewed by Jer Noble.
37464
37465        No new tests, no change in functionality.
37466
37467        * WebCore.xcodeproj/project.pbxproj: Change file names.
37468
37469        * html/HTMLMediaElement.cpp:
37470        (WebCore::HTMLMediaElement::HTMLMediaElement): MediaSessionManagerToken::create() takes a client
37471            interface instead of the media type.
37472        * html/HTMLMediaElement.h:
37473
37474        * platform/audio/AudioSessionListener.h: Include <wtf/Noncopyable.h>.
37475        
37476        AudioSessionManager.* -> MediaSessionManager.*
37477        * platform/audio/AudioSessionManager.cpp: Removed.
37478        * platform/audio/AudioSessionManager.h: Removed.
37479        * platform/audio/MediaSessionManager.cpp: Copied from Source/WebCore/platform/audio/AudioSessionManager.cpp.
37480        (MediaSessionManagerToken::create):
37481        (MediaSessionManagerToken::MediaSessionManagerToken):
37482        (MediaSessionManagerToken::~MediaSessionManagerToken):
37483        (MediaSessionManager::sharedManager):
37484        (MediaSessionManager::MediaSessionManager):
37485        (MediaSessionManager::has):
37486        (MediaSessionManager::count):
37487        (MediaSessionManager::addToken):
37488        (MediaSessionManager::removeToken):
37489        (MediaSessionManager::updateSessionState):
37490        * platform/audio/MediaSessionManager.h: Copied from Source/WebCore/platform/audio/AudioSessionManager.h.
37491
37492        * platform/audio/mac/AudioDestinationMac.cpp:
37493        (WebCore::AudioDestinationMac::AudioDestinationMac): MediaSessionManagerToken::create() takes a
37494            client interface instead of the media type.
37495        * platform/audio/mac/AudioDestinationMac.h:
37496
37497        * platform/audio/mac/AudioSessionMac.cpp:
37498        * platform/audio/mac/AudioSessionManagerMac.cpp: Removed.
37499        * platform/audio/mac/MediaSessionManagerMac.cpp: Copied from Source/WebCore/platform/audio/mac/AudioSessionManagerMac.cpp.
37500        (MediaSessionManager::updateSessionState):
37501
375022013-12-23  Zan Dobersek  <zdobersek@igalia.com>
37503
37504        webkit gtk 2.2.3 stable tarball compilation error
37505        https://bugs.webkit.org/show_bug.cgi?id=125987
37506
37507        Reviewed by Gustavo Noronha Silva.
37508
37509        Only try including <gdk/gdkwayland.h> and using GDK_IS_WAYLAND_DISPLAY if the Wayland support has been
37510        enabled and when not compiling with GTK+ 2 (which occurs when building for libPlatformGtk2).
37511
37512        * platform/graphics/GLContext.cpp:
37513        (WebCore::GLContext::createContextForWindow):
37514
375152013-12-23  Piotr Grad  <p.grad@samsung.com>
37516
37517        [GStreamer] video/audio seeking is not unified.
37518        https://bugs.webkit.org/show_bug.cgi?id=125852
37519
37520        Reviewed by Philippe Normand.
37521
37522        This bug is fixing regression with seeking audio/video elements and unifies seeking
37523        in MediaPlayerPrivateGStreamer.
37524
37525        Test: media/video-seek-with-negative-playback.html
37526
37527        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
37528        (WebCore::MediaPlayerPrivateGStreamer::seek):
37529        (WebCore::MediaPlayerPrivateGStreamer::seekIncludingRate):
37530        (WebCore::MediaPlayerPrivateGStreamer::setRate):
37531        (WebCore::MediaPlayerPrivateGStreamer::updateStates):
37532        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
37533
375342013-12-23  ChangSeok Oh  <changseok.oh@collabora.com>
37535
37536        [GTK][WK2] WebGL is not working with GLES
37537        https://bugs.webkit.org/show_bug.cgi?id=126138
37538
37539        Reviewed by Martin Robinson.
37540
37541        m_texture has been unnecessarily regenerated. It's generated in GraphicsContext3D
37542        constructor for offscreen rendering. And m_compositorTexture is used by only Mac port.
37543        They create it in their GraphicsContext3D constructor so that we don't need to recreate it
37544        in GC3DOpenGLES::reshapeFBOs.
37545
37546        No new tests since no functionality changed.
37547
37548        * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
37549        (WebCore::GraphicsContext3D::~GraphicsContext3D):
37550        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
37551        (WebCore::GraphicsContext3D::reshapeFBOs):
37552        * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
37553        (WebCore::GraphicsContext3D::reshapeFBOs):
37554
375552013-12-22  Benjamin Poulain  <bpoulain@apple.com>
37556
37557        Create a skeleton for CSS Selector code generation
37558        https://bugs.webkit.org/show_bug.cgi?id=126044
37559
37560        Reviewed by Antti Koivisto and Gavin Barraclough.
37561
37562        Add CSSCompiler, which provides the basic infrastructure to compile
37563        CSS Selectors on x86_64.
37564
37565        Compilation happens in two phases.
37566        1) The various matching and relation of each CSSSelector is aggregated into units
37567           matching a single element: SelectorFragment.
37568           SelectorFragment also knows about the relations between different fragments,
37569           and contains all the information to generate the code for a particular element.
37570        2) The compiler then goes over the fragments, and generate code based on the information
37571           of each fragment.
37572
37573        It the current state, SelectorCompiler only compiles the tag matching selectors and
37574        any of the relation between selectors.
37575
37576        Depending on the relation and position of a fragment, failure on traversal or matching
37577        does not necessarily causes the complete selector. A failure can cause matching to
37578        resume from the parent or the sibling of a previously visisted node.
37579        The implementation of this is done through the BacktrackingAction. In case of failure,
37580        the next starting state is setup and the program counter jumps back to the appropriate
37581        starting point.
37582
37583        When backtracking, the method used to save the starting point depends on the type
37584        of backtracking.
37585        The child/parent relation (">") is very common so it uses an additional register to keep
37586        the next starting point (m_descendantBacktrackingStart).
37587        The indirect sibling relation ("~") is much less common and uses the stack to save
37588        the next starting point.
37589
37590        * WebCore.xcodeproj/project.pbxproj:
37591        * cssjit/SelectorCompiler.cpp: Added.
37592        (WebCore::SelectorCompiler::SelectorFragment::SelectorFragment):
37593        (WebCore::SelectorCompiler::compileSelector):
37594        (WebCore::SelectorCompiler::fragmentRelationForSelectorRelation):
37595        (WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
37596        (WebCore::SelectorCompiler::SelectorCodeGenerator::compile):
37597        (WebCore::SelectorCompiler::updateChainStates):
37598        (WebCore::SelectorCompiler::isFirstAncestor):
37599        (WebCore::SelectorCompiler::isFirstAdjacent):
37600        (WebCore::SelectorCompiler::isAfterChildRelation):
37601        (WebCore::SelectorCompiler::solveBacktrackingAction):
37602        (WebCore::SelectorCompiler::requiresAdjacentTail):
37603        (WebCore::SelectorCompiler::requiresDescendantTail):
37604        (WebCore::SelectorCompiler::SelectorCodeGenerator::computeBacktrackingInformation):
37605        (WebCore::SelectorCompiler::testIsElementFlagOnNode):
37606        (WebCore::SelectorCompiler::SelectorCodeGenerator::generateWalkToParentElement):
37607        (WebCore::SelectorCompiler::SelectorCodeGenerator::generateParentElementTreeWalker):
37608        (WebCore::SelectorCompiler::SelectorCodeGenerator::generateAncestorTreeWalker):
37609        (WebCore::SelectorCompiler::SelectorCodeGenerator::generateWalkToPreviousAdjacent):
37610        (WebCore::SelectorCompiler::SelectorCodeGenerator::generateDirectAdjacentTreeWalker):
37611        (WebCore::SelectorCompiler::SelectorCodeGenerator::generateIndirectAdjacentTreeWalker):
37612        (WebCore::SelectorCompiler::SelectorCodeGenerator::markParentElementIfResolvingStyle):
37613        (WebCore::SelectorCompiler::SelectorCodeGenerator::linkFailures):
37614        (WebCore::SelectorCompiler::SelectorCodeGenerator::generateAdjacentBacktrackingTail):
37615        (WebCore::SelectorCompiler::SelectorCodeGenerator::generateDescendantBacktrackingTail):
37616        (WebCore::SelectorCompiler::SelectorCodeGenerator::generateBacktrackingTailsIfNeeded):
37617        (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
37618        (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementHasTagName):
37619        * cssjit/SelectorCompiler.h: Added.
37620        (WebCore::SelectorCompilationStatus::SelectorCompilationStatus):
37621        (WebCore::SelectorCompilationStatus::operator Status):
37622        (WebCore::SelectorCompiler::simpleSelectorCheckerFunction):
37623        (WebCore::SelectorCompiler::selectorCheckerFunctionWithCheckingContext):
37624        * dom/Element.cpp:
37625        (WebCore::Element::setChildrenAffectedByDirectAdjacentRules):
37626        (WebCore::Element::setChildrenAffectedByForwardPositionalRules):
37627        * dom/Element.h:
37628        (WebCore::Element::tagQNameMemoryOffset):
37629        (WebCore::Element::setChildrenAffectedByForwardPositionalRules):
37630        * dom/Node.h:
37631        (WebCore::Node::parentNodeMemoryOffset):
37632        (WebCore::Node::previousSiblingMemoryOffset):
37633        (WebCore::Node::nodeFlagsMemoryOffset):
37634        (WebCore::Node::flagIsElement):
37635        * dom/QualifiedName.h:
37636        (WebCore::QualifiedName::QualifiedNameImpl::localNameMemoryOffset):
37637        (WebCore::QualifiedName::QualifiedNameImpl::namespaceMemoryOffset):
37638        (WebCore::QualifiedName::implMemoryOffset):
37639
376402013-12-22  Mihnea Ovidenie  <mihnea@adobe.com>
37641
37642        [CSSRegions] Crash when trying to select content from invalid region
37643        https://bugs.webkit.org/show_bug.cgi?id=126113
37644
37645        Reviewed by Antti Koivisto.
37646
37647        After fix for https://bugs.webkit.org/show_bug.cgi?id=120769, positionForPoint for a region attempts to use the associated named flow to perform its task.
37648        However, this should happen only when the region is valid. If the region is invalid, part of a dependency cycle, positionForPoint should behave as usual
37649        for a block instead of a region, otherwise it may run into an infinite loop due to cyclic dependencies and a crash will occur.
37650
37651        This patch ensures that positionForPoint region specifie behaviour is followed only if the region is valid - not part of a dependency cycle.
37652
37653        Test: fast/regions/selection/invalid-region-selection-crash.html
37654
37655        * rendering/RenderRegion.cpp:
37656        (WebCore::RenderRegion::positionForPoint):
37657
376582013-12-21  Dirk Schulze  <krit@webkit.org>
37659
37660        Start refactoring Filter code to reuse CachedSVGDocument for clipPath
37661        https://bugs.webkit.org/show_bug.cgi?id=126069
37662
37663        Reviewed by Andreas Kling.
37664
37665        Smaller refactoring of the CSS filter style resolver code. Previously the code
37666        requested the FilterOperations list from RenderStyle and compared the content
37667        in this list with an internal map. Then the resource loading was triggered.
37668        With the refactoring we do not request the list from RenderStyle anymore but
37669        rely on the hash map data entirely.
37670
37671        * css/StyleResolver.cpp:
37672        (WebCore::StyleResolver::loadPendingSVGDocuments):
37673        * platform/graphics/filters/FilterOperation.h:
37674
376752013-12-20  Andy Estes  <aestes@apple.com>
37676
37677        [Mac] Soft-link WebContentAnalysis.framework
37678        https://bugs.webkit.org/show_bug.cgi?id=126102
37679
37680        Reviewed by Dan Bernstein.
37681
37682        * Configurations/WebCore.xcconfig: There's no need to modify LDFLAGS
37683        now that we don't hard link against WebContentAnalysis.framework.
37684        * WebCore.xcodeproj/project.pbxproj: Removed
37685        WebContentAnalysis.framework from the 'Link Binary with Libraries'
37686        build phase.
37687        * platform/mac/ContentFilterMac.mm: Soft-linked
37688        WebContentAnalysis.framework and the WebFilterEvaluator @class.
37689        (WebCore::ContentFilter::ContentFilter): Called getWebFilterEvaluatorClass().
37690        (WebCore::ContentFilter::isEnabled): Ditto.
37691        * platform/mac/SoftLinking.h: Added an implementation of
37692        SOFT_LINK_PRIVATE_FRAMEWORK().
37693
376942013-12-21  Antti Koivisto  <antti@apple.com>
37695
37696        Unreviewed, rolling out r160916.
37697        http://trac.webkit.org/changeset/160916
37698        https://bugs.webkit.org/show_bug.cgi?id=126073
37699
37700        Roll out a temporary fix. The underlying issue was fixed.
37701
37702        * accessibility/AccessibilityRenderObject.cpp:
37703        (WebCore::AccessibilityRenderObject::AccessibilityRenderObject):
37704        (WebCore::AccessibilityRenderObject::~AccessibilityRenderObject):
37705        (WebCore::AccessibilityRenderObject::detach):
37706        (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
37707        * accessibility/AccessibilityRenderObject.h:
37708
377092013-12-21  Antti Koivisto  <antti@apple.com>
37710
37711        Figure out if node is focusable without requiring renderer
37712        https://bugs.webkit.org/show_bug.cgi?id=126118
37713
37714        Reviewed by Andreas Kling.
37715
37716        * dom/Element.cpp:
37717        (WebCore::Element::computedStyle):
37718        
37719            Use inDocument() test instead of the attached() test. We can compute style for anything that
37720            is in document.
37721
37722        * dom/Node.cpp:
37723        (WebCore::Node::isContentEditable):
37724        (WebCore::Node::isContentRichlyEditable):
37725        (WebCore::Node::hasEditableStyle):
37726        
37727            Use computedStyle instead of getting the style from renderer. Computed style gets constructed
37728            on demand if renderer does not exist. If it does then the existing style is used.
37729
37730        (WebCore::Node::isEditableToAccessibility):
37731        (WebCore::Node::canStartSelection):
37732        (WebCore::Node::isRootEditableElement):
37733        (WebCore::Node::rootEditableElement):
37734        * dom/Node.h:
37735        (WebCore::Node::hasEditableStyle):
37736        (WebCore::Node::hasRichlyEditableStyle):
37737        
37738            Renamed from rendererIsEditable since these no longer require renderer.
37739
37740        (WebCore::HTMLElement::supportsFocus):
37741        
37742            Stop calling updateStyleIfNeeded() and forcing render tree construction.
37743
377442013-12-21  Carlos Garcia Campos  <cgarcia@igalia.com>
37745
37746        [SOUP] ResourceHandleSoup should use async client callbacks when client uses async callbacks
37747        https://bugs.webkit.org/show_bug.cgi?id=126006
37748
37749        Reviewed by Martin Robinson.
37750
37751        This fixes WebKit2 loader client unit tests when using the network
37752        process.
37753
37754        * platform/network/ResourceHandle.cpp:
37755        * platform/network/soup/ResourceHandleSoup.cpp:
37756        (WebCore::doRedirect): Call willSendRequestAsync on the client
37757        when usesAsyncCallbacks returns true.
37758        (WebCore::nextMultipartResponsePartCallback): Call
37759        didReceiveResponseAsync on the client when usesAsyncCallbacks
37760        returns true.
37761        (WebCore::sendRequestCallback): Ditto.
37762        (WebCore::ResourceHandle::continueWillSendRequest): Empty
37763        implementation for now because the default one asserts.
37764        (WebCore::ResourceHandle::continueDidReceiveResponse): Ditto.
37765        (WebCore::ResourceHandle::continueShouldUseCredentialStorage): Ditto.
37766
377672013-12-20  Anders Carlsson  <andersca@apple.com>
37768
37769        Replace yield() and pauseBriefly() with std::this_thread::yield()
37770        https://bugs.webkit.org/show_bug.cgi?id=126105
37771
37772        Reviewed by Sam Weinig.
37773
37774        * platform/sql/SQLiteDatabase.cpp:
37775        (WebCore::SQLiteDatabase::interrupt):
37776
377772013-12-20  Ryosuke Niwa  <rniwa@webkit.org>
37778
37779        Assert that RootInlineBox::setLineBreakInfo should is never called on a RenderInline without line boxes
37780        https://bugs.webkit.org/show_bug.cgi?id=126101
37781
37782        Reviewed by Simon Fraser.
37783
37784        Merge assertions added in https://chromium.googlesource.com/chromium/blink/+/716ac74fd475b581d69c0aa8ec2d806201c3a420
37785
37786        The code change was not merged since we never hit the added assertion on the attached test case in WebKit.
37787
37788        * rendering/RootInlineBox.cpp:
37789        (WebCore::RootInlineBox::setLineBreakInfo):
37790
377912013-12-20  Joseph Pecoraro  <pecoraro@apple.com>
37792
37793        Web Inspector: Remove the references to Node in InjectedScript
37794        https://bugs.webkit.org/show_bug.cgi?id=126091
37795
37796        Reviewed by Timothy Hatcher.
37797
37798        Remove the last DOM references from InjectedScript so that
37799        InjectedScript can move down into JavaScriptCore. The only
37800        remaining references were to Nodes, which are all just thin
37801        wrappers around existing functions. Move Node / JSNode (JSValue)
37802        conversion into InspectorDOMAgent, where it was used.
37803
37804        No new tests, no observable change in functionality.
37805
37806        * bindings/js/JSInjectedScriptHostCustom.cpp:
37807        * inspector/InjectedScript.cpp:
37808        (WebCore::InjectedScript::inspectObject):
37809        (WebCore::InjectedScript::releaseObject):
37810        * inspector/InjectedScript.h:
37811        * inspector/InjectedScriptHost.h:
37812        * inspector/InjectedScriptSource.js:
37813        * inspector/InspectorDOMAgent.cpp:
37814        (WebCore::InspectorDOMAgent::focusNode):
37815        (WebCore::InspectorDOMAgent::highlightNode):
37816        (WebCore::InspectorDOMAgent::requestNode):
37817        (WebCore::InspectorDOMAgent::nodeForObjectId):
37818        (WebCore::InspectorDOMAgent::resolveNode):
37819        (WebCore::InspectorDOMAgent::scriptValueAsNode):
37820        (WebCore::InspectorDOMAgent::nodeAsScriptValue):
37821        * inspector/InspectorDOMAgent.h:
37822        * inspector/PageConsoleAgent.cpp:
37823
378242013-12-20  Myles C. Maxfield  <mmaxfield@apple.com>
37825
37826        Faster implementation of text-decoration-skip: ink
37827        https://bugs.webkit.org/show_bug.cgi?id=125718
37828
37829        Reviewed by Simon Fraser.
37830
37831        This new implementation of text-decoration-skip: ink extracts
37832        each glyph into a path, then decomposes each path into a series
37833        of contours. It then intersects each contour with the top and
37834        bottom of the underline (by approximating the contour with a line).
37835        It then draws underlines in between these intersection regions.
37836
37837        Tests for text-decoration-skip: ink already exist in
37838        fast/css3-text/css3-text-decoration/text-decoration-skip
37839
37840        * platform/graphics/Font.h: Signature of new function
37841        * platform/graphics/mac/FontMac.mm:
37842        (WebCore::GlyphIterationState::GlyphIterationState): Persistent
37843        between calls to findPathIntersections
37844        (WebCore::findIntersectionPoint): Calculates an intersection point
37845        between two lines
37846        (WebCore::findPathIntersections): Called by CGPathApply to find
37847        intersections of each contour
37848        (WebCore::Font::intersectionPoints): Function to get the places
37849        where an underline would intersect a TextRun.
37850        * rendering/InlineTextBox.cpp:
37851        (WebCore::compareTuples): Used for sorting intersection ranges
37852        (WebCore::translateIntersectionPointsToSkipInkBoundaries): Converts
37853        a sequence of intersection points to the locations where
37854        text-decoration-skip: ink should draw underlines
37855        (WebCore::drawSkipInkUnderline): Draws a sequence of short underlines
37856        (WebCore::InlineTextBox::paintDecoration):
37857        * rendering/TextPainter.cpp:
37858        (WebCore::TextPainter::intersectionPoints): Calls Font::intersectionPoints
37859        * rendering/TextPainter.h:
37860
378612013-12-20  Joseph Pecoraro  <pecoraro@apple.com>
37862
37863        Web Inspector: Give the CommandLineAPIModule its own Host object, making InjectedScriptHost viable for a JS Context
37864        https://bugs.webkit.org/show_bug.cgi?id=126082
37865
37866        Reviewed by Timothy Hatcher.
37867
37868        Extract CommandLineAPIHost from InjectedScriptHost. The command line API contained
37869        a bunch of DOM specific JavaScript that would not be suitable for a pure JavaScript
37870        environment. Now that the DOM related code is in this WebCore only module, give this
37871        module a host object that WebCore will provide.
37872
37873        No new tests, no observable change in functionality.
37874
37875        * CMakeLists.txt:
37876        * DerivedSources.cpp:
37877        * DerivedSources.make:
37878        * GNUmakefile.list.am:
37879        * UseJSC.cmake:
37880        * WebCore.vcxproj/WebCore.vcxproj:
37881        * WebCore.vcxproj/WebCore.vcxproj.filters:
37882        * WebCore.xcodeproj/project.pbxproj:
37883        * bindings/js/JSBindingsAllInOne.cpp:
37884        Add new files.
37885
37886        * bindings/js/JSCommandLineAPIHostCustom.cpp: Added.
37887        (WebCore::JSCommandLineAPIHost::inspectedObject):
37888        (WebCore::getJSListenerFunctions):
37889        (WebCore::JSCommandLineAPIHost::getEventListeners):
37890        (WebCore::JSCommandLineAPIHost::inspect):
37891        (WebCore::JSCommandLineAPIHost::databaseId):
37892        (WebCore::JSCommandLineAPIHost::storageId):
37893        * bindings/js/JSInjectedScriptHostCustom.cpp:
37894        * inspector/CommandLineAPIHost.cpp: Copied from Source/WebCore/inspector/InjectedScriptHost.cpp.
37895        (WebCore::CommandLineAPIHost::create):
37896        (WebCore::CommandLineAPIHost::CommandLineAPIHost):
37897        (WebCore::CommandLineAPIHost::~CommandLineAPIHost):
37898        (WebCore::CommandLineAPIHost::disconnect):
37899        (WebCore::CommandLineAPIHost::inspectImpl):
37900        (WebCore::CommandLineAPIHost::getEventListenersImpl):
37901        (WebCore::CommandLineAPIHost::clearConsoleMessages):
37902        (WebCore::CommandLineAPIHost::copyText):
37903        (WebCore::CommandLineAPIHost::InspectableObject::get):
37904        (WebCore::CommandLineAPIHost::addInspectedObject):
37905        (WebCore::CommandLineAPIHost::clearInspectedObjects):
37906        (WebCore::CommandLineAPIHost::inspectedObject):
37907        (WebCore::CommandLineAPIHost::databaseIdImpl):
37908        (WebCore::CommandLineAPIHost::storageIdImpl):
37909        * inspector/CommandLineAPIHost.h: Copied from Source/WebCore/inspector/InjectedScriptHost.h.
37910        (WebCore::CommandLineAPIHost::init):
37911        * inspector/CommandLineAPIHost.idl: Copied from Source/WebCore/inspector/InjectedScriptHost.idl.
37912        * inspector/CommandLineAPIModule.cpp:
37913        These are almost all pure copies from InjectedScriptHost files. Cleaned up a bit.
37914
37915        * inspector/InjectedScriptModule.h:
37916        * inspector/InjectedScriptModule.cpp:
37917        (WebCore::InjectedScriptModule::ensureInjected):
37918        Modules can now define a host object when they are getting injected.
37919
37920        (WebCore::CommandLineAPIModule::host):
37921        * inspector/CommandLineAPIModule.h:
37922        Provide a CommandLineAPIHost, host object.
37923
37924        * inspector/InjectedScriptCanvasModule.h:
37925        * inspector/InjectedScriptCanvasModule.cpp:
37926        (WebCore::InjectedScriptCanvasModule::host):
37927        No host object is needed for the CanvasModule.
37928
37929        * inspector/InjectedScriptSource.js:
37930        * inspector/CommandLineAPIModuleSource.js:
37931        When injecting a module, pass on an optional host object to
37932        the module's source. Move a little more code between the
37933        two files. The two files are very tightly coupled right now.
37934
37935        * inspector/InjectedScriptHost.cpp:
37936        (WebCore::InjectedScriptHost::create):
37937        * inspector/InjectedScriptHost.h:
37938        (WebCore::InjectedScriptHost::~InjectedScriptHost):
37939        (WebCore::InjectedScriptHost::InjectedScriptHost):
37940        * inspector/InjectedScriptHost.idl:
37941        Move any command line specific logic to CommandLineAPIHost classes.
37942
37943        * inspector/InjectedScriptManager.cpp:
37944        (WebCore::InjectedScriptManager::disconnect):
37945        * inspector/InjectedScriptManager.h:
37946        (WebCore::InjectedScriptManager::commandLineAPIHost):
37947        * inspector/InspectorConsoleAgent.cpp:
37948        (WebCore::InspectorConsoleAgent::addInspectedHeapObject):
37949        * inspector/InspectorController.cpp:
37950        (WebCore::InspectorController::InspectorController):
37951        * inspector/InspectorHeapProfilerAgent.cpp:
37952        (WebCore::InspectorHeapProfilerAgent::resetState):
37953        * inspector/InspectorProfilerAgent.cpp:
37954        (WebCore::InspectorProfilerAgent::resetState):
37955        * inspector/PageConsoleAgent.cpp:
37956        (WebCore::PageConsoleAgent::addInspectedNode):
37957        * inspector/PageInjectedScriptManager.cpp:
37958        (WebCore::PageInjectedScriptManager::PageInjectedScriptManager):
37959        (WebCore::PageInjectedScriptManager::disconnect):
37960        * inspector/PageInjectedScriptManager.h:
37961        * inspector/WorkerInspectorController.cpp:
37962        (WebCore::WorkerInspectorController::WorkerInspectorController):
37963        An InjectedScriptManager may optionally have a commandLineAPIHost object.
37964        If it does, initialize it, and send it messages.
37965
379662013-12-09  Myles C. Maxfield  <mmaxfield@apple.com>
37967
37968        Allow ImageBuffer to re-use IOSurfaces
37969        https://bugs.webkit.org/show_bug.cgi?id=125477
37970
37971        Reviewed by Geoff Garen.
37972
37973        This test adds a static class, ImageBufferBackingStoreCache, that vends
37974        IOSurfaces. It remembers IOSurfaces that have been returned to it until
37975        a configurable timeout.
37976
37977        The storage used by this class is in the form of a HashMap from a
37978        bucketed size to the IOSurface. There are many other data structures
37979        that could be used, but this implementation gives a 80% hit rate on
37980        normal browsing of some example sites with Canvas and
37981        text-decoration-skip: ink. Because the buckets are fairly
37982        small (rounding the width and height up to multiples of 8), traversing the
37983        bucket contents takes on average 2 steps. 
37984
37985        Test: fast/canvas/canvas-backing-store-reuse.html
37986
37987        * WebCore.xcodeproj/project.pbxproj: Added new caching class
37988        * platform/graphics/cg/ImageBufferBackingStoreCache.cpp: Added.
37989        (WebCore::createIOSurface): Moved from ImageBufferCG.cpp
37990        (WebCore::ImageBufferBackingStoreCache::timerFired): Forget the cache
37991        contents
37992        (WebCore::ImageBufferBackingStoreCache::schedulePurgeTimer):
37993        (WebCore::ImageBufferBackingStoreCache::get): Static getter
37994        (WebCore::ImageBufferBackingStoreCache::ImageBufferBackingStoreCache):
37995        (WebCore::ImageBufferBackingStoreCache::insertIntoCache): Memory-management
37996        creation function
37997        (WebCore::ImageBufferBackingStoreCache::takeFromCache): Memory-management
37998        deletion function
37999        (WebCore::ImageBufferBackingStoreCache::isAcceptableSurface): Does this cached
38000        IOSurface fit the bill?
38001        (WebCore::ImageBufferBackingStoreCache::tryTakeFromCache): Lookup
38002        a bucket and walk through its contents
38003        (WebCore::ImageBufferBackingStoreCache::getOrAllocate): Public function
38004        for clients who want a IOSurface from the cache
38005        (WebCore::ImageBufferBackingStoreCache::deallocate): Public
38006        function for clients to return an IOSurface to the pool
38007        * platform/graphics/cg/ImageBufferBackingStoreCache.h: Added.
38008        * platform/graphics/cg/ImageBufferCG.cpp: Update to use new cache
38009        (WebCore::ImageBuffer::ImageBuffer):
38010        (WebCore::ImageBuffer::~ImageBuffer):
38011
380122013-12-20  Simon Fraser  <simon.fraser@apple.com>
38013
38014        Change "threaded scrolling" terminology to "asynchronous scrolling"
38015        https://bugs.webkit.org/show_bug.cgi?id=126094
38016
38017        Reviewed by Tim Horton.
38018
38019        Rename ENABLE_THREADED_SCROLLING to ENABLE_ASYNC_SCROLLING, and change
38020        references to "main thread scrolling" to "synchronous scrolling".
38021        
38022        In a few places, functions with names like shouldUpdateScrollLayerPositionOnMainThread()
38023        were actually returning SynchronousScrollingReasons, so rename them appropriately.
38024
38025        * WebCore.exp.in:
38026        * page/FrameView.cpp:
38027        (WebCore::FrameView::shouldUpdateCompositingLayersAfterScrolling):
38028        (WebCore::FrameView::isRubberBandInProgress):
38029        (WebCore::FrameView::requestScrollPositionUpdate):
38030        (WebCore::FrameView::updatesScrollLayerPositionOnMainThread):
38031        (WebCore::FrameView::wheelEvent):
38032        * page/Page.cpp:
38033        (WebCore::Page::synchronousScrollingReasonsAsText):
38034        * page/Page.h:
38035        * page/scrolling/ScrollingCoordinator.cpp:
38036        (WebCore::ScrollingCoordinator::create):
38037        (WebCore::ScrollingCoordinator::ScrollingCoordinator):
38038        (WebCore::ScrollingCoordinator::frameViewHasSlowRepaintObjectsDidChange):
38039        (WebCore::ScrollingCoordinator::frameViewFixedObjectsDidChange):
38040        (WebCore::ScrollingCoordinator::frameViewRootLayerDidChange):
38041        (WebCore::ScrollingCoordinator::synchronousScrollingReasons):
38042        (WebCore::ScrollingCoordinator::updateSynchronousScrollingReasons):
38043        (WebCore::ScrollingCoordinator::setForceSynchronousScrollLayerPositionUpdates):
38044        (WebCore::ScrollingCoordinator::synchronousScrollingReasonsAsText):
38045        * page/scrolling/ScrollingCoordinator.h:
38046        (WebCore::ScrollingCoordinator::shouldUpdateScrollLayerPositionSynchronously):
38047        (WebCore::ScrollingCoordinator::setSynchronousScrollingReasons):
38048        * page/scrolling/ScrollingStateFixedNode.cpp:
38049        * page/scrolling/ScrollingStateFixedNode.h:
38050        * page/scrolling/ScrollingStateNode.cpp:
38051        * page/scrolling/ScrollingStateNode.h:
38052        * page/scrolling/ScrollingStateScrollingNode.cpp:
38053        (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
38054        (WebCore::ScrollingStateScrollingNode::setSynchronousScrollingReasons):
38055        (WebCore::ScrollingStateScrollingNode::dumpProperties):
38056        * page/scrolling/ScrollingStateScrollingNode.h: Awkward "ReasonsForSynchronousScrolling" to avoid
38057        conflict with the enum called SynchronousScrollingReasons.
38058        * page/scrolling/ScrollingStateStickyNode.cpp:
38059        * page/scrolling/ScrollingStateStickyNode.h:
38060        * page/scrolling/ScrollingStateTree.cpp:
38061        * page/scrolling/ScrollingStateTree.h:
38062        * page/scrolling/ScrollingThread.cpp:
38063        * page/scrolling/ScrollingThread.h:
38064        * page/scrolling/ScrollingTree.cpp:
38065        * page/scrolling/ScrollingTree.h:
38066        * page/scrolling/ScrollingTreeNode.cpp:
38067        * page/scrolling/ScrollingTreeNode.h:
38068        * page/scrolling/ScrollingTreeScrollingNode.cpp:
38069        (WebCore::ScrollingTreeScrollingNode::ScrollingTreeScrollingNode):
38070        (WebCore::ScrollingTreeScrollingNode::updateBeforeChildren):
38071        * page/scrolling/ScrollingTreeScrollingNode.h:
38072        (WebCore::ScrollingTreeScrollingNode::synchronousScrollingReasons):
38073        (WebCore::ScrollingTreeScrollingNode::shouldUpdateScrollLayerPositionSynchronously):
38074        * page/scrolling/mac/ScrollingCoordinatorMac.h:
38075        * page/scrolling/mac/ScrollingCoordinatorMac.mm:
38076        (WebCore::ScrollingCoordinatorMac::setSynchronousScrollingReasons):
38077        (WebCore::ScrollingCoordinatorMac::commitTreeState):
38078        * page/scrolling/mac/ScrollingStateNodeMac.mm:
38079        * page/scrolling/mac/ScrollingStateScrollingNodeMac.mm:
38080        * page/scrolling/mac/ScrollingThreadMac.mm:
38081        * page/scrolling/mac/ScrollingTreeFixedNode.h:
38082        * page/scrolling/mac/ScrollingTreeFixedNode.mm:
38083        * page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
38084        * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
38085        (WebCore::ScrollingTreeScrollingNodeMac::updateBeforeChildren):
38086        (WebCore::ScrollingTreeScrollingNodeMac::scrollPosition):
38087        (WebCore::ScrollingTreeScrollingNodeMac::setScrollPositionWithoutContentEdgeConstraints):
38088        (WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):
38089        (WebCore::logThreadedScrollingMode):
38090        * page/scrolling/mac/ScrollingTreeStickyNode.h:
38091        * page/scrolling/mac/ScrollingTreeStickyNode.mm:
38092        * platform/Scrollbar.cpp:
38093        (WebCore::Scrollbar::supportsUpdateOnSecondaryThread):
38094        * platform/graphics/TiledBacking.h:
38095        * platform/graphics/ca/mac/TileController.mm:
38096        (WebCore::TileController::TileController):
38097        (WebCore::TileController::updateTileCoverageMap):
38098        * platform/mac/MemoryPressureHandlerMac.mm:
38099        (WebCore::MemoryPressureHandler::releaseMemory):
38100        * rendering/RenderLayer.cpp:
38101        (WebCore::RenderLayer::setupFontSubpixelQuantization):
38102        * rendering/RenderLayerBacking.cpp:
38103        (WebCore::computeTileCoverage):
38104        * testing/Internals.cpp:
38105        (WebCore::Internals::mainThreadScrollingReasons):
38106        * testing/Internals.idl:
38107
381082013-12-20  Tim Horton  <timothy_horton@apple.com>
38109
38110        Revert r160327, r160273, and r160260.
38111
38112        We'll come up with something less aggressive, as this doesn't quite work.
38113
38114        * loader/cache/CachedImage.h:
38115        * loader/cache/CachedResource.h:
38116        * loader/cache/MemoryCache.cpp:
38117        (WebCore::MemoryCache::pruneLiveResourcesToSize):
38118        * platform/graphics/BitmapImage.cpp:
38119        (WebCore::BitmapImage::destroyDecodedDataIfNecessary):
38120        * platform/graphics/BitmapImage.h:
38121        * platform/graphics/Image.h:
38122
381232013-12-20  Anders Carlsson  <andersca@apple.com>
38124
38125        PostAttachCallbackDisabler should take a Document
38126        https://bugs.webkit.org/show_bug.cgi?id=126090
38127
38128        Reviewed by Andreas Kling.
38129
38130        suspendPostAttachCallbacks and resumePostAttachCallbacks always only get the document from the
38131        container node, so make them static member functions that take a Document&. Also, move PostAttachCallbackDisabler
38132        to Element.h in preparation for moving post attach callback handling to Element.
38133
38134        * dom/ContainerNode.cpp:
38135        (WebCore::ContainerNode::suspendPostAttachCallbacks):
38136        (WebCore::ContainerNode::resumePostAttachCallbacks):
38137        * dom/ContainerNode.h:
38138        * dom/Element.h:
38139        (WebCore::PostAttachCallbackDisabler::PostAttachCallbackDisabler):
38140        (WebCore::PostAttachCallbackDisabler::~PostAttachCallbackDisabler):
38141        * style/StyleResolveTree.cpp:
38142        (WebCore::Style::attachRenderTree):
38143
381442013-12-20  Anders Carlsson  <andersca@apple.com>
38145
38146        Move scheduleSetNeedsStyleRecalc to HTMLFrameOwnerElement
38147        https://bugs.webkit.org/show_bug.cgi?id=126083
38148
38149        Reviewed by Antti Koivisto.
38150
38151        scheduleSetNeedsStyleRecalc is only ever called on HTMLFrameOwnerElement, so
38152        move it there, remove the Node implementation and make it non-virtual.
38153
38154        * dom/ContainerNode.cpp:
38155        * dom/ContainerNode.h:
38156        * dom/Node.h:
38157        * html/HTMLFrameOwnerElement.cpp:
38158        (WebCore::needsStyleRecalcCallback):
38159        (WebCore::HTMLFrameOwnerElement::scheduleSetNeedsStyleRecalc):
38160        * html/HTMLFrameOwnerElement.h:
38161
381622013-12-20  Andy Estes  <aestes@apple.com>
38163
38164        Remove an unneeded include of WebCoreSystemInterface.h.
38165
38166        Rubber-stamped by Dan Bernstein.
38167
38168        * platform/mac/ContentFilterMac.mm:
38169
381702013-12-20  Anders Carlsson  <andersca@apple.com>
38171
38172        Node post attach callbacks should use references
38173        https://bugs.webkit.org/show_bug.cgi?id=126081
38174
38175        Reviewed by Antti Koivisto.
38176
38177        * dom/ContainerNode.cpp:
38178        (WebCore::ContainerNode::queuePostAttachCallback):
38179        (WebCore::ContainerNode::dispatchPostAttachCallbacks):
38180        (WebCore::needsStyleRecalcCallback):
38181        (WebCore::ContainerNode::scheduleSetNeedsStyleRecalc):
38182        * dom/ContainerNode.h:
38183        * html/HTMLFormControlElement.cpp:
38184        (WebCore::focusPostAttach):
38185        (WebCore::HTMLFormControlElement::didAttachRenderers):
38186        (WebCore::updateFromElementCallback):
38187        (WebCore::HTMLFormControlElement::didRecalcStyle):
38188        * html/HTMLPlugInImageElement.cpp:
38189        (WebCore::HTMLPlugInImageElement::didAttachRenderers):
38190        (WebCore::HTMLPlugInImageElement::updateWidgetCallback):
38191        (WebCore::HTMLPlugInImageElement::startLoadingImageCallback):
38192        * html/HTMLPlugInImageElement.h:
38193
381942013-12-20  Joseph Pecoraro  <pecoraro@apple.com>
38195
38196        Web Inspector: Extract CommandLineAPI into its own InjectedScriptModule
38197        https://bugs.webkit.org/show_bug.cgi?id=126038
38198
38199        Reviewed by Timothy Hatcher.
38200
38201        Only inject the CommandLineAPIModule once, when the InjectedScript
38202        is first created. This avoids running a small snippet of JavaScript
38203        to check if the module is loaded every time we fetch the InjectedScript.
38204
38205        * CMakeLists.txt:
38206        * GNUmakefile.list.am:
38207        * WebCore.vcxproj/WebCore.vcxproj:
38208        * WebCore.vcxproj/WebCore.vcxproj.filters:
38209        * WebCore.xcodeproj/project.pbxproj:
38210        * inspector/InspectorAllInOne.cpp:
38211        Add new files to the build.
38212
38213        * inspector/InjectedScriptManager.h:
38214        * inspector/InjectedScriptManager.cpp:
38215        (WebCore::InjectedScriptManager::createForPage):
38216        (WebCore::InjectedScriptManager::injectedScriptFor):
38217        (WebCore::InjectedScriptManager::didCreateInjectedScript):
38218        Add didCreateInjectedScript hook for a subclass to inject more scripts.
38219
38220        * inspector/PageInjectedScriptManager.h: Added.
38221        * inspector/PageInjectedScriptManager.cpp: Added.
38222        (WebCore::PageInjectedScriptManager::didCreateInjectedScript):
38223        For pages, inject the CommandLineAPIModule.
38224
38225        * inspector/PageRuntimeAgent.cpp:
38226        (WebCore::PageRuntimeAgent::injectedScriptForEval):
38227        This is replaced by PageInjectedScriptManager, we no longer need
38228        to do extra work every time we fetch the injectedScriptForEval.
38229
382302013-12-20  Joseph Pecoraro  <pecoraro@apple.com>
38231
38232        Web Inspector: Extract CommandLineAPI into its own InjectedScriptModule
38233        https://bugs.webkit.org/show_bug.cgi?id=126038
38234
38235        Reviewed by Timothy Hatcher.
38236
38237        No tests, no observable change in behavior.
38238
38239        Move the CommandLineAPI source into its own module. Load the module
38240        in InjectedScripts for WebCore::Pages. Not for workers.
38241
38242        Moving CommandLineAPI into it's own module moves it from being inside
38243        the same anonymous function to being evaluated outside the anonymous
38244        function. To connect the two InjectedScript passes itself to the
38245        injected module, and the CommandLineAPI module places its class on the
38246        injectedScript as injectedScript.CommandLineAPI.
38247
38248        This essentially makes the CommandLineAPI module an InjectedScript
38249        extension. InjectedScriptSource checks for the existence of
38250        this.CommandLineAPI to see if the fuller version is available. Otherwise
38251        it falls back to a BasicCommandLineAPI which only exposes "$_",
38252        which is the "last evaluated result". That will be useful for JS Contexts
38253        and Workers.
38254
38255        At the same time, this patch makes InjectedScriptModule more generic,
38256        to support being used in a pure JavaScript environment, meaning one
38257        without "window" as the global object.
38258
38259        * CMakeLists.txt:
38260        * DerivedSources.make:
38261        * GNUmakefile.am:
38262        * GNUmakefile.list.am:
38263        * WebCore.vcxproj/WebCore.vcxproj:
38264        * WebCore.vcxproj/WebCore.vcxproj.filters:
38265        * WebCore.xcodeproj/project.pbxproj:
38266        * inspector/InspectorAllInOne.cpp:
38267        Add files. Minify the CommandLineAPIModuleSource in generation.
38268
38269        * inspector/CommandLineAPIModule.h: Added.
38270        * inspector/CommandLineAPIModule.cpp: Added.
38271        (WebCore::CommandLineAPIModule::CommandLineAPIModule):
38272        (WebCore::CommandLineAPIModule::injectIfNeeded):
38273        (WebCore::CommandLineAPIModule::source):
38274        Inject the module that doesn't return an object, its just evaluated code
38275        extending the original InjectedScript.
38276
38277        * inspector/InjectedScriptModule.h:
38278        * inspector/InjectedScriptModule.cpp:
38279        (WebCore::InjectedScriptModule::ensureInjected):
38280        Only ASSERT the result was an object if the Module claims it returns an object.
38281
38282        * inspector/InjectedScriptCanvasModule.h:
38283        (WebCore::InjectedScriptCanvasModule::returnsObject):
38284        Return an object used later to call into the CanvasModule.
38285
38286        * inspector/PageRuntimeAgent.cpp:
38287        (WebCore::PageRuntimeAgent::injectedScriptForEval):
38288        Ensure the CommandLineAPIModule is loaded in the Page's InjectedScript.
38289
38290        * inspector/CommandLineAPIModuleSource.js: Added.
38291        Create the CommandLineAPI class and place it on injectedScript.
38292
38293        * inspector/InjectedScriptSource.js:
38294        (InjectedScript.prototype._evaluateOn):
38295        Inject either the BasicCommandLineAPI or extended CommandLineAPI.
38296        Derive the globalObject dynamically instead of assuming window.
38297        Inject the commandLineAPI on window.console or the globalObject based on context.
38298        Audit and rename uses of "window" to something like globalObject.
38299
383002013-12-20  Tim Horton  <timothy_horton@apple.com>
38301
38302        WebKit2 View Gestures: Implement smartMagnifyWithEvent: and make it work
38303        https://bugs.webkit.org/show_bug.cgi?id=125752
38304        <rdar://problem/15664245>
38305
38306        Reviewed by Anders Carlsson.
38307
38308        * WebCore.exp.in:
38309        Add some exports.
38310
383112013-12-20  Antti Koivisto  <antti@apple.com>
38312
38313        http/tests/misc/object-image-error.html asserts
38314        https://bugs.webkit.org/show_bug.cgi?id=126074
38315
38316        Reviewed by Andreas Kling.
38317
38318        * html/HTMLPlugInImageElement.cpp:
38319        (WebCore::HTMLPlugInImageElement::didAttachRenderers):
38320        (WebCore::HTMLPlugInImageElement::updateWidgetCallback):
38321        (WebCore::HTMLPlugInImageElement::startLoadingImage):
38322        (WebCore::HTMLPlugInImageElement::startLoadingImageCallback):
38323        * html/HTMLPlugInImageElement.h:
38324        
38325            Start image load from post-attach so we don't re-enter attach when image load fails synchronously.
38326
383272013-12-20  Antti Koivisto  <antti@apple.com>
38328
38329        Crashes in AccessibilityRenderObject::computeAccessibilityIsIgnored()
38330        https://bugs.webkit.org/show_bug.cgi?id=126073
38331
38332        Reviewed by Ryosuke Niwa.
38333
38334        Prevent the crash and try to catch in debug why it is happening.
38335
38336        * accessibility/AccessibilityRenderObject.cpp:
38337        (WebCore::AccessibilityRenderObject::AccessibilityRenderObject):
38338        (WebCore::AccessibilityRenderObject::~AccessibilityRenderObject):
38339        (WebCore::AccessibilityRenderObject::detach):
38340        (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
38341        * accessibility/AccessibilityRenderObject.h:
38342
383432013-12-20  Antti Koivisto  <antti@apple.com>
38344
38345        Fix asserting accesibility tests.
38346
38347        * html/HTMLElement.cpp:
38348        (WebCore::HTMLElement::supportsFocus): Accessibility code checks focus status during painting.
38349
383502013-12-20  Zan Dobersek  <zdobersek@igalia.com>
38351
38352        Unreviewed GTK build fix after r160909.
38353        Remove remaining uses of AttachLazily in code specific to the GTK port.
38354
38355        * html/shadow/MediaControlsGtk.cpp:
38356        (WebCore::MediaControlsGtk::initializeControls):
38357        (WebCore::MediaControlsGtk::createTextTrackDisplay):
38358
383592013-12-19  Antti Koivisto  <antti@apple.com>
38360
38361        Create render tree lazily
38362        https://bugs.webkit.org/show_bug.cgi?id=120685
38363
38364        Reviewed by Andreas Kling.
38365
38366        We currently recompute style and construct renderer for each DOM node immediately after they are added to 
38367        the tree. This is often inefficient as the style may change immediately afterwards and the work needs to be
38368        redone. 
38369        
38370        With this patch we always compute style and construct render tree lazily, either on style recalc timer or
38371        synchronously when they are needed. It also removes the 'attached' bit. If document has render tree then
38372        all nodes are conceptually "attached" even if this happens lazily.
38373        
38374        The patch slightly changes behavior of implicit CSS transitions. A synchronous style change during parsing
38375        may not trigger the animation anymore as laziness means we don't see anything changing. This matches Firefox
38376        and Chrome in our test cases.
38377        
38378        * WebCore.exp.in:
38379        * bindings/js/JSNodeCustom.cpp:
38380        (WebCore::JSNode::insertBefore):
38381        (WebCore::JSNode::replaceChild):
38382        (WebCore::JSNode::appendChild):
38383        
38384            All attaching is now lazy, remove AttachLazily.
38385
38386        * css/CSSComputedStyleDeclaration.cpp:
38387        (WebCore::ComputedStyleExtractor::propertyValue):
38388        
38389            SVG renderers with !isValid() have empty display property value for some reason. Keep the behavior.
38390
38391        * dom/ContainerNode.cpp:
38392        (WebCore::ContainerNode::insertBefore):
38393        (WebCore::ContainerNode::parserInsertBefore):
38394        (WebCore::ContainerNode::replaceChild):
38395        (WebCore::ContainerNode::appendChild):
38396        (WebCore::ContainerNode::parserAppendChild):
38397        (WebCore::ContainerNode::updateTreeAfterInsertion):
38398        * dom/ContainerNode.h:
38399        * dom/Document.cpp:
38400        (WebCore::Document::~Document):
38401        (WebCore::Document::updateStyleIfNeeded):
38402        (WebCore::Document::createRenderTree):
38403        (WebCore::Document::destroyRenderTree):
38404        
38405            Remove attach bit maintenance.
38406
38407        (WebCore::Document::webkitDidExitFullScreenForElement):
38408        
38409            Do lazy render tree reconstruction after returning from full screen. That is the only reliable way
38410            to get the render tree back to decent shape.
38411
38412        * dom/Element.cpp:
38413        (WebCore::Element::isFocusable):
38414        
38415            Remove pointless !renderer()->needsLayout() assert.
38416
38417        (WebCore::Element::addShadowRoot):
38418        (WebCore::Element::childShouldCreateRenderer):
38419        (WebCore::Element::resetComputedStyle):
38420        
38421            Take care to reset computed style in all descendants. attachRenderTree no longer does this.
38422
38423        * dom/Element.h:
38424        * dom/Node.cpp:
38425        (WebCore::Node::insertBefore):
38426        (WebCore::Node::replaceChild):
38427        (WebCore::Node::appendChild):
38428        (WebCore::Node::setNeedsStyleRecalc):
38429        
38430            Propagate ReconstructRenderTree.
38431
38432        (WebCore::Node::attached):
38433        
38434            Emulate the behavior of old attached bit for now so existing code calling this mostly stays working.
38435
38436        * dom/Node.h:
38437        
38438            Add new ReconstructRenderTree value for StyleChangeType.
38439
38440        * dom/Range.cpp:
38441        (WebCore::Range::isPointInRange):
38442        (WebCore::Range::comparePoint):
38443        (WebCore::Range::compareNode):
38444        (WebCore::Range::intersectsNode):
38445        * editing/AppendNodeCommand.cpp:
38446        (WebCore::AppendNodeCommand::doApply):
38447        * editing/CompositeEditCommand.cpp:
38448        (WebCore::CompositeEditCommand::canRebalance):
38449        * editing/InsertNodeBeforeCommand.cpp:
38450        (WebCore::InsertNodeBeforeCommand::doApply):
38451        * html/HTMLDetailsElement.cpp:
38452        (WebCore::HTMLDetailsElement::didAddUserAgentShadowRoot):
38453        * html/HTMLDocument.cpp:
38454        (WebCore::HTMLDocument::activeElement):
38455        * html/HTMLElement.cpp:
38456        (WebCore::HTMLElement::setInnerText):
38457        
38458            TextControlInnerTextElement always preserves newline even if it doesn't have style yet.
38459
38460        (WebCore::HTMLElement::supportsFocus):
38461        * html/HTMLEmbedElement.cpp:
38462        (WebCore::HTMLEmbedElement::parseAttribute):
38463        * html/HTMLFormControlElement.cpp:
38464        (WebCore::shouldAutofocus):
38465        
38466            Don't autofocus until we have renderer.
38467
38468        * html/HTMLFormControlElementWithState.cpp:
38469        (WebCore::HTMLFormControlElementWithState::shouldSaveAndRestoreFormControlState):
38470        * html/HTMLFrameElementBase.cpp:
38471        (WebCore::HTMLFrameElementBase::didNotifySubtreeInsertions):
38472        * html/HTMLInputElement.cpp:
38473        (WebCore::HTMLInputElement::updateType):
38474        
38475            Lazy render tree construction.
38476
38477        (WebCore::HTMLInputElement::parseAttribute):
38478        (WebCore::HTMLInputElement::defaultEventHandler):
38479        * html/HTMLMediaElement.cpp:
38480        (WebCore::HTMLMediaElement::parseAttribute):
38481        * html/HTMLObjectElement.cpp:
38482        (WebCore::HTMLObjectElement::parseAttribute):
38483        * html/HTMLSummaryElement.cpp:
38484        (WebCore::HTMLSummaryElement::didAddUserAgentShadowRoot):
38485        * html/parser/HTMLConstructionSite.cpp:
38486        (WebCore::executeTask):
38487        
38488            Don't attach renderer after construction.
38489
38490        * html/parser/HTMLTreeBuilder.cpp:
38491        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
38492        * html/shadow/ContentDistributor.cpp:
38493        (WebCore::ContentDistributor::invalidateDistribution):
38494        * html/shadow/InsertionPoint.cpp:
38495        (WebCore::InsertionPoint::willAttachRenderers):
38496        (WebCore::InsertionPoint::willDetachRenderers):
38497        * html/shadow/MediaControlElements.cpp:
38498        (WebCore::MediaControlTextTrackContainerElement::updateDisplay):
38499        * html/shadow/MediaControls.cpp:
38500        (WebCore::MediaControls::createTextTrackDisplay):
38501        * html/shadow/MediaControlsApple.cpp:
38502        (WebCore::MediaControlsApple::createControls):
38503        * html/track/TextTrackCue.cpp:
38504        (WebCore::TextTrackCue::getDisplayTree):
38505        * loader/PlaceholderDocument.cpp:
38506        (WebCore::PlaceholderDocument::createRenderTree):
38507        * loader/cache/CachedResourceLoader.cpp:
38508        (WebCore::CachedResourceLoader::preload):
38509        * style/StyleResolveTree.cpp:
38510        (WebCore::Style::attachTextRenderer):
38511        (WebCore::Style::detachTextRenderer):
38512        
38513            Remove attached bit maintenance.
38514
38515        (WebCore::Style::attachChildren):
38516        (WebCore::Style::attachShadowRoot):
38517        (WebCore::Style::attachRenderTree):
38518        (WebCore::Style::detachShadowRoot):
38519        (WebCore::Style::detachRenderTree):
38520        (WebCore::Style::resolveLocal):
38521        * svg/SVGTests.cpp:
38522        (WebCore::SVGTests::handleAttributeChange):
38523        
38524            Make lazy.
38525
38526        * testing/Internals.cpp:
38527        (WebCore::Internals::attached):
38528        (WebCore::Internals::elementRenderTreeAsText):
38529        (WebCore::Internals::markerAt):
38530        (WebCore::Internals::nodesFromRect):
38531
385322013-12-20  Andreas Kling  <akling@apple.com>
38533
38534        Devirtualize RenderElement::setStyle().
38535        <https://webkit.org/b/126065>
38536
38537        setStyle() was only virtual in order to let RenderSVGBlock override
38538        the display type in some cases. Devirtualized it and moved the fixup
38539        logic to StyleResolver::adjustRenderStyle().
38540
38541        This hack had an evil twin in RenderElement::initializeStyle() that
38542        also goes away. FIXME--!
38543
38544        Based on a Blink change by Elliott Sprehn.
38545
38546        Reviewed by Antti Koivisto.
38547
385482013-12-20  Radu Stavila  <stavila@adobe.com>
38549
38550        [CSS Regions] When changing flow-from/flow-into on :hover, elements overflowing the region are not correctly repainted
38551        https://bugs.webkit.org/show_bug.cgi?id=117259
38552
38553        Reviewed by Antti Koivisto.
38554
38555        When computing the repaint rect for a region, the existing visual overflow must be taken into consideration.
38556        For this purpose, I overridden the visualOverflowRect method in RenderNamedFlowFragment, which ends up being
38557        called from RenderBox::clippedOverflowRectForRepaint. 
38558
38559        Test: fast/regions/hover-single-flow-from-none-overflow.html
38560              fast/regions/hover-single-flow-from-none-overflow-top.html
38561
38562        * rendering/RenderNamedFlowFragment.cpp:
38563        (WebCore::RenderNamedFlowFragment::visualOverflowRect):
38564        * rendering/RenderNamedFlowFragment.h:
38565
385662013-12-20  Mario Sanchez Prada  <mario.prada@samsung.com>
38567
38568        Programmatically-inserted children lack accessibility events
38569        https://bugs.webkit.org/show_bug.cgi?id=100275
38570
38571        Reviewed by Chris Fleizach.
38572
38573        Test: accessibility/children-changed-sends-notification.html
38574
38575        Emit children-changed::add and children-changed::remove whenever
38576        an object has been added/removed to the accessibility hierarchy,
38577        that is, when a new AtkObject is being attached/detached.
38578
38579        * accessibility/AXObjectCache.h:
38580        (WebCore::AXObjectCache::detachWrapper): Added a new parameter and
38581        updated all the prototypes in different ports.
38582        * accessibility/AXObjectCache.cpp:
38583        (WebCore::AXObjectCache::~AXObjectCache): Call detachWrapper()
38584        specifying that we do it because the cache is being destroyed.
38585        (WebCore::AXObjectCache::remove): Call detachWrapper() specifying
38586        that we do it because an accessible element is being destroyed.
38587
38588        * accessibility/atk/AXObjectCacheAtk.cpp:
38589        (WebCore::AXObjectCache::detachWrapper): Emit the children-changed
38590        signal when needed. We rely on the cached reference to the parent
38591        AtkObject (using the implementation of atk_object_get_parent from
38592        the AtkObject class) to find the right object to emit the signal
38593        from here, since the accessibility hierarchy from WebCore will no
38594        longer be accessible at this point.
38595        (WebCore::AXObjectCache::attachWrapper): Emit the children-change
38596        signal from here unless we are in the middle of a layout update,
38597        trying to provide as much information (e.g. the offset) as possible.
38598        (WebCore::AXObjectCache::postPlatformNotification): Make sure we
38599        update (touch) the subtree under an accessibility object whenever
38600        we receive AXChildrenChanded from WebCore, to ensure that those
38601        objects will also be visible rightaway to ATs, and that those get
38602        properly notified of the event at that very same moment.
38603
38604        * accessibility/ios/AXObjectCacheIOS.mm:
38605        (WebCore::AXObjectCache::detachWrapper): Updated function signature.
38606        * accessibility/mac/AXObjectCacheMac.mm:
38607        (WebCore::AXObjectCache::detachWrapper): Ditto.
38608        * accessibility/win/AXObjectCacheWin.cpp:
38609        (WebCore::AXObjectCache::detachWrapper): Ditto.
38610
38611        * accessibility/AccessibilityObject.cpp:
38612        (WebCore::AccessibilityObject::children): Add the option ot
38613        request the AccessibilityChildrenVector without updating it if
38614        needed, to avoid maybe recreating the child subtree when trying to
38615        get the offset of a newly attached element from attachWrapper.
38616        * accessibility/AccessibilityObject.h:
38617
386182013-12-20  Laszlo Vidacs  <lvidacs.u-szeged@partner.samsung.com>
38619
38620        Move function calls outside loop in dom
38621        https://bugs.webkit.org/show_bug.cgi?id=125916
38622
38623        Reviewed by Csaba Osztrogonác.
38624
38625        Do not call length() in each iteration.
38626
38627        * dom/Element.cpp:
38628        (WebCore::Element::cloneAttributesFromElement):
38629        * dom/Node.cpp:
38630        (WebCore::Node::dumpStatistics):
38631
386322013-12-19  Beth Dakin  <bdakin@apple.com>
38633
38634        REGRESSION: cnn.com will continue to reveal 1 px of overhang after rubber-banding 
38635        at the top
38636        https://bugs.webkit.org/show_bug.cgi?id=126054
38637
38638        Reviewed by Simon Fraser.
38639
38640        This regression was caused by http://trac.webkit.org/changeset/160791 It turns out 
38641        that the line of code I removed was not always a no-op. In some instances, like on 
38642        cnn.com, it would ensure that our final scroll position after a rubber-band was 
38643        not something within the overhang area. It was still wrong in its assumption that 
38644        rubber-band is always bouncing back the spot it originated from. So this patch 
38645        continues to ignore the rubber-bands origin, and instead finds the nearest point 
38646        that is not in the overhang area, and scrolls to that point instead of the origin.
38647
38648        * page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
38649        * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
38650        (WebCore::ScrollingTreeScrollingNodeMac::adjustScrollPositionToBoundsIfNecessary):
38651        * platform/mac/ScrollAnimatorMac.h:
38652        * platform/mac/ScrollAnimatorMac.mm:
38653        (WebCore::ScrollAnimatorMac::adjustScrollPositionToBoundsIfNecessary):
38654        * platform/mac/ScrollElasticityController.h:
38655        * platform/mac/ScrollElasticityController.mm:
38656        (WebCore::ScrollElasticityController::snapRubberBandTimerFired):
38657
386582013-12-19  Simon Fraser  <simon.fraser@apple.com>
38659
38660        Clarify the behavior of composited canvases
38661        https://bugs.webkit.org/show_bug.cgi?id=126042
38662
38663        Reviewed by Tim Horton.
38664
38665        Different platforms composite 2D and 3D canvases in different ways.
38666        
38667        "Accelerated 2D" canvases, and WebGL are always set as GraphicsLayer
38668        contents.
38669        
38670        "IOSurface" canvases (Mac and iOS-only) get a compositing layer, but
38671        paint into it (because this is fast, and a convenient way to get
38672        synchronization).
38673        
38674        So make these behaviors explicit in RenderLayerBacking and RenderLayerCompositor.
38675        No behavior changes on OS X, bug fix on iOS.
38676
38677        * rendering/RenderLayerBacking.cpp:
38678        (WebCore::canvasCompositingStrategy):
38679        (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
38680        (WebCore::RenderLayerBacking::containsPaintedContent):
38681        (WebCore::RenderLayerBacking::contentChanged):
38682        * rendering/RenderLayerBacking.h:
38683        * rendering/RenderLayerCompositor.cpp:
38684        (WebCore::RenderLayerCompositor::requiresCompositingForCanvas):
38685
386862013-12-19  Joseph Pecoraro  <pecoraro@apple.com>
38687
38688        Web Inspector: Add InspectorFrontendHost.debuggableType to let the frontend know it's backend is JavaScript or Web
38689        https://bugs.webkit.org/show_bug.cgi?id=126016
38690
38691        Reviewed by Timothy Hatcher.
38692
38693        * inspector/InspectorFrontendHost.cpp:
38694        (WebCore::InspectorFrontendHost::debuggableType):
38695        * inspector/InspectorFrontendHost.h:
38696        * inspector/InspectorFrontendHost.idl:
38697        Expose the debuggableType to the frontend. In WebCore it is always a "web" type.
38698
386992013-12-19  Benjamin Poulain  <benjamin@webkit.org>
38700
38701        Add an utility class to simplify generating function calls
38702        https://bugs.webkit.org/show_bug.cgi?id=125972
38703
38704        Reviewed by Geoffrey Garen.
38705
38706        FunctionCall is a little helper class to make function calls from the JIT
38707        in 3 or 4 lines.
38708
38709        FunctionCall takes a StackAllocator, a RegisterAllocator and a function pointer.
38710        When the call is generated, the helper saves the registers as necessary, aligns
38711        the stack, does the call, restores the stack, and restore the registers.
38712
38713        * cssjit/FunctionCall.h: Added.
38714        (WebCore::FunctionCall::FunctionCall):
38715        (WebCore::FunctionCall::setFunctionAddress):
38716        (WebCore::FunctionCall::setFirstArgument):
38717        (WebCore::FunctionCall::call):
38718
38719        (WebCore::FunctionCall::callAndBranchOnCondition): Most test functions used
38720        with FunctionCall return a boolean. When the boolean is the sole purpose of the function
38721        call, this provides an easy way to branch on the boolean without worrying about registers.
38722
38723        The return register is tested first, then all the saved registers are restored from the stack
38724        (which can include the return register), finally the flags are used for a jump.
38725
38726        (WebCore::FunctionCall::prepareAndCall):
38727        (WebCore::FunctionCall::cleanupPostCall):
38728        (WebCore::FunctionCall::saveAllocatedRegisters):
38729        (WebCore::FunctionCall::restoreAllocatedRegisters):
38730        * WebCore.xcodeproj/project.pbxproj:
38731        * cssjit/FunctionCall.h: Added.
38732        (WebCore::FunctionCall::FunctionCall):
38733        (WebCore::FunctionCall::setFunctionAddress):
38734        (WebCore::FunctionCall::setFirstArgument):
38735        (WebCore::FunctionCall::call):
38736        (WebCore::FunctionCall::callAndBranchOnCondition):
38737        (WebCore::FunctionCall::prepareAndCall):
38738        (WebCore::FunctionCall::cleanupPostCall):
38739        (WebCore::FunctionCall::saveAllocatedRegisters):
38740        (WebCore::FunctionCall::restoreAllocatedRegisters):
38741
387422013-12-19  Anders Carlsson  <andersca@apple.com>
38743
38744        Begin stubbing out the KeyedDecoder class
38745        https://bugs.webkit.org/show_bug.cgi?id=126031
38746
38747        Reviewed by Andreas Kling.
38748
38749        KeyedDecoder is going to be the new way to decode back forward trees.
38750
38751        * history/HistoryItem.cpp:
38752        (WebCore::HistoryItem::decodeBackForwardTree):
38753        * history/HistoryItem.h:
38754        * platform/KeyedCoding.h:
38755        (WebCore::KeyedDecoder::~KeyedDecoder):
38756
387572013-12-19  Oliver Hunt  <oliver@apple.com>
38758
38759        DOM bindings should use thisValue for attributes
38760        https://bugs.webkit.org/show_bug.cgi?id=126011
38761
38762        Reviewed by Antti Koivisto.
38763
38764        Make all standard DOM attributes use the thisValue instead
38765        of the slot object.  This requires using a dynamic cast in
38766        the attribute getters. Happily for normal uses this a single
38767        indirect load and pointer compare, and we were already doing
38768        it for many attributes.
38769
38770        Alas it's too expensive to do this on the window object still
38771        due to the proxy indirection that intercepts global variable
38772        access.  I'll correct this in a follow on patch (bug 126013).
38773
38774        A number of custom getters have also been updated to use the
38775        thisValue and full type checks.
38776
38777        This patch still leaves the index and generic named getters
38778        on the slot based model as fixing these cases requires more
38779        complicated changes.
38780
38781        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
38782        (WebCore::cssPropertyGetterPixelOrPosPrefixCallback):
38783        (WebCore::cssPropertyGetterCallback):
38784        * bindings/js/JSPluginElementFunctions.cpp:
38785        (WebCore::pluginElementPropertyGetter):
38786        * bindings/scripts/CodeGeneratorJS.pm:
38787        (GenerateImplementation):
38788        * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
38789        (WebCore::jsTestActiveDOMObjectExcitingAttr):
38790        (WebCore::jsTestActiveDOMObjectConstructor):
38791        * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
38792        (WebCore::jsTestCustomNamedGetterConstructor):
38793        * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
38794        (WebCore::jsTestEventConstructorAttr1):
38795        (WebCore::jsTestEventConstructorAttr2):
38796        (WebCore::jsTestEventConstructorConstructor):
38797        * bindings/scripts/test/JS/JSTestEventTarget.cpp:
38798        (WebCore::jsTestEventTargetConstructor):
38799        * bindings/scripts/test/JS/JSTestException.cpp:
38800        (WebCore::jsTestExceptionName):
38801        (WebCore::jsTestExceptionConstructor):
38802        * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
38803        (WebCore::jsTestGenerateIsReachableConstructor):
38804        * bindings/scripts/test/JS/JSTestInterface.cpp:
38805        (WebCore::jsTestInterfaceConstructorImplementsStaticReadOnlyAttr):
38806        (WebCore::jsTestInterfaceConstructorImplementsStaticAttr):
38807        (WebCore::jsTestInterfaceImplementsStr1):
38808        (WebCore::jsTestInterfaceImplementsStr2):
38809        (WebCore::jsTestInterfaceImplementsStr3):
38810        (WebCore::jsTestInterfaceImplementsNode):
38811        (WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttr):
38812        (WebCore::jsTestInterfaceConstructorSupplementalStaticAttr):
38813        (WebCore::jsTestInterfaceSupplementalStr1):
38814        (WebCore::jsTestInterfaceSupplementalStr2):
38815        (WebCore::jsTestInterfaceSupplementalStr3):
38816        (WebCore::jsTestInterfaceSupplementalNode):
38817        (WebCore::jsTestInterfaceConstructor):
38818        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
38819        (WebCore::jsTestMediaQueryListListenerConstructor):
38820        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
38821        (WebCore::jsTestNamedConstructorConstructor):
38822        * bindings/scripts/test/JS/JSTestNode.cpp:
38823        (WebCore::jsTestNodeConstructor):
38824        * bindings/scripts/test/JS/JSTestObj.cpp:
38825        (WebCore::jsTestObjReadOnlyLongAttr):
38826        (WebCore::jsTestObjReadOnlyStringAttr):
38827        (WebCore::jsTestObjReadOnlyTestObjAttr):
38828        (WebCore::jsTestObjConstructorStaticReadOnlyLongAttr):
38829        (WebCore::jsTestObjConstructorStaticStringAttr):
38830        (WebCore::jsTestObjConstructorTestSubObj):
38831        (WebCore::jsTestObjTestSubObjEnabledBySettingConstructor):
38832        (WebCore::jsTestObjEnumAttr):
38833        (WebCore::jsTestObjByteAttr):
38834        (WebCore::jsTestObjOctetAttr):
38835        (WebCore::jsTestObjShortAttr):
38836        (WebCore::jsTestObjUnsignedShortAttr):
38837        (WebCore::jsTestObjLongAttr):
38838        (WebCore::jsTestObjLongLongAttr):
38839        (WebCore::jsTestObjUnsignedLongLongAttr):
38840        (WebCore::jsTestObjStringAttr):
38841        (WebCore::jsTestObjTestObjAttr):
38842        (WebCore::jsTestObjXMLObjAttr):
38843        (WebCore::jsTestObjCreate):
38844        (WebCore::jsTestObjReflectedStringAttr):
38845        (WebCore::jsTestObjReflectedIntegralAttr):
38846        (WebCore::jsTestObjReflectedUnsignedIntegralAttr):
38847        (WebCore::jsTestObjReflectedBooleanAttr):
38848        (WebCore::jsTestObjReflectedURLAttr):
38849        (WebCore::jsTestObjReflectedCustomIntegralAttr):
38850        (WebCore::jsTestObjReflectedCustomBooleanAttr):
38851        (WebCore::jsTestObjReflectedCustomURLAttr):
38852        (WebCore::jsTestObjTypedArrayAttr):
38853        (WebCore::jsTestObjAttrWithGetterException):
38854        (WebCore::jsTestObjAttrWithSetterException):
38855        (WebCore::jsTestObjStringAttrWithGetterException):
38856        (WebCore::jsTestObjStringAttrWithSetterException):
38857        (WebCore::jsTestObjCustomAttr):
38858        (WebCore::jsTestObjWithScriptStateAttribute):
38859        (WebCore::jsTestObjWithScriptExecutionContextAttribute):
38860        (WebCore::jsTestObjWithScriptStateAttributeRaises):
38861        (WebCore::jsTestObjWithScriptExecutionContextAttributeRaises):
38862        (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttribute):
38863        (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
38864        (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
38865        (WebCore::jsTestObjWithScriptArgumentsAndCallStackAttribute):
38866        (WebCore::jsTestObjConditionalAttr1):
38867        (WebCore::jsTestObjConditionalAttr2):
38868        (WebCore::jsTestObjConditionalAttr3):
38869        (WebCore::jsTestObjConditionalAttr4Constructor):
38870        (WebCore::jsTestObjConditionalAttr5Constructor):
38871        (WebCore::jsTestObjConditionalAttr6Constructor):
38872        (WebCore::jsTestObjCachedAttribute1):
38873        (WebCore::jsTestObjCachedAttribute2):
38874        (WebCore::jsTestObjAnyAttribute):
38875        (WebCore::jsTestObjContentDocument):
38876        (WebCore::jsTestObjMutablePoint):
38877        (WebCore::jsTestObjImmutablePoint):
38878        (WebCore::jsTestObjStrawberry):
38879        (WebCore::jsTestObjStrictFloat):
38880        (WebCore::jsTestObjDescription):
38881        (WebCore::jsTestObjId):
38882        (WebCore::jsTestObjHash):
38883        (WebCore::jsTestObjReplaceableAttribute):
38884        (WebCore::jsTestObjNullableDoubleAttribute):
38885        (WebCore::jsTestObjNullableLongAttribute):
38886        (WebCore::jsTestObjNullableBooleanAttribute):
38887        (WebCore::jsTestObjNullableStringAttribute):
38888        (WebCore::jsTestObjNullableLongSettableAttribute):
38889        (WebCore::jsTestObjNullableStringValue):
38890        (WebCore::jsTestObjAttribute):
38891        (WebCore::jsTestObjAttributeWithReservedEnumType):
38892        (WebCore::jsTestObjConstructor):
38893        * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
38894        (WebCore::jsTestOverloadedConstructorsConstructor):
38895        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
38896        (WebCore::jsTestSerializedScriptValueInterfaceValue):
38897        (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValue):
38898        (WebCore::jsTestSerializedScriptValueInterfaceCachedValue):
38899        (WebCore::jsTestSerializedScriptValueInterfacePorts):
38900        (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue):
38901        (WebCore::jsTestSerializedScriptValueInterfaceConstructor):
38902        * bindings/scripts/test/JS/JSTestTypedefs.cpp:
38903        (WebCore::jsTestTypedefsUnsignedLongLongAttr):
38904        (WebCore::jsTestTypedefsImmutableSerializedScriptValue):
38905        (WebCore::jsTestTypedefsConstructorTestSubObj):
38906        (WebCore::jsTestTypedefsAttrWithGetterException):
38907        (WebCore::jsTestTypedefsAttrWithSetterException):
38908        (WebCore::jsTestTypedefsStringAttrWithGetterException):
38909        (WebCore::jsTestTypedefsStringAttrWithSetterException):
38910        (WebCore::jsTestTypedefsConstructor):
38911        * bindings/scripts/test/JS/JSattribute.cpp:
38912        (WebCore::jsattributeReadonly):
38913        (WebCore::jsattributeConstructor):
38914        * bindings/scripts/test/JS/JSreadonly.cpp:
38915        (WebCore::jsreadonlyConstructor):
38916        * bridge/runtime_array.cpp:
38917        (JSC::RuntimeArray::lengthGetter):
38918        * bridge/runtime_method.cpp:
38919        (JSC::RuntimeMethod::lengthGetter):
38920
389212013-12-19  Andy Estes  <aestes@apple.com>
38922
38923        Remove WebFilterEvaluator wrappers from WebKitSystemInterface
38924        https://bugs.webkit.org/show_bug.cgi?id=126028
38925
38926        Reviewed by Anders Carlsson.
38927
38928        It's overkill to pipe access to WebFilterEvaluator through
38929        WebKitSystemInterface. Instead, include WebFilterEvaluator.h when it
38930        exists and re-declare WebFilterEvaluator when it doesn't.
38931        
38932        WebKitSystemInterface used to soft-link WebContentAnalysis.framework
38933        since OS X 10.7 didn't contain this framework. Since we no longer
38934        support 10.7, we can now directly link against the framework.
38935
38936        * Configurations/WebCore.xcconfig: Add /System/Library/PrivateHeaders
38937        to the system framework search path at both compile and link time so
38938        that we can find WebContentAnalysis.framework.
38939        * WebCore.exp.in: Don't export removed symbols.
38940        * WebCore.xcodeproj/project.pbxproj: Added WebContentAnalysis.framework
38941        to the 'Link Binary With Libraries' build phase.
38942        * platform/mac/ContentFilterMac.mm: Included WebFilterEvaluator.h when
38943        it exists and re-declared WebFilterEvaluator when it doesn't.
38944        (WebCore::ContentFilter::ContentFilter): Directly called a method on
38945        m_platformContentFilter rather than going through WKSI.
38946        (WebCore::ContentFilter::isEnabled): Ditto.
38947        (WebCore::ContentFilter::addData): Ditto.
38948        (WebCore::ContentFilter::finishedAddingData): Ditto.
38949        (WebCore::ContentFilter::needsMoreData): Ditto.
38950        (WebCore::ContentFilter::didBlockData): Ditto.
38951        * platform/mac/WebCoreSystemInterface.h: Removed function pointers for
38952        calling into WKSI.
38953        * platform/mac/WebCoreSystemInterface.mm: Ditto.
38954
389552013-12-19  Andreas Kling  <akling@apple.com>
38956
38957        Use CascadedProperties for page and keyframe style resolution as well.
38958        <https://webkit.org/b/125997>
38959
38960        Port StyleResolver's styleForKeyframe() and styleForPage() over to
38961        the new property cascading code. Neither of them care about !important
38962        or matched properties caches, so the code is very simple.
38963
38964        Removed the old applyMatchedProperties and applyProperties code with
38965        low/high priority passes.
38966
38967        Reviewed by Antti Koivisto.
38968
389692013-12-19  Eric Carlson  <eric.carlson@apple.com>
38970
38971        tryAddEventListener uses local PassRefPtr<>
38972        https://bugs.webkit.org/show_bug.cgi?id=126001
38973
38974        Reviewed by Daniel Bates.
38975
38976        * dom/Node.cpp:
38977        (WebCore::tryAddEventListener): Put PassRefPtr<EventListener> parameter into a local RefPtr
38978            because it is sometimes used twice.
38979
389802013-12-19  Ryosuke Niwa  <rniwa@webkit.org>
38981
38982        overflowchanged event could cause a crash
38983        https://bugs.webkit.org/show_bug.cgi?id=125978
38984
38985        Reviewed by Tim Horton.
38986
38987        Made the event asynchrnous by re-using Document's event queuing ability. Also removed
38988        the infrastructure to queue up events in FrameView.
38989
38990        Test: fast/events/overflowchanged-inside-selection-collapse-crash.html
38991
38992        * dom/Document.cpp:
38993        (WebCore::Document::recalcStyle):
38994        (WebCore::Document::enqueueOverflowEvent):
38995        * dom/Document.h:
38996        * page/FrameView.cpp:
38997        (WebCore::FrameView::FrameView):
38998        (WebCore::FrameView::~FrameView):
38999        (WebCore::FrameView::layout):
39000        (WebCore::FrameView::performPostLayoutTasks):
39001        (WebCore::FrameView::updateOverflowStatus):
39002        * page/FrameView.h:
39003        * rendering/RenderBlock.cpp:
39004        (WebCore::OverflowEventDispatcher::~OverflowEventDispatcher):
39005        * rendering/RenderLayer.cpp:
39006        (WebCore::RenderLayer::scrollRectToVisible):
39007        * rendering/RenderMarquee.cpp:
39008        (WebCore::RenderMarquee::start):
39009
390102013-12-19  Daniel Bates  <dabates@apple.com>
39011
39012        Fix the Windows build after <http://trac.webkit.org/changeset/160841>
39013        (https://bugs.webkit.org/show_bug.cgi?id=125879)
39014
39015        Add ENABLE(CACHE_PARTITIONING)-guard around call to ResourceRequest::setCachePartition()
39016        as this function is only compiled when building with cache partitioning enabled.
39017
39018        * loader/cache/MemoryCache.cpp:
39019        (WebCore::MemoryCache::addImageToCache):
39020
390212013-12-19  Daniel Bates  <dabates@apple.com>
39022
39023        [iOS] Upstream WebCore/accessibility changes
39024        https://bugs.webkit.org/show_bug.cgi?id=125925
39025
39026        Reviewed by Chris Fleizach.
39027
39028        * accessibility/AccessibilityRenderObject.cpp:
39029        (WebCore::AccessibilityRenderObject::visiblePositionForPoint): Opt out of code when building for iOS.
39030
390312013-12-19  Alex Christensen  <achristensen@webkit.org>
39032
39033        [WinCairo] Compile fix for VS2013 when using ACCELERATED_COMPOSITING.
39034        https://bugs.webkit.org/show_bug.cgi?id=124866
39035
39036        Reviewed by Darin Adler.
39037
39038        * platform/graphics/TiledBackingStore.cpp:
39039        (WebCore::TiledBackingStore::TiledBackingStore):
39040        * platform/graphics/TiledBackingStore.h:
39041        Added constructor overload to avoid compile errors
39042        from using MSVC's make_unique as a default parameter.
39043
390442013-12-19  Daniel Bates  <dabates@apple.com>
39045
39046        [iOS] Upstream WebCore/loader changes
39047        https://bugs.webkit.org/show_bug.cgi?id=125879
39048
39049        Reviewed by Darin Adler.
39050
39051        * WebCore.exp.in: Added symbols for MemoryCache::{addImageToCache, removeImageFromCache}().
39052        * loader/DocumentLoader.cpp:
39053        (WebCore::areAllLoadersPageCacheAcceptable): Added.
39054        (WebCore::DocumentLoader::DocumentLoader): Initialize m_subresourceLoadersArePageCacheAcceptable.
39055        (WebCore::DocumentLoader::stopLoading): Modified to conditionally call areAllLoadersPageCacheAcceptable().
39056        (WebCore::DocumentLoader::handleSubstituteDataLoadSoon): Modified to query FrameLoader::loadsSynchronously()
39057        whether to load substitute data immediately or to schedule a load.
39058        (WebCore::DocumentLoader::responseReceived): Modified to create a content filer when the response protocol
39059        is either HTTP or HTTPS, assuming content filtering is enabled.
39060        (WebCore::DocumentLoader::dataReceived): Modified to call DocumentLoader::setContentFilterForBlockedLoad()
39061        as appropriate.
39062        (WebCore::DocumentLoader::clearMainResourceLoader): Added PLATFORM(IOS)-guarded code. Also added a
39063        FIXME comment to remove the PLATFORM(IOS)-guard once we upstream the iOS changes to ResourceRequest.h.
39064        (WebCore::DocumentLoader::setResponseMIMEType): Added; guard by PLATFORM(IOS). Also added FIXME comment.
39065        (WebCore::DocumentLoader::startLoadingMainResource): Added PLATFORM(IOS)-guarded code. Also added a
39066        FIXME comment to remove the PLATFORM(IOS)-guard once we upstream the iOS changes to ResourceRequest.h.
39067        I also substituted static NeverDestroyed<> for DEFINE_STATIC_LOCAL.
39068        (WebCore::DocumentLoader::setContentFilterForBlockedLoad): Added; guarded by USE(CONTENT_FILTERING).
39069        (WebCore::DocumentLoader::handleContentFilterRequest): Added; guarded by USE(CONTENT_FILTERING) and PLATFORM(IOS).
39070        Also added a FIXME comment to remove the PLATFORM(IOS) guard inside its function body once we upstream
39071        file ContentFilterIOS.mm and implement ContentFilter::requestUnblockAndDispatchIfSuccessful() for Mac.
39072        * loader/DocumentLoader.h:
39073        (WebCore::DocumentLoader::setResponse): Added; guard by PLATFORM(IOS). Also added a FIXME comment as
39074        this method seems to violate the encapsulation of DocumentLoader.
39075        (WebCore::DocumentLoader::subresourceLoadersArePageCacheAcceptable): Added.
39076        (WebCore::DocumentLoader::documentURL): Added; returns the URL of the document resulting from the DocumentLoader.
39077        * loader/DocumentWriter.cpp:
39078        (WebCore::DocumentWriter::createDocument): Added iOS-specific code to create a PDF document.
39079        * loader/EmptyClients.cpp:
39080        (WebCore::EmptyChromeClient::openDateTimeChooser): Opt out of compiling this code for iOS. Also substituted
39081        nullptr for 0.
39082        * loader/EmptyClients.h:
39083        * loader/FrameLoader.cpp:
39084        (WebCore::FrameLoader::FrameProgressTracker::~FrameProgressTracker):
39085        (WebCore::FrameLoader::FrameLoader): Initialize m_loadsSynchronously.
39086        (WebCore::FrameLoader::initForSynthesizedDocument): Added; guarded by PLATFORM(IOS). Also added FIXME comment.
39087        (WebCore::FrameLoader::checkCompleted): Added iOS-specific code with FIXME comment.
39088        (WebCore::FrameLoader::willLoadMediaElementURL): Added iOS-specific code.
39089        (WebCore::FrameLoader::stopForUserCancel): Added iOS-specific code and FIXME comment.
39090        (WebCore::FrameLoader::commitProvisionalLoad): Added iOS-specific code and FIXME comment.
39091        (WebCore::FrameLoader::transitionToCommitted): Opt out of ENABLE(TOUCH_EVENTS) logic when building for iOS.
39092        (WebCore::FrameLoader::didFirstLayout): Added iOS-specific code.
39093        (WebCore::FrameLoader::connectionProperties): Added; guarded by PLATFORM(IOS).
39094        (WebCore::createWindow): Added iOS-specific code and FIXME comment.
39095        * loader/FrameLoader.h:
39096        (WebCore::FrameLoader::setLoadsSynchronously): Added.
39097        (WebCore::FrameLoader::loadsSynchronously): Added.
39098        * loader/FrameLoaderClient.h:
39099        * loader/HistoryController.cpp:
39100        (WebCore::HistoryController::restoreScrollPositionAndViewState): Opt out of scroll position logic when building for iOS.
39101        (WebCore::HistoryController::replaceCurrentItem): Added.
39102        * loader/HistoryController.h:
39103        * loader/PlaceholderDocument.h: Changed access control of constructor from private to protected and removed the FINAL
39104        keyword from the class so that we can subclass PlaceholderDocument on iOS.
39105        * loader/PolicyChecker.cpp:
39106        (WebCore::PolicyChecker::checkNavigationPolicy): Added USE(QUICK_LOOK)- and USE(CONTENT_FILTERING)-guarded code.
39107        * loader/ResourceBuffer.cpp:
39108        (WebCore::ResourceBuffer::shouldUsePurgeableMemory): Added; guarded by PLATFORM(IOS).
39109        * loader/ResourceBuffer.h:
39110        * loader/ResourceLoadNotifier.cpp:
39111        (WebCore::ResourceLoadNotifier::dispatchWillSendRequest): Added USE(QUICK_LOOK)-guarded code.
39112        * loader/ResourceLoadScheduler.cpp:
39113        (WebCore::ResourceLoadScheduler::scheduleSubresourceLoad): Added iOS-specific code.
39114        (WebCore::ResourceLoadScheduler::scheduleLoad): Ditto.
39115        (WebCore::ResourceLoadScheduler::remove): Added iOS-specific code with FIXME comment.
39116        (WebCore::ResourceLoadScheduler::crossOriginRedirectReceived): Added null-check for variable oldHost. Also added
39117        iOS-specific code.
39118        (WebCore::ResourceLoadScheduler::servePendingRequests): Added iOS-specific code.
39119        * loader/ResourceLoader.cpp:
39120        (WebCore::ResourceLoader::init): Ditto.
39121        (WebCore::ResourceLoader::willSendRequest): Ditto.
39122        (WebCore::ResourceLoader::connectionProperties): Added; guarded by PLATFORM(IOS).
39123        * loader/ResourceLoader.h:
39124        (WebCore::ResourceLoader::startLoading): Added; guarded by PLATFORM(IOS).
39125        (WebCore::ResourceLoader::iOSOriginalRequest): Added; iOS-specific.
39126        * loader/SubframeLoader.cpp:
39127        (WebCore::SubframeLoader::loadPlugin): Added iOS-specific code.
39128        * loader/SubresourceLoader.cpp:
39129        (WebCore::SubresourceLoader::create): Ditto.
39130        (WebCore::SubresourceLoader::startLoading): Added; guarded by PLATFORM(IOS).
39131        (WebCore::SubresourceLoader::didFinishLoading): Added iOS-specific code.
39132        (WebCore::SubresourceLoader::willCancel): Ditto.
39133        (WebCore::SubresourceLoader::notifyDone): Ditto.
39134        (WebCore::SubresourceLoader::releaseResources): Ditto.
39135        * loader/SubresourceLoader.h:
39136        * loader/appcache/ApplicationCacheStorage.cpp:
39137        (WebCore::ApplicationCacheStorage::loadCacheGroup): Added iOS-specific code.
39138        (WebCore::ApplicationCacheStorage::loadManifestHostHashes): Ditto.
39139        (WebCore::ApplicationCacheStorage::cacheGroupForURL): Ditto.
39140        (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL): Ditto.
39141        (WebCore::ApplicationCacheStorage::calculateQuotaForOrigin): Ditto.
39142        (WebCore::ApplicationCacheStorage::calculateUsageForOrigin): Ditto.
39143        (WebCore::ApplicationCacheStorage::calculateRemainingSizeForOriginExcludingCache): Ditto.
39144        (WebCore::ApplicationCacheStorage::storeUpdatedQuotaForOrigin): Ditto.
39145        (WebCore::ApplicationCacheStorage::executeSQLCommand): Ditto.
39146        (WebCore::ApplicationCacheStorage::verifySchemaVersion): Ditto.
39147        (WebCore::ApplicationCacheStorage::openDatabase): Ditto.
39148        (WebCore::ApplicationCacheStorage::executeStatement): Ditto.
39149        (WebCore::ApplicationCacheStorage::store): Ditto.
39150        (WebCore::ApplicationCacheStorage::storeUpdatedType): Ditto.
39151        (WebCore::ApplicationCacheStorage::ensureOriginRecord): Ditto.
39152        (WebCore::ApplicationCacheStorage::loadCache): Ditto.
39153        (WebCore::ApplicationCacheStorage::remove): Ditto.
39154        (WebCore::ApplicationCacheStorage::empty): Ditto.
39155        (WebCore::ApplicationCacheStorage::storeCopyOfCache): Ditto.
39156        (WebCore::ApplicationCacheStorage::manifestURLs): Ditto.
39157        (WebCore::ApplicationCacheStorage::cacheGroupSize): Ditto.
39158        (WebCore::ApplicationCacheStorage::deleteCacheGroup): Ditto.
39159        (WebCore::ApplicationCacheStorage::vacuumDatabaseFile): Ditto.
39160        * loader/cache/CachedImage.cpp:
39161        (WebCore::CachedImage::CachedImage): Added.
39162        (WebCore::CachedImage::imageSizeForRenderer): Added iOS-specific code.
39163        (WebCore::CachedImageManual::CachedImageManual): Added; guarded by USE(CF). Also added FIXME comment to incorporate
39164        the functionality of this class into CachedImage and to remove the USE(CF)-guard once we make MemoryCache::addImageToCache()
39165        platform-independent.
39166        (WebCore::CachedImageManual::mustRevalidateDueToCacheHeaders): Added; guarded by USE(CF).
39167        * loader/cache/CachedImage.h: Removed FINAL keyword from class so that we can define derived class CachedImageManual.
39168        (WebCore::CachedImage::isManual): Added; guarded by USE(CF). Also added FIXME comment.
39169        (WebCore::CachedImageManual::addFakeClient): Added; guarded by USE(CF).
39170        (WebCore::CachedImageManual::removeFakeClient): Added; guarded by USE(CF).
39171        * loader/cache/CachedResource.cpp:
39172        (WebCore::CachedResource::load): Added iOS-specific code.
39173        * loader/cache/CachedResource.h:
39174        * loader/cache/CachedResourceLoader.cpp:
39175        (WebCore::CachedResourceLoader::loadDone): Added argument shouldPerformPostLoadActions, defaults to true. Modified
39176        to conditionally call performPostLoadActions() with respect to the argument shouldPerformPostLoadActions.
39177        (WebCore::CachedResourceLoader::preload): Added iOS-specific code.
39178        (WebCore::CachedResourceLoader::checkForPendingPreloads): Ditto.
39179        * loader/cache/CachedResourceLoader.h:
39180        * loader/cache/MemoryCache.cpp:
39181        (WebCore::memoryCache):
39182        (WebCore::MemoryCache::add): Added iOS-specific code.
39183        (WebCore::MemoryCache::revalidationFailed): Ditto.
39184        (WebCore::MemoryCache::resourceForRequest): Ditto.
39185        (WebCore::MemoryCache::addImageToCache): Added; guarded by USE(CF). Also added FIXME comment.
39186        (WebCore::MemoryCache::removeImageFromCache): Added; guarded by USE(CF). Also added FIXME comment.
39187        (WebCore::MemoryCache::pruneLiveResources): Modified to take argument shouldDestroyDecodedDataForAllLiveResources.
39188        (WebCore::MemoryCache::pruneLiveResourcesToSize): Modified to take argument shouldDestroyDecodedDataForAllLiveResources,
39189        defaults to false. When this argument is true we destroy the decoded data for all live resources from the memory cache.
39190        Such functionality is useful when the system is running low on memory.
39191        (WebCore::MemoryCache::evict): Added iOS-specific code.
39192        * loader/cache/MemoryCache.h:
39193        * loader/cf/SubresourceLoaderCF.cpp:
39194        (WebCore::SubresourceLoader::didReceiveDataArray): Actually make this code compile. In particular, there is no
39195        method called sendDataToResource on SubresourceLoader or in its class hierarchy.
39196        * loader/mac/DocumentLoaderMac.cpp:
39197        (WebCore::DocumentLoader::schedule): This method has an empty implementation when building for iOS.
39198        (WebCore::DocumentLoader::unschedule): Ditto.
39199        * platform/graphics/BitmapImage.h: Exposed decodedSize() to access the decoded size of the bitmap image.
39200        This functionality is used in MemoryCache::addImageToCache().
39201
392022013-12-19  Jer Noble  <jer.noble@apple.com>
39203
39204        Build fix for platforms which do not define -[AVSampleBufferAudioRenderer muted].
39205        Rubber-stamped by Eric Carlson.
39206
39207        To work around platforms with broken AVSampleBufferAudioRenderer headers, just
39208        declare only those functions we need, and update isAvalable to bail out early if
39209        those methods are not present.
39210
39211        * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
39212
392132013-12-16  Darin Adler  <darin@apple.com>
39214
39215        Improve "bad parent" and "bad child list" assertions in line boxes
39216        https://bugs.webkit.org/show_bug.cgi?id=125656
39217
39218        Reviewed by Sam Weinig.
39219
39220        * rendering/InlineBox.cpp:
39221        (WebCore::InlineBox::root): Use parent() function with assertions rather than
39222        using m_parent function, which skips the assertions.
39223        * rendering/RenderText.cpp:
39224        (WebCore::RenderText::removeAndDestroyTextBoxes): Call invalidateParentChildLists
39225        if we are in the optimized document-destruction code path and destroying children
39226        without removing them from their parents.
39227        * rendering/RenderTextLineBoxes.cpp:
39228        (WebCore::RenderTextLineBoxes::invalidateParentChildLists): Added.
39229        * rendering/RenderTextLineBoxes.h: Added invalidateParentChildLists.
39230
392312013-12-19  Dan Bernstein  <mitz@apple.com>
39232
39233        <rdar://problem/15696824> [CFNetwork] Loading stops at server redirects
39234        https://bugs.webkit.org/show_bug.cgi?id=125984
39235
39236        Reviewed by Anders Carlsson.
39237
39238        * platform/network/cf/ResourceHandleCFNet.cpp:
39239        (WebCore::ResourceHandle::willSendRequest): If the client uses async callbacks, call its
39240        willSendRequestAsync callback instead if willSendRequest.
39241
392422013-12-19  Andreas Kling  <akling@apple.com>
39243
39244        CascadedProperties: Deferred properties should have inline capacity.
39245        <https://webkit.org/b/125994>
39246
39247        Give CascadedProperties::m_deferredProperties an inline capacity
39248        of 8 to sidestep malloc churn (0.2% of HTML5-8266 profile.)
39249
39250        Reviewed by Antti Koivisto.
39251
392522013-12-19  Andreas Kling  <akling@apple.com>
39253
39254        Two small refinements to matched properties cache.
39255        <https://webkit.org/b/125992>
39256
39257        - Avoid computing the matched properties hash if we're banned from
39258          using the cache anyway.
39259
39260        - When adding a new entry to the cache, use move semantics to avoid
39261          creating a transient copy of all the data.
39262
39263        Reviewed by Antti Koivisto.
39264
392652013-12-19  Andreas Kling  <akling@apple.com>
39266
39267        CascadedProperties should use a bitset to track property presence.
39268        <https://webkit.org/b/125991>
39269
39270        Avoid zeroing out a bunch of memory in the CascadedProperties ctor
39271        by using a bitset to track whether each property is present in the
39272        cascaded set.
39273
39274        Reviewed by Antti Koivisto.
39275
392762013-12-19  Seokju Kwon  <seokju@webkit.org>
39277
39278        Web Inspector: Fix description of parameters in Page.setGeolocationOverride
39279        https://bugs.webkit.org/show_bug.cgi?id=125983
39280
39281        Reviewed by Joseph Pecoraro.
39282
39283        No new tests, no changes in behavior.
39284
39285        * inspector/protocol/Page.json:
39286
392872013-12-18  Jer Noble  <jer.noble@apple.com>
39288
39289        [MSE][Mac] Add AVSampleBufferRendererSynchronizer support.
39290        https://bugs.webkit.org/show_bug.cgi?id=125954
39291
39292        Reviewed by Eric Carlson.
39293
39294        Instead of slaving all the various renderer's CMTimebases to one master timebase,
39295        use AVSampleBufferRenderSynchronizer, which essentially does the same thing.
39296
39297        * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
39298        * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
39299        (WebCore::CMTimebaseEffectiveRateChangedCallback): Added; call effectiveRateChanged().
39300        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::MediaPlayerPrivateMediaSourceAVFObjC): Set up
39301            the synchronizer and all the observers.
39302        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::~MediaPlayerPrivateMediaSourceAVFObjC): Tear down
39303            the same.
39304        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::isAvailable): Require the
39305            AVSampleBufferRenderSynchronizer class.
39306        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::playInternal): Convert Clock -> Synchronizer.
39307        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::pauseInternal): Ditto.
39308        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::paused): Ditto.
39309        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::currentTimeDouble): Ditto.
39310        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekInternal): Ditto.
39311        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setRateDouble): Ditto.
39312        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::ensureLayer): Ditto.
39313        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::destroyLayer): Ditto.
39314        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::effectiveRateChanged): Ditto.
39315        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::addDisplayLayer): Ditto.
39316        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::removeDisplayLayer): Ditto.
39317        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::addAudioRenderer): Ditto.
39318        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::removeAudioRenderer): Ditto.
39319
39320        Drive-by fix; audio samples can't be subdivided, and video samples are
39321        rarely combined, so remove the call to CMSampleBufferCallForEachSample:
39322        * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
39323        (WebCore::SourceBufferPrivateAVFObjC::didProvideMediaDataForTrackID):
39324
393252013-12-18  Andreas Kling  <akling@apple.com>
39326
39327        CSS: Fall back to cache-less cascade when encountering explicitly inherited value.
39328        <https://webkit.org/b/125968>
39329
39330        When encountering an explicitly inherited value for a property that's not
39331        "statically inherited", drop out of the matched properties cache path
39332        immediately instead of waiting for some coincidence to trigger it later on.
39333
39334        Fixes 3 asserting table tests:
39335
39336        - fast/table/border-collapsing/cached-69296.html
39337        - tables/mozilla/bugs/bug27038-3.html
39338        - tables/mozilla_expected_failures/marvin/backgr_border-table-row-group.html
39339
39340        Reviewed by Antti Koivisto.
39341
393422013-12-18  Ryosuke Niwa  <rniwa@webkit.org>
39343
39344        Crash in WebCore::LogicalSelectionOffsetCaches::LogicalSelectionOffsetCaches
39345        https://bugs.webkit.org/show_bug.cgi?id=125970
39346
39347        Reviewed by Antti Koivisto.
39348
39349        The bug was caused by containingBlockForAbsolutePosition returning a non-RenderBlock render object.
39350        Fixed the bug by obtaining its containg block.
39351
39352        Also changed the return type of containingBlockForFixedPosition, containingBlockForAbsolutePosition,
39353        containingBlockForObjectInFlow from RenderElement to RenderBlock as all callers of these functions
39354        had assumed the return value to be an instance of RenderBlock.
39355
39356        Test: svg/text/select-text-inside-non-static-position.html
39357
39358        * rendering/LogicalSelectionOffsetCaches.h:
39359        (WebCore::containingBlockForFixedPosition):
39360        (WebCore::containingBlockForAbsolutePosition):
39361        (WebCore::containingBlockForObjectInFlow):
39362        (WebCore::LogicalSelectionOffsetCaches::LogicalSelectionOffsetCaches):
39363
393642013-12-18  Andreas Kling  <akling@apple.com>
39365
39366        Don't waste cycles on zeroing every CascadedProperties::Property.
39367        <https://webkit.org/b/125966>
39368
39369        The CascadedProperties constructor already zeroes out the whole
39370        property array. Move the memset() to setDeferred() which is the only
39371        other place we create a Property.
39372
39373        Brought to you by Instruments.app. Profile your code today!
39374
39375        Reviewed by Antti Koivisto.
39376
393772013-12-18  Hans Muller  <hmuller@adobe.com>
39378
39379        [CSS Shapes] Simplify the BoxShape implementation
39380        https://bugs.webkit.org/show_bug.cgi?id=125548
39381
39382        Reviewed by Andreas Kling.
39383
39384        Reduce BoxShape's footprint by about 2/3rds. Instead of caching the
39385        FloatRoundedRects which represent a BoxShape's shape-padding and shape-margin
39386        boundaries, compute them as needed.
39387
39388        No new tests, this is just an internal refactoring.
39389
39390        * rendering/shapes/BoxShape.cpp:
39391        (WebCore::BoxShape::shapeMarginLogicalBoundingBox): Now just computes the bounding box rect.
39392        (WebCore::BoxShape::shapePaddingLogicalBoundingBox): Ditto.
39393        (WebCore::BoxShape::shapeMarginBounds): Removed the caching logic.
39394        (WebCore::BoxShape::shapePaddingBounds): Ditto.
39395        (WebCore::BoxShape::getExcludedIntervals): Use the computed margin bounds, instead of the cached one.
39396        (WebCore::BoxShape::getIncludedIntervals): Ditto (padding bounds).
39397        * rendering/shapes/BoxShape.h:
39398        (WebCore::BoxShape::BoxShape): Simplified the constructor.
39399        * rendering/shapes/Shape.cpp:
39400        (WebCore::createBoxShape):
39401        (WebCore::Shape::createShape):
39402
394032013-12-17  Jer Noble  <jer.noble@apple.com>
39404
39405        [MSE][Mac] Add AVSampleBufferAudioRenderer support.
39406        https://bugs.webkit.org/show_bug.cgi?id=125905
39407
39408        Reviewed by Eric Carlson.
39409
39410        On platforms which support AVSampleBufferAudioRenderer, add support
39411        for playback of audio CMSampleBufferRefs generated by AVStreamDataParser.
39412
39413        * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
39414        * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
39415        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::isAvailable): Require AVSampleBufferAudioRenderer.
39416        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setVolume): Pass through to every audio renderer.
39417        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setMuted): Ditto.
39418        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::addAudioRenderer): Slave the renderer's
39419            timebase to the master clock.
39420        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::removeAudioRenderer):
39421        * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
39422        * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
39423        (WebCore::SourceBufferPrivateAVFObjC::SourceBufferPrivateAVFObjC): Drive by fix; initialize
39424            m_enabledVideoTrackID.
39425        (WebCore::SourceBufferPrivateAVFObjC::~SourceBufferPrivateAVFObjC): Call destroyRenderers().
39426        (WebCore::callProcessCodedFrameForEachSample): Drive by fix; convert the bool return to an OSErr.
39427        (WebCore::SourceBufferPrivateAVFObjC::destroyRenderers): Added; flush and destroy the audio
39428            renderers.  
39429        (WebCore::SourceBufferPrivateAVFObjC::removedFromMediaSource): Call destroyRenderers().
39430        (WebCore::SourceBufferPrivateAVFObjC::trackDidChangeEnabled): Enable or disable the audio
39431            renderer in response.
39432        (WebCore::SourceBufferPrivateAVFObjC::flushAndEnqueueNonDisplayingSamples): Added audio
39433            specific version.
39434        (WebCore::SourceBufferPrivateAVFObjC::enqueueSample): Ditto.
39435        (WebCore::SourceBufferPrivateAVFObjC::isReadyForMoreSamples): Ditto.
39436        (WebCore::SourceBufferPrivateAVFObjC::didBecomeReadyForMoreSamples): Ditto.
39437        (WebCore::SourceBufferPrivateAVFObjC::notifyClientWhenReadyForMoreSamples): Ditto.
39438
394392013-12-18  Seokju Kwon  <seokju@webkit.org>
39440
39441        Web Inspector: Remove leftover code from InspectorController after r108965
39442        https://bugs.webkit.org/show_bug.cgi?id=125956
39443
39444        Reviewed by Joseph Pecoraro.
39445
39446        No new tests, no changes in behavior.
39447
39448        * inspector/InspectorController.h: PostWorkerNotificationToFrontendTask was removed in r108965.
39449
394502013-12-18  Andreas Kling  <akling@apple.com>
39451
39452        CSS: Add a property cascading pass to style application.
39453        <https://webkit.org/b/125213>
39454
39455        Add an intermediate pass to style application where we cascade all
39456        style properties to figure out their final values before starting
39457        to build RenderStyles.
39458
39459        This opens up various opportunities for further optimization.
39460
39461        Reviewed by Antti Koivisto.
39462
39463        * css/StyleResolver.cpp:
39464        (WebCore::StyleResolver::CascadedProperties::Property::Property):
39465        (WebCore::StyleResolver::CascadedProperties::CascadedProperties):
39466        (WebCore::StyleResolver::CascadedProperties::property):
39467        (WebCore::StyleResolver::CascadedProperties::set):
39468        (WebCore::StyleResolver::CascadedProperties::addStyleProperties):
39469        (WebCore::StyleResolver::CascadedProperties::addMatches):
39470        (WebCore::StyleResolver::CascadedProperties::Property::apply):
39471
39472            Added. CascadedProperties is something of a container class
39473            that takes CSS property/value/linkMatchType as input and boils
39474            them down to the final values that will actually be used.
39475
39476            Most properties are poked into an unfancy array where latest
39477            is greatest (unless !important, of course.) Some properties are
39478            queued up to be applied in parse order, more on that below.
39479
39480        (WebCore::StyleResolver::applyCascadedProperties):
39481        (WebCore::StyleResolver::applyMatchedProperties):
39482
39483            The brains of this patch. applyMatchedProperties() now creates
39484            a CascadedProperties and uses it to figure out the final values
39485            and uses applyCascadedProperties() to apply them. Deferred
39486            properties (parse order) are applied last.
39487
39488            We may discover during property application that we won't be
39489            able to use a matched properties cache item. This happens if
39490            the effective zoom or font changes. If that happens, we start
39491            the process over, now with the cache disabled. This may need
39492            some optimization work.
39493
39494        (WebCore::extractDirectionAndWritingMode):
39495
39496            Directional properties ending in e.g -before or -after depend on
39497            the direction and writing mode in effect, so we must begin with
39498            resolving those properties before doing the full cascade.
39499
39500            This is done by simply walking the set of matched properties and
39501            manually applying '-webkit-writing-mode' and 'direction'.
39502
39503            If this starts showing up in profiles, we can easily cache some
39504            of the information in e.g RuleData to avoid the traversal here.
39505
39506        (WebCore::elementTypeHasAppearanceFromUAStyle):
39507
39508            To determine whether a form element is styled beyond the default
39509            UA style sheet, StyleResolver caches the border and background
39510            values from RenderStyle after applying the UA style sheet.
39511
39512            Those values are then compared against after all style is applied
39513            and if some (platform-dependent) values differ, the element is
39514            considered "styled."
39515
39516            This really only affects elements with -webkit-appearance values
39517            in the default UA style sheet, so this function determines if an
39518            element should take the goofy slow path for this.
39519
39520        (WebCore::shouldApplyPropertyInParseOrder):
39521        (WebCore::StyleResolver::CascadedProperties::setDeferred):
39522        (WebCore::StyleResolver::CascadedProperties::applyDeferredProperties):
39523
39524            Some CSS properties will write to the same RenderStyle fields when
39525            applied, so in order to maintain previous behavior, we must apply
39526            them in the order they were parsed.
39527
39528            We accomplish this by keeping an ordered queue of such properties
39529            to apply separately after all the other properties.
39530
39531        (WebCore::StyleResolver::CascadedProperties::setPropertyInternal):
39532
39533            Helper for poking values into a CascadedProperties::Property.
39534
39535        * css/StyleResolver.h:
39536        (WebCore::StyleResolver::state):
39537
39538            Expose the StyleResolver::State so CascadedProperties can access it.
39539
395402013-12-16  Martin Robinson  <mrobinson@igalia.com>
39541
39542        [GTK] [CMake] Add support for building WebKit1
39543        https://bugs.webkit.org/show_bug.cgi?id=116377
39544
39545        Reviewed by Gustavo Noronha Silva.
39546
39547        * PlatformGTK.cmake: Add a missing source required by WebKit1 to
39548        the WebCore build.
39549
395502013-12-18  Hans Muller  <hmuller@adobe.com>
39551
39552        [CSS Shapes] Simplify RectangleShape implementation
39553        https://bugs.webkit.org/show_bug.cgi?id=125536
39554
39555        Reviewed by Andreas Kling.
39556
39557        Instead of caching an instance of a private FloatRoundedRect (ish) class for
39558        RectangleShape's shape-margin and shape-padding bounds, we just compute
39559        the FloatRect and radii as needed. This reduces the classes footprint a little
39560        and it simplifies the implementation.
39561
39562        Removed the private RectangleShape::ShapeBounds class and made its
39563        cornerInterceptForWidth() method a static function. Added members for
39564        the RectangleShape constructor args, and private getters for their properties.
39565
39566        There are no new tests because this is just an internal refactoring.
39567
39568        * rendering/shapes/RectangleShape.cpp:
39569        (WebCore::RectangleShape::shapePaddingBounds):
39570        (WebCore::RectangleShape::shapeMarginBounds):
39571        (WebCore::ellipseXIntercept):
39572        (WebCore::ellipseYIntercept):
39573        (WebCore::RectangleShape::getExcludedIntervals):
39574        (WebCore::RectangleShape::getIncludedIntervals):
39575        (WebCore::cornerInterceptForWidth):
39576        (WebCore::RectangleShape::firstIncludedIntervalLogicalTop):
39577        (WebCore::RectangleShape::buildPath):
39578        * rendering/shapes/RectangleShape.h:
39579        (WebCore::RectangleShape::RectangleShape):
39580        (WebCore::RectangleShape::rx):
39581        (WebCore::RectangleShape::ry):
39582        (WebCore::RectangleShape::x):
39583        (WebCore::RectangleShape::y):
39584        (WebCore::RectangleShape::width):
39585        (WebCore::RectangleShape::height):
39586        * rendering/shapes/Shape.cpp:
39587        (WebCore::createCircleShape): Renamed this internal function (it was createShapeCircle) because it was inconsistent.
39588        (WebCore::createEllipseShape): Ditto.
39589        (WebCore::Shape::createShape):
39590
395912013-12-18  Benjamin Poulain  <benjamin@webkit.org>
39592
39593        Add a simple stack abstraction for x86_64
39594        https://bugs.webkit.org/show_bug.cgi?id=125908
39595
39596        Reviewed by Geoffrey Garen.
39597
39598        StackAllocator provides an abstraction to make it hard to make mistakes and protects from obvious
39599        issues at runtime.
39600
39601        The key roles of StackAllocators are:
39602        -Provide the necessary stack alignment for function calls (only x86_64 stack for now).
39603        -Provide ways to save registers on the stack, restore or discard them as needed.
39604        -Crash at runtime if an operation would obviously cause a stack inconsistency.
39605
39606        The way simple inconsistencies are detected is through the StackReference object
39607        returned whenever something is added on the stack.
39608        The object keeps a reference to the offset of what has been pushed. When the StackReference
39609        is used to recover the register, if the offset is different, there is a missmatch between
39610        push() and pop() after the object was pushed.
39611
39612        * cssjit/StackAllocator.h: Added.
39613        (WebCore::StackAllocator::StackReference::StackReference):
39614        (WebCore::StackAllocator::StackReference::operator unsigned):
39615        (WebCore::StackAllocator::StackAllocator):
39616        (WebCore::StackAllocator::~StackAllocator):
39617        (WebCore::StackAllocator::push):
39618        (WebCore::StackAllocator::pop):
39619
39620        (WebCore::StackAllocator::alignStackPreFunctionCall):
39621        (WebCore::StackAllocator::unalignStackPostFunctionCall):
39622        Those helpers provide a simple way to have a valid stack prior to a function call.
39623        Since StackAllocator knows the offset and the platform rules, it can adjust the stack
39624        if needed for x86_64.
39625
39626        (WebCore::StackAllocator::discard): Discard a single register or the full stack.
39627
39628        (WebCore::StackAllocator::combine): combining stacks is the way to solve branches
39629        where the stack is used differently in each case.
39630        To do that, the stack is first copied to A and B. Each branch works on its own
39631        StackAllocator copy, then the two copies are linked together to the original stack.
39632
39633        The copies ensure the local consistency in each branch, linking the copies ensure global
39634        consistencies and that both branches end in the same stack state.
39635
39636        (WebCore::StackAllocator::offsetToStackReference): Helper function to access the stack by address
39637        through its StackReference.
39638
39639        (WebCore::StackAllocator::reset):
39640
396412013-12-18  Alex Christensen  <achristensen@webkit.org>
39642
39643        [WinCairo] Preparation for GStreamer on Windows.
39644        https://bugs.webkit.org/show_bug.cgi?id=125946
39645
39646        Reviewed by Brent Fulgham.
39647
39648        * WebCore.vcxproj/WebCore.vcxproj:
39649        Use new GStreamer property sheets for WinCairo.
39650        * WebCore.vcxproj/WebCoreCairo.props:
39651        Include GStreamer directory.
39652
396532013-12-18  Oliver Hunt  <oliver@apple.com>
39654
39655        Refactor CodeGeneratorJS - Move attribute function creation out of getOwnPropertyName guard
39656        https://bugs.webkit.org/show_bug.cgi?id=125940
39657
39658        Reviewed by Simon Fraser.
39659
39660        This is just a huge block move of code out from behind the
39661        ImplementationOverridesGetOwnProperty guard.
39662
39663        * bindings/scripts/CodeGeneratorJS.pm:
39664        (GenerateImplementation):
39665
396662013-12-18  Tim Horton  <timothy_horton@apple.com>
39667
39668        [iOS] Frequent ASSERT(hasOneRef()) in SharedBuffer::releasePurgeableBuffer
39669        https://bugs.webkit.org/show_bug.cgi?id=125939
39670
39671        Reviewed by Simon Fraser.
39672
39673        r146082 fixed these assertions by not making a purgeable buffer if a SharedBuffer
39674        has multiple refs, but the check was put in ResourceBuffer::createPurgeableBuffer
39675        instead of down in SharedBuffer::createPurgeableBuffer.
39676
39677        This is fine for most WebKit ports, because ResourceBuffer::createPurgeableBuffer
39678        is the only caller of SharedBuffer::createPurgeableBuffer, but causes trouble for
39679        not-quite-yet-upstreamed iOS SharedBuffer code, which adds another caller
39680        of SharedBuffer::createPurgeableBuffer.
39681
39682        Push the early-return down into SharedBuffer::createPurgeableBuffer to ensure
39683        that all callers are protected from creating a purgeable buffer if the SharedBuffer
39684        has previously been vended elsewhere.
39685
39686        No new tests, has no effect on the current Open Source tree.
39687
39688        * loader/ResourceBuffer.cpp:
39689        (WebCore::ResourceBuffer::createPurgeableBuffer):
39690        * platform/SharedBuffer.cpp:
39691        (WebCore::SharedBuffer::createPurgeableBuffer):
39692
396932013-12-18  Beth Dakin  <bdakin@apple.com>
39694
39695        Starting a momentum scroll while rubber banding can cause scrolling to jump back 
39696        when the rubberband snaps
39697        https://bugs.webkit.org/show_bug.cgi?id=119507
39698        -and corresponding-
39699        <rdar://problem/14655893>
39700
39701        Reviewed by Simon Fraser.
39702
39703        This line of code was added with the very first implementation of rubber-banding. 
39704        As far as I can tell, it was always a belt-and-suspenders line of code that is a 
39705        no-op in all normal rubber-banding. In this J-shaped scrolling case, this line of 
39706        code is what causes the bug to occur because this line of code assumes that your 
39707        rubber-band is always trying to take you back to the origin. 
39708        * platform/mac/ScrollElasticityController.mm:
39709        (WebCore::ScrollElasticityController::snapRubberBandTimerFired):
39710
397112013-12-18  Chris Fleizach  <cfleizach@apple.com>
39712
39713        AX: make aria-hidden=false work with subtrees
39714        https://bugs.webkit.org/show_bug.cgi?id=125592
39715
39716        Reviewed by Mario Sanchez Prada.
39717
39718        When a hidden object uses aria-hidden=false, that needs to apply to
39719        the entire sub-tree (not just the object with aria-hidden on it as it does now).
39720
39721        Enabling this had the side effect of exposing non-rendered text nodes, so there's
39722        some extra checks to ensure we don't include those elements in this cases.
39723
39724        Test: accessibility/aria-hidden-false-works-in-subtrees.html
39725
39726        * accessibility/AXObjectCache.cpp:
39727        (WebCore::isNodeAriaVisible):
39728        * accessibility/AccessibilityNodeObject.cpp:
39729        (WebCore::AccessibilityNodeObject::computeAccessibilityIsIgnored):
39730
397312013-12-18  Oliver Hunt  <oliver@apple.com>
39732
39733        Simplify bindings codegen for adding getOwnPropertySlot overrides
39734        https://bugs.webkit.org/show_bug.cgi?id=125934
39735
39736        Reviewed by Alexey Proskuryakov.
39737
39738        Simple refactoring no change in behavior.
39739
39740        * bindings/scripts/CodeGeneratorJS.pm:
39741        (InstanceOverridesGetOwnPropertySlot):
39742        (PrototypeOverridesGetOwnPropertySlot):
39743        (GenerateHeader):
39744        (GenerateImplementation):
39745
397462013-12-18  Conrad Shultz  <conrad_shultz@apple.com>
39747
39748        AudioSessionManagerMac.cpp: kLowPowerVideoBufferSize unused before OS X 10.9
39749        https://bugs.webkit.org/show_bug.cgi?id=125935
39750
39751        Reviewed by Jer Noble.
39752
39753        * platform/audio/mac/AudioSessionManagerMac.cpp:
39754        Add __MAC_OS_X_VERSION_MIN_REQUIRED >= 1090 guard.
39755
397562013-12-18  Joseph Pecoraro  <pecoraro@apple.com>
39757
39758        Web Inspector: Some basic DebuggerAgent cleanup
39759        https://bugs.webkit.org/show_bug.cgi?id=125901
39760
39761        Reviewed by Timothy Hatcher.
39762
39763        * inspector/InspectorDebuggerAgent.h:
39764        Remove virtual from not really virtual method.
39765
39766        * inspector/InspectorDebuggerAgent.cpp:
39767        (WebCore::InspectorDebuggerAgent::enable):
39768        (WebCore::InspectorDebuggerAgent::disable):
39769        Use member variable instead of private function.
39770
39771        (WebCore::InspectorDebuggerAgent::setPauseOnExceptions):
39772        Inline the three lines from the private function.
39773
397742013-12-18  Martin Hodovan  <mhodovan@inf.u-szeged.hu>
39775
39776        REGRESSION (r155536): Broken error recovery in @media at-rule
39777        https://bugs.webkit.org/show_bug.cgi?id=125637
39778
39779        Reviewed by Darin Adler.
39780
39781        Error recovery in @media is broken if any of its rules misses the opening '{'.
39782        The problem is that when the parser recognises the mistake it removes only the last
39783        WHITESPACE token instead of the whole selector and tries to recover the selector again.
39784        it swallows everything until it finds the next opening bracket. thats why the '}' brackets
39785        of both subrules and even the @media rule are ignored, and the whole @media will be
39786        considered invalid. By joining the selector and its trailing whitespace the error recovery
39787        ignores the bad selector only and keep the @media rule.
39788
39789        Test: fast/css/media-error-recovery.html
39790
39791        * css/CSSGrammar.y.in:
39792
397932013-12-18  Chris Fleizach  <cfleizach@apple.com>
39794
39795        AX: WebKit not sending AXMenuClosed notification
39796        https://bugs.webkit.org/show_bug.cgi?id=125783
39797
39798        Reviewed by Mario Sanchez Prada.
39799
39800        When an object with a role=menu is removed, we need to send out a notification informing that the menu has closed.
39801        This means detecting the right kind of destruction event for an element, because we do not want to 
39802        send this notification when the entire cache is being torn down.
39803
39804        Test: platform/mac/accessibility/aria-menu-closed-notification.html
39805
39806        * accessibility/AXObjectCache.cpp:
39807        (WebCore::AXObjectCache::~AXObjectCache):
39808        (WebCore::AXObjectCache::remove):
39809        * accessibility/AXObjectCache.h:
39810        (WebCore::AXObjectCache::document):
39811        * accessibility/AccessibilityNodeObject.cpp:
39812        (WebCore::AccessibilityNodeObject::detach):
39813        * accessibility/AccessibilityNodeObject.h:
39814        * accessibility/AccessibilityObject.cpp:
39815        (WebCore::AccessibilityObject::detach):
39816        * accessibility/AccessibilityObject.h:
39817        * accessibility/AccessibilityRenderObject.cpp:
39818        (WebCore::AccessibilityRenderObject::detach):
39819        * accessibility/AccessibilityRenderObject.h:
39820        * accessibility/AccessibilityScrollView.cpp:
39821        (WebCore::AccessibilityScrollView::detach):
39822        * accessibility/AccessibilityScrollView.h:
39823        * accessibility/mac/AXObjectCacheMac.mm:
39824        (WebCore::AXObjectCache::postPlatformNotification):
39825
398262013-12-18  Eric Carlson  <eric.carlson@apple.com>
39827
39828        Do not create cue subtree just to delete it
39829        https://bugs.webkit.org/show_bug.cgi?id=125904
39830
39831        Reviewed by Jer Noble.
39832
39833        No new tests, covered by existing tests.
39834
39835        * html/track/TextTrackCue.cpp:
39836        (WebCore::TextTrackCue::setIsActive): Return early if display tree is NULL.
39837        (WebCore::TextTrackCue::removeDisplayTree): Ditto.
39838
398392013-12-17  Oliver Hunt  <oliver@apple.com>
39840
39841        Remove JSInlineGetOwnPropertySlot attribute as it is no longer necessary
39842        https://bugs.webkit.org/show_bug.cgi?id=125875
39843
39844        Reviewed by Brady Eidson.
39845
39846        Tested this on dromaeo and acid3 (the original reason for this attribute)
39847        and it no longer provided any benefit. This makes it easier to reason about
39848        creation of getOwnPropertySlot during binding generation.
39849
39850        * bindings/scripts/CodeGeneratorJS.pm:
39851        (GenerateHeader):
39852        (GenerateImplementation):
39853        * bindings/scripts/IDLAttributes.txt:
39854        * dom/Document.idl:
39855        * dom/Element.idl:
39856        * dom/Node.idl:
39857
398582013-12-18  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>
39859
39860        Fix ASSERTION FAILED in WebCore::SVGLengthContext::determineViewport
39861        https://bugs.webkit.org/show_bug.cgi?id=120284
39862
39863        Reviewed by Philip Rogers.
39864
39865        Added handling of root <svg> elements.
39866        Blink merge: https://chromium.googlesource.com/chromium/blink/+/a7dedf81eb7008276bb6854f0e46465e039788f8
39867
39868        SVGLengthContext::determineViewport() currently asserts that we're not
39869        resolving lengths for the topmost element, but there's nothing to
39870        prevent such calls.
39871
39872        The patch updates determineViewport() to handle root elements geracefully
39873        (using their current viewport). It also changes the signature slightly
39874        to operate directly on a FloatSize, reducing some of the boiler-plate
39875        client code.
39876
39877        Tests: svg/custom/svg-length-value-handled.svg
39878               svg/dom/svg-root-lengths.html
39879
39880        * svg/SVGLengthContext.cpp:
39881        (WebCore::SVGLengthContext::convertValueFromUserUnitsToPercentage):
39882        (WebCore::SVGLengthContext::convertValueFromPercentageToUserUnits):
39883        (WebCore::SVGLengthContext::determineViewport):
39884        * svg/SVGLengthContext.h:
39885        * svg/graphics/filters/SVGFEImage.cpp:
39886        (WebCore::FEImage::platformApplySoftware):
39887
398882013-12-18  Darin Adler  <darin@apple.com>
39889
39890        Additional refinement in MathMLSelectElement toggle implementation
39891        https://bugs.webkit.org/show_bug.cgi?id=125785
39892
39893        Reviewed by Andreas Kling.
39894
39895        * mathml/MathMLSelectElement.cpp:
39896        (WebCore::MathMLSelectElement::defaultEventHandler): Call setDefaultHandled
39897        so this will be handled by only one element.
39898        (WebCore::MathMLSelectElement::willRespondToMouseClickEvents): Return true
39899        only when action is set to toggle, since other select elements will not
39900        respond to mouse click events.
39901        (WebCore::MathMLSelectElement::toggle): Simplified code a bit and gave
39902        local a clearer variable name.
39903
399042013-12-18  Rob Buis  <rob.buis@samsung.com>
39905
39906        [CSS Shapes] Implement interpolation between keywords in basic shapes
39907        https://bugs.webkit.org/show_bug.cgi?id=125108
39908
39909        Reviewed by Simon Fraser.
39910
39911        Allow blending for all center coordinates since top/left and bottom/right default to correct
39912        Length values of 0% and 100%. For mixed keyword and value positions compute the length's used
39913        for blending to percentages. This is possible since we compute the reference box bounds given the
39914        renderer.
39915
39916        * page/animation/CSSPropertyAnimation.cpp:
39917        (WebCore::blendFunc): Pass additional RenderBox parameter.
39918        * rendering/style/BasicShapes.cpp:
39919        (WebCore::BasicShape::canBlend): Don't check circle/ellipse center anymore, but do check that both
39920        shapes use the same reference box.
39921        (WebCore::BasicShape::referenceBoxSize): Compute box dimension depending on reference box.
39922        (WebCore::BasicShapeCenterCoordinate::lengthForBlending): Convert to percentage for Bottom/Right.
39923        (WebCore::BasicShapeRectangle::blend):
39924        (WebCore::DeprecatedBasicShapeCircle::blend):
39925        (WebCore::BasicShapeCircle::blend):
39926        (WebCore::DeprecatedBasicShapeEllipse::blend):
39927        (WebCore::BasicShapeEllipse::blend):
39928        (WebCore::BasicShapePolygon::blend):
39929        (WebCore::BasicShapeInsetRectangle::blend):
39930        (WebCore::BasicShapeInset::blend):
39931        * rendering/style/BasicShapes.h:
39932        (WebCore::BasicShapeCenterCoordinate::blend): Use new lengthForBlending.
39933
399342013-12-18  Dániel Bátyai  <dbatyai.u-szeged@partner.samsung.com>
39935
39936        CSS: Null-pointer dereference with negative 'orphans' value.
39937        https://bugs.webkit.org/show_bug.cgi?id=125924
39938
39939        Reviewed by Andreas Kling.
39940
39941        orphans and widows should be positive integer.
39942
39943        spec link:
39944        http://www.w3.org/TR/CSS2/page.html#propdef-orphans
39945
39946        Backported from Blink: https://codereview.chromium.org/108663009
39947
39948        Test: fast/css/negative-orphans-crash.html
39949
39950        * css/CSSParser.cpp:
39951        (WebCore::CSSParser::parseValue):
39952
399532013-12-18  Andreas Kling  <akling@apple.com>
39954
39955        Make more computed style helpers return values by PassRef.
39956        <https://webkit.org/b/125923>
39957
39958        Tighten yet another handful of CSS computed style helper functions
39959        to return their CSSValues by PassRef where we never return null.
39960
39961        Reviewed by Antti Koivisto.
39962
399632013-12-18  Andreas Kling  <akling@apple.com>
39964
39965        Use range for syntax in Frame and FrameView.
39966        <https://webkit.org/b/125922>
39967
39968        Convert code in Frame and FrameView to use C++11's range for syntax.
39969
39970        Reviewed by Antti Koivisto.
39971
399722013-12-18  Andreas Kling  <akling@apple.com>
39973
39974        RenderElement-ize adjustForAbsoluteZoom() and friends.
39975        <https://webkit.org/b/125921>
39976
39977        Make adjustForAbsoluteZoom() take a const RenderElement& instead
39978        of a RenderObject* so we can avoid the extra branch in style().
39979        All call sites already had RenderElements.
39980
39981        Reviewed by Antti Koivisto.
39982
399832013-12-18  Chris Fleizach  <cfleizach@apple.com>
39984
39985        AX: HTML spec change indicates @aria-required should trump @required on any element
39986        https://bugs.webkit.org/show_bug.cgi?id=122145
39987
39988        Reviewed by Mario Sanchez Prada.
39989
39990        aria-required should win over the native "required" attribute.
39991
39992        Updated tests: accessibility/aria-required.html
39993
39994        * accessibility/AccessibilityNodeObject.cpp:
39995        (WebCore::AccessibilityNodeObject::isRequired):
39996
399972013-12-18  Carlos Garcia Campos  <cgarcia@igalia.com>
39998
39999        Unreviewed. Fix make distcheck.
40000
40001        * GNUmakefile.am:
40002        * GNUmakefile.list.am:
40003
400042013-12-18  Dániel Bátyai  <dbatyai.u-szeged@partner.samsung.com>
40005
40006        [soup] Fix unused parameter warnings in ResourceHandleSoup.
40007        https://bugs.webkit.org/show_bug.cgi?id=125918
40008
40009        Reviewed by Martin Robinson.
40010
40011        Comment out the method parameters to avoid the warnings.
40012
40013        No tests required.
40014
40015        * platform/network/soup/ResourceHandleSoup.cpp:
40016        (WebCore::WebCoreSynchronousLoader::didReceiveData):
40017
400182013-12-17  Jer Noble  <jer.noble@apple.com>
40019
40020        [MSE] Periodically monitor source buffers.
40021        https://bugs.webkit.org/show_bug.cgi?id=125898
40022
40023        Reviewed by Eric Carlson.
40024
40025        Test: media/media-source/media-source-monitor-source-buffers.html
40026
40027        The MSE spec requires that the SourceBuffer Monitoring step is run
40028        periodically during playback. No specific update interval is specified
40029        so we will re-use the existing HTMLMediaElement playback progress
40030        timer to signal the media source monitoring.
40031
40032        * html/HTMLMediaElement.cpp:
40033        (HTMLMediaElement::playbackProgressTimerFired):
40034
400352013-12-17  Jer Noble  <jer.noble@apple.com>
40036
40037        [MSE] Add per-track signalling between SourceBuffer and SourceBufferPrivate.
40038        https://bugs.webkit.org/show_bug.cgi?id=125899
40039
40040        Reviewed by Eric Carlson.
40041
40042        To accommodate the future addition of audio support to MSE in the Mac
40043        port, add the concept of trackIDs to the communication between
40044        SourceBuffer and SourceBufferPrivate.
40045
40046        The following virtual methods  now take a trackID parameter:
40047        * platform/graphics/SourceBufferPrivate.h:
40048        (WebCore::SourceBufferPrivate::isReadyForMoreSamples):
40049        (WebCore::SourceBufferPrivate::stopAskingForMoreSamples):
40050        (WebCore::SourceBufferPrivate::notifyClientWhenReadyForMoreSamples):
40051        * platform/graphics/SourceBufferPrivateClient.h:
40052        (WebCore::SourceBufferPrivateClient::sourceBufferPrivateDidBecomeReadyForMoreSamples):
40053
40054        Update overridden methods in subclasses:
40055        * Modules/mediasource/SourceBuffer.cpp:
40056        (WebCore::SourceBuffer::sourceBufferPrivateDidBecomeReadyForMoreSamples):
40057        * Modules/mediasource/SourceBuffer.h:
40058        * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
40059        * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
40060        (WebCore::SourceBufferPrivateAVFObjC::trackDidChangeEnabled):
40061        (WebCore::SourceBufferPrivateAVFObjC::isReadyForMoreSamples):
40062        * platform/mock/mediasource/MockSourceBufferPrivate.h:
40063
40064        Change the logic in provideMediaData to update a single TrackBuffer
40065        rather than iterating over all of them:
40066        * Modules/mediasource/SourceBuffer.cpp:
40067        (WebCore::SourceBuffer::sourceBufferPrivateSeekToTime):
40068        (WebCore::SourceBuffer::appendBufferTimerFired):
40069        (WebCore::SourceBuffer::provideMediaData):
40070
400712013-12-17  Joseph Pecoraro  <pecoraro@apple.com>
40072
40073        Web Inspector: Remove InspectorAgent::hasFrontend
40074        https://bugs.webkit.org/show_bug.cgi?id=125907
40075
40076        Reviewed by Timothy Hatcher.
40077
40078        Remove InspectorAgent::hasFrontend only used by
40079        InspectorInstrumentation::collectingHTMLParseErrors. However,
40080        following the single callers of that, the result is unused
40081        in the HTMLDocumentParser and HTMLTreeBuilder. So remove
40082        more stale / unused code.
40083
40084        * html/FTPDirectoryDocument.cpp:
40085        (WebCore::FTPDirectoryDocumentParser::FTPDirectoryDocumentParser):
40086        * html/HTMLDocument.cpp:
40087        (WebCore::HTMLDocument::createParser):
40088        * html/parser/HTMLDocumentParser.cpp:
40089        (WebCore::HTMLDocumentParser::HTMLDocumentParser):
40090        * html/parser/HTMLDocumentParser.h:
40091        (WebCore::HTMLDocumentParser::create):
40092        * html/parser/HTMLTreeBuilder.cpp:
40093        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
40094        * html/parser/HTMLTreeBuilder.h:
40095        (WebCore::HTMLTreeBuilder::create):
40096        * html/parser/TextDocumentParser.cpp:
40097        (WebCore::TextDocumentParser::TextDocumentParser):
40098        * inspector/DOMPatchSupport.cpp:
40099        (WebCore::DOMPatchSupport::patchDocument):
40100        * inspector/InspectorAgent.h:
40101        * inspector/InspectorInstrumentation.cpp:
40102        * inspector/InspectorInstrumentation.h:
40103
401042013-12-17  Joseph Pecoraro  <pecoraro@apple.com>
40105
40106        Web Inspector: Some basic InjectedScriptHost cleanup
40107        https://bugs.webkit.org/show_bug.cgi?id=125902
40108
40109        Reviewed by Timothy Hatcher.
40110
40111        Remove InjectedScriptHost::scriptDebugServer. Nobody accesses
40112        the ScriptDebugServer through the injected script host. This
40113        also lets us remove the reference to the DebuggerAgent.
40114
40115        * inspector/InjectedScriptHost.cpp:
40116        * inspector/InjectedScriptHost.h:
40117        (WebCore::InjectedScriptHost::init):
40118        * inspector/InspectorController.cpp:
40119        (WebCore::InspectorController::InspectorController):
40120        * inspector/WorkerInspectorController.cpp:
40121        (WebCore::WorkerInspectorController::WorkerInspectorController):
40122
401232013-12-17  Joseph Pecoraro  <pecoraro@apple.com>
40124
40125        Web Inspector: Remove InspectorFrontendHost.setInjectedScriptForOrigin
40126        https://bugs.webkit.org/show_bug.cgi?id=125906
40127
40128        Reviewed by Timothy Hatcher.
40129
40130        Remove stale code related to a since removed feature,
40131        Inspector extensions. This allows us to remove a number
40132        of entry points into InspectorAgent.
40133
40134        * inspector/InspectorAgent.cpp:
40135        (WebCore::InspectorAgent::InspectorAgent):
40136        (WebCore::InspectorAgent::willDestroyFrontendAndBackend):
40137        * inspector/InspectorAgent.h:
40138        (WebCore::InspectorAgent::create):
40139        Remove setInjectedScriptForOrigin and InjectedScript management.
40140
40141        * inspector/InspectorController.cpp:
40142        (WebCore::InspectorController::InspectorController):
40143        * inspector/InspectorController.h:
40144        * inspector/InspectorFrontendHost.cpp:
40145        * inspector/InspectorFrontendHost.h:
40146        * inspector/InspectorFrontendHost.idl:
40147        Remove the API and calling through InspectorController.
40148
40149        * inspector/InspectorInstrumentation.cpp:
40150        (WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl):
40151        (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl):
40152        (WebCore::InspectorInstrumentation::didCommitLoadImpl):
40153        Remove now unnecessary calls into InspectorAgent.
40154
401552013-12-17  Jer Noble  <jer.noble@apple.com>
40156
40157        Fix TimeRanges::intersectWith
40158        https://bugs.webkit.org/show_bug.cgi?id=118802
40159
40160        Test: TestWebKitAPI/Tests/WebCore/TimeRanges.cpp.
40161
40162        Reviewed by Eric Carlson.
40163
40164        * WebCore.exp.in:
40165        * WebCore.xcodeproj/project.pbxproj:
40166        * html/TimeRanges.cpp:
40167        (TimeRanges::invert):
40168        (TimeRanges::intersectWith):
40169
40170        Merge
40171        https://chromium.googlesource.com/chromium/blink/+/f557582b6c6283a8b165514f52d01cfd98130e85        
40172
401732013-12-17  Eric Carlson  <eric.carlson@apple.com>
40174
40175        ASSERT setting pseudoID with registered DOMSubtreeModified listener
40176        https://bugs.webkit.org/show_bug.cgi?id=125900
40177
40178        Reviewed by Ryosuke Niwa.
40179
40180        Test: fast/dom/attribute-set-before-element-in-tree.html
40181
40182        * dom/Node.cpp:
40183        (WebCore::Node::dispatchSubtreeModifiedEvent): Return early if the node does not have a
40184            parent and does not have a DOMSubtreeModified listener.
40185
401862013-12-17  Ryosuke Niwa  <rniwa@webkit.org>
40187
40188        Remove dead code for reflected attributes from audio, video, and track elements
40189        https://bugs.webkit.org/show_bug.cgi?id=125838
40190
40191        Reviewed by Eric Carlson.
40192
40193        Merge https://chromium.googlesource.com/chromium/blink/+/310514e2f0fd934975b841d463bad0cd62e6fd64
40194
40195        Where [Reflect] is used in the IDL, the getters and setters in C++ are
40196        only for internal convenience, and these were unused.
40197
40198        * html/HTMLMediaElement.cpp:
40199        * html/HTMLMediaElement.h:
40200        * html/HTMLTrackElement.cpp:
40201        * html/HTMLTrackElement.h:
40202        * html/HTMLVideoElement.cpp:
40203        * html/HTMLVideoElement.h:
40204
402052013-12-17  Simon Fraser  <simon.fraser@apple.com>
40206
40207        Rename "canRubberBands" to "canRubberBand"
40208        https://bugs.webkit.org/show_bug.cgi?id=125897
40209
40210        Reviewed by Anders Carlsson.
40211
40212        Rename "canRubberBands" to "canRubberBand" in various places.
40213
40214        * page/scrolling/ScrollingTree.cpp:
40215        (WebCore::ScrollingTree::setCanRubberBandState):
40216        * page/scrolling/ScrollingTree.h:
40217
402182013-12-17  Jer Noble  <jer.noble@apple.com>
40219
40220        [MSE] Update duration after appending samples, per spec.
40221        https://bugs.webkit.org/show_bug.cgi?id=125703
40222
40223        Reviewed by Eric Carlson.
40224
40225        Test: media/media-source/media-source-duration-after-append.html
40226
40227        After appending a sample, update the MediaSource duration if the sample's
40228        presentation end time is greater than the existing duration.
40229
40230        * Modules/mediasource/SourceBuffer.cpp:
40231        (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample):
40232        * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
40233        * platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:
40234        (WebCore::MediaSourcePrivateAVFObjC::setDuration): Notify the MediaPlayer.
40235
402362013-12-17  Jer Noble  <jer.noble@apple.com>
40237
40238        [MSE][Mac] Null-deref in CMSampleBufferIsRandomAccess().
40239        https://bugs.webkit.org/show_bug.cgi?id=125698
40240
40241        Reviewed by Sam Weinig.
40242
40243        If a given CMSampleBufferRef does not have a sample attachments array (which is unlikely, but
40244        possible), CMSampleBufferGetAttachmentsArray() will return a null value.
40245
40246        Additionally, the CMSampleBuffer documentation states that "samples are assumed to be sync
40247        samples by default", so the absence of an attachment array (or the absense of a
40248        kCMSampleAttachmentKey_NotSync entry in any of the attachment dictionaries) indicates the
40249        sample is sync.
40250
40251        * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
40252        (WebCore::CMSampleBufferIsRandomAccess):
40253
402542013-12-17  Ryosuke Niwa  <rniwa@webkit.org>
40255
40256        Video element's width and height content attributes should not influence intrinsic width and height
40257        https://bugs.webkit.org/show_bug.cgi?id=125822
40258
40259        Reviewed by Darin Adler.
40260
40261        Merge https://chromium.googlesource.com/chromium/blink/+/022ce34efb5b70cb964c3ca29f23c8980ffaef05
40262
40263        The width/height content attributes already influence specified style via
40264        HTMLVideoElement::collectStyleForPresentationAttribute, to also influence the intrinsic size has never
40265        been part of the spec: http://www.w3.org/TR/2013/WD-html51-20130528/embedded-content-0.html#dom-dim-width
40266
40267        The test case passes in Firefox Nightly and IE11 Release Preview, but fails in Opera Presto, which has
40268        no default intrinsic size.
40269
40270        Test: media/video-intrinsic-width-height.html
40271
40272        * rendering/RenderVideo.cpp:
40273        (WebCore::RenderVideo::calculateIntrinsicSize):
40274
402752013-12-16  Daniel Bates  <dabates@apple.com>
40276
40277        [iOS] Upstream WebCore/html changes
40278        https://bugs.webkit.org/show_bug.cgi?id=125765
40279
40280        Reviewed by Darin Adler.
40281
40282        * WebCore.xcodeproj/project.pbxproj:
40283        * html/Autocapitalize.cpp: Added.
40284        * html/Autocapitalize.h: Added. Also, added FIXME comment to forward declare AtomicString once we upstream
40285        more of the iOS port.
40286        * html/BaseChooserOnlyDateAndTimeInputType.cpp:
40287        (WebCore::BaseChooserOnlyDateAndTimeInputType::handleDOMActivateEvent): Opt out of code when building for iOS.
40288        * html/BaseDateAndTimeInputType.cpp:
40289        (WebCore::BaseDateAndTimeInputType::isKeyboardFocusable): Added; iOS-specific.
40290        * html/BaseDateAndTimeInputType.h:
40291        * html/FileInputType.cpp:
40292        (WebCore::FileInputType::FileInputType): Added iOS-specific code.
40293        (WebCore::FileInputType::~FileInputType): Opt out of code when building for iOS. Also, added FIXME comment.
40294        (WebCore::FileInputType::requestIcon): Ditto.
40295        (WebCore::FileInputType::filesChosen): Added; iOS-specific.
40296        (WebCore::FileInputType::displayString): Added; iOS-specific.
40297        (WebCore::FileInputType::receiveDroppedFiles): Guarded code with ENABLE(DRAG_SUPPORT).
40298        * html/FileInputType.h:
40299        * html/FormController.cpp:
40300        (WebCore::FormController::formElementsCharacterCount): Added.
40301        * html/FormController.h:
40302        * html/HTMLAppletElement.cpp:
40303        (WebCore::HTMLAppletElement::updateWidget): Opt out of code when building for iOS.
40304        * html/HTMLAreaElement.cpp:
40305        (WebCore::HTMLAreaElement::computePath): Changed argument datatype from RenderElement* to RenderObject*.
40306        Also, added FIXME comment to fix this up once we upstream iOS's DOMUIKitExtensions.{h, mm}.
40307        (WebCore::HTMLAreaElement::computeRect): Ditto.
40308        * html/HTMLAreaElement.h:
40309        * html/HTMLAttributeNames.in: Added attributes ongesture{start, change, end}, autocorrect, autocapitalize,
40310        data-youtube-id, onwebkit{currentplaybacktargetiswirelesschanged, playbacktargetavailabilitychanged}, webkit-playsinline,
40311        x-webkit-airplay, and x-webkit-wirelessvideoplaybackdisabled.
40312        * html/HTMLBodyElement.cpp:
40313        (WebCore::HTMLBodyElement::scrollLeft): Added iOS-specific code.
40314        (WebCore::HTMLBodyElement::scrollTop): Ditto.
40315        * html/HTMLCanvasElement.cpp:
40316        (WebCore::HTMLCanvasElement::HTMLCanvasElement): Added iOS-specific code and FIXME comment.
40317        (WebCore::HTMLCanvasElement::createImageBuffer): Added iOS-specific code.
40318        * html/HTMLCanvasElement.h: Added iOS-specific code and FIXME comment.
40319        * html/HTMLDocument.cpp:
40320        (WebCore::HTMLDocument::HTMLDocument): Added argument isSynthesized (default to false), which is
40321        passed through to Document::Document(), to create a synthesized document.
40322        * html/HTMLDocument.h:
40323        (WebCore::HTMLDocument::createSynthesizedDocument): Added.
40324        * html/HTMLElement.cpp:
40325        (WebCore::HTMLElement::collectStyleForPresentationAttribute): Added iOS-specific code.
40326        (WebCore::populateEventNameForAttributeLocalNameMap): Ditto.
40327        (WebCore::HTMLElement::willRespondToMouseMoveEvents): Added; iOS-specific.
40328        (WebCore::HTMLElement::willRespondToMouseWheelEvents): Added; iOS-specific.
40329        (WebCore::HTMLElement::willRespondToMouseClickEvents): Added; iOS-specific.
40330        * html/HTMLElement.h:
40331        * html/HTMLFormControlElement.cpp: Added FIXME comment to share more code with class HTMLFormElement.
40332        (WebCore::HTMLFormControlElement::autocorrect): Added; guarded by PLATFORM(IOS_AUTOCORRECT_AND_AUTOCAPITALIZE).
40333        (WebCore::HTMLFormControlElement::setAutocorrect): Added; guarded by PLATFORM(IOS_AUTOCORRECT_AND_AUTOCAPITALIZE).
40334        (WebCore::HTMLFormControlElement::autocapitalizeType): Added; guarded by PLATFORM(IOS_AUTOCORRECT_AND_AUTOCAPITALIZE).
40335        (WebCore::HTMLFormControlElement::autocapitalize): Added; guarded by PLATFORM(IOS_AUTOCORRECT_AND_AUTOCAPITALIZE).
40336        (WebCore::HTMLFormControlElement::setAutocapitalize): Added; guarded by PLATFORM(IOS_AUTOCORRECT_AND_AUTOCAPITALIZE).
40337        * html/HTMLFormControlElement.h:
40338        * html/HTMLFormElement.cpp: Added FIXME comment to share more code with class HTMLFormControlElement.
40339        (WebCore::HTMLFormElement::submitImplicitly): Modified to code to allow implicit submission of multi-input
40340        forms only if Settings::allowMultiElementImplicitSubmission() returns true. Such behavior is expected by older
40341        iOS apps. Also, changed datatype of variable submissionTriggerCount from int to unsigned because it represents
40342        a non-negative value.
40343        (WebCore::HTMLFormElement::autocorrect): Added; guarded by PLATFORM(IOS_AUTOCORRECT_AND_AUTOCAPITALIZE).
40344        (WebCore::HTMLFormElement::setAutocorrect): Added; guarded by PLATFORM(IOS_AUTOCORRECT_AND_AUTOCAPITALIZE).
40345        (WebCore::HTMLFormElement::autocapitalizeType): Added; guarded by PLATFORM(IOS_AUTOCORRECT_AND_AUTOCAPITALIZE).
40346        (WebCore::HTMLFormElement::autocapitalize): Added; guarded by PLATFORM(IOS_AUTOCORRECT_AND_AUTOCAPITALIZE).
40347        (WebCore::HTMLFormElement::setAutocapitalize): Added; guarded by PLATFORM(IOS_AUTOCORRECT_AND_AUTOCAPITALIZE).
40348        * html/HTMLFormElement.h:
40349        * html/HTMLFormElement.idl: Added iOS-specific attributes: autocorrect and autocapitalize.
40350        * html/HTMLIFrameElement.h:
40351        * html/HTMLInputElement.cpp:
40352        (WebCore::HTMLInputElement::displayString): Added; guarded by PLATFORM(IOS).
40353        (WebCore::HTMLInputElement::dateType): Added; guarded by PLATFORM(IOS).
40354        * html/HTMLInputElement.h:
40355        * html/HTMLInputElement.idl: Added iOS-specific attributes: autocorrect and autocapitalize.
40356        * html/HTMLLabelElement.cpp:
40357        (WebCore::HTMLLabelElement::willRespondToMouseClickEvents): Added iOS-specific code.
40358        * html/HTMLMediaElement.cpp:
40359        (WebCore::HTMLMediaElement::HTMLMediaElement): Added iOS-specific code and FIXME comment.
40360        (WebCore::HTMLMediaElement::~HTMLMediaElement): Added iOS-specific code.
40361        (WebCore::HTMLMediaElement::parseMediaPlayerAttribute): Added; iOS-specific.
40362        (WebCore::HTMLMediaElement::parseAttribute): Added iOS-specific code.
40363        (WebCore::HTMLMediaElement::insertedInto): Ditto.
40364        (WebCore::HTMLMediaElement::load): Ditto.
40365        (WebCore::HTMLMediaElement::prepareForLoad): Ditto.
40366        (WebCore::HTMLMediaElement::autoplay): Ditto.
40367        (WebCore::HTMLMediaElement::play): Ditto.
40368        (WebCore::HTMLMediaElement::playInternal): Ditto.
40369        (WebCore::HTMLMediaElement::pauseInternal): Ditto.
40370        (WebCore::HTMLMediaElement::setVolumne): Opt out of code when building for iOS.
40371        (WebCore::HTMLMediaElement::setMuted): Ditto.
40372        (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Added iOS-specific code.
40373        (WebCore::HTMLMediaElement::updateVolume): Ditto.
40374        (WebCore::HTMLMediaElement::updatePlayState): Ditto.
40375        (WebCore::HTMLMediaElement::userCancelledLoad): Added iOS-specific code and FIXME comment.
40376        (WebCore::HTMLMediaElement::resume): Added iOS-specific comment. See <rdar://problem/9751303>.
40377        (WebCore::HTMLMediaElement::deliverNotification): Added iOS-specific code.
40378        (WebCore::HTMLMediaElement::getPluginProxyParams): Added iOS-specific code. Also, changed src() to getNonEmptyURLAttribute()
40379        in the non-iOS code as their doesn't exist a method called src in this class or its superclasses.
40380        (WebCore::HTMLMediaElement::webkitShowPlaybackTargetPicker): Added; guarded by ENABLE(IOS_AIRPLAY).
40381        (WebCore::HTMLMediaElement::webkitCurrentPlaybackTargetIsWireless): Added; guarded by ENABLE(IOS_AIRPLAY).
40382        (WebCore::HTMLMediaElement::mediaPlayerCurrentPlaybackTargetIsWirelessChanged): Added; guarded by ENABLE(IOS_AIRPLAY).
40383        (WebCore::HTMLMediaElement::mediaPlayerPlaybackTargetAvailabilityChanged): Added; guarded by ENABLE(IOS_AIRPLAY).
40384        (WebCore::HTMLMediaElement::addEventListener): Added; guarded by ENABLE(IOS_AIRPLAY).
40385        (WebCore::HTMLMediaElement::removeEventListener): Added; guarded by ENABLE(IOS_AIRPLAY).
40386        (WebCore::HTMLMediaElement::enqueuePlaybackTargetAvailabilityChangedEvent): Added; guarded by ENABLE(IOS_AIRPLAY).
40387        (WebCore::HTMLMediaElement::enterFullscreen): Added iOS-specific code.
40388        (WebCore::HTMLMediaElement::exitFullscreen): Ditto.
40389        (WebCore::HTMLMediaElement::createMediaPlayer): Added ENABLE(IOS_AIRPLAY)-guarded code.
40390        (WebCore::HTMLMediaElement::userRequestsMediaLoading): Added; guarded by PLATFORM(IOS).
40391        (WebCore::HTMLMediaElement::shouldUseVideoPluginProxy): Use dot operator instead of dereference operator (->)
40392        when accessing Document::settings().
40393        (WebCore::HTMLMediaElement::didAddUserAgentShadowRoot): Added ENABLE(PLUGIN_PROXY_FOR_VIDEO)-guarded code.
40394        * html/HTMLMediaElement.h:
40395        (WebCore::HTMLMediaElement::userGestureRequiredToShowPlaybackTargetPicker): Added; guarded by ENABLE(IOS_AIRPLAY).
40396        * html/HTMLMediaElement.idl: Added ENABLE_IOS_AIRPLAY-guarded attributes and functions:webkitCurrentPlaybackTargetIsWireless,
40397        onwebkit{currentplaybacktargetiswirelesschanged, playbacktargetavailabilitychanged}, and webkitShowPlaybackTargetPicker().
40398        * html/HTMLMetaElement.cpp:
40399        (WebCore::HTMLMetaElement::process): Added iOS-specific code.
40400        * html/HTMLObjectElement.cpp:
40401        (WebCore::shouldNotPerformURLAdjustment): Added; iOS-specific.
40402        (WebCore::HTMLObjectElement::parametersForPlugin): Modified to call shouldNotPerformURLAdjustment() when
40403        building for iOS.
40404        * html/HTMLPlugInElement.h:
40405        * html/HTMLPlugInImageElement.cpp:
40406        (WebCore::HTMLPlugInImageElement::createRenderer): Added iOS-specific code.
40407        (WebCore::HTMLPlugInImageElement::createShadowIFrameSubtree): Added; iOS-specific.
40408        * html/HTMLPlugInImageElement.h:
40409        * html/HTMLSelectElement.cpp:
40410        (WebCore::HTMLSelectElement::usesMenuList): Added iOS-specific code.
40411        (WebCore::HTMLSelectElement::createRenderer): Ditto.
40412        (WebCore::HTMLSelectElement::childShouldCreateRenderer): Ditto.
40413        (WebCore::HTMLSelectElement::willRespondToMouseClickEvents): Added; iOS-specific.
40414        (WebCore::HTMLSelectElement::updateListBoxSelection): Added iOS-specific code.
40415        (WebCore::HTMLSelectElement::scrollToSelection): Ditto.
40416        (WebCore::HTMLSelectElement::setOptionsChangedOnRenderer): Ditto.
40417        (WebCore::HTMLSelectElement::menuListDefaultEventHandler): Opt out of code when building for iOS.
40418        (WebCore::HTMLSelectElement::defaultEventHandler): Added iOS-specific code.
40419        * html/HTMLSelectElement.h:
40420        * html/HTMLTextAreaElement.cpp:
40421        (WebCore::HTMLTextAreaElement::willRespondToMouseClickEvents): Added; iOS-specific.
40422        * html/HTMLTextAreaElement.h:
40423        * html/HTMLTextAreaElement.idl: Added iOS-specific attributes: autocorrect and autocapitalize.
40424        * html/HTMLTextFormControlElement.cpp:
40425        (WebCore::HTMLTextFormControlElement::select): Added iOS-specific code and FIXME comment.
40426        (WebCore::HTMLTextFormControlElement::setSelectionRange): Opt out of code when building for iOS.
40427        (WebCore::HTMLTextFormControlElement::hidePlaceholder): Added; guarded by PLATFORM(IOS).
40428        (WebCore::HTMLTextFormControlElement::showPlaceholderIfNecessary): Added; guarded by PLATFORM(IOS).
40429        * html/HTMLTextFormControlElement.h:
40430        * html/HTMLVideoElement.cpp:
40431        (WebCore::HTMLVideoElement::createRenderer): Fix up call to HTMLMediaElement::createRenderer().
40432        (WebCore::HTMLVideoElement::parseAttribute): Added iOS-specific code.
40433        (WebCore::HTMLVideoElement::supportsFullscreen): Ditto.
40434        (WebCore::HTMLVideoElement::webkitWirelessVideoPlaybackDisabled): Added; guarded by ENABLE(IOS_AIRPLAY).
40435        (WebCore::HTMLVideoElement::setWebkitWirelessVideoPlaybackDisabled): Added; guarded by ENABLE(IOS_AIRPLAY).
40436        * html/HTMLVideoElement.h:
40437        * html/HTMLVideoElement.idl: Added ENABLE_IOS_AIRPLAY-guarded attribute: webkitWirelessVideoPlaybackDisabled.
40438        * html/ImageDocument.cpp:
40439        (WebCore::ImageDocument::createDocumentStructure): Added iOS-specific code.
40440        (WebCore::ImageDocument::scale): Ditto.
40441        (WebCore::ImageDocument::resizeImageToFit): Ditto.
40442        (WebCore::ImageDocument::imageClicked): Ditto.
40443        (WebCore::ImageDocument::imageFitsInWindow): Ditto.
40444        (WebCore::ImageDocument::windowSizeChanged): Ditto.
40445        * html/InputType.cpp:
40446        (WebCore::InputType::dateType): Added; guarded by PLATFORM(IOS).
40447        (WebCore::InputType::isKeyboardFocusable): Added iOS-specific code.
40448        (WebCore::InputType::displayString): Added; guarded by PLATFORM(IOS).
40449        * html/InputType.h:
40450        * html/PluginDocument.cpp:
40451        (WebCore::PluginDocumentParser::createDocumentStructure): Added iOS-specific code.
40452        * html/RangeInputType.cpp:
40453        (WebCore::RangeInputType::handleTouchEvent): Ditto.
40454        (WebCore::RangeInputType::disabledAttributeChanged): Added; iOS-specific.
40455        * html/RangeInputType.h:
40456        * html/SearchInputType.cpp:
40457        (WebCore::SearchInputType::addSearchResult): Opt out of code when building for iOS.
40458        * html/TextFieldInputType.cpp:
40459        (WebCore::TextFieldInputType::isKeyboardFocusable): Added iOS-specific code.
40460        * html/TextFieldInputType.h:
40461        * html/WebAutocapitalize.h: Added.
40462        * html/canvas/CanvasRenderingContext2D.cpp:
40463        (WebCore::CanvasRenderingContext2D::createImageData): Added iOS-specific code.
40464        (WebCore::CanvasRenderingContext2D::getImageData): Ditto.
40465        * html/parser/HTMLConstructionSite.h:
40466        (WebCore::HTMLConstructionSite::isTelephoneNumberParsingEnabled): Added; guarded by PLATFORM(IOS).
40467        * html/parser/HTMLParserScheduler.h:
40468        (WebCore::HTMLParserScheduler::checkForYieldBeforeToken): Added iOS-specific code.
40469        * html/parser/HTMLTreeBuilder.cpp:
40470        (WebCore::HTMLTreeBuilder::insertPhoneNumberLink): Added; guarded by PLATFORM(IOS).
40471        (WebCore::HTMLTreeBuilder::linkifyPhoneNumbers): Added; guarded by PLATFORM(IOS).
40472        (WebCore::disallowTelephoneNumberParsing): Added; guarded by PLATFORM(IOS).
40473        (WebCore::shouldParseTelephoneNumbersInNode): Added; guarded by PLATFORM(IOS).
40474        (WebCore::HTMLTreeBuilder::processCharacterBufferForInBody): Added iOS-specific code.
40475        * html/parser/HTMLTreeBuilder.h:
40476        * html/shadow/MediaControlElements.cpp:
40477        (WebCore::MediaControlClosedCaptionsTrackListElement::MediaControlClosedCaptionsTrackListElement): Guarded member initialization of m_controls with ENABLE(VIDEO_TRACK). Also added UNUSED_PARAM(event) when building with
40478        VIDEO_TRACK disabled.
40479        (WebCore::MediaControlClosedCaptionsTrackListElement::defaultEventHandler): Added UNUSED_PARAM(event) when
40480        building with VIDEO_TRACK disabled.
40481        * html/shadow/MediaControls.h:
40482        * html/shadow/SliderThumbElement.cpp:
40483        (WebCore::SliderThumbElement::SliderThumbElement): Added iOS-specific code.
40484        (WebCore::SliderThumbElement::dragFrom): Opt out of code when building for iOS.
40485        (WebCore::SliderThumbElement::willDetachRenderers):  Added iOS-specific code.
40486        (WebCore::SliderThumbElement::exclusiveTouchIdentifier): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
40487        (WebCore::SliderThumbElement::setExclusiveTouchIdentifier): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
40488        (WebCore::SliderThumbElement::clearExclusiveTouchIdentifier): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
40489        (WebCore::findTouchWithIdentifier): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
40490        (WebCore::SliderThumbElement::handleTouchStart): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
40491        (WebCore::SliderThumbElement::handleTouchMove): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
40492        (WebCore::SliderThumbElement::handleTouchEndAndCancel): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
40493        (WebCore::SliderThumbElement::didAttachRenderers): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
40494        (WebCore::SliderThumbElement::handleTouchEvent): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
40495        (WebCore::SliderThumbElement::shouldAcceptTouchEvents): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
40496        (WebCore::SliderThumbElement::registerForTouchEvents): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
40497        (WebCore::SliderThumbElement::unregisterForTouchEvents): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
40498        (WebCore::SliderThumbElement::disabledAttributeChanged): Added; guarded by ENABLE(TOUCH_EVENTS) && PLATFORM(IOS).
40499        * html/shadow/SliderThumbElement.h:
40500        * html/shadow/TextControlInnerElements.cpp:
40501        (WebCore::SearchFieldResultsButtonElement::defaultEventHandler): Opt out of code when building for iOS.
40502        * html/shadow/TextControlInnerElements.h:
40503        * page/Settings.in: Added setting allowMultiElementImplicitSubmission to enable/disable multi-input implicit form
40504        submission (disabled by default). Also added FIXME comment to rename this setting to allowMultiElementImplicitFormSubmission
40505        once we upstream the iOS changes to WebView.mm.
40506
405072013-12-17  Brady Eidson  <beidson@apple.com>
40508
40509        DatabaseProcess: Pipe through object store IDs and transaction mode for "openTransaction"
40510        https://bugs.webkit.org/show_bug.cgi?id=125872
40511
40512        Reviewed by Alexey Proskuryakov.
40513
40514        Make these enums into enum classes.
40515        Add const maximums for each enum class that might be serialized to allow for conversion later:
40516        * Modules/indexeddb/IndexedDB.h:
40517
40518        Add cross-thread copying for these new enum classes.
40519        * platform/CrossThreadCopier.cpp:
40520        (WebCore::::copy):
40521        * platform/CrossThreadCopier.h:
40522
40523        Adopt the new enum classes throughout the rest of WebCore:
40524        * Modules/indexeddb/IDBCursor.cpp:
40525        (WebCore::IDBCursor::continueFunction):
40526        (WebCore::IDBCursor::stringToDirection):
40527        (WebCore::IDBCursor::directionToString):
40528        * Modules/indexeddb/IDBCursor.h:
40529        * Modules/indexeddb/IDBCursorBackend.cpp:
40530        (WebCore::IDBCursorBackend::deleteFunction):
40531        * Modules/indexeddb/IDBCursorBackend.h:
40532        (WebCore::IDBCursorBackend::value):
40533        * Modules/indexeddb/IDBDatabaseBackend.cpp:
40534        (WebCore::IDBDatabaseBackend::createObjectStore):
40535        (WebCore::IDBDatabaseBackend::deleteObjectStore):
40536        (WebCore::IDBDatabaseBackend::createIndex):
40537        (WebCore::IDBDatabaseBackend::deleteIndex):
40538        (WebCore::IDBDatabaseBackend::get):
40539        (WebCore::IDBDatabaseBackend::put):
40540        (WebCore::IDBDatabaseBackend::setIndexKeys):
40541        (WebCore::IDBDatabaseBackend::openCursor):
40542        (WebCore::IDBDatabaseBackend::deleteRange):
40543        (WebCore::IDBDatabaseBackend::clearObjectStore):
40544        (WebCore::IDBDatabaseBackend::transactionStarted):
40545        (WebCore::IDBDatabaseBackend::transactionFinished):
40546        (WebCore::IDBDatabaseBackend::transactionFinishedAndAbortFired):
40547        (WebCore::IDBDatabaseBackend::transactionFinishedAndCompleteFired):
40548        (WebCore::IDBDatabaseBackend::createTransaction):
40549        (WebCore::IDBDatabaseBackend::runIntVersionChangeTransaction):
40550        (WebCore::IDBDatabaseBackend::deleteDatabase):
40551        * Modules/indexeddb/IDBDatabaseBackend.h:
40552        * Modules/indexeddb/IDBFactory.cpp:
40553        (WebCore::IDBFactory::open):
40554        (WebCore::IDBFactory::openInternal):
40555        (WebCore::IDBFactory::deleteDatabase):
40556        * Modules/indexeddb/IDBIndex.cpp:
40557        (WebCore::IDBIndex::openCursor):
40558        (WebCore::IDBIndex::openKeyCursor):
40559        * Modules/indexeddb/IDBObjectStore.cpp:
40560        (WebCore::IDBObjectStore::openCursor):
40561        * Modules/indexeddb/IDBOpenDBRequest.cpp:
40562        (WebCore::IDBOpenDBRequest::onUpgradeNeeded):
40563        * Modules/indexeddb/IDBRequest.cpp:
40564        (WebCore::IDBRequest::IDBRequest):
40565        (WebCore::IDBRequest::setResultCursor):
40566        (WebCore::IDBRequest::onSuccess):
40567        * Modules/indexeddb/IDBTransaction.cpp:
40568        (WebCore::IDBTransaction::create):
40569        (WebCore::IDBTransaction::IDBTransaction):
40570        (WebCore::IDBTransaction::stringToMode):
40571        (WebCore::IDBTransaction::modeToString):
40572        * Modules/indexeddb/IDBTransaction.h:
40573        * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
40574        (WebCore::PutOperation::perform):
40575        * Modules/indexeddb/IDBTransactionCoordinator.cpp:
40576        (WebCore::IDBTransactionCoordinator::processStartedTransactions):
40577        (WebCore::IDBTransactionCoordinator::canRunTransaction):
40578        * Modules/indexeddb/IDBVersionChangeEvent.h:
40579        (WebCore::IDBVersionChangeEvent::create):
40580        (WebCore::IDBVersionChangeEvent::newVersion):
40581        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
40582        (WebCore::objectStoreCursorOptions):
40583        (WebCore::indexCursorOptions):
40584        * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
40585        (WebCore::IDBServerConnectionLevelDB::get):
40586        (WebCore::IDBServerConnectionLevelDB::openCursor):
40587        (WebCore::IDBServerConnectionLevelDB::count):
40588        (WebCore::IDBServerConnectionLevelDB::deleteRange):
40589        (WebCore::IDBServerConnectionLevelDB::cursorPrefetchIteration):
40590
40591        * WebCore.exp.in:
40592
405932013-12-17  Gavin Barraclough  <barraclough@apple.com>
40594
40595        Remove PageVisibilityStateUnloaded
40596        https://bugs.webkit.org/show_bug.cgi?id=125869
40597
40598        Reviewed by Anders Carlsson.
40599
40600        This is not currently supported by WebKit, remove this enum value.
40601        We can always add this back later if/when we add support for this state.
40602
40603        * page/PageVisibilityState.cpp:
40604        (WebCore::pageVisibilityStateString):
40605        * page/PageVisibilityState.h:
40606            - removed PageVisibilityStateUnloaded
40607
406082013-12-12  Martin Robinson  <mrobinson@igalia.com>
40609
40610        [GTK] [CMake] Build the plugin process against GTK+ 2
40611        https://bugs.webkit.org/show_bug.cgi?id=116374
40612
40613        Reviewed by Gustavo Noronha Silva.
40614
40615        * PlatformGTK.cmake: Split off the GTK+-dependent sources into
40616        libWebCorePlatformGTK and compile libWebCorePlatformGTK2 when
40617        WebKit2 is enabled.
40618
406192013-12-17  Alex Christensen  <achristensen@webkit.org>
40620
40621        Compile fix for WebGL on Windows without GRAPHICS_SURFACE.
40622        https://bugs.webkit.org/show_bug.cgi?id=125867
40623
40624        Reviewed by Martin Robinson.
40625
40626        * platform/graphics/opengl/GLPlatformSurface.cpp:
40627        (WebCore::GLPlatformSurface::createOffScreenSurface):
40628        Protect reference to EGLOffScreenSurface with USE(GRAPHICS_SURFACE).
40629
406302013-12-17  Radu Stavila  <stavila@adobe.com>
40631
40632        [CSS Regions] Positioned elements in regions get clipped if they fall outside the region
40633        https://bugs.webkit.org/show_bug.cgi?id=117120
40634
40635        Reviewed by Mihnea Ovidenie.
40636
40637        Fixed the computing of the box decorations clip rect when having statically positioned
40638        elements inside positioned elements. The existing algorithm computed the rect in a loop
40639        running up the containing block chain and only checked for positioned elements before 
40640        starting the loop. If a positioned elements was found in the middle of a loop (as would
40641        be the case with a positioned element parenting a non-positioned element), it was not 
40642        correctly handled.
40643        Also changed it so the clip is only performed in the fragmentation direction as that was 
40644        the original purpose of this method.
40645
40646        Tests: fast/regions/absolute-in-relative-overflow.html
40647               fast/regions/static-in-relative-overflow.html
40648               fast/regions/sticky-border-overflow.html
40649
40650        * rendering/RenderFlowThread.cpp:
40651        (WebCore::RenderFlowThread::decorationsClipRectForBoxInRegion):
40652
406532013-12-17  Commit Queue  <commit-queue@webkit.org>
40654
40655        Unreviewed, rolling out r160717.
40656        http://trac.webkit.org/changeset/160717
40657        https://bugs.webkit.org/show_bug.cgi?id=125863
40658
40659        New tests are failing, and possibly broke an existing test
40660        (Requested by ap on #webkit).
40661
40662        * rendering/FlowThreadController.cpp:
40663        (WebCore::FlowThreadController::collectFixedPositionedLayers):
40664        * rendering/RenderLayer.cpp:
40665        (WebCore::RenderLayer::paintFixedLayersInNamedFlows):
40666        (WebCore::RenderLayer::hitTestFixedLayersInNamedFlows):
40667
406682013-12-17  Ryosuke Niwa  <rniwa@webkit.org>
40669
40670        Invalid dir attributes should resolve to ltr
40671        https://bugs.webkit.org/show_bug.cgi?id=125830
40672
40673        Reviewed by Darin Adler.
40674        
40675        Merge https://chromium.googlesource.com/chromium/blink/+/2d592d1c998bec9438e421e1ce1ee6caba05a884
40676
40677        The dir attribute should resolve to direction: ltr by default when the attribute value is
40678        "not in a defined state": http://www.w3.org/TR/2013/WD-html51-20130528/dom.html#the-directionality
40679
40680        Test: fast/dom/HTMLElement/set-and-clear-dir-attribute.html
40681
40682        * html/HTMLElement.cpp:
40683        (WebCore::isLTROrRTLIgnoringCase): Extracted from HTMLElement::directionality.
40684        (WebCore::HTMLElement::collectStyleForPresentationAttribute):
40685        (WebCore::HTMLElement::directionality):
40686
406872013-12-17  Mihnea Ovidenie  <mihnea@adobe.com>
40688
40689        [CSSRegions] Incorrect repaint of fixed element with transformed parent
40690        https://bugs.webkit.org/show_bug.cgi?id=125756
40691
40692        Reviewed by Darin Adler.
40693
40694        When collecting the layers for fixed positioned elements with named flow
40695        as a containing block, use layers collection at named flow layer level
40696        instead of relying on the positioned elements collection.
40697
40698        Modified also FlowThreadController::collectFixedPositionedLayers function
40699        to always return the layers sorted by z-index, as this operation was always
40700        done at the call sites.
40701
40702        Tests: fast/regions/repaint/fixed-in-named-flow-cb-changed.html
40703               fast/regions/repaint/fixed-in-named-flow-cb-changed2.html
40704
40705        * rendering/FlowThreadController.cpp:
40706        (WebCore::compareZIndex):
40707        (WebCore::FlowThreadController::collectFixedPositionedLayers):
40708        * rendering/RenderLayer.cpp:
40709        (WebCore::RenderLayer::paintFixedLayersInNamedFlows):
40710        (WebCore::RenderLayer::hitTestFixedLayersInNamedFlows):
40711
407122013-12-17  Bem Jones-Bey  <bjonesbe@adobe.com>
40713
40714        REGRESSION(r159166?): fast/block/float/float-with-fractional-height-vertical-lr.html, fast/block/float/float-with-fractional-height.html are failing
40715        https://bugs.webkit.org/show_bug.cgi?id=124506
40716
40717        Reviewed by Dirk Schulze.
40718
40719        Floor the endpoints of the floating object interval to keep the old
40720        behavior until a better fix can be created.
40721
40722        No new tests, fixes regression in existing tests.
40723
40724        * rendering/FloatingObjects.cpp:
40725        (WebCore::FloatingObjects::intervalForFloatingObject):
40726
407272013-12-17  Alex Christensen  <achristensen@webkit.org>
40728
40729        [Win] Visual Studio workaround for compiling WebGL.
40730        https://bugs.webkit.org/show_bug.cgi?id=125808
40731
40732        Reviewed by Darin Adler.
40733
40734        * platform/graphics/GraphicsContext3D.cpp:
40735        Don't inline outermost function to prevent Visual Studio crash.
40736
407372013-12-17  Mario Sanchez Prada  <mario.prada@samsung.com>
40738
40739        [ATK] Expose accessibility objects for <dl>, <dt> and <dd>
40740        https://bugs.webkit.org/show_bug.cgi?id=125857
40741
40742        Reviewed by Chris Fleizach.
40743
40744        Map description lists to the newly introduced ATK roles
40745        ATK_ROLE_DESCRIPTION_LIST, ATK_ROLE_DESCRIPTION_TERM and
40746        ATK_ROLE_DESCRIPTION_VALUE, introduced in ATK 2.11.4.
40747
40748        * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
40749        (atkRole): Do the right mapping.
40750        (webkitAccessibleGetRole): Update call to atkRole, now that it
40751        receives an AccessibilityObject* as parameter.
40752
407532013-12-17  Frédéric Wang  <fred.wang@free.fr>
40754
40755        Ensure inferred mrows for msqrt, mstyle, merror, mphantom and math.
40756        https://bugs.webkit.org/show_bug.cgi?id=124841
40757
40758        Reviewed by Darin Adler.
40759
40760        Tests: mathml/presentation/inferred-mrow-baseline.html
40761               mathml/presentation/inferred-mrow-stretchy.html
40762
40763        * css/mathml.css: make merror, mphantom and mstyle behave like an mrow.
40764        (mo, mrow, mfenced, mfrac, msub, msup, msubsup, mmultiscripts, mprescripts, none, munder, mover, munderover, msqrt, mroot, merror, mphantom, mstyle):
40765        (math, mrow, mfenced, msqrt, mroot, merror, mphantom, mstyle):
40766        * mathml/MathMLInlineContainerElement.cpp: ditto
40767        (WebCore::MathMLInlineContainerElement::createRenderer):
40768        * mathml/mathtags.in: ditto
40769        * rendering/mathml/RenderMathMLOperator.cpp:
40770        (WebCore::RenderMathMLOperator::paint): fix failure in mathml/presentation/phantom.html now that phantom can stretch operators.
40771
407722013-12-17  Simon Pena  <simon.pena@samsung.com>
40773
40774        [NIX] Enable full debug builds by having ar creating thin archives
40775        https://bugs.webkit.org/show_bug.cgi?id=125850
40776
40777        Reviewed by Csaba Osztrogonác.
40778
40779        By default, CMake uses ar to generate libWebCore.a with cr parameters
40780        (do not warn if the library has to be created, and replace existing
40781        files in the archive). That results in a very large file, and ar fails
40782        with sizes over 4GB.
40783
40784        By using thin archives (the T option of ar), the generated
40785        libWebCore.a is much smaller, and can be successfully archived. As a
40786        result, we can generate a full debug build. This patch is based on Xan
40787        López's webkit.org/b/110580.
40788
40789        * PlatformNix.cmake: Instruct cmake to invoke ar with T option.
40790
407912013-12-17  Carlos Garcia Campos  <cgarcia@igalia.com>
40792
40793        Unreviewed. Update GObject DOM symbols file after r160336.
40794
40795        * bindings/gobject/webkitdom.symbols: Add new methods exposed for
40796        VideoPlaybackQuality.
40797
407982013-12-17  Mihai Maerean  <mmaerean@adobe.com>
40799
40800        Fix hit testing for divs with a hierarchy of css transformed and non-transformed elements
40801        https://bugs.webkit.org/show_bug.cgi?id=124777
40802
40803        Reviewed by Darin Adler.
40804
40805        After bug #124647, the hit test will still behave incorrectly for transformed divs with non
40806        transformed siblings that are all inside a transformed element (tested by the
40807        hover-rotated-with-children-negative-z.html layout test).
40808
40809        The fix is to not take zOffset into account during hit-testing when child layers are in the
40810        same 3D rendering context. Only when preserve3d is true, should hit-testing compute the
40811        zOffset of the layers with transformations and, when two layers overlap, to return the layer
40812        with the highest zOffset.
40813
40814        The patch includes the work of a.renevier from https://codereview.chromium.org/79943002/
40815
40816        Tests: transforms/3d/hit-testing/hover-rotated-with-children-negative-z.html
40817               transforms/3d/hit-testing/negative-zoffset-hit-test.html
40818               transforms/3d/hit-testing/overlapping-layers-hit-test.html
40819
40820        * rendering/RenderLayer.cpp:
40821        (WebCore::computeZOffset):
40822        (WebCore::RenderLayer::hitTestLayer):
40823
408242013-12-17  Carlos Garcia Campos  <cgarcia@igalia.com>
40825
40826        Remove a few more guards mistakenly added in r160367
40827
40828        Reviewed by Martin Robinson.
40829
40830        r160367 was too liberal in hiding APIs from the GObject DOM bindings.
40831
40832        * Modules/battery/NavigatorBattery.idl: Expose NavigatorBattery.
40833
408342013-12-17  Benjamin Poulain  <benjamin@webkit.org>
40835
40836        Add a simple register allocator to WebCore for x86_64
40837        https://bugs.webkit.org/show_bug.cgi?id=125771
40838
40839        Reviewed by Geoffrey Garen.
40840
40841        Add a brain dead register allocator to simplify the use of registers
40842        when writting code generators.
40843
40844        RegisterAllocator has two purposes:
40845        -make it easy to name registers properly.
40846        -make it hard to reuse a register accidentally.
40847
40848        A helper class LocalRegister is also defined to provide an easy
40849        way to work with registers within a C++ scope. For example:
40850            LocalRegister elementPointer(allocator);
40851            assembler.load(address, elementPointer);
40852
40853        RegisterAllocator makes no attempt at optimizing register allocations, but it reduces
40854        implicit dependencies by returning used register at the end of the queue, making it less
40855        likely they will be reused before their last instruction is executed.
40856
40857        The current implementation only support unix x86_64, it only uses caller saved registers.
40858
40859        * WebCore.xcodeproj/project.pbxproj:
40860        * cssjit/RegisterAllocator.h: Added.
40861        (WebCore::RegisterAllocator::allocateRegister): Provides any available register.
40862        To restrict runtime exploitation of compiler bugs, the method crashes in release
40863        if the register pool is empty.
40864
40865        (WebCore::RegisterAllocator::reserveRegister): Reserve a particular register.
40866        (WebCore::RegisterAllocator::returnRegister): Return a previously allocated or reserved register.
40867
40868        (WebCore::RegisterAllocator::allocatedRegisters):
40869        (WebCore::LocalRegister::LocalRegister):
40870        (WebCore::LocalRegister::~LocalRegister):
40871        (WebCore::LocalRegister::operator JSC::MacroAssembler::RegisterID):
40872        (WebCore::RegisterAllocator::RegisterAllocator):
40873
408742013-12-16  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
40875
40876        Checking RTCPeerConnection signalingState before setting local/remoteDescription
40877        https://bugs.webkit.org/show_bug.cgi?id=125655
40878
40879        Reviewed by Eric Carlson.
40880
40881        Before setting a session description RTCPeerConnection must check if it is in valid state for that SDP type.
40882
40883        New tests: fast/mediastream/RTCPeerConnection-have-local-answer.html
40884               fast/mediastream/RTCPeerConnection-have-local-offer.html
40885               fast/mediastream/RTCPeerConnection-have-local-pranswer.html
40886               fast/mediastream/RTCPeerConnection-have-remote-offer.html
40887               fast/mediastream/RTCPeerConnection-have-remote-pranswer.html
40888               fast/mediastream/RTCPeerConnection-stable.html
40889
40890        Modified: fast/mediastream/RTCPeerConnection-remoteDescription.html
40891
40892        * Modules/mediastream/RTCPeerConnection.cpp:
40893        (WebCore::RTCPeerConnection::checkStateForLocalDescription): Checks if the current state of RTCPeerConnection is
40894        valid for the local SDP that is being set.
40895        (WebCore::RTCPeerConnection::checkStateForRemoteDescription): Checks if the current state of RTCPeerConnection
40896        is valid for the remote SDP that is being set.
40897        (WebCore::RTCPeerConnection::setLocalDescription): Now calls checkStateForLocalDescription prior to set the
40898        local SDP.
40899        (WebCore::RTCPeerConnection::setRemoteDescription): Now Calls checkStateForRemoteDescription prior to set the
40900        remote SDP.
40901        * Modules/mediastream/RTCPeerConnection.h:
40902        * platform/mock/RTCNotifiersMock.cpp: Adding new class to notify RTCPeerConnection about a signaling state
40903        change: SignalingStateNotifier.
40904        (WebCore::SignalingStateNotifier::SignalingStateNotifier):
40905        (WebCore::SignalingStateNotifier::fire):
40906        * platform/mock/RTCNotifiersMock.h:
40907        * platform/mock/RTCPeerConnectionHandlerMock.cpp:
40908        (WebCore::RTCPeerConnectionHandlerMock::signalingStateFromSDP): Defines the new state that RTCPeerConnection
40909        should be, according the SDP that is being set.
40910        (WebCore::RTCPeerConnectionHandlerMock::setLocalDescription): Calls signalingStateFromSDP, in order to get the
40911        new signaling state and notify RTCPeerConnection object.
40912        (WebCore::RTCPeerConnectionHandlerMock::setRemoteDescription): Ditto.
40913        * platform/mock/RTCPeerConnectionHandlerMock.h:
40914
409152013-12-16  Tim Horton  <timothy_horton@apple.com>
40916
40917        Revert a mysterious and inexplicable part of http://trac.webkit.org/changeset/160685
40918
40919        * platform/KeyedCoding.h:
40920        (WebCore::KeyedEncoder::encodeEnum):
40921        (WebCore::KeyedEncoder::encodeObject):
40922        (WebCore::KeyedEncoder::encodeConditionalObject):
40923        (WebCore::KeyedEncoder::encodeObjects):
40924
409252013-12-16  Anders Carlsson  <andersca@apple.com>
40926
40927        Remove EnumClass.h from WTF
40928        https://bugs.webkit.org/show_bug.cgi?id=125820
40929
40930        Reviewed by Darin Adler.
40931
40932        Replace uses of ENUM_CLASS with real enum class declarations.
40933
40934        * Modules/webdatabase/DatabaseBasicTypes.h:
40935        * Modules/webdatabase/DatabaseError.h:
40936        * Modules/webdatabase/SQLTransactionState.h:
40937        * bindings/js/JSSubtleCryptoCustom.cpp:
40938        * bindings/js/SerializedScriptValue.cpp:
40939        * crypto/CryptoAlgorithmIdentifier.h:
40940        * crypto/CryptoAlgorithmParameters.h:
40941        * crypto/CryptoKey.h:
40942        * crypto/CryptoKeyData.h:
40943        * crypto/CryptoKeyType.h:
40944        * crypto/keys/CryptoKeyDataRSAComponents.h:
40945        * inspector/InspectorTimelineAgent.h:
40946
409472013-12-16  Tim Horton  <timothy_horton@apple.com>
40948
40949        WebKit2 View Gestures: Pinching beyond the extremes doesn't animate back to the min/max
40950        https://bugs.webkit.org/show_bug.cgi?id=125750
40951
40952        Reviewed by Simon Fraser.
40953
40954        * WebCore.exp.in:
40955        Export a few things so WebKit2 can use them.
40956
409572013-12-16  Joseph Pecoraro  <pecoraro@apple.com>
40958
40959        Fix some whitespace issues in inspector code
40960        https://bugs.webkit.org/show_bug.cgi?id=125814
40961
40962        Reviewed by Darin Adler.
40963
40964        * inspector/protocol/DOM.json:
40965        * inspector/protocol/DOMStorage.json:
40966        * inspector/protocol/Timeline.json:
40967
409682013-12-16  Joseph Pecoraro  <pecoraro@apple.com>
40969
40970        Web Inspector: Use JSC::SourceID and JSC::BreakpointID instead of WebCore dups
40971        https://bugs.webkit.org/show_bug.cgi?id=125818
40972
40973        Reviewed by Mark Lam.
40974
40975        Remove the WebCore typedefs of JSC types. Prefer JSC namespace
40976        prefixed types throughout WebCore's Inspector code.
40977
40978        * GNUmakefile.list.am:
40979        * WebCore.vcxproj/WebCore.vcxproj:
40980        * WebCore.vcxproj/WebCore.vcxproj.filters:
40981        * WebCore.xcodeproj/project.pbxproj:
40982        * bindings/js/BreakpointID.h: Removed.
40983        * bindings/js/ScriptDebugServer.cpp:
40984        (WebCore::ScriptDebugServer::setBreakpoint):
40985        (WebCore::ScriptDebugServer::removeBreakpoint):
40986        (WebCore::ScriptDebugServer::dispatchDidParseSource):
40987        * bindings/js/ScriptDebugServer.h:
40988        * bindings/js/SourceID.h: Removed.
40989        * inspector/InspectorDebuggerAgent.cpp:
40990        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
40991        (WebCore::parseLocation):
40992        (WebCore::InspectorDebuggerAgent::setBreakpoint):
40993        (WebCore::InspectorDebuggerAgent::continueToLocation):
40994        (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
40995        (WebCore::InspectorDebuggerAgent::searchInContent):
40996        (WebCore::InspectorDebuggerAgent::getScriptSource):
40997        (WebCore::InspectorDebuggerAgent::didParseSource):
40998        (WebCore::InspectorDebuggerAgent::didPause):
40999        (WebCore::InspectorDebuggerAgent::clear):
41000        * inspector/InspectorDebuggerAgent.h:
41001        * inspector/ScriptDebugListener.h:
41002
410032013-12-16  Daniel Bates  <dabates@apple.com>
41004
41005        [iOS] Upstream WebCore/dom changes
41006        https://bugs.webkit.org/show_bug.cgi?id=125646
41007
41008        Reviewed by David Kilzer.
41009
41010        * WebCore.exp.in: Added symbol __ZN7WebCore8Settings17setLayoutIntervalEi and removed symbol
41011        __ZN7WebCore24cLayoutScheduleThresholdE.
41012        * dom/ActiveDOMObject.h: Add suspension reason DocumentWillBePaused.
41013        * dom/DOMImplementation.cpp:
41014        (WebCore::DOMImplementation::createDocument): Opt-out of ENABLE(VIDEO) logic when
41015        building for iOS.
41016        * dom/DeviceMotionClient.h: Made class non-copyable.
41017        (WebCore::DeviceMotionClient::DeviceMotionClient): Added;
41018        * dom/DeviceMotionController.cpp: Added FIXME comment to reconcile iOS and OpenSource differences.
41019        (WebCore::DeviceMotionController::suspendUpdates): Added; guarded by PLATFORM(IOS).
41020        (WebCore::DeviceMotionController::resumeUpdates): Added; guarded by PLATFORM(IOS).
41021        * dom/DeviceMotionController.h: Added FIXME comment to reconcile iOS and OpenSource differences.
41022        * dom/DeviceOrientationClient.h: Made class non-copyable.
41023        (WebCore::DeviceOrientationClient::DeviceOrientationClient): Added.
41024        * dom/DeviceOrientationController.cpp: Added FIXME comment to reconcile iOS and OpenSource differences.
41025        (WebCore::DeviceOrientationController::DeviceOrientationController):
41026        (WebCore::DeviceOrientationController::suspendUpdates): Added; guarded by PLATFORM(IOS).
41027        (WebCore::DeviceOrientationController::resumeUpdates): Added; guarded by PLATFORM(IOS).
41028        * dom/DeviceOrientationController.h: Added FIXME comment to reconcile iOS and OpenSource differences.
41029        * dom/DeviceOrientationData.cpp:
41030        (WebCore::DeviceOrientationData::create): Added; iOS-specific. Added FIXME comment.
41031        (WebCore::DeviceOrientationData::DeviceOrientationData): Added iOS-specific code.
41032        (WebCore::DeviceOrientationData::compassHeading): Added; guarded by PLATFORM(IOS).
41033        (WebCore::DeviceOrientationData::compassAccuracy): Added; guarded by PLATFORM(IOS).
41034        (WebCore::DeviceOrientationData::canProvideCompassHeading): Added; guarded by PLATFORM(IOS).
41035        (WebCore::DeviceOrientationData::canProvideCompassAccuracy): Added; guarded by PLATFORM(IOS).
41036        * dom/DeviceOrientationData.h:
41037        * dom/DeviceOrientationEvent.idl: Added iOS-specific code.
41038        * dom/Document.cpp: Moved constant cLayoutScheduleThreshold to Settings.cpp and renamed it
41039        layoutScheduleThreshold towards allowing a port to configure the layout interval.
41040        (WebCore::Document::Document): Added optional argument isSynthesized, defaults false.
41041        (WebCore::Document::~Document): Added iOS-specific code to destroy the device motion
41042        and device orientation controllers.
41043        (WebCore::Document::didBecomeCurrentDocumentInFrame): Added iOS-specific code with FIXME comment.
41044        (WebCore::Document::prepareForDestruction): Added iOS-specific touch event code.
41045        (WebCore::Document::removeAllEventListeners): Ditto.
41046        (WebCore::Document::platformSuspendOrStopActiveDOMObjects): Added; compiles to an empty function on
41047        non-iOS port.
41048        (WebCore::Document::suspendActiveDOMObjects): Modified to call platformSuspendOrStopActiveDOMObjects().
41049        (WebCore::Document::resumeActiveDOMObjects): Ditto.
41050        (WebCore::Document::stopActiveDOMObjects): Added.
41051        (WebCore::Document::implicitClose): Modified to query Settings::layoutInterval().
41052        (WebCore::Document::minimumLayoutDelay): Ditto.
41053        (WebCore::Document::processViewport): Added iOS-specific code.
41054        (WebCore::Document::updateViewportArguments): Ditto.
41055        (WebCore::setParserFeature): Added; guarded by PLATFORM(IOS).
41056        (WebCore::Document::processFormatDetection): Added; guarded by PLATFORM(IOS).
41057        (WebCore::Document::processWebAppOrientations): Added; guarded by PLATFORM(IOS).
41058        (WebCore::Document::isTelephoneNumberParsingEnabled): Added; guarded by PLATFORM(IOS).
41059        (WebCore::Document::setIsTelephoneNumberParsingAllowed): Added; guarded by PLATFORM(IOS).
41060        (WebCore::Document::isTelephoneNumberParsingAllowed): Added; guarded by PLATFORM(IOS).
41061        (WebCore::Document::initSecurityContext): Added iOS-specific code.
41062        (WebCore::Document::suspendScheduledTasks): Added; guarded by PLATFORM(IOS).
41063        (WebCore::Document::deviceMotionController): Added; iOS-specific.
41064        (WebCore::Document::deviceOrientationController): Added; iOS-specific.
41065        (WebCore::Document::adjustFloatQuadsForScrollAndAbsoluteZoomAndFrameScale): Added iOS-specific code.
41066        (WebCore::Document::adjustFloatRectForScrollAndAbsoluteZoomAndFrameScale): Added iOS-specific code.
41067        * dom/Document.h: Register gesture events gesture{change, end, start}; guarded by ENABLE(IOS_GESTURE_EVENTS).
41068        (WebCore::Document::isSynthesized): Added.
41069        (WebCore::Document::platformSuspendOrStopActiveDOMObjects): Added.
41070        * dom/Document.idl:
41071        * dom/DocumentMarker.h: Added iOS-specific changes. We should look to reconcile the differences between
41072        iOS and OpenSource. See <rdar://problem/11306422>.
41073        (WebCore::DocumentMarker::AllMarkers::AllMarkers):
41074        (WebCore::DocumentMarker::DocumentMarker): Added; iOS-specific.
41075        (WebCore::DocumentMarker::alternatives): Added; iOS-specific.
41076        (WebCore::DocumentMarker::setAlternative): Added; iOS-specific.
41077        (WebCore::DocumentMarker::metadata): Added; iOS-specific.
41078        (WebCore::DocumentMarker::setMetadata): Added; iOS-specific.
41079        * dom/DocumentMarkerController.cpp:
41080        (WebCore::DocumentMarkerController::addMarker):
41081        (WebCore::DocumentMarkerController::addDictationPhraseWithAlternativesMarker):
41082        (WebCore::DocumentMarkerController::addDictationResultMarker):
41083        (WebCore::DocumentMarkerController::shiftMarkers):
41084        * dom/DocumentMarkerController.h:
41085        * dom/Element.cpp:
41086        (WebCore::Element::focus): Add iOS-specific workaround for <rdar://problem/6699741>.
41087        * dom/Element.h: Register gesture events gesture{change, end, start}; guarded by ENABLE(IOS_GESTURE_EVENTS).
41088        * dom/EventContext.cpp: Opt-out of ENABLE(TOUCH_EVENTS)-guarded code when building the iOS port.
41089        * dom/EventContext.h: Ditto.
41090        * dom/EventDispatcher.cpp:
41091        (WebCore::EventRelatedNodeResolver::EventRelatedNodeResolver): Ditto.
41092        (WebCore::EventDispatcher::dispatchEvent): Ditto.
41093        (WebCore::EventPath::EventPath): Ditto.
41094        * dom/EventNames.h: Added events webkit{currentplaybacktargetiswirelesschanged, playbacktargetavailabilitychanged}
41095        and gesture{change, end, start}.
41096        * dom/EventNames.in: Added event names GestureEvent and WebKitPlaybackTargetAvailabilityEvent conditioned on
41097        the macro defines ENABLE_IOS_GESTURE_EVENTS and ENABLE_IOS_AIRPLAY.
41098        * dom/MouseRelatedEvent.cpp:
41099        (WebCore::contentsScrollOffset): Added iOS-specific code.
41100        (WebCore::MouseRelatedEvent::MouseRelatedEvent): Ditto.
41101        * dom/Node.cpp:
41102        (WebCore::Node::willBeDeletedFrom): Ditto.
41103        (WebCore::Node::isDescendantOf): Fixed style issue in function prototype; moved '*' to the left side.
41104        (WebCore::Node::isDescendantOrShadowDescendantOf): Added.
41105        (WebCore::tryAddEventListener): Added iOS-specific code; also added FIXME comment.
41106        (WebCore::tryRemoveEventListener): Ditto.
41107        (WebCore::Node::dispatchEvent): Opt-out of ENABLE(TOUCH_EVENTS)-guarded code when building the iOS port.
41108        (WebCore::Node::defaultEventHandler): Added iOS-specific code.
41109        (WebCore::Node::willRespondToMouseMoveEvents): Added iOS-specific code; also added FIXME comment.
41110        (WebCore::Node::willRespondToMouseClickEvents): Added iOS-specific code; also added FIXME comment.
41111        (WebCore::Node::willRespondToMouseWheelEvents): Added.
41112        * dom/Node.h:
41113        * dom/Position.h:
41114        (WebCore::operator<): Added.
41115        (WebCore::operator>): Added.
41116        (WebCore::operator>=): Added.
41117        (WebCore::operator<=): Added.
41118        * dom/Range.cpp:
41119        (WebCore::Range::create): Added iOS-specific code; also added FIXME comment.
41120        (WebCore::intervalsSufficientlyOverlap): Added; guarded by PLATFORM(IOS).
41121        (WebCore::printRects): Added; guarded by PLATFORM(IOS).
41122        (WebCore::adjustLineHeightOfSelectionRects): Added; guarded by PLATFORM(IOS).
41123        (WebCore::coalesceSelectionRects): Added; guarded by PLATFORM(IOS).
41124        (WebCore::Range::collectSelectionRects): Added; guarded by PLATFORM(IOS).
41125        * dom/Range.h:
41126        * dom/ScriptExecutionContext.cpp:
41127        (WebCore::ScriptExecutionContext::suspendActiveDOMObjects): Added iOS-specific code.
41128        (WebCore::ScriptExecutionContext::dispatchErrorEvent): Ditto.
41129        * dom/TreeScope.cpp:
41130        (WebCore::nodeFromPoint): Ditto.
41131        * dom/ViewportArguments.cpp:
41132        (WebCore::computeViewportAttributes): Ditto.
41133        (WebCore::setViewportFeature): Added iOS-specific code.
41134        (WebCore::finalizeViewportArguments): Added; iOS-specific.
41135        * dom/ViewportArguments.h:
41136        * dom/make_names.pl: Added support to find the path to gcc with respect to the environment
41137        variable SDKROOT.
41138        * html/HTMLMediaElement.cpp:
41139        (HTMLMediaElement::suspend):
41140        * page/Settings.cpp:
41141        (WebCore::Settings::Settings): Initialize setting m_layoutInterval to layoutScheduleThreshold.
41142        (WebCore::Settings::setLayoutInterval): Added.
41143        * page/Settings.h:
41144        (WebCore::Settings::layoutInterval): Added.
41145
411462013-12-16  Simon Fraser  <simon.fraser@apple.com>
41147
41148        Attempt to fix the Windows build after r160672.
41149        
41150        * platform/graphics/ca/win/PlatformCALayerWin.cpp:
41151        (PlatformCALayerWin::PlatformCALayerWin):
41152        * platform/graphics/ca/win/PlatformCALayerWin.h:
41153
411542013-12-16  Simon Fraser  <simon.fraser@apple.com>
41155
41156        Apply overhang shadow and linen to UI-side layers
41157        https://bugs.webkit.org/show_bug.cgi?id=125807
41158
41159        Reviewed by Tim Horton.
41160        
41161        With UI-side compositing, we need to apply the overhang shadow and linen
41162        background to layers in the UI process. Achieve this by setting a "custom
41163        appearance" flag on layers that need a shadow or linen background, and
41164        migrating this flag to the UI process. Static functions on ScrollbarThemeMac
41165        are exposed to do the actual setting.
41166
41167        * WebCore.exp.in: Export ScrollbarThemeMac and GraphicsLayerCA functions.
41168        * WebCore.xcodeproj/project.pbxproj: ScrollbarThemeMac.h and ScrollbarThemeComposite.h
41169        need to be Private.
41170        * platform/graphics/GraphicsLayer.cpp: Initialize m_customAppearance.
41171        (WebCore::GraphicsLayer::GraphicsLayer):
41172        * platform/graphics/GraphicsLayer.h: Getter/setter for CustomAppearance.
41173        (WebCore::GraphicsLayer::setCustomAppearance):
41174        (WebCore::GraphicsLayer::customAppearance):
41175        * platform/graphics/ca/GraphicsLayerCA.cpp: Update CustomAppearanceChanged as
41176        we do other properties.
41177        (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
41178        (WebCore::GraphicsLayerCA::updateCustomAppearance):
41179        (WebCore::GraphicsLayerCA::setCustomAppearance):
41180        * platform/graphics/ca/GraphicsLayerCA.h:
41181        * platform/graphics/ca/PlatformCALayer.h:
41182        * platform/graphics/ca/mac/PlatformCALayerMac.h:
41183        * platform/graphics/ca/mac/PlatformCALayerMac.mm: When we have a custom
41184        appearance, use ScrollbarThemeMac functions to update the layer. Ensure
41185        that if the bounds change, we update the shadow (whose path depends on the bounds).
41186        (PlatformCALayerMac::PlatformCALayerMac):
41187        (PlatformCALayerMac::clone):
41188        (PlatformCALayerMac::setBounds):
41189        (PlatformCALayerMac::requiresCustomAppearanceUpdateOnBoundsChange):
41190        (PlatformCALayerMac::updateCustomAppearance):
41191        * platform/mac/ScrollbarThemeMac.h: Export some static functions.
41192        * platform/mac/ScrollbarThemeMac.mm: Change code to use static functions.
41193        (WebCore::ScrollbarThemeMac::setUpOverhangAreaBackground):
41194        (WebCore::ScrollbarThemeMac::removeOverhangAreaBackground):
41195        (WebCore::ScrollbarThemeMac::setUpOverhangAreaShadow):
41196        (WebCore::ScrollbarThemeMac::removeOverhangAreaShadow):
41197        (WebCore::ScrollbarThemeMac::setUpOverhangAreasLayerContents):
41198        (WebCore::ScrollbarThemeMac::setUpContentShadowLayer):
41199        * rendering/RenderLayerCompositor.cpp:
41200        (WebCore::RenderLayerCompositor::updateRootLayerPosition): No need to call
41201        setUpContentShadowLayer() now when size changes; PlatformCALayer takes
41202        care of that.
41203        (WebCore::RenderLayerCompositor::updateOverflowControlsLayers): Now set
41204        custom appearance via GraphicsLayer.
41205
412062013-12-16  Brent Fulgham  <bfulgham@apple.com>
41207
41208        [Win] Remove dead code after converstion to VS2013
41209        https://bugs.webkit.org/show_bug.cgi?id=125795
41210
41211        Reviewed by Darin Adler.
41212
41213        * WebCorePrefix.h: Remove VS2012 include kludge.
41214        * loader/FTPDirectoryParser.cpp: Remove gmtime workaround code.
41215        * page/DOMWindow.cpp: Remove older pointer-based open implementation.
41216        * page/DOMWindow.h: Ditto
41217        * platform/text/TextEncodingRegistry.cpp:
41218        (WebCore::TextEncodingNameHash::equal): Remove optimization bug workaround
41219        * testing/Internals.cpp:
41220        (WebCore::Internals::openDummyInspectorFrontend): Remove compiler workaround
41221
412222013-12-16  Daniel Bates  <dabates@apple.com>
41223
41224        [iOS] Upstream WebCore/history changes
41225        https://bugs.webkit.org/show_bug.cgi?id=125769
41226
41227        Reviewed by Darin Adler.
41228
41229        * history/BackForwardClient.h:
41230        * history/BackForwardList.cpp:
41231        (WebCore::BackForwardList::current): Added; guard by PLATFORM(IOS). Also added FIXME comment.
41232        (WebCore::BackForwardList::setCurrent): Added; guard by PLATFORM(IOS). Also added FIXME comment.
41233        (WebCore::BackForwardList::clearAllPageCaches): Added; guarded by PLATFORM(IOS).
41234        * history/BackForwardList.h:
41235        * history/CachedFrame.cpp:
41236        (WebCore::CachedFrameBase::restore): Added iOS-specific code.
41237        (WebCore::CachedFrame::CachedFrame): Ditto.
41238        * history/CachedPage.cpp:
41239        (WebCore::CachedPage::restore): Ditto.
41240        * history/HistoryItem.cpp:
41241        (WebCore::HistoryItem::HistoryItem): Ditto.
41242        * history/HistoryItem.h:
41243        (WebCore::HistoryItem::scale): Added; guarded by PLATFORM(IOS).
41244        (WebCore::HistoryItem::scaleIsInitial): Added; guarded by PLATFORM(IOS).
41245        (WebCore::HistoryItem::setScale): Added; guarded by PLATFORM(IOS).
41246        (WebCore::HistoryItem::viewportArguments): Added; guarded by PLATFORM(IOS).
41247        (WebCore::HistoryItem::setViewportArguments): Added; guarded by PLATFORM(IOS).
41248        (WebCore::HistoryItem::bookmarkID): Added; guarded by PLATFORM(IOS).
41249        (WebCore::HistoryItem::setBookmarkID): Added; guarded by PLATFORM(IOS).
41250        (WebCore::HistoryItem::sharedLinkUniqueIdentifier): Added; guarded by PLATFORM(IOS).
41251        (WebCore::HistoryItem::setSharedLinkUniqueIdentifier): Added; guarded by PLATFORM(IOS).
41252        * history/PageCache.cpp:
41253        (WebCore::logCanCacheFrameDecision): Added iOS-specific code.
41254        (WebCore::logCanCachePageDecision): Ditto.
41255        (WebCore::PageCache::canCachePageContainingThisFrame): Ditto.
41256        (WebCore::PageCache::canCache): Ditto.
41257        (WebCore::PageCache::pruneToCapacityNow): Added.
41258        * history/PageCache.h:
41259
412602013-12-16  Daniel Bates  <dabates@apple.com>
41261
41262        [iOS] Upstream WebCore/svg changes
41263        https://bugs.webkit.org/show_bug.cgi?id=125784
41264
41265        Reviewed by Darin Adler.
41266
41267        * svg/SVGAElement.cpp:
41268        (WebCore::SVGAElement::willRespondToMouseClickEvents): Added.
41269        * svg/SVGAElement.h:
41270        * svg/SVGElement.cpp:
41271        (WebCore::SVGElement::parseAttribute): Added attribute listeners for touch{cancel, end, move, start},
41272        and gesture{change, end, start}.
41273
412742013-12-13  Jeffrey Pfau  <jpfau@apple.com>
41275
41276        [Mac] Cache partitioning asserts when associated NSURLRequest is nil
41277        https://bugs.webkit.org/show_bug.cgi?id=125716
41278
41279        Reviewed by Darin Adler.
41280
41281        * platform/network/mac/ResourceRequestMac.mm:
41282        (WebCore::ResourceRequest::doUpdateResourceRequest):
41283
412842013-12-16  Brady Eidson  <beidson@apple.com>
41285
41286        DatabaseProcess: Fix a few bugs with opening an IDB connection
41287        https://bugs.webkit.org/show_bug.cgi?id=125798
41288
41289        Reviewed by Alexey Proskuryakov.
41290
41291        * Modules/indexeddb/IDBDatabaseBackend.cpp:
41292        (WebCore::IDBDatabaseBackend::processPendingCalls): As the comment says, we should only
41293          early return when there *are* pending delete calls. The logic here was backwards,
41294          preventing the backend from ever getting to processPendingOpenCalls().
41295
412962013-12-16  Alex Christensen  <achristensen@webkit.org>
41297
41298        Fixed Win64 build on VS2013.
41299        https://bugs.webkit.org/show_bug.cgi?id=125753
41300
41301        Reviewed by Brent Fulgham.
41302
41303        * WebCore.vcxproj/WebCore.vcxproj:
41304        * WebCore.vcxproj/WebCoreTestSupport.vcxproj:
41305        Added correct PlatformToolset for 64-bit builds.
41306
413072013-12-16  Simon Fraser  <simon.fraser@apple.com>
41308
41309        Package up some data about scrollability into a struct for use in the scrolling tree
41310        https://bugs.webkit.org/show_bug.cgi?id=125792
41311
41312        Reviewed by Beth Dakin.
41313
41314        Both scrolling state nodes and scrolling nodes share a set of parameters
41315        relating to scrollability and rubberbanding, so package them into a struct
41316        for re-use. Send the struct wholesale to the scrolling thread.
41317
41318        * page/scrolling/ScrollingCoordinator.h:
41319        (WebCore::ScrollableAreaParameters::ScrollableAreaParameters): New struct.
41320        (WebCore::ScrollableAreaParameters::operator==):
41321        * page/scrolling/ScrollingStateScrollingNode.cpp:
41322        (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode): Reordering.
41323        (WebCore::ScrollingStateScrollingNode::setScrollOrigin): Moved.
41324        (WebCore::ScrollingStateScrollingNode::setScrollableAreaParameters): Set the parameters all at once.
41325        (WebCore::ScrollingStateScrollingNode::setRequestedScrollPosition):
41326        * page/scrolling/ScrollingStateScrollingNode.h: Getters access the struct. Reorder member variables.
41327        * page/scrolling/ScrollingTreeScrollingNode.cpp:
41328        (WebCore::ScrollingTreeScrollingNode::ScrollingTreeScrollingNode):
41329        (WebCore::ScrollingTreeScrollingNode::updateBeforeChildren):
41330        * page/scrolling/ScrollingTreeScrollingNode.h:
41331        (WebCore::ScrollingTreeScrollingNode::scrollOrigin):
41332        (WebCore::ScrollingTreeScrollingNode::horizontalScrollElasticity):
41333        (WebCore::ScrollingTreeScrollingNode::verticalScrollElasticity):
41334        (WebCore::ScrollingTreeScrollingNode::hasEnabledHorizontalScrollbar):
41335        (WebCore::ScrollingTreeScrollingNode::hasEnabledVerticalScrollbar):
41336        (WebCore::ScrollingTreeScrollingNode::canHaveScrollbars):
41337        * page/scrolling/mac/ScrollingCoordinatorMac.h:
41338        * page/scrolling/mac/ScrollingCoordinatorMac.mm: Removed setScrollParametersForNode().
41339        (WebCore::ScrollingCoordinatorMac::frameViewLayoutUpdated): Set the params in this
41340        function. Reordering.
41341
413422013-12-16  Sam Weinig  <sam@webkit.org>
41343
41344        CTTE: Convert more of SVG to use references
41345        https://bugs.webkit.org/show_bug.cgi?id=125762
41346
41347        Reviewed by Darin Adler.
41348
41349        * rendering/svg/RenderSVGImage.cpp:
41350        (WebCore::RenderSVGImage::imageChanged):
41351        * rendering/svg/RenderSVGResource.cpp:
41352        (WebCore::removeFromCacheAndInvalidateDependencies):
41353        (WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation):
41354        * rendering/svg/RenderSVGResource.h:
41355        * rendering/svg/RenderSVGResourceClipper.cpp:
41356        (WebCore::RenderSVGResourceClipper::removeClientFromCache):
41357        * rendering/svg/RenderSVGResourceClipper.h:
41358        * rendering/svg/RenderSVGResourceContainer.cpp:
41359        (WebCore::RenderSVGResourceContainer::markAllClientsForInvalidation):
41360        (WebCore::RenderSVGResourceContainer::markAllClientLayersForInvalidation):
41361        (WebCore::RenderSVGResourceContainer::markClientForInvalidation):
41362        (WebCore::RenderSVGResourceContainer::removeClient):
41363        * rendering/svg/RenderSVGResourceContainer.h:
41364        * rendering/svg/RenderSVGResourceFilter.cpp:
41365        (WebCore::RenderSVGResourceFilter::removeClientFromCache):
41366        (WebCore::RenderSVGResourceFilter::postApplyResource):
41367        (WebCore::RenderSVGResourceFilter::primitiveAttributeChanged):
41368        * rendering/svg/RenderSVGResourceFilter.h:
41369        * rendering/svg/RenderSVGResourceGradient.cpp:
41370        (WebCore::RenderSVGResourceGradient::removeClientFromCache):
41371        * rendering/svg/RenderSVGResourceGradient.h:
41372        * rendering/svg/RenderSVGResourceMarker.cpp:
41373        (WebCore::RenderSVGResourceMarker::removeClientFromCache):
41374        * rendering/svg/RenderSVGResourceMarker.h:
41375        * rendering/svg/RenderSVGResourceMasker.cpp:
41376        (WebCore::RenderSVGResourceMasker::removeClientFromCache):
41377        * rendering/svg/RenderSVGResourceMasker.h:
41378        * rendering/svg/RenderSVGResourcePattern.cpp:
41379        (WebCore::RenderSVGResourcePattern::removeClientFromCache):
41380        * rendering/svg/RenderSVGResourcePattern.h:
41381        * rendering/svg/RenderSVGResourceSolidColor.h:
41382        (WebCore::RenderSVGResourceSolidColor::removeClientFromCache):
41383        * rendering/svg/SVGRenderSupport.cpp:
41384        (WebCore::invalidateResourcesOfChildren):
41385        * rendering/svg/SVGResources.cpp:
41386        (WebCore::SVGResources::removeClientFromCache):
41387        * rendering/svg/SVGResources.h:
41388        * rendering/svg/SVGResourcesCache.cpp:
41389        (WebCore::SVGResourcesCache::clientLayoutChanged):
41390        (WebCore::SVGResourcesCache::clientStyleChanged):
41391        (WebCore::SVGResourcesCache::clientWasAddedToTree):
41392        (WebCore::SVGResourcesCache::clientWillBeRemovedFromTree):
41393        (WebCore::SVGResourcesCache::clientDestroyed):
41394        * svg/SVGAnimateMotionElement.cpp:
41395        (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
41396        * svg/SVGCircleElement.cpp:
41397        (WebCore::SVGCircleElement::svgAttributeChanged):
41398        * svg/SVGEllipseElement.cpp:
41399        (WebCore::SVGEllipseElement::svgAttributeChanged):
41400        * svg/SVGFEImageElement.cpp:
41401        (WebCore::SVGFEImageElement::notifyFinished):
41402        * svg/SVGFELightElement.cpp:
41403        (WebCore::SVGFELightElement::childrenChanged):
41404        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
41405        (WebCore::invalidateFilterPrimitiveParent):
41406        * svg/SVGFilterPrimitiveStandardAttributes.h:
41407        (WebCore::SVGFilterPrimitiveStandardAttributes::invalidate):
41408        (WebCore::SVGFilterPrimitiveStandardAttributes::primitiveAttributeChanged):
41409        * svg/SVGForeignObjectElement.cpp:
41410        (WebCore::SVGForeignObjectElement::svgAttributeChanged):
41411        * svg/SVGGElement.cpp:
41412        (WebCore::SVGGElement::svgAttributeChanged):
41413        * svg/SVGGraphicsElement.cpp:
41414        (WebCore::SVGGraphicsElement::svgAttributeChanged):
41415        * svg/SVGImageElement.cpp:
41416        (WebCore::SVGImageElement::svgAttributeChanged):
41417        * svg/SVGLineElement.cpp:
41418        (WebCore::SVGLineElement::svgAttributeChanged):
41419        * svg/SVGPathElement.cpp:
41420        (WebCore::SVGPathElement::svgAttributeChanged):
41421        (WebCore::SVGPathElement::invalidateMPathDependencies):
41422        (WebCore::SVGPathElement::pathSegListChanged):
41423        * svg/SVGPolyElement.cpp:
41424        (WebCore::SVGPolyElement::svgAttributeChanged):
41425        * svg/SVGRectElement.cpp:
41426        (WebCore::SVGRectElement::svgAttributeChanged):
41427        * svg/SVGSVGElement.cpp:
41428        (WebCore::SVGSVGElement::svgAttributeChanged):
41429        (WebCore::SVGSVGElement::setupInitialView):
41430        * svg/SVGStopElement.cpp:
41431        (WebCore::SVGStopElement::svgAttributeChanged):
41432        * svg/SVGTRefElement.cpp:
41433        (WebCore::SVGTRefElement::svgAttributeChanged):
41434        * svg/SVGTextContentElement.cpp:
41435        (WebCore::SVGTextContentElement::svgAttributeChanged):
41436        * svg/SVGTextPathElement.cpp:
41437        (WebCore::SVGTextPathElement::svgAttributeChanged):
41438        * svg/SVGTextPositioningElement.cpp:
41439        (WebCore::SVGTextPositioningElement::svgAttributeChanged):
41440        * svg/SVGUseElement.cpp:
41441        (WebCore::SVGUseElement::svgAttributeChanged):
41442
414432013-12-16  Hans Muller  <hmuller@adobe.com>
41444
41445        [CSS Shapes] Add support for the computing the included intervals for a BoxShape
41446        https://bugs.webkit.org/show_bug.cgi?id=124605
41447
41448        Reviewed by Andreas Kling.
41449
41450        Setting shape-inside to content-box now works.
41451
41452        Changed FloatRoundedRect::xInterceptsAtY() to include the bottom edge of
41453        the rectangle and to check for the special cases where any or all of the
41454        corner radii are empty.
41455
41456        Test: fast/shapes/shape-inside/shape-inside-content-box.html
41457
41458        * platform/graphics/FloatRoundedRect.cpp:
41459        (WebCore::FloatRoundedRect::xInterceptsAtY):
41460        * rendering/shapes/BoxShape.cpp:
41461        (WebCore::BoxShape::getIncludedIntervals): Replaced the stub implementation with logic that's similar to getExcludedIntervals().
41462        * rendering/shapes/ShapeInfo.cpp:
41463        (WebCore::::computedShape): Removed a meaningless assert.
41464        * rendering/shapes/ShapeInsideInfo.cpp:
41465        (WebCore::ShapeInsideInfo::isEnabledFor):
41466
414672013-12-16  Mario Sanchez Prada  <mario.prada@samsung.com>
41468
41469        [ATK] Expose accessibility objects for more WAI-ARIA roles
41470        https://bugs.webkit.org/show_bug.cgi?id=125596
41471
41472        Reviewed by Chris Fleizach.
41473
41474        Exposed accessibility objects with the proper AtkRoles, some of
41475        them to be provided by the next stable release of ATK.
41476
41477        * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
41478        (atkRole):
41479
414802013-12-16  Eric Carlson  <eric.carlson@apple.com>
41481
41482        Fix QuickTime plug-in replacement scripting bugs
41483        https://bugs.webkit.org/show_bug.cgi?id=125717
41484
41485        Reviewed by Sam Weinig.
41486
41487        No new tests, existing test updated.
41488
41489        * Modules/plugins/QuickTimePluginReplacement.js:
41490        (Replacement): Change '' to "" to avoid "Empty character constant" warning when creating
41491            Derived Sources.
41492        (Replacement.prototype.createVideoElement): Handle qtsrc attribute. Remember base url.
41493        (Replacement.prototype.setURL): Resolve urls relative to base.
41494
414952013-12-15  Darin Adler  <darin@apple.com>
41496
41497        Catch callers who forget to use initializeStyle
41498        https://bugs.webkit.org/show_bug.cgi?id=125763
41499
41500        Reviewed by Andreas Kling.
41501
41502        A recent fix was because a caller used setStyle first rather than using
41503        initializeStyle. This patch adds an assertion to catch cases where we do
41504        that so we see the mistake right away instead of indirectly later.
41505
41506        * rendering/RenderElement.cpp:
41507        (WebCore::RenderElement::initializeStyle): Simplified an assertion.
41508        (WebCore::RenderElement::setStyle): Added an assertion that m_hasInitializedStyle
41509        is true, with an exception for RenderView, which needs to be created before we
41510        have the correct style computed for it (at least for now). Also broke out an
41511        assertion that was using &&, since we would prefer to know which clause failed,
41512        making separate assertions more useful than a combined assertion.
41513
415142013-12-16  Mario Sanchez Prada  <mario.prada@samsung.com>
41515
41516        [ATK] Expose accessibility objects with ATK_ROLE_CHECK_MENU_ITEM
41517        https://bugs.webkit.org/show_bug.cgi?id=125594
41518
41519        Reviewed by Chris Fleizach.
41520
41521        Exposed accessibility objects with checkmenuitem role with the
41522        proper AtkRole, to be provided by the next stable release of ATK.
41523
41524        * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
41525        (atkRole):
41526
415272013-12-16  Mario Sanchez Prada  <mario.prada@samsung.com>
41528
41529        [ATK] Expose accessibility objects with ATK_ROLE_ARTICLE
41530        https://bugs.webkit.org/show_bug.cgi?id=125587
41531
41532        Reviewed by Chris Fleizach.
41533
41534        Exposed accessibility objects with article role with the proper
41535        AtkRole, to be provided by the next stable release of ATK.
41536
41537        * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
41538        (atkRole):
41539
415402013-11-27  Sergio Villar Senin  <svillar@igalia.com>
41541
41542        [CSS Grid Layout] Fix the preferred logical widths code to work with spanning grid items
41543        https://bugs.webkit.org/show_bug.cgi?id=123994
41544
41545        Reviewed by Andreas Kling.
41546
41547        From Blink r159189 by <jchaffraix@chromium.org>
41548
41549        There was no definition in the specs for the intrinsic / preferred
41550        logical widths on the grid element. The following was proposed to
41551        the WG and later accepted:
41552        - The sum of the grid tracks' UsedBreadth is the minimum logical width
41553        - The sum of the grid tracks' MaxBreadth is the maximum logical width
41554
41555        http://lists.w3.org/Archives/Public/www-style/2013Oct/0054.html
41556        for more information.
41557
41558        * rendering/RenderGrid.cpp:
41559        (WebCore::RenderGrid::computeIntrinsicLogicalWidths):
41560        (WebCore::RenderGrid::computedUsedBreadthOfGridTracks):
41561        (WebCore::RenderGrid::minContentForChild):
41562        (WebCore::RenderGrid::maxContentForChild):
41563        * rendering/RenderGrid.h:
41564
415652013-12-15  Frédéric Wang  <fred.wang@free.fr>
41566
41567        Add support for maction@toggle
41568        https://bugs.webkit.org/show_bug.cgi?id=120059
41569
41570        Reviewed by Chris Fleizach.
41571
41572        Test: mathml/presentation/maction-toggle.html
41573
41574        * mathml/MathMLSelectElement.cpp:
41575        (WebCore::MathMLSelectElement::getSelectedChildAndIndex):
41576        (WebCore::MathMLSelectElement::updateSelectedChild):
41577        (WebCore::MathMLSelectElement::defaultEventHandler):
41578        (WebCore::MathMLSelectElement::willRespondToMouseClickEvents):
41579        (WebCore::MathMLSelectElement::toggle):
41580        * mathml/MathMLSelectElement.h:
41581
415822013-12-15  Darin Adler  <darin@apple.com>
41583
41584        More nullptr in RenderElement
41585        https://bugs.webkit.org/show_bug.cgi?id=125764
41586
41587        Reviewed by Andreas Kling.
41588
41589        * rendering/RenderElement.cpp:
41590        (WebCore::RenderElement::uncachedFirstLineStyle):
41591        (WebCore::RenderElement::updateShapeImage):
41592        (WebCore::RenderElement::destroyLeftoverChildren):
41593        (WebCore::RenderElement::findNextLayer):
41594        Use nullptr in a few more places.
41595
415962013-12-15  Ryosuke Niwa  <rniwa@webkit.org>
41597
41598        REGRESSION: 2x regression on Dromaeo DOM query tests
41599        https://bugs.webkit.org/show_bug.cgi?id=125377
41600
41601        Reviewed by Filip Pizlo.
41602
41603        The bug was caused by JSC not JIT'ing property accesses on document because of its having
41604        custom named getter (named properties).  This resulted in resolution of methods on document
41605        such as getElementById to happen inside the interpreter.
41606
41607        Fixed the bug by using the new JSC type info flag which tells JSC to JIT property access on
41608        document, and then notifying JSC whenever a new named property appeared on document.
41609
41610        Tests: js/dom/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps-2.html
41611               js/dom/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps-3.html
41612               js/dom/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps-4.html
41613               js/dom/prototype-chain-caching-with-impure-get-own-property-slot-traps-2.html
41614               js/dom/prototype-chain-caching-with-impure-get-own-property-slot-traps-3.html
41615               js/dom/prototype-chain-caching-with-impure-get-own-property-slot-traps-4.html
41616
41617        * bindings/js/JSDOMBinding.cpp:
41618        (WebCore::addImpureProperty): Wraps VM::addImpureProperty.
41619        * bindings/js/JSDOMBinding.h:
41620        * bindings/scripts/CodeGeneratorJS.pm:
41621        (GenerateHeader): Added the support for NewImpurePropertyFiresWatchpoints.
41622        * bindings/scripts/IDLAttributes.txt: Ditto.
41623        * html/HTMLDocument.cpp:
41624        (WebCore::HTMLDocument::addDocumentNamedItem): Calls addImpureProperty.
41625        * html/HTMLDocument.idl: Added NewImpurePropertyFiresWatchpoints.
41626
416272013-12-15  Brent Fulgham  <bfulgham@webkit.org>
41628
41629        [WIn] Unreviewed build fix after r160599
41630
41631        * rendering/RenderMediaControls.cpp:
41632        (WebCore::determineState): RenderObject::theme now returns
41633        a reference.
41634
416352013-12-15  Brent Fulgham  <bfulgham@webkit.org>
41636
41637        [Win] Unreviewed build fix
41638
41639        The build system continues to attempt to build QTMovieWin, even
41640        though it is excluded from the build solution. I'm actually
41641        removing the project files to prevent this.
41642
41643        * WebCore.vcxproj/QTMovieWin/QTMovieWin.vcxproj: Removed.
41644        * WebCore.vcxproj/QTMovieWin/QTMovieWin.vcxproj.filters: Removed.
41645
416462013-12-15  Rob Buis  <rob.buis@samsung.com>
41647
41648        [CSS Shapes] shape-outside animation does not handle 'auto' well
41649        https://bugs.webkit.org/show_bug.cgi?id=125700
41650
41651        Reviewed by Dirk Schulze.
41652
41653        Handle the case where we are blending/animating with a null ShapeValue due to 'auto'.
41654
41655        Adapted LayoutTests/fast/shapes/shape-outside-floats/shape-outside-animation.html for testing this.
41656
41657        * page/animation/CSSPropertyAnimation.cpp:
41658        (WebCore::blendFunc):
41659
416602013-12-15  Andy Estes  <aestes@apple.com>
41661
41662        [iOS] Upstream changes to FeatureDefines.xcconfig
41663        https://bugs.webkit.org/show_bug.cgi?id=125742
41664
41665        Reviewed by Dan Bernstein.
41666
41667        * Configurations/FeatureDefines.xcconfig:
41668
416692013-12-14  Darin Adler  <darin@apple.com>
41670
41671        Crash in CSSImageGeneratorValue and RenderScrollbar
41672        https://bugs.webkit.org/show_bug.cgi?id=125702
41673
41674        Reviewed by Alexey Proskuryakov.
41675
41676        This crash had two causes at two different levels. The crash fixes both.
41677
41678        At the RenderScrollbar level, we were setting up a new renderer, a
41679        RenderScrollbarPart, and never calling initializeStyle. This meant that
41680        we did not do proper style setup, which meant we did not end up calling
41681        CSSImageGeneratorValue::addClient and so had a removeClient that was not
41682        properly balanced by an addClient. This is the primary bug.
41683
41684        At the CSSImageGeneratorValue level, the addClient and removeClient
41685        functions were not properly handling possibly-mismatched calls. It was
41686        easy to fix the functions to work even if the calls are not perfectly
41687        matched up, which makes the consequences of a missed addClient call
41688        much less dire, no longer messing up reference counting. Fixing this
41689        mitigates the risk if we made this same mistake elsewhere, although I
41690        could not find any other places with some quick searches.
41691
41692        Test: fast/css/scrollbar-image-crash.html
41693
41694        * css/CSSImageGeneratorValue.cpp:
41695        (WebCore::CSSImageGeneratorValue::addClient): Only call ref if this will
41696        add the first client.
41697        (WebCore::CSSImageGeneratorValue::removeClient): Only call deref if this
41698        removes the last client. Also added an assertion that can fire if we call
41699        removeClient without first calling addClient, which is illegal. However,
41700        the function handles that case without over-deref'ing itself.
41701
41702        * rendering/RenderScrollbar.cpp:
41703        (WebCore::RenderScrollbar::updateScrollbarPart): Simplify the logic for
41704        needRenderer a bit. Use initializeStyle rather than setStyle when first
41705        creating the RenderScrollbarPart. Also use add and take properly so we
41706        don't do extra hash lookups the old code did with get/set and get/remove.
41707
417082013-12-14  Sam Weinig  <sam@webkit.org>
41709
41710        CTTE: SVGResourcesCache::cachedResourcesForRenderObject() should take a reference
41711        https://bugs.webkit.org/show_bug.cgi?id=125743
41712
41713        Reviewed by Dan Bernstein.
41714
41715        * rendering/svg/RenderSVGContainer.cpp:
41716        (WebCore::RenderSVGContainer::selfWillPaint):
41717        * rendering/svg/RenderSVGImage.cpp:
41718        (WebCore::RenderSVGImage::imageChanged):
41719        * rendering/svg/RenderSVGResource.cpp:
41720        (WebCore::requestPaintingResource):
41721        (WebCore::removeFromCacheAndInvalidateDependencies):
41722        (WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation):
41723        * rendering/svg/RenderSVGResourceClipper.cpp:
41724        (WebCore::RenderSVGResourceClipper::applyClippingToContext):
41725        * rendering/svg/RenderSVGRoot.cpp:
41726        (WebCore::RenderSVGRoot::paintReplaced):
41727        * rendering/svg/RenderSVGShape.cpp:
41728        (WebCore::RenderSVGShape::shouldGenerateMarkerPositions):
41729        (WebCore::RenderSVGShape::markerRect):
41730        (WebCore::RenderSVGShape::drawMarkers):
41731        * rendering/svg/SVGRenderSupport.cpp:
41732        (WebCore::invalidateResourcesOfChildren):
41733        (WebCore::SVGRenderSupport::layoutChildren):
41734        (WebCore::SVGRenderSupport::intersectRepaintRectWithResources):
41735        (WebCore::SVGRenderSupport::filtersForceContainerLayout):
41736        (WebCore::SVGRenderSupport::pointInClippingArea):
41737        * rendering/svg/SVGRenderingContext.cpp:
41738        (WebCore::SVGRenderingContext::prepareToRenderSVGContent):
41739        * rendering/svg/SVGResourcesCache.cpp:
41740        (WebCore::SVGResourcesCache::cachedResourcesForRenderObject):
41741        (WebCore::SVGResourcesCache::clientLayoutChanged):
41742        (WebCore::SVGResourcesCache::clientDestroyed):
41743        * rendering/svg/SVGResourcesCache.h:
41744        * rendering/svg/SVGResourcesCycleSolver.cpp:
41745        (WebCore::SVGResourcesCycleSolver::resourceContainsCycles):
41746
417472013-12-14  Dan Bernstein  <mitz@apple.com>
41748
41749        Clean up the project after r160487
41750
41751        * WebCore.xcodeproj/project.pbxproj: Moved reference to Security.framework from the top
41752        level of the project to the Frameworks group, and made it SDK-relative.
41753
417542013-12-14  Andreas Kling  <akling@apple.com>
41755
41756        Page::theme() should return a reference.
41757        <https://webkit.org/b/125737>
41758
41759        There's always a RenderTheme, and not a single call site was checking
41760        for null pointers anyway. Updated RenderObject::theme() as well.
41761
41762        Reviewed by Antti Koivisto.
41763
417642013-12-13  Sam Weinig  <sam@webkit.org>
41765
41766        CTTE: Convert Element and RenderObject iterator usage to use range-based for loops
41767        https://bugs.webkit.org/show_bug.cgi?id=125731
41768
41769        Reviewed by Andreas Kling.
41770
41771        Perform straight forward conversions. A few stragglers that do odd things remain.
41772
417732013-12-14  Joseph Pecoraro  <pecoraro@apple.com>
41774
41775        Small string improvements to JSInjectedScriptHost::type and other bindings
41776        https://bugs.webkit.org/show_bug.cgi?id=125722
41777
41778        Reviewed by Timothy Hatcher.
41779
41780        * bindings/js/JSInjectedScriptHostCustom.cpp:
41781        (WebCore::JSInjectedScriptHost::type):
41782        Use SmallStrings, jsNontrivialString and ASCIILiteral.
41783
41784        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
41785        (WebCore::JSJavaScriptCallFrame::type):
41786        Use jsNontrivialString.
41787
41788        * bridge/c/c_instance.cpp:
41789        (JSC::Bindings::CInstance::stringValue):
41790        Use jsNontrivialString and ASCIILiteral.
41791
417922013-12-14  Andreas Kling  <akling@apple.com>
41793
41794        Move a couple of inlines from RenderObject to RenderElement.
41795        <https://webkit.org/b/125734>
41796
41797        Take most of the inline functions on RenderObject that call style()
41798        and move them over to RenderElement where style() is branchless.
41799
41800        Reviewed by Antti Koivisto.
41801
418022013-12-14  Andreas Kling  <akling@apple.com>
41803
41804        RenderElement::rendererForRootBackground() should return a reference.
41805        <https://webkit.org/b/125735>
41806
41807        This function always finds a renderer to return.
41808
41809        Reviewed by Antti Koivisto.
41810
418112013-12-14  Mark Rowe  <mrowe@apple.com>
41812
41813        Build fix after r160557.
41814
41815        * Configurations/WebCore.xcconfig: Find JavaScriptCore.framework below SDKROOT so that we'll pick
41816        up the built version in production builds rather than the system version.
41817
418182013-12-14  Brendan Long  <b.long@cablelabs.com>
41819
41820        [GStreamer] Use GMutexLocker instead of g_mutex_lock
41821        https://bugs.webkit.org/show_bug.cgi?id=125588
41822
41823        Reviewed by Philippe Normand.
41824
41825        No new tests because this is just code simplification.
41826
41827        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
41828        (WebCore::MediaPlayerPrivateGStreamerBase::updateTexture):
41829        (WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
41830        (WebCore::MediaPlayerPrivateGStreamerBase::paint):
41831        * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
41832        (webkitVideoSinkTimeoutCallback):
41833        (webkitVideoSinkRender):
41834        (unlockBufferMutex):
41835        (webkitVideoSinkUnlockStop):
41836        (webkitVideoSinkStart):
41837
418382013-12-13  Andreas Kling  <akling@apple.com>
41839
41840        Move RenderObject::repaintAfterLayoutIfNeeded() to RenderElement.
41841        <https://webkit.org/b/125712>
41842
41843        This function is only ever called on RenderElements, so move it there.
41844        Removes some RenderObject::style() branchiness.
41845
41846        Reviewed by Darin Adler.
41847
418482013-12-13  Joseph Pecoraro  <pecoraro@apple.com>
41849
41850        Web Inspector: Move Inspector and Debugger protocol domains into JavaScriptCore
41851        https://bugs.webkit.org/show_bug.cgi?id=125707
41852
41853        Reviewed by Timothy Hatcher.
41854
41855          - Switch TypeBuilder::Page::SearchMatch to TypeBuilder::GenericTypes::SearchMatch
41856            which comes from InspectorJSTypeBuilders.
41857          - Remove domains that moved to JavaScriptCore.
41858
41859        No new tests, this only moves code around. There are no functional changes.
41860
41861        * CMakeLists.txt:
41862        * DerivedSources.make:
41863        * GNUmakefile.am:
41864        Add new files.
41865
41866        * inspector/ContentSearchUtils.cpp:
41867        (WebCore::ContentSearchUtils::buildObjectForSearchMatch):
41868        (WebCore::ContentSearchUtils::searchInTextByLines):
41869        * inspector/ContentSearchUtils.h:
41870        * inspector/InspectorAgent.cpp:
41871        * inspector/InspectorAgent.h:
41872        * inspector/InspectorDebuggerAgent.h:
41873        * inspector/InspectorPageAgent.cpp:
41874        (WebCore::InspectorPageAgent::searchInResource):
41875        * inspector/InspectorPageAgent.h:
41876        * inspector/protocol/Page.json:
41877        Update includes and type builder type names.
41878
41879        * inspector/InspectorDebuggerAgent.cpp:
41880        (WebCore::breakpointActionTypeForString):
41881        (WebCore::InspectorDebuggerAgent::searchInContent):
41882        * inspector/InspectorTimelineAgent.cpp:
41883        (WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
41884        Use the new getEnum function names.
41885
418862013-12-13  Brent Fulgham  <bfulgham@apple.com>
41887
41888        [Win] Remove pre-VS2013 support code.
41889        https://bugs.webkit.org/show_bug.cgi?id=125693
41890
41891        Reviewed by Darin Adler.
41892
41893        * Modules/webdatabase/DatabaseTracker.cpp:
41894        (WebCore::DatabaseTracker::setQuota): Use C99 format arguments
41895        * loader/FTPDirectoryParser.cpp:
41896        (WebCore::parseOneFTPLine): Ditto
41897        * loader/icon/IconDatabase.cpp:
41898        (WebCore::IconDatabase::pruneUnretainedIcons): Ditto 
41899        * platform/sql/SQLiteDatabase.cpp:
41900        (WebCore::SQLiteDatabase::setMaximumSize): Ditto
41901
419022013-12-13  Brent Fulgham  <bfulgham@apple.com>
41903
41904        SVG bindings are improperly being generated with "fastGetAttribute"
41905        https://bugs.webkit.org/show_bug.cgi?id=125670
41906
41907        Reviewed by Darin Adler.
41908
41909        A bug was introduced in r152845 that improperly called the
41910        IsSVGAnimatedType using the $attribute hash, rather than the
41911        expected $attribute->signature->type.
41912
41913        * bindings/scripts/CodeGenerator.pm:
41914        (GetterExpression): Clean up attribute type confusion.
41915
419162013-12-13  Brent Fulgham  <bfulgham@apple.com>
41917
41918        [Win] Unreviewed build fix after r160548
41919
41920        * WebCore.vcxproj/WebCore.vcxproj: Exclude MediaPlayerPrivateQuickTimeVisualContext from
41921        Windows build.
41922        * platform/graphics/MediaPlayer.cpp: Don't use QuickTime as the PlatformMediaEngine.
41923
419242013-12-13  Joseph Pecoraro  <pecoraro@apple.com>
41925
41926        [GTK] Remove Warnings in building about duplicate INSPECTOR variables
41927        https://bugs.webkit.org/show_bug.cgi?id=125710
41928
41929        Reviewed by Tim Horton.
41930
41931        * GNUmakefile.am:
41932
419332013-12-13  Roger Fong  <roger_fong@apple.com>
41934
41935        [WebGL] Check for global variable precision mismatch between vertex and fragment shaders.
41936        https://bugs.webkit.org/show_bug.cgi?id=125546.
41937        <rdar://problem/15203364>
41938
41939        Reviewed by Brent Fulgham.
41940
41941        Covered Khronos conformances tests:
41942        webgl/1.0.2/glsl/misc/shader-with-global-variable-precision-mismatch.html
41943
41944        * html/canvas/WebGLRenderingContext.cpp:
41945        (WebCore::WebGLRenderingContext::linkProgram):
41946        * platform/graphics/GraphicsContext3D.h: Rename areProgramSymbolsValid since it currently only serves one purpose.
41947        * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
41948        (WebCore::GraphicsContext3D::precisionsMatch):
41949
419502013-12-13  Brent Fulgham  <bfulgham@apple.com>
41951
41952        [Win] Unreviewed build fix after r160548
41953
41954        * WebCore.vcxproj/WebCoreGenerated.vcxproj: Specify that we are
41955        using the vs120_xp build target for Makefile-based projects.
41956
419572013-12-13  Joseph Pecoraro  <pecoraro@apple.com>
41958
41959        Web Inspector: Add Inspector Code Generation to JavaScriptCore for Runtime Domain
41960        https://bugs.webkit.org/show_bug.cgi?id=125595
41961
41962        Reviewed by Timothy Hatcher.
41963
41964          - CodeGeneration changed to output Frontend and Backend dispatchers
41965            in namespace Inspector. So update all the agent's appropriately.
41966          - Update Derived Sources code generation to use the Scripts that had
41967            moved to JavaScriptCore. Some ports just use JSC/inspector/scripts
41968            directly, but others have to use the Scripts exported by JSC
41969            in JavaScriptCore's PrivateHeaders.
41970          - Add ForwardingHeaders for the files generated in JavaScriptCore.
41971          - Update the names of Inspector DerivedSources files, since they
41972            were renamed to InspectorWeb*.
41973
41974        No new tests, this only moves code around. There are no functional changes.
41975
41976        * CMakeLists.txt:
41977        * DerivedSources.make:
41978        * ForwardingHeaders/inspector/InspectorJSBackendDispatchers.h: Added.
41979        * ForwardingHeaders/inspector/InspectorJSFrontendDispatchers.h: Added.
41980        * ForwardingHeaders/inspector/InspectorJSTypeBuilders.h: Added.
41981        * GNUmakefile.am:
41982        * GNUmakefile.list.am:
41983        * WebCore.vcxproj/WebCore.vcxproj:
41984        * WebCore.vcxproj/WebCore.vcxproj.filters:
41985        * WebCore.vcxproj/build-generated-files.sh:
41986        * WebCore.xcodeproj/project.pbxproj:
41987        Remove files, rename files, update code generation.
41988
41989        * make-generated-sources.sh:
41990        Update this standalone developer script to fill in the new InspectorScripts variable.
41991
41992        * inspector/ConsoleMessage.h:
41993        * inspector/InjectedScriptHost.cpp:
41994        * inspector/InspectorAgent.cpp:
41995        * inspector/InspectorAgent.h:
41996        * inspector/InspectorApplicationCacheAgent.cpp:
41997        * inspector/InspectorApplicationCacheAgent.h:
41998        * inspector/InspectorCSSAgent.h:
41999        * inspector/InspectorCanvasAgent.cpp:
42000        * inspector/InspectorCanvasAgent.h:
42001        * inspector/InspectorConsoleAgent.cpp:
42002        * inspector/InspectorConsoleAgent.h:
42003        * inspector/InspectorController.cpp:
42004        * inspector/InspectorDOMAgent.cpp:
42005        * inspector/InspectorDOMAgent.h:
42006        * inspector/InspectorDOMDebuggerAgent.cpp:
42007        * inspector/InspectorDOMDebuggerAgent.h:
42008        * inspector/InspectorDOMStorageAgent.cpp:
42009        * inspector/InspectorDOMStorageAgent.h:
42010        * inspector/InspectorDatabaseAgent.cpp:
42011        * inspector/InspectorDatabaseAgent.h:
42012        * inspector/InspectorDatabaseResource.cpp:
42013        * inspector/InspectorDatabaseResource.h:
42014        * inspector/InspectorDebuggerAgent.cpp:
42015        * inspector/InspectorDebuggerAgent.h:
42016        * inspector/InspectorFrontendClientLocal.cpp:
42017        * inspector/InspectorHeapProfilerAgent.h:
42018        * inspector/InspectorIndexedDBAgent.cpp:
42019        * inspector/InspectorIndexedDBAgent.h:
42020        * inspector/InspectorInputAgent.h:
42021        * inspector/InspectorLayerTreeAgent.cpp:
42022        * inspector/InspectorLayerTreeAgent.h:
42023        * inspector/InspectorMemoryAgent.cpp:
42024        * inspector/InspectorMemoryAgent.h:
42025        * inspector/InspectorPageAgent.cpp:
42026        * inspector/InspectorPageAgent.h:
42027        * inspector/InspectorProfilerAgent.cpp:
42028        * inspector/InspectorProfilerAgent.h:
42029        * inspector/InspectorResourceAgent.cpp:
42030        * inspector/InspectorResourceAgent.h:
42031        * inspector/InspectorRuntimeAgent.h:
42032        * inspector/InspectorTimelineAgent.cpp:
42033        * inspector/InspectorTimelineAgent.h:
42034        * inspector/InspectorWorkerAgent.cpp:
42035        * inspector/InspectorWorkerAgent.h:
42036        * inspector/PageRuntimeAgent.h:
42037        * inspector/ScriptCallFrame.cpp:
42038        * inspector/WorkerInspectorController.cpp:
42039        * inspector/WorkerRuntimeAgent.h:
42040        Updates header names and class namespace changes.
42041
420422013-12-13  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
42043
42044        Adding RTCPeerConnectionErrorCallback
42045        https://bugs.webkit.org/show_bug.cgi?id=125574
42046
42047        Reviewed by Eric Carlson.
42048
42049        According to the spec there should be a RTCPeerConnectionErrorCallback function type for createOffer/Answer,
42050        setLocal/RemoteDescription and updateIce function calls. This callback must handle a DOMError object.
42051
42052        Existing tests were updated.
42053
42054        * CMakeLists.txt:
42055        * GNUmakefile.list.am:
42056        * Modules/mediastream/RTCPeerConnection.cpp:
42057        (WebCore::RTCPeerConnection::createOffer):
42058        (WebCore::RTCPeerConnection::createAnswer):
42059        (WebCore::RTCPeerConnection::setLocalDescription):
42060        (WebCore::RTCPeerConnection::setRemoteDescription):
42061        (WebCore::RTCPeerConnection::addIceCandidate):
42062        * Modules/mediastream/RTCErrorCallback.h: Removed.
42063        * Modules/mediastream/RTCErrorCallback.idl: Removed.
42064        * Modules/mediastream/RTCPeerConnection.h:
42065        * Modules/mediastream/RTCPeerConnection.idl:
42066        * Modules/mediastream/RTCPeerConnectionErrorCallback.h: Added.
42067        * Modules/mediastream/RTCPeerConnectionErrorCallback.idl: Added.
42068        * Modules/mediastream/RTCSessionDescriptionRequestImpl.cpp:
42069        (WebCore::RTCSessionDescriptionRequestImpl::create):
42070        (WebCore::RTCSessionDescriptionRequestImpl::RTCSessionDescriptionRequestImpl):
42071        (WebCore::RTCSessionDescriptionRequestImpl::requestFailed):
42072        * Modules/mediastream/RTCSessionDescriptionRequestImpl.h:
42073        * Modules/mediastream/RTCVoidRequestImpl.cpp:
42074        (WebCore::RTCVoidRequestImpl::create):
42075        (WebCore::RTCVoidRequestImpl::RTCVoidRequestImpl):
42076        (WebCore::RTCVoidRequestImpl::requestFailed):
42077        * Modules/mediastream/RTCVoidRequestImpl.h:
42078        * WebCore.xcodeproj/project.pbxproj:
42079        * platform/mediastream/RTCPeerConnectionHandler.cpp:
42080        (WebCore::RTCPeerConnectionHandler::incompatibleConstraintsErrorName):
42081        (WebCore::RTCPeerConnectionHandler::invalidSessionDescriptionErrorName):
42082        (WebCore::RTCPeerConnectionHandler::incompatibleSessionDescriptionErrorName):
42083        (WebCore::RTCPeerConnectionHandler::internalErrorName):
42084        * platform/mediastream/RTCPeerConnectionHandler.h:
42085        * platform/mock/RTCNotifiersMock.cpp:
42086        (WebCore::SessionRequestNotifier::SessionRequestNotifier):
42087        (WebCore::SessionRequestNotifier::fire):
42088        (WebCore::VoidRequestNotifier::VoidRequestNotifier):
42089        (WebCore::VoidRequestNotifier::fire):
42090        * platform/mock/RTCNotifiersMock.h:
42091        * platform/mock/RTCPeerConnectionHandlerMock.cpp:
42092        (WebCore::RTCPeerConnectionHandlerMock::createOffer):
42093        (WebCore::RTCPeerConnectionHandlerMock::createAnswer):
42094
420952013-12-13  Brent Fulgham  <bfulgham@apple.com>
42096
42097        [Win] Switch WebKit solution to Visual Studio 2013
42098        https://bugs.webkit.org/show_bug.cgi?id=125192
42099
42100        Reviewed by Anders Carlsson.
42101
42102        * WebCore.vcxproj/WebCore.vcxproj: Update for VS2013
42103        * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto
42104        * WebCore.vcxproj/WebCoreTestSupport.vcxproj: Ditto
42105
421062013-12-13  Alexey Proskuryakov  <ap@apple.com>
42107
42108        WebCrypto Key.usages should be ordered alphabetically
42109        https://bugs.webkit.org/show_bug.cgi?id=125696
42110
42111        Reviewed by Darin Adler.
42112
42113        * crypto/CryptoKey.cpp: (WebCore::CryptoKey::usages): Do it.
42114
421152013-12-13  Darin Adler  <darin@apple.com>
42116
42117        Make some optimizations for DOM bindings involving vectors
42118        https://bugs.webkit.org/show_bug.cgi?id=125680
42119
42120        Reviewed by Andreas Kling.
42121
42122        * bindings/js/JSDOMBinding.h:
42123        (WebCore::toJS): Removed unnecessary copying of vectors when converting them
42124        to JavaScript values.
42125        (WebCore::toRefPtrNativeArray): Use reserveInitialCapacity and uncheckedAppend.
42126        (WebCore::toNativeArray): Ditto.
42127        (WebCore::toNativeArguments): Ditto.
42128
421292013-12-13  Carlos Garcia Campos  <cgarcia@igalia.com>
42130
42131        REGRESSION(r155784): [GTK] Some methods incorrectly removed in r155784 and deprecated in r158662
42132        https://bugs.webkit.org/show_bug.cgi?id=125692
42133
42134        Reviewed by Martin Robinson.
42135
42136        In r155784 the build was fixed by skipping Console::profile() and
42137        Console::profileEnd(), but the patch also skipped other methods
42138        containing the profile method name. Those were incorrectly
42139        deprecated in r158662 thinking that the property had been removed
42140        in the idl.
42141
42142        * bindings/gobject/WebKitDOMDeprecated.cpp: Undeprecate
42143        webkit_dom_html_head_element_get_profile and
42144        webkit_dom_html_head_element_set_profile.
42145        * bindings/gobject/WebKitDOMDeprecated.h: Ditto.
42146        * bindings/gobject/WebKitDOMDeprecated.symbols: Ditto.
42147        * bindings/scripts/CodeGeneratorGObject.pm:
42148        (SkipFunction): Skip webkit_dom_console_profile and
42149        webkit_dom_console_profile_end.
42150
421512013-12-13  Rob Buis  <rob.buis@samsung.com>
42152
42153        Clean up SVGScriptElement
42154        https://bugs.webkit.org/show_bug.cgi?id=125527
42155
42156        Reviewed by Darin Adler.
42157
42158        From the Blink port of this bug it becomes clear that svg/dom/SVGScriptElement/script-set-href.svg and
42159        svg/dom/svg-element-attribute-js-null.xhtml still hit an assert in Debug because SVGNames::typeAttr can't
42160        be used with fastGetAttribute in all cases, because it can be animatable. However for SVGScriptElement
42161        it is not animatable, so make isAnimatableAttribute virtual (note Debug only method) and allow typeAttr
42162        in the SVGScriptElement case to be useable for fastGetAttribute.
42163
42164        Test: svg/dom/SVGScriptElement/script-type-attribute.svg
42165
42166        * svg/SVGElement.h:
42167        * svg/SVGScriptElement.cpp:
42168        (WebCore::SVGScriptElement::isAnimatableAttribute):
42169        * svg/SVGScriptElement.h:
42170
421712013-12-13  Carlos Garcia Campos  <cgarcia@igalia.com>
42172
42173        [GTK] Expose also webkit_dom_document_get_url
42174        https://bugs.webkit.org/show_bug.cgi?id=125691
42175
42176        Reviewed by Martin Robinson.
42177
42178        For some reason we expose the URL property, so it can be accessed
42179        with g_object_get(), but we have a special case to not provide a
42180        public getter.
42181
42182        * bindings/gobject/webkitdom.symbols: Add new symbol.
42183        * bindings/scripts/CodeGeneratorGObject.pm:
42184        (GenerateFunctions): Remove the special case of URL property.
42185
421862013-12-13  Andreas Kling  <akling@apple.com>
42187
42188        CSSFilterImageValue constructor should require both image and filter.
42189        <https://webkit.org/b/125056>
42190
42191        Make the CSSFilterImageValue::create() helper take both the image and
42192        filter CSSValues by PassRef since they should never be null.
42193
42194        Tweaked ComputedStyleExtractor::valueForFilter() to return a PassRef
42195        for this to work.
42196
42197        Reviewed by Anders Carlsson.
42198
421992013-12-12  Andreas Kling  <akling@apple.com>
42200
42201        StyleResolver::adjustRenderStyle() should take RenderStyle references.
42202        <https://webkit.org/b/125623>
42203
42204        This function doesn't handle null styles being passed, so prevent
42205        it at compile time.
42206
42207        Reviewed by Anders Carlsson.
42208
422092013-12-13  Darin Adler  <darin@apple.com>
42210
42211        Eliminate awkward virtualComputedStyle construction
42212        https://bugs.webkit.org/show_bug.cgi?id=125681
42213
42214        Reviewed by Andreas Kling.
42215
42216        * dom/Element.cpp:
42217        (WebCore::Element::computedStyle): Tweak coding style a bit.
42218
42219        * dom/Element.h: Marked computedStyle virtual and got rid of virtualComputedStyle.
42220        This fixes a bug that we would not call SVGElement::computedStyle if we called
42221        it through an Element pointer or reference. Not sure how to get test coverage for this.
42222
42223        * dom/Node.cpp:
42224        (WebCore::Node::computedStyle): Use a loop instead of recursive virtual calls.
42225
42226        * dom/Node.h: Made computedStyle virtual and got rid of virtualComputedStyle.
42227
42228        * svg/SVGElement.cpp:
42229        (WebCore::SVGElement::computedStyle): Tweak coding style a bit.
42230
42231        * svg/SVGElement.h: Made computedStyle virtual (and FINAL) and got rid fo
42232        virtualComputedStyle.
42233
422342013-12-13  Darin Adler  <darin@apple.com>
42235
42236        Fix a couple stray uses of RefPtr that should release
42237        https://bugs.webkit.org/show_bug.cgi?id=125679
42238
42239        Reviewed by Andreas Kling.
42240
42241        * css/CSSParser.cpp:
42242        (WebCore::CSSParser::parseFilter): Add calls to release, in
42243        one case rearranging the order of operations slightly so we
42244        don't release the pointer before using it.
42245
422462013-12-12  Alexey Proskuryakov  <ap@apple.com>
42247
42248        WebCrypto wrapKey operation doesn't check key usage
42249        https://bugs.webkit.org/show_bug.cgi?id=125675
42250
42251        Reviewed by Darin Adler.
42252
42253        Tests: crypto/subtle/unwrapKey-check-usage.html
42254               crypto/subtle/wrapKey-check-usage.html
42255
42256        * bindings/js/JSSubtleCryptoCustom.cpp: (WebCore::JSSubtleCrypto::wrapKey):
42257        Added accidentally omitted code. Other operations are fine.
42258
422592013-12-12  Darin Adler  <darin@apple.com>
42260
42261        Make some improvements in CSSImageGeneratorValue code
42262        https://bugs.webkit.org/show_bug.cgi?id=125676
42263
42264        Reviewed by Simon Fraser.
42265
42266        * css/CSSCrossfadeValue.cpp:
42267        (WebCore::subimageKnownToBeOpaque): Take a reference to the CSSValue, since
42268        it's known not to be null. Used checked cast.
42269        (WebCore::CSSCrossfadeValue::knownToBeOpaque): Updated to pass a reference.
42270
42271        * css/CSSImageGeneratorValue.cpp:
42272        (WebCore::CSSImageGeneratorValue::saveCachedImageForSize): Use
42273        make_unique instead of adoptPtr.
42274        (WebCore::CSSImageGeneratorValue::subimageIsPending): Use checked cast.
42275        (WebCore::CSSImageGeneratorValue::cachedImageForCSSValue): Ditto, also
42276        use nullptr.
42277
42278        * css/CSSImageGeneratorValue.h: Removed unneeded includes, added some forward
42279        declarations, used unique_ptr instead of OwnPtr, and used CSS_VALUE_TYPE_CASTS
42280        macro to create cast functions.
42281
42282        * css/CSSValue.cpp: Removed unneeded include of CSSImageGeneratorValue.h.
42283
42284        * css/StyleResolver.cpp:
42285        (WebCore::StyleResolver::State::clear): Use nullptr instead of 0.
42286        (WebCore::StyleResolver::applyProperty): Use checked cast and pass references
42287        instead of pointers to StyleGeneratedImage::create.
42288        (WebCore::StyleResolver::styleImage): Use checked cast and pass references
42289        instead of pointers to generatedOrPendingFromValue.
42290        (WebCore::StyleResolver::generatedOrPendingFromValue): Take the value as a
42291        reference instead of a pointer.
42292        (WebCore::StyleResolver::loadPendingImage): Pass a refernece instead of a
42293        pointer to StyleGeneratedImage::create.
42294        (WebCore::StyleResolver::loadPendingImages): Use auto for iteration instead of
42295        a lot type name.
42296
42297        * css/StyleResolver.h: Changed generatedOrPendingFromValue to take the value
42298        as a reference instead of a pointer.
42299
42300        * page/animation/CSSPropertyAnimation.cpp:
42301        (WebCore::blendFilter): Pass a reference insted of a pointer to
42302        StyleGeneratedImage::create.
42303        (WebCore::crossfadeBlend): Ditto.
42304        (WebCore::blendFunc): Ditto. Also use references for local variables.
42305
42306        * rendering/style/StyleGeneratedImage.cpp:
42307        (WebCore::StyleGeneratedImage::StyleGeneratedImage): Use PassRef instead of
42308        PassRefPtr for the argument type.
42309        (WebCore::StyleGeneratedImage::cssValue): Updated since m_imageGeneratorValue
42310        is now a Ref instead of a RefPtr. Sadly this requires a const_cast that we can
42311        come back and get rid of later.
42312        (WebCore::StyleGeneratedImage::imageSize): Ditto.
42313        (WebCore::StyleGeneratedImage::image): Ditto.
42314
42315        * rendering/style/StyleGeneratedImage.h: Changed create function and constructor
42316        to take a PassRef. Made imageValue non-const since it returns a non-const value,
42317        to be consistent with "conceptual const". Changed m_imageGeneratorValue to be a
42318        Ref instead of a RefPtr.
42319
42320        * rendering/style/StyleImage.h: Made WrappedImagePtr be const void*, since it's
42321        a pointer used only for equality checks. Not a great idiom, but fine to use a
42322        const pointer instead of non-const, and avoids the const_cast we'd otherwise
42323        need in StyleGeneratedImage::data.
42324
423252013-12-12  KyungTae Kim  <ktf.kim@samsung.com>
42326
42327        Improve the find word boundary performance
42328        https://bugs.webkit.org/show_bug.cgi?id=125619
42329
42330        In endWordBoundary case, the textBreakPrevious call in findWordBoundary is unnecessary.
42331        So use separate function for endWordBoundary can improve the performance.
42332
42333        Reviewed by Darin Adler.
42334
42335        No tests because no operation changes.
42336
42337        * editing/VisibleUnits.cpp: Use findEndWordBoundary in endWordBoundary
42338        (WebCore::endWordBoundary):
42339        * platform/text/TextBoundaries.cpp: Add findEndWordBoundary function
42340        (WebCore::findEndWordBoundary):
42341        * platform/text/TextBoundaries.h:
42342        * platform/text/mac/TextBoundaries.mm: Add findEndWordBoundary function
42343        (WebCore::findEndWordBoundary):
42344
423452013-12-12  Benjamin Poulain  <bpoulain@apple.com>
42346
42347        Fix a silly mistake of r160467
42348        https://bugs.webkit.org/show_bug.cgi?id=125657
42349
42350        Reviewed by Alexey Proskuryakov.
42351
42352        Fix a typo. The validity check was missing the logical not.
42353
42354        * platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp:
42355        (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::willSendRequest):
42356        (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveResponse):
42357        (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveData):
42358        (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didFinishLoading):
42359        (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didFail):
42360        (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::willCacheResponse):
42361        (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveChallenge):
42362        (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didSendBodyData):
42363        (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::shouldUseCredentialStorage):
42364        (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::canRespondToProtectionSpace):
42365        (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveDataArray):
42366
423672013-12-12  Tim Horton  <timothy_horton@apple.com>
42368
42369        [wk2] Handle pinch-to-zoom gesture
42370        https://bugs.webkit.org/show_bug.cgi?id=125604
42371
42372        Reviewed by Simon Fraser.
42373
42374        * WebCore.exp.in:
42375        Export some TransformationMatrix functions.
42376
42377        * WebCore.xcodeproj/project.pbxproj:
42378        Make some headers private so that RenderLayerCompositor/Backing can be used from WebKit2.
42379
42380        * rendering/RenderLayerCompositor.h:
42381        (WebCore::RenderLayerCompositor::layerForContentShadow):
42382        Add a getter for the content shadow layer.
42383
423842013-12-12  Brady Eidson  <beidson@apple.com>
42385
42386        DatabaseProcess IndexedDB: Establish a metadata backing store on disk
42387        https://bugs.webkit.org/show_bug.cgi?id=125258
42388
42389        Reviewed by Alexey Proskuryakov, Anders Carlsson, and Tim Horton.
42390
42391        Teach CrossThreadCopier how to handle IDBDatabaseMetadata.
42392
42393        * CMakeLists.txt:
42394        * GNUmakefile.list.am:
42395        * WebCore.exp.in:
42396        * WebCore.xcodeproj/project.pbxproj:
42397
42398        * Modules/indexeddb/IDBDatabaseMetadata.cpp: Added.
42399        (WebCore::IDBDatabaseMetadata::isolatedCopy):
42400        (WebCore::IDBObjectStoreMetadata::isolatedCopy):
42401        (WebCore::IDBIndexMetadata::isolatedCopy):
42402        * Modules/indexeddb/IDBDatabaseMetadata.h:
42403
42404        * Modules/indexeddb/IDBKeyPath.cpp:
42405        (WebCore::IDBKeyPath::isolatedCopy):
42406        * Modules/indexeddb/IDBKeyPath.h:
42407
42408        * platform/CrossThreadCopier.cpp:
42409        (WebCore::::copy): Add an IDBDatabaseMetadata specialization.
42410        * platform/CrossThreadCopier.h:
42411
424122013-12-12  Alexey Proskuryakov  <ap@apple.com>
42413
42414        Add support for RSAES-PKCS1-v1_5
42415        https://bugs.webkit.org/show_bug.cgi?id=125647
42416
42417        Build fix.
42418
42419        * crypto/CommonCryptoUtilities.h: Declare a newly used private constant.
42420
424212013-12-12  Alexey Proskuryakov  <ap@apple.com>
42422
42423        Add support for RSAES-PKCS1-v1_5
42424        https://bugs.webkit.org/show_bug.cgi?id=125647
42425
42426        Reviewed by Anders Carlsson.
42427
42428        Tests: crypto/subtle/rsaes-pkcs1-v1_5-decrypt.html
42429               crypto/subtle/rsaes-pkcs1-v1_5-wrap-unwrap-aes.html
42430
42431        * crypto/algorithms/CryptoAlgorithmAES_KW.cpp:
42432        * crypto/algorithms/CryptoAlgorithmAES_KW.h:
42433        Removed meaningless parameters arguments from private functions. The base arguments
42434        class is always empty.
42435
42436        * WebCore.xcodeproj/project.pbxproj:
42437        * bindings/js/JSCryptoAlgorithmDictionary.cpp:
42438        (WebCore::JSCryptoAlgorithmDictionary::createParametersForEncrypt):
42439        (WebCore::JSCryptoAlgorithmDictionary::createParametersForDecrypt):
42440        * bindings/js/JSCryptoKeySerializationJWK.cpp:
42441        (WebCore::JSCryptoKeySerializationJWK::reconcileAlgorithm):
42442        (WebCore::JSCryptoKeySerializationJWK::keySizeIsValid):
42443        (WebCore::JSCryptoKeySerializationJWK::addJWKAlgorithmToJSON):
42444        * crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp: Added.
42445        (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::CryptoAlgorithmRSAES_PKCS1_v1_5):
42446        (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::~CryptoAlgorithmRSAES_PKCS1_v1_5):
42447        (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::create):
42448        (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::identifier):
42449        (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::keyAlgorithmMatches):
42450        (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::encrypt):
42451        (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::decrypt):
42452        (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::generateKey):
42453        (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::importKey):
42454        * crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.h: Added.
42455        * crypto/mac/CryptoAlgorithmRSAES_PKCS1_v1_5Mac.cpp: Added.
42456        (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformEncrypt):
42457        (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformDecrypt):
42458        * crypto/mac/CryptoAlgorithmRegistryMac.cpp:
42459        (WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms):
42460        Added support for this algorithm.
42461
424622013-12-12  Andreas Kling  <akling@apple.com>
42463
42464        [Mac] Stop not caching HTTP resources with "Vary" header in response.
42465        <https://webkit.org/b/125483>
42466        <rdar://problem/11781097>
42467
42468        Remove the workaround preventing resources with the "Vary" header
42469        from going into cache, as the CFNetwork cache has supported this
42470        for quite a while now.
42471
42472        31.5 MB progression on Membuster3, because we can now mmap those
42473        resources from disk once they are in the cache.
42474
42475        We keep the workaround on PLATFORM(WIN) for now.
42476
42477        Reviewed by Antti Koivisto.
42478
424792013-12-12  Sam Weinig  <sam@webkit.org>
42480
42481        Replace uses of WTF::BitArray with std::bitset
42482        https://bugs.webkit.org/show_bug.cgi?id=125642
42483
42484        Reviewed by Anders Carlsson.
42485
42486        * css/CSSParser.cpp:
42487        (WebCore::filterProperties):
42488        (WebCore::CSSParser::createStyleProperties):
42489        * css/StyleProperties.cpp:
42490        (WebCore::StyleProperties::asText):
42491
424922013-12-12  Alexey Proskuryakov  <ap@apple.com>
42493
42494        Public key in a generated KeyPair should always be extractable
42495        https://bugs.webkit.org/show_bug.cgi?id=125643
42496
42497        Reviewed by Sam Weinig.
42498
42499        The spec doesn't explain how generateKey works with key pairs (there are open bugs
42500        about that). Making public keys non-extractable makes no sense one way or another.
42501
42502        Test: crypto/subtle/rsa-oaep-generate-non-extractable-key.html
42503
42504        * crypto/mac/CryptoKeyRSAMac.cpp: (WebCore::CryptoKeyRSA::generatePair):
42505
425062013-12-12  Alexey Proskuryakov  <ap@apple.com>
42507
42508        Make algorithm.name return registered name, not normalized one
42509        https://bugs.webkit.org/show_bug.cgi?id=125641
42510
42511        Reviewed by Anders Carlsson.
42512
42513        Currently, WebCrypto editor's draft stipulates that algorithm name is lowercased
42514        as part of normalization.
42515
42516        But it makes little sense to register algorithms as mixed (mostly upper) case, yet
42517        return the name lowercased. Other implementations don't bother respecting this,
42518        and signs are that the spec will change.
42519
42520        I'd like to match other implementations here, because sticking to the spec only
42521        makes us fail 3rd party test suites for no good reason.
42522
42523        Updated many existing tests.
42524
42525        * crypto/CryptoAlgorithmRegistry.cpp:
42526        (WebCore::CryptoAlgorithmRegistry::getIdentifierForName):
42527        (WebCore::CryptoAlgorithmRegistry::registerAlgorithm):
42528        * crypto/CryptoAlgorithmRegistry.h:
42529        * crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:
42530        * crypto/algorithms/CryptoAlgorithmAES_KW.cpp:
42531        * crypto/algorithms/CryptoAlgorithmHMAC.cpp:
42532        * crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:
42533        * crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp:
42534        * crypto/algorithms/CryptoAlgorithmSHA1.cpp:
42535        * crypto/algorithms/CryptoAlgorithmSHA224.cpp:
42536        * crypto/algorithms/CryptoAlgorithmSHA256.cpp:
42537        * crypto/algorithms/CryptoAlgorithmSHA384.cpp:
42538        * crypto/algorithms/CryptoAlgorithmSHA512.cpp:
42539
425402013-12-12  Csaba Osztrogonác  <ossy@webkit.org>
42541
42542        Move CertificateInfo to WebCore
42543        https://bugs.webkit.org/show_bug.cgi?id=124720
42544
42545        Reviewed by Darin Adler.
42546
42547        Based on the patch by Kwang Yul Seo <skyul@company100.net>
42548
42549        * GNUmakefile.list.am:
42550        * PlatformEfl.cmake:
42551        * PlatformGTK.cmake:
42552        * WebCore.exp.in:
42553        * WebCore.xcodeproj/project.pbxproj:
42554        * platform/network/mac/CertificateInfo.h: Renamed from Source/WebKit2/Shared/mac/CertificateInfo.h.
42555        (WebCore::CertificateInfo::setCertificateChain): Added, because WebCoreArgumentCoders needs it.
42556        * platform/network/mac/CertificateInfoMac.mm: Renamed from Source/WebKit2/Shared/mac/CertificateInfo.mm.
42557        (WebCore::CertificateInfo::CertificateInfo): Moved encode() and decode() to WebCoreArgumentCodersMac.mm.
42558        * platform/network/soup/CertificateInfo.cpp: Copied from Source/WebKit2/Shared/WebCertificateInfo.h.
42559        (WebCore::CertificateInfo::CertificateInfo): Moved encode() and decode() to WebCoreArgumentCodersSoup.cpp.
42560        * platform/network/soup/CertificateInfo.h: Renamed from Source/WebKit2/Shared/soup/CertificateInfo.h.
42561        (WebCore::CertificateInfo::setCertificate): Added, because WebCoreArgumentCoders needs it.
42562        (WebCore::CertificateInfo::setTLSErrors): Added, because WebCoreArgumentCoders needs it.
42563
425642013-12-12  Commit Queue  <commit-queue@webkit.org>
42565
42566        Unreviewed, rolling out r160417.
42567        http://trac.webkit.org/changeset/160417
42568        https://bugs.webkit.org/show_bug.cgi?id=125629
42569
42570        The patch is causing crashes (Requested by zdobersek1 on
42571        #webkit).
42572
42573        * accessibility/AXObjectCache.cpp:
42574        (WebCore::AXObjectCache::~AXObjectCache):
42575        (WebCore::AXObjectCache::remove):
42576        * accessibility/AXObjectCache.h:
42577        (WebCore::AXObjectCache::detachWrapper):
42578        * accessibility/atk/AXObjectCacheAtk.cpp:
42579        (WebCore::AXObjectCache::detachWrapper):
42580        (WebCore::AXObjectCache::attachWrapper):
42581        (WebCore::AXObjectCache::postPlatformNotification):
42582        * accessibility/ios/AXObjectCacheIOS.mm:
42583        (WebCore::AXObjectCache::detachWrapper):
42584        * accessibility/mac/AXObjectCacheMac.mm:
42585        (WebCore::AXObjectCache::detachWrapper):
42586        * accessibility/win/AXObjectCacheWin.cpp:
42587        (WebCore::AXObjectCache::detachWrapper):
42588
425892013-12-12  Martin Robinson  <mrobinson@igalia.com>
42590
42591        Remove a few more guards mistakenly added in r160367
42592
42593        Reviewed by Carlos Garcia Campos
42594
42595        r160367 was too liberal in hiding APIs from the GObject DOM bindings.
42596        We should expose the BatteryManager and the text and audio tracks.
42597
42598        * Modules/battery/BatteryManager.idl:
42599        * html/HTMLMediaElement.idl:
42600
426012013-12-11  Darin Adler  <darin@apple.com>
42602
42603        StylePendingImage needs to correctly manage the CSSValue pointer lifetime
42604        https://bugs.webkit.org/show_bug.cgi?id=125468
42605
42606        Reviewed by Andreas Kling.
42607
42608        Test: fast/css/pending-image-crash.xhtml
42609
42610        Disconnect the reference counted StylePendingImage from the CSSValue that owns
42611        it when it's not needed any more, otherwise we could end up using a pointer
42612        that might no longer be valid.
42613
42614        * css/CSSCursorImageValue.cpp:
42615        (WebCore::CSSCursorImageValue::detachPendingImage): Added. Calls detachFromCSSValue
42616        on the current image if it is a StylePendingImage.
42617        (WebCore::CSSCursorImageValue::~CSSCursorImageValue): Call detachPendingImage.
42618        (WebCore::CSSCursorImageValue::cachedImage): Call detachPendingImage before changing
42619        m_image to a new value.
42620        (WebCore::CSSCursorImageValue::clearCachedImage): Ditto.
42621        * css/CSSCursorImageValue.h: Added detachPendingImage.
42622
42623        * css/CSSImageSetValue.cpp:
42624        (WebCore::CSSImageSetValue::detachPendingImage): Added. Calls detachFromCSSValue
42625        on the current image set if it is a StylePendingImage.
42626        (WebCore::CSSImageSetValue::~CSSImageSetValue): Call detachPendingImage.
42627        (WebCore::CSSImageSetValue::cachedImageSet): Call detachPendingImage before changing
42628        m_imageSet to a new value.
42629        * css/CSSImageSetValue.h: Added detachPendingImage.
42630
42631        * css/CSSImageValue.cpp:
42632        (WebCore::CSSImageValue::detachPendingImage): Added. Calls detachFromCSSValue on the
42633        current image if it is a StylePendingImage.
42634        (WebCore::CSSImageValue::~CSSImageValue): Call detachPendingImage.
42635        (WebCore::CSSImageValue::cachedImage): Call detachPendingImage before changing m_image
42636        to a new value.
42637        * css/CSSImageValue.h: Added detachPendingImage.
42638
42639        * rendering/style/StylePendingImage.h:
42640        (WebCore::StylePendingImage::cssImageValue): Added a null check.
42641        (WebCore::StylePendingImage::cssImageGeneratorValue): Added a null check.
42642        (WebCore::StylePendingImage::cssCursorImageValue): Added a null check.
42643        (WebCore::StylePendingImage::cssImageSetValue): Added a null check.
42644        (WebCore::StylePendingImage::detachFromCSSValue): Added. Sets m_value to null since
42645        the style is no longer using this StylePendingImage.
42646        (WebCore::StylePendingImage::data): Changed to use the "this" pointer since all we
42647        need is some arbitrary pointer uniquely identifying the image. Before loading the image,
42648        we have no suitable weak identifier, so it suffices to use the unique pointer to each
42649        StylePendingImage object. This function is used only in a limited way; it would be nice
42650        to find a way to make the code less strange long term.
42651
426522013-12-11  Darin Adler  <darin@apple.com>
42653
42654        Remove some unneeded code noticed while looking at StylePendingImage
42655        https://bugs.webkit.org/show_bug.cgi?id=125618
42656
42657        Reviewed by Andreas Kling.
42658
42659        * css/StyleResolver.cpp:
42660        (WebCore::StyleResolver::loadPendingImage): Removed redundant function calls.
42661
42662        * rendering/RenderImageResource.cpp: Removed unneeded nullImage and
42663        usesImageContainerSize member functions.
42664        (WebCore::RenderImageResource::image): Use Image::nullImage directly instead of
42665        through RenderImageResourceImage::nullImage.
42666
42667        * rendering/RenderImageResource.h: Removed unneeded usesImageContainerSize
42668        and nullImage functions. Also removed unneeded includes.
42669
42670        * rendering/RenderImageResourceStyleImage.h: Removed unneeded
42671        usesImageContainerSize override. Nobody was calling it.
42672
426732013-12-11  Benjamin Poulain  <bpoulain@apple.com>
42674
42675        Add the CFNetwork implementation of the asynchronous ResourceHandle
42676        https://bugs.webkit.org/show_bug.cgi?id=124440
42677
42678        Reviewed by Alexey Proskuryakov.
42679
42680        Add a second subclass of ResourceHandleCFURLConnectionDelegate: ResourceHandleCFURLConnectionDelegateWithOperationQueue.
42681        The difference is those objects handle the network callback on a different queue.
42682
42683        Some common code has been refactored in ResourceHandleCFURLConnectionDelegate to reduce duplicated code.
42684
42685        The initialization of the request and connection is moved to the subclass to clean up initialization.
42686
42687        * WebCore.xcodeproj/project.pbxproj:
42688        * platform/network/ResourceHandle.h:
42689        * platform/network/ResourceHandleClient.cpp:
42690        (WebCore::ResourceHandleClient::willCacheResponseAsync):
42691        * platform/network/ResourceHandleClient.h:
42692        * platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp: Added.
42693        (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::ResourceHandleCFURLConnectionDelegateWithOperationQueue):
42694        (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::~ResourceHandleCFURLConnectionDelegateWithOperationQueue):
42695        (WebCore::connectionWasCancelled):
42696        (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::setupRequest):
42697        (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::setupConnectionScheduling):
42698        (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::willSendRequest):
42699        (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveResponse):
42700        (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveData):
42701        (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didFinishLoading):
42702        (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didFail):
42703        (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::willCacheResponse):
42704        (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveChallenge):
42705        (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didSendBodyData):
42706        (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::shouldUseCredentialStorage):
42707        (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::canRespondToProtectionSpace):
42708        (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveDataArray):
42709        (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::continueWillSendRequest):
42710        (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::continueDidReceiveResponse):
42711        (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::continueShouldUseCredentialStorage):
42712        (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::continueWillCacheResponse):
42713        (WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::continueCanAuthenticateAgainstProtectionSpace):
42714        * platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.h: Copied from Source/WebCore/platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.h.
42715        * platform/network/cf/ResourceHandleCFNet.cpp:
42716        (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
42717        (WebCore::ResourceHandle::createCFURLConnection):
42718        (WebCore::ResourceHandle::start):
42719        (WebCore::ResourceHandle::shouldUseCredentialStorage):
42720        (WebCore::ResourceHandle::canAuthenticateAgainstProtectionSpace):
42721        (WebCore::ResourceHandle::continueWillSendRequest):
42722        (WebCore::ResourceHandle::continueDidReceiveResponse):
42723        (WebCore::ResourceHandle::continueShouldUseCredentialStorage):
42724        (WebCore::ResourceHandle::continueCanAuthenticateAgainstProtectionSpace):
42725        (WebCore::ResourceHandle::continueWillCacheResponse):
42726        * platform/network/cf/ResourceHandleCFURLConnectionDelegate.cpp:
42727        (WebCore::ResourceHandleCFURLConnectionDelegate::releaseHandle):
42728        (WebCore::ResourceHandleCFURLConnectionDelegate::synthesizeRedirectResponseIfNecessary):
42729        (WebCore::ResourceHandleCFURLConnectionDelegate::createResourceRequest):
42730        * platform/network/cf/ResourceHandleCFURLConnectionDelegate.h:
42731        * platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp:
42732        (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::setupRequest):
42733        (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::setupConnectionScheduling):
42734        (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::willSendRequest):
42735        (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::continueWillSendRequest):
42736        (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::continueDidReceiveResponse):
42737        (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::continueShouldUseCredentialStorage):
42738        (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::continueWillCacheResponse):
42739        (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::continueCanAuthenticateAgainstProtectionSpace):
42740        * platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.h:
42741
427422013-12-11  David Kilzer  <ddkilzer@apple.com>
42743
42744        Define m_hasBadParent in InlineBox if defined(ADDRESS_SANITIZER)
42745        <http://webkit.org/b/125329>
42746
42747        Reviewed by Darin Adler.
42748
42749        No tests since this is a build fix for:
42750
42751            $ ./Tools/Scripts/build-webkit --release OTHER_CFLAGS="$inherited -DADDRESS_SANITIZER=1"
42752
42753        * rendering/InlineBox.cpp:
42754        * rendering/InlineBox.h:
42755        - Replace ASSERT_DISABLED use with
42756          ASSERT_WITH_SECURITY_IMPLICATION_DISABLED for m_hasBadParent.
42757
42758        * rendering/InlineFlowBox.cpp:
42759        (WebCore::InlineFlowBox::~InlineFlowBox):
42760        - Use !ASSERT_WITH_SECURITY_IMPLICATION_DISABLED instead of
42761          #ifndef NDEBUG since this calls setHasBadParent().
42762        (WebCore::InlineFlowBox::checkConsistency):
42763        - Move ASSERT(!m_hasBadChildList) outside of
42764          #if CHECK_CONSISTENCY and change to
42765          ASSERT_WITH_SECURITY_IMPLICATION(!m_hasBadChildList).
42766
42767        * rendering/InlineFlowBox.h:
42768        (WebCore::InlineFlowBox::InlineFlowBox):
42769        (WebCore::InlineFlowBox::setHasBadChildList):
42770        - Change #ifndef NDEBUG to
42771          #if !ASSERT_WITH_SECURITY_IMPLICATION_DISABLED for code using
42772          m_hasBadChildList.
42773
427742013-12-11  Ralph Thomas  <ralpht@gmail.com>
42775
42776        [WebGL] Fix build on GL ES 2.0 targets after r160119
42777        https://bugs.webkit.org/show_bug.cgi?id=125541
42778
42779        Reviewed by Brent Fulgham.
42780
42781        GL ES 2.0 doesn't define GL_HALF_FLOAT_ARB, so pass through HALF_FLOAT_OES (which is defined for GL ES 2.0).
42782        This change also reverts r160324 which incorrectly defined GL_HALF_FLOAT_ARB for the Windows ANGLE target.
42783
42784        No new tests, no change in functionality.
42785
42786        * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
42787        (WebCore::GraphicsContext3D::texSubImage2D):
42788
427892013-12-11  Joseph Pecoraro  <pecoraro@apple.com>
42790
42791        Web Inspector: Push More Inspector Required Classes Down into JavaScriptCore
42792        https://bugs.webkit.org/show_bug.cgi?id=125324
42793
42794        Reviewed by Timothy Hatcher.
42795
42796        Part 1: Push down core inspector classes.
42797
42798          - Move InspectAgentBase, InspectorAgentRegistry, InspectorBackendDispatcher, InspectorValues
42799            down to JavaScriptCore and into the Inspector namespace.
42800          - Add forwarding headers for JavaScriptCore/inspector files.
42801          - Use the Inspector namespace where appropriate.
42802          - Rename InspectorBaseAgent to InspectorAgentBase for clarity.
42803
42804        Part 2: Push Script wrapper classes down into JavaScriptCore/bindings.
42805
42806          - Move ScriptObject and ScriptValue into JavaScriptCore but namespace Deprecated
42807          - Add forwarding headers
42808          - Use Deprecated::ScriptObject and Deprecated::ScriptValue everywhere.
42809
42810        Part 3: Push Down ScriptFunctionCall
42811
42812          - Move ScriptFunctionCall to JavaScriptCore/bindings into namespace Deprecated.
42813          - Give constructor a function to all for a different JSC::call, because
42814            WebCore ScriptFunctionCall's use JSMainThreadExecState when isMainThread.
42815          - Prefer Deprecated::ScriptFunctionCall everywhere it is used in WebCore.
42816
42817        Part 4: Extract InspectorTypeBuilder helper functions
42818
42819          - There is a chunk of InspectorTypeBuilder that never changes. Extract it into
42820            its own file, InspectorTypeBuilder.h in JSC/inspector, Inspector namespace.
42821          - This moves TypeBuilder from namespace WebCore to namespace Inspector
42822          - Rename the WebCore generated InspectorTypeBuilder to InspectorWebTypeBuilders,
42823            eventually the CodeGenerator script will do this for more then TypeBuilders
42824            and there will be "JS" TypeBuilders and "Web" TypeBuilders files.
42825
42826        No new tests. No change in functionality, just moving things around.
42827
42828        * CMakeLists.txt:
42829        * ForwardingHeaders/bindings/ScriptFunctionCall.h: Added.
42830        * ForwardingHeaders/bindings/ScriptObject.h: Added.
42831        * ForwardingHeaders/bindings/ScriptValue.h: Added.
42832        * ForwardingHeaders/inspector/InspectorAgentBase.h: Added.
42833        * ForwardingHeaders/inspector/InspectorAgentRegistry.h: Added.
42834        * ForwardingHeaders/inspector/InspectorBackendDispatcher.h: Added.
42835        * ForwardingHeaders/inspector/InspectorTypeBuilder.h: Added.
42836        * ForwardingHeaders/inspector/InspectorValues.h: Added.
42837        * GNUmakefile.am:
42838        * GNUmakefile.list.am:
42839        * Modules/indexeddb/IDBAny.cpp:
42840        (WebCore::IDBAny::scriptValue):
42841        (WebCore::IDBAny::IDBAny):
42842        * Modules/indexeddb/IDBAny.h:
42843        * Modules/indexeddb/IDBCursor.cpp:
42844        (WebCore::IDBCursor::key):
42845        (WebCore::IDBCursor::primaryKey):
42846        (WebCore::IDBCursor::value):
42847        (WebCore::IDBCursor::update):
42848        (WebCore::IDBCursor::continueFunction):
42849        (WebCore::IDBCursor::setValueReady):
42850        * Modules/indexeddb/IDBCursor.h:
42851        * Modules/indexeddb/IDBFactory.cpp:
42852        (WebCore::IDBFactory::cmp):
42853        * Modules/indexeddb/IDBFactory.h:
42854        * Modules/indexeddb/IDBIndex.cpp:
42855        (WebCore::IDBIndex::openCursor):
42856        (WebCore::IDBIndex::count):
42857        (WebCore::IDBIndex::openKeyCursor):
42858        (WebCore::IDBIndex::get):
42859        (WebCore::IDBIndex::getKey):
42860        * Modules/indexeddb/IDBIndex.h:
42861        (WebCore::IDBIndex::openCursor):
42862        (WebCore::IDBIndex::openKeyCursor):
42863        * Modules/indexeddb/IDBKeyRange.cpp:
42864        (WebCore::IDBKeyRange::lowerValue):
42865        (WebCore::IDBKeyRange::upperValue):
42866        (WebCore::IDBKeyRange::only):
42867        (WebCore::IDBKeyRange::lowerBound):
42868        (WebCore::IDBKeyRange::upperBound):
42869        (WebCore::IDBKeyRange::bound):
42870        * Modules/indexeddb/IDBKeyRange.h:
42871        (WebCore::IDBKeyRange::lowerBound):
42872        (WebCore::IDBKeyRange::upperBound):
42873        (WebCore::IDBKeyRange::bound):
42874        * Modules/indexeddb/IDBObjectStore.cpp:
42875        (WebCore::IDBObjectStore::get):
42876        (WebCore::generateIndexKeysForValue):
42877        (WebCore::IDBObjectStore::add):
42878        (WebCore::IDBObjectStore::put):
42879        (WebCore::IDBObjectStore::deleteFunction):
42880        (WebCore::IDBObjectStore::openCursor):
42881        (WebCore::IDBObjectStore::count):
42882        * Modules/indexeddb/IDBObjectStore.h:
42883        * Modules/indexeddb/IDBRequest.cpp:
42884        (WebCore::IDBRequest::setResultCursor):
42885        (WebCore::IDBRequest::onSuccess):
42886        (WebCore::IDBRequest::onSuccessInternal):
42887        * Modules/indexeddb/IDBRequest.h:
42888        * Modules/mediastream/CapabilityRange.cpp:
42889        (WebCore::scriptValue):
42890        (WebCore::CapabilityRange::min):
42891        (WebCore::CapabilityRange::max):
42892        * Modules/mediastream/CapabilityRange.h:
42893        * Modules/mediastream/MediaTrackConstraint.h:
42894        * Modules/mediastream/RTCIceCandidate.cpp:
42895        * Modules/plugins/QuickTimePluginReplacement.cpp:
42896        * Modules/plugins/QuickTimePluginReplacement.h:
42897        * UseJSC.cmake:
42898        * WebCore.exp.in:
42899        * WebCore.vcxproj/WebCore.vcxproj:
42900        * WebCore.vcxproj/WebCore.vcxproj.filters:
42901        * WebCore.xcodeproj/project.pbxproj:
42902        * bindings/js/Dictionary.h:
42903        (WebCore::Dictionary::getEventListener):
42904        * bindings/js/IDBBindingUtilities.cpp:
42905        (WebCore::createIDBKeyFromScriptValueAndKeyPath):
42906        (WebCore::injectIDBKeyIntoScriptValue):
42907        (WebCore::canInjectIDBKeyIntoScriptValue):
42908        (WebCore::deserializeIDBValue):
42909        (WebCore::deserializeIDBValueBuffer):
42910        (WebCore::idbKeyToScriptValue):
42911        (WebCore::scriptValueToIDBKey):
42912        * bindings/js/IDBBindingUtilities.h:
42913        * bindings/js/JSBindingsAllInOne.cpp:
42914        * bindings/js/JSDictionary.cpp:
42915        (WebCore::JSDictionary::convertValue):
42916        * bindings/js/JSDictionary.h:
42917        * bindings/js/JSHTMLCanvasElementCustom.cpp:
42918        (WebCore::JSHTMLCanvasElement::getContext):
42919        * bindings/js/JSInjectedScriptHostCustom.cpp:
42920        (WebCore::InjectedScriptHost::scriptValueAsNode):
42921        (WebCore::InjectedScriptHost::nodeAsScriptValue):
42922        (WebCore::JSInjectedScriptHost::inspectedObject):
42923        (WebCore::JSInjectedScriptHost::inspect):
42924        * bindings/js/JSInjectedScriptManager.cpp:
42925        (WebCore::InjectedScriptManager::createInjectedScript):
42926        * bindings/js/JSMainThreadExecState.cpp:
42927        (WebCore::functionCallHandlerFromAnyThread):
42928        * bindings/js/JSMainThreadExecState.h:
42929        (WebCore::JSMainThreadExecState::currentState):
42930        * bindings/js/JSMessageEventCustom.cpp:
42931        (WebCore::JSMessageEvent::data):
42932        (WebCore::handleInitMessageEvent):
42933        * bindings/js/ScheduledAction.cpp:
42934        * bindings/js/ScriptCallStackFactory.cpp:
42935        (WebCore::createScriptArguments):
42936        * bindings/js/ScriptController.cpp:
42937        (WebCore::ScriptController::evaluateInWorld):
42938        (WebCore::ScriptController::evaluate):
42939        (WebCore::ScriptController::executeScriptInWorld):
42940        (WebCore::ScriptController::executeScript):
42941        (WebCore::ScriptController::executeIfJavaScriptURL):
42942        * bindings/js/ScriptController.h:
42943        * bindings/js/ScriptDebugServer.cpp:
42944        (WebCore::ScriptDebugServer::setScriptSource):
42945        (WebCore::ScriptDebugServer::updateCallStack):
42946        (WebCore::ScriptDebugServer::dispatchDidPause):
42947        (WebCore::ScriptDebugServer::runScript):
42948        * bindings/js/ScriptDebugServer.h:
42949        * bindings/js/ScriptGlobalObject.cpp: Renamed from Source/WebCore/bindings/js/ScriptObject.cpp.
42950        (WebCore::handleException):
42951        (WebCore::ScriptGlobalObject::set):
42952        (WebCore::ScriptGlobalObject::get):
42953        (WebCore::ScriptGlobalObject::remove):
42954        * bindings/js/ScriptGlobalObject.h: Copied from Source/WebCore/inspector/ScriptCallStack.h.
42955        (WebCore::ScriptGlobalObject::ScriptGlobalObject):
42956        * bindings/js/ScriptObject.h: Removed.
42957        * bindings/js/ScriptProfile.cpp:
42958        (WebCore::buildInspectorObjectFor):
42959        (WebCore::ScriptProfile::buildInspectorObjectForHead):
42960        (WebCore::ScriptProfile::buildInspectorObjectForBottomUpHead):
42961        * bindings/js/ScriptProfile.h:
42962        * bindings/js/ScriptProfiler.cpp:
42963        (WebCore::ScriptProfiler::objectByHeapObjectId):
42964        (WebCore::ScriptProfiler::getHeapObjectId):
42965        * bindings/js/ScriptProfiler.h:
42966        * bindings/js/ScriptState.h:
42967        * bindings/js/SerializedScriptValue.cpp:
42968        (WebCore::SerializedScriptValue::deserializeForInspector):
42969        (WebCore::SerializedScriptValue::serialize):
42970        (WebCore::SerializedScriptValue::deserialize):
42971        * bindings/js/SerializedScriptValue.h:
42972        * bindings/js/WorkerScriptController.cpp:
42973        (WebCore::WorkerScriptController::evaluate):
42974        (WebCore::WorkerScriptController::setException):
42975        * bindings/js/WorkerScriptController.h:
42976        * bindings/scripts/CodeGeneratorJS.pm:
42977        * bindings/scripts/test/JS/JSTestObj.cpp:
42978        (WebCore::setJSTestObjAnyAttribute):
42979        * dom/CustomEvent.cpp:
42980        (WebCore::CustomEvent::initCustomEvent):
42981        * dom/CustomEvent.h:
42982        (WebCore::CustomEvent::detail):
42983        * dom/MessageEvent.cpp:
42984        (WebCore::MessageEvent::MessageEvent):
42985        (WebCore::MessageEvent::initMessageEvent):
42986        * dom/MessageEvent.h:
42987        (WebCore::MessageEvent::create):
42988        (WebCore::MessageEvent::dataAsScriptValue):
42989        * dom/PopStateEvent.h:
42990        (WebCore::PopStateEvent::state):
42991        * dom/ScriptElement.cpp:
42992        * html/HTMLMediaElement.cpp:
42993        * html/parser/XSSAuditor.cpp:
42994        * html/parser/XSSAuditorDelegate.cpp:
42995        * inspector/CodeGeneratorInspector.py:
42996        (RawTypes.BaseType.get_raw_validator_call_text):
42997        (RawTypes.Object.get_array_item_raw_c_type_text):
42998        (RawTypes.Any.get_array_item_raw_c_type_text):
42999        (RawTypes.Array.get_array_item_raw_c_type_text):
43000        (CommandReturnPassModel.OptOutput.get_return_var_type):
43001        (CommandReturnPassModel.OptOutput.get_output_parameter_type):
43002        (TypeModel.ExactlyInt.get_input_param_type_text):
43003        (TypeModel.ExactlyInt.get_opt_output_type_):
43004        (TypeModel.init_class):
43005        (TypeBindings.create_named_type_declaration.Helper):
43006        (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.generate_type_builder):
43007        (TypeBindings.create_type_declaration_.EnumBinding.get_setter_value_expression_pattern):
43008        (TypeBindings.create_type_declaration_.ClassBinding.get_code_generator.CodeGenerator.generate_type_builder):
43009        (Inspector):
43010        (ArrayBinding.get_array_item_c_type_text):
43011        (Generator.go):
43012        (Generator.process_command):
43013        * inspector/CodeGeneratorInspectorStrings.py:
43014        (void):
43015        (InspectorFrontend_h):
43016        (InspectorBackendDispatchers_h):
43017        * inspector/ConsoleMessage.cpp:
43018        (WebCore::messageSourceValue):
43019        (WebCore::messageTypeValue):
43020        (WebCore::messageLevelValue):
43021        (WebCore::ConsoleMessage::addToFrontend):
43022        * inspector/ConsoleMessage.h:
43023        * inspector/ContentSearchUtils.cpp:
43024        (WebCore::ContentSearchUtils::buildObjectForSearchMatch):
43025        (WebCore::ContentSearchUtils::searchInTextByLines):
43026        * inspector/ContentSearchUtils.h:
43027        * inspector/InjectedScript.cpp:
43028        (WebCore::InjectedScript::InjectedScript):
43029        (WebCore::InjectedScript::evaluate):
43030        (WebCore::InjectedScript::callFunctionOn):
43031        (WebCore::InjectedScript::evaluateOnCallFrame):
43032        (WebCore::InjectedScript::getFunctionDetails):
43033        (WebCore::InjectedScript::getProperties):
43034        (WebCore::InjectedScript::getInternalProperties):
43035        (WebCore::InjectedScript::nodeForObjectId):
43036        (WebCore::InjectedScript::releaseObject):
43037        (WebCore::InjectedScript::wrapCallFrames):
43038        (WebCore::InjectedScript::wrapObject):
43039        (WebCore::InjectedScript::wrapTable):
43040        (WebCore::InjectedScript::wrapNode):
43041        (WebCore::InjectedScript::findObjectById):
43042        (WebCore::InjectedScript::inspectNode):
43043        (WebCore::InjectedScript::releaseObjectGroup):
43044        (WebCore::InjectedScript::nodeAsScriptValue):
43045        * inspector/InjectedScript.h:
43046        * inspector/InjectedScriptBase.cpp:
43047        (WebCore::InjectedScriptBase::InjectedScriptBase):
43048        (WebCore::InjectedScriptBase::initialize):
43049        (WebCore::InjectedScriptBase::injectedScriptObject):
43050        (WebCore::InjectedScriptBase::callFunctionWithEvalEnabled):
43051        (WebCore::InjectedScriptBase::makeCall):
43052        (WebCore::InjectedScriptBase::makeEvalCall):
43053        * inspector/InjectedScriptBase.h:
43054        * inspector/InjectedScriptCanvasModule.cpp:
43055        (WebCore::InjectedScriptCanvasModule::wrapCanvas2DContext):
43056        (WebCore::InjectedScriptCanvasModule::wrapWebGLContext):
43057        (WebCore::InjectedScriptCanvasModule::callWrapContextFunction):
43058        (WebCore::InjectedScriptCanvasModule::markFrameEnd):
43059        (WebCore::InjectedScriptCanvasModule::callStartCapturingFunction):
43060        (WebCore::InjectedScriptCanvasModule::callVoidFunctionWithTraceLogIdArgument):
43061        (WebCore::InjectedScriptCanvasModule::traceLog):
43062        (WebCore::InjectedScriptCanvasModule::replayTraceLog):
43063        (WebCore::InjectedScriptCanvasModule::resourceInfo):
43064        (WebCore::InjectedScriptCanvasModule::resourceState):
43065        * inspector/InjectedScriptCanvasModule.h:
43066        * inspector/InjectedScriptHost.cpp:
43067        (WebCore::InjectedScriptHost::inspectImpl):
43068        (WebCore::InjectedScriptHost::InspectableObject::get):
43069        * inspector/InjectedScriptHost.h:
43070        * inspector/InjectedScriptManager.cpp:
43071        (WebCore::InjectedScriptManager::injectedScriptFor):
43072        * inspector/InjectedScriptManager.h:
43073        * inspector/InjectedScriptModule.cpp:
43074        (WebCore::InjectedScriptModule::ensureInjected):
43075        * inspector/InspectorAgent.cpp:
43076        (WebCore::InspectorAgent::InspectorAgent):
43077        (WebCore::InspectorAgent::didCreateFrontendAndBackend):
43078        (WebCore::InspectorAgent::inspect):
43079        * inspector/InspectorAgent.h:
43080        * inspector/InspectorAllInOne.cpp:
43081        * inspector/InspectorApplicationCacheAgent.cpp:
43082        (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
43083        (WebCore::InspectorApplicationCacheAgent::didCreateFrontendAndBackend):
43084        (WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
43085        (WebCore::InspectorApplicationCacheAgent::getApplicationCacheForFrame):
43086        (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCache):
43087        (WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources):
43088        (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource):
43089        * inspector/InspectorApplicationCacheAgent.h:
43090        * inspector/InspectorCSSAgent.cpp:
43091        (WebCore::SelectorProfile::toInspectorObject):
43092        (WebCore::InspectorCSSAgent::InspectorCSSAgent):
43093        (WebCore::InspectorCSSAgent::didCreateFrontendAndBackend):
43094        (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
43095        (WebCore::InspectorCSSAgent::getInlineStylesForNode):
43096        (WebCore::InspectorCSSAgent::getComputedStyleForNode):
43097        (WebCore::InspectorCSSAgent::getAllStyleSheets):
43098        (WebCore::InspectorCSSAgent::getStyleSheet):
43099        (WebCore::InspectorCSSAgent::setStyleText):
43100        (WebCore::InspectorCSSAgent::setPropertyText):
43101        (WebCore::InspectorCSSAgent::toggleProperty):
43102        (WebCore::InspectorCSSAgent::setRuleSelector):
43103        (WebCore::InspectorCSSAgent::addRule):
43104        (WebCore::InspectorCSSAgent::getSupportedCSSProperties):
43105        (WebCore::InspectorCSSAgent::getNamedFlowCollection):
43106        (WebCore::InspectorCSSAgent::stopSelectorProfiler):
43107        (WebCore::InspectorCSSAgent::stopSelectorProfilerImpl):
43108        (WebCore::InspectorCSSAgent::asInspectorStyleSheet):
43109        (WebCore::InspectorCSSAgent::collectStyleSheets):
43110        (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
43111        (WebCore::InspectorCSSAgent::detectOrigin):
43112        (WebCore::InspectorCSSAgent::buildObjectForRule):
43113        (WebCore::InspectorCSSAgent::buildArrayForRuleList):
43114        (WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):
43115        (WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):
43116        (WebCore::InspectorCSSAgent::buildArrayForRegions):
43117        (WebCore::InspectorCSSAgent::buildObjectForNamedFlow):
43118        * inspector/InspectorCSSAgent.h:
43119        * inspector/InspectorCanvasAgent.cpp:
43120        (WebCore::InspectorCanvasAgent::InspectorCanvasAgent):
43121        (WebCore::InspectorCanvasAgent::didCreateFrontendAndBackend):
43122        (WebCore::InspectorCanvasAgent::wrapCanvas2DRenderingContextForInstrumentation):
43123        (WebCore::InspectorCanvasAgent::wrapWebGLRenderingContextForInstrumentation):
43124        (WebCore::InspectorCanvasAgent::notifyRenderingContextWasWrapped):
43125        (WebCore::InspectorCanvasAgent::injectedScriptCanvasModule):
43126        * inspector/InspectorCanvasAgent.h:
43127        * inspector/InspectorCanvasInstrumentation.h:
43128        (WebCore::InspectorInstrumentation::wrapCanvas2DRenderingContextForInstrumentation):
43129        (WebCore::InspectorInstrumentation::wrapWebGLRenderingContextForInstrumentation):
43130        * inspector/InspectorClient.cpp:
43131        * inspector/InspectorClient.h:
43132        * inspector/InspectorConsoleAgent.cpp:
43133        (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
43134        (WebCore::InspectorConsoleAgent::didCreateFrontendAndBackend):
43135        (WebCore::InspectableHeapObject::get):
43136        * inspector/InspectorConsoleAgent.h:
43137        * inspector/InspectorController.cpp:
43138        * inspector/InspectorController.h:
43139        * inspector/InspectorDOMAgent.cpp:
43140        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
43141        (WebCore::InspectorDOMAgent::didCreateFrontendAndBackend):
43142        (WebCore::InspectorDOMAgent::getDocument):
43143        (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
43144        (WebCore::InspectorDOMAgent::querySelectorAll):
43145        (WebCore::InspectorDOMAgent::pushNodePathToFrontend):
43146        (WebCore::InspectorDOMAgent::getEventListenersForNode):
43147        (WebCore::InspectorDOMAgent::getSearchResults):
43148        (WebCore::InspectorDOMAgent::resolveNode):
43149        (WebCore::InspectorDOMAgent::getAttributes):
43150        (WebCore::InspectorDOMAgent::buildObjectForNode):
43151        (WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
43152        (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
43153        (WebCore::InspectorDOMAgent::buildObjectForEventListener):
43154        (WebCore::InspectorDOMAgent::didCommitLoad):
43155        (WebCore::InspectorDOMAgent::didInsertDOMNode):
43156        (WebCore::InspectorDOMAgent::styleAttributeInvalidated):
43157        * inspector/InspectorDOMAgent.h:
43158        * inspector/InspectorDOMDebuggerAgent.cpp:
43159        (WebCore::InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent):
43160        (WebCore::InspectorDOMDebuggerAgent::didCreateFrontendAndBackend):
43161        (WebCore::InspectorDOMDebuggerAgent::descriptionForDOMEvent):
43162        * inspector/InspectorDOMDebuggerAgent.h:
43163        * inspector/InspectorDOMStorageAgent.cpp:
43164        (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
43165        (WebCore::InspectorDOMStorageAgent::didCreateFrontendAndBackend):
43166        (WebCore::InspectorDOMStorageAgent::getDOMStorageItems):
43167        (WebCore::InspectorDOMStorageAgent::storageId):
43168        (WebCore::InspectorDOMStorageAgent::didDispatchDOMStorageEvent):
43169        * inspector/InspectorDOMStorageAgent.h:
43170        * inspector/InspectorDatabaseAgent.cpp:
43171        (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
43172        (WebCore::InspectorDatabaseAgent::didCreateFrontendAndBackend):
43173        (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
43174        * inspector/InspectorDatabaseAgent.h:
43175        * inspector/InspectorDatabaseResource.cpp:
43176        (WebCore::InspectorDatabaseResource::bind):
43177        * inspector/InspectorDebuggerAgent.cpp:
43178        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
43179        (WebCore::InspectorDebuggerAgent::didCreateFrontendAndBackend):
43180        (WebCore::breakpointActionTypeForString):
43181        (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
43182        (WebCore::InspectorDebuggerAgent::setBreakpoint):
43183        (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
43184        (WebCore::scriptToInspectorObject):
43185        (WebCore::InspectorDebuggerAgent::searchInContent):
43186        (WebCore::InspectorDebuggerAgent::setScriptSource):
43187        (WebCore::InspectorDebuggerAgent::getFunctionDetails):
43188        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
43189        (WebCore::InspectorDebuggerAgent::compileScript):
43190        (WebCore::InspectorDebuggerAgent::runScript):
43191        (WebCore::InspectorDebuggerAgent::currentCallFrames):
43192        (WebCore::InspectorDebuggerAgent::didParseSource):
43193        (WebCore::InspectorDebuggerAgent::didPause):
43194        (WebCore::InspectorDebuggerAgent::didContinue):
43195        (WebCore::InspectorDebuggerAgent::clear):
43196        * inspector/InspectorDebuggerAgent.h:
43197        * inspector/InspectorForwarding.h:
43198        * inspector/InspectorFrontendClientLocal.cpp:
43199        (WebCore::InspectorFrontendClientLocal::evaluateAsBoolean):
43200        * inspector/InspectorFrontendHost.cpp:
43201        (WebCore::FrontendMenuProvider::create):
43202        (WebCore::FrontendMenuProvider::disconnect):
43203        (WebCore::FrontendMenuProvider::FrontendMenuProvider):
43204        (WebCore::FrontendMenuProvider::contextMenuItemSelected):
43205        (WebCore::FrontendMenuProvider::contextMenuCleared):
43206        (WebCore::InspectorFrontendHost::showContextMenu):
43207        * inspector/InspectorHeapProfilerAgent.cpp:
43208        (WebCore::InspectorHeapProfilerAgent::InspectorHeapProfilerAgent):
43209        (WebCore::InspectorHeapProfilerAgent::didCreateFrontendAndBackend):
43210        (WebCore::InspectorHeapProfilerAgent::createSnapshotHeader):
43211        (WebCore::InspectorHeapProfilerAgent::getProfileHeaders):
43212        (WebCore::InspectorHeapProfilerAgent::getObjectByHeapObjectId):
43213        (WebCore::InspectorHeapProfilerAgent::getHeapObjectId):
43214        * inspector/InspectorHeapProfilerAgent.h:
43215        * inspector/InspectorIndexedDBAgent.cpp:
43216        (WebCore::InspectorIndexedDBAgent::InspectorIndexedDBAgent):
43217        (WebCore::InspectorIndexedDBAgent::didCreateFrontendAndBackend):
43218        * inspector/InspectorIndexedDBAgent.h:
43219        * inspector/InspectorInputAgent.cpp:
43220        (WebCore::InspectorInputAgent::InspectorInputAgent):
43221        (WebCore::InspectorInputAgent::didCreateFrontendAndBackend):
43222        * inspector/InspectorInputAgent.h:
43223        * inspector/InspectorInstrumentation.cpp:
43224        * inspector/InspectorInstrumentation.h:
43225        * inspector/InspectorLayerTreeAgent.cpp:
43226        (WebCore::InspectorLayerTreeAgent::InspectorLayerTreeAgent):
43227        (WebCore::InspectorLayerTreeAgent::didCreateFrontendAndBackend):
43228        (WebCore::InspectorLayerTreeAgent::layersForNode):
43229        (WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderObjectHierarchy):
43230        (WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderLayerHierarchy):
43231        (WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
43232        (WebCore::InspectorLayerTreeAgent::buildObjectForIntRect):
43233        (WebCore::InspectorLayerTreeAgent::reasonsForCompositingLayer):
43234        * inspector/InspectorLayerTreeAgent.h:
43235        * inspector/InspectorMemoryAgent.cpp:
43236        (WebCore::InspectorMemoryAgent::didCreateFrontendAndBackend):
43237        (WebCore::InspectorMemoryAgent::InspectorMemoryAgent):
43238        * inspector/InspectorMemoryAgent.h:
43239        * inspector/InspectorOverlay.cpp:
43240        * inspector/InspectorOverlay.h:
43241        * inspector/InspectorPageAgent.cpp:
43242        (WebCore::InspectorPageAgent::resourceTypeJson):
43243        (WebCore::InspectorPageAgent::cachedResourceTypeJson):
43244        (WebCore::InspectorPageAgent::InspectorPageAgent):
43245        (WebCore::InspectorPageAgent::didCreateFrontendAndBackend):
43246        (WebCore::buildObjectForCookie):
43247        (WebCore::buildArrayForCookies):
43248        (WebCore::InspectorPageAgent::getCookies):
43249        (WebCore::InspectorPageAgent::getResourceTree):
43250        (WebCore::InspectorPageAgent::searchInResource):
43251        (WebCore::buildObjectForSearchResult):
43252        (WebCore::InspectorPageAgent::searchInResources):
43253        (WebCore::InspectorPageAgent::buildObjectForFrame):
43254        (WebCore::InspectorPageAgent::buildObjectForFrameTree):
43255        * inspector/InspectorPageAgent.h:
43256        * inspector/InspectorProfilerAgent.cpp:
43257        (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
43258        (WebCore::InspectorProfilerAgent::createProfileHeader):
43259        (WebCore::InspectorProfilerAgent::createSnapshotHeader):
43260        (WebCore::InspectorProfilerAgent::getProfileHeaders):
43261        (WebCore::InspectorProfilerAgent::getCPUProfile):
43262        (WebCore::InspectorProfilerAgent::didCreateFrontendAndBackend):
43263        (WebCore::InspectorProfilerAgent::getObjectByHeapObjectId):
43264        (WebCore::InspectorProfilerAgent::getHeapObjectId):
43265        * inspector/InspectorProfilerAgent.h:
43266        * inspector/InspectorResourceAgent.cpp:
43267        (WebCore::InspectorResourceAgent::didCreateFrontendAndBackend):
43268        (WebCore::buildObjectForTiming):
43269        (WebCore::buildObjectForResourceRequest):
43270        (WebCore::buildObjectForResourceResponse):
43271        (WebCore::buildObjectForCachedResource):
43272        (WebCore::InspectorResourceAgent::willSendRequest):
43273        (WebCore::InspectorResourceAgent::didReceiveResponse):
43274        (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
43275        (WebCore::InspectorResourceAgent::buildInitiatorObject):
43276        (WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
43277        (WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
43278        (WebCore::InspectorResourceAgent::didReceiveWebSocketFrame):
43279        (WebCore::InspectorResourceAgent::didSendWebSocketFrame):
43280        (WebCore::InspectorResourceAgent::InspectorResourceAgent):
43281        * inspector/InspectorResourceAgent.h:
43282        * inspector/InspectorRuntimeAgent.cpp:
43283        (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
43284        (WebCore::buildErrorRangeObject):
43285        (WebCore::InspectorRuntimeAgent::parse):
43286        (WebCore::InspectorRuntimeAgent::evaluate):
43287        (WebCore::InspectorRuntimeAgent::callFunctionOn):
43288        (WebCore::InspectorRuntimeAgent::getProperties):
43289        * inspector/InspectorRuntimeAgent.h:
43290        * inspector/InspectorStyleSheet.cpp:
43291        (WebCore::buildSourceRangeObject):
43292        (WebCore::buildMediaObject):
43293        (WebCore::fillMediaListChain):
43294        (WebCore::InspectorStyle::buildObjectForStyle):
43295        (WebCore::InspectorStyle::buildArrayForComputedStyle):
43296        (WebCore::InspectorStyle::styleWithProperties):
43297        (WebCore::InspectorStyleSheet::create):
43298        (WebCore::InspectorStyleSheet::InspectorStyleSheet):
43299        (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
43300        (WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo):
43301        (WebCore::selectorsFromSource):
43302        (WebCore::InspectorStyleSheet::buildObjectForSelectorList):
43303        (WebCore::InspectorStyleSheet::buildObjectForRule):
43304        (WebCore::InspectorStyleSheet::buildObjectForStyle):
43305        (WebCore::InspectorStyleSheet::resourceStyleSheetText):
43306        (WebCore::InspectorStyleSheet::buildArrayForRuleList):
43307        (WebCore::InspectorStyleSheetForInlineStyle::create):
43308        (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
43309        * inspector/InspectorStyleSheet.h:
43310        (WebCore::InspectorCSSId::InspectorCSSId):
43311        (WebCore::InspectorStyleSheet::canBind):
43312        * inspector/InspectorStyleTextEditor.cpp:
43313        * inspector/InspectorTimelineAgent.cpp:
43314        (WebCore::InspectorTimelineAgent::didCreateFrontendAndBackend):
43315        (WebCore::toProtocol):
43316        (WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
43317        (WebCore::InspectorTimelineAgent::setDOMCounters):
43318        (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
43319        (WebCore::InspectorTimelineAgent::sendEvent):
43320        * inspector/InspectorTimelineAgent.h:
43321        (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
43322        * inspector/InspectorWebAgentBase.h: Renamed from Source/WebCore/inspector/InspectorAgentRegistry.h.
43323        (WebCore::InspectorAgentBase::InspectorAgentBase):
43324        * inspector/InspectorWorkerAgent.cpp:
43325        (WebCore::InspectorWorkerAgent::InspectorWorkerAgent):
43326        (WebCore::InspectorWorkerAgent::didCreateFrontendAndBackend):
43327        * inspector/InspectorWorkerAgent.h:
43328        * inspector/InstrumentingAgents.cpp:
43329        * inspector/NetworkResourcesData.cpp:
43330        * inspector/PageConsoleAgent.cpp:
43331        (WebCore::InspectableNode::get):
43332        * inspector/PageDebuggerAgent.cpp:
43333        * inspector/PageDebuggerAgent.h:
43334        * inspector/PageRuntimeAgent.cpp:
43335        (WebCore::PageRuntimeAgent::didCreateFrontendAndBackend):
43336        * inspector/PageRuntimeAgent.h:
43337        * inspector/ScriptArguments.cpp:
43338        (WebCore::ScriptArguments::create):
43339        (WebCore::ScriptArguments::ScriptArguments):
43340        (WebCore::ScriptArguments::argumentAt):
43341        (WebCore::ScriptArguments::getFirstArgumentAsString):
43342        * inspector/ScriptArguments.h:
43343        * inspector/ScriptCallFrame.cpp:
43344        (WebCore::ScriptCallFrame::buildInspectorObject):
43345        * inspector/ScriptCallFrame.h:
43346        * inspector/ScriptCallStack.cpp:
43347        (WebCore::ScriptCallStack::buildInspectorArray):
43348        * inspector/ScriptCallStack.h:
43349        * inspector/ScriptDebugListener.h:
43350        * inspector/TimelineRecordFactory.cpp:
43351        * inspector/TimelineRecordFactory.h:
43352        (WebCore::TimelineRecordFactory::createWebSocketCreateData):
43353        (WebCore::TimelineRecordFactory::createGenericWebSocketData):
43354        * inspector/WorkerConsoleAgent.cpp:
43355        * inspector/WorkerDebuggerAgent.cpp:
43356        * inspector/WorkerInspectorController.cpp:
43357        * inspector/WorkerInspectorController.h:
43358        * inspector/WorkerRuntimeAgent.cpp:
43359        (WebCore::WorkerRuntimeAgent::didCreateFrontendAndBackend):
43360        * inspector/WorkerRuntimeAgent.h:
43361        * page/Console.cpp:
43362        * page/ContentSecurityPolicy.cpp:
43363        * page/Frame.cpp:
43364        * page/PageConsole.cpp:
43365        * plugins/PluginView.cpp:
43366        (WebCore::PluginView::performRequest):
43367        * testing/Internals.cpp:
43368        (WebCore::Internals::parserMetaData):
43369        * testing/Internals.h:
43370        * workers/SharedWorkerGlobalScope.cpp:
43371        (WebCore::createConnectEvent):
43372        * workers/WorkerGlobalScope.cpp:
43373        (WebCore::WorkerGlobalScope::importScripts):
43374        * workers/WorkerThread.cpp:
43375        * xml/XMLTreeViewer.cpp:
43376        * xml/parser/XMLDocumentParser.cpp:
43377        * xml/parser/XMLDocumentParserLibxml2.cpp:
43378
433792013-12-11  Laszlo Vidacs  <lac@inf.u-szeged.hu>
43380
43381        Store SHA1 hash in std::array
43382        https://bugs.webkit.org/show_bug.cgi?id=125446
43383
43384        Reviewed by Darin Adler.
43385
43386        Change Vector to std::array and use typedef.
43387
43388        * Modules/websockets/WebSocketHandshake.cpp:
43389        (WebCore::WebSocketHandshake::getExpectedWebSocketAccept):
43390        * inspector/DOMPatchSupport.cpp:
43391        (WebCore::DOMPatchSupport::createDigest):
43392        * platform/network/soup/ResourceHandleSoup.cpp:
43393        (WebCore::HostTLSCertificateSet::computeCertificateHash):
43394
433952013-12-11  Alexey Proskuryakov  <ap@apple.com>
43396
43397        WebCrypto keys should support structured clone
43398        https://bugs.webkit.org/show_bug.cgi?id=125590
43399
43400        Reviewed by Oliver Hunt.
43401
43402        Tests: crypto/subtle/aes-postMessage.html
43403               crypto/subtle/hmac-postMessage.html
43404               crypto/subtle/postMessage-worker.html
43405               crypto/subtle/rsa-postMessage.html
43406
43407        * crypto/CryptoAlgorithmIdentifier.h:
43408        (WebCore::CryptoAlgorithmIdentifier):
43409        * bindings/js/JSCryptoAlgorithmDictionary.cpp:
43410        (WebCore::JSCryptoAlgorithmDictionary::createParametersForEncrypt):
43411        (WebCore::JSCryptoAlgorithmDictionary::createParametersForDecrypt):
43412        (WebCore::JSCryptoAlgorithmDictionary::createParametersForSign):
43413        (WebCore::JSCryptoAlgorithmDictionary::createParametersForVerify):
43414        (WebCore::JSCryptoAlgorithmDictionary::createParametersForDigest):
43415        (WebCore::JSCryptoAlgorithmDictionary::createParametersForGenerateKey):
43416        (WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveKey):
43417        (WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveBits):
43418        (WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey):
43419        (WebCore::JSCryptoAlgorithmDictionary::createParametersForExportKey):
43420        AES_KW was added to WebCrypto spec editor's draft yesterday night. Now that we're
43421        adding a matching enum for structired clone serialization, it's as good a time as
43422        any to update the order of values to match.
43423
43424        * bindings/js/SerializedScriptValue.cpp:
43425        (WebCore::countUsages):
43426        (WebCore::CloneSerializer::dumpIfTerminal):
43427        (WebCore::CloneSerializer::write):
43428        (WebCore::CloneDeserializer::read):
43429        (WebCore::CloneDeserializer::readHMACKey):
43430        (WebCore::CloneDeserializer::readAESKey):
43431        (WebCore::CloneDeserializer::readRSAKey):
43432        (WebCore::CloneDeserializer::readCryptoKey):
43433        (WebCore::CloneDeserializer::readTerminal):
43434        Added serialization/deserialization for CryptoKey. This doesn't update version
43435        number, because we don't currently store structured clones in persistent storage -
43436        and even if we did, we wouldn't want to invalidate everything users already stored.
43437
43438        * crypto/CryptoAlgorithmRegistry.cpp:
43439        (WebCore::CryptoAlgorithmRegistry::shared):
43440        (WebCore::registryMutex):
43441        (WebCore::CryptoAlgorithmRegistry::getIdentifierForName):
43442        (WebCore::CryptoAlgorithmRegistry::nameForIdentifier):
43443        (WebCore::CryptoAlgorithmRegistry::create):
43444        (WebCore::CryptoAlgorithmRegistry::registerAlgorithm):
43445        * crypto/CryptoKey.idl:
43446        With structured clone, it is now possible to send a Key to a web worker. That's
43447        of no practical use because the crypto API is not exposed in workers, but we
43448        shouldn't crash anyway.
43449
43450        * crypto/keys/CryptoKeyAES.cpp:
43451        (WebCore::CryptoKeyAES::CryptoKeyAES):
43452        (WebCore::CryptoKeyAES::isValidAESAlgorithm):
43453        * crypto/keys/CryptoKeyAES.h:
43454        Exposed isValidAESAlgorithm, so that a caller could know whether the constructor
43455        will assert.
43456
43457        * CMakeLists.txt:
43458        * GNUmakefile.am:
43459        * WebCore.vcxproj/WebCore.vcxproj.filters:
43460        * WebCore.vcxproj/WebCoreCommon.props:
43461        Added crypto/keys to search paths to avoid build breakage.
43462
434632013-12-11  Bear Travis  <betravis@adobe.com>
43464
43465        Web Inspector: [CSS Shapes] Highlight margin-shape for shape-outside
43466        https://bugs.webkit.org/show_bug.cgi?id=125175
43467
43468        Reviewed by Darin Adler.
43469
43470        In addition to highlighting the shape, also highlight the shape created
43471        by shape-margin with a slightly more transparent color. This patch modifies
43472        the shape info passed to the Inspector Overlay to include a path for both
43473        the raw shape and the shape with margin.
43474
43475        Test: inspector-protocol/model/highlight-shape-outside-margin.html
43476
43477        * inspector/InspectorOverlay.cpp:
43478        (WebCore::buildObjectForShapeOutside): Call Shape::buildDisplayPaths rather than
43479        Shape::buildPath, and pass along any relevant paths to the Inspector overlay.
43480        * inspector/InspectorOverlayPage.js:
43481        (_drawShapeHighlight): Draw the margin shape in addition to the raw shape.
43482        * rendering/shapes/BoxShape.cpp:
43483        (WebCore::addRoundedRect): Add a rounded rect to the path.
43484        (WebCore::BoxShape::buildDisplayPaths): Create the applicable [margin/padding/raw] shapes.
43485        * rendering/shapes/BoxShape.h:
43486        * rendering/shapes/PolygonShape.cpp:
43487        (WebCore::addPolygon): Add a set of vertices as a polygon to the path.
43488        (WebCore::PolygonShape::buildDisplayPaths): Create the applicable [margin/padding/raw] shapes.
43489        * rendering/shapes/PolygonShape.h:
43490        * rendering/shapes/RasterShape.h:
43491        (WebCore::RasterShape::buildDisplayPaths): Ditto.
43492        * rendering/shapes/RectangleShape.cpp:
43493        (WebCore::RectangleShape::buildDisplayPaths): Ditto.
43494        * rendering/shapes/RectangleShape.h:
43495        * rendering/shapes/Shape.h:
43496
434972013-12-11  Mario Sanchez Prada  <mario.prada@samsung.com>
43498
43499        [ATK] Expose accessibility objects WAI-ARIA landmark roles
43500        https://bugs.webkit.org/show_bug.cgi?id=125584
43501
43502        Reviewed by Chris Fleizach.
43503
43504        Exposed accessibility objects with landmark roles with the proper
43505        AtkRole, to be provided by the next stable release of ATK.
43506
43507        * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
43508        (webkitAccessibleGetAttributes):
43509        (atkRole):
43510
435112013-12-11  José Dapena Paz  <jdapena@igalia.com> and Zan Dobersek  <zdobersek@igalia.com>
43512
43513        [GTK] Add a UPower-based BatteryProvider
43514        https://bugs.webkit.org/show_bug.cgi?id=115719
43515
43516        Reviewed by Martin Robinson.
43517
43518        Introduce the BatteryProviderUPower, a provider of the system's battery status that produces the information
43519        using the upower-glib library.
43520
43521        The BatteryProviderUPower creates a new UPower client when the provider should start emitting updates and hooks
43522        up to device alteration signals. These only fire recalculation of the battery status when a battery device is altered.
43523
43524        When recalculating, every battery device is taken into account, accumulating the energy capacities when both empty
43525        and full, the current rate of energy charging/discharging, and the battery status (whether the device is charging or
43526        discharging). This gives a set of data that covers the overall battery status of the system.
43527
43528        This data is then used to calculate the battery status as perceived by the WebCore implementation. Charging is determined
43529        by examining the integral sign of the current combined energy rate. Charging and discharging times are calculated, when
43530        appropriate, by dividing the chargable/dischargable capacity with the current combined energy rate. The battery level is
43531        calculated by dividing the current energy capacity with the full energy capacity (i.e. the combined capacity of all
43532        the batteries that the system possesses). The status is (indirectly) passed onto BatteryManager by invoking the
43533        updateBatteryStatus method on the client, with the first parameter representing the battery charging/discharging state,
43534        the second parameter representing the time left until the battery is fully charged (when charging) or fully
43535        depleted (when discharging), and the third parameter representing the current battery level.
43536
43537        Whenever the implementation cannot provide any information about the battery status of the system, the client's
43538        updateBatteryStatus method is invoked with the first parameter reporting the unavailability of any information
43539        about the battery status. The other two parameters can be omitted as they default to 0 when not given and are neither
43540        available nor useful in such circumstances. The client should handle such an update by reporting the 'default' battery
43541        status - charging, the battery level being at 1.0 and both the charging and discharging time having the value of
43542        the positive infinity (as per the Battery Status API specification).
43543
43544        The implementation is heavily inspired by a similar approach to calculating battery status in GNOME Settings Daemon.
43545
43546        No new tests - no new functionality. The feature is not yet enabled. When enabled, the relevant tests pass.
43547
43548        * GNUmakefile.list.am: Add the BatteryProviderUPower(Client) build targets.
43549        * platform/glib/BatteryProviderUPower.cpp: Added.
43550        (powerDeviceAlterationCallback):
43551        (BatteryProviderUPower::BatteryProviderUPower):
43552        (BatteryProviderUPower::startUpdating):
43553        (BatteryProviderUPower::stopUpdating):
43554        (BatteryProviderUPower::updateBatteryStatus):
43555        * platform/glib/BatteryProviderUPower.h: Added.
43556        (WebCore):
43557        (BatteryProviderUPower):
43558        * platform/glib/BatteryProviderUPowerClient.h: Added.
43559        (WebCore):
43560        (BatteryProviderUPowerClient):
43561
435622013-12-11  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
43563
43564        Improving createOffer and createAnswer LayoutTests
43565        https://bugs.webkit.org/show_bug.cgi?id=125568
43566
43567        Reviewed by Philippe Normand.
43568
43569        The constraints parameter should be optional in both. Also adding tests to check if we already have a local SDP
43570        when creating an answer.
43571
43572        Existing tests were updated.
43573
43574        * platform/mock/RTCPeerConnectionHandlerMock.cpp:
43575        (WebCore::RTCPeerConnectionHandlerMock::createOffer):
43576
435772013-12-11  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
43578
43579        [EFL] Fix build with CONTEXT_MENUS flag set OFF
43580        https://bugs.webkit.org/show_bug.cgi?id=125572
43581
43582        Reviewed by Gyuyoung Kim.
43583
43584        dispatchEventAsContextMenuEvent is called regardless of CONTEXT_MENUS flag setting,
43585        thus its definition in InspectorFrontendHost should not be guarded by this flag.
43586
43587        No new tests, no behaviour change.
43588
43589        * inspector/InspectorFrontendHost.cpp:
43590        (WebCore::InspectorFrontendHost::dispatchEventAsContextMenuEvent):
43591
435922013-12-11  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>
43593
43594        [CURL] Build fails after r160386.
43595        https://bugs.webkit.org/show_bug.cgi?id=125571
43596
43597        Reviewed by Zoltan Herczeg.
43598
43599        Need no new tests.
43600
43601        Fix a typo in commit r160386 that prevents building with curl.
43602
43603        * platform/network/curl/CurlCacheEntry.cpp:
43604        (WebCore::CurlCacheEntry::generateBaseFilename):
43605
436062013-12-11  Rob Buis  <rob.buis@samsung.com>
43607
43608        [CSS Shapes] Take into account fill-rule for polygon interpolation
43609        https://bugs.webkit.org/show_bug.cgi?id=125508
43610
43611        Reviewed by Dirk Schulze.
43612
43613        Implement the polygon fill-rule part of http://dev.w3.org/csswg/css-shapes/#basic-shape-interpolation.
43614
43615        Adapt fast/shapes/shape-outside-floats/shape-outside-animation.html.
43616
43617        * rendering/style/BasicShapes.cpp:
43618        (WebCore::BasicShape::canBlend):
43619
436202013-12-11  Mario Sanchez Prada  <mario.prada@samsung.com>
43621
43622        Programmatically-inserted children lack accessibility events
43623        https://bugs.webkit.org/show_bug.cgi?id=100275
43624
43625        Reviewed by Chris Fleizach.
43626
43627        Test: accessibility/children-changed-sends-notification.html
43628
43629        Emit children-changed::add and children-changed::remove whenever
43630        an object has been added/removed to the accessibility hierarchy,
43631        that is, when a new AtkObject is being attached/detached.
43632
43633        * accessibility/AXObjectCache.h: Added new enumeration to know
43634        when we are detaching a wrapper because of the cache or the
43635        element is being destroyed, so we can use that information.
43636        (WebCore::AXObjectCache::detachWrapper): Added a new parameter and
43637        updated all the prototypes in different ports.
43638        * accessibility/AXObjectCache.cpp:
43639        (WebCore::AXObjectCache::~AXObjectCache): Call detachWrapper()
43640        specifying that we do it because the cache is being destroyed.
43641        (WebCore::AXObjectCache::remove): Call detachWrapper() specifying
43642        that we do it because an accessible element is being destroyed.
43643
43644        * accessibility/atk/AXObjectCacheAtk.cpp:
43645        (WebCore::AXObjectCache::detachWrapper): Emit the children-changed
43646        signal when needed. We rely on the cached reference to the parent
43647        AtkObject (using the implementation of atk_object_get_parent from
43648        the AtkObject class) to find the right object to emit the signal
43649        from here, since the accessibility hierarchy from WebCore will no
43650        longer be accessible at this point.
43651        (WebCore::AXObjectCache::attachWrapper): Emit the children-change
43652        signal from here unless we are in the middle of a layout update,
43653        trying to provide as much information (e.g. the offset) as possible.
43654        (WebCore::AXObjectCache::postPlatformNotification): Make sure we
43655        update (touch) the subtree under an accessibility object whenever
43656        we receive AXChildrenChanded from WebCore, to ensure that those
43657        objects will also be visible rightaway to ATs, and that those get
43658        properly notified of the event at that very same moment.
43659
43660        * accessibility/ios/AXObjectCacheIOS.mm:
43661        (WebCore::AXObjectCache::detachWrapper): Updated function signature.
43662        * accessibility/mac/AXObjectCacheMac.mm:
43663        (WebCore::AXObjectCache::detachWrapper): Ditto.
43664        * accessibility/win/AXObjectCacheWin.cpp:
43665        (WebCore::AXObjectCache::detachWrapper): Ditto.
43666
436672013-12-11  Andreas Kling  <akling@apple.com>
43668
43669        REGRESSION(r160389): SVG test assertion extravaganza.
43670
43671        Unreviewed. Use getAttribute() instead of fastGetAttribute() for
43672        the "type" attribute since it's animatable on SVG elements.
43673
436742013-12-11  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
43675
43676        Set m_nextBreakablePosition as private in InlineIterator, and use it.
43677        https://bugs.webkit.org/show_bug.cgi?id=125482
43678
43679        Reviewed by Andreas Kling.
43680
43681        InlineIterator has been exported m_nextBreakablePosition as public though it is member variable.
43682        This patch set it as private, and add getter/setter functions for it.
43683
43684        No new tests, no behavior changes.
43685
43686        * rendering/InlineIterator.h:
43687        (WebCore::InlineIterator::InlineIterator):
43688        (WebCore::InlineIterator::nextBreakablePosition):
43689        (WebCore::InlineIterator::setNextBreakablePosition):
43690        * rendering/line/BreakingContextInlineHeaders.h:
43691        (WebCore::BreakingContext::handleText):
43692
436932013-12-10  Gurpreet Kaur  <k.gurpreet@samsung.com>
43694
43695        top and bottom black background line not getting displayed
43696        https://bugs.webkit.org/show_bug.cgi?id=21664
43697
43698        Reviewed by Simon Fraser.
43699
43700        The table cell's background was not being displayed. Since the table
43701        cell had no child correct offsetWidth was not being set even if table
43702        width is being defined.
43703
43704        Test: fast/dom/HTMLTableElement/empy-table-cell-with-background-color.html
43705
43706        * rendering/AutoTableLayout.cpp:
43707        (WebCore::AutoTableLayout::recalcColumn):
43708        cellHasContent should also be set to true incase background color is
43709        present.
43710
437112013-12-10  Beth Dakin  <bdakin@apple.com>
43712
43713        Horizontal rubber-banding without a horizontal scrollbar is distracting
43714        https://bugs.webkit.org/show_bug.cgi?id=125550
43715
43716        Reviewed by Simon Fraser.
43717
43718        Setting the ScrollElasticity to ScrollElasticityAutomatic will make sure we only 
43719        rubber-band horizontally when there is a horizontal scrollbar.
43720
43721        * page/FrameView.cpp:
43722        (WebCore::FrameView::FrameView):
43723
437242013-12-10  Martin Robinson  <mrobinson@igalia.com>
43725
43726        Correct a preprocessor guard from a mis-merged patch
43727
43728        In r160367, I mismerged a patch from Gustavo Noronha. This commit
43729        fixes the merge and thus fixes the CMake build.
43730
43731        * html/HTMLMediaElement.idl: Move the preprocessor guard to the correct property.
43732
437332013-12-10  Rob Buis  <rob.buis@samsung.com>
43734
43735        Clean up SVGScriptElement
43736        https://bugs.webkit.org/show_bug.cgi?id=125527
43737
43738        Reviewed by Sam Weinig.
43739
43740        Rewrite to not store type in m_type and also remove type getter/setter.
43741
43742        * svg/SVGScriptElement.cpp:
43743        (WebCore::SVGScriptElement::parseAttribute):
43744        (WebCore::SVGScriptElement::typeAttributeValue):
43745        * svg/SVGScriptElement.h:
43746        * svg/SVGScriptElement.idl:
43747
437482013-12-10  Laszlo Vidacs  <lac@inf.u-szeged.hu>
43749
43750        Use std::array when computing MD5 checksum
43751        https://bugs.webkit.org/show_bug.cgi?id=125509
43752
43753        Reviewed by Anders Carlsson.
43754
43755        Use MD5::Digest type and MD5::hashSize when computing MD5 checksum.
43756
43757        * platform/network/curl/CurlCacheEntry.cpp:
43758        (WebCore::CurlCacheEntry::generateBaseFilename):
43759
437602013-12-10  Mario Sanchez Prada  <mario.prada@samsung.com>
43761
43762        [ATK] Expose splitter elements with ATK_ROLE_SEPARATOR
43763        https://bugs.webkit.org/show_bug.cgi?id=125522
43764
43765        Reviewed by Chris Fleizach.
43766
43767        Expose objects with SplitterRole role as ATK_ROLE_SEPARATOR.
43768
43769        * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
43770        (atkRole):
43771
437722013-12-10  Mario Sanchez Prada  <mario.prada@samsung.com>
43773
43774        [ATK] Elements with role 'alertdialog' should be ATK_ROLE_ALERT
43775        https://bugs.webkit.org/show_bug.cgi?id=125521
43776
43777        Reviewed by Chris Fleizach.
43778
43779        Stop exposing alert dialogs as ATK_ROLE_DIALOG and do it as
43780        ATK_ROLE_ALERT instead.
43781
43782        * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
43783        (atkRole):
43784
437852013-12-10  Brendan Long  <b.long@cablelabs.com>
43786
43787        [GTK][GStreamer] media/video-preload.html is flakily crashing on WK2
43788        https://bugs.webkit.org/show_bug.cgi?id=125411
43789
43790        Reviewed by Philippe Normand.
43791
43792        No new tests because this fixes flakeyness in existing tests (media/video-preload.html, and various tests in media/track/{audio,in-band,video}).
43793
43794        * platform/graphics/gstreamer/TextCombinerGStreamer.cpp:
43795        (webkitTextCombinerPadGetProperty): Copy tag list to prevent concurrent modification problems.
43796        (webkitTextCombinerPadEvent): Add locking.
43797        * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
43798        (WebCore::TrackPrivateBaseGStreamer::TrackPrivateBaseGStreamer): Call tagsChanged() because we need it to setup m_tags.
43799        (WebCore::TrackPrivateBaseGStreamer::disconnect): Clear m_tags.
43800        (WebCore::TrackPrivateBaseGStreamer::tagsChanged): Lookup the tags while we're in this callback, because it's the only time we can guarantee that the input-selector won't unref them.
43801        (WebCore::TrackPrivateBaseGStreamer::notifyTrackOfTagsChanged): Use m_tags.
43802        * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h: Add m_tags and a mutex.
43803
438042013-12-10  László Langó  <lango@inf.u-szeged.hu>
43805
43806        PageConsole::addMessage should automatically determine column number alongside line number
43807        https://bugs.webkit.org/show_bug.cgi?id=114319
43808
43809        Reviewed by Joseph Pecoraro.
43810
43811        * dom/InlineStyleSheetOwner.cpp:
43812        (WebCore::InlineStyleSheetOwner::InlineStyleSheetOwner):
43813        * dom/ScriptElement.cpp:
43814        (WebCore::ScriptElement::ScriptElement):
43815        * dom/ScriptableDocumentParser.h:
43816        * dom/StyledElement.cpp:
43817        (WebCore::StyledElement::styleAttributeChanged):
43818        * html/parser/HTMLDocumentParser.cpp:
43819        (WebCore::HTMLDocumentParser::didReceiveParsedChunkFromBackgroundParser):
43820        (WebCore::HTMLDocumentParser::pumpPendingSpeculations):
43821        * html/parser/HTMLDocumentParser.h:
43822        * inspector/InspectorResourceAgent.cpp:
43823        (WebCore::InspectorResourceAgent::buildInitiatorObject):
43824        * page/Console.cpp:
43825        (WebCore::internalAddMessage):
43826        * page/PageConsole.cpp:
43827        (WebCore::PageConsole::printSourceURLAndPosition):
43828        (WebCore::PageConsole::addMessage):
43829        * page/PageConsole.h:
43830        * xml/parser/XMLDocumentParser.h:
43831        * xml/parser/XMLDocumentParserLibxml2.cpp:
43832        (WebCore::XMLDocumentParser::error):
43833
438342013-12-10  Andreas Kling  <akling@apple.com>
43835
43836        Jettison all StyleResolver data on memory pressure.
43837        <https://webkit.org/b/125498>
43838
43839        The StyleResolver can be rebuilt relatively quickly; we already
43840        have an optimization that discards it some time after last use.
43841
43842        If we find ourseles under serious memory pressure, don't wait for
43843        the timer to kick in, throw everything overboard right away.
43844
43845        ~5MB progression post-pressure on Membuster3.
43846
43847        Reviewed by Anders Carlsson.
43848
438492013-12-10  Martin Robinson  <mrobinson@igalia.com>
43850
43851        [GTK] [CMake] Add support for building the DOM bindings
43852        https://bugs.webkit.org/show_bug.cgi?id=116375
43853
43854        Reviewed by Gustavo Noronha Silva.
43855
43856        The CMake build is more complete than the autotools counterpart, so autotools doesn't consider
43857        some supplemental IDL attributes when building the DOM bindings. To prevent API breaks we should
43858        protect these attributes from DOM binding generation.
43859
43860        * Modules/battery/BatteryManager.idl: Protect non-GObject DOM bound methods by C preprocessor checks.
43861        * Modules/battery/NavigatorBattery.idl: Ditto.
43862        * Modules/mediastream/HTMLMediaElementMediaStream.idl: Ditto.
43863        * Modules/networkinfo/NavigatorNetworkInfoConnection.idl: Ditto.
43864        * Modules/networkinfo/NetworkInfoConnection.idl: Ditto.
43865        * PlatformGTK.cmake: Add build steps for building the bindings.
43866        * dom/Document.idl: Protect non-GObject DOM bound methods by C preprocessor checks.
43867        * html/HTMLMediaElement.idl: Ditto.
43868
438692013-12-10  Martin Robinson  <mrobinson@igalia.com>
43870
43871        Various fixes for the CMake GTK+ build
43872
43873        Reviewed by Gustavo Noronha.
43874
43875        * PlatformGTK.cmake: Update source list.
43876
438772013-12-10  Robert Sipka  <sipka@inf.u-szeged.hu>
43878
43879        [nix][curl] Buildfix after r160310
43880        https://bugs.webkit.org/show_bug.cgi?id=125489
43881
43882        Reviewed by Gustavo Noronha Silva.
43883
43884        Curl doesn't include soup files.
43885
43886        * PlatformNix.cmake:
43887
438882013-12-10  Gustavo Noronha Silva  <gns@gnome.org>
43889
43890        [GTK] REGRESSION: www.yahoo.com redirects to the mobile version after UA change
43891        https://bugs.webkit.org/show_bug.cgi?id=125444
43892
43893        Reviewed by Martin Robinson.
43894
43895        * platform/gtk/UserAgentGtk.cpp:
43896        (WebCore::platformVersionForUAString): more correctly pretend we're Mac OS X.
43897        (WebCore::standardUserAgent): ditto.
43898
438992013-12-09  Gustavo Noronha Silva  <gns@gnome.org>
43900
43901        [Soup] Send original encoded data size to didReceiveBuffer
43902        https://bugs.webkit.org/show_bug.cgi?id=125410
43903
43904        Reviewed by Martin Robinson.
43905
43906        No tests, the only way to test this seems to be through the inspector UI.
43907
43908        * platform/network/ResourceHandle.h:
43909        * platform/network/ResourceHandleInternal.h:
43910        (WebCore::ResourceHandleInternal::ResourceHandleInternal): data member to track stream
43911        position.
43912        * platform/network/soup/ResourceHandleSoup.cpp:
43913        (WebCore::ResourceHandle::currentStreamPosition): obtains the current stream position by querying
43914        the first seekable input stream we find.
43915        (WebCore::nextMultipartResponsePartCallback): store the position before we start reading a new part.
43916        (WebCore::sendRequestCallback): store the position before we start reading the response body.
43917        (WebCore::readCallback): pass the position delta to didReceiveData.
43918
439192013-12-09  Andreas Kling  <akling@apple.com>
43920
43921        Clear out font width measurement caches on memory pressure.
43922        <https://webkit.org/b/125481>
43923
43924        The data kept in WidthCaches can be regenerated on demand. Throwing
43925        it away when we're under memory pressure buys us ~4MB on Membuster3.
43926
43927        Reviewed by Antti Koivisto.
43928
439292013-12-09  Seokju Kwon  <seokju@webkit.org>
43930
43931        Web Inspector: Remove enabled() in InspectorRuntimeAgent.
43932        https://bugs.webkit.org/show_bug.cgi?id=125476
43933
43934        Reviewed by Joseph Pecoraro.
43935
43936        Dead code. It's never called anywhere.
43937
43938        No new tests, no behavior change.
43939
43940        * inspector/InspectorRuntimeAgent.h:
43941
439422013-12-09  Sam Weinig  <sam@webkit.org>
43943
43944        Replace use of WTF::FixedArray with std::array
43945        https://bugs.webkit.org/show_bug.cgi?id=125475
43946
43947        Reviewed by Anders Carlsson.
43948
43949        * crypto/parameters/CryptoAlgorithmAesCbcParams.h:
43950        * platform/graphics/GlyphMetricsMap.h:
43951
439522013-12-09  Benjamin Poulain  <bpoulain@apple.com>
43953
43954        Refactor the CFURLConnectionClient to be the synchronous implementation of an abstract network delegate
43955        https://bugs.webkit.org/show_bug.cgi?id=125379
43956
43957        Reviewed by Alexey Proskuryakov.
43958
43959        * WebCore.vcxproj/WebCore.vcxproj:
43960        * WebCore.vcxproj/WebCore.vcxproj.filters:
43961        * WebCore.xcodeproj/project.pbxproj:
43962        * platform/network/ResourceHandle.h:
43963        * platform/network/ResourceHandleInternal.h:
43964        * platform/network/cf/ResourceHandleCFNet.cpp:
43965        (WebCore::ResourceHandle::createCFURLConnection):
43966        * platform/network/cf/ResourceHandleCFURLConnectionDelegate.cpp: Added.
43967        (WebCore::ResourceHandleCFURLConnectionDelegate::ResourceHandleCFURLConnectionDelegate):
43968        (WebCore::ResourceHandleCFURLConnectionDelegate::~ResourceHandleCFURLConnectionDelegate):
43969        (WebCore::ResourceHandleCFURLConnectionDelegate::willSendRequestCallback):
43970        (WebCore::ResourceHandleCFURLConnectionDelegate::didReceiveResponseCallback):
43971        (WebCore::ResourceHandleCFURLConnectionDelegate::didReceiveDataCallback):
43972        (WebCore::ResourceHandleCFURLConnectionDelegate::didFinishLoadingCallback):
43973        (WebCore::ResourceHandleCFURLConnectionDelegate::didFailCallback):
43974        (WebCore::ResourceHandleCFURLConnectionDelegate::willCacheResponseCallback):
43975        (WebCore::ResourceHandleCFURLConnectionDelegate::didReceiveChallengeCallback):
43976        (WebCore::ResourceHandleCFURLConnectionDelegate::didSendBodyDataCallback):
43977        (WebCore::ResourceHandleCFURLConnectionDelegate::shouldUseCredentialStorageCallback):
43978        (WebCore::ResourceHandleCFURLConnectionDelegate::canRespondToProtectionSpaceCallback):
43979        (WebCore::ResourceHandleCFURLConnectionDelegate::didReceiveDataArrayCallback):
43980        (WebCore::ResourceHandleCFURLConnectionDelegate::makeConnectionClient):
43981        * platform/network/cf/ResourceHandleCFURLConnectionDelegate.h: Added.
43982        * platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp: Added.
43983        (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::SynchronousResourceHandleCFURLConnectionDelegate):
43984        (WebCore::synthesizeRedirectResponseIfNecessary):
43985        (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::willSendRequest):
43986        (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didReceiveResponse):
43987        (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didReceiveData):
43988        (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didFinishLoading):
43989        (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didFail):
43990        (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::willCacheResponse):
43991        (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didReceiveChallenge):
43992        (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didSendBodyData):
43993        (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::shouldUseCredentialStorageCallback):
43994        (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::canRespondToProtectionSpace):
43995        (WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didReceiveDataArray):
43996        * platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.h: Added.
43997
439982013-12-09  Ryosuke Niwa  <rniwa@webkit.org>
43999
44000        REGRESSION(r136280): input[type=image] should assume coords of 0,0 when activated without physically clicking
44001        https://bugs.webkit.org/show_bug.cgi?id=125392
44002
44003        Reviewed by Darin Adler.
44004
44005        Merge https://chromium.googlesource.com/chromium/blink/+/3c33d42207cd209bb171083ba66c225f694f2101
44006
44007        Activating an image button with the keyboard or element.click() should result in selected coords of (0,0) per
44008        http://www.w3.org/TR/2013/CR-html5-20130806/forms.html#image-button-state-(type=image)
44009        "If the user activates the control without explicitly selecting a coordinate, then the coordinate (0,0) must be assumed."
44010
44011        New behavior also matches that of Internet Explorer and Firefox.
44012
44013        Tests: fast/forms/input-image-submit.html
44014
44015        * html/ImageInputType.cpp:
44016        (WebCore::ImageInputType::handleDOMActivateEvent): Set m_clickLocation to (0, 0) for simulated events.
44017
440182013-12-09  Jer Noble  <jer.noble@apple.com>
44019
44020        [MSE] Add support for VideoPlaybackMetrics.
44021        https://bugs.webkit.org/show_bug.cgi?id=125380
44022
44023        Reviewed by Eric Carlson.
44024
44025        Test: media/media-source/media-source-video-playback-quality.html
44026
44027        Add a new object type VideoPlaybackQuality to be returned by
44028        HTMLMediaElement.getVideoPlaybackQuality().
44029
44030        HTMLMediaElements must separately track a droppedVideoFrame count, as
44031        certain operations on SourceBuffer will drop incoming frames, which must
44032        be accounted for. Reset this count when the media engine changes, which is
44033        indicitive of a new media load requset starting.
44034
44035        Add the new VideoPlaybackQuality class:
44036        * Modules/mediasource/VideoPlaybackQuality.cpp: Added.
44037        (WebCore::VideoPlaybackQuality::create):
44038        (WebCore::VideoPlaybackQuality::VideoPlaybackQuality):
44039        * Modules/mediasource/VideoPlaybackQuality.h: Added.
44040        (WebCore::VideoPlaybackQuality::creationTime):
44041        (WebCore::VideoPlaybackQuality::totalVideoFrames):
44042        (WebCore::VideoPlaybackQuality::droppedVideoFrames):
44043        (WebCore::VideoPlaybackQuality::corruptedVideoFrames):
44044        (WebCore::VideoPlaybackQuality::totalFrameDelay):
44045        * Modules/mediasource/VideoPlaybackQuality.idl: Added.
44046
44047        Add support for the new class to HTMLMediaElement:
44048        * html/HTMLMediaElement.cpp:
44049        (HTMLMediaElement::shouldUseVideoPluginProxy):
44050        (HTMLMediaElement::getVideoPlaybackQuality):
44051        * html/HTMLMediaElement.h:
44052        * html/HTMLMediaElement.idl:
44053
44054        Report the video quality metrics from the MediaPlayer:
44055        * platform/graphics/MediaPlayer.cpp:
44056        (WebCore::MediaPlayer::totalVideoFrames):
44057        (WebCore::MediaPlayer::droppedVideoFrames):
44058        (WebCore::MediaPlayer::corruptedVideoFrames):
44059        (WebCore::MediaPlayer::totalFrameDelay):
44060        * platform/graphics/MediaPlayer.h:
44061        * platform/graphics/MediaPlayerPrivate.h:
44062        (WebCore::MediaPlayerPrivateInterface::totalVideoFrames):
44063        (WebCore::MediaPlayerPrivateInterface::droppedVideoFrames):
44064        (WebCore::MediaPlayerPrivateInterface::corruptedVideoFrames):
44065        (WebCore::MediaPlayerPrivateInterface::totalFrameDelay):
44066
44067        Correctly report the dropped frame count:
44068        * Modules/mediasource/SourceBuffer.cpp:
44069        (WebCore::SourceBuffer::TrackBuffer::TrackBuffer): needsRandomAccessFlag defaults to true.
44070        (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample): Check the sync status of the incoming sample.
44071        (WebCore::SourceBuffer::didDropSample): Notify the media element of a dropped frame.
44072        * Modules/mediasource/SourceBuffer.h:
44073        * html/HTMLMediaElement.cpp:
44074        (WebCore::HTMLMediaElement::HTMLMediaElement):
44075        (HTMLMediaElement::mediaPlayerEngineUpdated): Reset m_droppedFrameCount.
44076        (HTMLMediaElement::getVideoPlaybackQuality): Return a new VideoPlaybackQuality object.
44077        * html/HTMLMediaElement.h:
44078        (WebCore::HTMLMediaElement::incrementDroppedFrameCount): Simple incrementer.
44079        * platform/MediaSample.h:
44080        (WebCore::MediaSample::isSync): Convenience function.
44081        (WebCore::MediaSample::isNonDisplaying): Ditto.
44082
44083        Add support in the AVFoundation MediaSource Engine:
44084        * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
44085        * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
44086        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::totalVideoFrames):
44087        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::droppedVideoFrames):
44088        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::corruptedVideoFrames):
44089        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::totalFrameDelay):
44090
44091        Add support in the Mock MediaSource Engine:
44092        * platform/mock/mediasource/MockBox.h:
44093        * platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:
44094        (WebCore::MockMediaPlayerMediaSource::totalVideoFrames): Simple accessor.
44095        (WebCore::MockMediaPlayerMediaSource::droppedVideoFrames): Ditto.
44096        (WebCore::MockMediaPlayerMediaSource::corruptedVideoFrames): Ditto.
44097        (WebCore::MockMediaPlayerMediaSource::totalFrameDelay): Ditto.
44098        * platform/mock/mediasource/MockMediaPlayerMediaSource.h:
44099        * platform/mock/mediasource/MockMediaSourcePrivate.cpp:
44100        (WebCore::MockMediaSourcePrivate::MockMediaSourcePrivate):
44101        * platform/mock/mediasource/MockMediaSourcePrivate.h:
44102        * platform/mock/mediasource/MockSourceBufferPrivate.cpp:
44103        (WebCore::MockSourceBufferPrivate::enqueueSample): Increment the frame counts based on
44104            the incoming sample.
44105        * platform/mock/mediasource/MockSourceBufferPrivate.h:
44106
44107        Add the new files to the project:
44108        * bindings/gobject/GNUmakefile.am:
44109        * DerivedSources.make:
44110        * WebCore.xcodeproj/project.pbxproj:
44111        * GNUMakefile.list.am:
44112        * CMakeLists.txt:
44113
441142013-12-09  Simon Fraser  <simon.fraser@apple.com>
44115
44116        Avoid divide by zero in scrollbar code, and protect against Obj-C exceptions
44117        https://bugs.webkit.org/show_bug.cgi?id=125469
44118        <rdar://problem/15535772>
44119
44120        Reviewed by Beth Dakin.
44121        
44122        In ScrollbarThemeMac::setPaintCharacteristicsForScrollbar(), proportion could
44123        end up as NaN if scrollbar->totalSize() were zero. Protect against that.
44124        
44125        Also wrap functions that call into Objective-C with BEGIN_BLOCK_OBJC_EXCEPTIONS/
44126        END_BLOCK_OBJC_EXCEPTIONS.
44127
44128        * platform/mac/ScrollbarThemeMac.mm:
44129        (WebCore::ScrollbarThemeMac::scrollbarThickness):
44130        (WebCore::ScrollbarThemeMac::updateScrollbarOverlayStyle):
44131        (WebCore::ScrollbarThemeMac::minimumThumbLength):
44132        (WebCore::ScrollbarThemeMac::updateEnabledState):
44133        (WebCore::ScrollbarThemeMac::setPaintCharacteristicsForScrollbar):
44134        (WebCore::scrollbarPainterPaint):
44135
441362013-12-09  Ryosuke Niwa  <rniwa@webkit.org>
44137
44138        Implement Document.cloneNode()
44139        https://bugs.webkit.org/show_bug.cgi?id=11646
44140
44141        Reviewed by Darin Adler.
44142
44143        Merge https://chromium.googlesource.com/chromium/blink/+/dc7879025e01d63be9fcf6a84ca6c9b8b5768a80
44144
44145        Implement the behavior specified in the current DOM4 working draft:
44146        http://www.w3.org/TR/2013/WD-dom-20131107/#dom-node-clonenode
44147
44148        Tests: fast/dom/Document/clone-node.html
44149               fast/dom/HTMLDocument/clone-node-quirks-mode.html
44150               svg/custom/clone-node.html
44151
44152        * dom/Document.cpp:
44153        (WebCore::Document::cloneNode):
44154        (WebCore::Document::cloneDocumentWithoutChildren):
44155        (WebCore::Document::cloneDataFromDocument):
44156        * dom/Document.h:
44157        * html/HTMLDocument.cpp:
44158        (WebCore::HTMLDocument::cloneDocumentWithoutChildren):
44159        * html/HTMLDocument.h:
44160        * svg/SVGDocument.cpp:
44161        (WebCore::SVGDocument::cloneDocumentWithoutChildren):
44162        * svg/SVGDocument.h:
44163
441642013-12-09  Andreas Kling  <akling@apple.com>
44165
44166        REGRESSION(r160260): Memory pressure signal causes web process to hang.
44167        <https://webkit.org/b/125465>
44168
44169        Reviewed by Tim Horton.
44170
44171        This command caused all of my web processes to hang:
44172
44173            notifyutil -p org.WebKit.lowMemory
44174
44175        This only happens when the cache pruning code encounters a resource
44176        using purgeable memory.
44177
44178        * loader/cache/MemoryCache.cpp:
44179        (WebCore::MemoryCache::pruneLiveResourcesToSize):
44180
44181            Grab the next CachedResource pointer before continuing the loop.
44182
441832013-12-09  peavo@outlook.com  <peavo@outlook.com>
44184
44185        [WinCairo] OpenGL compile error.
44186        https://bugs.webkit.org/show_bug.cgi?id=125383
44187
44188        Reviewed by Darin Adler.
44189
44190        * platform/graphics/opengl/Extensions3DOpenGLES.h: Define GL_HALF_FLOAT_ARB on Windows when OPENGL_ES_2 is used.
44191
441922013-12-09  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
44193
44194        Fix handling of 'inherit' and 'initial' for grid lines.
44195        https://bugs.webkit.org/show_bug.cgi?id=125223
44196
44197        Reviewed by Darin Adler.
44198
44199        'initial' and 'inherit' are always allowed values for CSS properties.
44200        As the CSSParser handles them automatically, those 2 values were never
44201        taken care of in StyleResolver, leading to crashes.
44202
44203        Added tests cases for 'inherit' and 'initial' to the following tests:
44204
44205        fast/css-grid-layout/grid-item-column-row-get-set.html
44206        fast/css-grid-layout/grid-item-end-after-get-set.html
44207        fast/css-grid-layout/grid-item-start-before-get-set.html
44208
44209        Patch backported from Blink: https://src.chromium.org/viewvc/blink?revision=149257&view=revision
44210
44211        * css/StyleResolver.cpp:
44212        (WebCore::StyleResolver::applyProperty):
44213        * rendering/style/RenderStyle.h:
44214        * rendering/style/StyleGridItemData.cpp:
44215        (WebCore::StyleGridItemData::StyleGridItemData):
44216
442172013-12-09  Joseph Pecoraro  <pecoraro@apple.com>
44218
44219        Web Inspector: Inspector.json and CodeGenerator tweaks
44220        https://bugs.webkit.org/show_bug.cgi?id=125321
44221
44222        Reviewed by Timothy Hatcher.
44223
44224        * inspector/protocol/Runtime.json:
44225        Runtime.js was depending on Network.FrameId. This is a layering
44226        violation, so ideally we can fix this later. For now, just copy
44227        the FrameId type into Runtime. They are strings so all is good.
44228
44229        * inspector/CodeGeneratorInspector.py:
44230        (Generator.EventMethodStructTemplate.append_epilog):
44231        * inspector/CodeGeneratorInspectorStrings.py:
44232        Improve --help usage information.
44233        Make the script work with a single domain json file.
44234        Add ASCIILiteral's where appropriate.
44235
442362013-12-09  Nick Diego Yamane  <nick.yamane@openbossa.org>
44237
44238        [Nix] Fix file name typo in PlatformNix.cmake
44239        https://bugs.webkit.org/show_bug.cgi?id=125457
44240
44241        Reviewed by Gustavo Noronha Silva.
44242
44243        Wrong file name introduced in http://trac.webkit.org/changeset/160310.
44244        * PlatformNix.cmake:
44245
442462013-12-09  Brendan Long  <b.long@cablelabs.com>
44247
44248        [GStreamer] Memory leak due to incorrect use of gst_tag_list_merge in TextCombinerGStreamer
44249        https://bugs.webkit.org/show_bug.cgi?id=125452
44250
44251        Reviewed by Philippe Normand.
44252
44253        No new tests because this fixes a memory leak.
44254
44255        * platform/graphics/gstreamer/TextCombinerGStreamer.cpp:
44256        (webkitTextCombinerPadEvent): Use gst_tag_list_insert instead of gst_tag_list_merge, since we don't want to create a new list.
44257
442582013-12-09  Chris Fleizach  <cfleizach@apple.com>
44259
44260        AX: WebKit ignores @alt on IMG elements with role="text"
44261        https://bugs.webkit.org/show_bug.cgi?id=125363
44262
44263        Reviewed by Mario Sanchez Prada.
44264
44265        If an <img> element has a different role, the alt attribute should still be used in the 
44266        name calculation if present.
44267
44268        Test: accessibility/alt-tag-on-image-with-nonimage-role.html
44269
44270        * accessibility/AccessibilityNodeObject.cpp:
44271        (WebCore::AccessibilityNodeObject::usesAltTagForTextComputation):
44272        (WebCore::AccessibilityNodeObject::alternativeText):
44273        (WebCore::AccessibilityNodeObject::accessibilityDescription):
44274        (WebCore::AccessibilityNodeObject::text):
44275        * accessibility/AccessibilityNodeObject.h:
44276
442772013-12-08  Martin Robinson  <mrobinson@igalia.com>
44278
44279        [WK2][Soup] Use didReceiveBuffer instead of didReceiveData
44280        https://bugs.webkit.org/show_bug.cgi?id=118598
44281
44282        Reviewed by Gustavo Noronha Silva.
44283
44284        Original patch by Kwang Yul Seo  <skyul@company100.net> and Csaba Osztrogonác  <ossy@webkit.org>.
44285
44286        Switch from using didReceiveData to didReceiveBuffer for the Soup backend and
44287        let SharedBuffer wrap a SoupBuffer. This is necessary because the NetworkProcess
44288        only supports getting data via SharedBuffer.
44289
44290        * GNUmakefile.list.am: Add the new SharedBufferSoup.cpp file to the list.
44291        * PlatformEfl.cmake:
44292        * PlatformGTK.cmake:
44293        * PlatformNix.cmake:
44294        * platform/SharedBuffer.cpp: We no longer used the no-op version of the platformFoo methods.
44295        * platform/SharedBuffer.h: Ditto.
44296        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:  Use didReceiveBuffer instead of didReceiveData.
44297        * platform/network/ResourceHandleInternal.h: Have only a m_soupBuffer member instead of three to manage the buffer.
44298        * platform/network/soup/GOwnPtrSoup.cpp: Add support for SoupBuffer.
44299        * platform/network/soup/GOwnPtrSoup.h: Ditto.
44300        * platform/network/soup/ResourceHandleSoup.cpp:
44301        (WebCore::WebCoreSynchronousLoader::didReceiveData): ASSERT_NOT_REACHED here, since it should never be
44302        called now.
44303        (WebCore::WebCoreSynchronousLoader::didReceiveBuffer): Handle this call properly.
44304        (WebCore::ResourceHandle::ensureReadBuffer): Now we package up our buffer into a SoupBuffer.
44305        (WebCore::redirectSkipCallback): Use the new m_soupBuffer member.
44306        (WebCore::cleanupSoupRequestOperation): Ditto.
44307        (WebCore::nextMultipartResponsePartCallback): Ditto.
44308        (WebCore::sendRequestCallback): Ditto.
44309        (WebCore::readCallback):
44310        * platform/soup/SharedBufferSoup.cpp: Added.
44311
443122013-12-09  Michal Poteralski  <m.poteralski@samsung.com>
44313
44314        DataCloneError exception is not thrown when postMessage's second parameter is the source
44315        port or the target port.
44316
44317        https://bugs.webkit.org/show_bug.cgi?id=124708
44318
44319        Reviewed by Alexey Proskuryakov.
44320
44321        According to specification:
44322        http://www.whatwg.org/specs/web-apps/current-work/multipage/web-messaging.html#dom-window-postmessage
44323
44324        If the method was invoked with a second argument transfer then if any of the objects in the
44325        transfer are either the source port or the target port (if any), then a DataCloneError
44326        exception should be thrown. Currently an InvalidStateError exception is thrown what is an
44327        incorrect behaviour.
44328
44329        The proposed solution is change to the correct the exception value.
44330
44331        Tests: fast/dom/Window/postMessage-clone-port-error.html
44332
44333        * dom/MessagePort.cpp:
44334        (WebCore::MessagePort::postMessage): Improve exception value
44335
443362013-12-09  Carlos Garcia Campos  <cgarcia@igalia.com>
44337
44338        Unreviewed. Fix the GTK+ build with NetworkProcess enabled.
44339
44340        * GNUmakefile.list.am: Add missing file to compilation.
44341
443422013-12-08  Ryosuke Niwa  <rniwa@webkit.org>
44343
44344        getComputedStyle border-radius shorthand omits vertical radius information
44345        https://bugs.webkit.org/show_bug.cgi?id=125394
44346
44347        Reviewed by Andreas Kling.
44348
44349        Merge https://chromium.googlesource.com/chromium/blink/+/4c2866855dddbb28bb7d978ad627acc368af23d0
44350
44351        getComputedStyle of border-radius shows the vertical radius components if they differ from their horizontal counterpants.
44352        We were incorrectly detecting this case and over simplifying the results of getComputedStyle.
44353        This patch ensures we only hide the vertical values if they are identical to the horizontal values.
44354
44355        * css/CSSComputedStyleDeclaration.cpp:
44356        (WebCore::getBorderRadiusShorthandValue):
44357
443582013-12-08  Carlos Garcia Campos  <cgarcia@igalia.com>
44359
44360        [GTK] Do not skip attributes with only custom setter
44361        https://bugs.webkit.org/show_bug.cgi?id=125417
44362
44363        Reviewed by Gustavo Noronha Silva.
44364
44365        For attributes with a custom setter, we now generate the code as a
44366        read-only attribute with a getter method, unless it also has a
44367        custom getter in which case the attribute is skipped.
44368
44369        * bindings/gobject/GNUmakefile.am: Generate WebKitDOMMediaController
44370        that is now required by an attribute having a custom setter.
44371        * bindings/gobject/WebKitDOMCustom.cpp: Remove methods that are now generated.
44372        * bindings/gobject/WebKitDOMCustom.h: Ditto.
44373        * bindings/gobject/WebKitDOMCustom.symbols: Ditto.
44374        * bindings/gobject/webkitdom.symbols: Add new symbols.
44375        * bindings/scripts/CodeGeneratorGObject.pm:
44376        (SkipAttribute): Do not skip attributes having a custom setter.
44377        (GetWriteableProperties): Do not include attributes having a
44378        custom setter.
44379        (GenerateProperty): Do not return early for attributes having
44380        custom setter.
44381        (GenerateFunctions): Do not generate setter for attributes having
44382        a custom setter.
44383
443842013-12-08  Carlos Garcia Campos  <cgarcia@igalia.com>
44385
44386        [GTK] Do not generate new dispatch_event methods marked as deprecated
44387        https://bugs.webkit.org/show_bug.cgi?id=125416
44388
44389        Reviewed by Gustavo Noronha Silva.
44390
44391        * bindings/scripts/CodeGeneratorGObject.pm:
44392        (SkipFunction): Skip dispatch_event methods for objects
44393        implementing EventTarget interface unless they are already
44394        deprecated.
44395        (GenerateFunction): Pass also the parentNode to SkipFunction().
44396
443972013-12-05  Jer Noble  <jer.noble@apple.com>
44398
44399        [MSE] Bring end-of-stream algorithm section up to current spec.
44400        https://bugs.webkit.org/show_bug.cgi?id=125270
44401
44402        Reviewed by Darin Adler.
44403
44404        Test: media/media-source/media-source-end-of-stream.html
44405
44406        Separate the "endOfStream()" method from the "end of stream algorithm".
44407
44408        * Modules/mediasource/MediaSource.cpp:
44409        (WebCore::SourceBufferIsUpdating): Added predicate function.
44410        (WebCore::MediaSource::endOfStream): Call streamEndedWithError().
44411        (WebCore::MediaSource::streamEndedWithError): Added.
44412        * Modules/mediasource/MediaSource.h:
44413        * Modules/mediasource/SourceBuffer.cpp:
44414        (WebCore::SourceBuffer::appendBufferTimerFired): Call streamEndedWithError().
44415        (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample): Ditto.
44416        * Modules/mediasource/SourceBuffer.h:
44417        * html/HTMLMediaElement.cpp:
44418        (HTMLMediaElement::mediaLoadingFailedFatally): Renamed from mediaEngineError.
44419        (HTMLMediaElement::mediaLoadingFailed): Call renamed method.
44420        * html/HTMLMediaElement.h:
44421        * platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:
44422        (WebCore::MediaSourcePrivateAVFObjC::markEndOfStream): Set load state to Loaded.
44423        * platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:
44424        (WebCore::MockMediaPlayerMediaSource::setNetworkState): Simple setter.
44425        * platform/mock/mediasource/MockMediaPlayerMediaSource.h:
44426        * platform/mock/mediasource/MockMediaSourcePrivate.cpp:
44427        (WebCore::MockMediaSourcePrivate::MockMediaSourcePrivate): Set the intitial duration to NaN.
44428        (WebCore::MockMediaSourcePrivate::markEndOfStream): Set load state to Loaded.
44429
444302013-12-04  Jer Noble  <jer.noble@apple.com>
44431
44432        [MSE][Mac] Crash when removing MediaSource from HTMLMediaElement.
44433        https://bugs.webkit.org/show_bug.cgi?id=125269
44434
44435        Reviewed by Sam Weinig.
44436
44437        Fixes the media/media-source/media-source-fastseek.html test when run with MallocScribble enabled.
44438
44439        It's possible for a SourceBufferPrivateAVFObjC to outlive its MediaSourcePrivateAVFObjC, so
44440        make sure to clear the pointer from the former to the latter when the latter is destroyed.
44441        That means we now have to check to see if the pointer to the latter is still valid at every
44442        call site.
44443
44444        As a drive-by fix, rename m_parent to m_mediaSource to more accurately reflect what the pointer
44445        points to.
44446
44447        * platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:
44448        (WebCore::MediaSourcePrivateAVFObjC::~MediaSourcePrivateAVFObjC): Clear the SourceBuffer's backpointer.
44449        * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
44450        (WebCore::SourceBufferPrivateAVFObjC::clearMediaSource): 
44451        * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
44452        (WebCore::SourceBufferPrivateAVFObjC::SourceBufferPrivateAVFObjC): Rename m_parent -> m_mediaSource.
44453        (WebCore::SourceBufferPrivateAVFObjC::append): Check m_mediaSource before calling.
44454        (WebCore::SourceBufferPrivateAVFObjC::removedFromMediaSource): Ditto.
44455        (WebCore::SourceBufferPrivateAVFObjC::readyState): Ditto.
44456        (WebCore::SourceBufferPrivateAVFObjC::setReadyState): Ditto.
44457        (WebCore::SourceBufferPrivateAVFObjC::trackDidChangeEnabled): Ditto.
44458        (WebCore::SourceBufferPrivateAVFObjC::flushAndEnqueueNonDisplayingSamples): Ditto.
44459        (WebCore::SourceBufferPrivateAVFObjC::enqueueSample): Ditto.
44460        (WebCore::SourceBufferPrivateAVFObjC::setActive): Ditto.
44461        * platform/mock/mediasource/MockMediaSourcePrivate.cpp:
44462        (WebCore::MockMediaSourcePrivate::~MockMediaSourcePrivate): Clear the SourceBuffer's backpointer.
44463        * platform/mock/mediasource/MockSourceBufferPrivate.cpp:
44464        (WebCore::MockSourceBufferPrivate::MockSourceBufferPrivate): Rename m_parent -> m_mediaSource.
44465        (WebCore::MockSourceBufferPrivate::removedFromMediaSource): Check m_mediaSource before calling.
44466        (WebCore::MockSourceBufferPrivate::readyState): Ditto.
44467        (WebCore::MockSourceBufferPrivate::setReadyState): Ditto.
44468        (WebCore::MockSourceBufferPrivate::setActive): Ditto.
44469        * platform/mock/mediasource/MockSourceBufferPrivate.h:
44470        (WebCore::MockSourceBufferPrivate::clearMediaSource):
44471
444722013-12-07  Zoltan Horvath  <zoltan@webkit.org>
44473
44474        Remove statusWithDirection static function from RenderBlockLineLayout
44475        https://bugs.webkit.org/show_bug.cgi?id=125372
44476
44477        Reviewed by Andreas Kling.
44478
44479        I run into a FIXME about using BidiStatus constructor rather than statusWithDirection,
44480        once it's implemented. BidiStatus has got the appropriate constructor now, so I removed
44481        statusWithDirection and updated the code to use the constructor of BidiStatus.
44482
44483        No new tests, no behavior change.
44484
44485        * rendering/RenderBlockLineLayout.cpp:
44486        (WebCore::constructBidiRunsForSegment):
44487
444882013-12-07  ChangSeok Oh  <changseok.oh@collabora.com>
44489
44490        Unreviewed. Build fix for gtk port after r160260.
44491
44492        * loader/cache/CachedImage.h: Add missing a header.
44493
444942013-12-07  Gustavo Noronha Silva  <gns@gnome.org>
44495
44496        ubuntu software center hits _XReadEvents() error
44497        https://bugs.webkit.org/show_bug.cgi?id=123480
44498
44499        Reviewed by Martin Robinson.
44500
44501        * platform/gtk/WidgetBackingStoreGtkX11.cpp:
44502        (WebCore::WidgetBackingStoreGtkX11::~WidgetBackingStoreGtkX11): clear the surface
44503        before freeing the associated pixmap.
44504
445052013-12-06  Tim Horton  <timothy_horton@apple.com>
44506
44507        [mac] Keep around more decoded image data, since it's purgeable
44508        https://bugs.webkit.org/show_bug.cgi?id=125273
44509        <rdar://problem/13205438>
44510
44511        Unreviewed patch to fix review comments...
44512
44513        * platform/graphics/BitmapImage.h:
44514        Dan noticed that these return statements were improperly indented.
44515
445162013-12-05  Jer Noble  <jer.noble@apple.com>
44517
44518        [MSE][Mac] Disable AVFoundation when enabling the MockMediaPlayerMediaSource.
44519        https://bugs.webkit.org/show_bug.cgi?id=125338
44520
44521        Reviewed by Darin Adler.
44522
44523        The MediaSource API has some assumptions which break if more than one installed
44524        media engine supports MediaSources at the same time. So when enabling the mock
44525        media source engine in DRT or WKTR, disable AVFoundation so that only the mock
44526        engine will support media source loading.
44527
44528        * testing/Internals.cpp:
44529        (WebCore::Internals::initializeMockMediaSource):
44530
445312013-12-06  Antti Koivisto  <antti@apple.com>
44532
44533        Use NeverDestroyed instead of DEFINE_STATIC_LOCAL
44534
44535        Reviewed by Anders Carlsson.
44536
44537        * rendering/RenderText.cpp:
44538        (WebCore::originalTextMap):
44539
445402013-12-05  Jer Noble  <jer.noble@apple.com>
44541
44542        [MSE] Add a runtime-setting for the MediaSource constructor.
44543        https://bugs.webkit.org/show_bug.cgi?id=125336
44544
44545        Reviewed by Eric Carlson.
44546
44547        Add a Setting to enable the MediaSource constructor.
44548
44549        * Modules/mediasource/MediaSource.idl:
44550        * page/Settings.in:
44551
445522013-12-06  Tim Horton  <timothy_horton@apple.com>
44553
44554        [mac] Keep around more decoded image data, since it's purgeable
44555        https://bugs.webkit.org/show_bug.cgi?id=125273
44556        <rdar://problem/13205438>
44557
44558        Reviewed by Simon Fraser.
44559
44560        No new tests, just an optimization.
44561
44562        Instead of throwing away decoded image data eagerly, allow the operating
44563        system to manage the memory via the standard purgeability mechanism,
44564        where it can.
44565
44566        This improves the performance on some pathological cases (extremely large
44567        animated GIFs) by up to 8x.
44568
44569        * loader/cache/MemoryCache.cpp:
44570        (WebCore::MemoryCache::pruneLiveResourcesToSize):
44571        Don't prune live resources' decoded data if it is purgeable.
44572
44573        * platform/graphics/BitmapImage.cpp:
44574        (WebCore::BitmapImage::destroyDecodedDataIfNecessary):
44575        Don't eagerly throw away decoded image data if it's purgeable.
44576
44577        * loader/cache/CachedImage.h:
44578        * loader/cache/CachedResource.h:
44579        (WebCore::CachedResource::decodedDataIsPurgeable):
44580        * platform/graphics/BitmapImage.h:
44581        * platform/graphics/Image.h:
44582        (WebCore::Image::decodedDataIsPurgeable):
44583
445842013-12-06  Antti Koivisto  <antti@apple.com>
44585
44586        Save original text for RenderText to a map
44587        https://bugs.webkit.org/show_bug.cgi?id=125278
44588
44589        Reviewed by Darin Adler.
44590        
44591        Currently the original text is fetched from the Text node. This is one of the few things 
44592        where we use the RenderText node pointer and is stopping Text nodes from being anonymous.
44593        
44594        It is very rare of original text to differ from the actual text so we can just squirrel the
44595        original to a map when it differs. This is also simplifies the code.
44596
44597        * rendering/RenderQuote.cpp:
44598        (WebCore::RenderQuote::styleDidChange):
44599        (WebCore::RenderQuote::updateDepth):
44600        * rendering/RenderText.cpp:
44601        (WebCore::originalTextMap):
44602        (WebCore::RenderText::RenderText):
44603        (WebCore::RenderText::~RenderText):
44604        (WebCore::RenderText::styleDidChange):
44605        (WebCore::RenderText::originalText):
44606        (WebCore::RenderText::setTextInternal):
44607        (WebCore::RenderText::setText):
44608        * rendering/RenderText.h:
44609        * rendering/RenderTextFragment.cpp:
44610        * rendering/RenderTextFragment.h:
44611
446122013-12-04  Jer Noble  <jer.noble@apple.com>
44613
44614        [MSE] Refactor MediaSourceBase back into MediaSource
44615        https://bugs.webkit.org/show_bug.cgi?id=125245
44616
44617        Reviewed by Eric Carlson.
44618
44619        Now that the legacy WebKitMediaSource has been removed, there is no reason to have
44620        a separate MediaSource and MediaSourceBase. Re-integrate the two.
44621
44622        Copy all the methods from MediaSource into MediaSourceBase, and rename the class MediaSource:
44623        * Modules/mediasource/MediaSource.cpp: Copied from MediaSourceBase.cpp.
44624        (WebCore::MediaSource::create): Copied from MediaSource.cpp.
44625        (WebCore::MediaSource::addSourceBuffer): Ditto.
44626        (WebCore::MediaSource::removeSourceBuffer): Ditto.
44627        (WebCore::MediaSource::isTypeSupported): Ditto.
44628        (WebCore::MediaSource::eventTargetInterface): Ditto.
44629        (WebCore::MediaSource::sourceBufferDidChangeAcitveState): Ditto.
44630        * Modules/mediasource/MediaSource.h: Copied from MediaSourceBase.h.
44631        (WebCore::MediaSource::sourceBuffers): Copied from MediaSource.h.
44632        (WebCore::MediaSource::activeSourceBuffers): Copied from MediaSource.h.
44633        * Modules/mediasource/MediaSourceBase.cpp: Removed.
44634        * Modules/mediasource/MediaSourceBase.h: Removed.
44635
44636        Change all references to MediaSourceBase into MediaSource:
44637        * Modules/mediasource/DOMURLMediaSource.cpp:
44638        (WebCore::DOMURLMediaSource::createObjectURL):
44639        * Modules/mediasource/DOMURLMediaSource.h:
44640        * Modules/mediasource/MediaSourceRegistry.cpp:
44641        (WebCore::MediaSourceRegistry::registerURL):
44642        (WebCore::MediaSourceRegistry::unregisterURL):
44643        * Modules/mediasource/MediaSourceRegistry.h:
44644
44645        Remove MediaSourceBase.cpp/h from the project file:
44646        * WebCore.xcodeproj/project.pbxproj:
44647        * GNUmakefile.list.am:
44648
446492013-12-06  Eric Carlson  <eric.carlson@apple.com>
44650
44651        r159827 broke plug-in snapshotting
44652        https://bugs.webkit.org/show_bug.cgi?id=125365
44653
44654        Reviewed by Dean Jackson.
44655
44656        No new tests, covered by existing tests.
44657
44658        * html/HTMLPlugInImageElement.cpp:
44659        (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): Return early if there is NOT
44660            a page, not if there IS a page.
44661
446622013-12-06  Roger Fong <roger_fong@apple.com> and Brent Fulgham  <bfulgham@apple.com>
44663
44664        [Win] Support compiling with VS2013
44665        https://bugs.webkit.org/show_bug.cgi?id=125353
44666
44667        Reviewed by Anders Carlsson.
44668
44669        * loader/archive/cf/LegacyWebArchive.cpp:
44670        (WebCore::LegacyWebArchive::create): Use nullptr
44671        (WebCore::LegacyWebArchive::createFromSelection): Ditto
44672
446732013-11-15  Jer Noble  <jer.noble@apple.com>
44674
44675        [MSE][Mac] Add a new MSE-compatible MediaPlayerPrivate implementation, MediaPlayerPrivateMediaSourceAVFObjC
44676        https://bugs.webkit.org/show_bug.cgi?id=123378
44677
44678        Reviewed by Eric Carlson.
44679
44680        Add an AVFoundation implementation of MediaPlayerPrivate which creates and uses
44681        MediaSourcePrivate and SourceBufferPrivate subclasses.
44682
44683        Add the new media engine to the list of installed engines:
44684        * platform/MediaSample.h:
44685        * platform/graphics/MediaPlayer.cpp:
44686        (WebCore::installedMediaEngines):
44687        * platform/graphics/MediaPlayer.h:
44688
44689        Add the new files to the project:
44690        * WebCore.xcodeproj/project.pbxproj:
44691
44692        Drive by fix for ports who implement seekDouble():
44693        * platform/graphics/MediaPlayerPrivate.h:
44694        (WebCore::MediaPlayerPrivateInterface::seekWithTolerance):
44695
44696        Add new Video and AudioTrackPrivate types which handle their own enable state:
44697        * platform/graphics/avfoundation/objc/AudioTrackPrivateMediaSourceAVFObjC.cpp: Added
44698        (WebCore::AudioTrackPrivateMediaSourceAVFObjC::AudioTrackPrivateMediaSourceAVFObjC):
44699        (WebCore::AudioTrackPrivateMediaSourceAVFObjC::resetPropertiesFromTrack):
44700        (WebCore::AudioTrackPrivateMediaSourceAVFObjC::setAssetTrack):
44701        (WebCore::AudioTrackPrivateMediaSourceAVFObjC::assetTrack):
44702        (WebCore::AudioTrackPrivateMediaSourceAVFObjC::setEnabled):
44703        * platform/graphics/avfoundation/objc/AudioTrackPrivateMediaSourceAVFObjC.h: Added
44704        * platform/graphics/avfoundation/objc/VideoTrackPrivateMediaSourceAVFObjC.cpp: Added.
44705        (WebCore::VideoTrackPrivateMediaSourceAVFObjC::VideoTrackPrivateMediaSourceAVFObjC):
44706        (WebCore::VideoTrackPrivateMediaSourceAVFObjC::resetPropertiesFromTrack):
44707        (WebCore::VideoTrackPrivateMediaSourceAVFObjC::setAssetTrack):
44708        (WebCore::VideoTrackPrivateMediaSourceAVFObjC::assetTrack):
44709        (WebCore::VideoTrackPrivateMediaSourceAVFObjC::setSelected):
44710        * platform/graphics/avfoundation/objc/VideoTrackPrivateMediaSourceAVFObjC.h: Added.
44711
44712        Add a new MediaPlayerPrivate which can handle MediaSource objects:
44713        * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h: Added.
44714        * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm: Added.
44715        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::MediaPlayerPrivateMediaSourceAVFObjC):
44716        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::~MediaPlayerPrivateMediaSourceAVFObjC):
44717        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::registerMediaEngine):
44718        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::create):
44719        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::isAvailable):
44720        (WebCore::mimeTypeCache):
44721        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::getSupportedTypes):
44722        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::supportsType):
44723        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::load):
44724        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::cancelLoad):
44725        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::prepareToPlay):
44726        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::platformMedia):
44727        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::platformLayer):
44728        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::play):
44729        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::playInternal):
44730        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::pause):
44731        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::pauseInternal):
44732        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::paused):
44733        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::supportsScanning):
44734        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::naturalSize):
44735        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::hasVideo):
44736        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::hasAudio):
44737        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setVisible):
44738        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::durationDouble):
44739        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::currentTimeDouble):
44740        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::startTimeDouble):
44741        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::initialTime):
44742        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekWithTolerance):
44743        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekInternal):
44744        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seeking):
44745        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setRateDouble):
44746        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::networkState):
44747        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::readyState):
44748        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekable):
44749        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::maxTimeSeekableDouble):
44750        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::minTimeSeekable):
44751        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::buffered):
44752        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::didLoadingProgress):
44753        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setSize):
44754        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::paint):
44755        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::paintCurrentFrameInContext):
44756        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::hasAvailableVideoFrame):
44757        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::supportsAcceleratedRendering):
44758        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::acceleratedRenderingStateChanged):
44759        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::movieLoadType):
44760        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::prepareForRendering):
44761        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::engineDescription):
44762        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::languageOfPrimaryAudioTrack):
44763        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::extraMemoryCost):
44764        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::ensureLayer):
44765        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::destroyLayer):
44766        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::updateDuration):
44767        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::updateStates):
44768        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setReadyState):
44769        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setNetworkState):
44770        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::addDisplayLayer):
44771        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::removeDisplayLayer):
44772
44773        Add a new MediaSourcePrivate implementation:
44774        * platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.h: Added.
44775        (WebCore::MediaSourcePrivateAVFObjC::player):
44776        (WebCore::MediaSourcePrivateAVFObjC::activeSourceBuffers):
44777        * platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm: Added.
44778        (WebCore::MediaSourcePrivateAVFObjC::create):
44779        (WebCore::MediaSourcePrivateAVFObjC::MediaSourcePrivateAVFObjC):
44780        (WebCore::MediaSourcePrivateAVFObjC::~MediaSourcePrivateAVFObjC):
44781        (WebCore::MediaSourcePrivateAVFObjC::addSourceBuffer):
44782        (WebCore::MediaSourcePrivateAVFObjC::removeSourceBuffer):
44783        (WebCore::MediaSourcePrivateAVFObjC::duration):
44784        (WebCore::MediaSourcePrivateAVFObjC::setDuration):
44785        (WebCore::MediaSourcePrivateAVFObjC::markEndOfStream):
44786        (WebCore::MediaSourcePrivateAVFObjC::unmarkEndOfStream):
44787        (WebCore::MediaSourcePrivateAVFObjC::readyState):
44788        (WebCore::MediaSourcePrivateAVFObjC::setReadyState):
44789        (WebCore::MediaSourcePrivateAVFObjC::sourceBufferPrivateDidChangeActiveState):
44790        (WebCore::MediaSourcePrivateAVFObjCHasAudio):
44791        (WebCore::MediaSourcePrivateAVFObjC::hasAudio):
44792        (WebCore::MediaSourcePrivateAVFObjCHasVideo):
44793        (WebCore::MediaSourcePrivateAVFObjC::hasVideo):
44794        (WebCore::MediaSourcePrivateAVFObjC::seekToTime):
44795
44796        Add a new SourceBufferPrivate implementation:
44797        * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h: Added.
44798        * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm: Added.
44799        (-[WebAVStreamDataParserListener initWithParser:parent:WebCore::]):
44800        (-[WebAVStreamDataParserListener dealloc]):
44801        (-[WebAVStreamDataParserListener streamDataParser:didParseStreamDataAsAsset:]):
44802        (-[WebAVStreamDataParserListener streamDataParser:didFailToParseStreamDataWithError:]):
44803        (-[WebAVStreamDataParserListener streamDataParser:didProvideMediaData:forTrackID:mediaType:flags:]):
44804        (-[WebAVStreamDataParserListener streamDataParser:didReachEndOfTrackWithTrackID:mediaType:]):
44805        (WebCore::MediaSampleAVFObjC::create):
44806        (WebCore::MediaSampleAVFObjC::~MediaSampleAVFObjC):
44807        (WebCore::MediaSampleAVFObjC::MediaSampleAVFObjC):
44808        (WebCore::MediaSampleAVFObjC::platformSample):
44809        (WebCore::CMSampleBufferIsRandomAccess):
44810        (WebCore::MediaSampleAVFObjC::flags):
44811        (WebCore::MediaDescriptionAVFObjC::create):
44812        (WebCore::MediaDescriptionAVFObjC::~MediaDescriptionAVFObjC):
44813        (WebCore::MediaDescriptionAVFObjC::MediaDescriptionAVFObjC):
44814        (WebCore::SourceBufferPrivateAVFObjC::create):
44815        (WebCore::SourceBufferPrivateAVFObjC::SourceBufferPrivateAVFObjC):
44816        (WebCore::SourceBufferPrivateAVFObjC::~SourceBufferPrivateAVFObjC):
44817        (WebCore::SourceBufferPrivateAVFObjC::didParseStreamDataAsAsset):
44818        (WebCore::SourceBufferPrivateAVFObjC::didFailToParseStreamDataWithError):
44819        (WebCore::callProcessCodedFrameForEachSample):
44820        (WebCore::SourceBufferPrivateAVFObjC::didProvideMediaDataForTrackID):
44821        (WebCore::SourceBufferPrivateAVFObjC::processCodedFrame):
44822        (WebCore::SourceBufferPrivateAVFObjC::didReachEndOfTrackWithTrackID):
44823        (WebCore::SourceBufferPrivateAVFObjC::setClient):
44824        (WebCore::SourceBufferPrivateAVFObjC::append):
44825        (WebCore::SourceBufferPrivateAVFObjC::abort):
44826        (WebCore::SourceBufferPrivateAVFObjC::removedFromMediaSource):
44827        (WebCore::SourceBufferPrivateAVFObjC::readyState):
44828        (WebCore::SourceBufferPrivateAVFObjC::setReadyState):
44829        (WebCore::SourceBufferPrivateAVFObjC::evictCodedFrames):
44830        (WebCore::SourceBufferPrivateAVFObjC::isFull):
44831        (WebCore::SourceBufferPrivateAVFObjC::hasVideo):
44832        (WebCore::SourceBufferPrivateAVFObjC::hasAudio):
44833        (WebCore::SourceBufferPrivateAVFObjC::trackDidChangeEnabled):
44834        (WebCore::createNonDisplayingCopy):
44835        (WebCore::SourceBufferPrivateAVFObjC::flushAndEnqueueNonDisplayingSamples):
44836        (WebCore::SourceBufferPrivateAVFObjC::enqueueSample):
44837        (WebCore::SourceBufferPrivateAVFObjC::isReadyForMoreSamples):
44838        (WebCore::SourceBufferPrivateAVFObjC::setActive):
44839        (WebCore::SourceBufferPrivateAVFObjC::fastSeekTimeForMediaTime):
44840        (WebCore::SourceBufferPrivateAVFObjC::seekToTime):
44841        * platform/mac/PlatformClockCM.h:
44842
44843        Add a SOFT_LINK_CLASS_OPTIONAL macro:
44844        * platform/mac/SoftLinking.h:
44845
448462013-12-06  Alexey Proskuryakov  <ap@apple.com>
44847
44848        Remove some duplicate checks from SerializedScriptValue
44849        https://bugs.webkit.org/show_bug.cgi?id=125358
44850
44851        Reviewed by Geoffrey Garen.
44852
44853        There is no need to call inherits() before WebCore's toXXX(JSValue) functions.
44854
44855        Also, the result of toArrayBuffer() is a raw pointer, not a RefPtr (it's confusing
44856        because toArrayBufferView returns a RefPtr).
44857
44858        * bindings/js/SerializedScriptValue.cpp: (WebCore::CloneSerializer::dumpIfTerminal):
44859
448602013-12-06  Tim Horton  <timothy_horton@apple.com>
44861
44862        Remove Image::decodedSize()
44863        https://bugs.webkit.org/show_bug.cgi?id=125327
44864
44865        Reviewed by Simon Fraser.
44866
44867        Missed a comment when removing this code.
44868
44869        * svg/graphics/SVGImage.h:
44870
448712013-12-06  Rob Buis  <rob.buis@samsung.com>
44872
44873        [CSS Shapes] ShapeOutsideInfo needs to use the parent's writing mode when calculating offsets
44874        https://bugs.webkit.org/show_bug.cgi?id=124680
44875
44876        Reviewed by Dirk Schulze.
44877
44878        Do not take the writing-mode property on the float into account for shape-outside.
44879        Add a virtual method writingMode() in order to do this for shape-outside but
44880        keep old behavior (element writingMode) for shape-inside.
44881
44882        Change existing test floats/shape-outside-floats-different-writing-modes.html to test the
44883        new behavior.
44884
44885        * rendering/shapes/ShapeInfo.cpp:
44886        (WebCore::::computedShape):
44887        * rendering/shapes/ShapeInfo.h:
44888        (WebCore::ShapeInfo::writingMode):
44889        * rendering/shapes/ShapeOutsideInfo.cpp:
44890        (WebCore::ShapeOutsideInfo::writingMode):
44891        * rendering/shapes/ShapeOutsideInfo.h:
44892
448932013-12-06  Joseph Pecoraro  <pecoraro@apple.com>
44894
44895        Web Inspector: Remove Staging Workaround
44896        https://bugs.webkit.org/show_bug.cgi?id=125354
44897
44898        Reviewed by Timothy Hatcher.
44899
44900        * inspector/CodeGeneratorInspector.py:
44901
449022013-12-06  Joseph Pecoraro  <pecoraro@apple.com>
44903
44904        Simplify ScriptFunctionCall by removing dead code.
44905        https://bugs.webkit.org/show_bug.cgi?id=125274
44906
44907        Reviewed by Timothy Hatcher.
44908
44909        * bindings/js/ScriptFunctionCall.cpp:
44910        (WebCore::ScriptFunctionCall::call):
44911        * bindings/js/ScriptFunctionCall.h:
44912
449132013-12-06  Daniel Bates  <dabates@apple.com>
44914
44915        [iOS] Upstream WebCore/rendering changes
44916        https://bugs.webkit.org/show_bug.cgi?id=125239
44917
44918        Reviewed by Simon Fraser.
44919
44920        * WebCore.xcodeproj/project.pbxproj:
44921        * rendering/InlineBox.cpp:
44922        (WebCore::InlineBox::previousOnLineExists): Added.
44923        * rendering/InlineBox.h:
44924        * rendering/InlineTextBox.cpp:
44925        (WebCore::InlineTextBox::paintCompositionBackground): Modified to query RenderStyle
44926        on iOS for the composition fill color. Added FIXME to make this platform-independent.
44927        (WebCore::InlineTextBox::paintDecoration): Added iOS-specific decoration code.
44928        (WebCore::lineStyleForMarkerType):
44929        (WebCore::InlineTextBox::paintDocumentMarkers): Added iOS-specific code. Also, added
44930        FIXME to make this code platform-independent.
44931        * rendering/RenderBlock.cpp:
44932        (WebCore::RenderBlock::paint): Ditto.
44933        (WebCore::positionForPointRespectingEditingBoundaries): Added iOS-specific code.
44934        * rendering/RenderBlock.h: Changed access control of logical{Left, Right}SelectionOffset()
44935        from private to protected so that these methods can be used from RenderImage::collectSelectionRects().
44936        * rendering/RenderBox.cpp:
44937        (WebCore::RenderBox::borderRadii): Added.
44938        (WebCore::RenderBox::paintBoxDecorations): Added iOS-specific workaround. See <rdar://problem/6209763>
44939        for more details.
44940        (WebCore::RenderBox::computeRectForRepaint): Added iOS-specific code. 
44941        (WebCore::customContainingBlockWidth): Added; guarded by PLATFORM(IOS).
44942        (WebCore::customContainingBlockHeight): Added; guarded by PLATFORM(IOS).
44943        (WebCore::customContainingBlockLogicalWidth): Added; guarded by PLATFORM(IOS).
44944        (WebCore::customContainingBlockLogicalHeight): Added; guarded by PLATFORM(IOS).
44945        (WebCore::customContainingBlockAvailableLogicalHeight): Added; guarded by PLATFORM(IOS).
44946        (WebCore::RenderBox::availableLogicalHeightUsing): Added iOS-specific code; calls customContainingBlockAvailableLogicalHeight().
44947        (WebCore::RenderBox::containingBlockLogicalWidthForPositioned): Added iOS-specific code; calls customContainingBlockLogicalWidth().
44948        (WebCore::RenderBox::containingBlockLogicalHeightForPositioned): Added iOS-specific code; calls customContainingBlockLogicalHeight().
44949        (WebCore::RenderBox::layoutOverflowRectForPropagation): Added iOS-specific code.
44950        * rendering/RenderBox.h:
44951        * rendering/RenderBoxModelObject.cpp:
44952        (WebCore::RenderBoxModelObject::stickyPositionOffset): Use FrameView::customFixedPositionLayoutRect()
44953        instead of FrameView::viewportConstrainedVisibleContentRect().
44954        * rendering/RenderButton.cpp:
44955        (WebCore::RenderButton::layout): Added; iOS-specific. Includes FIXME comment.
44956        See <rdar://problem/7675493> for more details.
44957        * rendering/RenderElement.cpp:
44958        (WebCore::RenderElement::styleWillChange): Added iOS-specific code.
44959        (WebCore::RenderElement::styleDidChange): Modified to only call areCursorsEqual() and
44960        EventHandler::scheduleCursorUpdate() on a non-iOS port.
44961        * rendering/RenderEmbeddedObject.cpp:
44962        (WebCore::RenderEmbeddedObject::allowsAcceleratedCompositing): Added iOS-specific code.
44963        (WebCore::RenderEmbeddedObject::setPluginUnavailabilityReason): This method has an empty implementation for iOS.
44964        (WebCore::RenderEmbeddedObject::setPluginUnavailabilityReasonWithDescription): Ditto.
44965        * rendering/RenderFileUploadControl.cpp:
44966        (WebCore::nodeHeight):
44967        (WebCore::RenderFileUploadControl::maxFilenameWidth): Added iOS-specific code.
44968        (WebCore::RenderFileUploadControl::paintObject): Ditto.
44969        (WebCore::RenderFileUploadControl::fileTextValue): Ditto.
44970        * rendering/RenderFrameSet.cpp:
44971        (WebCore::RenderFrameSet::positionFrames): Ditto; Also added FIXME comment as this code may not
44972        be specific to iOS.
44973        * rendering/RenderIFrame.h: Added iOS-specific workaround to RenderObject::renderName(). Added
44974        FIXME comment to determine whether this workaround is still applicable.
44975        * rendering/RenderImage.cpp:
44976        (WebCore::RenderImage::collectSelectionRects): Added; guarded by PLATFORM(IOS).
44977        (WebCore::RenderImage::paintAreaElementFocusRing): This method has an empty implementation for iOS.
44978        * rendering/RenderImage.h:
44979        * rendering/RenderInline.cpp:
44980        (WebCore::RenderInline::absoluteQuadsForSelection): Added; guarded by PLATFORM(IOS).
44981        * rendering/RenderInline.h:
44982        * rendering/RenderLayer.cpp:
44983        (WebCore::RenderLayer::RenderLayer): Added iOS-specific member initialization.
44984        (WebCore::RenderLayer::~RenderLayer): Added iOS-specific code.
44985        (WebCore::RenderLayer::willBeDestroyed): Added; iOS-specific.
44986        (WebCore::RenderLayer::hasAcceleratedTouchScrolling): Ditto.
44987        (WebCore::RenderLayer::handleTouchEvent): Ditto.
44988        (WebCore::RenderLayer::registerAsTouchEventListenerForScrolling): Ditto.
44989        (WebCore::RenderLayer::unregisterAsTouchEventListenerForScrolling): Ditto.
44990        (WebCore::RenderLayer::updateNeedsCompositedScrolling): Added iOS-specific code as we use UIKit
44991        to composite our scroll bars.
44992        (WebCore::RenderLayer::scrollTo): Added iOS-specific code.
44993        (WebCore::RenderLayer::scrollRectToVisible): Ditto.
44994        (WebCore::RenderLayer::styleChanged): Modified to make use of the passed StyleDifference on iOS.
44995        (WebCore::RenderLayer::visibleContentRect): Added; iOS-specific.
44996        (WebCore::RenderLayer::didStartScroll): Ditto.
44997        (WebCore::RenderLayer::didEndScroll): Ditto.
44998        (WebCore::RenderLayer::didUpdateScroll): Ditto.
44999        (WebCore::RenderLayer::invalidateScrollbarRect): Added iOS-specific code.
45000        (WebCore::RenderLayer::invalidateScrollCornerRect): Ditto.
45001        (WebCore::RenderLayer::verticalScrollbarWidth): Ditto.
45002        (WebCore::RenderLayer::horizontalScrollbarHeight): Ditto.
45003        (WebCore::RenderLayer::updateScrollableAreaSet): Ditto.
45004        (WebCore::RenderLayer::updateScrollInfoAfterLayout): Add iOS-specific workaround with FIXME. See
45005        <rdar://problem/15579797> for more details.
45006        (WebCore::RenderLayer::paintOverflowControls): Added iOS-specific code.
45007        (WebCore::RenderLayer::calculateClipRects): Ditto.
45008        * rendering/RenderLayer.h:
45009        * rendering/RenderLayerBacking.cpp:
45010        (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer): Modified to not apply page scale on iOS
45011        as we apply a page scale at a different time in the code.
45012        (WebCore::RenderLayerBacking::layerWillBeDestroyed): Added; guarded by PLATFORM(IOS).
45013        (WebCore::layerOrAncestorIsTransformedOrScrolling): Added iOS-specific variant with FIXME comment.
45014        (WebCore::RenderLayerBacking::shouldClipCompositedBounds): Added iOS-specific code.
45015        (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): Ditto.
45016        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Ditto.
45017        (WebCore::RenderLayerBacking::registerScrollingLayers): Ditto.
45018        (WebCore::RenderLayerBacking::updateScrollingLayers): Ditto.
45019        (WebCore::RenderLayerBacking::containsPaintedContent): Call RenderLayer::hasBoxDecorationsOrBackground()
45020        when building on iOS Simulator.
45021        (WebCore::RenderLayerBacking::parentForSublayers): Added iOS-specific code and FIXME comment.
45022        (WebCore::RenderLayerBacking::paintsIntoWindow): Opt-into coordinated graphics code path.
45023        (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect): Added iOS-specific code.
45024        (WebCore::RenderLayerBacking::paintIntoLayer): Compile-out ASSERT_NOT_REACHED for iOS and added FIXME comment.
45025        * rendering/RenderLayerBacking.h:
45026        * rendering/RenderLayerCompositor.cpp:
45027        (WebCore::RenderLayerCompositor::scheduleLayerFlush): Added iOS-specific code.
45028        (WebCore::RenderLayerCompositor::chromeClient): Added; guarded by PLATFORM(IOS).
45029        (WebCore::RenderLayerCompositor::flushPendingLayerChanges): Added iOS-specific code.
45030        (WebCore::scrollbarHasDisplayNone): Added; iOS-specific.
45031        (WebCore::updateScrollingLayerWithClient): Ditto.
45032        (WebCore::RenderLayerCompositor::updateCustomLayersAfterFlush): Ditto.
45033        (WebCore::RenderLayerCompositor::didFlushChangesForLayer): Added iOS-specific code.
45034        (WebCore::RenderLayerCompositor::didChangeVisibleRect): Ditto.
45035        (WebCore::RenderLayerCompositor::addToOverlapMap): Don't apply page scale factor on iOS. We apply
45036        the page scale factor at a different time in the code. Also, added FIXME comment.
45037        (WebCore::RenderLayerCompositor::computeCompositingRequirements): Added iOS-specific workaround.
45038        See <rdar://problem/8348337> for more details.
45039        (WebCore::RenderLayerCompositor::setIsInWindow): Use non-Mac code path for iOS.
45040        (WebCore::RenderLayerCompositor::allowsIndependentlyCompositedFrames): Added iOS-specific code.
45041        (WebCore::RenderLayerCompositor::requiresCompositingLayer): Ditto.
45042        (WebCore::RenderLayerCompositor::requiresOwnBackingStore): Ditto.
45043        (WebCore::RenderLayerCompositor::reasonsForCompositing): Ditto.
45044        (WebCore::RenderLayerCompositor::requiresCompositingForAnimation): Opt-into calling
45045        AnimationController::isRunningAnimationOnRenderer() on iOS.
45046        (WebCore::RenderLayerCompositor::requiresCompositingForScrolling): Added; guarded by PLATFORM(IOS).
45047        (WebCore::isStickyInAcceleratedScrollingLayerOrViewport): Added iOS-specific code.
45048        (WebCore::isViewportConstrainedFixedOrStickyLayer): Ditto.
45049        (WebCore::RenderLayerCompositor::requiresCompositingForPosition): Use FrameView::customFixedPositionLayoutRect()
45050        instead of FrameView::viewportConstrainedVisibleContentRect().
45051        (WebCore::RenderLayerCompositor::contentsScaleMultiplierForNewTiles): Ditto.
45052        (WebCore::RenderLayerCompositor::ensureRootLayer): Ditto.
45053        (WebCore::RenderLayerCompositor::computeFixedViewportConstraints): Use FrameView::customFixedPositionLayoutRect()
45054        instead of FrameView::viewportConstrainedVisibleContentRect().
45055        (WebCore::RenderLayerCompositor::computeStickyViewportConstraints): Ditto.
45056        (WebCore::RenderLayerCompositor::registerOrUpdateViewportConstrainedLayer): This method has an empty implementation for iOS
45057        as we batch update viewport-constrained layers in the iOS-specific method, RenderLayerCompositor::updateCustomLayersAfterFlush().
45058        (WebCore::RenderLayerCompositor::unregisterViewportConstrainedLayer): Ditto.
45059        (WebCore::RenderLayerCompositor::registerAllViewportConstrainedLayers): Added; guarded by PLATFORM(IOS).
45060        (WebCore::RenderLayerCompositor::unregisterAllViewportConstrainedLayers): Ditto.
45061        (WebCore::RenderLayerCompositor::registerAllScrollingLayers): Ditto.
45062        (WebCore::RenderLayerCompositor::unregisterAllScrollingLayers): Ditto.
45063        (WebCore::RenderLayerCompositor::scrollingLayerAddedOrUpdated): Ditto.
45064        (WebCore::RenderLayerCompositor::scrollingLayerRemoved): Ditto.
45065        (WebCore::RenderLayerCompositor::startInitialLayerFlushTimerIfNeeded): Ditto.
45066        * rendering/RenderLayerCompositor.h:
45067        * rendering/RenderLayerFilterInfo.h: Added iOS-specific Clang workaround to ignore
45068        an unused private field.
45069        * rendering/RenderMenuList.cpp:
45070        (WebCore::selectedOptionCount): Added; guarded by PLATFORM(IOS).
45071        (WebCore::RenderMenuList::RenderMenuList): On iOS we don't make use of RenderMenuList::m_popupIsVisible.
45072        (WebCore::RenderMenuList::~RenderMenuList): On iOS we don't make use of RenderMenuList::m_popup.
45073        (WebCore::RenderMenuList::adjustInnerStyle): Add iOS-specific code.
45074        (RenderMenuList::updateFromElement): On iOS we don't make use of RenderMenuList::m_popup.
45075        (RenderMenuList::setTextFromOption): Add iOS-specific code.
45076        (RenderMenuList::showPopup): Define RenderMenuList::showPopup() to ASSERT_NOT_REACHED() on iOS as
45077        we don't make use of RenderMenuList::m_popup.
45078        (RenderMenuList::hidePopup): This method has an empty implementation for iOS as we don't make use
45079        of RenderMenuList::m_popup.
45080        (RenderMenuList::popupDidHide): This method has an empty implementation for iOS as we don't make use
45081        of RenderMenuList::m_popupIsVisible.
45082        * rendering/RenderMenuList.h:
45083        * rendering/RenderObject.cpp:
45084        (WebCore::RenderObject::columnNumberForOffset): Added; guarded by PLATFORM(IOS). Also, added a FIXME comment to
45085        make this function return an unsigned integer instead of a signed integer.
45086        (WebCore::RenderObject::collectSelectionRects): Added; guarded by PLATFORM(IOS).
45087        (WebCore::RenderObject::destroy): Added iOS-specific code.
45088        (WebCore::RenderObject::innerLineHeight): Added.
45089        (WebCore::RenderObject::willRenderImage): Added iOS-specific code.
45090        * rendering/RenderObject.h: Change the access control of RenderObject::drawLineForBoxSide() from protected to
45091        public so that it can be used from RenderThemeIOS::adjustMenuListButtonStyle().
45092        (WebCore::RenderObject::absoluteQuadsForSelection):
45093        * rendering/RenderScrollbar.h: Change the access control of RenderScrollbar::getScrollbarPseudoStyle() from
45094        private to public so that it can be used from the iOS-specific static function, scrollbarHasDisplayNone,
45095        defined in RenderLayerCompositor.cpp.
45096        * rendering/RenderSearchField.cpp:
45097        (WebCore::RenderSearchField::itemText): Added iOS-specific code.
45098        * rendering/RenderText.cpp:
45099        (WebCore::RenderText::collectSelectionRects): Added; guarded by PLATFORM(IOS).
45100        (WebCore::RenderText::setTextInternal): Added iOS-specific code.
45101        * rendering/RenderText.h:
45102        * rendering/RenderTextControl.cpp:
45103        (WebCore::RenderTextControl::adjustInnerTextStyle): Ditto.
45104        (WebCore::RenderTextControl::canScroll): Added; guarded by PLATFORM(IOS).
45105        (WebCore::RenderTextControl::innerLineHeight): Ditto.
45106        * rendering/RenderTextControl.h:
45107        * rendering/RenderTextControlMultiLine.cpp:
45108        (WebCore::RenderTextControlMultiLine::getAvgCharWidth): Compile-out code when building for iOS.
45109        (WebCore::RenderTextControlMultiLine::createInnerTextStyle): Added iOS-specific code.
45110        * rendering/RenderTextControlSingleLine.cpp:
45111        (WebCore::RenderTextControlSingleLine::layout): Ditto.
45112        (WebCore::RenderTextControlSingleLine::getAvgCharWidth): Compile-out code when building for iOS.
45113        (WebCore::RenderTextControlSingleLine::preferredContentLogicalWidth): Ditto.
45114        * rendering/RenderTextLineBoxes.cpp:
45115        (WebCore::lineDirectionPointFitsInBox): Ditto.
45116        (WebCore::RenderTextLineBoxes::positionForPoint): Added iOS-specific code.
45117        * rendering/RenderTheme.cpp:
45118        (WebCore::RenderTheme::paintBorderOnly): Ditto.
45119        (WebCore::RenderTheme::paintDecorations): Modified to call the control-specific paint*Decorations().
45120        * rendering/RenderTheme.h:
45121        (WebCore::RenderTheme::paintCheckboxDecorations): Added.
45122        (WebCore::RenderTheme::paintRadioDecorations): Added.
45123        (WebCore::RenderTheme::paintButtonDecorations): Added.
45124        (WebCore::RenderTheme::paintTextFieldDecorations): Added.
45125        (WebCore::RenderTheme::paintTextAreaDecorations): Added.
45126        (WebCore::RenderTheme::paintMenuListDecorations): Added.
45127        (WebCore::RenderTheme::paintPushButtonDecorations): Added.
45128        (WebCore::RenderTheme::paintSquareButtonDecorations): Added.
45129        (WebCore::RenderTheme::paintFileUploadIconDecorations): Added.
45130        (WebCore::RenderTheme::paintSliderThumbDecorations): Added.
45131        (WebCore::RenderTheme::paintSearchFieldDecorations): Added.
45132        * rendering/RenderThemeIOS.h: Added.
45133        * rendering/RenderThemeIOS.mm: Added.
45134        * rendering/RenderThemeMac.h: Don't compile the contents of this file when building for iOS.
45135        * rendering/RenderThemeMac.mm: Ditto.
45136        * rendering/RenderVideo.cpp:
45137        (WebCore::RenderVideo::calculateIntrinsicSize): Compile-out code when building for iOS.
45138        * rendering/RenderView.cpp:
45139        (WebCore::RenderView::availableLogicalHeight): Add iOS-specific workaround. See <rdar://problem/7166808>.
45140        (WebCore::fixedPositionOffset): Added; used in iOS-specific code (e.g. RenderView::mapLocalToContainer()).
45141        (WebCore::RenderView::mapLocalToContainer): Use WebCore::fixedPositionOffset() instead of 
45142        FrameView::scrollOffsetForFixedPosition().
45143        (WebCore::RenderView::pushMappingToContainer): Ditto.
45144        (WebCore::RenderView::mapAbsoluteToLocalPoint): Ditto.
45145        (WebCore::RenderView::repaintViewRectangle): Ditto.
45146        (WebCore::RenderView::computeRectForRepaint): Ditto.
45147        (WebCore::isFixedPositionInViewport): Added; used in RenderView::hasCustomFixedPosition().
45148        (WebCore::RenderView::hasCustomFixedPosition): Added; guarded by PLATFORM(IOS).
45149        * rendering/RenderView.h:
45150        * rendering/RenderWidget.cpp:
45151        (WebCore::RenderWidget::willBeDestroyed): Added iOS-specific code.
45152        * rendering/RootInlineBox.cpp:
45153        (WebCore::RootInlineBox::ascentAndDescentForBox): Ditto.
45154        * rendering/break_lines.cpp: Only include header <CoreServices/CoreServices.h> when building for Mac.
45155
451562013-12-06  Zoltan Horvath  <zoltan@webkit.org>
45157
45158        Clean up the includes of RenderBlock.h 
45159        https://bugs.webkit.org/show_bug.cgi?id=125351
45160
45161        Reviewed by Darin Adler.
45162
45163        I turned some header includes into forward declarations. I also removed / 
45164        moved out some includes, which don't belong to RenderBlock.h anymore.
45165
45166        No new tests, no behavior change.
45167
45168        * editing/VisibleUnits.cpp:
45169        * html/HTMLInputElement.cpp:
45170        * html/HTMLTextAreaElement.cpp:
45171        * html/TextFieldInputType.cpp:
45172        * html/TextInputType.cpp:
45173        * rendering/InlineElementBox.cpp:
45174        * rendering/RenderBlock.h:
45175        * rendering/RenderBlockFlow.cpp:
45176        * rendering/line/LineBreaker.h:
45177        * rendering/line/LineWidth.cpp:
45178
451792013-12-06  Laszlo Vidacs  <lac@inf.u-szeged.hu>
45180
45181        Define SHA1 hash size in SHA1.h and use it at various places.
45182        https://bugs.webkit.org/show_bug.cgi?id=125345
45183
45184        Reviewed by Darin Adler.
45185
45186        Use SHA1::hashSize instead of local variables.
45187
45188        * Modules/websockets/WebSocketHandshake.cpp:
45189        (WebCore::WebSocketHandshake::getExpectedWebSocketAccept):
45190        * platform/network/soup/ResourceHandleSoup.cpp:
45191        (WebCore::HostTLSCertificateSet::computeCertificateHash):
45192
451932013-12-06  Dan Bernstein  <mitz@apple.com>
45194
45195        [Cocoa] Add load delegate methods for responding to authentication challenges
45196        https://bugs.webkit.org/show_bug.cgi?id=125333
45197
45198        Reviewed by Darin Adler.
45199
45200        * WebCore.exp.in: Exported core(NSURLCredential *).
45201
452022013-12-06  Daniel Bates  <dabates@apple.com>
45203
45204        Rename {adjust, paint}SearchFieldDecoration, {adjust, paint}SearchFieldResultsDecoration
45205        https://bugs.webkit.org/show_bug.cgi?id=125191
45206
45207        Reviewed by Joseph Pecoraro.
45208
45209        Towards upstreaming the iOS concept of render theme decorations, we should rename
45210        RenderTheme::{adjust, paint}SearchFieldDecorationStyle and RenderTheme::{adjust, paint}SearchFieldResultsDecoration
45211        to avoid ambiguity with the iOS concept.
45212
45213        * platform/efl/RenderThemeEfl.cpp:
45214        * platform/efl/RenderThemeEfl.h:
45215        * platform/gtk/RenderThemeGtk.cpp:
45216        * platform/gtk/RenderThemeGtk.h:
45217        * rendering/RenderTheme.cpp:
45218        * rendering/RenderTheme.h:
45219        * rendering/RenderThemeMac.h:
45220        * rendering/RenderThemeMac.mm:
45221        * rendering/RenderThemeSafari.cpp:
45222        * rendering/RenderThemeSafari.h:
45223        * rendering/RenderThemeWin.cpp:
45224        * rendering/RenderThemeWin.h:
45225        * rendering/RenderThemeWinCE.cpp:
45226        * rendering/RenderThemeWinCE.h:
45227
452282013-12-06  Andreas Kling  <akling@apple.com>
45229
45230        Make remaining CSSValue constructors return PassRef.
45231        <https://webkit.org/b/125337>
45232
45233        Tweak the remaining CSSValue create() helpers to return PassRef
45234        instead of PassRefPtr in the cases where nullptr is never returned.
45235
45236        Reviewed by Anders Carlsson.
45237
452382013-12-06  Roger Fong  <roger_fong@apple.com>
45239
45240        Hook into some shader symbol logic following the ANGLE update in r159533.
45241        https://bugs.webkit.org/show_bug.cgi?id=125332.
45242
45243        Reviewed by Brent Fulgham.
45244
45245        No new functionality added.
45246
45247        * html/canvas/WebGLRenderingContext.cpp: Add some error checking for errors related to 
45248            shader symbols that exist across both vertex and fragment shaders.
45249        (WebCore::WebGLRenderingContext::linkProgram):
45250        * platform/graphics/ANGLEWebKitBridge.cpp: Add logic for handling varyings 
45251            and add new fields to the ANGLEShaderSymbol struct.
45252        (WebCore::getSymbolInfo):
45253        * platform/graphics/ANGLEWebKitBridge.h:
45254        * platform/graphics/GraphicsContext3D.h: Add those same fields to the SymbolInfo struct 
45255            as well so that we can access them from our shader source map.
45256            Also add a map of varyings along side the uniforms and attributes.
45257        (WebCore::GraphicsContext3D::SymbolInfo::SymbolInfo):
45258        (WebCore::GraphicsContext3D::ShaderSourceEntry::symbolMap):
45259        * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
45260        (WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE):
45261        * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
45262        (WebCore::GraphicsContext3D::areProgramSymbolsValid): Will be filled in later, this method 
45263            will use the shader source map to check for issues with unused varyings and precisions 
45264            mismatches of shader symbols that exist across both the vertex and fragment shaders.
45265
452662013-12-06  Lukasz Gajowy  <l.gajowy@samsung.com>
45267
45268        [ATK] Missing aria roles mappings
45269        https://bugs.webkit.org/show_bug.cgi?id=117729
45270
45271        Reviewed by Mario Sanchez Prada.
45272
45273        Added a few mappings from ARIA roles to ATK roles.
45274
45275        Test: accessibility/aria-mappings.html
45276
45277        * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
45278        (atkRole):
45279
452802013-11-11  Philippe Normand  <pnormand@igalia.com>
45281
45282        [GStreamer] webkitwebaudiosrc element needs to emit stream-start, caps and segment events
45283        https://bugs.webkit.org/show_bug.cgi?id=123015
45284
45285        Reviewed by Martin Robinson.
45286
45287        When the source element starts emitting buffers send along various
45288        events to notify downstream elements.
45289
45290        No new tests, change covered by existing webaudio tests.
45291
45292        * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
45293        (webkit_web_audio_src_init): Initialize segment.
45294        (webKitWebAudioSrcConstructed): Give an explicit name to each
45295        queue added in front of the interleave element.
45296        (webKitWebAudioSrcLoop): Before sending the first buffers push
45297        stream-start, caps and segment events on each queue's sinkpad.
45298
452992013-12-05  Philippe Normand  <pnormand@igalia.com>
45300
45301        [GStreamer] Audio/Video sink management is incoherent
45302        https://bugs.webkit.org/show_bug.cgi?id=125304
45303
45304        Reviewed by Gustavo Noronha Silva.
45305
45306        Allow subclasses of MediaPlayerPrivateGStreamerBase to create
45307        custom audio/video sinks in a coherent manner using
45308        create{Audio,Video}Sink methods. Convenience getters are also
45309        available. Also removed some un-needed member variables in the
45310        playbin-based player.
45311
45312        No new tests, existing media tests cover this change.
45313
45314        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
45315        (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
45316        (WebCore::MediaPlayerPrivateGStreamer::updateStates):
45317        (WebCore::MediaPlayerPrivateGStreamer::createAudioSink):
45318        (WebCore::MediaPlayerPrivateGStreamer::audioSink):
45319        (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
45320        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
45321        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
45322        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
45323        (WebCore::MediaPlayerPrivateGStreamerBase::createAudioSink):
45324
453252013-12-05  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
45326
45327        Introduce IMAGE_TYPE_CASTS, and use it
45328        https://bugs.webkit.org/show_bug.cgi?id=125330
45329
45330        Reviewed by Ryosuke Niwa.
45331
45332        As a step to use TYPE_CASTS_BASE, this cl introduce IMAGE_TYPE_CASTS.
45333        BitmapImage and SVGImage can use it to generate toFoo() type case helper functions.
45334
45335        No new tests, no behavior changes.
45336
45337        * loader/cache/CachedImage.cpp:
45338        (WebCore::CachedImage::imageSizeForRenderer):
45339        (WebCore::CachedImage::resumeAnimatingImagesForLoader):
45340        * platform/graphics/BitmapImage.h:
45341        * platform/graphics/Image.h:
45342        * platform/mac/DragImageMac.mm:
45343        (WebCore::createDragImageFromImage):
45344        * svg/graphics/SVGImage.h:
45345
453462013-12-05  Zoltan Horvath  <zoltan@webkit.org>
45347
45348        Clean up the forwarding headers of RenderBlock.h
45349        https://bugs.webkit.org/show_bug.cgi?id=125323
45350
45351        Reviewed by Ryosuke Niwa.
45352
45353        In this patch, I removed the unnecessary forwarding headers from RenderBlock.h, and moved some to RenderBlockFlow.h.
45354
45355        No new tests, no behavior change.
45356
45357        * rendering/RenderBlock.h: Remove unnecessary forwarding headers.
45358        * rendering/RenderBlockFlow.h: Moved some forwarding headers from RenderBlock.h
45359
453602013-12-04  Oliver Hunt  <oliver@apple.com>
45361
45362        Refactor static getter function prototype to include thisValue in addition to the base object
45363        https://bugs.webkit.org/show_bug.cgi?id=124461
45364
45365        Reviewed by Geoffrey Garen.
45366
45367        Change bindings codegen to produce static getter functions
45368        with the correct types.  Also update the many custom implementations
45369        to the new type.
45370
45371        No change in behaviour.
45372
45373        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
45374        (WebCore::cssPropertyGetterPixelOrPosPrefixCallback):
45375        (WebCore::cssPropertyGetterCallback):
45376        * bindings/js/JSDOMBinding.cpp:
45377        (WebCore::objectToStringFunctionGetter):
45378        * bindings/js/JSDOMBinding.h:
45379        * bindings/js/JSDOMMimeTypeArrayCustom.cpp:
45380        (WebCore::JSDOMMimeTypeArray::nameGetter):
45381        * bindings/js/JSDOMPluginArrayCustom.cpp:
45382        (WebCore::JSDOMPluginArray::nameGetter):
45383        * bindings/js/JSDOMPluginCustom.cpp:
45384        (WebCore::JSDOMPlugin::nameGetter):
45385        * bindings/js/JSDOMStringMapCustom.cpp:
45386        (WebCore::JSDOMStringMap::nameGetter):
45387        * bindings/js/JSDOMWindowCustom.cpp:
45388        (WebCore::nonCachingStaticFunctionGetter):
45389        (WebCore::childFrameGetter):
45390        (WebCore::indexGetter):
45391        (WebCore::namedItemGetter):
45392        * bindings/js/JSHTMLAllCollectionCustom.cpp:
45393        (WebCore::JSHTMLAllCollection::nameGetter):
45394        * bindings/js/JSHTMLCollectionCustom.cpp:
45395        (WebCore::JSHTMLCollection::nameGetter):
45396        * bindings/js/JSHTMLDocumentCustom.cpp:
45397        (WebCore::JSHTMLDocument::nameGetter):
45398        * bindings/js/JSHTMLFormControlsCollectionCustom.cpp:
45399        (WebCore::JSHTMLFormControlsCollection::nameGetter):
45400        * bindings/js/JSHTMLFormElementCustom.cpp:
45401        (WebCore::JSHTMLFormElement::nameGetter):
45402        * bindings/js/JSHTMLFrameSetElementCustom.cpp:
45403        (WebCore::JSHTMLFrameSetElement::nameGetter):
45404        * bindings/js/JSHistoryCustom.cpp:
45405        (WebCore::nonCachingStaticBackFunctionGetter):
45406        (WebCore::nonCachingStaticForwardFunctionGetter):
45407        (WebCore::nonCachingStaticGoFunctionGetter):
45408        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
45409        (WebCore::JSJavaScriptCallFrame::scopeType):
45410        * bindings/js/JSLocationCustom.cpp:
45411        (WebCore::nonCachingStaticReplaceFunctionGetter):
45412        (WebCore::nonCachingStaticReloadFunctionGetter):
45413        (WebCore::nonCachingStaticAssignFunctionGetter):
45414        * bindings/js/JSNamedNodeMapCustom.cpp:
45415        (WebCore::JSNamedNodeMap::nameGetter):
45416        * bindings/js/JSNodeListCustom.cpp:
45417        (WebCore::JSNodeList::nameGetter):
45418        * bindings/js/JSPluginElementFunctions.cpp:
45419        (WebCore::pluginElementPropertyGetter):
45420        * bindings/js/JSPluginElementFunctions.h:
45421        * bindings/js/JSRTCStatsResponseCustom.cpp:
45422        (WebCore::JSRTCStatsResponse::nameGetter):
45423        * bindings/js/JSStorageCustom.cpp:
45424        (WebCore::JSStorage::nameGetter):
45425        * bindings/js/JSStyleSheetListCustom.cpp:
45426        (WebCore::JSStyleSheetList::nameGetter):
45427        * bindings/scripts/CodeGeneratorJS.pm:
45428        (GenerateHeader):
45429        (GenerateImplementation):
45430        (GenerateParametersCheck):
45431        * bridge/runtime_array.cpp:
45432        (JSC::RuntimeArray::lengthGetter):
45433        (JSC::RuntimeArray::indexGetter):
45434        * bridge/runtime_array.h:
45435        * bridge/runtime_method.cpp:
45436        (JSC::RuntimeMethod::lengthGetter):
45437        * bridge/runtime_method.h:
45438        * bridge/runtime_object.cpp:
45439        (JSC::Bindings::RuntimeObject::fallbackObjectGetter):
45440        (JSC::Bindings::RuntimeObject::fieldGetter):
45441        (JSC::Bindings::RuntimeObject::methodGetter):
45442        * bridge/runtime_object.h:
45443
454442013-12-05  Tim Horton  <timothy_horton@apple.com>
45445
45446        Remove Image::decodedSize()
45447        https://bugs.webkit.org/show_bug.cgi?id=125327
45448
45449        Reviewed by Sam Weinig.
45450
45451        No new tests, just removing dead code.
45452
45453        * platform/graphics/BitmapImage.cpp:
45454        (WebCore::BitmapImage::resetAnimation):
45455        * platform/graphics/BitmapImage.h:
45456        * platform/graphics/GeneratedImage.h:
45457        * platform/graphics/Image.h:
45458        * platform/graphics/cg/PDFDocumentImage.cpp:
45459        * platform/graphics/cg/PDFDocumentImage.h:
45460        * svg/graphics/SVGImage.h:
45461        * svg/graphics/SVGImageForContainer.h:
45462
454632013-12-05  Commit Queue  <commit-queue@webkit.org>
45464
45465        Unreviewed, rolling out r160133.
45466        http://trac.webkit.org/changeset/160133
45467        https://bugs.webkit.org/show_bug.cgi?id=125325
45468
45469        broke bindings tests on all the bots (Requested by thorton on
45470        #webkit).
45471
45472        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
45473        (WebCore::cssPropertyGetterPixelOrPosPrefixCallback):
45474        (WebCore::cssPropertyGetterCallback):
45475        * bindings/js/JSDOMBinding.cpp:
45476        (WebCore::objectToStringFunctionGetter):
45477        * bindings/js/JSDOMBinding.h:
45478        * bindings/js/JSDOMMimeTypeArrayCustom.cpp:
45479        (WebCore::JSDOMMimeTypeArray::nameGetter):
45480        * bindings/js/JSDOMPluginArrayCustom.cpp:
45481        (WebCore::JSDOMPluginArray::nameGetter):
45482        * bindings/js/JSDOMPluginCustom.cpp:
45483        (WebCore::JSDOMPlugin::nameGetter):
45484        * bindings/js/JSDOMStringMapCustom.cpp:
45485        (WebCore::JSDOMStringMap::nameGetter):
45486        * bindings/js/JSDOMWindowCustom.cpp:
45487        (WebCore::nonCachingStaticFunctionGetter):
45488        (WebCore::childFrameGetter):
45489        (WebCore::indexGetter):
45490        (WebCore::namedItemGetter):
45491        * bindings/js/JSHTMLAllCollectionCustom.cpp:
45492        (WebCore::JSHTMLAllCollection::nameGetter):
45493        * bindings/js/JSHTMLCollectionCustom.cpp:
45494        (WebCore::JSHTMLCollection::nameGetter):
45495        * bindings/js/JSHTMLDocumentCustom.cpp:
45496        (WebCore::JSHTMLDocument::nameGetter):
45497        * bindings/js/JSHTMLFormControlsCollectionCustom.cpp:
45498        (WebCore::JSHTMLFormControlsCollection::nameGetter):
45499        * bindings/js/JSHTMLFormElementCustom.cpp:
45500        (WebCore::JSHTMLFormElement::nameGetter):
45501        * bindings/js/JSHTMLFrameSetElementCustom.cpp:
45502        (WebCore::JSHTMLFrameSetElement::nameGetter):
45503        * bindings/js/JSHistoryCustom.cpp:
45504        (WebCore::nonCachingStaticBackFunctionGetter):
45505        (WebCore::nonCachingStaticForwardFunctionGetter):
45506        (WebCore::nonCachingStaticGoFunctionGetter):
45507        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
45508        (WebCore::JSJavaScriptCallFrame::scopeType):
45509        * bindings/js/JSLocationCustom.cpp:
45510        (WebCore::nonCachingStaticReplaceFunctionGetter):
45511        (WebCore::nonCachingStaticReloadFunctionGetter):
45512        (WebCore::nonCachingStaticAssignFunctionGetter):
45513        * bindings/js/JSNamedNodeMapCustom.cpp:
45514        (WebCore::JSNamedNodeMap::nameGetter):
45515        * bindings/js/JSNodeListCustom.cpp:
45516        (WebCore::JSNodeList::nameGetter):
45517        * bindings/js/JSPluginElementFunctions.cpp:
45518        (WebCore::pluginElementPropertyGetter):
45519        * bindings/js/JSPluginElementFunctions.h:
45520        * bindings/js/JSRTCStatsResponseCustom.cpp:
45521        (WebCore::JSRTCStatsResponse::nameGetter):
45522        * bindings/js/JSStorageCustom.cpp:
45523        (WebCore::JSStorage::nameGetter):
45524        * bindings/js/JSStyleSheetListCustom.cpp:
45525        (WebCore::JSStyleSheetList::nameGetter):
45526        * bindings/scripts/CodeGeneratorJS.pm:
45527        (GenerateHeader):
45528        (GenerateImplementation):
45529        (GenerateParametersCheck):
45530        * bridge/runtime_array.cpp:
45531        (JSC::RuntimeArray::lengthGetter):
45532        (JSC::RuntimeArray::indexGetter):
45533        * bridge/runtime_array.h:
45534        * bridge/runtime_method.cpp:
45535        (JSC::RuntimeMethod::lengthGetter):
45536        * bridge/runtime_method.h:
45537        * bridge/runtime_object.cpp:
45538        (JSC::Bindings::RuntimeObject::fallbackObjectGetter):
45539        (JSC::Bindings::RuntimeObject::fieldGetter):
45540        (JSC::Bindings::RuntimeObject::methodGetter):
45541        * bridge/runtime_object.h:
45542
455432013-12-05  Seokju Kwon  <seokju@webkit.org>
45544
45545        Web Inspector: Remove 'cookiesString' output from Page.getCookies
45546        https://bugs.webkit.org/show_bug.cgi?id=125268
45547
45548        Reviewed by Timothy Hatcher.
45549
45550        Remove 'cookiesString' output from Page.getCookies protocol.
45551        It is no longer meaningful because it is an unused parameter.
45552
45553        No new tests, no behavior change.
45554
45555        * inspector/InspectorPageAgent.cpp:
45556        (WebCore::InspectorPageAgent::getCookies):
45557        * inspector/InspectorPageAgent.h:
45558        * inspector/protocol/Page.json:
45559
455602013-12-05  Brian J. Burg  <burg@cs.washington.edu>
45561
45562        Web Inspector: expose node and frame snapshot capabilities.
45563        https://bugs.webkit.org/show_bug.cgi?id=124326
45564
45565        Reviewed by Joseph Pecoraro.
45566
45567        This adds snapshotRect() and snapshotNode() to the Page domain.
45568        Both methods create snapshots using FrameSnapshotting APIs
45569        and send images to the inspector frontend as a data URL.
45570
45571        Remove the unimplemented Page.captureScreenshot API.
45572
45573        * inspector/InspectorPageAgent.cpp:
45574        (WebCore::InspectorPageAgent::snapshotNode): Added.
45575        (WebCore::InspectorPageAgent::snapshotRect): Added.
45576        * inspector/InspectorPageAgent.h:
45577        * inspector/protocol/Page.json: Added new protocol APIs.
45578
455792013-12-04 Bear Travis <betravis@adobe.com>
45580
45581    [CSS Shapes] Enable CSS Shapes on Windows
45582    https://bugs.webkit.org/show_bug.cgi?id=89957
45583
45584    Reviewed by Brent Fulgham.
45585
45586    * css/CSSPropertyNames.in: Tweak to ensure shapes properties are regenerated.
45587
455882013-12-05  Roger Fong  <roger_fong@apple.com>
45589
45590        [WebGL] Make sure we satisfy uniform and varying packing restrictions.
45591        https://bugs.webkit.org/show_bug.cgi?id=125124.
45592        <rdar://problem/15203291>
45593
45594        Reviewed by Brent Fulgham.
45595
45596        Tests covered by WebGL Khronos conformance tests:
45597        webgl/1.0.2/conformance/glsl/misc/shader-uniform-packing-restrictions.html
45598        webgl/1.0.2/conformance/glsl/misc/shader-varying-packing-restrictions.html
45599
45600        * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
45601        (WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE):
45602
456032013-12-05  Laszlo Vidacs  <lac@inf.u-szeged.hu>
45604
45605        32bit buildfix after r160151
45606        https://bugs.webkit.org/show_bug.cgi?id=125298
45607
45608        Reviewed by Csaba Osztrogonác.
45609
45610        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
45611        (StreamingClient::handleDataReceived):
45612
456132013-12-05  Myles C. Maxfield  <mmaxfield@apple.com>
45614
45615        Cropping and drawing ImageBuffers results in uninitialized data being shown
45616        https://bugs.webkit.org/show_bug.cgi?id=125271
45617
45618        Reviewed by Simon Fraser.
45619
45620        createCroppedImageIfNecessary() crops to the bottom left of the ImageBuffer
45621        backing store instead of the top left. In addition, ImageBuffer::draw()
45622        draws the entire ImageBuffer's backing store instead of just the relevant
45623        portion of it.
45624
45625        No new tests are necessary because the existing tests already test this
45626        functionality
45627
45628        * platform/graphics/cg/ImageBufferCG.cpp:
45629        (WebCore::createCroppedImageIfNecessary): Crop to the top left of the
45630        backing store 
45631        (WebCore::ImageBuffer::draw): Draw only the logical portion of the
45632        backing store 
45633
456342013-12-05  Joseph Pecoraro  <pecoraro@apple.com>
45635
45636        Remove stale ScriptGlobalObject methods
45637        https://bugs.webkit.org/show_bug.cgi?id=125276
45638
45639        Reviewed by Sam Weinig.
45640
45641        * bindings/js/ScriptObject.cpp:
45642        (WebCore::ScriptGlobalObject::set):
45643        * bindings/js/ScriptObject.h:
45644
456452013-12-04  Ryosuke Niwa  <rniwa@webkit.org>
45646
45647        Change how the form element pointer affects parsing template elements, to reduce weirdness in templates
45648        https://bugs.webkit.org/show_bug.cgi?id=125279
45649
45650        Reviewed by Antti Koivisto.
45651
45652        Faithfully update the HTML5 parser after http://html5.org/tools/web-apps-tracker?from=8330&to=8331.
45653
45654        Test: fast/dom/HTMLTemplateElement/no-form-association-2.html
45655
45656        * html/parser/HTMLConstructionSite.cpp:
45657        (WebCore::HTMLConstructionSite::insertHTMLFormElement): Don't the form element pointer if the context
45658        element or its ancestor is a template element.
45659        (WebCore::HTMLConstructionSite::insideTemplateElement): Added.
45660        (WebCore::HTMLConstructionSite::createHTMLElement): Renamed openElementsContainTemplateElement to
45661        insideTemplateElement to reflect the true semantics of the boolean.
45662
45663        * html/parser/HTMLConstructionSite.h:
45664
45665        * html/parser/HTMLTreeBuilder.cpp:
45666        (WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody): Ignore the form element pointer if there
45667        is a template element on the stack of open elements. This faithfully reflects what's being said in the
45668        specification. We should probably make isParsingTemplateContents more efficient by storing a boolean
45669        and then wrap from() in some helper function but that should probbaly happen in a separate patch.
45670        (WebCore::HTMLTreeBuilder::processStartTagForInBody): Ditto.
45671        (WebCore::HTMLTreeBuilder::processStartTagForInTable): Ditto.
45672        (WebCore::HTMLTreeBuilder::processEndTagForInBody): Don't unset or rely on the form element pointer
45673        when there is a template element on the stack of open elements.
45674
45675        * html/parser/HTMLTreeBuilder.h:
45676        (WebCore::HTMLTreeBuilder::isParsingTemplateContents): Added a trivial implementation for when
45677        TEMPLATE_ELEMENT is disabled.
45678        (WebCore::HTMLTreeBuilder::isParsingFragmentOrTemplateContents): Merged two implementations.
45679
456802013-12-05  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
45681
45682        [MediaStream] Firing negotiationneeded event upon track add/remove on MediaStream
45683        https://bugs.webkit.org/show_bug.cgi?id=125243
45684
45685        Reviewed by Eric Carlson.
45686
45687        Spec states that: In particular, if an RTCPeerConnection object is consuming a MediaStream on which a track is
45688        added, by, e.g., the addTrack() method being invoked, the RTCPeerConnection object must fire the
45689        "negotiationneeded" event. Removal of media components must also trigger "negotiationneeded".
45690
45691        Existing tests updated.
45692
45693        * Modules/mediastream/MediaStream.cpp:
45694        (WebCore::MediaStream::addTrack):
45695        (WebCore::MediaStream::removeTrack):
45696        (WebCore::MediaStream::addObserver):
45697        (WebCore::MediaStream::removeObserver):
45698        * Modules/mediastream/MediaStream.h:
45699        * Modules/mediastream/RTCPeerConnection.cpp:
45700        (WebCore::RTCPeerConnection::~RTCPeerConnection):
45701        (WebCore::RTCPeerConnection::addStream):
45702        (WebCore::RTCPeerConnection::removeStream):
45703        (WebCore::RTCPeerConnection::didAddOrRemoveTrack):
45704        * Modules/mediastream/RTCPeerConnection.h:
45705        * platform/mock/RTCPeerConnectionHandlerMock.cpp:
45706        (WebCore::RTCPeerConnectionHandlerMock::addStream):
45707
457082013-12-05  Beth Dakin  <bdakin@apple.com>
45709
45710        Bad repaints on twitter when the tile cache has a margin
45711        https://bugs.webkit.org/show_bug.cgi?id=125263
45712        -and corresponding-
45713        <rdar://problem/15576884>
45714
45715        Reviewed by Tim Horton.
45716
45717        When tiles that used to be margin tiles become real-content tiles, they need to be 
45718        invalidated.
45719
45720        Two new helper functions will make it so that we don’t have to manually factor out 
45721        the margin from the bounds in more than one place in the code.
45722        * platform/graphics/ca/mac/TileController.h:
45723        * platform/graphics/ca/mac/TileController.mm:
45724        (WebCore::TileController::boundsWithoutMargin):
45725        (WebCore::TileController::boundsAtLastRevalidateWithoutMargin):
45726
45727         Here is one existing place where we used to factor out the margin, but now we can 
45728        call boundsWithoutMargin().
45729        (WebCore::TileController::adjustRectAtTileIndexForMargin):
45730
45731        And here is where we invalidate the formerly-margin tiles.
45732        (WebCore::TileController::revalidateTiles):
45733
457342013-12-05  Zoltan Horvath  <zoltan@webkit.org>
45735
45736        Remove the forward declaration of BidiContext class from RenderBlock.h
45737        https://bugs.webkit.org/show_bug.cgi?id=125265
45738
45739        Reviewed by Csaba Osztrogonác.
45740
45741        No new tests, no behavior change.
45742
45743        * rendering/RenderBlock.h: BidiContext is not used in RenderBlock.h
45744
457452013-12-05  Aloisio Almeida Jr  <aloisio.almeida@openbossa.org>
45746
45747        [Cairo] Avoid extra copy when drawing images
45748        https://bugs.webkit.org/show_bug.cgi?id=124209
45749
45750        Reviewed by Carlos Garcia Campos.
45751
45752        This commit applies some changes proposed after the original patch has
45753        been landed. It fixes the logic to create the subsurface (as it was
45754        inverted). It also remove an unnecessary RefPtr variable to hold the
45755        subsurface.
45756
45757        No new tests. It's an enhancement. Already covered by existing tests.
45758
45759        * platform/graphics/cairo/PlatformContextCairo.cpp:
45760        (WebCore::PlatformContextCairo::drawSurfaceToContext):
45761
457622013-12-05  Zoltan Horvath  <zoltan@webkit.org>
45763
45764        [CSS Shapes] Fix inset when only a subset of the arguments are defined
45765        https://bugs.webkit.org/show_bug.cgi?id=125277
45766
45767        Reviewed by David Hyatt.
45768
45769       I thought Length's default value is fixed-0, but actually it's auto-0. For the optional arguments
45770       of inset shape, we need to use fixed-0, so I updated the code and the tests to use that explicitly.
45771
45772        No new tests, I updated the old ones.
45773
45774        * css/BasicShapeFunctions.cpp:
45775        (WebCore::basicShapeForValue):
45776
457772013-12-05  Carlos Garcia Campos  <cgarcia@igalia.com>
45778
45779        [GTK] Do not use deprecated gtk-doc 'Rename to' tag
45780        https://bugs.webkit.org/show_bug.cgi?id=125303
45781
45782        Reviewed by Philippe Normand.
45783
45784        GObject introspection rename-to annotation is available in
45785        since version 0.6.3 so we should use that instead.
45786
45787        * bindings/gobject/WebKitDOMEventTarget.h:
45788
457892013-12-05  Carlos Garcia Campos  <cgarcia@igalia.com>
45790
45791        [GTK] Add missing symbols to WebKitDOMDeprecated.symbols
45792        https://bugs.webkit.org/show_bug.cgi?id=125300
45793
45794        Reviewed by Philippe Normand.
45795
45796        Add webkit_dom_html_element_get_id and
45797        webkit_dom_html_element_set_id to the symbols files.
45798
45799        * bindings/gobject/WebKitDOMDeprecated.symbols:
45800        * bindings/gobject/webkitdom.symbols:
45801
458022013-12-05  Carlos Garcia Campos  <cgarcia@igalia.com>
45803
45804        Unreviewed. Update GObject DOM bindings symbols file after r159711.
45805
45806        * bindings/gobject/webkitdom.symbols:
45807
458082013-12-05  Zan Dobersek  <zdobersek@igalia.com>
45809
45810        [GTK] Move platform sources free of layering violations under libPlatform
45811        https://bugs.webkit.org/show_bug.cgi?id=117509
45812
45813        Reviewed by Carlos Garcia Campos.
45814
45815        * GNUmakefile.list.am: Move additional source files located in the platform layer under libPlatform.
45816        All moved sources are free of layering violations and thus ready for the migration.
45817
458182013-12-05  László Langó  <lango@inf.u-szeged.hu>
45819
45820        Remove bridge/testqtbindings.cpp.
45821        https://bugs.webkit.org/show_bug.cgi?id=125287
45822
45823        Reviewed by Alexey Proskuryakov.
45824
45825        * bridge/testqtbindings.cpp: Removed. There is no QT anymore.
45826        We don't need this file.
45827
458282013-12-04  Gurpreet Kaur  <k.gurpreet@samsung.com>
45829
45830        % unit heights don't work if parent block height is set in vh
45831        https://bugs.webkit.org/show_bug.cgi?id=118516
45832
45833        Reviewed by Simon Fraser.
45834
45835        From Blink r156449 by <srinivasa.ragavan.venkateswaran@intel.com>
45836
45837        An element having height as percentage needs to have the
45838        containingblock's height or availableheight to calculate its
45839        own height. The containing block having a height set in vh
45840        unit was not being considered for calculating the child's
45841        height.
45842
45843        Tests: fast/css/viewport-percentage-compute-box-height.html
45844               fast/css/viewport-percentage-compute-box-width.html
45845
45846        * rendering/RenderBox.cpp:
45847        (WebCore::RenderBox::computePercentageLogicalHeight):
45848        Correct child's height(in pecentage) was not being calculated
45849        incase of parent having height set in vh unit. Added condition
45850        to calculate the containing block height in terms of viewport size.
45851
458522013-12-04  Roger Fong  <roger_fong@apple.com>
45853
45854        [Windows] Unreviewed build fix. Copy headers from rendering/line to build directory.
45855
45856        * WebCore.vcxproj/copyForwardingHeaders.cmd:
45857
458582013-12-04  Ryosuke Niwa  <rniwa@webkit.org>
45859
45860        bgColor, setBgColor, alinkColor, setAlinkColor, and etc... on HTMLBodyElement are useless
45861        https://bugs.webkit.org/show_bug.cgi?id=125208
45862
45863        Rubber-stamped by Anders Carlsson.
45864
45865        Address Darin's comment to use fastGetAttribute instead of getAttribute.
45866
45867        * html/HTMLDocument.cpp:
45868        (WebCore::HTMLDocument::bgColor):
45869        (WebCore::HTMLDocument::fgColor):
45870        (WebCore::HTMLDocument::alinkColor):
45871        (WebCore::HTMLDocument::linkColor):
45872        (WebCore::HTMLDocument::vlinkColor):
45873
458742013-12-04  Brian J. Burg  <burg@cs.washington.edu>
45875
45876        Consolidate various frame snapshot capabilities.
45877        https://bugs.webkit.org/show_bug.cgi?id=124325
45878
45879        Reviewed by Darin Adler.
45880
45881        Various snapshot creation methods had duplicated code and were split
45882        between Frame, DragImage, and platform-specific implementationss.
45883        This patch puts WebCore snapshot methods into FrameSnapshotting
45884        and removes platform implementations where possible.
45885
45886        DragImage methods reuse snapshot methods where possible. Inspector
45887        will be able to take snapshots without using drag images.
45888
45889        No new tests, this is a refactoring.
45890
45891        * CMakeLists.txt:
45892        * GNUmakefile.list.am:
45893        * WebCore.exp.in:
45894        * WebCore.vcxproj/WebCore.vcxproj:
45895        * WebCore.vcxproj/WebCore.vcxproj.filters:
45896        * WebCore.xcodeproj/project.pbxproj:
45897        * bindings/objc/DOM.mm:
45898        (-[DOMNode renderedImage]):
45899        (-[DOMRange renderedImageForcingBlackText:]):
45900        * dom/Clipboard.cpp:
45901        (WebCore::Clipboard::createDragImage):
45902        * dom/ClipboardMac.mm:
45903        (WebCore::Clipboard::createDragImage):
45904        * page/DragController.cpp:
45905        (WebCore::DragController::startDrag):
45906        * page/Frame.cpp:
45907        * page/Frame.h:
45908        * page/FrameSnapshotting.cpp: Added.
45909        (WebCore::ScopedFramePaintingState::ScopedFramePaintingState):
45910        (WebCore::ScopedFramePaintingState::~ScopedFramePaintingState):
45911        (WebCore::snapshotFrameRect): Move most buffer logic to here.
45912        (WebCore::snapshotSelection): Moved from Frame.
45913        (WebCore::snapshotNode): Moved from Frame.
45914        * page/FrameSnapshotting.h: Added.
45915        * page/mac/FrameMac.mm: Removed.
45916        * page/mac/FrameSnapshottingMac.h: Removed.
45917        * page/mac/FrameSnapshottingMac.mm: Removed.
45918        * page/win/FrameWin.cpp: remove duplicate implementation.
45919        * page/win/FrameWin.h: Fix an incorrect parameter name.
45920        * platform/DragImage.cpp:
45921        (WebCore::ScopedNodeDragState::ScopedNodeDragState):
45922        (WebCore::ScopedNodeDragState::~ScopedNodeDragState):
45923        (WebCore::createDragImageFromSnapshot): Boilerplate buffer conversion.
45924        (WebCore::createDragImageForNode):
45925        (WebCore::createDragImageForSelection):
45926        (WebCore::ScopedFrameSelectionState::ScopedFrameSelectionState):
45927        (WebCore::ScopedFrameSelectionState::~ScopedFrameSelectionState):
45928        (WebCore::createDragImageForRange): Moved from Frame.
45929        (WebCore::createDragImageForImage): Moved from FrameSnapshottingMac.
45930        (WebCore::createDragImageForLink): use nullptr.
45931
459322013-12-04  Benjamin Poulain  <bpoulain@apple.com>
45933
45934        Remove spaces on a blank line to have ResourceHandleCFNet.cpp identical to iOS
45935
45936        Unreviewed.
45937
45938        * platform/network/cf/ResourceHandleCFNet.cpp:
45939        (WebCore::ResourceHandle::platformLoadResourceSynchronously):
45940
459412013-12-04  Antti Koivisto  <antti@apple.com>
45942
45943        Move pseudo element construction out from Element
45944        https://bugs.webkit.org/show_bug.cgi?id=125257
45945
45946        Reviewed by Anders Carlsson.
45947
45948        This is logically part of the style resolve/render tree construction. This will make future
45949        refactoring easier.
45950
45951        * dom/Element.cpp:
45952        * dom/Element.h:
45953        * style/StyleResolveTree.cpp:
45954        (WebCore::Style::beforeOrAfterPseudoElement):
45955        (WebCore::Style::setBeforeOrAfterPseudoElement):
45956        (WebCore::Style::clearBeforeOrAfterPseudoElement):
45957        (WebCore::Style::needsPseudeElement):
45958        (WebCore::Style::attachBeforeOrAfterPseudoElementIfNeeded):
45959        (WebCore::Style::attachRenderTree):
45960        (WebCore::Style::updateBeforeOrAfterPseudoElement):
45961        (WebCore::Style::resolveTree):
45962
459632013-12-04  Zoltan Horvath  <zoltan@webkit.org>
45964
45965        Move TrailingObjects class into its own h/cpp
45966        https://bugs.webkit.org/show_bug.cgi?id=124956
45967
45968        Reviewed by David Hyatt.
45969
45970        Since I moved space-ignoring inline functions into MidpointState in r160074,
45971        I can nicely separate TrailingObjects class from BreakingContextInlineHeader.h.
45972        This change improves the readability, and it's part of the RenderBlockLineLayout
45973        refactoring campaign, which is tracked under bug #121261.
45974
45975        No new tests, no behavior change.
45976
45977        * CMakeLists.txt:
45978        * GNUmakefile.list.am:
45979        * WebCore.vcxproj/WebCore.vcxproj:
45980        * WebCore.xcodeproj/project.pbxproj:
45981        * rendering/RenderBlock.h:
45982        * rendering/RenderBlockFlow.h:
45983        * rendering/line/BreakingContextInlineHeaders.h:
45984        * rendering/line/TrailingObjects.cpp: Added.
45985        (WebCore::TrailingObjects::updateMidpointsForTrailingBoxes):
45986        * rendering/line/TrailingObjects.h: Added.
45987        (WebCore::TrailingObjects::TrailingObjects):
45988        (WebCore::TrailingObjects::setTrailingWhitespace):
45989        (WebCore::TrailingObjects::clear):
45990        (WebCore::TrailingObjects::appendBoxIfNeeded):
45991
459922013-12-04  Oliver Hunt  <oliver@apple.com>
45993
45994        Refactor static getter function prototype to include thisValue in addition to the base object
45995        https://bugs.webkit.org/show_bug.cgi?id=124461
45996
45997        Reviewed by Geoffrey Garen.
45998
45999        Change bindings codegen to produce static getter functions
46000        with the correct types.  Also update the many custom implementations
46001        to the new type.
46002
46003        No change in behaviour.
46004
46005        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
46006        (WebCore::cssPropertyGetterPixelOrPosPrefixCallback):
46007        (WebCore::cssPropertyGetterCallback):
46008        * bindings/js/JSDOMBinding.cpp:
46009        (WebCore::objectToStringFunctionGetter):
46010        * bindings/js/JSDOMBinding.h:
46011        * bindings/js/JSDOMMimeTypeArrayCustom.cpp:
46012        (WebCore::JSDOMMimeTypeArray::nameGetter):
46013        * bindings/js/JSDOMPluginArrayCustom.cpp:
46014        (WebCore::JSDOMPluginArray::nameGetter):
46015        * bindings/js/JSDOMPluginCustom.cpp:
46016        (WebCore::JSDOMPlugin::nameGetter):
46017        * bindings/js/JSDOMStringMapCustom.cpp:
46018        (WebCore::JSDOMStringMap::nameGetter):
46019        * bindings/js/JSDOMWindowCustom.cpp:
46020        (WebCore::nonCachingStaticFunctionGetter):
46021        (WebCore::childFrameGetter):
46022        (WebCore::indexGetter):
46023        (WebCore::namedItemGetter):
46024        * bindings/js/JSHTMLAllCollectionCustom.cpp:
46025        (WebCore::JSHTMLAllCollection::nameGetter):
46026        * bindings/js/JSHTMLCollectionCustom.cpp:
46027        (WebCore::JSHTMLCollection::nameGetter):
46028        * bindings/js/JSHTMLDocumentCustom.cpp:
46029        (WebCore::JSHTMLDocument::nameGetter):
46030        * bindings/js/JSHTMLFormControlsCollectionCustom.cpp:
46031        (WebCore::JSHTMLFormControlsCollection::nameGetter):
46032        * bindings/js/JSHTMLFormElementCustom.cpp:
46033        (WebCore::JSHTMLFormElement::nameGetter):
46034        * bindings/js/JSHTMLFrameSetElementCustom.cpp:
46035        (WebCore::JSHTMLFrameSetElement::nameGetter):
46036        * bindings/js/JSHistoryCustom.cpp:
46037        (WebCore::nonCachingStaticBackFunctionGetter):
46038        (WebCore::nonCachingStaticForwardFunctionGetter):
46039        (WebCore::nonCachingStaticGoFunctionGetter):
46040        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
46041        (WebCore::JSJavaScriptCallFrame::scopeType):
46042        * bindings/js/JSLocationCustom.cpp:
46043        (WebCore::nonCachingStaticReplaceFunctionGetter):
46044        (WebCore::nonCachingStaticReloadFunctionGetter):
46045        (WebCore::nonCachingStaticAssignFunctionGetter):
46046        * bindings/js/JSNamedNodeMapCustom.cpp:
46047        (WebCore::JSNamedNodeMap::nameGetter):
46048        * bindings/js/JSNodeListCustom.cpp:
46049        (WebCore::JSNodeList::nameGetter):
46050        * bindings/js/JSPluginElementFunctions.cpp:
46051        (WebCore::pluginElementPropertyGetter):
46052        * bindings/js/JSPluginElementFunctions.h:
46053        * bindings/js/JSRTCStatsResponseCustom.cpp:
46054        (WebCore::JSRTCStatsResponse::nameGetter):
46055        * bindings/js/JSStorageCustom.cpp:
46056        (WebCore::JSStorage::nameGetter):
46057        * bindings/js/JSStyleSheetListCustom.cpp:
46058        (WebCore::JSStyleSheetList::nameGetter):
46059        * bindings/scripts/CodeGeneratorJS.pm:
46060        (GenerateHeader):
46061        (GenerateImplementation):
46062        (GenerateParametersCheck):
46063        * bridge/runtime_array.cpp:
46064        (JSC::RuntimeArray::lengthGetter):
46065        (JSC::RuntimeArray::indexGetter):
46066        * bridge/runtime_array.h:
46067        * bridge/runtime_method.cpp:
46068        (JSC::RuntimeMethod::lengthGetter):
46069        * bridge/runtime_method.h:
46070        * bridge/runtime_object.cpp:
46071        (JSC::Bindings::RuntimeObject::fallbackObjectGetter):
46072        (JSC::Bindings::RuntimeObject::fieldGetter):
46073        (JSC::Bindings::RuntimeObject::methodGetter):
46074        * bridge/runtime_object.h:
46075
460762013-12-04  Zoltan Horvath  <zoltan@webkit.org>
46077
46078        [CSS Shapes] Support inset for shape-outside
46079        <https://webkit.org/b/125112>
46080
46081        Reviewed by David Hyatt.
46082
46083        This patch adds inset support for shape-outside. Parsing has previously landed in r159968.
46084        Specification: http://dev.w3.org/csswg/css-shapes/#supported-basic-shapes
46085
46086        Tests: fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-bottom-left.html
46087               fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-bottom-right.html
46088               fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-top-left.html
46089               fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-top-right.html
46090               fast/shapes/shape-outside-floats/shape-outside-floats-inset.html
46091
46092        * platform/LengthSize.h:
46093        (WebCore::LengthSize::floatSize): Add conversion to FloatSize.
46094        * rendering/shapes/Shape.cpp:
46095        (WebCore::Shape::createShape): Handle inset case.
46096
460972013-12-04  Bear Travis  <betravis@adobe.com>
46098
46099        Web Inspector: [CSS Shapes] Support raster shape visualizations
46100        https://bugs.webkit.org/show_bug.cgi?id=124080
46101
46102        Reviewed by Joseph Pecoraro.
46103
46104        Create an inspector visualization for a shape created from an image.
46105        The visualization takes each line of the image, combining where possible.
46106
46107        Test added to inspector-protocol/model/highlight-shape-outside.html
46108
46109        * rendering/shapes/RasterShape.cpp:
46110        (WebCore::RasterShapeIntervals::buildBoundsPath): Create a path representing the
46111        RasterShapeIntervals.
46112        * rendering/shapes/RasterShape.h:
46113
461142013-12-04  Zoltan Horvath  <zoltan@webkit.org>
46115
46116        [CSS Shapes] Remove explicit numbering from BasicShape::Type and CSSBasicShape::Type enums
46117        https://bugs.webkit.org/show_bug.cgi?id=125163
46118
46119        Reviewed by Rob Buis.
46120
46121        I don't see any reason to have explicit numbering for the Type enum in our [CSS]BasicShape classes.
46122        I removed numbering, which will decrease for instance the merge conflicts on Type changes.
46123
46124        No new tests, no behavior change.
46125
46126        * css/CSSBasicShapes.h:
46127        * rendering/style/BasicShapes.h:
46128
461292013-12-04  Myles C. Maxfield  <mmaxfield@apple.com>
46130
46131        Allow ImageBuffer to use an IOSurface that is larger than necessary
46132        https://bugs.webkit.org/show_bug.cgi?id=124626
46133
46134        Reviewed by Simon Fraser.
46135
46136        Because creating ImageBuffer's backing store can be so expensive, it
46137        would be beneficial to have a pool of pre-created backing stores
46138        available. However, this means that ImageBuffer might have to use a
46139        backing store that is larger than the exact dimensions that it needs.
46140        This patch adds a field, m_backingStoreSize, to CG's ImageBufferData
46141        class, and uses this new field when performing ImageBuffer operations
46142        to allow for larger-than-necessary backing stores. Content is always
46143        drawn in the top left corner of the backing store.
46144
46145        No new tests are necessary because there is no behavior change.
46146
46147        * platform/graphics/ImageBuffer.h:
46148        (WebCore::ImageBuffer::baseTransform): The base transform has to put
46149        content at the top left corner instead of bottom left
46150        * platform/graphics/cg/ImageBufferCG.cpp:
46151        (WebCore::createCroppedImageIfNecessary): Convenience function to figure out
46152        the dimensions of the backing texture in user space
46153        (WebCore::ImageBuffer::ImageBuffer): Set up new m_backingStoreSize member
46154        (WebCore::maybeCropToBounds): Some ImageBuffer API functions require
46155        outputting an image with logical size. This function performs the cropping
46156        (WebCore::ImageBuffer::copyImage): Updated for larger-than-necessary
46157        backing stores
46158        (WebCore::ImageBuffer::copyNativeImage): Ditto
46159        (WebCore::ImageBuffer::draw): Ditto
46160        (WebCore::ImageBuffer::clip): Ditto
46161        (WebCore::ImageBuffer::putByteArray): Ditto
46162        (WebCore::ImageBuffer::toDataURL): Ditto
46163        * platform/graphics/cg/ImageBufferDataCG.cpp:
46164        (WebCore::ImageBufferData::getData): Ditto
46165        (WebCore::ImageBufferData::putData): Ditto
46166        * platform/graphics/cg/ImageBufferDataCG.h: New m_backingStoreSize field
46167
461682013-12-03  Dean Jackson  <dino@apple.com>
46169
46170        [WebGL] Support for texImage2D of type HALF_FLOAT_OES
46171        https://bugs.webkit.org/show_bug.cgi?id=110936
46172
46173        Reviewed by Brent Fulgham.
46174
46175        Add support for the HALF_FLOAT_OES texture format from texImage2D
46176        and texSubImage2D.
46177
46178        A lot of this patch comes from the original patch on the bug
46179        by Nayan Kumar, and the Blink commit:
46180        https://codereview.chromium.org/13842017
46181
46182        Tests: fast/canvas/webgl/oes-texture-half-float-with-canvas.html
46183               fast/canvas/webgl/oes-texture-half-float-with-image.html
46184               fast/canvas/webgl/oes-texture-half-float-with-video.html
46185
46186        * html/canvas/OESTextureHalfFloat.idl: New HALF_FLOAT_OES constant value.
46187        * html/canvas/WebGLRenderingContext.cpp:
46188        (WebCore::WebGLRenderingContext::validateTexFunc): Remove the code that
46189        would bail if half-float values were used.
46190        * platform/graphics/GraphicsContext3D.cpp:
46191        - Return appropriate DataFormats for half floating point types.
46192        - Copy the float -> half-float code from Blink
46193        - New pack functions for half floats
46194        * platform/graphics/GraphicsContext3D.h: New format types.
46195        * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
46196        (WebCore::GraphicsContext3D::texSubImage2D): Use GL_HALF_FLOAT_ARB if we're passed
46197        a HALF_FLOAT_OES.
46198
461992013-12-04  Daniel Bates  <dabates@apple.com>
46200
46201        Fix the Apple Windows build after <http://trac.webkit.org/changeset/160113>
46202        (https://bugs.webkit.org/show_bug.cgi?id=125193)
46203
46204        * rendering/RenderThemeWin.cpp:
46205        (WebCore::RenderThemeWin::paintMenuList): Substitute paintInfo for i.
46206
462072013-12-04  Daniel Bates  <dabates@apple.com>
46208
46209        Rename RenderTheme::paintMenuListButton()
46210        https://bugs.webkit.org/show_bug.cgi?id=125193
46211
46212        Reviewed by Simon Fraser.
46213
46214        Towards upstreaming the iOS concept of render theme decorations we should rename
46215        RenderTheme::paintMenuListButton() to RenderTheme::paintMenuListButtonDecorations()
46216        to better describe its purpose.
46217
46218        Also, fix code style issues.
46219
46220        * platform/blackberry/RenderThemeBlackBerry.cpp:
46221        (WebCore::RenderThemeBlackBerry::paintMenuListButtonDecorations):
46222        * platform/blackberry/RenderThemeBlackBerry.h:
46223        * platform/efl/RenderThemeEfl.cpp:
46224        (WebCore::RenderThemeEfl::paintMenuListButtonDecorations):
46225        * platform/efl/RenderThemeEfl.h:
46226        * platform/gtk/RenderThemeGtk.cpp:
46227        (WebCore::RenderThemeGtk::paintMenuListButtonDecorations):
46228        * platform/gtk/RenderThemeGtk.h:
46229        * platform/nix/RenderThemeNix.h:
46230        * rendering/RenderTheme.cpp:
46231        (WebCore::RenderTheme::paintDecorations): Rename argument o, r to renderer and rect, respectively.
46232        * rendering/RenderTheme.h:
46233        (WebCore::RenderTheme::paintMenuListButtonDecorations):
46234        * rendering/RenderThemeMac.h:
46235        * rendering/RenderThemeMac.mm:
46236        (WebCore::RenderThemeMac::paintMenuListButtonDecorations): Rename argument o, r to renderer and rect,
46237        respectively; also remove extraneous white space and substitute 1 for 1.0f.
46238        * rendering/RenderThemeSafari.cpp:
46239        (WebCore::RenderThemeSafari::paintMenuListButtonDecorations): Ditto.
46240        * rendering/RenderThemeSafari.h:
46241        * rendering/RenderThemeWin.cpp:
46242        (WebCore::RenderThemeWin::paintMenuList): Rename argument o, i, r to renderer, paintInfo, and rect,
46243        respectively.
46244        (WebCore::RenderThemeWin::paintMenuListButtonDecorations): Ditto.
46245        * rendering/RenderThemeWin.h:
46246        * rendering/RenderThemeWinCE.cpp:
46247        (WebCore::RenderThemeWinCE::paintMenuList): Ditto.
46248        (WebCore::RenderThemeWinCE::paintMenuListButtonDecorations): Ditto. 
46249        * rendering/RenderThemeWinCE.h:
46250
462512013-12-04  Andy Estes  <aestes@apple.com>
46252
46253        [iOS] Build projects with $(ARCHS_STANDARD_32_64_BIT)
46254        https://bugs.webkit.org/show_bug.cgi?id=125236
46255
46256        Reviewed by Sam Weinig.
46257
46258        $(ARCHS_STANDARD_32_64_BIT) is what we want for both device and simulator builds.
46259
46260        * Configurations/DebugRelease.xcconfig:
46261
462622013-12-04  Joseph Pecoraro  <pecoraro@apple.com>
46263
46264        Unreviewed Windows build fix attempt after r160099.
46265
46266        * WebCore.vcxproj/WebCore.vcxproj.filters:
46267        * WebCore.vcxproj/copyForwardingHeaders.cmd:
46268
462692013-12-03  Joseph Pecoraro  <pecoraro@apple.com>
46270
46271        Web Inspector: Push Remote Inspector debugging connection management into JavaScriptCore
46272        https://bugs.webkit.org/show_bug.cgi?id=124613
46273
46274        Reviewed by Timothy Hatcher.
46275
46276        Make a WebCore::Page a "Web" Remote Debuggable.
46277
46278        * bindings/js/JSDOMGlobalObject.cpp:
46279        Disable JavaScript context inspection on JSGlobalObjects inside WebCore::Page's.
46280
46281        * page/Page.cpp:
46282        (WebCore::Page::Page):
46283        (WebCore::Page::remoteInspectionAllowed):
46284        (WebCore::Page::setRemoteInspectionAllowed):
46285        (WebCore::Page::remoteInspectorInformationDidChange):
46286        * page/Page.h:
46287        * page/PageDebuggable.h:
46288        * page/PageDebuggable.cpp: Added.
46289        (WebCore::PageDebuggable::PageDebuggable):
46290        (WebCore::PageDebuggable::name):
46291        (WebCore::PageDebuggable::url):
46292        (WebCore::PageDebuggable::hasLocalDebugger):
46293        (WebCore::PageDebuggable::connect):
46294        (WebCore::PageDebuggable::disconnect):
46295        (WebCore::PageDebuggable::dispatchMessageFromRemoteFrontend):
46296        (WebCore::PageDebuggable::setIndicating):
46297        Make a page a "Web" debuggable.
46298
46299        * GNUmakefile.list.am:
46300        * WebCore.exp.in:
46301        * WebCore.vcxproj/WebCore.vcxproj:
46302        * WebCore.vcxproj/WebCore.vcxproj.filters:
46303        * WebCore.xcodeproj/project.pbxproj:
46304        Misc.
46305
46306        * inspector/InspectorClient.h:
46307        (WebCore::InspectorClient::indicate):
46308        (WebCore::InspectorClient::hideIndicate):
46309        Forward indicate methods to WebKit clients.
46310
46311        * loader/FrameLoader.cpp:
46312        (WebCore::FrameLoader::didChangeTitle):
46313        (WebCore::FrameLoader::dispatchDidCommitLoad):
46314        Push updates when remote debuggable information like the Page's
46315        URL or title change.
46316
46317        * ForwardingHeaders/inspector/InspectorFrontendChannel.h:
46318        * inspector/InspectorForwarding.h:
46319        Re-export Inspector::InspectorFrontendChannel as WebCore::InspectorFrontendChannel
46320        to avoid needlessly updating code all over the place.
46321
46322        * inspector/CodeGeneratorInspectorStrings.py:
46323        * inspector/InspectorWorkerAgent.cpp:
46324        * inspector/WorkerInspectorController.cpp:
46325        * testing/Internals.cpp:
46326        Update include names.
46327
46328        * page/ContextMenuController.cpp:
46329        (WebCore::ContextMenuController::populate):
46330        Make the "Inspect Element" context menu work correctly when there is a
46331        remote inspector instead of a local inspector.
46332
463332013-12-03  Joseph Pecoraro  <pecoraro@apple.com>
46334
46335        Web Inspector: Add missing folders and files to Xcode project
46336        https://bugs.webkit.org/show_bug.cgi?id=124802
46337
46338        Reviewed by Timothy Hatcher.
46339
46340        * WebCore.xcodeproj/project.pbxproj:
46341
463422013-12-04  José Dapena Paz  <jdapena@igalia.com>
46343
46344        [texmap] Borders on rotating images are hidden/wrongly rendered with edge distance antialiasing
46345        https://bugs.webkit.org/show_bug.cgi?id=124653
46346
46347        Reviewed by Noam Rosenthal.
46348
46349        Texture mapper edge distance antialiasing texture sampling was causing
46350        borders to be shaded (and made them almost disappear in some cases).
46351        This was because calculation of sampling happened on vertex shader, so
46352        the border of the texture would go to the border of the inflation area.
46353
46354        What algorithm should do is sampling the border pixel for all the
46355        inflation area (it is the closest pixel to all the samples in
46356        inflation area), and then use the standard sampling for the other
46357        parts of the texture.
46358
46359        No new test because this is already covered by test
46360        transforms/3d/point-mapping/3d-point-mapping.html
46361
46362        * platform/graphics/texmap/TextureMapperShaderProgram.cpp: fix edge
46363        distance antialiasing texture sampling.
46364
463652013-12-04  László Langó  <lango@inf.u-szeged.hu>
46366
46367        Typo fix after r160074 to fix debug builds.
46368
46369        Reviewed by Csaba Osztrogonác.
46370
46371        * platform/text/BidiResolver.h:
46372        (WebCore::MidpointState::stopIgnoringSpaces):
46373
463742013-12-04  Zoltan Horvath  <zoltan@webkit.org>
46375
46376        Move space-ignoring inline functions into MidpointState
46377        <https://webkit.org/b/124957>
46378
46379        Reviewed by David Hyatt.
46380
46381        Since:
46382         - The following inline functions were used only with a mandatory LineMidpointState argument:
46383           startIgnoringSpaces, stopIgnoringSpaces, ensureLineBoxInsideIgnoredSpaces, deprecatedAddMidpoint.
46384         - TrailingObjects class uses these functions. Since they're inline in BreakingContextInlineHeaders.h,
46385           it's hard to separate TrailingObjects into it's own file. (blocks bug #124956)
46386         I made these functions as a member of LineMidpointState, and I also updated the call sites.
46387
46388        No new tests, no behavior change.
46389
46390        * platform/text/BidiResolver.h:
46391        (WebCore::MidpointState::startIgnoringSpaces):
46392        (WebCore::MidpointState::stopIgnoringSpaces):
46393        (WebCore::MidpointState::ensureLineBoxInsideIgnoredSpaces):
46394        (WebCore::MidpointState::deprecatedAddMidpoint):
46395        * rendering/RenderBlock.h:
46396        * rendering/line/BreakingContextInlineHeaders.h:
46397        (WebCore::TrailingObjects::updateMidpointsForTrailingBoxes):
46398        (WebCore::BreakingContext::handleBR):
46399        (WebCore::BreakingContext::handleOutOfFlowPositioned):
46400        (WebCore::shouldSkipWhitespaceAfterStartObject):
46401        (WebCore::BreakingContext::handleEmptyInline):
46402        (WebCore::BreakingContext::handleReplaced):
46403        (WebCore::ensureCharacterGetsLineBox):
46404        (WebCore::BreakingContext::handleText):
46405
464062013-12-03  Zoltan Horvath  <zoltan@webkit.org>
46407
46408        Remove BreakingContext's friendship from RenderBlockFlow
46409        <https://webkit.org/b/124958>
46410
46411        Reviewed by David Hyatt.
46412
46413        BreakingContext uses only 2 functions from RenderBlockFlow: insertFloatingObject/positionNewFloatOnLine. I added helper
46414        functions to LineBreaker, what is already a friend of RenderBlockFlow, so BreakingContext doesn't need to be anymore.
46415 
46416        No new tests, no behavior change.
46417
46418        * rendering/RenderBlockFlow.h:
46419        * rendering/line/BreakingContextInlineHeaders.h:
46420        (WebCore::BreakingContext::handleFloat):
46421        * rendering/line/LineBreaker.h:
46422        (WebCore::LineBreaker::insertFloatingObject):
46423        (WebCore::LineBreaker::positionNewFloatOnLine):
46424
464252013-12-03  Ryosuke Niwa  <rniwa@webkit.org>
46426
46427        bgColor, setBgColor, alinkColor, setAlinkColor, and etc... on HTMLBodyElement are useless
46428        https://bugs.webkit.org/show_bug.cgi?id=125208
46429
46430        Reviewed by Antti Koivisto.
46431
46432        Merge https://chromium.googlesource.com/chromium/blink/+/49b1eeabbbf573d5271288c66d2b566cf33a09cf
46433
46434        These member functions of HTMLBodyElement were only used by corresponding functions in HTMLDocument
46435        since they had the Reflect option specified in HTMLBodyElement.idl.
46436
46437        Removed the functions and directly called getAttribute and setAttribute in relevant functions in
46438        HTMLDocument. The optimization to avoid assignment is no longer needed here since we've added that
46439        optimization to setAttributeInternal a while ago.
46440
46441        * html/HTMLBodyElement.cpp:
46442        * html/HTMLBodyElement.h:
46443        * html/HTMLDocument.cpp:
46444        (WebCore::HTMLDocument::bgColor):
46445        (WebCore::HTMLDocument::setBgColor):
46446        (WebCore::HTMLDocument::fgColor):
46447        (WebCore::HTMLDocument::setFgColor):
46448        (WebCore::HTMLDocument::alinkColor):
46449        (WebCore::HTMLDocument::setAlinkColor):
46450        (WebCore::HTMLDocument::linkColor):
46451        (WebCore::HTMLDocument::setLinkColor):
46452        (WebCore::HTMLDocument::vlinkColor):
46453        (WebCore::HTMLDocument::setVlinkColor):
46454        * html/HTMLDocument.h:
46455
464562013-12-03  Andreas Kling  <akling@apple.com>
46457
46458        Add a CSSProperty::isDirectionAwareProperty() helper.
46459        <https://webkit.org/b/125202>
46460
46461        Move the block of case labels for checking whether a CSS property ID
46462        is a directional property into a separate function. Also removed an
46463        outdated comment about CSS variables.
46464
46465        Reviewed by Antti Koivisto.
46466
464672013-12-03  Ryosuke Niwa  <rniwa@webkit.org>
46468
46469        Revert the inadvertently committed change.
46470
46471        * html/HTMLElement.idl:
46472
464732013-12-03  Ryosuke Niwa  <rniwa@webkit.org>
46474
46475        Remove nodeIsDetachedFromDocument and visualWordMovementEnabled in FrameSelection
46476        https://bugs.webkit.org/show_bug.cgi?id=125210
46477
46478        Reviewed by Antti Koivisto.
46479
46480        Inspired by https://chromium.googlesource.com/chromium/blink/+/92409870f0ff8fafe31217830db0838a9e1ffb98
46481
46482        Removed some unused code.
46483
46484        * editing/FrameSelection.cpp:
46485        (WebCore::FrameSelection::textWasReplaced):
46486        * editing/FrameSelection.h:
46487        * page/Settings.in:
46488
464892013-12-03  Ryosuke Niwa  <rniwa@webkit.org>
46490
46491        Potential crash in RenderView::selectionBounds and RenderView::repaintSelection
46492        https://bugs.webkit.org/show_bug.cgi?id=125207
46493
46494        Reviewed by Simon Fraser.
46495        
46496        Merge https://chromium.googlesource.com/chromium/blink/+/f9e6e288a5aa959f05c374806121aaf0fc52d440
46497
46498        Update style in FrameSelection instead of RenderView's member functions. These are the last two
46499        member functions of RenderView that updates the style.
46500
46501        * editing/FrameSelection.cpp:
46502        (WebCore::FrameSelection::focusedOrActiveStateChanged):
46503        (WebCore::FrameSelection::bounds):
46504        * rendering/RenderView.cpp:
46505        (WebCore::RenderView::selectionBounds):
46506        (WebCore::RenderView::repaintSelection):
46507
465082013-12-03  Mark Rowe  <mrowe@apple.com>
46509
46510        <https://webkit.org/b/125143> Improve the formatting in the generated Objective-C headers.
46511
46512        Add a space between @property and any parenthesized attributes.
46513        Prefer strong over retain when specifying memory management semantics.
46514
46515        Reviewed by Darin Adler.
46516
46517        * bindings/objc/PublicDOMInterfaces.h:
46518        * bindings/scripts/CodeGeneratorObjC.pm:
46519        (GetPropertyAttributes): Generate strong instead of retain. Include a
46520        space before the parenthesis.
46521        * bindings/scripts/test/ObjC/DOMTestActiveDOMObject.h:
46522        * bindings/scripts/test/ObjC/DOMTestEventConstructor.h:
46523        * bindings/scripts/test/ObjC/DOMTestException.h:
46524        * bindings/scripts/test/ObjC/DOMTestInterface.h:
46525        * bindings/scripts/test/ObjC/DOMTestObj.h:
46526        * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h:
46527        * bindings/scripts/test/ObjC/DOMTestTypedefs.h:
46528        * bindings/scripts/test/ObjC/DOMattribute.h:
46529
465302013-12-03  Alexey Proskuryakov  <ap@apple.com>
46531
46532        Update WebCrypto JWK mapping to newer proposal
46533        https://bugs.webkit.org/show_bug.cgi?id=124218
46534
46535        Reviewed by Anders Carlsson.
46536
46537        Tests: crypto/subtle/jwk-export-use-values.html
46538               crypto/subtle/jwk-import-use-values.html
46539
46540        1. "extractable" renamed to "ext" in JWK.
46541        2. New values for "use" mapping, which can now be combined into comma separated lists,
46542        and cover all possible WebCrypto usages.
46543
46544        * bindings/js/JSCryptoKeySerializationJWK.cpp:
46545        (WebCore::JSCryptoKeySerializationJWK::reconcileUsages):
46546        (WebCore::JSCryptoKeySerializationJWK::reconcileExtractable):
46547        (WebCore::JSCryptoKeySerializationJWK::addJWKAlgorithmToJSON):
46548        (WebCore::processUseValue):
46549        (WebCore::JSCryptoKeySerializationJWK::addJWKUseToJSON):
46550        (WebCore::JSCryptoKeySerializationJWK::serialize):
46551
465522013-12-03  Simon Fraser  <simon.fraser@apple.com>
46553
46554        Remove some iOS-related documentScale code
46555        https://bugs.webkit.org/show_bug.cgi?id=125194
46556
46557        Reviewed by Enrica Casucci.
46558
46559        Remove exports of nonexistent documentScale-related functions on Frame.
46560
46561        * WebCore.exp.in:
46562
465632013-12-03  Eric Carlson  <eric.carlson@apple.com>
46564
46565        Fix regression caused by r158599
46566        https://bugs.webkit.org/show_bug.cgi?id=125188
46567
46568        Reviewed by Jer Noble.
46569
46570        * html/HTMLMediaElement.cpp:
46571        (HTMLMediaElement::clearMediaPlayer): Do not clear m_player when PLUGIN_PROXY_FOR_VIDEO
46572            is enabled.
46573
465742013-12-03  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
46575
46576        Nix Upstream: Updating WebCore files
46577        https://bugs.webkit.org/show_bug.cgi?id=124981
46578
46579        Reviewed by Benjamin Poulain.
46580
46581        Just to sync our github repo files and the trunk, as part of the upstream process
46582
46583        No new tests needed.
46584
46585        * PlatformNix.cmake:
46586        * css/mediaControlsNix.css:
46587        (audio):
46588        (video::-webkit-media-controls):
46589        (audio::-webkit-media-controls-enclosure, video::-webkit-media-controls-enclosure):
46590        (video::-webkit-media-controls-enclosure):
46591        (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
46592        (video:-webkit-full-page-media):
46593        (audio:-webkit-full-page-media, video:-webkit-full-page-media):
46594        (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
46595        (audio::-webkit-media-controls-overlay-play-button, video::-webkit-media-controls-overlay-play-button):
46596        (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
46597        (audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container):
46598        (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):
46599        (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
46600        (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
46601        (input[type="range"]::-webkit-media-slider-container):
46602        (input[type="range"]::-webkit-media-slider-container > div):
46603        (input[type="range"]::-webkit-media-slider-thumb):
46604        (audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button):
46605        (audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button):
46606        (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button):
46607        (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button):
46608        (audio::-webkit-media-controls-fullscreen-volume-slider, video::-webkit-media-controls-fullscreen-volume-slider):
46609        (audio::-webkit-media-controls-fullscreen-volume-min-button, video::-webkit-media-controls-fullscreen-volume-min-button):
46610        (audio::-webkit-media-controls-fullscreen-volume-max-button, video::-webkit-media-controls-fullscreen-volume-max-button):
46611        (video::-webkit-media-text-track-container):
46612        (video::cue):
46613        (video::-webkit-media-text-track-region):
46614        (video::-webkit-media-text-track-region-container):
46615        (video::-webkit-media-text-track-region-container.scrolling):
46616        (video::-webkit-media-text-track-display):
46617        (video::cue(:future)):
46618        (video::-webkit-media-text-track-container b):
46619        (video::-webkit-media-text-track-container u):
46620        (video::-webkit-media-text-track-container i):
46621        * editing/Editor.cpp:
46622        (WebCore::Editor::cut):
46623        (WebCore::Editor::copy):
46624        (WebCore::Editor::copyImage):
46625        * editing/Editor.h:
46626        * html/HTMLCanvasElement.h:
46627        * platform/Cursor.h:
46628        * platform/audio/FFTFrame.h:
46629        * platform/audio/nix/AudioBusNix.cpp:
46630        (WebCore::AudioBus::loadPlatformResource):
46631        * platform/graphics/GLContext.h:
46632        * platform/nix/CursorNix.cpp:
46633        (WebCore::Cursor::ensurePlatformCursor):
46634        * platform/nix/GamepadsNix.cpp:
46635        (WebCore::sampleGamepads):
46636        * platform/nix/RenderThemeNix.cpp:
46637        (WebCore::toIntSize):
46638        (WebCore::toNixRect):
46639        (WebCore::RenderThemeNix::platformActiveSelectionBackgroundColor):
46640        (WebCore::RenderThemeNix::platformInactiveSelectionBackgroundColor):
46641        (WebCore::RenderThemeNix::platformActiveSelectionForegroundColor):
46642        (WebCore::RenderThemeNix::platformInactiveSelectionForegroundColor):
46643        (WebCore::RenderThemeNix::platformActiveListBoxSelectionBackgroundColor):
46644        (WebCore::RenderThemeNix::platformInactiveListBoxSelectionBackgroundColor):
46645        (WebCore::RenderThemeNix::platformActiveListBoxSelectionForegroundColor):
46646        (WebCore::RenderThemeNix::platformInactiveListBoxSelectionForegroundColor):
46647        (WebCore::RenderThemeNix::platformActiveTextSearchHighlightColor):
46648        (WebCore::RenderThemeNix::platformInactiveTextSearchHighlightColor):
46649        (WebCore::RenderThemeNix::platformFocusRingColor):
46650        (WebCore::RenderThemeNix::platformTapHighlightColor):
46651        (WebCore::RenderThemeNix::paintButton):
46652        (WebCore::RenderThemeNix::paintTextField):
46653        (WebCore::RenderThemeNix::paintCheckbox):
46654        (WebCore::RenderThemeNix::setCheckboxSize):
46655        (WebCore::RenderThemeNix::paintRadio):
46656        (WebCore::RenderThemeNix::setRadioSize):
46657        (WebCore::RenderThemeNix::paintMenuList):
46658        (WebCore::RenderThemeNix::paintProgressBar):
46659        (WebCore::RenderThemeNix::paintSliderTrack):
46660        (WebCore::RenderThemeNix::paintSliderThumb):
46661        (WebCore::RenderThemeNix::paintInnerSpinButton):
46662        (WebCore::RenderThemeNix::paintMeter):
46663        (WebCore::RenderThemeNix::extraMediaControlsStyleSheet):
46664        (WebCore::RenderThemeNix::paintMediaPlayButton):
46665        (WebCore::RenderThemeNix::paintMediaMuteButton):
46666        (WebCore::RenderThemeNix::paintMediaSeekBackButton):
46667        (WebCore::RenderThemeNix::paintMediaSeekForwardButton):
46668        (WebCore::RenderThemeNix::paintMediaSliderTrack):
46669        (WebCore::RenderThemeNix::paintMediaVolumeSliderContainer):
46670        (WebCore::RenderThemeNix::paintMediaVolumeSliderTrack):
46671        (WebCore::RenderThemeNix::paintMediaRewindButton):
46672        * platform/nix/RenderThemeNix.h:
46673        * rendering/SimpleLineLayout.cpp:
46674        (WebCore::SimpleLineLayout::canUseFor):
46675
466762013-12-03  Ralph Thomas  <ralpht@gmail.com>
46677
46678        Typo: FixedPositionConstaint -> FixedPositionConstraint
46679        https://bugs.webkit.org/show_bug.cgi?id=125171
46680
46681        Reviewed by Simon Fraser.
46682
46683        No new tests, no change in behavior.
46684
46685        * page/scrolling/ScrollingConstraints.h:
46686        * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp:
46687        (WebCore::ScrollingCoordinatorCoordinatedGraphics::updateViewportConstrainedNode):
46688        * page/scrolling/mac/ScrollingCoordinatorMac.mm:
46689        (WebCore::ScrollingCoordinatorMac::updateViewportConstrainedNode):
46690
466912013-12-03  Samuel White  <samuel_white@apple.com>
46692
46693        AXPress event coordinates are always sent as (0, 0)
46694        https://bugs.webkit.org/show_bug.cgi?id=76677
46695
46696        Reviewed by Simon Fraser.
46697
46698        Set the coordinates of a simulated press equal to the center of the target
46699        element when the simulated press does not have a related mouse event.
46700
46701        Test: accessibility/press-targets-center-point.html
46702
46703        * dom/Element.cpp:
46704        (WebCore::Element::clientRect):
46705        (WebCore::Element::screenRect):
46706        * dom/Element.h:
46707        * dom/EventDispatcher.cpp:
46708        (WebCore::EventDispatcher::dispatchSimulatedClick):
46709        * dom/MouseEvent.cpp:
46710        (WebCore::SimulatedMouseEvent::create):
46711        (WebCore::SimulatedMouseEvent::SimulatedMouseEvent):
46712        * dom/MouseEvent.h:
46713
467142013-12-03  Dean Jackson  <dino@apple.com>
46715
46716        [WebGL] Implement OES texture float linear
46717        https://bugs.webkit.org/show_bug.cgi?id=124871
46718
46719        Reviewed by Brent Fulgham.
46720
46721        Implement the OES_texture_float_linear extension. Generally
46722        we'd also enable OES_texture_half_float_linear at the same
46723        time, but that's blocked on webkit.org/b/110936.
46724
46725        Test: fast/canvas/webgl/oes-texture-float-linear.html
46726
46727        * CMakeLists.txt: Add new files.
46728        * DerivedSources.cpp: Ditto.
46729        * DerivedSources.make: Generate new file from IDL.
46730        * GNUmakefile.list.am: Add new files.
46731        * WebCore.vcxproj/WebCore.vcxproj: Ditto.
46732        * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
46733        * WebCore.xcodeproj/project.pbxproj: New files for OESTextureFloatLinear.
46734
46735        * bindings/js/JSWebGLRenderingContextCustom.cpp:
46736        (WebCore::toJS): Map the new name into the appropriate type.
46737
46738        * html/canvas/OESTextureFloatLinear.cpp: Added. This is a very simple class
46739        that's mostly empty.
46740        (WebCore::OESTextureFloatLinear::OESTextureFloatLinear):
46741        (WebCore::OESTextureFloatLinear::~OESTextureFloatLinear):
46742        (WebCore::OESTextureFloatLinear::getName):
46743        (WebCore::OESTextureFloatLinear::create):
46744        * html/canvas/OESTextureFloatLinear.h: Added.
46745        * html/canvas/OESTextureFloatLinear.idl: Added.
46746
46747        * html/canvas/WebGLExtension.h: Declare the new name in the enum of extensions.
46748
46749        * html/canvas/WebGLRenderingContext.cpp:
46750        (WebCore::WebGLRenderingContext::drawArrays): Call new name.
46751        (WebCore::WebGLRenderingContext::drawElements): Call new name.
46752        (WebCore::WebGLRenderingContext::getExtension): Create the new extension if asked.
46753        (WebCore::WebGLRenderingContext::checkTextureCompleteness): Renamed from handleNPOTTextures. Now
46754        checks for the type of the texture too.
46755        * html/canvas/WebGLRenderingContext.h: Member variable for new extension.
46756
46757        * html/canvas/WebGLTexture.cpp:
46758        (WebCore::WebGLTexture::WebGLTexture):
46759        (WebCore::WebGLTexture::needToUseBlackTexture): Takes an extra parameter which indicates
46760        if it has an extension enabled.
46761        (WebCore::WebGLTexture::update): Note it is a float type when updating.
46762        * html/canvas/WebGLTexture.h: New flag to indicate float type.
46763
46764        * platform/graphics/Extensions3D.h: New flag type.
46765        * platform/graphics/opengl/Extensions3DOpenGL.cpp:
46766        (WebCore::Extensions3DOpenGL::supportsExtension): Add a comment about the extension.
46767
467682013-12-03  Alexey Proskuryakov  <ap@apple.com>
46769
46770        Support exporting private WebCrypto RSA keys
46771        https://bugs.webkit.org/show_bug.cgi?id=124483
46772
46773        Reviewed by Anders Carlsson.
46774
46775        Test: crypto/subtle/rsa-export-private-key.html
46776
46777        It might be better to have our own bignum implementation in WTF, but we currently
46778        don't, and the need for this computation is Common Crypto specific anyway.
46779
46780        * crypto/CommonCryptoUtilities.h:
46781        * crypto/CommonCryptoUtilities.cpp:
46782        (WebCore::CCBigNum::CCBigNum):
46783        (WebCore::CCBigNum::~CCBigNum):
46784        (WebCore::CCBigNum::operator=):
46785        (WebCore::CCBigNum::data):
46786        (WebCore::CCBigNum::operator-):
46787        (WebCore::CCBigNum::operator%):
46788        (WebCore::CCBigNum::inverse):
46789        Added a minimal wrapper around CommonCrypto BigNum.
46790
46791        * crypto/mac/CryptoKeyRSAMac.cpp:
46792        (WebCore::getPrivateKeyComponents): Compute missing parts using CCBigNum.
46793        (WebCore::CryptoKeyRSA::exportData): Implemented private key case.
46794
467952013-12-03  Ryosuke Niwa  <rniwa@webkit.org>
46796
46797        XML fragment parsing algorithm doesn't use the context element's default namespace URI
46798        https://bugs.webkit.org/show_bug.cgi?id=125132
46799
46800        Reviewed by Darin Adler.
46801
46802        Always use the context element's namespace as the default namespace URI when one is not specified by xmlns.
46803
46804        The new behavior matches that of Internet Explorer and the specified behavior in HTML5:
46805        http://www.w3.org/TR/2013/CR-html5-20130806/the-xhtml-syntax.html#parsing-xhtml-fragments
46806
46807        "The default namespace is the namespace for which the DOM isDefaultNamespace() method on the element would
46808        return true."
46809
46810        Test: fast/parser/fragment-parsing-in-document-without-xmlns.html
46811
46812        * xml/parser/XMLDocumentParserLibxml2.cpp:
46813        (WebCore::XMLDocumentParser::XMLDocumentParser):
46814
468152013-12-03  Nick Diego Yamane  <nick.yamane@openbossa.org>
46816
46817        Remove some CSS Variables leftovers
46818        https://bugs.webkit.org/show_bug.cgi?id=125167
46819
46820        Reviewed by Darin Adler.
46821
46822        No new tests needed. Only removing leftover code.
46823
46824        * css/CSSBasicShapes.cpp:
46825        * css/CSSBasicShapes.h:
46826
468272013-12-03  Myles C. Maxfield  <mmaxfield@apple.com>
46828
46829        Checking second-to-last bit in address is a typo
46830        https://bugs.webkit.org/show_bug.cgi?id=125162
46831
46832        Reviewed by Darin Adler.
46833
46834        After talking with the original author of this line,
46835        is was a typo to make sure that the second-to-last bit
46836        in an address is 0. Instead, we want to make sure that
46837        the address is aligned to a 4-byte boundary
46838
46839        No behavior change, so no test is necessary
46840
46841        * platform/graphics/cg/ImageBufferCG.cpp:
46842        (WebCore::ImageBuffer::ImageBuffer):
46843
468442013-12-03  Radu Stavila  <stavila@adobe.com>
46845
46846        The overflow border of a relatively positioned element inside a region is not painted
46847        https://bugs.webkit.org/show_bug.cgi?id=124919
46848
46849        Relative positioned elements have self-painting layers that don't propagate the visual overflow
46850        so the layer's position should be used when determining the clipping rectangle for box decorations.
46851
46852        Reviewed by Mihnea Ovidenie.
46853
46854        Test: fast/regions/relative-borders-overflow.html
46855
46856        * rendering/RenderFlowThread.cpp:
46857        (WebCore::RenderFlowThread::decorationsClipRectForBoxInRegion):
46858
468592013-12-03  Seokju Kwon  <seokju@webkit.org>
46860
46861        Web Inspector: Get rid of 'hasFrontend()' in InspectorController and WorkerInspectorController
46862        https://bugs.webkit.org/show_bug.cgi?id=125135
46863
46864        Reviewed by Darin Adler.
46865
46866        Remove 'hasFrontend()' from InspectorController and WorkerInspectorController
46867        as it's never called.
46868
46869        No new tests, no behavior changes.
46870
46871        * inspector/InspectorController.h:
46872        * inspector/WorkerInspectorController.h:
46873
468742013-12-03  Seokju Kwon  <seokju@webkit.org>
46875
46876        Web Inspector: webViewResized() is not used anywhere in WebInspectorUI
46877        https://bugs.webkit.org/show_bug.cgi?id=125137
46878
46879        Reviewed by Darin Adler.
46880
46881        Remove leftover code.
46882
46883        No new tests, no behavior changes.
46884
46885        * inspector/InspectorController.cpp:
46886        * inspector/InspectorController.h:
46887        * inspector/InspectorOverlay.cpp:
46888        * inspector/InspectorOverlay.h:
46889        * inspector/InspectorPageAgent.cpp:
46890        * inspector/InspectorPageAgent.h:
46891
468922013-12-03  László Langó  <lango@inf.u-szeged.hu>
46893
46894        ASSERTION FAILED: !value || (value->isPrimitiveValue()) in WebCore::StyleProperties::getLayeredShorthandValue.
46895        https://bugs.webkit.org/show_bug.cgi?id=125146
46896
46897        Reviewed by Darin Adler.
46898
46899        Do not presume that |yValue| is primitive if |value| is implicit in StylePropertySerializer.
46900        An implicit y-value can become explicit if specified as a separate longhand.
46901        At the same time, its new value can be non-primitive.
46902
46903        Backported from Blink:
46904        http://src.chromium.org/viewvc/blink?view=rev&rev=153678
46905
46906        Test: fast/css/webkit-mask-crash-implicit.html
46907
46908        * css/StyleProperties.cpp:
46909        (WebCore::StyleProperties::getLayeredShorthandValue):
46910
469112013-12-03  Rob Buis  <rob.buis@samsung.com>
46912
46913        Fix build break after r160007.
46914
46915        * rendering/style/BasicShapes.cpp:
46916        (WebCore::BasicShape::canBlend):
46917
469182013-12-03  Rob Buis  <rob.buis@samsung.com>
46919
46920        [css shapes] layout for new ellipse syntax
46921        https://bugs.webkit.org/show_bug.cgi?id=124621
46922
46923        Reviewed by Dirk Schulze.
46924
46925        Implement support for doing layout with the new ellipse shape syntax,
46926        including basic animation support.
46927
46928        Test: fast/shapes/shape-outside-floats/shape-outside-floats-ellipse-000.html
46929
46930        * rendering/shapes/Shape.cpp:
46931        (WebCore::Shape::createShape): Convert new ellipse to a layout shape.
46932        * rendering/style/BasicShapes.cpp:
46933        (WebCore::BasicShape::canBlend): Ignore ellipses with values that
46934            cannot be interpolated.
46935        (WebCore::BasicShapeEllipse::floatValueForRadiusInBox): Helper function to calculate
46936            either radiusX or radiusY, shared by clip-path and shape code paths.
46937        (WebCore::BasicShapeEllipse::path):
46938        * rendering/style/BasicShapes.h:
46939
469402013-12-03  Frédéric Wang  <fred.wang@free.fr>
46941
46942        Add an MathMLSelectElement class to implement <maction> and <semantics>.
46943        <https://webkit.org/b/120058>
46944
46945        Reviewed by Chris Fleizach.
46946
46947        Tests: mathml/presentation/maction-dynamic.html
46948               mathml/presentation/maction.html
46949               mathml/presentation/semantics.html
46950
46951        This adds a new MathMLSelectElement class to prepare the implementation
46952        of the <maction> and <semantics> elements, for which only one "selected"
46953        child is visible. We now simply display the first child of the
46954        <semantics> element instead of hiding the annotations and this allows to
46955        handle the use case of SVG-in-MathML as generated by Instiki when
46956        bug 124128 is fixed ; Gecko's selection algorithm will be implemented
46957        later (bug 100626). We now also rely on the @actiontype and @selection
46958        attributes to select the visible <maction> child ; It remains to deal
46959        with the user interaction (bug 85734).
46960
46961        * CMakeLists.txt: add the new files.
46962        * GNUmakefile.list.am: ditto
46963        * Target.pri: ditto
46964        * WebCore.vcxproj/WebCore.vcxproj: ditto
46965        * WebCore.vcxproj/WebCore.vcxproj.filters: ditto
46966        * WebCore.xcodeproj/project.pbxproj: ditto
46967        * css/mathml.css: remove the CSS rule for annotation/annotation-xml.
46968        * mathml/MathMLAllInOne.cpp: add the new cpp file.
46969        * mathml/MathMLSelectElement.cpp: Added.
46970        (WebCore::MathMLSelectElement::MathMLSelectElement):
46971        (WebCore::MathMLSelectElement::create):
46972        (WebCore::MathMLSelectElement::createRenderer):
46973        (WebCore::MathMLSelectElement::childShouldCreateRenderer):
46974        (WebCore::MathMLSelectElement::finishParsingChildren):
46975        (WebCore::MathMLSelectElement::childrenChanged):
46976        (WebCore::MathMLSelectElement::attributeChanged):
46977        (WebCore::MathMLSelectElement::updateSelectedChild): basic implementation for maction, semantics, maction@actiontype and maction@selection.
46978        * mathml/MathMLSelectElement.h: Added.
46979        * mathml/mathattrs.in: add actiontype and selection attributes.
46980        * mathml/mathtags.in: set element classes for maction, semantics, annotation and annotation-xml.
46981
469822013-12-03  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
46983
46984        Nix Upstream: Adding missing nix new files to WebCore
46985        https://bugs.webkit.org/show_bug.cgi?id=124987
46986
46987        Reviewed by Benjamin Poulain.
46988
46989        No new tests needed.
46990
46991        * PlatformNix.cmake:
46992        * platform/nix/ErrorsNix.cpp: Added.
46993        * platform/nix/ErrorsNix.h: Added.
46994        * platform/nix/FileSystemNix.cpp: Added.
46995        * platform/nix/MIMETypeRegistryNix.cpp: Added.
46996        * platform/nix/SharedTimerNix.cpp: Added.
46997        * platform/nix/TemporaryLinkStubs.cpp: Added.
46998
469992013-12-03  Tamas Gergely  <gertom@inf.u-szeged.hu>
47000
47001        Correct broken build on efl port with --no-netscape-plugin-api
47002        configuration.
47003        https://bugs.webkit.org/show_bug.cgi?id=123997
47004
47005        Reviewed by Zoltan Herczeg.
47006
47007        Build failed on efl port with --no-netscape-plugin-api configuration
47008        as ld did not found some methods. The configuration uses a minimal
47009        empty implementation of the class, which is now extended with empty
47010        method implementations.
47011
47012        * plugins/PluginPackageNone.cpp:
47013        (WebCore::PluginPackage::createPackage):
47014          Returns NULL pointer.
47015        (WebCore::PluginPackage::hash):
47016          Returns 0.
47017        (WebCore::PluginPackage::equal):
47018          Returns true (equals).
47019        (WebCore::PluginPackage::compare):
47020          Returns 0 (equals).
47021        (WebCore::PluginPackage::~PluginPackage):
47022          Do nothing.
47023
470242013-12-02  Andreas Kling  <akling@apple.com>
47025
47026        Avoid setting style twice for generated image content.
47027        <https://webkit.org/b/125128>
47028
47029        Take care of a FIXME I added in r158097 and avoid redundant work in
47030        ImageContentData::createRenderer().
47031
47032        I changed the inheritance helper RenderImage::setPseudoStyle() into
47033        a new createStyleInheritingFromPseudoStyle() function instead so it
47034        can be used from both PseudoElement and ImageContentData.
47035
47036        Reviewed by Antti Koivisto.
47037
470382013-12-02  Samuel White  <samuel_white@apple.com>
47039
47040        AX: Add AXUIElementCountForSearchPredicate parameterized attribute.
47041        https://bugs.webkit.org/show_bug.cgi?id=124561
47042
47043        Reviewed by Chris Fleizach.
47044
47045        Added ability to fetch the number of elements that match a specific criteria. This will enable VoiceOver
47046        to interface with WebKit much more dynamically. We can now get an idea of how many interesting elements
47047        exist on a page, and then fetch them in chunks as needed.
47048
47049        Test: platform/mac/accessibility/search-predicate-element-count.html
47050
47051        * accessibility/AccessibilityObject.cpp:
47052        (WebCore::AccessibilityObject::isAccessibilityTextSearchMatch):
47053        * accessibility/AccessibilityObject.h:
47054        (WebCore::AccessibilitySearchCriteria::AccessibilitySearchCriteria):
47055        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
47056        (accessibilitySearchCriteriaForSearchPredicateParameterizedAttribute):
47057        (-[WebAccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
47058        (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
47059
470602013-12-02  Bem Jones-Bey  <bjonesbe@adobe.com>
47061
47062        [css shapes] Layout support for new circle shape syntax
47063        https://bugs.webkit.org/show_bug.cgi?id=124619
47064
47065        Reviewed by Dirk Schulze.
47066
47067        Implement support for doing layout with the new circle shape syntax,
47068        inclduing basic animation support.
47069
47070        Tests: fast/shapes/shape-outside-floats/shape-outside-floats-circle-000.html
47071               fast/shapes/shape-outside-floats/shape-outside-floats-circle-001.html
47072               fast/shapes/shape-outside-floats/shape-outside-floats-circle-002.html
47073               fast/shapes/shape-outside-floats/shape-outside-floats-circle-003.html
47074               fast/shapes/shape-outside-floats/shape-outside-floats-circle-004.html
47075               fast/shapes/shape-outside-floats/shape-outside-floats-circle-005.html
47076
47077        * css/BasicShapeFunctions.cpp:
47078        (WebCore::floatValueForCenterCoordinate): Used by both the CSS Shapes
47079            layout code and the clip path code.
47080        * css/BasicShapeFunctions.h:
47081        * css/CSSBasicShapes.cpp:
47082        (WebCore::buildCircleString): Update to use appendLiteral, and remove
47083            call to reserveCapacity - if we find that it's actually slow when
47084            doing performance tests, we can hopefully do something smarter and
47085            less ugly than that.
47086        * css/CSSParser.cpp:
47087        (WebCore::CSSParser::parseShapeRadius): Fix a logic error that caused
47088            the radius keywords not to work properly.
47089        * rendering/shapes/Shape.cpp:
47090        (WebCore::Shape::createShape): Convert new circle to a layout shape.
47091        * rendering/style/BasicShapes.cpp:
47092        (WebCore::BasicShape::canBlend): Ignore circles with values that
47093            cannot be interpolated.
47094        (WebCore::BasicShapeCircle::floatValueForRadiusInBox): Convert circle
47095            radius keywords to a float value.
47096        (WebCore::BasicShapeCircle::path):
47097        (WebCore::BasicShapeCircle::blend):
47098        * rendering/style/BasicShapes.h:
47099        (WebCore::BasicShapeCenterCoordinate::canBlend):
47100        (WebCore::BasicShapeRadius::canBlend):
47101
471022013-12-02  Alexey Proskuryakov  <ap@apple.com>
47103
47104        WebCrypto HMAC doesn't check key algorithm's hash
47105        https://bugs.webkit.org/show_bug.cgi?id=125114
47106
47107        Reviewed by Anders Carlsson.
47108
47109        Test: crypto/subtle/hmac-check-algorithm.html
47110
47111        * crypto/algorithms/CryptoAlgorithmHMAC.cpp:
47112        (WebCore::CryptoAlgorithmHMAC::keyAlgorithmMatches): Check it.
47113
471142013-12-02  Brady Eidson  <beidson@apple.com>
47115
47116        Possible crash in ProgressTracker::progressHeartbeatTimerFired(Timer<ProgressTracker>*)
47117        https://bugs.webkit.org/show_bug.cgi?id=125110
47118
47119        Reviewed by Darin Adler.
47120
47121        FrameLoader::loadProgressingStatusChanged() might be called while the Frame has a null FrameView.
47122
47123        It’s unclear how to reproduce, but there’s no harm in a null check.
47124
47125        * loader/FrameLoader.cpp:
47126        (WebCore::FrameLoader::loadProgressingStatusChanged):
47127
471282013-12-02  Brady Eidson  <beidson@apple.com>
47129
47130        Possible crash in ProgressTracker::progressHeartbeatTimerFired(Timer<ProgressTracker>*)
47131        https://bugs.webkit.org/show_bug.cgi?id=125110
47132
47133        Reviewed by Darin Adler.
47134
47135        It’s possible to have a null m_originatingProgressFrame when the heartbeat timer fires.
47136
47137        On the surface this seems impossible because the only time m_originatingProgressFrame is cleared
47138        out the heartbeat timer is also stopped.
47139
47140        But there’s likely still a race condition in multi-threaded environments.
47141
47142        There’s no harm in null-checking m_originatingProgressFrame before accessing its loader.
47143
47144        * loader/ProgressTracker.cpp:
47145        (WebCore::ProgressTracker::progressHeartbeatTimerFired):
47146
471472013-12-02  Brady Eidson  <beidson@apple.com>
47148
47149        Add more CachedPage null checks
47150        https://bugs.webkit.org/show_bug.cgi?id=125106
47151
47152        Reviewed by Sam Weinig.
47153
47154        Only some functions in PageCache.cpp null-check the CachedPages in HistoryItems.
47155
47156        Every part that manipulates the CachedPage should.
47157
47158        * history/PageCache.cpp:
47159        (WebCore::PageCache::markPagesForVistedLinkStyleRecalc):
47160        (WebCore::PageCache::markPagesForFullStyleRecalc):
47161        (WebCore::PageCache::markPagesForDeviceScaleChanged):
47162        (WebCore::PageCache::markPagesForCaptionPreferencesChanged):
47163
471642013-12-02  Zoltan Horvath  <zoltan@webkit.org>
47165
47166        [CSS Shapes] Support inset parsing
47167        https://bugs.webkit.org/show_bug.cgi?id=124903
47168
47169        Reviewed by David Hyatt.
47170
47171        In this patch I added support for inset shape parsing for CSS Shapes. Inset is defined
47172        by CSS Shapes Level 1 (http://dev.w3.org/csswg/css-shapes-1/#supported-basic-shapes).
47173        Inset is going to be used by shape-outside (bug #124905), and eventually by shape-inside.
47174
47175        No new tests, I updated existing tests to cover the changes.
47176
47177        * css/BasicShapeFunctions.cpp:
47178        (WebCore::valueForBasicShape): Add support for inset.
47179        (WebCore::basicShapeForValue): Add support for inset.
47180        * css/CSSBasicShapes.cpp:
47181        (WebCore::buildInsetString): Create inset css string.
47182        (WebCore::CSSBasicShapeInset::cssText): Convert inset shape to a CSS string.
47183        (WebCore::CSSBasicShapeInset::equals): Compare two inset rectangles.
47184        (WebCore::CSSBasicShapeInset::serializeResolvingVariables): Create an inset string, with CSS variables resolved.
47185        (WebCore::CSSBasicShapeInset::hasVariableReference): Determine if this inset has any CSS Variable references.
47186        * css/CSSBasicShapes.h: Add inset class.
47187        (WebCore::CSSBasicShapeInset::create):
47188        (WebCore::CSSBasicShapeInset::top):
47189        (WebCore::CSSBasicShapeInset::right):
47190        (WebCore::CSSBasicShapeInset::bottom):
47191        (WebCore::CSSBasicShapeInset::left):
47192        (WebCore::CSSBasicShapeInset::topLeftRadius):
47193        (WebCore::CSSBasicShapeInset::topRightRadius):
47194        (WebCore::CSSBasicShapeInset::bottomRightRadius):
47195        (WebCore::CSSBasicShapeInset::bottomLeftRadius):
47196        (WebCore::CSSBasicShapeInset::setTop):
47197        (WebCore::CSSBasicShapeInset::setRight):
47198        (WebCore::CSSBasicShapeInset::setBottom):
47199        (WebCore::CSSBasicShapeInset::setLeft):
47200        (WebCore::CSSBasicShapeInset::setTopLeftRadius):
47201        (WebCore::CSSBasicShapeInset::setTopRightRadius):
47202        (WebCore::CSSBasicShapeInset::setBottomRightRadius):
47203        (WebCore::CSSBasicShapeInset::setBottomLeftRadius):
47204        (WebCore::CSSBasicShapeInset::CSSBasicShapeInset):
47205        * css/CSSParser.cpp:
47206        (WebCore::completeBorderRadii): Move static function before parseInsetBorderRadius.
47207        (WebCore::CSSParser::parseInsetRoundedCorners): I added this helper function for parsing the rounded corners
47208        (WebCore::CSSParser::parseBasicShapeInset): Parse inset.
47209        (WebCore::CSSParser::parseBasicShape): Add call to parse inset.
47210        * css/CSSParser.h:
47211        * css/CSSPrimitiveValue.cpp:
47212        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Add constructor for LengthSize.
47213        (WebCore::CSSPrimitiveValue::init): Initialize LengthSize.
47214        * css/CSSPrimitiveValue.h:
47215        (WebCore::CSSPrimitiveValue::create): Add support for creating PrimitiveValue from LengthSize.
47216        * css/CSSValuePool.h:
47217        (WebCore::CSSValuePool::createValue): Add support for LengthSize.
47218        * platform/LengthSize.h:
47219        (WebCore::LengthSize::blend): Add blend for LengthSize.
47220        * rendering/shapes/ShapeInsideInfo.cpp:
47221        (WebCore::ShapeInsideInfo::isEnabledFor): Keep inset disabled for shape-inside now.
47222        * rendering/style/BasicShapes.cpp:
47223        (WebCore::BasicShapeInset::path): Calculate path for an inset.
47224        (WebCore::BasicShapeInset::blend): Blend two insets.
47225        * rendering/style/BasicShapes.h: Add higher level inset.
47226        (WebCore::BasicShapeInset::create):
47227        (WebCore::BasicShapeInset::top):
47228        (WebCore::BasicShapeInset::right):
47229        (WebCore::BasicShapeInset::bottom):
47230        (WebCore::BasicShapeInset::left):
47231        (WebCore::BasicShapeInset::topLeftRadius):
47232        (WebCore::BasicShapeInset::topRightRadius):
47233        (WebCore::BasicShapeInset::bottomRightRadius):
47234        (WebCore::BasicShapeInset::bottomLeftRadius):
47235        (WebCore::BasicShapeInset::setTop):
47236        (WebCore::BasicShapeInset::setRight):
47237        (WebCore::BasicShapeInset::setBottom):
47238        (WebCore::BasicShapeInset::setLeft):
47239        (WebCore::BasicShapeInset::setTopLeftRadius):
47240        (WebCore::BasicShapeInset::setTopRightRadius):
47241        (WebCore::BasicShapeInset::setBottomRightRadius):
47242        (WebCore::BasicShapeInset::setBottomLeftRadius):
47243        (WebCore::BasicShapeInset::BasicShapeInset):
47244
472452013-12-02  Alexey Proskuryakov  <ap@apple.com>
47246
47247        Support WebCrypto AES-KW
47248        https://bugs.webkit.org/show_bug.cgi?id=125105
47249
47250        Reviewed by Sam Weinig.
47251
47252        Tests: crypto/subtle/aes-kw-key-manipulation.html
47253               crypto/subtle/aes-kw-wrap-unwrap-aes.html
47254
47255        * WebCore.xcodeproj/project.pbxproj: Added new files.
47256
47257        * crypto/CryptoAlgorithmIdentifier.h: (WebCore::CryptoAlgorithmIdentifier): Added AES-KW.
47258        It's not standardized yet, but there appears to be a consensus that it will be specified.
47259
47260        * bindings/js/JSCryptoAlgorithmDictionary.cpp:
47261        (WebCore::JSCryptoAlgorithmDictionary::createParametersForEncrypt):
47262        (WebCore::JSCryptoAlgorithmDictionary::createParametersForDecrypt):
47263        (WebCore::JSCryptoAlgorithmDictionary::createParametersForSign):
47264        (WebCore::JSCryptoAlgorithmDictionary::createParametersForVerify):
47265        (WebCore::JSCryptoAlgorithmDictionary::createParametersForDigest):
47266        (WebCore::JSCryptoAlgorithmDictionary::createParametersForGenerateKey):
47267        (WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveKey):
47268        (WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveBits):
47269        (WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey):
47270        (WebCore::JSCryptoAlgorithmDictionary::createParametersForExportKey):
47271        Added AES-KW cases everywhere.
47272
47273        * bindings/js/JSCryptoKeySerializationJWK.cpp:
47274        (WebCore::JSCryptoKeySerializationJWK::reconcileAlgorithm):
47275        (WebCore::JSCryptoKeySerializationJWK::keySizeIsValid):
47276        (WebCore::JSCryptoKeySerializationJWK::addJWKAlgorithmToJSON):
47277        Support importing/exporting AES-KW keys in JWK.
47278
47279        * bindings/js/JSSubtleCryptoCustom.cpp:
47280        (WebCore::JSSubtleCrypto::importKey):
47281        (WebCore::JSSubtleCrypto::exportKey):
47282        (WebCore::JSSubtleCrypto::wrapKey):
47283        (WebCore::JSSubtleCrypto::unwrapKey):
47284        Added some accidentally forgotten std::moves.
47285
47286        * crypto/algorithms/CryptoAlgorithmAES_KW.cpp: Added.
47287        * crypto/algorithms/CryptoAlgorithmAES_KW.h: Added.
47288        * crypto/mac/CryptoAlgorithmAES_KWMac.cpp: Added.
47289
47290        * crypto/keys/CryptoKeyAES.cpp: (WebCore::CryptoKeyAES::CryptoKeyAES): Allow AES-KW
47291        as valid algorithm for AES keys.
47292
47293        * crypto/mac/CryptoAlgorithmRegistryMac.cpp:
47294        (WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms): Register AES-KW.
47295
472962013-12-02  Beth Dakin  <bdakin@apple.com>
47297
47298        Add a setting to opt into a mode where the background extends and fixed elements 
47299        don't move on rubber-band
47300        https://bugs.webkit.org/show_bug.cgi?id=124745
47301
47302        Reviewed by Tim Horton.
47303
47304        New setting backgroundShouldExtendBeyondPage() will cause the tile cache to have a 
47305        margin, and it will also cause fixed elements and backgrounds to stick to the 
47306        viewport on scroll instead of sticking to the document. 
47307
47308        * WebCore.exp.in:
47309        * page/FrameView.cpp:
47310        (WebCore::FrameView::scrollBehaviorForFixedElements):
47311        * page/Settings.in:
47312        * rendering/RenderLayerBacking.cpp:
47313        (WebCore::RenderLayerBacking::RenderLayerBacking):
47314
473152013-12-02  Roger Zanoni  <rogerzanoni@gmail.com>
47316
47317        [MediaStream] Use iterator-based loops instead of index-based loops
47318        https://bugs.webkit.org/show_bug.cgi?id=125021
47319
47320        Reviewed by Eric Carlson.
47321
47322        Also, changing iterator variable names from iter to it and
47323        initializing an 'end' variable in each loop instead of evaluating
47324        'collection.end()' multiple times.
47325
47326        No new tests, covered by existing ones.
47327
47328        * Modules/mediastream/MediaStream.cpp:
47329        (WebCore::MediaStream::cloneMediaStreamTrackVector):
47330        (WebCore::MediaStream::haveTrackWithSource):
47331        (WebCore::MediaStream::getTrackById):
47332        (WebCore::MediaStream::trackDidEnd):
47333        (WebCore::MediaStream::scheduledEventTimerFired):
47334
473352013-12-02  Rob Buis  <rob.buis@samsung.com>
47336
47337        [css shapes] Parse new ellipse shape syntax
47338        https://bugs.webkit.org/show_bug.cgi?id=124620
47339
47340        Reviewed by Dirk Schulze.
47341
47342        Implement parsing of the new ellipse shape syntax. This closely follows the patch
47343        for the new circle syntax (https://bugs.webkit.org/show_bug.cgi?id=124618), with
47344        some refactoring of functionality shared by both.
47345
47346        Updated existing parsing tests to cover this.
47347
47348        * css/BasicShapeFunctions.cpp:
47349        (WebCore::BasicShapeRadiusToCSSValue):
47350        (WebCore::valueForBasicShape):
47351        (WebCore::CSSValueToBasicShapeRadius):
47352        (WebCore::basicShapeForValue):
47353        * css/CSSBasicShapes.cpp:
47354        (WebCore::buildEllipseString):
47355        (WebCore::CSSBasicShapeEllipse::cssText):
47356        (WebCore::CSSBasicShapeEllipse::equals):
47357        (WebCore::buildDeprecatedEllipseString):
47358        (WebCore::CSSDeprecatedBasicShapeEllipse::cssText):
47359        (WebCore::CSSDeprecatedBasicShapeEllipse::equals):
47360        * css/CSSBasicShapes.h:
47361        (WebCore::CSSDeprecatedBasicShapeEllipse::create):
47362        (WebCore::CSSDeprecatedBasicShapeEllipse::centerX):
47363        (WebCore::CSSDeprecatedBasicShapeEllipse::centerY):
47364        (WebCore::CSSDeprecatedBasicShapeEllipse::radiusX):
47365        (WebCore::CSSDeprecatedBasicShapeEllipse::radiusY):
47366        (WebCore::CSSDeprecatedBasicShapeEllipse::setCenterX):
47367        (WebCore::CSSDeprecatedBasicShapeEllipse::setCenterY):
47368        (WebCore::CSSDeprecatedBasicShapeEllipse::setRadiusX):
47369        (WebCore::CSSDeprecatedBasicShapeEllipse::setRadiusY):
47370        (WebCore::CSSDeprecatedBasicShapeEllipse::CSSDeprecatedBasicShapeEllipse):
47371        * css/CSSParser.cpp:
47372        (WebCore::CSSParser::parseBasicShapeEllipse):
47373        (WebCore::CSSParser::parseDeprecatedBasicShapeEllipse):
47374        (WebCore::CSSParser::parseBasicShape):
47375        * css/CSSParser.h:
47376        * rendering/shapes/Shape.cpp:
47377        (WebCore::Shape::createShape):
47378        * rendering/style/BasicShapes.cpp:
47379        (WebCore::DeprecatedBasicShapeEllipse::path):
47380        (WebCore::DeprecatedBasicShapeEllipse::blend):
47381        (WebCore::BasicShapeEllipse::path):
47382        (WebCore::BasicShapeEllipse::blend):
47383        * rendering/style/BasicShapes.h:
47384        (WebCore::BasicShapeEllipse::centerX):
47385        (WebCore::BasicShapeEllipse::centerY):
47386        (WebCore::BasicShapeEllipse::radiusX):
47387        (WebCore::BasicShapeEllipse::radiusY):
47388        (WebCore::BasicShapeEllipse::setCenterX):
47389        (WebCore::BasicShapeEllipse::setCenterY):
47390        (WebCore::BasicShapeEllipse::setRadiusX):
47391        (WebCore::BasicShapeEllipse::setRadiusY):
47392        (WebCore::BasicShapeEllipse::BasicShapeEllipse):
47393        (WebCore::DeprecatedBasicShapeEllipse::create):
47394        (WebCore::DeprecatedBasicShapeEllipse::DeprecatedBasicShapeEllipse):
47395
473962013-12-02  Alexey Proskuryakov  <ap@apple.com>
47397
47398        Add support for WebCrypto RSA-OAEP
47399        https://bugs.webkit.org/show_bug.cgi?id=125084
47400
47401        Build fix.
47402
47403        * crypto/CommonCryptoUtilities.h:
47404        * crypto/mac/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp:
47405        * crypto/mac/CryptoKeyRSAMac.cpp:
47406
474072013-12-02  Brendan Long  <b.long@cablelabs.com>
47408
47409        Use GenericEventQueue in TrackListBase and reduce code duplication with scheduleTrackEvent()
47410        https://bugs.webkit.org/show_bug.cgi?id=124811
47411
47412        Reviewed by Eric Carlson.
47413
47414        No new tests because this is just refactoring.
47415
47416        * html/track/TrackListBase.cpp:
47417        (TrackListBase::TrackListBase): Replace event code with a GenericEventQueue.
47418        (TrackListBase::scheduleTrackEvent): Factor out duplicate code in schedule{Add,Remove}TrackEvent functions.
47419        (TrackListBase::scheduleAddTrackEvent): Same.
47420        (TrackListBase::scheduleRemoveTrackEvent): Same.
47421        (TrackListBase::scheduleChangeEvent): Use GenericEventQueue.
47422        * html/track/TrackListBase.h: Replace event code with GenericEventQueue.
47423
474242013-12-02  Alexey Proskuryakov  <ap@apple.com>
47425
47426        Add support for WebCrypto RSA-OAEP
47427        https://bugs.webkit.org/show_bug.cgi?id=125084
47428
47429        Build fix.
47430
47431        * WebCore.xcodeproj/project.pbxproj: Fix an automatic merge failure by re-adding
47432        CryptoAlgorithmRsaOaepParams.h.
47433
474342013-12-02  Victor Jaquez  <vjaquez@igalia.com>
47435
47436        [Gstreamer] update webkitvideosink metadata
47437        https://bugs.webkit.org/show_bug.cgi?id=125082
47438
47439        Reviewed by Philippe Normand.
47440
47441        No new tests, no behavior changes.
47442
47443        * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
47444        (webkit_video_sink_class_init):
47445
474462013-12-02  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>
47447
47448        Simplify MediaPlayerPrivateGStreamerBase::createVideoSink()
47449        https://bugs.webkit.org/show_bug.cgi?id=125077
47450
47451        Remove the method's unused parameter.
47452        Remove the GStreamer 0.10.22 run-time validation, since we are using
47453        GStreamer 1.0 officially.
47454        Remove the creation of a spurious Bin for the video sink, since
47455        either the fpssink or the webkitsink are valid sink elements.
47456        Change fpsink to a GRefPtr.
47457
47458        Now, createVideoSink() returns a simple pointer to the created sink
47459        element.
47460
47461        Reviewed by Philippe Normand.
47462
47463        No new tests, no behavior changes.
47464
47465        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
47466        (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
47467        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
47468        (WebCore::MediaPlayerPrivateGStreamerBase::createVideoSink):
47469        (WebCore::MediaPlayerPrivateGStreamerBase::decodedFrameCount):
47470        (WebCore::MediaPlayerPrivateGStreamerBase::droppedFrameCount):
47471        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
47472
474732013-12-02  Alexey Proskuryakov  <ap@apple.com>
47474
47475        Add support for WebCrypto RSA-OAEP
47476        https://bugs.webkit.org/show_bug.cgi?id=125084
47477
47478        Reviewed by Sam Weinig.
47479
47480        Tests: crypto/subtle/rsa-oaep-key-manipulation.html
47481               crypto/subtle/rsa-oaep-plaintext-length.html
47482               crypto/subtle/rsa-oaep-wrap-unwrap-aes.html
47483
47484        * WebCore.xcodeproj/project.pbxproj: Added new files.
47485
47486        * bindings/js/JSCryptoAlgorithmDictionary.cpp:
47487        (WebCore::createRsaOaepParams):
47488        (WebCore::JSCryptoAlgorithmDictionary::createParametersForEncrypt):
47489        (WebCore::JSCryptoAlgorithmDictionary::createParametersForDecrypt):
47490        (WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey):
47491        Added RSA-OAEP parameters.
47492
47493        * bindings/js/JSCryptoKeySerializationJWK.cpp:
47494        (WebCore::JSCryptoKeySerializationJWK::reconcileAlgorithm):
47495        (WebCore::JSCryptoKeySerializationJWK::keySizeIsValid):
47496        (WebCore::JSCryptoKeySerializationJWK::addJWKAlgorithmToJSON):
47497        Support RSA-OAEP in JWK. It is more limited than general WebCrypto, as JWK only
47498        allows SHA-1 as hash.
47499
47500        * crypto/CommonCryptoUtilities.cpp: Added. (WebCore::getCommonCryptoDigestAlgorithm):
47501        * crypto/CommonCryptoUtilities.h: Added.
47502        Extracted some shared code and forward declarations for CommonCrypto.
47503
47504        * crypto/CryptoAlgorithmParameters.h: (WebCore::CryptoAlgorithmParameters::Class):
47505        * crypto/parameters/CryptoAlgorithmRsaOaepParams.h: Added.
47506        Added RsaOaepParams.
47507
47508        * crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp: Added.
47509        * crypto/algorithms/CryptoAlgorithmRSA_OAEP.h: Added.
47510        * crypto/mac/CryptoAlgorithmRSA_OAEPMac.cpp: Added.
47511
47512        * crypto/mac/CryptoAlgorithmHMACMac.cpp:
47513        (WebCore::getCommonCryptoHMACAlgorithm):
47514        (WebCore::CryptoAlgorithmHMAC::platformSign):
47515        (WebCore::CryptoAlgorithmHMAC::platformVerify):
47516        * crypto/mac/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp:
47517        * crypto/mac/CryptoKeyMac.cpp:
47518        * crypto/mac/CryptoKeyRSAMac.cpp:
47519        Use CommonCryptoUtilities.
47520
47521        * crypto/mac/CryptoAlgorithmRegistryMac.cpp:
47522        (WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms): Register RSA-OAEP.
47523
475242013-12-02  Andres Gomez  <agomez@igalia.com>
47525
47526        [GTK] Fails to build with freetype 2.5.1
47527        https://bugs.webkit.org/show_bug.cgi?id=125074
47528
47529        Reviewed by Carlos Garcia Campos.
47530
47531        FreeType specifies a canonical way of including their own
47532        headers. Now, we are following this recommendation so the
47533        compilation won't be broken again due to an upgrade in FeeType's
47534        including paths.
47535
47536        * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
47537        * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
47538        * platform/graphics/harfbuzz/HarfBuzzFaceCairo.cpp:
47539
475402013-12-02  Chris Fleizach  <cfleizach@apple.com>
47541
47542        AX: Crash at WebCore::commonTreeScope
47543        https://bugs.webkit.org/show_bug.cgi?id=125042
47544
47545        Reviewed by Mario Sanchez Prada.
47546
47547        When an AX text marker that references a node in a detached document is used to create a text marker range, a crash occurs
47548        because the method to determine commonTreeScopes does not account for when there are no common tree scopes.
47549
47550        Test: platform/mac/accessibility/ordered-textmarker-crash.html
47551
47552        * accessibility/AccessibilityObject.cpp:
47553        (WebCore::AccessibilityObject::visiblePositionRangeForUnorderedPositions):
47554        * dom/TreeScope.cpp:
47555        (WebCore::commonTreeScope):
47556
475572013-12-02  Nick Diego Yamane  <nick.yamane@openbossa.org>
47558
47559        Fix a crash in the webaudio source provider when the audio track is going away.
47560        https://bugs.webkit.org/show_bug.cgi?id=124975
47561
47562        Reviewed by Philippe Normand.
47563
47564        Merged https://chromium.googlesource.com/chromium/blink/+/b21838b32bf11b1a972dfc449ddde71115490c23
47565
47566        Before this patch, it was hitting a use-after-free crash  when the audio
47567        track in the media stream is going away and the webaudio mediastreamsourcenode
47568        is still running.
47569
47570        * Modules/webaudio/AudioContext.cpp:
47571        (WebCore::AudioContext::createMediaStreamSource): Passing audio track
47572        pointer to MediaStreamAudioSourceNode constructor.
47573        * Modules/webaudio/MediaStreamAudioSourceNode.cpp:
47574        (WebCore::MediaStreamAudioSourceNode::create):
47575        (WebCore::MediaStreamAudioSourceNode::MediaStreamAudioSourceNode):
47576        * Modules/webaudio/MediaStreamAudioSourceNode.h: Added
47577        MediaStreamTrack class variable and change the constructor to receive
47578        it as parameter.
47579
475802013-12-02  Andrzej Badowski  <a.badowski@samsung.com>
47581
47582        [ATK] Support active state for listbox elements.
47583        https://bugs.webkit.org/show_bug.cgi?id=125009
47584
47585        Reviewed by Chris Fleizach.
47586
47587        Added support for ATK_STATE_ACTIVE for listbox elements.
47588
47589        * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
47590        (setAtkStateSetFromCoreObject):
47591
475922013-12-02  Seokju Kwon  <seokju@webkit.org>
47593
47594        Web Inspector: Remove unused functions from InspectorAgent
47595        https://bugs.webkit.org/show_bug.cgi?id=125061
47596
47597        Reviewed by Antoine Quint.
47598
47599        Get rid of unused functions, redundant inclusion and forward declaration.
47600
47601        No new tests, no behavior changes.
47602
47603        * inspector/InspectorAgent.cpp:
47604        * inspector/InspectorAgent.h:
47605
476062013-12-02  Tibor Meszaros  <mtibor@inf.u-szeged.hu>
47607
47608        Fix build warning in EventHandler.cpp
47609        https://bugs.webkit.org/show_bug.cgi?id=125010
47610
47611        Reviewed by Csaba Osztrogonác.
47612
47613        * page/EventHandler.cpp:
47614        (WebCore::EventHandler::eventInvertsTabsToLinksClientCallResult):
47615
476162013-12-02  Attila Dusnoki  <adusnoki@inf.u-szeged.hu>
47617
47618        HTML5 required attribute validation messages implemented.
47619        https://bugs.webkit.org/show_bug.cgi?id=125003
47620
47621        Reviewed by Gyuyoung Kim.
47622
47623        * platform/efl/LocalizedStringsEfl.cpp:
47624        (WebCore::validationMessagePatternMismatchText):
47625        (WebCore::validationMessageValueMissingText):
47626        (WebCore::validationMessageValueMissingForCheckboxText):
47627        (WebCore::validationMessageValueMissingForFileText):
47628        (WebCore::validationMessageValueMissingForMultipleFileText):
47629        (WebCore::validationMessageValueMissingForRadioText):
47630        (WebCore::validationMessageValueMissingForSelectText):
47631        (WebCore::validationMessageBadInputForNumberText):
47632
476332013-12-01  Andreas Kling  <akling@apple.com>
47634
47635        SVG: Intersection/enclosure checks should use RenderElement.
47636        <https://webkit.org/b/125058>
47637
47638        Make RenderSVGModelObject's checkIntersection() and checkEnclosure()
47639        take RenderElement* instead of RenderObject*. They are only ever
47640        called with SVGElement's renderers.
47641
47642        Reviewed by Sam Weinig.
47643
476442013-12-01  Andreas Kling  <akling@apple.com>
47645
47646        Remove unreachable labels for -webkit-margin-*-collapse properties.
47647        <https://webkit.org/b/125057>
47648
47649        The following properties are implemented in DeprecatedStyleBuilder
47650        and should not have case labels in the applyProperty() switch:
47651
47652            -webkit-margin-before-collapse
47653            -webkit-margin-top-collapse
47654            -webkit-margin-after-collapse
47655            -webkit-margin-bottom-collapse
47656
47657        This seems counter-intuitive, but they are actually *not* like other
47658        directional properties. In this case, before/after are only aliases
47659        for top/bottom, and do not depend on writing-mode or text-direction.
47660        See also r68561, where the aliases were originally added.
47661
47662        Reviewed by Anders Carlsson.
47663
476642013-12-01  Andreas Kling  <akling@apple.com>
47665
47666        CSSFunctionValue constructors should return PassRef.
47667        <https://webkit.org/b/125054>
47668
47669        Make CSSFunctionValue::create() helpers return PassRef instead of
47670        PassRefPtr since they will never return null.
47671
47672        Reviewed by Anders Carlsson.
47673
476742013-12-01  Commit Queue  <commit-queue@webkit.org>
47675
47676        Unreviewed, rolling out r159764.
47677        http://trac.webkit.org/changeset/159764
47678        https://bugs.webkit.org/show_bug.cgi?id=125055
47679
47680        appears to hurt html5-full-render times (Requested by kling on
47681        #webkit).
47682
47683        * html/parser/HTMLConstructionSite.cpp:
47684        (WebCore::HTMLConstructionSite::insertTextNode):
47685        * html/parser/HTMLConstructionSite.h:
47686
476872013-12-01  Andreas Kling  <akling@apple.com>
47688
47689        Make more computed style helpers return PassRef.
47690        <https://webkit.org/b/125043>
47691
47692        Reduce branchiness in computed style code by making more of the
47693        file-local helpers return PassRef instead of PassRefPtr.
47694
47695        Reviewed by Anders Carlsson.
47696
476972013-11-30  Ryuan Choi  <ryuan.choi@samsung.com>
47698
47699        [EFL] Implement scrollbarThickness for opaque scrollbar
47700        https://bugs.webkit.org/show_bug.cgi?id=125034
47701
47702        Reviewed by Gyuyoung Kim.
47703
47704        Implemented scrollbarThickness to support opaque scrollbar.
47705        Now, edj can decide whether to support opaque scrollbar by adding scrollbar.thickness.
47706        In addition, added OVERRIDE/FINAL keyword and removed unnecessary destructor
47707        in ScrollbarThemeEfl.cpp.
47708
47709        No new tests, no behavior changes with default theme.
47710
47711        * platform/efl/RenderThemeEfl.cpp:
47712        (WebCore::RenderThemeEfl::loadTheme):
47713        Update thickness of scrollbar when theme was loaded.
47714        * platform/efl/ScrollbarThemeEfl.cpp:
47715        * platform/efl/ScrollbarThemeEfl.h:
47716        (WebCore::ScrollbarThemeEfl::setScrollbarThickness):
47717        (WebCore::ScrollbarThemeEfl::scrollbarThickness):
47718        (WebCore::ScrollbarThemeEfl::registerScrollbar):
47719        (WebCore::ScrollbarThemeEfl::unregisterScrollbar):
47720
477212013-11-29  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>
47722
47723        Remove Symbian specific code.
47724        https://bugs.webkit.org/show_bug.cgi?id=124939
47725
47726        Reviewed by Zoltan Herczeg.
47727
47728        Symbian is not supported, remove leftover code.
47729
47730        * plugins/npapi.h:
47731
477322013-11-28  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
47733
47734        Rename InlineIterator::m_obj and make it private
47735        https://bugs.webkit.org/show_bug.cgi?id=124837
47736
47737        Reviewed by Antti Koivisto.
47738
47739        InlineIterator has been exported m_obj as public though there is a getter function.
47740        Besides *object* name isn't ambigious. So, changed it with m_renderer and renderer().
47741        Additionally, setRenderer() is added as well.
47742
47743        No new tests, no behavior changes.
47744
47745        * rendering/InlineIterator.h:
47746        (WebCore::InlineIterator::setObject):
47747        (WebCore::operator==):
47748        (WebCore::operator!=):
47749        (WebCore::InlineBidiResolver::appendRun):
47750        * rendering/RenderBlockLineLayout.cpp:
47751        (WebCore::RenderBlockFlow::appendRunsForObject):
47752        (WebCore::constructBidiRunsForLine):
47753        (WebCore::RenderBlockFlow::createLineBoxesFromBidiRuns):
47754        (WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):
47755        (WebCore::RenderBlockFlow::matchedEndLine):
47756        * rendering/line/BreakingContextInlineHeaders.h:
47757        (WebCore::TrailingObjects::updateMidpointsForTrailingBoxes):
47758        (WebCore::BreakingContext::BreakingContext):
47759        (WebCore::BreakingContext::currentObject):
47760        (WebCore::BreakingContext::initializeForCurrentObject):
47761        (WebCore::BreakingContext::handleBR):
47762        (WebCore::BreakingContext::handleOutOfFlowPositioned):
47763        (WebCore::BreakingContext::handleFloat):
47764        (WebCore::BreakingContext::handleEmptyInline):
47765        (WebCore::BreakingContext::handleReplaced):
47766        (WebCore::iteratorIsBeyondEndOfRenderCombineText):
47767        (WebCore::ensureCharacterGetsLineBox):
47768        (WebCore::BreakingContext::handleText):
47769        (WebCore::BreakingContext::canBreakAtThisPosition):
47770        (WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):
47771        (WebCore::checkMidpoints):
47772        (WebCore::BreakingContext::handleEndOfLine):
47773        * rendering/line/LineBreaker.cpp:
47774        (WebCore::LineBreaker::skipTrailingWhitespace):
47775        (WebCore::LineBreaker::skipLeadingWhitespace):
47776        * rendering/line/LineInlineHeaders.h:
47777        (WebCore::skipNonBreakingSpace):
47778        (WebCore::requiresLineBox):
47779
477802013-11-28  Antti Koivisto  <antti@apple.com>
47781
47782        Rename StylePropertySet to StyleProperties
47783        https://bugs.webkit.org/show_bug.cgi?id=124990
47784        
47785        Reviewed by Andreas Kling.
47786
47787        "Set" does not add useful information here. Use less clunky plural name.
47788
477892013-11-28  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
47790
47791        Nix Upstream: Adding EditorNix to WebCore
47792        https://bugs.webkit.org/show_bug.cgi?id=124984
47793
47794        Reviewed by Csaba Osztrogonác.
47795
47796        No new tests needed.
47797
47798        * PlatformNix.cmake:
47799        * editing/nix/EditorNix.cpp: Added.
47800
478012013-11-28  Zoltan Horvath  <zoltan@webkit.org>
47802
47803        [Win] Update vcxproj.filters, since LineInfo.h and LineLayoutState.h have been moved to rendering/line
47804        https://bugs.webkit.org/show_bug.cgi?id=124959
47805
47806        Reviewed by Brent Fulgham.
47807
47808        Update WebCore.vcxproj.filters, since LineInfo.h (r155628) and LineLayoutState.h (158121) have been moved to rendering/line.
47809
47810        No new tests, no behavior change.
47811
47812        * WebCore.vcxproj/WebCore.vcxproj.filters:
47813
478142013-11-28  Laszlo Vidacs  <lac@inf.u-szeged.hu>
47815
47816        RenderTableSection Blink merge asserting
47817        https://bugs.webkit.org/show_bug.cgi?id=124857
47818
47819        Reviewed by Csaba Osztrogonác.
47820
47821        Use border spacing at the end of all sections.
47822
47823        * rendering/RenderTableSection.cpp:
47824        (WebCore::RenderTableSection::calcRowLogicalHeight):
47825
478262013-11-28  Antti Koivisto  <antti@apple.com>
47827
47828        Remove feature: CSS variables
47829        https://bugs.webkit.org/show_bug.cgi?id=114119
47830
47831        Reviewed by Andreas Kling.
47832        
47833        The feature is unmaintained and it is getting in the way of refactoring. Code quality is not up to
47834        WebKit standards either.
47835
47836        * Configurations/FeatureDefines.xcconfig:
47837        * GNUmakefile.list.am:
47838        * WebCore.xcodeproj/project.pbxproj:
47839        * css/CSSBasicShapes.cpp:
47840        * css/CSSBasicShapes.h:
47841        * css/CSSCalculationValue.cpp:
47842        (WebCore::unitCategory):
47843        (WebCore::hasDoubleValue):
47844        (WebCore::CSSCalcPrimitiveValue::toCalcValue):
47845        (WebCore::CSSCalcPrimitiveValue::computeLengthPx):
47846        (WebCore::determineCategory):
47847        (WebCore::CSSCalcBinaryOperation::primitiveType):
47848        * css/CSSCalculationValue.h:
47849        * css/CSSComputedStyleDeclaration.cpp:
47850        (WebCore::ComputedStyleExtractor::propertyValue):
47851        * css/CSSGrammar.y.in:
47852        * css/CSSParser.cpp:
47853        (WebCore::CSSParserContext::CSSParserContext):
47854        (WebCore::operator==):
47855        (WebCore::filterProperties):
47856        (WebCore::CSSParser::createStylePropertySet):
47857        (WebCore::CSSParser::addProperty):
47858        (WebCore::CSSParser::validCalculationUnit):
47859        (WebCore::CSSParser::validUnit):
47860        (WebCore::CSSParser::createPrimitiveNumericValue):
47861        (WebCore::CSSParser::parseValidPrimitive):
47862        (WebCore::CSSParser::parseValue):
47863        (WebCore::CSSParser::parseReflect):
47864        (WebCore::CSSParser::detectDashToken):
47865        (WebCore::CSSParser::realLex):
47866        * css/CSSParser.h:
47867        * css/CSSParserMode.h:
47868        * css/CSSParserValues.cpp:
47869        (WebCore::CSSParserValue::createCSSValue):
47870        * css/CSSParserValues.h:
47871        * css/CSSPrimitiveValue.cpp:
47872        (WebCore::isValidCSSUnitTypeForDoubleConversion):
47873        (WebCore::CSSPrimitiveValue::primitiveType):
47874        (WebCore::CSSPrimitiveValue::cleanup):
47875        (WebCore::CSSPrimitiveValue::getStringValue):
47876        (WebCore::CSSPrimitiveValue::customCSSText):
47877        (WebCore::CSSPrimitiveValue::equals):
47878        * css/CSSPrimitiveValue.h:
47879        * css/CSSPrimitiveValueMappings.h:
47880        (WebCore::CSSPrimitiveValue::convertToLength):
47881        * css/CSSProperty.cpp:
47882        * css/CSSProperty.h:
47883        (WebCore::CSSProperty::CSSProperty):
47884        * css/CSSReflectValue.cpp:
47885        * css/CSSReflectValue.h:
47886        * css/CSSValue.cpp:
47887        (WebCore::CSSValue::equals):
47888        (WebCore::CSSValue::cssText):
47889        (WebCore::CSSValue::destroy):
47890        * css/CSSValue.h:
47891        (WebCore::CSSValue::setCssText):
47892        * css/CSSValueList.cpp:
47893        * css/CSSValueList.h:
47894        * css/CSSVariableValue.h: Removed.
47895        * css/Pair.h:
47896        * css/Rect.h:
47897        * css/StylePropertySet.cpp:
47898        (WebCore::StylePropertySet::asText):
47899        (WebCore::StylePropertySet::PropertyReference::cssName):
47900        * css/StyleResolver.cpp:
47901        (WebCore::StyleResolver::styleForPage):
47902        (WebCore::StyleResolver::applyProperties):
47903        (WebCore::StyleResolver::applyMatchedProperties):
47904        (WebCore::StyleResolver::applyProperty):
47905        * css/StyleResolver.h:
47906        * css/WebKitCSSTransformValue.cpp:
47907        * css/WebKitCSSTransformValue.h:
47908        (WebCore::WebKitCSSTransformValue::equals):
47909        * css/makeprop.pl:
47910        * page/Settings.cpp:
47911        (WebCore::Settings::Settings):
47912        * page/Settings.h:
47913        * rendering/style/RenderStyle.h:
47914        * rendering/style/StyleRareInheritedData.cpp:
47915        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
47916        (WebCore::StyleRareInheritedData::operator==):
47917        * rendering/style/StyleRareInheritedData.h:
47918        * rendering/style/StyleVariableData.h: Removed.
47919        * testing/InternalSettings.cpp:
47920        (WebCore::InternalSettings::Backup::Backup):
47921        (WebCore::InternalSettings::Backup::restoreTo):
47922        * testing/InternalSettings.h:
47923        * testing/InternalSettings.idl:
47924
479252013-11-28  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
47926
47927        Updating RTCPeerConnectionHandlerMock after r159769
47928        https://bugs.webkit.org/show_bug.cgi?id=124947
47929
47930        Reviewed by Philippe Normand.
47931
47932        Adding its create function back, in order to run RTCPeerConnection LayoutTests.
47933
47934        No new tests needed.
47935
47936        * platform/mock/RTCPeerConnectionHandlerMock.cpp:
47937        (WebCore::RTCPeerConnectionHandlerMock::create):
47938        * platform/mock/RTCPeerConnectionHandlerMock.h:
47939
479402013-11-27  Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
47941
47942        [GTK] Support custom types for drag and drop data
47943        https://bugs.webkit.org/show_bug.cgi?id=124659
47944
47945        Reviewed by Martin Robinson.
47946
47947        Covered by fast/events/drag-customData.html.
47948
47949        * platform/gtk/DataObjectGtk.cpp:
47950        (WebCore::DataObjectGtk::unknownTypes): returns a hash map with all custom types set.
47951        (WebCore::DataObjectGtk::clearAllExceptFilenames): clear custom types.
47952        * platform/gtk/DataObjectGtk.h:
47953        (WebCore::DataObjectGtk::hasUnknownTypeData): returns whether custom types are set.
47954        (WebCore::DataObjectGtk::unknownTypeData): returns the data for a custom type.
47955        (WebCore::DataObjectGtk::setUnknownTypeData): sets the data for a custom type.
47956        * platform/gtk/PasteboardGtk.cpp:
47957        (WebCore::Pasteboard::writeString): handle unknown types as custom.
47958        (WebCore::Pasteboard::writePasteboard): ditto.
47959        (WebCore::Pasteboard::hasData): also check for custom types.
47960        (WebCore::Pasteboard::types): also obtain the list of custom types.
47961        (WebCore::Pasteboard::readString): handle unknown types as custom.
47962        * platform/gtk/PasteboardHelper.cpp:
47963        (WebCore::initGdkAtoms): new unknown atom.
47964        (WebCore::PasteboardHelper::PasteboardHelper): add custom type to the list of targets.
47965        (WebCore::PasteboardHelper::fillSelectionData): turns any custom types' data into a GVariant, which
47966        is in turn serialized to a single string for GtkSelectionData to hold.
47967        (WebCore::PasteboardHelper::targetListForDataObject): add custom data to the target list if any is
47968        set.
47969        (WebCore::PasteboardHelper::fillDataObjectFromDropData): retrieve the custom types and their data
47970        from the serialized GVariant string held by GtkSelectionData.
47971        (WebCore::PasteboardHelper::dropAtomsForContext): handle custom types.
47972
479732013-11-27  Eric Carlson  <eric.carlson@apple.com>
47974
47975        Allow the QuickTime plug-in to be replaced by script in an isolated word
47976        https://bugs.webkit.org/show_bug.cgi?id=124900
47977
47978        Reviewed by Dean Jackson.
47979
47980        Test: plugins/quicktime-plugin-replacement.html
47981
47982        * CMakeLists.txt: Add new Modules path.
47983        * DerivedSources.make: Add new files.
47984        * GNUmakefile.am: Add new Modules path.
47985        * GNUmakefile.list.am: Add new header.
47986        * WebCore.vcxproj/WebCore.vcxproj: Add new header.
47987        * WebCore.vcxproj/WebCoreCommon.props: Add new Modules path.
47988        * WebCore.xcodeproj/project.pbxproj: Add new files.
47989
47990        * Modules/plugins: Added.
47991        * Modules/plugins/PluginReplacement.h: Added. Defines the interface for a plug-in replacement.
47992
47993        Create a replacement for the QuickTime plug-in.
47994        * Modules/plugins/QuickTimePluginReplacement.cpp: Added.
47995        * Modules/plugins/QuickTimePluginReplacement.css: Added.
47996        * Modules/plugins/QuickTimePluginReplacement.h: Added.
47997        * Modules/plugins/QuickTimePluginReplacement.idl: Added.
47998        * Modules/plugins/QuickTimePluginReplacement.js: Added.
47999
48000        Allow plug-in replacement to be enabled at runtime.
48001        * bindings/generic/RuntimeEnabledFeatures.h:
48002        (WebCore::RuntimeEnabledFeatures::setPluginReplacementEnabled):
48003        (WebCore::RuntimeEnabledFeatures::pluginReplacementEnabled):
48004
48005        * bindings/js/JSDOMBinding.h:
48006        (WebCore::toJS): Add toJS(... const String& ...).
48007
48008        * bindings/js/JSPluginElementFunctions.cpp:
48009        (WebCore::pluginScriptObject): Give a plug-in replacement a first shot at defining the
48010            script interface.
48011
48012        * html/HTMLEmbedElement.cpp:
48013        (WebCore::HTMLEmbedElement::updateWidget): Call base class requestObject.
48014
48015        * html/HTMLMediaElement.cpp:
48016        (HTMLMediaElement::fileSize): New, passthrough to media engine.
48017        * html/HTMLMediaElement.h:
48018
48019        * html/HTMLObjectElement.cpp:
48020        (WebCore::HTMLObjectElement::updateWidget): Call base class requestObject.
48021
48022        Moved some logic that was previously used only for creating a plug-in snapshot to the base
48023        class so it can be shared by a plug-in replacement.
48024        * html/HTMLPlugInElement.cpp:
48025        (WebCore::HTMLPlugInElement::HTMLPlugInElement): Initialize timer used to swap renderers.
48026        (WebCore::HTMLPlugInElement::createRenderer): Allow plug-in replacement to create the renderer.
48027        (WebCore::HTMLPlugInElement::swapRendererTimerFired): Create a shadow root.
48028        (WebCore::HTMLPlugInElement::setDisplayState): Set the new state, prime the swap renderer 
48029            timer if necessary.
48030        (WebCore::HTMLPlugInElement::didAddUserAgentShadowRoot): Tell the plug-in replacement to
48031            install itself in the new shadow DOM.
48032        (WebCore::registeredPluginReplacements): Return vector of all registered plug-in replacements.
48033        (WebCore::registerPluginReplacement): Add a plug-in replacement.
48034        (WebCore::pluginReplacementForType): Find a plug-in replacement for a MIME type.
48035        (WebCore::HTMLPlugInElement::requestObject): If there is a plug-in replacement for the MIME type,
48036            create it and set the display state.
48037        (WebCore::HTMLPlugInElement::scriptObjectForPluginReplacement): Return the script object for 
48038            the current plug-in replacement, if any.
48039        * html/HTMLPlugInElement.h:
48040
48041        Move some plug-in snapshot code into the base class.
48042        * html/HTMLPlugInImageElement.cpp:
48043        (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): No need to initialize timer.
48044        (WebCore::HTMLPlugInImageElement::setDisplayState): Call base class.
48045        (WebCore::HTMLPlugInImageElement::createRenderer): Ditto.
48046        (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): Ditto.
48047        (WebCore::HTMLPlugInImageElement::userDidClickSnapshot): Remove unnecessary class name.
48048        (WebCore::HTMLPlugInImageElement::requestObject): New.
48049        * html/HTMLPlugInImageElement.h:
48050
48051        * html/HTMLVideoElement.h: Make createRenderer public so the QuickTime plug-in replacement can
48052            call it.
48053
48054        * platform/graphics/MediaPlayer.cpp:
48055        (WebCore::MediaPlayer::fileSize): New.
48056        * platform/graphics/MediaPlayer.h:
48057        * platform/graphics/MediaPlayerPrivate.h:
48058
48059        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
48060        (WebCore::MediaPlayerPrivateAVFoundation::extraMemoryCost): totalBytes returns an unsigned long long.
48061        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
48062        (WebCore::MediaPlayerPrivateAVFoundation::fileSize):
48063
48064        * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
48065        (WebCore::MediaPlayerPrivateAVFoundationCF::totalBytes): Return an unsigned long long.
48066        * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
48067
48068        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
48069        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
48070        (WebCore::MediaPlayerPrivateAVFoundationObjC::totalBytes): Ditto.
48071
48072        * testing/InternalSettings.cpp:
48073        (WebCore::InternalSettings::Backup::Backup): Backup the plug-in replacement runtime setting.
48074        (WebCore::InternalSettings::Backup::restoreTo): Restore it.
48075        (WebCore::InternalSettings::setPluginReplacementEnabled): Set it.
48076        * testing/InternalSettings.h:
48077        * testing/InternalSettings.idl:
48078
480792013-11-27  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
48080
48081        Adding MediaConstraintsMock class
48082        https://bugs.webkit.org/show_bug.cgi?id=124902
48083
48084        Reviewed by Eric Carlson.
48085
48086        Validate constraints used in RTCPeerConnection LayoutTests
48087
48088        Existing test was updated.
48089
48090        * CMakeLists.txt:
48091        * GNUmakefile.list.am:
48092        * platform/mock/MediaConstraintsMock.cpp: Added.
48093        * platform/mock/MediaConstraintsMock.h: Added.
48094        * platform/mock/MockMediaStreamCenter.cpp:
48095        (WebCore::MockMediaStreamCenter::validateRequestConstraints): Now using MediaConstraintsMock
48096        (WebCore::MockMediaStreamCenter::createMediaStream): Ditto.
48097        * platform/mock/RTCPeerConnectionHandlerMock.cpp:
48098        (WebCore::RTCPeerConnectionHandlerMock::initialize): Ditto.
48099
481002013-11-27  Bear Travis  <betravis@adobe.com>
48101
48102        [CSS Shapes] Shape-Inside Should Default to 'auto'
48103        https://bugs.webkit.org/show_bug.cgi?id=124851
48104
48105        Reviewed by Alexandru Chiculita.
48106
48107        The current shape-inside specification has the property default to the 'auto'
48108        value, not 'outside-shape'.
48109
48110        Updated tests are under fast/shapes.
48111
48112        * rendering/style/RenderStyle.cpp:
48113        * rendering/style/RenderStyle.h:
48114
481152013-11-27  Hans Muller  <hmuller@adobe.com>
48116
48117        [CSS Shapes] shape-inside rectangle layout can fail
48118        https://bugs.webkit.org/show_bug.cgi?id=124784
48119
48120        Reviewed by Andreas Kling.
48121
48122        Apply LayoutUnit::fromFloatCeil() consistently in RectangleShape::firstIncludedIntervalLogicalTop().
48123
48124        Test: fast/shapes/shape-inside/shape-inside-subpixel-rectangle-top.html
48125
48126        * rendering/shapes/RectangleShape.cpp:
48127        (WebCore::RectangleShape::firstIncludedIntervalLogicalTop):
48128
481292013-11-27  Nick Diego Yamane  <nick.yamane@openbossa.org>
48130
48131        Remove Qt-specific .qrc files
48132        https://bugs.webkit.org/show_bug.cgi?id=124944
48133
48134        Reviewed by Andreas Kling.
48135
48136        No new tests needed.
48137
48138        * WebCore.qrc: Removed.
48139
481402013-11-27  Xabier Rodriguez Calvar  <calvaris@igalia.com>
48141
48142        [GStreamer] Invalid command line error when visiting www.chessbase.com
48143        https://bugs.webkit.org/show_bug.cgi?id=124715
48144
48145        Reviewed by Philippe Normand.
48146
48147        We were not handling the HTTP errors in the WebKit GStreamer
48148        source and therefore the 404 error page was being 'decoded'. As no
48149        decoder could be found (for obvious reasons), playback failed, but
48150        it should be failing for the source not being found instead of the
48151        decoding problem.
48152
48153        Test: http/tests/media/video-error-does-not-exist.html
48154
48155        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
48156        (StreamingClient::handleResponseReceived): Handle HTTP errors in
48157        the source and raise a GStreamer error to the pipeline.
48158
481592013-11-14  Sergio Villar Senin  <svillar@igalia.com>
48160
48161        [CSS Grid Layout] Fix positioning of grid items with margins
48162        https://bugs.webkit.org/show_bug.cgi?id=124345
48163
48164        Reviewed by David Hyatt.
48165
48166        From Blink r157925 and r158041 by <jchaffraix@chromium.org>
48167
48168        Test: fast/css-grid-layout/grid-item-margin-resolution.html
48169
48170        Adds margin start/before to the positions of grid items (removing
48171        several FIXME's in the current code). This means calling
48172        findChildLogicalPosition() after the layout in order to have the
48173        right values for the margins.
48174
48175        In order to match flexbox and author's intents we're also
48176        including the margins of grid items in the intrinsic size of the
48177        grid. That's why flexbox's marginLogicalPositionForChild() is
48178        moved up to RenderBlock in order to share it with RenderGrid.
48179
48180        * rendering/RenderBlock.cpp:
48181        (WebCore::RenderBlock::marginIntrinsicLogicalWidthForChild): Moved
48182        from RenderFlexibleBox::marginLogicalWidthForChild().
48183        * rendering/RenderBlock.h:
48184        * rendering/RenderFlexibleBox.cpp:
48185        (WebCore::RenderFlexibleBox::computeIntrinsicLogicalWidths):
48186        * rendering/RenderGrid.cpp:
48187        (WebCore::RenderGrid::computePreferredTrackWidth):
48188        (WebCore::RenderGrid::layoutGridItems):
48189        (WebCore::RenderGrid::findChildLogicalPosition):
48190
481912013-11-26  Sergio Villar Senin  <svillar@igalia.com>
48192
48193        [CSS Grid Layout] Support grid-definition-{rows|columns} repeat() syntax
48194        https://bugs.webkit.org/show_bug.cgi?id=103312
48195
48196        Reviewed by Andreas Kling.
48197
48198        Added support for the repeat() syntax inside
48199        grid-definition-{rows|columns} by just adding the repeated values
48200        to our list of column|row definitions.
48201
48202        The parsing of <track-name> was refactored in a new function as
48203        it's used now in three different places. The <track-size> parsing
48204        was also refactored to share it with the repeat() parsing.
48205
48206        Test: fast/css-grid-layout/grid-element-repeat-get-set.html
48207
48208        * css/CSSParser.cpp:
48209        (WebCore::CSSParser::parseValue):
48210        (WebCore::CSSParser::parseGridTrackNames):
48211        (WebCore::CSSParser::parseGridTrackList):
48212        (WebCore::CSSParser::parseGridTrackRepeatFunction):
48213        (WebCore::CSSParser::parseGridTrackSize):
48214        * css/CSSParser.h:
48215
482162013-11-26  Marcelo Lira  <marcelo.lira@openbossa.org>
48217
48218        Nix upstreaming - Adding build files and supporting scripts
48219        https://bugs.webkit.org/show_bug.cgi?id=118367
48220
48221        Reviewed by Ryosuke Niwa.
48222
48223        No new tests needed.
48224
48225        * CMakeLists.txt:
48226        * PlatformNix.cmake: Added.
48227
482282013-11-26  Tim Horton  <timothy_horton@apple.com>
48229
48230        Don't parent the TileController root layer in two places
48231        https://bugs.webkit.org/show_bug.cgi?id=124873
48232
48233        Reviewed by Brent Fulgham.
48234
48235        * platform/graphics/ca/mac/TileController.mm:
48236        (WebCore::TileController::TileController):
48237        The TileController's layer is already parented by callers of
48238        TileController::create, and in a special way. TileController
48239        shouldn't parent itself, anyway...
48240
482412013-11-26  Nick Diego Yamane  <nick.yamane@openbossa.org>
48242
48243        [MediaStream API] HTMLMediaElement should be able to use MediaStream as source
48244        https://bugs.webkit.org/show_bug.cgi?id=121943
48245
48246        Reviewed by Eric Carlson.
48247
48248        Implement MediaStream direct assignment to Media Elements using the new 'srcObject'
48249        attribute: http://www.w3.org/TR/mediacapture-streams/#direct-assignment-to-media-elements
48250
48251        Test: fast/mediastream/MediaStream-MediaElement-srcObject.html
48252
48253        * CMakeLists.txt: Added new HTMLMediaElementMediaStream.h and .cpp to cmake build.
48254        * DerivedSources.make: Added HTMLMediaElementMediaStream.idl.
48255        * GNUmakefile.list.am: Added new HTMLMediaElementMediaStream* to autotools build.
48256        * WebCore.xcodeproj/project.pbxproj: Added new files.
48257        * Modules/mediastream/HTMLMediaElementMediaStream.cpp: Added.
48258        (WebCore::HTMLMediaElementMediaStream::srcObject): implements srcObject getter.
48259        (WebCore::HTMLMediaElementMediaStream::setSrcObject): implements srcObject setter.
48260        * Modules/mediastream/HTMLMediaElementMediaStream.h: Added.
48261        * Modules/mediastream/HTMLMediaElementMediaStream.idl: Added.
48262        * html/HTMLMediaElement.cpp:
48263        (WebCore::HTMLMediaElement::setSrcObject): This is an initial implementation, and
48264        is still incomplete, that will be addressed in a separate bug: https://webkit.org/b/124896
48265        * html/HTMLMediaElement.h: Added m_mediaStreamSrcObject class variable
48266        and its corresponding getter.
48267
482682013-11-26  Andreas Kling  <akling@apple.com>
48269
48270        Use child iterator to find operators in RenderMathMLRow::layout().
48271        <https://webkit.org/b/124108>
48272
48273        Replace manual children walk with childrenOfType<RenderMathMLBlock>.
48274        Minor update to fix build.
48275
48276        Reviewed by Martin Robinson.
48277
482782013-11-26  Andreas Kling  <akling@apple.com>
48279
48280        RenderObject: Inline isBody() and isHR().
48281        <https://webkit.org/b/124901>
48282
48283        Together these account for ~0.3% of samples on HTML5-8266.
48284        Almost all of it is call overhead.
48285
48286        Reviewed by Anders Carlsson.
48287
482882013-11-26  Bear Travis  <betravis@adobe.com>
48289
48290        [CSS Shapes] Layout using [<box> || <shape>] value
48291        https://bugs.webkit.org/show_bug.cgi?id=124428
48292
48293        Reviewed by David Hyatt.
48294
48295        When a box value is supplied, use it to size and position the shape. Otherwise,
48296        use a default value (content-box for shape-inside, margin-box for shape-outside).
48297        This patch extends the sizing and positioning code used for the box patch (Bug 124227)
48298        to also apply to shapes. With this patch, we also no longer use the box-sizing
48299        property to size and position shapes.
48300
48301        Tests: fast/shapes/shape-outside-floats/shape-outside-shape-boxes-001.html
48302               fast/shapes/shape-outside-floats/shape-outside-shape-boxes-002.html
48303               fast/shapes/shape-outside-floats/shape-outside-shape-boxes-003.html
48304
48305        * css/CSSComputedStyleDeclaration.cpp:
48306        (WebCore::ComputedStyleExtractor::propertyValue): Adjust for ShapeValues storing
48307        BasicShape::ReferenceBox as their box value, rather than a CSSValueID.
48308        * css/DeprecatedStyleBuilder.cpp:
48309        (WebCore::ApplyPropertyShape::applyValue): Ditto.
48310        * rendering/shapes/ShapeInfo.h:
48311        (WebCore::ShapeInfo::setShapeSize): Adjust for BasicShapes with reference boxes
48312        as well as plain box values. Also, remove old box-sizing code.
48313        (WebCore::ShapeInfo::logicalTopOffset): Ditto.
48314        (WebCore::ShapeInfo::logicalLeftOffset): Ditto.
48315        * rendering/shapes/ShapeInsideInfo.h:
48316        * rendering/shapes/ShapeOutsideInfo.h:
48317        * rendering/style/ShapeValue.h:
48318        (WebCore::ShapeValue::createBoxValue): Adjust for boxes being stored as
48319        BasicShape::ReferenceBoxes.
48320        (WebCore::ShapeValue::box): Ditto.
48321        (WebCore::ShapeValue::ShapeValue): Ditto.
48322
483232013-11-26  Brian J. Burg  <burg@cs.washington.edu>
48324
48325        ImageBuffer::create should return a std::unique_ptr instead of OwnPtr.
48326        https://bugs.webkit.org/show_bug.cgi?id=124822
48327
48328        Reviewed by Andreas Kling.
48329
48330        Replace all uses of OwnPtr<ImageBuffer> and PassOwnPtr<ImageBuffer> with
48331        std::unique_ptr<ImageBuffer>. Replace calls to OwnPtr::clear() and
48332        OwnPtr::release() with reset() and std::move(). Remove unnecessary includes.
48333
48334        No new tests. This is a mechanical refactoring.
48335
48336        * css/CSSFilterImageValue.cpp:
48337        (WebCore::CSSFilterImageValue::image):
48338        * html/HTMLCanvasElement.cpp:
48339        (WebCore::HTMLCanvasElement::setSurfaceSize):
48340        * html/HTMLCanvasElement.h:
48341        * html/canvas/CanvasRenderingContext2D.cpp:
48342        (WebCore::CanvasRenderingContext2D::createCompositingBuffer):
48343        (WebCore::CanvasRenderingContext2D::fullCanvasCompositedDrawImage):
48344        (WebCore::CanvasRenderingContext2D::fullCanvasCompositedFill):
48345        (WebCore::CanvasRenderingContext2D::drawTextInternal):
48346        * html/canvas/CanvasRenderingContext2D.h:
48347        * html/canvas/WebGLRenderingContext.cpp:
48348        (WebCore::WebGLRenderingContext::LRUImageBufferCache::LRUImageBufferCache):
48349        (WebCore::WebGLRenderingContext::LRUImageBufferCache::imageBuffer):
48350        * html/canvas/WebGLRenderingContext.h:
48351        * html/shadow/MediaControlElements.cpp:
48352        (WebCore::MediaControlTextTrackContainerElement::createTextTrackRepresentationImage):
48353        * page/Frame.cpp:
48354        (WebCore::Frame::nodeImage):
48355        (WebCore::Frame::dragImageForSelection):
48356        * platform/graphics/BitmapImage.cpp:
48357        (WebCore::BitmapImage::drawPattern):
48358        * platform/graphics/CrossfadeGeneratedImage.cpp:
48359        (WebCore::CrossfadeGeneratedImage::drawPattern):
48360        * platform/graphics/GradientImage.h:
48361        * platform/graphics/GraphicsContext.cpp:
48362        (WebCore::GraphicsContext::createCompatibleBuffer):
48363        * platform/graphics/GraphicsContext.h:
48364        * platform/graphics/ImageBuffer.cpp:
48365        (WebCore::ImageBuffer::createCompatibleBuffer):
48366        * platform/graphics/ImageBuffer.h:
48367        (WebCore::ImageBuffer::create):
48368        * platform/graphics/ShadowBlur.cpp:
48369        * platform/graphics/cg/ImageBufferCG.cpp:
48370        (WebCore::ImageBuffer::putByteArray):
48371        * platform/graphics/cg/PDFDocumentImage.h:
48372        * platform/graphics/filters/FETile.cpp:
48373        (WebCore::FETile::platformApplySoftware):
48374        * platform/graphics/filters/Filter.h:
48375        (WebCore::Filter::setSourceImage):
48376        * platform/graphics/filters/FilterEffect.cpp:
48377        (WebCore::FilterEffect::clearResult):
48378        * platform/graphics/filters/FilterEffect.h:
48379        * platform/graphics/texmap/TextureMapper.cpp:
48380        (WebCore::BitmapTexture::updateContents):
48381        * platform/graphics/texmap/TextureMapperImageBuffer.h:
48382        * rendering/InlineTextBox.cpp:
48383        (WebCore::InlineTextBox::paintDecoration):
48384        * rendering/RenderBoxModelObject.cpp:
48385        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
48386        * rendering/RenderThemeMac.mm:
48387        (WebCore::RenderThemeMac::paintProgressBar):
48388        * rendering/shapes/Shape.cpp:
48389        (WebCore::Shape::createShape):
48390        * rendering/svg/RenderSVGImage.cpp:
48391        (WebCore::RenderSVGImage::invalidateBufferedForeground):
48392        * rendering/svg/RenderSVGImage.h:
48393        * rendering/svg/RenderSVGResourceClipper.cpp:
48394        (WebCore::RenderSVGResourceClipper::applyClippingToContext):
48395        * rendering/svg/RenderSVGResourceClipper.h:
48396        * rendering/svg/RenderSVGResourceFilter.cpp:
48397        (WebCore::RenderSVGResourceFilter::applyResource):
48398        (WebCore::RenderSVGResourceFilter::postApplyResource):
48399        * rendering/svg/RenderSVGResourceFilter.h:
48400        * rendering/svg/RenderSVGResourceGradient.cpp: Remove method parameter wrapping/indentation.
48401        (WebCore::createMaskAndSwapContextForTextGradient):
48402        (WebCore::clipToTextMask):
48403        (WebCore::RenderSVGResourceGradient::applyResource):
48404        * rendering/svg/RenderSVGResourceGradient.h:
48405        * rendering/svg/RenderSVGResourceMasker.cpp:
48406        (WebCore::RenderSVGResourceMasker::applyResource):
48407        * rendering/svg/RenderSVGResourceMasker.h:
48408        * rendering/svg/RenderSVGResourcePattern.cpp: Remove method parameter wrapping/indentation.
48409        (WebCore::RenderSVGResourcePattern::buildPattern):
48410        (WebCore::RenderSVGResourcePattern::createTileImage):
48411        * rendering/svg/RenderSVGResourcePattern.h: Remove method parameter wrapping/indentation.
48412        * rendering/svg/SVGRenderingContext.cpp:
48413        (WebCore::SVGRenderingContext::createImageBuffer):
48414        (WebCore::SVGRenderingContext::createImageBufferForPattern):
48415        (WebCore::SVGRenderingContext::clipToImageBuffer):
48416        (WebCore::SVGRenderingContext::bufferForeground):
48417        * rendering/svg/SVGRenderingContext.h:
48418        * svg/graphics/SVGImage.cpp:
48419        (WebCore::SVGImage::nativeImageForCurrentFrame):
48420        (WebCore::SVGImage::drawPatternForContainer):
48421
484222013-11-26  Eric Carlson  <eric.carlson@apple.com>
48423
48424        video.currentSrc should return empty when no resource is loaded
48425        https://bugs.webkit.org/show_bug.cgi?id=124898
48426
48427        Reviewed by Dan Bernstein.
48428
48429        Test: media/video-currentsrc-cleared.html
48430
48431        * html/HTMLMediaElement.cpp:
48432        (WebCore::HTMLMediaElement::prepareForLoad): Set m_currentSrc to empty in 
48433            preparation for attempting to load a new url.
48434
484352013-11-26  Hans Muller  <hmuller@adobe.com>
48436
48437        [CSS Shapes] Support for shape-margin in BoxShape
48438        https://bugs.webkit.org/show_bug.cgi?id=124788
48439
48440        Reviewed by Andreas Kling.
48441
48442        Corrected BoxShape's internal shape-margin/padding bounds FloatRoundedRect
48443        initialization. Tests for the padding bounds will be added when the rest of
48444        shape-padding for box shapes implementation is ready.
48445
48446        Tests: fast/shapes/shape-outside-floats/shape-outside-margin-boxes-001.html
48447               fast/shapes/shape-outside-floats/shape-outside-margin-boxes-002.html
48448
48449        * rendering/shapes/BoxShape.cpp: Use constructor shape-margin,shape-padding parameters.
48450        (WebCore::BoxShape::BoxShape):
48451        * rendering/shapes/BoxShape.h:
48452        * rendering/shapes/Shape.cpp:
48453        (WebCore::createBoxShape): Pass the shape-margin and shape-padding values along to the BoxShape constructor.
48454        (WebCore::Shape::createShape): Ditto.
48455
484562013-11-26  Nick Diego Yamane  <nick.yamane@openbossa.org>
48457
48458        Remove unnecessary webaudio include from MediaStreamSource header
48459        https://bugs.webkit.org/show_bug.cgi?id=124897
48460
48461        Reviewed by Eric Carlson.
48462
48463        AudioDestinationConsumer.h is included but not used anywhere in
48464        MediaStreamSource implementation.
48465
48466        * platform/mediastream/MediaStreamSource.h:
48467
484682013-11-26  Andreas Kling  <akling@apple.com>
48469
48470        Avoid unnecessary copy-on-write in FillLayer style application.
48471        <https://webkit.org/b/124878>
48472
48473        We ended up with a lot of cloned StyleBackgroundData objects on
48474        HTML5-8266. This happened because we always forced a copy-on-write
48475        when applying background-image:inherit / background-image:initial.
48476
48477        This patch adds early returns to both functions. In the "inherit"
48478        case, we bail early if the target style already has the same fill
48479        layer data as its parent style.
48480
48481        In the "initial" case, we optimize for the single-FillLayer case
48482        and add an early return if the relevant value is either unset or
48483        equal to the templatized initial value.
48484
48485        2.46 MB progression on HTML5-8266 locally.
48486
48487        Reviewed by Antti Koivisto.
48488
484892013-11-26  Antoine Quint  <graouts@apple.com>
48490
48491        Web Inspector: Allow showing a context menu on all mouse events.
48492        https://bugs.webkit.org/show_bug.cgi?id=124747
48493
48494        Reviewed by Joseph Pecoraro.
48495
48496        Add a new InspectorFrontendHost::dispatchEventAsContextMenuEvent(Event*) method
48497        to let the inspector front-end dispatch a native contextmenu event that will allow
48498        for a context menu to be shown from within a non-contextmenu event handler.
48499
48500        * inspector/InspectorFrontendHost.cpp:
48501        (WebCore::InspectorFrontendHost::dispatchEventAsContextMenuEvent):
48502        Check that we're dealing with a mouse event, get the frame for the event target
48503        and the event's location to call ContextMenuController::showContextMenuAt()
48504        which will handle the new contextmenu event dispatch to the original event target.
48505
48506        * inspector/InspectorFrontendHost.h:
48507        * inspector/InspectorFrontendHost.idl:
48508
485092013-11-25  Sam Weinig  <sam@webkit.org>
48510
48511        Convert some Shape code to use references
48512        https://bugs.webkit.org/show_bug.cgi?id=124876
48513
48514        Reviewed by Andreas Kling.
48515
48516        * inspector/InspectorOverlay.cpp:
48517        * rendering/FloatingObjects.cpp:
48518        * rendering/LayoutState.cpp:
48519        * rendering/RenderBlock.cpp:
48520        * rendering/RenderBlock.h:
48521        * rendering/RenderBlockLineLayout.cpp:
48522        * rendering/RenderBox.cpp:
48523        * rendering/RenderBox.h:
48524        * rendering/line/BreakingContextInlineHeaders.h:
48525        * rendering/line/LineWidth.cpp:
48526        * rendering/shapes/ShapeInfo.cpp:
48527        * rendering/shapes/ShapeInfo.h:
48528        * rendering/shapes/ShapeInsideInfo.cpp:
48529        * rendering/shapes/ShapeInsideInfo.h:
48530        * rendering/shapes/ShapeOutsideInfo.cpp:
48531        * rendering/shapes/ShapeOutsideInfo.h:
48532        Replace yet more pointers with references.
48533
485342013-11-25  Simon Pena  <simon.pena@samsung.com>
48535
48536        [EFL] X11Helper::createPixmap doesn't initialise out value handleId
48537        https://bugs.webkit.org/show_bug.cgi?id=124722
48538
48539        Reviewed by Gyuyoung Kim.
48540
48541        The overloaded functions X11Helper::createPixmap don't initialise out
48542        value handleId, and they do early returns on error situations. Since
48543        the functions are void and they don't communicate their failure in any
48544        way, returning an out value without initialising it could make the
48545        error go farther unnoticed. With the variable being initialised, it can
48546        be reliably checked for errors when the function returns.
48547
48548        * platform/graphics/surfaces/glx/X11Helper.cpp:
48549        (WebCore::X11Helper::createPixmap): Initialise handleId to 0.
48550
485512013-11-25  Nick Diego Yamane  <nick.yamane@openbossa.org>
48552
48553        Mark URLRegistry's lookup() as const and its child classes as final
48554        https://bugs.webkit.org/show_bug.cgi?id=124865
48555
48556        Reviewed by Eric Carlson.
48557
48558        No new tests needed. No behavior changes.
48559
48560        * Modules/mediasource/MediaSourceRegistry.cpp:
48561        (WebCore::MediaSourceRegistry::lookup): marked as const.
48562        * Modules/mediasource/MediaSourceRegistry.h: MediaSourceRegistry
48563        marked as final.
48564        * Modules/mediastream/MediaStreamRegistry.cpp:
48565        (WebCore::MediaStreamRegistry::lookup): marked as const.
48566        * Modules/mediastream/MediaStreamRegistry.h: MediaStreamRegistry
48567        marked as final.
48568        * fileapi/Blob.cpp:
48569        * html/URLRegistry.h: lookup() marked as const.
48570        (WebCore::URLRegistry::lookup): marked as const.
48571
485722013-11-25  Sergio Correia  <sergio.correia@openbossa.org>
48573
48574        [MediaStream] Use std::unique_ptr instead of OwnPtr/PassOwnPtr
48575        https://bugs.webkit.org/show_bug.cgi?id=124858
48576
48577        Reviewed by Eric Carlson.
48578
48579        Another step of the OwnPtr/PassOwnPtr => std::unique_ptr conversion,
48580        now targeting mediastream-related code.
48581
48582        No new tests, covered by existing ones.
48583
48584        * Modules/mediastream/RTCDTMFSender.cpp:
48585        * Modules/mediastream/RTCDTMFSender.h:
48586        * Modules/mediastream/RTCDataChannel.cpp:
48587        * Modules/mediastream/RTCDataChannel.h:
48588        * Modules/mediastream/RTCPeerConnection.cpp:
48589        * Modules/mediastream/RTCPeerConnection.h:
48590        * platform/mediastream/MediaStreamSource.cpp:
48591        * platform/mediastream/RTCPeerConnectionHandler.cpp:
48592        * platform/mediastream/RTCPeerConnectionHandler.h:
48593        * platform/mediastream/RTCPeerConnectionHandlerClient.h:
48594        * platform/mock/RTCNotifiersMock.cpp:
48595        * platform/mock/RTCPeerConnectionHandlerMock.cpp:
48596        * platform/mock/RTCPeerConnectionHandlerMock.h:
48597
485982013-11-25  Nick Diego Yamane  <nick.yamane@openbossa.org>
48599
48600        MediaStreamRegistry should store MediaStreams instead of MediaStreamPrivates
48601        https://bugs.webkit.org/show_bug.cgi?id=124860
48602
48603        Reviewed by Eric Carlson.
48604
48605        MediaStreamRegistry::lookup() should return a MediaStream instead of MediaStreamPrivate.
48606
48607        No new tests needed. No behavior changes.
48608
48609        * Modules/mediastream/MediaStreamRegistry.cpp:
48610        (WebCore::MediaStreamRegistry::registerURL): m_privateStreams -> m_mediaStreams
48611        (WebCore::MediaStreamRegistry::unregisterURL): Ditto.
48612        (WebCore::MediaStreamRegistry::lookup): Override URLRegistry::lookup() instead of add a
48613        new method MediaStream::lookupMediaStreamPrivate().
48614        * Modules/mediastream/MediaStreamRegistry.h:
48615        * html/HTMLMediaElement.cpp:
48616        (HTMLMediaElement::loadResource): call lookup() instead of lookupMediaStreamPrivate()
48617
486182013-11-25  peavo@outlook.com  <peavo@outlook.com>
48619
48620        [WinCairo] Compile fails when GSTREAMER is not used.
48621        https://bugs.webkit.org/show_bug.cgi?id=124853
48622
48623        Reviewed by Philippe Normand.
48624
48625        * platform/graphics/gstreamer/GStreamerUtilities.cpp: Don't include GStreamerUtilities.h when GSTREAMER is not used.
48626
486272013-11-25  Andreas Kling  <akling@apple.com>
48628
48629        Deduplicate shortish Text node strings during tree construction.
48630        <https://webkit.org/b/124855>
48631
48632        Let HTMLConstructionSite keep a hash set of already seen strings over
48633        its lifetime. Use this to deduplicate the strings inside Text nodes
48634        for any string up to 64 characters of length.
48635
48636        This optimization already sort-of existed for whitespace-only Texts,
48637        but those are laundered in the AtomicString table which we definitely
48638        don't want to pollute with every single Text. It might be a good idea
48639        to stop using the AtomicString table for all-whitespace Text too.
48640
48641        3.82 MB progression on HTML5-8266 locally.
48642
48643        Reviewed by Anders Carlsson.
48644
486452013-11-25  Nick Diego Yamane  <nick.yamane@openbossa.org>
48646
48647        Remove unnecessary MediaStreamTrackDescriptor forward declaration
48648        https://bugs.webkit.org/show_bug.cgi?id=124854
48649
48650        Reviewed by Eric Carlson.
48651
48652        No new tests needed. No behavior changed.
48653
48654        * Modules/mediastream/VideoStreamTrack.h:
48655
486562013-11-25  Robert Hogan  <robert@webkit.org>
48657
48658        Remove code now unnecessary after r159575
48659        https://bugs.webkit.org/show_bug.cgi?id=124809
48660
48661        Reviewed by Antti Koivisto.
48662
48663        Covered by existing tests fast/block/margin-collapse/self-collapsing-block-with-float*
48664
48665        * rendering/line/LineBreaker.cpp:
48666        (WebCore::LineBreaker::skipLeadingWhitespace):
48667
486682013-11-25  Laszlo Vidacs  <lac@inf.u-szeged.hu>
48669
48670        Vertical border spacing is doubled between table row groups
48671        https://bugs.webkit.org/show_bug.cgi?id=20040
48672
48673        Reviewed by Csaba Osztrogonác.
48674
48675        Based on Chromium fix https://chromium.googlesource.com/chromium/blink/+/eb615069267f895c59bc576f9d65b3fa5add41e9
48676
48677        Rebaseline needed for table related tests (100+).
48678
48679        * rendering/RenderTableSection.cpp:
48680        (WebCore::RenderTableSection::calcRowLogicalHeight):
48681
486822013-11-25  Andres Gomez  <agomez@igalia.com>
48683
48684        [GStreamer] Seeking fails on media content provided by servers not supporting Range requests
48685        https://bugs.webkit.org/show_bug.cgi?id=85994
48686
48687        Reviewed by Philippe Normand.
48688
48689        Based on the patch written by Andre Moreira Magalhaes.
48690
48691        When the GStreamer web source was doing a "Range" request we were
48692        expecting to receive a 206 status reply with the "Content-Range"
48693        header and just the requested data. Supporting "Range" requests is
48694        not mandatory so, for the servers not supporting it they will be
48695        replying with a 200 status and the whole content of the media
48696        element. Now, we are properly handling these replies too.
48697
48698        Test: http/tests/media/media-seeking-no-ranges-server.html
48699
48700        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
48701        (StreamingClient::handleResponseReceived): Do not fail when
48702        receiving 200 as response for HTTP range requests.
48703        (StreamingClient::handleDataReceived): Manually seek on stream
48704        when receiving the full data after a seek.
48705
487062013-11-25  Radu Stavila  <stavila@adobe.com>
48707
48708        Removed obsolete FIXME after the landing of visual overflow patch (https://bugs.webkit.org/show_bug.cgi?id=118665).
48709        https://bugs.webkit.org/show_bug.cgi?id=124833
48710
48711        Reviewed by Mihnea Ovidenie.
48712
48713        * rendering/RenderRegion.cpp:
48714        (WebCore::RenderRegion::layoutBlock):
48715
487162013-11-18  Sergio Villar Senin  <svillar@igalia.com>
48717
48718        [CSS Grid Layout] Cache several vectors to avoid malloc/free churn
48719        https://bugs.webkit.org/show_bug.cgi?id=123995
48720
48721        Reviewed by Dean Jackson.
48722
48723        From Blink r158228 by <jchaffraix@chromium.org>
48724
48725        Laying-out the grid items means a lot of calls to
48726        distributeSpaceToTracks() and
48727        resolveContentBasedTrackSizingFunctionsForItems() as they're
48728        called in a loop. This means that there is a lot of malloc/free
48729        going on there. By moving the vectors used by these methods to a
48730        new class which is kept during the whole layout process we save a
48731        lot of those calls.
48732
48733        This obviously mean that the price we pay for a significant
48734        perfomance improvement is that we keep the maximum allocation till
48735        the end of each layout, but it's an amount of memory that we have
48736        to allocate anyway. The improvement in the
48737        auto-grid-lots-of-data.html perf test is ~24% (165 runs/s vs 207
48738        runs/s).
48739
48740        No new tests required as we're just refactoring code to a new
48741        helper class. Nevertheless the performance improvement is backed
48742        by the perf test mentioned above.
48743
48744        * rendering/RenderGrid.cpp:
48745        (WebCore::RenderGrid::GridSizingData::GridSizingData):
48746        (WebCore::RenderGrid::computedUsedBreadthOfGridTracks):
48747        (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions):
48748        (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForItems):
48749        (WebCore::RenderGrid::distributeSpaceToTracks):
48750        (WebCore::RenderGrid::layoutGridItems):
48751        (WebCore::RenderGrid::findChildLogicalPosition):
48752        * rendering/RenderGrid.h:
48753
487542013-11-24  Brady Eidson  <beidson@apple.com>
48755
48756        DatabaseProcess: Add "UniqueIDBDatabase" that multiple WebProcesses can connect to
48757        https://bugs.webkit.org/show_bug.cgi?id=124819
48758
48759        Reviewed by Dan Bernstein.
48760
48761        * Modules/indexeddb/IDBDatabaseBackend.cpp:
48762        (WebCore::IDBDatabaseBackend::~IDBDatabaseBackend): Unregister from the IDBFactory.
48763
487642013-11-24  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
48765
48766        Generate toHTMLMarquee|OListElement() to cleanup static_cast<>
48767        https://bugs.webkit.org/show_bug.cgi?id=124707
48768
48769        Reviewed by Darin Adler.
48770
48771        As a step to use toFoo(), we need to generate toHTMLMarquee|OListElement().
48772        Besides this patch cleans up remaining static_cast<> usage.
48773
48774        No new tests, no behavior changes.
48775
48776        * css/StyleResolver.cpp:
48777        (WebCore::StyleResolver::State::initElement):
48778        (WebCore::StyleResolver::locateCousinList):
48779        (WebCore::StyleResolver::findSiblingForStyleSharing):
48780        * dom/Attr.cpp:
48781        (WebCore::Attr::style):
48782        * dom/Element.cpp:
48783        (WebCore::Element::removeAttribute):
48784        * editing/ApplyStyleCommand.cpp:
48785        (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
48786        (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode):
48787        * editing/EditingStyle.cpp:
48788        (WebCore::EditingStyle::wrappingStyleForSerialization):
48789        * editing/Editor.cpp:
48790        (WebCore::Editor::applyEditingStyleToElement):
48791        * editing/ReplaceSelectionCommand.cpp:
48792        (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
48793        * html/HTMLMarqueeElement.h:
48794        * html/HTMLOListElement.h:
48795        * html/HTMLTagNames.in:
48796        * inspector/InspectorCSSAgent.cpp:
48797        (WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):
48798        * inspector/InspectorOverlay.cpp:
48799        (WebCore::buildObjectForElementInfo):
48800        * page/PageSerializer.cpp:
48801        (WebCore::PageSerializer::serializeFrame):
48802        * rendering/RenderCounter.cpp:
48803        (WebCore::planCounter):
48804        * rendering/RenderLayer.cpp:
48805        (WebCore::RenderLayer::resize):
48806        * rendering/RenderListItem.cpp:
48807        (WebCore::RenderListItem::calcValue):
48808        (WebCore::RenderListItem::updateListMarkerNumbers):
48809        * rendering/RenderMarquee.cpp:
48810        (WebCore::RenderMarquee::marqueeSpeed):
48811
488122013-11-24  Tim Horton  <timothy_horton@apple.com>
48813
48814        REGRESSION (r156291): TileController tiles don't always repaint when they resize
48815        https://bugs.webkit.org/show_bug.cgi?id=124796
48816
48817        Reviewed by Simon Fraser.
48818
48819        In removing platformCALayerDidCreateTiles, r156291 also removed
48820        the call to setNeedsDisplay when tiles are resized, without
48821        putting it somewhere else.
48822
48823        * platform/graphics/ca/mac/TileController.mm:
48824        (WebCore::TileController::setNeedsDisplay):
48825        Use hasStaleContent when invalidating a whole tile, just
48826        like we do for partial tile repaints.
48827
48828        (WebCore::TileController::setTileNeedsDisplayInRect):
48829        Mark hasStaleContent for any unparented layers, so they'll be painted
48830        when they are reparented.
48831
48832        (WebCore::TileController::ensureTilesForRect):
48833        Invalidate the whole tile when it changes size.
48834
488352013-11-23  Xabier Rodriguez Calvar  <calvaris@igalia.com>
48836
48837        [GStreamer] Remove 0.10 codepath
48838        https://bugs.webkit.org/show_bug.cgi?id=124534
48839
48840        Reviewed by Philippe Normand.
48841
48842        All GStreamer ports are using 1.0 now so we remove the 0.10
48843        codepath.
48844
48845        * GNUmakefile.list.am:
48846        * PlatformEfl.cmake:
48847        * PlatformGTK.cmake:
48848        * WebCore.vcxproj/WebCore.vcxproj:
48849        * WebCore.vcxproj/WebCore.vcxproj.filters: Removed
48850        GStreamerVersioning.
48851        * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
48852        (onGStreamerWavparsePadAddedCallback): Removed.
48853        (WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):
48854        Replaced webkitGstPipelineGetBus and removed 0.10 codepath.
48855        (WebCore::AudioDestinationGStreamer::~AudioDestinationGStreamer):
48856        Replaced webkitGstPipelineGetBus.
48857        * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
48858        (WebCore::copyGstreamerBuffersToAudioChannel):
48859        (WebCore::onAppsinkPullRequiredCallback): Removed 0.10 codepath.
48860        (WebCore::AudioFileReader::~AudioFileReader): Replaced
48861        webkitGstPipelineGetBus and removed 0.10 codepath.
48862        (WebCore::AudioFileReader::handleSample): Left as only codepath.
48863        (WebCore::AudioFileReader::handleBuffer): Removed.
48864        (WebCore::AudioFileReader::handleNewDeinterleavePad): Removed 0.10
48865        codepath.
48866        (WebCore::AudioFileReader::plugDeinterleave): Replaced
48867        getGstAudioCaps.
48868        (WebCore::AudioFileReader::decodeAudioForBusCreation): Replaced
48869        webkitGstPipelineGetBus.
48870        (WebCore::AudioFileReader::createBus): Removed 0.10 codepath.
48871        * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
48872        (getGStreamerMonoAudioCaps):
48873        (webKitWebAudioGStreamerChannelPosition): Removed 0.10 codepath.
48874        (webkit_web_audio_src_class_init): Replaced
48875        setGstElementClassMetadata.
48876        (webkit_web_audio_src_init):
48877        (webKitWebAudioSrcConstructed):
48878        (webKitWebAudioSrcFinalize):
48879        (webKitWebAudioSrcLoop): Removed 0.10 codepath.
48880        * platform/graphics/gstreamer/AudioTrackPrivateGStreamer.cpp:
48881        * platform/graphics/gstreamer/AudioTrackPrivateGStreamer.h:
48882        Removed checks for 1.0 as it is the only codepath now.
48883        * platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
48884        (WTF::GstElement):
48885        (WTF::GstPad):
48886        (WTF::GstPadTemplate):
48887        (WTF::GstTask):
48888        (WTF::GstBus):
48889        (WTF::GstElementFactory):
48890        (WTF::adoptGRef): Replaced gstObjectIsFloating.
48891        (WTF::refGRef): Replaced webkitGstObjectRefSink.
48892        (WTF::GstTagList):
48893        (WTF::GstSample): Removed checks for 1.0 as it is the only
48894        codepath now.
48895        * platform/graphics/gstreamer/GRefPtrGStreamer.h: Removed checks
48896        for 1.0 as it is the only codepath now.
48897        * platform/graphics/gstreamer/GStreamerUtilities.cpp:
48898        (WebCore::webkitGstGhostPadFromStaticTemplate):
48899        (WebCore::getVideoSizeAndFormatFromCaps):
48900        (WebCore::createGstBuffer):
48901        (WebCore::createGstBufferForData):
48902        (WebCore::getGstBufferDataPointer):
48903        (WebCore::mapGstBuffer):
48904        (WebCore::unmapGstBuffer): Moved here from GstVersioning and added
48905        to WebCore namespace.
48906        * platform/graphics/gstreamer/GStreamerUtilities.h:
48907        (WebCore::webkitGstCheckVersion): Moved here from GstVersioning
48908        and added to WebCore namespace.
48909        * platform/graphics/gstreamer/GStreamerVersioning.cpp: Removed.
48910        * platform/graphics/gstreamer/GStreamerVersioning.h: Removed.
48911        * platform/graphics/gstreamer/ImageGStreamer.h: Removed checks for
48912        1.0 as it is the only codepath now.
48913        * platform/graphics/gstreamer/ImageGStreamerCairo.cpp:
48914        (ImageGStreamer::ImageGStreamer): Removed 0.10 codepath.
48915        (ImageGStreamer::~ImageGStreamer): Removed checks for 1.0 as it is
48916        the only codepath now.
48917        * platform/graphics/gstreamer/InbandMetadataTextTrackPrivateGStreamer.h:
48918        * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp:
48919        * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.h:
48920        Removed checks for 1.0 as it is the only codepath now.
48921        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
48922        (WebCore::setAudioStreamPropertiesCallback): Removed 0.10 codepath.
48923        (WebCore::mediaPlayerPrivateTextChangedCallback): Removed checks
48924        for 1.0 as it is the only codepath now.
48925        (WebCore::MediaPlayerPrivateGStreamer::isAvailable): Replaced
48926        gPlaybinName.
48927        (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
48928        Removed checks for 1.0 and replaced webkitGstPipelineGetBus.
48929        (WebCore::MediaPlayerPrivateGStreamer::duration): Removed 0.10
48930        codepath.
48931        (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideo):
48932        (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfAudio):
48933        (WebCore::MediaPlayerPrivateGStreamer::textChanged):
48934        Removed checks for 1.0 as it is the only codepath now.
48935        (WebCore::MediaPlayerPrivateGStreamer::buffered): Replaced
48936        gPercentMax.
48937        (WebCore::MediaPlayerPrivateGStreamer::handleMessage): Removed
48938        0.10 codepath.
48939        (WebCore::MediaPlayerPrivateGStreamer::processTableOfContents):
48940        Removed checks for 1.0 as it is the only codepath now.
48941        (WebCore::MediaPlayerPrivateGStreamer::totalBytes): Removed 0.10
48942        codepath.
48943        (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin): Replaced
48944        gPlaybinName and webkitGstPipelineGetBus and removed checks for
48945        1.0.
48946        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
48947        Removed checks for 1.0 as it is the only codepath now.
48948        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
48949        (WebCore::MediaPlayerPrivateGStreamerBase::naturalSize):
48950        (WebCore::MediaPlayerPrivateGStreamerBase::updateTexture):
48951        (WebCore::MediaPlayerPrivateGStreamerBase::paint): Removed 0.10
48952        codepath.
48953        * platform/graphics/gstreamer/TextCombinerGStreamer.cpp:
48954        * platform/graphics/gstreamer/TextCombinerGStreamer.h:
48955        * platform/graphics/gstreamer/TextSinkGStreamer.cpp:
48956        * platform/graphics/gstreamer/TextSinkGStreamer.h:
48957        * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
48958        * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h: Removed
48959        checks for 1.0 as it is the only codepath now.
48960        * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
48961        (webkitVideoSinkRender): Removed 0.10 codepath and added WebCore
48962        as createGstBuffer namespace.
48963        (webkitVideoSinkSetCaps): Removed 0.10 codepath.
48964        (webkitVideoSinkProposeAllocation): Removed checks for 1.0 as it
48965        is the only codepath now.
48966        (webkitVideoSinkMarshalVoidAndMiniObject): Removed as it was 0.10.
48967        (webkit_video_sink_class_init): Removed 0.10 codepath and replaced
48968        setGstElementClassMetadata.
48969        * platform/graphics/gstreamer/VideoTrackPrivateGStreamer.cpp:
48970        * platform/graphics/gstreamer/VideoTrackPrivateGStreamer.h:
48971        Removed checks for 1.0 as it is the only codepath now.
48972        * platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp:
48973        (webkit_media_src_class_init): Replaced
48974        setGstElementClassMetadata.
48975        (webKitMediaSrcAddSrc): Added WebCore namespace to
48976        webkitGstGhostPadFromStaticTemplate.
48977        (MediaSourceClientGstreamer::didReceiveData): Added WebCore
48978        namespace to createGstBufferForData.
48979        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
48980        Removed 0.10 codepath.
48981        (webKitWebSrcQuery): Removed as it was 0.10 only.
48982        (void webkit_web_src_class_init): Replaced setGstElementClassMetadata.
48983        (webkit_web_src_init): Removed haveAppSrc27 private attribute and
48984        0.10 codepath.
48985        (webKitWebSrcStop): Removed checks for 1.0 as it is the only
48986        codepath now.
48987        (webKitWebSrcSetProperty):
48988        (webKitWebSrcUriGetType):
48989        (webKitWebSrcGetProtocols):
48990        (webKitWebSrcGetUri):
48991        (webKitWebSrcSetUri): Removed 0.10 codepath.
48992        (StreamingClient::createReadBuffer): Removed checks for 1.0 and
48993        replaced getGstBufferSize.
48994        (StreamingClient::handleResponseReceived): Removed 0.10 codepath
48995        and replaced notifyGstTagsOnPad.
48996        (StreamingClient::handleDataReceived): Removed 0.10 codepath and
48997        replaced setGstBufferSize and gst_buffer_get_size.
48998
489992013-11-22  Jer Noble  <jer.noble@apple.com>
49000
49001        [Mac] Can't drag full-screen video to another monitor
49002        https://bugs.webkit.org/show_bug.cgi?id=124798
49003
49004        Reviewed by Geoffrey Garen.
49005
49006        Make full screen windows movable by default. Previously, we wanted non-movable full screen
49007        windows since they were in the same space and were just placed atop non-full screen windows.
49008        Now that all our supported Mac platforms have explicit full screen support, we can remove this
49009        non-movable restriction.
49010
49011        * platform/mac/WebCoreFullScreenWindow.mm:
49012        (-[WebCoreFullScreenWindow initWithContentRect:styleMask:backing:defer:]):
49013
490142013-11-22  Brent Fulgham  <bfulgham@apple.com>
49015
49016        [Win] Clean up ColorSpace handling in Windows code
49017        https://bugs.webkit.org/show_bug.cgi?id=124795
49018
49019        Reviewed by Tim Horton.
49020
49021        Functionality covered by existing fast/css/color test suite.
49022
49023        * platform/graphics/cg/GraphicsContextCG.cpp:
49024        (WebCore::safeRGBColorSpaceRef): Handle case of Windows CG implementation not
49025        handling sRGB correctly.
49026        (WebCore::sRGBColorSpaceRef): Use new helper function.
49027        * platform/graphics/win/FontCGWin.cpp:
49028        (WebCore::Font::drawGlyphs): Pass correct color space to fill functions.
49029        * platform/graphics/win/GraphicsContextCGWin.cpp:
49030        (WebCore::GraphicsContext::platformInit): Initialize color space to value passed
49031        via the style to the constructor.
49032
490332013-11-22  Alexey Proskuryakov  <ap@apple.com>
49034
49035        WebCrypto algorithms should check that key algorithm matches
49036        https://bugs.webkit.org/show_bug.cgi?id=123628
49037
49038        Reviewed by Anders Carlsson.
49039
49040        No change in behavior yet, because we have one algorithm per key class.
49041        Will be tested once more algorithms are added.
49042
49043        * WebCore.xcodeproj/project.pbxproj: Updated for file renames.
49044
49045        * bindings/js/JSCryptoAlgorithmDictionary.cpp:
49046        (WebCore::createRsaKeyParamsWithHash):
49047        (WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey):
49048        * bindings/js/JSCryptoKeySerializationJWK.cpp:
49049        (WebCore::createRSAKeyParametersWithHash):
49050        (WebCore::JSCryptoKeySerializationJWK::reconcileAlgorithm):
49051        * crypto/CryptoAlgorithmParameters.h:
49052        (WebCore::CryptoAlgorithmParameters::ENUM_CLASS):
49053        * crypto/parameters/CryptoAlgorithmRsaKeyParamsWithHash.h: Copied from Source/WebCore/crypto/parameters/CryptoAlgorithmRsaSsaKeyParams.h.
49054        * crypto/parameters/CryptoAlgorithmRsaSsaKeyParams.h: Removed.
49055        Renamed RsaSsaKeyParams to RsaKeyParamsWithHash, because other algorithms (like RSA-OAEP)
49056        are in the same boat. Depending on where the spec goes, we might need to introduce
49057        algorithm specific RSA parameter classes later, but let's reduce copy/pasted code at
49058        least for now.
49059
49060        * crypto/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp: Moved to the correct directory.
49061        * crypto/mac/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp: Copied from Source/WebCore/crypto/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp.
49062        (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformSign): Factored out Mac specific
49063        code, leaving type casting to cross-platform files.
49064        (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformVerify): Ditto.
49065
49066        * crypto/CryptoAlgorithmRegistry.h:
49067        (WebCore::CryptoAlgorithmRegistry::registerAlgorithm):
49068        * crypto/mac/CryptoAlgorithmRegistryMac.cpp:
49069        (WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms):
49070        Reduce copy/pasting in registration code.
49071
49072        * crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:
49073        (WebCore::CryptoAlgorithmAES_CBC::keyAlgorithmMatches): Check key type and algorithm.
49074        (WebCore::CryptoAlgorithmAES_CBC::encrypt): Cross platform type casting code.
49075        Maybe we'll find a way to autogenerate or eliminate it one day.
49076        (WebCore::CryptoAlgorithmAES_CBC::decrypt): Ditto.
49077
49078        * crypto/algorithms/CryptoAlgorithmAES_CBC.h:
49079        * crypto/algorithms/CryptoAlgorithmHMAC.cpp:
49080        (WebCore::CryptoAlgorithmHMAC::keyAlgorithmMatches):
49081        (WebCore::CryptoAlgorithmHMAC::sign):
49082        (WebCore::CryptoAlgorithmHMAC::verify):
49083        * crypto/algorithms/CryptoAlgorithmHMAC.h:
49084        * crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:
49085        (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::keyAlgorithmMatches):
49086        (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::sign):
49087        (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::verify):
49088        (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::importKey):
49089        * crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.h:
49090        * crypto/mac/CryptoAlgorithmAES_CBCMac.cpp:
49091        (WebCore::CryptoAlgorithmAES_CBC::platformEncrypt):
49092        (WebCore::CryptoAlgorithmAES_CBC::platformDecrypt):
49093        * crypto/mac/CryptoAlgorithmHMACMac.cpp:
49094        (WebCore::CryptoAlgorithmHMAC::platformSign):
49095        (WebCore::CryptoAlgorithmHMAC::platformVerify):
49096        Same changes for all algorithms that have keys.
49097
490982013-11-22  Brendan Long  <b.long@cablelabs.com>
49099
49100        Fire "change" event on TextTrackList when a TextTrack's mode changes
49101        https://bugs.webkit.org/show_bug.cgi?id=124789
49102
49103        Reviewed by Eric Carlson.
49104
49105        Since AudioTrackList and VideoTrackList already have this event, the
49106        interesting bits are in TrackListBase::scheduleChangeEvent(), and we
49107        just need to call it for TextTrackList changes.
49108
49109        Test: media/track/track-change-event.html
49110
49111        * html/HTMLMediaElement.cpp:
49112        (HTMLMediaElement::textTrackModeChanged): Call TrackListBase::scheduleChangeEvent().
49113        * html/track/TextTrackList.idl: Add onchange event listener.
49114
491152013-11-22  Brendan Long  <b.long@cablelabs.com>
49116
49117        Add TextTrackList::getTrackById().
49118        https://bugs.webkit.org/show_bug.cgi?id=124785
49119
49120        Reviewed by Eric Carlson.
49121
49122        Test: media/track/track-id.html
49123
49124        * html/track/TextTrackList.cpp: Add getTrackById()
49125        (TextTrackList::getTrackById):
49126        * html/track/TextTrackList.h: Same.
49127        * html/track/TextTrackList.idl: Same.
49128
491292013-11-22  Hans Muller  <hmuller@adobe.com>
49130
49131        [CSS Shapes] When the <box> value is set, derive radii from border-radius
49132        https://bugs.webkit.org/show_bug.cgi?id=124228
49133
49134        Reviewed by Dean Jackson.
49135
49136        Add support for BoxShape elliptical corners.
49137
49138        Tests: fast/shapes/shape-outside-floats/shape-outside-rounded-boxes-001.html
49139               fast/shapes/shape-outside-floats/shape-outside-rounded-boxes-002.html
49140
49141        * platform/graphics/FloatRoundedRect.h:
49142        (WebCore::FloatRoundedRect::bottomLeftCorner): Corrected a copy-and-pasteO.
49143        * rendering/shapes/BoxShape.cpp:
49144        (WebCore::BoxShape::getExcludedIntervals): Returned interval now depends on the top and bottom of the line.
49145        * rendering/shapes/Shape.cpp:
49146        (WebCore::Shape::createShape): Rounded rect parameters are now specified with a RoundedRect parameter.
49147        * rendering/shapes/Shape.h:
49148        * rendering/shapes/ShapeInfo.cpp:
49149        (WebCore::::computedShape): Pass style's rounded border to createShape().
49150
491512013-11-22  Andres Gomez  <agomez@igalia.com>
49152
49153        Several missing/incorrect guards for LOG_DISABLED=0 against Release build (Mac)
49154        https://bugs.webkit.org/show_bug.cgi?id=78735
49155
49156        Reviewed by Mario Sanchez Prada.
49157
49158        In a "Debug" build the CString.h header comes from another
49159        indirect dependency. Now, we explicitly add this missing include.
49160
49161        * page/CaptionUserPreferencesMediaAF.cpp: Explicitly adding
49162        missing include.
49163
491642013-11-22  Robert Sipka  <sipka@inf.u-szeged.hu>
49165
49166        [curl] Fix of SSL certificate chain storage
49167        https://bugs.webkit.org/show_bug.cgi?id=124768
49168
49169        Reviewed by Brent Fulgham.
49170
49171        Change the certificates storage type into ListHashSet
49172        from HashSet to keep the chain order in each case.
49173        This ensures that there is no difference between the stored
49174        and the recieved certificate chain.
49175
49176        * platform/network/curl/SSLHandle.cpp:
49177        (WebCore::allowsAnyHTTPSCertificateHosts):
49178        (WebCore::sslIgnoreHTTPSCertificate):
49179        (WebCore::pemData):
49180        (WebCore::certVerifyCallback):
49181
491822013-11-22  Brent Fulgham  <bfulgham@apple.com>
49183
49184        [Win] Avoid deadlock when interacting with some AVFoundationCF content
49185        <rdar://problem/15482977> and https://bugs.webkit.org/show_bug.cgi?id=124752
49186
49187        Prevent deadlock caused by conflict over the "mapLock" mutex. Notification handling in the file,
49188        which modify assets and make other changes, are required to happen on the main thread. This
49189        patch enforces this requirement.
49190
49191        Reviewed by Eric Carlson.
49192
49193        * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
49194        (WebCore::NotificationCallbackData::NotificationCallbackData): Added
49195        (WebCore::AVFWrapper::processNotification): Moved logic from 'notificationCallback', which was
49196        sometimes happening on a background thread.
49197        (WebCore::AVFWrapper::notificationCallback): Dispatch calls to main thread.
49198
491992013-11-22  peavo@outlook.com  <peavo@outlook.com>
49200
49201        [WinCairo] Compile error when ACCELERATED_COMPOSITING is not used.
49202        https://bugs.webkit.org/show_bug.cgi?id=124773
49203
49204        Reviewed by Brent Fulgham.
49205
49206        * rendering/RenderView.cpp:
49207        (WebCore::RenderView::paintBoxDecorations): Added USE(ACCELERATED_COMPOSITING) guard.
49208
492092013-11-18  Sergio Villar Senin  <svillar@igalia.com>
49210
49211        [CSS Grid Layout] Improve content-sized track layout
49212        https://bugs.webkit.org/show_bug.cgi?id=124408
49213
49214        Reviewed by Dean Jackson.
49215
49216        Test: fast/css-grid-layout/grid-item-with-percent-min-max-height-dynamic.html
49217
49218        From Blink r156122 & r157633 by <jchaffraix@chromium.org>
49219
49220        Added a couple of optimizations to speed up the layout of content
49221        based tracks. The idea is to narrow down the conditions for
49222        relayouting when the height of a grid area changes. We basically
49223        just need to layout tracks with percentage heights as they're the
49224        only ones that change.
49225
49226        A new performance test is attached to demonstrate the effect of
49227        these optimizations. We get a ~1000% improvement on a i7 M620
49228        going from 14.5 runs/s to 165 runs/s.
49229
49230        * rendering/RenderGrid.cpp:
49231        (WebCore::RenderGrid::logicalContentHeightForChild):
49232        (WebCore::RenderGrid::layoutGridItems):
49233
492342013-11-08  Sergio Villar Senin  <svillar@igalia.com>
49235
49236        [CSS Grid Layout] Run the content-sized tracks sizing algorithm only when required
49237        https://bugs.webkit.org/show_bug.cgi?id=124039
49238
49239        Reviewed by Dean Jackson.
49240
49241        The current code runs the content sized track sizing algorithm all
49242        the time, which forces a layout even when the track is not
49243        content-sized. This change improves the situation by applying two
49244        optimizations. In the first one, we bail out the algorithm if we
49245        detect that we don't need to run it. And by the second one we
49246        reduce the amount of recomputations by only iterating over the
49247        content sized tracks instead of all of them. Both changes follow
49248        the ideas introduced in Blink r156028 and r156168 by
49249        <jchaffraix@chromium.org>.
49250
49251        As we changed the way we iterate over children (we use the
49252        GridIterator now) the way they're stored in the RenderGrid changes
49253        too. If a item spans through several "cells" inside the grid, we
49254        will have a reference to it on each of them.
49255
49256        These two changes account for a ~3200% improvement on a i7 M620 in
49257        the test that accompanies this change (15.5 vs 520 run/s).
49258
49259        New perf test: PerformanceTests/Layout/fixed-grid-lots-of-data.html
49260
49261        * rendering/RenderGrid.cpp:
49262        (WebCore::RenderGrid::computedUsedBreadthOfGridTracks): Keep track
49263        of content sized tracks and only iterate over them.
49264        (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions):
49265        (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForItems):
49266        Early return if there are no tracks to pass to the algorithm.
49267        * rendering/RenderGrid.h:
49268        * rendering/style/GridLength.h:
49269        (WebCore::GridLength::isContentSized):
49270        * rendering/style/GridTrackSize.h:
49271        (WebCore::GridTrackSize::isContentSized):
49272
492732013-11-22  Manuel Rego Casasnovas  <rego@igalia.com>
49274
49275        [CSS Regions] Move code after early break in RenderRegion::repaintFlowThreadContentRectangle
49276        https://bugs.webkit.org/show_bug.cgi?id=124743
49277
49278        Reviewed by Mihnea Ovidenie.
49279
49280        No new tests, covered by existing tests.
49281
49282        * rendering/RenderRegion.cpp:
49283        (WebCore::RenderRegion::repaintFlowThreadContentRectangle): Variable
49284        flippedFlowThreadPortionRect is not used before the early break, so we
49285        can move it after and save some unneeded operations.
49286
492872013-11-22  Manuel Rego Casasnovas  <rego@igalia.com>
49288
49289        [CSS Regions] Use hasOverflowClip() in RenderRegion
49290        https://bugs.webkit.org/show_bug.cgi?id=124746
49291
49292        Reviewed by Mihnea Ovidenie.
49293
49294        Implement the suggested FIXME in RenderRegion using hasOverflowClip().
49295
49296        No new tests, covered by existing tests.
49297
49298        * rendering/RenderRegion.cpp:
49299        (WebCore::RenderRegion::overflowRectForFlowThreadPortion): Use
49300        hasOverflowClip().
49301        (WebCore::RenderRegion::rectFlowPortionForBox): Ditto.
49302
493032013-11-21  Frédéric Wang  <fred.wang@free.fr>
49304
49305        Map the dir attribute to the CSS direction property.
49306        https://bugs.webkit.org/show_bug.cgi?id=124572.
49307
49308        Reviewed by Darin Adler.
49309
49310        Test: mathml/presentation/mstyle-css-attributes.html
49311
49312        * mathml/MathMLElement.cpp:
49313        (WebCore::MathMLElement::isPresentationAttribute): reorder attributes
49314        (WebCore::MathMLElement::collectStyleForPresentationAttribute): reorder tags that accept dir
49315        (WebCore::MathMLElement::isMathMLToken): add an inline function to test that a tag corresponds to a MathML Token Element.
49316        * mathml/MathMLElement.h:
49317
49318        Follow-up work to address Darin's comments.
49319
493202013-11-21  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
49321
49322        Remove ENABLE_WORKERS
49323        https://bugs.webkit.org/show_bug.cgi?id=105784
49324
49325        Reviewed by Darin Adler.
49326
493272013-11-21  Alex Christensen  <achristensen@webkit.org>
49328
49329        [Win] Unreviewed build fix after r159632.
49330
49331        * platform/network/curl/SSLHandle.cpp:
49332        (WebCore::certVerifyCallback):
49333        Fixed template syntax.
49334
493352013-11-21  Bear Travis  <betravis@adobe.com>
49336
49337        Web Inspector: [CSS Shapes] Refactor highlighting code to decrease Shapes API surface
49338        https://bugs.webkit.org/show_bug.cgi?id=124737
49339
49340        Reviewed by Timothy Hatcher.
49341
49342        Add a virtual method to Shapes, buildPath, that can be used to build the
49343        path (in the Shape coordinate system) for display in the Inspector. This allows us
49344        to remove methods such as type(), polygon(), and logicalRx/Ry() which exposed the
49345        inner workings of the Shapes classes. Also covers the addition of the BoxShape type.
49346
49347        Refactoring, existing test is inspector-protocol/model/highlight-shape-outside.html.
49348
49349        * inspector/InspectorOverlay.cpp:
49350        (WebCore::appendPathCommandAndPoints): Points need to be translated from shape space
49351        to renderer space using ShapeInfo.
49352        (WebCore::buildObjectForShapeOutside): Add the ShapeOutsideInfo to the path info struct.
49353        * rendering/shapes/BoxShape.cpp:
49354        (WebCore::BoxShape::buildPath): Build the path for a BoxShape.
49355        * rendering/shapes/BoxShape.h:
49356        * rendering/shapes/PolygonShape.cpp:
49357        (WebCore::PolygonShape::buildPath): Build the path for a PolygonShape.
49358        * rendering/shapes/PolygonShape.h:
49359        * rendering/shapes/RasterShape.h:
49360        * rendering/shapes/RectangleShape.cpp:
49361        (WebCore::RectangleShape::buildPath): Build the path for a RectangleShape.
49362        * rendering/shapes/RectangleShape.h:
49363        * rendering/shapes/Shape.h:
49364
493652013-11-21  Mark Rowe  <mrowe@apple.com>
49366
49367        <https://webkit.org/b/124702> Stop overriding VALID_ARCHS.
49368
49369        All modern versions of Xcode set it appropriately for our needs.
49370
49371        Reviewed by Alexey Proskuryakov.
49372
49373        * Configurations/Base.xcconfig:
49374
493752013-11-21  Gwang Yoon Hwang  <ryumiel@company100.net>
49376
49377        [GTK] Unreviewed buildfix after r159614 and r159656.
49378
49379        * bindings/gobject/WebKitDOMCustom.cpp: Add missing header
49380
493812013-11-21  Laszlo Vidacs  <lac@inf.u-szeged.hu>
49382
49383        Fix WinCairo unreachable code warnings in SimpleLineLayout.cpp
49384        https://bugs.webkit.org/show_bug.cgi?id=124704
49385
49386        Reviewed by Antti Koivisto.
49387
49388        Fix unreachable code warnings using conditional directives.
49389
49390        * rendering/SimpleLineLayout.cpp:
49391        (WebCore::SimpleLineLayout::canUseFor):
49392
493932013-11-21  Mark Rowe  <mrowe@apple.com>
49394
49395        <https://webkit.org/b/124701> Fix an error in a few Xcode configuration setting files.
49396
49397        Reviewed by Alexey Proskuryakov.
49398
49399        * Configurations/Base.xcconfig:
49400
494012013-11-21  Mark Rowe  <mrowe@apple.com>
49402
49403        <https://webkit.org/b/124700> Fix some deprecation warnings.
49404
49405        Reviewed by Anders Carlsson.
49406
49407        * platform/mac/HTMLConverter.mm:
49408        (fileWrapperForURL): Move off a deprecated NSFileWrapper method.
49409
494102013-11-21  Daniel Bates  <dabates@apple.com>
49411
49412        [iOS] Build fix; export symbol for WebCore::provideDeviceOrientationTo()
49413
49414        Add the symbol __ZN7WebCore26provideDeviceOrientationToEPNS_4PageEPNS_23DeviceOrientationClientE.
49415
49416        * WebCore.exp.in:
49417
494182013-11-21  Daniel Bates  <dabates@apple.com>
49419
49420        Add !USE(NETWORK_CFDATA_ARRAY_CALLBACK)-guard
49421        https://bugs.webkit.org/show_bug.cgi?id=124741
49422
49423        Reviewed by Alexey Proskuryakov.
49424
49425        Add !USE(NETWORK_CFDATA_ARRAY_CALLBACK)-guard around code that is unused
49426        when building with feature NETWORK_CFDATA_ARRAY_CALLBACK.
49427
49428        Additionally, add a declaration for allocateSegment() with attribute WARN_UNUSED_RETURN
49429        to have the compiler warn when the return value of this function is unused. Together with
49430        warnings treated as errors this change will prevent a memory leak.
49431
49432        * platform/SharedBuffer.cpp:
49433
494342013-11-21  Daniel Bates  <dabates@apple.com>
49435
49436        Remove unused functions from WebCore and WebKit2
49437        https://bugs.webkit.org/show_bug.cgi?id=124739
49438
49439        Reviewed by Alexey Proskuryakov.
49440
49441        * editing/markup.cpp: Remove unused functions isHTMLBlockElement and
49442        ancestorToRetainStructureAndAppearanceWithNoRenderer.
49443        * rendering/InlineElementBox.cpp: Append newline to the end of the file.
49444
494452013-11-21  Daniel Bates  <dabates@apple.com>
49446
49447        Only generate isObservable() when IDL specifies GenerateIsReachable
49448        https://bugs.webkit.org/show_bug.cgi?id=124729
49449
49450        Reviewed by Geoffrey Garen.
49451
49452        We should only generate the static inline function isObservable() when the IDL
49453        specifies GenerateIsReachable. Otherwise, this function is unused.
49454
49455        Added a new test IDL TestGenerateIsReachable.idl and expected results to test that
49456        we generate isObservable() when an IDL specifies GenerateIsReachable. Additionally,
49457        rebased existing test results.
49458
49459        * bindings/scripts/CodeGeneratorJS.pm:
49460        (GenerateImplementation):
49461        * bindings/scripts/test/CPP/WebDOMTestGenerateIsReachable.cpp: Added.
49462        * bindings/scripts/test/CPP/WebDOMTestGenerateIsReachable.h: Added.
49463        * bindings/scripts/test/GObject/WebKitDOMTestGenerateIsReachable.cpp: Added.
49464        * bindings/scripts/test/GObject/WebKitDOMTestGenerateIsReachable.h: Added.
49465        * bindings/scripts/test/GObject/WebKitDOMTestGenerateIsReachablePrivate.h: Added.
49466        * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp: Removed unused function isObservable().
49467        * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp: Ditto.
49468        * bindings/scripts/test/JS/JSTestEventConstructor.cpp: Ditto.
49469        * bindings/scripts/test/JS/JSTestEventTarget.cpp: Ditto.
49470        * bindings/scripts/test/JS/JSTestException.cpp: Ditto.
49471        * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp: Added.
49472        * bindings/scripts/test/JS/JSTestGenerateIsReachable.h: Added.
49473        * bindings/scripts/test/JS/JSTestInterface.cpp: Removed unused function isObservable().
49474        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: Ditto.
49475        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp: Ditto.
49476        * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
49477        * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp: Ditto.
49478        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: Ditto.
49479        * bindings/scripts/test/JS/JSTestTypedefs.cpp: Ditto.
49480        * bindings/scripts/test/JS/JSattribute.cpp: Ditto.
49481        * bindings/scripts/test/JS/JSreadonly.cpp: Ditto.
49482        * bindings/scripts/test/ObjC/DOMTestGenerateIsReachable.h: Added.
49483        * bindings/scripts/test/ObjC/DOMTestGenerateIsReachable.mm: Added.
49484        * bindings/scripts/test/ObjC/DOMTestGenerateIsReachableInternal.h: Added.
49485        * bindings/scripts/test/TestGenerateIsReachable.idl: Added.
49486
494872013-11-21  Beth Dakin  <bdakin@apple.com>
49488
49489        Add a new mode to extend the tile cache beyond the page
49490        https://bugs.webkit.org/show_bug.cgi?id=124216
49491
49492        Reviewed by Simon Fraser.
49493
49494        This patch makes it possible to give the tile cache a margin of tiles. If there is 
49495        a margin of tiles, this patch paints those tiles with the background color. Note 
49496        that this patch does not actually give the tile cache a margin at this time.
49497
49498        You opt into a margined tiled cache by called setTileMargins() with number of 
49499        pixels that the margin on that side should be. 
49500        * platform/graphics/TiledBacking.h:
49501        * platform/graphics/ca/mac/TileController.h:
49502        * platform/graphics/ca/mac/TileController.mm:
49503        (WebCore::TileController::TileController):
49504        (WebCore::TileController::tilesWouldChangeForVisibleRect):
49505
49506        TileController::bounds() now computes the bounds INCLUDING the margin.
49507        (WebCore::TileController::bounds):
49508
49509        adjustRectAtTileIndexForMargin() is a new function that is required to get the 
49510        rect size for tiles in the margin right. rectForTileIndex() assumes all tiles 
49511        strive to be the size of m_tileSize, but now margin tiles will be whatever the 
49512        margin sizes were set to.
49513        (WebCore::TileController::adjustRectAtTileIndexForMargin):
49514        (WebCore::TileController::rectForTileIndex):
49515
49516        This is another instance where m_tileSize is not always the right size to use.
49517        (WebCore::TileController::getTileIndexRangeForRect):
49518
49519        The tile coverage rect now might include the margin tiles. Only include them in 
49520        slow-scrolling mode if the current position is within one tile of the edge.
49521        (WebCore::TileController::computeTileCoverageRect):
49522
49523        tileSizeForCoverageRect() does not make sense in a world where the coverage rect 
49524        will include margin. Instead, this patch implements the current strategy more 
49525        explicitly by returning the visibleRect in the slow scrolling case, and in the 
49526        process this patch also re-names tileSizeForCoverageRect() to computeTileSize() 
49527        since it no longer takes a coverageRect.
49528        (WebCore::TileController::computeTileSize):
49529        (WebCore::TileController::revalidateTiles):
49530
49531        New setters and getters for the tile margins on each side.
49532        (WebCore::TileController::setTileMargins):
49533        (WebCore::TileController::hasMargins):
49534        (WebCore::TileController::topMarginHeight):
49535        (WebCore::TileController::bottomMarginHeight):
49536        (WebCore::TileController::leftMarginWidth):
49537        (WebCore::TileController::rightMarginWidth):
49538
49539        New function to add margin onto the composited bounds if there is one.
49540        * rendering/RenderLayerBacking.cpp:
49541        (WebCore::RenderLayerBacking::tiledBackingHasMargin):
49542        (WebCore::RenderLayerBacking::paintContents):
49543        (WebCore::RenderLayerBacking::compositedBoundsIncludingMargin):
49544        * rendering/RenderLayerBacking.h:
49545
49546        Do not set masks to bounds if there is a margin on the root layer.
49547        * rendering/RenderLayerCompositor.cpp:
49548        (WebCore::RenderLayerCompositor::updateBacking):
49549        (WebCore::RenderLayerCompositor::mainFrameBackingIsTiledWithMargin):
49550        * rendering/RenderLayerCompositor.h:
49551
49552        Allow background color to paint into the margin tiles.
49553        * rendering/RenderView.cpp:
49554        (WebCore::RenderView::paintBoxDecorations):
49555
495562013-11-21  Alexey Proskuryakov  <ap@apple.com>
49557
49558        Implement WebCrypto wrapKey
49559        https://bugs.webkit.org/show_bug.cgi?id=124738
49560
49561        Reviewed by Anders Carlsson.
49562
49563        Tests: crypto/subtle/aes-cbc-wrap-rsa-non-extractable.html
49564               crypto/subtle/aes-cbc-wrap-rsa.html
49565
49566        * bindings/js/JSSubtleCryptoCustom.cpp:
49567        (WebCore::exportKey): Factored out the actual operation that can be chained with
49568        encryption for wrapKey.
49569        (WebCore::JSSubtleCrypto::exportKey):
49570        (WebCore::JSSubtleCrypto::wrapKey):
49571        (WebCore::JSSubtleCrypto::unwrapKey): Fixed a memory leak in failure code path.
49572
49573        * crypto/SubtleCrypto.idl: Added wrapKey.
49574
495752013-11-21  Alexey Proskuryakov  <ap@apple.com>
49576
49577        Implement WebCrypto unwrapKey
49578        https://bugs.webkit.org/show_bug.cgi?id=124725
49579
49580        Reviewed by Anders Carlsson.
49581
49582        Tests: crypto/subtle/aes-cbc-unwrap-failure.html
49583               crypto/subtle/aes-cbc-unwrap-rsa.html
49584
49585        * bindings/js/JSCryptoAlgorithmDictionary.cpp:
49586        * bindings/js/JSCryptoAlgorithmDictionary.h:
49587        Removed calls for wrap/unwrap parameter parsing, these are just the same as encrypt/decrypt.
49588
49589        * bindings/js/JSCryptoOperationData.cpp:
49590        (WebCore::cryptoOperationDataFromJSValue):
49591        * bindings/js/JSCryptoOperationData.h:
49592        * crypto/CryptoKeySerialization.h:
49593        More Vector<char> elimination.
49594
49595        * bindings/js/JSDOMPromise.cpp:
49596        * bindings/js/JSDOMPromise.h:
49597        Removed unneccessary copy constructor and assignment operator, they are no diffdrent
49598        than compiler generated ones.
49599
49600        * bindings/js/JSSubtleCryptoCustom.cpp:
49601        (WebCore::cryptoKeyUsagesFromJSValue): Minor style fixes.
49602        (WebCore::JSSubtleCrypto::encrypt): Ditto.
49603        (WebCore::JSSubtleCrypto::decrypt): Ditto.
49604        (WebCore::JSSubtleCrypto::sign): Ditto.
49605        (WebCore::JSSubtleCrypto::verify): Ditto.
49606        (WebCore::JSSubtleCrypto::generateKey): Ditto.
49607        (WebCore::importKey): Separated actual import operation and the parts that read
49608        arguments from ExecState, and call the promise. Logically, this should be outside
49609        of bindings code even, but JWK makes that quite challenging.
49610        (WebCore::JSSubtleCrypto::importKey): This only does the more mundane arguments
49611        and return parts now.
49612        (WebCore::JSSubtleCrypto::exportKey): Minor style fixes.
49613        (WebCore::JSSubtleCrypto::unwrapKey): Chain decrypt and import.
49614
49615        * crypto/CryptoAlgorithm.cpp:
49616        (WebCore::CryptoAlgorithm::encryptForWrapKey):
49617        (WebCore::CryptoAlgorithm::decryptForUnwrapKey):
49618        * crypto/CryptoAlgorithm.h:
49619        There are algorithms that expose wrap/unwrap, but not encrypt/decrypt. These will
49620        override these new functions, and leave encrypt/decrypt to raise NOT_SUPPORTED_ERR.
49621
49622        * crypto/SubtleCrypto.idl: Added unwrapKey.
49623
496242013-11-21  Robert Sipka  <sipka@inf.u-szeged.hu>
49625
49626        [curl]Improve ssl certificate storage and check
49627        https://bugs.webkit.org/show_bug.cgi?id=124569
49628
49629        Reviewed by Brent Fulgham.
49630
49631        Storage and check the whole certificate chain, not just the root certificate.
49632
49633        * platform/network/curl/SSLHandle.cpp:
49634        (WebCore::allowsAnyHTTPSCertificateHosts):
49635        (WebCore::sslIgnoreHTTPSCertificate):
49636        (WebCore::pemData):
49637        (WebCore::certVerifyCallback):
49638
496392013-11-21  Mihai Maerean  <mmaerean@adobe.com>
49640
49641        Fix hover area for divs with css transforms
49642        https://bugs.webkit.org/show_bug.cgi?id=124647
49643
49644        Reviewed by Allan Sandfeld Jensen.
49645
49646        Non transformed layers are now being hit last, not through or in-between transformed layers.
49647        The paint order says that the divs creating stacking contexts (including transforms) are painted after the
49648        other siblings so they should be hit tested in the reverse order. Also, a rotated div in a non-rotated parent
49649        should be hit in its entire area, not hit its parent's background, even if the z-coordinate is negative where
49650        the mouse is located.
49651
49652        Test: transforms/3d/hit-testing/hover-rotated-negative-z.html
49653
49654        * rendering/RenderLayer.cpp:
49655        (WebCore::computeZOffset):
49656
496572013-11-21  Andres Gomez  <agomez@igalia.com>
49658
49659        [GTK] Release compilation fails when defining "LOG_DISABLED=0"
49660        https://bugs.webkit.org/show_bug.cgi?id=124661
49661
49662        Reviewed by Mario Sanchez Prada.
49663
49664        In a "Debug" build the CString.h header comes from another
49665        indirect dependency. Now, we explicitly add this missing include.
49666
49667        * html/HTMLTrackElement.cpp: Explicitly adding missing include.
49668
496692013-11-21  Ryosuke Niwa  <rniwa@webkit.org>
49670
49671        Fix Range.insertNode when the inserted node is in the same container as the Range
49672        https://bugs.webkit.org/show_bug.cgi?id=123957
49673
49674        Reviewed by Antti Koivisto.
49675
49676        Inspired by https://chromium.googlesource.com/chromium/blink/+/fb6ca1f488703e8d4f20ce6449cc8ea210be6edb
49677
49678        When a node from the same container is inserted, we can't simply adjust m_end with the offset.
49679        Compute m_start and m_end from the inserted nodes instead.
49680
49681        Also, don't adjust m_start and m_end to nodes outside of the document if the inserted nodes had been
49682        removed by mutation events.
49683
49684        Test: fast/dom/Range/range-insertNode-same-container.html
49685
49686        * dom/Range.cpp:
49687        (WebCore::Range::insertNode):
49688
496892013-11-21  Ryosuke Niwa  <rniwa@webkit.org>
49690
49691        nextBoundary and previousBoundary are very slow when there is a password field
49692        https://bugs.webkit.org/show_bug.cgi?id=123973
49693
49694        Reviewed by Antti Koivisto.
49695
49696        Merge https://chromium.googlesource.com/chromium/blink/+/57366eec5e3edea54062d4e74c0e047f8681dbad
49697
49698        When iterating through DOM nodes nextBoundary and previousBoundary convert the contents of nodes using
49699        text security to a sequence of 'x' characters. The SimplifiedBackwardsTextIterator and TextIterator
49700        may iterate past node boundaries. Before this patch, the transformation was done looking at the starting
49701        node rather than the current node. In some situations, this replaced all boundaries with 'x' and caused
49702        the text iterator to continue iterating and transforming until the extent of the document.
49703
49704        Test: editing/deleting/password-delete-performance.html
49705
49706        * editing/TextIterator.h:
49707        (WebCore::SimplifiedBackwardsTextIterator::node):
49708        * editing/VisibleUnits.cpp:
49709        (WebCore::previousBoundary):
49710        (WebCore::nextBoundary):
49711
497122013-11-21  Ryosuke Niwa  <rniwa@webkit.org>
49713
49714        HTML parser should not associate elements inside templates with forms
49715        https://bugs.webkit.org/show_bug.cgi?id=117779
49716
49717        Reviewed by Antti Koivisto.
49718
49719        Merge https://chromium.googlesource.com/chromium/blink/+/45aadf7ee7ee010327eb692066cf013315ef3ed7
49720
49721        When parsing <form><template><input>, the previous behavior was to associate the <input> with the <form>,
49722        even though they're not in the same tree (or even the same document).
49723
49724        This patch changes that by checking, prior to creating a form control element, whether the element to be
49725        created lives in a document with a browsing context.
49726
49727        We don't update m_form as needed to faithfully match the HTML5 specification's form element pointer
49728        http://www.whatwg.org/specs/web-apps/current-work/multipage/parsing.html#form-element-pointer
49729        and its algorithm for creating and inserting nodes:
49730        http://www.whatwg.org/specs/web-apps/current-work/multipage/tree-construction.html#creating-and-inserting-nodes
49731
49732        While this leaves isindex's reference to form element pointer stale:
49733        http://www.whatwg.org/specs/web-apps/current-work/multipage/tree-construction.html#isindex
49734        The HTML5 specification matches the behaviors of Chrome and Firefox so we leave it as is.
49735
49736        Test: fast/dom/HTMLTemplateElement/no-form-association.html
49737
49738        * html/parser/HTMLConstructionSite.cpp:
49739        (WebCore::HTMLConstructionSite::createHTMLElement):
49740
497412013-11-21  Carlos Garcia Campos  <cgarcia@igalia.com>
49742
49743        [GTK] Cannot scroll in option menu when it larger than the screen
49744        https://bugs.webkit.org/show_bug.cgi?id=124671
49745
49746        Reviewed by Martin Robinson.
49747
49748        The problem is that the popup menu is not resized to fit in the
49749        screen, so it doesn't scroll and some of the items are offscreen
49750        so they can't be selected either. GTK+ automatically resizes the
49751        popup menus to fit in the work area, but only when the menu is
49752        already positioned.
49753
49754        * platform/gtk/GtkPopupMenu.cpp:
49755        (WebCore::GtkPopupMenu::popUp): Schedule a resize of the popup
49756        menu right after showing it once it has a position.
49757
497582013-11-21  Carlos Garcia Campos  <cgarcia@igalia.com>
49759
49760        [GTK] Mark all deprecated symbols in GObject DOM bindings
49761        https://bugs.webkit.org/show_bug.cgi?id=124406
49762
49763        Reviewed by Gustavo Noronha Silva.
49764
49765        Move deprecated API from WebKitDOMCustom to a new file
49766        WebKitDOMDeprecated leaving in WebKitDOMCustom only the
49767        non-deprecated API that is not autogenerated. Also added the
49768        deprecation decorations and tags in the documentation.
49769
49770        * bindings/gobject/GNUmakefile.am:
49771        * bindings/gobject/WebKitDOMCustom.cpp:
49772        * bindings/gobject/WebKitDOMCustom.h:
49773        * bindings/gobject/WebKitDOMCustom.symbols:
49774        * bindings/gobject/WebKitDOMDeprecated.cpp: Copied from Source/WebCore/bindings/gobject/WebKitDOMCustom.cpp.
49775        (webkit_dom_blob_webkit_slice):
49776        (webkit_dom_html_element_get_id):
49777        (webkit_dom_html_element_set_id):
49778        (webkit_dom_html_element_get_class_name):
49779        (webkit_dom_html_element_set_class_name):
49780        (webkit_dom_html_element_get_class_list):
49781        (webkit_dom_html_form_element_dispatch_form_change):
49782        (webkit_dom_html_form_element_dispatch_form_input):
49783        (webkit_dom_webkit_named_flow_get_overflow):
49784        (webkit_dom_element_get_webkit_region_overflow):
49785        (webkit_dom_webkit_named_flow_get_content_nodes):
49786        (webkit_dom_webkit_named_flow_get_regions_by_content_node):
49787        (webkit_dom_bar_info_get_property):
49788        (webkit_dom_bar_info_class_init):
49789        (webkit_dom_bar_info_init):
49790        (webkit_dom_bar_info_get_visible):
49791        (webkit_dom_console_get_memory):
49792        (webkit_dom_css_style_declaration_get_property_css_value):
49793        (webkit_dom_document_get_webkit_hidden):
49794        (webkit_dom_document_get_webkit_visibility_state):
49795        (webkit_dom_html_document_open):
49796        (webkit_dom_html_element_set_item_id):
49797        (webkit_dom_html_element_get_item_id):
49798        (webkit_dom_html_element_get_item_ref):
49799        (webkit_dom_html_element_get_item_prop):
49800        (webkit_dom_html_element_set_item_scope):
49801        (webkit_dom_html_element_get_item_scope):
49802        (webkit_dom_html_element_get_item_type):
49803        (webkit_dom_html_style_element_set_scoped):
49804        (webkit_dom_html_style_element_get_scoped):
49805        (webkit_dom_html_properties_collection_get_property):
49806        (webkit_dom_html_properties_collection_class_init):
49807        (webkit_dom_html_properties_collection_init):
49808        (webkit_dom_html_properties_collection_item):
49809        (webkit_dom_html_properties_collection_named_item):
49810        (webkit_dom_html_properties_collection_get_length):
49811        (webkit_dom_html_properties_collection_get_names):
49812        (webkit_dom_node_get_attributes):
49813        (webkit_dom_node_has_attributes):
49814        (webkit_dom_memory_info_get_property):
49815        (webkit_dom_memory_info_class_init):
49816        (webkit_dom_memory_info_init):
49817        (webkit_dom_memory_info_get_total_js_heap_size):
49818        (webkit_dom_memory_info_get_used_js_heap_size):
49819        (webkit_dom_memory_info_get_js_heap_size_limit):
49820        (webkit_dom_micro_data_item_value_class_init):
49821        (webkit_dom_micro_data_item_value_init):
49822        (webkit_dom_performance_get_memory):
49823        (webkit_dom_property_node_list_get_property):
49824        (webkit_dom_property_node_list_class_init):
49825        (webkit_dom_property_node_list_init):
49826        (webkit_dom_property_node_list_item):
49827        (webkit_dom_property_node_list_get_length):
49828        (webkit_dom_html_media_element_get_start_time):
49829        (webkit_dom_html_media_element_get_initial_time):
49830        (webkit_dom_html_head_element_get_profile):
49831        (webkit_dom_html_head_element_set_profile):
49832        (webkit_dom_processing_instruction_get_data):
49833        (webkit_dom_processing_instruction_set_data):
49834        * bindings/gobject/WebKitDOMDeprecated.h: Copied from Source/WebCore/bindings/gobject/WebKitDOMCustom.h.
49835        * bindings/gobject/WebKitDOMDeprecated.symbols: Copied from Source/WebCore/bindings/gobject/WebKitDOMCustom.symbols.
49836        * bindings/scripts/CodeGeneratorGObject.pm:
49837        (GenerateFunction): Do not include deprecation guards in the cpp file.
49838        * bindings/scripts/gobject-generate-headers.pl: Do not create
49839        fordward declarations for non-existent classes like Custom and
49840        Deprecated.
49841        * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.cpp:
49842        (webkit_dom_test_event_target_dispatch_event):
49843
498442013-11-20  Jae Hyun Park  <jae.park@company100.net>
49845
49846        [CoordinatedGraphics] Use std::unique_ptrs rather than OwnPtrs
49847        https://bugs.webkit.org/show_bug.cgi?id=124692
49848
49849        Reviewed by Noam Rosenthal.
49850
49851        No new tests, covered by existing ones.
49852
49853        * platform/graphics/TiledBackingStore.cpp:
49854        (WebCore::TiledBackingStore::TiledBackingStore):
49855        * platform/graphics/TiledBackingStore.h:
49856        * platform/graphics/TiledBackingStoreBackend.h:
49857        * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
49858        (WebCore::CoordinatedGraphicsLayer::createBackingStore):
49859        * platform/graphics/texmap/coordinated/CoordinatedTile.h:
49860
498612013-11-20  Brady Eidson  <beidson@apple.com>
49862
49863        Add more infrastructure for ServerConnection communication between Web and Database processes
49864        https://bugs.webkit.org/show_bug.cgi?id=124693
49865
49866        Reviewed by Anders Carlsson.
49867
49868        * WebCore.exp.in:
49869
498702013-11-20  Ryosuke Niwa  <rniwa@webkit.org>
49871
49872        Hoist <template> to head when found between </head> and <body> for consistency with <script>
49873        https://bugs.webkit.org/show_bug.cgi?id=123949
49874
49875        Reviewed by Antti Koivisto.
49876
49877        Merge https://chromium.googlesource.com/chromium/blink/+/835fb468fd211054a920fb7612a6dc5043662495
49878
49879        Move template elements between head and body elements into the head to be consistent with script elements.
49880        The HTML5 specification was changed in http://html5.org/tools/web-apps-tracker?from=8217&to=8218.
49881
49882        Inline comments below are cited from https://www.w3.org/Bugs/Public/show_bug.cgi?id=23002
49883        and https://codereview.chromium.org/25900003 for clarity.
49884
49885        * html/parser/HTMLTreeBuilder.cpp:
49886        (WebCore::HTMLTreeBuilder::processStartTag): Add the template element to the list of elements to be hoisted into
49887        the head element.
49888        (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
49889
49890        Replace the assertion that isParsingFragment is true when item->node() == m_tree.openElements()->rootNode() since,
49891        with this change, we can now invoke resetInsertionMode when parsing a normal document (not fragment) and there is
49892        only the html element on the stack of open elements.
49893
49894        For the second change, consider: <head></head><template>
49895
49896        This example breaks in the old HTML parser because the template element is handled by "after head" state which
49897        pushes the head element back on, processes the template element for "in head", then pops the head element off.
49898        EOF is reached, which processes a fake close tag for the template element, which pops the template element off
49899        and resets the insertion mode appropriately
49900
49901        The problem here is that "reset the insertion mode" is going to inspect the bottom-most element on the stack which
49902        is now the html element and it will set the mode to "before head". Nothing good happens after this.
49903
49904        We fix this problem by having the reset algorithm check if the head element pointer is set, and if so, go to after
49905        head instead of before head.
49906
499072013-11-20  Radu Stavila  <stavila@adobe.com>
49908
49909        [CSS Regions] Implement visual overflow for first & last regions
49910        https://bugs.webkit.org/show_bug.cgi?id=118665
49911
49912        In order to properly propagate the visual overflow of elements flowed inside regions, 
49913        the responsiblity of painting and hit-testing content inside flow threads has been
49914        moved to the flow thread layer's level.
49915        Each region keeps the associated overflow with each box in the RenderBoxRegionInfo
49916        structure, including one for the flow thread itself. This data is used during
49917        painting and hit-testing.
49918
49919        Reviewed by David Hyatt.
49920
49921        Tests: fast/regions/overflow-first-and-last-regions-in-container-hidden.html
49922               fast/regions/overflow-first-and-last-regions.html
49923               fast/regions/overflow-nested-regions.html
49924               fast/regions/overflow-region-float.html
49925               fast/regions/overflow-region-inline.html
49926               fast/regions/overflow-region-transform.html
49927
49928        * rendering/InlineFlowBox.cpp:
49929        (WebCore::InlineFlowBox::setLayoutOverflow):
49930        (WebCore::InlineFlowBox::setVisualOverflow):
49931        * rendering/InlineFlowBox.h:
49932        * rendering/RenderBlock.cpp:
49933        (WebCore::RenderBlock::addOverflowFromChildren):
49934        (WebCore::RenderBlock::paint):
49935        (WebCore::RenderBlock::paintObject):
49936        (WebCore::RenderBlock::estimateRegionRangeForBoxChild):
49937        (WebCore::RenderBlock::updateRegionRangeForBoxChild):
49938        * rendering/RenderBlockFlow.cpp:
49939        (WebCore::RenderBlockFlow::hasNextPage):
49940        (WebCore::RenderBlockFlow::relayoutForPagination):
49941        * rendering/RenderBlockLineLayout.cpp:
49942        (WebCore::RenderBlockFlow::positionNewFloatOnLine):
49943        * rendering/RenderBox.cpp:
49944        (WebCore::RenderBox::borderBoxRectInRegion):
49945        (WebCore::RenderBox::computeRectForRepaint):
49946        (WebCore::RenderBox::addLayoutOverflow):
49947        (WebCore::RenderBox::addVisualOverflow):
49948        (WebCore::RenderBox::isUnsplittableForPagination):
49949        (WebCore::RenderBox::overflowRectForPaintRejection):
49950        * rendering/RenderBox.h:
49951        (WebCore::RenderBox::canHaveOutsideRegionRange):
49952        * rendering/RenderBoxModelObject.cpp:
49953        (WebCore::RenderBoxModelObject::paintMaskForTextFillBox):
49954        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
49955        * rendering/RenderBoxModelObject.h:
49956        * rendering/RenderBoxRegionInfo.h:
49957        (WebCore::RenderBoxRegionInfo::createOverflow):
49958        * rendering/RenderFlowThread.cpp:
49959        (WebCore::RenderFlowThread::objectShouldPaintInFlowRegion):
49960        (WebCore::RenderFlowThread::mapFromLocalToFlowThread):
49961        (WebCore::RenderFlowThread::mapFromFlowThreadToLocal):
49962        (WebCore::RenderFlowThread::decorationsClipRectForBoxInRegion):
49963        (WebCore::RenderFlowThread::flipForWritingModeLocalCoordinates):
49964        (WebCore::RenderFlowThread::addRegionsOverflowFromChild):
49965        (WebCore::RenderFlowThread::addRegionsVisualOverflow):
49966        (WebCore::CurrentRenderFlowThreadMaintainer::CurrentRenderFlowThreadMaintainer):
49967        * rendering/RenderFlowThread.h:
49968        * rendering/RenderLayer.cpp:
49969        (WebCore::RenderLayer::updateLayerPositions):
49970        (WebCore::expandClipRectForRegionAndReflection):
49971        (WebCore::expandClipRectForDescendantsAndReflection):
49972        (WebCore::RenderLayer::paintLayer):
49973        (WebCore::RenderLayer::paintLayerContents):
49974        (WebCore::RenderLayer::updatePaintingInfoForFragments):
49975        (WebCore::RenderLayer::paintForegroundForFragments):
49976        (WebCore::RenderLayer::hitTest):
49977        (WebCore::RenderLayer::hitTestLayer):
49978        (WebCore::RenderLayer::mapLayerClipRectsToFragmentationLayer):
49979        (WebCore::RenderLayer::calculateClipRects):
49980        (WebCore::RenderLayer::parentClipRects):
49981        (WebCore::RenderLayer::calculateRects):
49982        (WebCore::RenderLayer::intersectsDamageRect):
49983        (WebCore::RenderLayer::updateDescendantsLayerListsIfNeeded):
49984        (WebCore::RenderLayer::repaintIncludingDescendants):
49985        (WebCore::RenderLayer::paintNamedFlowThreadInsideRegion):
49986        (WebCore::RenderLayer::paintFlowThreadIfRegion):
49987        (WebCore::RenderLayer::hitTestFlowThreadIfRegion):
49988        * rendering/RenderLayer.h:
49989        (WebCore::ClipRect::inflateX):
49990        (WebCore::ClipRect::inflateY):
49991        (WebCore::ClipRect::inflate):
49992        * rendering/RenderLayerCompositor.cpp:
49993        (WebCore::RenderLayerCompositor::computeCompositingRequirements):
49994        * rendering/RenderListItem.cpp:
49995        (WebCore::RenderListItem::addOverflowFromChildren):
49996        * rendering/RenderMultiColumnSet.cpp:
49997        (WebCore::RenderMultiColumnSet::flowThreadPortionOverflowRect):
49998        (WebCore::RenderMultiColumnSet::repaintFlowThreadContent):
49999        * rendering/RenderMultiColumnSet.h:
50000        * rendering/RenderNamedFlowFragment.cpp:
50001        (WebCore::RenderNamedFlowFragment::createStyle):
50002        (WebCore::RenderNamedFlowFragment::namedFlowThread):
50003        * rendering/RenderNamedFlowFragment.h:
50004        * rendering/RenderOverflow.h:
50005        * rendering/RenderRegion.cpp:
50006        (WebCore::RenderRegion::flowThreadPortionOverflowRect):
50007        (WebCore::RenderRegion::flowThreadPortionLocation):
50008        (WebCore::RenderRegion::regionContainerLayer):
50009        (WebCore::RenderRegion::overflowRectForFlowThreadPortion):
50010        (WebCore::RenderRegion::computeOverflowFromFlowThread):
50011        (WebCore::RenderRegion::repaintFlowThreadContent):
50012        (WebCore::RenderRegion::repaintFlowThreadContentRectangle):
50013        (WebCore::RenderRegion::insertedIntoTree):
50014        (WebCore::RenderRegion::ensureOverflowForBox):
50015        (WebCore::RenderRegion::rectFlowPortionForBox):
50016        (WebCore::RenderRegion::addLayoutOverflowForBox):
50017        (WebCore::RenderRegion::addVisualOverflowForBox):
50018        (WebCore::RenderRegion::layoutOverflowRectForBox):
50019        (WebCore::RenderRegion::visualOverflowRectForBox):
50020        (WebCore::RenderRegion::visualOverflowRectForBoxForPropagation):
50021        * rendering/RenderRegion.h:
50022        * rendering/RenderReplaced.cpp:
50023        (WebCore::RenderReplaced::shouldPaint):
50024        * rendering/RootInlineBox.cpp:
50025        (WebCore::RootInlineBox::paint):
50026
500272013-11-20  Ryosuke Niwa  <rniwa@webkit.org>
50028
50029        [HTML parser] reset insertion mode appropriate must check for "in select in table" mode
50030        https://bugs.webkit.org/show_bug.cgi?id=123850
50031
50032        Reviewed by Antti Koivisto.
50033
50034        Merge https://chromium.googlesource.com/chromium/blink/+/2cb7523df57dfb48111f6aa16b7138cd54024ba7
50035
50036        The HTML specification has been updated to detect encountering a template element inside of a select element,
50037        which in turn is inside of a table element. In this case, the select element will cause the parser to be in
50038        "InSelectInTable" mode. Thus when the template element closes, it should return to that mode.
50039
50040        The fix here is that resetInsertionModeAppropriately must continue looking up the stack if the first node is
50041        select element to see whether the select element is inside of a table element.
50042
50043        See also: http://www.whatwg.org/specs/web-apps/current-work/multipage/parsing.html#reset-the-insertion-mode-appropriately
50044
50045        Test: html5lib/resources/template.dat
50046
50047        * html/parser/HTMLTreeBuilder.cpp:
50048        (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
50049
500502013-11-20  Mark Lam  <mark.lam@apple.com>
50051
50052        Build fix for last commit.
50053        https://bugs.webkit.org/show_bug.cgi?id=124634.
50054
50055        Not reviewed.
50056
50057        No new tests.
50058
50059        * bindings/js/JSCryptoAlgorithmBuilder.cpp:
50060
500612013-11-20  Mark Lam  <mark.lam@apple.com>
50062
50063        Introducing VMEntryScope to update the VM stack limit.
50064        https://bugs.webkit.org/show_bug.cgi?id=124634.
50065
50066        Reviewed by Geoffrey Garen.
50067
50068        No new tests.
50069
50070        Renamed dynamicGlobalObject() to vmEntryGlobalObject().
50071        Replaced uses of DynamicGlobalObjectScope with VMEntryScope.
50072
50073        * ForwardingHeaders/runtime/VMEntryScope.h: Added.
50074        * WebCore.vcxproj/WebCore.vcxproj:
50075        * WebCore.vcxproj/WebCore.vcxproj.filters:
50076        * bindings/js/JSCryptoAlgorithmBuilder.cpp:
50077        (WebCore::JSCryptoAlgorithmBuilder::add):
50078        * bindings/js/JSCustomXPathNSResolver.cpp:
50079        (WebCore::JSCustomXPathNSResolver::create):
50080        * bindings/js/JSDOMBinding.cpp:
50081        (WebCore::firstDOMWindow):
50082        * bindings/js/JSErrorHandler.cpp:
50083        (WebCore::JSErrorHandler::handleEvent):
50084        * bindings/js/JSEventListener.cpp:
50085        (WebCore::JSEventListener::handleEvent):
50086        * bindings/js/JavaScriptCallFrame.h:
50087        (WebCore::JavaScriptCallFrame::vmEntryGlobalObject):
50088        * bindings/js/PageScriptDebugServer.cpp:
50089        (WebCore::PageScriptDebugServer::recompileAllJSFunctions):
50090        * bindings/js/ScriptDebugServer.cpp:
50091        (WebCore::ScriptDebugServer::evaluateBreakpointAction):
50092        (WebCore::ScriptDebugServer::handlePause):
50093        * bindings/js/WorkerScriptDebugServer.cpp:
50094        (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
50095        * bindings/objc/WebScriptObject.mm:
50096        (WebCore::addExceptionToConsole):
50097        * bridge/c/c_utility.cpp:
50098        (JSC::Bindings::convertValueToNPVariant):
50099        * bridge/objc/objc_instance.mm:
50100        (ObjcInstance::moveGlobalExceptionToExecState):
50101        * bridge/objc/objc_runtime.mm:
50102        (JSC::Bindings::convertValueToObjcObject):
50103        * bridge/objc/objc_utility.mm:
50104        (JSC::Bindings::convertValueToObjcValue):
50105
501062013-11-20  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
50107
50108        Generate toHTMLFooElement() to clean up static_cast<>
50109        https://bugs.webkit.org/show_bug.cgi?id=124571
50110
50111        Reviewed by Ryosuke Niwa.
50112
50113        Though there are a lot of clean up commits before, there are still
50114        use of static_cast<HTMLFooElement*>. To clean up them, we need to generate
50115        toHTMLDetails|Meta|Summary|TableCaptionElement().
50116
50117        Additionally, other static_cast<> are removed as well.
50118
50119        No new tests, no behavior changes.
50120
50121        * html/HTMLDetailsElement.h:
50122        * html/HTMLMediaElement.cpp:
50123        (HTMLMediaElement::selectNextSourceChild):
50124        * html/HTMLMetaElement.h:
50125        * html/HTMLObjectElement.cpp:
50126        (WebCore::HTMLObjectElement::shouldAllowQuickTimeClassIdQuirk):
50127        * html/HTMLOptionElement.cpp:
50128        (WebCore::HTMLOptionElement::isDisabledFormControl):
50129        * html/HTMLPlugInImageElement.cpp:
50130        (WebCore::HTMLPlugInImageElement::updateWidgetCallback):
50131        * html/HTMLSummaryElement.cpp:
50132        (WebCore::HTMLSummaryElement::detailsElement):
50133        * html/HTMLSummaryElement.h:
50134        * html/HTMLTableCaptionElement.h:
50135        * html/HTMLTableElement.cpp:
50136        (WebCore::HTMLTableElement::caption):
50137        * html/HTMLTagNames.in:
50138        * html/MediaDocument.cpp:
50139        (WebCore::MediaDocumentParser::createDocumentStructure):
50140        * html/shadow/DetailsMarkerControl.cpp:
50141        (WebCore::DetailsMarkerControl::summaryElement):
50142        * loader/FrameLoader.cpp:
50143        (WebCore::FrameLoader::handleFallbackContent):
50144        * loader/ImageLoader.cpp:
50145        (WebCore::ImageLoader::dispatchPendingBeforeLoadEvent):
50146        * page/DragController.cpp:
50147        (WebCore::DragController::canProcessDrag):
50148        * page/Frame.cpp:
50149        (WebCore::Frame::searchForLabelsBeforeElement):
50150        * page/SpatialNavigation.cpp:
50151        (WebCore::frameOwnerElement):
50152
501532013-11-20  Ryosuke Niwa  <rniwa@webkit.org>
50154
50155        Clear TemplateContentDocumentFragment::m_host when HTMLTemplateElement is destroyed
50156        https://bugs.webkit.org/show_bug.cgi?id=122806
50157
50158        Reviewed by Antti Koivisto.
50159
50160        Merge https://chromium.googlesource.com/chromium/blink/+/858ed5f6341de9d900768c1f4668fcfce870c52e
50161
50162        The document fragment of a template element outlives the element itself.
50163        Clear the host property on the document fragment when that happens.
50164
50165        Test: fast/dom/HTMLTemplateElement/content-outlives-template-crash.html
50166
50167        * dom/TemplateContentDocumentFragment.h:
50168        * html/HTMLTemplateElement.cpp:
50169        (WebCore::HTMLTemplateElement::~HTMLTemplateElement):
50170        * html/HTMLTemplateElement.h:
50171
501722013-11-20  Chris Fleizach  <cfleizach@apple.com>
50173
50174        AX: Implement CSS -webkit-alt property (text alternative for generated content pseudo-elements ::before and ::after)
50175        https://bugs.webkit.org/show_bug.cgi?id=120188
50176
50177        Reviewed by Dean Jackson.
50178
50179        Add a -webkit-alt CSS property that can be used to label Image content or Text content for accessibility clients.
50180
50181        To accomplish this, it sets the string in the RenderStyle. Then when the ContentData creates an anonymous renderer,
50182        it sets that string on the TextFragment or RenderImage, which can be queried by accessibility code.
50183
50184        Test: platform/mac/accessibility/webkit-alt-for-css-content.html
50185
50186        * accessibility/AccessibilityNodeObject.cpp:
50187        (WebCore::AccessibilityNodeObject::alternativeText):
50188        * accessibility/AccessibilityRenderObject.cpp:
50189        (WebCore::AccessibilityRenderObject::textUnderElement):
50190        (WebCore::objectInclusionFromAltText):
50191        (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
50192        * css/CSSComputedStyleDeclaration.cpp:
50193        (WebCore::altTextToCSSValue):
50194        (WebCore::ComputedStyleExtractor::propertyValue):
50195        * css/CSSParser.cpp:
50196        (WebCore::CSSParser::parseValue):
50197        (WebCore::CSSParser::parseAlt):
50198        * css/CSSParser.h:
50199        * css/CSSPropertyNames.in:
50200        * css/StyleResolver.cpp:
50201        (WebCore::StyleResolver::applyProperty):
50202        * rendering/RenderImage.h:
50203        (WebCore::RenderImage::altText):
50204        (WebCore::RenderImage::setAltText):
50205        * rendering/RenderTextFragment.h:
50206        * rendering/style/ContentData.cpp:
50207        (WebCore::ImageContentData::createRenderer):
50208        (WebCore::TextContentData::createRenderer):
50209        * rendering/style/ContentData.h:
50210        (WebCore::ContentData::setAltText):
50211        (WebCore::ContentData::altText):
50212        * rendering/style/RenderStyle.cpp:
50213        (WebCore::RenderStyle::setContent):
50214        (WebCore::RenderStyle::setContentAltText):
50215        (WebCore::RenderStyle::contentAltText):
50216        * rendering/style/RenderStyle.h:
50217        * rendering/style/StyleRareNonInheritedData.h:
50218
502192013-11-20  Roger Fong  <roger_fong@apple.com>
50220
50221        Use compile flag SH_UNFOLD_SHORT_CIRCUIT when compiling shaders.
50222        https://bugs.webkit.org/show_bug.cgi?id=124684.
50223
50224        Reviewed by Brent Fulgham.
50225
50226        Existing test webgl/1.0.2/conformance/glsl/misc/shader-with-short-circuiting-operators.html
50227
50228        * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
50229        (WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE):
50230
502312013-11-20  Robert Sipka  <sipka@inf.u-szeged.hu>
50232
50233        [curl] Improve detecting and handling of SSL related errors
50234        https://bugs.webkit.org/show_bug.cgi?id=119436
50235
50236        Reviewed by Brent Fulgham.
50237
50238        Set the exact SSL verification error on CURL
50239        and store the enabled domain with certificate.
50240
50241        * WebCore.vcxproj/WebCore.vcxproj:
50242        * WebCore.vcxproj/WebCore.vcxproj.filters:
50243        * platform/network/ResourceHandle.h:
50244        * platform/network/ResourceHandleInternal.h:
50245        (WebCore::ResourceHandleInternal::ResourceHandleInternal):
50246        * platform/network/curl/ResourceError.h:
50247        (WebCore::ResourceError::ResourceError):
50248        (WebCore::ResourceError::sslErrors):
50249        (WebCore::ResourceError::setSSLErrors):
50250        * platform/network/curl/ResourceHandleCurl.cpp:
50251        (WebCore::ResourceHandle::setHostAllowsAnyHTTPSCertificate):
50252        * platform/network/curl/ResourceHandleManager.cpp:
50253        (WebCore::ResourceHandleManager::downloadTimerCallback):
50254        (WebCore::ResourceHandleManager::initializeHandle):
50255        * platform/network/curl/SSLHandle.cpp: Added.
50256        (WebCore::allowsAnyHTTPSCertificateHosts):
50257        (WebCore::sslIgnoreHTTPSCertificate):
50258        (WebCore::sslCertificateFlag):
50259        (WebCore::pemData):
50260        (WebCore::certVerifyCallback):
50261        (WebCore::sslctxfun):
50262        (WebCore::setSSLVerifyOptions):
50263        * platform/network/curl/SSLHandle.h: Added.
50264
502652013-11-20  Bem Jones-Bey  <bjonesbe@adobe.com>
50266
50267        [css shapes] Parse new circle shape syntax
50268        https://bugs.webkit.org/show_bug.cgi?id=124618
50269
50270        Reviewed by Antti Koivisto.
50271
50272        Implement parsing of the new cicle shape syntax. The implementation of
50273        the old syntax has been move aside as deprecated, and will be removed
50274        once the new syntax is stable.
50275
50276        Updated existing parsing tests to cover this.
50277
50278        * css/BasicShapeFunctions.cpp:
50279        (WebCore::valueForCenterCoordinate): Create a CSSPrimitiveValue from a
50280            BasicShapeCenterCoordinate.
50281        (WebCore::valueForBasicShape): Convert new basic shape and rename old
50282            one.
50283        (WebCore::convertToCenterCoordinate): Create a
50284            BasicShapeCenterCoordinate from a CSSPrimitiveValue.
50285        (WebCore::basicShapeForValue): Convert new shape value and rename old
50286            one.
50287        * css/CSSBasicShapes.cpp:
50288        (WebCore::buildCircleString): Build a new circle string.
50289        (WebCore::CSSBasicShapeCircle::cssText): Serialize the new circle
50290            shape.
50291        (WebCore::CSSBasicShapeCircle::equals): Compare new circle shapes.
50292        (WebCore::CSSBasicShapeCircle::serializeResolvingVariables):
50293        * css/CSSBasicShapes.h:
50294        (WebCore::CSSBasicShapeCircle::CSSBasicShapeCircle): Add class for new
50295            circle shape.
50296        (WebCore::CSSDeprecatedBasicShapeCircle::create): Renamed to move out
50297            of the way of the new circle implementation.
50298        (WebCore::CSSDeprecatedBasicShapeCircle::centerX): Ditto.
50299        (WebCore::CSSDeprecatedBasicShapeCircle::centerY): Ditto.
50300        (WebCore::CSSDeprecatedBasicShapeCircle::radius): Ditto.
50301        (WebCore::CSSDeprecatedBasicShapeCircle::setCenterX): Ditto.
50302        (WebCore::CSSDeprecatedBasicShapeCircle::setCenterY): Ditto.
50303        (WebCore::CSSDeprecatedBasicShapeCircle::setRadius): Ditto.
50304        (WebCore::CSSDeprecatedBasicShapeCircle::CSSDeprecatedBasicShapeCircle): Ditto.
50305        * css/CSSParser.cpp:
50306        (WebCore::CSSParser::parseShapeRadius): Parse the radius for the new
50307            circle syntax. Will also be used by the new ellipse syntax.
50308        (WebCore::CSSParser::parseBasicShapeCircle): Parse the new circle
50309            syntax.
50310        (WebCore::CSSParser::parseDeprecatedBasicShapeCircle): Rename to make
50311            way for the new implementation.
50312        (WebCore::isDeprecatedBasicShape): Check if we have a new circle or an
50313            old circle.
50314        (WebCore::CSSParser::parseBasicShape): Update to parse the new circle
50315            syntax.
50316        * css/CSSParser.h:
50317        * css/CSSValueKeywords.in: Add support for the new circle keywords.
50318        * rendering/shapes/Shape.cpp:
50319        (WebCore::Shape::createShape): 
50320        * rendering/style/BasicShapes.cpp: Deprecate old circle and add stub
50321            for layout code.
50322        (WebCore::DeprecatedBasicShapeCircle::path): Rename to make way for
50323            the new implementation.
50324        (WebCore::DeprecatedBasicShapeCircle::blend): Rename to make way for
50325            the new implementation.
50326        (WebCore::BasicShapeCircle::path): Create path for new circle shape.
50327        (WebCore::BasicShapeCircle::blend): Interpolate the new circle shape.
50328        * rendering/style/BasicShapes.h:
50329        (WebCore::BasicShapeCenterCoordinate::BasicShapeCenterCoordinate):
50330            Represent an x or y coordinate for the center of a new circle,
50331            since it can be either a keyword along with an offset that cannot
50332            be resolved until layout time or an ordinary Length. This will
50333            also be used by the new ellipse implementation.
50334        (WebCore::BasicShapeCenterCoordinate::keyword):
50335        (WebCore::BasicShapeCenterCoordinate::length):
50336        (WebCore::BasicShapeCenterCoordinate::blend): Interpolate.
50337        (WebCore::BasicShapeRadius::BasicShapeRadius): Represent the radius of
50338            a new circle shape since it can either be a straightforward Length or
50339            a keyword that cannot be resolved until layout time.
50340        (WebCore::BasicShapeRadius::value):
50341        (WebCore::BasicShapeRadius::type):
50342        (WebCore::BasicShapeRadius::blend): Interpolate.
50343        (WebCore::BasicShapeCircle::centerX):
50344        (WebCore::BasicShapeCircle::centerY):
50345        (WebCore::BasicShapeCircle::radius):
50346        (WebCore::BasicShapeCircle::setCenterX):
50347        (WebCore::BasicShapeCircle::setCenterY):
50348        (WebCore::BasicShapeCircle::setRadius):
50349        (WebCore::BasicShapeCircle::BasicShapeCircle): New circle class.
50350        (WebCore::DeprecatedBasicShapeCircle::create): Rename to make room for
50351            new circle implementation.
50352        (WebCore::DeprecatedBasicShapeCircle::DeprecatedBasicShapeCircle): Ditto.
50353
503542013-11-20  Hans Muller  <hmuller@adobe.com>
50355
50356        [CSS Shapes] Add BoxShape and FloatRoundingRect classes
50357        https://bugs.webkit.org/show_bug.cgi?id=124368
50358
50359        Reviewed by Dean Jackson.
50360
50361        Added the BoxShape class. It's now used to represent shape-outside box
50362        values: [margin/border/padding/content]-box. BoxShape depends on a new
50363        FloatRoundedRect class, which is a float analog of the existing (int)
50364        RoundedRect class. The FloatRoundedRect class contains the same basic
50365        methods and accessors as BorderRect and adds a set of four methods,
50366        for example topLeftCorner(), that return a FloatRect that represents the
50367        bounds of one elliptical corner. I also added a method, xInterceptsAtY()
50368        that returns two X coordinates of the intersection between a horizontal
50369        line and the rounded rectangle.
50370
50371        No new tests, this is just an internal refactoring.
50372
50373        * CMakeLists.txt:
50374        * GNUmakefile.list.am:
50375        * WebCore.vcxproj/WebCore.vcxproj:
50376        * WebCore.vcxproj/WebCore.vcxproj.filters:
50377        * WebCore.xcodeproj/project.pbxproj:
50378        * platform/graphics/FloatRoundedRect.cpp: Added.
50379        (WebCore::FloatRoundedRect::FloatRoundedRect):
50380        (WebCore::FloatRoundedRect::Radii::isZero):
50381        (WebCore::FloatRoundedRect::Radii::scale):
50382        (WebCore::FloatRoundedRect::Radii::expand):
50383        (WebCore::cornerRectIntercept):
50384        (WebCore::FloatRoundedRect::xInterceptsAtY):
50385        * platform/graphics/FloatRoundedRect.h: Added.
50386        (WebCore::FloatRoundedRect::Radii::Radii):
50387        (WebCore::FloatRoundedRect::Radii::setTopLeft):
50388        (WebCore::FloatRoundedRect::Radii::setTopRight):
50389        (WebCore::FloatRoundedRect::Radii::setBottomLeft):
50390        (WebCore::FloatRoundedRect::Radii::setBottomRight):
50391        (WebCore::FloatRoundedRect::Radii::topLeft):
50392        (WebCore::FloatRoundedRect::Radii::topRight):
50393        (WebCore::FloatRoundedRect::Radii::bottomLeft):
50394        (WebCore::FloatRoundedRect::Radii::bottomRight):
50395        (WebCore::FloatRoundedRect::Radii::expand):
50396        (WebCore::FloatRoundedRect::Radii::shrink):
50397        (WebCore::FloatRoundedRect::rect):
50398        (WebCore::FloatRoundedRect::radii):
50399        (WebCore::FloatRoundedRect::isRounded):
50400        (WebCore::FloatRoundedRect::isEmpty):
50401        (WebCore::FloatRoundedRect::setRect):
50402        (WebCore::FloatRoundedRect::setRadii):
50403        (WebCore::FloatRoundedRect::move):
50404        (WebCore::FloatRoundedRect::inflate):
50405        (WebCore::FloatRoundedRect::expandRadii):
50406        (WebCore::FloatRoundedRect::shrinkRadii):
50407        (WebCore::FloatRoundedRect::topLeftCorner):
50408        (WebCore::FloatRoundedRect::topRightCorner):
50409        (WebCore::FloatRoundedRect::bottomLeftCorner):
50410        (WebCore::FloatRoundedRect::bottomRightCorner):
50411        (WebCore::operator==):
50412        * rendering/shapes/BoxShape.cpp: Added.
50413        (WebCore::BoxShape::BoxShape):
50414        (WebCore::BoxShape::getExcludedIntervals):
50415        (WebCore::BoxShape::getIncludedIntervals):
50416        (WebCore::BoxShape::firstIncludedIntervalLogicalTop):
50417        * rendering/shapes/BoxShape.h: Added.
50418        * rendering/shapes/Shape.cpp:
50419        (WebCore::createBoxShape):
50420        (WebCore::Shape::createShape):
50421
504222013-11-20  Antti Koivisto  <antti@apple.com>
50423
50424        Simple line layout should support floats
50425        https://bugs.webkit.org/show_bug.cgi?id=124666
50426
50427        Reviewed by Dave Hyatt.
50428
50429        Tests: fast/text/simple-lines-float-compare.html
50430               fast/text/simple-lines-float.html
50431
50432        * rendering/line/LineWidth.h:
50433        (WebCore::LineWidth::logicalLeftOffset):
50434        
50435            Expose the left offset so we don't need to recompute it.
50436
50437        * rendering/SimpleLineLayout.cpp:
50438        (WebCore::SimpleLineLayout::canUseFor):
50439        (WebCore::SimpleLineLayout::computeLineLeft):
50440        
50441            Include the left offset from floats.
50442
50443        (WebCore::SimpleLineLayout::createTextRuns):
50444        
50445            Keep the flow height updated during the loop as LineWidth reads the current position from there.
50446
50447        * rendering/SimpleLineLayoutResolver.h:
50448        (WebCore::SimpleLineLayout::RunResolver::Run::rect):
50449        (WebCore::SimpleLineLayout::RunResolver::Run::baseline):
50450        (WebCore::SimpleLineLayout::RunResolver::RunResolver):
50451        (WebCore::SimpleLineLayout::RunResolver::lineIndexForHeight):
50452        
50453            We now bake the border and the padding to the line left offset. No need to add it during resolve.
50454
504552013-11-20  Alexey Proskuryakov  <ap@apple.com>
50456
50457        Use std::function callbacks in CryptoAlgorithm instead of JS promises
50458        https://bugs.webkit.org/show_bug.cgi?id=124673
50459
50460        Reviewed by Anders Carlsson.
50461
50462        To implement key wrapping/unwrapping, we'll need to chain existing operations.
50463        It's much easier to do with C++ callbacks than with functions fulfilling JS
50464        promises directly.
50465
50466        Also, this will decouple CryptoAlgorithm from JS, which is nice.
50467
50468        SubtleCrypto IDL says that all functions return Promise<any>, but in reality,
50469        there is very little polymorphism, the only function whose return type depends
50470        on algorithm is generateKey (it can create a Key or a KeyPair).
50471
50472        * bindings/js/JSDOMPromise.cpp:
50473        (WebCore::PromiseWrapper::PromiseWrapper):
50474        (WebCore::PromiseWrapper::operator=):
50475        * bindings/js/JSDOMPromise.h:
50476        Made it copyable, as each crypto function wraps the promise in success and failure
50477        functional objects now.
50478
50479        * bindings/js/JSSubtleCryptoCustom.cpp:
50480        (WebCore::JSSubtleCrypto::encrypt):
50481        (WebCore::JSSubtleCrypto::decrypt):
50482        (WebCore::JSSubtleCrypto::sign):
50483        (WebCore::JSSubtleCrypto::verify):
50484        (WebCore::JSSubtleCrypto::digest):
50485        (WebCore::JSSubtleCrypto::generateKey):
50486        (WebCore::JSSubtleCrypto::importKey):
50487        (WebCore::JSSubtleCrypto::exportKey):
50488        * crypto/CryptoAlgorithm.cpp:
50489        (WebCore::CryptoAlgorithm::encrypt):
50490        (WebCore::CryptoAlgorithm::decrypt):
50491        (WebCore::CryptoAlgorithm::sign):
50492        (WebCore::CryptoAlgorithm::verify):
50493        (WebCore::CryptoAlgorithm::digest):
50494        (WebCore::CryptoAlgorithm::generateKey):
50495        (WebCore::CryptoAlgorithm::deriveKey):
50496        (WebCore::CryptoAlgorithm::deriveBits):
50497        (WebCore::CryptoAlgorithm::importKey):
50498        * crypto/CryptoAlgorithm.h:
50499        * crypto/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp:
50500        (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::sign):
50501        (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::verify):
50502        * crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:
50503        (WebCore::CryptoAlgorithmAES_CBC::generateKey):
50504        (WebCore::CryptoAlgorithmAES_CBC::importKey):
50505        * crypto/algorithms/CryptoAlgorithmAES_CBC.h:
50506        * crypto/algorithms/CryptoAlgorithmHMAC.cpp:
50507        (WebCore::CryptoAlgorithmHMAC::generateKey):
50508        (WebCore::CryptoAlgorithmHMAC::importKey):
50509        * crypto/algorithms/CryptoAlgorithmHMAC.h:
50510        * crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:
50511        (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::generateKey):
50512        (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::importKey):
50513        * crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.h:
50514        * crypto/algorithms/CryptoAlgorithmSHA1.cpp:
50515        (WebCore::CryptoAlgorithmSHA1::digest):
50516        * crypto/algorithms/CryptoAlgorithmSHA1.h:
50517        * crypto/algorithms/CryptoAlgorithmSHA224.cpp:
50518        (WebCore::CryptoAlgorithmSHA224::digest):
50519        * crypto/algorithms/CryptoAlgorithmSHA224.h:
50520        * crypto/algorithms/CryptoAlgorithmSHA256.cpp:
50521        (WebCore::CryptoAlgorithmSHA256::digest):
50522        * crypto/algorithms/CryptoAlgorithmSHA256.h:
50523        * crypto/algorithms/CryptoAlgorithmSHA384.cpp:
50524        (WebCore::CryptoAlgorithmSHA384::digest):
50525        * crypto/algorithms/CryptoAlgorithmSHA384.h:
50526        * crypto/algorithms/CryptoAlgorithmSHA512.cpp:
50527        (WebCore::CryptoAlgorithmSHA512::digest):
50528        * crypto/algorithms/CryptoAlgorithmSHA512.h:
50529        * crypto/keys/CryptoKeyRSA.h:
50530        * crypto/mac/CryptoAlgorithmAES_CBCMac.cpp:
50531        (WebCore::transformAES_CBC):
50532        (WebCore::CryptoAlgorithmAES_CBC::encrypt):
50533        (WebCore::CryptoAlgorithmAES_CBC::decrypt):
50534        * crypto/mac/CryptoAlgorithmHMACMac.cpp:
50535        (WebCore::CryptoAlgorithmHMAC::sign):
50536        (WebCore::CryptoAlgorithmHMAC::verify):
50537        * crypto/mac/CryptoKeyRSAMac.cpp:
50538        (WebCore::CryptoKeyRSA::generatePair):
50539
505402013-11-20  Robert Hogan  <robert@webkit.org>
50541
50542        REGRESSION(r127163): Respect clearance set on ancestors when placing floats
50543        https://bugs.webkit.org/show_bug.cgi?id=119979
50544
50545        Reviewed by David Hyatt.
50546
50547        Refactor the way self-collapsing blocks with clearance are positioned so that they
50548        get the correct logical-top position during margin-collapsing.
50549
50550        Test: fast/block/margin-collapse/self-collapsing-block-with-float-descendants.html
50551
50552        * rendering/RenderBlockFlow.cpp:
50553        (WebCore::RenderBlockFlow::clearFloats):
50554        (WebCore::RenderBlockFlow::marginOffsetForSelfCollapsingBlock):
50555        (WebCore::RenderBlockFlow::collapseMargins):
50556        (WebCore::RenderBlockFlow::clearFloatsIfNeeded):
50557        (WebCore::RenderBlockFlow::handleAfterSideOfBlock):
50558        * rendering/RenderBlockFlow.h:
50559
505602013-11-20  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>
50561
50562        [GTK] Remove Chromium as user agent and claim to be Safari in OS X
50563        https://bugs.webkit.org/show_bug.cgi?id=124229
50564
50565        Reviewed by Martin Robinson.
50566
50567        http://www.duolingo.com/ doesn't get render correctly because it uses
50568        Chrome/Chromium specific variables, added after it was forked. Because
50569        of this, it is necessary to remove the Chrome/Chromium identification
50570        in the user agent. Also, from now on, by default, The GTK+ port will
50571        claim to be Safari in OS X to avoid loading wrong resources.
50572
50573        * platform/gtk/UserAgentGtk.cpp:
50574        (WebCore::standardUserAgent):
50575
505762013-11-20  Commit Queue  <commit-queue@webkit.org>
50577
50578        Unreviewed, rolling out r159551.
50579        http://trac.webkit.org/changeset/159551
50580        https://bugs.webkit.org/show_bug.cgi?id=124669
50581
50582        made many tests asserts (Requested by anttik on #webkit).
50583
50584        * html/HTMLDetailsElement.h:
50585        * html/HTMLMediaElement.cpp:
50586        (HTMLMediaElement::selectNextSourceChild):
50587        * html/HTMLMetaElement.h:
50588        * html/HTMLObjectElement.cpp:
50589        (WebCore::HTMLObjectElement::shouldAllowQuickTimeClassIdQuirk):
50590        * html/HTMLOptionElement.cpp:
50591        (WebCore::HTMLOptionElement::isDisabledFormControl):
50592        * html/HTMLPlugInImageElement.cpp:
50593        (WebCore::HTMLPlugInImageElement::updateWidgetCallback):
50594        * html/HTMLSummaryElement.cpp:
50595        (WebCore::HTMLSummaryElement::detailsElement):
50596        * html/HTMLSummaryElement.h:
50597        * html/HTMLTableCaptionElement.h:
50598        * html/HTMLTableElement.cpp:
50599        (WebCore::HTMLTableElement::caption):
50600        (WebCore::HTMLTableElement::tHead):
50601        (WebCore::HTMLTableElement::tFoot):
50602        (WebCore::HTMLTableElement::lastBody):
50603        * html/HTMLTableRowElement.cpp:
50604        (WebCore::HTMLTableRowElement::rowIndex):
50605        * html/HTMLTableSectionElement.h:
50606        * html/HTMLTagNames.in:
50607        * html/MediaDocument.cpp:
50608        (WebCore::MediaDocumentParser::createDocumentStructure):
50609        * html/shadow/DetailsMarkerControl.cpp:
50610        (WebCore::DetailsMarkerControl::summaryElement):
50611        * loader/FrameLoader.cpp:
50612        (WebCore::FrameLoader::handleFallbackContent):
50613        * loader/ImageLoader.cpp:
50614        (WebCore::ImageLoader::dispatchPendingBeforeLoadEvent):
50615        * page/DragController.cpp:
50616        (WebCore::DragController::canProcessDrag):
50617        * page/Frame.cpp:
50618        (WebCore::Frame::searchForLabelsBeforeElement):
50619        * page/SpatialNavigation.cpp:
50620        (WebCore::frameOwnerElement):
50621
506222013-11-20  Zoltan Horvath  <zoltan@webkit.org>
50623
50624        Move LineWidth.{h,cpp} into rendering/line
50625        <https://webkit.org/b/124448>
50626
50627        Reviewed by David Hyatt.
50628
50629        In r159354 I introduced line directory. Now it's time to move the helper classes of RenderBlockLineLayout into 'line' subdirectory.
50630
50631        No new tests, no behavior change.
50632
50633        * CMakeLists.txt:
50634        * GNUmakefile.list.am:
50635        * WebCore.vcxproj/WebCore.vcxproj:
50636        * WebCore.vcxproj/WebCore.vcxproj.filters:
50637        * WebCore.xcodeproj/project.pbxproj:
50638        * rendering/line/LineWidth.cpp: Renamed from Source/WebCore/rendering/LineWidth.cpp.
50639        (WebCore::LineWidth::LineWidth):
50640        (WebCore::LineWidth::fitsOnLine):
50641        (WebCore::LineWidth::fitsOnLineIncludingExtraWidth):
50642        (WebCore::LineWidth::fitsOnLineExcludingTrailingWhitespace):
50643        (WebCore::LineWidth::updateAvailableWidth):
50644        (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
50645        (WebCore::LineWidth::commit):
50646        (WebCore::LineWidth::applyOverhang):
50647        (WebCore::LineWidth::fitBelowFloats):
50648        (WebCore::LineWidth::setTrailingWhitespaceWidth):
50649        (WebCore::LineWidth::updateCurrentShapeSegment):
50650        (WebCore::LineWidth::computeAvailableWidthFromLeftAndRight):
50651        (WebCore::LineWidth::fitsOnLineExcludingTrailingCollapsedWhitespace):
50652        * rendering/line/LineWidth.h: Renamed from Source/WebCore/rendering/LineWidth.h.
50653        (WebCore::LineWidth::currentWidth):
50654        (WebCore::LineWidth::uncommittedWidth):
50655        (WebCore::LineWidth::committedWidth):
50656        (WebCore::LineWidth::availableWidth):
50657        (WebCore::LineWidth::addUncommittedWidth):
50658        (WebCore::LineWidth::shouldIndentText):
50659
506602013-11-20  Brady Eidson  <beidson@apple.com>
50661
50662        Alphabetization followup to r159567
50663
50664        Reviewed by style-bot  :(
50665
50666        * Modules/indexeddb/IDBDatabaseBackend.h:
50667        * Modules/indexeddb/IDBIndex.h:
50668        * Modules/indexeddb/IDBObjectStore.h:
50669        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
50670        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
50671        * inspector/InspectorIndexedDBAgent.cpp:
50672
506732013-11-20  Brady Eidson  <beidson@apple.com>
50674
50675        Rename IDBMetadata.h to IDBDatabaseMetadata.h
50676        https://bugs.webkit.org/show_bug.cgi?id=124668
50677
50678        Reviewed by Dean Jackson.
50679
50680        * GNUmakefile.list.am:
50681        * WebCore.xcodeproj/project.pbxproj:
50682
50683        * Modules/indexeddb/IDBDatabase.h:
50684        * Modules/indexeddb/IDBDatabaseBackend.h:
50685
50686        * Modules/indexeddb/IDBDatabaseMetadata.h: Renamed from Source/WebCore/Modules/indexeddb/IDBMetadata.h.
50687        (WebCore::IDBIndexMetadata::IDBIndexMetadata):
50688        (WebCore::IDBObjectStoreMetadata::IDBObjectStoreMetadata):
50689        (WebCore::IDBDatabaseMetadata::IDBDatabaseMetadata):
50690
50691        * Modules/indexeddb/IDBIndex.h:
50692        * Modules/indexeddb/IDBObjectStore.h:
50693        * Modules/indexeddb/IDBServerConnection.h:
50694        * Modules/indexeddb/IDBTransaction.h:
50695        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
50696        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
50697        * Modules/indexeddb/leveldb/IDBIndexWriterLevelDB.h:
50698        * inspector/InspectorIndexedDBAgent.cpp:
50699
507002013-11-20  Ryosuke Niwa  <rniwa@webkit.org>
50701
50702        Remove bogus assertions in updateNameForTreeScope and updateNameForDocument
50703        https://bugs.webkit.org/show_bug.cgi?id=124639
50704
50705        Reviewed by Darin Adler.
50706
50707        Removed assertions. We can't assert that the element in a tree scope or a document
50708        since these two functions are called from removedFrom.
50709
50710        * dom/Element.cpp:
50711        (WebCore::Element::updateNameForTreeScope):
50712        (WebCore::Element::updateNameForDocument):
50713
507142013-11-20  Brady Eidson  <beidson@apple.com>
50715
50716        Cleanup getOrEstablishIDBDatabaseMetadata and stub it out in WK2
50717        https://bugs.webkit.org/show_bug.cgi?id=124635
50718
50719        Reviewed by Tim Horton.
50720
50721        getOrEstablishIDBDatabaseMetadata() should not have to take a database name parameter because the 
50722        server connection should already know what database name it represents.
50723
50724        * Modules/indexeddb/IDBDatabaseBackend.cpp:
50725        (WebCore::IDBDatabaseBackend::openInternalAsync):
50726
50727        * Modules/indexeddb/IDBServerConnection.h:
50728        * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
50729        (WebCore::IDBServerConnectionLevelDB::IDBServerConnectionLevelDB):
50730        (WebCore::IDBServerConnectionLevelDB::getOrEstablishIDBDatabaseMetadata):
50731        * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
50732
50733        * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
50734        (WebCore::IDBFactoryBackendLevelDB::deleteDatabase):
50735        (WebCore::IDBFactoryBackendLevelDB::open):
50736
507372013-11-20  Andrzej Badowski  <a.badowski@samsung.com>
50738
50739        [EFL] <video> and <audio> should be accessible.
50740        https://bugs.webkit.org/show_bug.cgi?id=124494
50741
50742        Reviewed by Gyuyoung Kim.
50743
50744        Adding descriptions of media-element controls.
50745
50746        * platform/efl/LocalizedStringsEfl.cpp:
50747        (WebCore::localizedMediaControlElementString):
50748
507492013-11-20  Antti Koivisto  <antti@apple.com>
50750
50751        Don't paint simple text runs outside the paint rect
50752        https://bugs.webkit.org/show_bug.cgi?id=124651
50753
50754        Reviewed by Anders Carlsson.
50755        
50756        This speeds up partial paints for long text paragraphs. 
50757        Also add the same optimization for hit testing.
50758
50759        * rendering/SimpleLineLayoutFunctions.cpp:
50760        (WebCore::SimpleLineLayout::paintFlow):
50761        
50762            Iterate over the run range that needs painting.
50763
50764        (WebCore::SimpleLineLayout::hitTestFlow):
50765        
50766            Iterate over the line range that needs painting.
50767
50768        * rendering/SimpleLineLayoutResolver.h:
50769        (WebCore::SimpleLineLayout::Range::Range):
50770        (WebCore::SimpleLineLayout::Range::begin):
50771        (WebCore::SimpleLineLayout::Range::end):
50772        
50773            Add Range type.
50774
50775        (WebCore::SimpleLineLayout::RunResolver::Iterator::Iterator):
50776        (WebCore::SimpleLineLayout::RunResolver::Iterator::operator++):
50777        (WebCore::SimpleLineLayout::RunResolver::Iterator::advance):
50778        (WebCore::SimpleLineLayout::RunResolver::Iterator::advanceLines):
50779        
50780            Optimize case where runCount==lineCount. In this case we can just directly jump
50781            to the right run/line.
50782
50783        (WebCore::SimpleLineLayout::RunResolver::begin):
50784        (WebCore::SimpleLineLayout::RunResolver::end):
50785        (WebCore::SimpleLineLayout::RunResolver::lineIndexForHeight):
50786        (WebCore::SimpleLineLayout::RunResolver::rangeForRect):
50787        
50788            Get the range corresponding to a rect. This currently cares about y coordinates only.
50789
50790        (WebCore::SimpleLineLayout::LineResolver::Iterator::operator++):
50791        (WebCore::SimpleLineLayout::LineResolver::Iterator::operator*):
50792        (WebCore::SimpleLineLayout::LineResolver::rangeForRect):
50793
507942013-11-20  Antoine Quint  <graouts@apple.com>
50795
50796        Cannot animate "points" attribute for <svg:polygon>
50797        https://bugs.webkit.org/show_bug.cgi?id=21371
50798
50799        Reviewed by Antti Koivisto.
50800
50801        Ensure we use animated list of points for SVG <polygon> and <polyline> elements
50802        when we build the path used to draw them, otherwise the animated changes won't
50803        be rendered and the base value will be used.
50804
50805        Tests: svg/animations/polygon-set.svg
50806               svg/animations/polyline-set.svg
50807
50808        * rendering/svg/SVGPathData.cpp:
50809        (WebCore::updatePathFromPolygonElement):
50810        (WebCore::updatePathFromPolylineElement):
50811
508122013-11-20  Andrei Bucur  <abucur@adobe.com>
50813
50814        [CSSRegions] Move region styling code into RenderNamedFlowFragment
50815        https://bugs.webkit.org/show_bug.cgi?id=122957
50816
50817        Reviewed by Mihnea Ovidenie.
50818
50819        The patch moves all the region styling functionality outside of RenderRegion
50820        to RenderNamedFlowFragment and outside of RenderFlowThread to RenderNamedFlowThread.
50821        This generates a couple of undesired casts that will be removed in later patches
50822        when everything CSS Regions specific will be located inside RenderNamedFlowThread
50823        and RenderNamedFlowFragment (e.g. the move of the isValid flag, the auto-height
50824        code etc.).
50825
50826        The painting function was also moved from RenderRegion to RenderNamedFlowFragment. It
50827        was only used by the CSS Regions code. The new multi-column implementation has its own
50828        painting mechanism.
50829
50830        Tests: No changed functionality, just refactorings.
50831
50832        * rendering/RenderFlowThread.cpp:
50833        (WebCore::RenderFlowThread::RenderFlowThread):
50834        (WebCore::RenderFlowThread::removeFlowChildInfo):
50835        (WebCore::RenderFlowThread::clearRenderBoxRegionInfoAndCustomStyle):
50836        * rendering/RenderFlowThread.h:
50837        * rendering/RenderInline.cpp:
50838        (WebCore::RenderInline::updateAlwaysCreateLineBoxes):
50839        * rendering/RenderNamedFlowFragment.cpp:
50840        (WebCore::RenderNamedFlowFragment::RenderNamedFlowFragment):
50841        (WebCore::RenderNamedFlowFragment::styleDidChange):
50842        (WebCore::RenderNamedFlowFragment::checkRegionStyle):
50843        (WebCore::RenderNamedFlowFragment::computeStyleInRegion):
50844        (WebCore::RenderNamedFlowFragment::computeChildrenStyleInRegion):
50845        (WebCore::RenderNamedFlowFragment::setObjectStyleInRegion):
50846        (WebCore::RenderNamedFlowFragment::clearObjectStyleInRegion):
50847        (WebCore::RenderNamedFlowFragment::setRegionObjectsRegionStyle):
50848        (WebCore::RenderNamedFlowFragment::restoreRegionObjectsOriginalStyle):
50849        (WebCore::shouldPaintRegionContentsInPhase):
50850        (WebCore::RenderNamedFlowFragment::paintObject):
50851        * rendering/RenderNamedFlowFragment.h:
50852        * rendering/RenderNamedFlowThread.cpp:
50853        (WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
50854        (WebCore::RenderNamedFlowThread::checkRegionsWithStyling):
50855        (WebCore::RenderNamedFlowThread::clearRenderObjectCustomStyle):
50856        (WebCore::RenderNamedFlowThread::removeFlowChildInfo):
50857        * rendering/RenderNamedFlowThread.h:
50858        * rendering/RenderRegion.cpp:
50859        (WebCore::RenderRegion::RenderRegion):
50860        (WebCore::RenderRegion::styleDidChange):
50861        (WebCore::RenderRegion::attachRegion):
50862        * rendering/RenderRegion.h:
50863        * rendering/RenderTreeAsText.cpp:
50864        (WebCore::writeRenderRegionList):
50865
508662013-11-19  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
50867
50868        Generate toHTMLFooElement() to clean up static_cast<>
50869        https://bugs.webkit.org/show_bug.cgi?id=124571
50870
50871        Reviewed by Darin Adler.
50872
50873        Though there are a lot of clean up commits before, there are still
50874        use of static_cast<HTMLFooElement*>. To clean up them, we need to generate
50875        toHTMLDetails|Meta|Summary|TableSection|TableCaptionElement().
50876
50877        Additionally, other static_cast<> are removed as well.
50878
50879        No new tests, no behavior changes.
50880
50881        * html/HTMLDetailsElement.h:
50882        * html/HTMLMediaElement.cpp:
50883        (HTMLMediaElement::selectNextSourceChild):
50884        * html/HTMLMetaElement.h:
50885        * html/HTMLObjectElement.cpp:
50886        (WebCore::HTMLObjectElement::shouldAllowQuickTimeClassIdQuirk):
50887        * html/HTMLOptionElement.cpp:
50888        (WebCore::HTMLOptionElement::isDisabledFormControl):
50889        * html/HTMLPlugInImageElement.cpp:
50890        (WebCore::HTMLPlugInImageElement::updateWidgetCallback):
50891        * html/HTMLSummaryElement.cpp:
50892        (WebCore::HTMLSummaryElement::detailsElement):
50893        * html/HTMLSummaryElement.h:
50894        * html/HTMLTableCaptionElement.h:
50895        * html/HTMLTableElement.cpp:
50896        (WebCore::HTMLTableElement::caption):
50897        (WebCore::HTMLTableElement::tHead):
50898        (WebCore::HTMLTableElement::tFoot):
50899        (WebCore::HTMLTableElement::lastBody):
50900        * html/HTMLTableRowElement.cpp:
50901        (WebCore::HTMLTableRowElement::rowIndex):
50902        * html/HTMLTableSectionElement.h:
50903        * html/HTMLTagNames.in:
50904        * html/MediaDocument.cpp:
50905        (WebCore::MediaDocumentParser::createDocumentStructure):
50906        * html/shadow/DetailsMarkerControl.cpp:
50907        (WebCore::DetailsMarkerControl::summaryElement):
50908        * loader/FrameLoader.cpp:
50909        (WebCore::FrameLoader::handleFallbackContent):
50910        * loader/ImageLoader.cpp:
50911        (WebCore::ImageLoader::dispatchPendingBeforeLoadEvent):
50912        * page/DragController.cpp:
50913        (WebCore::DragController::canProcessDrag):
50914        * page/Frame.cpp:
50915        (WebCore::Frame::searchForLabelsBeforeElement):
50916        * page/SpatialNavigation.cpp:
50917        (WebCore::frameOwnerElement):
50918
509192013-11-19  Ryosuke Niwa  <rniwa@webkit.org>
50920
50921        Enable HTMLTemplateElement on Mac port
50922        https://bugs.webkit.org/show_bug.cgi?id=124637
50923
50924        Reviewed by Tim Horton.
50925
50926        Enabled the feature.
50927
50928        * Configurations/FeatureDefines.xcconfig:
50929
509302013-11-19  Jinwoo Song  <jinwoo7.song@samsung.com>
50931
50932        Remove unused member function declaration in DocumentOrderedMap.h
50933        https://bugs.webkit.org/show_bug.cgi?id=124629
50934
50935        Reviewed by Ryosuke Niwa.
50936
50937        checkConsistency() is not used anywhere.
50938
50939        * dom/DocumentOrderedMap.h:
50940
509412013-11-19  Seokju Kwon  <seokju@webkit.org>
50942
50943        Removal of redundant function call in Editor::insertTextWithoutSendingTextEvent
50944        https://bugs.webkit.org/show_bug.cgi?id=124563
50945
50946        Reviewed by Brent Fulgham.
50947
50948        No new tests needed, no behavior change.
50949
50950        * editing/Editor.cpp:
50951        (WebCore::Editor::insertTextWithoutSendingTextEvent):
50952
509532013-11-19  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
50954
50955        Fix build break after r159533.
50956
50957        * CMakeLists.txt: Update ANGLE files.
50958
509592013-11-19  Zhuang Zhigang  <zhuangzg@cn.fujitsu.com>
50960
50961        Implement spin control on WinCE port.
50962        https://bugs.webkit.org/show_bug.cgi?id=123254
50963
50964        Reviewed by Brent Fulgham.
50965
50966        * rendering/RenderThemeWinCE.cpp:
50967        (WebCore::RenderThemeWinCE::adjustInnerSpinButtonStyle):
50968        (WebCore::RenderThemeWinCE::paintInnerSpinButton):
50969        * rendering/RenderThemeWinCE.h:
50970
509712013-11-19  Roger Fong  <roger_fong@apple.com>
50972
50973        Update ANGLE sources.
50974        https://bugs.webkit.org/show_bug.cgi?id=124615.
50975
50976        Reviewed by Dean Jackson.
50977
50978        Tests covered by Khronos WebGL conformance tests.
50979
50980        * platform/graphics/ANGLEWebKitBridge.cpp: Resolve a build error that resulted from updating ANGLE.
50981        (WebCore::getSymbolInfo):
50982        (WebCore::ANGLEWebKitBridge::compileShaderSource):
50983
509842013-11-19  Filip Pizlo  <fpizlo@apple.com>
50985
50986        Rename WatchpointSet::notifyWrite() should be renamed to WatchpointSet::fireAll()
50987        https://bugs.webkit.org/show_bug.cgi?id=124609
50988
50989        Rubber stamped by Mark Lam.
50990
50991        No new tests because no new behavior.
50992
50993        * bindings/scripts/CodeGeneratorJS.pm:
50994        (GenerateHeader):
50995        * bindings/scripts/test/JS/JSTestEventTarget.h:
50996        (WebCore::JSTestEventTarget::create):
50997
509982013-11-19  Bear Travis  <betravis@adobe.com>
50999
51000        [CSS Shapes] Parse [<box> || <shape>] values
51001        https://bugs.webkit.org/show_bug.cgi?id=124426
51002
51003        Reviewed by Dirk Schulze.
51004
51005        Shape values can now have an optional box specifying the coordinate sytem to use
51006        for sizing and positioning the shape. This patch adds the functionality to support
51007        parsing these new values.
51008
51009        * css/BasicShapeFunctions.cpp:
51010        (WebCore::valueForBox): Added function to convert between BasicShape::ReferenceBox
51011        and CSSPrimitiveValue (which wraps a CSSValueID).
51012        (WebCore::boxForValue): Ditto.
51013        (WebCore::valueForBasicShape): Translations between CSSBasicShape and BasicShape
51014        must now include the reference box.
51015        (WebCore::basicShapeForValue): Ditto.
51016        * css/BasicShapeFunctions.h:
51017        * css/CSSBasicShapes.cpp:
51018        (WebCore::buildRectangleString): Include the box in the built CSS string.
51019        (WebCore::CSSBasicShapeRectangle::cssText): Ditto.
51020        (WebCore::CSSBasicShapeRectangle::equals): Include the box in comparisions.
51021        (WebCore::buildCircleString):
51022        (WebCore::CSSBasicShapeCircle::cssText):
51023        (WebCore::CSSBasicShapeCircle::equals):
51024        (WebCore::buildEllipseString):
51025        (WebCore::CSSBasicShapeEllipse::cssText):
51026        (WebCore::CSSBasicShapeEllipse::equals):
51027        (WebCore::buildPolygonString):
51028        (WebCore::CSSBasicShapePolygon::cssText):
51029        (WebCore::CSSBasicShapePolygon::equals):
51030        (WebCore::buildInsetRectangleString):
51031        (WebCore::CSSBasicShapeInsetRectangle::cssText):
51032        (WebCore::CSSBasicShapeInsetRectangle::equals):
51033        * css/CSSBasicShapes.h:
51034        (WebCore::CSSBasicShape::box): BasicShapes now have an reference box.
51035        (WebCore::CSSBasicShape::setBox): Ditto.
51036        * css/CSSComputedStyleDeclaration.cpp:
51037        (WebCore::ComputedStyleExtractor::propertyValue): Shape-inside can also
51038        parse the box values.
51039        * css/CSSParser.cpp:
51040        (WebCore::CSSParser::parseValue): The shape properties use parseShapeProperty,
51041        while minor adjustments were made to parseBasicShape's return type.
51042        (WebCore::isBoxValue): Is the CSSValueID one of  the box values.
51043        (WebCore::CSSParser::parseShapeProperty): Parse one of the shape properties
51044        and return an appropriate CSSValue.
51045        (WebCore::CSSParser::parseBasicShape): Return a CSSBasicShape rather than
51046        adding a ShapeValue to the style.
51047        * css/CSSParser.h:
51048        * rendering/style/BasicShapes.h:
51049        (WebCore::BasicShape::box): Add a box to BasicShape and getters/setters.
51050        (WebCore::BasicShape::setBox): Ditto.
51051        (WebCore::BasicShape::BasicShape): Ditto.
51052
510532013-11-19  Jer Noble  <jer.noble@apple.com>
51054
51055        [Mac] 9 WebGL conformance failures after r159518.
51056        https://bugs.webkit.org/show_bug.cgi?id=124608
51057
51058        Reviewed by Dean Jackson.
51059
51060        Once we removed the CIImage drawing path, there was no longer any reason to flip the
51061        CGImageRef before drawing to the provided GraphicsContext.
51062
51063        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
51064        (WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput):
51065
510662013-11-19  Chris Fleizach  <cfleizach@apple.com>
51067
51068        Web Speech API crashes onboundary event handling with reload
51069        https://bugs.webkit.org/show_bug.cgi?id=124607
51070
51071        Reviewed by Tim Horton.
51072
51073        If the page goes away, we need to cleanup the Mac platform synthesizer object, because
51074        NSSpeechSynthesizer is retained elsewhere to handle the callbacks (so it doesn't automatically
51075        get torn down).
51076
51077        The layout tests for speech rely on a Mock synthesizer, so there is no good way to test this
51078        Mac platform specific behavior.       
51079
51080        * platform/mac/PlatformSpeechSynthesizerMac.mm:
51081        (-[WebSpeechSynthesisWrapper invalidate]):
51082        (WebCore::PlatformSpeechSynthesizer::~PlatformSpeechSynthesizer):
51083
510842013-11-19  Mark Lam  <mark.lam@apple.com>
51085
51086        Add tracking of endColumn for Executables.
51087        https://bugs.webkit.org/show_bug.cgi?id=124245.
51088
51089        Reviewed by Geoffrey Garen.
51090
51091        Test: js/dom/script-start-end-locations.html
51092
51093        * ForwardingHeaders/bytecode: Added.
51094        * ForwardingHeaders/bytecode/CodeBlock.h: Added.
51095        * WebCore.exp.in:
51096        * testing/Internals.cpp:
51097        (WebCore::GetCallerCodeBlockFunctor::GetCallerCodeBlockFunctor):
51098        (WebCore::GetCallerCodeBlockFunctor::operator()):
51099        (WebCore::GetCallerCodeBlockFunctor::codeBlock):
51100        (WebCore::Internals::parserMetaData):
51101        * testing/Internals.h:
51102        * testing/Internals.idl:
51103
511042013-11-15  Jer Noble  <jer.noble@apple.com>
51105
51106        [MSE] Support fastSeek() in MediaSource.
51107        https://bugs.webkit.org/show_bug.cgi?id=124422
51108
51109        Reviewed by Eric Carlson.
51110
51111        Test: media/media-source/media-source-fastseek.html
51112
51113        * Modules/mediasource/MediaSource.cpp:
51114        * Modules/mediasource/MediaSource.h:
51115
51116        Add support for "seek to the next fastest time" in MediaSource by
51117        returning the time of the nearest Sync sample.
51118
51119        Move the data structure logic out of SourceBuffer and into it's own
51120        class:
51121        * Modules/mediasource/SampleMap.cpp: Added.
51122        (WebCore::SampleIsLessThanMediaTimeComparator::operator()):
51123        (WebCore::SampleIsGreaterThanMediaTimeComparator::operator()):
51124        (WebCore::SampleIsRandomAccess::operator()):
51125        (WebCore::SamplePresentationTimeIsWithinRangeComparator::operator()):
51126        (WebCore::SampleMap::addSample):
51127        (WebCore::SampleMap::removeSample):
51128        (WebCore::SampleMap::findSampleContainingPresentationTime):
51129        (WebCore::SampleMap::findSampleAfterPresentationTime):
51130        (WebCore::SampleMap::findSampleWithDecodeTime):
51131        (WebCore::SampleMap::reverseFindSampleContainingPresentationTime):
51132        (WebCore::SampleMap::reverseFindSampleBeforePresentationTime):
51133        (WebCore::SampleMap::reverseFindSampleWithDecodeTime):
51134        (WebCore::SampleMap::findSyncSamplePriorToPresentationTime):
51135        (WebCore::SampleMap::findSyncSamplePriorToDecodeIterator):
51136        (WebCore::SampleMap::findSyncSampleAfterPresentationTime):
51137        (WebCore::SampleMap::findSyncSampleAfterDecodeIterator):
51138        (WebCore::SampleMap::findSamplesBetweenPresentationTimes):
51139        (WebCore::SampleMap::findDependentSamples):
51140        * Modules/mediasource/SampleMap.h: Added.
51141        (WebCore::SampleMap::presentationBegin):
51142        (WebCore::SampleMap::presentationEnd):
51143        (WebCore::SampleMap::decodeBegin):
51144        (WebCore::SampleMap::decodeEnd):
51145        (WebCore::SampleMap::reversePresentationBegin):
51146        (WebCore::SampleMap::reversePresentationEnd):
51147        (WebCore::SampleMap::reverseDecodeBegin):
51148        (WebCore::SampleMap::reverseDecodeEnd):
51149
51150        Add logic to find and return the time of the next & previous sync
51151        sample, within the threshold provided:
51152        * Modules/mediasource/SourceBuffer.cpp:
51153        (WebCore::SourceBuffer::TrackBuffer::TrackBuffer):
51154        (WebCore::SourceBuffer::sourceBufferPrivateSeekToTime):
51155        (WebCore::SourceBuffer::sourceBufferPrivateFastSeekTimeForMediaTime):
51156        (WebCore::SourceBuffer::appendBufferTimerFired):
51157        (WebCore::SourceBuffer::setActive):
51158        (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample):
51159        (WebCore::SourceBuffer::sourceBufferPrivateDidBecomeReadyForMoreSamples):
51160        (WebCore::SourceBuffer::provideMediaData):
51161        * Modules/mediasource/SourceBuffer.h:
51162        * platform/graphics/SourceBufferPrivate.h:
51163        (WebCore::SourceBufferPrivate::setActive):
51164        * platform/graphics/SourceBufferPrivateClient.h:
51165        (WebCore::SourceBufferPrivateClient::sourceBufferPrivateFastSeekTimeForMediaTime):
51166        (WebCore::SourceBufferPrivateClient::sourceBufferPrivateSeekToTime):
51167
51168        Add new files to the project:
51169        * WebCore.xcodeproj/project.pbxproj:
51170
51171        Drive-by fixes in HTMLMediaElement:
51172        * html/HTMLMediaSource.h:
51173        * html/HTMLMediaElement.cpp:
51174        (HTMLMediaElement::finishSeek): Cause the MediaSource to check the ready state of all its buffers.
51175        (HTMLMediaElement::selectNextSourceChild): Pass in whether the source element has a MediaSource URL.
51176
51177        Implement the seekWithTolerance behavior in MockMediaPlayerMediaSource:
51178        * platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:
51179        (WebCore::MockMediaPlayerMediaSource::maxTimeSeekableDouble):
51180        (WebCore::MockMediaPlayerMediaSource::currentTimeDouble):
51181        (WebCore::MockMediaPlayerMediaSource::seekWithTolerance):
51182        (WebCore::MockMediaPlayerMediaSource::advanceCurrentTime):
51183        * platform/mock/mediasource/MockMediaPlayerMediaSource.h:
51184        * platform/mock/mediasource/MockMediaSourcePrivate.cpp:
51185        (WebCore::MockMediaSourcePrivate::seekToTime):
51186        * platform/mock/mediasource/MockMediaSourcePrivate.h:
51187        * platform/mock/mediasource/MockSourceBufferPrivate.cpp:
51188        (WebCore::MockMediaSample::flags):
51189        (WebCore::MockSourceBufferPrivate::setActive):
51190        (WebCore::MockSourceBufferPrivate::fastSeekTimeForMediaTime):
51191        (WebCore::MockSourceBufferPrivate::seekToTime):
51192        * platform/mock/mediasource/MockSourceBufferPrivate.h:
51193
511942013-11-19  Jer Noble  <jer.noble@apple.com>
51195
51196        [Mac] 10X slower than Chrome when drawing a video into a canvas
51197        https://bugs.webkit.org/show_bug.cgi?id=124599
51198
51199        Reviewed by Dean Jackson.
51200
51201        Improve performance by creating a CGImageRef which directly references the CVPixelBuffer provided
51202        by AVPlayerItemVideoOutput:
51203        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
51204        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
51205        (WebCore::CVPixelBufferGetBytePointerCallback):
51206        (WebCore::CVPixelBufferReleaseBytePointerCallback):
51207        (WebCore::CVPixelBufferReleaseInfoCallback):
51208        (WebCore::createImageFromPixelBuffer):
51209        (WebCore::MediaPlayerPrivateAVFoundationObjC::updateLastImage):
51210
51211        Additionally, when asked to paint with an AVPlayerItemVideoOutput, block until the output notifies
51212        its delegate that a pixel buffer is available:
51213        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
51214        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
51215        (WebCore::globalPullDelegateQueue):
51216        (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC):
51217        (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoOutput):
51218        (WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput):
51219        (WebCore::MediaPlayerPrivateAVFoundationObjC::nativeImageForCurrentTime):
51220        (WebCore::MediaPlayerPrivateAVFoundationObjC::waitForVideoOutputMediaDataWillChange):
51221        (WebCore::MediaPlayerPrivateAVFoundationObjC::outputMediaDataWillChange):
51222        (-[WebCoreAVFPullDelegate initWithCallback:]):
51223        (-[WebCoreAVFPullDelegate outputMediaDataWillChange:]):
51224        (-[WebCoreAVFPullDelegate outputSequenceWasFlushed:]):
51225        
51226        To further optimize video -> canvas drawing, add a method which can return a PassNativeImage to be
51227        drawn directly onto the canvas, rather than rendering into an intermediary context:
51228        * html/HTMLVideoElement.cpp:
51229        (WebCore::HTMLVideoElement::nativeImageForCurrentTime):
51230        * html/HTMLVideoElement.h:
51231        * html/canvas/CanvasRenderingContext2D.cpp:
51232        (WebCore::CanvasRenderingContext2D::drawImage):
51233        * platform/graphics/MediaPlayer.cpp:
51234        (WebCore::MediaPlayer::nativeImageForCurrentTime):
51235        * platform/graphics/MediaPlayer.h:
51236        * platform/graphics/MediaPlayerPrivate.h:
51237        (WebCore::MediaPlayerPrivateInterface::nativeImageForCurrentTime):
51238
512392013-11-19  Brady Eidson  <beidson@apple.com>
51240
51241        Consolidate IDBBackingStore*Interface and IDBBackingStore*LevelDB
51242        https://bugs.webkit.org/show_bug.cgi?id=124597
51243
51244        Reviewed by Alexey Proskuryakov.
51245
51246        The Interface abstraction doesn’t make sense anymore, as LevelDB will be the only implementor.
51247
51248        * Modules/indexeddb/IDBBackingStoreCursorInterface.h: Removed.
51249        * Modules/indexeddb/IDBBackingStoreInterface.h: Removed.
51250        * Modules/indexeddb/IDBBackingStoreTransactionInterface.h: Removed.
51251
51252        * Modules/indexeddb/IDBServerConnection.h:
51253
51254        * Modules/indexeddb/leveldb/IDBBackingStoreCursorLevelDB.h:
51255        (WebCore::IDBBackingStoreCursorLevelDB::key):
51256        (WebCore::IDBBackingStoreCursorLevelDB::primaryKey):
51257        (WebCore::IDBBackingStoreCursorLevelDB::recordIdentifier):
51258
51259        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
51260        (WebCore::IDBBackingStoreLevelDB::getOrEstablishIDBDatabaseMetadata):
51261        (WebCore::IDBBackingStoreLevelDB::updateIDBDatabaseVersion):
51262        (WebCore::IDBBackingStoreLevelDB::deleteDatabase):
51263        (WebCore::IDBBackingStoreLevelDB::createObjectStore):
51264        (WebCore::IDBBackingStoreLevelDB::deleteObjectStore):
51265        (WebCore::IDBBackingStoreLevelDB::getRecord):
51266        (WebCore::IDBBackingStoreLevelDB::putRecord):
51267        (WebCore::IDBBackingStoreLevelDB::clearObjectStore):
51268        (WebCore::IDBBackingStoreLevelDB::deleteRecord):
51269        (WebCore::IDBBackingStoreLevelDB::getKeyGeneratorCurrentNumber):
51270        (WebCore::IDBBackingStoreLevelDB::maybeUpdateKeyGeneratorCurrentNumber):
51271        (WebCore::IDBBackingStoreLevelDB::keyExistsInObjectStore):
51272        (WebCore::IDBBackingStoreLevelDB::createIndex):
51273        (WebCore::IDBBackingStoreLevelDB::deleteIndex):
51274        (WebCore::IDBBackingStoreLevelDB::putIndexDataForRecord):
51275        (WebCore::IDBBackingStoreLevelDB::findKeyInIndex):
51276        (WebCore::IDBBackingStoreLevelDB::getPrimaryKeyViaIndex):
51277        (WebCore::IDBBackingStoreLevelDB::keyExistsInIndex):
51278        (WebCore::IDBBackingStoreLevelDB::makeIndexWriters):
51279        (WebCore::IDBBackingStoreLevelDB::openObjectStoreCursor):
51280        (WebCore::IDBBackingStoreLevelDB::openObjectStoreKeyCursor):
51281        (WebCore::IDBBackingStoreLevelDB::openIndexKeyCursor):
51282        (WebCore::IDBBackingStoreLevelDB::openIndexCursor):
51283        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
51284
51285        * Modules/indexeddb/leveldb/IDBBackingStoreTransactionLevelDB.h:
51286        (WebCore::IDBBackingStoreTransactionLevelDB::levelDBTransactionFrom):
51287
51288        * Modules/indexeddb/leveldb/IDBIndexWriterLevelDB.cpp:
51289        (WebCore::IDBIndexWriterLevelDB::writeIndexKeys):
51290        (WebCore::IDBIndexWriterLevelDB::verifyIndexKeys):
51291        (WebCore::IDBIndexWriterLevelDB::addingKeyAllowed):
51292        * Modules/indexeddb/leveldb/IDBIndexWriterLevelDB.h:
51293
51294        * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
51295        (WebCore::IDBServerConnectionLevelDB::get):
51296        (WebCore::IDBServerConnectionLevelDB::openCursor):
51297        (WebCore::IDBServerConnectionLevelDB::count):
51298        (WebCore::IDBServerConnectionLevelDB::deleteRange):
51299
51300        * WebCore.xcodeproj/project.pbxproj:
51301
513022013-11-19  Sergio Correia  <sergio.correia@openbossa.org>
51303
51304        Get rid of bare new in SVGAnimatedColorAnimator::constructFromString()
51305        https://bugs.webkit.org/show_bug.cgi?id=124595
51306
51307        Reviewed by Darin Adler.
51308
51309        Use std::unique_ptr instead, to manage the arguments passed to the create
51310        methods of SVGAnimatedType.
51311
51312        No new tests, covered by existing tests.
51313
51314        * svg/SVGAnimatedAngle.cpp:
51315        (WebCore::SVGAnimatedAngleAnimator::constructFromString): Replace bare
51316        pointer with std::unique_ptr.
51317        * svg/SVGAnimatedBoolean.cpp:
51318        (WebCore::SVGAnimatedBooleanAnimator::constructFromString): Ditto.
51319        * svg/SVGAnimatedColor.cpp:
51320        (WebCore::SVGAnimatedColorAnimator::constructFromString): Ditto.
51321        * svg/SVGAnimatedEnumeration.cpp:
51322        (WebCore::SVGAnimatedEnumerationAnimator::constructFromString): Ditto.
51323        * svg/SVGAnimatedInteger.cpp:
51324        (WebCore::SVGAnimatedIntegerAnimator::constructFromString): Ditto.
51325        * svg/SVGAnimatedIntegerOptionalInteger.cpp:
51326        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::constructFromString):
51327        Ditto.
51328        * svg/SVGAnimatedLength.cpp:
51329        (WebCore::SVGAnimatedLengthAnimator::constructFromString): Ditto.
51330        * svg/SVGAnimatedLengthList.cpp:
51331        (WebCore::SVGAnimatedLengthListAnimator::constructFromString): Ditto.
51332        * svg/SVGAnimatedNumber.cpp:
51333        (WebCore::SVGAnimatedNumberAnimator::constructFromString): Ditto.
51334        * svg/SVGAnimatedNumberList.cpp:
51335        (WebCore::SVGAnimatedNumberListAnimator::constructFromString): Ditto.
51336        * svg/SVGAnimatedNumberOptionalNumber.cpp:
51337        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::constructFromString):
51338        Ditto.
51339        * svg/SVGAnimatedPointList.cpp:
51340        (WebCore::SVGAnimatedPointListAnimator::constructFromString): Ditto.
51341        * svg/SVGAnimatedPreserveAspectRatio.cpp:
51342        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::constructFromString):
51343        Ditto.
51344        * svg/SVGAnimatedRect.cpp:
51345        (WebCore::SVGAnimatedRectAnimator::constructFromString): Ditto.
51346        * svg/SVGAnimatedString.cpp:
51347        (WebCore::SVGAnimatedStringAnimator::constructFromString): Ditto.
51348        * svg/SVGAnimatedTransformList.cpp:
51349        (WebCore::SVGAnimatedTransformListAnimator::constructFromString):
51350        Ditto.
51351        * svg/SVGAnimatedType.cpp:
51352        (WebCore::SVGAnimatedType::createAngleAndEnumeration): Use
51353        std::unique_ptr instead of bare pointer as parameter.
51354        (WebCore::SVGAnimatedType::createBoolean): Ditto.
51355        (WebCore::SVGAnimatedType::createColor): Ditto.
51356        (WebCore::SVGAnimatedType::createEnumeration): Ditto.
51357        (WebCore::SVGAnimatedType::createInteger): Ditto.
51358        (WebCore::SVGAnimatedType::createIntegerOptionalInteger): Ditto.
51359        (WebCore::SVGAnimatedType::createLength): Ditto.
51360        (WebCore::SVGAnimatedType::createLengthList): Ditto.
51361        (WebCore::SVGAnimatedType::createNumber): Ditto.
51362        (WebCore::SVGAnimatedType::createNumberList): Ditto.
51363        (WebCore::SVGAnimatedType::createNumberOptionalNumber): Ditto.
51364        (WebCore::SVGAnimatedType::createPointList): Ditto.
51365        (WebCore::SVGAnimatedType::createPreserveAspectRatio): Ditto.
51366        (WebCore::SVGAnimatedType::createRect): Ditto.
51367        (WebCore::SVGAnimatedType::createString): Ditto.
51368        (WebCore::SVGAnimatedType::createTransformList): Ditto.
51369        * svg/SVGAnimatedType.h: Use std::unique_ptr as parameter in the
51370        create methods.
51371        * svg/SVGAnimatedTypeAnimator.h:
51372        (WebCore::SVGAnimatedTypeAnimator::constructFromBaseValue): Make
51373        helper return std::unique_ptr instead of bare pointer.
51374        (WebCore::SVGAnimatedTypeAnimator::constructFromBaseValues): Ditto.
51375
513762013-11-19  Hans Muller  <hmuller@adobe.com>
51377
51378        [CSS Shapes] Refactor RectangleShape
51379        https://bugs.webkit.org/show_bug.cgi?id=124416
51380
51381        Privatize and rename the FloatRoundedRect class defined in RectangleShape.h.
51382        The new class is called RectangleShape::ShapeBounds. This change enables
51383        creating a proper FloatRoundedRect analog of the existing RoundedRect class;
51384        part of adding support for box shapes, per the latest CSS spec.
51385
51386        Reviewed by Dean Jackson.
51387
51388        No new tests, just refactoring.
51389
51390        * rendering/shapes/RectangleShape.cpp:
51391        (WebCore::RectangleShape::ShapeBounds::paddingBounds):
51392        (WebCore::RectangleShape::ShapeBounds::marginBounds):
51393        (WebCore::RectangleShape::ShapeBounds::cornerInterceptForWidth):
51394        (WebCore::RectangleShape::shapePaddingBounds):
51395        (WebCore::RectangleShape::shapeMarginBounds):
51396        (WebCore::RectangleShape::getExcludedIntervals):
51397        (WebCore::RectangleShape::getIncludedIntervals):
51398        (WebCore::RectangleShape::firstIncludedIntervalLogicalTop):
51399        * rendering/shapes/RectangleShape.h:
51400        (WebCore::RectangleShape::ShapeBounds::ShapeBounds):
51401        (WebCore::RectangleShape::ShapeBounds::rx):
51402        (WebCore::RectangleShape::ShapeBounds::ry):
51403
514042013-11-19  Sergio Correia  <sergio.correia@openbossa.org>
51405
51406        Mark classes deriving from SVGAnimatedTypeAnimator as FINAL
51407        https://bugs.webkit.org/show_bug.cgi?id=124456
51408
51409        Reviewed by Darin Adler.
51410
51411        Also add OVERRIDE to their virtual methods appropriately and remove
51412        existing empty virtual destructors.
51413
51414        No new tests, covered by existing ones.
51415
51416        * svg/SVGAnimatedAngle.h:
51417        * svg/SVGAnimatedBoolean.h:
51418        * svg/SVGAnimatedColor.h:
51419        * svg/SVGAnimatedEnumeration.h:
51420        * svg/SVGAnimatedInteger.h:
51421        * svg/SVGAnimatedIntegerOptionalInteger.h:
51422        * svg/SVGAnimatedLength.h:
51423        * svg/SVGAnimatedLengthList.h:
51424        * svg/SVGAnimatedNumber.h:
51425        * svg/SVGAnimatedNumberList.h:
51426        * svg/SVGAnimatedNumberOptionalNumber.h:
51427        * svg/SVGAnimatedPath.h:
51428        * svg/SVGAnimatedPointList.h:
51429        * svg/SVGAnimatedPreserveAspectRatio.h:
51430        * svg/SVGAnimatedRect.h:
51431        * svg/SVGAnimatedString.h:
51432        * svg/SVGAnimatedTransformList.h:
51433
514342013-11-19  Brady Eidson  <beidson@apple.com>
51435
51436        Add WebIDBServerConnection and DatabaseProcessIDBConnection stubs
51437        https://bugs.webkit.org/show_bug.cgi?id=124562
51438
51439        Reviewed by Alexey Proskuryakov.
51440
51441        Export some more symbols and headers for WK2 to use.
51442
51443        * WebCore.exp.in:
51444        * WebCore.xcodeproj/project.pbxproj:
51445
514462013-11-19  Frédéric Wang  <fred.wang@free.fr>
51447
51448        Map the dir attribute to the CSS direction property.
51449        https://bugs.webkit.org/show_bug.cgi?id=124572.
51450
51451        Reviewed by Darin Adler.
51452
51453        Tests: mathml/presentation/direction-overall.html
51454               mathml/presentation/direction-token.html
51455               mathml/presentation/direction.html
51456
51457        * mathml/MathMLElement.cpp:
51458        (WebCore::MathMLElement::isPresentationAttribute): add dir
51459        (WebCore::MathMLElement::collectStyleForPresentationAttribute): map dir
51460        * mathml/mathattrs.in: add the dir attribute
51461        * mathml/mathtags.in: add the mstyle tag (needed to use mstyleTag)
51462
514632013-11-19  Sergio Correia  <sergio.correia@openbossa.org>
51464
51465        [SVG] Convert OwnPtr/PassOwnPtr to std::unique_ptr
51466        https://bugs.webkit.org/show_bug.cgi?id=124382
51467
51468        Reviewed by Darin Adler.
51469
51470        The files modified are mostly under WebCore/svg/; in a few cases, some
51471        "external" files needed changes as well.
51472
51473        No new tests, covered by existing ones.
51474
51475        * css/CSSFontFaceSource.cpp:
51476        * loader/cache/CachedImage.cpp:
51477        * loader/cache/CachedImage.h:
51478        * platform/graphics/SimpleFontData.cpp:
51479        * platform/graphics/SimpleFontData.h:
51480        * rendering/svg/RenderSVGResourceContainer.cpp:
51481        * svg/SVGAnimateElement.cpp:
51482        * svg/SVGAnimateElement.h:
51483        * svg/SVGAnimatedAngle.cpp:
51484        * svg/SVGAnimatedAngle.h:
51485        * svg/SVGAnimatedBoolean.cpp:
51486        * svg/SVGAnimatedBoolean.h:
51487        * svg/SVGAnimatedColor.cpp:
51488        * svg/SVGAnimatedColor.h:
51489        * svg/SVGAnimatedEnumeration.cpp:
51490        * svg/SVGAnimatedEnumeration.h:
51491        * svg/SVGAnimatedInteger.cpp:
51492        * svg/SVGAnimatedInteger.h:
51493        * svg/SVGAnimatedIntegerOptionalInteger.cpp:
51494        * svg/SVGAnimatedIntegerOptionalInteger.h:
51495        * svg/SVGAnimatedLength.cpp:
51496        * svg/SVGAnimatedLength.h:
51497        * svg/SVGAnimatedLengthList.cpp:
51498        * svg/SVGAnimatedLengthList.h:
51499        * svg/SVGAnimatedNumber.cpp:
51500        * svg/SVGAnimatedNumber.h:
51501        * svg/SVGAnimatedNumberList.cpp:
51502        * svg/SVGAnimatedNumberList.h:
51503        * svg/SVGAnimatedNumberOptionalNumber.cpp:
51504        * svg/SVGAnimatedNumberOptionalNumber.h:
51505        * svg/SVGAnimatedPath.cpp:
51506        * svg/SVGAnimatedPath.h:
51507        * svg/SVGAnimatedPointList.cpp:
51508        * svg/SVGAnimatedPointList.h:
51509        * svg/SVGAnimatedPreserveAspectRatio.cpp:
51510        * svg/SVGAnimatedPreserveAspectRatio.h:
51511        * svg/SVGAnimatedRect.cpp:
51512        * svg/SVGAnimatedRect.h:
51513        * svg/SVGAnimatedString.cpp:
51514        * svg/SVGAnimatedString.h:
51515        * svg/SVGAnimatedTransformList.cpp:
51516        * svg/SVGAnimatedTransformList.h:
51517        * svg/SVGAnimatedType.cpp:
51518        * svg/SVGAnimatedType.h:
51519        * svg/SVGAnimatedTypeAnimator.cpp:
51520        * svg/SVGAnimatedTypeAnimator.h:
51521        * svg/SVGAnimatorFactory.h:
51522        * svg/SVGDocumentExtensions.cpp:
51523        * svg/SVGDocumentExtensions.h:
51524        * svg/SVGFontData.h:
51525        * svg/SVGFontElement.cpp:
51526        * svg/SVGFontElement.h:
51527        * svg/SVGGraphicsElement.cpp:
51528        * svg/SVGGraphicsElement.h:
51529        * svg/SVGPathByteStreamSource.h:
51530        * svg/SVGPathParser.h:
51531        * svg/SVGPathSegListSource.h:
51532        * svg/SVGPathStringSource.h:
51533        * svg/SVGPathUtilities.cpp:
51534        * svg/SVGPathUtilities.h:
51535        * svg/animation/SMILTimeContainer.cpp:
51536        * svg/animation/SMILTimeContainer.h:
51537        * svg/graphics/SVGImage.cpp:
51538        * svg/graphics/SVGImage.h:
51539        * svg/graphics/SVGImageCache.h:
51540        * svg/properties/SVGAttributeToPropertyMap.cpp:
51541        * svg/properties/SVGAttributeToPropertyMap.h:
51542
515432013-11-19  Zoltan Horvath  <zoltan@webkit.org>
51544
51545        Add LineInlineHeaders.h to WebCore.xcodeproj
51546        <https://webkit.org/b/124460>
51547
51548        Reviewed by Csaba Osztrogonác.
51549
51550        LineInlineHeaders.h (r159354) hasn't been added to WebCore.xcodeproj. This patch adds to it.
51551
51552        No new tests, no behavior change.
51553
51554        * WebCore.xcodeproj/project.pbxproj:
51555
515562013-11-19  Krzysztof Czech  <k.czech@samsung.com>
51557
51558        [AX] Use std::unique_ptr to manage AXComputedObjectAttributeCache
51559        https://bugs.webkit.org/show_bug.cgi?id=124404
51560
51561        Reviewed by Mario Sanchez Prada.
51562
51563        Convert OwnPtr/PassOwnPtr to std::unique_ptr.
51564
51565        * accessibility/AXObjectCache.cpp:
51566        (WebCore::AXObjectCache::startCachingComputedObjectAttributesUntilTreeMutates):
51567        (WebCore::AXObjectCache::stopCachingComputedObjectAttributes):
51568        * accessibility/AXObjectCache.h:
51569        (WebCore::AXComputedObjectAttributeCache::AXComputedObjectAttributeCache):
51570
515712013-11-19  Ryosuke Niwa  <rniwa@webkit.org>
51572
51573        Add more assertions with security implications in DocumentOrderedMap
51574        https://bugs.webkit.org/show_bug.cgi?id=124559
51575
51576        Reviewed by Antti Koivisto.
51577
51578        Assert that newly added elements and existing elements in the document ordered map are in the same tree scope
51579        as the document ordered map. Also exit early if we're about to add an element in a wrong document to the map.
51580        We don't exit early in get() because the damage has already been done at that point (the element may have been
51581        deleted already).
51582
51583        * dom/Document.cpp:
51584        (WebCore::Document::addImageElementByLowercasedUsemap):
51585        * dom/DocumentOrderedMap.cpp:
51586        (WebCore::DocumentOrderedMap::add): Assert that the newly added element is in the current tree scope.
51587        Also exit early if either the element is not in the tree scope or not in the right document.
51588        While this doesn't make the function completely fault safe, it'll catch when we try to add a detached node.
51589        (WebCore::DocumentOrderedMap::remove): Convert existing assertions to ones with security implication.
51590        (WebCore::DocumentOrderedMap::get): Assert with security implication that the element we're about to return
51591        is in the current tree scope. The element may have already been deleted if we ever hit these assertions.
51592        (WebCore::DocumentOrderedMap::getAllElementsById):  Convert an existing assertion to an assertion with security
51593        implication.
51594        * dom/DocumentOrderedMap.h:
51595        * dom/TreeScope.cpp:
51596        (WebCore::TreeScope::addElementById):
51597        (WebCore::TreeScope::addElementByName):
51598        (WebCore::TreeScope::addImageMap):
51599        (WebCore::TreeScope::addLabel):
51600        * html/HTMLDocument.cpp:
51601        (WebCore::HTMLDocument::addDocumentNamedItem):
51602        (WebCore::HTMLDocument::addWindowNamedItem):
51603        * html/HTMLImageElement.cpp:
51604        (WebCore::HTMLImageElement::insertedInto): Set InTreeScope flag before calling addImageElementByLowercasedUsemap.
51605        * html/HTMLMapElement.cpp:
51606        (WebCore::HTMLMapElement::insertedInto): Ditto for addImageMap.
51607
516082013-11-18  Commit Queue  <commit-queue@webkit.org>
51609
51610        Unreviewed, rolling out r159455.
51611        http://trac.webkit.org/changeset/159455
51612        https://bugs.webkit.org/show_bug.cgi?id=124568
51613
51614        broke two api tests (see bug 124564) (Requested by thorton on
51615        #webkit).
51616
51617        * CMakeLists.txt:
51618        * GNUmakefile.list.am:
51619        * WebCore.exp.in:
51620        * WebCore.vcxproj/WebCore.vcxproj:
51621        * WebCore.vcxproj/WebCore.vcxproj.filters:
51622        * WebCore.xcodeproj/project.pbxproj:
51623        * bindings/objc/DOM.mm:
51624        (-[DOMNode renderedImage]):
51625        (-[DOMRange renderedImageForcingBlackText:]):
51626        * dom/Clipboard.cpp:
51627        (WebCore::Clipboard::createDragImage):
51628        * dom/ClipboardMac.mm:
51629        (WebCore::Clipboard::createDragImage):
51630        * page/DragController.cpp:
51631        (WebCore::DragController::startDrag):
51632        * page/Frame.cpp:
51633        (WebCore::ScopedFramePaintingState::ScopedFramePaintingState):
51634        (WebCore::ScopedFramePaintingState::~ScopedFramePaintingState):
51635        (WebCore::Frame::nodeImage):
51636        (WebCore::Frame::dragImageForSelection):
51637        * page/Frame.h:
51638        * page/FrameSnapshotting.cpp: Removed.
51639        * page/FrameSnapshotting.h: Removed.
51640        * page/mac/FrameMac.mm: Copied from Source/WebCore/page/win/FrameWin.h.
51641        (WebCore::Frame::nodeImage):
51642        (WebCore::Frame::dragImageForSelection):
51643        * page/mac/FrameSnapshottingMac.h: Copied from Source/WebCore/page/win/FrameWin.h.
51644        * page/mac/FrameSnapshottingMac.mm: Added.
51645        (WebCore::imageFromRect):
51646        (WebCore::selectionImage):
51647        (WebCore::rangeImage):
51648        (WebCore::snapshotDragImage):
51649        * page/win/FrameWin.cpp:
51650        (WebCore::Frame::dragImageForSelection):
51651        (WebCore::Frame::nodeImage):
51652        * page/win/FrameWin.h:
51653        * platform/DragImage.cpp:
51654        (WebCore::fitDragImageToMaxSize):
51655        (WebCore::createDragImageForLink):
51656        * platform/DragImage.h:
51657
516582013-11-18  Mark Rowe  <mrowe@apple.com>
51659
51660        Use hw.activecpu for determining how many processes to spawn.
51661
51662        It's documented as the preferred way to determine the number of threads
51663        or processes to create in a SMP aware application.
51664
51665        Rubber-stamped by Tim Horton.
51666
51667        * WebCore.xcodeproj/project.pbxproj:
51668
516692013-11-18  Samuel White  <samuel_white@apple.com>
51670
51671        AX: aria-labelledby should be used in preference to aria-labeledby
51672        https://bugs.webkit.org/show_bug.cgi?id=62351
51673
51674        Reviewed by Chris Fleizach.
51675
51676        Making sure aria-labelled by overrides the incorrectly spelled aria-labeledby attribute.
51677
51678        Test: accessibility/aria-labelledby-overrides-aria-labeledby.html
51679
51680        * accessibility/AccessibilityNodeObject.cpp:
51681        (WebCore::AccessibilityNodeObject::ariaLabeledByElements):
51682
516832013-11-18  Zalan Bujtas  <zalan@apple.com>
51684
51685        use after free in WebCore::DocumentOrderedMap::remove / WebCore::TreeScope::removeElementById
51686        https://bugs.webkit.org/show_bug.cgi?id=121324
51687
51688        Reviewed by Ryosuke Niwa.
51689
51690        Update the document ordered map for an image element before dispatching load or error events
51691        when it's inserted into a document.
51692
51693        Test: fast/dom/modify-node-and-while-in-the-callback-too-crash.html
51694
51695        * dom/DocumentOrderedMap.cpp: defensive fix to avoid use after free issues.
51696        (WebCore::DocumentOrderedMap::remove):
51697        * html/HTMLImageElement.cpp:
51698        (WebCore::HTMLImageElement::insertedInto):
51699        * loader/ImageLoader.cpp:
51700        (WebCore::ImageLoader::updateFromElement): setting m_failedLoadURL makes
51701        repeated updateFromElement calls return early.
51702
517032013-11-18  Benjamin Poulain  <bpoulain@apple.com>
51704
51705        Upstream iOS's ResourceHandle implementation
51706        https://bugs.webkit.org/show_bug.cgi?id=124554
51707
51708        Reviewed by Sam Weinig.
51709
51710        * platform/network/ResourceHandle.h:
51711        (WebCore::ResourceHandle::quickLookHandle):
51712        (WebCore::ResourceHandle::setQuickLookHandle):
51713        * platform/network/ResourceHandleClient.h:
51714        (WebCore::ResourceHandleClient::connectionProperties):
51715        (WebCore::ResourceHandleClient::shouldCacheResponse):
51716        * platform/network/ResourceHandleInternal.h:
51717        (WebCore::ResourceHandleInternal::ResourceHandleInternal):
51718        * platform/network/cf/ResourceHandleCFNet.cpp:
51719        (WebCore::synthesizeRedirectResponseIfNecessary):
51720        (WebCore::willSendRequest):
51721        (WebCore::didReceiveResponse):
51722        (WebCore::didReceiveDataArray):
51723        (WebCore::didReceiveData):
51724        (WebCore::didFinishLoading):
51725        (WebCore::didFail):
51726        (WebCore::willCacheResponse):
51727        (WebCore::canRespondToProtectionSpace):
51728        (WebCore::ResourceHandle::createCFURLConnection):
51729        (WebCore::ResourceHandle::start):
51730        (WebCore::ResourceHandle::willSendRequest):
51731        (WebCore::ResourceHandle::platformLoadResourceSynchronously):
51732        (WebCore::ResourceHandle::currentRequest):
51733        (WebCore::ResourceHandle::connectionClientCallbacks):
51734
517352013-11-18  Commit Queue  <commit-queue@webkit.org>
51736
51737        Unreviewed, rolling out r159430.
51738        http://trac.webkit.org/changeset/159430
51739        https://bugs.webkit.org/show_bug.cgi?id=124548
51740
51741        WebCore can know nothing about nor use files from WebKit/
51742        (Requested by thorton on #webkit).
51743
51744        * DerivedSources.make:
51745
517462013-11-18  Brady Eidson  <beidson@apple.com>
51747
51748        Remove IDBServerConnection's deprecatedBackingStore()
51749        https://bugs.webkit.org/show_bug.cgi?id=124547
51750
51751        Reviewed by Tim Horton.
51752
51753        It is no longer needed, as the front end no longer knows about the backing store.
51754
51755        * Modules/indexeddb/IDBServerConnection.h:
51756
51757        * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
51758        * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
51759
517602013-11-18  Samuel White  <samuel_white@apple.com>
51761
51762        AX: Add ability to fetch only visible table rows.
51763        https://bugs.webkit.org/show_bug.cgi?id=124430
51764
51765        Reviewed by Chris Fleizach.
51766
51767        Adding AccessibilityTable::visibleRows method to support AXVisibleRows attribute mac platform.
51768
51769        Test: platform/mac/accessibility/table-visible-rows.html
51770
51771        * accessibility/AccessibilityTable.cpp:
51772        (WebCore::AccessibilityTable::columnHeaders):
51773        (WebCore::AccessibilityTable::rowHeaders):
51774        (WebCore::AccessibilityTable::visibleRows):
51775        * accessibility/AccessibilityTable.h:
51776        * accessibility/AccessibilityTableRow.h:
51777        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
51778        (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
51779
517802013-11-18  Simon Fraser  <simon.fraser@apple.com>
51781
51782        At some scales, opaque compositing layers have garbage pixels around the edges
51783        https://bugs.webkit.org/show_bug.cgi?id=124541
51784
51785        Reviewed by Dean Jackson.
51786        
51787        Layers get marked as having opaque contents when their background is
51788        known to paint the entire layer. However, this failed to take into
51789        account two reasons why every pixel may not get painted.
51790        
51791        First, subpixel layout can result in non-integral RenderLayer
51792        bounds, which will get rounded up to an integral GraphicsLayer
51793        size. When this happens we may not paint edge pixels.
51794        
51795        Second, at non-integral scale factors, graphics context scaling
51796        may cause us to not paint edge pixels.
51797        
51798        Fix by only marking PlatformCALayers as having opaque contents
51799        when the contentsScale of the layer is integral.
51800
51801        Not testable, because we can't guarantee to get garbage pixels
51802        in a ref test, and layer dumps show GraphicsLayer's notion of
51803        content opaqueness, not the one we set on the PlatformCALayer.
51804
51805        * platform/graphics/ca/GraphicsLayerCA.cpp:
51806        (WebCore::isIntegral):
51807        (WebCore::clampedContentsScaleForScale):
51808        (WebCore::GraphicsLayerCA::updateRootRelativeScale):
51809        (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
51810        (WebCore::GraphicsLayerCA::updateContentsOpaque):
51811        (WebCore::GraphicsLayerCA::getTransformFromAnimationsWithMaxScaleImpact):
51812        Drive-by typo fix.
51813        (WebCore::GraphicsLayerCA::noteChangesForScaleSensitiveProperties):
51814        * platform/graphics/ca/GraphicsLayerCA.h:
51815        * rendering/RenderLayerBacking.cpp:
51816        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
51817
518182013-11-18  David Hyatt  <hyatt@apple.com>
51819
51820        Add a quirk to not respect center text-align when positioning
51821
51822        <rdar://problem/15427571>
51823        https://bugs.webkit.org/show_bug.cgi?id=124522
51824
51825        Reviewed by Simon Fraser.
51826
51827        Added fast/block/legacy-text-align-position-quirk.html
51828
51829        * page/Settings.in:
51830        Add the quirk setting.
51831
51832        * rendering/RenderBlockLineLayout.cpp:
51833        (WebCore::RenderBlock::startAlignedOffsetForLine):
51834        Don't pay attention to center text-align when the quirk is set.
51835
518362013-11-18  Brian J. Burg  <burg@cs.washington.edu>
51837
51838        Consolidate various frame snapshot capabilities.
51839        https://bugs.webkit.org/show_bug.cgi?id=124325
51840
51841        Reviewed by Timothy Hatcher.
51842
51843        Various snapshot creation methods had duplicated code and were split
51844        between Frame, DragImage, and platform-specific implementationss.
51845        This patch puts WebCore snapshot methods into FrameSnapshotting
51846        and removes platform implementations where possible.
51847
51848        DragImage methods reuse snapshot methods where possible. Inspector
51849        will be able to take snapshots without using drag images.
51850
51851        No new tests, this is a refactoring.
51852
51853        * CMakeLists.txt:
51854        * GNUmakefile.list.am:
51855        * WebCore.exp.in:
51856        * WebCore.vcxproj/WebCore.vcxproj:
51857        * WebCore.vcxproj/WebCore.vcxproj.filters:
51858        * WebCore.xcodeproj/project.pbxproj:
51859        * bindings/objc/DOM.mm:
51860        (-[DOMNode renderedImage]):
51861        (-[DOMRange renderedImageForcingBlackText:]):
51862        * dom/Clipboard.cpp:
51863        (WebCore::Clipboard::createDragImage):
51864        * dom/ClipboardMac.mm:
51865        (WebCore::Clipboard::createDragImage):
51866        * page/DragController.cpp:
51867        (WebCore::DragController::startDrag):
51868        * page/Frame.cpp:
51869        * page/Frame.h:
51870        * page/FrameSnapshotting.cpp: Added.
51871        (WebCore::ScopedFramePaintingState::ScopedFramePaintingState):
51872        (WebCore::ScopedFramePaintingState::~ScopedFramePaintingState):
51873        (WebCore::snapshotFrameRect): Move most buffer logic to here.
51874        (WebCore::snapshotSelection): Moved from Frame.
51875        (WebCore::snapshotNode): Moved from Frame.
51876        * page/FrameSnapshotting.h: Added.
51877        * page/mac/FrameMac.mm: Removed.
51878        * page/mac/FrameSnapshottingMac.h: Removed.
51879        * page/mac/FrameSnapshottingMac.mm: Removed.
51880        * page/win/FrameWin.cpp: remove duplicate implementation.
51881        * page/win/FrameWin.h: Fix an incorrect parameter name.
51882        * platform/DragImage.cpp:
51883        (WebCore::ScopedNodeDragState::ScopedNodeDragState):
51884        (WebCore::ScopedNodeDragState::~ScopedNodeDragState):
51885        (WebCore::createDragImageFromSnapshot): Boilerplate buffer conversion.
51886        (WebCore::createDragImageForNode):
51887        (WebCore::createDragImageForSelection):
51888        (WebCore::ScopedFrameSelectionState::ScopedFrameSelectionState):
51889        (WebCore::ScopedFrameSelectionState::~ScopedFrameSelectionState):
51890        (WebCore::createDragImageForRange): Moved from Frame.
51891        (WebCore::createDragImageForImage): Moved from FrameSnapshottingMac.
51892        (WebCore::createDragImageForLink): use nullptr.
51893
518942013-11-18  Brendan Long  <b.long@cablelabs.com>
51895
51896        [GStreamer] Crash when using media source
51897        https://bugs.webkit.org/show_bug.cgi?id=124525
51898
51899        Reviewed by Philippe Normand.
51900
51901        No new tests because this is already covered by tests in media/media-source (which aren't enabled because the feature isn't done).
51902
51903        * platform/graphics/gstreamer/MediaSourceGStreamer.cpp:
51904        (WebCore::MediaSourceGStreamer::MediaSourceGStreamer): Add missing adoptRef()
51905
519062013-11-18  Brady Eidson  <beidson@apple.com>
51907
51908        Remove unneeded BackingStore-related #include from IDBFactoryBackendInterface
51909
51910        Rubberstamped by Beth Dakin.
51911
51912        * Modules/indexeddb/IDBFactoryBackendInterface.h:
51913
519142013-11-18  Nick Diego Yamane  <nick.yamane@openbossa.org>
51915
51916        Change mediasource and mediastream modules to use nullptr
51917        https://bugs.webkit.org/show_bug.cgi?id=124530
51918
51919        Reviewed by Tim Horton.
51920
51921        No new tests needed, no behavior change.
51922
51923        * Modules/mediasource/MediaSource.cpp:
51924        * Modules/mediasource/SourceBuffer.cpp:
51925        * Modules/mediastream/MediaStream.cpp:
51926        * Modules/mediastream/RTCDTMFSender.cpp:
51927        * Modules/mediastream/RTCDataChannel.cpp:
51928        * Modules/mediastream/RTCIceCandidate.cpp:
51929        * Modules/mediastream/RTCPeerConnection.cpp:
51930        * Modules/mediastream/RTCSessionDescription.cpp:
51931        * Modules/mediastream/RTCStatsResponse.cpp:
51932        * Modules/mediastream/UserMediaRequest.cpp:
51933
519342013-11-18  Brady Eidson  <beidson@apple.com>
51935
51936        Move execution of IDBCursorBackendOperations to the IDBServerConnection
51937        https://bugs.webkit.org/show_bug.cgi?id=124463
51938
51939        Reviewed by Tim Horton.
51940
51941        This almost entirely removes knowledge of the backing store from the front end.
51942
51943        The primary change here is to give cursors a unique ID.
51944
51945        This way the IDBCursorBackend can reference itself by ID, while the 
51946        IDBServerConnection can handle mapping that ID to a backing store.
51947
51948        * Modules/indexeddb/IDBBackingStoreCursorInterface.h:
51949
51950        * Modules/indexeddb/IDBBackingStoreInterface.h:
51951
51952        * Modules/indexeddb/IDBCursorBackend.cpp:
51953        (WebCore::IDBCursorBackend::IDBCursorBackend):
51954        (WebCore::IDBCursorBackend::deleteFunction):
51955        (WebCore::IDBCursorBackend::prefetchReset):
51956        (WebCore::IDBCursorBackend::close):
51957        (WebCore::IDBCursorBackend::updateCursorData):
51958        (WebCore::IDBCursorBackend::clearCursorData):
51959        * Modules/indexeddb/IDBCursorBackend.h:
51960        (WebCore::IDBCursorBackend::create):
51961        (WebCore::IDBCursorBackend::key):
51962        (WebCore::IDBCursorBackend::primaryKey):
51963        (WebCore::IDBCursorBackend::value):
51964        (WebCore::IDBCursorBackend::id):
51965        (WebCore::IDBCursorBackend::transaction):
51966        (WebCore::IDBCursorBackend::setSavedCursorID):
51967
51968        * Modules/indexeddb/IDBCursorBackendOperations.cpp:
51969        (WebCore::CursorAdvanceOperation::perform):
51970        (WebCore::CursorIterationOperation::perform):
51971        (WebCore::CursorPrefetchIterationOperation::perform):
51972        * Modules/indexeddb/IDBCursorBackendOperations.h:
51973        (WebCore::CursorIterationOperation::key):
51974        (WebCore::CursorIterationOperation::callbacks):
51975        (WebCore::CursorAdvanceOperation::count):
51976        (WebCore::CursorAdvanceOperation::callbacks):
51977        (WebCore::CursorPrefetchIterationOperation::numberToFetch):
51978        (WebCore::CursorPrefetchIterationOperation::callbacks):
51979
51980        * Modules/indexeddb/IDBServerConnection.h:
51981
51982        * Modules/indexeddb/leveldb/IDBBackingStoreCursorLevelDB.h:
51983        (WebCore::IDBBackingStoreCursorLevelDB::IDBBackingStoreCursorLevelDB):
51984
51985        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
51986        (WebCore::ObjectStoreKeyCursorImpl::create):
51987        (WebCore::ObjectStoreKeyCursorImpl::clone):
51988        (WebCore::ObjectStoreKeyCursorImpl::ObjectStoreKeyCursorImpl):
51989        (WebCore::ObjectStoreCursorImpl::create):
51990        (WebCore::ObjectStoreCursorImpl::clone):
51991        (WebCore::ObjectStoreCursorImpl::ObjectStoreCursorImpl):
51992        (WebCore::IDBBackingStoreLevelDB::openObjectStoreCursor):
51993        (WebCore::IDBBackingStoreLevelDB::openObjectStoreKeyCursor):
51994        (WebCore::IDBBackingStoreLevelDB::openIndexKeyCursor):
51995        (WebCore::IDBBackingStoreLevelDB::openIndexCursor):
51996        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
51997
51998        * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
51999        (WebCore::IDBServerConnectionLevelDB::IDBServerConnectionLevelDB):
52000        (WebCore::IDBServerConnectionLevelDB::setIndexKeys):
52001        (WebCore::IDBServerConnectionLevelDB::createObjectStore):
52002        (WebCore::IDBServerConnectionLevelDB::createIndex):
52003        (WebCore::IDBServerConnectionLevelDB::deleteIndex):
52004        (WebCore::IDBServerConnectionLevelDB::get):
52005        (WebCore::IDBServerConnectionLevelDB::put):
52006        (WebCore::IDBServerConnectionLevelDB::openCursor):
52007        (WebCore::IDBServerConnectionLevelDB::count):
52008        (WebCore::IDBServerConnectionLevelDB::deleteRange):
52009        (WebCore::IDBServerConnectionLevelDB::clearObjectStore):
52010        (WebCore::IDBServerConnectionLevelDB::deleteObjectStore):
52011        (WebCore::IDBServerConnectionLevelDB::changeDatabaseVersion):
52012        (WebCore::IDBServerConnectionLevelDB::cursorAdvance):
52013        (WebCore::IDBServerConnectionLevelDB::cursorIterate):
52014        (WebCore::IDBServerConnectionLevelDB::cursorPrefetchIteration):
52015        (WebCore::IDBServerConnectionLevelDB::cursorPrefetchReset):
52016        * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
52017
520182013-11-17  Jer Noble  <jer.noble@apple.com>
52019
52020        [WTF] Media time should not have a constructor which accepts a single int or float.
52021        https://bugs.webkit.org/show_bug.cgi?id=124470
52022
52023        Reviewed by Eric Carlson.
52024
52025        Fix the compile error exposed by removing the default parameter in the MediaTime constructor.
52026
52027        * Modules/mediasource/SourceBuffer.cpp:
52028        (WebCore::SourceBuffer::setTimestampOffset):
52029
520302013-11-18  Nick Diego Yamane  <nick.yamane@openbossa.org>
52031
52032        Change webaudio to use nullptr for null pointers
52033        https://bugs.webkit.org/show_bug.cgi?id=124526
52034
52035        Reviewed by Anders Carlsson.
52036
52037        No new tests needed, no behavior change.
52038
52039        * Modules/webaudio/AudioBuffer.cpp:
52040        * Modules/webaudio/AudioContext.cpp:
52041        * Modules/webaudio/AudioNode.cpp:
52042        * Modules/webaudio/ChannelMergerNode.cpp:
52043        * Modules/webaudio/ChannelSplitterNode.cpp:
52044        * Modules/webaudio/MediaStreamAudioSource.cpp:
52045        * Modules/webaudio/OfflineAudioContext.cpp:
52046        * Modules/webaudio/PeriodicWave.cpp:
52047        * Modules/webaudio/ScriptProcessorNode.cpp:
52048
520492013-11-18  peavo@outlook.com  <peavo@outlook.com>
52050
52051        [Curl] Basic authentication is not reused.
52052        https://bugs.webkit.org/show_bug.cgi?id=124452
52053
52054        Reviewed by Brent Fulgham.
52055
52056        After a successful basic authentication, the credentials are not reused for later requests.
52057        In the CFNetwork port, this is solved by trying basic authentication first, if credentials exists.
52058        Also, when a 401 response is received, the first thing the CFNetwork port does, is to use
52059        m_user/m_pass as credentials in the following request if they are set.
52060        This can be done the same way for the Curl version.
52061
52062        * platform/network/curl/ResourceHandleCurl.cpp:
52063        (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Try using m_user/m_pass as credentials first, if they are set.
52064        * platform/network/curl/ResourceHandleManager.cpp:
52065        (WebCore::ResourceHandleManager::applyAuthenticationToRequest): Try basic authentication first, if credentials exists.
52066
520672013-11-18  Mátyás Mustoha  <mmatyas@inf.u-szeged.hu>
52068
52069        [curl] Add file cache
52070        https://bugs.webkit.org/show_bug.cgi?id=123333
52071
52072        Reviewed by Brent Fulgham.
52073
52074        Implementation of on disc file cache
52075        for the curl network backend.
52076
52077        * WebCore.vcxproj/WebCore.vcxproj:
52078        * WebCore.vcxproj/WebCore.vcxproj.filters:
52079        * platform/network/curl/CurlCacheEntry.cpp: Added.
52080        (WebCore::CurlCacheEntry::CurlCacheEntry):
52081        (WebCore::CurlCacheEntry::~CurlCacheEntry):
52082        (WebCore::CurlCacheEntry::isCached):
52083        (WebCore::CurlCacheEntry::requestHeaders):
52084        (WebCore::CurlCacheEntry::saveCachedData):
52085        (WebCore::CurlCacheEntry::loadCachedData):
52086        (WebCore::CurlCacheEntry::saveResponseHeaders):
52087        (WebCore::CurlCacheEntry::loadResponseHeaders):
52088        (WebCore::CurlCacheEntry::setResponseFromCachedHeaders):
52089        (WebCore::CurlCacheEntry::didFail):
52090        (WebCore::CurlCacheEntry::didFinishLoading):
52091        (WebCore::CurlCacheEntry::generateBaseFilename):
52092        (WebCore::CurlCacheEntry::loadFileToBuffer):
52093        (WebCore::CurlCacheEntry::invalidate):
52094        (WebCore::CurlCacheEntry::parseResponseHeaders):
52095        * platform/network/curl/CurlCacheEntry.h: Added.
52096        (WebCore::CurlCacheEntry::isInMemory):
52097        * platform/network/curl/CurlCacheManager.cpp: Added.
52098        (WebCore::CurlCacheManager::getInstance):
52099        (WebCore::CurlCacheManager::CurlCacheManager):
52100        (WebCore::CurlCacheManager::~CurlCacheManager):
52101        (WebCore::CurlCacheManager::setCacheDirectory):
52102        (WebCore::CurlCacheManager::loadIndex):
52103        (WebCore::CurlCacheManager::saveIndex):
52104        (WebCore::CurlCacheManager::didReceiveResponse):
52105        (WebCore::CurlCacheManager::didFinishLoading):
52106        (WebCore::CurlCacheManager::isCached):
52107        (WebCore::CurlCacheManager::requestHeaders):
52108        (WebCore::CurlCacheManager::didReceiveData):
52109        (WebCore::CurlCacheManager::saveResponseHeaders):
52110        (WebCore::CurlCacheManager::invalidateCacheEntry):
52111        (WebCore::CurlCacheManager::didFail):
52112        (WebCore::CurlCacheManager::loadCachedData):
52113        * platform/network/curl/CurlCacheManager.h: Added.
52114        (WebCore::CurlCacheManager::getCacheDirectory):
52115        * platform/network/curl/ResourceHandleManager.cpp:
52116        (WebCore::writeCallback):
52117        (WebCore::headerCallback):
52118        (WebCore::ResourceHandleManager::downloadTimerCallback):
52119        (WebCore::ResourceHandleManager::initializeHandle):
52120
521212013-11-18  peavo@outlook.com  <peavo@outlook.com>
52122
52123        [Win] WebKit version in user agent string is incorrect.
52124        https://bugs.webkit.org/show_bug.cgi?id=124454
52125
52126        Reviewed by Brent Fulgham.
52127
52128        * DerivedSources.make: Generate WebKitVersion.h
52129
521302013-11-18  Carlos Garcia Campos  <cgarcia@igalia.com>
52131
52132        Unreviewed. Fix make distcheck.
52133
52134        * GNUmakefile.am: Add inspector json files to EXTRA_DIST and
52135        remove maketokenizer from EXTRA_DIST.
52136        * GNUmakefile.list.am: Add missing header files.
52137
521382013-11-18  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
52139
52140        Generate toHTMLDataList|Html|EmbedElement
52141        https://bugs.webkit.org/show_bug.cgi?id=124482
52142
52143        Reviewed by Tim Horton.
52144
52145        To clean up static_cast<HTMLFoo*>, toHTMLEmbedElement, toHTMLHtmlElement, toHTMLDataListElement
52146        are generated.
52147
52148        No new tests, no behavior changes.
52149
52150        * html/HTMLDataListElement.h:
52151        * html/HTMLEmbedElement.h:
52152        * html/HTMLHtmlElement.h:
52153        * html/HTMLInputElement.cpp:
52154        (WebCore::HTMLInputElement::dataList):
52155        * html/HTMLOptionElement.cpp:
52156        (WebCore::HTMLOptionElement::ownerDataListElement):
52157        * html/HTMLTagNames.in:
52158        * html/ImageDocument.cpp:
52159        (WebCore::ImageDocument::createDocumentStructure):
52160        * html/MediaDocument.cpp:
52161        (WebCore::MediaDocumentParser::createDocumentStructure):
52162        (WebCore::MediaDocument::replaceMediaElementTimerFired):
52163        * html/PluginDocument.cpp:
52164        (WebCore::PluginDocumentParser::createDocumentStructure):
52165        * rendering/RenderTheme.cpp:
52166        (WebCore::RenderTheme::paintSliderTicks):
52167        * xml/parser/XMLDocumentParserLibxml2.cpp:
52168        (WebCore::XMLDocumentParser::startElementNs):
52169
521702013-11-18  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
52171
52172        Clean up static_cast<HTMLFoo*> usage
52173        https://bugs.webkit.org/show_bug.cgi?id=124480
52174
52175        Reviewed by Tim Horton.
52176
52177        Though there are toHTMLFoo(), some places are still using static_cast<>.
52178        Additionally, toHTMLBodyElement() is supported from now.
52179
52180        No new tests, no behavior changes.
52181
52182        * accessibility/AccessibilityNodeObject.cpp:
52183        (WebCore::AccessibilityNodeObject::isRequired):
52184        * accessibility/AccessibilityTable.cpp:
52185        (WebCore::AccessibilityTable::isDataTable):
52186        * bindings/js/JSHTMLFrameSetElementCustom.cpp:
52187        (WebCore::JSHTMLFrameSetElement::nameGetter):
52188        * bindings/js/JSPluginElementFunctions.cpp:
52189        (WebCore::pluginInstance):
52190        * dom/Document.cpp:
52191        (WebCore::Document::openSearchDescriptionURL):
52192        (WebCore::Document::iconURLs):
52193        * dom/DocumentStyleSheetCollection.cpp:
52194        (WebCore::DocumentStyleSheetCollection::collectActiveStyleSheets):
52195        * editing/ReplaceSelectionCommand.cpp:
52196        (WebCore::ReplaceSelectionCommand::makeInsertedContentRoundTrippableWithHTMLTreeBuilder):
52197        * editing/ios/EditorIOS.mm:
52198        (WebCore::Editor::setTextAlignmentForChangedBaseWritingDirection):
52199        * html/HTMLBodyElement.h:
52200        * html/HTMLDocument.cpp:
52201        (WebCore::HTMLDocument::bgColor):
52202        (WebCore::HTMLDocument::setBgColor):
52203        (WebCore::HTMLDocument::fgColor):
52204        (WebCore::HTMLDocument::setFgColor):
52205        (WebCore::HTMLDocument::alinkColor):
52206        (WebCore::HTMLDocument::setAlinkColor):
52207        (WebCore::HTMLDocument::linkColor):
52208        (WebCore::HTMLDocument::setLinkColor):
52209        (WebCore::HTMLDocument::vlinkColor):
52210        (WebCore::HTMLDocument::setVlinkColor):
52211        * html/HTMLEmbedElement.cpp:
52212        (WebCore::HTMLEmbedElement::rendererIsNeeded):
52213        * html/HTMLFormControlElement.cpp:
52214        (WebCore::HTMLFormControlElement::updateAncestorDisabledState):
52215        (WebCore::HTMLFormControlElement::enclosingFormControlElement):
52216        * html/HTMLFormElement.cpp:
52217        (WebCore::submitElementFromEvent):
52218        * html/HTMLImageLoader.cpp:
52219        (WebCore::HTMLImageLoader::notifyFinished):
52220        * html/HTMLLegendElement.cpp:
52221        (WebCore::HTMLLegendElement::virtualForm):
52222        * html/RadioNodeList.cpp:
52223        (WebCore::RadioNodeList::checkElementMatchesRadioNodeListFilter):
52224        * inspector/InspectorDOMAgent.cpp:
52225        (WebCore::InspectorDOMAgent::buildObjectForNode):
52226
522272013-11-18  Carlos Garcia Campos  <cgarcia@igalia.com>
52228
52229        Unreviewed. Update GObject DOM symbols file after r158760.
52230
52231        * bindings/gobject/webkitdom.symbols: Add
52232        webkit_dom_text_track_get_id prototype.
52233
522342013-11-18  Carlos Garcia Campos  <cgarcia@igalia.com>
52235
52236        REGRESSION(r158821): [GTK] API break due to removed properties in GObject DOM bindings
52237        https://bugs.webkit.org/show_bug.cgi?id=124489
52238
52239        Reviewed by Philippe Normand.
52240
52241        In r158821, several properties were changed from readonly to
52242        CustomSetter. The GObject DOM bindings currently skips any
52243        attribute having a custom getter or setter, and those properties
52244        are not generated anymore. We should add support for generating
52245        attributes having a custom getter or setter in GObject DOM
52246        bindings generator, but to fix the ABI break now we bring the old
52247        implementatiom back as custom implementation. This fixes the ABI
52248        compatibility, but not the API since the GObject properties are
52249        not generated.
52250
52251        * bindings/gobject/WebKitDOMCustom.cpp:
52252        (webkit_dom_audio_track_get_kind):
52253        (webkit_dom_audio_track_get_language):
52254        (webkit_dom_text_track_get_kind):
52255        (webkit_dom_text_track_get_language):
52256        (webkit_dom_video_track_get_kind):
52257        (webkit_dom_video_track_get_language):
52258        * bindings/gobject/WebKitDOMCustom.h:
52259        * bindings/gobject/WebKitDOMCustom.symbols:
52260
522612013-11-18  Carlos Garcia Campos  <cgarcia@igalia.com>
52262
52263        Unreviewed. Update GObject DOM symbols file after r158662.
52264
52265        * bindings/gobject/webkitdom.symbols: Add missing prototypes.
52266
522672013-11-18  Carlos Garcia Campos  <cgarcia@igalia.com>
52268
52269        Unreviewed. Update GObject DOM symbols file after r159208 and r159363.
52270
52271        * bindings/gobject/webkitdom.symbols: Add
52272        webkit_dom_html_media_element_fast_seek prototype.
52273
522742013-11-18  Carlos Garcia Campos  <cgarcia@igalia.com>
52275
52276        REGRESSION(r159363): [GTK] API break in webkit_dom_html_media_element_set_current_time
52277        https://bugs.webkit.org/show_bug.cgi?id=124485
52278
52279        Reviewed by Philippe Normand.
52280
52281        In r159363 currentTime attribute was changed to not raise
52282        exceptions. This breaks the API of GObject DOM bindings because we
52283        use a GError parameter for exceptions that has been removed.
52284
52285        * bindings/gobject/WebKitDOMCustom.cpp:
52286        (webkit_dom_html_media_element_set_current_time): Custom
52287        implementation that receives a GError for backwards
52288        compatibility.
52289        * bindings/gobject/WebKitDOMCustom.h:
52290        * bindings/gobject/WebKitDOMCustom.symbols: Add
52291        webkit_dom_html_media_element_set_current_time prototype.
52292        * bindings/scripts/CodeGeneratorGObject.pm:
52293        (SkipFunction): Skip
52294        webkit_dom_html_media_element_set_current_time since we are adding
52295        a custom implementation.
52296
522972013-11-17  Alexey Proskuryakov  <ap@apple.com>
52298
52299        Support exporting public RSASSA-PKCS1-v1_5 keys
52300        https://bugs.webkit.org/show_bug.cgi?id=124475
52301
52302        Reviewed by Sam Weinig.
52303
52304        Test: crypto/subtle/rsa-export-key.html
52305
52306        * bindings/js/JSCryptoKeySerializationJWK.h:
52307        * bindings/js/JSCryptoKeySerializationJWK.cpp:
52308        (WebCore::JSCryptoKeySerializationJWK::buildJSONForRSAComponents):
52309        (WebCore::JSCryptoKeySerializationJWK::addJWKAlgorithmToJSON):
52310        (WebCore::JSCryptoKeySerializationJWK::serialize):
52311        Added said support (this part works with private keys too).
52312
52313        * crypto/keys/CryptoKeyRSA.h:
52314        * crypto/mac/CryptoKeyRSAMac.cpp:
52315        (WebCore::CryptoKeyRSA::getPublicKeyComponents): Moved the logic for getting a
52316        public key from private one here for reuse in keySizeInBits().
52317        (WebCore::CryptoKeyRSA::isRestrictedToHash):
52318        (WebCore::CryptoKeyRSA::keySizeInBits):
52319        (WebCore::CryptoKeyRSA::exportData):
52320        Exposed information necessary for JWK serialization.
52321
523222013-11-17  Alexey Proskuryakov  <ap@apple.com>
52323
52324        RSASSA-PKCS1-v1_5 JWK import doesn't check key size
52325        https://bugs.webkit.org/show_bug.cgi?id=124472
52326
52327        Reviewed by Sam Weinig.
52328
52329        Test: crypto/subtle/rsassa-pkcs1-v1_5-import-jwk-small-key.html
52330
52331        * bindings/js/JSCryptoKeySerializationJWK.cpp:
52332        (WebCore::JSCryptoKeySerializationJWK::keySizeIsValid): Added the checks.
52333        (WebCore::JSCryptoKeySerializationJWK::keyDataRSAComponents): Check key size when
52334        importing.
52335        (WebCore::JSCryptoKeySerializationJWK::serialize): Updated a comment.
52336
52337        * crypto/keys/CryptoKeySerializationRaw.cpp: (WebCore::CryptoKeySerializationRaw::serialize):
52338        Updated a comment.
52339
523402013-11-17  Alexey Proskuryakov  <ap@apple.com>
52341
52342        JWK crypto key export result is a DOM string instead of an array buffer
52343        https://bugs.webkit.org/show_bug.cgi?id=124473
52344
52345        Reviewed by Sam Weinig.
52346
52347        * bindings/js/JSSubtleCryptoCustom.cpp: (WebCore::JSSubtleCrypto::exportKey):
52348        Fix it.
52349
523502013-11-17  Sam Weinig  <sam@webkit.org>
52351
52352        LayoutStateMaintainer should use references where possible
52353        https://bugs.webkit.org/show_bug.cgi?id=124471
52354
52355        Reviewed by Dan Bernstein.
52356
52357        * page/FrameView.cpp:
52358        (WebCore::FrameView::layout):
52359        * rendering/LayoutState.cpp:
52360        (WebCore::LayoutState::LayoutState):
52361        * rendering/LayoutState.h:
52362        * rendering/RenderBlock.cpp:
52363        (WebCore::RenderBlock::simplifiedLayout):
52364        * rendering/RenderBlockFlow.cpp:
52365        (WebCore::RenderBlockFlow::layoutBlock):
52366        * rendering/RenderBox.cpp:
52367        (WebCore::RenderBox::layout):
52368        * rendering/RenderDeprecatedFlexibleBox.cpp:
52369        (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
52370        * rendering/RenderEmbeddedObject.cpp:
52371        (WebCore::RenderEmbeddedObject::layout):
52372        * rendering/RenderFlexibleBox.cpp:
52373        (WebCore::RenderFlexibleBox::layoutBlock):
52374        * rendering/RenderFlowThread.cpp:
52375        (WebCore::RenderFlowThread::pushFlowThreadLayoutState):
52376        * rendering/RenderFlowThread.h:
52377        * rendering/RenderGrid.cpp:
52378        (WebCore::RenderGrid::layoutBlock):
52379        * rendering/RenderMedia.cpp:
52380        (WebCore::RenderMedia::layout):
52381        * rendering/RenderTable.cpp:
52382        (WebCore::RenderTable::layout):
52383        * rendering/RenderTableRow.cpp:
52384        (WebCore::RenderTableRow::layout):
52385        * rendering/RenderTableSection.cpp:
52386        (WebCore::RenderTableSection::calcRowLogicalHeight):
52387        (WebCore::RenderTableSection::layout):
52388        (WebCore::RenderTableSection::layoutRows):
52389        * rendering/RenderTextTrackCue.cpp:
52390        (WebCore::RenderTextTrackCue::layout):
52391        * rendering/RenderView.cpp:
52392        (WebCore::RenderView::pushLayoutState):
52393        (WebCore::RenderView::pushLayoutStateForCurrentFlowThread):
52394        * rendering/RenderView.h:
52395        (WebCore::LayoutStateMaintainer::LayoutStateMaintainer):
52396        (WebCore::LayoutStateMaintainer::push):
52397        (WebCore::LayoutStateMaintainer::pop):
52398
523992013-11-16  Alexey Proskuryakov  <ap@apple.com>
52400
52401        Use uint8_t vectors for WebCrypto data
52402        https://bugs.webkit.org/show_bug.cgi?id=124466
52403
52404        Reviewed by Sam Weinig.
52405
52406        Using Vector<char> for crypto key data is somewhat non-idiomatic, and it gets simply
52407        dangerous for bignums, because signed arithmetic is not appropriate for bignum digits.
52408
52409        * Modules/websockets/WebSocketHandshake.cpp:
52410        (WebCore::generateSecWebSocketKey):
52411        (WebCore::WebSocketHandshake::getExpectedWebSocketAccept):
52412        No longer need to cast data to char* here.
52413
52414        * bindings/js/JSCryptoKeySerializationJWK.cpp:
52415        * bindings/js/JSCryptoKeySerializationJWK.h:
52416        * crypto/CryptoDigest.h:
52417        * crypto/CryptoKey.h:
52418        * crypto/keys/CryptoKeyAES.cpp:
52419        * crypto/keys/CryptoKeyAES.h:
52420        * crypto/keys/CryptoKeyDataOctetSequence.h:
52421        * crypto/keys/CryptoKeyDataRSAComponents.cpp:
52422        * crypto/keys/CryptoKeyDataRSAComponents.h:
52423        * crypto/keys/CryptoKeyHMAC.cpp:
52424        * crypto/keys/CryptoKeyHMAC.h:
52425        * crypto/keys/CryptoKeyRSA.h:
52426        * crypto/keys/CryptoKeySerializationRaw.cpp:
52427        * crypto/keys/CryptoKeySerializationRaw.h:
52428        * crypto/mac/CryptoAlgorithmAES_CBCMac.cpp:
52429        * crypto/mac/CryptoAlgorithmHMACMac.cpp:
52430        * crypto/mac/CryptoDigestMac.cpp:
52431        * crypto/mac/CryptoKeyMac.cpp:
52432        * crypto/parameters/CryptoAlgorithmRsaKeyGenParams.h:
52433        Switched to Vector<uint8_t>.
52434
52435        * crypto/mac/CryptoKeyRSAMac.cpp:
52436        (WebCore::getPublicKeyComponents): Extracted from buildAlgorithmDescription() and simplified.
52437        (WebCore::CryptoKeyRSA::create): Switched to Vector<uint8_t>.
52438        (WebCore::CryptoKeyRSA::buildAlgorithmDescription): No longer need to copy data just
52439        to change type from Vector<char> to Vector<unsigned char>.
52440        (WebCore::bigIntegerToUInt32): Ditto. No longer need to cast types when dealing with the bignum.
52441        (WebCore::CryptoKeyRSA::generatePair): Improved an error message a little.
52442
52443        * fileapi/FileReaderLoader.cpp: (WebCore::FileReaderLoader::convertToDataURL):
52444        * inspector/DOMPatchSupport.cpp: (WebCore::DOMPatchSupport::createDigest):
52445        * inspector/InspectorPageAgent.cpp: (WebCore::InspectorPageAgent::archive):
52446        * platform/graphics/cg/ImageBufferCG.cpp: (WebCore::CGImageToDataURL):
52447        No longer need to cast data to char* here.
52448
524492013-11-17  Antti Koivisto  <antti@apple.com>
52450
52451        REGRESSION (r158774): Iteration over element children is broken
52452        https://bugs.webkit.org/show_bug.cgi?id=124145
52453
52454        Reviewed by Anders Carlsson.
52455        
52456        Mutation during traversal invalidates the position cache. After the mid-point we start
52457        traversing backwards as it the shortest path. However backward traversal of children-only
52458        HTMLCollection was wrong and would end up going to descendants.
52459        
52460        Reduction by yannick.poirier@inverto.tv.
52461
52462        Test: fast/dom/htmlcollection-children-mutation.html
52463
52464        * html/HTMLCollection.cpp:
52465        (WebCore::HTMLCollection::collectionTraverseBackward):
52466        
52467            Traverse direct children only when m_shouldOnlyIncludeDirectChildren bit is set.
52468
524692013-11-17  Zoltan Horvath  <zoltan@webkit.org>
52470
52471        Move LineLayoutState.h into rendering/line
52472        <https://webkit.org/b/124458>
52473
52474        Reviewed by Mihnea Ovidenie.
52475
52476        LineLayoutState is a helper class of RenderBlockLineLayout, so I'm moving it into line subdirectory.
52477
52478        No new tests, no behavior change.
52479
52480        * GNUmakefile.list.am:
52481        * WebCore.vcxproj/WebCore.vcxproj:
52482        * WebCore.xcodeproj/project.pbxproj:
52483        * rendering/line/LineLayoutState.h: Renamed from Source/WebCore/rendering/LineLayoutState.h.
52484        (WebCore::FloatWithRect::FloatWithRect):
52485        (WebCore::LineLayoutState::LineLayoutState):
52486        (WebCore::LineLayoutState::lineInfo):
52487        (WebCore::LineLayoutState::endLineLogicalTop):
52488        (WebCore::LineLayoutState::setEndLineLogicalTop):
52489        (WebCore::LineLayoutState::endLine):
52490        (WebCore::LineLayoutState::setEndLine):
52491        (WebCore::LineLayoutState::lastFloat):
52492        (WebCore::LineLayoutState::setLastFloat):
52493        (WebCore::LineLayoutState::floats):
52494        (WebCore::LineLayoutState::floatIndex):
52495        (WebCore::LineLayoutState::setFloatIndex):
52496        (WebCore::LineLayoutState::adjustedLogicalLineTop):
52497        (WebCore::LineLayoutState::setAdjustedLogicalLineTop):
52498        (WebCore::LineLayoutState::flowThread):
52499        (WebCore::LineLayoutState::setFlowThread):
52500        (WebCore::LineLayoutState::endLineMatched):
52501        (WebCore::LineLayoutState::setEndLineMatched):
52502        (WebCore::LineLayoutState::checkForFloatsFromLastLine):
52503        (WebCore::LineLayoutState::setCheckForFloatsFromLastLine):
52504        (WebCore::LineLayoutState::markForFullLayout):
52505        (WebCore::LineLayoutState::isFullLayout):
52506        (WebCore::LineLayoutState::usesRepaintBounds):
52507        (WebCore::LineLayoutState::setRepaintRange):
52508        (WebCore::LineLayoutState::updateRepaintRangeFromBox):
52509
525102013-11-17  Antti Koivisto  <antti@apple.com>
52511
52512        Simple line path does not respect visibility:hidden
52513        https://bugs.webkit.org/show_bug.cgi?id=124467
52514
52515        Reviewed by Anders Carlsson.
52516
52517        Test: fast/text/text-visibility.html
52518
52519        * rendering/SimpleLineLayoutFunctions.cpp:
52520        (WebCore::SimpleLineLayout::paintFlow):
52521
525222013-11-16  Alexey Proskuryakov  <ap@apple.com>
52523
52524        WebCrypto no longer uses sequences of ArrayBuffers
52525        https://bugs.webkit.org/show_bug.cgi?id=124451
52526
52527        Build fix.
52528
52529        * crypto/mac/CryptoAlgorithmHMACMac.cpp: (WebCore::calculateSignature):
52530        Now that the function became shorter, clang realized that a variable was used
52531        uninitialized in an impossible code path.
52532
525332013-11-16  Alexey Proskuryakov  <ap@apple.com>
52534
52535        WebCrypto no longer uses sequences of ArrayBuffers
52536        https://bugs.webkit.org/show_bug.cgi?id=124451
52537
52538        Reviewed by Sam Weinig.
52539
52540        Covered by existing tests.
52541
52542        Changed all operations to take single CryptoOperationData objects.
52543
52544        * bindings/js/JSCryptoOperationData.cpp:
52545        * bindings/js/JSCryptoOperationData.h:
52546        * bindings/js/JSSubtleCryptoCustom.cpp:
52547        (WebCore::JSSubtleCrypto::encrypt):
52548        (WebCore::JSSubtleCrypto::decrypt):
52549        (WebCore::JSSubtleCrypto::sign):
52550        (WebCore::JSSubtleCrypto::verify):
52551        (WebCore::JSSubtleCrypto::digest):
52552        * crypto/CryptoAlgorithm.cpp:
52553        (WebCore::CryptoAlgorithm::encrypt):
52554        (WebCore::CryptoAlgorithm::decrypt):
52555        (WebCore::CryptoAlgorithm::sign):
52556        (WebCore::CryptoAlgorithm::verify):
52557        (WebCore::CryptoAlgorithm::digest):
52558        * crypto/CryptoAlgorithm.h:
52559        * crypto/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp:
52560        (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::sign):
52561        (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::verify):
52562        * crypto/algorithms/CryptoAlgorithmAES_CBC.h:
52563        * crypto/algorithms/CryptoAlgorithmHMAC.h:
52564        * crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.h:
52565        * crypto/algorithms/CryptoAlgorithmSHA1.cpp:
52566        (WebCore::CryptoAlgorithmSHA1::digest):
52567        * crypto/algorithms/CryptoAlgorithmSHA1.h:
52568        * crypto/algorithms/CryptoAlgorithmSHA224.cpp:
52569        (WebCore::CryptoAlgorithmSHA224::digest):
52570        * crypto/algorithms/CryptoAlgorithmSHA224.h:
52571        * crypto/algorithms/CryptoAlgorithmSHA256.cpp:
52572        (WebCore::CryptoAlgorithmSHA256::digest):
52573        * crypto/algorithms/CryptoAlgorithmSHA256.h:
52574        * crypto/algorithms/CryptoAlgorithmSHA384.cpp:
52575        (WebCore::CryptoAlgorithmSHA384::digest):
52576        * crypto/algorithms/CryptoAlgorithmSHA384.h:
52577        * crypto/algorithms/CryptoAlgorithmSHA512.cpp:
52578        (WebCore::CryptoAlgorithmSHA512::digest):
52579        * crypto/algorithms/CryptoAlgorithmSHA512.h:
52580        * crypto/mac/CryptoAlgorithmAES_CBCMac.cpp:
52581        (WebCore::transformAES_CBC):
52582        (WebCore::CryptoAlgorithmAES_CBC::encrypt):
52583        (WebCore::CryptoAlgorithmAES_CBC::decrypt):
52584        * crypto/mac/CryptoAlgorithmHMACMac.cpp:
52585        (WebCore::calculateSignature):
52586        (WebCore::CryptoAlgorithmHMAC::sign):
52587        (WebCore::CryptoAlgorithmHMAC::verify):
52588        * crypto/parameters/CryptoAlgorithmRsaKeyGenParams.h:
52589
525902013-11-16  Zoltan Horvath  <zoltan@webkit.org>
52591
52592        Remove the include of LineWidth.h from SimpleLineLayoutFunctions.cpp
52593        <https://webkit.org/b/124449>
52594
52595        Reviewed by Antti Koivisto.
52596
52597        I removed the include of LineWidth, since SimpleLineLayoutFunctions.cpp doesn't use it.
52598
52599        No new tests, no behavior change.
52600
52601        * rendering/SimpleLineLayoutFunctions.cpp:
52602
526032013-11-15  Alexey Proskuryakov  <ap@apple.com>
52604
52605        Support exporting symmetric keys as JWK
52606        https://bugs.webkit.org/show_bug.cgi?id=124442
52607
52608        Reviewed by Sam Weinig.
52609
52610        Error handling is not consistent yet - some errors cause exceptions, and others
52611        result in rejected promises. This part of spec is incomplete, so I basically did
52612        what was most straightforward in each case.
52613
52614        * bindings/js/JSCryptoKeySerializationJWK.h: 
52615        * bindings/js/JSCryptoKeySerializationJWK.cpp:
52616        (WebCore::JSCryptoKeySerializationJWK::reconcileUsages): Updated a comment with a better link.
52617        (WebCore::JSCryptoKeySerializationJWK::buildJSONForOctetSequence): A helper to building JWK.
52618        (WebCore::JSCryptoKeySerializationJWK::addToJSON): Ditto.
52619        (WebCore::JSCryptoKeySerializationJWK::addBoolToJSON): Ditto.
52620        (WebCore::JSCryptoKeySerializationJWK::addJWKAlgorithmToJSON): Ditto. The code for
52621        mapping is my best guess, this all needs to be specified.
52622        (WebCore::JSCryptoKeySerializationJWK::addJWKUseToJSON): A helper to building JWK.
52623        (WebCore::JSCryptoKeySerializationJWK::serialize): Build a JSON string for the key.
52624
52625        * bindings/js/JSSubtleCryptoCustom.cpp:
52626        (WebCore::JSSubtleCrypto::importKey): Updated a comment.
52627        (WebCore::JSSubtleCrypto::exportKey): Use CryptoKeySerialization (also for raw keys,
52628        for consistency).
52629
52630        * crypto/CryptoKey.h:
52631        (WebCore::CryptoKey::algorithmIdentifier):
52632        (WebCore::CryptoKey::usagesBitmap):
52633        Exposed data needed for building JWK (it used to be only exposed in a form suitable
52634        for DOM accessors).
52635
52636        * crypto/keys/CryptoKeyHMAC.h: Ditto, added an accessor for JWK.
52637
52638        * crypto/keys/CryptoKeySerializationRaw.cpp: (WebCore::CryptoKeySerializationRaw::serialize):
52639        * crypto/keys/CryptoKeySerializationRaw.h:
52640        Moved from JSSubtleCryptoCustom.cpp for consistency.
52641
526422013-11-15  Brady Eidson  <beidson@apple.com>
52643
52644        Move IDBCursorBackend operations into their own files
52645        https://bugs.webkit.org/show_bug.cgi?id=124444
52646
52647        Reviewed by Tim Horton.
52648
52649        * CMakeLists.txt:
52650        * GNUmakefile.list.am:
52651        * WebCore.xcodeproj/project.pbxproj:
52652
52653        * Modules/indexeddb/IDBCursorBackend.cpp:
52654        * Modules/indexeddb/IDBCursorBackend.h:
52655        (WebCore::IDBCursorBackend::cursorType):
52656        (WebCore::IDBCursorBackend::deprecatedBackingStoreCursor):
52657        (WebCore::IDBCursorBackend::deprecatedSetBackingStoreCursor):
52658        (WebCore::IDBCursorBackend::deprecatedSetSavedBackingStoreCursor):
52659
52660        * Modules/indexeddb/IDBCursorBackendOperations.cpp: Added.
52661        (WebCore::CallOnDestruct::CallOnDestruct):
52662        (WebCore::CallOnDestruct::~CallOnDestruct):
52663        (WebCore::CursorAdvanceOperation::perform):
52664        (WebCore::CursorIterationOperation::perform):
52665        (WebCore::CursorPrefetchIterationOperation::perform):
52666        * Modules/indexeddb/IDBCursorBackendOperations.h: Added.
52667        (WebCore::CursorIterationOperation::create):
52668        (WebCore::CursorIterationOperation::CursorIterationOperation):
52669        (WebCore::CursorAdvanceOperation::create):
52670        (WebCore::CursorAdvanceOperation::CursorAdvanceOperation):
52671        (WebCore::CursorPrefetchIterationOperation::create):
52672        (WebCore::CursorPrefetchIterationOperation::CursorPrefetchIterationOperation):
52673
526742013-11-14  David Farler  <dfarler@apple.com>
52675
52676        Copy ASAN flag settings to WebCore and JavaScriptCore intermediate build tools
52677        https://bugs.webkit.org/show_bug.cgi?id=124362
52678
52679        Reviewed by David Kilzer.
52680
52681        No new tests needed.
52682
52683        * WebCore.xcodeproj/project.pbxproj:
52684        Use ASAN_C*FLAGS for WebCoreExportFileGenerator.
52685
526862013-11-15  Jer Noble  <jer.noble@apple.com>
52687
52688        [Mac][AVF] Allow video and audio tracks to be initialized with an AVAssetTrack.
52689        https://bugs.webkit.org/show_bug.cgi?id=124421
52690
52691        Reviewed by Eric Carlson.
52692
52693        Currently, VideoTrackPrivateAVFObjC and AudioTrackPrivateAVFObjC are initialized with an
52694        AVPlayerItemTrack, but most of its methods use the AVAssetTrack wrapped by the
52695        AVPlayerItemTrack. Allow these objects to be alternatively initialized with an AVAssetTrack.
52696
52697        Add factory methods taking an AVAssetTrack:
52698        * platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.h:
52699        (WebCore::AudioTrackPrivateAVFObjC::create):
52700        * platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.mm:
52701        (WebCore::AudioTrackPrivateAVFObjC::AudioTrackPrivateAVFObjC):
52702        (WebCore::AudioTrackPrivateAVFObjC::setAssetTrack):
52703        (WebCore::AudioTrackPrivateAVFObjC::assetTrack):
52704        * platform/graphics/avfoundation/objc/VideoTrackPrivateAVFObjC.cpp:
52705        (WebCore::VideoTrackPrivateAVFObjC::VideoTrackPrivateAVFObjC):
52706        (WebCore::VideoTrackPrivateAVFObjC::setAssetTrack):
52707        (WebCore::VideoTrackPrivateAVFObjC::assetTrack):
52708        * platform/graphics/avfoundation/objc/VideoTrackPrivateAVFObjC.h:
52709
52710        Use m_assetTrack instead of [m_playerItemTrack assetTrack]:
52711        * platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.h:
52712        (WebCore::AVTrackPrivateAVFObjCImpl::assetTrack):
52713        * platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.mm:
52714        (WebCore::AVTrackPrivateAVFObjCImpl::AVTrackPrivateAVFObjCImpl):
52715        (WebCore::AVTrackPrivateAVFObjCImpl::enabled):
52716        (WebCore::AVTrackPrivateAVFObjCImpl::setEnabled):
52717        (WebCore::AVTrackPrivateAVFObjCImpl::audioKind):
52718        (WebCore::AVTrackPrivateAVFObjCImpl::videoKind):
52719        (WebCore::AVTrackPrivateAVFObjCImpl::id):
52720        (WebCore::AVTrackPrivateAVFObjCImpl::label):
52721        (WebCore::AVTrackPrivateAVFObjCImpl::language):
52722        (WebCore::AVTrackPrivateAVFObjCImpl::trackID):
52723
52724
527252013-11-15  Brady Eidson  <beidson@apple.com>
52726
52727        Let IDBDatabaseBackend create IDBTransactionBackend's directly
52728        https://bugs.webkit.org/show_bug.cgi?id=124438
52729
52730        Reviewed by Beth Dakin.
52731
52732        Create IDBTransactionBackends directly:
52733        * Modules/indexeddb/IDBDatabaseBackend.cpp:
52734        (WebCore::IDBDatabaseBackend::createTransaction):
52735        * Modules/indexeddb/IDBDatabaseBackend.h:
52736
52737        Remove maybeCreateTransactionBackend():
52738        * Modules/indexeddb/IDBFactoryBackendInterface.h:
52739        * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
52740        * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
52741
527422013-11-15  Jer Noble  <jer.noble@apple.com>
52743
52744        HTMLMediaElement should not throw an exception from setCurrentTime or fastSeek.
52745        https://bugs.webkit.org/show_bug.cgi?id=124294
52746
52747        Reviewed by Eric Carlson.
52748
52749        Update the seek logic to match the current specification. This means removing exception
52750        throwing from both the .idl and the implementation. 
52751
52752        Remove the ExceptionCode parameter from setCurrentTime and fastSeek:
52753        * html/HTMLMediaElement.cpp:
52754        (HTMLMediaElement::fastSeek):
52755        (HTMLMediaElement::seek):
52756        (HTMLMediaElement::seekWithTolerance):
52757        (HTMLMediaElement::setCurrentTime):
52758        * html/HTMLMediaElement.h:
52759        * html/HTMLMediaElement.idl:
52760        * html/MediaController.cpp:
52761        (MediaController::setCurrentTime):
52762        * html/MediaController.h:
52763        * html/MediaController.idl:
52764        * html/MediaControllerInterface.h:
52765
52766        Do not pass in an ExceptionCode placeholder when calling seek:
52767        * html/HTMLMediaElement.cpp:
52768        (HTMLMediaElement::rewind):
52769        (HTMLMediaElement::returnToRealtime):
52770        (HTMLMediaElement::finishSeek):
52771        (HTMLMediaElement::playInternal):
52772        (HTMLMediaElement::mediaPlayerTimeChanged):
52773        (HTMLMediaElement::mediaPlayerDurationChanged):
52774        (HTMLMediaElement::applyMediaFragmentURI):
52775        * html/HTMLMediaElement.h:
52776        * html/HTMLMediaElement.idl:
52777        * html/MediaController.cpp:
52778        (MediaController::bringElementUpToSpeed):
52779        * html/MediaController.h:
52780        * html/MediaController.idl:
52781        * html/MediaControllerInterface.h:
52782        * html/shadow/MediaControlElementTypes.cpp:
52783        (WebCore::MediaControlSeekButtonElement::seekTimerFired):
52784        * html/shadow/MediaControlElements.cpp:
52785        (WebCore::MediaControlRewindButtonElement::defaultEventHandler):
52786        (WebCore::MediaControlTimelineElement::defaultEventHandler):
52787        * platform/mac/WebVideoFullscreenHUDWindowController.mm:
52788        (-[WebVideoFullscreenHUDWindowController setCurrentTime:]):
52789
527902013-11-15  Brady Eidson  <beidson@apple.com>
52791
52792        Remove last vestiges of IDBBackingStore* from IDBTransactionBackend.
52793        https://bugs.webkit.org/show_bug.cgi?id=124436
52794
52795        Reviewed by Tim Horton.
52796
52797        * Modules/indexeddb/IDBFactoryBackendInterface.h: Removed createCursorBackend.
52798        * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp: Removed createCursorBackend.
52799        * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h: Removed createCursorBackend.
52800
52801        * Modules/indexeddb/IDBCursorBackend.h:
52802
52803        * Modules/indexeddb/IDBTransactionBackend.cpp:
52804        * Modules/indexeddb/IDBTransactionBackend.h:
52805
52806        * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
52807        (WebCore::IDBServerConnectionLevelDB::openCursor):
52808
528092013-11-15  Brady Eidson  <beidson@apple.com>
52810
52811        Make IDBIndexWriter a LevelDB specific concept
52812        https://bugs.webkit.org/show_bug.cgi?id=124434
52813
52814        Reviewed by Tim Horton.
52815
52816        This includes renaming the class and moving it into the leveldb subdirectory.
52817
52818        * CMakeLists.txt:
52819        * GNUmakefile.list.am:
52820        * WebCore.xcodeproj/project.pbxproj:
52821
52822        * Modules/indexeddb/IDBBackingStoreInterface.h:
52823        * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
52824
52825        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
52826        (WebCore::IDBBackingStoreLevelDB::makeIndexWriters):
52827        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
52828
52829        * Modules/indexeddb/leveldb/IDBIndexWriterLevelDB.cpp: Renamed from Source/WebCore/Modules/indexeddb/IDBIndexWriter.cpp.
52830        (WebCore::IDBIndexWriterLevelDB::IDBIndexWriterLevelDB):
52831        (WebCore::IDBIndexWriterLevelDB::writeIndexKeys):
52832        (WebCore::IDBIndexWriterLevelDB::verifyIndexKeys):
52833        (WebCore::IDBIndexWriterLevelDB::addingKeyAllowed):
52834        * Modules/indexeddb/leveldb/IDBIndexWriterLevelDB.h: Renamed from Source/WebCore/Modules/indexeddb/IDBIndexWriter.h.
52835        (WebCore::IDBIndexWriterLevelDB::create):
52836
52837        * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
52838        (WebCore::IDBServerConnectionLevelDB::setIndexKeys):
52839        (WebCore::IDBServerConnectionLevelDB::put):
52840
528412013-11-15  Alexandru Chiculita  <achicu@adobe.com>
52842
52843        Web Inspector: DOM.performSearch should accept a list of context nodes
52844        https://bugs.webkit.org/show_bug.cgi?id=124390
52845
52846        Reviewed by Timothy Hatcher.
52847
52848        Extracted the code in InspectorDOMAgent::performSearch into its own helper class
52849        called InspectorNodeFinder. Also added a new array parameter called "nodeIds"
52850        that can be used to limit the search results to just partial subtrees.
52851
52852        Tests: inspector-protocol/dom/dom-search-crash.html
52853               inspector-protocol/dom/dom-search-with-context.html
52854               inspector-protocol/dom/dom-search.html
52855
52856        * CMakeLists.txt:
52857        * GNUmakefile.list.am:
52858        * WebCore.vcxproj/WebCore.vcxproj:
52859        * WebCore.vcxproj/WebCore.vcxproj.filters:
52860        * WebCore.xcodeproj/project.pbxproj:
52861        * inspector/protocol/DOM.json:
52862        * inspector/InspectorAllInOne.cpp:
52863        * inspector/InspectorDOMAgent.cpp:
52864        (WebCore::InspectorDOMAgent::performSearch):
52865        * inspector/InspectorDOMAgent.h:
52866        * inspector/InspectorNodeFinder.cpp: Added.
52867        (WebCore::stripCharacters):
52868        (WebCore::InspectorNodeFinder::InspectorNodeFinder):
52869        (WebCore::InspectorNodeFinder::performSearch):
52870        (WebCore::InspectorNodeFinder::searchUsingDOMTreeTraversal):
52871        (WebCore::InspectorNodeFinder::matchesAttribute):
52872        (WebCore::InspectorNodeFinder::matchesElement):
52873        (WebCore::InspectorNodeFinder::searchUsingXPath):
52874        (WebCore::InspectorNodeFinder::searchUsingCSSSelectors):
52875        * inspector/InspectorNodeFinder.h: Added.
52876        (WebCore::InspectorNodeFinder::results):
52877
528782013-11-15  Brady Eidson  <beidson@apple.com>
52879
52880        Remove IDBBackingStoreInterface.h includes that are no longer needed
52881        https://bugs.webkit.org/show_bug.cgi?id=124433
52882
52883        Reviewed by Tim Horton.
52884
52885        * Modules/indexeddb/IDBCursorBackend.cpp:
52886        * Modules/indexeddb/IDBCursorBackend.h:
52887        * Modules/indexeddb/IDBFactoryBackendInterface.h:
52888        * Modules/indexeddb/IDBTransactionBackend.h:
52889
528902013-11-15  Zoltan Horvath  <zoltan@webkit.org>
52891
52892        Move BreakingContext and LineBreaker into their own files
52893        <https://webkit.org/b/124336>
52894
52895        Reviewed by David Hyatt.
52896
52897        In this change I introduced 'line' subdirectory inside 'rendering', this directory will contain all the classes
52898        which have been refactored from RenderBlockLineLayout.cpp. This change contains the separation of BreakingContext,
52899        and the separation of LineBreaker classes. Since I wanted to keep the helper functions organized, I also added a
52900        new file called LineInlineHeaders.h, which contains the functions which used in LineBreaker.h and BreakingContext.h.
52901        I moved LineInfo class into line directory. It was necessary this time, since I added a cpp for it. I'll move the
52902        rest of the line layout related helper classes later. (I wanted to minimize merge conflicts.)
52903
52904        No new tests, no behavior change.
52905
52906        * CMakeLists.txt:
52907        * GNUmakefile.am:
52908        * GNUmakefile.list.am:
52909        * WebCore.vcxproj/WebCore.vcxproj:
52910        * WebCore.vcxproj/WebCoreCommon.props:
52911        * WebCore.xcodeproj/project.pbxproj:
52912        * rendering/RenderBlockLineLayout.cpp:
52913        (WebCore::createRun):
52914        * rendering/line/BreakingContextInlineHeaders.h: Added.
52915        (WebCore::WordMeasurement::WordMeasurement):
52916        (WebCore::TrailingObjects::TrailingObjects):
52917        (WebCore::TrailingObjects::setTrailingWhitespace):
52918        (WebCore::TrailingObjects::clear):
52919        (WebCore::TrailingObjects::appendBoxIfNeeded):
52920        (WebCore::deprecatedAddMidpoint):
52921        (WebCore::startIgnoringSpaces):
52922        (WebCore::stopIgnoringSpaces):
52923        (WebCore::ensureLineBoxInsideIgnoredSpaces):
52924        (WebCore::TrailingObjects::updateMidpointsForTrailingBoxes):
52925        (WebCore::BreakingContext::BreakingContext):
52926        (WebCore::BreakingContext::currentObject):
52927        (WebCore::BreakingContext::lineBreak):
52928        (WebCore::BreakingContext::lineBreakRef):
52929        (WebCore::BreakingContext::lineWidth):
52930        (WebCore::BreakingContext::atEnd):
52931        (WebCore::BreakingContext::clearLineBreakIfFitsOnLine):
52932        (WebCore::BreakingContext::commitLineBreakAtCurrentWidth):
52933        (WebCore::BreakingContext::initializeForCurrentObject):
52934        (WebCore::BreakingContext::increment):
52935        (WebCore::BreakingContext::handleBR):
52936        (WebCore::borderPaddingMarginStart):
52937        (WebCore::borderPaddingMarginEnd):
52938        (WebCore::shouldAddBorderPaddingMargin):
52939        (WebCore::previousInFlowSibling):
52940        (WebCore::inlineLogicalWidth):
52941        (WebCore::BreakingContext::handleOutOfFlowPositioned):
52942        (WebCore::BreakingContext::handleFloat):
52943        (WebCore::shouldSkipWhitespaceAfterStartObject):
52944        (WebCore::BreakingContext::handleEmptyInline):
52945        (WebCore::BreakingContext::handleReplaced):
52946        (WebCore::firstPositiveWidth):
52947        (WebCore::updateSegmentsForShapes):
52948        (WebCore::iteratorIsBeyondEndOfRenderCombineText):
52949        (WebCore::nextCharacter):
52950        (WebCore::updateCounterIfNeeded):
52951        (WebCore::measureHyphenWidth):
52952        (WebCore::textWidth):
52953        (WebCore::ensureCharacterGetsLineBox):
52954        (WebCore::tryHyphenating):
52955        (WebCore::BreakingContext::handleText):
52956        (WebCore::textBeginsWithBreakablePosition):
52957        (WebCore::BreakingContext::canBreakAtThisPosition):
52958        (WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):
52959        (WebCore::checkMidpoints):
52960        (WebCore::BreakingContext::handleEndOfLine):
52961        * rendering/line/LineBreaker.cpp: Added.
52962        (WebCore::LineBreaker::reset):
52963        (WebCore::LineBreaker::skipTrailingWhitespace):
52964        (WebCore::LineBreaker::skipLeadingWhitespace):
52965        * rendering/line/LineBreaker.h: Added.
52966        (WebCore::LineBreaker::LineBreaker):
52967        (WebCore::LineBreaker::lineWasHyphenated):
52968        (WebCore::LineBreaker::positionedObjects):
52969        (WebCore::LineBreaker::clear):
52970        * rendering/line/LineInfo.cpp: Added.
52971        (WebCore::LineInfo::setEmpty):
52972        * rendering/line/LineInfo.h: Renamed from Source/WebCore/rendering/LineInfo.h.
52973        (WebCore::LineInfo::LineInfo):
52974        (WebCore::LineInfo::isFirstLine):
52975        (WebCore::LineInfo::isLastLine):
52976        (WebCore::LineInfo::isEmpty):
52977        (WebCore::LineInfo::previousLineBrokeCleanly):
52978        (WebCore::LineInfo::floatPaginationStrut):
52979        (WebCore::LineInfo::runsFromLeadingWhitespace):
52980        (WebCore::LineInfo::resetRunsFromLeadingWhitespace):
52981        (WebCore::LineInfo::incrementRunsFromLeadingWhitespace):
52982        (WebCore::LineInfo::setFirstLine):
52983        (WebCore::LineInfo::setLastLine):
52984        (WebCore::LineInfo::setPreviousLineBrokeCleanly):
52985        (WebCore::LineInfo::setFloatPaginationStrut):
52986        * rendering/line/LineInlineHeaders.h: Added.
52987        (WebCore::hasInlineDirectionBordersPaddingOrMargin):
52988        (WebCore::lineStyle):
52989        (WebCore::requiresLineBoxForContent):
52990        (WebCore::shouldCollapseWhiteSpace):
52991        (WebCore::skipNonBreakingSpace):
52992        (WebCore::alwaysRequiresLineBox):
52993        (WebCore::requiresLineBox):
52994        (WebCore::setStaticPositions):
52995
529962013-11-15  Brady Eidson  <beidson@apple.com>
52997
52998        Move execution of IDBTransactionBackendOperations to the IDBServerConnection
52999        https://bugs.webkit.org/show_bug.cgi?id=124385
53000
53001        Reviewed by Tim Horton.
53002
53003        Each IDBOperation has it’s ::perform() moved to a method on IDBServerConnection.
53004        This almost removes all knowledge of the backing stores from the front end.
53005
53006        * Modules/indexeddb/IDBDatabaseBackend.cpp:
53007        (WebCore::IDBDatabaseBackend::clearObjectStore):
53008        (WebCore::IDBDatabaseBackend::runIntVersionChangeTransaction):
53009        * Modules/indexeddb/IDBDatabaseBackend.h:
53010
53011        * Modules/indexeddb/IDBObjectStore.cpp:
53012        (WebCore::IDBObjectStore::clear):
53013
53014        Add methods to reflect each transaction backend operation:
53015        * Modules/indexeddb/IDBServerConnection.h:
53016
53017        Schedule certain operations with callbacks:
53018        * Modules/indexeddb/IDBTransactionBackend.cpp:
53019        (WebCore::IDBTransactionBackend::scheduleVersionChangeOperation):
53020        (WebCore::IDBTransactionBackend::schedulePutOperation):
53021        (WebCore::IDBTransactionBackend::scheduleOpenCursorOperation):
53022        (WebCore::IDBTransactionBackend::scheduleCountOperation):
53023        (WebCore::IDBTransactionBackend::scheduleDeleteRangeOperation):
53024        (WebCore::IDBTransactionBackend::scheduleClearObjectStoreOperation):
53025        * Modules/indexeddb/IDBTransactionBackend.h:
53026
53027        Make each operation’s perform() method defer to the IDBServerConnection (with a callback):
53028        * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
53029        (WebCore::CreateObjectStoreOperation::perform):
53030        (WebCore::CreateIndexOperation::perform):
53031        (WebCore::CreateIndexAbortOperation::perform):
53032        (WebCore::DeleteIndexOperation::perform):
53033        (WebCore::DeleteIndexAbortOperation::perform):
53034        (WebCore::GetOperation::perform):
53035        (WebCore::PutOperation::perform):
53036        (WebCore::SetIndexesReadyOperation::perform):
53037        (WebCore::OpenCursorOperation::perform):
53038        (WebCore::CountOperation::perform):
53039        (WebCore::DeleteRangeOperation::perform):
53040        (WebCore::ClearObjectStoreOperation::perform):
53041        (WebCore::DeleteObjectStoreOperation::perform):
53042        (WebCore::IDBDatabaseBackend::VersionChangeOperation::perform):
53043        (WebCore::CreateObjectStoreAbortOperation::perform):
53044
53045        Add accessors to each operation’s data members so the IDBServerConnection has everything it needs:
53046        * Modules/indexeddb/IDBTransactionBackendOperations.h:
53047        (WebCore::CreateObjectStoreOperation::objectStoreMetadata):
53048        (WebCore::DeleteObjectStoreOperation::objectStoreMetadata):
53049        (WebCore::IDBDatabaseBackend::VersionChangeOperation::create):
53050        (WebCore::IDBDatabaseBackend::VersionChangeOperation::version):
53051        (WebCore::IDBDatabaseBackend::VersionChangeOperation::callbacks):
53052        (WebCore::IDBDatabaseBackend::VersionChangeOperation::databaseCallbacks):
53053        (WebCore::IDBDatabaseBackend::VersionChangeOperation::VersionChangeOperation):
53054        (WebCore::CreateObjectStoreAbortOperation::CreateObjectStoreAbortOperation):
53055        (WebCore::CreateIndexOperation::objectStoreID):
53056        (WebCore::CreateIndexOperation::idbIndexMetadata):
53057        (WebCore::CreateIndexOperation::CreateIndexOperation):
53058        (WebCore::CreateIndexAbortOperation::CreateIndexAbortOperation):
53059        (WebCore::DeleteIndexOperation::objectStoreID):
53060        (WebCore::DeleteIndexOperation::idbIndexMetadata):
53061        (WebCore::DeleteIndexOperation::DeleteIndexOperation):
53062        (WebCore::DeleteIndexAbortOperation::DeleteIndexAbortOperation):
53063        (WebCore::GetOperation::objectStoreID):
53064        (WebCore::GetOperation::indexID):
53065        (WebCore::GetOperation::cursorType):
53066        (WebCore::GetOperation::keyRange):
53067        (WebCore::GetOperation::callbacks):
53068        (WebCore::GetOperation::autoIncrement):
53069        (WebCore::GetOperation::keyPath):
53070        (WebCore::GetOperation::GetOperation):
53071        (WebCore::PutOperation::create):
53072        (WebCore::PutOperation::putMode):
53073        (WebCore::PutOperation::objectStore):
53074        (WebCore::PutOperation::key):
53075        (WebCore::PutOperation::indexIDs):
53076        (WebCore::PutOperation::indexKeys):
53077        (WebCore::PutOperation::callbacks):
53078        (WebCore::PutOperation::value):
53079        (WebCore::PutOperation::PutOperation):
53080        (WebCore::OpenCursorOperation::create):
53081        (WebCore::OpenCursorOperation::objectStoreID):
53082        (WebCore::OpenCursorOperation::indexID):
53083        (WebCore::OpenCursorOperation::direction):
53084        (WebCore::OpenCursorOperation::cursorType):
53085        (WebCore::OpenCursorOperation::taskType):
53086        (WebCore::OpenCursorOperation::keyRange):
53087        (WebCore::OpenCursorOperation::cursorDirection):
53088        (WebCore::OpenCursorOperation::callbacks):
53089        (WebCore::OpenCursorOperation::OpenCursorOperation):
53090        (WebCore::CountOperation::create):
53091        (WebCore::CountOperation::objectStoreID):
53092        (WebCore::CountOperation::indexID):
53093        (WebCore::CountOperation::keyRange):
53094        (WebCore::CountOperation::callbacks):
53095        (WebCore::CountOperation::CountOperation):
53096        (WebCore::DeleteRangeOperation::create):
53097        (WebCore::DeleteRangeOperation::objectStoreID):
53098        (WebCore::DeleteRangeOperation::callbacks):
53099        (WebCore::DeleteRangeOperation::keyRange):
53100        (WebCore::DeleteRangeOperation::DeleteRangeOperation):
53101        (WebCore::ClearObjectStoreOperation::create):
53102        (WebCore::ClearObjectStoreOperation::objectStoreID):
53103        (WebCore::ClearObjectStoreOperation::callbacks):
53104        (WebCore::ClearObjectStoreOperation::ClearObjectStoreOperation):
53105
53106        Implement each operation in terms of the appropriate backing store, then perform the callback:
53107        * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
53108        (WebCore::IDBServerConnectionLevelDB::createObjectStore):
53109        (WebCore::IDBServerConnectionLevelDB::createIndex):
53110        (WebCore::IDBServerConnectionLevelDB::deleteIndex):
53111        (WebCore::IDBServerConnectionLevelDB::get):
53112        (WebCore::IDBServerConnectionLevelDB::put):
53113        (WebCore::IDBServerConnectionLevelDB::openCursor):
53114        (WebCore::IDBServerConnectionLevelDB::count):
53115        (WebCore::IDBServerConnectionLevelDB::deleteRange):
53116        (WebCore::IDBServerConnectionLevelDB::clearObjectStore):
53117        (WebCore::IDBServerConnectionLevelDB::deleteObjectStore):
53118        (WebCore::IDBServerConnectionLevelDB::changeDatabaseVersion):
53119        * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
53120
53121        * WebCore.xcodeproj/project.pbxproj:
53122
531232013-11-15  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
53124
53125        Modifying RTCIceCandidate object construction to match the spec
53126        https://bugs.webkit.org/show_bug.cgi?id=124369
53127
53128        Reviewed by Eric Carlson.
53129
53130        According to the spec the RTCIceCandidateInit parameter in RTCSessionDescription constructor is optional,
53131        which must not be nullable, and, if passed, must be a valid Dictionary. If the keys are not present, the string
53132        object that stores them in the RTCIceCandidate class, must be null in those cases. Also, if a key is present
53133        and its value is not valid an exception must be raised.
53134
53135        Existing test was updated.
53136
53137        * GNUmakefile.list.am:
53138        * Modules/mediastream/RTCIceCandidate.cpp:
53139        (WebCore::RTCIceCandidate::create):
53140        * Modules/mediastream/RTCIceCandidate.idl:
53141        * UseJSC.cmake:
53142        * WebCore.vcxproj/WebCore.vcxproj:
53143        * WebCore.vcxproj/WebCore.vcxproj.filters:
53144        * WebCore.xcodeproj/project.pbxproj:
53145        * bindings/js/JSRTCIceCandidateCustom.cpp: Added.
53146        (WebCore::JSRTCIceCandidateConstructor::constructJSRTCIceCandidate):
53147
531482013-11-15  Commit Queue  <commit-queue@webkit.org>
53149
53150        Unreviewed, rolling out r159337.
53151        http://trac.webkit.org/changeset/159337
53152        https://bugs.webkit.org/show_bug.cgi?id=124423
53153
53154        broke a bunch of fast/regions tests on EFL/GTK (Requested by
53155        philn on #webkit).
53156
53157        * rendering/InlineFlowBox.cpp:
53158        (WebCore::InlineFlowBox::setLayoutOverflow):
53159        (WebCore::InlineFlowBox::setVisualOverflow):
53160        * rendering/InlineFlowBox.h:
53161        * rendering/RenderBlock.cpp:
53162        (WebCore::RenderBlock::addOverflowFromChildren):
53163        (WebCore::RenderBlock::paint):
53164        (WebCore::RenderBlock::paintObject):
53165        (WebCore::RenderBlock::estimateRegionRangeForBoxChild):
53166        (WebCore::RenderBlock::updateRegionRangeForBoxChild):
53167        * rendering/RenderBlockFlow.cpp:
53168        (WebCore::RenderBlockFlow::hasNextPage):
53169        (WebCore::RenderBlockFlow::relayoutForPagination):
53170        * rendering/RenderBlockLineLayout.cpp:
53171        (WebCore::RenderBlockFlow::positionNewFloatOnLine):
53172        * rendering/RenderBox.cpp:
53173        (WebCore::RenderBox::borderBoxRectInRegion):
53174        (WebCore::RenderBox::computeRectForRepaint):
53175        (WebCore::RenderBox::addLayoutOverflow):
53176        (WebCore::RenderBox::addVisualOverflow):
53177        (WebCore::RenderBox::isUnsplittableForPagination):
53178        (WebCore::RenderBox::overflowRectForPaintRejection):
53179        * rendering/RenderBox.h:
53180        * rendering/RenderBoxModelObject.cpp:
53181        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
53182        * rendering/RenderBoxModelObject.h:
53183        * rendering/RenderBoxRegionInfo.h:
53184        (WebCore::RenderBoxRegionInfo::createOverflow):
53185        * rendering/RenderFlowThread.cpp:
53186        (WebCore::RenderFlowThread::paintFlowThreadPortionInRegion):
53187        (WebCore::RenderFlowThread::hitTestFlowThreadPortionInRegion):
53188        (WebCore::RenderFlowThread::checkRegionsWithStyling):
53189        (WebCore::RenderFlowThread::mapFromLocalToFlowThread):
53190        (WebCore::RenderFlowThread::mapFromFlowThreadToLocal):
53191        (WebCore::RenderFlowThread::addRegionsOverflowFromChild):
53192        (WebCore::CurrentRenderFlowThreadMaintainer::CurrentRenderFlowThreadMaintainer):
53193        * rendering/RenderFlowThread.h:
53194        * rendering/RenderLayer.cpp:
53195        (WebCore::RenderLayer::updateLayerPositions):
53196        (WebCore::expandClipRectForDescendantsAndReflection):
53197        (WebCore::RenderLayer::paintLayer):
53198        (WebCore::RenderLayer::paintLayerContents):
53199        (WebCore::RenderLayer::updatePaintingInfoForFragments):
53200        (WebCore::RenderLayer::paintForegroundForFragments):
53201        (WebCore::RenderLayer::hitTest):
53202        (WebCore::RenderLayer::hitTestLayer):
53203        (WebCore::RenderLayer::calculateClipRects):
53204        (WebCore::RenderLayer::parentClipRects):
53205        (WebCore::RenderLayer::calculateRects):
53206        (WebCore::RenderLayer::intersectsDamageRect):
53207        (WebCore::RenderLayer::repaintIncludingDescendants):
53208        * rendering/RenderLayer.h:
53209        * rendering/RenderLayerCompositor.cpp:
53210        (WebCore::RenderLayerCompositor::computeCompositingRequirements):
53211        * rendering/RenderListItem.cpp:
53212        (WebCore::RenderListItem::addOverflowFromChildren):
53213        * rendering/RenderMultiColumnSet.cpp:
53214        (WebCore::RenderMultiColumnSet::flowThreadPortionOverflowRect):
53215        (WebCore::RenderMultiColumnSet::repaintFlowThreadContent):
53216        * rendering/RenderMultiColumnSet.h:
53217        * rendering/RenderNamedFlowFragment.cpp:
53218        (WebCore::RenderNamedFlowFragment::createStyle):
53219        * rendering/RenderNamedFlowFragment.h:
53220        * rendering/RenderOverflow.h:
53221        * rendering/RenderRegion.cpp:
53222        (WebCore::RenderRegion::flowThreadPortionOverflowRect):
53223        (WebCore::RenderRegion::overflowRectForFlowThreadPortion):
53224        (WebCore::shouldPaintRegionContentsInPhase):
53225        (WebCore::RenderRegion::paintObject):
53226        (WebCore::RenderRegion::hitTestContents):
53227        (WebCore::RenderRegion::computeOverflowFromFlowThread):
53228        (WebCore::RenderRegion::repaintFlowThreadContent):
53229        (WebCore::RenderRegion::repaintFlowThreadContentRectangle):
53230        (WebCore::RenderRegion::insertedIntoTree):
53231        (WebCore::RenderRegion::ensureOverflowForBox):
53232        (WebCore::RenderRegion::rectFlowPortionForBox):
53233        (WebCore::RenderRegion::addLayoutOverflowForBox):
53234        (WebCore::RenderRegion::addVisualOverflowForBox):
53235        (WebCore::RenderRegion::layoutOverflowRectForBox):
53236        (WebCore::RenderRegion::visualOverflowRectForBox):
53237        (WebCore::RenderRegion::visualOverflowRectForBoxForPropagation):
53238        * rendering/RenderRegion.h:
53239        * rendering/RenderReplaced.cpp:
53240        (WebCore::RenderReplaced::shouldPaint):
53241        * rendering/RootInlineBox.cpp:
53242        (WebCore::RootInlineBox::paint):
53243
532442013-11-15  Antti Koivisto  <antti@apple.com>
53245
53246        Hovering over text using simple line path should not cause switch to line boxes
53247        https://bugs.webkit.org/show_bug.cgi?id=124418
53248
53249        Reviewed by Anders Carlsson.
53250
53251        Test: fast/text/simple-lines-hover.html
53252
53253        * rendering/RenderText.cpp:
53254        (WebCore::RenderText::absoluteRects):
53255        (WebCore::RenderText::absoluteQuadsClippedToEllipsis):
53256        (WebCore::RenderText::absoluteQuads):
53257        
53258            Collect quads and rects directly from simple lines without requiring the line box switch.
53259
53260        * rendering/SimpleLineLayoutFunctions.cpp:
53261        (WebCore::SimpleLineLayout::collectTextAbsoluteRects):
53262        (WebCore::SimpleLineLayout::collectTextAbsoluteQuads):
53263        
53264            Add these.
53265
53266        * rendering/SimpleLineLayoutFunctions.h:
53267        * rendering/SimpleLineLayoutResolver.h:
53268        (WebCore::SimpleLineLayout::RunResolver::Run::start):
53269        (WebCore::SimpleLineLayout::RunResolver::Run::end):
53270        
53271            For future use.
53272
532732013-11-15  Radu Stavila  <stavila@adobe.com>
53274
53275        [CSS Regions] Implement visual overflow for first & last regions
53276        https://bugs.webkit.org/show_bug.cgi?id=118665
53277
53278        In order to properly propagate the visual overflow of elements flowed inside regions, 
53279        the responsiblity of painting and hit-testing content inside flow threads has been
53280        moved to the flow thread layer's level.
53281        Each region keeps the associated overflow with each box in the RenderBoxRegionInfo
53282        structure, including one for the flow thread itself. This data is used during
53283        painting and hit-testing.
53284
53285        Reviewed by David Hyatt.
53286
53287        Tests: fast/regions/overflow-first-and-last-regions-in-container-hidden.html
53288               fast/regions/overflow-first-and-last-regions.html
53289               fast/regions/overflow-nested-regions.html
53290               fast/regions/overflow-region-float.html
53291               fast/regions/overflow-region-inline.html
53292               fast/regions/overflow-region-transform.html
53293
53294        * rendering/InlineFlowBox.cpp:
53295        (WebCore::InlineFlowBox::setLayoutOverflow):
53296        (WebCore::InlineFlowBox::setVisualOverflow):
53297        * rendering/InlineFlowBox.h:
53298        * rendering/RenderBlock.cpp:
53299        (WebCore::RenderBlock::addOverflowFromChildren):
53300        (WebCore::RenderBlock::paint):
53301        (WebCore::RenderBlock::paintObject):
53302        (WebCore::RenderBlock::estimateRegionRangeForBoxChild):
53303        (WebCore::RenderBlock::updateRegionRangeForBoxChild):
53304        * rendering/RenderBlockFlow.cpp:
53305        (WebCore::RenderBlockFlow::hasNextPage):
53306        (WebCore::RenderBlockFlow::relayoutForPagination):
53307        * rendering/RenderBlockLineLayout.cpp:
53308        (WebCore::RenderBlockFlow::positionNewFloatOnLine):
53309        * rendering/RenderBox.cpp:
53310        (WebCore::RenderBox::borderBoxRectInRegion):
53311        (WebCore::RenderBox::computeRectForRepaint):
53312        (WebCore::RenderBox::addLayoutOverflow):
53313        (WebCore::RenderBox::addVisualOverflow):
53314        (WebCore::RenderBox::isUnsplittableForPagination):
53315        (WebCore::RenderBox::overflowRectForPaintRejection):
53316        * rendering/RenderBox.h:
53317        (WebCore::RenderBox::canHaveOutsideRegionRange):
53318        * rendering/RenderBoxModelObject.cpp:
53319        (WebCore::RenderBoxModelObject::paintMaskForTextFillBox):
53320        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
53321        * rendering/RenderBoxModelObject.h:
53322        * rendering/RenderBoxRegionInfo.h:
53323        (WebCore::RenderBoxRegionInfo::createOverflow):
53324        * rendering/RenderFlowThread.cpp:
53325        (WebCore::RenderFlowThread::objectShouldPaintInFlowRegion):
53326        (WebCore::RenderFlowThread::mapFromLocalToFlowThread):
53327        (WebCore::RenderFlowThread::mapFromFlowThreadToLocal):
53328        (WebCore::RenderFlowThread::decorationsClipRectForBoxInRegion):
53329        (WebCore::RenderFlowThread::flipForWritingModeLocalCoordinates):
53330        (WebCore::RenderFlowThread::addRegionsOverflowFromChild):
53331        (WebCore::RenderFlowThread::addRegionsVisualOverflow):
53332        (WebCore::CurrentRenderFlowThreadMaintainer::CurrentRenderFlowThreadMaintainer):
53333        * rendering/RenderFlowThread.h:
53334        * rendering/RenderLayer.cpp:
53335        (WebCore::RenderLayer::updateLayerPositions):
53336        (WebCore::expandClipRectForRegionAndReflection):
53337        (WebCore::expandClipRectForDescendantsAndReflection):
53338        (WebCore::RenderLayer::paintLayer):
53339        (WebCore::RenderLayer::paintLayerContents):
53340        (WebCore::RenderLayer::updatePaintingInfoForFragments):
53341        (WebCore::RenderLayer::paintForegroundForFragments):
53342        (WebCore::RenderLayer::hitTest):
53343        (WebCore::RenderLayer::hitTestLayer):
53344        (WebCore::RenderLayer::mapLayerClipRectsToFragmentationLayer):
53345        (WebCore::RenderLayer::calculateClipRects):
53346        (WebCore::RenderLayer::parentClipRects):
53347        (WebCore::RenderLayer::calculateRects):
53348        (WebCore::RenderLayer::intersectsDamageRect):
53349        (WebCore::RenderLayer::updateDescendantsLayerListsIfNeeded):
53350        (WebCore::RenderLayer::repaintIncludingDescendants):
53351        (WebCore::RenderLayer::paintNamedFlowThreadInsideRegion):
53352        (WebCore::RenderLayer::paintFlowThreadIfRegion):
53353        (WebCore::RenderLayer::hitTestFlowThreadIfRegion):
53354        * rendering/RenderLayer.h:
53355        (WebCore::ClipRect::inflateX):
53356        (WebCore::ClipRect::inflateY):
53357        (WebCore::ClipRect::inflate):
53358        * rendering/RenderLayerCompositor.cpp:
53359        (WebCore::RenderLayerCompositor::computeCompositingRequirements):
53360        * rendering/RenderListItem.cpp:
53361        (WebCore::RenderListItem::addOverflowFromChildren):
53362        * rendering/RenderMultiColumnSet.cpp:
53363        (WebCore::RenderMultiColumnSet::flowThreadPortionOverflowRect):
53364        (WebCore::RenderMultiColumnSet::repaintFlowThreadContent):
53365        * rendering/RenderMultiColumnSet.h:
53366        * rendering/RenderNamedFlowFragment.cpp:
53367        (WebCore::RenderNamedFlowFragment::createStyle):
53368        (WebCore::RenderNamedFlowFragment::namedFlowThread):
53369        * rendering/RenderNamedFlowFragment.h:
53370        * rendering/RenderOverflow.h:
53371        * rendering/RenderRegion.cpp:
53372        (WebCore::RenderRegion::flowThreadPortionOverflowRect):
53373        (WebCore::RenderRegion::flowThreadPortionLocation):
53374        (WebCore::RenderRegion::regionContainerLayer):
53375        (WebCore::RenderRegion::overflowRectForFlowThreadPortion):
53376        (WebCore::RenderRegion::computeOverflowFromFlowThread):
53377        (WebCore::RenderRegion::repaintFlowThreadContent):
53378        (WebCore::RenderRegion::repaintFlowThreadContentRectangle):
53379        (WebCore::RenderRegion::insertedIntoTree):
53380        (WebCore::RenderRegion::ensureOverflowForBox):
53381        (WebCore::RenderRegion::rectFlowPortionForBox):
53382        (WebCore::RenderRegion::addLayoutOverflowForBox):
53383        (WebCore::RenderRegion::addVisualOverflowForBox):
53384        (WebCore::RenderRegion::layoutOverflowRectForBox):
53385        (WebCore::RenderRegion::visualOverflowRectForBox):
53386        (WebCore::RenderRegion::visualOverflowRectForBoxForPropagation):
53387        * rendering/RenderRegion.h:
53388        * rendering/RenderReplaced.cpp:
53389        (WebCore::RenderReplaced::shouldPaint):
53390        * rendering/RootInlineBox.cpp:
53391        (WebCore::RootInlineBox::paint):
53392
533932013-11-15  Stephane Jadaud  <sjadaud@sii.fr>
53394
53395        [GStreamer] Add support for Media Source API
53396        https://bugs.webkit.org/show_bug.cgi?id=99065
53397
53398        The patch integrate a Media Source player for the GStreamer backend. The implementented architecture is:
53399        - MediaPlayerPrivateGStreamer engine is modified to support Media Source URIs (change blob:// to mediasourceblob://), in addition to the existing support for web (http/https/blob) URIs
53400        - Similar to the existing WebKitWebSrc gstreamer element that handles web URIs, a new gstreamer element named WebKitMediaSrc is implemented to handle Media Source URIs
53401        - WebKitMediaSrc registers its URI protocol handler, allowing uridecodebin to dynamically create the appropriate source element.
53402        - The WebKitMediaSrc element creates a bin with 2 appsrc: One for Audio and One for Video. Pads are dynamically linked at the reception of first video and audio buffers.
53403
53404        Reviewed by Philippe Normand.
53405
53406        Tests: Activate http/tests/media/media-source and media/media-source tests
53407
53408        * GNUmakefile.am:
53409        * GNUmakefile.list.am:
53410        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
53411        (WebCore::initializeGStreamerAndRegisterWebKitElements):
53412        (WebCore::MediaPlayerPrivateGStreamer::load):
53413        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
53414        * platform/graphics/gstreamer/MediaSourceGStreamer.cpp: Added.
53415        (WebCore::MediaSourceGStreamer::open):
53416        (WebCore::MediaSourceGStreamer::MediaSourceGStreamer):
53417        (WebCore::MediaSourceGStreamer::~MediaSourceGStreamer):
53418        (WebCore::MediaSourceGStreamer::addSourceBuffer):
53419        (WebCore::MediaSourceGStreamer::setDuration):
53420        (WebCore::MediaSourceGStreamer::markEndOfStream):
53421        (WebCore::MediaSourceGStreamer::unmarkEndOfStream):
53422        * platform/graphics/gstreamer/MediaSourceGStreamer.h: Added.
53423        * platform/graphics/gstreamer/SourceBufferPrivateGStreamer.cpp: Added.
53424        (WebCore::SourceBufferPrivateGStreamer::SourceBufferPrivateGStreamer):
53425        (WebCore::SourceBufferPrivateGStreamer::append):
53426        (WebCore::SourceBufferPrivateGStreamer::abort):
53427        (WebCore::SourceBufferPrivateGStreamer::removedFromMediaSource):
53428        * platform/graphics/gstreamer/SourceBufferPrivateGStreamer.h: Added.
53429        * platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp: Added.
53430        (webKitMediaSrcAddSrc):
53431        (webkit_media_src_init):
53432        (webKitMediaSrcFinalize):
53433        (webKitMediaSrcSetProperty):
53434        (webKitMediaSrcGetProperty):
53435        (webKitMediaVideoSrcStop):
53436        (webKitMediaAudioSrcStop):
53437        (webKitMediaVideoSrcStart):
53438        (webKitMediaAudioSrcStart):
53439        (webKitMediaSrcChangeState):
53440        (webKitMediaSrcQueryWithParent):
53441        (webKitMediaSrcUriGetType):
53442        (webKitMediaSrcGetProtocols):
53443        (webKitMediaSrcGetUri):
53444        (webKitMediaSrcSetUri):
53445        (webKitMediaSrcUriHandlerInit):
53446        (webKitMediaVideoSrcNeedDataMainCb):
53447        (webKitMediaAudioSrcNeedDataMainCb):
53448        (webKitMediaVideoSrcNeedDataCb):
53449        (webKitMediaAudioSrcNeedDataCb):
53450        (webKitMediaVideoSrcEnoughDataMainCb):
53451        (webKitMediaAudioSrcEnoughDataMainCb):
53452        (webKitMediaVideoSrcEnoughDataCb):
53453        (webKitMediaAudioSrcEnoughDataCb):
53454        (webKitMediaVideoSrcSeekMainCb):
53455        (webKitMediaAudioSrcSeekMainCb):
53456        (webKitMediaVideoSrcSeekDataCb):
53457        (webKitMediaAudioSrcSeekDataCb):
53458        (webKitMediaSrcSetMediaPlayer):
53459        (webKitMediaSrcSetPlayBin):
53460        (MediaSourceClientGstreamer::MediaSourceClientGstreamer):
53461        (MediaSourceClientGstreamer::~MediaSourceClientGstreamer):
53462        (MediaSourceClientGstreamer::didReceiveDuration):
53463        (MediaSourceClientGstreamer::didReceiveData):
53464        (MediaSourceClientGstreamer::didFinishLoading):
53465        (MediaSourceClientGstreamer::didFail):
53466        * platform/graphics/gstreamer/WebKitMediaSourceGStreamer.h: Added.
53467
534682013-11-14  Victor Costan  <costan@gmail.com>
53469
53470        XMLSerializer escapes < > & correctly inside <script> and <style> tags.
53471        https://bugs.webkit.org/show_bug.cgi?id=123914
53472
53473        Reviewed by Darin Adler.
53474
53475        Test: fast/dom/XMLSerializer-entities.html
53476
53477        * editing/MarkupAccumulator.cpp:
53478        (WebCore::MarkupAccumulator::serializeNodesWithNamespaces): vim removed some whitespace.
53479        (WebCore::MarkupAccumulator::entityMaskForText): Fixed the returned value for <script> etc in XML.
53480
534812013-11-14  Bem Jones-Bey  <bjonesbe@adobe.com>
53482
53483        ASSERTION FAILED: rangesIntersect(m_renderer.pixelSnappedLogicalTopForFloat(floatingObject), m_renderer.pixelSnappedLogicalBottomForFloat(floatingObject), m_lineTop, m_lineBottom) ../../Source/WebCore/rendering/FloatingObjects.cpp(463)
53484        https://bugs.webkit.org/show_bug.cgi?id=124375
53485
53486        Reviewed by Alexandru Chiculita.
53487
53488        When moving the placed floats tree over to LayoutUnit, I forgot to
53489        update these asserts, which causes issues on ports with subpixel
53490        layout enabled. 
53491
53492        No new tests, no behavior change.
53493
53494        * rendering/FloatingObjects.cpp:
53495        (WebCore::FindNextFloatLogicalBottomAdapter::collectIfNeeded):
53496        (WebCore::::collectIfNeeded):
53497
534982013-11-14  Victor Costan  <costan@gmail.com>
53499
53500        Clean up sequence handling in Blob constructor
53501        https://bugs.webkit.org/show_bug.cgi?id=124343
53502
53503        Reviewed by Alexey Proskuryakov.
53504
53505        Added test case to LayoutTests/fast/files/blob-constructor.html
53506
53507        * bindings/js/JSBlobCustom.cpp:
53508        (WebCore::JSBlobConstructor::constructJSBlob):
53509            Handle exceptions in sequences, eliminate double type-checking for
53510            ArrayBuffer, ArrayBufferView and Blob parts.
53511
535122013-11-14  Oliver Hunt  <oliver@apple.com>
53513
53514        Make CLoop easier to build, and make it work
53515        https://bugs.webkit.org/show_bug.cgi?id=124359
53516
53517        Reviewed by Geoffrey Garen.
53518
53519        Add cloop configuration info to WebCore FeatureDefines
53520        so that it's consistent with JSC
53521
53522        * Configurations/FeatureDefines.xcconfig:
53523
535242013-11-14  Aloisio Almeida Jr  <aloisio.almeida@openbossa.org>
53525
53526        [Cairo] Avoid extra copy when drawing images
53527        https://bugs.webkit.org/show_bug.cgi?id=124209
53528
53529        Reviewed by Martin Robinson.
53530
53531        To solve the bug #58309 a cairo subsurface is being used to limit the
53532        source image boundaries.
53533        In many cases, when a cairo subsurface is used for drawing an image,
53534        it occurs an image copy, causing performance penalty. In the case of
53535        the function PlatformContextCairo::drawSurfaceToContext, the image
53536        copy always happens.
53537        So, we should use the subsurface only when it's really necessary.
53538        In cases where we're drawing the whole image, the subsurface is
53539        unnecessary.
53540
53541        The proposed patch avoid the use of subsurfaces when sampling the whole
53542        image.
53543
53544        No new tests. It's an enhancement. Already covered by existing tests.
53545
53546        * platform/graphics/cairo/PlatformContextCairo.cpp:
53547        (WebCore::PlatformContextCairo::drawSurfaceToContext):
53548
535492013-11-14  Alexey Proskuryakov  <ap@apple.com>
53550
53551        Implement raw format for WebCrypto key export
53552        https://bugs.webkit.org/show_bug.cgi?id=124376
53553
53554        Reviewed by Anders Carlsson.
53555
53556        Tests: crypto/subtle/aes-export-key.html
53557               crypto/subtle/hmac-export-key.html
53558
53559        A CryptoKey just exports its native CryptoKeyData, which will also work nicely for
53560        JWK format soon. For spki and pkcs8, we'll need to figure out the best way to
53561        utilize platform library support for ASN.1, but we are not there yet.
53562
53563        * bindings/js/JSSubtleCryptoCustom.cpp:
53564        (WebCore::JSSubtleCrypto::exportKey):
53565        * crypto/CryptoKey.h:
53566        * crypto/SubtleCrypto.idl:
53567        * crypto/keys/CryptoKeyAES.cpp:
53568        (WebCore::CryptoKeyAES::exportData):
53569        * crypto/keys/CryptoKeyAES.h:
53570        * crypto/keys/CryptoKeyHMAC.cpp:
53571        (WebCore::CryptoKeyHMAC::exportData):
53572        * crypto/keys/CryptoKeyHMAC.h:
53573
53574        * crypto/keys/CryptoKeyRSA.h:
53575        * crypto/mac/CryptoKeyRSAMac.cpp:
53576        (WebCore::CryptoKeyRSA::exportData):
53577        Added a dummy implementation for RSA.
53578
535792013-11-14  Joseph Pecoraro  <pecoraro@apple.com>
53580
53581        Web Inspector: Simply generated domain dispatch methods for domains with few commands
53582        https://bugs.webkit.org/show_bug.cgi?id=124374
53583
53584        Reviewed by Timothy Hatcher.
53585
53586        * inspector/CodeGeneratorInspector.py:
53587        (Generator.go):
53588        (Generator.process_command):
53589        * inspector/CodeGeneratorInspectorStrings.py:
53590
535912013-11-14  Bear Travis  <betravis@adobe.com>
53592
53593        [CSS Shapes] Accept the new <box> value for shape-outside
53594        https://bugs.webkit.org/show_bug.cgi?id=124227
53595
53596        Reviewed by David Hyatt.
53597
53598        The shape-outside property can now be set to the box values [margin/border/padding/content]-box.
53599        This patch adds the parsing code required to accept the new values, and the layout code
53600        to create a rectangle shape that has the size and position of the appropriate box.
53601
53602        Tests: fast/shapes/shape-outside-floats/shape-outside-boxes-001.html
53603               fast/shapes/shape-outside-floats/shape-outside-boxes-002.html
53604               fast/shapes/shape-outside-floats/shape-outside-boxes-003.html
53605
53606        * css/CSSComputedStyleDeclaration.cpp:
53607        (WebCore::ComputedStyleExtractor::propertyValue): Output the new box values.
53608        * css/CSSParser.cpp:
53609        (WebCore::CSSParser::parseValue): Accept the new box values.
53610        * css/CSSValueKeywords.in: Add margin-box value.
53611        * css/DeprecatedStyleBuilder.cpp:
53612        (WebCore::ApplyPropertyShape::applyValue): Accept the new box values.
53613        * rendering/RenderBoxModelObject.h:
53614        (WebCore::RenderBoxModelObject::borderLogicalWidth): Added new utility methods to help
53615        with box sizing.
53616        (WebCore::RenderBoxModelObject::borderLogicalHeight): Ditto.
53617        (WebCore::RenderBoxModelObject::paddingLogicalWidth): Ditto.
53618        (WebCore::RenderBoxModelObject::paddingLogicalHeight): Ditto.
53619        * rendering/shapes/Shape.cpp:
53620        (WebCore::Shape::createShape): You can create a shape from a box's dimensions, rather
53621        than always using a BasicShape or RasterShape value.
53622        * rendering/shapes/Shape.h:
53623        * rendering/shapes/ShapeInfo.cpp:
53624        (WebCore::::computedShape): Create the appropriate shape based on the box values.
53625        * rendering/shapes/ShapeInfo.h:
53626        (WebCore::ShapeInfo::setShapeSize): Adjust for the box size when using a box value.
53627        (WebCore::ShapeInfo::logicalTopOffset): Ditto.
53628        (WebCore::ShapeInfo::logicalLeftOffset): Ditto.
53629        * rendering/shapes/ShapeInsideInfo.cpp:
53630        (WebCore::ShapeInsideInfo::isEnabledFor): Enable for the box values.
53631        * rendering/shapes/ShapeOutsideInfo.cpp:
53632        (WebCore::ShapeOutsideInfo::isEnabledFor): Disable for shape-inside.
53633        * rendering/style/ShapeValue.h:
53634        (WebCore::ShapeValue::createBoxValue): Create the appropriate shape value for a box.
53635        (WebCore::ShapeValue::box): Return the box value for this ShapeValue.
53636        (WebCore::ShapeValue::ShapeValue): Create a ShapeValue from a box value.
53637
536382013-11-14  Beth Dakin  <bdakin@apple.com>
53639
53640        Rubber-stamped by Tim Horton.
53641
53642        Post-checkin review comment! StickToViewportBounds sounds better and more accurate 
53643        than StickToWindowBounds.
53644
53645        * platform/ScrollTypes.h:
53646
536472013-11-13  Jer Noble  <jer.noble@apple.com>
53648
53649        Unreviewed build failure; update MediaPlayerPrivateAVFFoundationCF::seekToTime after r159208.
53650
53651        After r159208, seekToTime takes tolerance parameters.
53652
53653        * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
53654        (WebCore::MediaPlayerPrivateAVFoundationCF::seekToTime):
53655        (WebCore::AVFWrapper::seekToTime):
53656        * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
53657
536582013-11-14  Beth Dakin  <bdakin@apple.com>
53659
53660        Add a new mode where fixed elements don't constrain their positions during a
53661        rubber band
53662        https://bugs.webkit.org/show_bug.cgi?id=124260
53663
53664        Reviewed by Tim Horton.
53665
53666        This patch adds a new enum called ScrollBehaviorForFixedElements, which has
53667        two values, StickToDocumentBounds or StickToWindowBounds. StickToDocumentBounds 
53668        corresponds to our current behavior, where fixed elements constrain 
53669        their positions during a rubber-band so that they stay stuck to the document.
53670        The new mode, StickToWindowBounds, will cause fixed elements to always stay
53671        fixed relative to the window.
53672
53673        scrollOffsetForFixedPosition() now takes a new parameter for the fixed behavior
53674        so that it knows whether or not to constrain the position.
53675        * page/FrameView.cpp:
53676        (WebCore::FrameView::scrollOffsetForFixedPosition):
53677        
53678        Right now, just return StickToDocumentBounds and retain existing behavior.
53679        (WebCore::FrameView::scrollBehaviorForFixedElements):
53680        * page/FrameView.h:
53681
53682        The scrolling thread needs to know about the fixed element scroll behavior,
53683        so this code makes ScrollingStateScrollingNodes keep track of that 
53684        information to pass over to the scrolling thread.
53685        * page/scrolling/ScrollingStateScrollingNode.cpp:
53686        (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
53687        (WebCore::ScrollingStateScrollingNode::setScrollBehaviorForFixedElements):
53688        * page/scrolling/ScrollingStateScrollingNode.h:
53689        * page/scrolling/ScrollingTreeScrollingNode.cpp:
53690        (WebCore::ScrollingTreeScrollingNode::ScrollingTreeScrollingNode):
53691        (WebCore::ScrollingTreeScrollingNode::updateBeforeChildren):
53692        * page/scrolling/ScrollingTreeScrollingNode.h:
53693        (WebCore::ScrollingTreeScrollingNode::scrollBehaviorForFixedElements):
53694        * page/scrolling/mac/ScrollingCoordinatorMac.h:
53695        * page/scrolling/mac/ScrollingCoordinatorMac.mm:
53696        (WebCore::ScrollingCoordinatorMac::frameViewRootLayerDidChange):
53697        (WebCore::ScrollingCoordinatorMac::setScrollBehaviorForFixedElementsForNode):
53698        * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
53699        (WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):
53700        
53701        Here is the new enum.
53702        * platform/ScrollTypes.h:
53703        
53704        Another place where we only want to constrain scroll position if that is the
53705        mode we are in.
53706        * rendering/RenderLayerCompositor.cpp:
53707        (WebCore::RenderLayerCompositor::customPositionForVisibleRectComputation):
53708
537092013-11-14  Alexey Proskuryakov  <ap@apple.com>
53710
53711        [Mac] HMAC sign/verify crashes when key is empty
53712        https://bugs.webkit.org/show_bug.cgi?id=124372
53713
53714        Reviewed by Sam Weinig.
53715
53716        Test: crypto/subtle/hmac-sign-verify-empty-key.html
53717
53718        * crypto/mac/CryptoAlgorithmHMACMac.cpp: (WebCore::calculateSignature): Give it
53719        a non-null pointer then.
53720
537212013-11-14  Alexey Proskuryakov  <ap@apple.com>
53722
53723        Implement RSASSA-PKCS1-v1_5 sign/verify
53724        https://bugs.webkit.org/show_bug.cgi?id=124335
53725
53726        Build fix.
53727
53728        * crypto/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp:
53729
537302013-11-14  Samuel White  <samuel_white@apple.com>
53731
53732        AX: Calling NSAccessibilityColumnsAttribute and NSAccessibilityRowsAttribute simply to get column/row count can be very expensive.
53733        https://bugs.webkit.org/show_bug.cgi?id=124293
53734
53735        Reviewed by Chris Fleizach.
53736
53737        Added ability to get accessibility table column or row count without fetching all columns or rows.
53738
53739        Test: platform/mac/accessibility/table-column-and-row-count.html
53740
53741        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
53742        (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
53743        (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
53744
537452013-11-14  Alexey Proskuryakov  <ap@apple.com>
53746
53747        Implement RSASSA-PKCS1-v1_5 sign/verify
53748        https://bugs.webkit.org/show_bug.cgi?id=124335
53749
53750        Reviewed by Sam Weinig.
53751
53752        Test: crypto/subtle/rsassa-pkcs1-v1_5-sign-verify.html
53753
53754        * WebCore.xcodeproj/project.pbxproj: Added new files, removed Mac SHA algorithm files.
53755
53756        * crypto/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp:
53757        (WebCore::getCommonCryptoDigestAlgorithm):
53758        (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::sign):
53759        (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::verify):
53760        Implemented. These take two steps, first a digest is computed, and then it's signed.
53761
53762        * crypto/CryptoDigest.h: Added.
53763        * crypto/mac/CryptoDigestMac.cpp: Added.
53764        (WebCore::CryptoDigest::CryptoDigest):
53765        (WebCore::CryptoDigest::~CryptoDigest):
53766        (WebCore::CryptoDigest::create):
53767        (WebCore::CryptoDigest::addBytes):
53768        (WebCore::CryptoDigest::computeHash):
53769        Added a cross-platform interface and Mac implementation to compute a digest. It
53770        should be possible to use it outside WebCrypto if we need to (perhaps even merge
53771        with  WTF SHA-1 class).
53772        The Mac implementation is kind of ugly, but at least it encapsulates the ugliness.
53773
53774        * crypto/algorithms/CryptoAlgorithmSHA1.cpp: (WebCore::CryptoAlgorithmSHA1::digest):
53775        * crypto/algorithms/CryptoAlgorithmSHA224.cpp: (WebCore::CryptoAlgorithmSHA224::digest):
53776        * crypto/algorithms/CryptoAlgorithmSHA256.cpp: (WebCore::CryptoAlgorithmSHA256::digest):
53777        * crypto/algorithms/CryptoAlgorithmSHA384.cpp: (WebCore::CryptoAlgorithmSHA384::digest):
53778        * crypto/algorithms/CryptoAlgorithmSHA512.cpp: (WebCore::CryptoAlgorithmSHA512::digest):
53779        * crypto/mac/CryptoAlgorithmSHA1Mac.cpp: Removed.
53780        * crypto/mac/CryptoAlgorithmSHA224Mac.cpp: Removed.
53781        * crypto/mac/CryptoAlgorithmSHA256Mac.cpp: Removed.
53782        * crypto/mac/CryptoAlgorithmSHA384Mac.cpp: Removed.
53783        * crypto/mac/CryptoAlgorithmSHA512Mac.cpp: Removed.
53784        These are all cross-platform now.
53785
537862013-11-14  Hans Muller  <hmuller@adobe.com>
53787
53788        [CSS Shapes] Empty polygons with non-zero shape-padding cause an ASSERT crash
53789        https://bugs.webkit.org/show_bug.cgi?id=124324
53790
53791        Reviewed by Andreas Kling.
53792
53793        PolygonShape::shapePaddingBounds() and PolygonShape::shapeMarginBounds() no
53794        longer attempt to compute a new FloatPolygon when the original is empty, i.e.
53795        when it has less than three vertices.
53796
53797        Tests: fast/shapes/shape-inside/shape-inside-empty-polygon-crash.html
53798               fast/shapes/shape-outside-floats/shape-outside-floats-empty-polygon-crash.html
53799
53800        * rendering/shapes/PolygonShape.cpp:
53801        (WebCore::PolygonShape::shapePaddingBounds): Don't compute a padding FloatPolygon if the original polygon is empty.
53802        (WebCore::PolygonShape::shapeMarginBounds): Don't compute a margin FloatPolygon if the original polygon is empty.
53803
538042013-11-14  Joseph Pecoraro  <pecoraro@apple.com>
53805
53806        Web Inspector: Cleaner Backend Method Calling Code Generation
53807        https://bugs.webkit.org/show_bug.cgi?id=124333
53808
53809        Reviewed by Timothy Hatcher.
53810
53811        No change in functionality, just improved generated code.
53812
53813        * inspector/CodeGeneratorInspector.py:
53814        (Generator.process_command):
53815        * inspector/CodeGeneratorInspectorStrings.py:
53816        * inspector/InspectorBackendDispatcher.cpp:
53817        * inspector/InspectorBackendDispatcher.h:
53818
538192013-11-14  Seokju Kwon  <seokju@webkit.org>
53820
53821        Use [ImplementedAs=defaultStatus] for Window.defaultstatus
53822        https://bugs.webkit.org/show_bug.cgi?id=124334
53823
53824        Reviewed by Christophe Dumez.
53825
53826        No new tests, this is just refactoring.
53827
53828        Use [ImplementedAs=defaultStatus] for Window.defaultstatus
53829        and remove unnecessary code from DOMWindow.
53830        Because 'defaultstatus' is an alias of defaultStatus.
53831
53832        * page/DOMWindow.h:
53833        * page/DOMWindow.idl:
53834
538352013-11-14  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
53836
53837        Generate toSVGPolyline|gonElement() to replace static_cast<>
53838        https://bugs.webkit.org/show_bug.cgi?id=124341
53839
53840        Reviewed by Andreas Kling.
53841
53842        toSVGFoo() supports more plenty helper functions. So, toSVGFoo() needs
53843        to be used instead of static_cast<>.
53844
53845        Additionally, cleanup other static_cast<> as well.
53846
53847        No new tests, no behavior changes.
53848
53849        * rendering/svg/SVGPathData.cpp:
53850        (WebCore::updatePathFromEllipseElement):
53851        (WebCore::updatePathFromLineElement):
53852        (WebCore::updatePathFromPolygonElement):
53853        (WebCore::updatePathFromPolylineElement):
53854        * svg/SVGPolygonElement.h:
53855        * svg/SVGPolylineElement.h:
53856        * svg/svgtags.in: Add *generateTypeHelpers* keyword to polygon, polyline
53857
538582013-11-14  Andreas Kling  <akling@apple.com>
53859
53860        FontDescription copies should share families list, not duplicate it.
53861        <https://webkit.org/b/124338>
53862
53863        Turn FontDescription::m_families into a RefCountedArray<AtomicString>
53864        instead of a Vector<AtomicString, 1>. This allows FontDescription to
53865        share the families list between copies, instead of each object having
53866        its own Vector.
53867
53868        Also, FontDescription itself shrinks by 16 bytes.
53869
53870        Reviewed by Antti Koivisto.
53871
538722013-11-14  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
53873
53874        Introduce FILTER_TYPE_CASTS for child filter class
53875        https://bugs.webkit.org/show_bug.cgi?id=124332
53876
53877        Reviewed by Andreas Kling.
53878
53879        To use TYPE_CASTS_BASE, define FILTER_TYPE_CASTS macro. Thanks to 
53880        it, static_cast<SVGFilter*> can be replaced by toSVGFilter().
53881
53882        No new tests, no behavior changes.
53883
53884        * platform/graphics/filters/Filter.h:
53885            Add isSVGFilter() to check if casting object is SVGFilter object.
53886        (WebCore::Filter::isSVGFilter):
53887        * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
53888        (WebCore::RenderSVGResourceFilterPrimitive::determineFilterPrimitiveSubregion):
53889        * svg/graphics/filters/SVGFEImage.cpp:
53890        (WebCore::FEImage::determineAbsolutePaintRect):
53891        (WebCore::FEImage::platformApplySoftware):
53892        * svg/graphics/filters/SVGFilter.h:
53893
538942013-11-13  Victor Costan  <costan@gmail.com>
53895
53896        Blob constructor accepts a sequence (array-like object) as first arg. 
53897        https://bugs.webkit.org/show_bug.cgi?id=124175
53898
53899        Reviewed by Christophe Dumez.
53900
53901        Added test cases to fast/files/script-tests/blob-constructor.js.
53902
53903        * bindings/js/JSBlobCustom.cpp: Make the constructor work with sequences.
53904        (WebCore::JSBlobConstructor::constructJSBlob):
53905        * bindings/js/JSDOMBinding.h:
53906        (WebCore::toJSSequence): Slightly better error message when conversion fails.
53907        (WebCore::toJS): Whitespace.
53908        (WebCore::jsArray): Whitespace.
53909
539102013-11-13  Joseph Pecoraro  <pecoraro@apple.com>
53911
53912        Web Inspector: InspectorBackendDispatcher improvements
53913        https://bugs.webkit.org/show_bug.cgi?id=124330
53914
53915        Reviewed by Timothy Hatcher.
53916
53917        * inspector/InspectorBackendDispatcher.cpp:
53918        (WebCore::InspectorBackendDispatcher::sendResponse):
53919        (WebCore::InspectorBackendDispatcher::reportProtocolError):
53920        * inspector/InspectorBackendDispatcher.h:
53921        (WebCore::InspectorSupplementalBackendDispatcher::InspectorSupplementalBackendDispatcher):
53922
539232013-11-13  Joseph Pecoraro  <pecoraro@apple.com>
53924
53925        Unreviewed Windows Build Fix after r159268.
53926
53927        Missed adding InspectorBackendDispatcher.h and cpp to the Windows build.
53928
53929        * WebCore.vcxproj/WebCore.vcxproj:
53930        * WebCore.vcxproj/WebCore.vcxproj.filters:
53931
539322013-11-13  Joseph Pecoraro  <pecoraro@apple.com>
53933
53934        Web Inspector: Generate Individual InspectorBackendDispatchers, add base InspectorBackendDispatcher
53935        https://bugs.webkit.org/show_bug.cgi?id=124296
53936
53937        Reviewed by Timothy Hatcher.
53938
53939        No new tests, this is just refactoring without changing functionality.
53940        Set of changes made:
53941
53942          - Add inspector/InspectorBackendDispatcher.{h,cpp}. This used to be almost entirely
53943            written in the code generator strings file, but make it actual source files
53944            because there is nothing changing in the code. Also clean this up a bit.
53945          - Give the base dispatcher a list of domain dispatchers and a way to register.
53946          - Make InspectorBackendDispatcher::dispatch read the domain of incoming request
53947            and pass the request on to the domain dispatcher.
53948          - Create per-domain dispatcher classes named "InspectorFooBackendDispatcher"
53949          - Convert "InspectorBackendDispatcher::FooCommandHandler" interfaces to
53950            "InspectorFooBackendDispatcherHandler" interfaces.
53951          - Convert all "InspectorBackendDispatcherImpl::FooDomain_fooMethod" methods to
53952            "InspectorFooBackendDispatcher::fooMethod" methods. These can also remove their
53953            "if (!agent)" checks because that can never be the case anymore.
53954          - Remove InspectorBackendDispatcherImpl, now that there are base and domain dispatchers.
53955          - Add ASCIILiteral in many places in generated code where possible.
53956          - In all agents, create dispatchers in didCreateFrontendAndBackend and clear
53957            them in willDestroyFrontendAndBackend, right alongside frontend dispatchers.
53958
53959        * inspector/CodeGeneratorInspector.py:
53960        (DomainNameFixes.get_fixed_data.Res):
53961        (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.generate_type_builder):
53962        (Generator):
53963        (Generator.go):
53964        (Generator.process_command):
53965        (Generator.generate_send_method):
53966        * inspector/CodeGeneratorInspectorStrings.py:
53967        (void):
53968        (HashMap):
53969        (InspectorBackendDispatchers_h):
53970        * inspector/InspectorAgent.cpp:
53971        (WebCore::InspectorAgent::didCreateFrontendAndBackend):
53972        (WebCore::InspectorAgent::willDestroyFrontendAndBackend):
53973        * inspector/InspectorAgent.h:
53974        * inspector/InspectorAllInOne.cpp:
53975        * inspector/InspectorApplicationCacheAgent.cpp:
53976        (WebCore::InspectorApplicationCacheAgent::didCreateFrontendAndBackend):
53977        (WebCore::InspectorApplicationCacheAgent::willDestroyFrontendAndBackend):
53978        * inspector/InspectorApplicationCacheAgent.h:
53979        * inspector/InspectorBackendDispatcher.cpp: Added.
53980        (WebCore::InspectorBackendDispatcher::CallbackBase::CallbackBase):
53981        (WebCore::InspectorBackendDispatcher::CallbackBase::isActive):
53982        (WebCore::InspectorBackendDispatcher::CallbackBase::sendFailure):
53983        (WebCore::InspectorBackendDispatcher::CallbackBase::sendIfActive):
53984        (WebCore::InspectorBackendDispatcher::create):
53985        (WebCore::InspectorBackendDispatcher::registerDispatcherForDomain):
53986        (WebCore::InspectorBackendDispatcher::dispatch):
53987        (WebCore::InspectorBackendDispatcher::sendResponse):
53988        (WebCore::InspectorBackendDispatcher::reportProtocolError):
53989        (WebCore::InspectorBackendDispatcher::getPropertyValue):
53990        (WebCore::AsMethodBridges::asInt):
53991        (WebCore::AsMethodBridges::asDouble):
53992        (WebCore::AsMethodBridges::asString):
53993        (WebCore::AsMethodBridges::asBoolean):
53994        (WebCore::AsMethodBridges::asObject):
53995        (WebCore::AsMethodBridges::asArray):
53996        (WebCore::InspectorBackendDispatcher::getInt):
53997        (WebCore::InspectorBackendDispatcher::getDouble):
53998        (WebCore::InspectorBackendDispatcher::getString):
53999        (WebCore::InspectorBackendDispatcher::getBoolean):
54000        (WebCore::InspectorBackendDispatcher::getObject):
54001        (WebCore::InspectorBackendDispatcher::getArray):
54002        * inspector/InspectorBackendDispatcher.h: Added.
54003        (WebCore::InspectorSupplementalBackendDispatcher::InspectorSupplementalBackendDispatcher):
54004        (WebCore::InspectorSupplementalBackendDispatcher::~InspectorSupplementalBackendDispatcher):
54005        (WebCore::InspectorBackendDispatcher::~InspectorBackendDispatcher):
54006        (WebCore::InspectorBackendDispatcher::clearFrontend):
54007        (WebCore::InspectorBackendDispatcher::isActive):
54008        (WebCore::InspectorBackendDispatcher::InspectorBackendDispatcher):
54009        * inspector/InspectorCSSAgent.cpp:
54010        (WebCore::InspectorCSSAgent::didCreateFrontendAndBackend):
54011        (WebCore::InspectorCSSAgent::willDestroyFrontendAndBackend):
54012        * inspector/InspectorCSSAgent.h:
54013        * inspector/InspectorCanvasAgent.cpp:
54014        (WebCore::InspectorCanvasAgent::didCreateFrontendAndBackend):
54015        (WebCore::InspectorCanvasAgent::willDestroyFrontendAndBackend):
54016        * inspector/InspectorCanvasAgent.h:
54017        * inspector/InspectorConsoleAgent.cpp:
54018        (WebCore::InspectorConsoleAgent::didCreateFrontendAndBackend):
54019        (WebCore::InspectorConsoleAgent::willDestroyFrontendAndBackend):
54020        * inspector/InspectorConsoleAgent.h:
54021        * inspector/InspectorDOMAgent.cpp:
54022        (WebCore::InspectorDOMAgent::didCreateFrontendAndBackend):
54023        (WebCore::InspectorDOMAgent::willDestroyFrontendAndBackend):
54024        * inspector/InspectorDOMAgent.h:
54025        * inspector/InspectorDOMDebuggerAgent.cpp:
54026        (WebCore::InspectorDOMDebuggerAgent::didCreateFrontendAndBackend):
54027        (WebCore::InspectorDOMDebuggerAgent::willDestroyFrontendAndBackend):
54028        * inspector/InspectorDOMDebuggerAgent.h:
54029        * inspector/InspectorDOMStorageAgent.cpp:
54030        (WebCore::InspectorDOMStorageAgent::didCreateFrontendAndBackend):
54031        (WebCore::InspectorDOMStorageAgent::willDestroyFrontendAndBackend):
54032        * inspector/InspectorDOMStorageAgent.h:
54033        * inspector/InspectorDatabaseAgent.cpp:
54034        (WebCore::InspectorDatabaseAgent::didCreateFrontendAndBackend):
54035        (WebCore::InspectorDatabaseAgent::willDestroyFrontendAndBackend):
54036        * inspector/InspectorDatabaseAgent.h:
54037        * inspector/InspectorDebuggerAgent.cpp:
54038        (WebCore::InspectorDebuggerAgent::didCreateFrontendAndBackend):
54039        (WebCore::InspectorDebuggerAgent::willDestroyFrontendAndBackend):
54040        * inspector/InspectorDebuggerAgent.h:
54041        * inspector/InspectorHeapProfilerAgent.cpp:
54042        (WebCore::InspectorHeapProfilerAgent::didCreateFrontendAndBackend):
54043        (WebCore::InspectorHeapProfilerAgent::willDestroyFrontendAndBackend):
54044        * inspector/InspectorHeapProfilerAgent.h:
54045        * inspector/InspectorIndexedDBAgent.cpp:
54046        (WebCore::InspectorIndexedDBAgent::didCreateFrontendAndBackend):
54047        (WebCore::InspectorIndexedDBAgent::willDestroyFrontendAndBackend):
54048        * inspector/InspectorIndexedDBAgent.h:
54049        * inspector/InspectorInputAgent.cpp:
54050        (WebCore::InspectorInputAgent::didCreateFrontendAndBackend):
54051        (WebCore::InspectorInputAgent::willDestroyFrontendAndBackend):
54052        * inspector/InspectorInputAgent.h:
54053        * inspector/InspectorLayerTreeAgent.cpp:
54054        (WebCore::InspectorLayerTreeAgent::didCreateFrontendAndBackend):
54055        (WebCore::InspectorLayerTreeAgent::willDestroyFrontendAndBackend):
54056        * inspector/InspectorLayerTreeAgent.h:
54057        * inspector/InspectorMemoryAgent.cpp:
54058        (WebCore::InspectorMemoryAgent::didCreateFrontendAndBackend):
54059        (WebCore::InspectorMemoryAgent::willDestroyFrontendAndBackend):
54060        * inspector/InspectorMemoryAgent.h:
54061        * inspector/InspectorPageAgent.cpp:
54062        (WebCore::InspectorPageAgent::didCreateFrontendAndBackend):
54063        (WebCore::InspectorPageAgent::willDestroyFrontendAndBackend):
54064        (WebCore::InspectorPageAgent::getScriptExecutionStatus):
54065        * inspector/InspectorPageAgent.h:
54066        * inspector/InspectorProfilerAgent.cpp:
54067        (WebCore::InspectorProfilerAgent::didCreateFrontendAndBackend):
54068        (WebCore::InspectorProfilerAgent::willDestroyFrontendAndBackend):
54069        * inspector/InspectorProfilerAgent.h:
54070        * inspector/InspectorResourceAgent.cpp:
54071        (WebCore::InspectorResourceAgent::didCreateFrontendAndBackend):
54072        (WebCore::InspectorResourceAgent::willDestroyFrontendAndBackend):
54073        * inspector/InspectorResourceAgent.h:
54074        * inspector/InspectorRuntimeAgent.h:
54075        * inspector/InspectorTimelineAgent.cpp:
54076        (WebCore::InspectorTimelineAgent::didCreateFrontendAndBackend):
54077        (WebCore::InspectorTimelineAgent::willDestroyFrontendAndBackend):
54078        * inspector/InspectorTimelineAgent.h:
54079        * inspector/InspectorWorkerAgent.cpp:
54080        (WebCore::InspectorWorkerAgent::didCreateFrontendAndBackend):
54081        (WebCore::InspectorWorkerAgent::willDestroyFrontendAndBackend):
54082        * inspector/InspectorWorkerAgent.h:
54083        * inspector/PageRuntimeAgent.cpp:
54084        (WebCore::PageRuntimeAgent::didCreateFrontendAndBackend):
54085        (WebCore::PageRuntimeAgent::willDestroyFrontendAndBackend):
54086        * inspector/PageRuntimeAgent.h:
54087        * inspector/WorkerRuntimeAgent.cpp:
54088        (WebCore::WorkerRuntimeAgent::didCreateFrontendAndBackend):
54089        (WebCore::WorkerRuntimeAgent::willDestroyFrontendAndBackend):
54090        * inspector/WorkerRuntimeAgent.h:
54091
540922013-11-13  Andy Estes  <aestes@apple.com>
54093
54094        Use NSCalendarIdentifierGregorian instead of NSGregorianCalendar on OS X 10.9 and iOS
54095        https://bugs.webkit.org/show_bug.cgi?id=124323
54096
54097        Reviewed by Mark Rowe.
54098
54099        NSGregorianCalendar was deprecated in OS X 10.9 and iOS 7.
54100
54101        * platform/text/mac/LocaleMac.mm:
54102        (WebCore::LocaleMac::LocaleMac):
54103
541042013-11-13  Joseph Pecoraro  <pecoraro@apple.com>
54105
54106        Web Inspector: Rename InspectorBackendDispatcher.h to InspectorBackendDispatchers.h
54107        https://bugs.webkit.org/show_bug.cgi?id=124257
54108
54109        Reviewed by Timothy Hatcher.
54110
54111        Soon each domain will generate its own dispatcher, and the generic
54112        InspectorBackendDispatcher will no longer be generated, it will just
54113        live in WebCore/inspector.
54114
54115        * CMakeLists.txt:
54116        * GNUmakefile.am:
54117        * GNUmakefile.list.am:
54118        * WebCore.vcxproj/WebCore.vcxproj:
54119        * WebCore.vcxproj/WebCore.vcxproj.filters:
54120        * WebCore.xcodeproj/project.pbxproj:
54121        * inspector/CodeGeneratorInspector.py:
54122        * inspector/CodeGeneratorInspectorStrings.py:
54123        (InspectorBackendDispatchers_h):
54124        * inspector/InspectorBaseAgent.h:
54125        * inspector/InspectorController.cpp:
54126        * inspector/InspectorFrontendClientLocal.cpp:
54127        * inspector/WorkerInspectorController.cpp:
54128
541292013-11-13  Andreas Kling  <akling@apple.com>
54130
54131        Remove Document::m_savedRenderView pointer.
54132        <https://webkit.org/b/124310>
54133
54134        This pointer held a copy of m_renderView while the document was in
54135        page cache, and null while it wasn't. It was not used for anything.
54136
54137        Reviewed by Anders Carlsson.
54138
541392013-11-13  Brady Eidson  <beidson@apple.com>
54140
54141        Move setIndexKeys() to the IDBServerConnection
54142        https://bugs.webkit.org/show_bug.cgi?id=124301
54143
54144        Reviewed by Anders Carlsson.
54145
54146        This is a big step towards moving knowledge of the backing store out of the frontend.
54147
54148        * Modules/indexeddb/IDBBackingStoreInterface.h:
54149
54150        * Modules/indexeddb/IDBDatabaseBackend.cpp:
54151        (WebCore::IDBDatabaseBackend::setIndexKeys):
54152
54153        * Modules/indexeddb/IDBServerConnection.h:
54154        * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
54155        (WebCore::IDBServerConnectionLevelDB::setIndexKeys):
54156        * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
54157
54158        * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
54159        (WebCore::PutOperation::perform):
54160
54161        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
54162        (WebCore::IDBBackingStoreLevelDB::makeIndexWriters):
54163        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
54164
541652013-11-13  Joseph Pecoraro  <pecoraro@apple.com>
54166
54167        Web Inspector: Extract InspectorFrontendDispatchers from InspectorFrontend
54168        https://bugs.webkit.org/show_bug.cgi?id=124246
54169
54170        Reviewed by Timothy Hatcher.
54171
54172        No new tests, this is just refactoring without changing functionality.
54173        Set of changes made:
54174
54175          - Remove "class InspectorFrontend" that currently does nothing but hold
54176            sub-frontend dispatcher classes. Catches some stale code.
54177          - Generate individual "class InspectorFooFrontendDispatcher" classes for
54178            domains that have events. Catches some unnecessary classes.
54179          - Simplify the Base Agent interface from optional set/clearFrontend/register
54180            to required didCreateFrontendAndBackend/willDestroyFrontendAndBackend.
54181            New agents must implement this and this will be their cue to setup
54182            frontend and backend dispatchers.
54183          - Base Agent no longer needs to be templated or have an Interface class.
54184          - While we are changing subclass BaseAgent superclass calls, use ASCIILiteral
54185          - In agents with events, convert "InspectorFrontend::Foo* m_frontend" to
54186            "unique_ptr<InspectorFooFrontendDispatcher> m_frontendDispatcher" and
54187            update uses as appropriate within the classes.
54188          - In agents with events, create dispatchers in didCreateFrontendAndBackend
54189            and clear them in willDestroyFrontendAndBackend.
54190
54191        * inspector/CodeGeneratorInspector.py:
54192        (Generator):
54193        (Generator.go):
54194        (Generator.process_event):
54195        * inspector/CodeGeneratorInspectorStrings.py:
54196        (InspectorFrontendChannel):
54197        * inspector/ConsoleMessage.cpp:
54198        (WebCore::ConsoleMessage::addToFrontend):
54199        (WebCore::ConsoleMessage::updateRepeatCountInConsole):
54200        * inspector/ConsoleMessage.h:
54201        * inspector/InjectedScriptHost.h:
54202        * inspector/InspectorAgent.cpp:
54203        (WebCore::InspectorAgent::InspectorAgent):
54204        (WebCore::InspectorAgent::didCreateFrontendAndBackend):
54205        (WebCore::InspectorAgent::willDestroyFrontendAndBackend):
54206        (WebCore::InspectorAgent::enable):
54207        (WebCore::InspectorAgent::evaluateForTestInFrontend):
54208        (WebCore::InspectorAgent::inspect):
54209        * inspector/InspectorAgent.h:
54210        (WebCore::InspectorAgent::hasFrontend):
54211        * inspector/InspectorAgentRegistry.cpp:
54212        (WebCore::InspectorAgentRegistry::append):
54213        (WebCore::InspectorAgentRegistry::didCreateFrontendAndBackend):
54214        (WebCore::InspectorAgentRegistry::willDestroyFrontendAndBackend):
54215        * inspector/InspectorAgentRegistry.h:
54216        * inspector/InspectorApplicationCacheAgent.cpp:
54217        (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
54218        (WebCore::InspectorApplicationCacheAgent::didCreateFrontendAndBackend):
54219        (WebCore::InspectorApplicationCacheAgent::willDestroyFrontendAndBackend):
54220        (WebCore::InspectorApplicationCacheAgent::updateApplicationCacheStatus):
54221        (WebCore::InspectorApplicationCacheAgent::networkStateChanged):
54222        * inspector/InspectorApplicationCacheAgent.h:
54223        * inspector/InspectorBaseAgent.h:
54224        (WebCore::InspectorBaseAgent::discardAgent):
54225        (WebCore::InspectorBaseAgent::InspectorBaseAgent):
54226        * inspector/InspectorCSSAgent.cpp:
54227        (WebCore::InspectorCSSAgent::InspectorCSSAgent):
54228        (WebCore::InspectorCSSAgent::didCreateFrontendAndBackend):
54229        (WebCore::InspectorCSSAgent::willDestroyFrontendAndBackend):
54230        (WebCore::InspectorCSSAgent::mediaQueryResultChanged):
54231        (WebCore::InspectorCSSAgent::didCreateNamedFlow):
54232        (WebCore::InspectorCSSAgent::willRemoveNamedFlow):
54233        (WebCore::InspectorCSSAgent::regionLayoutUpdated):
54234        (WebCore::InspectorCSSAgent::regionOversetChanged):
54235        (WebCore::InspectorCSSAgent::didRegisterNamedFlowContentElement):
54236        (WebCore::InspectorCSSAgent::didUnregisterNamedFlowContentElement):
54237        (WebCore::InspectorCSSAgent::stopSelectorProfilerImpl):
54238        (WebCore::InspectorCSSAgent::styleSheetChanged):
54239        * inspector/InspectorCSSAgent.h:
54240        * inspector/InspectorCanvasAgent.cpp:
54241        (WebCore::InspectorCanvasAgent::InspectorCanvasAgent):
54242        (WebCore::InspectorCanvasAgent::didCreateFrontendAndBackend):
54243        (WebCore::InspectorCanvasAgent::willDestroyFrontendAndBackend):
54244        (WebCore::InspectorCanvasAgent::notifyRenderingContextWasWrapped):
54245        (WebCore::InspectorCanvasAgent::findFramesWithUninstrumentedCanvases):
54246        (WebCore::InspectorCanvasAgent::frameNavigated):
54247        * inspector/InspectorCanvasAgent.h:
54248        * inspector/InspectorConsoleAgent.cpp:
54249        (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
54250        (WebCore::InspectorConsoleAgent::enable):
54251        (WebCore::InspectorConsoleAgent::clearMessages):
54252        (WebCore::InspectorConsoleAgent::didCreateFrontendAndBackend):
54253        (WebCore::InspectorConsoleAgent::willDestroyFrontendAndBackend):
54254        (WebCore::InspectorConsoleAgent::addMessageToConsole):
54255        (WebCore::InspectorConsoleAgent::didFinishXHRLoading):
54256        (WebCore::InspectorConsoleAgent::addConsoleMessage):
54257        * inspector/InspectorConsoleAgent.h:
54258        * inspector/InspectorController.cpp:
54259        (WebCore::InspectorController::InspectorController):
54260        (WebCore::InspectorController::connectFrontend):
54261        (WebCore::InspectorController::disconnectFrontend):
54262        (WebCore::InspectorController::show):
54263        (WebCore::InspectorController::close):
54264        * inspector/InspectorController.h:
54265        (WebCore::InspectorController::hasFrontend):
54266        * inspector/InspectorDOMAgent.cpp:
54267        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
54268        (WebCore::InspectorDOMAgent::didCreateFrontendAndBackend):
54269        (WebCore::InspectorDOMAgent::willDestroyFrontendAndBackend):
54270        (WebCore::InspectorDOMAgent::setDocument):
54271        (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
54272        (WebCore::InspectorDOMAgent::pushNodePathToFrontend):
54273        (WebCore::InspectorDOMAgent::focusNode):
54274        (WebCore::InspectorDOMAgent::mainFrameDOMContentLoaded):
54275        (WebCore::InspectorDOMAgent::didCommitLoad):
54276        (WebCore::InspectorDOMAgent::didInsertDOMNode):
54277        (WebCore::InspectorDOMAgent::didRemoveDOMNode):
54278        (WebCore::InspectorDOMAgent::didModifyDOMAttr):
54279        (WebCore::InspectorDOMAgent::didRemoveDOMAttr):
54280        (WebCore::InspectorDOMAgent::styleAttributeInvalidated):
54281        (WebCore::InspectorDOMAgent::characterDataModified):
54282        (WebCore::InspectorDOMAgent::didPushShadowRoot):
54283        (WebCore::InspectorDOMAgent::willPopShadowRoot):
54284        * inspector/InspectorDOMAgent.h:
54285        * inspector/InspectorDOMDebuggerAgent.cpp:
54286        (WebCore::InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent):
54287        (WebCore::InspectorDOMDebuggerAgent::didCreateFrontendAndBackend):
54288        (WebCore::InspectorDOMDebuggerAgent::willDestroyFrontendAndBackend):
54289        (WebCore::InspectorDOMDebuggerAgent::didInvalidateStyleAttr):
54290        (WebCore::InspectorDOMDebuggerAgent::willInsertDOMNode):
54291        (WebCore::InspectorDOMDebuggerAgent::willRemoveDOMNode):
54292        (WebCore::InspectorDOMDebuggerAgent::willModifyDOMAttr):
54293        (WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
54294        (WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):
54295        * inspector/InspectorDOMDebuggerAgent.h:
54296        * inspector/InspectorDOMStorageAgent.cpp:
54297        (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
54298        (WebCore::InspectorDOMStorageAgent::didCreateFrontendAndBackend):
54299        (WebCore::InspectorDOMStorageAgent::willDestroyFrontendAndBackend):
54300        (WebCore::InspectorDOMStorageAgent::didDispatchDOMStorageEvent):
54301        * inspector/InspectorDOMStorageAgent.h:
54302        * inspector/InspectorDatabaseAgent.cpp:
54303        (WebCore::InspectorDatabaseAgent::didOpenDatabase):
54304        (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
54305        (WebCore::InspectorDatabaseAgent::didCreateFrontendAndBackend):
54306        (WebCore::InspectorDatabaseAgent::willDestroyFrontendAndBackend):
54307        (WebCore::InspectorDatabaseAgent::enable):
54308        * inspector/InspectorDatabaseAgent.h:
54309        * inspector/InspectorDatabaseResource.cpp:
54310        (WebCore::InspectorDatabaseResource::bind):
54311        * inspector/InspectorDatabaseResource.h:
54312        * inspector/InspectorDebuggerAgent.cpp:
54313        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
54314        (WebCore::InspectorDebuggerAgent::enable):
54315        (WebCore::InspectorDebuggerAgent::didCreateFrontendAndBackend):
54316        (WebCore::InspectorDebuggerAgent::willDestroyFrontendAndBackend):
54317        (WebCore::InspectorDebuggerAgent::addMessageToConsole):
54318        (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement):
54319        (WebCore::InspectorDebuggerAgent::scriptExecutionBlockedByCSP):
54320        (WebCore::InspectorDebuggerAgent::didParseSource):
54321        (WebCore::InspectorDebuggerAgent::failedToParseSource):
54322        (WebCore::InspectorDebuggerAgent::didPause):
54323        (WebCore::InspectorDebuggerAgent::didContinue):
54324        (WebCore::InspectorDebuggerAgent::breakProgram):
54325        (WebCore::InspectorDebuggerAgent::clearBreakDetails):
54326        (WebCore::InspectorDebuggerAgent::reset):
54327        * inspector/InspectorDebuggerAgent.h:
54328        * inspector/InspectorHeapProfilerAgent.cpp:
54329        (WebCore::InspectorHeapProfilerAgent::InspectorHeapProfilerAgent):
54330        (WebCore::InspectorHeapProfilerAgent::resetFrontendProfiles):
54331        (WebCore::InspectorHeapProfilerAgent::didCreateFrontendAndBackend):
54332        (WebCore::InspectorHeapProfilerAgent::willDestroyFrontendAndBackend):
54333        (WebCore::InspectorHeapProfilerAgent::getHeapSnapshot):
54334        (WebCore::InspectorHeapProfilerAgent::takeHeapSnapshot):
54335        * inspector/InspectorHeapProfilerAgent.h:
54336        * inspector/InspectorIndexedDBAgent.cpp:
54337        (WebCore::InspectorIndexedDBAgent::InspectorIndexedDBAgent):
54338        (WebCore::InspectorIndexedDBAgent::didCreateFrontendAndBackend):
54339        (WebCore::InspectorIndexedDBAgent::willDestroyFrontendAndBackend):
54340        * inspector/InspectorIndexedDBAgent.h:
54341        * inspector/InspectorInputAgent.cpp:
54342        (WebCore::InspectorInputAgent::InspectorInputAgent):
54343        (WebCore::InspectorInputAgent::didCreateFrontendAndBackend):
54344        (WebCore::InspectorInputAgent::willDestroyFrontendAndBackend):
54345        * inspector/InspectorInputAgent.h:
54346        * inspector/InspectorLayerTreeAgent.cpp:
54347        (WebCore::InspectorLayerTreeAgent::InspectorLayerTreeAgent):
54348        (WebCore::InspectorLayerTreeAgent::didCreateFrontendAndBackend):
54349        (WebCore::InspectorLayerTreeAgent::willDestroyFrontendAndBackend):
54350        (WebCore::InspectorLayerTreeAgent::layerTreeDidChange):
54351        * inspector/InspectorLayerTreeAgent.h:
54352        * inspector/InspectorMemoryAgent.cpp:
54353        (WebCore::InspectorMemoryAgent::didCreateFrontendAndBackend):
54354        (WebCore::InspectorMemoryAgent::willDestroyFrontendAndBackend):
54355        (WebCore::InspectorMemoryAgent::InspectorMemoryAgent):
54356        * inspector/InspectorMemoryAgent.h:
54357        * inspector/InspectorPageAgent.cpp:
54358        (WebCore::InspectorPageAgent::InspectorPageAgent):
54359        (WebCore::InspectorPageAgent::didCreateFrontendAndBackend):
54360        (WebCore::InspectorPageAgent::willDestroyFrontendAndBackend):
54361        (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
54362        (WebCore::InspectorPageAgent::domContentEventFired):
54363        (WebCore::InspectorPageAgent::loadEventFired):
54364        (WebCore::InspectorPageAgent::frameNavigated):
54365        (WebCore::InspectorPageAgent::frameDetached):
54366        (WebCore::InspectorPageAgent::frameStartedLoading):
54367        (WebCore::InspectorPageAgent::frameStoppedLoading):
54368        (WebCore::InspectorPageAgent::frameScheduledNavigation):
54369        (WebCore::InspectorPageAgent::frameClearedScheduledNavigation):
54370        (WebCore::InspectorPageAgent::willRunJavaScriptDialog):
54371        (WebCore::InspectorPageAgent::didRunJavaScriptDialog):
54372        (WebCore::InspectorPageAgent::scriptsEnabled):
54373        * inspector/InspectorPageAgent.h:
54374        * inspector/InspectorProfilerAgent.cpp:
54375        (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
54376        (WebCore::InspectorProfilerAgent::addProfile):
54377        (WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole):
54378        (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
54379        (WebCore::InspectorProfilerAgent::getHeapSnapshot):
54380        (WebCore::InspectorProfilerAgent::resetFrontendProfiles):
54381        (WebCore::InspectorProfilerAgent::didCreateFrontendAndBackend):
54382        (WebCore::InspectorProfilerAgent::willDestroyFrontendAndBackend):
54383        (WebCore::InspectorProfilerAgent::takeHeapSnapshot):
54384        (WebCore::InspectorProfilerAgent::toggleRecordButton):
54385        * inspector/InspectorProfilerAgent.h:
54386        * inspector/InspectorResourceAgent.cpp:
54387        (WebCore::InspectorResourceAgent::didCreateFrontendAndBackend):
54388        (WebCore::InspectorResourceAgent::willDestroyFrontendAndBackend):
54389        (WebCore::InspectorResourceAgent::willSendRequest):
54390        (WebCore::InspectorResourceAgent::markResourceAsCached):
54391        (WebCore::InspectorResourceAgent::didReceiveResponse):
54392        (WebCore::InspectorResourceAgent::didReceiveData):
54393        (WebCore::InspectorResourceAgent::didFinishLoading):
54394        (WebCore::InspectorResourceAgent::didFailLoading):
54395        (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
54396        (WebCore::InspectorResourceAgent::didCreateWebSocket):
54397        (WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
54398        (WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
54399        (WebCore::InspectorResourceAgent::didCloseWebSocket):
54400        (WebCore::InspectorResourceAgent::didReceiveWebSocketFrame):
54401        (WebCore::InspectorResourceAgent::didSendWebSocketFrame):
54402        (WebCore::InspectorResourceAgent::didReceiveWebSocketFrameError):
54403        (WebCore::InspectorResourceAgent::enable):
54404        (WebCore::InspectorResourceAgent::InspectorResourceAgent):
54405        * inspector/InspectorResourceAgent.h:
54406        * inspector/InspectorRuntimeAgent.cpp:
54407        (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
54408        * inspector/InspectorRuntimeAgent.h:
54409        * inspector/InspectorTimelineAgent.cpp:
54410        (WebCore::InspectorTimelineAgent::~InspectorTimelineAgent):
54411        (WebCore::InspectorTimelineAgent::didCreateFrontendAndBackend):
54412        (WebCore::InspectorTimelineAgent::willDestroyFrontendAndBackend):
54413        (WebCore::InspectorTimelineAgent::start):
54414        (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
54415        (WebCore::InspectorTimelineAgent::sendEvent):
54416        * inspector/InspectorTimelineAgent.h:
54417        * inspector/InspectorWorkerAgent.cpp:
54418        (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::WorkerFrontendChannel):
54419        (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::dispatchMessageFromWorker):
54420        (WebCore::InspectorWorkerAgent::InspectorWorkerAgent):
54421        (WebCore::InspectorWorkerAgent::didCreateFrontendAndBackend):
54422        (WebCore::InspectorWorkerAgent::willDestroyFrontendAndBackend):
54423        (WebCore::InspectorWorkerAgent::enable):
54424        (WebCore::InspectorWorkerAgent::disable):
54425        (WebCore::InspectorWorkerAgent::didStartWorkerGlobalScope):
54426        (WebCore::InspectorWorkerAgent::workerGlobalScopeTerminated):
54427        (WebCore::InspectorWorkerAgent::createWorkerFrontendChannel):
54428        * inspector/InspectorWorkerAgent.h:
54429        * inspector/PageRuntimeAgent.cpp:
54430        (WebCore::PageRuntimeAgent::PageRuntimeAgent):
54431        (WebCore::PageRuntimeAgent::didCreateFrontendAndBackend):
54432        (WebCore::PageRuntimeAgent::willDestroyFrontendAndBackend):
54433        (WebCore::PageRuntimeAgent::didCreateMainWorldContext):
54434        (WebCore::PageRuntimeAgent::didCreateIsolatedContext):
54435        (WebCore::PageRuntimeAgent::notifyContextCreated):
54436        * inspector/PageRuntimeAgent.h:
54437        * inspector/TimelineRecordFactory.h:
54438        * inspector/WorkerInspectorController.cpp:
54439        (WebCore::WorkerInspectorController::connectFrontend):
54440        (WebCore::WorkerInspectorController::disconnectFrontend):
54441        * inspector/WorkerInspectorController.h:
54442        (WebCore::WorkerInspectorController::hasFrontend):
54443        * inspector/WorkerRuntimeAgent.cpp:
54444        (WebCore::WorkerRuntimeAgent::didCreateFrontendAndBackend):
54445        (WebCore::WorkerRuntimeAgent::willDestroyFrontendAndBackend):
54446        * inspector/WorkerRuntimeAgent.h:
54447        * inspector/protocol/Input.json:
54448
544492013-11-13  Simon Fraser  <simon.fraser@apple.com>
54450
54451        Rename FrameView's repaintFixedElementsAfterScrolling and updateFixedElementsAfterScrolling
54452        https://bugs.webkit.org/show_bug.cgi?id=124306
54453
54454        Reviewed by Tim Horton.
54455        
54456        FrameView::repaintFixedElementsAfterScrolling() didn't do any repainting, and didn't
54457        just apply to fixed elements. Rename it to updateLayerPositionsAfterScrolling().
54458        
54459        updateFixedElementsAfterScrolling() was also confusingly named; rename it
54460        to updateCompositingLayersAfterScrolling().
54461
54462        * page/FrameView.cpp:
54463        (WebCore::FrameView::setFixedVisibleContentRect):
54464        (WebCore::FrameView::scrollPositionChangedViaPlatformWidget):
54465        (WebCore::FrameView::updateLayerPositionsAfterScrolling):
54466        (WebCore::FrameView::shouldUpdateCompositingLayersAfterScrolling):
54467        (WebCore::FrameView::updateCompositingLayersAfterScrolling):
54468        * page/FrameView.h:
54469        * platform/ScrollView.cpp:
54470        (WebCore::ScrollView::scrollTo):
54471        * platform/ScrollView.h:
54472        (WebCore::ScrollView::updateLayerPositionsAfterScrolling):
54473        (WebCore::ScrollView::updateCompositingLayersAfterScrolling):
54474
544752013-11-13  Andreas Kling  <akling@apple.com>
54476
54477        Generate casting helpers for SVGPaint and SVGColor.
54478        <https://webkit.org/b/124285>
54479
54480        Use CSS_VALUE_TYPE_CASTS to generate type casting helpers for the
54481        SVGPaint and SVGColor classes.
54482
54483        Reviewed by Anders Carlsson.
54484
544852013-11-13  Benjamin Poulain  <bpoulain@apple.com>
54486
54487        Update ResourceHandleCF to use the didReceiveBuffer() callback
54488        https://bugs.webkit.org/show_bug.cgi?id=124256
54489
54490        Reviewed by Alexey Proskuryakov.
54491
54492        Use didReceiveBuffer() instead of didReceiveData() to pass data back to
54493        the ResourceHandleClient. This unify the update code with the NSURLConnection loader.
54494
54495        * platform/network/cf/ResourceHandleCFNet.cpp:
54496        (WebCore::didReceiveData):
54497        (WebCore::ResourceHandle::handleDataArray):
54498
544992013-11-13  Joseph Pecoraro  <pecoraro@apple.com>
54500
54501        Web Inspector: Split Inspector.json into individual domain json files
54502        https://bugs.webkit.org/show_bug.cgi?id=124098
54503
54504        Reviewed by Timothy Hatcher.
54505
54506        Split the Inspector domains into their own json file. Generate a
54507        combined Inspector.json from all of the json files at build time
54508        so that the CodeGenerator is unchanged.
54509
54510        * .gitattributes:
54511        * CMakeLists.txt:
54512        * DerivedSources.make:
54513        * GNUmakefile.am:
54514        * WebCore.xcodeproj/project.pbxproj:
54515        * inspector/CodeGeneratorInspector.py:
54516        (TypeMap.__init__):
54517        * inspector/Inspector.json: Removed.
54518        * inspector/Scripts/generate-combined-inspector-json.py: Added.
54519        * inspector/protocol/ApplicationCache.json: Added.
54520        * inspector/protocol/CSS.json: Added.
54521        * inspector/protocol/Canvas.json: Added.
54522        * inspector/protocol/Console.json: Added.
54523        * inspector/protocol/DOM.json: Added.
54524        * inspector/protocol/DOMDebugger.json: Added.
54525        * inspector/protocol/DOMStorage.json: Added.
54526        * inspector/protocol/Database.json: Added.
54527        * inspector/protocol/Debugger.json: Added.
54528        * inspector/protocol/FileSystem.json: Added.
54529        * inspector/protocol/HeapProfiler.json: Added.
54530        * inspector/protocol/IndexedDB.json: Added.
54531        * inspector/protocol/Input.json: Added.
54532        * inspector/protocol/InspectorDomain.json: Added.
54533        * inspector/protocol/LayerTree.json: Added.
54534        * inspector/protocol/Memory.json: Added.
54535        * inspector/protocol/Network.json: Added.
54536        * inspector/protocol/Page.json: Added.
54537        * inspector/protocol/Profiler.json: Added.
54538        * inspector/protocol/Runtime.json: Added.
54539        * inspector/protocol/Timeline.json: Added.
54540        * inspector/protocol/Worker.json: Added.
54541
545422013-11-13  Zalan Bujtas  <zalan@apple.com>
54543
54544        Code cleanup: change FrameView::doLayoutWithFrameFlattening() to make it more explicit.
54545        https://bugs.webkit.org/show_bug.cgi?id=124238
54546
54547        Reviewed by Simon Fraser.
54548
54549        Rename doLayoutWithFrameFlattening() and change its signature so that it's inline with
54550        what it does.
54551
54552        Covered by existing tests.
54553
54554        * page/FrameView.cpp:
54555        (WebCore::FrameView::layout):
54556        (WebCore::FrameView::startLayoutAtMainFrameViewIfNeeded):
54557        * page/FrameView.h:
54558
545592013-11-13  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
54560
54561        Modifying RTCSessionDescription object construction to match the spec
54562        https://bugs.webkit.org/show_bug.cgi?id=124212
54563
54564        Reviewed by Eric Carlson.
54565
54566        According to the spec the RTCSessionDescriptionInit parameter in RTCSessionDescription constructor is optional,
54567        which must not be nullable. If the 'type' and/or 'sdp' keys are not present, the string object that stores
54568        them in the RTCSessionDescription class, must be null in those cases. Also, if an object that is not a
54569        Dictionary is passed as argument to the constructor, an exception must be raised.
54570
54571        Existing test was updated.
54572
54573        * GNUmakefile.list.am:
54574        * Modules/mediastream/RTCSessionDescription.cpp:
54575        (WebCore::RTCSessionDescription::create):
54576        * Modules/mediastream/RTCSessionDescription.idl:
54577        * UseJSC.cmake:
54578        * WebCore.vcxproj/WebCore.vcxproj:
54579        * WebCore.vcxproj/WebCore.vcxproj.filters:
54580        * WebCore.xcodeproj/project.pbxproj:
54581        * bindings/js/JSRTCSessionDescriptionCustom.cpp: Added.
54582        (WebCore::JSRTCSessionDescriptionConstructor::constructJSRTCSessionDescription):
54583
545842013-11-13  Tim Horton  <timothy_horton@apple.com>
54585
54586        Fix release build after r159224.
54587
54588        * WebCore.exp.in:
54589
545902013-11-13  Anders Carlsson  <andersca@apple.com>
54591
54592        Remove ChromeClient::paintCustomOverhangArea
54593        https://bugs.webkit.org/show_bug.cgi?id=124304
54594
54595        Reviewed by Beth Dakin.
54596
54597        This function always returns false now; get rid of it.
54598
54599        * page/Chrome.cpp:
54600        * page/ChromeClient.h:
54601        * page/FrameView.cpp:
54602        (WebCore::FrameView::paintOverhangAreas):
54603
546042013-11-09  Martin Robinson  <mrobinson@igalia.com>
54605
54606        [MathML] The double bar vertical delimiter does not stretch properly
54607        https://bugs.webkit.org/show_bug.cgi?id=123543
54608
54609        Reviewed by Chris Fleizach.
54610
54611        * rendering/mathml/RenderMathMLOperator.cpp: Add stretching support for U+2225, which
54612        is another version of the vertical bar.
54613
546142013-11-13  Simon Fraser  <simon.fraser@apple.com>
54615
54616        ASSERTION FAILED: m_repaintRect == renderer().clippedOverflowRectForRepaint(renderer().containerForRepaint()) after r135816
54617        https://bugs.webkit.org/show_bug.cgi?id=103432
54618
54619        Reviewed by Dave Hyatt.
54620
54621        RenderLayer caches repaint rects in m_repaintRect, and on updating layer
54622        positions after scrolling, asserts that the cached rect is correct. However,
54623        this assertion would sometimes fail if we were scrolling as a result of
54624        doing adjustViewSize() in the middle of layout, because we haven't updated
54625        layer positions post-layout yet.
54626        
54627        Fix by having the poorly named FrameView::repaintFixedElementsAfterScrolling()
54628        skip the layer updating if this FrameView is inside of adjusetViewSize() in
54629        layout.
54630        
54631        In order to know if we're inside view size adjusting, add a LayoutPhase
54632        member to FrameView, replacing two existing bools that track laying out state.
54633
54634        Investigative work showed that there are many, many ways to re-enter FrameView::layout(),
54635        which makes it hard (but desirable) to more assertions about state changes, but
54636        indicated that saving and restoring the state (via TemporaryChange<LayoutPhase>)
54637        was a good idea.
54638
54639        * page/FrameView.cpp:
54640        (WebCore::FrameView::FrameView):
54641        (WebCore::FrameView::reset):
54642        (WebCore::FrameView::updateCompositingLayersAfterStyleChange):
54643        (WebCore::FrameView::layout):
54644        (WebCore::FrameView::repaintFixedElementsAfterScrolling):
54645        * page/FrameView.h:
54646
546472013-11-13  Myles C. Maxfield  <mmaxfield@apple.com>
54648
54649        Delete unused TextPainter function
54650        https://bugs.webkit.org/show_bug.cgi?id=124292
54651
54652        Reviewed by Tim Horton.
54653
54654        New tests are unnecessary since there is no behavior change
54655
54656        * rendering/TextPainter.cpp:
54657        (WebCore::TextPainter::paintText):
54658        * rendering/TextPainter.h:
54659
546602013-11-13  Alexey Proskuryakov  <ap@apple.com>
54661
54662        Check WebCrypto parameter types when casting
54663        https://bugs.webkit.org/show_bug.cgi?id=124297
54664
54665        Reviewed by Sam Weinig.
54666
54667        Also changed existing toCryptoXXX functions to use TYPE_CASTS_BASE mechanism.
54668
54669        * bindings/js/JSCryptoAlgorithmDictionary.cpp:
54670        (WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey):
54671        And sure enough, there was a bug caught by the added checks.
54672
54673        * bindings/js/JSCryptoKeySerializationJWK.cpp:
54674        (WebCore::JSCryptoKeySerializationJWK::reconcileAlgorithm):
54675        * crypto/CryptoAlgorithmParameters.h:
54676        (WebCore::CryptoAlgorithmParameters::ENUM_CLASS):
54677        (WebCore::CryptoAlgorithmParameters::parametersClass):
54678        * crypto/CryptoKey.h:
54679        * crypto/CryptoKeyData.h:
54680        * crypto/CryptoKeySerialization.h:
54681        * crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:
54682        (WebCore::CryptoAlgorithmAES_CBC::generateKey):
54683        * crypto/algorithms/CryptoAlgorithmHMAC.cpp:
54684        (WebCore::CryptoAlgorithmHMAC::generateKey):
54685        (WebCore::CryptoAlgorithmHMAC::importKey):
54686        * crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:
54687        (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::importKey):
54688        (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::generateKey):
54689        * crypto/keys/CryptoKeyAES.h:
54690        * crypto/keys/CryptoKeyDataOctetSequence.h:
54691        (WebCore::isCryptoKeyDataOctetSequence):
54692        * crypto/keys/CryptoKeyDataRSAComponents.h:
54693        (WebCore::isCryptoKeyDataRSAComponents):
54694        * crypto/keys/CryptoKeyHMAC.h:
54695        * crypto/keys/CryptoKeyRSA.h:
54696        * crypto/keys/CryptoKeySerializationRaw.h:
54697        * crypto/mac/CryptoAlgorithmAES_CBCMac.cpp:
54698        (WebCore::CryptoAlgorithmAES_CBC::encrypt):
54699        (WebCore::CryptoAlgorithmAES_CBC::decrypt):
54700        * crypto/mac/CryptoAlgorithmHMACMac.cpp:
54701        (WebCore::CryptoAlgorithmHMAC::sign):
54702        (WebCore::CryptoAlgorithmHMAC::verify):
54703        * crypto/parameters/CryptoAlgorithmAesCbcParams.h:
54704        * crypto/parameters/CryptoAlgorithmAesKeyGenParams.h:
54705        * crypto/parameters/CryptoAlgorithmHmacKeyParams.h:
54706        * crypto/parameters/CryptoAlgorithmHmacParams.h:
54707        * crypto/parameters/CryptoAlgorithmRsaKeyGenParams.h:
54708        * crypto/parameters/CryptoAlgorithmRsaSsaKeyParams.h:
54709        * crypto/parameters/CryptoAlgorithmRsaSsaParams.h:
54710
547112013-11-13  Alexey Proskuryakov  <ap@apple.com>
54712
54713        crypto/subtle/rsassa-pkcs1-v1_5-import-jwk.html is failing on Maverics release bot
54714        https://bugs.webkit.org/show_bug.cgi?id=124280
54715
54716        Reviewed by Anders Carlsson.
54717
54718        * crypto/mac/CryptoKeyRSAMac.cpp: (WebCore::CryptoKeyRSA::buildAlgorithmDescription):
54719        Don't be a muppet, initialize your variables.
54720
547212013-11-12  Jer Noble  <jer.noble@apple.com>
54722
54723        Add support for HTMLMediaElement.fastSeek()
54724        https://bugs.webkit.org/show_bug.cgi?id=124262
54725
54726        Reviewed by Eric Carlson.
54727
54728        Test: media/video-fast-seek.html
54729
54730        Add the fastSeek() method to HTMLMediaElement, and use fastSeek() in
54731        the JavaScript media controls.
54732
54733        Add the new fastSeek() method:
54734        * html/HTMLMediaElement.cpp:
54735        (HTMLMediaElement::fastSeek): Call seekWithTolerance.
54736        (HTMLMediaElement::seek): Call seekWithTolerance with 0 tolerance.
54737        (HTMLMediaElement::seekWithTolerance): Renamed from seek().
54738        * html/HTMLMediaElement.h:
54739        * html/HTMLMediaElement.idl:
54740
54741        Add seekWithTolerance() to MediaPlayer:
54742        * platform/graphics/MediaPlayer.cpp:
54743        (WebCore::MediaPlayer::seekWithTolerance): Pass to MediaPlayerPrivate.
54744        * platform/graphics/MediaPlayer.h:
54745        * platform/graphics/MediaPlayerPrivate.h:
54746        (WebCore::MediaPlayerPrivateInterface::seekWithTolerance): Default implementation which
54747            calls seek().
54748        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
54749        (WebCore::MediaPlayerPrivateAVFoundation::seek): Call seekWithTolerance with 0 tolerance.
54750        (WebCore::MediaPlayerPrivateAVFoundation::seekWithTolerance): Renamed from seek().
54751        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
54752        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
54753        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
54754        (WebCore::MediaPlayerPrivateAVFoundationObjC::seekToTime): Take tolerance parameters.
54755
54756        Use the new fastSeek() method while actively scrubbing.
54757        * Modules/mediacontrols/mediaControlsApple.js:
54758        (Controller.prototype.createControls): Add mouse up and down handlers.
54759        (Controller.prototype.handleTimeUpdate): Only update the timeline when not scrubbing.
54760        (Controller.prototype.handleTimelineChange): Use fastSeek().
54761        (Controller.prototype.handleTimelineMouseDown): Start scrubbing.
54762        (Controller.prototype.handleTimelineMouseUp): Stop scrubbing.
54763
547642013-11-13  Andreas Kling  <akling@apple.com>
54765
54766        Generate casting helpers for scrolling tree classes.
54767        <https://webkit.org/b/124286>
54768
54769        Added SCROLLING_STATE_NODE_TYPE_CASTS and used it to replace the
54770        hand-written toFoo() casts for ScrollingStateNode subclasses.
54771
54772        Reviewed by Anders Carlsson.
54773
547742013-11-13  Hans Muller  <hmuller@adobe.com>
54775
54776        [CSS Shapes] Determining if a line is inside of a shape should only happen in one place
54777        https://bugs.webkit.org/show_bug.cgi?id=121708
54778
54779        Reviewed by Andreas Kling.
54780
54781        The ShapeInfo::lineOverlapsShapeBounds() methods now delegate to the Shape object. The
54782        logic for the Shape overlap test is now the same for ShapeInsideInfo and ShapeOutsideInfo.
54783
54784        No new tests, this is just a refactoring of existing code.
54785
54786        * rendering/shapes/Shape.h:
54787        (WebCore::Shape::lineOverlapsShapeMarginBounds): Apply lineOverlapsLayoutRect() to the shape-margin bounds LayoutRect.
54788        (WebCore::Shape::lineOverlapsShapePaddingBounds): Apply lineOverlapsLayoutRect() to the shape-padding bounds LayoutRect.
54789        (WebCore::Shape::lineOverlapsLayoutRect): The common code for checking if a line and a LayoutRect overlap.
54790        * rendering/shapes/ShapeInsideInfo.h: Use lineOverlapsShapePaddingBounds() for lineOverlapShapeBounds().
54791        * rendering/shapes/ShapeOutsideInfo.h: Use lineOverlapsShapeMarginBounds() for lineOverlapShapeBounds().
54792
547932013-11-13  Jochen Eisinger  <jochen@chromium.org>
54794
54795        Restrict UserGestureIndicator to main thread
54796        https://bugs.webkit.org/show_bug.cgi?id=124277
54797
54798        Reviewed by Andreas Kling.
54799
54800        Certain classes that interact with UserGestureIndicators, e.g.
54801        the DOMTimer, can also live on worker threads. Since a
54802        background thread cannot possible get a user gesture in the
54803        first place, and to avoid races, we turn a UserGestureIndicator
54804        on a background thread into a no-op.
54805
54806        * dom/UserGestureIndicator.cpp:
54807        (WebCore::UserGestureIndicator::UserGestureIndicator):
54808        (WebCore::UserGestureIndicator::~UserGestureIndicator):
54809        (WebCore::UserGestureIndicator::processingUserGesture):
54810        * dom/UserGestureIndicator.h:
54811
548122013-11-13  Antti Koivisto  <antti@apple.com>
54813
54814        Factor simple line creation loop to function
54815        https://bugs.webkit.org/show_bug.cgi?id=124279
54816
54817        Reviewed by Andreas Kling.
54818
54819        * rendering/SimpleLineLayout.cpp:
54820        (WebCore::SimpleLineLayout::Style::Style):
54821        
54822            Capture style that affects line layout to a struct.
54823
54824        (WebCore::SimpleLineLayout::textWidth):
54825        (WebCore::SimpleLineLayout::measureWord):
54826        (WebCore::SimpleLineLayout::createLineRuns):
54827        
54828            Factor the line loop here.
54829
54830        (WebCore::SimpleLineLayout::createTextRuns):
54831
548322013-11-12  Antti Koivisto  <antti@apple.com>
54833
54834        Support overflow-wrap:break-word on simple line path
54835        https://bugs.webkit.org/show_bug.cgi?id=124206
54836
54837        Reviewed by Andreas Kling.
54838
54839        Pure text documents are rendered with break-word. It is also common in discussion board type sites.
54840        
54841        This also makes many <textarea>'s rendered using the simple line path.
54842
54843        Tests: fast/forms/basic-textareas-quirks-simple-lines.html
54844               fast/forms/linebox-overflow-in-textarea-padding-simple-lines.html
54845               fast/forms/negativeLineHeight-simple-lines.html
54846               fast/forms/textAreaLineHeight-simple-lines.html
54847
54848        * rendering/RenderBlock.cpp:
54849        (WebCore::RenderBlock::updateShapeInsideInfoAfterStyleChange):
54850        (WebCore::RenderBlock::markShapeInsideDescendantsForLayout):
54851        
54852            Invalidate the cached line layout mode on shape-inside style change.
54853
54854        * rendering/SimpleLineLayout.cpp:
54855        (WebCore::SimpleLineLayout::canUseForText):
54856        (WebCore::SimpleLineLayout::canUseFor):
54857        (WebCore::SimpleLineLayout::createTextRuns):
54858
548592013-11-13  Andreas Kling  <akling@apple.com>
54860
54861        Turn some not-so-rare ElementRareData bits into Node flags.
54862        <https://webkit.org/b/124275>
54863
54864        The following 4 bits seem to be the most commonly set:
54865
54866        - childrenAffectedByHover()
54867        - childrenAffectedByFirstChildRules()
54868        - childrenAffectedByLastChildRules()
54869        - childrenAffectedByDirectAdjacentRules()
54870
54871        Turning them into Node flags means we don't have to allocate full
54872        ElementRareData object in many cases. I also took this opportunity
54873        to make Node's flag twiddling functions available to subclasses.
54874
54875        1.38 MB progression on HTML5-8266 locally.
54876
54877        Reviewed by Antti Koivisto.
54878
548792013-11-13  Tibor Meszaros  <mtibor@inf.u-szeged.hu>
54880
54881        Cleanup the build from unused parameters in WebCore
54882        https://bugs.webkit.org/show_bug.cgi?id=124199.
54883
54884        Reviewed by Csaba Osztrogonác.
54885
54886        * css/CSSCursorImageValue.cpp:
54887        (WebCore::CSSCursorImageValue::cachedOrPendingImage):
54888        * dom/Document.cpp:
54889        (WebCore::Document::scriptedAnimationControllerSetThrottled):
54890        * fileapi/ThreadableBlobRegistry.cpp:
54891        (WebCore::ThreadableBlobRegistry::registerBlobURL):
54892        * html/HTMLAnchorElement.cpp:
54893        (WebCore::shouldProhibitLinks):
54894        * html/parser/XSSAuditor.cpp:
54895        (WebCore::isSemicolonSeparatedAttribute):
54896        * inspector/InspectorConsoleInstrumentation.h:
54897        (WebCore::InspectorInstrumentation::addMessageToConsole):
54898        * loader/DocumentThreadableLoader.cpp:
54899        (WebCore::DocumentThreadableLoader::didReceiveData):
54900        (WebCore::DocumentThreadableLoader::didFail):
54901        (WebCore::DocumentThreadableLoader::preflightFailure):
54902        * loader/cache/CachedImage.cpp:
54903        (WebCore::CachedImage::imageSizeForRenderer):
54904        * page/animation/ImplicitAnimation.cpp:
54905        (WebCore::ImplicitAnimation::animate):
54906        * page/animation/KeyframeAnimation.cpp:
54907        (WebCore::KeyframeAnimation::animate):
54908        * platform/graphics/WidthIterator.cpp:
54909        (WebCore::applyFontTransforms):
54910        * rendering/RenderView.cpp:
54911        (WebCore::RenderView::setIsInWindow):
54912        * rendering/style/RenderStyle.cpp:
54913        (WebCore::RenderStyle::changeRequiresLayout):
54914        (WebCore::RenderStyle::changeRequiresLayerRepaint):
54915        (WebCore::RenderStyle::changeRequiresRecompositeLayer):
54916        * testing/Internals.cpp:
54917        (WebCore::Internals::setHeaderHeight):
54918        (WebCore::Internals::setCaptionsStyleSheetOverride):
54919
549202013-11-13  Andreas Kling  <akling@apple.com>
54921
54922        Refalize CSSCursorImageValue.
54923        <https://webkit.org/b/124272>
54924
54925        Make CSSCursorImageValue constructor return a PassRef, and have it
54926        take the image CSSValue as a PassRef (and store it internally in a
54927        Ref<CSSValue>.)
54928
54929        Had to add a Ref version of compareCSSValuePtr() to make this work.
54930
54931        Reviewed by Antti Koivisto.
54932
549332013-11-13  Andreas Kling  <akling@apple.com>
54934
54935        RenderTableSection: Cell structures don't need allocation padding.
54936        <https://webkit.org/b/124263>
54937
54938        The row structure data gets shrunk-to-fit once we get to layout,
54939        but per-row cell structures get no such luxury. Fortuntely we know
54940        ahead of time how many cells a row needs to accomodate, so we can
54941        just use Vector::resizeToFit() instead of Vector::grow().
54942
54943        1.25 MB progression on HTML5-8266 locally.
54944
54945        Reviewed by Antti Koivisto.
54946
549472013-11-13  Andreas Kling  <akling@apple.com>
54948
54949        Avoid unnecessarily padding the FontDescription families vector.
54950        <https://webkit.org/b/124267>
54951
54952        Use a bit of reserveInitialCapacity+uncheckedAppend grease to avoid
54953        jumping all the way to capacity=16 when a style has more than just
54954        a single font-family in it.
54955
54956        130 kB progression on HTML5-8266 locally.
54957
54958        Reviewed by Antti Koivisto.
54959
54960        * css/DeprecatedStyleBuilder.cpp:
54961        (WebCore::ApplyPropertyFontFamily::applyValue):
54962
549632013-11-13  Andreas Kling  <akling@apple.com>
54964
54965        Make remaining CSSPrimitiveValue constructors return PassRef.
54966        <https://webkit.org/b/124270>
54967
54968        ..and same with the corresponding CSSValuePool functions.
54969
54970        Reviewed by Antti Koivisto.
54971
549722013-11-13  Alexey Proskuryakov  <ap@apple.com>
54973
54974        Implement key generation and JWK import for RSASSA-PKCS1-v1_5
54975        https://bugs.webkit.org/show_bug.cgi?id=124236
54976
54977        Reviewed by Sam Weinig.
54978
54979        Tests: crypto/subtle/rsassa-pkcs1-v1_5-generate-key.html
54980               crypto/subtle/rsassa-pkcs1-v1_5-import-jwk.html
54981
54982        * WebCore.xcodeproj/project.pbxproj: Added new files.
54983
54984        * bindings/js/JSCryptoAlgorithmBuilder.cpp:
54985        (WebCore::JSCryptoAlgorithmBuilder::add):
54986        * bindings/js/JSCryptoAlgorithmBuilder.h:
54987        * crypto/CryptoAlgorithmDescriptionBuilder.h:
54988        Added a way to add an Uint8Array, as needed for RSA key.algorithm.publicExponent.
54989
54990        * bindings/js/JSCryptoAlgorithmDictionary.cpp:
54991        (WebCore::createAesCbcParams): Removed unneeded JSC prefixes.
54992        (WebCore::createAesKeyGenParams): Ditto.
54993        (WebCore::createHmacParams): Ditto.
54994        (WebCore::createHmacKeyParams): Ditto.
54995        (WebCore::createRsaKeyGenParams): Added. 
54996        (WebCore::createRsaSsaKeyParams): Added. WebCrypto currently doesn't specify any
54997        parameters for importKey, so the structure remains blank (unlike with JWK).
54998        (WebCore::createRsaSsaParams): Added (currently unused, will be sued for sign/verify soon).
54999        (WebCore::JSCryptoAlgorithmDictionary::createParametersForEncrypt): Removed unneeded JSC prefixes.
55000        (WebCore::JSCryptoAlgorithmDictionary::createParametersForDecrypt): Ditto.
55001        (WebCore::JSCryptoAlgorithmDictionary::createParametersForSign): Added support for RSAES_PKCS1_v1_5.
55002        (WebCore::JSCryptoAlgorithmDictionary::createParametersForVerify): Ditto.
55003        (WebCore::JSCryptoAlgorithmDictionary::createParametersForDigest): Removed unneeded JSC prefixes.
55004        (WebCore::JSCryptoAlgorithmDictionary::createParametersForGenerateKey): Ditto.
55005        (WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveKey): Ditto.
55006        (WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveBits): Ditto.
55007        (WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey): Added support for RSAES_PKCS1_v1_5.
55008        (WebCore::JSCryptoAlgorithmDictionary::createParametersForExportKey): Removed unneeded JSC prefixes.
55009        (WebCore::JSCryptoAlgorithmDictionary::createParametersForWrapKey): Ditto.
55010        (WebCore::JSCryptoAlgorithmDictionary::createParametersForUnwrapKey): Ditto.
55011
55012        * bindings/js/JSCryptoKeySerializationJWK.h:
55013        * bindings/js/JSCryptoKeySerializationJWK.cpp:
55014        (WebCore::getJSArrayFromJSON): Added.
55015        (WebCore::getBigIntegerVectorFromJSON): Added.
55016        (WebCore::createRSASSAKeyParameters): Create parameters for key import. The key
55017        will remember which algorithm it's allowed to be used with.
55018        (WebCore::JSCryptoKeySerializationJWK::reconcileAlgorithm): Added support for
55019        RS256...RS512 (tha is, RSAES_PKCS1_v1_5 with SHA-256...SHA-512).
55020        (WebCore::JSCryptoKeySerializationJWK::keyDataOctetSequence): Split out of keyData().
55021        (WebCore::JSCryptoKeySerializationJWK::keyDataRSAComponents): Added code to read
55022        RSA key components from JWK.
55023        (WebCore::JSCryptoKeySerializationJWK::keyData): Call one of the above functions.
55024
55025        * crypto/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp: Added.
55026        (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::sign):
55027        (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::verify):
55028        Placeholders.
55029
55030        * crypto/CryptoKey.h: (WebCore::CryptoKeyClass): Added RSA key class for poor man's RTTI.
55031
55032        * crypto/CryptoKeyData.h: (WebCore::CryptoKeyData::FormatRSAComponents): Added RSAComponents
55033        for poor man's RTTI.
55034
55035        * crypto/algorithms/CryptoAlgorithmAES_CBC.cpp: (WebCore::CryptoAlgorithmAES_CBC::importKey): 
55036        * crypto/algorithms/CryptoAlgorithmHMAC.cpp: (WebCore::CryptoAlgorithmHMAC::importKey):
55037        * crypto/keys/CryptoKeyAES.h:
55038        (WebCore::isCryptoKeyAES):
55039        (WebCore::toCryptoKeyAES):
55040        * crypto/keys/CryptoKeyDataOctetSequence.h:
55041        (WebCore::toCryptoKeyDataOctetSequence):
55042        * crypto/keys/CryptoKeyHMAC.h:
55043        (WebCore::isCryptoKeyHMAC):
55044        (WebCore::toCryptoKeyHMAC):
55045        * crypto/mac/CryptoAlgorithmAES_CBCMac.cpp:
55046        (WebCore::CryptoAlgorithmAES_CBC::encrypt):
55047        (WebCore::CryptoAlgorithmAES_CBC::decrypt):
55048        * crypto/mac/CryptoAlgorithmHMACMac.cpp:
55049        (WebCore::CryptoAlgorithmHMAC::sign):
55050        (WebCore::CryptoAlgorithmHMAC::verify):
55051        Switched from "as" functions to "is" and "to" ones, as that's more idiomatic.
55052
55053        * crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp: Added.
55054        * crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.h: Added.
55055        Glue code for importKey/generateKey for now.
55056
55057        * crypto/keys/CryptoKeyDataRSAComponents.cpp: Added.
55058        (WebCore::CryptoKeyDataRSAComponents::CryptoKeyDataRSAComponents):
55059        (WebCore::CryptoKeyDataRSAComponents::~CryptoKeyDataRSAComponents):
55060        * crypto/keys/CryptoKeyDataRSAComponents.h: Added.
55061        (WebCore::toCryptoKeyDataRSAComponents):
55062        Added a structure to hold RSA key components, extracted from JWK or another format.
55063
55064        * crypto/keys/CryptoKeyRSA.h: Added.
55065        * crypto/mac/CryptoKeyRSAMac.cpp: Added.
55066
55067        * crypto/mac/CryptoAlgorithmRegistryMac.cpp:
55068        (WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms):
55069        Register RSASSA_PKCS1_v1_5.
55070
55071        * crypto/parameters/CryptoAlgorithmHmacKeyParams.h: Added a constructor to make
55072        sure that hasLength is never left uninitialized, even when reading formats that
55073        don't contain a length.
55074
55075        * crypto/parameters/CryptoAlgorithmRsaKeyGenParams.h: Added.
55076        * crypto/parameters/CryptoAlgorithmRsaSsaKeyParams.h: Added.
55077        * crypto/parameters/CryptoAlgorithmRsaSsaParams.h: Added.
55078        Added parameter structures that are needed for RSASSA_PKCS1_v1_5.
55079
550802013-11-12  Alexey Proskuryakov  <ap@apple.com>
55081
55082        Disable WebCrypto on Mountain Lion
55083        https://bugs.webkit.org/show_bug.cgi?id=124261
55084
55085        Rubber-stamped by Sam Weinig.
55086
55087        * Configurations/FeatureDefines.xcconfig:
55088
550892013-11-12  Zan Dobersek  <zdobersek@igalia.com>
55090
55091        Manage XMLHttpRequestUpload, XSLImportRule, XMLErrors, XML pending callback classes through std::unique_ptr
55092        https://bugs.webkit.org/show_bug.cgi?id=124224
55093
55094        Reviewed by Anders Carlsson.
55095
55096        Use std::unique_ptr to handle objects of various XML classes that were previously managed by OwnPtr.
55097        This removes usage of OwnPtr and PassOwnPtr under Source/WebCore/xml/.
55098
55099        * xml/XMLHttpRequest.cpp:
55100        (WebCore::XMLHttpRequest::upload):
55101        * xml/XMLHttpRequest.h:
55102        * xml/XMLHttpRequestUpload.h:
55103        * xml/XSLImportRule.h:
55104        * xml/XSLStyleSheet.h:
55105        * xml/XSLStyleSheetLibxslt.cpp:
55106        (WebCore::XSLStyleSheet::loadChildSheet):
55107        * xml/parser/XMLDocumentParser.cpp:
55108        (WebCore::XMLDocumentParser::handleError):
55109        * xml/parser/XMLDocumentParser.h:
55110        * xml/parser/XMLDocumentParserLibxml2.cpp:
55111        (WebCore::PendingCallbacks::PendingCallbacks):
55112        (WebCore::PendingCallbacks::appendStartElementNSCallback):
55113        (WebCore::PendingCallbacks::appendEndElementNSCallback):
55114        (WebCore::PendingCallbacks::appendCharactersCallback):
55115        (WebCore::PendingCallbacks::appendProcessingInstructionCallback):
55116        (WebCore::PendingCallbacks::appendCDATABlockCallback):
55117        (WebCore::PendingCallbacks::appendCommentCallback):
55118        (WebCore::PendingCallbacks::appendInternalSubsetCallback):
55119        (WebCore::PendingCallbacks::appendErrorCallback):
55120        (WebCore::PendingCallbacks::callAndRemoveFirstCallback):
55121        (WebCore::XMLDocumentParser::XMLDocumentParser):
55122
551232013-11-12  Brady Eidson  <beidson@apple.com>
55124
55125        Move basic IDBBackingStoreTransaction operations to IDBServerConnection
55126        https://bugs.webkit.org/show_bug.cgi?id=124244
55127
55128        Reviewed by Tim Horton (and unofficially Anders Carlsson).
55129
55130        This patch:
55131        - Makes IDBBackingStore the owner of an IDBBackingStoreTransaction.
55132        - Adds the integer transaction ID to IDBBackingStoreTransaction for reference.
55133        - Removes IDBTransactionBackend’s reliance on IDBBackingStoreTransaction by moving
55134          necessary methods to IDBServerConnection.
55135        - Renames the IDBTransactionBackend::backingStoreTransaction() accessor to
55136          deprecatedBackingStoreTransaction to make it clear it’s on the way out.
55137
55138        * Modules/indexeddb/IDBBackingStoreInterface.h:
55139
55140        * Modules/indexeddb/IDBDatabaseBackend.cpp:
55141        (WebCore::IDBDatabaseBackend::setIndexKeys):
55142
55143        * Modules/indexeddb/IDBServerConnection.h:
55144
55145        * Modules/indexeddb/IDBTransactionBackend.cpp:
55146        (WebCore::IDBTransactionBackend::IDBTransactionBackend):
55147        (WebCore::IDBTransactionBackend::~IDBTransactionBackend):
55148        (WebCore::IDBTransactionBackend::deprecatedBackingStoreTransaction):
55149        (WebCore::IDBTransactionBackend::scheduleTask):
55150        (WebCore::IDBTransactionBackend::abort):
55151        (WebCore::IDBTransactionBackend::commit):
55152        (WebCore::IDBTransactionBackend::taskTimerFired):
55153        * Modules/indexeddb/IDBTransactionBackend.h:
55154
55155        * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
55156        (WebCore::CreateObjectStoreOperation::perform):
55157        (WebCore::CreateIndexOperation::perform):
55158        (WebCore::DeleteIndexOperation::perform):
55159        (WebCore::GetOperation::perform):
55160        (WebCore::PutOperation::perform):
55161        (WebCore::OpenCursorOperation::perform):
55162        (WebCore::CountOperation::perform):
55163        (WebCore::DeleteRangeOperation::perform):
55164        (WebCore::ClearOperation::perform):
55165        (WebCore::DeleteObjectStoreOperation::perform):
55166        (WebCore::IDBDatabaseBackend::VersionChangeOperation::perform):
55167
55168        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
55169        (WebCore::IDBBackingStoreLevelDB::makeIndexWriters):
55170        (WebCore::IDBBackingStoreLevelDB::generateKey):
55171        (WebCore::IDBBackingStoreLevelDB::updateKeyGenerator):
55172        (WebCore::IDBBackingStoreLevelDB::establishBackingStoreTransaction):
55173        (WebCore::IDBBackingStoreLevelDB::deprecatedBackingStoreTransaction):
55174        (WebCore::IDBBackingStoreLevelDB::removeBackingStoreTransaction):
55175        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
55176
55177        * Modules/indexeddb/leveldb/IDBBackingStoreTransactionLevelDB.cpp:
55178        (WebCore::IDBBackingStoreTransactionLevelDB::IDBBackingStoreTransactionLevelDB):
55179        (WebCore::IDBBackingStoreTransactionLevelDB::~IDBBackingStoreTransactionLevelDB):
55180        (WebCore::IDBBackingStoreTransactionLevelDB::resetTransaction):
55181        * Modules/indexeddb/leveldb/IDBBackingStoreTransactionLevelDB.h:
55182
55183        * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
55184        (WebCore::IDBServerConnectionLevelDB::IDBServerConnectionLevelDB):
55185        (WebCore::IDBServerConnectionLevelDB::deprecatedBackingStoreTransaction):
55186        (WebCore::IDBServerConnectionLevelDB::openTransaction):
55187        (WebCore::IDBServerConnectionLevelDB::beginTransaction):
55188        (WebCore::IDBServerConnectionLevelDB::commitTransaction):
55189        (WebCore::IDBServerConnectionLevelDB::resetTransaction):
55190        (WebCore::IDBServerConnectionLevelDB::rollbackTransaction):
55191        * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
55192
551932013-11-12  Andy Estes  <aestes@apple.com>
55194
55195        Fix the Mountain Lion build after r159171.
55196
55197        * platform/mac/HTMLConverter.mm:
55198        (_dateForString): +[NSCalendar calendarWithIdentifier:] only exists on
55199        10.9. Use -[NSCalendar initWithIdentifier:] instead.
55200
552012013-11-12  Andy Estes  <aestes@apple.com>
55202
55203        [Mac] Fix some deprecation warnings
55204        https://bugs.webkit.org/show_bug.cgi?id=124252
55205
55206        Reviewed by Mark Rowe.
55207
55208        * loader/archive/cf/LegacyWebArchive.cpp:
55209        (WebCore::LegacyWebArchive::create): Use CFPropertyListCreateWithData()
55210        instead of CFPropertyListCreateFromXMLData().
55211        (WebCore::LegacyWebArchive::rawDataRepresentation): Use
55212        CFPropertyListWrite() instead of CFPropertyListWriteToStream().
55213        * platform/mac/HTMLConverter.mm:
55214        (_dateForString): Rewrite this method in terms of NSDateComponents and
55215        NSCalendar instead of using CFGregorianDate.
55216
552172013-11-12  Commit Queue  <commit-queue@webkit.org>
55218
55219        Unreviewed, rolling out r159160, r159161, and r159164.
55220        http://trac.webkit.org/changeset/159160
55221        http://trac.webkit.org/changeset/159161
55222        http://trac.webkit.org/changeset/159164
55223        https://bugs.webkit.org/show_bug.cgi?id=124253
55224
55225        Too many errors (make fewer) (Requested by ap on #webkit).
55226
55227        * WebCore.xcodeproj/project.pbxproj:
55228        * bindings/js/JSCryptoAlgorithmBuilder.cpp:
55229        * bindings/js/JSCryptoAlgorithmBuilder.h:
55230        * bindings/js/JSCryptoAlgorithmDictionary.cpp:
55231        (WebCore::createAesCbcParams):
55232        (WebCore::createAesKeyGenParams):
55233        (WebCore::createHmacParams):
55234        (WebCore::createHmacKeyParams):
55235        (WebCore::JSCryptoAlgorithmDictionary::createParametersForEncrypt):
55236        (WebCore::JSCryptoAlgorithmDictionary::createParametersForDecrypt):
55237        (WebCore::JSCryptoAlgorithmDictionary::createParametersForSign):
55238        (WebCore::JSCryptoAlgorithmDictionary::createParametersForVerify):
55239        (WebCore::JSCryptoAlgorithmDictionary::createParametersForDigest):
55240        (WebCore::JSCryptoAlgorithmDictionary::createParametersForGenerateKey):
55241        (WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveKey):
55242        (WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveBits):
55243        (WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey):
55244        (WebCore::JSCryptoAlgorithmDictionary::createParametersForExportKey):
55245        (WebCore::JSCryptoAlgorithmDictionary::createParametersForWrapKey):
55246        (WebCore::JSCryptoAlgorithmDictionary::createParametersForUnwrapKey):
55247        * bindings/js/JSCryptoKeySerializationJWK.cpp:
55248        (WebCore::JSCryptoKeySerializationJWK::reconcileAlgorithm):
55249        (WebCore::JSCryptoKeySerializationJWK::keyData):
55250        * bindings/js/JSCryptoKeySerializationJWK.h:
55251        * crypto/CryptoAlgorithmDescriptionBuilder.h:
55252        * crypto/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp: Removed.
55253        * crypto/CryptoKey.h:
55254        (WebCore::ENUM_CLASS):
55255        * crypto/CryptoKeyData.h:
55256        (WebCore::CryptoKeyData::ENUM_CLASS):
55257        * crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:
55258        (WebCore::CryptoAlgorithmAES_CBC::importKey):
55259        * crypto/algorithms/CryptoAlgorithmHMAC.cpp:
55260        (WebCore::CryptoAlgorithmHMAC::importKey):
55261        * crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp: Removed.
55262        * crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.h: Removed.
55263        * crypto/keys/CryptoKeyAES.h:
55264        (WebCore::asCryptoKeyAES):
55265        * crypto/keys/CryptoKeyDataOctetSequence.h:
55266        (WebCore::asCryptoKeyDataOctetSequence):
55267        * crypto/keys/CryptoKeyDataRSAComponents.cpp: Removed.
55268        * crypto/keys/CryptoKeyDataRSAComponents.h: Removed.
55269        * crypto/keys/CryptoKeyHMAC.h:
55270        (WebCore::asCryptoKeyHMAC):
55271        * crypto/keys/CryptoKeyRSA.h: Removed.
55272        * crypto/mac/CryptoAlgorithmAES_CBCMac.cpp:
55273        (WebCore::CryptoAlgorithmAES_CBC::encrypt):
55274        (WebCore::CryptoAlgorithmAES_CBC::decrypt):
55275        * crypto/mac/CryptoAlgorithmHMACMac.cpp:
55276        (WebCore::CryptoAlgorithmHMAC::sign):
55277        (WebCore::CryptoAlgorithmHMAC::verify):
55278        * crypto/mac/CryptoAlgorithmRegistryMac.cpp:
55279        (WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms):
55280        * crypto/mac/CryptoKeyRSAMac.cpp: Removed.
55281        * crypto/parameters/CryptoAlgorithmHmacKeyParams.h:
55282        * crypto/parameters/CryptoAlgorithmRsaKeyGenParams.h: Removed.
55283        * crypto/parameters/CryptoAlgorithmRsaSsaKeyParams.h: Removed.
55284        * crypto/parameters/CryptoAlgorithmRsaSsaParams.h: Removed.
55285
552862013-11-12  Bem Jones-Bey  <bjonesbe@adobe.com>
55287
55288        Make the placed floats tree use LayoutUnit instead of int
55289        https://bugs.webkit.org/show_bug.cgi?id=124207
55290
55291        Reviewed by Alexandru Chiculita.
55292
55293        The dimensions of floats are in LayoutUnits, so it doesn't make sense
55294        to be converting to ints for use in the placed floats tree.
55295
55296        Also add missed "explicit" to single argument FloatingObjects
55297        constructor.
55298
55299        No new tests, no behavior change.
55300
55301        * rendering/FloatingObjects.cpp:
55302        (WebCore::rangesIntersect):
55303        (WebCore::ComputeFloatOffsetAdapter::ComputeFloatOffsetAdapter):
55304        (WebCore::ComputeFloatOffsetAdapter::lowValue):
55305        (WebCore::ComputeFloatOffsetAdapter::highValue):
55306        (WebCore::FindNextFloatLogicalBottomAdapter::FindNextFloatLogicalBottomAdapter):
55307        (WebCore::FindNextFloatLogicalBottomAdapter::lowValue):
55308        (WebCore::FindNextFloatLogicalBottomAdapter::highValue):
55309        * rendering/FloatingObjects.h:
55310        * rendering/RenderFlowThread.h:
55311
553122013-11-12  Alexey Proskuryakov  <ap@apple.com>
55313
55314        Implement key generation and JWK import for RSASSA-PKCS1-v1_5
55315        https://bugs.webkit.org/show_bug.cgi?id=124236
55316
55317        Build fix.
55318
55319        * crypto/mac/CryptoKeyRSAMac.cpp: (WebCore::CryptoKeyRSA::buildAlgorithmDescription):
55320        ifdef out some code on Mountain Lion. Bug 124249 track fixing this.
55321
553222013-11-12  Joseph Pecoraro  <pecoraro@apple.com>
55323
55324        Web Inspector: Extract InspectorAgentRegistry from InspectorBaseAgent
55325        https://bugs.webkit.org/show_bug.cgi?id=124190
55326
55327        Reviewed by Timothy Hatcher.
55328
55329        * CMakeLists.txt:
55330        * GNUmakefile.list.am:
55331        * WebCore.vcxproj/WebCore.vcxproj:
55332        * WebCore.vcxproj/WebCore.vcxproj.filters:
55333        * WebCore.xcodeproj/project.pbxproj:
55334        * inspector/InspectorAgentRegistry.cpp: Added.
55335        (WebCore::InspectorAgentRegistry::append):
55336        (WebCore::InspectorAgentRegistry::setFrontend):
55337        (WebCore::InspectorAgentRegistry::clearFrontend):
55338        (WebCore::InspectorAgentRegistry::registerInDispatcher):
55339        (WebCore::InspectorAgentRegistry::discardAgents):
55340        * inspector/InspectorAgentRegistry.h: Added.
55341        * inspector/InspectorAllInOne.cpp:
55342        * inspector/InspectorBaseAgent.cpp: Removed.
55343        * inspector/InspectorBaseAgent.h:
55344        (WebCore::InspectorBaseAgentInterface::InspectorBaseAgentInterface):
55345        (WebCore::InspectorBaseAgentInterface::~InspectorBaseAgentInterface):
55346        * inspector/InspectorController.h:
55347        * inspector/InspectorMemoryAgent.h:
55348        * inspector/WorkerInspectorController.h:
55349
553502013-11-12  Alexey Proskuryakov  <ap@apple.com>
55351
55352        Implement key generation and JWK import for RSASSA-PKCS1-v1_5
55353        https://bugs.webkit.org/show_bug.cgi?id=124236
55354
55355        Release build fix.
55356
55357        * bindings/js/JSCryptoAlgorithmBuilder.cpp: Include TypedArrayInlines.h
55358
553592013-11-12  Alexey Proskuryakov  <ap@apple.com>
55360
55361        Implement key generation and JWK import for RSASSA-PKCS1-v1_5
55362        https://bugs.webkit.org/show_bug.cgi?id=124236
55363
55364        Reviewed by Sam Weinig.
55365
55366        Tests: crypto/subtle/rsassa-pkcs1-v1_5-generate-key.html
55367               crypto/subtle/rsassa-pkcs1-v1_5-import-jwk.html
55368
55369        * WebCore.xcodeproj/project.pbxproj: Added new files.
55370
55371        * bindings/js/JSCryptoAlgorithmBuilder.cpp:
55372        (WebCore::JSCryptoAlgorithmBuilder::add):
55373        * bindings/js/JSCryptoAlgorithmBuilder.h:
55374        * crypto/CryptoAlgorithmDescriptionBuilder.h:
55375        Added a way to add an Uint8Array, as needed for RSA key.algorithm.publicExponent.
55376
55377        * bindings/js/JSCryptoAlgorithmDictionary.cpp:
55378        (WebCore::createAesCbcParams): Removed unneeded JSC prefixes.
55379        (WebCore::createAesKeyGenParams): Ditto.
55380        (WebCore::createHmacParams): Ditto.
55381        (WebCore::createHmacKeyParams): Ditto.
55382        (WebCore::createRsaKeyGenParams): Added. 
55383        (WebCore::createRsaSsaKeyParams): Added. WebCrypto currently doesn't specify any
55384        parameters for importKey, so the structure remains blank (unlike with JWK).
55385        (WebCore::createRsaSsaParams): Added (currently unused, will be sued for sign/verify soon).
55386        (WebCore::JSCryptoAlgorithmDictionary::createParametersForEncrypt): Removed unneeded JSC prefixes.
55387        (WebCore::JSCryptoAlgorithmDictionary::createParametersForDecrypt): Ditto.
55388        (WebCore::JSCryptoAlgorithmDictionary::createParametersForSign): Added support for RSAES_PKCS1_v1_5.
55389        (WebCore::JSCryptoAlgorithmDictionary::createParametersForVerify): Ditto.
55390        (WebCore::JSCryptoAlgorithmDictionary::createParametersForDigest): Removed unneeded JSC prefixes.
55391        (WebCore::JSCryptoAlgorithmDictionary::createParametersForGenerateKey): Ditto.
55392        (WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveKey): Ditto.
55393        (WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveBits): Ditto.
55394        (WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey): Added support for RSAES_PKCS1_v1_5.
55395        (WebCore::JSCryptoAlgorithmDictionary::createParametersForExportKey): Removed unneeded JSC prefixes.
55396        (WebCore::JSCryptoAlgorithmDictionary::createParametersForWrapKey): Ditto.
55397        (WebCore::JSCryptoAlgorithmDictionary::createParametersForUnwrapKey): Ditto.
55398
55399        * bindings/js/JSCryptoKeySerializationJWK.h:
55400        * bindings/js/JSCryptoKeySerializationJWK.cpp:
55401        (WebCore::getJSArrayFromJSON): Added.
55402        (WebCore::getBigIntegerVectorFromJSON): Added.
55403        (WebCore::createRSASSAKeyParameters): Create parameters for key import. The key
55404        will remember which algorithm it's allowed to be used with.
55405        (WebCore::JSCryptoKeySerializationJWK::reconcileAlgorithm): Added support for
55406        RS256...RS512 (tha is, RSAES_PKCS1_v1_5 with SHA-256...SHA-512).
55407        (WebCore::JSCryptoKeySerializationJWK::keyDataOctetSequence): Split out of keyData().
55408        (WebCore::JSCryptoKeySerializationJWK::keyDataRSAComponents): Added code to read
55409        RSA key components from JWK.
55410        (WebCore::JSCryptoKeySerializationJWK::keyData): Call one of the above functions.
55411
55412        * crypto/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp: Added.
55413        (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::sign):
55414        (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::verify):
55415        Placeholders.
55416
55417        * crypto/CryptoKey.h: (WebCore::CryptoKeyClass): Added RSA key class for poor man's RTTI.
55418
55419        * crypto/CryptoKeyData.h: (WebCore::CryptoKeyData::FormatRSAComponents): Added RSAComponents
55420        for poor man's RTTI.
55421
55422        * crypto/algorithms/CryptoAlgorithmAES_CBC.cpp: (WebCore::CryptoAlgorithmAES_CBC::importKey): 
55423        * crypto/algorithms/CryptoAlgorithmHMAC.cpp: (WebCore::CryptoAlgorithmHMAC::importKey):
55424        * crypto/keys/CryptoKeyAES.h:
55425        (WebCore::isCryptoKeyAES):
55426        (WebCore::toCryptoKeyAES):
55427        * crypto/keys/CryptoKeyDataOctetSequence.h:
55428        (WebCore::toCryptoKeyDataOctetSequence):
55429        * crypto/keys/CryptoKeyHMAC.h:
55430        (WebCore::isCryptoKeyHMAC):
55431        (WebCore::toCryptoKeyHMAC):
55432        * crypto/mac/CryptoAlgorithmAES_CBCMac.cpp:
55433        (WebCore::CryptoAlgorithmAES_CBC::encrypt):
55434        (WebCore::CryptoAlgorithmAES_CBC::decrypt):
55435        * crypto/mac/CryptoAlgorithmHMACMac.cpp:
55436        (WebCore::CryptoAlgorithmHMAC::sign):
55437        (WebCore::CryptoAlgorithmHMAC::verify):
55438        Switched from "as" functions to "is" and "to" ones, as that's more idiomatic.
55439
55440        * crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp: Added.
55441        * crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.h: Added.
55442        Glue code for importKey/generateKey for now.
55443
55444        * crypto/keys/CryptoKeyDataRSAComponents.cpp: Added.
55445        (WebCore::CryptoKeyDataRSAComponents::CryptoKeyDataRSAComponents):
55446        (WebCore::CryptoKeyDataRSAComponents::~CryptoKeyDataRSAComponents):
55447        * crypto/keys/CryptoKeyDataRSAComponents.h: Added.
55448        (WebCore::toCryptoKeyDataRSAComponents):
55449        Added a structure to hold RSA key components, extracted from JWK or another format.
55450
55451        * crypto/keys/CryptoKeyRSA.h: Added.
55452        * crypto/mac/CryptoKeyRSAMac.cpp: Added.
55453
55454        * crypto/mac/CryptoAlgorithmRegistryMac.cpp:
55455        (WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms):
55456        Register RSASSA_PKCS1_v1_5.
55457
55458        * crypto/parameters/CryptoAlgorithmHmacKeyParams.h: Added a constructor to make
55459        sure that hasLength is never left uninitialized, even when reading formats that
55460        don't contain a length.
55461
55462        * crypto/parameters/CryptoAlgorithmRsaKeyGenParams.h: Added.
55463        * crypto/parameters/CryptoAlgorithmRsaSsaKeyParams.h: Added.
55464        * crypto/parameters/CryptoAlgorithmRsaSsaParams.h: Added.
55465        Added parameter structures that are needed for RSASSA_PKCS1_v1_5.
55466
554672013-11-12  Bem Jones-Bey  <bjonesbe@adobe.com>
55468
55469        Move ValueToString out to its own header file to remove duplication
55470        https://bugs.webkit.org/show_bug.cgi?id=124237
55471
55472        Reviewed by Alexandru Chiculita.
55473
55474        The ValueToString struct is used in many places for debugging. Move it
55475        out to its own header file to remove all the duplicated definitions
55476        and make it possible for the specializations to be placed in the
55477        header files with the implementation of the classes they print.
55478
55479        No new tests, no behavior change.
55480
55481        * GNUmakefile.list.am:
55482        * WebCore.xcodeproj/project.pbxproj:
55483        * html/HTMLMediaElement.h:
55484        * platform/LayoutUnit.h:
55485        * platform/PODInterval.h:
55486        * platform/PODIntervalTree.h:
55487        * platform/PODRedBlackTree.h:
55488        * platform/ValueToString.h: Added.
55489        * platform/graphics/FloatPolygon.h:
55490        * rendering/FloatingObjects.cpp:
55491        * rendering/FloatingObjects.h:
55492        * rendering/RenderBlock.h:
55493        * rendering/RenderBlockFlow.h:
55494        * rendering/RenderFlowThread.h:
55495
554962013-11-11  David Hyatt  <hyatt@apple.com>
55497
55498        Make RenderBlockRareData be in a hashtable instead of being a member variable.
55499        https://bugs.webkit.org/show_bug.cgi?id=124056
55500
55501        Reviewed by Anders Carlsson.
55502
55503        Right now RenderBlock has 4 bytes taken up by a m_rareData member that is almost
55504        never allocated. This is better off in a separate hash, so that RenderBlock can
55505        get 4 bytes back.
55506        
55507        Since RenderBlockFlow's rare data member was recently removed and folded into
55508        RenderBlock, we need to undo that change and put the rare data member back in
55509        RenderBlockFlow. RenderBlockFlowRareData inheriting from RenderBlockRareData
55510        was not a good idea anyway, since RenderBlockFlows also very rarely need the
55511        RenderBlockRareData members, and were thus paying a heavier cost when the rare
55512        data was created than was necessary.
55513 
55514        * rendering/RenderBlock.cpp:
55515        (WebCore::RenderBlockRareData::RenderBlockRareData):
55516        (WebCore::RenderBlock::~RenderBlock):
55517        (WebCore::RenderBlock::hasRareData):
55518        (WebCore::getRareData):
55519        (WebCore::ensureRareData):
55520        (WebCore::RenderBlock::ensureShapeInsideInfo):
55521        (WebCore::RenderBlock::shapeInsideInfo):
55522        (WebCore::RenderBlock::setShapeInsideInfo):
55523        (WebCore::RenderBlock::paginationStrut):
55524        (WebCore::RenderBlock::pageLogicalOffset):
55525        (WebCore::RenderBlock::setPaginationStrut):
55526        (WebCore::RenderBlock::setPageLogicalOffset):
55527        * rendering/RenderBlock.h:
55528        * rendering/RenderBlockFlow.cpp:
55529        (WebCore::RenderBlockFlow::setMaxMarginBeforeValues):
55530        (WebCore::RenderBlockFlow::setMaxMarginAfterValues):
55531        (WebCore::RenderBlockFlow::setMustDiscardMarginBefore):
55532        (WebCore::RenderBlockFlow::setMustDiscardMarginAfter):
55533        (WebCore::RenderBlockFlow::mustDiscardMarginBefore):
55534        (WebCore::RenderBlockFlow::mustDiscardMarginAfter):
55535        (WebCore::RenderBlockFlow::setBreakAtLineToAvoidWidow):
55536        (WebCore::RenderBlockFlow::setDidBreakAtLineToAvoidWidow):
55537        (WebCore::RenderBlockFlow::clearDidBreakAtLineToAvoidWidow):
55538        (WebCore::RenderBlockFlow::clearShouldBreakAtLineToAvoidWidow):
55539        (WebCore::RenderBlockFlow::setRenderNamedFlowFragment):
55540        (WebCore::RenderBlockFlow::ensureRareBlockFlowData):
55541        (WebCore::RenderBlockFlow::materializeRareBlockFlowData):
55542        * rendering/RenderBlockFlow.h:
55543        (WebCore::RenderBlockFlow::shouldBreakAtLineToAvoidWidow):
55544        (WebCore::RenderBlockFlow::lineBreakToAvoidWidow):
55545        (WebCore::RenderBlockFlow::didBreakAtLineToAvoidWidow):
55546        (WebCore::RenderBlockFlow::lineGridBox):
55547        (WebCore::RenderBlockFlow::setLineGridBox):
55548        (WebCore::RenderBlockFlow::renderNamedFlowFragment):
55549        (WebCore::RenderBlockFlow::maxPositiveMarginBefore):
55550        (WebCore::RenderBlockFlow::maxNegativeMarginBefore):
55551        (WebCore::RenderBlockFlow::maxPositiveMarginAfter):
55552        (WebCore::RenderBlockFlow::maxNegativeMarginAfter):
55553        (WebCore::RenderBlockFlow::initMaxMarginValues):
55554        (WebCore::RenderBlockFlow::hasRareBlockFlowData):
55555        (WebCore::RenderBlockFlow::rareBlockFlowData):
55556
555572013-11-12  Alex Christensen  <achristensen@webkit.org>
55558
55559        Build GStreamer files on Windows.
55560        https://bugs.webkit.org/show_bug.cgi?id=124180
55561
55562        Reviewed by Brent Fulgham.
55563
55564        * WebCore.vcxproj/WebCore.vcxproj:
55565        * WebCore.vcxproj/WebCore.vcxproj.filters:
55566        * WebCore.vcxproj/copyForwardingHeaders.cmd:
55567        Include gstreamer files in WinCairo build.
55568
555692013-11-12  Brady Eidson  <beidson@apple.com>
55570
55571        Introduce IDBServerConnection (and start moving things to it).
55572        https://bugs.webkit.org/show_bug.cgi?id=124193
55573
55574        Reviewed by Alexey Proskuryakov.
55575
55576        IDBServerConnection will be a purely asynchronous interface for database connections, transactions, and cursors.
55577        Its interface will be 100% asynchronous and callback based - Perfect for an IPC divide.
55578        Eventually none of the IDB<Foo>Backend classes will need IDBBackingStore<Foo> classes at all, 
55579        and they’ll all use IDBServerConnection directly.
55580
55581        * CMakeLists.txt:
55582        * GNUmakefile.list.am:
55583        * WebCore.xcodeproj/project.pbxproj:
55584
55585        * Modules/indexeddb/IDBServerConnection.h: Added.
55586        (WebCore::IDBServerConnection::~IDBServerConnection):
55587
55588        Concrete implementation that - for now - wraps an IDBBackingStoreLevelDB:
55589        * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp: Added.
55590        (WebCore::IDBServerConnectionLevelDB::IDBServerConnectionLevelDB):
55591        (WebCore::IDBServerConnectionLevelDB::deprecatedBackingStore):
55592        (WebCore::IDBServerConnectionLevelDB::isClosed):
55593        (WebCore::IDBServerConnectionLevelDB::getOrEstablishIDBDatabaseMetadata):
55594        (WebCore::IDBServerConnectionLevelDB::deleteDatabase):
55595        (WebCore::IDBServerConnectionLevelDB::close):
55596        * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h: Added.
55597
55598        LevelDB created databases get LevelDB server connections:
55599        * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
55600        (WebCore::IDBFactoryBackendLevelDB::deleteDatabase):
55601        (WebCore::IDBFactoryBackendLevelDB::open):
55602
55603        Replace most uses of IDBBackingStore with server connection:
55604        * Modules/indexeddb/IDBDatabaseBackend.cpp:
55605        (WebCore::IDBDatabaseBackend::create):
55606        (WebCore::IDBDatabaseBackend::IDBDatabaseBackend):
55607        (WebCore::IDBDatabaseBackend::openInternalAsync):
55608        (WebCore::IDBDatabaseBackend::setIndexKeys):
55609        (WebCore::IDBDatabaseBackend::openConnectionInternal):
55610        (WebCore::IDBDatabaseBackend::deleteDatabaseAsync):
55611        (WebCore::IDBDatabaseBackend::close):
55612        * Modules/indexeddb/IDBDatabaseBackend.h:
55613        (WebCore::IDBDatabaseBackend::serverConnection):
55614
55615        Change all the operations to access their DatabaseBackend’s server connection instead
55616        if hanging on to a backing store directly:
55617        * Modules/indexeddb/IDBTransactionBackend.cpp:
55618        (WebCore::IDBTransactionBackend::IDBTransactionBackend):
55619        (WebCore::IDBTransactionBackend::scheduleCreateObjectStoreOperation):
55620        (WebCore::IDBTransactionBackend::scheduleDeleteObjectStoreOperation):
55621        (WebCore::IDBTransactionBackend::scheduleCreateIndexOperation):
55622        (WebCore::IDBTransactionBackend::scheduleDeleteIndexOperation):
55623        (WebCore::IDBTransactionBackend::scheduleGetOperation):
55624        (WebCore::IDBTransactionBackend::schedulePutOperation):
55625        (WebCore::IDBTransactionBackend::scheduleOpenCursorOperation):
55626        (WebCore::IDBTransactionBackend::scheduleCountOperation):
55627        (WebCore::IDBTransactionBackend::scheduleDeleteRangeOperation):
55628        (WebCore::IDBTransactionBackend::scheduleClearOperation):
55629        * Modules/indexeddb/IDBTransactionBackend.h:
55630
55631        * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
55632        (WebCore::CreateObjectStoreOperation::perform):
55633        (WebCore::CreateIndexOperation::perform):
55634        (WebCore::DeleteIndexOperation::perform):
55635        (WebCore::GetOperation::perform):
55636        (WebCore::PutOperation::perform):
55637        (WebCore::OpenCursorOperation::perform):
55638        (WebCore::CountOperation::perform):
55639        (WebCore::DeleteRangeOperation::perform):
55640        (WebCore::ClearOperation::perform):
55641        (WebCore::DeleteObjectStoreOperation::perform):
55642        (WebCore::IDBDatabaseBackend::VersionChangeOperation::perform):
55643        * Modules/indexeddb/IDBTransactionBackendOperations.h:
55644        (WebCore::CreateObjectStoreOperation::create):
55645        (WebCore::CreateObjectStoreOperation::CreateObjectStoreOperation):
55646        (WebCore::DeleteObjectStoreOperation::create):
55647        (WebCore::DeleteObjectStoreOperation::DeleteObjectStoreOperation):
55648        (WebCore::CreateIndexOperation::create):
55649        (WebCore::CreateIndexOperation::CreateIndexOperation):
55650        (WebCore::DeleteIndexOperation::create):
55651        (WebCore::DeleteIndexOperation::DeleteIndexOperation):
55652        (WebCore::GetOperation::create):
55653        (WebCore::GetOperation::GetOperation):
55654        (WebCore::PutOperation::create):
55655        (WebCore::PutOperation::PutOperation):
55656        (WebCore::OpenCursorOperation::create):
55657        (WebCore::OpenCursorOperation::OpenCursorOperation):
55658        (WebCore::CountOperation::create):
55659        (WebCore::CountOperation::CountOperation):
55660        (WebCore::DeleteRangeOperation::create):
55661        (WebCore::DeleteRangeOperation::DeleteRangeOperation):
55662        (WebCore::ClearOperation::create):
55663        (WebCore::ClearOperation::ClearOperation):
55664        * Modules/indexeddb/IDBTransactionCoordinator.h:
55665
556662013-11-12  Brent Fulgham  <bfulgham@apple.com>
55667
55668        [Win] Unreviewed gardening.
55669
55670        * WebCore.vcxproj/WebCore.vcxproj.filters: Correct filter file so that source
55671        files show up in their proper directories in Visual Studio.
55672
556732013-11-12  Alex Christensen  <achristensen@webkit.org>
55674
55675        [WinCairo] Preparation for ENABLE(VIDEO).
55676        https://bugs.webkit.org/show_bug.cgi?id=57420
55677
55678        Reviewed by Martin Robinson.
55679
55680        * platform/FileSystem.h:
55681        * platform/graphics/MediaPlayer.cpp:
55682        * rendering/RenderMediaControls.cpp:
55683        * rendering/RenderThemeWin.cpp:
55684        (WebCore::RenderThemeWin::adjustSliderThumbSize):
55685        Separated CG code from GStreamer code.
55686
556872013-11-12  Tibor Meszaros  <mtibor@inf.u-szeged.hu>
55688
55689        Fix reported build warnings for GTK
55690        https://bugs.webkit.org/show_bug.cgi?id=123439
55691
55692        Reviewed by Carlos Garcia Campos.
55693
55694        There was a void method, that has return value in it's documentation, so I removed it.
55695
55696        * bindings/gobject/WebKitDOMCustom.h:
55697
556982013-11-12  Zan Dobersek  <zdobersek@igalia.com>
55699
55700        Manage StorageThread through std::unique_ptr
55701        https://bugs.webkit.org/show_bug.cgi?id=124197
55702
55703        Reviewed by Anders Carlsson.
55704
55705        New StorageThread objects are crafted through std::make_unique. This removes the need for the static
55706        StorageThread::create() method but requires that the StorageThread constructor is made public.
55707
55708        * storage/StorageSyncManager.cpp:
55709        (WebCore::StorageSyncManager::StorageSyncManager):
55710        * storage/StorageSyncManager.h:
55711        * storage/StorageThread.cpp:
55712        * storage/StorageThread.h:
55713        * storage/StorageTracker.cpp:
55714        (WebCore::StorageTracker::StorageTracker):
55715        * storage/StorageTracker.h:
55716
557172013-11-12  Zan Dobersek  <zdobersek@igalia.com>
55718
55719        Remove unnecessary PassOwnPtr.h header includes under Source/WebCore/fileapi
55720        https://bugs.webkit.org/show_bug.cgi?id=124196
55721
55722        Reviewed by Anders Carlsson.
55723
55724        PassOwnPtr is not used anywhere under Source/WebCore/fileapi/, so PassOwnPtr.h inclusions can be removed.
55725
55726        * fileapi/Blob.h:
55727        * fileapi/FileThread.h:
55728        * fileapi/FileThreadTask.h:
55729
557302013-11-12  Antti Koivisto  <antti@apple.com>
55731
55732        Text on simple lines sometimes paints one pixel off
55733        https://bugs.webkit.org/show_bug.cgi?id=124200
55734
55735        Reviewed by Andreas Kling.
55736
55737        Test: fast/text/line-runs-simple-lines.html
55738
55739        * rendering/SimpleLineLayout.cpp:
55740        (WebCore::SimpleLineLayout::adjustRunOffsets):
55741        
55742            Don't round on run construction time.
55743
55744        (WebCore::SimpleLineLayout::createTextRuns):
55745        * rendering/SimpleLineLayoutResolver.h:
55746        (WebCore::SimpleLineLayout::RunResolver::Run::rect):
55747        
55748            Instead round when generating rects.
55749
55750        (WebCore::SimpleLineLayout::RunResolver::Run::baseline):
55751        
55752            Provide the baseline (used by painting) as unrounded FloatPoint.
55753
557542013-11-11  Andreas Kling  <akling@apple.com>
55755
55756        Elements with class names automatically get unique ElementData.
55757        <https://webkit.org/b/124184>
55758
55759        We were calling Element::ensureUniqueElementData() for all Elements
55760        with a non-empty list of class names. Doing that on parser-fresh
55761        Elements caused us to upgrade them to UniqueElementData despite not
55762        needing it (ElementData::setClass() is a const function for caching
55763        the "cooked" class and can be called on ShareableElementData.)
55764
55765        1.09 MB progression on HTML5 spec at <http://whatwg.org/c>
55766
55767        Reviewed by Antti Koivisto.
55768
557692013-11-12  Zan Dobersek  <zdobersek@igalia.com>
55770
55771        JSC bindings generator should generate deletable JSC functions
55772        https://bugs.webkit.org/show_bug.cgi?id=122422
55773
55774        Reviewed by Geoffrey Garen.
55775
55776        The JSC functions that the JSC bindings generator generates should be deletable to conform to
55777        the WebIDL specification, which instructs that the WebIDL operations must be configurable (which
55778        translates to the JSC functions being deletable).
55779
55780        The generator will still produce a non-deletable JSC function for operations under almost all
55781        Web-facing interfaces since they're annotated with the OperationsNotDeletable attribute. The
55782        exception here is the Node interface that is having the attribute removed, with the provided
55783        test case testing that all the functions on the Node prototype object are writable, enumerable
55784        and configurable. This behavior conforms to the WebIDL specification and the behaviors of IE
55785        and Firefox. Chrome at the moment still provides non-configurable functions.
55786
55787        Test: fast/dom/webidl-operations-on-node-prototype.html
55788
55789        * bindings/scripts/CodeGeneratorJS.pm:
55790        (GenerateImplementation): Enforce the non-deletable behavior of the JSC function if either the
55791        operation's interface is annotated with the OperationsNotDeletable attribute or the operation itself
55792        is annotated with the NotDeletable attribute.
55793        * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp: Update the JSC generator test baselines.
55794        * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp: Ditto.
55795        * bindings/scripts/test/JS/JSTestEventTarget.cpp: Ditto.
55796        * bindings/scripts/test/JS/JSTestInterface.cpp: Ditto.
55797        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: Ditto.
55798        * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
55799        * bindings/scripts/test/JS/JSTestTypedefs.cpp: Ditto.
55800        * dom/Node.idl: Remove the OperationsNotDeletable attribute.
55801
558022013-11-11  Brady Eidson  <beidson@apple.com>
55803
55804        Make IDBTransaction tasks asynchronous
55805        https://bugs.webkit.org/show_bug.cgi?id=124183
55806
55807        Reviewed by Tim Horton.
55808
55809        This is an almost zero-change in behavior.
55810
55811        The one thing that is different is that previously, IDBTransactionBackends would synchronously
55812        run through their entire set of IDBOperation’s without ever returning control to the runloop.
55813
55814        Now, they start one task and then wait for its completion to schedule the start of the next task.
55815
55816        Change IDBOperation’s perform() to take a completion handler so it can be asynchronous.
55817        Add an IDBSynchronousOperation class to handle "Abort" tasks, which never need to perform i/o
55818        and therefore can be entirely synchronous.
55819        * Modules/indexeddb/IDBOperation.h:
55820        (WebCore::IDBSynchronousOperation::~IDBSynchronousOperation):
55821
55822        * Modules/indexeddb/IDBTransactionBackend.cpp:
55823        (WebCore::IDBTransactionBackend::scheduleTask): "Abort tasks" are now IDBSynchronousOperations.
55824        (WebCore::IDBTransactionBackend::abort):
55825        (WebCore::IDBTransactionBackend::taskTimerFired): Instead of running through the entire set of tasks,
55826          perform a single task asynchronously. The completion handler for the task will reset the task timer
55827          to asynchronously start the next task.
55828        * Modules/indexeddb/IDBTransactionBackend.h:
55829        (WebCore::IDBTransactionBackend::scheduleTask): "Abort tasks" are now IDBSynchronousOperations.
55830
55831        Update all operations to take completion handlers.
55832        For now, perform things synchronously like before, calling the completion handler when complete.
55833        * Modules/indexeddb/IDBCursorBackend.cpp:
55834        (WebCore::CallOnDestruct::CallOnDestruct): Helper class to make sure completion callbacks are always called perform() exits.
55835        (WebCore::CallOnDestruct::~CallOnDestruct):
55836        (WebCore::IDBCursorBackend::CursorIterationOperation::create):
55837        (WebCore::IDBCursorBackend::CursorAdvanceOperation::create):
55838        (WebCore::IDBCursorBackend::CursorPrefetchIterationOperation::create):
55839        (WebCore::IDBCursorBackend::CursorAdvanceOperation::perform):
55840        (WebCore::IDBCursorBackend::CursorIterationOperation::perform):
55841        (WebCore::IDBCursorBackend::CursorPrefetchIterationOperation::perform):
55842
55843        * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
55844        (WebCore::CallOnDestruct::CallOnDestruct): Helper class to make sure completion callbacks are always called when perform() exits.
55845        (WebCore::CallOnDestruct::~CallOnDestruct):
55846        (WebCore::CreateObjectStoreOperation::perform):
55847        (WebCore::CreateIndexOperation::perform):
55848        (WebCore::DeleteIndexOperation::perform):
55849        (WebCore::GetOperation::perform):
55850        (WebCore::PutOperation::perform):
55851        (WebCore::SetIndexesReadyOperation::perform):
55852        (WebCore::OpenCursorOperation::perform):
55853        (WebCore::CountOperation::perform):
55854        (WebCore::DeleteRangeOperation::perform):
55855        (WebCore::ClearOperation::perform):
55856        (WebCore::DeleteObjectStoreOperation::perform):
55857        (WebCore::IDBDatabaseBackend::VersionChangeOperation::perform):
55858
55859        * Modules/indexeddb/IDBTransactionBackendOperations.h:
55860        (WebCore::CreateObjectStoreOperation::create):
55861        (WebCore::DeleteObjectStoreOperation::create):
55862        (WebCore::IDBDatabaseBackend::VersionChangeOperation::create):
55863        (WebCore::CreateObjectStoreAbortOperation::create):
55864        (WebCore::DeleteObjectStoreAbortOperation::create):
55865        (WebCore::IDBDatabaseBackend::VersionChangeAbortOperation::create):
55866        (WebCore::CreateIndexOperation::create):
55867        (WebCore::CreateIndexAbortOperation::create):
55868        (WebCore::DeleteIndexOperation::create):
55869        (WebCore::DeleteIndexAbortOperation::create):
55870        (WebCore::GetOperation::create):
55871        (WebCore::PutOperation::create):
55872        (WebCore::SetIndexesReadyOperation::create):
55873        (WebCore::OpenCursorOperation::create):
55874        (WebCore::CountOperation::create):
55875        (WebCore::DeleteRangeOperation::create):
55876        (WebCore::ClearOperation::create):
55877
558782013-11-11  Joseph Pecoraro  <pecoraro@apple.com>
55879
55880        Web Inspector: Remove some unused generated code
55881        https://bugs.webkit.org/show_bug.cgi?id=124179
55882
55883        Reviewed by Timothy Hatcher.
55884
55885        * inspector/CodeGeneratorInspectorStrings.py:
55886
558872013-11-11  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
55888
55889        Clean up static_cast<Element*> usage
55890        https://bugs.webkit.org/show_bug.cgi?id=124133
55891
55892        Reviewed by Andreas Kling.
55893
55894        We need to use toFoo cast function instead of static_cast<>. Though there is toElement(),
55895        static_cast<Element*> is still being used.
55896
55897        No new tests, no behavior changes.
55898
55899        * bindings/gobject/WebKitDOMPrivate.cpp:
55900        (WebKit::wrap):
55901        * dom/ElementTraversal.h:
55902        (WebCore::::lastWithinTemplate):
55903        (WebCore::::nextTemplate):
55904        (WebCore::::previousTemplate):
55905
559062013-11-11  Anders Carlsson  <andersca@apple.com>
55907
55908        FrameFilter can just be an std::function instead
55909        https://bugs.webkit.org/show_bug.cgi?id=124176
55910
55911        Reviewed by Tim Horton.
55912
55913        * WebCore.exp.in:
55914        * loader/archive/cf/LegacyWebArchive.cpp:
55915        (WebCore::LegacyWebArchive::create):
55916        * loader/archive/cf/LegacyWebArchive.h:
55917
559182013-11-11  Simon Fraser  <simon.fraser@apple.com>
55919
55920        REGRESSION (r155660): box-shadow causes overlay scrollbars to be in the wrong position when element is composited (85647)
55921        https://bugs.webkit.org/show_bug.cgi?id=124090
55922
55923        Reviewed by Beth Dakin.
55924        
55925        After r155660 we did fewer layouts, so were left with overlay scrollbars in the
55926        wrong locations because nothing would update them after RenderLayerBacking
55927        computed a new offsetFromRenderer.
55928        
55929        First part of the fix is to wean positionOverflowControlsLayers() off of
55930        an absolute offset from the root. Do this by not using Widget::frameRect()
55931        to position the layers, but instead RenderLayer::rectFor{Horizontal|Vertical}Scrollbar
55932        which is what we used to position the scrollbars in the first place.
55933        
55934        Second part of the fix is to call positionOverflowControlsLayers() from
55935        RenderLayerBacking::updateGraphicsLayerGeometry() if the offsetFromRenderer
55936        changed.
55937
55938        Test: compositing/overflow/overflow-scrollbar-layer-positions.html
55939
55940        * rendering/RenderLayer.cpp:
55941        (WebCore::RenderLayer::positionOverflowControls):
55942        * rendering/RenderLayerBacking.cpp:
55943        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
55944        (WebCore::RenderLayerBacking::positionOverflowControlsLayers):
55945        * rendering/RenderLayerBacking.h:
55946
559472013-11-11  Brent Fulgham  <bfulgham@apple.com>
55948
55949        [Win] m_isCompositeFontReference is uninitialized.
55950        https://bugs.webkit.org/show_bug.cgi?id=124170
55951
55952        Reviewed by Tim Horton.
55953
55954        Initialize value to false, as is done in the other constructors for this data type.
55955
55956        * platform/graphics/win/FontPlatformDataCGWin.cpp:
55957        (WebCore::FontPlatformData::FontPlatformData): 
55958        * platform/graphics/win/FontPlatformDataCairoWin.cpp:
55959        (WebCore::FontPlatformData::FontPlatformData):
55960        * platform/graphics/win/FontPlatformDataWin.cpp:
55961        (WebCore::FontPlatformData::FontPlatformData):
55962
559632013-11-11  Myles C. Maxfield  <mmaxfield@apple.com>
55964
55965        [Mac] Characters too close together in complex Arabic text
55966        https://bugs.webkit.org/show_bug.cgi?id=124057
55967
55968        Reviewed by Darin Adler.
55969
55970        We weren't updating our total width variable with run's initial
55971        advance information, leading to widths that were too narrow.
55972
55973        In addition, while initial advances for runs that aren't the first
55974        run are accounted for by baking in the initial advances into the
55975        previous character's advance, the initial advance for the first run
55976        has to be accounted for in ComplexTextController::offsetForPosition.
55977
55978        Test: fast/text/complex-grapheme-cluster-with-initial-advance.html
55979        Test: fast/text/selection-in-initial-advance-region.html
55980
55981        * platform/graphics/mac/ComplexTextController.cpp:
55982        (WebCore::ComplexTextController::adjustGlyphsAndAdvances): Update
55983        total width variable
55984        (WebCore::ComplexTextController::offsetOfPosition): Account for
55985        the first run's initial advance.
55986
559872013-11-11  Brady Eidson  <beidson@apple.com>
55988
55989        Make IDBBackingStoreTransaction be RefCounted
55990        https://bugs.webkit.org/show_bug.cgi?id=124168
55991
55992        Reviewed by Tim Horton.
55993
55994        This is necessarily to safely add a fully asynchronous interface into the IDB mechanism.
55995
55996        * Modules/indexeddb/IDBBackingStoreInterface.h:
55997        * Modules/indexeddb/IDBBackingStoreTransactionInterface.h:
55998        * Modules/indexeddb/IDBTransactionBackend.h:
55999
56000        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
56001        (WebCore::IDBBackingStoreLevelDB::createBackingStoreTransaction):
56002        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
56003        * Modules/indexeddb/leveldb/IDBBackingStoreTransactionLevelDB.h:
56004
560052013-11-11  Antti Koivisto  <antti@apple.com>
56006
56007        End of line whitespace should collapse with white-space:pre-wrap; overflow-wrap:break-word in all cases
56008        https://bugs.webkit.org/show_bug.cgi?id=124158
56009
56010        Reviewed by Dave Hyatt.
56011        
56012        If a word just fits the line but the following space overflows we fail to collapse whitespaces 
56013        at the end of the line. This happens because with break-word we end up taking word breaking
56014        code path that does not have pre-wrap whitespace handling.
56015        
56016        This patch makes the behavior consistent and also matches Firefox.
56017
56018        Test: fast/text/break-word-pre-wrap.html
56019
56020        * rendering/RenderBlockLineLayout.cpp:
56021        (WebCore::BreakingContext::handleText):
56022        
56023            Don't take the word break code path if we are pre-wrap and the current character is space.
56024            Instead proceed to break the line normally as this is a valid break position.
56025
560262013-11-11  Bear Travis  <betravis@adobe.com>
56027
56028        Web Inspector: [CSS Shapes] Highlight shape-outside when its element is selected in the Web Inspector
56029        https://bugs.webkit.org/show_bug.cgi?id=124071
56030
56031        Reviewed by Timothy Hatcher.
56032
56033        Adding code to pass computed shape information (path and bounds) to the Inspector overlay
56034        canvas, and the code to display it. The code creates a path based on ShapeInfo's computed
56035        shape. The shape highlight draws whenever an element is highlighted, via selection in
56036        the Inspector elements view.
56037
56038        Test: inspector-protocol/model/highlight-shape-outside.html
56039
56040        * inspector/InspectorOverlay.cpp:
56041        (WebCore::localPointToRoot): Convert a local point to be relative to the root view.
56042        (WebCore::appendPathCommandAndPoints): Helper for building a single segment's worth
56043        of the overall path.
56044        (WebCore::appendPathSegment): Build a single segment's worth of the overall path.
56045        (WebCore::buildObjectForShapeOutside): Build an object to pass to the Inspector overlay
56046        that represents the shape.
56047        (WebCore::buildObjectForElementInfo): Call buildObjectForShapeOutside and pass the
56048        resulting object along.
56049        * inspector/InspectorOverlayPage.js:
56050        (pathCommand): Draw a single path command.
56051        (drawPath): Draw the overall path.
56052        (_drawShapeHighlight): Draw the highlight for the given shapeInfo.
56053        (drawNodeHighlight): Call _drawShapeHighlight.
56054        * rendering/shapes/PolygonShape.h:
56055        (WebCore::PolygonShape::polygon): Expose the underlying vertex information for a
56056        PolygonShape.
56057        * rendering/shapes/RasterShape.h:
56058        * rendering/shapes/RectangleShape.h:
56059        (WebCore::RectangleShape::logicalRx): Expose the logical radii for a shape.
56060        (WebCore::RectangleShape::logicalRy): Ditto.
56061        * rendering/shapes/Shape.h:
56062        * rendering/shapes/ShapeInfo.h:
56063        (WebCore::ShapeInfo::computedShapePhysicalBoundingBox): The physical bounds of a
56064        shape in renderer coordinates.
56065        (WebCore::ShapeInfo::shapeToRendererPoint): Convert shape coordinates to renderer
56066        coordinates.
56067        (WebCore::ShapeInfo::shapeToRendererSize): Ditto.
56068        (WebCore::ShapeInfo::ShapeInfo):
56069
560702013-11-11  Alexey Proskuryakov  <ap@apple.com>
56071
56072        Support WebCrypto KeyPair interface
56073        https://bugs.webkit.org/show_bug.cgi?id=124161
56074
56075        Reviewed by Geoffrey Garen.
56076
56077        No new tests yet, will be tested once generateKey is implemented for any RSA algorithms.
56078
56079        * CMakeLists.txt:
56080        * DerivedSources.make:
56081        * GNUmakefile.list.am:
56082        * WebCore.xcodeproj/project.pbxproj:
56083        Added new files.
56084
56085        * bindings/js/JSDOMPromise.h: Support returning a key pair via a promise.
56086
56087        * bindings/js/JSCryptoKeyPairCustom.cpp: Added.
56088        (WebCore::JSCryptoKeyPair::visitChildren):
56089        * crypto/CryptoKey.idl:
56090        CryptoKey wrapper is reachable through KeyPair, but it doesn't have (or need)
56091        a back pointer.
56092
56093        * crypto/CryptoKeyPair.cpp: Added.
56094        (WebCore::CryptoKeyPair::CryptoKeyPair):
56095        (WebCore::CryptoKeyPair::~CryptoKeyPair):
56096        * crypto/CryptoKeyPair.h: Added.
56097        (WebCore::CryptoKeyPair::create):
56098        (WebCore::CryptoKeyPair::publicKey):
56099        (WebCore::CryptoKeyPair::privateKey):
56100        * crypto/CryptoKeyPair.idl: Added.
56101
561022013-11-11  Nick Diego Yamane  <nick.yamane@openbossa.org>
56103
56104        Fix build after r158967
56105        https://bugs.webkit.org/show_bug.cgi?id=124160
56106
56107        Reviewed by Anders Carlsson.
56108
56109        After r158967, gcc debug builds with "-Werror=type-limits" enabled
56110        fail. This patch fixes it.
56111
56112        * rendering/shapes/RasterShape.h:
56113        (WebCore::RasterShapeIntervals::intervalsAt):
56114
561152013-11-11  Zan Dobersek  <zdobersek@igalia.com>
56116
56117        Remove the OperationsNotDeletable attribute from most of the WebIDL interfaces
56118        https://bugs.webkit.org/show_bug.cgi?id=124151
56119
56120        Reviewed by Geoffrey Garen.
56121
56122        The OperationsNotDeletable attribute currently doesn't have any effect, but will soon enforce
56123        non-configurability of operations on the interface that uses the attribute. Non-configurability
56124        of operations is the default behavior at the moment, but will be changed to follow the WebIDL
56125        specification which requires that the operations are configurable (i.e. -- in JSC terms -- deletable).
56126        IE and Firefox already exhibit this behavior in the majority of cases, while Chrome and Opera don't.
56127
56128        The attribute remains in use on the Location interface to mimic the Unforgeable attribute which
56129        also makes operations of an interface non-configurable. Unforgeable attribute will be used instead
56130        when support for it will be added to the JSC bindings generator.
56131
56132        * Modules/battery/BatteryManager.idl:
56133        * Modules/encryptedmedia/MediaKeySession.idl:
56134        * Modules/encryptedmedia/MediaKeys.idl:
56135        * Modules/gamepad/GamepadList.idl:
56136        * Modules/geolocation/Geolocation.idl:
56137        * Modules/indexeddb/IDBCursor.idl:
56138        * Modules/indexeddb/IDBDatabase.idl:
56139        * Modules/indexeddb/IDBFactory.idl:
56140        * Modules/indexeddb/IDBIndex.idl:
56141        * Modules/indexeddb/IDBKeyRange.idl:
56142        * Modules/indexeddb/IDBObjectStore.idl:
56143        * Modules/indexeddb/IDBTransaction.idl:
56144        * Modules/indexeddb/IDBVersionChangeEvent.idl:
56145        * Modules/mediacontrols/MediaControlsHost.idl:
56146        * Modules/mediasource/MediaSource.idl:
56147        * Modules/mediasource/SourceBuffer.idl:
56148        * Modules/mediasource/SourceBufferList.idl:
56149        * Modules/mediastream/MediaStream.idl:
56150        * Modules/mediastream/MediaStreamTrack.idl:
56151        * Modules/mediastream/RTCDTMFSender.idl:
56152        * Modules/mediastream/RTCDataChannel.idl:
56153        * Modules/mediastream/RTCPeerConnection.idl:
56154        * Modules/mediastream/RTCStatsReport.idl:
56155        * Modules/mediastream/RTCStatsResponse.idl:
56156        * Modules/networkinfo/NetworkInfoConnection.idl:
56157        * Modules/notifications/Notification.idl:
56158        * Modules/notifications/NotificationCenter.idl:
56159        * Modules/proximity/DeviceProximityEvent.idl:
56160        * Modules/quota/StorageInfo.idl:
56161        * Modules/quota/StorageQuota.idl:
56162        * Modules/speech/SpeechGrammarList.idl:
56163        * Modules/speech/SpeechRecognition.idl:
56164        * Modules/speech/SpeechRecognitionResult.idl:
56165        * Modules/speech/SpeechRecognitionResultList.idl:
56166        * Modules/speech/SpeechSynthesis.idl:
56167        * Modules/webaudio/AnalyserNode.idl:
56168        * Modules/webaudio/AudioBuffer.idl:
56169        * Modules/webaudio/AudioBufferSourceNode.idl:
56170        * Modules/webaudio/AudioContext.idl:
56171        * Modules/webaudio/AudioListener.idl:
56172        * Modules/webaudio/AudioNode.idl:
56173        * Modules/webaudio/AudioParam.idl:
56174        * Modules/webaudio/BiquadFilterNode.idl:
56175        * Modules/webaudio/OscillatorNode.idl:
56176        * Modules/webaudio/PannerNode.idl:
56177        * Modules/webdatabase/Database.idl:
56178        * Modules/webdatabase/DatabaseSync.idl:
56179        * Modules/webdatabase/SQLResultSetRowList.idl:
56180        * Modules/webdatabase/SQLTransaction.idl:
56181        * Modules/webdatabase/SQLTransactionSync.idl:
56182        * Modules/websockets/WebSocket.idl:
56183        * crypto/CryptoKey.idl:
56184        * crypto/SubtleCrypto.idl:
56185        * css/CSSHostRule.idl:
56186        * css/CSSMediaRule.idl:
56187        * css/CSSPrimitiveValue.idl:
56188        * css/CSSRuleList.idl:
56189        * css/CSSStyleDeclaration.idl:
56190        * css/CSSStyleSheet.idl:
56191        * css/CSSSupportsRule.idl:
56192        * css/CSSValueList.idl:
56193        * css/DOMWindowCSS.idl:
56194        * css/FontLoader.idl:
56195        * css/MediaList.idl:
56196        * css/MediaQueryList.idl:
56197        * css/MediaQueryListListener.idl:
56198        * css/StyleMedia.idl:
56199        * css/StyleSheet.idl:
56200        * css/StyleSheetList.idl:
56201        * css/WebKitCSSFilterValue.idl:
56202        * css/WebKitCSSKeyframesRule.idl:
56203        * css/WebKitCSSMatrix.idl:
56204        * css/WebKitCSSTransformValue.idl:
56205        * dom/CharacterData.idl:
56206        * dom/ChildNode.idl:
56207        * dom/ClientRectList.idl:
56208        * dom/Clipboard.idl:
56209        * dom/CompositionEvent.idl:
56210        * dom/CustomEvent.idl:
56211        * dom/DOMCoreException.idl:
56212        * dom/DOMImplementation.idl:
56213        * dom/DOMNamedFlowCollection.idl:
56214        * dom/DOMStringList.idl:
56215        * dom/DOMStringMap.idl:
56216        * dom/DataTransferItem.idl:
56217        * dom/DataTransferItemList.idl:
56218        * dom/DeviceMotionEvent.idl:
56219        * dom/DeviceOrientationEvent.idl:
56220        * dom/Document.idl:
56221        * dom/DocumentFragment.idl:
56222        * dom/DocumentType.idl:
56223        * dom/Element.idl:
56224        * dom/Event.idl:
56225        * dom/EventException.idl:
56226        * dom/EventListener.idl:
56227        * dom/EventTarget.idl:
56228        * dom/HashChangeEvent.idl:
56229        * dom/KeyboardEvent.idl:
56230        * dom/MessageEvent.idl:
56231        * dom/MessagePort.idl:
56232        * dom/MouseEvent.idl:
56233        * dom/MutationEvent.idl:
56234        * dom/MutationObserver.idl:
56235        * dom/NamedNodeMap.idl:
56236        * dom/Node.idl:
56237        * dom/NodeFilter.idl:
56238        * dom/NodeIterator.idl:
56239        * dom/NodeList.idl:
56240        * dom/Range.idl:
56241        * dom/RangeException.idl:
56242        * dom/ShadowRoot.idl:
56243        * dom/Text.idl:
56244        * dom/TextEvent.idl:
56245        * dom/TouchEvent.idl:
56246        * dom/TouchList.idl:
56247        * dom/TreeWalker.idl:
56248        * dom/UIEvent.idl:
56249        * dom/WebKitNamedFlow.idl:
56250        * dom/WheelEvent.idl:
56251        * fileapi/Blob.idl:
56252        * fileapi/FileException.idl:
56253        * fileapi/FileList.idl:
56254        * fileapi/FileReader.idl:
56255        * fileapi/FileReaderSync.idl:
56256        * html/DOMFormData.idl:
56257        * html/DOMSettableTokenList.idl:
56258        * html/DOMTokenList.idl:
56259        * html/DOMURL.idl:
56260        * html/HTMLAllCollection.idl:
56261        * html/HTMLAnchorElement.idl:
56262        * html/HTMLButtonElement.idl:
56263        * html/HTMLCanvasElement.idl:
56264        * html/HTMLCollection.idl:
56265        * html/HTMLDocument.idl:
56266        * html/HTMLElement.idl:
56267        * html/HTMLEmbedElement.idl:
56268        * html/HTMLFieldSetElement.idl:
56269        * html/HTMLFormControlsCollection.idl:
56270        * html/HTMLFormElement.idl:
56271        * html/HTMLFrameElement.idl:
56272        * html/HTMLIFrameElement.idl:
56273        * html/HTMLInputElement.idl:
56274        * html/HTMLKeygenElement.idl:
56275        * html/HTMLMarqueeElement.idl:
56276        * html/HTMLMediaElement.idl:
56277        * html/HTMLObjectElement.idl:
56278        * html/HTMLOptionsCollection.idl:
56279        * html/HTMLOutputElement.idl:
56280        * html/HTMLSelectElement.idl:
56281        * html/HTMLTableElement.idl:
56282        * html/HTMLTableRowElement.idl:
56283        * html/HTMLTableSectionElement.idl:
56284        * html/HTMLTextAreaElement.idl:
56285        * html/HTMLVideoElement.idl:
56286        * html/MediaController.idl:
56287        * html/RadioNodeList.idl:
56288        * html/TimeRanges.idl:
56289        * html/canvas/CanvasGradient.idl:
56290        * html/canvas/CanvasRenderingContext2D.idl:
56291        * html/canvas/DOMPath.idl:
56292        * html/canvas/EXTDrawBuffers.idl:
56293        * html/canvas/OESVertexArrayObject.idl:
56294        * html/canvas/WebGLDebugShaders.idl:
56295        * html/canvas/WebGLLoseContext.idl:
56296        * html/canvas/WebGLRenderingContext.idl:
56297        * html/track/AudioTrackList.idl:
56298        * html/track/TextTrack.idl:
56299        * html/track/TextTrackCue.idl:
56300        * html/track/TextTrackCueList.idl:
56301        * html/track/TextTrackList.idl:
56302        * html/track/TextTrackRegionList.idl:
56303        * html/track/VideoTrackList.idl:
56304        * loader/appcache/DOMApplicationCache.idl:
56305        * page/Console.idl:
56306        * page/Crypto.idl:
56307        * page/DOMSecurityPolicy.idl:
56308        * page/DOMSelection.idl:
56309        * page/DOMWindow.idl:
56310        * page/EventSource.idl:
56311        * page/History.idl:
56312        * page/Navigator.idl:
56313        * page/Performance.idl:
56314        * page/PerformanceEntryList.idl:
56315        * page/SpeechInputResultList.idl:
56316        * page/WindowBase64.idl:
56317        * page/WindowTimers.idl:
56318        * plugins/DOMMimeTypeArray.idl:
56319        * plugins/DOMPlugin.idl:
56320        * plugins/DOMPluginArray.idl:
56321        * storage/Storage.idl:
56322        * storage/StorageEvent.idl:
56323        * svg/SVGAngle.idl:
56324        * svg/SVGAnimationElement.idl:
56325        * svg/SVGColor.idl:
56326        * svg/SVGCursorElement.idl:
56327        * svg/SVGDocument.idl:
56328        * svg/SVGElement.idl:
56329        * svg/SVGElementInstanceList.idl:
56330        * svg/SVGException.idl:
56331        * svg/SVGFEDropShadowElement.idl:
56332        * svg/SVGFEGaussianBlurElement.idl:
56333        * svg/SVGFEMorphologyElement.idl:
56334        * svg/SVGFilterElement.idl:
56335        * svg/SVGGraphicsElement.idl:
56336        * svg/SVGLength.idl:
56337        * svg/SVGLengthList.idl:
56338        * svg/SVGMarkerElement.idl:
56339        * svg/SVGMaskElement.idl:
56340        * svg/SVGMatrix.idl:
56341        * svg/SVGNumberList.idl:
56342        * svg/SVGPaint.idl:
56343        * svg/SVGPathElement.idl:
56344        * svg/SVGPathSegList.idl:
56345        * svg/SVGPatternElement.idl:
56346        * svg/SVGPoint.idl:
56347        * svg/SVGPointList.idl:
56348        * svg/SVGSVGElement.idl:
56349        * svg/SVGStringList.idl:
56350        * svg/SVGTests.idl:
56351        * svg/SVGTextContentElement.idl:
56352        * svg/SVGTransform.idl:
56353        * svg/SVGTransformList.idl:
56354        * workers/DedicatedWorkerGlobalScope.idl:
56355        * workers/Worker.idl:
56356        * workers/WorkerGlobalScope.idl:
56357        * workers/WorkerLocation.idl:
56358        * xml/DOMParser.idl:
56359        * xml/XMLHttpRequest.idl:
56360        * xml/XMLHttpRequestException.idl:
56361        * xml/XMLHttpRequestUpload.idl:
56362        * xml/XMLSerializer.idl:
56363        * xml/XPathEvaluator.idl:
56364        * xml/XPathException.idl:
56365        * xml/XPathExpression.idl:
56366        * xml/XPathNSResolver.idl:
56367        * xml/XPathResult.idl:
56368        * xml/XSLTProcessor.idl:
56369
563702013-11-11  Javier Fernandez  <jfernandez@igalia.com>
56371
56372        [CSS Regions] Selection focusNode set to the "region" block, instead of the "source" block
56373        https://bugs.webkit.org/show_bug.cgi?id=120769
56374
56375        Reviewed by David Hyatt.
56376
56377        When a point hits a Region block, current positionForPoint algorithm determines its
56378        position in the DOM and returns either the start or end offset for such block, since
56379        Region blocks have no children in the DOM.
56380
56381        It's necessary to map the point into Flow Thread coordinates in order to determine
56382        the DOM position of the specific element rendered by the Region.
56383
56384        Top margin, padding and border points should be mapped to the beginning of the Region
56385        block, while bottom points are mapped to the block end. The Left coordinate its just
56386        adjusted to fit in the Flow Thread boundaries, since its not affected by the Flow
56387        direction.
56388
56389        Besides, when inspecting the Flow Thread blocks looking for the last candidate box,
56390        the Region originally associated to the point might be taken into account. Only the
56391        blocks/boxes rendered by the Region are potential candidates.
56392
56393        Tests: fast/regions/selection/position-for-point-1-vert-lr.html
56394               fast/regions/selection/position-for-point-1-vert-rl.html
56395               fast/regions/selection/position-for-point-1.html
56396               fast/regions/selection/position-for-point-vert-lr.html
56397               fast/regions/selection/position-for-point-vert-rl.html
56398               fast/regions/selection/position-for-point.html
56399
56400        * rendering/RenderBlock.cpp:
56401        (WebCore::isChildHitTestCandidate):
56402        (WebCore::RenderBlock::positionForPoint):
56403        * rendering/RenderBlockFlow.cpp:
56404        (WebCore::RenderBlockFlow::positionForPoint): Added.
56405        It just redirects the call to the associated RenderNamedFlowFragment instance.
56406        * rendering/RenderBlockFlow.h:
56407        * rendering/RenderRegion.cpp:
56408        (WebCore::RenderRegion::mapRegionPointIntoFlowThreadCoordinates): Added.
56409        It performs the coordinates mapping.
56410        (WebCore::RenderRegion::positionForPoint): Added.
56411        It determines the corresponding LayoutPoint in the FlowThread the Region
56412        is associated to, forwarding the call to the RenderBlock class using the
56413        FlowThread's first child block and such new point.
56414        * rendering/RenderRegion.h:
56415
564162013-11-11  Gergo Balogh  <geryxyz@inf.u-szeged.hu>
56417
56418        [curl] Remove unused includes.
56419        https://bugs.webkit.org/show_bug.cgi?id=120415
56420
56421        Reviewed by Csaba Osztrogonác.
56422
56423        Original patch by 2013-08-28  Tamas Czene  <tczene@inf.u-szeged.hu>
56424
56425        * platform/network/curl/ProxyServerCurl.cpp:
56426        * platform/network/curl/ResourceHandleCurl.cpp:
56427        * platform/network/curl/ResourceHandleManager.cpp:
56428
564292013-11-11  Csaba Osztrogonác  <ossy@webkit.org>
56430
56431        URTBF after r159027 to make Apple Windows build happy.
56432
56433        * platform/graphics/cg/ImageSourceCG.cpp:
56434        (WebCore::sharedBufferGetBytesAtPosition):
56435
564362013-11-11  Andreas Kling  <akling@apple.com>
56437
56438        Kill InlineFlowBox::rendererLineBoxes().
56439        <https://webkit.org/b/124141>
56440
56441        We only ever used this to access the RenderLineBoxList for non-root
56442        boxes, and those always have a RenderInline renderer.
56443
56444        Tighten things up by losing the virtual rendererLineBoxes() and
56445        calling RenderInline::lineBoxes() directly.
56446
56447        Reviewed by Antti Koivisto.
56448
564492013-11-11  Andreas Kling  <akling@apple.com>
56450
56451        Bring the LineFragmentationData back to RootInlineBox.
56452        <https://webkit.org/b/124136>
56453
56454        Now that we have the simple line layout path, almost all the root
56455        line boxes end up with some kind of fragmentation data, so we might
56456        as well put the members back on RootInlineBox and avoid the extra
56457        allocation (and indirection.)
56458
56459        1.74 MB progression on HTML5 spec at <http://whatwg.org/c>
56460
56461        Reviewed by Antti Koivisto.
56462
564632013-11-10  Andreas Kling  <akling@apple.com>
56464
56465        Shrink RenderInline.
56466        <https://webkit.org/b/124134>
56467
56468        Move the "always create line boxes" bit from RenderInline up to
56469        RenderElement. I didn't do this earlier because there were no bits
56470        free on RenderObject but thanks to RenderElement we now have tons!
56471
56472        540 kB progression on HTML5 spec at <http://whatwg.org/c>
56473
56474        Reviewed by Anders Carlsson.
56475
564762013-11-10  Sam Weinig  <sam@webkit.org>
56477
56478        Make childShouldCreateRenderer() take a Node reference
56479        https://bugs.webkit.org/show_bug.cgi?id=124132
56480
56481        Reviewed by Andreas Kling.
56482
56483        The Node passed to childShouldCreateRenderer() is never null.
56484
564852013-11-10  Frédéric Wang  <fred.wang@free.fr>
56486
56487        CSS direction must be reset to ltr on <math> element.
56488        <https://webkit.org/b/124121>
56489
56490        Reviewed by Darin Adler.
56491
56492        Test: mathml/presentation/direction.html
56493
56494        * css/mathml.css:
56495        (math): set direction: ltr; on the <math> element.
56496
564972013-11-10  Sam Weinig  <sam@webkit.org>
56498
56499        Reduce the size of RenderBlockFlow by making its rare data inherit from RenderBlockRareData
56500        https://bugs.webkit.org/show_bug.cgi?id=124124
56501
56502        Reviewed by Anders Carlsson.
56503
56504        Reduce RenderBlockFlow by one word.
56505
56506        * rendering/RenderBlock.cpp:
56507        * rendering/RenderBlock.h:
56508        * rendering/RenderBlockFlow.cpp:
56509        * rendering/RenderBlockFlow.h:
56510
565112013-11-10  Antti Koivisto  <antti@apple.com>
56512
56513        Use start/end instead of textOffset/textLength for simple text runs
56514        https://bugs.webkit.org/show_bug.cgi?id=124130
56515
56516        Reviewed by Oliver Hunt.
56517        
56518        The code reads better this way.
56519
56520        * rendering/SimpleLineLayout.cpp:
56521        (WebCore::SimpleLineLayout::createTextRuns):
56522        * rendering/SimpleLineLayout.h:
56523        (WebCore::SimpleLineLayout::Run::Run):
56524        * rendering/SimpleLineLayoutFunctions.h:
56525        (WebCore::SimpleLineLayout::findTextCaretMinimumOffset):
56526        (WebCore::SimpleLineLayout::findTextCaretMaximumOffset):
56527        (WebCore::SimpleLineLayout::containsTextCaretOffset):
56528        (WebCore::SimpleLineLayout::isTextRendered):
56529        * rendering/SimpleLineLayoutResolver.h:
56530        (WebCore::SimpleLineLayout::RunResolver::Run::text):
56531
565322013-11-10  Antti Koivisto  <antti@apple.com>
56533
56534        Implement white-space property on simple line layout path
56535        https://bugs.webkit.org/show_bug.cgi?id=124122
56536
56537        Reviewed by Andreas Kling.
56538        
56539        Support all values of the white-space property and the tab-size property.
56540
56541        Tests: fast/forms/basic-textareas-simple-lines.html
56542               fast/text/embed-at-end-of-pre-wrap-line-simple-lines.html
56543               fast/text/whitespace/pre-wrap-line-test-simple-lines.html
56544               fast/text/whitespace/pre-wrap-long-word-simple-lines.html
56545               fast/text/whitespace/pre-wrap-spaces-after-newline-simple-lines.html
56546
56547        * rendering/SimpleLineLayout.cpp:
56548        (WebCore::SimpleLineLayout::canUseFor):
56549        (WebCore::SimpleLineLayout::isWhitespace):
56550        (WebCore::SimpleLineLayout::skipWhitespaces):
56551        (WebCore::SimpleLineLayout::textWidth):
56552        (WebCore::SimpleLineLayout::measureWord):
56553        (WebCore::SimpleLineLayout::createTextRuns):
56554        * rendering/SimpleLineLayoutFunctions.cpp:
56555        (WebCore::SimpleLineLayout::paintDebugBorders):
56556        (WebCore::SimpleLineLayout::paintFlow):
56557
565582013-11-10  Sergio Correia  <sergio.correia@openbossa.org>
56559
56560        Fix EFL build after r159027
56561        https://bugs.webkit.org/show_bug.cgi?id=124127
56562
56563        Reviewed by Anders Carlsson.
56564
56565        No new tests, build fix.
56566
56567        * page/Settings.in: Add std to numeric_limits, since we don't have
56568        'using std' directives anymore.
56569
565702013-11-10  Anders Carlsson  <andersca@apple.com>
56571
56572        Fix build.
56573
56574        * rendering/RenderMultiColumnBlock.cpp:
56575        (WebCore::RenderMultiColumnBlock::computeColumnCountAndWidth):
56576        (WebCore::RenderMultiColumnBlock::checkForPaginationLogicalHeightChange):
56577
565782013-11-10  Anders Carlsson  <andersca@apple.com>
56579
56580        Remove all 'std' using directives from WebCore
56581        https://bugs.webkit.org/show_bug.cgi?id=124125
56582
56583        Reviewed by Sam Weinig.
56584
56585        As per the coding style guidelines.
56586
56587        * loader/CrossOriginPreflightResultCache.cpp:
56588        (WebCore::CrossOriginPreflightResultCache::appendEntry):
56589        (WebCore::CrossOriginPreflightResultCache::canSkipPreflight):
56590        * loader/WorkerThreadableLoader.cpp:
56591        * loader/appcache/ApplicationCacheStorage.cpp:
56592        (WebCore::ApplicationCacheStorage::loadCache):
56593        * loader/appcache/ManifestParser.cpp:
56594        (WebCore::parseManifest):
56595        * loader/cache/MemoryCache.cpp:
56596        (WebCore::MemoryCache::deadCapacity):
56597        (WebCore::MemoryCache::lruListFor):
56598        * page/CaptionUserPreferencesMediaAF.cpp:
56599        * page/Chrome.cpp:
56600        * page/DOMTimer.cpp:
56601        (WebCore::DOMTimer::intervalClampedToMinimum):
56602        * page/FocusController.cpp:
56603        * page/Frame.cpp:
56604        (WebCore::Frame::resizePageRectsKeepingRatio):
56605        * page/PageGroupLoadDeferrer.cpp:
56606        * page/Settings.cpp:
56607        * page/animation/AnimationBase.cpp:
56608        (WebCore::solveStepsFunction):
56609        (WebCore::AnimationBase::fireAnimationEventsIfNeeded):
56610        (WebCore::AnimationBase::timeToNextService):
56611        (WebCore::AnimationBase::fractionalTime):
56612        (WebCore::AnimationBase::getTimeToNextEvent):
56613        * page/animation/KeyframeAnimation.cpp:
56614        (WebCore::KeyframeAnimation::fetchIntervalEndpointsForProperty):
56615        * platform/DateComponents.cpp:
56616        * platform/ScrollAnimator.cpp:
56617        (WebCore::ScrollAnimator::handleWheelEvent):
56618        * platform/ScrollView.cpp:
56619        (WebCore::ScrollView::unscaledVisibleContentSize):
56620        (WebCore::ScrollView::setScrollOffset):
56621        (WebCore::ScrollView::updateScrollbars):
56622        (WebCore::ScrollView::scrollContents):
56623        * platform/Scrollbar.cpp:
56624        (WebCore::Scrollbar::moveThumb):
56625        * platform/ScrollbarThemeComposite.cpp:
56626        (WebCore::usedTotalSize):
56627        (WebCore::ScrollbarThemeComposite::thumbPosition):
56628        (WebCore::ScrollbarThemeComposite::thumbLength):
56629        * platform/SharedBuffer.cpp:
56630        (WebCore::SharedBuffer::append):
56631        (WebCore::SharedBuffer::copyBufferAndClear):
56632        (WebCore::SharedBuffer::getSomeData):
56633        * platform/ThreadTimers.cpp:
56634        (WebCore::ThreadTimers::updateSharedTimer):
56635        * platform/Timer.cpp:
56636        (WebCore::TimerHeapLessThanFunction::operator()):
56637        (WebCore::TimerBase::heapPop):
56638        (WebCore::TimerBase::nextUnalignedFireInterval):
56639        * platform/URL.cpp:
56640        (WebCore::findHostnamesInMailToURL):
56641        (WebCore::portAllowed):
56642        * platform/audio/AudioResampler.cpp:
56643        (WebCore::AudioResampler::setRate):
56644        * platform/audio/AudioResamplerKernel.cpp:
56645        (WebCore::AudioResamplerKernel::process):
56646        * platform/audio/Distance.cpp:
56647        (WebCore::DistanceEffect::gain):
56648        * platform/audio/DynamicsCompressorKernel.cpp:
56649        (WebCore::DynamicsCompressorKernel::process):
56650        * platform/audio/EqualPowerPanner.cpp:
56651        (WebCore::EqualPowerPanner::pan):
56652        * platform/audio/HRTFDatabase.cpp:
56653        (WebCore::HRTFDatabase::indexFromElevationAngle):
56654        * platform/audio/HRTFElevation.cpp:
56655        (WebCore::HRTFElevation::createForSubject):
56656        * platform/audio/HRTFKernel.cpp:
56657        (WebCore::HRTFKernel::HRTFKernel):
56658        (WebCore::HRTFKernel::createInterpolatedKernel):
56659        * platform/audio/HRTFPanner.cpp:
56660        (WebCore::HRTFPanner::calculateDesiredAzimuthIndexAndBlend):
56661        * platform/audio/Reverb.cpp:
56662        * platform/audio/SincResampler.cpp:
56663        (WebCore::SincResampler::process):
56664        * platform/cf/URLCF.cpp:
56665        * platform/graphics/Color.cpp:
56666        (WebCore::makeRGB):
56667        (WebCore::makeRGBA):
56668        (WebCore::colorFloatToRGBAByte):
56669        (WebCore::Color::light):
56670        (WebCore::Color::dark):
56671        * platform/graphics/CrossfadeGeneratedImage.cpp:
56672        * platform/graphics/FloatQuad.cpp:
56673        (WebCore::min4):
56674        (WebCore::max4):
56675        (WebCore::withinEpsilon):
56676        * platform/graphics/FloatSize.cpp:
56677        (WebCore::FloatSize::isZero):
56678        * platform/graphics/FontFastPath.cpp:
56679        (WebCore::Font::floatWidthForSimpleText):
56680        * platform/graphics/FontPlatformData.cpp:
56681        * platform/graphics/GraphicsContext.cpp:
56682        * platform/graphics/RoundedRect.cpp:
56683        (WebCore::RoundedRect::Radii::expand):
56684        * platform/graphics/ShadowBlur.cpp:
56685        (WebCore::calculateLobes):
56686        (WebCore::computeSliceSizesFromRadii):
56687        * platform/graphics/SimpleFontData.cpp:
56688        (WebCore::SimpleFontData::initCharWidths):
56689        * platform/graphics/WidthIterator.cpp:
56690        (WebCore::WidthIterator::WidthIterator):
56691        (WebCore::WidthIterator::advanceInternal):
56692        * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
56693        (WebCore::InbandTextTrackPrivateAVF::processCue):
56694        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
56695        * platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm:
56696        * platform/graphics/avfoundation/objc/InbandTextTrackPrivateLegacyAVFObjC.mm:
56697        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
56698        (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration):
56699        (WebCore::MediaPlayerPrivateAVFoundationObjC::currentTime):
56700        * platform/graphics/ca/GraphicsLayerCA.cpp:
56701        (WebCore::GraphicsLayerCA::setOpacity):
56702        (WebCore::GraphicsLayerCA::setNeedsDisplay):
56703        (WebCore::GraphicsLayerCA::setupAnimation):
56704        (WebCore::clampedContentsScaleForScale):
56705        * platform/graphics/ca/mac/TileController.mm:
56706        (WebCore::TileController::getTileIndexRangeForRect):
56707        (WebCore::TileController::computeTileCoverageRect):
56708        * platform/graphics/cg/GraphicsContextCG.cpp:
56709        (WebCore::GraphicsContext::setPlatformShadow):
56710        (WebCore::computeLineBoundsAndAntialiasingModeForText):
56711        * platform/graphics/cg/ImageBufferCG.cpp:
56712        * platform/graphics/cg/ImageBufferDataCG.cpp:
56713        (WebCore::ImageBufferData::getData):
56714        * platform/graphics/cg/ImageSourceCG.cpp:
56715        * platform/graphics/filters/FEDropShadow.cpp:
56716        * platform/graphics/filters/FEGaussianBlur.cpp:
56717        (WebCore::boxBlur):
56718        (WebCore::FEGaussianBlur::platformApplyGeneric):
56719        (WebCore::FEGaussianBlur::calculateUnscaledKernelSize):
56720        (WebCore::FEGaussianBlur::calculateStdDeviation):
56721        * platform/graphics/gpu/Texture.cpp:
56722        (WebCore::Texture::updateSubRect):
56723        * platform/graphics/gpu/TilingData.cpp:
56724        (WebCore::computeNumTiles):
56725        (WebCore::TilingData::tileXIndexFromSrcCoord):
56726        (WebCore::TilingData::tileYIndexFromSrcCoord):
56727        * platform/graphics/mac/ComplexTextController.cpp:
56728        (WebCore::ComplexTextController::ComplexTextController):
56729        (WebCore::ComplexTextController::offsetForPosition):
56730        (WebCore::ComplexTextController::advance):
56731        (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
56732        * platform/graphics/mac/FontComplexTextMac.cpp:
56733        (WebCore::Font::floatWidthForComplexText):
56734        * platform/graphics/mac/FontMac.mm:
56735        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
56736        (WebCore::MediaPlayerPrivateQTKit::duration):
56737        * platform/graphics/mac/SimpleFontDataMac.mm:
56738        * platform/graphics/transforms/Matrix3DTransformOperation.cpp:
56739        * platform/graphics/transforms/MatrixTransformOperation.cpp:
56740        * platform/graphics/transforms/PerspectiveTransformOperation.cpp:
56741        * platform/graphics/transforms/RotateTransformOperation.cpp:
56742        * platform/graphics/transforms/TransformOperations.cpp:
56743        (WebCore::TransformOperations::blendByMatchingOperations):
56744        * platform/graphics/transforms/TransformationMatrix.cpp:
56745        (WebCore::clampEdgeValue):
56746        * platform/mac/ScrollAnimatorMac.mm:
56747        (WebCore::ScrollAnimatorMac::adjustScrollPositionIfNecessary):
56748        * platform/mac/ScrollViewMac.mm:
56749        (WebCore::ScrollView::platformSetContentsSize):
56750        (WebCore::ScrollView::platformSetScrollPosition):
56751        * platform/mac/ScrollbarThemeMac.mm:
56752        * platform/mac/ThemeMac.mm:
56753        * platform/mac/WebVideoFullscreenHUDWindowController.mm:
56754        (-[WebVideoFullscreenHUDWindowController incrementVolume]):
56755        (timeToString):
56756        * platform/network/HTTPHeaderMap.cpp:
56757        (WebCore::HTTPHeaderMap::copyData):
56758        * platform/network/ResourceRequestBase.cpp:
56759        * platform/network/ResourceResponseBase.cpp:
56760        (WebCore::ResourceResponseBase::parseCacheControlDirectives):
56761        * platform/network/cf/ResourceResponseCFNet.cpp:
56762        * platform/network/mac/ResourceResponseMac.mm:
56763        (WebCore::ResourceResponse::initNSURLResponse):
56764        * platform/text/TextBreakIteratorICU.cpp:
56765        (WebCore::textClone):
56766        (WebCore::textLatin1MoveInPrimaryContext):
56767        (WebCore::textLatin1MoveInPriorContext):
56768        (WebCore::textInChunkOrOutOfRange):
56769        (WebCore::textOpenLatin1):
56770        (WebCore::textUTF16MoveInPrimaryContext):
56771        (WebCore::textUTF16MoveInPriorContext):
56772        (WebCore::textOpenUTF16):
56773        * platform/text/TextCodecUTF16.cpp:
56774        (WebCore::TextCodecUTF16::encode):
56775        * platform/text/TextCodecUTF8.cpp:
56776        (WebCore::TextCodecUTF8::encode):
56777        * platform/text/TextStream.cpp:
56778        * platform/text/mac/LocaleMac.mm:
56779        * platform/text/mac/TextCodecMac.cpp:
56780        (WebCore::TextCodecMac::decode):
56781        * rendering/AutoTableLayout.cpp:
56782        (WebCore::AutoTableLayout::recalcColumn):
56783        (WebCore::AutoTableLayout::computeIntrinsicLogicalWidths):
56784        (WebCore::AutoTableLayout::applyPreferredLogicalWidthQuirks):
56785        (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
56786        (WebCore::AutoTableLayout::layout):
56787        * rendering/FixedTableLayout.cpp:
56788        (WebCore::FixedTableLayout::applyPreferredLogicalWidthQuirks):
56789        * rendering/FloatingObjects.cpp:
56790        (WebCore::FindNextFloatLogicalBottomAdapter::collectIfNeeded):
56791        (WebCore::FloatingObjects::logicalRightOffsetForPositioningFloat):
56792        (WebCore::FloatingObjects::logicalRightOffset):
56793        * rendering/InlineBox.cpp:
56794        * rendering/InlineFlowBox.cpp:
56795        (WebCore::InlineFlowBox::placeBoxRangeInInlineDirection):
56796        (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
56797        (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
56798        (WebCore::InlineFlowBox::computeMaxLogicalTop):
56799        (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
56800        (WebCore::InlineFlowBox::addBorderOutsetVisualOverflow):
56801        (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
56802        (WebCore::InlineFlowBox::nodeAtPoint):
56803        (WebCore::InlineFlowBox::constrainToLineTopAndBottomIfNeeded):
56804        (WebCore::InlineFlowBox::computeOverAnnotationAdjustment):
56805        (WebCore::InlineFlowBox::computeUnderAnnotationAdjustment):
56806        (WebCore::InlineFlowBox::collectLeafBoxesInLogicalOrder):
56807        * rendering/InlineTextBox.cpp:
56808        (WebCore::InlineTextBox::isSelected):
56809        (WebCore::InlineTextBox::localSelectionRect):
56810        (WebCore::InlineTextBox::placeEllipsisBox):
56811        (WebCore::InlineTextBox::applyShadowToGraphicsContext):
56812        (WebCore::InlineTextBox::paint):
56813        (WebCore::InlineTextBox::selectionStartEnd):
56814        (WebCore::InlineTextBox::paintSelection):
56815        (WebCore::InlineTextBox::paintCompositionBackground):
56816        (WebCore::computeUnderlineOffset):
56817        (WebCore::InlineTextBox::paintDecoration):
56818        (WebCore::InlineTextBox::paintDocumentMarker):
56819        (WebCore::InlineTextBox::paintTextMatchMarker):
56820        (WebCore::InlineTextBox::computeRectForReplacementMarker):
56821        (WebCore::InlineTextBox::paintCompositionUnderline):
56822        * rendering/RenderBlock.cpp:
56823        (WebCore::RenderBlock::computeOverflow):
56824        (WebCore::RenderBlock::computeStartPositionDeltaForChildAvoidingFloats):
56825        (WebCore::RenderBlock::paintChild):
56826        (WebCore::RenderBlock::blockSelectionGap):
56827        (WebCore::RenderBlock::logicalLeftSelectionGap):
56828        (WebCore::RenderBlock::logicalRightSelectionGap):
56829        (WebCore::RenderBlock::calcColumnWidth):
56830        (WebCore::RenderBlock::adjustRectForColumns):
56831        (WebCore::RenderBlock::computeIntrinsicLogicalWidths):
56832        (WebCore::RenderBlock::computePreferredLogicalWidths):
56833        (WebCore::RenderBlock::adjustIntrinsicLogicalWidthsForColumns):
56834        (WebCore::updatePreferredWidth):
56835        (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
56836        (WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
56837        * rendering/RenderBlockFlow.cpp:
56838        (WebCore::RenderBlockFlow::clearFloats):
56839        (WebCore::RenderBlockFlow::layoutBlock):
56840        (WebCore::RenderBlockFlow::layoutBlockChild):
56841        (WebCore::RenderBlockFlow::collapseMargins):
56842        (WebCore::RenderBlockFlow::clearFloatsIfNeeded):
56843        (WebCore::RenderBlockFlow::marginBeforeEstimateForChild):
56844        (WebCore::RenderBlockFlow::estimateLogicalTopPosition):
56845        (WebCore::RenderBlockFlow::setCollapsedBottomMargin):
56846        (WebCore::RenderBlockFlow::handleAfterSideOfBlock):
56847        (WebCore::calculateMinimumPageHeight):
56848        (WebCore::RenderBlockFlow::adjustLinePositionForPagination):
56849        (WebCore::RenderBlockFlow::removeFloatingObject):
56850        (WebCore::RenderBlockFlow::computeLogicalLocationForFloat):
56851        (WebCore::RenderBlockFlow::positionNewFloats):
56852        (WebCore::RenderBlockFlow::lowestFloatLogicalBottom):
56853        (WebCore::RenderBlockFlow::addOverhangingFloats):
56854        (WebCore::RenderBlockFlow::getClearDelta):
56855        (WebCore::RenderBlockFlow::adjustForBorderFit):
56856        (WebCore::RenderBlockFlow::fitBorderToLinesIfNeeded):
56857        (WebCore::RenderBlockFlow::updateLogicalHeight):
56858        (WebCore::RenderBlockFlow::positionForPointWithInlineChildren):
56859        (WebCore::RenderBlockFlow::addFocusRingRectsForInlineChildren):
56860        (WebCore::RenderBlockFlow::relayoutForPagination):
56861        * rendering/RenderBlockLineLayout.cpp:
56862        (WebCore::updateLogicalWidthForLeftAlignedBlock):
56863        (WebCore::updateLogicalWidthForRightAlignedBlock):
56864        (WebCore::updateLogicalWidthForCenterAlignedBlock):
56865        (WebCore::setLogicalWidthForTextRun):
56866        (WebCore::RenderBlockFlow::computeInlineDirectionPositionsForLine):
56867        (WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):
56868        (WebCore::RenderBlockFlow::layoutLineBoxes):
56869        (WebCore::RenderBlockFlow::checkFloatsInCleanLine):
56870        (WebCore::RenderBlockFlow::checkPaginationAndFloatsAtEndLine):
56871        (WebCore::tryHyphenating):
56872        * rendering/RenderBox.cpp:
56873        (WebCore::RenderBox::scrollWidth):
56874        (WebCore::RenderBox::scrollHeight):
56875        (WebCore::RenderBox::constrainLogicalWidthInRegionByMinMax):
56876        (WebCore::RenderBox::constrainLogicalHeightByMinMax):
56877        (WebCore::RenderBox::constrainContentBoxLogicalHeightByMinMax):
56878        (WebCore::RenderBox::adjustBorderBoxLogicalWidthForBoxSizing):
56879        (WebCore::RenderBox::adjustBorderBoxLogicalHeightForBoxSizing):
56880        (WebCore::RenderBox::adjustContentBoxLogicalWidthForBoxSizing):
56881        (WebCore::RenderBox::adjustContentBoxLogicalHeightForBoxSizing):
56882        (WebCore::RenderBox::repaintLayerRectsForImage):
56883        (WebCore::RenderBox::shrinkLogicalWidthToAvoidFloats):
56884        (WebCore::RenderBox::containingBlockLogicalWidthForContentInRegion):
56885        (WebCore::RenderBox::containingBlockAvailableLineWidthInRegion):
56886        (WebCore::RenderBox::perpendicularContainingBlockLogicalHeight):
56887        (WebCore::RenderBox::computeLogicalWidthInRegion):
56888        (WebCore::RenderBox::computeIntrinsicLogicalWidthUsing):
56889        (WebCore::RenderBox::computeLogicalWidthInRegionUsing):
56890        (WebCore::RenderBox::computeInlineDirectionMargins):
56891        (WebCore::RenderBox::computeLogicalHeight):
56892        (WebCore::RenderBox::computePercentageLogicalHeight):
56893        (WebCore::RenderBox::computeReplacedLogicalWidthRespectingMinMaxWidth):
56894        (WebCore::RenderBox::computeReplacedLogicalHeightRespectingMinMaxHeight):
56895        (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
56896        (WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
56897        (WebCore::RenderBox::computePositionedLogicalWidthUsing):
56898        (WebCore::RenderBox::computePositionedLogicalHeightUsing):
56899        (WebCore::RenderBox::applyVisualEffectOverflow):
56900        (WebCore::RenderBox::addLayoutOverflow):
56901        * rendering/RenderBoxModelObject.cpp:
56902        (WebCore::RenderBoxModelObject::calculateFillTileSize):
56903        (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setNoRepeatX):
56904        (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setNoRepeatY):
56905        (WebCore::RenderBoxModelObject::BackgroundImageGeometry::useFixedAttachment):
56906        (WebCore::RenderBoxModelObject::paintNinePieceImage):
56907        (WebCore::RenderBoxModelObject::paintOneBorderSide):
56908        (WebCore::calculateAdjustedInnerBorder):
56909        (WebCore::RenderBoxModelObject::paintBoxShadow):
56910        (WebCore::RenderBoxModelObject::localCaretRectForEmptyElement):
56911        * rendering/RenderDeprecatedFlexibleBox.cpp:
56912        (WebCore::FlexBoxIterator::next):
56913        (WebCore::RenderDeprecatedFlexibleBox::computeIntrinsicLogicalWidths):
56914        (WebCore::RenderDeprecatedFlexibleBox::computePreferredLogicalWidths):
56915        (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
56916        (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
56917        (WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
56918        (WebCore::RenderDeprecatedFlexibleBox::allowedChildFlex):
56919        * rendering/RenderFileUploadControl.cpp:
56920        (WebCore::RenderFileUploadControl::maxFilenameWidth):
56921        (WebCore::RenderFileUploadControl::computeIntrinsicLogicalWidths):
56922        (WebCore::RenderFileUploadControl::computePreferredLogicalWidths):
56923        * rendering/RenderImage.cpp:
56924        (WebCore::RenderImage::setImageSizeForAltText):
56925        * rendering/RenderInline.cpp:
56926        (WebCore::computeMargin):
56927        (WebCore::RenderInline::linesVisualOverflowBoundingBox):
56928        (WebCore::RenderInline::paintOutline):
56929        (WebCore::RenderInline::paintOutlineForLine):
56930        * rendering/RenderLayer.cpp:
56931        (WebCore::RenderLayer::clampScrollOffset):
56932        (WebCore::RenderLayer::scrollRectToVisible):
56933        (WebCore::RenderLayer::visibleContentRect):
56934        (WebCore::RenderLayer::updateScrollbarsAfterLayout):
56935        (WebCore::RenderLayer::hitTestOverflowControls):
56936        (WebCore::RenderLayer::hitTestLayer):
56937        (WebCore::RenderLayer::calculateLayerBounds):
56938        * rendering/RenderLayerBacking.cpp:
56939        * rendering/RenderLayerModelObject.cpp:
56940        * rendering/RenderLineBoxList.cpp:
56941        (WebCore::RenderLineBoxList::rangeIntersectsRect):
56942        (WebCore::RenderLineBoxList::anyLineIntersectsRect):
56943        (WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
56944        (WebCore::RenderLineBoxList::paint):
56945        * rendering/RenderListBox.cpp:
56946        (WebCore::RenderListBox::updateFromElement):
56947        (WebCore::RenderListBox::layout):
56948        (WebCore::RenderListBox::computePreferredLogicalWidths):
56949        (WebCore::RenderListBox::size):
56950        (WebCore::RenderListBox::numVisibleItems):
56951        (WebCore::RenderListBox::panScroll):
56952        (WebCore::RenderListBox::scrollHeight):
56953        * rendering/RenderListItem.cpp:
56954        * rendering/RenderListMarker.cpp:
56955        * rendering/RenderMarquee.cpp:
56956        (WebCore::RenderMarquee::marqueeSpeed):
56957        (WebCore::RenderMarquee::computePosition):
56958        (WebCore::RenderMarquee::timerFired):
56959        * rendering/RenderMediaControls.cpp:
56960        * rendering/RenderMenuList.cpp:
56961        (WebCore::RenderMenuList::updateOptionsWidth):
56962        (WebCore::RenderMenuList::computeIntrinsicLogicalWidths):
56963        (WebCore::RenderMenuList::computePreferredLogicalWidths):
56964        * rendering/RenderMeter.cpp:
56965        * rendering/RenderMultiColumnBlock.cpp:
56966        * rendering/RenderMultiColumnSet.cpp:
56967        (WebCore::RenderMultiColumnSet::heightAdjustedForSetOffset):
56968        (WebCore::RenderMultiColumnSet::calculateBalancedHeight):
56969        (WebCore::RenderMultiColumnSet::updateLogicalWidth):
56970        * rendering/RenderNamedFlowFragment.cpp:
56971        * rendering/RenderObject.cpp:
56972        (WebCore::RenderObject::drawLineForBoxSide):
56973        (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
56974        (WebCore::RenderObject::caretMaxOffset):
56975        * rendering/RenderProgress.cpp:
56976        * rendering/RenderRegion.cpp:
56977        (WebCore::RenderRegion::overflowRectForFlowThreadPortion):
56978        * rendering/RenderReplaced.cpp:
56979        (WebCore::RenderReplaced::shouldPaint):
56980        (WebCore::RenderReplaced::computeReplacedLogicalWidth):
56981        (WebCore::RenderReplaced::computePreferredLogicalWidths):
56982        * rendering/RenderRubyBase.cpp:
56983        * rendering/RenderRubyRun.cpp:
56984        (WebCore::RenderRubyRun::getOverhang):
56985        * rendering/RenderRubyText.cpp:
56986        (WebCore::RenderRubyText::adjustInlineDirectionLineBounds):
56987        * rendering/RenderScrollbarPart.cpp:
56988        (WebCore::RenderScrollbarPart::computeScrollbarWidth):
56989        (WebCore::RenderScrollbarPart::computeScrollbarHeight):
56990        * rendering/RenderSearchField.cpp:
56991        (WebCore::RenderSearchField::computeControlLogicalHeight):
56992        * rendering/RenderTable.cpp:
56993        (WebCore::RenderTable::updateLogicalWidth):
56994        (WebCore::RenderTable::convertStyleLogicalHeightToComputedHeight):
56995        (WebCore::RenderTable::layout):
56996        (WebCore::RenderTable::computePreferredLogicalWidths):
56997        (WebCore::RenderTable::calcBorderStart):
56998        (WebCore::RenderTable::calcBorderEnd):
56999        (WebCore::RenderTable::outerBorderBefore):
57000        (WebCore::RenderTable::outerBorderAfter):
57001        (WebCore::RenderTable::outerBorderStart):
57002        (WebCore::RenderTable::outerBorderEnd):
57003        * rendering/RenderTableCell.cpp:
57004        (WebCore::RenderTableCell::parseColSpanFromDOM):
57005        (WebCore::RenderTableCell::parseRowSpanFromDOM):
57006        (WebCore::RenderTableCell::logicalWidthFromColumns):
57007        (WebCore::RenderTableCell::computePreferredLogicalWidths):
57008        (WebCore::RenderTableCell::layout):
57009        (WebCore::RenderTableCell::setOverrideLogicalContentHeightFromRowHeight):
57010        (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
57011        (WebCore::RenderTableCell::alignLeftRightBorderPaintRect):
57012        (WebCore::RenderTableCell::alignTopBottomBorderPaintRect):
57013        * rendering/RenderTableSection.cpp:
57014        (WebCore::RenderTableSection::ensureRows):
57015        (WebCore::RenderTableSection::calcRowLogicalHeight):
57016        (WebCore::RenderTableSection::distributeExtraLogicalHeightToPercentRows):
57017        (WebCore::RenderTableSection::layoutRows):
57018        (WebCore::RenderTableSection::firstLineBaseline):
57019        (WebCore::RenderTableSection::removeCachedCollapsedBorders):
57020        (WebCore::RenderTableSection::setCachedCollapsedBorder):
57021        (WebCore::RenderTableSection::cachedCollapsedBorder):
57022        * rendering/RenderText.cpp:
57023        (WebCore::makeCapitalized):
57024        (WebCore::RenderText::absoluteRectsForRange):
57025        (WebCore::RenderText::absoluteQuadsForRange):
57026        (WebCore::maxWordFragmentWidth):
57027        (WebCore::RenderText::computePreferredLogicalWidths):
57028        * rendering/RenderTextControl.cpp:
57029        (WebCore::RenderTextControl::computePreferredLogicalWidths):
57030        * rendering/RenderTextControlSingleLine.cpp:
57031        * rendering/RenderThemeMac.mm:
57032        (WebCore::RenderThemeMac::paintProgressBar):
57033        (WebCore::RenderThemeMac::paintMenuListButton):
57034        * rendering/RenderWidget.cpp:
57035        * rendering/RootInlineBox.cpp:
57036        (WebCore::RootInlineBox::alignBoxesInBlockDirection):
57037        (WebCore::RootInlineBox::beforeAnnotationsAdjustment):
57038        (WebCore::RootInlineBox::selectionTopAdjustedForPrecedingBlock):
57039        (WebCore::RootInlineBox::blockDirectionPointInLine):
57040        (WebCore::RootInlineBox::paddedLayoutOverflowRect):
57041        (WebCore::setAscentAndDescent):
57042        (WebCore::RootInlineBox::ascentAndDescentForBox):
57043        * rendering/mathml/RenderMathMLRoot.cpp:
57044        (WebCore::RenderMathMLRoot::layout):
57045        * rendering/style/RenderStyle.cpp:
57046        (WebCore::calcConstraintScaleFor):
57047        (WebCore::RenderStyle::setFontSize):
57048        (WebCore::RenderStyle::getShadowExtent):
57049        (WebCore::RenderStyle::getShadowInsetExtent):
57050        (WebCore::RenderStyle::getShadowHorizontalExtent):
57051        (WebCore::RenderStyle::getShadowVerticalExtent):
57052        * rendering/style/SVGRenderStyle.cpp:
57053        * rendering/style/ShadowData.cpp:
57054        (WebCore::calculateShadowExtent):
57055        * rendering/svg/RenderSVGResourceFilter.cpp:
57056        * rendering/svg/RenderSVGRoot.cpp:
57057        * rendering/svg/SVGInlineFlowBox.cpp:
57058        (WebCore::SVGInlineFlowBox::computeTextMatchMarkerRectForRenderer):
57059        * rendering/svg/SVGInlineTextBox.cpp:
57060        (WebCore::SVGInlineTextBox::localSelectionRect):
57061        * svg/SVGAnimatedNumber.cpp:
57062        * svg/SVGAnimatedNumberOptionalNumber.cpp:
57063        * svg/animation/SMILTimeContainer.cpp:
57064        (WebCore::SMILTimeContainer::startTimer):
57065        (WebCore::SMILTimeContainer::updateAnimations):
57066        * svg/animation/SVGSMILElement.cpp:
57067        (WebCore::SVGSMILElement::simpleDuration):
57068        (WebCore::SVGSMILElement::repeatingDuration):
57069        (WebCore::SVGSMILElement::resolveActiveEnd):
57070        (WebCore::SVGSMILElement::resolveInterval):
57071        (WebCore::SVGSMILElement::resolveFirstInterval):
57072        (WebCore::SVGSMILElement::resolveNextInterval):
57073        (WebCore::SVGSMILElement::calculateAnimationPercentAndRepeat):
57074        * xml/XMLTreeViewer.cpp:
57075        * xml/parser/XMLDocumentParser.cpp:
57076        * xml/parser/XMLDocumentParserLibxml2.cpp:
57077        (WebCore::OffsetBuffer::readOutBytes):
57078
570792013-11-10  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
57080
57081        [AX] Clean up static_cast<> to cast from AccessibilityObject 
57082        https://bugs.webkit.org/show_bug.cgi?id=124032
57083
57084        Reviewed by Mario Sanchez Prada.
57085
57086        ACCESSIBILITY_OBJECT_TYPE_CASTS can support more helpful casting functions.
57087        So, we need to use them as much as possible. This patch cleans up all static_cast<> in accessibility.
57088
57089        This patch generates toAccessibilityFoo() in order to replace static_cast<> with it. Below toAccessibilityFoo()
57090        are generated.
57091
57092        - toAccessibilityARIAGridRow()
57093        - toAccessibilityImageMapLink()
57094        - toAccessibilityListBox()
57095        - toAccessibilityListBoxOption()
57096        - toAccessibilityMenuListOption()
57097        - toAccessibilityMenuListPopup()
57098        - toAccessibilityScrollbar()
57099        - toAccessibilitySlider()
57100
57101        No new tests, no behavior changes.
57102
57103        * accessibility/AXObjectCache.cpp:
57104        (WebCore::AXObjectCache::focusedImageMapUIElement):
57105        * accessibility/AccessibilityARIAGridRow.h:
57106        * accessibility/AccessibilityImageMapLink.h:
57107        * accessibility/AccessibilityListBox.cpp:
57108        (WebCore::AccessibilityListBox::setSelectedChildren):
57109        (WebCore::AccessibilityListBox::selectedChildren):
57110        (WebCore::AccessibilityListBox::listBoxOptionAccessibilityObject):
57111        * accessibility/AccessibilityListBox.h:
57112        * accessibility/AccessibilityListBoxOption.h:
57113        * accessibility/AccessibilityMenuList.cpp:
57114        (WebCore::AccessibilityMenuList::addChildren):
57115        (WebCore::AccessibilityMenuList::didUpdateActiveOption):
57116        * accessibility/AccessibilityMenuListOption.h:
57117        * accessibility/AccessibilityMenuListPopup.cpp:
57118        (WebCore::AccessibilityMenuListPopup::menuListOptionAccessibilityObject):
57119        * accessibility/AccessibilityMenuListPopup.h:
57120        * accessibility/AccessibilityObject.h:
57121        (WebCore::AccessibilityObject::isListBoxOption):
57122        (WebCore::AccessibilityObject::isSliderThumb):
57123        * accessibility/AccessibilityRenderObject.cpp:
57124        (WebCore::AccessibilityRenderObject::getDocumentLinks):
57125        (WebCore::AccessibilityRenderObject::addImageMapChildren):
57126        (WebCore::AccessibilityRenderObject::addTextFieldChildren):
57127        * accessibility/AccessibilityScrollView.cpp:
57128        (WebCore::AccessibilityScrollView::addChildScrollbar):
57129        * accessibility/AccessibilityScrollbar.h:
57130        * accessibility/AccessibilitySlider.cpp:
57131        (WebCore::AccessibilitySlider::addChildren):
57132        * accessibility/AccessibilitySlider.h:
57133        * accessibility/AccessibilitySpinButton.cpp:
57134        (WebCore::AccessibilitySpinButton::addChildren):
57135        * accessibility/atk/WebKitAccessibleInterfaceSelection.cpp:
57136        (webkitAccessibleSelectionClearSelection):
57137        (webkitAccessibleSelectionSelectAllSelection):
57138        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
57139        (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
57140        (-[WebAccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
57141        * rendering/RenderMenuList.cpp:
57142        (WebCore::RenderMenuList::didUpdateActiveOption):
57143
571442013-11-10  Andreas Kling  <akling@apple.com>
57145
57146        Rebaseline bindings tests after r158997.
57147
57148        * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
57149
571502013-11-10  Brendan Long  <b.long@cablelabs.com>
57151
57152        [GStreamer] Consolidate more code into TrackPrivateBaseGStreamer
57153        https://bugs.webkit.org/show_bug.cgi?id=124020
57154
57155        Reviewed by Philippe Normand.
57156
57157        No new tests because this is just refactoring.
57158
57159        * platform/graphics/gstreamer/AudioTrackPrivateGStreamer.cpp:
57160        (WebCore::AudioTrackPrivateGStreamer::AudioTrackPrivateGStreamer): Don't pass playbin to TrackPrivateBaseGStreamer, and do pass a pointer to "this".
57161        (WebCore::AudioTrackPrivateGStreamer::disconnect): Clear m_playbin().
57162        * platform/graphics/gstreamer/AudioTrackPrivateGStreamer.h: Move labelChanged() and languageChanged() to TrackPrivateBaseGStreamer. Move m_playbin to this class (along with disconnect() to clear it).
57163        * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp: Move tag handling, pad and index to TrackPrivateBaseGStreamer.
57164        (WebCore::textTrackPrivateEventCallback):
57165        (WebCore::InbandTextTrackPrivateGStreamer::InbandTextTrackPrivateGStreamer):
57166        (WebCore::InbandTextTrackPrivateGStreamer::disconnect):
57167        * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.h:
57168        * platform/graphics/gstreamer/TextCombinerGStreamer.cpp: Add WebKitTextCombinerPad with "tags" property, set in the same was as input-selector's pads.
57169        (webkit_text_combiner_pad_init): Initialize tags to 0.
57170        (webkitTextCombinerPadFinalize): Clear tags.
57171        (webkitTextCombinerPadGetProperty): Handling "tags" property.
57172        (webkitTextCombinerPadEvent): Changed to be a pad event function instead of a pad probe, and now intercepts tags and merges them (like input-selector pads do).
57173        (webkitTextCombinerRequestNewPad): Using WebKitTextCombinerPad instead of just GhostPad.
57174        (webkit_text_combiner_pad_class_init): Setup WebKitTextCombinerPad.
57175        * platform/graphics/gstreamer/TextCombinerGStreamer.h: Remove superfluous code.
57176        * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
57177        (WebCore::TrackPrivateBaseGStreamer::TrackPrivateBaseGStreamer): Use "notify::active" so we don't need a playbin, and immediately check for tags after the constructor.
57178        (WebCore::TrackPrivateBaseGStreamer::disconnect): Remove m_playbin.
57179        (WebCore::TrackPrivateBaseGStreamer::getTag): Refactored out from notifyTrackOfTagsChanged.
57180        (WebCore::TrackPrivateBaseGStreamer::notifyTrackOfTagsChanged): Simplify using m_owner (so we can call labelChanged() and languageChanged() directly), and use getTag() above.
57181        * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h: Add m_owner to we can access the owning track, and change some functions to match our needs better.
57182        (WebCore::TrackPrivateBaseGStreamer::setActive): Add empty default since InbandTextTrackPrivateGStreamer doesn't need this.
57183        * platform/graphics/gstreamer/VideoTrackPrivateGStreamer.cpp: Same as AudioTrackPrivateGStreamer.
57184        (WebCore::VideoTrackPrivateGStreamer::VideoTrackPrivateGStreamer):
57185        (WebCore::VideoTrackPrivateGStreamer::disconnect):
57186        * platform/graphics/gstreamer/VideoTrackPrivateGStreamer.h: Same as AudioTrackPrivateGStreamer.
57187
571882013-11-10  Andreas Kling  <akling@apple.com>
57189
57190        Generate type casting helpers for Widget classes.
57191        <https://webkit.org/b/124120>
57192
57193        Add a WIDGET_TYPE_CASTS macro and replace all the hand-written
57194        toFoo() helpers we had for Widget subclasses. Fixed up a handful
57195        of places that were still using static_cast.
57196
57197        Reviewed by Antti Koivisto.
57198
571992013-11-10  Andreas Kling  <akling@apple.com>
57200
57201        Remove unused FragmentationDisabler class.
57202        <https://webkit.org/b/124118>
57203
57204        This RAII object was added in r144744 to avoid a crash when using
57205        MathML inside CSS regions. Its only user was removed in r157070.
57206
57207        Reviewed by Antti Koivisto.
57208
572092013-11-10  Andreas Kling  <akling@apple.com>
57210
57211        Simplify some is-this-a-MathML-element? checks.
57212        <https://webkit.org/b/124119>
57213
57214        As of r158198, the MathML-ness of an Element is determined by
57215        a Node flag, so there's no need to cast to Element before checking
57216        on this. Simplify accordingly.
57217
57218        Reviewed by Antti Koivisto.
57219
572202013-11-10  Andreas Kling  <akling@apple.com>
57221
57222        Remove RenderTheme::shouldOpenPickerWithF4Key().
57223
57224        Rubber-stamped by Anders Carlsson.
57225
572262013-11-09  Andreas Kling  <akling@apple.com>
57227
57228        CSSValuePool::createFontFamilyValue() should return PassRef.
57229        <https://webkit.org/b/124114>
57230
57231        Unlike createFontFaceValue(), createFontFamilyValue() can never
57232        fail to return an object and thus should return PassRef.
57233
57234        Reviewed by Anders Carlsson.
57235
572362013-11-09  Andreas Kling  <akling@apple.com>
57237
57238        RenderIFrame should display its name correctly in DRT output.
57239        <https://webkit.org/b/124117>
57240
57241        Nuke an age-old FIXME about making RenderIFrame show its true name
57242        in DRT output. No more "RenderPartObject {IFRAME}"!
57243
57244        Reviewed by Anders Carlsson.
57245
572462013-11-09  Andreas Kling  <akling@apple.com>
57247
57248        SVGTextMetricsBuilder::walkTree() should take a RenderElement.
57249        <https://webkit.org/b/124105>
57250
57251        Make walkTree() take a RenderElement so we can use the non-virtual
57252        firstChild() internally. All call sites had pointers to compatible
57253        objects already.
57254
57255        Reviewed by Anders Carlsson.
57256
572572013-11-09  Andreas Kling  <akling@apple.com>
57258
57259        RenderMathMLFenced should pass around operators in tighter types.
57260        <https://webkit.org/b/124115>
57261
57262        Store operator renderers in RenderMathMLOperator pointers instead
57263        of passing them around as RenderObject.
57264
57265        Reviewed by Martin Robinson.
57266
572672013-11-09  Andreas Kling  <akling@apple.com>
57268
57269        Use RENDER_OBJECT_TYPE_CASTS for more types.
57270        <https://webkit.org/b/124112>
57271
57272        Generate toRenderFoo() type casting helpers for these classes:
57273
57274            - RenderCombineText
57275            - RenderDetailsMarker
57276            - RenderListMarker
57277            - RenderVideo
57278            - RenderView
57279
57280        Reviewed by Anders Carlsson.
57281
572822013-11-09  Andreas Kling  <akling@apple.com>
57283
57284        Move MathML type checking virtuals to RenderObject.
57285        <https://webkit.org/b/124111>
57286
57287        Previously, checking the type of a MathML renderer would require
57288        that you first check if it's a RenderMathMLBlock, and then casting
57289        to that type to access the check you really wanted.
57290
57291        This change moves all the isRenderMathMLFoo() virtual functions
57292        to RenderObject. I also made sure all the overloads were private
57293        and marked them OVERRIDE/FINAL as appropriate.
57294
57295        Finally I replaced all the hand-written casting functions with
57296        autogenerated ones using RENDER_OBJECT_TYPE_CASTS.
57297
57298        Reviewed by Anders Carlsson.
57299
573002013-11-09  Martin Robinson  <mrobinson@igalia.com>
57301
57302        [MathML] Poor spacing around delimiters in MathML Torture Test 14
57303        https://bugs.webkit.org/show_bug.cgi?id=122837
57304
57305        Reviewed by Brent Fulgham.
57306
57307        Instead of stretching the vertical bar with the stretchable version, just repeat
57308        the normal vertical bar. This follows what Gecko does when rendering tall vertical
57309        bars and also works around an issue with STIX fonts leading to poor spacing in
57310        formulas.
57311
57312        * rendering/mathml/RenderMathMLOperator.cpp: Stretch the vertical bar with the
57313        normal variant.
57314
573152013-11-09  Anders Carlsson  <andersca@apple.com>
57316
57317        Encode form data using the KeyedEncoder
57318        https://bugs.webkit.org/show_bug.cgi?id=124107
57319
57320        Reviewed by Sam Weinig.
57321
57322        * platform/KeyedCoding.h:
57323        (WebCore::KeyedEncoder::encodeEnum):
57324        * platform/network/FormData.cpp:
57325        (WebCore::encodeElement):
57326        (WebCore::FormData::encode):
57327        * platform/network/FormData.h:
57328
573292013-11-09  Sam Weinig  <sam@webkit.org>
57330
57331        Modernize CanvasObserverProxy
57332        https://bugs.webkit.org/show_bug.cgi?id=124106
57333
57334        Reviewed by Anders Carlsson.
57335
57336        * css/CSSCanvasValue.h:
57337
573382013-11-09  Patrick Gansterer  <paroga@webkit.org>
57339
57340        Move RunLoop from WebCore to WTF
57341        https://bugs.webkit.org/show_bug.cgi?id=116606
57342
57343        Reviewed by Anders Carlsson.
57344
57345        * CMakeLists.txt:
57346        * GNUmakefile.list.am:
57347        * PlatformBlackBerry.cmake:
57348        * PlatformEfl.cmake:
57349        * PlatformGTK.cmake:
57350        * PlatformWin.cmake:
57351        * WebCore.exp.in:
57352        * WebCore.vcxproj/WebCore.vcxproj:
57353        * WebCore.xcodeproj/project.pbxproj:
57354        * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
57355        * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
57356
573572013-11-09  Andreas Kling  <akling@apple.com>
57358
57359        Tighten typing in SVGResourcesCycleSolver a bit.
57360        <https://webkit.org/b/124104>
57361
57362        Make the SVGResourcesCycleSolver constructor take a RenderElement&
57363        and a SVGResources&.
57364
57365        While I was in the neighborhood, also converted one loop to use a
57366        renderer iterator instead of walking siblings manually.
57367
57368        Finally used "auto" to clean up some overly wordy loops.
57369
57370        Reviewed by Anders Carlsson.
57371
573722013-11-09  Andreas Kling  <akling@apple.com>
57373
57374        Beat SVGRenderSupport with the RenderElement stick.
57375        <https://webkit.org/b/124102>
57376
57377        Tighten up all the SVGRenderSupport helper functions by making them
57378        take const RenderElements references instead of raw RenderObject
57379        pointers as much as possible.
57380
57381        This tunes up a bunch of branchy style() calls.
57382
57383        The patch looks big but it's mostly mechanical. I just changed the
57384        signatures and then worked backwards until everything built again.
57385
57386        Reviewed by Antti Koivisto.
57387
573882013-11-09  Andreas Kling  <akling@apple.com>
57389
57390        SVGTextLayoutAttributes always has a RenderSVGInlineText.
57391        <https://webkit.org/b/124101>
57392
57393        No SVGTextLayoutAttributes object is without a RenderSVGInlineText
57394        "context" so make context() return a reference.
57395
57396        Reviewed by Antti Koivisto.
57397
573982013-11-09  Andreas Kling  <akling@apple.com>
57399
57400        Move BindingSecurity stuff under JSDOMBinding umbrella.
57401        <https://webkit.org/b/124099>
57402
57403        We are hitting shouldAllowAccessToDOMWindow() pretty hard on the
57404        demo here: <http://www.jasondavies.com/maps/rotate/>
57405
57406        Putting it together with the rest of the JSDOMBinding code takes
57407        CPU time spent in there from 8.7% to 6.5%. The abstraction was
57408        only used to support alternate JS engines in the past.
57409
57410        Reviewed by Antti Koivisto.
57411
574122013-11-08  Brady Eidson  <beidson@apple.com>
57413
57414        Merge IDBDatabaseBackendInterface and IDBDatabaseBackendImpl
57415        https://bugs.webkit.org/show_bug.cgi?id=124088
57416
57417        Reviewed by Tim Horton.
57418+
57419        * CMakeLists.txt:
57420        * GNUmakefile.list.am:
57421        * WebCore.vcxproj/WebCore.vcxproj:
57422        * WebCore.xcodeproj/project.pbxproj:
57423
57424        * Modules/indexeddb/IDBDatabaseBackendInterface.h: Removed.
57425
57426        * Modules/indexeddb/IDBDatabaseBackend.cpp: Renamed from Source/WebCore/Modules/indexeddb/IDBDatabaseBackendImpl.cpp.
57427        * Modules/indexeddb/IDBDatabaseBackend.h: Renamed from Source/WebCore/Modules/indexeddb/IDBDatabaseBackendImpl.h.
57428
57429        * Modules/indexeddb/IDBBackingStoreInterface.h:
57430        * Modules/indexeddb/IDBCallbacks.h:
57431        * Modules/indexeddb/IDBCursor.cpp:
57432        * Modules/indexeddb/IDBCursorBackend.cpp:
57433        * Modules/indexeddb/IDBCursorBackend.h:
57434        * Modules/indexeddb/IDBDatabase.cpp:
57435        * Modules/indexeddb/IDBDatabase.h:
57436        * Modules/indexeddb/IDBFactoryBackendInterface.h:
57437        * Modules/indexeddb/IDBIndex.cpp:
57438        * Modules/indexeddb/IDBIndex.h:
57439        * Modules/indexeddb/IDBIndexWriter.h:
57440        * Modules/indexeddb/IDBObjectStore.cpp:
57441        * Modules/indexeddb/IDBObjectStore.h:
57442        * Modules/indexeddb/IDBOpenDBRequest.cpp:
57443        * Modules/indexeddb/IDBOpenDBRequest.h:
57444        * Modules/indexeddb/IDBPendingDeleteCall.h:
57445        * Modules/indexeddb/IDBRequest.cpp:
57446        * Modules/indexeddb/IDBRequest.h:
57447        * Modules/indexeddb/IDBTransaction.cpp:
57448        * Modules/indexeddb/IDBTransaction.h:
57449        * Modules/indexeddb/IDBTransactionBackend.cpp:
57450        * Modules/indexeddb/IDBTransactionBackend.h:
57451        * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
57452        * Modules/indexeddb/IDBTransactionBackendOperations.h:
57453        * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
57454        * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
57455        * Modules/indexeddb/leveldb/IDBLevelDBCoding.cpp:
57456        * Modules/indexeddb/leveldb/IDBLevelDBCoding.h:
57457
574582013-11-08  Andreas Kling  <akling@apple.com>
57459
57460        Reindent JSDOMBinding.h (finally.)
57461
57462        Rubber-stamped by Sam Weinig.
57463
574642013-11-08  Sam Weinig  <sam@webkit.org>
57465
57466        Change collectStyleForPresentationAttribute and related functions to take a MutableStylePropertySet by reference
57467        https://bugs.webkit.org/show_bug.cgi?id=124096
57468
57469        Reviewed by Andreas Kling.
57470
57471        Pass MutableStylePropertySet by reference. It is never null.
57472
574732013-11-08  Anders Carlsson  <andersca@apple.com>
57474
57475        Implement encoding of arrays of objects
57476        https://bugs.webkit.org/show_bug.cgi?id=124091
57477
57478        Reviewed by Beth Dakin.
57479
57480        * history/HistoryItem.cpp:
57481        (WebCore::HistoryItem::encodeBackForwardTreeNode):
57482        Encode the rest of the members.
57483
57484        * platform/KeyedCoding.h:
57485        (WebCore::KeyedEncoder::encodeObjects):
57486        Call beginArray, then beginArrayElement/endArrayElement for every element and lastly endArray.
57487
574882013-11-08  Tim Horton  <timothy_horton@apple.com>
57489
57490        Remote Layer Tree: RemoteLayerBackingStore partial repaint is broken for the tile cache
57491        https://bugs.webkit.org/show_bug.cgi?id=123944
57492
57493        Reviewed by Simon Fraser.
57494
57495        Ensure that the tile cache retrieves repaint rects from the tile layer,
57496        not from the tiled backing layer.
57497
57498        * platform/graphics/ca/PlatformCALayer.h:
57499        * platform/graphics/ca/mac/PlatformCALayerMac.h:
57500        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
57501        (PlatformCALayerMac::enumerateRectsBeingDrawn):
57502        Allow the PlatformCALayer to decide how to enumerate rects to paint.
57503
57504        * WebCore.exp.in:
57505        * platform/graphics/mac/WebLayer.h:
57506        Add RepaintRectList, remove some unnecessary WebCore::s.
57507
57508        * platform/graphics/mac/WebLayer.mm:
57509        (WebCore::collectRectsToPaint):
57510        Factor collectRectsToPaint out; it just grabs the rects from
57511        the layer and makes the decision whether to repaint the bounds
57512        of the dirty region or just the subregions.
57513
57514        Move calls to collectRectsToPaint() to callers of drawLayerContents(),
57515        so that TileController can collect rects from the appropriate source
57516        (the Tile layer) and other layers just continue grabbing them from
57517        their relevant layers.
57518
57519        Make sure that the list that comes from collectRectsToPaint() always
57520        has at least one rect in it (appending the clip bounds if we don't
57521        want to repaint subregions) so we can simplify logic in drawLayerContents.
57522
57523        (WebCore::drawLayerContents):
57524        Remove code to support CompositingCoordinatesBottomUp, as it's only
57525        used on Windows, so this Mac-specific code doesn't need to support it.
57526
57527        Simplify logic given that dirtyRects will always be non-empty.
57528
57529        (-[WebLayer drawInContext:]):
57530        (-[WebSimpleLayer setNeedsDisplayInRect:]):
57531        * platform/graphics/ca/mac/TileController.mm:
57532        (WebCore::TileController::platformCALayerPaintContents):
57533        Adopt collectRectsToPaint.
57534
575352013-11-08  Anders Carlsson  <andersca@apple.com>
57536
57537        Implement more KeyedEncoder functionality
57538        https://bugs.webkit.org/show_bug.cgi?id=124089
57539
57540        Reviewed by Beth Dakin.
57541
57542        * bindings/js/SerializedScriptValue.h:
57543        * history/HistoryItem.cpp:
57544        (WebCore::HistoryItem::encodeBackForwardTreeNode):
57545        * platform/KeyedCoding.h:
57546        (WebCore::KeyedEncoder::encodeConditionalObject):
57547
575482013-11-08  Eric Carlson  <eric.carlson@apple.com>
57549
57550        getCueAsHTML() on an empty cue should return a document fragment
57551        https://bugs.webkit.org/show_bug.cgi?id=124084
57552
57553        Reviewed by Darin Adler.
57554
57555        Test: media/track/track-cue-empty-cue-text.html
57556
57557        * html/track/WebVTTParser.cpp:
57558        (WebCore::WebVTTParser::createDocumentFragmentFromCueText): Don't return early when the
57559            passed an empty string.
57560
575612013-11-08  Anders Carlsson  <andersca@apple.com>
57562
57563        KeyedEncoder should be able to encoder objects
57564        https://bugs.webkit.org/show_bug.cgi?id=124085
57565
57566        Reviewed by Sam Weinig.
57567
57568        * history/HistoryItem.cpp:
57569        (WebCore::HistoryItem::encodeBackForwardTree):
57570        Encode the root object.
57571
57572        (WebCore::HistoryItem::encodeBackForwardTreeNode):
57573        Encode the target.
57574
57575        * history/HistoryItem.h:
57576        Add new members.
57577
57578        * platform/KeyedCoding.h:
57579        (WebCore::KeyedEncoder::encodeObject):
57580        Call beginObject, call the functor and then call endObject().
57581
575822013-11-08  Sam Weinig  <sam@webkit.org>
57583
57584        Teach CanvasObserver about references
57585        https://bugs.webkit.org/show_bug.cgi?id=124082
57586
57587        Reviewed by Anders Carlsson.
57588
57589        * css/CSSCanvasValue.cpp:
57590        * css/CSSCanvasValue.h:
57591        * html/HTMLCanvasElement.cpp:
57592        * html/HTMLCanvasElement.h:
57593
575942013-11-08  Anders Carlsson  <andersca@apple.com>
57595
57596        Begin stubbing out a KeyedEncoder class in WebCore
57597        https://bugs.webkit.org/show_bug.cgi?id=124079
57598
57599        Reviewed by Sam Weinig.
57600
57601        * WebCore.exp.in:
57602        Add symbol needed by WebCore.
57603
57604        * WebCore.xcodeproj/project.pbxproj:
57605        Add new header file.
57606
57607        * history/HistoryItem.cpp:
57608        (WebCore::HistoryItem::encodeBackForwardTree):
57609        * history/HistoryItem.h:
57610        Add an encodeBackForwardTree overload that takes a KeyedEncoder object. Encode the version.
57611
57612        * platform/KeyedCoding.h:
57613        Add a KeyedEncoder class that just has a single encodeUInt32 member function for now.
57614
576152013-11-08  Brady Eidson  <beidson@apple.com>
57616
57617        Merge IDBTransactionBackendInterface and IDBTransactionBackendImpl
57618        https://bugs.webkit.org/show_bug.cgi?id=124077
57619
57620        Reviewed by Alexey Proskuryakov.
57621
57622        The abstraction is no longer needed.
57623
57624        * CMakeLists.txt:
57625        * GNUmakefile.list.am:
57626        * WebCore.xcodeproj/project.pbxproj:
57627
57628        * Modules/indexeddb/IDBTransactionBackendInterface.h: Removed.
57629
57630        * Modules/indexeddb/IDBTransactionBackend.cpp: Renamed from Source/WebCore/Modules/indexeddb/IDBTransactionBackendImpl.cpp.
57631        * Modules/indexeddb/IDBTransactionBackend.h: Renamed from Source/WebCore/Modules/indexeddb/IDBTransactionBackendImpl.h.
57632
57633        * Modules/indexeddb/IDBBackingStoreInterface.h:
57634        * Modules/indexeddb/IDBCursorBackend.cpp:
57635        * Modules/indexeddb/IDBCursorBackend.h:
57636        * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
57637        * Modules/indexeddb/IDBDatabaseBackendImpl.h:
57638        * Modules/indexeddb/IDBFactoryBackendInterface.h:
57639        * Modules/indexeddb/IDBTransactionBackendOperations.h:
57640        * Modules/indexeddb/IDBTransactionCoordinator.cpp:
57641        * Modules/indexeddb/IDBTransactionCoordinator.h:
57642        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
57643        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
57644        * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
57645        * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
57646
576472013-11-08  Simon Fraser  <simon.fraser@apple.com>
57648
57649        REGRESSION (r155660): Some Etherpad pages not scrollable with overlay scrollbars
57650        https://bugs.webkit.org/show_bug.cgi?id=124075
57651
57652        Reviewed by Beth Dakin.
57653        
57654        In r155660 I removed some scrollbar-related layouts when scrollbars
57655        are in overlay mode.
57656        
57657        However, ScrollView::updateScrollbars() has a case where we still need
57658        to do multiple pases, related to its "Never ever try to both gain/lose a
57659        scrollbar in the same pass" comment. When we avoid making a new scrollbar
57660        because the other was removed, we need to do another pass to bring the
57661        correct scrollbar back.
57662
57663        Can't test overlay scrollbars in tests.
57664
57665        * platform/ScrollView.cpp:
57666        (WebCore::ScrollView::updateScrollbars):
57667
576682013-11-08  Hans Muller  <hmuller@adobe.com>
57669
57670        [CSS Shapes] Image valued shape-outside that extends vertically into the margin-box is top-clipped
57671        https://bugs.webkit.org/show_bug.cgi?id=123769
57672
57673        Reviewed by Dirk Schulze.
57674
57675        Remove the assumption that Y coordinates are >= 0 from the RasterShapeIntervals class
57676        and correct its computeShapeMarginIntervals() method. The computeShapeMarginIntervals()
57677        method now generates intervals with Y coordinates that begin at the image shape's
57678        bounds.y - shape-margin, which may be less than 0.
57679
57680        The RasterShapeIntervals::intervalsAt() method now offsets its Y coordinate parameter
57681        by the shape-margin. A non-const overload of the method was added to centralize all
57682        access to m_intervalLists.
57683
57684        Test: fast/shapes/shape-outside-floats/shape-outside-floats-image-margin-004.html
57685              fast/shapes/shape-outside-floats/shape-outside-floats-image-margin-005.html
57686
57687        * rendering/shapes/RasterShape.cpp:
57688        (WebCore::MarginIntervalGenerator::intervalAt): Don't clip X coordinates to 0 since they can extend into the margin-box.
57689        (WebCore::RasterShapeIntervals::appendInterval): Use the non-const intervalsAt() method.
57690        (WebCore::RasterShapeIntervals::uniteMarginInterval): Ditto.
57691        (WebCore::RasterShapeIntervals::computeShapeMarginIntervals): See above.
57692        * rendering/shapes/RasterShape.h:
57693        (WebCore::RasterShapeIntervals::RasterShapeIntervals): Added a field for the margin.
57694        (WebCore::RasterShapeIntervals::intervalsAt): Offset y coordinates by the margin; added a non-const overload.
57695
576962013-11-08  Piotr Grad  <p.grad@samsung.com>
57697
57698        Ended event should work also when playback rate is negative
57699        https://bugs.webkit.org/show_bug.cgi?id=123879
57700
57701        Reviewed by Eric Carlson.
57702
57703        According to W3C specification playback is ended also when playback rate is
57704        negative and position is the earliest possible position.
57705
57706        Test: media/video-ended-event-negative-playback.html
57707
57708        * html/HTMLMediaElement.cpp:
57709        (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
57710
577112013-11-08  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
57712
57713        Checking for TypeError in RTCPeerConnection object creation
57714        https://bugs.webkit.org/show_bug.cgi?id=124049
57715
57716        Reviewed by Eric Carlson.
57717
57718        If invalid parameters are passed on RTCPeerConnection creation we must throw a TypeError exception.
57719        According to the spec it requires a Dictionary argument, the RTCConfiguration, which is mandatory.
57720
57721        Please notice that this patch does not make every tests run as expected,
57722        RTCPeerConnectionHandlerMock needs to be update to deal with contraints.
57723
57724        Existing tests were updated.
57725
57726        * GNUmakefile.list.am:
57727        * Modules/mediastream/RTCPeerConnection.idl:
57728        * UseJSC.cmake:
57729        * WebCore.vcxproj/WebCore.vcxproj:
57730        * WebCore.vcxproj/WebCore.vcxproj.filters:
57731        * WebCore.xcodeproj/project.pbxproj:
57732        * bindings/js/JSRTCPeerConnectionCustom.cpp: Added.
57733        (WebCore::JSRTCPeerConnectionConstructor::constructJSRTCPeerConnection):
57734
577352013-11-08  Bem Jones-Bey  <bjonesbe@adobe.com>
57736
57737        Use references instead of pointers to RenderBlockFlow in FloatingObjects and ComputeFloatOffsetAdapter
57738        https://bugs.webkit.org/show_bug.cgi?id=124074
57739
57740        Reviewed by Sam Weinig.
57741
57742        Just a straightforward conversion from const pointers to const references.
57743
57744        Also, remove unneeded argument from FloatingObjects constructor.
57745
57746        No new tests, no behavior change.
57747
57748        * rendering/FloatingObjects.cpp:
57749        (WebCore::ComputeFloatOffsetAdapter::ComputeFloatOffsetAdapter):
57750        (WebCore::FloatingObjects::findNextFloatLogicalBottomBelow):
57751        (WebCore::FloatingObjects::findNextFloatLogicalBottomBelowForBlock):
57752        (WebCore::FloatingObjects::FloatingObjects):
57753        (WebCore::FloatingObjects::clearLineBoxTreePointers):
57754        (WebCore::FloatingObjects::computePlacedFloatsTree):
57755        (WebCore::shapeInfoForFloat):
57756        (WebCore::::updateOffsetIfNeeded):
57757        (WebCore::::collectIfNeeded):
57758        (WebCore::::heightRemaining):
57759        * rendering/FloatingObjects.h:
57760        * rendering/RenderBlockFlow.cpp:
57761        (WebCore::RenderBlockFlow::createFloatingObjects):
57762
577632013-11-08  Sam Weinig  <sam@webkit.org>
57764
57765        Teach SubframeLoader a bit about references
57766        https://bugs.webkit.org/show_bug.cgi?id=124076
57767
57768        Reviewed by Anders Carlsson.
57769
57770        * html/HTMLAppletElement.cpp:
57771        * html/HTMLFrameElementBase.cpp:
57772        * html/HTMLMediaElement.cpp:
57773        * loader/SubframeLoader.cpp:
57774        * loader/SubframeLoader.h:
57775
577762013-11-08  Brady Eidson  <beidson@apple.com>
57777
57778        Blind Windows build-fix attempt after r158959
57779
57780        * WebCore.vcxproj/WebCore.vcxproj:
57781
577822013-11-08  Brady Eidson  <beidson@apple.com>
57783
57784        Merge IDBCursorBackendInterface and IDBCursorBackendImpl
57785        https://bugs.webkit.org/show_bug.cgi?id=124068
57786
57787        Reviewed by Anders Carlsson.
57788
57789        * CMakeLists.txt:
57790        * GNUmakefile.list.am:
57791        * WebCore.xcodeproj/project.pbxproj:
57792
57793        * Modules/indexeddb/IDBCursorBackendInterface.h: Removed.
57794
57795        * Modules/indexeddb/IDBCursorBackend.cpp: Renamed from Source/WebCore/Modules/indexeddb/IDBCursorBackendImpl.cpp.
57796        * Modules/indexeddb/IDBCursorBackend.h: Renamed from Source/WebCore/Modules/indexeddb/IDBCursorBackendImpl.h.
57797
57798        * Modules/indexeddb/IDBCallbacks.h:
57799        * Modules/indexeddb/IDBCursor.cpp:
57800        * Modules/indexeddb/IDBCursor.h:
57801        * Modules/indexeddb/IDBCursorWithValue.cpp:
57802        * Modules/indexeddb/IDBCursorWithValue.h:
57803        * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
57804        * Modules/indexeddb/IDBFactoryBackendInterface.h:
57805        * Modules/indexeddb/IDBRequest.cpp:
57806        * Modules/indexeddb/IDBRequest.h:
57807        * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
57808        * Modules/indexeddb/IDBTransactionBackendImpl.h:
57809        * Modules/indexeddb/IDBTransactionBackendInterface.h:
57810        * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
57811        * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
57812        * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
57813
578142013-11-08  Sam Weinig  <sam@webkit.org>
57815
57816        Modernize FrameLoader a bit
57817        https://bugs.webkit.org/show_bug.cgi?id=124073
57818
57819        Reviewed by Anders Carlsson.
57820
57821        * loader/FrameLoader.cpp:
57822        * loader/FrameLoader.h:
57823        Use std::unique_ptrs rather than OwnPtrs.
57824
57825        * loader/MixedContentChecker.cpp:
57826        * loader/MixedContentChecker.h:
57827        Switch to hold a Frame& rather than Frame*.
57828
578292013-11-08  Zan Dobersek  <zdobersek@igalia.com>
57830
57831        Remove code guarded with ENABLE(STREAM)
57832        https://bugs.webkit.org/show_bug.cgi?id=123667
57833
57834        Reviewed by Anders Carlsson.
57835
57836        Remove ENABLE(STREAM)-guarded code. This was added in the effort to provide Stream API support, but
57837        no port enables the feature and the work on this feature has wound down after the Chromium port forked,
57838        leaving this code unmaintained.
57839
57840        * fileapi/FileReaderLoader.cpp:
57841        * fileapi/FileReaderLoader.h:
57842
578432013-11-08  Bem Jones-Bey  <bjonesbe@adobe.com>
57844
57845        RenderBlockFlow::nextFloatLogicalBottomBelow should not use ShapeOutsideFloatOffsetMode
57846        https://bugs.webkit.org/show_bug.cgi?id=123931
57847
57848        Reviewed by Sam Weinig.
57849
57850        Rewrite nextFloatLogicalBottomBelow to use the placed floats tree for
57851        the search and to not need ShapeOutsideFloatOffsetMode anymore. This
57852        moves almost all of the logic into FloatingObjects, making a small
57853        reduction in the amount that RenderBlockFlow needs to know about the
57854        implementation of FloatingObjects.
57855
57856        In addition, change ComputeFloatOffsetAdapter to take in LayoutUnits
57857        and roundToInt itself so that all of it's callers can be simplified.
57858
57859        No new tests, no new behavior.
57860
57861        * rendering/FloatingObjects.cpp:
57862        (WebCore::rangesIntersect):
57863        (WebCore::ComputeFloatOffsetAdapter::ComputeFloatOffsetAdapter):
57864        (WebCore::FindNextFloatLogicalBottomAdapter::FindNextFloatLogicalBottomAdapter):
57865        (WebCore::FindNextFloatLogicalBottomAdapter::lowValue):
57866        (WebCore::FindNextFloatLogicalBottomAdapter::highValue):
57867        (WebCore::FindNextFloatLogicalBottomAdapter::nextLogicalBottom):
57868        (WebCore::FindNextFloatLogicalBottomAdapter::nextShapeLogicalBottom):
57869        (WebCore::FindNextFloatLogicalBottomAdapter::collectIfNeeded):
57870        (WebCore::FloatingObjects::findNextFloatLogicalBottomBelow):
57871        (WebCore::FloatingObjects::findNextFloatLogicalBottomBelowForBlock):
57872        (WebCore::FloatingObjects::logicalLeftOffsetForPositioningFloat):
57873        (WebCore::FloatingObjects::logicalRightOffsetForPositioningFloat):
57874        (WebCore::FloatingObjects::logicalLeftOffset):
57875        (WebCore::FloatingObjects::logicalRightOffset):
57876        * rendering/FloatingObjects.h:
57877        * rendering/LineWidth.cpp:
57878        (WebCore::LineWidth::fitBelowFloats):
57879        * rendering/RenderBlockFlow.cpp:
57880        (WebCore::RenderBlockFlow::nextFloatLogicalBottomBelow):
57881        (WebCore::RenderBlockFlow::nextFloatLogicalBottomBelowForBlock):
57882        (WebCore::RenderBlockFlow::getClearDelta):
57883        * rendering/RenderBlockFlow.h:
57884
578852013-11-08  Alexey Proskuryakov  <ap@apple.com>
57886
57887        https://bugs.webkit.org/show_bug.cgi?id=124064
57888        Some WebCrypto files are not in correct directories
57889
57890        Rubber-stamped by Anders Carlsson.
57891
57892        * WebCore.xcodeproj/project.pbxproj:
57893        * crypto/CryptoAlgorithmAesCbcParams.h: Removed.
57894        * crypto/CryptoAlgorithmAesKeyGenParams.h: Removed.
57895        * crypto/CryptoKeyAES.cpp: Removed.
57896        * crypto/CryptoKeyAES.h: Removed.
57897        * crypto/CryptoKeyMac.cpp: Removed.
57898        * crypto/keys/CryptoKeyAES.cpp: Copied from Source/WebCore/crypto/CryptoKeyAES.cpp.
57899        * crypto/keys/CryptoKeyAES.h: Copied from Source/WebCore/crypto/CryptoKeyAES.h.
57900        * crypto/mac/CryptoKeyMac.cpp: Copied from Source/WebCore/crypto/CryptoKeyMac.cpp.
57901        * crypto/parameters/CryptoAlgorithmAesCbcParams.h: Copied from Source/WebCore/crypto/CryptoAlgorithmAesCbcParams.h.
57902        * crypto/parameters/CryptoAlgorithmAesKeyGenParams.h: Copied from Source/WebCore/crypto/CryptoAlgorithmAesKeyGenParams.h.
57903
579042013-11-08  Alexey Proskuryakov  <ap@apple.com>
57905
57906        Implement JWK key import for HMAC and AES-CBC
57907        https://bugs.webkit.org/show_bug.cgi?id=124059
57908
57909        Reviewed by Anders Carlsson.
57910
57911        Tests: crypto/subtle/aes-cbc-import-jwk.html
57912               crypto/subtle/hmac-import-jwk.html
57913               crypto/subtle/import-jwk.html
57914
57915        WebCrypto supports multiple key formats - raw, pkcs8, spki, jwk. The design is that
57916        we'll transform these into parsed KeyData subclasses before passing to algorithms.
57917
57918        CryptoKeySerialization is a base class for handling all these formats.
57919
57920        * WebCore.xcodeproj/project.pbxproj: Added new files. Removed CryptoKeyFormat.h.
57921        
57922        * bindings/js/JSCryptoKeySerializationJWK.h: Added.
57923        * bindings/js/JSCryptoKeySerializationJWK.cpp: Added.
57924        (WebCore::getStringFromJSON): A helper. Note that we can rely on the object being
57925        a nice freshly parsed JSON, no getters or anything.
57926        (WebCore::getBooleanFromJSON): Ditto.
57927        (WebCore::JSCryptoKeySerializationJWK::JSCryptoKeySerializationJWK):
57928        (WebCore::JSCryptoKeySerializationJWK::~JSCryptoKeySerializationJWK):
57929        (WebCore::createHMACParameters): A simple helper.
57930        (WebCore::JSCryptoKeySerializationJWK::reconcileAlgorithm): WebCrypto API is weird,
57931        you can have algorithm parameters both inside a JWK key and passed as importKey()
57932        arguments. They need to agree, whatever that means for specific serialization's
57933        algorithm options (not all necessarily have a 1-1 matching to WebCrypto).
57934        (WebCore::JSCryptoKeySerializationJWK::reconcileUsages): Take an intersection of usages.
57935        (WebCore::JSCryptoKeySerializationJWK::reconcileExtractable): Only extractable if
57936        both JWK and the caller agree.
57937        (WebCore::JSCryptoKeySerializationJWK::keySizeIsValid): Verify validity of JWK key.
57938        (WebCore::JSCryptoKeySerializationJWK::keyData): Return an appropriate KeyData
57939        subclass.
57940
57941        * bindings/js/JSSubtleCryptoCustom.cpp:
57942        (WebCore::ENUM_CLASS): Moved CryptoKeyFormat here.
57943        (WebCore::cryptoKeyFormatFromJSValue): Added a human readable string to an exception.
57944        (WebCore::JSSubtleCrypto::importKey): Support multiple key formats, not just raw.
57945
57946        * crypto/CryptoAlgorithm.cpp: (WebCore::CryptoAlgorithm::importKey):
57947        * crypto/CryptoAlgorithm.h:
57948        Updated signature for importKey to one that makes more sense. Decoding formats all
57949        the way from a binary blob is not something that CryptoAlgorithm subclasses should
57950        do, we now pass a KeyData subclass instead.
57951        Removed exportKey/wrapKey/unwrapKey altogether, because I don't yet know what the
57952        signatures will be.
57953
57954        * crypto/CryptoKeyData.h: Added.
57955        (WebCore::CryptoKeyData::ENUM_CLASS):
57956        (WebCore::CryptoKeyData::CryptoKeyData):
57957        (WebCore::CryptoKeyData::~CryptoKeyData):
57958        (WebCore::CryptoKeyData::format):
57959        A base class for passing key material to algorithms. Currently, only one type is
57960        supported, that being OctetSequence for secret keys. Keys for RSA and EC are more
57961        complicated, and secret/public ones are different too.
57962
57963        * crypto/CryptoKeyFormat.h: Removed. There are too many key format classes
57964        confusingly floating around, and this was only needed in one file for parsing.
57965
57966        * crypto/CryptoKeySerialization.h: Added.
57967        Base class for handling raw/pkcs8/spki/jwk keys.
57968
57969        * crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:
57970        (WebCore::CryptoAlgorithmAES_CBC::importKey):
57971        * crypto/algorithms/CryptoAlgorithmAES_CBC.h:
57972        Updated to use CryptoKeyData.
57973
57974        * crypto/algorithms/CryptoAlgorithmHMAC.cpp:
57975        (WebCore::CryptoAlgorithmHMAC::importKey):
57976        * crypto/algorithms/CryptoAlgorithmHMAC.h:
57977        Updated to use CryptoKeyData.
57978
57979        * crypto/keys/CryptoKeyDataOctetSequence.cpp: Added.
57980        (WebCore::CryptoKeyDataOctetSequence::CryptoKeyDataOctetSequence):
57981        (WebCore::CryptoKeyDataOctetSequence::~CryptoKeyDataOctetSequence):
57982        * crypto/keys/CryptoKeyDataOctetSequence.h: Added.
57983        (WebCore::asCryptoKeyDataOctetSequence):
57984        * crypto/keys/CryptoKeySerializationRaw.cpp: Added.
57985        (WebCore::CryptoKeySerializationRaw::CryptoKeySerializationRaw):
57986        (WebCore::CryptoKeySerializationRaw::~CryptoKeySerializationRaw):
57987        (WebCore::CryptoKeySerializationRaw::reconcileAlgorithm):
57988        (WebCore::CryptoKeySerializationRaw::reconcileUsages):
57989        (WebCore::CryptoKeySerializationRaw::reconcileExtractable):
57990        (WebCore::CryptoKeySerializationRaw::keyData):
57991        * crypto/keys/CryptoKeySerializationRaw.h: Added.
57992        Much code to pass around a Vector<char>.
57993
579942013-11-08  Mark Lam  <mark.lam@apple.com>
57995
57996        Move breakpoint (and exception break) functionality into JSC::Debugger.
57997        https://bugs.webkit.org/show_bug.cgi?id=121796.
57998
57999        Reviewed by Geoffrey Garen.
58000
58001        No new tests.
58002
58003        - In ScriptDebugServer and JSC::Debugger, SourceID and BreakpointID are
58004          now numeric tokens.
58005
58006        - JSC::Debugger now tracks user defined breakpoints in a JSC::Breakpoint
58007          record. Previously, this info is tracked in the ScriptBreakpoint record
58008          in ScriptDebugServer. The only element of ScriptBreakpoint that is not
58009          being tracked by JSC::Breakpoint is the ScriptBreakpointAction.
58010             The ScriptBreakpointAction is still tracked by the ScriptDebugServer
58011          in a list keyed on the corresponding BreakpointID.
58012             The ScriptBreakpoint record is now only used as a means of passing
58013          breakpoint paramaters to the ScriptDebugServer.
58014
58015        - ScriptDebugServer now no longer accesses the JSC::CallFrame* directly.
58016          It always goes through the DebuggerCallFrame.
58017
58018        * GNUmakefile.list.am:
58019        * WebCore.vcxproj/WebCore.vcxproj:
58020        * WebCore.vcxproj/WebCore.vcxproj.filters:
58021        * WebCore.xcodeproj/project.pbxproj:
58022        * bindings/js/BreakpointID.h: Added.
58023        * bindings/js/ScriptDebugServer.cpp:
58024        (WebCore::ScriptDebugServer::ScriptDebugServer):
58025        (WebCore::ScriptDebugServer::setBreakpoint):
58026        (WebCore::ScriptDebugServer::removeBreakpoint):
58027        (WebCore::ScriptDebugServer::clearBreakpoints):
58028        (WebCore::ScriptDebugServer::dispatchDidPause):
58029        (WebCore::ScriptDebugServer::dispatchDidContinue):
58030        (WebCore::ScriptDebugServer::dispatchDidParseSource):
58031        (WebCore::ScriptDebugServer::notifyDoneProcessingDebuggerEvents):
58032        (WebCore::ScriptDebugServer::needPauseHandling):
58033        (WebCore::ScriptDebugServer::handleBreakpointHit):
58034        (WebCore::ScriptDebugServer::handleExceptionInBreakpointCondition):
58035        (WebCore::ScriptDebugServer::handlePause):
58036        * bindings/js/ScriptDebugServer.h:
58037        * bindings/js/SourceID.h: Added.
58038        * bindings/js/WorkerScriptDebugServer.cpp:
58039        (WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer):
58040        * bindings/js/WorkerScriptDebugServer.h:
58041        * inspector/InspectorDebuggerAgent.cpp:
58042        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
58043        (WebCore::parseLocation):
58044        (WebCore::InspectorDebuggerAgent::setBreakpoint):
58045        (WebCore::InspectorDebuggerAgent::continueToLocation):
58046        (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
58047        (WebCore::InspectorDebuggerAgent::searchInContent):
58048        (WebCore::InspectorDebuggerAgent::getScriptSource):
58049        (WebCore::InspectorDebuggerAgent::didParseSource):
58050        (WebCore::InspectorDebuggerAgent::didPause):
58051        (WebCore::InspectorDebuggerAgent::clear):
58052        * inspector/InspectorDebuggerAgent.h:
58053        * inspector/ScriptDebugListener.h:
58054
580552013-11-08  László Langó  <lango@inf.u-szeged.hu>
58056
58057        InspectorConsoleAgent::didFinishXHRLoading ConsoleMessage should include a column number
58058        https://bugs.webkit.org/show_bug.cgi?id=114316
58059
58060        Reviewed by Timothy Hatcher.
58061
58062        InspectorConsoleAgent::didFinishXHRLoading creates a ConsoleMessage with a line number, 
58063        but it should also include a column number. It looks like ultimately the line number comes from
58064        JSXMLHttpRequest::send, it should also be possible to get the column number at the time.
58065        The column number would be needed by the Web Inspector to jump to the proper place in source code 
58066        to show where the XHR originated from.
58067
58068        * bindings/js/JSXMLHttpRequestCustom.cpp:
58069        (WebCore::SendFunctor::SendFunctor):
58070        (WebCore::SendFunctor::column):
58071        (WebCore::SendFunctor::operator()):
58072        (WebCore::JSXMLHttpRequest::send):
58073        * inspector/InspectorConsoleAgent.cpp:
58074        (WebCore::InspectorConsoleAgent::didFinishXHRLoading):
58075        * inspector/InspectorConsoleAgent.h:
58076        * inspector/InspectorInstrumentation.cpp:
58077        (WebCore::InspectorInstrumentation::didFinishXHRLoadingImpl):
58078        * inspector/InspectorInstrumentation.h:
58079        (WebCore::InspectorInstrumentation::didFinishXHRLoading):
58080        * xml/XMLHttpRequest.cpp:
58081        (WebCore::XMLHttpRequest::XMLHttpRequest):
58082        (WebCore::XMLHttpRequest::setLastSendLineAndColumnNumber):
58083        (WebCore::XMLHttpRequest::didFinishLoading):
58084        * xml/XMLHttpRequest.h:
58085
580862013-11-08  Simon Fraser  <simon.fraser@apple.com>
58087
58088        Left sidebar on cubic-bezier.com flickers
58089        https://bugs.webkit.org/show_bug.cgi?id=123128
58090
58091        Reviewed by Dean Jackson.
58092        
58093        The logic that determined whether position:fixed elements outside the viewport
58094        should be composited was incorrect if the fixed element also had a transform.
58095        
58096        layer.calculateLayerBounds() only takes into account painted transforms (since they
58097        affect layer bounds). So we need to compute the bounds relative to the layer
58098        itself, then use localToContainerQuad() to map them to document coordinates,
58099        but only to the RenderView so that we don't hit the page scale transform.
58100
58101        Tests: compositing/layer-creation/fixed-position-transformed-into-view.html
58102               compositing/layer-creation/fixed-position-transformed-outside-view.html
58103
58104        * rendering/RenderLayerCompositor.cpp:
58105        (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
58106
581072013-11-08  Martin Robinson  <mrobinson@igalia.com>
58108
58109        [MathML] Center of stretched curly bracket not always vertically centered
58110        https://bugs.webkit.org/show_bug.cgi?id=123715
58111
58112        Reviewed by Brent Fulgham.
58113
58114        * rendering/mathml/RenderMathMLOperator.cpp:
58115        (WebCore::RenderMathMLOperator::fillWithExtensionGlyph): Update an assertion and
58116        handle the case where two glyph pieces abut.
58117        (WebCore::RenderMathMLOperator::paint): Do not offset the center glyph by y().
58118
581192013-10-30  Jer Noble  <jer.noble@apple.com>
58120
58121        [MSE] Bring SourceBuffer.append up to the most recent spec.
58122        https://bugs.webkit.org/show_bug.cgi?id=123377
58123
58124        Reviewed by Eric Carlson.
58125
58126        Test: media/media-source/media-source-append-failed.html
58127
58128        Bring the MediaSource append() implementation up to the current spec.
58129
58130        * Modules/mediasource/SourceBuffer.cpp:
58131        (WebCore::SourceBuffer::appendBufferInternal):
58132        (WebCore::SourceBuffer::appendBufferTimerFired):
58133        * platform/graphics/SourceBufferPrivate.h:
58134        * platform/mock/mediasource/MockSourceBufferPrivate.cpp:
58135        (WebCore::MockSourceBufferPrivate::append):
58136        (WebCore::MockSourceBufferPrivate::evictCodedFrames):
58137        (WebCore::MockSourceBufferPrivate::isFull):
58138        * platform/mock/mediasource/MockSourceBufferPrivate.h:
58139
581402013-11-07  Jer Noble  <jer.noble@apple.com>
58141
58142        [Mac] Crash at com.apple.WebCore: WebCore::MediaPlayerPrivateAVFoundationObjC::tracksDidChange + 26
58143        https://bugs.webkit.org/show_bug.cgi?id=124031
58144
58145        Reviewed by Eric Carlson.
58146
58147        WTF::bind() causes errors when given a bare id pointer as a parameter,
58148        when that parameter is casted to a specific NS type pointer (in this
58149        case, a NSArray*) in order to pass it as a parameter to the bound
58150        function.
58151
58152        Instead of passing around bare id pointers, wrap them in RetainPtr<>
58153        objects before passing them to WTF::bind().
58154
58155        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
58156        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
58157        (WebCore::MediaPlayerPrivateAVFoundationObjC::seekableTimeRangesDidChange):
58158        (WebCore::MediaPlayerPrivateAVFoundationObjC::loadedTimeRangesDidChange):
58159        (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksDidChange):
58160        (-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]):
58161
581622013-11-08  Antti Koivisto  <antti@apple.com>
58163
58164        Templated LChar/UChar paths for simple line layout
58165        https://bugs.webkit.org/show_bug.cgi?id=124035
58166
58167        Reviewed by Andreas Kling.
58168
58169        * rendering/SimpleLineLayout.cpp:
58170        (WebCore::SimpleLineLayout::canUseForText):
58171        (WebCore::SimpleLineLayout::canUseFor):
58172        
58173            Use a templated function to check for illegal characters.
58174
58175        (WebCore::SimpleLineLayout::skipWhitespaces):
58176        
58177            Make a template function.
58178
58179        (WebCore::SimpleLineLayout::textWidth):
58180        
58181            Make a template function plus some argument changes.
58182
58183        (WebCore::SimpleLineLayout::createTextRuns):
58184        
58185            Template function for creating runs while operating with either LChars or UChar.
58186            Also simplified line breaking and text width measuring logic.
58187
58188        (WebCore::SimpleLineLayout::create):
58189        
58190            Pick the template.
58191
58192        * rendering/break_lines.cpp:
58193        * rendering/break_lines.h:
58194        
58195            Move the implementation to the header (except for the table) so we can use the template
58196            versions directly.
58197
58198        (WebCore::isBreakableSpace):
58199        (WebCore::shouldBreakAfter):
58200        (WebCore::needsLineBreakIterator):
58201        (WebCore::nextBreakablePosition):
58202        (WebCore::nextBreakablePositionIgnoringNBSP):
58203
582042013-11-08  Mario Sanchez Prada  <mario.prada@samsung.com>
58205
58206        AX: [ATK] <span> elements exposed through ATK when not needed
58207        https://bugs.webkit.org/show_bug.cgi?id=123885
58208
58209        Reviewed by Chris Fleizach.
58210
58211        As per SVN r158195, the way it's decided whether <span> elements
58212        should be ignored or not has slightly changed, causing that the
58213        GTK/EFL ports expose them in cases that they should be ignored,
58214        such as for text elements that neither are focusable (e.g. by
58215        explicitly setting tabindex) nor have a meaningful accessible name
58216        suggesting they should be exposed.
58217
58218        As a result, the flattening that ATK based ports normally do for
58219        this kind of elements (by folding them into their parents) do not
58220        work correctly anymore, making two tests to fail:
58221
58222            platform/gtk/accessibility/spans-paragraphs-and-divs.html
58223            platform/gtk/accessibility/spans.html
58224
58225        This patch encapsulates the part of the logic that affects this in
58226        the computeAccessibilityIsIgnored() method, placing it in a
58227        new method of AccessibilityObject that we can call from ATK's
58228        accessibilityPlatformIncludesObject() to ensure we hide those
58229        <span> elements when they don't fulfill those requirements.
58230
58231        * accessibility/AccessibilityObject.cpp:
58232        (WebCore::AccessibilityObject::hasAttributesRequiredForInclusion):
58233        New virtual method encapsulating part of the logic from the function
58234        that computes whether accessibility should be ignored or not.
58235        * accessibility/AccessibilityObject.h:
58236
58237        * accessibility/AccessibilityNodeObject.cpp:
58238        (WebCore::AccessibilityNodeObject::hasAttributesRequiredForInclusion):
58239        Override of the new method adding additional checks, as extracted from
58240        the original bits in computeAccessibilityIsIgnored().
58241        * accessibility/AccessibilityNodeObject.h:
58242
58243        * accessibility/AccessibilityRenderObject.cpp:
58244        (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
58245        Use the newly added function where we had the original code before.
58246
58247        * accessibility/atk/AccessibilityObjectAtk.cpp:
58248        (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
58249        Make sure <span> elements are ignored if they are not focusable
58250        and they don't have a meaningful accessible name.
58251
582522013-11-08  Carlos Garcia Campos  <cgarcia@igalia.com>
58253
58254        [GTK] Add missing symbols to WebKitDOMEventTarget.symbols
58255        https://bugs.webkit.org/show_bug.cgi?id=123990
58256
58257        Reviewed by Philippe Normand.
58258
58259        Add webkit_dom_event_target_add_event_listener_with_closure and
58260        webkit_dom_event_target_remove_event_listener_with_closure to the
58261        symbols files.
58262
58263        * bindings/gobject/WebKitDOMEventTarget.symbols:
58264        * bindings/gobject/webkitdom.symbols:
58265
582662013-11-07  Carlos Garcia Campos  <cgarcia@igalia.com>
58267
58268        [GTK] Use deprecation guards around deprecated API in GObject DOM bindings
58269        https://bugs.webkit.org/show_bug.cgi?id=123899
58270
58271        Reviewed by Martin Robinson.
58272
58273        Do not include deprecated API when compiling with
58274        WEBKIT_DISABLE_DEPRECATED option.
58275
58276        * bindings/scripts/CodeGeneratorGObject.pm:
58277        (GenerateFunction):
58278        * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.cpp:
58279        * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.h:
58280
582812013-11-07  Brady Eidson  <beidson@apple.com>
58282
58283        Enhance SQL journal_mode setting code to be less likely to log an error.
58284        <rdar://problem/15418577> and https://bugs.webkit.org/show_bug.cgi?id=124018
58285
58286        Reviewed by Anders Carlsson.
58287
58288        Even though the docs says SQLITE_ROW will always be returned, apparently SQLITE_OK is sometimes returned.
58289        Change the code to handle that.
58290
58291        * platform/sql/SQLiteDatabase.cpp:
58292        (WebCore::SQLiteDatabase::open): Save the statement result value, and accept SQLITE_OK as a non-error condition.
58293
582942013-11-07  Brady Eidson  <beidson@apple.com>
58295
58296        Update an out-dated ASSERT in IconDatabase code.
58297        <rdar://problem/15171118> and https://bugs.webkit.org/show_bug.cgi?id=124030.
58298
58299        Reviewed by Andreas Kling.
58300
58301        With the asynchronous interfaces that have been added and the support for WK2 that has been added, 
58302        this ASSERT can incorrectly fire if an icon is asked for before database cleanup is allowed.
58303
58304        * loader/icon/IconDatabase.cpp:
58305        (WebCore::IconDatabase::synchronousIconForPageURL): Update an invalid ASSERT.
58306
583072013-11-07  Andreas Kling  <akling@apple.com>
58308
58309        RenderSVGResource helpers should take RenderStyle by const reference.
58310        <https://webkit.org/b/124029>
58311
58312        Take const RenderStyle& instead of RenderStyle* in a few more places
58313        so we can get rid of some ampersands and assertions.
58314
58315        Reviewed by Anders Carlsson.
58316
583172013-11-07  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
58318
58319        [AX] Generate toAccessibilityTableRow|Column|Cell to detect bad type casts
58320        https://bugs.webkit.org/show_bug.cgi?id=123984
58321
58322        Reviewed by Mario Sanchez Prada.
58323
58324        As a step to let static_cast<> use TYPE_CASTS_BASE, AccessibilityTableRow|Column|Cell use
58325        ACCESSIBILITY_OBJECT_TYPE_CASTS which can support more helper functions rather than manual
58326        static_cast<>. This change will help to detect bad type casts further.
58327
58328        No new tests, no behavior changes.
58329
58330        * accessibility/AccessibilityARIAGrid.cpp:
58331        (WebCore::AccessibilityARIAGrid::addTableCellChild):
58332        (WebCore::AccessibilityARIAGrid::addChildren):
58333        * accessibility/AccessibilityARIAGridCell.cpp:
58334        (WebCore::AccessibilityARIAGridCell::rowIndexRange):
58335        * accessibility/AccessibilityTable.cpp:
58336        (WebCore::AccessibilityTable::addChildren):
58337        (WebCore::AccessibilityTable::rowHeaders):
58338        (WebCore::AccessibilityTable::columnHeaders):
58339        (WebCore::AccessibilityTable::cellForColumnAndRow):
58340        * accessibility/AccessibilityTableCell.h:
58341        * accessibility/AccessibilityTableColumn.h:
58342        * accessibility/AccessibilityTableRow.cpp:
58343        (WebCore::AccessibilityTableRow::headerObject):
58344        * accessibility/AccessibilityTableRow.h:
58345        * accessibility/atk/WebKitAccessibleInterfaceTable.cpp:
58346        (cellAtIndex):
58347        (webkitAccessibleTableGetColumnHeader):
58348        (webkitAccessibleTableGetRowHeader):
58349        * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
58350        (-[WebAccessibilityObjectWrapper tableCellParent]):
58351        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
58352        (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
58353
583542013-11-07  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
58355
58356        REGRESSION (r154375): Image is oriented incorrectly
58357        https://bugs.webkit.org/show_bug.cgi?id=123831
58358
58359        Reviewed by Antonio Gomes.
58360
58361        r154375 made that shouldRespectImageOrientation() isn't used by drawImage().
58362        It causes an image isn't oriented correctly. This patch sets shouldRespectImageOrientation()
58363        value by default.
58364
58365        * rendering/RenderImage.cpp:
58366        (WebCore::RenderImage::paintReplaced):
58367        (WebCore::RenderImage::paintIntoRect):
58368
583692013-11-07  Hans Muller  <hmuller@adobe.com>
58370
58371        [CSS Shapes] Image shape-outside with vertical gaps is handled incorrectly
58372        https://bugs.webkit.org/show_bug.cgi?id=123934
58373
58374        Reviewed by Andreas Kling.
58375
58376        RasterShapeIntervals::getExcludedIntervals() was returning an empty
58377        list when the line overlapped any vertical gap in the image. This short-circuit
58378        had been mistakenly copied from getIncludedIntervals(), where it makes sense.
58379
58380        Test: fast/shapes/shape-outside-floats/shape-outside-floats-image-vgap.html
58381
58382        * rendering/shapes/RasterShape.cpp:
58383        (WebCore::RasterShapeIntervals::getExcludedIntervals):
58384
583852013-11-07  Simon Fraser  <simon.fraser@apple.com>
58386
58387        Make contents layer borders more visible
58388        https://bugs.webkit.org/show_bug.cgi?id=124025
58389
58390        Reviewed by Tim Horton.
58391
58392        Layer borders for contents layers are impossible to see when the
58393        contentsLayer has the same bounds as its parent; make the contents
58394        layer border 4px thick to make it more visible.
58395
58396        * platform/graphics/ca/GraphicsLayerCA.cpp:
58397        (WebCore::GraphicsLayerCA::setupContentsLayer):
58398
583992013-11-07  Andreas Kling  <akling@apple.com>
58400
58401        InlineFlowBox always has a RenderBoxModelObject, take advantage.
58402        <https://webkit.org/b/124024>
58403
58404        Since InlineFlowBox already has the branch-less renderer() returning
58405        a RenderBoxModelObject&, avoid using InlineBox::boxModelObject()
58406        wherever we have a tightly-typed box. One branch disappears from
58407        every call site.
58408
58409        Deleted boxModelObject() on InlineFlowBox to prevent new code from
58410        calling the less efficient function.
58411
58412        Reviewed by Anders Carlsson.
58413
584142013-11-07  Andreas Kling  <akling@apple.com>
58415
58416        CTTE: Scrolling tree nodes should always have a ScrollingTree&.
58417        <https://webkit.org/b/124022>
58418
58419        Let ScrollingTreeNode and subclasses store the backpointer to the
58420        tree as a ScrollingTree& reference.
58421
58422        Reviewed by Anders Carlsson.
58423
584242013-11-07  Simon Fraser  <simon.fraser@apple.com>
58425
58426        Lots of layers get solid color but transparent contents layers now
58427        https://bugs.webkit.org/show_bug.cgi?id=123537
58428
58429        Reviewed by Tim Horton.
58430        
58431        We call rendererBackgroundColor() to determine the layer's background color,
58432        but on most elements this returns the transparent color (a valid color).
58433        This caused us to allocate a contentsLayer, and use the transparent color as its
58434        backgroundColor, which was wasteful.
58435        
58436        Fix by only making a background-color layer if the color is not transparent (zero alpha).
58437        
58438        Also avoid making a new contents layer on every color change, and make sure that
58439        we don't do implicit animations for backgroundColor, and some other properties
58440        that were omitted by mistake.
58441
58442        Layer tree dumps don't dump content layers, so no way to test easily.
58443
58444        * platform/graphics/ca/GraphicsLayerCA.cpp:
58445        (WebCore::GraphicsLayerCA::setContentsToSolidColor):
58446        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
58447        (nullActionsDictionary):
58448
584492013-11-07  Ryosuke Niwa  <rniwa@webkit.org>
58450
58451        DOMTokenList::add can add duplicated values if arguments had duplicated values
58452        https://bugs.webkit.org/show_bug.cgi?id=123962
58453
58454        Reviewed by Benjamin Poulain.
58455
58456        Merge https://chromium.googlesource.com/chromium/blink/+/bd3822ad4ae3fc5d8f89f433a7bf04f697334305
58457
58458        In case we do element.classList.add('a', 'a') we need to ensure that we do not add the same token twice.
58459        See http://dom.spec.whatwg.org/#dom-domtokenlist-add
58460
58461        * html/DOMTokenList.cpp:
58462        (WebCore::DOMTokenList::add): Make sure filtered tokens are unique among themselves.
58463
584642013-11-07  Eric Carlson  <eric.carlson@apple.com>
58465
58466        Remove npr.org specific hack in HTMLMediaElement
58467        https://bugs.webkit.org/show_bug.cgi?id=123859
58468
58469        Reviewed by Jer Noble.
58470
58471        Remove the site specific hack added in r57820, it is no longer necessary.
58472
58473        * html/HTMLMediaElement.cpp:
58474        (WebCore::HTMLMediaElement::HTMLMediaElement): Remove m_dispatchingCanPlayEvent.
58475        (HTMLMediaElement::play): Don't special case npr.org.
58476        * html/HTMLMediaElement.h:
58477
584782013-11-07  Simon Fraser  <simon.fraser@apple.com>
58479
58480        Attempt to fix the 32-bit build. Virtual thunks seem to have different
58481        symbol names between 32- and 64-bit.
58482        
58483        * WebCore.exp.in:
58484
584852013-11-07  Ryosuke Niwa  <rniwa@webkit.org>
58486
58487        Crash in HTMLMediaElement::contextDestroyed
58488        https://bugs.webkit.org/show_bug.cgi?id=123963
58489
58490        Reviewed by Eric Carlson.
58491
58492        Merge https://chromium.googlesource.com/chromium/blink/+/177999cdb34b707465670f0feff723922939f278
58493
58494        * html/HTMLMediaElement.cpp:
58495        (WebCore::HTMLMediaElement::~HTMLMediaElement):
58496
584972013-11-07  Jer Noble  <jer.noble@apple.com>
58498
58499        [Mac] Crash at com.apple.WebCore: -[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:] + 2084 
58500        https://bugs.webkit.org/show_bug.cgi?id=124012
58501
58502        Reviewed by Eric Carlson.
58503
58504        The value of the 'duration' key is a NSConcreteValue wrapping a CMTime, not a NSNumber.
58505
58506        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
58507        (-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]):
58508
585092013-11-07  Ryosuke Niwa  <rniwa@webkit.org>
58510
58511        Crash when submitting form in a document with null encoding
58512        https://bugs.webkit.org/show_bug.cgi?id=123975
58513
58514        Reviewed by Alexey Proskuryakov.
58515
58516        Merge https://chromium.googlesource.com/chromium/blink/+/bba01a7fff09e3053ada96ababac2a6e4261fe5f
58517        
58518        The CString object which is passed to normalizeLineEndingsToCRLF() can be
58519        a null string. It is created in FormDataList::appendString(), and it
58520        produces a null CString if FormDataList::m_encoding is a null encoding.
58521
58522        Test: fast/forms/form-submit-in-image-document.html
58523
58524        * platform/text/LineEnding.cpp:
58525        (internalNormalizeLineEndingsToCRLF):
58526
585272013-11-07  Anders Carlsson  <andersca@apple.com>
58528
58529        Use std::function for all policy continuation functions
58530        https://bugs.webkit.org/show_bug.cgi?id=124011
58531
58532        Reviewed by Sam Weinig.
58533
58534        * loader/DocumentLoader.cpp:
58535        (WebCore::DocumentLoader::willSendRequest):
58536        (WebCore::DocumentLoader::responseReceived):
58537        * loader/DocumentLoader.h:
58538        * loader/FrameLoader.cpp:
58539        (WebCore::FrameLoader::loadURL):
58540        (WebCore::FrameLoader::load):
58541        (WebCore::FrameLoader::loadWithDocumentLoader):
58542        (WebCore::FrameLoader::loadPostRequest):
58543        * loader/PolicyCallback.cpp:
58544        (WebCore::PolicyCallback::clear):
58545        (WebCore::PolicyCallback::set):
58546        (WebCore::PolicyCallback::call):
58547        (WebCore::PolicyCallback::clearRequest):
58548        (WebCore::PolicyCallback::cancel):
58549        * loader/PolicyCallback.h:
58550        * loader/PolicyChecker.cpp:
58551        (WebCore::PolicyChecker::checkNavigationPolicy):
58552        (WebCore::PolicyChecker::checkNewWindowPolicy):
58553        (WebCore::PolicyChecker::checkContentPolicy):
58554        * loader/PolicyChecker.h:
58555
585562013-11-07  Brady Eidson  <beidson@apple.com>
58557
58558        Use SQLite journal mode WAL (WriteAheadLogging)
58559        https://bugs.webkit.org/show_bug.cgi?id=124009
58560
58561        Reviewed by Anders Carlsson.
58562
58563        WriteAheadLogging journalling is better than the traditional rollback model.
58564
58565        * platform/sql/SQLiteDatabase.cpp:
58566        (WebCore::SQLiteDatabase::open): Use a PRAGMA to set journal_mode to WAL.
58567
585682013-11-07  Mark Lam  <mark.lam@apple.com>
58569
58570        Cosmetic: rename xxxId to xxxID for ScriptId, SourceId, and BreakpointId.
58571        https://bugs.webkit.org/show_bug.cgi?id=123945.
58572
58573        Reviewed by Geoffrey Garen.
58574
58575        No new tests.
58576
58577        * bindings/js/JSInjectedScriptHostCustom.cpp:
58578        (WebCore::JSInjectedScriptHost::functionDetails):
58579        * bindings/js/JavaScriptCallFrame.h:
58580        (WebCore::JavaScriptCallFrame::sourceID):
58581        * bindings/js/ScriptDebugServer.cpp:
58582        (WebCore::ScriptDebugServer::ScriptDebugServer):
58583        (WebCore::ScriptDebugServer::setBreakpoint):
58584        (WebCore::ScriptDebugServer::removeBreakpoint):
58585        (WebCore::ScriptDebugServer::hasBreakpoint):
58586        (WebCore::ScriptDebugServer::clearBreakpoints):
58587        (WebCore::ScriptDebugServer::updateCallFrame):
58588        (WebCore::ScriptDebugServer::pauseIfNeeded):
58589        * bindings/js/ScriptDebugServer.h:
58590        * inspector/InspectorConsoleAgent.cpp:
58591        (WebCore::InspectorConsoleAgent::addMessageToConsole):
58592        * inspector/InspectorConsoleAgent.h:
58593        * inspector/InspectorConsoleInstrumentation.h:
58594        (WebCore::InspectorInstrumentation::addMessageToConsole):
58595        * inspector/InspectorDOMAgent.cpp:
58596        (WebCore::InspectorDOMAgent::buildObjectForEventListener):
58597        * inspector/InspectorDebuggerAgent.cpp:
58598        (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
58599        (WebCore::parseLocation):
58600        (WebCore::InspectorDebuggerAgent::setBreakpoint):
58601        (WebCore::InspectorDebuggerAgent::removeBreakpoint):
58602        (WebCore::InspectorDebuggerAgent::continueToLocation):
58603        (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
58604        (WebCore::InspectorDebuggerAgent::searchInContent):
58605        (WebCore::InspectorDebuggerAgent::setScriptSource):
58606        (WebCore::InspectorDebuggerAgent::getScriptSource):
58607        (WebCore::InspectorDebuggerAgent::compileScript):
58608        (WebCore::InspectorDebuggerAgent::runScript):
58609        (WebCore::InspectorDebuggerAgent::didParseSource):
58610        (WebCore::InspectorDebuggerAgent::didPause):
58611        (WebCore::InspectorDebuggerAgent::clear):
58612        (WebCore::InspectorDebuggerAgent::reset):
58613        * inspector/InspectorDebuggerAgent.h:
58614        * inspector/InspectorInstrumentation.cpp:
58615        (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
58616        * inspector/InspectorInstrumentation.h:
58617        * inspector/ScriptDebugListener.h:
58618
586192013-11-07  Cidorvan Leite  <cidorvan.leite@openbossa.org>
58620
58621        Avoid invalid cairo matrix when drawing surfaces too small
58622        https://bugs.webkit.org/show_bug.cgi?id=123810
58623
58624        Drawing surfaces too small makes inverse matrix with values too big,
58625        when this happen, cairo context is not valid anymore and it stops to draw anything.
58626
58627        Reviewed by Martin Robinson.
58628
58629        Test: fast/canvas/drawImage-with-small-values.html
58630
58631        * platform/graphics/cairo/PlatformContextCairo.cpp:
58632        (WebCore::PlatformContextCairo::drawSurfaceToContext):
58633
586342013-11-07  Antti Koivisto  <antti@apple.com>
58635
58636        Simple line layout crashes with SVG fonts
58637        https://bugs.webkit.org/show_bug.cgi?id=124002
58638
58639        Reviewed by Simon Fraser.
58640        
58641        Don't use simple line layout for flows using SVG fonts. They crash if kerning is enabled.
58642
58643        Test: fast/text/svg-font-simple-line-crash.html
58644
58645        * platform/graphics/Font.h:
58646        (WebCore::Font::isSVGFont):
58647        
58648            Add isSVGFont() so callers don't need to go via primaryFont().
58649
58650        * rendering/InlineTextBox.cpp:
58651        (WebCore::InlineTextBox::constructTextRun):
58652        * rendering/RenderBlock.cpp:
58653        (WebCore::constructTextRunInternal):
58654        * rendering/SimpleLineLayout.cpp:
58655        (WebCore::SimpleLineLayout::canUseFor):
58656        
58657            Disallow SVG fonts.
58658
58659        * rendering/svg/SVGInlineTextBox.cpp:
58660        (WebCore::SVGInlineTextBox::constructTextRun):
58661        * rendering/svg/SVGTextMetrics.cpp:
58662        (WebCore::SVGTextMetrics::constructTextRun):
58663        (WebCore::SVGTextMetrics::SVGTextMetrics):
58664        * rendering/svg/SVGTextRunRenderingContext.h:
58665        
58666            Get rid of the abstract textRunNeedsRenderingContext in favor of just testing isSVGFont().
58667
586682013-11-07  Simon Fraser  <simon.fraser@apple.com>
58669
58670        Allow customization of the contentsScale of TileController tiles
58671        https://bugs.webkit.org/show_bug.cgi?id=124004
58672
58673        Reviewed by Tim Horton.
58674
58675        On some platorms, zooming out on pages with TiledBacking compositing
58676        layers can cause very high memory use, because the TiledBacking retains
58677        the original page scale while the zoom is in flight, but can be asked
58678        to cover a large area.
58679        
58680        Make it possible to reduce memory use in this case by allowing RenderLayerCompositor
58681        to provide an additional scale factor for newly created tiles. Platforms can
58682        then customize this to create low-res tiles when necessary.
58683
58684        * WebCore.exp.in:
58685        * platform/graphics/GraphicsLayerClient.h:
58686        (WebCore::GraphicsLayerClient::contentsScaleMultiplierForNewTiles):
58687        * platform/graphics/ca/GraphicsLayerCA.cpp:
58688        (WebCore::GraphicsLayerCA::platformCALayerContentsScaleMultiplierForNewTiles):
58689        * platform/graphics/ca/GraphicsLayerCA.h:
58690        * platform/graphics/ca/PlatformCALayerClient.h:
58691        (WebCore::PlatformCALayerClient::platformCALayerContentsScaleMultiplierForNewTiles):
58692        * platform/graphics/ca/mac/TileController.h:
58693        * platform/graphics/ca/mac/TileController.mm:
58694        (WebCore::TileController::TileController):
58695        (WebCore::TileController::setScale):
58696        (WebCore::TileController::createTileLayer):
58697        * rendering/RenderLayerBacking.cpp:
58698        (WebCore::RenderLayerBacking::contentsScaleMultiplierForNewTiles):
58699        * rendering/RenderLayerBacking.h:
58700        * rendering/RenderLayerCompositor.cpp:
58701        (WebCore::RenderLayerCompositor::contentsScaleMultiplierForNewTiles):
58702        * rendering/RenderLayerCompositor.h:
58703
587042013-11-07  Jer Noble  <jer.noble@apple.com>
58705
58706        Unreviewed Win build fix after r158855; wrap shapeInfoForFloat() in an ENABLE(CSS_SHAPES) guard.
58707
58708        * rendering/FloatingObjects.cpp:
58709
587102013-11-07  Bem Jones-Bey  <bjonesbe@adobe.com>
58711
58712        Refactor logical left/right offset for line methods
58713        https://bugs.webkit.org/show_bug.cgi?id=123898
58714
58715        Reviewed by David Hyatt.
58716
58717        Simplify the logical left/right offset for line methods and their
58718        implementation, including the ComputeFloatOffsetAdapter. This also
58719        reduces the number of line offset methods in RenderBlock.
58720
58721        No new tests, no behavior change.
58722
58723        * rendering/FloatingObjects.cpp:
58724        (WebCore::ComputeFloatOffsetAdapter::ComputeFloatOffsetAdapter):
58725        (WebCore::ComputeFloatOffsetAdapter::offset): Add a method to return
58726            the offset instead of using a confusing out parameter.
58727        (WebCore::::shapeOffset): Method to return the offset modified by the
58728            shape delta. Moving the computation to this method allowed for
58729            simplification of the users of ComputeFloatOffsetAdapter.
58730        (WebCore::FloatingObjects::logicalLeftOffsetForPositioningFloat): Added this
58731            method so that ShapeOutsideFloatOffsetMode isn't needed. Returns the
58732            offset based on the float margin box.
58733        (WebCore::FloatingObjects::logicalRightOffsetForPositioningFloat): Ditto.
58734        (WebCore::FloatingObjects::logicalLeftOffset): This now only returns
58735            the offset based on the shape's contour.
58736        (WebCore::FloatingObjects::logicalRightOffset): Ditto.
58737        (WebCore::::heightRemaining): Rename to properly follow the getter
58738            naming convention.
58739        * rendering/FloatingObjects.h:
58740        * rendering/RenderBlock.h:
58741        (WebCore::RenderBlock::logicalRightOffsetForLine): Update to remove
58742            use of ShapeOutsideFloatOffsetMode and heightRemaining.
58743        (WebCore::RenderBlock::logicalLeftOffsetForLine): Ditto.
58744        (WebCore::RenderBlock::logicalRightFloatOffsetForLine): Ditto.
58745        (WebCore::RenderBlock::logicalLeftFloatOffsetForLine): Ditto.
58746        * rendering/RenderBlockFlow.cpp:
58747        (WebCore::RenderBlockFlow::logicalLeftOffsetForPositioningFloat):
58748            Positioning a float is the only case where the float margin box
58749            should be used, and also the only case where heightRemaining is
58750            needed. This handles that case.
58751        (WebCore::RenderBlockFlow::logicalRightOffsetForPositioningFloat):
58752            Ditto.
58753        (WebCore::RenderBlockFlow::computeLogicalLocationForFloat): Update to
58754            use logical(Left|Right)OffsetForPositioningFloatOnLine.
58755        (WebCore::RenderBlockFlow::logicalLeftFloatOffsetForLine): Update to
58756            remove use for ShapeOutsideFloatOffsetMode and heightRemaining.
58757        (WebCore::RenderBlockFlow::logicalRightFloatOffsetForLine): Ditto.
58758        * rendering/RenderBlockFlow.h:
58759
587602013-11-07  Alexandru Chiculita  <achicu@adobe.com>
58761
58762        Web Inspector: CSS Regions: Removing a content node of a ContentFlow from the DOM will send a 0 nodeId
58763        https://bugs.webkit.org/show_bug.cgi?id=123577
58764
58765        Reviewed by Timothy Hatcher.
58766
58767        Test: inspector-protocol/model/content-flow-content-removal.html
58768
58769        Do not send unregister events for the content nodes of a flow when the element is not part of the DOM
58770        anymore. We already send an unbind event, so the inspector is already notified that the node was removed.
58771
58772        * inspector/InspectorCSSAgent.cpp:
58773        (WebCore::InspectorCSSAgent::didUnregisterNamedFlowContentElement):
58774
587752013-10-30  Jer Noble  <jer.noble@apple.com>
58776
58777        [MSE] Add mock MediaSource classes for testing.
58778        https://bugs.webkit.org/show_bug.cgi?id=123322
58779
58780        Reviewed by Eric Carlson.
58781
58782        Tests: media/media-source/media-source-addsourcebuffer.html
58783               media/media-source/media-source-append-buffer.html
58784               media/media-source/media-source-canplaythrough.html
58785               media/media-source/media-source-closed.html
58786               media/media-source/media-source-play.html
58787               media/media-source/media-source-track-enabled.html
58788               media/media-source/media-source-tracks.html
58789
58790
58791        Add mock implementation of platform MediaSource classes, allowing ports to test the
58792        MediaSource API without having a platform implementation.
58793
58794        The MockMediaSource will support a byteformat defined in MockBox.h: a simple box-style media
58795        format with an initialization segment containing a number of tracks, followed by a list of
58796        samples.
58797
58798        Add a means to insert a new media engine factory at runtime, so the internals object can add
58799        a MockMediaSourceMediaPlayer:
58800        * platform/graphics/MediaPlayer.cpp:
58801        (WebCore::MediaPlayerFactorySupport::callRegisterMediaEngine):
58802        * platform/graphics/MediaPlayer.h:
58803        * testing/Internals.cpp:
58804        (WebCore::Internals::initializeMockMediaSource):
58805        * testing/Internals.h:
58806        * testing/Internals.idl:
58807
58808        For non-media-source supporting media engines, fail immediately when asked to load a media
58809        source, so that the MockMediaSourceMediaPlayer will be instantiated as a fall-back:
58810        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
58811        (WebCore::MediaPlayerPrivateAVFoundation::load):
58812        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
58813        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
58814        (WebCore::MediaPlayerPrivateAVFoundationObjC::supportsType):
58815        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
58816        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
58817        (WebCore::MediaPlayerPrivateQTKit::load):
58818        (WebCore::MediaPlayerPrivateQTKit::supportsType):
58819
58820        Add new files to the project:
58821        * WebCore.xcodeproj/project.pbxproj:
58822        * Source/WebCore/WebCore.exp.in:
58823
58824        Update the MediaSource implementation:
58825        * Modules/mediasource/MediaSource.cpp:
58826        (WebCore::MediaSource::monitorSourceBuffers): Add a link to the spec.
58827        * Modules/mediasource/SourceBuffer.cpp:
58828        (WebCore::SourceBuffer::buffered): Ditto.
58829        (WebCore::SourceBuffer::setTimestampOffset): Ditto.
58830        (WebCore::SourceBuffer::validateInitializationSegment): Ditto.
58831        (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveInitializationSegment): Ditto. Also,
58832            bring the implementation up to date with part of the spec.
58833        (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample): Remove "Predicate" from
58834            SampleIsRandomAccessPredicate.
58835
58836        Add utility classes to parse and represent the bytestream supported by the MockMediaSource:
58837        * platform/mock/mediasource/MockBox.cpp: Added.
58838        (WebCore::MockBox::MockBox):
58839        (WebCore::MockBox::peekType):
58840        (WebCore::MockBox::peekLength):
58841        (WebCore::MockTrackBox::MockTrackBox):
58842        (WebCore::MockTrackBox::type):
58843        (WebCore::MockInitializationBox::MockInitializationBox):
58844        (WebCore::MockInitializationBox::type):
58845        (WebCore::MockSampleBox::MockSampleBox):
58846        (WebCore::MockSampleBox::type):
58847        * platform/mock/mediasource/MockBox.h: Added.
58848        (WebCore::MockBox::length):
58849        (WebCore::MockBox::type):
58850        (WebCore::MockTrackBox::trackID):
58851        (WebCore::MockTrackBox::codec):
58852        (WebCore::MockTrackBox::kind):
58853        (WebCore::MockInitializationBox::duration):
58854        (WebCore::MockInitializationBox::tracks):
58855        (WebCore::MockSampleBox::presentationTimestamp):
58856        (WebCore::MockSampleBox::decodeTimestamp):
58857        (WebCore::MockSampleBox::duration):
58858        (WebCore::MockSampleBox::trackID):
58859        (WebCore::MockSampleBox::flags):
58860        (WebCore::MockSampleBox::isSync):
58861
58862        Add a MediaPlayerPrivate implementation which uses MockMediaSource:
58863        * platform/mock/mediasource/MockMediaPlayerMediaSource.cpp: Added.
58864        (WebCore::MockMediaPlayerMediaSource::registerMediaEngine):
58865        (WebCore::MockMediaPlayerMediaSource::create):
58866        (WebCore::mimeTypeCache):
58867        (WebCore::MockMediaPlayerMediaSource::getSupportedTypes):
58868        (WebCore::MockMediaPlayerMediaSource::supportsType):
58869        (WebCore::MockMediaPlayerMediaSource::MockMediaPlayerMediaSource):
58870        (WebCore::MockMediaPlayerMediaSource::~MockMediaPlayerMediaSource):
58871        (WebCore::MockMediaPlayerMediaSource::load):
58872        (WebCore::MockMediaPlayerMediaSource::cancelLoad):
58873        (WebCore::MockMediaPlayerMediaSource::play):
58874        (WebCore::MockMediaPlayerMediaSource::pause):
58875        (WebCore::MockMediaPlayerMediaSource::naturalSize):
58876        (WebCore::MockMediaPlayerMediaSource::hasVideo):
58877        (WebCore::MockMediaPlayerMediaSource::hasAudio):
58878        (WebCore::MockMediaPlayerMediaSource::setVisible):
58879        (WebCore::MockMediaPlayerMediaSource::seeking):
58880        (WebCore::MockMediaPlayerMediaSource::paused):
58881        (WebCore::MockMediaPlayerMediaSource::networkState):
58882        (WebCore::MockMediaPlayerMediaSource::readyState):
58883        (WebCore::MockMediaPlayerMediaSource::buffered):
58884        (WebCore::MockMediaPlayerMediaSource::didLoadingProgress):
58885        (WebCore::MockMediaPlayerMediaSource::setSize):
58886        (WebCore::MockMediaPlayerMediaSource::paint):
58887        (WebCore::MockMediaPlayerMediaSource::currentTimeDouble):
58888        (WebCore::MockMediaPlayerMediaSource::durationDouble):
58889        (WebCore::MockMediaPlayerMediaSource::seekDouble):
58890        (WebCore::MockMediaPlayerMediaSource::advanceCurrentTime):
58891        (WebCore::MockMediaPlayerMediaSource::updateDuration):
58892        (WebCore::MockMediaPlayerMediaSource::setReadyState):
58893        * platform/mock/mediasource/MockMediaPlayerMediaSource.h: Added.
58894
58895        Add a mock implementation of MediaSourcePrivate, which uses MockSourceBuffer:
58896        * platform/mock/mediasource/MockMediaSourcePrivate.cpp: Added.
58897        (WebCore::MockMediaSourcePrivate::create):
58898        (WebCore::MockMediaSourcePrivate::MockMediaSourcePrivate):
58899        (WebCore::MockMediaSourcePrivate::~MockMediaSourcePrivate):
58900        (WebCore::MockMediaSourcePrivate::addSourceBuffer):
58901        (WebCore::MockMediaSourcePrivate::removeSourceBuffer):
58902        (WebCore::MockMediaSourcePrivate::duration):
58903        (WebCore::MockMediaSourcePrivate::setDuration):
58904        (WebCore::MockMediaSourcePrivate::markEndOfStream):
58905        (WebCore::MockMediaSourcePrivate::unmarkEndOfStream):
58906        (WebCore::MockMediaSourcePrivate::readyState):
58907        (WebCore::MockMediaSourcePrivate::setReadyState):
58908        (WebCore::MockMediaSourcePrivate::sourceBufferPrivateDidChangeActiveState):
58909        (WebCore::MockSourceBufferPrivateHasAudio):
58910        (WebCore::MockMediaSourcePrivate::hasAudio):
58911        (WebCore::MockSourceBufferPrivateHasVideo):
58912        (WebCore::MockMediaSourcePrivate::hasVideo):
58913        * platform/mock/mediasource/MockMediaSourcePrivate.h: Added.
58914        (WebCore::MockMediaSourcePrivate::activeSourceBuffers):
58915        (WebCore::MockMediaSourcePrivate::player):
58916
58917        Add a mock implementation of SourceBufferPrivate, which uses MockBoxes to parse the
58918        bytestream provided by SourceBuffer:
58919        * platform/mock/mediasource/MockSourceBufferPrivate.cpp: Added.
58920        (WebCore::MockMediaSample::create):
58921        (WebCore::MockMediaSample::~MockMediaSample):
58922        (WebCore::MockMediaSample::MockMediaSample):
58923        (WebCore::MockMediaSample::platformSample):
58924        (WebCore::MockMediaDescription::create):
58925        (WebCore::MockMediaDescription::~MockMediaDescription):
58926        (WebCore::MockMediaDescription::MockMediaDescription):
58927        (WebCore::MockSourceBufferPrivate::create):
58928        (WebCore::MockSourceBufferPrivate::MockSourceBufferPrivate):
58929        (WebCore::MockSourceBufferPrivate::~MockSourceBufferPrivate):
58930        (WebCore::MockSourceBufferPrivate::setClient):
58931        (WebCore::MockSourceBufferPrivate::append):
58932        (WebCore::MockSourceBufferPrivate::didReceiveInitializationSegment):
58933        (WebCore::MockSourceBufferPrivate::didReceiveSample):
58934        (WebCore::MockSourceBufferPrivate::abort):
58935        (WebCore::MockSourceBufferPrivate::removedFromMediaSource):
58936        (WebCore::MockSourceBufferPrivate::readyState):
58937        (WebCore::MockSourceBufferPrivate::setReadyState):
58938        (WebCore::MockSourceBufferPrivate::hasVideo):
58939        (WebCore::MockSourceBufferPrivate::hasAudio):
58940        * platform/mock/mediasource/MockSourceBufferPrivate.h: Added.
58941
58942        Create mock implementations of AudioTrackPrivate, VideoTrackPrivate, and TextTrackPrivate
58943        which wrap the MockTrackBox class:
58944        * platform/mock/mediasource/MockTracks.cpp: Added.
58945        * platform/mock/mediasource/MockTracks.h: Added.
58946        (WebCore::MockAudioTrackPrivate::create):
58947        (WebCore::MockAudioTrackPrivate::~MockAudioTrackPrivate):
58948        (WebCore::MockAudioTrackPrivate::id):
58949        (WebCore::MockAudioTrackPrivate::MockAudioTrackPrivate):
58950        (WebCore::MockTextTrackPrivate::create):
58951        (WebCore::MockTextTrackPrivate::~MockTextTrackPrivate):
58952        (WebCore::MockTextTrackPrivate::id):
58953        (WebCore::MockTextTrackPrivate::MockTextTrackPrivate):
58954        (WebCore::MockVideoTrackPrivate::create):
58955        (WebCore::MockVideoTrackPrivate::~MockVideoTrackPrivate):
58956        (WebCore::MockVideoTrackPrivate::id):
58957        (WebCore::MockVideoTrackPrivate::MockVideoTrackPrivate):
58958
589592013-11-07  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
58960
58961        Changing MediaStreamDescriptor to MediaStreamPrivate
58962        https://bugs.webkit.org/show_bug.cgi?id=123935
58963
58964        Reviewed by Eric Carlson.
58965
58966        No new tests needed.
58967
58968        * CMakeLists.txt:
58969        * GNUmakefile.list.am:
58970        * Modules/mediastream/MediaStream.cpp:
58971        (WebCore::MediaStream::create):
58972        (WebCore::MediaStream::MediaStream):
58973        (WebCore::MediaStream::~MediaStream):
58974        (WebCore::MediaStream::ended):
58975        (WebCore::MediaStream::setEnded):
58976        (WebCore::MediaStream::addTrack):
58977        (WebCore::MediaStream::removeTrack):
58978        (WebCore::MediaStream::removeRemoteSource):
58979        * Modules/mediastream/MediaStream.h:
58980        * Modules/mediastream/MediaStreamRegistry.cpp:
58981        (WebCore::MediaStreamRegistry::registerURL):
58982        (WebCore::MediaStreamRegistry::unregisterURL):
58983        (WebCore::MediaStreamRegistry::lookupMediaStreamPrivate):
58984        * Modules/mediastream/MediaStreamRegistry.h:
58985        * Modules/mediastream/MediaStreamTrack.cpp:
58986        * Modules/mediastream/MediaStreamTrack.h:
58987        * Modules/mediastream/RTCPeerConnection.cpp:
58988        (WebCore::RTCPeerConnection::addStream):
58989        (WebCore::RTCPeerConnection::removeStream):
58990        (WebCore::RTCPeerConnection::didAddRemoteStream):
58991        (WebCore::RTCPeerConnection::didRemoveRemoteStream):
58992        * Modules/mediastream/RTCPeerConnection.h:
58993        * Modules/mediastream/UserMediaRequest.cpp:
58994        (WebCore::UserMediaRequest::didCreateStream):
58995        (WebCore::UserMediaRequest::callSuccessHandler):
58996        * Modules/mediastream/UserMediaRequest.h:
58997        * Modules/webaudio/MediaStreamAudioDestinationNode.cpp:
58998        (WebCore::MediaStreamAudioDestinationNode::MediaStreamAudioDestinationNode):
58999        * WebCore.xcodeproj/project.pbxproj:
59000        * html/HTMLMediaElement.cpp:
59001        (HTMLMediaElement::loadResource):
59002        * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
59003        (WebCore::toWebMediaStreamPrivate):
59004        (WebCore::MediaPlayerPrivate::lookupMediaStream):
59005        * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
59006        * platform/mediastream/MediaStreamCenter.cpp:
59007        * platform/mediastream/MediaStreamCreationClient.h:
59008        * platform/mediastream/MediaStreamPrivate.cpp: Renamed from Source/WebCore/platform/mediastream/MediaStreamDescriptor.cpp.
59009        (WebCore::MediaStreamPrivate::create):
59010        (WebCore::MediaStreamPrivate::addSource):
59011        (WebCore::MediaStreamPrivate::removeSource):
59012        (WebCore::MediaStreamPrivate::addRemoteSource):
59013        (WebCore::MediaStreamPrivate::removeRemoteSource):
59014        (WebCore::MediaStreamPrivate::addRemoteTrack):
59015        (WebCore::MediaStreamPrivate::removeRemoteTrack):
59016        (WebCore::MediaStreamPrivate::MediaStreamPrivate):
59017        (WebCore::MediaStreamPrivate::setEnded):
59018        (WebCore::MediaStreamPrivate::addTrack):
59019        (WebCore::MediaStreamPrivate::removeTrack):
59020        * platform/mediastream/MediaStreamPrivate.h: Renamed from Source/WebCore/platform/mediastream/MediaStreamDescriptor.h.
59021        (WebCore::MediaStreamPrivateClient::~MediaStreamPrivateClient):
59022        (WebCore::MediaStreamPrivate::~MediaStreamPrivate):
59023        (WebCore::MediaStreamPrivate::client):
59024        (WebCore::MediaStreamPrivate::setClient):
59025        (WebCore::MediaStreamPrivate::id):
59026        (WebCore::MediaStreamPrivate::numberOfAudioSources):
59027        (WebCore::MediaStreamPrivate::audioSources):
59028        (WebCore::MediaStreamPrivate::numberOfVideoSources):
59029        (WebCore::MediaStreamPrivate::videoSources):
59030        (WebCore::MediaStreamPrivate::numberOfAudioTracks):
59031        (WebCore::MediaStreamPrivate::audioTracks):
59032        (WebCore::MediaStreamPrivate::numberOfVideoTracks):
59033        (WebCore::MediaStreamPrivate::videoTracks):
59034        (WebCore::MediaStreamPrivate::ended):
59035        * platform/mediastream/MediaStreamSource.cpp:
59036        * platform/mediastream/MediaStreamSource.h:
59037        * platform/mediastream/RTCPeerConnectionHandler.h:
59038        * platform/mediastream/RTCPeerConnectionHandlerClient.h:
59039        * platform/mediastream/blackberry/MediaStreamCenterBlackBerry.cpp:
59040        * platform/mediastream/blackberry/MediaStreamCenterBlackBerry.h:
59041        * platform/mediastream/gstreamer/MediaStreamCenterGStreamer.cpp:
59042        * platform/mediastream/gstreamer/MediaStreamCenterGStreamer.h:
59043        * platform/mediastream/mac/MediaStreamCenterMac.cpp:
59044        (WebCore::MediaStreamCenterMac::createMediaStream):
59045        * platform/mock/MockMediaStreamCenter.cpp:
59046        (WebCore::MockMediaStreamCenter::createMediaStream):
59047        * platform/mock/RTCPeerConnectionHandlerMock.cpp:
59048        (WebCore::RTCPeerConnectionHandlerMock::addStream):
59049        (WebCore::RTCPeerConnectionHandlerMock::removeStream):
59050        * platform/mock/RTCPeerConnectionHandlerMock.h:
59051
590522013-11-07  Denis Nomiyama  <d.nomiyama@samsung.com>
59053
59054        [GTK] Glyphs in vertical text tests are rotated 90 degrees clockwise
59055        https://bugs.webkit.org/show_bug.cgi?id=50619
59056
59057        Reviewed by Martin Robinson.
59058
59059        Implemented the OPENTYPE_VERTICAL feature for the GTK+ port. It resolves
59060        the 90 degrees rotation problem of CJK characters when displaying
59061        vertical text.
59062
59063        New tests are not required as the existing tests for vertical text will
59064        work properly now.
59065
59066        * GNUmakefile.list.am: Added OpenTypeVerticalData.cpp and
59067        OpenTypeVerticalData.h to platformgtk_sources.
59068        * PlatformEfl.cmake: Added OpenTypeVerticalData.cpp.
59069        * PlatformGTK.cmake: Added OpenTypeVerticalData.cpp.
59070        * platform/graphics/FontCache.cpp: Originally the HashMap for
59071        OpenTypeVerticalData was designed with FontFileKey as integer in the
59072        Chromium port, which was an unique number provided by Skia. Since other
59073        ports use FontFileKey as string, new generic hash functions had to be
59074        implemented instead of using the specific ones for integers.
59075        (WebCore::FontVerticalDataCacheKeyHash::hash): New hash function for
59076        HashMap of OpenTypeVerticalData.
59077        (WebCore::FontVerticalDataCacheKeyHash::equal): New function for
59078        comparing hash indexes in the HashMap of OpenTypeVerticalData.
59079        (WebCore::FontVerticalDataCacheKeyTraits::emptyValue): New function for
59080        giving an empty FontFileKey.
59081        (WebCore::FontVerticalDataCacheKeyTraits::constructDeletedValue): New
59082        function to create a FontFileKey for deleted values.
59083        (WebCore::FontVerticalDataCacheKeyTraits::isDeletedValue): New function
59084        to check if a HashMap entry is available.
59085        * platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp:
59086        (WebCore::FontCustomPlatformData::fontPlatformData): Added font
59087        orientation as a parameter to the FontPlatformData constructor.
59088        * platform/graphics/freetype/FontPlatformData.h: Added m_orientation to
59089        store the font orientation and m_horizontalOrientationMatrix to store
59090        the Cairo matrix for horizontal orientation, which can be restored in
59091        setOrientation().
59092        (WebCore::FontPlatformData::FontPlatformData): Added font orientation as
59093        a parameter.
59094        (WebCore::FontPlatformData::orientation): Implemented this function
59095        based on m_orientation.
59096        * platform/graphics/freetype/FontPlatformDataFreeType.cpp: Added new
59097        helper function rotateCairoMatrixForVerticalOrientation() to rotate the
59098        Cairo matrix in case of vertical orientation.
59099        (WebCore::FontPlatformData::FontPlatformData): Initialized
59100        m_orientation.
59101        (WebCore::FontPlatformData::operator=): Added m_orientation and
59102        m_horizontalOrientationMatrix to the assignment operator.
59103        (WebCore::FontPlatformData::operator==): Added m_orientation to the
59104        equal operator.
59105        (WebCore::FontPlatformData::initializeWithFontFace): Rotated and
59106        translated fonts if orientation is vertical. Also stored the horizontal
59107        Cairo matrix.
59108        (WebCore::FontPlatformData::verticalData): Returned the vertical data
59109        from the font cache.
59110        (WebCore::FontPlatformData::openTypeTable): Loaded the font table into
59111        a shared buffer.
59112        (WebCore::FontPlatformData::setOrientation): Replaced the scaled font
59113        data by rotating fonts according to the new orientation.
59114        * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
59115        (WebCore::SimpleFontData::platformInit): Set the glyph's height and
59116        width according to the font orientation. It also sets EM.
59117        (WebCore::SimpleFontData::platformCreateScaledFontData): Added
59118        orientation to the FontPlatformData constructor.
59119        (WebCore::SimpleFontData::platformWidthForGlyph): Returned the glyph's
59120        width according the orientation.
59121        * platform/graphics/harfbuzz/HarfBuzzFaceCairo.cpp:
59122        (WebCore::CairoGetGlyphWidthAndExtents): Obtained the character advance
59123        and extents according to the font orientation.
59124
591252013-11-07  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
59126
59127        [AX] Use toAccessibilityRenderObject() instead of using static_cast<>
59128        https://bugs.webkit.org/show_bug.cgi?id=123986
59129
59130        Reviewed by Mario Sanchez Prada.
59131
59132        Though there is toAccessibilityRenderObject(), static_cast<> are being used by many places.
59133        To use toAccessibilityRenderObject() is more helpful to find bad type cast.
59134
59135        No new tests, no behavior changes.
59136
59137        * accessibility/AXObjectCache.cpp:
59138        (WebCore::AXObjectCache::notificationPostTimerFired):
59139        * accessibility/AccessibilityImageMapLink.cpp:
59140        (WebCore::AccessibilityImageMapLink::imageMapLinkRenderer):
59141        * accessibility/AccessibilityRenderObject.cpp:
59142        (WebCore::AccessibilityRenderObject::handleActiveDescendantChanged):
59143        (WebCore::AccessibilityRenderObject::inheritsPresentationalRole):
59144        * accessibility/ios/AccessibilityObjectIOS.mm:
59145        (WebCore::AccessibilityObject::accessibilityPasswordFieldLength):
59146        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
59147        (AXAttributeStringSetElement):
59148        (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
59149
591502013-11-07  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
59151
59152        [AX] Use toAccessibilityTable() instead of using manual static_cast<>
59153        https://bugs.webkit.org/show_bug.cgi?id=123982
59154
59155        Reviewed by Mario Sanchez Prada.
59156
59157        Though there is toAccessibilityTable(), static_cast<> are being used by many places.
59158        We need to use toAccessibilityTable().
59159
59160        No new tests, no behavior changes.
59161
59162        * accessibility/AccessibilityARIAGridRow.cpp:
59163        (WebCore::AccessibilityARIAGridRow::disclosedRows):
59164        (WebCore::AccessibilityARIAGridRow::disclosedByRow):
59165        * accessibility/AccessibilityTableHeaderContainer.cpp:
59166        (WebCore::AccessibilityTableHeaderContainer::addChildren):
59167        * accessibility/atk/WebKitAccessibleInterfaceTable.cpp:
59168        (cell):
59169        (cellAtIndex):
59170        (webkitAccessibleTableGetIndexAt):
59171        (webkitAccessibleTableGetNColumns):
59172        (webkitAccessibleTableGetNRows):
59173        (webkitAccessibleTableGetColumnHeader):
59174        (webkitAccessibleTableGetRowHeader):
59175        * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
59176        (-[WebAccessibilityObjectWrapper tableParent]):
59177        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
59178        (-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
59179        (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
59180        (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
59181
591822013-11-07  Andreas Kling  <akling@apple.com>
59183
59184        Use tighter InlineBox subtypes in some places.
59185        <https://webkit.org/b/123980>
59186
59187        RenderLineBreak and RenderBox line box wrappers are always going to
59188        be InlineElementBox, so codify this with tighter types. Also made
59189        the various positionLine() functions take tighter reference types.
59190
59191        All the casting to renderer-appropriate box types happens inside of
59192        RenderBlockFlow::computeBlockDirectionPositionsForLine() and
59193        propagates from there.
59194
59195        Reviewed by Antti Koivisto.
59196
591972013-11-07  Mario Sanchez Prada  <mario.prada@samsung.com>
59198
59199        AX: [ATK] Video and audio elements are not properly exposed
59200        https://bugs.webkit.org/show_bug.cgi?id=123894
59201
59202        Reviewed by Chris Fleizach.
59203
59204        Expose <audio> and <video> elements with ATK_ROLE_EMBEDDED, so we
59205        can identify them properly from ATK/AT-SPI based ATs.
59206
59207        Tests: platform/gtk/accessibility/media-controls-panel-title.html
59208               platform/efl/accessibility/media-emits-object-replacement.html
59209               platform/gtk/accessibility/media-emits-object-replacement.html
59210
59211        * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
59212        (atkRole): Add the new mapping.
59213
592142013-11-07  Laszlo Vidacs  <lac@inf.u-szeged.hu>
59215        
59216        Fix crash in BitmapImage::destroyDecodedData()
59217        https://bugs.webkit.org/show_bug.cgi?id=116494
59218
59219        Reviewed by Csaba Osztrogonác.
59220
59221        Merge from https://chromium.googlesource.com/chromium/blink/+/6b6887bf53068f8537908e501fdc7317ad2c6d86
59222
59223        * platform/graphics/BitmapImage.cpp:
59224        (WebCore::BitmapImage::destroyDecodedData):
59225
592262013-11-06  Sergio Villar Senin  <svillar@igalia.com>
59227
59228        [CSS Grid Layout] CSSParser should reject <track-list> without a <track-size>
59229        https://bugs.webkit.org/show_bug.cgi?id=118025
59230
59231        Reviewed by Andreas Kling.
59232
59233        From Blink r152914 by <jchaffraix@chromium.org>
59234
59235        Make sure that we parse at least 1 <track-size> inside each
59236        <track-list>. The old parser code allowed track-lists exclusively
59237        made of <track-name>. The way it was implemented eases the future
59238        addition of parsing for the repeat() function.
59239
59240        * css/CSSParser.cpp:
59241        (WebCore::CSSParser::parseGridTrackList):
59242        * css/StyleResolver.cpp:
59243        (WebCore::createGridTrackList): ASSERT if we don't find any
59244        <track-size> now that we detect their absence in the parser.
59245
592462013-11-06  Sergio Villar Senin  <svillar@igalia.com>
59247
59248        [CSS Grid Layout] Fix handling of 'inherit' and 'initial' for grid lines
59249        https://bugs.webkit.org/show_bug.cgi?id=115401
59250
59251        Reviewed by Andreas Kling.
59252
59253        From Blink r150585 by <jchaffraix@chromium.org>
59254
59255        Added support for 'inherit' and 'initial' special values to
59256        grid-auto-{columns|rows} and grid-definition-{columns|rows}.
59257
59258        * css/StyleResolver.cpp:
59259        (WebCore::StyleResolver::applyProperty): Resolve 'initial' and 'inherit'.
59260        * rendering/style/RenderStyle.h: Added initialNamedGrid{Column|Row}Lines().
59261        * rendering/style/StyleGridData.cpp:
59262        (WebCore::StyleGridData::StyleGridData): Initialize m_namedGrid{Column|Row}Lines.
59263
592642013-11-07  Andreas Kling  <akling@apple.com>
59265
59266        Clean up BidiRun a little bit.
59267        <https://webkit.org/b/123964>
59268
59269        Make BidiRun's member variables private and add accessors for them.
59270        In doing so, codify the following:
59271
59272            - BidiRun always has a corresponding RenderObject.
59273            - The inline box is never cleared after being set.
59274
59275        Reviewed by Antti Koivisto.
59276
592772013-11-07  Andreas Kling  <akling@apple.com>
59278
59279        More CSSPrimitiveValue constructors should return PassRef.
59280        <https://webkit.org/b/123953>
59281
59282        Make some more CSSPrimitiveValue constructor helpers (that are
59283        known to never return null) return PassRef instead of PassRefPtr.
59284
59285        Reviewed by Antti Koivisto.
59286
592872013-11-07  Andreas Kling  <akling@apple.com>
59288
59289        Generate type casting helpers for line boxes and use them.
59290        <https://webkit.org/b/123976>
59291
59292        Semi-automatically generate the full set of toFooInlineBox()
59293        helpers with macros instead of having them (partially) hand-coded.
59294        Replaced static_casts with the new helpers across the codebase.
59295
59296        Also made the isFooInlineBox() overrides private since they should
59297        never be called when the type is already known.
59298
59299        Reviewed by Antti Koivisto.
59300
593012013-11-07  Ryosuke Niwa  <rniwa@webkit.org>
59302
59303        Simplify Attr by removing m_specified member variable and setter
59304        https://bugs.webkit.org/show_bug.cgi?id=123965
59305
59306        Reviewed by Andreas Kling.
59307
59308        Merge https://chromium.googlesource.com/chromium/blink/+/597f44ec928e08820574728889adabc6d8ecd746
59309
59310        m_specified is always true in WebKit so simply return true in Attr::specified().
59311
59312        * dom/Attr.cpp:
59313        (WebCore::Attr::Attr):
59314        * dom/Attr.h:
59315        * dom/Document.cpp:
59316        (WebCore::Document::adoptNode):
59317
593182013-10-25  Jer Noble  <jer.noble@apple.com>
59319
59320        [MSE] Add MediaSource extensions to AudioTrack, VideoTrack, and TextTrack.
59321        https://bugs.webkit.org/show_bug.cgi?id=123374
59322
59323        Reviewed by Eric Carlson.
59324
59325        No tests added; tests will be added when Mock implementations are added in a future patch.
59326
59327        Add new partial interfaces for added methods on AudioTrack, TextTrack, and VideoTrack:
59328        * Modules/mediasource/AudioTrackMediaSource.idl: Add read-only sourceBuffer attribute.
59329        * Modules/mediasource/TextTrackMediaSource.idl: Ditto.
59330        * Modules/mediasource/VideoTrackMediaSource.idl: Ditto.
59331        * Modules/mediasource/AudioTrackMediaSource.h:
59332        (WebCore::AudioTrackMediaSource::sourceBuffer): Added static wrapper around non-static sourceBuffer().
59333        * Modules/mediasource/TextTrackMediaSource.h:
59334        (WebCore::TextTrackMediaSource::sourceBuffer): Ditto.
59335        * Modules/mediasource/VideoTrackMediaSource.h:
59336        (WebCore::VideoTrackMediaSource::sourceBuffer): Ditto.
59337
59338        Add support for writable kind & language attributes through a custom setter:
59339        * bindings/js/JSAudioTrackCustom.cpp:
59340        (WebCore::JSAudioTrack::setKind):
59341        (WebCore::JSAudioTrack::setLanguage):
59342        * bindings/js/JSTextTrackCustom.cpp:
59343        (WebCore::JSTextTrack::setKind):
59344        (WebCore::JSTextTrack::setLanguage):
59345        * bindings/js/JSVideoTrackCustom.cpp:
59346        (WebCore::JSVideoTrack::setKind):
59347        (WebCore::JSVideoTrack::setLanguage):
59348        * html/track/AudioTrack.idl:
59349        * html/track/TextTrack.idl:
59350        * html/track/VideoTrack.idl:
59351
59352        Add setter methods to the implementation classes:
59353        * html/track/TextTrack.cpp:
59354        (WebCore::TextTrack::TextTrack):
59355        (WebCore::TextTrack::setKind):
59356        (WebCore::TextTrack::setLanguage):
59357        * html/track/TextTrack.h:
59358        * html/track/TrackBase.cpp:
59359        (WebCore::TrackBase::TrackBase):
59360        (WebCore::TrackBase::setKind):
59361        (WebCore::TrackBase::setKindInternal):
59362        * html/track/TrackBase.h:
59363        (WebCore::TrackBase::setLanguage):
59364        (WebCore::TrackBase::sourceBuffer):
59365        (WebCore::TrackBase::setSourceBuffer):
59366        * html/track/VideoTrack.cpp:
59367        (WebCore::VideoTrack::VideoTrack):
59368        (WebCore::VideoTrack::setKind):
59369        (WebCore::VideoTrack::setLanguage):
59370        * html/track/VideoTrack.h:
59371
59372        Implement the unimplemented portions of MediaSource and SourceBuffer:
59373        * Modules/mediasource/MediaSource.cpp:
59374        (WebCore::MediaSource::removeSourceBuffer):
59375        * Modules/mediasource/MediaSourceBase.cpp:
59376        (WebCore::MediaSourceBase::MediaSourceBase):
59377        (WebCore::MediaSourceBase::setPrivateAndOpen):
59378        (WebCore::MediaSourceBase::setReadyState):
59379        (WebCore::MediaSourceBase::attachToElement):
59380        * Modules/mediasource/MediaSourceBase.h:
59381        (WebCore::MediaSourceBase::mediaElement):
59382        * Modules/mediasource/SourceBuffer.cpp:
59383        (WebCore::SourceBuffer::videoTracks):
59384        (WebCore::SourceBuffer::audioTracks):
59385        (WebCore::SourceBuffer::textTracks):
59386        (WebCore::SourceBuffer::sourceBufferPrivateDidAddAudioTrack):
59387        (WebCore::SourceBuffer::sourceBufferPrivateDidAddVideoTrack):
59388        (WebCore::SourceBuffer::sourceBufferPrivateDidAddTextTrack):
59389        (WebCore::SourceBuffer::sourceBufferPrivateDidChangeActiveState):
59390        * Modules/mediasource/SourceBuffer.h:
59391        * Modules/mediasource/SourceBuffer.idl:
59392
59393        Add new files to the project:
59394        * DerivedSources.make:
59395        * WebCore.xcodeproj/project.pbxproj:
59396
59397        And a smorgasbord of other utility changes:
59398        * html/HTMLMediaElement.cpp:
59399        (WebCore::HTMLMediaElement::loadResource): Pass this when attaching.
59400        (WebCore::HTMLMediaElement::mediaPlayerDidAddTextTrack): Ditto.
59401        * html/HTMLMediaSource.h:
59402        * html/track/TextTrackList.cpp:
59403        (TextTrackList::item): Make const.
59404        * html/track/TextTrackList.h:
59405        (WebCore::TextTrackList::lastItem): Added.
59406        * platform/graphics/InbandTextTrackPrivate.h:
59407        (WebCore::InbandTextTrackPrivate::create): Added.
59408        (WebCore::MockSourceBufferPrivate::trackDidChangeEnabled):
59409
594102013-11-06  Vani Hegde  <vani.hegde@samsung.com>
59411
59412        Applied background color is not retained after typing a characters
59413        https://bugs.webkit.org/show_bug.cgi?id=117337
59414
59415        Reviewed by Ryosuke Niwa.
59416
59417        While deleting a selection, only the inheritable style properties
59418        applied on the selection were saved.
59419        Since background color is considered as noninheritable style property,
59420        on deleting the selection, background color set on it was being lost.
59421        Hence on typing in new text, it would not have the applied
59422        background color set.
59423        Fixed by saving editing preoperties that are already in effect
59424        on a selection before deleting it.
59425
59426        Test: editing/style/background-color-retained.html
59427
59428        * editing/DeleteSelectionCommand.cpp:
59429        (WebCore::DeleteSelectionCommand::saveTypingStyleState):
59430        Modified as to save EditingPropertiesInEffect on a selection before
59431        deleting it.
59432
594332013-11-06  Andreas Kling  <akling@apple.com>
59434
59435        InlineBox: Make paint() and nodeAtPoint() pure virtuals.
59436        <https://webkit.org/b/123937>
59437
59438        ...and move the current implementations to InlineElementBox.
59439        All subclasses were already overriding these functions so the move
59440        is completely natural.
59441
59442        Reviewed by Anders Carlsson.
59443
594442013-11-06  Andreas Kling  <akling@apple.com>
59445
59446        Nothing should return std::unique_ptr<InlineBox>.
59447        <https://webkit.org/b/123936>
59448
59449        Made RenderBox, RenderLineBreak and RenderListMarker return tightly
59450        typed InlineElementBoxes instead.
59451
59452        Reviewed by Anders Carlsson.
59453
594542013-11-06  Daniel Bates  <dabates@apple.com>
59455
59456        [iOS] Upstream Letterpress effect
59457        https://bugs.webkit.org/show_bug.cgi?id=123932
59458
59459        Reviewed by Sam Weinig.
59460
59461        Test: platform/iphone-simulator/iphone/getComputedStyle-text-decoration-letterpress.html
59462
59463        * Configurations/FeatureDefines.xcconfig: Add feature define ENABLE_LETTERPRESS disabled
59464        by default. We only enable letterpress on iOS.
59465        * css/CSSComputedStyleDeclaration.cpp:
59466        (WebCore::renderTextDecorationFlagsToCSSValue): Add support for CSS value -webkit-letterpress.
59467        * css/CSSParser.cpp:
59468        (WebCore::CSSParser::parseTextDecoration): Ditto.
59469        * css/CSSPrimitiveValueMappings.h:
59470        (WebCore::CSSPrimitiveValue::operator TextDecoration): Ditto.
59471        * css/CSSValueKeywords.in: Added CSS value -webkit-letterpress.
59472        * platform/graphics/GraphicsContext.h:
59473        * platform/graphics/mac/FontMac.mm:
59474        (WebCore::fillVectorWithHorizontalGlyphPositions): Added.
59475        (WebCore::shouldUseLetterpressEffect): Added.
59476        (WebCore::showLetterpressedGlyphsWithAdvances): Added.
59477        (WebCore::showGlyphsWithAdvances): Modified to call showLetterpressedGlyphsWithAdvances()
59478        to show a letterpressed glyph. I also included additional iOS-specific changes.
59479        (WebCore::Font::drawGlyphs):
59480        * rendering/TextPaintStyle.cpp:
59481        (WebCore::TextPaintStyle::TextPaintStyle): 
59482        (WebCore::computeTextPaintStyle): Modified to compute letterpress effect style.
59483        (WebCore::updateGraphicsContext): Modified to apply/unapply letterpress effect drawing mode.
59484        * rendering/TextPaintStyle.h:
59485        * rendering/style/RenderStyleConstants.h:
59486
594872013-11-06  Ryosuke Niwa  <rniwa@webkit.org>
59488
59489        Crash in SliderThumbElement::dragFrom
59490        https://bugs.webkit.org/show_bug.cgi?id=123873
59491
59492        Reviewed by Sam Weinig.
59493
59494        Moved Ref.
59495
59496        * html/RangeInputType.cpp:
59497        (WebCore::RangeInputType::handleMouseDownEvent):
59498        * html/shadow/SliderThumbElement.cpp:
59499        (WebCore::SliderThumbElement::dragFrom):
59500
595012013-11-06  Daniel Bates  <dabates@apple.com>
59502
59503        Cleanup FontMac.mm
59504        https://bugs.webkit.org/show_bug.cgi?id=123928
59505
59506        Reviewed by Andy Estes.
59507
59508        * platform/graphics/mac/FontMac.mm:
59509        (WebCore::showGlyphsWithAdvances): Inline the value of variable isVertical as we
59510        reference it exactly once and its value is sufficiently clear.
59511        (WebCore::Font::drawGlyphs): Remove default case in switch block so that the compiler
59512        checks that all cases are covered. Move definition of platformData to the top of the
59513        function and use it whenever we want to access the platform font data
59514
595152013-11-06  Brent Fulgham  <bfulgham@apple.com>
59516
59517        [WebGL] We should not allow generateMipMap on compressed textures
59518        https://bugs.webkit.org/show_bug.cgi?id=123915
59519        <rdar://problem/15201274>
59520
59521        Reviewed by Dean Jackson.
59522
59523        Found by existing conformance/extensions/webgl-compressed-texture-s3tc.html
59524
59525        * html/canvas/WebGLRenderingContext.cpp:
59526        (WebCore::WebGLRenderingContext::compressedTexImage2D): Set compressed flag.
59527        (WebCore::WebGLRenderingContext::compressedTexSubImage2D): Ditto.
59528        (WebCore::WebGLRenderingContext::generateMipmap): For Apple builds, check state
59529        of compressed flag and generate appropriate WebGL error if necessary.
59530        * html/canvas/WebGLTexture.cpp:
59531        (WebCore::WebGLTexture::WebGLTexture): Set compressed flag to false by default
59532        (WebCore::WebGLTexture::isCompressed): Added
59533        (WebCore::WebGLTexture::setCompressed): Added
59534        * html/canvas/WebGLTexture.h:
59535        * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
59536        (WebCore::GraphicsContext3D::generateMipmap): Switch implementation to use proper
59537        glGenerateMipmaps, rather than the glGenerateMipmapsEXT method.
59538
595392013-11-06  Joseph Pecoraro  <pecoraro@apple.com>
59540
59541        Web Inspector: Changes to CodeGeneratorInspectorStrings.py should rebuild inspector generated files
59542        https://bugs.webkit.org/show_bug.cgi?id=123925
59543
59544        Reviewed by Timothy Hatcher.
59545
59546        * CMakeLists.txt:
59547        * DerivedSources.make:
59548        * GNUmakefile.am:
59549
595502013-11-06  Bem Jones-Bey  <bjonesbe@adobe.com>
59551
59552        Rename region line offset methods
59553        https://bugs.webkit.org/show_bug.cgi?id=123897
59554
59555        Reviewed by Sam Weinig.
59556
59557        Because of the large number of overloads on the line offset methods,
59558        it is very hard to read code using them, which also makes it harder to
59559        move them out of RenderBlock. This patch renames the methods that take
59560        a region as an argument to make it clearer when looking at the code
59561        how the differ from the ones that don't.
59562
59563        No new tests, no behavior change.
59564
59565        * rendering/RenderBlock.cpp:
59566        (WebCore::RenderBlock::computeStartPositionDeltaForChildAvoidingFloats):
59567        * rendering/RenderBlock.h:
59568        (WebCore::RenderBlock::availableLogicalWidthForLineInRegion):
59569        (WebCore::RenderBlock::logicalRightOffsetForLineInRegion):
59570        (WebCore::RenderBlock::logicalLeftOffsetForLineInRegion):
59571        (WebCore::RenderBlock::startOffsetForLineInRegion):
59572        (WebCore::RenderBlock::endOffsetForLineInRegion):
59573        (WebCore::RenderBlock::availableLogicalWidthForLine):
59574        * rendering/RenderBox.cpp:
59575        (WebCore::RenderBox::shrinkLogicalWidthToAvoidFloats):
59576        (WebCore::RenderBox::containingBlockAvailableLineWidthInRegion):
59577
595782013-11-06  Antti Koivisto  <antti@apple.com>
59579
59580        HTMLCollection should use CollectionIndexCache
59581        https://bugs.webkit.org/show_bug.cgi?id=123906
59582
59583        Reviewed by Ryosuke Niwa.
59584        
59585        More code sharing.
59586
59587        * bindings/js/JSDOMWindowCustom.cpp:
59588        (WebCore::namedItemGetter):
59589        * bindings/js/JSHTMLDocumentCustom.cpp:
59590        (WebCore::JSHTMLDocument::nameGetter):
59591        * dom/ChildNodeList.h:
59592        * dom/CollectionIndexCache.h:
59593        (WebCore::::nodeBeforeCached):
59594        (WebCore::::nodeAfterCached):
59595        (WebCore::::nodeAt):
59596            
59597            Add a mechanism for disabling use of backward traversal.
59598
59599        * dom/LiveNodeList.h:
59600        (WebCore::LiveNodeList::collectionCanTraverseBackward):
59601        * html/HTMLCollection.cpp:
59602        (WebCore::HTMLCollection::HTMLCollection):
59603        (WebCore::isMatchingElement):
59604        (WebCore::HTMLCollection::iterateForPreviousElement):
59605        (WebCore::firstMatchingElement):
59606        (WebCore::nextMatchingElement):
59607        (WebCore::HTMLCollection::length):
59608        (WebCore::HTMLCollection::item):
59609        (WebCore::nameShouldBeVisibleInDocumentAll):
59610        (WebCore::firstMatchingChildElement):
59611        (WebCore::nextMatchingSiblingElement):
59612        (WebCore::HTMLCollection::firstElement):
59613        (WebCore::HTMLCollection::traverseForward):
59614        (WebCore::HTMLCollection::collectionFirst):
59615        (WebCore::HTMLCollection::collectionLast):
59616        (WebCore::HTMLCollection::collectionTraverseForward):
59617        (WebCore::HTMLCollection::collectionTraverseBackward):
59618        (WebCore::HTMLCollection::invalidateCache):
59619        (WebCore::HTMLCollection::namedItem):
59620        (WebCore::HTMLCollection::updateNameCache):
59621        * html/HTMLCollection.h:
59622        (WebCore::HTMLCollection::collectionCanTraverseBackward):
59623        
59624            Disable use of backward traversal for collections that use custom traversal.
59625
596262013-11-06  Brendan Long  <b.long@cablelabs.com>
59627
59628        Add "id" attribute to TextTrack
59629        https://bugs.webkit.org/show_bug.cgi?id=123825
59630
59631        Reviewed by Eric Carlson.
59632
59633        Test: media/track/track-id.html
59634
59635        * html/HTMLMediaElement.cpp:
59636        (HTMLMediaElement::addTextTrack): Add emptyString() for track id.
59637        * html/track/AudioTrack.cpp:
59638        (WebCore::AudioTrack::AudioTrack): Pass trackPrivate->id() to TrackBase.
59639        (WebCore::AudioTrack::idChanged): Added, set id.
59640        * html/track/AudioTrack.h: Move m_id to TrackBase.
59641        * html/track/InbandTextTrack.cpp:
59642        (WebCore::InbandTextTrack::InbandTextTrack): Pass trackPrivate->id() to TrackBase.
59643        (WebCore::InbandTextTrack::idChanged): Added, set id.
59644        * html/track/InbandTextTrack.h: Add idChanged().
59645        * html/track/LoadableTextTrack.cpp:
59646        (WebCore::LoadableTextTrack::LoadableTextTrack): Add emptyString() for track id.
59647        (WebCore::LoadableTextTrack::id): Override to return the track element's id.
59648        * html/track/TextTrack.cpp:
59649        (WebCore::TextTrack::captionMenuOffItem): Add empty string for track id.
59650        (WebCore::TextTrack::captionMenuAutomaticItem): Add empty string for track id.
59651        (WebCore::TextTrack::TextTrack): Pass id to TrackBase.
59652        * html/track/TextTrack.h:
59653        (WebCore::TextTrack::create): Add id parameter.
59654        * html/track/TextTrack.idl: Add id attribute.
59655        * html/track/TrackBase.cpp:
59656        (WebCore::TrackBase::TrackBase): Add m_id.
59657        * html/track/TrackBase.h: Add id attribute / m_id.
59658        * html/track/VideoTrack.cpp:
59659        (WebCore::VideoTrack::VideoTrack): Pass trackPrivate->id() to TrackBase.
59660        (WebCore::VideoTrack::idChanged): Added, set id.
59661        * html/track/VideoTrack.h: Move m_id to TrackBase.
59662        * platform/graphics/TrackPrivateBase.h: Add idChanged() callback.
59663
596642013-11-06  Antti Koivisto  <antti@apple.com>
59665
59666        Move array position caching out from HTMLCollection
59667        https://bugs.webkit.org/show_bug.cgi?id=123895
59668
59669        Reviewed by Darin Adler.
59670
59671        This caching complicates the logic but is used by a single subclass
59672        (HTMLFormControlsCollection) only. The subclass can do the caching itself.
59673
59674        * html/HTMLAllCollection.cpp:
59675        (WebCore::HTMLAllCollection::HTMLAllCollection):
59676        * html/HTMLCollection.cpp:
59677        (WebCore::HTMLCollection::HTMLCollection):
59678        (WebCore::HTMLCollection::create):
59679        (WebCore::HTMLCollection::item):
59680        (WebCore::HTMLCollection::elementBeforeOrAfterCachedElement):
59681        (WebCore::HTMLCollection::firstElement):
59682        
59683            Renamed from traverseFirstElement.
59684
59685        (WebCore::HTMLCollection::traverseForwardToOffset):
59686        (WebCore::HTMLCollection::invalidateCache):
59687        
59688            Make cache invalidation virtual so we can clear HTMLTableRowsCollection index cache.
59689
59690        (WebCore::HTMLCollection::namedItem):
59691        (WebCore::HTMLCollection::updateNameCache):
59692        
59693            Use traverseForwardToOffset instead traverseNextElement. This allows removal of traverseNextElement.
59694
59695        * html/HTMLCollection.h:
59696        (WebCore::HTMLCollection::usesCustomForwardOnlyTraversal):
59697        
59698            Renamed the enum and the accessor to be more informative.
59699
59700        (WebCore::HTMLCollection::setCachedElement):
59701        (WebCore::HTMLCollection::customElementAfter):
59702        
59703            Renamed from virtualItemAfter.
59704
59705        * html/HTMLFormControlsCollection.cpp:
59706        (WebCore::HTMLFormControlsCollection::HTMLFormControlsCollection):
59707        (WebCore::findFormAssociatedElement):
59708        (WebCore::HTMLFormControlsCollection::customElementAfter):
59709        
59710            Move the array position caching logic here.
59711
59712        (WebCore::HTMLFormControlsCollection::invalidateCache):
59713        * html/HTMLFormControlsCollection.h:
59714        * html/HTMLNameCollection.cpp:
59715        (WebCore::HTMLNameCollection::HTMLNameCollection):
59716        * html/HTMLOptionsCollection.cpp:
59717        (WebCore::HTMLOptionsCollection::HTMLOptionsCollection):
59718        * html/HTMLTableRowsCollection.cpp:
59719        (WebCore::HTMLTableRowsCollection::HTMLTableRowsCollection):
59720        (WebCore::HTMLTableRowsCollection::customElementAfter):
59721        * html/HTMLTableRowsCollection.h:
59722
597232013-11-06  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
59724
59725        [ATK] accessibility/title-ui-element-correctness.html fails
59726        https://bugs.webkit.org/show_bug.cgi?id=99825
59727
59728        Reviewed by Mario Sanchez Prada.
59729
59730        When calling setAtkRelationSetFromCoreObject a new ATK_LABELLED_BY_RELATION
59731        is added, adding proper label element as a relation. When the document structure
59732        has been changed and a different label should be linked as a relation, current ATK
59733        implementation adds it as a next target on relation's target list, while
59734        WTR/DumpRenderTree implementation takes only first one into account.
59735        This patch adds a new function removing current relations before adding new ones.
59736
59737        Covered by existing tests.
59738
59739        * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
59740        (removeAtkRelationFromRelationSetByType):
59741        (setAtkRelationSetFromCoreObject):
59742
597432013-11-06  Daniel Bates  <dabates@apple.com>
59744
59745        Add ENABLE(TEXT_SELECTION)
59746        https://bugs.webkit.org/show_bug.cgi?id=123827
59747
59748        Reviewed by Ryosuke Niwa.
59749
59750        Add compile-time guard, ENABLE(TEXT_SELECTION), to enable or
59751        disable selection painting in WebCore (enabled by default).
59752
59753        On iOS we disable WebCore selection painting and have UIKit
59754        paint the selection.
59755
59756        * rendering/InlineTextBox.cpp:
59757        (WebCore::InlineTextBox::paintSelection): Only paint selection when
59758        TEXT_SELECTION is enabled.
59759        * rendering/LogicalSelectionOffsetCaches.h:
59760        (WebCore::LogicalSelectionOffsetCaches::LogicalSelectionOffsetCaches):
59761        For now, add a ENABLE(TEXT_SELECTION)-guard around an assertion. Added
59762        a FIXME comment to investigate the callers and either move the assertion
59763        to the appropriate callers or structure the code such that we can remove
59764        the assertion.
59765        * rendering/RenderBlock.cpp:
59766        (WebCore::RenderBlock::paintSelection): Only paint selection when
59767        TEXT_SELECTION is enabled.
59768        * rendering/TextPaintStyle.cpp:
59769        (WebCore::computeTextSelectionPaintStyle): Only compute the selection
59770        paint style when TEXT_SELECTION is enabled. Otherwise, return a paint
59771        style identical to the text paint style. Also, substitute nullptr for 0.
59772
597732013-11-06  Jer Noble  <jer.noble@apple.com>
59774
59775        Unrevewied Windows build fix after r158736; add InlineElementBox.cpp to the RenderingAllInOne.cpp file.
59776
59777        * rendering/RenderingAllInOne.cpp:
59778
597792013-11-06  Sergio Villar Senin  <svillar@igalia.com>
59780
59781        Unreviewed build fix, style() return type is now a reference.
59782
59783        * rendering/RenderGrid.cpp:
59784        (WebCore::RenderGrid::resolveGridPositionFromStyle):
59785
597862013-11-06  Jer Noble  <jer.noble@apple.com>
59787
59788        Unreviewed 32-bit Mac build fix; use an explicit FloatSize -> IntSize conversion function.
59789
59790        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
59791        (WebCore::MediaPlayerPrivateAVFoundationObjC::sizeChanged):
59792
597932013-11-04  Jer Noble  <jer.noble@apple.com>
59794
59795        Playing many sounds with HTML5 Audio makes WebKit unresponsive
59796        https://bugs.webkit.org/show_bug.cgi?id=116145
59797
59798        Reviewed by Eric Carlson.
59799
59800        Cache as much information as possible from AVPlayerItem to eliminate unneccesary
59801        calls into AVFoundation.
59802
59803        Add WillChange/DidChange functions to handle the results of KVO notifications
59804        from AVPlayerItem and AVPlayer:
59805        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
59806        (WebCore::MediaPlayerPrivateAVFoundationObjC::platformPlay):
59807        (WebCore::MediaPlayerPrivateAVFoundationObjC::platformPause):
59808        (WebCore::MediaPlayerPrivateAVFoundationObjC::updateRate):
59809        (WebCore::MediaPlayerPrivateAVFoundationObjC::playerItemStatusDidChange):
59810        (WebCore::MediaPlayerPrivateAVFoundationObjC::playbackLikelyToKeepUpWillChange):
59811        (WebCore::MediaPlayerPrivateAVFoundationObjC::playbackLikelyToKeepUpDidChange):
59812        (WebCore::MediaPlayerPrivateAVFoundationObjC::playbackBufferEmptyWillChange):
59813        (WebCore::MediaPlayerPrivateAVFoundationObjC::playbackBufferEmptyDidChange):
59814        (WebCore::MediaPlayerPrivateAVFoundationObjC::playbackBufferFullWillChange):
59815        (WebCore::MediaPlayerPrivateAVFoundationObjC::playbackBufferFullDidChange):
59816        (WebCore::MediaPlayerPrivateAVFoundationObjC::seekableTimeRangesDidChange):
59817        (WebCore::MediaPlayerPrivateAVFoundationObjC::loadedTimeRangesDidChange):
59818        (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksDidChange):
59819        (WebCore::MediaPlayerPrivateAVFoundationObjC::hasEnabledAudioDidChange):
59820        (WebCore::MediaPlayerPrivateAVFoundationObjC::presentationSizeDidChange):
59821        (WebCore::MediaPlayerPrivateAVFoundationObjC::durationDidChange):
59822        (WebCore::MediaPlayerPrivateAVFoundationObjC::rateDidChange):
59823        (WebCore::itemKVOProperties):
59824        (-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]):
59825
59826        Instruct the HTMLMediaElement to cache the currentTime value for 5 seconds:
59827        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
59828        (WebCore::MediaPlayerPrivateAVFoundationObjC::maximumDurationToCacheMediaTime):
59829
59830        Add and initialize member variables to hold these cached values:
59831        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
59832        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
59833        (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC):
59834        (WebCore::MediaPlayerPrivateAVFoundationObjC::cancelLoad):
59835
59836        Add a new Notification type which can take (and call) a Function object:
59837        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
59838        (WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification):
59839        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
59840        (WebCore::MediaPlayerPrivateAVFoundation::Notification::Notification):
59841        (WebCore::MediaPlayerPrivateAVFoundation::Notification::function):
59842
59843        Implement queries in terms of the cached values of AVPlayerItem and AVPlayer
59844        properties:
59845        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
59846        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
59847        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer):
59848        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem):
59849        (WebCore::MediaPlayerPrivateAVFoundationObjC::playerItemStatus):
59850        (WebCore::MediaPlayerPrivateAVFoundationObjC::rate):
59851        (WebCore::MediaPlayerPrivateAVFoundationObjC::platformBufferedTimeRanges):
59852        (WebCore::MediaPlayerPrivateAVFoundationObjC::platformMinTimeSeekable):
59853        (WebCore::MediaPlayerPrivateAVFoundationObjC::platformMaxTimeSeekable):
59854        (WebCore::MediaPlayerPrivateAVFoundationObjC::platformMaxTimeLoaded):
59855        (WebCore::MediaPlayerPrivateAVFoundationObjC::totalBytes):
59856        (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged):
59857        (WebCore::MediaPlayerPrivateAVFoundationObjC::updateAudioTracks):
59858        (WebCore::MediaPlayerPrivateAVFoundationObjC::updateVideoTracks):
59859        (WebCore::MediaPlayerPrivateAVFoundationObjC::sizeChanged):
59860        (WebCore::MediaPlayerPrivateAVFoundationObjC::processLegacyClosedCaptionsTracks):
59861
59862        Invalidate the cached currentTime before calling scheduleTimeUpdate so that the
59863        correct movieTime is saved in m_clockTimeAtLastUpdateEvent:
59864        * html/HTMLMediaElement.cpp:
59865        (HTMLMediaElement::setReadyState):
59866
598672013-10-24  Sergio Villar Senin  <svillar@igalia.com>
59868
59869        [CSS Grid Layout] Add support for named grid areas
59870        https://bugs.webkit.org/show_bug.cgi?id=120045
59871
59872        Reviewed by Andreas Kling.
59873
59874        From Blink r155555, r155850 and r155889 by <jchaffraix@chromium.org>
59875
59876        Added support for named grid areas. Basically a named grid area is
59877        now a valid grid position. The shorthand parsing of grid-area was
59878        split from the grid-{row|column} as the rules for expanding are
59879        slightly different.
59880
59881        Unknown grid area names are treated as 'auto' as per the
59882        specification. This means that for those cases we need to trigger
59883        the auto-placement algorithm.
59884
59885        Tests: fast/css-grid-layout/grid-item-bad-named-area-auto-placement.html
59886               fast/css-grid-layout/grid-item-named-grid-area-resolution.html
59887
59888        * css/CSSComputedStyleDeclaration.cpp:
59889        (WebCore::valueForGridPosition):
59890        * css/CSSParser.cpp:
59891        (WebCore::CSSParser::parseValue):
59892        (WebCore::CSSParser::parseGridPosition):
59893        (WebCore::gridMissingGridPositionValue):
59894        (WebCore::CSSParser::parseGridItemPositionShorthand):
59895        (WebCore::CSSParser::parseGridAreaShorthand):
59896        (WebCore::CSSParser::parseSingleGridAreaLonghand):
59897        * css/CSSParser.h:
59898        * css/StyleResolver.cpp:
59899        (WebCore::StyleResolver::adjustRenderStyle):
59900        (WebCore::StyleResolver::adjustGridItemPosition):
59901        (WebCore::createGridPosition):
59902        * css/StyleResolver.h:
59903        * rendering/RenderGrid.cpp:
59904        (WebCore::RenderGrid::resolveGridPositionFromStyle):
59905        * rendering/style/GridPosition.h:
59906        (WebCore::GridPosition::isNamedGridArea):
59907        (WebCore::GridPosition::setNamedGridArea):
59908        (WebCore::GridPosition::namedGridLine):
59909
599102013-11-06  Chris Fleizach  <cfleizach@apple.com>
59911
59912        AX: Audio and Video attachments are not output to VoiceOver
59913        https://bugs.webkit.org/show_bug.cgi?id=123479
59914
59915        Reviewed by Mario Sanchez Prada.
59916
59917        Video and audio elements don't appear as distinct objects in the AX hierarchy,
59918        nor are they treated as replaceable objects when emitting the text. We should
59919        treat these characters like attachments, for one. On the Mac platform, we should
59920        also identify them with special subroles.
59921
59922        Tests: platform/mac/accessibility/media-emits-object-replacement.html
59923               platform/mac/accessibility/media-role-descriptions.html
59924
59925        * accessibility/AccessibilityNodeObject.cpp:
59926        (WebCore::AccessibilityNodeObject::isGenericFocusableElement):
59927        * accessibility/AccessibilityObject.h:
59928        * accessibility/AccessibilityRenderObject.cpp:
59929        (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
59930        (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
59931        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
59932        (createAccessibilityRoleMap):
59933        (-[WebAccessibilityObjectWrapper subrole]):
59934        (-[WebAccessibilityObjectWrapper roleDescription]):
59935        * editing/TextIterator.cpp:
59936        (WebCore::isRendererReplacedElement):
59937
59938
599392013-11-06  Ryosuke Niwa  <rniwa@webkit.org>
59940
59941        Notify nodes removal to Range/Selection after dispatching blur and mutation event
59942        https://bugs.webkit.org/show_bug.cgi?id=123880
59943
59944        Reviewed by Andreas Kling.
59945
59946        Merge https://chromium.googlesource.com/chromium/blink/+/b60576a0560d14f8757e58d55d37b7cefa48a6ac
59947
59948        In willRemoveChildren in ContainerNode.cpp, call Document::nodeChildrenWillBeRemoved after instead of
59949        before dispatching mutation events because we need to update ranges created by those mutation event
59950        listeners. willRemoveChild was fixed in r115686.
59951
59952        Tests: editing/selection/selection-change-in-blur-event-by-remove-children.html
59953               editing/selection/selection-change-in-mutation-event-by-remove-children.html
59954               fast/dom/Range/range-created-during-remove-children.html
59955
59956        * dom/ContainerNode.cpp:
59957        (WebCore::willRemoveChildren):
59958
599592013-11-06  Ryosuke Niwa  <rniwa@webkit.org>
59960
59961        Fix out-of-date offset in selection range code in range.surroundContents
59962        https://bugs.webkit.org/show_bug.cgi?id=123871
59963
59964        Reviewed by Andreas Kling.
59965        
59966        Merge https://chromium.googlesource.com/chromium/blink/+/c89b413ff0fc4aafa0c71d180b0b1e131bb37707
59967
59968        The code in Range::insertNode assumeed that the start offset of the selection range within its container
59969        doesn't change across a call to insertBefore on the container but this is wrong. This patch recomputes
59970        the start offset when it is used after the insertBefore call.
59971
59972        Test: editing/selection/range-surroundContents-with-preceding-node.html
59973
59974        * dom/Range.cpp:
59975        (WebCore::Range::insertNode):
59976
599772013-11-06  Andreas Kling  <akling@apple.com>
59978
59979        Add InlineElementBox and stop instantiating InlineBox directly.
59980        <https://webkit.org/b/123882>
59981
59982        Make the InlineBox constructors protected and add a new class
59983        called InlineElementBox on top. This is somewhat analogous to the
59984        split between RenderText and RenderElement, and allows us to make
59985        renderer() return a far tighter RenderBoxModelObject& instead
59986        of a RenderObject&.
59987
59988        Moved over attachLine(), deleteLine() and extractLine() to start
59989        things off. More things will follow.
59990
59991        Reviewed by Antti Koivisto.
59992
599932013-11-06  Piotr Grad  <p.grad@samsung.com>
59994
59995        Seek for video doesn't work when playback rate is negative
59996        https://bugs.webkit.org/show_bug.cgi?id=123791
59997
59998        In MediaPlayerPrivateGStreamer::seek negative playback rate was not taken to account.
59999
60000        Reviewed by Philippe Normand.
60001
60002        Test: media/video-seek-with-negative-playback.html
60003
60004        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
60005        (WebCore::MediaPlayerPrivateGStreamer::seek):
60006
600072013-11-06  Andreas Kling  <akling@apple.com>
60008
60009        Reinstate an annoying assertion that I accidentally commented out.
60010
60011        * loader/icon/IconDatabase.cpp:
60012        (WebCore::IconDatabase::synchronousIconForPageURL):
60013
600142013-11-06  Brendan Long  <b.long@cablelabs.com>
60015
60016        [GStreamer] Override label() and language() in Audio and VideoTrackPrivateGStreamer
60017        https://bugs.webkit.org/show_bug.cgi?id=123836
60018
60019        The tests are currently flakey because we only get the label and language if we get
60020        tags after the track client is set.
60021
60022        Reviewed by Philippe Normand.
60023
60024        No new tests because the tests already exist (this fixes flakeyness).
60025
60026        * platform/graphics/gstreamer/AudioTrackPrivateGStreamer.h: Override label() and language() to use m_label and m_language.
60027        * platform/graphics/gstreamer/VideoTrackPrivateGStreamer.h: Same.
60028        * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h: Make m_label and m_language protected so they can be used in the functions above.
60029
600302013-11-05  Andreas Kling  <akling@apple.com>
60031
60032        RenderBlockFlow should only expose its line boxes as RootInlineBox.
60033        <https://webkit.org/b/123878>
60034
60035        The line boxes attached directly to a RenderBlockFlow are always
60036        RootInlineBox objects, so call sites should always use the tightly
60037        typed firstRootBox() and lastRootBox().
60038
60039        This allows the compiler to devirtualize calls to member functions
60040        of RootInlineBox that are marked FINAL.
60041
60042        Reviewed by Antti Koivisto.
60043
600442013-11-06  Ryosuke Niwa  <rniwa@webkit.org>
60045
60046        Assertion failure end < m_runCount in WebCore::BidiRunList<WebCore::BidiRun>::reverseRuns
60047        https://bugs.webkit.org/show_bug.cgi?id=123863
60048
60049        Reviewed by Andreas Kling.
60050
60051        Merge https://chromium.googlesource.com/chromium/blink/+/cbaa92c763a37d89eeabd01658e522219299290c
60052
60053        Test: fast/text/bidi-reverse-runs-crash.html
60054
60055        * platform/text/BidiResolver.h:
60056        (WebCore::BidiResolver<Iterator, Run>::createBidiRunsForLine): Don't reverse the runs if there's
60057        nothing to be reversed.
60058
600592013-11-05  Ryosuke Niwa  <rniwa@webkit.org>
60060
60061        Address the review comment after r158724.
60062
60063        * html/RangeInputType.cpp:
60064        (WebCore::RangeInputType::handleMouseDownEvent):
60065
600662013-11-05  Zalan Bujtas  <zalan@apple.com>
60067
60068        Widget's position change should not initiate layout, only when its size changes.
60069        https://bugs.webkit.org/show_bug.cgi?id=123860
60070
60071        Reviewed by Andreas Kling.
60072
60073        RenderWidgets initiate unnecessary layouts while scrolling when they are embedded to
60074        overflow:scroll containers. Scroll position change doesn't dirty the render tree
60075        so it should not trigger layout either.
60076
60077        Manual test added. Unfortunately we can't test against the number of layouts yet.
60078
60079        * rendering/RenderWidget.cpp:
60080        (WebCore::RenderWidget::setWidgetGeometry):
60081        (WebCore::RenderWidget::updateWidgetGeometry):
60082        (WebCore::RenderWidget::updateWidgetPosition):
60083
600842013-11-05  Ryosuke Niwa  <rniwa@webkit.org>
60085
60086        Use-after-free in SliderThumbElement::dragFrom
60087        https://bugs.webkit.org/show_bug.cgi?id=123873
60088
60089        Reviewed by Andreas Kling.
60090
60091        Ref the SliderThumbElement since it could go away inside dragFrom.
60092
60093        Test: fast/forms/range/range-type-change-onchange-2.html
60094
60095        * html/RangeInputType.cpp:
60096        (WebCore::RangeInputType::handleMouseDownEvent):
60097
600982013-11-05  Ryosuke Niwa  <rniwa@webkit.org>
60099
60100        Change the order of conditions to avoid computing rendererIsEditable()
60101        https://bugs.webkit.org/show_bug.cgi?id=123868
60102
60103        Reviewed by Andreas Kling.
60104
60105        Merge https://chromium.googlesource.com/chromium/blink/+/c89b413ff0fc4aafa0c71d180b0b1e131bb37707
60106
60107        When we need both Node::renderer() and Node::rendererIsEditable() conditions to be true to perform
60108        some operation, it is more effective to check for renderer() first, so that if this condition fails
60109        we can avoid unnecessary computation of rendererIsEditable().
60110
60111        * dom/Position.cpp:
60112        (WebCore::nextRenderedEditable):
60113        (WebCore::previousRenderedEditable):
60114        * page/EventHandler.cpp:
60115        (WebCore::EventHandler::handleMouseReleaseEvent):
60116
601172013-11-05  Ryosuke Niwa  <rniwa@webkit.org>
60118
60119        simpleUserAgentStyleSheet doesn't have focus ring on anchor element
60120        https://bugs.webkit.org/show_bug.cgi?id=123867
60121
60122        Reviewed by Andreas Kling.
60123
60124        Merge https://chromium.googlesource.com/chromium/blink/+/08ecc23c4d80be9969918c4baf0ac83dc6cb6cbd
60125
60126        * css/CSSDefaultStyleSheets.cpp:
60127
601282013-11-05  Ryosuke Niwa  <rniwa@webkit.org>
60129
60130        valueForBorderRadiusShorthand returns wrong values in some case
60131        https://bugs.webkit.org/show_bug.cgi?id=123866
60132
60133        Reviewed by Andreas Kling.
60134
60135        Merge https://chromium.googlesource.com/chromium/blink/+/0933728126f2db06ab8e945efc98bffa2d42af1c
60136
60137        Because valueForBorderRadiusShorthand misses the followings:
60138        - showHorizontalBottomRight depends on showHorizontalBottomLeft.
60139        - showHorizontalTopRight depends on showHorizontalBottomRight (including showHorizontalBottomLeft).
60140
60141        See also http://dev.w3.org/csswg/css-backgrounds/#the-border-radius
60142
60143        Test: fast/css/getComputedStyle/getComputedStyle-borderRadius-2.html
60144
60145        * css/CSSComputedStyleDeclaration.cpp:
60146        (WebCore::getBorderRadiusShorthandValue):
60147
601482013-11-05  Ryosuke Niwa  <rniwa@webkit.org>
60149
60150        Protect DOM nodes in IndentOutdentCommand::tryIndentingAsListItem()
60151        https://bugs.webkit.org/show_bug.cgi?id=123861
60152
60153        Reviewed by Benjamin Poulain.
60154
60155        Merge https://chromium.googlesource.com/chromium/blink/+/297442eb539a2b764fdad323de79099a70179186 partially.
60156
60157        * editing/IndentOutdentCommand.cpp:
60158        (WebCore::IndentOutdentCommand::tryIndentingAsListItem): Make selectedListItem, previousList, and nextList
60159        RefPtr since they're are used after calling insertNodeBefore.
60160
601612013-11-05  Andreas Kling  <akling@apple.com>
60162
60163        Apply more unique_ptr to line box management.
60164        <https://webkit.org/b/123857>
60165
60166        Make all of the functions that return newly-created line boxes
60167        return them packed up in std::unique_ptrs.
60168
60169        There is one exception in RenderBlockLineLayout where the function
60170        createInlineBoxForRenderer() is inconsistent about the ownership of
60171        the returned object. This will be addressed by a subsequent patch.
60172
60173        We now "release" the line boxes into their various home structures,
60174        so the pointer smartness doesn't go end-to-end just yet.
60175
60176        Reviewed by Anders Carlsson.
60177
601782013-11-05  Ryosuke Niwa  <rniwa@webkit.org>
60179
60180        getComputedStyle(x).lineHeight is affected by zooming
60181        https://bugs.webkit.org/show_bug.cgi?id=123847
60182
60183        Reviewed by Benjamin Poulain.
60184
60185        Merge https://chromium.googlesource.com/chromium/blink/+/7957097afbab2899ababd0d9c8acbf6e3eddb870
60186
60187        Test: fast/css/line-height-zoom-get-computed-style.html
60188
60189        * css/CSSComputedStyleDeclaration.cpp:
60190        (WebCore::lineHeightFromStyle): Don't round line-height values.
60191        * css/DeprecatedStyleBuilder.cpp:
60192        (WebCore::ApplyPropertyLineHeight::applyValue): Use the computed value instead of the used value.
60193
601942013-11-05  James Craig  <jcraig@apple.com>
60195
60196        AX: media controls accessibility needs more work
60197        https://bugs.webkit.org/show_bug.cgi?id=123749
60198
60199        Reviewed by Jer Noble.
60200
60201        Updated some of the control labels/roles to improve accessibility.
60202          - Volume slider is now keyboard/screenreader accessible.
60203          - muteButton was a checkbox toggling checked state, now a button that toggles label "mute/unmute"
60204          - fullscreenButton was a checkbox toggling checked state, now a button that toggles label "display/exit full screen"
60205          - captionButton was a checkbox, now a popup button that launches the newly accessible menu.
60206        Subtitles menu is now keyboard/screenreader accessible (uses roaming tabindex).
60207        Render dump expectations changed because volume slider is now hidden via... 
60208        ...opacity/size (to make accessible without hover) instead of display:none.
60209
60210        Updated existing test coverage.
60211
60212        * Modules/mediacontrols/mediaControlsApple.css:
60213        (audio::-webkit-media-controls-panel .volume-box):
60214        (audio::-webkit-media-controls-panel .volume-box:active):
60215        (audio::-webkit-media-controls-toggle-closed-captions-button):
60216        (audio::-webkit-media-controls-closed-captions-container .list):
60217        (audio::-webkit-media-controls-closed-captions-container li:focus):
60218        * Modules/mediacontrols/mediaControlsApple.js:
60219        (Controller.prototype.createControls):
60220        (Controller.prototype.handleFullscreenChange):
60221        (Controller.prototype.handleMuteButtonClicked):
60222        (Controller.prototype.handleMinButtonClicked):
60223        (Controller.prototype.handleMaxButtonClicked):
60224        (Controller.prototype.handleVolumeSliderChange):
60225        (Controller.prototype.buildCaptionMenu):
60226        (Controller.prototype.focusSiblingCaptionItem):
60227        (Controller.prototype.handleCaptionItemKeyUp):
60228
602292013-11-05  Andreas Kling  <akling@apple.com>
60230
60231        Move some plugin-specific code from RenderWidget to RenderEmbeddedObject.
60232        <https://webkit.org/b/123845>
60233
60234        All RenderWidgets representing plugins will be RenderEmbeddedObjects.
60235        Move some of the plugin-specific logic to RenderEmbeddedObject since it
60236        doesn't make sense for all RenderWidgets (frames, embedded documents)
60237        to care about this.
60238
60239        Reviewed by Anders Carlsson.
60240
602412013-11-05  Tim Horton  <timothy_horton@apple.com>
60242
60243        Fix the 32-bit build.
60244
60245        * WebCore.exp.in:
60246
602472013-11-05  Alexandru Chiculita  <achicu@adobe.com>
60248
60249        Web Inspector: Moving an element while in the DOMNodeRemoved handler will hide it in the inspector
60250        https://bugs.webkit.org/show_bug.cgi?id=123516
60251
60252        Reviewed by Timothy Hatcher.
60253
60254        InspectorInstrumentation::willRemoveDOMNode was actually calling both willRemoveDOMNodeImpl and
60255        didRemoveDOMNodeImpl, making the DOMAgent unbind the element even if it was still part of the DOM.
60256
60257        Because of that the DOMAgent was sending two events:
60258        1. When the element was about to be removed, just before JS "DOMNodeRemoved" was triggered.
60259        2. When the element was actually removed.
60260
60261        Note that inspector's event #2 will not know about the node, as it just removed it from the
60262        internal hashmap, so it will just use a nodeID == 0 for it.
60263
60264        This patch adds a separate call to InspectorInstrumentation::didRemoveDOMNode, just before the
60265        element is about to be removed. The InspectorInstrumentation::willRemoveDOMNode call is now only used
60266        by the DOMDebugger to trigger the DOM breakpoints in the Web Inspector. That feature is not exposed
60267        in the new Inspector UI, but can be used/tested using the protocol directly.
60268
60269        Tests: inspector-protocol/dom-debugger/node-removed.html
60270               inspector-protocol/dom/dom-remove-events.html
60271               inspector-protocol/dom/remove-multiple-nodes.html
60272
60273        * dom/ContainerNode.cpp:
60274        (WebCore::ContainerNode::removeBetween):
60275        * inspector/InspectorInstrumentation.h:
60276        (WebCore::InspectorInstrumentation::willRemoveDOMNode):
60277        (WebCore::InspectorInstrumentation::didRemoveDOMNode):
60278
602792013-11-05  Ryuan Choi  <ryuan.choi@samsung.com>
60280
60281        Unreviewed build fix on CMake based ports with GLES.
60282
60283        * CMakeLists.txt:
60284        Added OPENGLES2_LIBRARIES and OPENGLES2_INCLUDE_DIR into the includes and
60285        libraries list.
60286
602872013-11-05  Tim Horton  <timothy_horton@apple.com>
60288
60289        platformCALayerDeviceScaleFactor should be const
60290        https://bugs.webkit.org/show_bug.cgi?id=123842
60291
60292        Reviewed by Simon Fraser.
60293
60294        * WebCore.exp.in:
60295        * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
60296        (WebCore::LayerClient::platformCALayerDeviceScaleFactor):
60297        * platform/graphics/ca/GraphicsLayerCA.cpp:
60298        (WebCore::GraphicsLayerCA::platformCALayerDeviceScaleFactor):
60299        * platform/graphics/ca/GraphicsLayerCA.h:
60300        * platform/graphics/ca/PlatformCALayerClient.h:
60301        * platform/graphics/ca/mac/TileController.h:
60302        * platform/graphics/ca/mac/TileController.mm:
60303        (WebCore::TileController::platformCALayerDeviceScaleFactor):
60304        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
60305        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerDeviceScaleFactor):
60306        Constify PlatformCALayerClient::platformCALayerDeviceScaleFactor.
60307
603082013-11-05  Gavin Barraclough  <barraclough@apple.com>
60309
60310        Subresource loads should not prevent page throttling
60311        https://bugs.webkit.org/show_bug.cgi?id=123757
60312
60313        Reviewed by Alexey Proskuryakov.
60314
60315        The page-is-loading test for inhibiting process supression is currently
60316        too conservative, preventing supression of pages with infinitely loading
60317        resources (commonly XHRs). Instead, just rely on the FrameLoader being
60318        active (with hysteresis).
60319
60320        * loader/SubresourceLoader.cpp:
60321        (WebCore::SubresourceLoader::init):
60322        (WebCore::SubresourceLoader::checkForHTTPStatusCodeError):
60323        (WebCore::SubresourceLoader::didFinishLoading):
60324        (WebCore::SubresourceLoader::didFail):
60325        (WebCore::SubresourceLoader::willCancel):
60326        * loader/SubresourceLoader.h:
60327            - remove m_activityAssertion from SubresourceLoader.
60328
603292013-11-05  Tim Horton  <timothy_horton@apple.com>
60330
60331        [mac] PDFDocumentImage is too big if PDF has a crop box smaller than the media box
60332        https://bugs.webkit.org/show_bug.cgi?id=123840
60333        <rdar://problem/15308765>
60334
60335        Reviewed by Alexey Proskuryakov.
60336
60337        Test: fast/images/pdf-as-image-crop-box.html
60338
60339        * platform/graphics/cg/PDFDocumentImage.cpp:
60340        (WebCore::PDFDocumentImage::size):
60341        Use the crop box when determining the size of the image.
60342
60343        (WebCore::PDFDocumentImage::computeBoundsForCurrentPage):
60344        * platform/graphics/cg/PDFDocumentImage.h:
60345        * platform/graphics/mac/PDFDocumentImageMac.mm:
60346        (WebCore::PDFDocumentImage::computeBoundsForCurrentPage):
60347        Get rid of m_mediaBox, since we don't need it anymore.
60348
60349        (WebCore::PDFDocumentImage::drawPDFPage):
60350        PDFKit does the translation by the crop box origin for us;
60351        if we do it additionally, we'll be painting the wrong part of the image.
60352        So, don't do the translation here.
60353
603542013-11-05  Antti Koivisto  <antti@apple.com>
60355
60356        Factor index cache for NodeLists and HTMLCollections to a class
60357        https://bugs.webkit.org/show_bug.cgi?id=123823
60358
60359        Reviewed by Ryosuke Niwa.
60360
60361        Implement index cache class that can used by NodeLists and HTMLCollections that currently
60362        each have implementations of their own.
60363        
60364        This patch also implements ChildNodeList and LiveNodeList using CollectionIndexCache.
60365        HTMLCollection is will be transitioned later.
60366
60367        * GNUmakefile.list.am:
60368        * WebCore.vcxproj/WebCore.vcxproj:
60369        * WebCore.xcodeproj/project.pbxproj:
60370        * dom/ChildNodeList.cpp:
60371        (WebCore::ChildNodeList::ChildNodeList):
60372        (WebCore::ChildNodeList::length):
60373        (WebCore::ChildNodeList::item):
60374        
60375            The client calls to cache to for indexed and size access.
60376
60377        (WebCore::ChildNodeList::collectionFirst):
60378        (WebCore::ChildNodeList::collectionLast):
60379        (WebCore::ChildNodeList::collectionTraverseForward):
60380        (WebCore::ChildNodeList::collectionTraverseBackward):
60381        
60382            Cache calls back to these as needed to do the actual traversal.
60383
60384        (WebCore::ChildNodeList::invalidateCache):
60385        * dom/ChildNodeList.h:
60386        * dom/CollectionIndexCache.h: Added.
60387        
60388            Templated cache class itself.
60389
60390        (WebCore::::CollectionIndexCache):
60391        (WebCore::::nodeCount):
60392        (WebCore::::nodeBeforeCached):
60393        (WebCore::::nodeAfterCached):
60394        (WebCore::::nodeAt):
60395        (WebCore::::invalidate):
60396        * dom/LiveNodeList.cpp:
60397        (WebCore::firstMatchingElement):
60398        (WebCore::nextMatchingElement):
60399        (WebCore::traverseMatchingElementsForward):
60400        (WebCore::LiveNodeList::collectionFirst):
60401        (WebCore::LiveNodeList::collectionLast):
60402        (WebCore::LiveNodeList::collectionTraverseForward):
60403        (WebCore::LiveNodeList::collectionTraverseBackward):
60404        (WebCore::LiveNodeList::length):
60405        (WebCore::LiveNodeList::item):
60406        (WebCore::LiveNodeList::invalidateCache):
60407        * dom/LiveNodeList.h:
60408        (WebCore::LiveNodeList::LiveNodeList):
60409
604102013-11-05  Enrica Casucci  <enrica@apple.com>
60411
60412        Full width semicolon is wrong in vertical text.
60413        https://bugs.webkit.org/show_bug.cgi?id=123814
60414        <rdar://problem/15312541>
60415
60416        Reviewed by Benjamin Poulain.
60417
60418        The full width semicolon should always be upright.
60419        Adding it to the list of characters that should
60420        ignore rotation.
60421
60422        * platform/graphics/FontGlyphs.cpp:
60423        (WebCore::shouldIgnoreRotation):
60424
604252013-11-05  Andreas Kling  <akling@apple.com>
60426
60427        Remove unused RenderWidget::notifyWidget().
60428
60429        Rubber-stamped by Anders Carlsson.
60430
604312013-11-05  Commit Queue  <commit-queue@webkit.org>
60432
60433        Unreviewed, rolling out r158678.
60434        http://trac.webkit.org/changeset/158678
60435        https://bugs.webkit.org/show_bug.cgi?id=123820
60436
60437        Causes a new debug assertion failure on the Mavericks test
60438        system. (Requested by bfulgham on #webkit).
60439
60440        * rendering/mathml/RenderMathMLOperator.cpp:
60441
604422013-11-05  Renata Hodovan  <reni@webkit.org>
60443
60444        ASSERTION FAILED: isHTMLTitleElement(m_titleElement.get()) in WebCore::Document::setTitle
60445        https://bugs.webkit.org/show_bug.cgi?id=122092
60446
60447        Reviewed by Darin Adler.
60448
60449        Remove a bogus assert in Document::setTitle().
60450        m_titleElement can be either of HTMLTitleElement or SVGTitleElement. The assertion was wrong.
60451        
60452        Backported from Blink:
60453        https://src.chromium.org/viewvc/blink?revision=158620&view=revision
60454
60455        Test: svg/custom/title-assertion.html
60456
60457        * dom/Document.cpp:
60458        (WebCore::Document::setTitle):
60459        * svg/SVGTitleElement.cpp:
60460        (WebCore::SVGTitleElement::insertedInto):
60461
604622013-11-05  Martin Robinson  <mrobinson@igalia.com>
60463
60464        [MathML] Poor spacing around delimiters in MathML Torture Test 14
60465        https://bugs.webkit.org/show_bug.cgi?id=122837
60466
60467        Reviewed by Brent Fulgham.
60468
60469        Instead of stretching the vertical bar with the stretchable version, just repeat
60470        the normal vertical bar. This follows what Gecko does when rendering tall vertical
60471        bars and also works around an issue with STIX fonts leading to poor spacing in
60472        formulas.
60473
60474        * rendering/mathml/RenderMathMLOperator.cpp: Stretch the vertical bar with the
60475        normal variant.
60476
604772013-11-05  Daniel Bates  <dabates@apple.com>
60478
60479        XSSAuditor should catch reflected srcdoc properties even without a <frame> tag injection
60480
60481        From Blink r160615 by <tsepez@chromium.org>
60482        https://src.chromium.org/viewvc/blink?view=rev&revision=160615
60483
60484        Test: http/tests/security/xssAuditor/iframe-srcdoc-property-blocked.html
60485
60486        * html/parser/XSSAuditor.cpp:
60487        (WebCore::XSSAuditor::filterIframeToken):
60488
604892013-11-05  Éva Balázsfalvi  <balazsfalvi.eva@stud.u-szeged.hu>
60490
60491        Delete maketokenizer.
60492        https://bugs.webkit.org/show_bug.cgi?id=115155
60493
60494        Reviewed by Zoltan Herczeg.
60495
60496        This script was used to generate the old flex based CSS tokenizer. It
60497        was replaced by a custom tokenizer in r106217 but the script wasn't
60498        removed. Since there is no mention of it in the original bug nor any
60499        reference to maketokenizer in our build files, it's probably an
60500        oversight.
60501
60502        Merge from blink:
60503        https://chromium.googlesource.com/chromium/blink/+/2a1c8aaf867f707ccdcd8893446e907e2aa2e1c2
60504
60505        * css/maketokenizer: Removed.
60506
605072013-11-05  Zan Dobersek  <zdobersek@igalia.com>
60508
60509        Unreviewed. Unbreaking GCC builds.
60510
60511        * html/HTMLCollection.cpp:
60512        (WebCore::isMatchingElement): This inline function is not a template anymore.
60513
605142013-11-05  Antti Koivisto  <antti@apple.com>
60515
60516        Make it compile.
60517
60518        * dom/LiveNodeList.h:
60519        (WebCore::LiveNodeList::LiveNodeList):
60520        (WebCore::LiveNodeList::~LiveNodeList):
60521        * dom/NodeRareData.h:
60522        (WebCore::NodeListsNodeData::adoptDocument):
60523        * html/HTMLCollection.cpp:
60524        (WebCore::HTMLCollection::HTMLCollection):
60525        (WebCore::HTMLCollection::~HTMLCollection):
60526
605272013-11-05  Antti Koivisto  <antti@apple.com>
60528
60529        HTMLCollection should not be NodeList
60530        https://bugs.webkit.org/show_bug.cgi?id=123794
60531
60532        Reviewed by Andreas Kling.
60533
60534        HTMLCollection and NodeList are unrelated types in DOM yet our HTMLCollection inherits NodeList
60535        for code sharing reasons. While some code does get shared the types are sufficiently different 
60536        that this results in lots of unnecessary branches, complexity and general awkwardness. Code sharing 
60537        can be better achieved by means other than inheritance.
60538        
60539        This patch splits HTMLCollection from NodeList by copy-pasting and eliminating resulting redundancies. 
60540        Sharing comes later.
60541
60542        * dom/Attr.cpp:
60543        (WebCore::Attr::setValue):
60544        (WebCore::Attr::childrenChanged):
60545        * dom/ClassNodeList.cpp:
60546        (WebCore::ClassNodeList::~ClassNodeList):
60547        * dom/ContainerNode.cpp:
60548        (WebCore::ContainerNode::childrenChanged):
60549        (WebCore::ContainerNode::getElementsByTagName):
60550        (WebCore::ContainerNode::getElementsByName):
60551        (WebCore::ContainerNode::getElementsByClassName):
60552        (WebCore::ContainerNode::radioNodeList):
60553        * dom/Document.cpp:
60554        (WebCore::Document::Document):
60555        (WebCore::Document::~Document):
60556        (WebCore::Document::registerNodeList):
60557        (WebCore::Document::unregisterNodeList):
60558        (WebCore::Document::registerCollection):
60559        (WebCore::Document::unregisterCollection):
60560        (WebCore::Document::ensureCachedCollection):
60561        
60562            Add separate functions and map for registering HTMLCollections.
60563
60564        (WebCore::Document::all):
60565        (WebCore::Document::windowNamedItems):
60566        (WebCore::Document::documentNamedItems):
60567        * dom/Document.h:
60568        * dom/Element.cpp:
60569        (WebCore::Element::attributeChanged):
60570        (WebCore::Element::ensureCachedHTMLCollection):
60571        (WebCore::Element::cachedHTMLCollection):
60572        * dom/LiveNodeList.cpp:
60573        (WebCore::LiveNodeList::rootNode):
60574        (WebCore::isMatchingElement):
60575        (WebCore::LiveNodeList::iterateForPreviousElement):
60576        (WebCore::LiveNodeList::itemBefore):
60577        (WebCore::firstMatchingElement):
60578        (WebCore::nextMatchingElement):
60579        (WebCore::traverseMatchingElementsForwardToOffset):
60580        (WebCore::LiveNodeList::traverseLiveNodeListFirstElement):
60581        (WebCore::LiveNodeList::traverseLiveNodeListForwardToOffset):
60582        (WebCore::LiveNodeList::isLastItemCloserThanLastOrCachedItem):
60583        (WebCore::LiveNodeList::isFirstItemCloserThanCachedItem):
60584        (WebCore::LiveNodeList::length):
60585        (WebCore::LiveNodeList::item):
60586        (WebCore::LiveNodeList::elementBeforeOrAfterCachedElement):
60587        
60588            This code used to live in HTMLCollection.cpp. Copy-paste here and remove all branches not needed for NodeLists.
60589
60590        (WebCore::LiveNodeList::invalidateCache):
60591        
60592            NodeLists have no name caches.
60593
60594        * dom/LiveNodeList.h:
60595        (WebCore::LiveNodeList::LiveNodeList):
60596        (WebCore::LiveNodeList::~LiveNodeList):
60597        (WebCore::LiveNodeList::isRootedAtDocument):
60598        (WebCore::LiveNodeList::type):
60599        (WebCore::LiveNodeList::invalidateCache):
60600        (WebCore::LiveNodeList::setCachedElement):
60601        
60602            Merge LiveNodeListBase and LiveNodeList.
60603            Remove fields and code supporting HTMLCollection.
60604
60605        (WebCore::shouldInvalidateTypeOnAttributeChange):
60606        
60607            Move to global scope. This function is used both HTMLCollections and LiveNodeLists.
60608
60609        * dom/NameNodeList.cpp:
60610        (WebCore::NameNodeList::~NameNodeList):
60611        * dom/NameNodeList.h:
60612        (WebCore::NameNodeList::create):
60613        * dom/Node.cpp:
60614        (WebCore::shouldInvalidateNodeListCachesForAttr):
60615        (WebCore::Document::shouldInvalidateNodeListAndCollectionCaches):
60616        (WebCore::Document::invalidateNodeListAndCollectionCaches):
60617        (WebCore::Node::invalidateNodeListAndCollectionCachesInAncestors):
60618        (WebCore::NodeListsNodeData::invalidateCaches):
60619        * dom/Node.h:
60620        * dom/NodeRareData.h:
60621        (WebCore::NodeListsNodeData::addCacheWithAtomicName):
60622        (WebCore::NodeListsNodeData::addCacheWithName):
60623        (WebCore::NodeListsNodeData::addCacheWithQualifiedName):
60624        (WebCore::NodeListsNodeData::addCachedCollection):
60625        (WebCore::NodeListsNodeData::cachedCollection):
60626        (WebCore::NodeListsNodeData::removeCacheWithAtomicName):
60627        (WebCore::NodeListsNodeData::removeCacheWithName):
60628        (WebCore::NodeListsNodeData::removeCachedCollection):
60629        (WebCore::NodeListsNodeData::isEmpty):
60630        (WebCore::NodeListsNodeData::adoptDocument):
60631        (WebCore::NodeListsNodeData::namedCollectionKey):
60632        (WebCore::NodeListsNodeData::namedNodeListKey):
60633        (WebCore::NodeListsNodeData::deleteThisAndUpdateNodeRareDataIfAboutToRemoveLastList):
60634        
60635            Add separate cache for HTMLCollections.
60636
60637        * dom/TagNodeList.cpp:
60638        (WebCore::TagNodeList::TagNodeList):
60639        (WebCore::TagNodeList::~TagNodeList):
60640        * dom/TagNodeList.h:
60641        (WebCore::TagNodeList::create):
60642        (WebCore::HTMLTagNodeList::create):
60643        * html/CollectionType.h:
60644        
60645            Remove NodeList types.
60646
60647        * html/HTMLCollection.cpp:
60648        (WebCore::shouldOnlyIncludeDirectChildren):
60649        (WebCore::rootTypeFromCollectionType):
60650        (WebCore::invalidationTypeExcludingIdAndNameAttributes):
60651        (WebCore::HTMLCollection::HTMLCollection):
60652        (WebCore::HTMLCollection::~HTMLCollection):
60653        (WebCore::HTMLCollection::rootNode):
60654        (WebCore::isMatchingElement):
60655        (WebCore::HTMLCollection::iterateForPreviousElement):
60656        (WebCore::HTMLCollection::itemBefore):
60657        (WebCore::firstMatchingElement):
60658        (WebCore::nextMatchingElement):
60659        (WebCore::traverseMatchingElementsForwardToOffset):
60660        (WebCore::HTMLCollection::isLastItemCloserThanLastOrCachedItem):
60661        (WebCore::HTMLCollection::isFirstItemCloserThanCachedItem):
60662        (WebCore::HTMLCollection::setCachedElement):
60663        (WebCore::HTMLCollection::length):
60664        (WebCore::HTMLCollection::item):
60665        (WebCore::HTMLCollection::elementBeforeOrAfterCachedElement):
60666        (WebCore::HTMLCollection::traverseFirstElement):
60667        (WebCore::HTMLCollection::traverseNextElement):
60668        (WebCore::HTMLCollection::traverseForwardToOffset):
60669        (WebCore::HTMLCollection::invalidateCache):
60670        (WebCore::HTMLCollection::invalidateIdNameCacheMaps):
60671        (WebCore::HTMLCollection::namedItem):
60672        
60673            Remove NodeList specific branches and functions.
60674            LiveNodeListBase functions are now HTMLCollection functions.
60675
60676        * html/HTMLCollection.h:
60677        (WebCore::HTMLCollection::isRootedAtDocument):
60678        (WebCore::HTMLCollection::invalidationType):
60679        (WebCore::HTMLCollection::type):
60680        (WebCore::HTMLCollection::ownerNode):
60681        (WebCore::HTMLCollection::invalidateCache):
60682        (WebCore::HTMLCollection::document):
60683        (WebCore::HTMLCollection::overridesItemAfter):
60684        (WebCore::HTMLCollection::isElementCacheValid):
60685        (WebCore::HTMLCollection::cachedElement):
60686        (WebCore::HTMLCollection::cachedElementOffset):
60687        (WebCore::HTMLCollection::isLengthCacheValid):
60688        (WebCore::HTMLCollection::cachedLength):
60689        (WebCore::HTMLCollection::setLengthCache):
60690        (WebCore::HTMLCollection::setCachedElement):
60691        (WebCore::HTMLCollection::isItemRefElementsCacheValid):
60692        (WebCore::HTMLCollection::setItemRefElementsCacheValid):
60693        (WebCore::HTMLCollection::rootType):
60694        (WebCore::HTMLCollection::hasNameCache):
60695        (WebCore::HTMLCollection::setHasNameCache):
60696        
60697            Copy-paste functions and fields from former LiveNodeListBase.
60698
60699        * html/HTMLNameCollection.cpp:
60700        (WebCore::HTMLNameCollection::~HTMLNameCollection):
60701        * html/LabelableElement.cpp:
60702        (WebCore::LabelableElement::labels):
60703        * html/LabelsNodeList.cpp:
60704        (WebCore::LabelsNodeList::~LabelsNodeList):
60705        * html/LabelsNodeList.h:
60706        * html/RadioNodeList.cpp:
60707        (WebCore::RadioNodeList::~RadioNodeList):
60708        * html/RadioNodeList.h:
60709        (WebCore::RadioNodeList::create):
60710
607112013-11-05  Emilio Pozuelo Monfort  <pochu27@gmail.com>
60712
60713        [GTK] Add stubs for missing symbols in dom bindings
60714        https://bugs.webkit.org/show_bug.cgi?id=123663
60715
60716        Reviewed by Carlos Garcia Campos.
60717
60718        * bindings/gobject/WebKitDOMCustom.cpp:
60719        (webkit_dom_html_head_element_get_profile):
60720        (webkit_dom_html_head_element_set_profile):
60721        (webkit_dom_processing_instruction_get_data):
60722        (webkit_dom_processing_instruction_set_data):
60723        * bindings/gobject/WebKitDOMCustom.h:
60724        * bindings/gobject/WebKitDOMCustom.symbols:
60725
607262013-11-05  Zan Dobersek  <zdobersek@igalia.com>
60727
60728        Main thread tasks in ThreadableBlobRegistry should use std::unique_ptr
60729        https://bugs.webkit.org/show_bug.cgi?id=122946
60730
60731        Reviewed by Darin Adler.
60732
60733        The new BlobRegistryContext objects don't have to be adopted into OwnPtr and then have OwnPtr's leaked pointer
60734        passed into the WTF::callOnMainThread call - the pointer to the new heap-allocated object is passed in directly,
60735        with the object ending up being managed by std::unique_ptr in the designated main thread task.
60736
60737        * fileapi/ThreadableBlobRegistry.cpp:
60738        (WebCore::registerBlobURLTask):
60739        (WebCore::ThreadableBlobRegistry::registerBlobURL):
60740        (WebCore::registerBlobURLFromTask):
60741        (WebCore::unregisterBlobURLTask):
60742        (WebCore::ThreadableBlobRegistry::unregisterBlobURL):
60743
607442013-11-05  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
60745
60746        [CSS] Enable css-image-orientation on EFL and GTK ports.
60747        https://bugs.webkit.org/show_bug.cgi?id=123698
60748
60749        Reviewed by Beth Dakin.
60750
60751        r157909 added wrong early return for css-image-orientation. It causes about 20 regressions in layout test
60752        when enabling css-image-orientation. This fixes those wrong implementation as well as enables it on EFL
60753        and GTK ports by default.
60754
60755        Test: fast/css/image-orientation/image-orientation.html
60756
60757        * loader/cache/CachedImage.cpp:
60758        (WebCore::CachedImage::imageSizeForRenderer):
60759        * platform/graphics/BitmapImage.cpp:
60760        (WebCore::BitmapImage::updateSize):
60761
607622013-11-05  Andreas Kling  <akling@apple.com>
60763
60764        RenderEmbeddedObject shouldn't know about fallback content.
60765        <https://webkit.org/b/123781>
60766
60767        Stop caching the presence of fallback (DOM) content in a flag on
60768        RenderEmbeddedObject and have SubframeLoader fetch it directly from
60769        HTMLObjectElement instead.
60770
60771        Also made SubframeLoader::requestObject() take the owner element
60772        by reference since we don't support owner-less embedded objects.
60773
60774        Reviewed by Antti Koivisto.
60775
607762013-11-05  Xabier Rodriguez Calvar  <calvaris@igalia.com>
60777
60778        [GStreamer] Remove NATIVE_FULLSCREEN_VIDEO support
60779        https://bugs.webkit.org/show_bug.cgi?id=123437
60780
60781        Reviewed by Philippe Normand.
60782
60783        Removed some dead code as no GStreamer port is using the native
60784        fullscreen video support.
60785
60786        * GNUmakefile.list.am:
60787        * PlatformEfl.cmake:
60788        * PlatformGTK.cmake: Removed compilation of deleted files.
60789        * platform/graphics/MediaPlayer.h: Removed structures related to
60790        GStreamer and NATIVE_FULLSCREEN_VIDEO.
60791        * platform/graphics/gstreamer/FullscreenVideoControllerGStreamer.cpp: Removed.
60792        * platform/graphics/gstreamer/FullscreenVideoControllerGStreamer.h: Removed.
60793        * platform/graphics/gstreamer/GStreamerGWorld.cpp: Removed.
60794        * platform/graphics/gstreamer/GStreamerGWorld.h: Removed.
60795        * platform/graphics/gstreamer/ImageGStreamerCairo.cpp: Removed
60796        gst/video/video.h include.
60797        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
60798        (WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase):
60799        (WebCore::MediaPlayerPrivateGStreamerBase::platformMedia):
60800        (WebCore::MediaPlayerPrivateGStreamerBase::createVideoSink):
60801        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
60802        Removed code related to GStreamer and NATIVE_FULLSCREEN_VIDEO.
60803        * platform/graphics/gstreamer/PlatformVideoWindow.h: Removed.
60804        * platform/graphics/gstreamer/PlatformVideoWindowEfl.cpp: Removed.
60805        * platform/graphics/gstreamer/PlatformVideoWindowGtk.cpp: Removed.
60806        * platform/graphics/gstreamer/PlatformVideoWindowMac.mm: Removed.
60807        * platform/graphics/gstreamer/PlatformVideoWindowNix.cpp: Removed.
60808        * platform/graphics/gstreamer/PlatformVideoWindowPrivate.h: Removed.
60809        * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
60810        (webkitVideoSinkRender):
60811        (webkitVideoSinkNew):
60812        * platform/graphics/gstreamer/VideoSinkGStreamer.h: Removed code
60813        related to GStreamer and NATIVE_FULLSCREEN_VIDEO.
60814        * platform/graphics/gtk/FullscreenVideoControllerGtk.cpp: Removed.
60815        * platform/graphics/gtk/FullscreenVideoControllerGtk.h: Removed.
60816
608172013-11-05  Andreas Kling  <akling@apple.com>
60818
60819        Remove RenderWidget::viewCleared().
60820        <https://webkit.org/b/123777>
60821
60822        This was some ancient hand-waving code from the KHTML era.
60823
60824        It was obviously confused (e.g RenderEmbeddedObject trying to handle
60825        iframe owners, even though that setup is impossible.)
60826
60827        Reviewed by Anders Carlsson.
60828
608292013-11-04  Brady Eidson  <beidson@apple.com>
60830
60831        IDB: Split backend Cursors and Transactions into their own files
60832        https://bugs.webkit.org/show_bug.cgi?id=123789
60833
60834        Reviewed by Alexey Proskuryakov.
60835
60836        No new tests (Rename, no change in behavior).
60837
60838        * CMakeLists.txt:
60839        * GNUmakefile.list.am:
60840        * WebCore.xcodeproj/project.pbxproj:
60841
60842        * Modules/indexeddb/IDBBackingStoreCursorInterface.h:
60843        (WebCore::IDBBackingStoreCursorInterface::~IDBBackingStoreCursorInterface):
60844
60845        * Modules/indexeddb/IDBBackingStoreInterface.h:
60846
60847        * Modules/indexeddb/IDBBackingStoreTransactionInterface.h: Added.
60848        (WebCore::IDBBackingStoreTransactionInterface::~IDBBackingStoreTransactionInterface):
60849
60850        * Modules/indexeddb/IDBCursorBackendImpl.cpp:
60851        (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
60852        * Modules/indexeddb/IDBCursorBackendImpl.h:
60853        (WebCore::IDBCursorBackendImpl::create):
60854
60855        * Modules/indexeddb/IDBFactoryBackendInterface.h:
60856
60857        * Modules/indexeddb/IDBIndexWriter.cpp:
60858        (WebCore::IDBIndexWriter::writeIndexKeys):
60859        (WebCore::IDBIndexWriter::verifyIndexKeys):
60860        (WebCore::IDBIndexWriter::addingKeyAllowed):
60861        * Modules/indexeddb/IDBIndexWriter.h:
60862
60863        * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
60864        (WebCore::IDBTransactionBackendImpl::createCursorBackend):
60865        * Modules/indexeddb/IDBTransactionBackendImpl.h:
60866        * Modules/indexeddb/IDBTransactionBackendInterface.h:
60867
60868        * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
60869        (WebCore::GetOperation::perform):
60870        (WebCore::OpenCursorOperation::perform):
60871        (WebCore::CountOperation::perform):
60872        (WebCore::DeleteRangeOperation::perform):
60873
60874        * Modules/indexeddb/leveldb/IDBBackingStoreCursorLevelDB.cpp: Added.
60875        (WebCore::IDBBackingStoreCursorLevelDB::IDBBackingStoreCursorLevelDB):
60876        (WebCore::IDBBackingStoreCursorLevelDB::firstSeek):
60877        (WebCore::IDBBackingStoreCursorLevelDB::advance):
60878        (WebCore::IDBBackingStoreCursorLevelDB::continueFunction):
60879        (WebCore::IDBBackingStoreCursorLevelDB::haveEnteredRange):
60880        (WebCore::IDBBackingStoreCursorLevelDB::isPastBounds):
60881        * Modules/indexeddb/leveldb/IDBBackingStoreCursorLevelDB.h: Added.
60882        (WebCore::IDBBackingStoreCursorLevelDB::~IDBBackingStoreCursorLevelDB):
60883        (WebCore::IDBBackingStoreCursorLevelDB::IDBBackingStoreCursorLevelDB):
60884
60885        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
60886        (WebCore::IDBBackingStoreLevelDB::compareIndexKeys):
60887        (WebCore::IDBBackingStoreLevelDB::updateIDBDatabaseVersion):
60888        (WebCore::IDBBackingStoreLevelDB::createObjectStore):
60889        (WebCore::IDBBackingStoreLevelDB::deleteObjectStore):
60890        (WebCore::IDBBackingStoreLevelDB::getRecord):
60891        (WebCore::IDBBackingStoreLevelDB::putRecord):
60892        (WebCore::IDBBackingStoreLevelDB::clearObjectStore):
60893        (WebCore::IDBBackingStoreLevelDB::deleteRecord):
60894        (WebCore::IDBBackingStoreLevelDB::getKeyGeneratorCurrentNumber):
60895        (WebCore::IDBBackingStoreLevelDB::maybeUpdateKeyGeneratorCurrentNumber):
60896        (WebCore::IDBBackingStoreLevelDB::keyExistsInObjectStore):
60897        (WebCore::IDBBackingStoreLevelDB::createIndex):
60898        (WebCore::IDBBackingStoreLevelDB::deleteIndex):
60899        (WebCore::IDBBackingStoreLevelDB::putIndexDataForRecord):
60900        (WebCore::findGreatestKeyLessThanOrEqual):
60901        (WebCore::IDBBackingStoreLevelDB::findKeyInIndex):
60902        (WebCore::IDBBackingStoreLevelDB::getPrimaryKeyViaIndex):
60903        (WebCore::IDBBackingStoreLevelDB::keyExistsInIndex):
60904        (WebCore::ObjectStoreKeyCursorImpl::create):
60905        (WebCore::ObjectStoreKeyCursorImpl::clone):
60906        (WebCore::ObjectStoreKeyCursorImpl::ObjectStoreKeyCursorImpl):
60907        (WebCore::ObjectStoreCursorImpl::create):
60908        (WebCore::ObjectStoreCursorImpl::clone):
60909        (WebCore::ObjectStoreCursorImpl::ObjectStoreCursorImpl):
60910        (WebCore::objectStoreCursorOptions):
60911        (WebCore::indexCursorOptions):
60912        (WebCore::IDBBackingStoreLevelDB::openObjectStoreCursor):
60913        (WebCore::IDBBackingStoreLevelDB::openObjectStoreKeyCursor):
60914        (WebCore::IDBBackingStoreLevelDB::openIndexKeyCursor):
60915        (WebCore::IDBBackingStoreLevelDB::openIndexCursor):
60916        (WebCore::IDBBackingStoreLevelDB::createBackingStoreTransaction):
60917        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
60918 
60919       * Modules/indexeddb/leveldb/IDBBackingStoreTransactionLevelDB.cpp: Added.
60920        (WebCore::IDBBackingStoreTransactionLevelDB::IDBBackingStoreTransactionLevelDB):
60921        (WebCore::IDBBackingStoreTransactionLevelDB::begin):
60922        (WebCore::IDBBackingStoreTransactionLevelDB::commit):
60923        (WebCore::IDBBackingStoreTransactionLevelDB::rollback):
60924        * Modules/indexeddb/leveldb/IDBBackingStoreTransactionLevelDB.h:
60925
60926        * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
60927        (WebCore::IDBFactoryBackendLevelDB::createCursorBackend):
60928        * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
60929
609302013-11-04  Zalan Bujtas  <zalan@apple.com>
60931
60932        Do not call setFrameRect on Widget unless its boundaries changed.
60933        https://bugs.webkit.org/show_bug.cgi?id=123781
60934
60935        Reviewed by Andreas Kling.
60936
60937        Call Widget:setFrameRect only when the frame's rect actually changes. It also
60938        cleans up the related weak reference code a bit.
60939        
60940        Covered by existing tests.
60941
60942        * rendering/RenderWidget.cpp:
60943        (WebCore::RenderWidget::setWidgetGeometry): 
60944
609452013-11-04  Santosh Mahto  <santosh.ma@samsung.com>
60946
60947        [webcore/html] remove extra header includes from cpp files.
60948        https://bugs.webkit.org/show_bug.cgi?id=123740
60949
60950        Reviewed by Darin Adler.
60951
60952        Removing redundant headers.
60953
60954        * html/BaseDateAndTimeInputType.cpp:
60955        * html/ColorInputType.cpp:
60956        * html/DOMFormData.cpp:
60957        * html/DOMURL.cpp:
60958        * html/DateInputType.cpp:
60959        * html/DateTimeInputType.cpp:
60960        * html/DateTimeLocalInputType.cpp:
60961        * html/FTPDirectoryDocument.cpp:
60962        * html/FileInputType.cpp:
60963        * html/FormController.cpp:
60964        * html/HTMLAnchorElement.cpp:
60965        * html/HTMLAreaElement.cpp:
60966        * html/HTMLCanvasElement.cpp:
60967        * html/HTMLCollection.cpp:
60968        * html/HTMLDetailsElement.cpp:
60969        * html/HTMLDocument.cpp:
60970        * html/HTMLElement.cpp:
60971        * html/HTMLFormControlsCollection.cpp:
60972        * html/HTMLFormElement.cpp:
60973        * html/HTMLImageElement.cpp:
60974        * html/HTMLInputElement.cpp:
60975        * html/HTMLLegendElement.cpp:
60976        * html/HTMLMapElement.cpp:
60977        * html/HTMLMediaElement.cpp:
60978        * html/HTMLOptionElement.cpp:
60979        * html/HTMLOptionsCollection.cpp:
60980        * html/HTMLPlugInImageElement.cpp:
60981        * html/HTMLProgressElement.cpp:
60982        * html/HTMLSummaryElement.cpp:
60983        * html/HTMLTemplateElement.cpp:
60984        * html/HTMLVideoElement.cpp:
60985        * html/HTMLViewSourceDocument.cpp:
60986        * html/MediaController.cpp:
60987        * html/MediaKeyEvent.cpp:
60988        * html/MonthInputType.cpp:
60989        * html/RangeInputType.cpp:
60990        * html/StepRange.cpp:
60991        * html/TextFieldInputType.cpp:
60992        * html/TimeInputType.cpp:
60993        * html/WeekInputType.cpp:
60994        * html/canvas/CanvasRenderingContext.cpp:
60995        * html/canvas/CanvasRenderingContext2D.cpp:
60996        * html/canvas/CanvasStyle.cpp:
60997        * html/canvas/OESVertexArrayObject.cpp:
60998        * html/parser/BackgroundHTMLParser.cpp:
60999        * html/parser/CSSPreloadScanner.cpp:
61000        * html/parser/CompactHTMLToken.cpp:
61001        * html/parser/HTMLConstructionSite.cpp:
61002        * html/parser/HTMLDocumentParser.cpp:
61003        * html/parser/HTMLElementStack.cpp:
61004        * html/parser/HTMLFormattingElementList.cpp:
61005        * html/parser/HTMLMetaCharsetParser.cpp:
61006        * html/parser/HTMLParserIdioms.cpp:
61007        * html/parser/HTMLPreloadScanner.cpp:
61008        * html/parser/HTMLTokenizer.cpp:
61009        * html/parser/HTMLTreeBuilder.cpp:
61010        * html/parser/HTMLTreeBuilderSimulator.cpp:
61011        * html/parser/HTMLViewSourceParser.cpp:
61012        * html/parser/TextDocumentParser.cpp:
61013        * html/parser/XSSAuditor.cpp:
61014        * html/shadow/ContentDistributor.cpp:
61015        * html/shadow/InsertionPoint.cpp:
61016        * html/shadow/MediaControlElements.cpp:
61017        * html/shadow/MediaControlsApple.cpp:
61018        * html/shadow/MediaControlsBlackBerry.cpp:
61019        * html/shadow/MediaControlsGtk.cpp:
61020        * html/shadow/SliderThumbElement.cpp:
61021        * html/track/AudioTrack.cpp:
61022        * html/track/InbandGenericTextTrack.cpp:
61023        * html/track/InbandTextTrack.cpp:
61024        * html/track/InbandWebVTTTextTrack.cpp:
61025        * html/track/TextTrack.cpp:
61026        * html/track/TextTrackCueGeneric.cpp:
61027        * html/track/TextTrackList.cpp:
61028        * html/track/TextTrackRegion.cpp:
61029        * html/track/TrackListBase.cpp:
61030        * html/track/VideoTrack.cpp:
61031        * html/track/WebVTTParser.cpp:
61032
610332013-11-04  Brady Eidson  <beidson@apple.com>
61034
61035        IDB: deleteDatabase() interface should be asynchronous
61036        https://bugs.webkit.org/show_bug.cgi?id=123787
61037
61038        Reviewed by Tim Horton.
61039
61040        No new tests (No behavior change for a tested port).
61041
61042        deleteDatabase now has no return value, but calls back to a bool function:
61043        * Modules/indexeddb/IDBBackingStoreInterface.h:
61044        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
61045        (WebCore::IDBBackingStoreLevelDB::deleteDatabase):
61046        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
61047
61048        Refactor to account for the new async deleteDatabase:
61049        * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
61050        (WebCore::IDBDatabaseBackendImpl::processPendingCalls):
61051        (WebCore::IDBDatabaseBackendImpl::deleteDatabase):
61052        (WebCore::IDBDatabaseBackendImpl::deleteDatabaseAsync):
61053        * Modules/indexeddb/IDBDatabaseBackendImpl.h:
61054
610552013-11-04  Brady Eidson  <beidson@apple.com>
61056
61057        Add Modules/indexeddb/leveldb to the WebCore.xcodeproj
61058
61059        Rubberstamped by Andreas Kling.
61060
61061        This will make hacking on IDB much easier for Mac developers as they won’t have
61062        to constantly add and then subtract the leveldb subdirectory.
61063
61064        The USE(LEVELDB) flag is still disabled so these files won’t actually build by default.
61065
61066        * WebCore.xcodeproj/project.pbxproj:
61067
610682013-11-04  Brady Eidson  <beidson@apple.com>
61069
61070        Address review feedback I forgot to commit in r158641
61071
61072        * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
61073        (WebCore::IDBDatabaseBackendImpl::processPendingOpenCalls):
61074
610752013-11-04  Brady Eidson  <beidson@apple.com>
61076
61077        IDB: Make opening/establishing a database asynchronous.
61078        https://bugs.webkit.org/show_bug.cgi?id=123775
61079
61080        Reviewed by Andreas Kling.
61081
61082        No new tests (No behavior change for a tested port).
61083
61084        * Modules/indexeddb/IDBBackingStoreInterface.h: Add getOrEstablishIDBDatabaseMetadata with a callback,
61085          removing getIDBDatabaseMetaData, getObjectStores, and createIDBDatabaseMetaData in the process.
61086
61087        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
61088        (WebCore::IDBBackingStoreLevelDB::getOrEstablishIDBDatabaseMetadata): Adapted from getIDBDatabaseMetaData,
61089          implement the asynchronous interface in terms of other LevelDB methods, always calling back synchronously.
61090        (WebCore::IDBBackingStoreLevelDB::createIDBDatabaseMetaData):
61091        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
61092
61093        * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
61094        (WebCore::IDBDatabaseBackendImpl::create):
61095        (WebCore::IDBDatabaseBackendImpl::openInternalAsync): Broken off from openInternal.
61096        (WebCore::IDBDatabaseBackendImpl::didOpenInternalAsync): Broken off from openInternal.
61097        (WebCore::IDBDatabaseBackendImpl::processPendingCalls):
61098        (WebCore::IDBDatabaseBackendImpl::processPendingOpenCalls): Broken off to allow didOpenInternalAsync
61099          to perform open callbacks in the failure case.
61100        (WebCore::IDBDatabaseBackendImpl::openConnection): Always queue open connection calls, then immediately processPendingCalls.
61101        (WebCore::IDBDatabaseBackendImpl::openConnectionInternal): Actually perform open connection calls.
61102        * Modules/indexeddb/IDBDatabaseBackendImpl.h:
61103
61104
611052013-11-04  Andreas Kling  <akling@apple.com>
61106
61107        CTTE: RenderFrameBase's widget is always a FrameView.
61108        <https://webkit.org/b/123771>
61109
61110        Delete widget() from RenderFrameBase and supplant a childView()
61111        that returns FrameView*. Strip away unnecessary casts and asserts.
61112
61113        Reviewed by Antti Koivisto.
61114
611152013-11-04  Zoltan Horvath  <zoltan@webkit.org>
61116
61117        [CSS Regions][CSS Shapes] Content in region doesn't respect shape-outside after initial layout pass
61118        <https://webkit.org/b/114829>
61119
61120        Although we set the size of a shape for shape-outside in RenderBlockFlow::insertFloatingObject based on the
61121        float's size, the actual height of the float is not always resolved at that point. (Look at cases when the shape
61122        has percentage based height or percentage based radius.) ShapeInfo::setShapeSize triggers a layout for 0 height
61123        value, which will be overriden later, when RenderBlockFlow::positionNewFloats sets the actual size of the float (shape).
61124        Thus it doesn't make sense to set the shape's size in insertFloatingObject and run those extra unnecessary layout passes,
61125        since it'll be overriden anyways. I moved the shape size setting logic into RenderBlockFlow::positionNewFloats.
61126
61127        The problem showed up when we had a shape-outside ellipse with percentage based radius, and we inserted the content
61128        with JavaScript into a region flow. The content has been layed out based on the 0 border radius, and relayout hasn't been
61129        triggered when it flew into the flow. This change sets the shape size only when we already have the height of the float,
61130        so the radius(es) can be resolved correctly, thus no unnecessary layout passes will happen and the layout will be correct as well.
61131
61132        Reviewed by David Hyatt.
61133
61134        Test: fast/shapes/shape-outside-floats/shape-outside-floats-layout-after-initial-layout-pass.html
61135
61136        * rendering/RenderBlockFlow.cpp:
61137        (WebCore::RenderBlockFlow::insertFloatingObject): Remove setting the size of the shape.
61138        (WebCore::RenderBlockFlow::positionNewFloats): Set the size of the shape here.
61139
611402013-11-04  Samuel White  <samuel_white@apple.com>
61141
61142        AX: AXShowMenu doesn't always work.
61143        https://bugs.webkit.org/show_bug.cgi?id=123649
61144
61145        Reviewed by Chris Fleizach.
61146
61147        No new tests, the change occurs in a code path that forces the context menu to show which
61148        locks up DRT if we try to test it (platform menu is shown). The change itself gives the mouse
61149        event handler a chance to handle our platform mouse event BEFORE the event ends up in the show
61150        context menu machinery. This is necessary because without it, the element will not become
61151        focused. Without focus, accessibility shows different/less menu items than a mouse click. The
61152        end result is that context menus shown via accessibility are consistent with menus shown via click.
61153
61154        * page/ContextMenuController.cpp:
61155        (WebCore::ContextMenuController::showContextMenuAt):
61156
611572013-11-04  Jeffrey Pfau  <jpfau@apple.com>
61158
61159        SMIL timers can still fire after the containing document has been torn down
61160        <https://webkit.org/b/123291>
61161
61162        Reviewed by Darin Adler.
61163
61164        Ensure that the timers get paused when the document is preparing to be torn down.
61165
61166        Test: svg/animations/smil-timers-not-disabled-crash.html
61167
61168        * dom/Document.cpp:
61169        (WebCore::Document::dropChildren):
61170        (WebCore::Document::commonTeardown):
61171        (WebCore::Document::prepareForDestruction):
61172        * dom/Document.h:
61173
611742013-11-04  Brendan Long  <b.long@cablelabs.com>
61175
61176        Move duplicate code in TrackPrivate classes to a common base class
61177        https://bugs.webkit.org/show_bug.cgi?id=123619
61178
61179        Reviewed by Darin Adler.
61180
61181        No new tests because this is just refactoring.
61182
61183        * GNUmakefile.list.am: Add TrackPrivateBase.
61184        * WebCore.vcxproj/WebCore.vcxproj: Same.
61185        * WebCore.vcxproj/WebCore.vcxproj.filters: Same.
61186        * WebCore.xcodeproj/project.pbxproj: Same.
61187        * html/track/AudioTrack.cpp:
61188        (WebCore::AudioTrack::inbandTrackIndex): Renamed audioTrackIndex() to trackIndex().
61189        (WebCore::AudioTrack::labelChanged): First argument is now a TrackPrivateBase*.
61190        (WebCore::AudioTrack::languageChanged): Same.
61191        (WebCore::AudioTrack::willRemove): Same.
61192        * html/track/AudioTrack.h: Update TrackPrivateBaseClient function signatures.
61193        * html/track/InbandTextTrack.cpp:
61194        (WebCore::InbandTextTrack::inbandTrackIndex): Renamed textTrackIndex() to trackIndex().
61195        (WebCore::InbandTextTrack::labelChanged): First argument is now a TrackPrivateBase*.
61196        (WebCore::InbandTextTrack::languageChanged): Same.
61197        (WebCore::InbandTextTrack::willRemove): Same.
61198        * html/track/InbandTextTrack.h: Update TrackPrivateBaseClient function signatures.
61199        * html/track/VideoTrack.cpp:
61200        (WebCore::VideoTrack::inbandTrackIndex): Renamed videoTrackIndex() to trackIndex().
61201        (WebCore::VideoTrack::labelChanged): First argument is now a TrackPrivateBase*.
61202        (WebCore::VideoTrack::languageChanged): Same.
61203        (WebCore::VideoTrack::willRemove): Same.
61204        * html/track/VideoTrack.h: Update TrackPrivateBaseClient function signatures.
61205        * platform/graphics/AudioTrackPrivate.h: Remove code that was moved to TrackPrivateBase.
61206        * platform/graphics/InbandTextTrackPrivate.h: Same.
61207        * platform/graphics/InbandTextTrackPrivateClient.h: Same.
61208        * platform/graphics/VideoTrackPrivate.h: Same.
61209        * platform/graphics/TrackPrivateBase.h: Refactored out duplicate code in AudioTrackPrivate, InbandTextTrackPrivate and VideoTrackPrivate.
61210        * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h: Renamed textTrackIndex() to trackIndex().
61211        * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.h: Same.
61212        * platform/graphics/gstreamer/AudioTrackPrivateGStreamer.h: Renamed audioTrackIndex() to trackIndex().
61213        * platform/graphics/gstreamer/VideoTrackPrivateGStreamer.h: Renamed videoTrackIndex() to trackIndex90.
61214
612152013-11-04  Andreas Kling  <akling@apple.com>
61216
61217        FrameView destructor is worried about being retained by a renderer.
61218        <https://webkit.org/b/123763>
61219
61220        There's no way we can be in ~FrameView() while also being owned by
61221        a RenderWidget. Remove some overly paranoid code that was making sure
61222        the renderer didn't have a reference on us.
61223
61224        Reviewed by Anders Carlsson.
61225
612262013-11-04  Eric Carlson  <eric.carlson@apple.com>
61227
61228        REGRESSION(r158311): media/media-fragments/TC0054.html and TC0061.html hit assertions
61229        https://bugs.webkit.org/show_bug.cgi?id=123555
61230
61231        Reviewed by Darin Adler.
61232
61233        No new tests, covered by existing tests.
61234
61235        * html/MediaFragmentURIParser.cpp:
61236        (WebCore::MediaFragmentURIParser::parseFragments): Don't add a fragment with empty key or value as
61237            they will not processed.
61238        (WebCore::MediaFragmentURIParser::parseNPTFragment): Remove excess whitespace.
61239
612402013-11-04  Patrick Gansterer  <paroga@webkit.org>
61241
61242        Remove code duplications in createFontCustomPlatformData()
61243        https://bugs.webkit.org/show_bug.cgi?id=123706
61244
61245        Reviewed by Darin Adler.
61246
61247        Move OpenTypeSanitizer and WOFF handling from the port specific
61248        implementations in createFontCustomPlatformData() into the only
61249        caller of this function CachedFont::ensureCustomFontData().
61250        Also change the parameter passing the SharedBuffer from a
61251        pointer to a reference since it is never null.
61252
61253        * loader/cache/CachedFont.cpp:
61254        (WebCore::CachedFont::ensureCustomFontData):
61255        * platform/graphics/blackberry/FontCustomPlatformData.h:
61256        * platform/graphics/blackberry/FontCustomPlatformDataBlackBerry.cpp:
61257        (WebCore::FontCustomPlatformData::FontCustomPlatformData):
61258        (WebCore::createFontCustomPlatformData):
61259        * platform/graphics/cairo/FontCustomPlatformData.h:
61260        * platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp:
61261        (WebCore::FontCustomPlatformData::FontCustomPlatformData):
61262        (WebCore::createFontCustomPlatformData):
61263        * platform/graphics/mac/FontCustomPlatformData.cpp:
61264        (WebCore::createFontCustomPlatformData):
61265        * platform/graphics/mac/FontCustomPlatformData.h:
61266        * platform/graphics/win/FontCustomPlatformData.cpp:
61267        (WebCore::createFontCustomPlatformData):
61268        * platform/graphics/win/FontCustomPlatformData.h:
61269        * platform/graphics/win/FontCustomPlatformDataCairo.cpp:
61270        (WebCore::createFontCustomPlatformData):
61271        * platform/graphics/wince/FontCustomPlatformData.cpp:
61272        (WebCore::createFontCustomPlatformData):
61273        * platform/graphics/wince/FontCustomPlatformData.h:
61274
612752013-11-04  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
61276
61277        Fixing MediaStreamDescriptor addSource and addTrack methods
61278        https://bugs.webkit.org/show_bug.cgi?id=123755
61279
61280        Reviewed by Eric Carlson.
61281
61282        We must store the track and source that is passed as parameter in a RefPtr,
61283        otherwise we will refer to a null pointer.
61284
61285        No new tests needed.
61286
61287        * platform/mediastream/MediaStreamDescriptor.cpp:
61288        (WebCore::MediaStreamDescriptor::addSource):
61289        (WebCore::MediaStreamDescriptor::addTrack):
61290
612912013-11-04  Tim Horton  <timothy_horton@apple.com>
61292
61293        Remove PlatformCALayer::playerLayer
61294        https://bugs.webkit.org/show_bug.cgi?id=123764
61295
61296        Reviewed by Sam Weinig.
61297
61298        * platform/graphics/ca/PlatformCALayer.h:
61299        * platform/graphics/ca/mac/PlatformCALayerMac.h:
61300        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
61301        (PlatformCALayerMac::clone):
61302        Remove playerLayer(), fold it into clone().
61303
613042013-11-04  Chris Fleizach  <cfleizach@apple.com>
61305
61306        AX: Mail attachments at the start of an email are not output by VoiceOver
61307        https://bugs.webkit.org/show_bug.cgi?id=123697
61308
61309        Reviewed by Ryosuke Niwa.
61310
61311        VoiceOver is expecting that "replaced elements" (attachments in a Mail message in this case) to be
61312        represented by the replacement character when asking for a stringForRange.
61313
61314        However, when that replaced element is at the beginning of the document, the logic does not work because
61315        there is a few code places that will take that first Position and advance it forward, not accounting for replaced elements.
61316        When using the TextIterator normally, it does account for these, so that's why it's only affecting as at the beginning of the document.
61317
61318        Also a "replaced element" can be more than just renderer->isReplaced(), hence the externing of the isRendererReplacedElement method
61319        and using that it in pertinent places.
61320
61321        Tests: platform/mac/accessibility/object-replacement-with-no-rendered-children-at-node-start.html
61322               platform/mac/accessibility/object-replacement-with-rendered-children-at-node-start.html
61323
61324        * accessibility/AccessibilityObject.cpp:
61325        (WebCore::replacedNodeNeedsCharacter):
61326        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
61327        (nsStringForReplacedNode):
61328        * dom/Position.cpp:
61329        (WebCore::Position::isCandidate):
61330        * dom/PositionIterator.cpp:
61331        * dom/Range.cpp:
61332        (WebCore::Range::firstNode):
61333        * editing/TextIterator.cpp:
61334        (WebCore::isRendererReplacedElement):
61335        * editing/TextIterator.h:
61336
613372013-11-04  Andreas Kling  <akling@apple.com>
61338
61339        Use RenderAncestorIterator in a couple of places.
61340        <https://webkit.org/b/123725>
61341
61342        Take the ancestorsOfType<RenderMoo>() thingy out for a spin.
61343
61344        Found a bunch of parent chain walking loops that were really just
61345        looking for the first ancestor renderer of a certain type.
61346        They were a perfect fit for this pattern:
61347
61348            if (auto svgRoot = ancestorsOfType<RenderSVGRoot>(renderer).first())
61349                svgRoot->shakeMoneyMaker();
61350
61351        Quite a bit clearer than the previous:
61352
61353            for (auto ancestor = renderer.parent(); ancestor; ancestor = ancestor->parent()) {
61354                if (ancestor->isSVGRoot())
61355                    toRenderSVGRoot(ancestor)->makeMoneyShaker();
61356            }
61357
61358        Reviewed by Antti Koivisto.
61359
613602013-10-25  Jer Noble  <jer.noble@apple.com>
61361
61362        [MSE] Add a SourceBufferPrivateClient interface for platform -> html communication.
61363        https://bugs.webkit.org/show_bug.cgi?id=123373
61364
61365        Reviewed by Eric Carlson.
61366
61367        To enable communication between SourceBuffer and SourceBufferPrivate without introducing
61368        layering violations, add a new interface class SourceBufferPrivateInterface from which
61369        SourceBuffer will inherit.
61370
61371        * Modules/mediasource/SourceBuffer.cpp:
61372        (WebCore::SourceBuffer::SourceBuffer): Set the private's client.
61373        (WebCore::SourceBuffer::~SourceBuffer): Clear the private's client.
61374        (WebCore::SourceBuffer::sourceBufferPrivateDidEndStream): Added stub.
61375        (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveInitializationSegment): Hinno.
61376        (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample): Ditto.
61377        (WebCore::SourceBuffer::sourceBufferPrivateHasAudio): Ditto.
61378        (WebCore::SourceBuffer::sourceBufferPrivateHasVideo): Ditto.
61379        * Modules/mediasource/SourceBuffer.h:
61380        * WebCore.xcodeproj/project.pbxproj: Add new files to project.
61381        * platform/graphics/SourceBufferPrivate.h:
61382        * platform/graphics/SourceBufferPrivateClient.h: Added.
61383        (WebCore::SourceBufferPrivateClient::~SourceBufferPrivateClient): Empty destructor.
61384
613852013-11-01  Jer Noble  <jer.noble@apple.com>
61386
61387        [PluginProxy] Add a setting to disable video plugin proxy support in HTMLMediaElement.
61388        https://bugs.webkit.org/show_bug.cgi?id=123621
61389
61390        Reviewed by Eric Carlson.
61391
61392        Add a new Setting which will disable the video plugin proxy. Enable support for AVFoundation
61393        in iOS (which requries fixing a few compile errors resulting from classes and methods which
61394        are not available on iOS.
61395
61396        * WebCore.exp.in: Export wkAVAssetResolvedURL.
61397        * css/StyleResolver.cpp:
61398        (WebCore::StyleResolver::canShareStyleWithElement): Make conditional upon
61399            new isVideoPluginProxyEnabled() setting.
61400        * html/HTMLMediaElement.cpp:
61401        (WebCore::HTMLMediaElement::parseAttribute): Ditto.
61402        * html/HTMLMediaElement.h:
61403        * html/HTMLVideoElement.cpp:
61404        (WebCore::HTMLVideoElement::createRenderer): Ditto.
61405        (WebCore::HTMLVideoElement::attach): Ditto.
61406        (WebCore::HTMLVideoElement::parseAttribute): Ditto.
61407        (HTMLVideoElement::setDisplayMode): Ditto.
61408        * html/HTMLVideoElement.h:
61409        * page/Settings.cpp:
61410        (WebCore::Settings::setVideoPluginProxyEnabled): Simple setter.
61411        * page/Settings.h:
61412        (WebCore::Settings::isVideoPluginProxyEnabled): Simple getter.
61413        * platform/graphics/MediaPlayer.cpp:
61414        (WebCore::installedMediaEngines): Conditionally add MediaPlayerPrivateIOS and always add
61415            MediaPlayerPriateAVFoundationObjC.
61416        * platform/graphics/MediaPlayerPrivate.h:
61417        (WebCore::MediaPlayerPrivateInterface::deliverNotification): Add default implementation.
61418        (WebCore::MediaPlayerPrivateInterface::setMediaPlayerProxy): Ditto.
61419        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
61420        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
61421        (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC): Use new
61422            HAS_ and USE_ macros instead of __MAC_OS_MIN_VERNSION_REQUIRED.
61423        (WebCore::MediaPlayerPrivateAVFoundationObjC::~MediaPlayerPrivateAVFoundationObjC): Ditto.
61424        (WebCore::MediaPlayerPrivateAVFoundationObjC::hasContextRenderer): Ditto.
61425        (WebCore::MediaPlayerPrivateAVFoundationObjC::createContextVideoRenderer): Ditto.
61426        (WebCore::MediaPlayerPrivateAVFoundationObjC::destroyContextVideoRenderer): Ditto.
61427        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Ditto.
61428        (WebCore::MediaPlayerPrivateAVFoundationObjC::paint): Ditto.
61429        (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer): Use cachedCGColor instead
61430            of CGColorGetConstantColor.
61431        (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoOutput): Use CVPixelBuffer pixel
61432            format constant instead of QuickDraw constant.
61433        (WebCore::MediaPlayerPrivateAVFoundationObjC::createPixelBuffer): Ditto.
61434        (WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput): Draw to intermediary
61435            CGImage on iOS.
61436        * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h:
61437        * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:
61438        * platform/ios/WebCoreSystemInterfaceIOS.mm:
61439        * platform/mac/WebCoreSystemInterface.h:
61440
614412013-11-04  Andreas Kling  <akling@apple.com>
61442
61443        REGRESSION(r158561): fast/block/float/float-append-child-crash.html asserting.
61444
61445        The non-const ancestor iterator was walking siblings, not ancestors.
61446
61447        Rubber-stamped by Antti Koivisto.
61448
614492013-10-31  Jer Noble  <jer.noble@apple.com>
61450
61451        [MSE] [Mac] Disclaim support for MSE in AVFoundation and QTKit engines
61452        https://bugs.webkit.org/show_bug.cgi?id=123593
61453
61454        Reviewed by Eric Carlson.
61455
61456        Immediately fail if asked to load a Media Source in engines which do not support
61457        them.
61458
61459        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
61460        (WebCore::MediaPlayerPrivateAVFoundation::load):
61461        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
61462        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
61463        (WebCore::MediaPlayerPrivateAVFoundationObjC::supportsType):
61464        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
61465        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
61466        (WebCore::MediaPlayerPrivateQTKit::load):
61467        (WebCore::MediaPlayerPrivateQTKit::supportsType):
61468
614692013-11-04  Hans Muller  <hmuller@adobe.com>
61470
61471        [CSS Shapes] image valued shape element margin can cause an ASSERT fail
61472        https://bugs.webkit.org/show_bug.cgi?id=123743
61473
61474        Reviewed by Andreas Kling.
61475
61476        When margin-top is specified for a shape's element, the Y coordinates passed
61477        to RasterShapeIntervals::getExcludedIntervals() may be negative. This is
61478        because the incoming logical coordinates are relative to the content or
61479        padding box, depending on the box-sizing property. The RasterShape::getExcludedIntervals()
61480        method now clips the incoming Y coordinates to the shape's bounds before
61481        accessing the shape's intervals.
61482
61483        Test: fast/shapes/shape-outside-floats/shape-outside-floats-margin-crash.html
61484
61485        * rendering/shapes/RasterShape.cpp:
61486        (WebCore::RasterShapeIntervals::getExcludedIntervals):
61487
614882013-11-04  Antti Koivisto  <antti@apple.com>
61489
61490        Make LiveNodeListBase use Elements instead of Nodes
61491        https://bugs.webkit.org/show_bug.cgi?id=123745
61492
61493        Reviewed by Anders Carlsson.
61494
61495        * WebCore.exp.in:
61496        * dom/Element.cpp:
61497        (WebCore::Element::firstElementChild):
61498        (WebCore::Element::lastElementChild):
61499        
61500            Switch to correct calls. ElementTraversal::previous and previousChild are no longer equivalent.
61501
61502        * dom/ElementTraversal.h:
61503        (WebCore::::lastWithinTemplate):
61504        (WebCore::::previousTemplate):
61505        
61506            Fix ElementTraversal::lastWithin and previous. They had no real clients and didn't work correctly.
61507            With LiveNodeListBase starting to use these they get excellent test coverage.
61508
61509        * dom/LiveNodeList.cpp:
61510        (WebCore::LiveNodeListBase::invalidateCache):
61511        * dom/LiveNodeList.h:
61512        (WebCore::LiveNodeListBase::LiveNodeListBase):
61513        (WebCore::LiveNodeListBase::isElementCacheValid):
61514        (WebCore::LiveNodeListBase::cachedElement):
61515        (WebCore::LiveNodeListBase::cachedElementOffset):
61516        (WebCore::LiveNodeListBase::setCachedElement):
61517        
61518            Make the cache Element based.
61519            Switch to Elements in all helpers.
61520            Rename item -> element for clarity.
61521
61522        * dom/NodeIterator.cpp:
61523        (WebCore::NodeIterator::NodePointer::moveToPrevious):
61524        (WebCore::NodeIterator::updateForNodeRemoval):
61525        
61526            This code expected the old inconsistent NodeTraversal::previous behavior where the traversal includes
61527            the root as the last item. Drop the stayWithin parameter and handle the one case where it is needed here.
61528
61529        * dom/NodeTraversal.cpp:
61530        (WebCore::NodeTraversal::last):
61531        (WebCore::NodeTraversal::deepLastChild):
61532        * dom/NodeTraversal.h:
61533        
61534            Support ElementTraversal::previous/lastWithin.
61535
61536        (WebCore::NodeTraversal::previous):
61537        
61538            This was slightly wrong too.
61539
61540        * html/HTMLCollection.cpp:
61541        (WebCore::previousElement):
61542        (WebCore::lastElement):
61543        (WebCore::LiveNodeListBase::iterateForPreviousElement):
61544        (WebCore::LiveNodeListBase::itemBefore):
61545        (WebCore::LiveNodeListBase::isLastItemCloserThanLastOrCachedItem):
61546        (WebCore::LiveNodeListBase::isFirstItemCloserThanCachedItem):
61547        (WebCore::LiveNodeListBase::setCachedElement):
61548        (WebCore::LiveNodeListBase::item):
61549        (WebCore::LiveNodeListBase::elementBeforeOrAfterCachedElement):
61550        * html/HTMLCollection.h:
61551        (WebCore::HTMLCollection::isEmpty):
61552        (WebCore::HTMLCollection::hasExactlyOneItem):
61553
615542013-11-04  Michael Saboff  <msaboff@apple.com>
61555
61556        Eliminate HostCall bit from JSC Stack CallerFrame
61557        https://bugs.webkit.org/show_bug.cgi?id=123642
61558
61559        Reviewed by Geoffrey Garen.
61560
61561        Updated JavaScript stack walking as a result of the corresponding changes made in
61562        JavaScriptCore.
61563
61564        * bindings/js/ScriptController.cpp:
61565        (WebCore::ScriptController::shouldBypassMainWorldContentSecurityPolicy):
61566        * bindings/js/ScriptDebugServer.cpp:
61567        (WebCore::ScriptDebugServer::stepOutOfFunction):
61568        (WebCore::ScriptDebugServer::returnEvent):
61569        (WebCore::ScriptDebugServer::didExecuteProgram):
61570
615712013-11-04  Bem Jones-Bey  <bjonesbe@adobe.com>
61572
61573        [css shapes] Fix support for shape-outside on a float with padding
61574        https://bugs.webkit.org/show_bug.cgi?id=123590
61575
61576        Reviewed by Alexandru Chiculita.
61577
61578        The line top was being improperly converted to the coordinates of the
61579        shape, causing the shape to be positioned incorrectly when the float
61580        had padding. This fixes that problem.
61581
61582        No new tests, covered by updates to existing ones.
61583
61584        * rendering/shapes/ShapeOutsideInfo.cpp:
61585        (WebCore::ShapeOutsideInfo::updateDeltasForContainingBlockLine):
61586
615872013-11-04  Alexey Proskuryakov  <ap@apple.com>
61588
61589        Implement generateKey for HMAC and AES-CBC
61590        https://bugs.webkit.org/show_bug.cgi?id=123669
61591
61592        Reviewed by Dan Bernstein.
61593
61594        Tests: crypto/subtle/aes-cbc-generate-key.html
61595               crypto/subtle/hmac-generate-key.html
61596
61597        * WebCore.xcodeproj/project.pbxproj: Added new files.
61598
61599        * bindings/js/JSCryptoAlgorithmDictionary.cpp:
61600        (WebCore::createAesKeyGenParams): Added bindings for AesKeyGenParams.
61601        (WebCore::JSCryptoAlgorithmDictionary::createParametersForGenerateKey): Handle
61602        algorithms that generate AES and HMAC keys.
61603
61604        * bindings/js/JSSubtleCryptoCustom.cpp: (WebCore::JSSubtleCrypto::generateKey): Added.
61605
61606        * crypto/CryptoAlgorithmAesKeyGenParams.h: Added.
61607
61608        * crypto/CryptoKey.cpp: (WebCore::CryptoKey::randomData):
61609        * crypto/CryptoKey.h:
61610        * crypto/CryptoKeyMac.cpp: Added
61611        Expose a function that produces random data for symmetric crypto keys. Cross-platform
61612        implementation uses ARC4 code from WTF, while Mac uses a system function that
61613        provides a FIPS validated random number generator.
61614
61615        * crypto/CryptoKeyAES.cpp: (WebCore::CryptoKeyAES::generate):
61616        * crypto/CryptoKeyAES.h:
61617        Added a function that creates AES keys.
61618
61619        * crypto/SubtleCrypto.idl: Added generateKey.
61620
61621        * crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:
61622        (WebCore::CryptoAlgorithmAES_CBC::generateKey): Added.
61623
61624        * crypto/algorithms/CryptoAlgorithmHMAC.cpp:
61625        (WebCore::CryptoAlgorithmHMAC::generateKey): Added.
61626
61627        * crypto/keys/CryptoKeyHMAC.cpp: (WebCore::CryptoKeyHMAC::generate):
61628        * crypto/keys/CryptoKeyHMAC.h:
61629        Added a function that creates HMAC keys.
61630
61631        * crypto/mac/CryptoAlgorithmAES_CBCMac.cpp: Removed generateKey stub, the implementation
61632        ended up in cross-platform file.
61633
61634        * crypto/mac/CryptoAlgorithmHMACMac.cpp: Ditto.
61635
616362013-11-04  Daniel Bates  <dabates@apple.com>
61637
61638        Revert SetCGFontRenderingMode() build fix for Chromium Mac
61639        https://bugs.webkit.org/show_bug.cgi?id=123633
61640
61641        Reviewed by Darin Adler.
61642
61643        Reverts <http://trac.webkit.org/changeset/134380>, which
61644        was a Chromium Mac build fix for <http://trac.webkit.org/changeset/134348>
61645        (https://bugs.webkit.org/show_bug.cgi?id=101787). Chromium doesn't
61646        build against top-of-tree WebKit.
61647
61648        * platform/graphics/mac/FontMac.mm:
61649        (WebCore::Font::drawGlyphs):
61650        * platform/mac/WebCoreSystemInterface.h:
61651        * platform/mac/WebCoreSystemInterface.mm:
61652
616532013-11-04  Commit Queue  <commit-queue@webkit.org>
61654
61655        Unreviewed, rolling out r158526.
61656        http://trac.webkit.org/changeset/158526
61657        https://bugs.webkit.org/show_bug.cgi?id=123744
61658
61659        it broke the build (Requested by jessieberlin on #webkit).
61660
61661        * WebCore.xcodeproj/project.pbxproj:
61662        * bindings/js/JSCryptoAlgorithmDictionary.cpp:
61663        (WebCore::createAesCbcParams):
61664        (WebCore::createHmacParams):
61665        (WebCore::createHmacKeyParams):
61666        (WebCore::JSCryptoAlgorithmDictionary::createParametersForGenerateKey):
61667        * bindings/js/JSSubtleCryptoCustom.cpp:
61668        * crypto/CryptoAlgorithmAesKeyGenParams.h: Removed.
61669        * crypto/CryptoKey.cpp:
61670        * crypto/CryptoKey.h:
61671        * crypto/CryptoKeyAES.cpp:
61672        * crypto/CryptoKeyAES.h:
61673        * crypto/CryptoKeyMac.cpp: Removed.
61674        * crypto/SubtleCrypto.idl:
61675        * crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:
61676        * crypto/algorithms/CryptoAlgorithmHMAC.cpp:
61677        * crypto/keys/CryptoKeyHMAC.cpp:
61678        * crypto/keys/CryptoKeyHMAC.h:
61679        * crypto/mac/CryptoAlgorithmAES_CBCMac.cpp:
61680        (WebCore::CryptoAlgorithmAES_CBC::generateKey):
61681        * crypto/mac/CryptoAlgorithmHMACMac.cpp:
61682        (WebCore::CryptoAlgorithmHMAC::generateKey):
61683
616842013-11-04  Przemyslaw Szymanski  <p.szymanski3@samsung.com>
61685
61686        [Texmap] Remove redundant calls in CoordinatedGraphicsScene
61687        https://bugs.webkit.org/show_bug.cgi?id=123737
61688
61689        Reviewed by Noam Rosenthal.
61690
61691        Removing unused code left after few refactoring patches.
61692
61693        No new tests. Covered by existing ones.
61694
61695        * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
61696        (WebCore::CoordinatedGraphicsScene::paintToCurrentGLContext):
61697
616982013-11-04  Andreas Kling  <akling@apple.com>
61699
61700        CSSPrimitiveValue color constructors should return PassRef.
61701        <https://webkit.org/b/123728>
61702
61703        Make CSSPrimitiveValue::createColor() and the corresponding
61704        CSSValuePool helper functions return PassRef<CSSPrimitiveValue>.
61705
61706        Also made CSSValuePool slightly less stupid when hitting the upper
61707        size limit on the color value cache: instead of throwing out cache
61708        and rebuilding it from scratch, just remove one value at random.
61709
61710        Reviewed by Antti Koivisto.
61711
617122013-11-04  Andreas Kling  <akling@apple.com>
61713
61714        Some more RenderChildIterator deployment.
61715        <https://webkit.org/b/123735>
61716
61717        Convert another handful of loops to use childrenOfType<RenderFoo>
61718        iterators, mostly for skipping over uninteresting text renderers.
61719
61720        Reviewed by Antti Koivisto.
61721
617222013-11-04  Andreas Kling  <akling@apple.com>
61723
61724        LabelsNodeList always is always rooted at a LabelableElement.
61725        <https://webkit.org/b/123730>
61726
61727        Tighten up LabelsNodeList by enforcing that it's only rooted to
61728        a LabelableElement. Also marked the class FINAL and made its
61729        create() helper return PassRef.
61730
61731        Reviewed by Antti Koivisto.
61732
617332013-11-04  Andreas Kling  <akling@apple.com>
61734
61735        REGRESSION: RenderStyle is leaked when not creating renderer for display:none
61736        <https://webkit.org/b/123726>
61737
61738        Explicitly drop the RenderStyle reference in RenderElement::createFor
61739        if we decide to not create any renderer.
61740
61741        Reviewed by Antti Koivisto.
61742
61743        Test: fast/css/renderstyle-leak-with-display-none.html
61744
61745        * rendering/RenderElement.cpp:
61746        (WebCore::RenderElement::createFor):
61747
617482013-11-04  Santosh Mahto  <santosh.ma@samsung.com>
61749
61750        [webcore/dom] Remove extra header includes from cpp files.
61751        https://bugs.webkit.org/show_bug.cgi?id=123720
61752
61753        Reviewed by Andreas Kling.
61754
61755        Removing redundant headers from dom related cpp files.
61756
61757        * dom/Attr.cpp:
61758        * dom/CharacterData.cpp:
61759        * dom/ChildListMutationScope.cpp:
61760        * dom/ChildNodeList.cpp:
61761        * dom/ContainerNode.cpp:
61762        * dom/ContainerNodeAlgorithms.cpp:
61763        * dom/DOMNamedFlowCollection.cpp:
61764        * dom/DatasetDOMStringMap.cpp:
61765        * dom/Document.cpp:
61766        * dom/DocumentEventQueue.cpp:
61767        * dom/DocumentMarkerController.cpp:
61768        * dom/DocumentOrderedMap.cpp:
61769        * dom/DocumentStyleSheetCollection.cpp:
61770        * dom/Element.cpp:
61771        * dom/ElementRareData.cpp:
61772        * dom/Event.cpp:
61773        * dom/EventContext.cpp:
61774        * dom/EventDispatcher.cpp:
61775        * dom/EventTarget.cpp:
61776        * dom/ExceptionBase.cpp:
61777        * dom/FocusEvent.cpp:
61778        * dom/InlineStyleSheetOwner.cpp:
61779        * dom/KeyboardEvent.cpp:
61780        * dom/LiveNodeList.cpp:
61781        * dom/MessageEvent.cpp:
61782        * dom/MessagePort.cpp:
61783        * dom/MouseRelatedEvent.cpp:
61784        * dom/MutationEvent.cpp:
61785        * dom/MutationObserver.cpp:
61786        * dom/MutationObserverInterestGroup.cpp:
61787        * dom/MutationObserverRegistration.cpp:
61788        * dom/MutationRecord.cpp:
61789        * dom/NameNodeList.cpp:
61790        * dom/NamedFlowCollection.cpp:
61791        * dom/NamedNodeMap.cpp:
61792        * dom/Node.cpp:
61793        * dom/NodeIterator.cpp:
61794        * dom/NodeTraversal.cpp:
61795        * dom/PositionIterator.cpp:
61796        * dom/ProcessingInstruction.cpp:
61797        * dom/Range.cpp:
61798        * dom/RegisteredEventListener.cpp:
61799        * dom/ScopedEventQueue.cpp:
61800        * dom/ScriptElement.cpp:
61801        * dom/ScriptRunner.cpp:
61802        * dom/SelectorQuery.cpp:
61803        * dom/ShadowRoot.cpp:
61804        * dom/StyledElement.cpp:
61805        * dom/TagNodeList.cpp:
61806        * dom/Text.cpp:
61807        * dom/TextEvent.cpp:
61808        * dom/TouchEvent.cpp:
61809        * dom/TreeScope.cpp:
61810        * dom/TreeScopeAdopter.cpp:
61811        * dom/TreeWalker.cpp:
61812        * dom/UIEvent.cpp:
61813        * dom/UserActionElementSet.cpp:
61814        * dom/UserTypingGestureIndicator.cpp:
61815        * dom/VisitedLinkState.cpp:
61816        * dom/WebKitNamedFlow.cpp:
61817
618182013-11-04  Andreas Kling  <akling@apple.com>
61819
61820        HTMLAllCollection is always rooted at a Document.
61821        <https://webkit.org/b/123724>
61822
61823        Tighten up HTMLAllCollection by making the constructor take a
61824        Document& instead of a ContainerNode&. Drive-by application of
61825        FINAL and PassRef also happened.
61826
61827        Reviewed by Antti Koivisto.
61828
618292013-11-04  Andreas Kling  <akling@apple.com>
61830
61831        Make more CSSValue subclass constructors return PassRef.
61832        <https://webkit.org/b/123731>
61833
61834        Make the constructor helpers for the following classes return
61835        PassRef instead of PassRefPtr:
61836
61837            - CSSFontValue
61838            - CSSImageSetValue
61839            - CSSUnicodeRangeValue
61840            - WebKitCSSArrayFunctionValue
61841            - WebKitCSSFilterValue
61842            - WebKitCSSMatFunctionValue
61843            - WebKitCSSMixFunctionValue
61844            - WebKitCSSShaderValue
61845            - WebKitCSSTransformValue
61846
61847        Reviewed by Antti Koivisto.
61848
618492013-11-04  Jozsef Berta  <jberta@inf.u-szeged.hu>
61850
61851        Buildfix after r158182 for GCC 4.6
61852        https://bugs.webkit.org/show_bug.cgi?id=123442
61853
61854        Reviewed by Csaba Osztrogonác.
61855
61856        Added explicit "friend class", because  GCC 4.6 doesn't support extended friend declaration (c++11)
61857
61858        * dom/ScopedEventQueue.h:
61859
618602013-11-04  Andreas Kling  <akling@apple.com>
61861
61862        HTMLTableRowsCollection is always rooted at a HTMLTableElement.
61863        <https://webkit.org/b/123721>
61864
61865        Tighten up HTMLTableRowsCollection by making the create() helper
61866        take a HTMLTableElement& and adding a HTMLSelectElement& getter.
61867
61868        Reviewed by Antti Koivisto.
61869
618702013-11-04  Andreas Kling  <akling@apple.com>
61871
61872        HTMLNameCollection and friends are always rooted at a Document.
61873        <https://webkit.org/b/123722>
61874
61875        Tighten WindowNameCollection and DocumentNameCollection by making
61876        their constructors take a Document&, and add a slightly better
61877        document() than the one we inherit from LiveNodeListBase.
61878
61879        Also marked the classes FINAL and made create() helpers return
61880        PassRef instead of PassRefPtr.
61881
61882        Reviewed by Antti Koivisto.
61883
618842013-11-04  Andreas Kling  <akling@apple.com>
61885
61886        Add an ancestor renderer iterator.
61887        <https://webkit.org/b/123718>
61888
61889        Add ancestor iterators for renderers, analogous to element ancestor
61890        iterators. They walk the chain of parent renderers, stopping at each
61891        ancestor of a certain type.
61892
61893        Just like child renderer iterators, this requires isRendererOfType()
61894        to be implemented for the targeted renderer class.
61895
61896        You use them like this:
61897
61898        auto frameSets = ancestorsOfType<RenderFrameSet>(*this);
61899        for (auto frameSet = frameSets.begin(), end = frameSets.end(); frameSet != end; ++frameSet)
61900            frameSet->thisOrThat();
61901
61902        To complete the patch, I put them to use in a couple of random places.
61903
61904        Reviewed by Antti Koivisto.
61905
619062013-11-04  Mihnea Ovidenie  <mihnea@adobe.com>
61907
61908        [CSSRegions] Use auto keyword to clean-up for loops
61909        https://bugs.webkit.org/show_bug.cgi?id=123699
61910
61911        Reviewed by Anders Carlsson.
61912
61913        Start using auto keyword for loops.
61914        Also, since region breaks (forced breaks) can be added only on boxes,
61915        i changed RenderFlowThread::addForcedRegionBreak to use a RenderBox* instead of RenderObject*.
61916
61917        No change in functionality, no new tests.
61918
61919        * dom/WebKitNamedFlow.cpp:
61920        (WebCore::WebKitNamedFlow::firstEmptyRegionIndex):
61921        * rendering/FlowThreadController.cpp:
61922        (WebCore::FlowThreadController::ensureRenderFlowThreadWithName):
61923        (WebCore::FlowThreadController::styleDidChange):
61924        (WebCore::FlowThreadController::layoutRenderNamedFlowThreads):
61925        (WebCore::FlowThreadController::updateFlowThreadsChainIfNecessary):
61926        (WebCore::FlowThreadController::updateFlowThreadsNeedingLayout):
61927        (WebCore::FlowThreadController::updateFlowThreadsNeedingTwoStepLayout):
61928        (WebCore::FlowThreadController::resetFlowThreadsWithAutoHeightRegions):
61929        (WebCore::FlowThreadController::updateFlowThreadsIntoConstrainedPhase):
61930        (WebCore::FlowThreadController::updateFlowThreadsIntoOverflowPhase):
61931        (WebCore::FlowThreadController::updateFlowThreadsIntoMeasureContentPhase):
61932        (WebCore::FlowThreadController::updateFlowThreadsIntoFinalPhase):
61933        (WebCore::FlowThreadController::updateRenderFlowThreadLayersIfNeeded):
61934        (WebCore::FlowThreadController::collectFixedPositionedLayers):
61935        (WebCore::FlowThreadController::isAutoLogicalHeightRegionsCountConsistent):
61936        * rendering/RenderFlowThread.cpp:
61937        (WebCore::RenderFlowThread::validateRegions):
61938        (WebCore::RenderFlowThread::hasCompositingRegionDescendant):
61939        (WebCore::RenderFlowThread::getLayerListForRegion):
61940        (WebCore::RenderFlowThread::updateLayerToRegionMappings):
61941        (WebCore::RenderFlowThread::updateLogicalWidth):
61942        (WebCore::RenderFlowThread::computeLogicalHeight):
61943        (WebCore::RenderFlowThread::repaintRectangleInRegions):
61944        (WebCore::RenderFlowThread::removeRenderBoxRegionInfo):
61945        (WebCore::RenderFlowThread::logicalWidthChangedInRegionsForBlock):
61946        (WebCore::RenderFlowThread::clearRenderObjectCustomStyle):
61947        (WebCore::RenderFlowThread::clearRenderBoxRegionInfoAndCustomStyle):
61948        (WebCore::RenderFlowThread::setRegionRangeForBox):
61949        (WebCore::RenderFlowThread::getRegionRangeForBox):
61950        (WebCore::RenderFlowThread::regionInRange):
61951        (WebCore::RenderFlowThread::checkRegionsWithStyling):
61952        (WebCore::RenderFlowThread::objectInFlowRegion):
61953        (WebCore::RenderFlowThread::isAutoLogicalHeightRegionsCountConsistent):
61954        (WebCore::RenderFlowThread::initializeRegionsComputedAutoHeight):
61955        (WebCore::RenderFlowThread::markAutoLogicalHeightRegionsForLayout):
61956        (WebCore::RenderFlowThread::markRegionsForOverflowLayoutIfNeeded):
61957        (WebCore::RenderFlowThread::updateRegionsFlowThreadPortionRect):
61958        (WebCore::RenderFlowThread::addForcedRegionBreak):
61959        (WebCore::RenderFlowThread::collectLayerFragments):
61960        (WebCore::RenderFlowThread::fragmentsBoundingBox):
61961        (WebCore::RenderFlowThread::addRegionsVisualEffectOverflow):
61962        (WebCore::RenderFlowThread::addRegionsVisualOverflowFromTheme):
61963        (WebCore::RenderFlowThread::addRegionsOverflowFromChild):
61964        (WebCore::RenderFlowThread::addRegionsLayoutOverflow):
61965        (WebCore::RenderFlowThread::clearRegionsOverflow):
61966        * rendering/RenderFlowThread.h:
61967        * rendering/RenderNamedFlowThread.cpp:
61968        (WebCore::RenderNamedFlowThread::nextRendererForNode):
61969        (WebCore::RenderNamedFlowThread::previousRendererForNode):
61970        (WebCore::RenderNamedFlowThread::dependsOn):
61971        (WebCore::addRegionToList):
61972        (WebCore::RenderNamedFlowThread::computeOversetStateForRegions):
61973        (WebCore::RenderNamedFlowThread::checkInvalidRegions):
61974        (WebCore::RenderNamedFlowThread::pushDependencies):
61975        * rendering/RenderRegion.cpp:
61976        (WebCore::RenderRegion::setRegionObjectsRegionStyle):
61977        (WebCore::RenderRegion::restoreRegionObjectsOriginalStyle):
61978        (WebCore::RenderRegion::computeChildrenStyleInRegion):
61979
619802013-11-03  Zan Dobersek  <zdobersek@igalia.com>
61981
61982        PingLoader objects unnecessarily pass through OwnPtr
61983        https://bugs.webkit.org/show_bug.cgi?id=122942
61984
61985        Reviewed by Darin Adler.
61986
61987        There's no need to store new PingLoader objects into an OwnPtr just to leak them out a few lines later
61988        into an unused variable. New objects are created through a new helper method and then left unmanaged as
61989        they're guaranteed to destroy themselves when they receive a response of any kind.
61990
61991        * loader/PingLoader.cpp:
61992        (WebCore::PingLoader::loadImage): Call the new createPingLoader method to spawn the PingLoader.
61993        (WebCore::PingLoader::sendPing): Ditto.
61994        (WebCore::PingLoader::sendViolationReport): Ditto.
61995        (WebCore::PingLoader::createPingLoader): A helper method that creates a new PingLoader object
61996        * loader/PingLoader.h: Declare the new PingLoader::createPingLoader method.
61997
619982013-11-03  Andreas Kling  <akling@apple.com>
61999
62000        HTMLOptionsCollection is always rooted at a HTMLSelectElement.
62001        <https://webkit.org/b/123719>
62002
62003        Tighten up HTMLOptionsCollection by making the constructor take
62004        a HTMLSelectElement& and adding a HTMLSelectElement& getter instead
62005        of casting all over the place. Removed now-pointless assertions.
62006
62007        Reviewed by Sam Weinig.
62008
620092013-11-03  Andreas Kling  <akling@apple.com>
62010
62011        RenderTextFragment: Tighten first-letter logic.
62012        <https://webkit.org/b/123714>
62013
62014        Reviewed by Antti Koivisto.
62015
62016        * editing/TextIterator.cpp:
62017        (WebCore::firstRenderTextInFirstLetter):
62018
62019            Use iterator helper to find first RenderText child.
62020
62021        (WebCore::TextIterator::handleTextNodeFirstLetter):
62022
62023            Tightening through type inference.
62024
62025        * rendering/RenderBlock.cpp:
62026        (WebCore::RenderBlock::updateFirstLetterStyle):
62027        (WebCore::RenderBlock::createFirstLetterRenderer):
62028        * rendering/RenderTextFragment.h:
62029
62030            The first letter renderer is always a RenderBoxModelObject,
62031            so make the code deal in that instead of RenderObject.
62032
62033        * rendering/RenderChildIterator.h:
62034        (WebCore::RenderChildIteratorAdapter::first):
62035        (WebCore::RenderChildIteratorAdapter::last):
62036
62037            Remove excess ampersands that were keeping this from building.
62038
620392013-11-03  Andreas Kling  <akling@apple.com>
62040
62041        CSSPrimitiveValue identifier constructors should return PassRef.
62042        <https://webkit.org/b/123712>
62043
62044        Make CSSPrimitiveValue::createIdentifier() and the corresponding
62045        CSSValuePool helper return PassRef<CSSPrimitiveValue>.
62046
62047        Reviewed by Antti Koivisto.
62048
620492013-11-03  Andreas Kling  <akling@apple.com>
62050
62051        Use RenderChildIterator in two more loops.
62052        <https://webkit.org/b/123713>
62053
62054        Switch two more renderer child traversal loops to childrenOfType.
62055
62056        Reviewed by Antti Koivisto.
62057
620582013-11-03  Andreas Kling  <akling@apple.com>
62059
62060        CSSShadowValue constructor should return PassRef.
62061        <https://webkit.org/b/123711>
62062
62063        Make CSSShadowValue::create() return a PassRef since it will never
62064        return null.
62065
62066        Reviewed by Sam Weinig.
62067
620682013-11-03  Andreas Kling  <akling@apple.com>
62069
62070        CSSLineBoxContainValue constructor should return PassRef.
62071        <https://webkit.org/b/123710>
62072
62073        Make CSSLineBoxContainValue::create() return a PassRef since it
62074        will never return null.
62075
62076        Reviewed by Sam Weinig.
62077
620782013-11-03  Antti Koivisto  <antti@apple.com>
62079
62080        LiveNodeLists should have non-null ContainerNode as root
62081        https://bugs.webkit.org/show_bug.cgi?id=123709
62082
62083        Reviewed by Andreas Kling.
62084
62085        After moving ChildNodeList off from LiveNodeList the root is now always at least a ContainerNode.
62086
62087        * dom/ContainerNode.cpp:
62088        (WebCore::ContainerNode::getElementsByTagName):
62089        (WebCore::ContainerNode::getElementsByTagNameNS):
62090        (WebCore::ContainerNode::getElementsByName):
62091        (WebCore::ContainerNode::getElementsByClassName):
62092        (WebCore::ContainerNode::radioNodeList):
62093        
62094            Also these move from Node to ContainerNode to make tighter typing work.
62095
620962013-11-03  Antti Koivisto  <antti@apple.com>
62097
62098        Switch createContextualFragment to element iterator
62099        https://bugs.webkit.org/show_bug.cgi?id=123704
62100
62101        Reviewed by Andreas Kling.
62102
62103        * editing/FrameSelection.cpp:
62104        (WebCore::scanForForm):
62105        
62106            Use type helpers instead of hasTagName
62107
62108        * editing/markup.cpp:
62109        (WebCore::collectElementsToRemoveFromFragment):
62110        (WebCore::removeElementFromFragmentPreservingChildren):
62111        (WebCore::createContextualFragment):
62112        * html/HTMLFormElement.cpp:
62113        (WebCore::HTMLFormElement::formElementIndex):
62114        
62115            Use type helpers instead of hasTagName
62116
62117        * html/HTMLTagNames.in:
62118        
62119            Generate type helpers for <html>.
62120
621212013-11-03  Antti Koivisto  <antti@apple.com>
62122
62123        ChildNodeList should not be LiveNodeList
62124        https://bugs.webkit.org/show_bug.cgi?id=123708
62125
62126        Reviewed by Sam Weinig.
62127
62128        ChildNodeList is a poor fit to be a LiveNodeList. It is heavily special-cased. It is also
62129        the only subtype that returns non-Elements thus preventing tightening.
62130
62131        * bindings/js/JSNodeListCustom.cpp:
62132        (WebCore::JSNodeListOwner::isReachableFromOpaqueRoots):
62133        
62134            Support new types.
62135
62136        * dom/ChildNodeList.cpp:
62137        (WebCore::EmptyNodeList::~EmptyNodeList):
62138        (WebCore::ChildNodeList::ChildNodeList):
62139        (WebCore::ChildNodeList::~ChildNodeList):
62140        (WebCore::ChildNodeList::length):
62141        (WebCore::childFromFirst):
62142        (WebCore::childFromLast):
62143        (WebCore::ChildNodeList::nodeBeforeCached):
62144        (WebCore::ChildNodeList::nodeAfterCached):
62145        (WebCore::ChildNodeList::item):
62146        (WebCore::ChildNodeList::namedItem):
62147        (WebCore::ChildNodeList::invalidateCache):
62148        
62149            Implement the same caching optimizations as LiveNodeList with tighter, less generic code.
62150
62151        * dom/ChildNodeList.h:
62152        
62153            Inherit ChildNodeList directly from NodeList.
62154
62155            Add new EmptyNodeList type. This is only ever used if NodeList is requested for a non-container node.
62156            It allows tighter typing in ChildNodeList.
62157
62158        * dom/LiveNodeList.cpp:
62159        (WebCore::LiveNodeList::namedItem):
62160        * dom/LiveNodeList.h:
62161        (WebCore::LiveNodeListBase::LiveNodeListBase):
62162        (WebCore::LiveNodeListBase::~LiveNodeListBase):
62163        (WebCore::LiveNodeList::LiveNodeList):
62164        
62165            Remove ChildNodeList specific code and branches.
62166
62167        * dom/Node.cpp:
62168        (WebCore::Node::childNodes):
62169        
62170            Return EmptyNodeList for non-containers.
62171
62172        * dom/NodeList.h:
62173        (WebCore::NodeList::~NodeList):
62174        (WebCore::NodeList::isLiveNodeList):
62175        (WebCore::NodeList::isChildNodeList):
62176        (WebCore::NodeList::isEmptyNodeList):
62177        
62178            For isReachableFromOpaqueRoots.
62179
62180        * dom/NodeRareData.h:
62181        (WebCore::NodeListsNodeData::ensureChildNodeList):
62182        (WebCore::NodeListsNodeData::removeChildNodeList):
62183        (WebCore::NodeListsNodeData::ensureEmptyChildNodeList):
62184        (WebCore::NodeListsNodeData::removeEmptyChildNodeList):
62185        (WebCore::NodeListsNodeData::NodeListsNodeData):
62186        (WebCore::NodeListsNodeData::deleteThisAndUpdateNodeRareDataIfAboutToRemoveLastList):
62187        
62188            EmptyNodeList support.
62189
62190        * html/CollectionType.h:
62191        * html/HTMLCollection.cpp:
62192        (WebCore::shouldOnlyIncludeDirectChildren):
62193        (WebCore::rootTypeFromCollectionType):
62194        (WebCore::invalidationTypeExcludingIdAndNameAttributes):
62195        (WebCore::isMatchingElement):
62196        (WebCore::LiveNodeListBase::itemBefore):
62197        (WebCore::LiveNodeListBase::traverseLiveNodeListFirstElement):
62198        (WebCore::LiveNodeListBase::traverseLiveNodeListForwardToOffset):
62199        (WebCore::LiveNodeListBase::item):
62200        (WebCore::LiveNodeListBase::itemBeforeOrAfterCachedItem):
62201        
62202            Remove ChildNodeList specific code and branches.
62203
622042013-11-03  Patrick Gansterer  <paroga@webkit.org>
62205
62206        [WINCE] Replace OwnPtr with GDIObject
62207        https://bugs.webkit.org/show_bug.cgi?id=123670
62208
62209        Reviewed by Anders Carlsson.
62210
62211        * page/win/FrameGdiWin.cpp:
62212        (WebCore::imageFromRect):
62213        * platform/graphics/wince/FontPlatformData.cpp:
62214        (WebCore::FixedSizeFontData::create):
62215        (WebCore::FontPlatformData::hfont):
62216        (WebCore::FontPlatformData::getScaledFontHandle):
62217        * platform/graphics/wince/GraphicsContextWinCE.cpp:
62218        (WebCore::createPen):
62219        (WebCore::createBrush):
62220        (WebCore::GraphicsContext::drawRect):
62221        (WebCore::GraphicsContext::drawLine):
62222        (WebCore::GraphicsContext::drawEllipse):
62223        (WebCore::GraphicsContext::drawConvexPolygon):
62224        (WebCore::GraphicsContext::fillRect):
62225        (WebCore::GraphicsContext::clip):
62226        (WebCore::GraphicsContext::strokeRect):
62227        (WebCore::GraphicsContext::fillRoundedRect):
62228        (WebCore::GraphicsContext::drawRoundCorner):
62229        (WebCore::GraphicsContext::fillPath):
62230        (WebCore::GraphicsContext::strokePath):
62231        (WebCore::GraphicsContext::drawText):
62232        * platform/graphics/wince/ImageWinCE.cpp:
62233        (WebCore::BitmapImage::getHBITMAPOfSize):
62234        * platform/graphics/wince/SharedBitmap.cpp:
62235        (WebCore::SharedBitmap::createHandle):
62236        (WebCore::SharedBitmap::draw):
62237        (WebCore::SharedBitmap::clipBitmap):
62238        (WebCore::drawPatternSimple):
62239        (WebCore::SharedBitmap::drawPattern):
62240        (WebCore::SharedBitmap::DCProvider::getDC):
62241        * platform/graphics/wince/SharedBitmap.h:
62242
622432013-11-03  Antti Koivisto  <antti@apple.com>
62244
62245        Add helpers for partial descendant traversal to element iterators
62246        https://bugs.webkit.org/show_bug.cgi?id=123703
62247
62248        Reviewed by Andreas Kling.
62249
62250        * dom/ElementAncestorIterator.h:
62251        (WebCore::lineageOfType):
62252        
62253            lineageOfType definition didn't match the declaration.
62254
62255        * dom/ElementDescendantIterator.h:
62256        (WebCore::::find):
62257        (WebCore::::from):
62258        
62259            Add find and from for getting begin iterator for partial traversals.
62260
62261        * editing/FrameSelection.cpp:
62262        (WebCore::scanForForm):
62263        (WebCore::FrameSelection::currentForm):
62264        * html/HTMLFormElement.cpp:
62265        (WebCore::HTMLFormElement::formElementIndex):
62266        (WebCore::HTMLFormElement::findClosestFormAncestor):
62267        
62268            Use them in a few places.
62269
622702013-11-03  Andreas Kling  <akling@apple.com>
62271
62272        Inline RenderStyle functions for getting/setting pseudo style bits.
62273        <https://webkit.org/b/123702>
62274
62275        hasPseudoStyle() actually shows up on html5-full-render.html,
62276        and it's pretty crazy to eat the cost of a function call just
62277        to do some basic bit twiddling.
62278
62279        Reviewed by Antti Koivisto.
62280
622812013-11-03  Xabier Rodriguez Calvar  <calvaris@igalia.com>
62282
62283        Remove HTMLMediaElement.initialTime
62284        https://bugs.webkit.org/show_bug.cgi?id=123572
62285
62286        Reviewed by Eric Carlson.
62287
62288        Patch based on one by: philipj@opera.com
62289        Blink review URL: https://codereview.chromium.org/35033002
62290
62291        initialTime has been removed from the HTMLMediaElement.
62292
62293        * bindings/gobject/WebKitDOMCustom.cpp:
62294        (webkit_dom_html_media_element_get_initial_time):
62295        * bindings/gobject/WebKitDOMCustom.h:
62296        * bindings/gobject/WebKitDOMCustom.symbols: Added phony function.
62297        * html/HTMLMediaElement.cpp:
62298        * html/HTMLMediaElement.h:
62299        * html/HTMLMediaElement.idl: Removed HTMLMediaElement::initialTime.
62300
623012013-11-02  Alexey Proskuryakov  <ap@apple.com>
62302
62303        Implement generateKey for HMAC and AES-CBC
62304        https://bugs.webkit.org/show_bug.cgi?id=123669
62305
62306        Reviewed by Dan Bernstein.
62307
62308        Tests: crypto/subtle/aes-cbc-generate-key.html
62309               crypto/subtle/hmac-generate-key.html
62310
62311        * WebCore.xcodeproj/project.pbxproj: Added new files.
62312
62313        * bindings/js/JSCryptoAlgorithmDictionary.cpp:
62314        (WebCore::createAesKeyGenParams): Added bindings for AesKeyGenParams.
62315        (WebCore::JSCryptoAlgorithmDictionary::createParametersForGenerateKey): Handle
62316        algorithms that generate AES and HMAC keys.
62317
62318        * bindings/js/JSSubtleCryptoCustom.cpp: (WebCore::JSSubtleCrypto::generateKey): Added.
62319
62320        * crypto/CryptoAlgorithmAesKeyGenParams.h: Added.
62321
62322        * crypto/CryptoKey.cpp: (WebCore::CryptoKey::randomData):
62323        * crypto/CryptoKey.h:
62324        * crypto/CryptoKeyMac.cpp: Added
62325        Expose a function that produces random data for symmetric crypto keys. Cross-platform
62326        implementation uses ARC4 code from WTF, while Mac uses a system function that
62327        provides a FIPS validated random number generator.
62328
62329        * crypto/CryptoKeyAES.cpp: (WebCore::CryptoKeyAES::generate):
62330        * crypto/CryptoKeyAES.h:
62331        Added a function that creates AES keys.
62332
62333        * crypto/SubtleCrypto.idl: Added generateKey.
62334
62335        * crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:
62336        (WebCore::CryptoAlgorithmAES_CBC::generateKey): Added.
62337
62338        * crypto/algorithms/CryptoAlgorithmHMAC.cpp:
62339        (WebCore::CryptoAlgorithmHMAC::generateKey): Added.
62340
62341        * crypto/keys/CryptoKeyHMAC.cpp: (WebCore::CryptoKeyHMAC::generate):
62342        * crypto/keys/CryptoKeyHMAC.h:
62343        Added a function that creates HMAC keys.
62344
62345        * crypto/mac/CryptoAlgorithmAES_CBCMac.cpp: Removed generateKey stub, the implementation
62346        ended up in cross-platform file.
62347
62348        * crypto/mac/CryptoAlgorithmHMACMac.cpp: Ditto.
62349
623502013-11-02  Christophe Dumez  <ch.dumez@samsung.com>
62351
62352        EnforceRange doesn't enforce range of a short
62353        https://bugs.webkit.org/show_bug.cgi?id=123661
62354
62355        Reviewed by Alexey Proskuryakov.
62356
62357        Handle Web IDL short / unsigned short types as per the
62358        specification:
62359        - http://www.w3.org/TR/WebIDL/#es-short
62360        - http://www.w3.org/TR/WebIDL/#es-unsigned-short
62361
62362        Specifically, we used to treat short / unsigned short as 32bit
62363        integers, which was wrong. We now properly handle them as 16bit
62364        integers.
62365
62366        No new tests, added test cases to js/dom/webidl-type-mapping.html.
62367
62368        * WebCore.exp.in:
62369        * bindings/js/JSDOMBinding.cpp:
62370        (WebCore::toSmallerInt):
62371        (WebCore::toSmallerUInt):
62372        (WebCore::toInt8):
62373        (WebCore::toUInt8):
62374        (WebCore::toInt16):
62375        (WebCore::toUInt16):
62376        * bindings/js/JSDOMBinding.h:
62377        * bindings/scripts/CodeGeneratorJS.pm:
62378        (JSValueToNative):
62379        * bindings/scripts/test/JS/JSTestObj.cpp:
62380        (WebCore::setJSTestObjShortAttr):
62381        (WebCore::setJSTestObjUnsignedShortAttr):
62382        * testing/TypeConversions.h:
62383        (WebCore::TypeConversions::testShort):
62384        (WebCore::TypeConversions::setTestShort):
62385        (WebCore::TypeConversions::testEnforceRangeShort):
62386        (WebCore::TypeConversions::setTestEnforceRangeShort):
62387        (WebCore::TypeConversions::testUnsignedShort):
62388        (WebCore::TypeConversions::setTestUnsignedShort):
62389        (WebCore::TypeConversions::testEnforceRangeUnsignedShort):
62390        (WebCore::TypeConversions::setTestEnforceRangeUnsignedShort):
62391        * testing/TypeConversions.idl:
62392
623932013-11-02  Patrick Gansterer  <paroga@webkit.org>
62394
62395        Cleanup OpenTypeUtilities
62396        https://bugs.webkit.org/show_bug.cgi?id=123686
62397
62398        Reviewed by Darin Adler.
62399
62400        Merge the WinCE specific code into the general Windows code to
62401        make the compilation of WinCE port on WinNT easier.
62402
62403        * platform/graphics/opentype/OpenTypeUtilities.cpp:
62404        (WebCore::renameFont):
62405        (WebCore::renameAndActivateFont):
62406        * platform/graphics/opentype/OpenTypeUtilities.h:
62407        * platform/graphics/win/FontCustomPlatformData.cpp:
62408        (WebCore::createFontCustomPlatformData):
62409        * platform/graphics/win/FontCustomPlatformDataCairo.cpp:
62410        (WebCore::createFontCustomPlatformData):
62411        * platform/graphics/wince/FontCustomPlatformData.cpp:
62412        (WebCore::createFontCustomPlatformData):
62413
624142013-11-02  Andreas Kling  <akling@apple.com>
62415
62416        CSSFontFaceSrcValue constructors should return PassRef.
62417        <https://webkit.org/b/123692>
62418
62419        Make functions that return non-null CSSFontFaceSrcValues return
62420        PassRef instead of PassRefPtr. Tweak some call sites to be
62421        slightly more efficient.
62422
62423        Reviewed by Anders Carlsson.
62424
624252013-11-02  Andreas Kling  <akling@apple.com>
62426
62427        CSSStyleSheet::contents() should return a reference.
62428        <https://webkit.org/b/123689>
62429
62430        Make CSSStyleSheet::contents() return a StyleSheetContents& instead
62431        of a pointer. The object was already stored in a Ref.
62432
62433        Reviewed by Anders Carlsson.
62434
624352013-11-02  Andreas Kling  <akling@apple.com>
62436
62437        CSSReflectValue constructor should return PassRef.
62438        <https://webkit.org/b/123963>
62439
62440        Make CSSReflectValue::create() return a PassRef. Tweak one call
62441        site to be slightly more efficient.
62442
62443        Reviewed by Anders Carlsson.
62444
624452013-11-02  Andreas Kling  <akling@apple.com>
62446
62447        CSSFontFeatureValue constructor should return PassRef.
62448        <https://webkit.org/b/123691>
62449
62450        Make CSSFontFeatureValue::create() return PassRef, since it never
62451        returns null. Tweak one call site to be slightly more efficient.
62452
62453        Reviewed by Anders Carlsson.
62454
624552013-11-02  Andreas Kling  <akling@apple.com>
62456
62457        Tighten typing in SVGResources::buildCachedResources().
62458        <https://webkit.org/b/123690>
62459
62460        Make this function take a RenderElement&/SVGRenderStyle& pair instead
62461        of a RenderObject*/SVGRenderStyle* pair. Also tweaked the code a bit,
62462        removing ampersands and asserts as appropriate.
62463
62464        Reviewed by Anders Carlsson.
62465
624662013-11-02  Andreas Kling  <akling@apple.com>
62467
62468        CSSImageValue constructors should return PassRef.
62469        <https://webkit.org/b/123688>
62470
62471        Make the CSSImageValue::create() helpers return PassRef.
62472        Tightened call sites to avoid null checks and destructor calls.
62473
62474        Reviewed by Anders Carlsson.
62475
624762013-11-02  Patrick Gansterer  <paroga@webkit.org>
62477
62478        Fix compilation of SynchronousLoaderClient
62479        https://bugs.webkit.org/show_bug.cgi?id=123676
62480
62481        Reviewed by Darin Adler.
62482
62483        Assign a ResourceRequest varibale an empty ResourceRequest instead of 0.
62484        The current solution only works for ports which can create a
62485        ResourceRequest from a pointer, which might not be true for all ports.
62486
62487        * platform/network/SynchronousLoaderClient.cpp:
62488        (WebCore::SynchronousLoaderClient::willSendRequest):
62489
624902013-11-02  Patrick Gansterer  <paroga@webkit.org>
62491
62492        Port LoggingWin.cpp to WinCE
62493        https://bugs.webkit.org/show_bug.cgi?id=123678
62494
62495        Reviewed by Darin Adler.
62496
62497        This makes it easier to use a common list of files
62498        for the different Windows ports later.
62499
62500        * PlatformWin.cmake:
62501        * platform/win/LoggingWin.cpp:
62502        (WebCore::logLevelString):
62503
625042013-11-02  Patrick Gansterer  <paroga@webkit.org>
62505
62506        Fix UnicodeWchar after r157330.
62507        https://bugs.webkit.org/show_bug.cgi?id=123668
62508
62509        Reviewed by Darin Adler.
62510
62511        * editing/TextIterator.cpp:
62512        (WebCore::SearchBuffer::append):
62513        * platform/graphics/wince/FontWinCE.cpp:
62514        (WebCore::generateComponents):
62515        * platform/graphics/wince/GraphicsContextWinCE.cpp:
62516        (WebCore::GraphicsContext::drawText):
62517        * platform/text/wchar/TextBreakIteratorWchar.cpp:
62518        (WebCore::isCharStop):
62519        (WebCore::isLineStop):
62520        (WebCore::isSentenceStop):
62521        (WebCore::WordBreakIterator::next):
62522        (WebCore::WordBreakIterator::previous):
62523
625242013-11-02  Andreas Kling  <akling@apple.com>
62525
62526        Use RenderChildIterator in a couple of places.
62527        <https://webkit.org/b/123684>
62528
62529        Added isRendererOfType() for RenderBox and RenderBlock and switch
62530        some loops over to using childrenOfType<>. Also sprinkled const
62531        and references on touched code.
62532
62533        Reviewed by Antti Koivisto.
62534
625352013-11-02  Zan Dobersek  <zdobersek@igalia.com>
62536
62537        Manage FileReaderLoader through std::unique_ptr
62538        https://bugs.webkit.org/show_bug.cgi?id=123666
62539
62540        Reviewed by Anders Carlsson.
62541
62542        Construct FileReaderLoader objects through std::make_unique and store them in std::unique_ptr.
62543
62544        * fileapi/FileReader.cpp:
62545        (WebCore::FileReader::readInternal):
62546        * fileapi/FileReader.h:
62547
625482013-11-02  Andreas Kling  <akling@apple.com>
62549
62550        Add a child renderer iterator.
62551        <https://webkit.org/b/123662>
62552
62553        Introduce an ElementIterator-style iterator for renderers and put
62554        it to use in a childrenOfType() implementation.
62555
62556        It's used just like the Element iterators:
62557
62558        auto sections = childrenOfType<RenderTableSection>(*this);
62559        for (auto section = sections.begin(), section = sections.end(); section != sections.end(); ++section)
62560            section->thisOrThat();
62561
62562        Just like the DOM counterpart, it relies on a templatized helper:
62563
62564            bool isRendererOfType<T>(const RenderObject&)
62565
62566        This patch puts the iterator to use in a couple of random places.
62567
62568        Reviewed by Antti Koivisto.
62569
625702013-11-02  Alexey Proskuryakov  <ap@apple.com>
62571
62572        Implement remaining SHA variations for WebCrypto
62573        https://bugs.webkit.org/show_bug.cgi?id=123659
62574
62575        Reviewed by Anders Carlsson.
62576
62577        Tests: crypto/subtle/sha-224.html
62578               crypto/subtle/sha-256.html
62579               crypto/subtle/sha-384.html
62580               crypto/subtle/sha-512.html
62581
62582        * WebCore.xcodeproj/project.pbxproj:
62583        * crypto/algorithms/CryptoAlgorithmSHA224.cpp: Added.
62584        (WebCore::CryptoAlgorithmSHA224::CryptoAlgorithmSHA224):
62585        (WebCore::CryptoAlgorithmSHA224::~CryptoAlgorithmSHA224):
62586        (WebCore::CryptoAlgorithmSHA224::create):
62587        (WebCore::CryptoAlgorithmSHA224::identifier):
62588        * crypto/algorithms/CryptoAlgorithmSHA224.h: Added.
62589        * crypto/algorithms/CryptoAlgorithmSHA256.cpp: Added.
62590        (WebCore::CryptoAlgorithmSHA256::CryptoAlgorithmSHA256):
62591        (WebCore::CryptoAlgorithmSHA256::~CryptoAlgorithmSHA256):
62592        (WebCore::CryptoAlgorithmSHA256::create):
62593        (WebCore::CryptoAlgorithmSHA256::identifier):
62594        * crypto/algorithms/CryptoAlgorithmSHA256.h: Added.
62595        * crypto/algorithms/CryptoAlgorithmSHA384.cpp: Added.
62596        (WebCore::CryptoAlgorithmSHA384::CryptoAlgorithmSHA384):
62597        (WebCore::CryptoAlgorithmSHA384::~CryptoAlgorithmSHA384):
62598        (WebCore::CryptoAlgorithmSHA384::create):
62599        (WebCore::CryptoAlgorithmSHA384::identifier):
62600        * crypto/algorithms/CryptoAlgorithmSHA384.h: Added.
62601        * crypto/algorithms/CryptoAlgorithmSHA512.cpp: Added.
62602        (WebCore::CryptoAlgorithmSHA512::CryptoAlgorithmSHA512):
62603        (WebCore::CryptoAlgorithmSHA512::~CryptoAlgorithmSHA512):
62604        (WebCore::CryptoAlgorithmSHA512::create):
62605        (WebCore::CryptoAlgorithmSHA512::identifier):
62606        * crypto/algorithms/CryptoAlgorithmSHA512.h: Added.
62607        * crypto/mac/CryptoAlgorithmRegistryMac.cpp:
62608        (WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms):
62609        * crypto/mac/CryptoAlgorithmSHA224Mac.cpp: Added.
62610        (WebCore::CryptoAlgorithmSHA224::digest):
62611        * crypto/mac/CryptoAlgorithmSHA256Mac.cpp: Added.
62612        (WebCore::CryptoAlgorithmSHA256::digest):
62613        * crypto/mac/CryptoAlgorithmSHA384Mac.cpp: Added.
62614        (WebCore::CryptoAlgorithmSHA384::digest):
62615        * crypto/mac/CryptoAlgorithmSHA512Mac.cpp: Added.
62616        (WebCore::CryptoAlgorithmSHA512::digest):
62617
626182013-11-02  Patrick Gansterer  <paroga@webkit.org>
62619
62620        Various small WinCE build fixes
62621
62622        * editing/TextIterator.cpp:
62623        (WebCore::SearchBuffer::append):
62624        * platform/graphics/BitmapImage.h:
62625        * platform/graphics/wince/ImageWinCE.cpp:
62626        (WebCore::BitmapImage::getHBITMAPOfSize):
62627        (WebCore::BitmapImage::drawFrameMatchingSourceSize):
62628        * platform/graphics/wince/PlatformPathWinCE.h:
62629        * platform/win/PopupMenuWin.h:
62630        * rendering/RenderThemeWinCE.cpp:
62631        (WebCore::RenderThemeWinCE::adjustMenuListButtonStyle):
62632
626332013-11-01  Alexey Proskuryakov  <ap@apple.com>
62634
62635        Add WebCrypto AES-CBC
62636        https://bugs.webkit.org/show_bug.cgi?id=123647
62637
62638        Reviewed by Anders Carlsson.
62639
62640        Tests: crypto/subtle/aes-cbc-192-encrypt-decrypt.html
62641               crypto/subtle/aes-cbc-256-encrypt-decrypt.html
62642               crypto/subtle/aes-cbc-encrypt-decrypt-with-padding.html
62643               crypto/subtle/aes-cbc-encrypt-decrypt.html
62644               crypto/subtle/aes-cbc-invalid-length.html
62645               crypto/subtle/aes-cbc-wrong-key-class.html
62646
62647        * WebCore.xcodeproj/project.pbxproj: Added new files.
62648        * bindings/js/JSCryptoAlgorithmDictionary.cpp:
62649        (WebCore::getProperty): Factored out a function to get a property as JSValue.
62650        (WebCore::getHashAlgorithm): Use it.
62651        (WebCore::createAesCbcParams): Added converter for AesCbcParams.
62652        (WebCore::JSCryptoAlgorithmDictionary::createParametersForEncrypt): Support AES_CBC.
62653        (WebCore::JSCryptoAlgorithmDictionary::createParametersForDecrypt): Ditto.
62654        (WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey): Support all
62655        algorithms, all the new ones just have trivial dictionaries.
62656        (WebCore::JSCryptoAlgorithmDictionary::createParametersForExportKey): Ditto.
62657
62658        * bindings/js/JSCryptoOperationData.cpp: Added.
62659        (WebCore::sequenceOfCryptoOperationDataFromJSValue):
62660        (WebCore::cryptoOperationDataFromJSValue):
62661        * bindings/js/JSCryptoOperationData.h: Added.
62662        Moved CryptoOperationData bindings out of JSSubtleCryptoCustom.cpp, so that we
62663        could use them in JSCryptoAlgorithmDictionary.cpp.
62664
62665        * bindings/js/JSDOMPromise.h: (WebCore::PromiseWrapper::reject): Added a specialization
62666        to reject with null result. The spec doesn't actually say how algorithms fail.
62667
62668        * bindings/js/JSSubtleCryptoCustom.cpp:
62669        (WebCore::JSSubtleCrypto::encrypt): Added.
62670        (WebCore::JSSubtleCrypto::decrypt): Ditto.
62671        (WebCore::JSSubtleCrypto::sign): Style fix.
62672
62673        * crypto/CryptoAlgorithmAesCbcParams.h: Added.
62674
62675        * crypto/CryptoKey.h:
62676        (WebCore::CryptoKeyClass):
62677        * crypto/keys/CryptoKeyHMAC.h:
62678        (WebCore::asCryptoKeyHMAC):
62679        Added poor man's RTTI, so that we can safely upcast Keys passed fro JavaScript code.
62680
62681        * crypto/CryptoKeyAES.cpp: Added.
62682        (WebCore::CryptoKeyAES::CryptoKeyAES):
62683        (WebCore::CryptoKeyAES::~CryptoKeyAES):
62684        (WebCore::CryptoKeyAES::buildAlgorithmDescription):
62685        * crypto/CryptoKeyAES.h: Added.
62686        (WebCore::asCryptoKeyAES):
62687        AES keys are the same for all algorithms, but they still need to remember the algorithm.
62688
62689        * crypto/SubtleCrypto.idl: Added encrypt/decrypt.
62690
62691        * crypto/algorithms/CryptoAlgorithmAES_CBC.cpp: Added.
62692        (WebCore::CryptoAlgorithmAES_CBC::CryptoAlgorithmAES_CBC):
62693        (WebCore::CryptoAlgorithmAES_CBC::~CryptoAlgorithmAES_CBC):
62694        (WebCore::CryptoAlgorithmAES_CBC::create):
62695        (WebCore::CryptoAlgorithmAES_CBC::identifier):
62696        (WebCore::CryptoAlgorithmAES_CBC::importKey):
62697        (WebCore::CryptoAlgorithmAES_CBC::exportKey):
62698        * crypto/algorithms/CryptoAlgorithmAES_CBC.h: Added.
62699        * crypto/mac/CryptoAlgorithmAES_CBCMac.cpp: Added.
62700        (WebCore::transformAES_CBC):
62701        (WebCore::CryptoAlgorithmAES_CBC::encrypt):
62702        (WebCore::CryptoAlgorithmAES_CBC::decrypt):
62703        (WebCore::CryptoAlgorithmAES_CBC::generateKey):
62704        Added.
62705
62706        * crypto/mac/CryptoAlgorithmHMACMac.cpp:
62707        (WebCore::CryptoAlgorithmHMAC::sign):
62708        (WebCore::CryptoAlgorithmHMAC::verify):
62709        Check key class before casting it to CryptoKeyHMAC.
62710
62711        * crypto/mac/CryptoAlgorithmRegistryMac.cpp:
62712        (WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms): Register AES-CBC
62713        on Mac, so that it can be used.
62714
627152013-11-01  Andreas Kling  <akling@apple.com>
62716
62717        SVGRenderStyle accessors should return references.
62718        <https://webkit.org/b/123656>
62719
62720        RenderStyle::svgStyle() and accessSVGStyle() never return null,
62721        so make them return references instead.
62722        
62723        This flushed out a myriad of pointless null checks and assertions.
62724
62725        Reviewed by Anders Carlsson.
62726
627272013-11-01  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
62728
62729        Removing MediaStreamTrackVector and MediaStreamSourceVector typedefs
62730        https://bugs.webkit.org/show_bug.cgi?id=123648
62731
62732        Reviewed by Eric Carlson.
62733
62734        No new tests needed.
62735
62736        * Modules/mediastream/MediaStream.cpp:
62737        (WebCore::MediaStream::create):
62738        (WebCore::MediaStream::clone):
62739        (WebCore::MediaStream::cloneMediaStreamTrackVector):
62740        (WebCore::MediaStream::addTrack):
62741        (WebCore::MediaStream::removeTrack):
62742        (WebCore::MediaStream::haveTrackWithSource):
62743        (WebCore::MediaStream::getTrackById):
62744        (WebCore::MediaStream::trackVectorForType):
62745        * Modules/mediastream/MediaStream.h:
62746        * Modules/mediastream/MediaStreamTrack.h:
62747        * Modules/mediastream/UserMediaRequest.cpp:
62748        (WebCore::UserMediaRequest::callSuccessHandler):
62749        * Modules/webaudio/AudioContext.cpp:
62750        (WebCore::AudioContext::createMediaStreamSource):
62751        * Modules/webaudio/MediaStreamAudioDestinationNode.cpp:
62752        (WebCore::MediaStreamAudioDestinationNode::MediaStreamAudioDestinationNode):
62753        * platform/mediastream/MediaStreamDescriptor.cpp:
62754        (WebCore::MediaStreamDescriptor::create):
62755        (WebCore::MediaStreamDescriptor::MediaStreamDescriptor):
62756        * platform/mediastream/MediaStreamDescriptor.h:
62757        * platform/mediastream/MediaStreamSource.h:
62758
627592013-11-01  Andreas Kling  <akling@apple.com>
62760
62761        createFontFaceValue() should be smarter about overgrown cache.
62762        <https://webkit.org/b/123643>
62763
62764        Instead of clearing the whole font-face value cache when it passes
62765        128 entries, just delete one entry at random.
62766
62767        Reviewed by Geoffrey Garen.
62768
627692013-11-01  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
62770
62771        Fixing mac code to use new MediaStreamDescriptor create method
62772        https://bugs.webkit.org/show_bug.cgi?id=123653
62773
62774        Reviewed by Eric Carlson.
62775
62776        No new tests needed.
62777
62778        * platform/mediastream/mac/MediaStreamCenterMac.cpp:
62779        (WebCore::MediaStreamCenterMac::createMediaStream):
62780
627812013-11-01  Andreas Kling  <akling@apple.com>
62782
62783        Re-use existing RenderStyle local in textWidth().
62784        <https://webkit.org/b/123392>
62785
62786        We already have the RenderStyle cached in a local here, so avoid
62787        getting it from RenderText since that has to go via the parent.
62788
62789        Reviewed by Antti Koivisto.
62790
627912013-11-01  Andreas Kling  <akling@apple.com>
62792
62793        Neuter WTF_MAKE_FAST_ALLOCATED in GLOBAL_FASTMALLOC_NEW builds.
62794        <https://webkit.org/b/123639>
62795
62796        WebCore::TimerBase really needed to have the new/delete operators
62797        overridden, in order for WebCore::SuspendableTimer to be able to
62798        choose that "operator new" out of the two it inherits.
62799
62800        Reviewed by Anders Carlsson.
62801
628022013-11-01  Andreas Kling  <akling@apple.com>
62803
62804        CSSCanvasValue construction helper should return PassRef.
62805        <https://webkit.org/b/123650>
62806
62807        Return PassRef instead of PassRefPtr from functions that return
62808        ownership-passing pointers that are known to be non-null.
62809
62810        Reviewed by Anders Carlsson.
62811
628122013-11-01  Joseph Pecoraro  <pecoraro@apple.com>
62813
62814        Move CF/Mac WTF String implementations down into WTF
62815        https://bugs.webkit.org/show_bug.cgi?id=123635
62816
62817        Reviewed by Sam Weinig.
62818
62819        * WebCore.vcxproj/WebCore.vcxproj:
62820        * WebCore.vcxproj/WebCore.vcxproj.filters:
62821        * WebCore.xcodeproj/project.pbxproj:
62822
628232013-11-01  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
62824
62825        Removing unnecessary early returns in addTrack, removeTrack and removeRemoteSource methods
62826        https://bugs.webkit.org/show_bug.cgi?id=123644
62827
62828        Reviewed by Eric Carlson.
62829
62830        No new tests needed.
62831
62832        * Modules/mediastream/MediaStream.cpp:
62833        (WebCore::MediaStream::addTrack):
62834        (WebCore::MediaStream::removeTrack):
62835        (WebCore::MediaStream::removeRemoteSource):
62836        (WebCore::MediaStream::trackVectorForType):
62837        * Modules/mediastream/MediaStream.h:
62838
628392013-11-01  Andreas Kling  <akling@apple.com>
62840
62841        CSSAspectRatioValue construction helper should return PassRef.
62842        <https://webkit.org/b/123645>
62843
62844        Return PassRef instead of PassRefPtr from functions that return
62845        ownership-passing pointers that are known to be non-null.
62846
62847        Reviewed by Darin Adler.
62848
628492013-11-01  Myles C. Maxfield  <mmaxfield@apple.com>
62850
62851        Initial implementation of text-decoration-skip ink
62852        https://bugs.webkit.org/show_bug.cgi?id=121806
62853
62854        Reviewed by Darin Adler.
62855
62856        text-decoration-skip: ink is implemented by the following steps:
62857        1. Before drawing any decorations, figure out the bounding box for the decorations that will be drawn
62858        2. Create an ImageBuffer with these dimensions
62859        3. Draw text into this ImageBuffer with a thicker stroke
62860        4. Apply the ImageBuffer as a mask to the context
62861        5. Draw decorations like normal
62862        6. Clean up
62863
62864        Test: fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-ink.html
62865
62866        * platform/graphics/cg/GraphicsContextCG.cpp:
62867        (WebCore::computeLineBoundsAndAntialiasingModeForText): Don't call GraphicsContext::roundToDevicePixels
62868        when painting is disabled
62869        * rendering/InlineTextBox.cpp:
62870        (WebCore::InlineTextBox::paint): Pass the TextPainter to paintDecoration
62871        (WebCore::computeUnderlineOffset): Small cleanup
62872        (WebCore::getWavyStrokeControlPointDistance): Pulling out of strokeWavyTextDecoration()
62873        (WebCore::getWavyStrokeStep): Ditto
62874        (WebCore::strokeWavyTextDecoration): Use the previous 2 functions
62875        (WebCore::getSingleDecorationBoundingBox): Pulling out repeated code into a function
62876        (WebCore::getDecorationBoundingBox): Compute the bounding box for an underline which
62877        hasn't been drawn yet
62878        (WebCore::InlineTextBox::paintDecoration): Construct a mask and apply it to the GraphicsContext
62879        * rendering/InlineTextBox.h: paintDecoration needs the TextPainter
62880        * rendering/style/RenderStyle.cpp:
62881        (WebCore::RenderStyle::changeRequiresRepaintIfTextOrBorderOrOutline): Redraw the underline when
62882        text-decoration-skip changes
62883
628842013-11-01  Andreas Kling  <akling@apple.com>
62885
62886        CSS 'initial' and 'inherit' value constructors should return PassRef.
62887        <https://webkit.org/b/123641>
62888
62889        Make the helpers involved in constructing CSS{Initial,Inherited}Value
62890        all return PassRef instead of PassRefPtr. This avoids generating
62891        pointless null checks at the call sites.
62892
62893        Reviewed by Darin Adler.
62894
628952013-11-01  Andreas Kling  <akling@apple.com>
62896
62897        Kill RenderArena.
62898        <https://webkit.org/b/123634>
62899
62900        There are no remaining users of the RenderArena allocator.
62901
62902        Reviewed by Geoffrey Garen.
62903
629042013-11-01  James Craig  <jcraig@apple.com>
62905
62906        AX: Regression: media controls are no longer accessible
62907        https://bugs.webkit.org/show_bug.cgi?id=121990
62908
62909        Reviewed by Jer Noble.
62910
62911        Updated existing test coverage.
62912        Added ARIA roles, attrs, and labels to the new media controls shadow DOM.
62913        Localization will be handled in http://webkit.org/b/120956
62914
62915        * Modules/mediacontrols/mediaControlsApple.js:
62916        (Controller.prototype.UIString):
62917        (Controller.prototype.createControls):
62918        (Controller.prototype.handleLoadStart):
62919        (Controller.prototype.handleError):
62920        (Controller.prototype.handleAbort):
62921        (Controller.prototype.handleSuspend):
62922        (Controller.prototype.handleStalled):
62923        (Controller.prototype.handleWaiting):
62924        (Controller.prototype.handleFullscreenChange):
62925        (Controller.prototype.handleMuteButtonClicked):
62926        (Controller.prototype.handleMinButtonClicked):
62927        (Controller.prototype.handleMaxButtonClicked):
62928        (Controller.prototype.handleVolumeSliderChange):
62929        (Controller.prototype.updatePlaying):
62930
629312013-11-01  Andreas Kling  <akling@apple.com>
62932
62933        Take BidiRuns out of the arena.
62934        <https://webkit.org/b/123630>
62935
62936        Stop arena-allocating BidiRun objects and use regular new/delete.
62937
62938        With this, there are no remaining clients of RenderArena.
62939        It will be removed in a subsequent patch.
62940
62941        Reviewed by Anders Carlsson.
62942
629432013-11-01  Afonso R. Costa Jr.  <afonso.costa@samsung.com>
62944
62945        Expose setApplicationCacheOriginQuota via window.internals
62946        https://bugs.webkit.org/show_bug.cgi?id=87838
62947
62948        Reviewed by Joseph Pecoraro.
62949
62950        Also reset the default origin quota in resetToConsistentState().
62951
62952        * testing/Internals.cpp: Add setApplicationCacheOriginQuota.
62953        (WebCore::Internals::resetToConsistentState): Reset the default origin
62954        quota.
62955        (WebCore::Internals::setApplicationCacheOriginQuota): Added.
62956        * testing/Internals.h: Add setApplicationCacheOriginQuota.
62957        * testing/Internals.idl: Ditto.
62958
629592013-11-01  Nick Diego Yamane  <nick.yamane@openbossa.org>
62960
62961        Explicitly initialize RefCounted base class in MediaStreamTrack's constructors
62962        https://bugs.webkit.org/show_bug.cgi?id=123620
62963
62964        Reviewed by Andreas Kling.
62965
62966        No new tests needed.
62967
62968        * Modules/mediastream/MediaStreamTrack.cpp:
62969        (WebCore::MediaStreamTrack::MediaStreamTrack):
62970
629712013-11-01  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
62972
62973        Adding addRemoteTrack and removeRemoteTrack functions to MediaStreamDescriptor and MediaStream
62974        https://bugs.webkit.org/show_bug.cgi?id=123477
62975
62976        Reviewed by Eric Carlson.
62977
62978        When the backend report that a remote track has been added or removed by a remote peer, we must be able to add
62979        it to its MediaStream
62980
62981        No new tests needed.
62982
62983        * Modules/mediastream/MediaStream.cpp:
62984        (WebCore::MediaStream::addTrack): Splitted in two parts that can be used by old addTrack and new addRemoteTrack.
62985        (WebCore::MediaStream::removeTrack): Splitted in two parts that can be used by old removeTrack and new
62986        removeRemoteTrack.
62987        (WebCore::MediaStream::addRemoteSource): Reusing code in new addTrack method.
62988        (WebCore::MediaStream::removeRemoteSource): Refactored.
62989        (WebCore::MediaStream::addRemoteTrack): Added.
62990        (WebCore::MediaStream::removeRemoteTrack): Added.
62991        (WebCore::MediaStream::getTrackVectorForType): Helper method that returns a vector of tracks according to
62992        track's type (Audio or Video).
62993
62994        * Modules/mediastream/MediaStream.h:
62995        * Modules/mediastream/MediaStreamTrack.cpp:
62996        (WebCore::MediaStreamTrack::MediaStreamTrack):
62997        * platform/mediastream/MediaStreamDescriptor.cpp:
62998        (WebCore::MediaStreamDescriptor::addRemoteTrack): Added.
62999        (WebCore::MediaStreamDescriptor::removeRemoteTrack): Added.
63000        * platform/mediastream/MediaStreamDescriptor.h:
63001
630022013-11-01  Brendan Long  <b.long@cablelabs.com>
63003
63004        [GStreamer] Support audio and video tracks
63005        https://bugs.webkit.org/show_bug.cgi?id=117039
63006
63007        Reviewed by Philippe Normand.
63008
63009        Tests: media/track/audio/audio-track-mkv-vorbis-addtrack.html
63010               media/track/audio/audio-track-mkv-vorbis-enabled.html
63011               media/track/audio/audio-track-mkv-vorbis-language.html
63012               media/track/in-band/track-in-band-kate-ogg-addtrack.html
63013               media/track/in-band/track-in-band-srt-mkv-addtrack.html
63014               media/track/video/video-track-mkv-theora-addtrack.html
63015               media/track/video/video-track-mkv-theora-language.html
63016               media/track/video/video-track-mkv-theora-selected.html
63017
63018        * GNUmakefile.list.am: Add audio and video track files.
63019        * PlatformEfl.cmake: Same.
63020        * html/HTMLMediaElement.cpp:
63021        (WebCore::HTMLMediaElement::audioTrackEnabledChanged): Schedule "change" event.
63022        (WebCore::HTMLMediaElement::videoTrackSelectedChanged): Same.
63023        * html/track/AudioTrack.cpp:
63024        (WebCore::AudioTrack::setEnabled): Call m_private->setEnabled
63025        (WebCore::AudioTrack::enabledChanged): Added callback.
63026        (WebCore::AudioTrack::labelChanged): Same.
63027        (WebCore::AudioTrack::languageChanged): Same.
63028        (WebCore::AudioTrack::willRemoveAudioTrackPrivate): Use ASSERT_UNUSED for consistence.
63029        * html/track/AudioTrack.h: Add new enabled, label and language callbacks.
63030        * html/track/VideoTrack.cpp:
63031        (WebCore::VideoTrack::setSelected): Call m_private->setEnabled
63032        (WebCore::VideoTrack::selectedChanged): Added callback.
63033        (WebCore::VideoTrack::labelChanged): Same.
63034        (WebCore::VideoTrack::languageChanged): Same.
63035        (WebCore::VideoTrack::willRemoveVideoTrackPrivate): Use ASSERT_UNUSED for consistence.
63036        * html/track/VideoTrack.h: Add new selected, label and language callbacks.
63037        * platform/graphics/AudioTrackPrivate.h:
63038        (WebCore::AudioTrackPrivate::setEnabled): Call m_client->enabledChanged
63039        * platform/graphics/VideoTrackPrivate.h:
63040        (WebCore::VideoTrackPrivate::setSelected): Call m_client->selectedChanged
63041        * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp:
63042        (WebCore::InbandTextTrackPrivateGStreamer::InbandTextTrackPrivateGStreamer): Add ASSERT(m_pad)
63043        (WebCore::InbandTextTrackPrivateGStreamer::notifyTrackOfTagsChanged): Look at all tag events instead of just the first one.
63044        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
63045        (WebCore::mediaPlayerPrivateVideoSinkCapsChangedCallback): Separated callback when caps change from callback when number of videos change.
63046        (WebCore::mediaPlayerPrivateVideoCapsChangeTimeoutCallback): Same.
63047        (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer): Initialize m_videoCapsTimerHandler.
63048        (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer): Disconnect audio and video tracks and remove callbacks.
63049        (WebCore::MediaPlayerPrivateGStreamer::videoCapsChanged): Separated callback when caps change from callback when number of videos change.
63050        (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideo): Create video tracks for each stream.
63051        (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideoCaps): Separated callback when caps change from callback when number of videos change.
63052        (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfAudio): Create audio tracks for each stream.
63053        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: Add audio and video tracks, and a pointer to keep track of the default audio stream.
63054        * platform/graphics/gstreamer/AudioTrackPrivateGStreamer.cpp: Added.
63055        * platform/graphics/gstreamer/AudioTrackPrivateGStreamer.h: Added.
63056        * platform/graphics/gstreamer/GRefPtrGStreamer.cpp: Add GRefPtr<GstTagList>
63057        * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp: Added, handles tags and "active" property of audio and video tracks.
63058        * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h: Added.
63059        * platform/graphics/gstreamer/VideoTrackPrivateGStreamer.cpp: Added.
63060        * platform/graphics/gstreamer/VideoTrackPrivateGStreamer.h: Added.
63061
630622013-11-01  Patrick Gansterer  <paroga@webkit.org>
63063
63064        Buildfix for !ENABLE(INSPECTOR) after 157288.
63065
63066        * inspector/InspectorInstrumentation.h:
63067        (WebCore::InspectorInstrumentation::willDispatchEvent):
63068
630692013-11-01  Mario Sanchez Prada  <mario.prada@samsung.com>
63070
63071        [ATK] Avoid explicit traversal of text controls and the render tree in AtkText implementation
63072        https://bugs.webkit.org/show_bug.cgi?id=123153
63073
63074        Reviewed by Chris Fleizach.
63075
63076        Remove functions from the AtkText implementation that manually
63077        walk the render tree to compose the text for a exposed objects in
63078        certain cases (e.g. anonymous blocks, text controls).
63079
63080        The reason for this change is that the current implementation
63081        follows an error-prone approach, since by doing things like
63082        manually walking the render tree from here we are not properly
63083        considering all the possible scenarios that might happen when
63084        traversing text. This, however, is a task that is better suited
63085        for the TextIterator, which is already written to consider all
63086        those cases and to emit the proper character in every single
63087        situation: text nodes, replaced objects and so on.
63088
63089        So, by removing all that too specific code (textForObject() and
63090        textForRenderer() mainly) from WebKitAccessibleInterfaceText.cpp
63091        and relying in AccessibilityObject::textUnderElement(), which it
63092        ends up using the TextIterator for certain cases, we have a much
63093        better and robust method of retrieving the text associated with an
63094        instance of AtkObject implementing the AtkText interface.
63095
63096        * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
63097        (webkitAccessibleTextGetText): Removed call to textForObject(), now that
63098        we have just removed that function, together with textForRenderer().
63099
63100        Make AccessibilityRenderObject::textUnderElement() able to deal with
63101        anonymous blocks directly, by creating a range based in the boundaries
63102        defined by the first and last child renderers for that block. This will
63103        make possible to treat an anonymous block as a whole instead of having
63104        to rely in the concatenation of each of its children, as it does now.
63105
63106        * accessibility/AccessibilityRenderObject.cpp:
63107        (WebCore::AccessibilityRenderObject::textUnderElement): Added a new code
63108        path to deal with anonymous blocks for text renderers, or when including
63109        all the children is explicitly requested.
63110
63111        Modified TextIterator so text for children of replaced objects are
63112        ignored if we are emmiting the special character for those objects.
63113
63114        * editing/TextIterator.cpp:
63115        (WebCore::TextIterator::handleReplacedElement): Make sure no children are
63116        handled a replaced object if m_emitsObjectReplacementCharacters is set.
63117        * editing/TextIterator.h: Updated m_emitsObjectReplacementCharacters
63118        description to reflect the new behavior.
63119
631202013-11-01  Alexey Proskuryakov  <ap@apple.com>
63121
63122        Add a Mac WebCrypto implementation of HMAC importKey/sign/verify
63123        https://bugs.webkit.org/show_bug.cgi?id=123598
63124
63125        Reviewed by Anders Carlsson.
63126
63127        Test: crypto/subtle/hmac-sign-verify.html
63128
63129        * WebCore.xcodeproj/project.pbxproj:
63130        * bindings/js/JSSubtleCryptoCustom.cpp: Added property svn:eol-style.
63131        (WebCore::createAlgorithmFromJSValue):
63132        (WebCore::cryptoOperationDataFromJSValue):
63133        (WebCore::cryptoKeyFormatFromJSValue):
63134        (WebCore::cryptoKeyUsagesFromJSValue):
63135        (WebCore::JSSubtleCrypto::sign):
63136        (WebCore::JSSubtleCrypto::verify):
63137        (WebCore::JSSubtleCrypto::digest):
63138        (WebCore::JSSubtleCrypto::importKey):
63139        * crypto/SubtleCrypto.idl:
63140        * crypto/algorithms/CryptoAlgorithmHMAC.cpp: Added.
63141        (WebCore::CryptoAlgorithmHMAC::CryptoAlgorithmHMAC):
63142        (WebCore::CryptoAlgorithmHMAC::~CryptoAlgorithmHMAC):
63143        (WebCore::CryptoAlgorithmHMAC::create):
63144        (WebCore::CryptoAlgorithmHMAC::identifier):
63145        (WebCore::CryptoAlgorithmHMAC::importKey):
63146        (WebCore::CryptoAlgorithmHMAC::exportKey):
63147        * crypto/algorithms/CryptoAlgorithmHMAC.h: Added.
63148        * crypto/keys: Added.
63149        * crypto/keys/CryptoKeyHMAC.cpp: Added.
63150        (WebCore::CryptoKeyHMAC::CryptoKeyHMAC):
63151        (WebCore::CryptoKeyHMAC::~CryptoKeyHMAC):
63152        (WebCore::CryptoKeyHMAC::buildAlgorithmDescription):
63153        * crypto/keys/CryptoKeyHMAC.h: Added.
63154        * crypto/mac/CryptoAlgorithmHMACMac.cpp: Added.
63155        (WebCore::getCommonCryptoAlgorithm):
63156        (WebCore::calculateSignature):
63157        (WebCore::CryptoAlgorithmHMAC::sign):
63158        (WebCore::CryptoAlgorithmHMAC::verify):
63159        (WebCore::CryptoAlgorithmHMAC::generateKey):
63160        * crypto/mac/CryptoAlgorithmRegistryMac.cpp:
63161        (WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms):
63162
631632013-10-31  Joseph Pecoraro  <pecoraro@apple.com>
63164
63165        Web Inspector: Clean up a few Inspector interfaces
63166        https://bugs.webkit.org/show_bug.cgi?id=123594
63167
63168        Reviewed by Timothy Hatcher.
63169
63170        * WebCore.exp.in:
63171        * inspector/InjectedScriptHost.cpp:
63172        * inspector/InspectorBaseAgent.h:
63173        (WebCore::InspectorBaseAgentInterface::name):
63174        * inspector/InspectorConsoleAgent.cpp:
63175        * inspector/InspectorConsoleAgent.h:
63176        (WebCore::InspectorConsoleAgent::enabled):
63177        * inspector/InspectorController.cpp:
63178        (WebCore::InspectorController::profilerEnabled):
63179        * inspector/InspectorController.h:
63180        * inspector/InspectorDebuggerAgent.cpp:
63181        * inspector/InspectorDebuggerAgent.h:
63182        (WebCore::InspectorDebuggerAgent::enabled):
63183        * inspector/InspectorRuntimeAgent.h:
63184        (WebCore::InspectorRuntimeAgent::enabled):
63185
631862013-10-31  Tim Horton  <timothy_horton@apple.com>
63187
63188        Remote Layer Tree: Vend layer contents via IOSurfaces
63189        https://bugs.webkit.org/show_bug.cgi?id=123600
63190
63191        Reviewed by Anders Carlsson.
63192
63193        * WebCore.exp.in:
63194        Export sRGBColorSpaceRef.
63195
63196        * WebCore.xcodeproj/project.pbxproj:
63197        Expose GraphicsContextCG.h.
63198
631992013-10-31  Joseph Pecoraro  <pecoraro@apple.com>
63200
63201        Remove unused Page::setDebuggerForAllPages
63202        https://bugs.webkit.org/show_bug.cgi?id=123602
63203
63204        Reviewed by Timothy Hatcher.
63205
63206        * page/Page.cpp:
63207        * page/Page.h:
63208
632092013-10-31  Joseph Pecoraro  <pecoraro@apple.com>
63210
63211        Web Inspector: Remove InspectorState
63212        https://bugs.webkit.org/show_bug.cgi?id=123547
63213
63214        Reviewed by Timothy Hatcher.
63215
63216        * CMakeLists.txt:
63217        * GNUmakefile.list.am:
63218        * WebCore.vcxproj/WebCore.vcxproj:
63219        * WebCore.vcxproj/WebCore.vcxproj.filters:
63220        * WebCore.xcodeproj/project.pbxproj:
63221        * inspector/InspectorAgent.cpp:
63222        (WebCore::InspectorAgent::InspectorAgent):
63223        * inspector/InspectorAgent.h:
63224        (WebCore::InspectorAgent::create):
63225        * inspector/InspectorAllInOne.cpp:
63226        * inspector/InspectorApplicationCacheAgent.cpp:
63227        (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
63228        * inspector/InspectorApplicationCacheAgent.h:
63229        (WebCore::InspectorApplicationCacheAgent::create):
63230        * inspector/InspectorBaseAgent.cpp:
63231        (WebCore::InspectorBaseAgentInterface::InspectorBaseAgentInterface):
63232        * inspector/InspectorBaseAgent.h:
63233        (WebCore::InspectorBaseAgent::InspectorBaseAgent):
63234        * inspector/InspectorCSSAgent.cpp:
63235        (WebCore::InspectorCSSAgent::InspectorCSSAgent):
63236        * inspector/InspectorCSSAgent.h:
63237        (WebCore::InspectorCSSAgent::create):
63238        * inspector/InspectorCanvasAgent.cpp:
63239        (WebCore::InspectorCanvasAgent::InspectorCanvasAgent):
63240        * inspector/InspectorCanvasAgent.h:
63241        (WebCore::InspectorCanvasAgent::create):
63242        * inspector/InspectorClient.h:
63243        * inspector/InspectorConsoleAgent.cpp:
63244        (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
63245        * inspector/InspectorConsoleAgent.h:
63246        * inspector/InspectorController.cpp:
63247        (WebCore::InspectorController::InspectorController):
63248        (WebCore::InspectorController::connectFrontend):
63249        (WebCore::InspectorController::disconnectFrontend):
63250        * inspector/InspectorController.h:
63251        * inspector/InspectorDOMAgent.cpp:
63252        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
63253        * inspector/InspectorDOMAgent.h:
63254        (WebCore::InspectorDOMAgent::create):
63255        * inspector/InspectorDOMDebuggerAgent.cpp:
63256        (WebCore::InspectorDOMDebuggerAgent::create):
63257        (WebCore::InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent):
63258        * inspector/InspectorDOMDebuggerAgent.h:
63259        * inspector/InspectorDOMStorageAgent.cpp:
63260        (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
63261        * inspector/InspectorDOMStorageAgent.h:
63262        (WebCore::InspectorDOMStorageAgent::create):
63263        * inspector/InspectorDatabaseAgent.cpp:
63264        (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
63265        * inspector/InspectorDatabaseAgent.h:
63266        (WebCore::InspectorDatabaseAgent::create):
63267        * inspector/InspectorDebuggerAgent.cpp:
63268        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
63269        * inspector/InspectorDebuggerAgent.h:
63270        * inspector/InspectorHeapProfilerAgent.cpp:
63271        (WebCore::InspectorHeapProfilerAgent::create):
63272        (WebCore::InspectorHeapProfilerAgent::InspectorHeapProfilerAgent):
63273        * inspector/InspectorHeapProfilerAgent.h:
63274        * inspector/InspectorIndexedDBAgent.cpp:
63275        (WebCore::InspectorIndexedDBAgent::InspectorIndexedDBAgent):
63276        * inspector/InspectorIndexedDBAgent.h:
63277        (WebCore::InspectorIndexedDBAgent::create):
63278        * inspector/InspectorInputAgent.cpp:
63279        (WebCore::InspectorInputAgent::InspectorInputAgent):
63280        * inspector/InspectorInputAgent.h:
63281        (WebCore::InspectorInputAgent::create):
63282        * inspector/InspectorLayerTreeAgent.cpp:
63283        (WebCore::InspectorLayerTreeAgent::InspectorLayerTreeAgent):
63284        * inspector/InspectorLayerTreeAgent.h:
63285        (WebCore::InspectorLayerTreeAgent::create):
63286        * inspector/InspectorMemoryAgent.cpp:
63287        (WebCore::InspectorMemoryAgent::InspectorMemoryAgent):
63288        (WebCore::InspectorMemoryAgent::create):
63289        * inspector/InspectorMemoryAgent.h:
63290        * inspector/InspectorPageAgent.cpp:
63291        (WebCore::InspectorPageAgent::create):
63292        (WebCore::InspectorPageAgent::InspectorPageAgent):
63293        * inspector/InspectorPageAgent.h:
63294        * inspector/InspectorProfilerAgent.cpp:
63295        (WebCore::PageProfilerAgent::PageProfilerAgent):
63296        (WebCore::InspectorProfilerAgent::create):
63297        (WebCore::WorkerProfilerAgent::WorkerProfilerAgent):
63298        (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
63299        * inspector/InspectorProfilerAgent.h:
63300        * inspector/InspectorResourceAgent.cpp:
63301        (WebCore::InspectorResourceAgent::InspectorResourceAgent):
63302        * inspector/InspectorResourceAgent.h:
63303        (WebCore::InspectorResourceAgent::create):
63304        * inspector/InspectorRuntimeAgent.cpp:
63305        (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
63306        * inspector/InspectorRuntimeAgent.h:
63307        * inspector/InspectorState.cpp: Removed.
63308        * inspector/InspectorState.h: Removed.
63309        * inspector/InspectorStateClient.h: Removed.
63310        * inspector/InspectorTimelineAgent.cpp:
63311        (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
63312        * inspector/InspectorTimelineAgent.h:
63313        (WebCore::InspectorTimelineAgent::create):
63314        * inspector/InspectorWorkerAgent.cpp:
63315        (WebCore::InspectorWorkerAgent::create):
63316        (WebCore::InspectorWorkerAgent::InspectorWorkerAgent):
63317        * inspector/InspectorWorkerAgent.h:
63318        * inspector/PageConsoleAgent.cpp:
63319        (WebCore::PageConsoleAgent::PageConsoleAgent):
63320        * inspector/PageConsoleAgent.h:
63321        (WebCore::PageConsoleAgent::create):
63322        * inspector/PageDebuggerAgent.cpp:
63323        (WebCore::PageDebuggerAgent::create):
63324        (WebCore::PageDebuggerAgent::PageDebuggerAgent):
63325        * inspector/PageDebuggerAgent.h:
63326        * inspector/PageRuntimeAgent.cpp:
63327        (WebCore::PageRuntimeAgent::PageRuntimeAgent):
63328        * inspector/PageRuntimeAgent.h:
63329        (WebCore::PageRuntimeAgent::create):
63330        * inspector/WorkerConsoleAgent.cpp:
63331        (WebCore::WorkerConsoleAgent::WorkerConsoleAgent):
63332        * inspector/WorkerConsoleAgent.h:
63333        (WebCore::WorkerConsoleAgent::create):
63334        * inspector/WorkerDebuggerAgent.cpp:
63335        (WebCore::WorkerDebuggerAgent::create):
63336        (WebCore::WorkerDebuggerAgent::WorkerDebuggerAgent):
63337        * inspector/WorkerDebuggerAgent.h:
63338        * inspector/WorkerInspectorController.cpp:
63339        (WebCore::WorkerInspectorController::WorkerInspectorController):
63340        (WebCore::WorkerInspectorController::connectFrontend):
63341        (WebCore::WorkerInspectorController::disconnectFrontend):
63342        * inspector/WorkerInspectorController.h:
63343        * inspector/WorkerRuntimeAgent.cpp:
63344        (WebCore::WorkerRuntimeAgent::WorkerRuntimeAgent):
63345        * inspector/WorkerRuntimeAgent.h:
63346        (WebCore::WorkerRuntimeAgent::create):
63347        * workers/DefaultSharedWorkerRepository.cpp:
63348        (WebCore::SharedWorkerProxy::postMessageToPageInspector):
63349        * workers/WorkerMessagingProxy.cpp:
63350        (WebCore::WorkerMessagingProxy::postMessageToPageInspector):
63351        * workers/WorkerMessagingProxy.h:
63352        * workers/WorkerReportingProxy.h:
63353
633542013-10-31  Brady Eidson  <beidson@apple.com>
63355
63356        Split PendingDeleteCall into its own header
63357        https://bugs.webkit.org/show_bug.cgi?id=123597
63358
63359        Reviewed by Beth “Okay I guess so, bro” Dakin.
63360
63361        * GNUmakefile.list.am:
63362        * WebCore.xcodeproj/project.pbxproj:
63363
63364        * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
63365        (WebCore::IDBDatabaseBackendImpl::processPendingCalls):
63366        (WebCore::IDBDatabaseBackendImpl::deleteDatabase):
63367        * Modules/indexeddb/IDBDatabaseBackendImpl.h:
63368
63369        * Modules/indexeddb/IDBPendingDeleteCall.h: Added.
63370        (WebCore::IDBPendingDeleteCall::create):
63371        (WebCore::IDBPendingDeleteCall::callbacks):
63372        (WebCore::IDBPendingDeleteCall::IDBPendingDeleteCall):
63373
633742013-10-31  Joseph Pecoraro  <pecoraro@apple.com>
63375
63376        Web Inspector: Convert some InspectorObject member variables to HashSet/HashMap
63377        https://bugs.webkit.org/show_bug.cgi?id=123579
63378
63379        Reviewed by Timothy Hatcher.
63380
63381        * inspector/InspectorDOMDebuggerAgent.h:
63382        * inspector/InspectorDOMDebuggerAgent.cpp:
63383        (WebCore::InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent):
63384        (WebCore::InspectorDOMDebuggerAgent::setBreakpoint):
63385        (WebCore::InspectorDOMDebuggerAgent::removeBreakpoint):
63386        (WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
63387        (WebCore::InspectorDOMDebuggerAgent::setXHRBreakpoint):
63388        (WebCore::InspectorDOMDebuggerAgent::removeXHRBreakpoint):
63389        (WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):
63390        Make m_eventListenerBreakpoints and m_xhrBreakpoints HashSet.
63391
63392        * inspector/InspectorDebuggerAgent.h:
63393        * inspector/InspectorDebuggerAgent.cpp:
63394        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
63395        (WebCore::InspectorDebuggerAgent::disable):
63396        (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
63397        (WebCore::InspectorDebuggerAgent::removeBreakpoint):
63398        (WebCore::InspectorDebuggerAgent::didParseSource):
63399        Make m_javaScriptBreakpoints a HashMap.
63400
634012013-10-31  Youenn Fablet  <youennf@gmail.com>
63402
63403        Correct the elapsedTime calculation in SVG animations
63404        https://bugs.webkit.org/show_bug.cgi?id=119289
63405
63406        Reviewed by Brent Fulgham.
63407
63408        Merged from Blink: https://chromium.googlesource.com/chromium/blink/+/338f9badca7fb7880abdb0cecd5f02493c1f7d2e
63409
63410        Test: svg/animations/getCurrentTime-pause-unpause.html
63411
63412        * svg/animation/SMILTimeContainer.cpp:
63413        (WebCore::SMILTimeContainer::SMILTimeContainer):
63414        (WebCore::SMILTimeContainer::elapsed):
63415        (WebCore::SMILTimeContainer::begin):
63416        (WebCore::SMILTimeContainer::pause):
63417        (WebCore::SMILTimeContainer::resume):
63418        (WebCore::SMILTimeContainer::setElapsed):
63419        * svg/animation/SMILTimeContainer.h:
63420
634212013-10-31  Andreas Kling  <akling@apple.com>
63422
63423        Manage line-grid RootInlineBox with unique_ptr.
63424        <https://webkit.org/b/123583>
63425
63426        Use smart pointers for the RenderBlockFlow's optional line-grid box
63427        instead of manual new/delete.
63428
63429        Reviewed by Antti Koivisto.
63430
634312013-10-31  Alexey Proskuryakov  <ap@apple.com>
63432
63433        Enable WebCrypto on Mac
63434        https://bugs.webkit.org/show_bug.cgi?id=123587
63435
63436        Reviewed by Anders Carlsson.
63437
63438        * Configurations/FeatureDefines.xcconfig: Enable it.
63439
63440        * bindings/js/JSCryptoAlgorithmDictionary.cpp: Build fix.
63441
63442        * crypto/CryptoAlgorithmRegistry.cpp: (WebCore::CryptoAlgorithmRegistry::getIdentifierForName):
63443        Special case empty keys to avoid upsetting HashMap.
63444
63445        * crypto/algorithms/CryptoAlgorithmSHA1.cpp: (WebCore::CryptoAlgorithmSHA1::create):
63446        Build fix. Can't use make_unique, because constructor is private.
63447
634482013-10-31  Myles C. Maxfield  <mmaxfield@apple.com>
63449
63450        Underline bounds cannot be queried before underline itself is drawn
63451        https://bugs.webkit.org/show_bug.cgi?id=123310
63452
63453        Reviewed by Dean Jackson.
63454
63455        GraphicsContext's drawLineForText function is used to draw underlines,
63456        strikethroughs, and overlines. Before drawing the line, this function
63457        modifies the bounds given to it in order to make underlines crisp. However,
63458        this means that it is impossible to know where an underline will be drawn
63459        before drawing it. This patch pulls out this adjustment computation into
63460        GraphicsContext::computeLineBoundsForText, then passes the result to
63461        drawLineForText
63462
63463        Because there should be no observable difference, no tests need to be updated.
63464
63465        * platform/graphics/GraphicsContext.h: Signature of new computeLineBoundsForText
63466        function
63467        * platform/graphics/blackberry/PathBlackBerry.cpp:
63468        (WebCore::GraphicsContext::computeLineBoundsForText): Implement new function
63469        * platform/graphics/cairo/GraphicsContextCairo.cpp:
63470        (WebCore::GraphicsContext::computeLineBoundsForText): Ditto
63471        (WebCore::GraphicsContext::drawLineForText): Use computeLineBoundsForText
63472        * platform/graphics/cg/GraphicsContextCG.cpp:
63473        (WebCore::computeLineBoundsAndAntialiasingModeForText): Static function that
63474        performs the actual bounds computation
63475        (WebCore::GraphicsContext::computeLineBoundsForText): Calls
63476        computeLineBoundsAndAntialiasingModeForText
63477        (WebCore::GraphicsContext::drawLineForText): Use new function
63478        * platform/graphics/wince/GraphicsContextWinCE.cpp:
63479        (WebCore::GraphicsContext::computeLineBoundsForText): Implement new function
63480
634812013-10-31  Beth Dakin  <bdakin@apple.com>
63482
63483        Repro scrolling crash with scrollbars that use setPresentationValue on the 
63484        scrolling thread
63485        https://bugs.webkit.org/show_bug.cgi?id=123549
63486        -and corresponding-
63487        <rdar://problem/15246606>
63488
63489        Reviewed by Brady Eidson.
63490
63491        Here's another speculative fix. If a scrollbar was removed, we would not properly 
63492        inform the scrolling thread. Instead of checking supportsUpdateOnSecondaryThread() 
63493        before calling setScrollbarPaintersFromScrollbars(), check it from within 
63494        setScrollbarPaintersFromScrollbars(), and this will allow the ScrollbarPainter to 
63495        be properly updated.
63496
63497        * page/scrolling/mac/ScrollingCoordinatorMac.mm:
63498        (WebCore::ScrollingCoordinatorMac::frameViewLayoutUpdated):
63499        * page/scrolling/mac/ScrollingStateScrollingNodeMac.mm:
63500        (WebCore::ScrollingStateScrollingNode::setScrollbarPaintersFromScrollbars):
63501
635022013-10-31  Csaba Osztrogonác  <ossy@webkit.org>
63503
63504        Unreviewed typo fix after 158386. (buildfix after r158365)
63505
63506        * Modules/mediastream/UserMediaRequest.cpp:
63507        (WebCore::UserMediaRequest::callSuccessHandler):
63508
635092013-10-31  Myles C. Maxfield  <mmaxfield@apple.com>
63510
63511        Move CSS3 text decoration implementation behind ENABLE(CSS3_TEXT_DECORATION)
63512        https://bugs.webkit.org/show_bug.cgi?id=123541
63513
63514        Reviewed by Tim Horton.
63515
63516        Enabled CSS3 text decoration tests
63517
63518        * css/CSSComputedStyleDeclaration.cpp:
63519        (WebCore::renderTextDecorationStyleFlagsToCSSValue): Mapping internal
63520        representation to a CSSValue
63521        (WebCore::ComputedStyleExtractor::propertyValue): Ditto
63522        * css/CSSParser.cpp: Moving parsing functions behind new flag
63523        (WebCore::isColorPropertyID):
63524        (WebCore::CSSParser::parseValue):
63525        (WebCore::CSSParser::addTextDecorationProperty):
63526        (WebCore::CSSParser::parseTextDecorationSkip):
63527        (WebCore::CSSParser::parseTextUnderlinePosition):
63528        * css/CSSParser.h:
63529        * css/CSSPrimitiveValueMappings.h:
63530        * css/CSSPropertyNames.in: Marking the new properties behind new flag
63531        * css/CSSValueKeywords.in: Marking new values behind new flag
63532        * css/DeprecatedStyleBuilder.cpp:
63533        (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
63534        * css/StylePropertyShorthand.cpp:
63535        (WebCore::shorthandForProperty): Move text decoration shorthand
63536        (WebCore::matchingShorthandsForLonghand):
63537        * css/StylePropertyShorthand.h:
63538        * css/StyleResolver.cpp:
63539        (WebCore::isValidVisitedLinkProperty):
63540        (WebCore::StyleResolver::applyProperty):
63541        * platform/graphics/GraphicsContext.h:
63542        * platform/graphics/cairo/GraphicsContextCairo.cpp:
63543        (WebCore::GraphicsContext::setPlatformStrokeStyle):
63544        * platform/graphics/cg/GraphicsContextCG.cpp:
63545        (WebCore::GraphicsContext::drawLine):
63546        * platform/graphics/wince/GraphicsContextWinCE.cpp:
63547        (WebCore::createPen):
63548        * rendering/InlineFlowBox.cpp:
63549        * rendering/InlineFlowBox.h:
63550        * rendering/InlineTextBox.cpp:
63551        (WebCore::textDecorationStyleToStrokeStyle):
63552        (WebCore::computeUnderlineOffset):
63553        (WebCore::InlineTextBox::paintDecoration):
63554        * rendering/RenderObject.cpp:
63555        (WebCore::decorationColor):
63556        * rendering/RootInlineBox.cpp:
63557        * rendering/RootInlineBox.h:
63558        * rendering/style/RenderStyle.cpp:
63559        (WebCore::RenderStyle::changeRequiresRepaintIfTextOrBorderOrOutline):
63560        (WebCore::RenderStyle::colorIncludingFallback):
63561        (WebCore::RenderStyle::visitedDependentColor):
63562        * rendering/style/RenderStyle.h:
63563        * rendering/style/RenderStyleConstants.h:
63564        * rendering/style/StyleRareInheritedData.cpp:
63565        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
63566        (WebCore::StyleRareInheritedData::operator==):
63567        * rendering/style/StyleRareInheritedData.h:
63568        * rendering/style/StyleRareNonInheritedData.cpp:
63569        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
63570        (WebCore::StyleRareNonInheritedData::operator==):
63571        * rendering/style/StyleRareNonInheritedData.h:
63572
635732013-10-31  Alexey Proskuryakov  <ap@apple.com>
63574
63575        [WebCrypto] Add SHA-1
63576        https://bugs.webkit.org/show_bug.cgi?id=123582
63577
63578        Reviewed by Anders Carlsson.
63579
63580        Tests: security/crypto-subtle-arguments.html
63581               security/crypto-subtle-sha1.html
63582
63583        * WebCore.xcodeproj/project.pbxproj: Added new files.
63584
63585        * bindings/js/JSSubtleCryptoCustom.cpp:
63586        (WebCore::createAlgorithmFromJSValue):
63587        (WebCore::sequenceOfCryptoOperationDataFromJSValue):
63588        (WebCore::JSSubtleCrypto::digest):
63589        * crypto/SubtleCrypto.idl:
63590        Added bindings for crypto.digest.
63591
63592        * crypto/algorithms: Added.
63593        * crypto/algorithms/CryptoAlgorithmSHA1.cpp: Added.
63594        * crypto/algorithms/CryptoAlgorithmSHA1.h: Added.
63595        * crypto/mac/CryptoAlgorithmRegistryMac.cpp:
63596        (WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms): Register SHA-1.
63597
63598        * crypto/mac/CryptoAlgorithmSHA1Mac.cpp: Added.
63599        (WebCore::CryptoAlgorithmSHA1::digest): Performs the work synchronously, because
63600        otherwise we'd have to copy the data first, which is crazy for something as simple
63601        as hashing. We can change to a dispatch queue later if we find that it's actually
63602        better to copy and do the work asynchronously.
63603
636042013-10-31  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
63605
63606        REGRESSION(r158348): Breaks Debug build
63607        https://bugs.webkit.org/show_bug.cgi?id=123562
63608
63609        Reviewed by Brady Eidson.
63610
63611        Remove an unnecessary check that cause compilation failure.
63612
63613        No new tests since this just fixes the build failure.
63614
63615        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
63616        (WebCore::IDBBackingStoreLevelDB::updateIDBDatabaseVersion):
63617
636182013-10-31  Csaba Osztrogonác  <ossy@webkit.org>
63619
63620        One more speculative buildfix after r158365.
63621
63622        * Modules/mediastream/UserMediaRequest.cpp:
63623        (WebCore::UserMediaRequest::callSuccessHandler):
63624
636252013-10-31  Csaba Osztrogonác  <ossy@webkit.org>
63626
63627        One more speculative buildfix after r158365.
63628
63629        * Modules/mediastream/RTCPeerConnection.cpp:
63630        (WebCore::RTCPeerConnection::didAddRemoteStream):
63631
636322013-10-31  Csaba Osztrogonác  <ossy@webkit.org>
63633
63634        Speculative buildfix after r158365.
63635
63636        * Modules/mediastream/VideoStreamTrack.cpp:
63637        (WebCore::VideoStreamTrack::create):
63638        (WebCore::VideoStreamTrack::VideoStreamTrack):
63639        * Modules/mediastream/VideoStreamTrack.h:
63640
636412013-10-31  Myles C. Maxfield  <mmaxfield@apple.com>
63642
63643        Decorated text sometimes does not draw its decorations
63644        https://bugs.webkit.org/show_bug.cgi?id=123539
63645
63646        Reviewed by Antti Koivisto.
63647
63648        Decorated text should opt-out of the simple line layout, because
63649        SimpleLineLayout::paintFlow doesn't draw decorations
63650
63651        Fixes fast/css3-text/css3-text-decoration/text-decoration-color.html
63652
63653        * rendering/SimpleLineLayout.cpp:
63654        (WebCore::SimpleLineLayout::canUseFor):
63655
636562013-10-31  Joseph Pecoraro  <pecoraro@apple.com>
63657
63658        Web Inspector: Remove last member variable uses of InspectorState from Agents
63659        https://bugs.webkit.org/show_bug.cgi?id=123540
63660
63661        Reviewed by Timothy Hatcher.
63662
63663        * inspector/InspectorDOMDebuggerAgent.h:
63664        * inspector/InspectorDOMDebuggerAgent.cpp:
63665        (WebCore::InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent):
63666        (WebCore::InspectorDOMDebuggerAgent::setBreakpoint):
63667        (WebCore::InspectorDOMDebuggerAgent::removeBreakpoint):
63668        (WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
63669        (WebCore::InspectorDOMDebuggerAgent::setXHRBreakpoint):
63670        (WebCore::InspectorDOMDebuggerAgent::removeXHRBreakpoint):
63671        (WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):
63672        DOMDebuggerAgentState::eventListenerBreakpoints -> m_eventListenerBreakpoints.
63673        DOMDebuggerAgentState::xhrBreakpoints -> m_xhrBreakpoints.
63674
63675        * inspector/InspectorDebuggerAgent.h:
63676        * inspector/InspectorDebuggerAgent.cpp:
63677        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
63678        (WebCore::InspectorDebuggerAgent::disable):
63679        (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
63680        (WebCore::InspectorDebuggerAgent::removeBreakpoint):
63681        (WebCore::InspectorDebuggerAgent::didParseSource):
63682        DebuggerAgentState::javaScriptBreakpoints -> m_javaScriptBreakpoints.
63683
63684        * inspector/InspectorPageAgent.h:
63685        * inspector/InspectorPageAgent.cpp:
63686        (WebCore::InspectorPageAgent::disable):
63687        (WebCore::InspectorPageAgent::addScriptToEvaluateOnLoad):
63688        (WebCore::InspectorPageAgent::removeScriptToEvaluateOnLoad):
63689        (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
63690        PageAgentState::pageAgentScriptsToEvaluateOnLoad -> m_scriptsToEvaluateOnLoad.
63691        This is a lazily created InspectorObject member variable.
63692
63693        * inspector/InspectorResourceAgent.h:
63694        * inspector/InspectorResourceAgent.cpp:
63695        (WebCore::InspectorResourceAgent::willSendRequest):
63696        (WebCore::InspectorResourceAgent::disable):
63697        (WebCore::InspectorResourceAgent::setExtraHTTPHeaders):
63698        ResourceAgentState::extraRequestHeaders -> m_extraRequestHeaders.
63699        This is a lazily created InspectorObject member variable.
63700
637012013-10-31  Philippe Normand  <pnormand@igalia.com>
63702
63703        Unreviewed, one more build fix after r158365.
63704
63705        * Modules/webaudio/MediaStreamAudioDestinationNode.cpp:
63706        (WebCore::MediaStreamAudioDestinationNode::MediaStreamAudioDestinationNode):
63707
637082013-10-31  Beth Dakin  <bdakin@apple.com>
63709
63710        Repro scrolling crash with scrollbars that use setPresentationValue on the 
63711        scrolling thread
63712        https://bugs.webkit.org/show_bug.cgi?id=123549
63713        -and corresponding-
63714        <rdar://problem/15246606>
63715
63716        Reviewed by Darin Adler.
63717
63718        Speculative fix. I think if we retain the ScrollbarPainters, we should avoid this 
63719        crash.
63720
63721        * page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
63722
637232013-10-31  Philippe Normand  <pnormand@igalia.com>
63724
63725        Unreviewed, MediaStream build fix after r158365.
63726
63727        * Modules/mediastream/MediaStream.cpp:
63728        (WebCore::MediaStream::clone):
63729
637302013-10-31  Sam Weinig  <sam@webkit.org>
63731
63732        Pass an Element by reference to the PseudoElement constructor
63733        https://bugs.webkit.org/show_bug.cgi?id=123576
63734
63735        Reviewed by Andreas Kling.
63736
63737        * dom/Element.cpp:
63738        (WebCore::Element::createPseudoElementIfNeeded):
63739        * dom/PseudoElement.cpp:
63740        (WebCore::PseudoElement::PseudoElement):
63741        * dom/PseudoElement.h:
63742
637432013-10-31  Alexey Proskuryakov  <ap@apple.com>
63744
63745        Fix a mis-merge.
63746
63747        * WebCore.xcodeproj/project.pbxproj: Remove duplicate CryptoAlgorithmRegistryMac.cpp.
63748
637492013-10-31  Alexey Proskuryakov  <ap@apple.com>
63750
63751        Add bindings code for crypto algorithm dictionaries
63752        https://bugs.webkit.org/show_bug.cgi?id=123476
63753
63754        Reviewed by Sam Weinig.
63755
63756        JSCryptoAlgorithmDictionary reads the Algorithm, much like JSDictionary does in
63757        simpler cases. We should see about bringing them closer together (perhaps replacing
63758        with autogenerated code).
63759
63760        * crypto/parameters: Added.
63761        * crypto/parameters/CryptoAlgorithmHmacKeyParams.h: Added.
63762        * crypto/parameters/CryptoAlgorithmHmacParams.h: Added.
63763        Added a couple specific dictionaries as an example.
63764
63765        * WebCore.xcodeproj/project.pbxproj: Added JSCryptoAlgorithmDictionary.
63766        * bindings/js/JSCryptoAlgorithmDictionary.cpp: Added.
63767        (WebCore::JSCryptoAlgorithmDictionary::getAlgorithmIdentifier):
63768        (WebCore::getHashAlgorithm):
63769        (WebCore::createHmacParams):
63770        (WebCore::createHmacKeyParams):
63771        (WebCore::JSCryptoAlgorithmDictionary::createParametersForSign):
63772        (WebCore::JSCryptoAlgorithmDictionary::createParametersForVerify):
63773        (WebCore::JSCryptoAlgorithmDictionary::createParametersForDigest):
63774        (WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey):
63775        * bindings/js/JSCryptoAlgorithmDictionary.h: Added.
63776
637772013-10-31  Sam Weinig  <sam@webkit.org>
63778
63779        Pass ScriptExecutionContext by reference to from the bindings constructors
63780        https://bugs.webkit.org/show_bug.cgi?id=123575
63781
63782        Reviewed by Andreas Kling.
63783
63784        Since we null check the ScriptExecutionContext before creating the c++ class,
63785        we should be passing by reference.
63786
637872013-10-31  Zhuang Zhigang  <zhuangzg@cn.fujitsu.com>
63788
63789        Paint the input tag of range type on WinCE port.
63790        https://bugs.webkit.org/show_bug.cgi?id=123199
63791
63792        Reviewed by Brent Fulgham.        
63793
63794        * rendering/RenderThemeWinCE.cpp:
63795        (WebCore::RenderThemeWinCE::paintSliderTrack):
63796        (WebCore::RenderThemeWinCE::paintSliderThumb):
63797
637982013-10-31  Alexey Proskuryakov  <ap@apple.com>
63799
63800        Add a crypto algorithm abstraction
63801        https://bugs.webkit.org/show_bug.cgi?id=123474
63802
63803        Reviewed by Sam Weinig.
63804
63805        This works slightly differently than WebCrypto implies. We have separate classes
63806        for algorithm and its parameters, while WebCrypto puts them in the same dictionary.
63807
63808        * WebCore.xcodeproj/project.pbxproj: Added new files.
63809
63810        * crypto/CryptoAlgorithm.cpp: Added. As most algorithms don't implement most
63811        operations, default implementations just raise an exception.
63812        * crypto/CryptoAlgorithm.h: Added.
63813
63814        * crypto/CryptoAlgorithmParameters.h: Added. Base class for numerous future parameter
63815        dictionaries, such as HmacParams or HmacKeyParams.
63816
63817        * crypto/CryptoAlgorithmRegistry.cpp: Added.
63818        * crypto/CryptoAlgorithmRegistry.h: Added.
63819        The registry decouples universal bindings code from algorithms that may or may not
63820        be implemented on each platform.
63821
63822        * crypto/mac: Added.
63823        * crypto/mac/CryptoAlgorithmRegistryMac.cpp: Added.
63824        (WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms): Algorithms implemented
63825        on Mac will be registered by this function.
63826
638272013-10-31  Alexey Proskuryakov  <ap@apple.com>
63828
63829        REGRESSION(r158333): http/tests/xmlhttprequest/response-encoding.html and xmlhttprequest-overridemimetype-content-type-header.html are failing
63830        https://bugs.webkit.org/show_bug.cgi?id=123548
63831
63832        Reviewed by Brady Eidson.
63833
63834        We had code that made sure that cached 200 responses weren't used for conditional
63835        requests. But it didn't work the other way - cached 304 responses got reused for
63836        subsequent unconditional requests!
63837
63838        Adding the test uncovered this bug.
63839
63840        * loader/cache/CachedRawResource.cpp: (WebCore::shouldIgnoreHeaderForCacheReuse):
63841        Should never ignore conditional headers. Code in determineRevalidationPolicy
63842        was already undoing this for conditional requests, but we also shouldn't use
63843        WebCore cache if it holds a 304 response to conditional request.
63844
63845        * loader/cache/CachedResourceLoader.cpp: (WebCore::CachedResourceLoader::determineRevalidationPolicy):
63846        Even though the changed code is only for raw resources, I think that we can never
63847        get a conditional request here any more.
63848
638492013-10-30  Alexey Proskuryakov  <ap@apple.com>
63850
63851        CryptoAlgorithmDescriptionBuilder should support producing nested algorithms
63852        https://bugs.webkit.org/show_bug.cgi?id=123461
63853
63854        Reviewed by Darin Adler.
63855
63856        To add a nested algorithm, clone a builder with createEmptyClone(), fill it,
63857        and add it using add().
63858
63859        * bindings/js/JSCryptoAlgorithmBuilder.h:
63860        * crypto/CryptoAlgorithmDescriptionBuilder.h:
63861        * bindings/js/JSCryptoAlgorithmBuilder.cpp:
63862        (WebCore::JSCryptoAlgorithmBuilder::createEmptyClone):
63863        (WebCore::JSCryptoAlgorithmBuilder::add): Keep VM in a local variable for marginally
63864        better performance.
63865
638662013-10-31  Philippe Normand  <pnormand@igalia.com>
63867
63868        [WK2][GTK] enable-media-stream Setting
63869        https://bugs.webkit.org/show_bug.cgi?id=123145
63870
63871        Reviewed by Anders Carlsson.
63872
63873        * page/Settings.in: new mediaStreamEnabled setting.
63874
638752013-10-31  Zan Dobersek  <zdobersek@igalia.com>
63876
63877        Manage SVGPathByteStream through std::unique_ptr
63878        https://bugs.webkit.org/show_bug.cgi?id=123467
63879
63880        Reviewed by Anders Carlsson.
63881
63882        Manage SVGPathByteStream objects through std::unique_ptr. Constructors for the class are made public
63883        so std::make_unique can be used with the class.
63884
63885        * svg/SVGAnimatedPath.cpp:
63886        (WebCore::SVGAnimatedPathAnimator::constructFromString):
63887        (WebCore::SVGAnimatedPathAnimator::startAnimValAnimation):
63888        (WebCore::SVGAnimatedPathAnimator::calculateAnimatedValue):
63889        * svg/SVGAnimatedType.cpp:
63890        (WebCore::SVGAnimatedType::createPath):
63891        * svg/SVGAnimatedType.h:
63892        * svg/SVGPathByteStream.h:
63893        (WebCore::SVGPathByteStream::SVGPathByteStream): Takes a const Data object that's then copied.
63894        (WebCore::SVGPathByteStream::copy): Made const.
63895        * svg/SVGPathByteStreamBuilder.cpp: Remove an unnecessary include.
63896        * svg/SVGPathByteStreamBuilder.h: Ditto.
63897        * svg/SVGPathElement.cpp:
63898        (WebCore::SVGPathElement::SVGPathElement):
63899        * svg/SVGPathElement.h:
63900        * svg/SVGPathUtilities.cpp:
63901        (WebCore::appendSVGPathByteStreamFromSVGPathSeg):
63902        (WebCore::addToSVGPathByteStream):
63903
639042013-10-31  Marcin Bychawski  <m.bychawski@samsung.com>
63905
63906        Removing m_maxDeadCapacity condition in fast path in MemoryCache::prune().
63907        https://bugs.webkit.org/show_bug.cgi?id=115631
63908
63909        Reviewed by Brent Fulgham.
63910
63911        If the m_maxDeadSize and m_deadSize are both 0, the method unnecessairly tries to prune resources.
63912
63913        No new tests, covered by existing ones.
63914
63915        * loader/cache/MemoryCache.cpp:
63916        (WebCore::MemoryCache::prune):
63917
639182013-10-31  Joseph Pecoraro  <pecoraro@apple.com>
63919
63920        Web Inspector: Remove stale optional native memory instrumentation protocol params
63921        https://bugs.webkit.org/show_bug.cgi?id=123552
63922
63923        Reviewed by Timothy Hatcher.
63924
63925        * inspector/Inspector.json:
63926        * inspector/InspectorTimelineAgent.cpp:
63927        (WebCore::InspectorTimelineAgent::start):
63928        * inspector/InspectorTimelineAgent.h:
63929
639302013-10-31  Zan Dobersek  <zdobersek@igalia.com>
63931
63932        [GTK] Undefined references to RenderObject::style() when disabling video support
63933        https://bugs.webkit.org/show_bug.cgi?id=123492
63934
63935        Reviewed by Carlos Garcia Campos.
63936
63937        * platform/gtk/RenderThemeGtk2.cpp: Disabling video support removes indirect inclusion of the RenderElement.h
63938        header, causing undefined references to RenderObject::style(). The RenderElement.h header should be included
63939        instead of RenderObject.h as the former defines the RenderObject::style() inline and also includes the latter.
63940        * platform/gtk/RenderThemeGtk3.cpp: Ditto.
63941
639422013-10-31  Robert Plociennik  <r.plociennik@samsung.com>
63943
63944        [EFL] accessibility/textbox-role-reports-selection.html is failing
63945        https://bugs.webkit.org/show_bug.cgi?id=112017
63946
63947        Reviewed by Mario Sanchez Prada.
63948
63949        getSelectionOffsetsForObject() now returns proper start/end offsets for
63950        selections "touching" the object's front border.
63951
63952        No new tests, covered by existing ones.
63953
63954        * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
63955        (getSelectionOffsetsForObject):
63956
639572013-10-31  Ryuan Choi  <ryuan.choi@samsung.com>
63958
63959        [EFL][GLES] OpenGL should be optional
63960        https://bugs.webkit.org/show_bug.cgi?id=123399
63961
63962        Reviewed by Noam Rosenthal.
63963
63964        * CMakeLists.txt: Make OpenGL dependencies as optional.
63965        * PlatformEfl.cmake:
63966        Move OpenGL macro to OptionsEfl.cmake and make Xcomposite and XRender as optional.
63967        * platform/graphics/OpenGLESShims.h:
63968        Removed GL_COLOR_ATTACHMENT0_EXT because it was added to gl2ext.h since r153064
63969        * platform/graphics/surfaces/GraphicsSurfaceToken.h:
63970        Removed wrong GLX guard.
63971        (WebCore::GraphicsSurfaceToken::GraphicsSurfaceToken):
63972        (WebCore::GraphicsSurfaceToken::operator!=):
63973        (WebCore::GraphicsSurfaceToken::isValid):
63974        * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
63975        Removed unnecessary OpenGLShims.h
63976
639772013-10-30  Santosh Mahto  <santosh.ma@samsung.com>
63978
63979        [webcore/editing] remove extra header includes from cpp files.
63980        https://bugs.webkit.org/show_bug.cgi?id=123524
63981
63982        Reviewed by Ryosuke Niwa.
63983
63984        Removing redundant header files.
63985
63986        * editing/AlternativeTextController.cpp:
63987        * editing/ApplyBlockElementCommand.cpp:
63988        * editing/ApplyStyleCommand.cpp:
63989        * editing/BreakBlockquoteCommand.cpp:
63990        * editing/DeleteButton.cpp:
63991        * editing/DeleteButtonController.cpp:
63992        * editing/DeleteSelectionCommand.cpp:
63993        * editing/DictationCommand.cpp:
63994        * editing/EditCommand.cpp:
63995        * editing/EditingStyle.cpp:
63996        * editing/EditorCommand.cpp:
63997        * editing/FrameSelection.cpp:
63998        * editing/IndentOutdentCommand.cpp:
63999        * editing/InsertLineBreakCommand.cpp:
64000        * editing/InsertParagraphSeparatorCommand.cpp:
64001        * editing/MarkupAccumulator.h:
64002        * editing/RemoveFormatCommand.cpp:
64003        * editing/RenderedPosition.cpp:
64004        * editing/ReplaceSelectionCommand.cpp:
64005        * editing/SpellChecker.cpp:
64006        * editing/SpellingCorrectionCommand.cpp:
64007        * editing/SurroundingText.cpp:
64008        * editing/TextCheckingHelper.cpp:
64009        * editing/TextIterator.cpp:
64010        * editing/TypingCommand.cpp:
64011        * editing/VisibleSelection.cpp:
64012        * editing/VisibleUnits.cpp:
64013        * editing/WrapContentsInDummySpanCommand.cpp:
64014        * editing/htmlediting.cpp:
64015
640162013-10-30  Brady Eidson  <beidson@apple.com>
64017
64018        IDB Database versions are uint64_t, not int64_t
64019        https://bugs.webkit.org/show_bug.cgi?id=123556
64020
64021        Reviewed by Alexey Proskuryakov.
64022
64023        * Modules/indexeddb/IDBBackingStoreInterface.h:
64024
64025        * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
64026        (WebCore::IDBDatabaseBackendImpl::processPendingCalls):
64027        (WebCore::IDBDatabaseBackendImpl::openConnection):
64028        * Modules/indexeddb/IDBDatabaseBackendImpl.h:
64029
64030        * Modules/indexeddb/IDBFactoryBackendInterface.h:
64031
64032        * Modules/indexeddb/IDBPendingOpenCall.h:
64033        (WebCore::IDBPendingOpenCall::create):
64034        (WebCore::IDBPendingOpenCall::version):
64035        (WebCore::IDBPendingOpenCall::IDBPendingOpenCall):
64036
64037        * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
64038        (WebCore::IDBDatabaseBackendImpl::VersionChangeOperation::perform):
64039
64040        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
64041        (WebCore::IDBBackingStoreLevelDB::updateIDBDatabaseVersion):
64042        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
64043
64044        * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
64045        (WebCore::IDBFactoryBackendLevelDB::open):
64046        * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
64047
640482013-10-30  Brendan Long  <b.long@cablelabs.com>
64049
64050        [Gtk] Build is failing after r158317
64051        https://bugs.webkit.org/show_bug.cgi?id=123544
64052
64053        Reviewed by Alexey Proskuryakov.
64054
64055        No new tests since this just fixes the build.
64056
64057        * GNUmakefile.list.am: Add JSCryptoKey.cpp and JSCryptoKey.h
64058
640592013-10-30  Andreas Kling  <akling@apple.com>
64060
64061        Manage EllipsisBox objects with unique_ptr.
64062        <https://webkit.org/b/123554>
64063
64064        Use smart pointers to store ellipsis boxes instead of new/delete.
64065
64066        Reviewed by Anders Carlsson.
64067
640682013-10-30  Alexey Proskuryakov  <ap@apple.com>
64069
64070        [Gtk] Build is failing after r158317
64071        https://bugs.webkit.org/show_bug.cgi?id=123544
64072
64073        Use a correct style for JSC includes.
64074
64075        * ForwardingHeaders/runtime/JSPromise.h: Added.
64076        * ForwardingHeaders/runtime/JSPromiseResolver.h: Added.
64077        * bindings/js/JSDOMPromise.h:
64078
640792013-10-30  Andreas Kling  <akling@apple.com>
64080
64081        Replace InlineBox::destroy() with regular virtual destruction.
64082        <https://webkit.org/b/123550>
64083
64084        Move logic out of destroy() and its overloads into good ol' virtual
64085        destructors instead.
64086
64087        Reviewed by Anders Carlsson.
64088
640892013-10-30  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
64090
64091        Simplifying MediaStream and MediStreamDescriptor creation
64092        https://bugs.webkit.org/show_bug.cgi?id=123443
64093
64094        Reviewed by Eric Carlson.
64095
64096        The internal process of creating a MediaStream and MediaStreamDescriptor was quite confusing and spread.
64097        We can take advantage of the platform implementation of MediaStreamTrack (aka MediaStreamTrackPrivate)
64098        and simplify the whole process.
64099        A new constructor that receives vectors of MediaStreamTrackPrivate objects were added, then the check
64100        if a source already exists or if the tracks are all ended are now made in MediaStreamDescriptor.
64101
64102        No new tests needed.
64103
64104        * Modules/mediastream/MediaStream.cpp:
64105        (WebCore::MediaStream::create): Removed unnecessary variables in one create method and using new
64106        MediaStreamDescriptor::create method that receives vector of MediaStreamTrackPrivate objects as parameter.
64107
64108        * Modules/webaudio/MediaStreamAudioDestinationNode.cpp:
64109        (WebCore::MediaStreamAudioDestinationNode::MediaStreamAudioDestinationNode): Removed passing flag to
64110        MediaStreamDescriptor create.
64111
64112        * platform/mediastream/MediaStreamDescriptor.cpp:
64113        (WebCore::MediaStreamDescriptor::create): Removed EndedAtCreationFlag parameter, because this is being
64114        handled inside constructor by analyzing the tracks or sources passed.
64115        (WebCore::MediaStreamDescriptor::MediaStreamDescriptor): Adding new constructor that receives vector of
64116        MediaStreamTrackPrivate as parameter.
64117
64118        (WebCore::MediaStreamDescriptor::addTrack): Changed to store the track's source in the object.
64119
64120        (WebCore::MediaStreamDescriptor::removeTrack):
64121        * platform/mediastream/MediaStreamDescriptor.h:
64122        (WebCore::MediaStreamDescriptor::numberOfAudioTracks):
64123        (WebCore::MediaStreamDescriptor::audioTracks):
64124        (WebCore::MediaStreamDescriptor::numberOfVideoTracks):
64125        (WebCore::MediaStreamDescriptor::videoTracks):
64126        * platform/mock/MockMediaStreamCenter.cpp:
64127        (WebCore::MockMediaStreamCenter::createMediaStream): Removing flag that is being passed to
64128        MediaStreamDescriptor's create method.
64129
641302013-10-30  Brent Fulgham  <bfulgham@apple.com>
64131
64132        [Win] Legible Output callbacks should happen on notification queue
64133        https://bugs.webkit.org/show_bug.cgi?id=123545
64134
64135        Reviewed by Eric Carlson.
64136
64137        Modify the callback creation for Legible Output items so that they
64138        are made on our notification queue. The use of the main queue was a
64139        holdover from some temporary code used during earlier development.
64140
64141        * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
64142        (WebCore::AVFWrapper::AVFWrapper): Assert this happens on the main thread.
64143        (WebCore::AVFWrapper::~AVFWrapper): Ditto.
64144        (WebCore::destroyAVFWrapper): Ditto.
64145        (WebCore::AVFWrapper::createPlayer): Ditto.
64146        (WebCore::AVFWrapper::createPlayerItem): Ditto.
64147        Also, instruct LegibleOutput callbacks to happen on our notification
64148        queue, rather than the main thread.
64149        (WebCore::AVFWrapper::createAVCFVideoLayer): Assert this happens on the main thread.
64150        (WebCore::AVFWrapper::destroyVideoLayer): Ditto.
64151        (WebCore::AVFWrapper::createImageGenerator): Ditto.
64152        (WebCore::AVFWrapper::destroyImageGenerator): Ditto.
64153
641542013-10-30  Alexey Proskuryakov  <ap@apple.com>
64155
64156        XHR.response is null when requesting empty file as arraybuffer
64157        https://bugs.webkit.org/show_bug.cgi?id=123457
64158
64159        Reviewed by Sam Weinig.
64160
64161        Test: http/tests/xmlhttprequest/response-empty-arraybuffer.html
64162
64163        * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::responseArrayBuffer): Don't do this.
64164
641652013-10-30  Samuel White  <samuel_white@apple.com>
64166
64167        AX: AXFocused not exposed on ARIA menuitems
64168        https://bugs.webkit.org/show_bug.cgi?id=123494
64169
64170        Reviewed by Chris Fleizach.
64171
64172        ARIA menuitems should expose AXFocused accessibility attribute.
64173
64174        Test: platform/mac/accessibility/aria-menuitem-focus.html
64175
64176        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
64177        (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
64178
641792013-10-30  Joseph Pecoraro  <pecoraro@apple.com>
64180
64181        Web Inspector: Remove basic uses of InspectorState from agents
64182        https://bugs.webkit.org/show_bug.cgi?id=123534
64183
64184        Reviewed by Timothy Hatcher.
64185
64186        * inspector/InspectorAgent.h:
64187        * inspector/InspectorAgent.cpp:
64188        (WebCore::InspectorAgent::InspectorAgent):
64189        (WebCore::InspectorAgent::enable):
64190        (WebCore::InspectorAgent::disable):
64191        (WebCore::InspectorAgent::evaluateForTestInFrontend):
64192        (WebCore::InspectorAgent::inspect):
64193        InspectorAgentState::inspectorAgentEnabled -> m_enabled.
64194
64195        * inspector/InspectorApplicationCacheAgent.cpp:
64196        (WebCore::InspectorApplicationCacheAgent::enable):
64197        Remove unused state.
64198
64199        * inspector/InspectorCSSAgent.cpp:
64200        (WebCore::InspectorCSSAgent::enable):
64201        (WebCore::InspectorCSSAgent::disable):
64202        (WebCore::InspectorCSSAgent::startSelectorProfiler):
64203        (WebCore::InspectorCSSAgent::stopSelectorProfilerImpl):
64204        Remove unused states. Make CSSAgentState::isSelectorProfiling check profile object exists or not.
64205
64206        * inspector/InspectorCanvasAgent.cpp:
64207        (WebCore::InspectorCanvasAgent::enable):
64208        (WebCore::InspectorCanvasAgent::disable):
64209        Remove unused state, member variable already existed.
64210
64211        * inspector/InspectorConsoleAgent.h:
64212        * inspector/InspectorConsoleAgent.cpp:
64213        (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
64214        (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
64215        (WebCore::InspectorConsoleAgent::enable):
64216        (WebCore::InspectorConsoleAgent::disable):
64217        (WebCore::InspectorConsoleAgent::didFinishXHRLoading):
64218        (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled):
64219        ConsoleAgentState::consoleMessagesEnabled already had m_enabled.
64220        ConsoleAgentState::monitoringXHR -> m_monitoringXHREnabled.
64221        
64222        * inspector/InspectorDOMAgent.h:
64223        * inspector/InspectorDOMAgent.cpp:
64224        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
64225        (WebCore::InspectorDOMAgent::clearFrontend):
64226        (WebCore::InspectorDOMAgent::setDocument):
64227        (WebCore::InspectorDOMAgent::getDocument):
64228        (WebCore::InspectorDOMAgent::mainFrameDOMContentLoaded):
64229        DOMAgentState::documentRequested -> m_documentRequested.
64230
64231        * inspector/InspectorDOMDebuggerAgent.h:
64232        * inspector/InspectorDOMDebuggerAgent.cpp:
64233        (WebCore::InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent):
64234        (WebCore::InspectorDOMDebuggerAgent::setXHRBreakpoint):
64235        (WebCore::InspectorDOMDebuggerAgent::removeXHRBreakpoint):
64236        (WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):
64237        DOMDebuggerAgentState::pauseOnAllXHRs -> m_pauseOnAllXHRsEnabled.
64238
64239        * inspector/InspectorDOMStorageAgent.h:
64240        * inspector/InspectorDOMStorageAgent.cpp:
64241        (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
64242        (WebCore::InspectorDOMStorageAgent::enable):
64243        (WebCore::InspectorDOMStorageAgent::disable):
64244        (WebCore::InspectorDOMStorageAgent::didDispatchDOMStorageEvent):
64245        DOMStorageAgentState::domStorageAgentEnabled -> m_enabled.
64246
64247        * inspector/InspectorDatabaseAgent.cpp:
64248        (WebCore::InspectorDatabaseAgent::enable):
64249        (WebCore::InspectorDatabaseAgent::disable):
64250        Remove unused state, m_enabled already existed.
64251
64252        * inspector/InspectorDebuggerAgent.h:
64253        * inspector/InspectorDebuggerAgent.cpp:
64254        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
64255        (WebCore::InspectorDebuggerAgent::enable):
64256        (WebCore::InspectorDebuggerAgent::disable):
64257        (WebCore::InspectorDebuggerAgent::enabled):
64258        (WebCore::InspectorDebuggerAgent::clearFrontend):
64259        (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsImpl):
64260        DebuggerAgentState::pauseOnExceptionsState removed, never read.
64261        DebuggerAgentState::debuggerEnabled -> m_enabled.
64262
64263        * inspector/InspectorHeapProfilerAgent.h:
64264        * inspector/InspectorHeapProfilerAgent.cpp:
64265        (WebCore::InspectorHeapProfilerAgent::InspectorHeapProfilerAgent):
64266        (WebCore::InspectorHeapProfilerAgent::resetFrontendProfiles):
64267        (WebCore::InspectorHeapProfilerAgent::clearFrontend):
64268        (WebCore::InspectorHeapProfilerAgent::getProfileHeaders):
64269        HeapProfilerAgentState::profileHeadersRequested -> m_profileHeadersRequested.
64270
64271        * inspector/InspectorIndexedDBAgent.cpp:
64272        (WebCore::InspectorIndexedDBAgent::enable):
64273        (WebCore::InspectorIndexedDBAgent::disable):
64274        Remove unused state, never read.
64275
64276        * inspector/InspectorLayerTreeAgent.cpp:
64277        (WebCore::InspectorLayerTreeAgent::enable):
64278        (WebCore::InspectorLayerTreeAgent::disable):
64279        Remove unused state, did not need to be read.
64280
64281        * inspector/InspectorPageAgent.h:
64282        * inspector/InspectorPageAgent.cpp:
64283        (WebCore::InspectorPageAgent::InspectorPageAgent):
64284        (WebCore::InspectorPageAgent::webViewResized):
64285        (WebCore::InspectorPageAgent::enable):
64286        (WebCore::InspectorPageAgent::disable):
64287        (WebCore::InspectorPageAgent::setDeviceMetricsOverride):
64288        (WebCore::InspectorPageAgent::deviceMetricsChanged):
64289        (WebCore::InspectorPageAgent::setShowPaintRects):
64290        (WebCore::InspectorPageAgent::setShowDebugBorders):
64291        (WebCore::InspectorPageAgent::setShowFPSCounter):
64292        (WebCore::InspectorPageAgent::setContinuousPaintingEnabled):
64293        (WebCore::InspectorPageAgent::setScriptExecutionDisabled):
64294        (WebCore::InspectorPageAgent::applyScreenWidthOverride):
64295        (WebCore::InspectorPageAgent::applyScreenHeightOverride):
64296        (WebCore::InspectorPageAgent::didPaint):
64297        (WebCore::InspectorPageAgent::didLayout):
64298        (WebCore::InspectorPageAgent::updateTouchEventEmulationInPage):
64299        (WebCore::InspectorPageAgent::setTouchEmulationEnabled):
64300        (WebCore::InspectorPageAgent::setEmulatedMedia):
64301        (WebCore::InspectorPageAgent::applyEmulatedMedia):
64302        PageAgentState::pageAgentScreenWidthOverride -> m_screenWidthOverride.
64303        PageAgentState::pageAgentScreenHeightOverride -> m_screenHeightOverride.
64304        PageAgentState::pageAgentFontScaleFactorOverride -> m_fontScaleFactorOverride.
64305        PageAgentState::pageAgentFitWindow -> m_fitWindowOverride.
64306        PageAgentState::pageAgentShowPaintRects -> m_showPaintRects.
64307        PageAgentState::pageAgentEmulatedMedia -> m_emulatedMedia.
64308        Remove other unused states.
64309
64310        * inspector/InspectorProfilerAgent.h:
64311        * inspector/InspectorProfilerAgent.cpp:
64312        (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
64313        (WebCore::InspectorProfilerAgent::addProfile):
64314        (WebCore::InspectorProfilerAgent::enable):
64315        (WebCore::InspectorProfilerAgent::disable):
64316        (WebCore::InspectorProfilerAgent::getProfileHeaders):
64317        (WebCore::InspectorProfilerAgent::resetFrontendProfiles):
64318        (WebCore::InspectorProfilerAgent::start):
64319        (WebCore::InspectorProfilerAgent::stop):
64320        (WebCore::InspectorProfilerAgent::enabled):
64321        ProfilerAgentState::profileHeadersRequested -> m_profileHeadersRequested.
64322        Remove other unused states.
64323
64324        * inspector/InspectorResourceAgent.h:
64325        * inspector/InspectorResourceAgent.cpp:
64326        (WebCore::InspectorResourceAgent::~InspectorResourceAgent):
64327        (WebCore::InspectorResourceAgent::willSendRequest):
64328        (WebCore::InspectorResourceAgent::applyUserAgentOverride):
64329        (WebCore::InspectorResourceAgent::enable):
64330        (WebCore::InspectorResourceAgent::disable):
64331        (WebCore::InspectorResourceAgent::setUserAgentOverride):
64332        (WebCore::InspectorResourceAgent::setCacheDisabled):
64333        (WebCore::InspectorResourceAgent::mainFrameNavigated):
64334        (WebCore::InspectorResourceAgent::InspectorResourceAgent):
64335        ResourceAgentState::resourceAgentEnabled -> m_enabled.
64336        ResourceAgentState::cacheDisabled -> m_cacheDisabled.
64337        ResourceAgentState::userAgentOverride -> m_userAgentOverride (this already existed and was unused).
64338
64339        * inspector/InspectorTimelineAgent.h:
64340        * inspector/InspectorTimelineAgent.cpp:
64341        (WebCore::InspectorTimelineAgent::start):
64342        (WebCore::InspectorTimelineAgent::stop):
64343        (WebCore::InspectorTimelineAgent::setDOMCounters):
64344        (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
64345        TimelineAgentState::timelineAgentEnabled -> m_enabled.
64346        TimelineAgentState::includeDomCounters -> m_includeDOMCounters.
64347        Remove other unused states.
64348
64349        * inspector/InspectorWorkerAgent.h:
64350        * inspector/InspectorWorkerAgent.cpp:
64351        (WebCore::InspectorWorkerAgent::InspectorWorkerAgent):
64352        (WebCore::InspectorWorkerAgent::clearFrontend):
64353        (WebCore::InspectorWorkerAgent::enable):
64354        (WebCore::InspectorWorkerAgent::disable):
64355        (WebCore::InspectorWorkerAgent::setAutoconnectToWorkers):
64356        (WebCore::InspectorWorkerAgent::shouldPauseDedicatedWorkerOnStart):
64357        (WebCore::InspectorWorkerAgent::didStartWorkerGlobalScope):
64358        (WebCore::InspectorWorkerAgent::createWorkerFrontendChannel):
64359        WorkerAgentState::workerInspectionEnabled -> m_enabled.
64360        WorkerAgentState::autoconnectToWorkers -> m_shouldPauseDedicatedWorkerOnStart.
64361
64362        * inspector/PageRuntimeAgent.cpp:
64363        (WebCore::PageRuntimeAgent::enable):
64364        (WebCore::PageRuntimeAgent::disable):
64365        Remove unused state, not read.
64366
643672013-10-30  Ryosuke Niwa  <rniwa@webkit.org>
64368
64369        Remove code for Mac Lion
64370        https://bugs.webkit.org/show_bug.cgi?id=123542
64371
64372        Reviewed by Anders Carlsson.
64373
64374        Removed the code for Mac OS X 10.7.
64375
64376        * platform/graphics/ImageBuffer.h:
64377        * platform/graphics/cg/ImageBufferCG.cpp:
64378        (WebCore::ImageBuffer::ImageBuffer):
64379        (WebCore::ImageBuffer::context):
64380        (WebCore::ImageBuffer::flushContext):
64381        * platform/graphics/cg/ImageBufferDataCG.h:
64382        * platform/graphics/cg/ImageSourceCG.cpp:
64383        (WebCore::imageSourceOptions):
64384        * platform/graphics/mac/ComplexTextControllerCoreText.mm:
64385        (WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
64386        * platform/mac/ScrollAnimatorMac.mm:
64387        (WebCore::scrollAnimationEnabledForSystem):
64388        * platform/mac/ScrollElasticityController.mm:
64389        (WebCore::reboundDeltaForElasticDelta):
64390        * platform/mac/ThemeMac.mm:
64391        (WebCore::updateStates):
64392        (WebCore::paintCheckbox):
64393        (WebCore::paintRadio):
64394        (WebCore::paintButton):
64395        * platform/mac/WebCoreNSCellExtras.h:
64396        * platform/mac/WebCoreNSCellExtras.m:
64397        * rendering/RenderThemeMac.mm:
64398        (WebCore::RenderThemeMac::paintTextField):
64399        (WebCore::RenderThemeMac::paintMenuList):
64400        (WebCore::RenderThemeMac::setPopupButtonCellState):
64401        (WebCore::RenderThemeMac::textField):
64402
644032013-10-30  Alexey Proskuryakov  <ap@apple.com>
64404
64405        85 inspector tests asserting in DrawingAreaProxyImpl::updateAcceleratedCompositingMode()
64406        when there is a stale WebKitTestRunner preference
64407        https://bugs.webkit.org/show_bug.cgi?id=115115
64408
64409        Reviewed by Darin Adler.
64410
64411        * page/Settings.cpp:
64412        (WebCore::Settings::setMockScrollbarsEnabled):
64413        (WebCore::Settings::setUsesOverlayScrollbars):
64414        Added FIXMEs.
64415
644162013-10-30  Andreas Kling  <akling@apple.com>
64417
64418        Take line boxes out of the arena.
64419        <https://webkit.org/b/123533>
64420
64421        Stop arena-allocating line boxes so we can move forward on improving
64422        render tree memory management. This will also allow more rendering
64423        code to take advantage of malloc optimizations.
64424
64425        This will likely regress performance on some micro-benchmarks, but
64426        it's something we want to do sooner rather than later so we have time
64427        to restabilize it. All improvements to the simple line layout's
64428        coverage will help with recouping whatever is regressed.
64429
64430        BiDi runs are the only remaining user of the arena now.
64431
64432        Reviewed by Antti Koivisto
64433
644342013-10-30  Joseph Pecoraro  <pecoraro@apple.com>
64435
64436        Web Inspector: Remove InspectorAgent::restore functionality
64437        https://bugs.webkit.org/show_bug.cgi?id=123525
64438
64439        Reviewed by Timothy Hatcher.
64440
64441        Remove unused InspectorAgent restore functionality.
64442
64443        * inspector/InspectorApplicationCacheAgent.cpp:
64444        * inspector/InspectorApplicationCacheAgent.h:
64445        * inspector/InspectorBaseAgent.cpp:
64446        * inspector/InspectorBaseAgent.h:
64447        * inspector/InspectorCSSAgent.cpp:
64448        * inspector/InspectorCSSAgent.h:
64449        * inspector/InspectorCanvasAgent.cpp:
64450        * inspector/InspectorCanvasAgent.h:
64451        * inspector/InspectorConsoleAgent.cpp:
64452        * inspector/InspectorConsoleAgent.h:
64453        * inspector/InspectorController.cpp:
64454        * inspector/InspectorController.h:
64455        * inspector/InspectorDOMAgent.cpp:
64456        * inspector/InspectorDOMAgent.h:
64457        * inspector/InspectorDatabaseAgent.cpp:
64458        * inspector/InspectorDatabaseAgent.h:
64459        * inspector/InspectorDebuggerAgent.cpp:
64460        * inspector/InspectorDebuggerAgent.h:
64461        * inspector/InspectorHeapProfilerAgent.cpp:
64462        * inspector/InspectorHeapProfilerAgent.h:
64463        * inspector/InspectorIndexedDBAgent.cpp:
64464        * inspector/InspectorIndexedDBAgent.h:
64465        * inspector/InspectorLayerTreeAgent.cpp:
64466        * inspector/InspectorLayerTreeAgent.h:
64467        * inspector/InspectorPageAgent.cpp:
64468        * inspector/InspectorPageAgent.h:
64469        * inspector/InspectorProfilerAgent.cpp:
64470        * inspector/InspectorProfilerAgent.h:
64471        * inspector/InspectorResourceAgent.cpp:
64472        * inspector/InspectorResourceAgent.h:
64473        * inspector/InspectorTimelineAgent.cpp:
64474        * inspector/InspectorTimelineAgent.h:
64475        * inspector/InspectorWorkerAgent.cpp:
64476        * inspector/InspectorWorkerAgent.h:
64477        * inspector/PageRuntimeAgent.cpp:
64478        * inspector/PageRuntimeAgent.h:
64479        * inspector/WorkerInspectorController.cpp:
64480        * inspector/WorkerInspectorController.h:
64481
644822013-10-30  Jer Noble  <jer.noble@apple.com>
64483
64484        REGRESSION(r158288): media/media-can-play-mpeg4-video.html fails
64485        https://bugs.webkit.org/show_bug.cgi?id=123530
64486
64487        Reviewed by Eric Carlson.
64488
64489        Lower case the mime type before passing it along to MediaPlayer.
64490
64491        * html/HTMLMediaElement.cpp:
64492        (WebCore::HTMLMediaElement::canPlayType):
64493        (WebCore::HTMLMediaElement::selectNextSourceChild):
64494
644952013-10-30  Alexey Proskuryakov  <ap@apple.com>
64496
64497        Add a way to fulfill promises from DOM code
64498        https://bugs.webkit.org/show_bug.cgi?id=123466
64499
64500        Reviewed by Sam Weinig.
64501
64502        This is not perfect, as it strongly ties DOM code to JavaScript. In the future, we
64503        can make it better e.g. by subclassing, so that only a base interface would be exposed.
64504
64505        * GNUmakefile.list.am:
64506        * WebCore.vcxproj/WebCore.vcxproj:
64507        * WebCore.vcxproj/WebCore.vcxproj.filters:
64508        * bindings/js/JSBindingsAllInOne.cpp:
64509        * WebCore.xcodeproj/project.pbxproj:
64510        Added JSDOMPromise.
64511
64512        * bindings/js/JSDOMPromise.cpp: Added.
64513
64514        * bindings/js/JSDOMPromise.h: Added.
64515        (WebCore::PromiseWrapper::create):
64516        (WebCore::PromiseWrapper::fulfill): A random set of specializations that I needed
64517        in WebCrypto code so far.
64518        (WebCore::PromiseWrapper::reject): Ditto.
64519
645202013-10-30  Santosh Mahto  <santosh.ma@samsung.com>
64521
64522        contentEditable deleting lists when list items are block level
64523        https://bugs.webkit.org/show_bug.cgi?id=122602
64524
64525        Reviewed by Ryosuke Niwa.
64526
64527        When listitems are styled with display:block/float then inserting paragraph
64528        twice at end of listitem delete entire list. Generally when listitem is empty
64529        then we delete the listitem on inserting paragraph. In this issue, on inserting
64530        first paragraph one empty listitem is created, and on inserting second paragraph
64531        we try to delete that empty listitem. but it misbehave becasue of incomplete 
64532        definition of htmlediting::isLisItem() and entire list is deleted.
64533
64534        htmlediting::isListItem() check only render object to decide whether it is 
64535        list or not, so if any LI element is block level then isListItem return false.
64536        Now after this patch if parent of current node is list element then node is
64537        treated as listItem.
64538
64539        Test: editing/execCommand/hit-enter-twice-atendof-block-styled-listitem.html
64540
64541        * editing/htmlediting.cpp:
64542        (WebCore::isListItem): Modified condition to check if parent node is list;
64543
645442013-10-30  Jer Noble  <jer.noble@apple.com>
64545
64546        Unreviewed EFL build fix; give MediaEngineSupportParameters struct a default constructor.
64547
64548        * Modules/mediasource/MediaSource.cpp:
64549        (WebCore::MediaSource::isTypeSupported):
64550        * dom/DOMImplementation.cpp:
64551        (WebCore::DOMImplementation::createDocument):
64552        * html/HTMLMediaElement.cpp:
64553        (WebCore::HTMLMediaElement::canPlayType):
64554        (WebCore::HTMLMediaElement::selectNextSourceChild):
64555        * platform/graphics/MediaPlayer.h:
64556        (WebCore::MediaEngineSupportParameters::MediaEngineSupportParameters):
64557
645582013-10-30  Andreas Kling  <akling@apple.com>
64559
64560        Let Page::renderTreeSize() be the number of renderers.
64561        <https://webkit.org/b/123518>
64562        <rdar://problem/15348679>
64563
64564        The old metric was "number of bytes allocated in RenderArena" and
64565        that was heading towards obsolescence, fast.
64566
64567        Instead, keep a count of RenderObjects instantiated on RenderView.
64568        While a bit ugly, this lets us move forward with rendering memory
64569        model improvements without breaking features.
64570
64571        Reviewed by Beth Dakin.
64572
645732013-10-30  Myles C. Maxfield  <mmaxfield@apple.com>
64574
64575        WebKit/win/WebKitGraphics.h:void WebDrawText(WebTextRenderInfo*); is never called
64576        https://bugs.webkit.org/show_bug.cgi?id=123485
64577
64578        Reviewed by Brent Fulgham.
64579
64580        WebDrawText is the only caller of WebCoreDrawTextAtPoint, so we can
64581        delete that as well.
64582
64583        Because there is no behavior difference, no new tests are necessary.
64584
64585        * platform/win/WebCoreTextRenderer.cpp:
64586        * platform/win/WebCoreTextRenderer.h:
64587
645882013-10-30  Csaba Osztrogonác  <ossy@webkit.org>
64589
64590        URTBF after r158289.
64591
64592        * CMakeLists.txt:
64593        * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
64594        (WebCore::IDBFactoryBackendLevelDB::createCursorBackend):
64595
645962013-10-30  Dong-Gwan Kim  <donggwan.kim@samsung.com>
64597
64598        Build fails with EGLConfigSelector.cpp when OpenGL ES is not used
64599        https://bugs.webkit.org/show_bug.cgi?id=119037
64600
64601        Reviewed by Brent Fulgham.
64602
64603        Build fix for EGLConfigSelector.cpp
64604
64605        No new tests, no behavior change.
64606
64607        * platform/graphics/surfaces/egl/EGLConfigSelector.cpp:
64608        (WebCore::EGLConfigSelector::createConfig):
64609
646102013-10-30  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
64611
64612        Explicitly initialize base class in MediStreamTrackPrivate copy constructor
64613        https://bugs.webkit.org/show_bug.cgi?id=123473
64614
64615        Reviewed by Eric Carlson.
64616
64617        No new tests needed.
64618
64619        Ports that enable -Werror=extra must do that to compile.
64620
64621        * platform/mediastream/MediaStreamTrackPrivate.cpp:
64622        (WebCore::MediaStreamTrackPrivate::MediaStreamTrackPrivate):
64623
646242013-10-30  Ryosuke Niwa  <rniwa@webkit.org>
64625
64626        Mac build fix after r158291.
64627
64628        * html/HTMLMediaElement.cpp:
64629        (WebCore::HTMLMediaElement::canPlayType):
64630
646312013-10-30  Commit Queue  <commit-queue@webkit.org>
64632
64633        Unreviewed, rolling out r158243.
64634        http://trac.webkit.org/changeset/158243
64635        https://bugs.webkit.org/show_bug.cgi?id=123520
64636
64637        Change was wrong (Requested by smfr on #webkit).
64638
64639        * platform/graphics/GraphicsContext.h:
64640        * platform/graphics/blackberry/PathBlackBerry.cpp:
64641        (WebCore::GraphicsContext::drawLineForText):
64642        * platform/graphics/cairo/GraphicsContextCairo.cpp:
64643        (WebCore::GraphicsContext::drawLineForText):
64644        * platform/graphics/cg/GraphicsContextCG.cpp:
64645        (WebCore::GraphicsContext::drawLineForText):
64646        * platform/graphics/wince/GraphicsContextWinCE.cpp:
64647        (WebCore::GraphicsContext::drawLineForText):
64648        * platform/win/WebCoreTextRenderer.cpp:
64649        (WebCore::doDrawTextAtPoint):
64650        * rendering/InlineTextBox.cpp:
64651        (WebCore::InlineTextBox::paintDecoration):
64652        (WebCore::InlineTextBox::paintCompositionUnderline):
64653
646542013-10-30  peavo@outlook.com  <peavo@outlook.com>
64655
64656        Favicons are flipped in vertical direction in WinCairo builds.
64657        https://bugs.webkit.org/show_bug.cgi?id=102077
64658
64659        Reviewed by Brent Fulgham.
64660
64661        * platform/graphics/win/ImageCairoWin.cpp:
64662        (WebCore::BitmapImage::getHBITMAPOfSize):
64663
646642013-10-30  Jer Noble  <jer.noble@apple.com>
64665
64666        [MSE] Add MediaSource compatable loading functions to MediaPlayer
64667        https://bugs.webkit.org/show_bug.cgi?id=123353
64668
64669        Reviewed by Eric Carlson.
64670
64671        Add methods to MediaPlayer to allow it to select the correct MediaPlayerFactory
64672        when attempting to load a MediaSource URL.
64673
64674        * Modules/mediasource/MediaSource.cpp:
64675        (WebCore::MediaSource::addSourceBuffer):
64676        (WebCore::MediaSource::isTypeSupported):
64677        * html/HTMLMediaElement.cpp:
64678        (WebCore::HTMLMediaElement::loadResource):
64679        (WebCore::HTMLMediaElement::canPlayType):
64680        (WebCore::HTMLMediaElement::selectNextSourceChild):
64681        * platform/graphics/MediaPlayer.cpp:
64682        (WebCore::MediaPlayer::load):
64683        (WebCore::MediaPlayer::supportsType):
64684        * platform/graphics/MediaPlayer.h:
64685        * dom/DOMImplementation.cpp:
64686        (WebCore::DOMImplementation::createDocument):
64687
64688        Remove the isSupportedMediaSourceMIMEType() method:
64689        * platform/MIMETypeRegistry.h:
64690        * platform/efl/MIMETypeRegistryEfl.cpp:
64691        * platform/mac/MIMETypeRegistryMac.mm:
64692
64693
646942013-10-30  Brady Eidson  <beidson@apple.com>
64695
64696        IDBCursorBackendLevelDB should be made cross-platform
64697        https://bugs.webkit.org/show_bug.cgi?id=123513
64698
64699        Rubberstamped by Andreas Kling.
64700
64701        Because of all the already-done refactoring, this is basically a file-move and global rename.
64702
64703        * CMakeLists.txt:
64704        * GNUmakefile.list.am:
64705        * WebCore.xcodeproj/project.pbxproj:
64706        * WebCore.vcxproj/WebCore.vcxproj:
64707
64708        * Modules/indexeddb/IDBCursorBackendImpl.cpp: Renamed from Source/WebCore/Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp.
64709        * Modules/indexeddb/IDBCursorBackendImpl.h: Renamed from Source/WebCore/Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h.
64710
64711        * Modules/indexeddb/IDBCursorBackendInterface.h:
64712
64713        * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
64714
647152013-10-29  Jer Noble  <jer.noble@apple.com>
64716
64717        [MSE] Remove legacy Media Source APIs (WebKitMediaSource, WebKitSourceBuffer, WebKitSourceBufferList)
64718        https://bugs.webkit.org/show_bug.cgi?id=123463
64719
64720        Reviewed by Eric Carlson.
64721
64722        No new tests; updated test results.
64723
64724        Remove all reference to WebKitMediaSource, WebKitSourceBuffer, and WebKitSourceBufferList.
64725
64726        * CMakeLists.txt:
64727        * DerivedSources.cpp:
64728        * DerivedSources.make:
64729        * GNUmakefile.list.am:
64730        * Modules/mediasource/DOMURLMediaSource.idl:
64731        * Modules/mediasource/WebKitMediaSource.cpp: Removed.
64732        * Modules/mediasource/WebKitMediaSource.h: Removed.
64733        * Modules/mediasource/WebKitMediaSource.idl: Removed.
64734        * Modules/mediasource/WebKitSourceBuffer.cpp: Removed.
64735        * Modules/mediasource/WebKitSourceBuffer.h: Removed.
64736        * Modules/mediasource/WebKitSourceBuffer.idl: Removed.
64737        * Modules/mediasource/WebKitSourceBufferList.cpp: Removed.
64738        * Modules/mediasource/WebKitSourceBufferList.h: Removed.
64739        * Modules/mediasource/WebKitSourceBufferList.idl: Removed.
64740        * WebCore.xcodeproj/project.pbxproj:
64741        * dom/EventTargetFactory.in:
64742
647432013-10-30  Antti Koivisto  <antti@apple.com>
64744
64745        Unbreak the release build.
64746
64747        * rendering/SimpleLineLayoutFunctions.cpp:
64748
647492013-10-30  Liangjun Zeng  <lizeng@blackberry.com>
64750
64751        Fix memory leaks in platform/image-encoders/JPEGImageEncoder.cpp
64752        https://bugs.webkit.org/show_bug.cgi?id=118781
64753
64754        Reviewed by Brent Fulgham.
64755
64756        We can find the function "jpeg_finish_compress" call the function "jpeg_abort" at the end.
64757        And the comments of "jpeg_abort" is "Abort processing of a JPEG compression operation,
64758        but don't destroy the object itself". (We can find these in the "jcapimin.c" of jpeg)
64759        So the compression object destroy need be called.
64760        No new tests because this doesn't change functionality.
64761
64762        * platform/image-encoders/JPEGImageEncoder.cpp:
64763        (WebCore::compressRGBABigEndianToJPEG):
64764
647652013-10-30  Antti Koivisto  <antti@apple.com>
64766
64767        Add debug settings for simple line layout
64768        https://bugs.webkit.org/show_bug.cgi?id=123514
64769
64770        Reviewed by Andreas Kling.
64771
64772        * WebCore.exp.in:
64773        * page/Settings.in:
64774        
64775            Add simpleLineLayoutEnabled and simpleLineLayoutDebugBordersEnabled.
64776
64777        * rendering/SimpleLineLayout.cpp:
64778        (WebCore::SimpleLineLayout::canUseFor):
64779        * rendering/SimpleLineLayoutFunctions.cpp:
64780        (WebCore::SimpleLineLayout::paintDebugBorders):
64781        (WebCore::SimpleLineLayout::paintFlow):
64782
647832013-10-30  peavo@outlook.com  <peavo@outlook.com>
64784
64785        [Curl] Cookies are sometimes not set in download request.
64786        https://bugs.webkit.org/show_bug.cgi?id=123445
64787
64788        Reviewed by Brent Fulgham.
64789
64790        Sometimes cookies are not set in the download request because the cookie file cannot be opened,
64791        it's already been opened by the ResourceHandleManager for writing.
64792        This can be fixed by getting the cookie list from the share handle in ResourceHandleManager instead.
64793        This will also improve performance, as there is no need to read and parse the cookie file for each download.
64794
64795        * platform/network/curl/CurlDownload.cpp:
64796        (WebCore::CurlDownload::init): Use share handle to get cookie list.
64797
647982013-10-30  ChangSeok Oh  <changseok.oh@collabora.com>
64799
64800        Unguard Element::childShouldCreateRenderer
64801        https://bugs.webkit.org/show_bug.cgi?id=123496
64802
64803        Reviewed by Andreas Kling.
64804
64805        Make Element::childShouldCreateRenderer normally accessible. Guarding it with flags
64806        just leaves potential build issues.
64807
64808        No new tests since no functionality changed.
64809
64810        * dom/Element.cpp:
64811        (WebCore::Element::childShouldCreateRenderer):
64812        * dom/Element.h:
64813
648142013-10-30  Jer Noble  <jer.noble@apple.com>
64815
64816        [MSE] Make MediaSourcePrivate, SourceBufferPrivate classes RefCounted.
64817        https://bugs.webkit.org/show_bug.cgi?id=123350
64818
64819        Reviewed by Darin Adler.
64820
64821        Make the MediaSourcePrivate and SourceBufferPrivate classes RefCounted so that
64822        they can be referenced both by MediaSource/SourceBuffer, and by the MediaPlayerPrivate
64823        which creates them.
64824
64825        Change OwnPtr -> RefPtr everywhere:
64826        * Modules/mediasource/MediaSource.cpp:
64827        (WebCore::MediaSource::addSourceBuffer):
64828        * Modules/mediasource/MediaSourceBase.cpp:
64829        (WebCore::MediaSourceBase::setPrivateAndOpen):
64830        (WebCore::MediaSourceBase::createSourceBufferPrivate):
64831        * Modules/mediasource/MediaSourceBase.h:
64832        * Modules/mediasource/SourceBuffer.cpp:
64833        (WebCore::SourceBuffer::create):
64834        (WebCore::SourceBuffer::SourceBuffer):
64835        * Modules/mediasource/SourceBuffer.h:
64836        * Modules/mediasource/WebKitMediaSource.cpp:
64837        (WebCore::WebKitMediaSource::addSourceBuffer):
64838        * Modules/mediasource/WebKitSourceBuffer.cpp:
64839        (WebCore::WebKitSourceBuffer::create):
64840        (WebCore::WebKitSourceBuffer::WebKitSourceBuffer):
64841        * Modules/mediasource/WebKitSourceBuffer.h:
64842        * html/HTMLMediaSource.h:
64843        * platform/graphics/MediaSourcePrivate.h:
64844        * platform/graphics/SourceBufferPrivate.h:
64845        (WebCore::SourceBufferPrivate::SourceBufferPrivate):
64846
648472013-10-30  Allan Sandfeld Jensen  <allan.jensen@digia.com>
64848
64849        Remove unused runtime enabled
64850        https://bugs.webkit.org/show_bug.cgi?id=123509
64851
64852        Reviewed by Anders Carlsson.
64853
64854        Some of the runtime enabled features were only ever used by the V8 bindings
64855        and can be removed as no WebKit code sets or reads them.
64856
64857        * bindings/generic/RuntimeEnabledFeatures.cpp:
64858        (WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures):
64859        * bindings/generic/RuntimeEnabledFeatures.h:
64860
648612013-10-30  Antti Koivisto  <antti@apple.com>
64862
64863        Make SimpleLineLayout::Layout a class
64864        https://bugs.webkit.org/show_bug.cgi?id=123508
64865
64866        Reviewed by Mario Sanchez Prada.
64867
64868        Improve encapsulation.
64869
648702013-10-30  Antti Koivisto  <antti@apple.com>
64871
64872        REGRESSION(r158214): It made zillion tests crash on GTK and EFL
64873        https://bugs.webkit.org/show_bug.cgi?id=123505
64874
64875        * rendering/SimpleLineLayout.h: Add WTF_MAKE_FAST_ALLOCATED
64876
648772013-10-29  Philippe Normand  <pnormand@igalia.com>
64878
64879        [GStreamer] Store video-sink in a bin
64880        https://bugs.webkit.org/show_bug.cgi?id=122831
64881
64882        Reviewed by Gustavo Noronha Silva.
64883
64884        For the upcoming mediastream playback support the player will
64885        handle a non-playbin-based pipeline that will require a slightly
64886        different video rendering chain. This patch generalizes the
64887        encapsulation of the video sink in a bin, just like the audio sink
64888        case.
64889
64890        No new tests, no change in functionality.
64891
648922013-10-29  Ryosuke Niwa  <rniwa@webkit.org>
64893
64894        REGRESSION(r154614): Opening and closing a picture on Facebook resets scroll position
64895        https://bugs.webkit.org/show_bug.cgi?id=122882
64896
64897        Reviewed by Anders Carlsson.
64898
64899        scrollLeft and scrollTop have to continue to function in the strict mode for the Web compatiblity.
64900        In particular, www.facebook.com and build.webkit.org depend on this behavior as of October 29th, 2013.
64901
64902        * html/HTMLBodyElement.cpp:
64903        (WebCore::HTMLBodyElement::scrollLeft):
64904        (WebCore::HTMLBodyElement::setScrollLeft):
64905        (WebCore::HTMLBodyElement::scrollTop):
64906        (WebCore::HTMLBodyElement::setScrollTop):
64907
649082013-10-29  Brady Eidson  <beidson@apple.com>
64909
64910        IDBTransactionBackend should be cross platform
64911        https://bugs.webkit.org/show_bug.cgi?id=123449
64912
64913        Reviewed by Beth Dakin.
64914
64915        - Rename IDBTransactionBackendLevelDB to IDBTransactionBackendImpl
64916        - Rename IDBTransactionBackendLevelDBOperations to IDBTransactionBackendOperations
64917        - Move their files from the leveldb subdirectory to the indexeddb directory
64918
64919        * CMakeLists.txt:
64920        * GNUmakefile.list.am:
64921        * WebCore.xcodeproj/project.pbxproj:
64922
64923        * Modules/indexeddb/IDBTransactionBackendImpl.cpp: Renamed from Source/WebCore/Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp.
64924        * Modules/indexeddb/IDBTransactionBackendImpl.h: Renamed from Source/WebCore/Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h.
64925        * Modules/indexeddb/IDBTransactionBackendOperations.cpp: Renamed from Source/WebCore/Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.cpp.
64926        * Modules/indexeddb/IDBTransactionBackendOperations.h: Renamed from Source/WebCore/Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.h.
64927
64928        * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp:
64929        * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h:
64930        * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
64931        (WebCore::IDBFactoryBackendLevelDB::maybeCreateTransactionBackend):
64932
649332013-10-29  Sam Weinig  <sam@webkit.org>
64934
64935        Modernize DatasetDOMStringMap and ClassList a bit
64936        https://bugs.webkit.org/show_bug.cgi?id=123491
64937
64938        Reviewed by Andreas Kling.
64939
64940        * dom/DatasetDOMStringMap.cpp:
64941        * dom/DatasetDOMStringMap.h:
64942        * dom/Element.cpp:
64943        * dom/ElementRareData.h:
64944        * html/ClassList.cpp:
64945        * html/ClassList.h:
64946        Pass the owner Element by reference and store in a std::unique_ptr.
64947
649482013-10-29  Brady Eidson  <beidson@apple.com>
64949
64950        Attempted build-fix after http://trac.webkit.org/changeset/158234
64951
64952        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
64953        (WebCore::IDBBackingStoreLevelDB::createBackingStoreTransaction): Implement this!
64954
649552013-10-29  Andreas Kling  <akling@apple.com>
64956
64957        ElementData construction helpers should return PassRef.
64958        <https://webkit.org/b/123487>
64959
64960        Make functions that create new ElementData objects return appropriate
64961        PassRef pointers instead of PassRefPtr.
64962
64963        Reviewed by Anders Carlsson.
64964
649652013-10-29  Ryosuke Niwa  <rniwa@webkit.org>
64966
64967        GTK+ build fix attempt after r158220.
64968
64969        * GNUmakefile.list.am:
64970
649712013-10-29  Brady Eidson  <beidson@apple.com>
64972
64973        Move IDBTransactionBackendLevelDB to generic IDBBackingStoreInterface
64974        https://bugs.webkit.org/show_bug.cgi?id=123483
64975
64976        Reviewed by Andreas Kling.
64977
64978        * Modules/indexeddb/IDBCursorBackendInterface.h:
64979        * Modules/indexeddb/IDBDatabaseBackendImpl.h:
64980        * Modules/indexeddb/IDBDatabaseBackendInterface.h:
64981        * Modules/indexeddb/IDBFactoryBackendInterface.h:
64982        * Modules/indexeddb/IDBTransactionBackendInterface.h:
64983
64984        * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp:
64985        (WebCore::IDBCursorBackendLevelDB::IDBCursorBackendLevelDB):
64986        * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h:
64987        (WebCore::IDBCursorBackendLevelDB::create):
64988
64989        * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
64990        (WebCore::IDBFactoryBackendLevelDB::createCursorBackend):
64991        * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
64992
64993        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp:
64994        (WebCore::IDBTransactionBackendLevelDB::registerOpenCursor):
64995        (WebCore::IDBTransactionBackendLevelDB::unregisterOpenCursor):
64996        (WebCore::IDBTransactionBackendLevelDB::closeOpenCursors):
64997        (WebCore::IDBTransactionBackendLevelDB::createCursorBackend):
64998        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:
64999
65000        * WebCore.xcodeproj/project.pbxproj: Export a required header.
65001
650022013-10-29  Seokju Kwon  <seokju@webkit.org>
65003
65004        Remove mutable keyword from member variables of XMLHttpRequest
65005        https://bugs.webkit.org/show_bug.cgi?id=123481
65006
65007        Reviewed by Andreas Kling.
65008
65009        No new tests, no change in functionality.
65010
65011        * xml/XMLHttpRequest.h: Remove mutable keyword as these are no longer used in const functions.
65012
650132013-10-29  Myles C. Maxfield  <mmaxfield@apple.com>
65014
65015        Underline bounds cannot be queried before underline itself is drawn
65016        https://bugs.webkit.org/show_bug.cgi?id=123310
65017
65018        Reviewed by Simon Fraser
65019
65020        GraphicsContext's drawLineForText function is used to draw underlines,
65021        strikethroughs, and overlines. Before drawing the line, this function
65022        modifies the bounds given to it in order to make underlines crisp. However,  
65023        this means that it is impossible to know where an underline will be drawn
65024        before drawing it. This patch pulls out this adjustment computation into 
65025        InlineTextBox, then passes the result to drawLineForText.
65026
65027        Because there should be no observable difference, no tests need to be updated.
65028
65029        * platform/graphics/GraphicsContext.h: Changing the signature of drawLineForText
65030        so it can accept bounds from our helper function
65031        * platform/graphics/blackberry/PathBlackBerry.cpp:
65032        (WebCore::GraphicsContext::drawLineForText): Update to work with new
65033        signature of drawLineForText
65034        * platform/graphics/cairo/GraphicsContextCairo.cpp:
65035        (WebCore::GraphicsContext::drawLineForText): Ditto
65036        * platform/graphics/cg/GraphicsContextCG.cpp:
65037        (WebCore::GraphicsContext::drawLineForText): Ditto
65038        * platform/graphics/wince/GraphicsContextWinCE.cpp:
65039        (WebCore::GraphicsContext::drawLineForText): Ditto
65040        * platform/win/WebCoreTextRenderer.cpp:
65041        (WebCore::doDrawTextAtPoint): Update the last call site of drawLineForText
65042        * rendering/InlineTextBox.cpp:
65043        (WebCore::computeBoundsForUnderline): Pure function that computes the adjusted
65044        bounds of the underline about to be drawn
65045        (WebCore::drawLineForText): calls computeBoundsForUnderline and then
65046        GraphicsContext::drawLineForText
65047        (WebCore::InlineTextBox::paintDecoration): Use new drawLineForText function
65048        (WebCore::InlineTextBox::paintCompositionUnderline): Ditto
65049
650502013-10-29  Alexey Proskuryakov  <ap@apple.com>
65051
65052        Beef up CryptoKey
65053        https://bugs.webkit.org/show_bug.cgi?id=123462
65054
65055        Fix a mismerge, remove duplicate CryptoKeyType declaration.
65056
65057        * crypto/CryptoKey.h:
65058
650592013-10-29  Alexey Proskuryakov  <ap@apple.com>
65060
65061        Beef up CryptoKey
65062        https://bugs.webkit.org/show_bug.cgi?id=123462
65063
65064        Reviewed by Sam Weinig.
65065
65066        * WebCore.xcodeproj/project.pbxproj: Added new files.
65067
65068        * crypto/CryptoAlgorithmIdentifier.h: Added an enum with all registered algorithms
65069        (they don't have to be all implemented in any port).
65070
65071        * crypto/CryptoKey.cpp:
65072        (WebCore::CryptoKey::CryptoKey): Initialize base class variables.
65073        (WebCore::CryptoKey::type): Convert internal representation for bindings use.
65074        (WebCore::CryptoKey::buildAlgorithmDescription): Ditto. This function is supposed
65075        to be called by derived classes before adding other keyes.
65076        (WebCore::CryptoKey::usages): Convert internal representation for bindings use.
65077
65078        * crypto/CryptoKey.h:
65079        (WebCore::CryptoKey::extractable): Expose for bindings.
65080        (WebCore::CryptoKey::allows): A faster way to check allowed key usage from C++ code.
65081
65082        * crypto/CryptoKey.idl: Added SkipVTableValidation, because validation doesn't work
65083        with derived classes. Corrected "usages" attribute name.
65084
65085        * crypto/CryptoKeyFormat.h: Added. 
65086        * crypto/CryptoKeyType.h: Added.
65087        * crypto/CryptoKeyUsage.h: Added.
65088        Added enums used by CryptoKey.
65089
650902013-10-29  Hugo Parente Lima  <hugo.lima@openbossa.org>
65091
65092        Adding Nix files in Source/Platform to trunk
65093        https://bugs.webkit.org/show_bug.cgi?id=118331
65094
65095        Reviewed by Benjamin Poulain.
65096
65097        Add Nix WebAudio implementation that just forward some calls to our API.
65098        This patch is part of the upstream process, tests will be landed by other patches.
65099
65100        * platform/audio/nix/AudioBusNix.cpp: Added.
65101        * platform/audio/nix/AudioDestinationNix.cpp: Added.
65102        * platform/audio/nix/AudioDestinationNix.h: Added.
65103        * platform/audio/nix/FFTFrameNix.cpp: Added.
65104        * platform/nix/support/MultiChannelPCMData.cpp: Added.
65105
651062013-10-29  Brady Eidson  <beidson@apple.com>
65107
65108        Move IDBTransactionBackendLevelDB to generic IDBBackingStoreInterface::Transaction.
65109        https://bugs.webkit.org/show_bug.cgi?id=123475
65110
65111        Reviewed by Tim Horton.
65112
65113        Currently it's using IDBBackingStoreLevelDB::Transaction, which hinders the goal of:
65114        https://bugs.webkit.org/show_bug.cgi?id=123449 - IDBTransactionBackend should be cross platform
65115
65116        * Modules/indexeddb/IDBBackingStoreInterface.h:
65117
65118        * Modules/indexeddb/IDBIndexWriter.cpp:
65119        (WebCore::IDBIndexWriter::writeIndexKeys):
65120        (WebCore::IDBIndexWriter::verifyIndexKeys):
65121        (WebCore::IDBIndexWriter::addingKeyAllowed):
65122        * Modules/indexeddb/IDBIndexWriter.h:
65123
65124        * Modules/indexeddb/IDBTransactionBackendInterface.h:
65125
65126        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
65127        (WebCore::IDBBackingStoreLevelDB::updateIDBDatabaseIntVersion):
65128        (WebCore::IDBBackingStoreLevelDB::updateIDBDatabaseMetaData):
65129        (WebCore::IDBBackingStoreLevelDB::createObjectStore):
65130        (WebCore::IDBBackingStoreLevelDB::deleteObjectStore):
65131        (WebCore::IDBBackingStoreLevelDB::getRecord):
65132        (WebCore::IDBBackingStoreLevelDB::putRecord):
65133        (WebCore::IDBBackingStoreLevelDB::clearObjectStore):
65134        (WebCore::IDBBackingStoreLevelDB::deleteRecord):
65135        (WebCore::IDBBackingStoreLevelDB::getKeyGeneratorCurrentNumber):
65136        (WebCore::IDBBackingStoreLevelDB::maybeUpdateKeyGeneratorCurrentNumber):
65137        (WebCore::IDBBackingStoreLevelDB::keyExistsInObjectStore):
65138        (WebCore::IDBBackingStoreLevelDB::createIndex):
65139        (WebCore::IDBBackingStoreLevelDB::deleteIndex):
65140        (WebCore::IDBBackingStoreLevelDB::putIndexDataForRecord):
65141        (WebCore::IDBBackingStoreLevelDB::findKeyInIndex):
65142        (WebCore::IDBBackingStoreLevelDB::getPrimaryKeyViaIndex):
65143        (WebCore::IDBBackingStoreLevelDB::keyExistsInIndex):
65144        (WebCore::IDBBackingStoreLevelDB::openObjectStoreCursor):
65145        (WebCore::IDBBackingStoreLevelDB::openObjectStoreKeyCursor):
65146        (WebCore::IDBBackingStoreLevelDB::openIndexKeyCursor):
65147        (WebCore::IDBBackingStoreLevelDB::openIndexCursor):
65148        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
65149
65150        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp:
65151        (WebCore::IDBTransactionBackendLevelDB::IDBTransactionBackendLevelDB):
65152        (WebCore::IDBTransactionBackendLevelDB::abort):
65153        (WebCore::IDBTransactionBackendLevelDB::commit):
65154        (WebCore::IDBTransactionBackendLevelDB::taskTimerFired):
65155        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:
65156
651572013-10-29  Dean Jackson  <dino@apple.com>
65158
65159        Move InlineTextBox's text painting to it's own class
65160        https://bugs.webkit.org/show_bug.cgi?id=123355
65161
65162        Reinstate the LGPL license. I incorrectly told Myles to
65163        use another license on these new files.
65164
65165        * rendering/TextPainter.cpp:
65166        * rendering/TextPainter.h:
65167
651682013-10-29  Myles C. Maxfield  <mmaxfield@apple.com>
65169
65170        Move InlineTextBox's text painting to it's own class
65171        https://bugs.webkit.org/show_bug.cgi?id=123355
65172
65173        Reviewed by Dean Jackson.
65174
65175        Implementing text-decoration-skip: ink requires drawing text
65176        twice (once regularly, and once with a thick outline into a mask).
65177        This patch pulls out the relevant text drawing code from
65178        InlineTextBox into a new class, called TextPainter, which can be re-used
65179        to draw text multiple times.
65180
65181        Because there should be no observable difference, no tests need to be updated.
65182
65183        * CMakeLists.txt: Adding new TextPainter class
65184        * GNUmakefile.list.am: Adding new TextPainter class
65185        * WebCore.vcxproj/WebCore.vcxproj: Adding new TextPainter class
65186        * WebCore.vcxproj/WebCore.vcxproj.filters: Adding new TextPainter
65187        class
65188        * WebCore.xcodeproj/project.pbxproj: Adding new TextPainter class
65189        * rendering/InlineTextBox.cpp:
65190        (WebCore::InlineTextBox::paint): Moving text drawing code from
65191        this function
65192        * rendering/RenderingAllInOne.cpp: Adding new TextPainter class
65193        * rendering/TextPainter.cpp: Added.
65194        (WebCore::TextPainter::TextPainter):
65195        (WebCore::drawTextOrEmphasisMarks):
65196        (WebCore::paintTextWithShadows):
65197        (WebCore::rotation):
65198        (WebCore::TextPainter::paintText): New location for text drawing
65199        code
65200        (WebCore::TextPainter::paintTextInContext):
65201        * rendering/TextPainter.h: Added.
65202        (WebCore::SavedDrawingStateForMask::SavedDrawingStateForMask):
65203        (WebCore::TextPainter::boxRect):
65204
652052013-10-29  Jer Noble  <jer.noble@apple.com>
65206
65207        [MSE] [Mac] Enable MediaSource on the Mac
65208        https://bugs.webkit.org/show_bug.cgi?id=122484
65209
65210        Reviewed by Darin Adler.
65211
65212        Enable ENABLE_MEDIA_SOURCE.
65213
65214        * Configurations/FeatureDefines.xcconfig:
65215
652162013-10-29  Tim Horton  <timothy_horton@apple.com>
65217
65218        Build fix after 158223; make TileController use float for scales.
65219
65220        This matches what we do in other places, and fixes the constant
65221        issue with exporting symbols that include CGFloat.
65222
65223        * WebCore.exp.in:
65224        * platform/graphics/ca/mac/TileController.h:
65225        (WebCore::TileController::scale):
65226        * platform/graphics/ca/mac/TileController.mm:
65227        (WebCore::TileController::setScale):
65228
652292013-10-29  Antti Koivisto  <antti@apple.com>
65230
65231        Try to keep MSVC happy.
65232
65233        * rendering/SimpleLineLayout.h:
65234        (WebCore::SimpleLineLayout::Run::Run):
65235
652362013-10-29  Tim Horton  <timothy_horton@apple.com>
65237
65238        More correct build fix after 158223.
65239
65240        Only fails in release because it's inline.
65241
65242        * WebCore.exp.in:
65243
652442013-10-29  Antti Koivisto  <antti@apple.com>
65245
65246        Use left/right instead of left/width for simple text runs
65247        https://bugs.webkit.org/show_bug.cgi?id=123465
65248
65249        Reviewed by Andreas Kling.
65250
65251        This simplifies the code a bit.
65252
65253        * rendering/SimpleLineLayout.cpp:
65254        (WebCore::SimpleLineLayout::adjustRunOffsets):
65255        (WebCore::SimpleLineLayout::create):
65256        * rendering/SimpleLineLayout.h:
65257        (WebCore::SimpleLineLayout::Run::Run):
65258        * rendering/SimpleLineLayoutResolver.h:
65259        (WebCore::SimpleLineLayout::RunResolver::Run::rect):
65260
652612013-10-29  Tim Horton  <timothy_horton@apple.com>
65262
65263        Try fixing the Mac build (though I have no idea why
65264        this wouldn't fail locally)...
65265
65266        * WebCore.exp.in:
65267
652682013-10-29  Tim Horton  <timothy_horton@apple.com>
65269
65270        Remote Layer Tree: Support tiled drawing and use it for the main frame
65271        https://bugs.webkit.org/show_bug.cgi?id=123422
65272
65273        Reviewed by Simon Fraser.
65274
65275        * WebCore.exp.in:
65276        * WebCore.xcodeproj/project.pbxproj:
65277
652782013-10-29  Eric Carlson  <eric.carlson@apple.com>
65279
65280        [Mac MediaStream] implement AVFoundation backed MediaStreamSource
65281        https://bugs.webkit.org/show_bug.cgi?id=123316
65282
65283        Reviewed by Jer Noble
65284
65285        No new tests, existing tests updated.
65286
65287        * CMakeLists.txt: Add MediaStreamSourceStates.cpp.
65288
65289        * Modules/mediastream/MediaSourceStates.cpp:
65290        (WebCore::MediaSourceStates::MediaSourceStates): m_SourceStates -> m_sourceStates.
65291        (WebCore::MediaSourceStates::sourceType): Ditto.
65292        (WebCore::MediaSourceStates::facingMode): Ditto.
65293        * Modules/mediastream/MediaSourceStates.h: Ditto.
65294        * Modules/mediastream/MediaSourceStates.idl: Mark some attributes as optional.
65295
65296        * Modules/mediastream/MediaStream.cpp:
65297        (WebCore::MediaStream::addTrack):
65298        (WebCore::MediaStream::removeTrack):
65299        (WebCore::MediaStream::addRemoteSource):
65300        (WebCore::MediaStream::removeRemoteSource):
65301
65302        * Modules/mediastream/MediaStreamCapabilities.cpp:
65303        (WebCore::MediaStreamCapabilities::sourceType): MediaSourceStates -> MediaStreamSourceStates
65304        (WebCore::MediaStreamCapabilities::facingMode): Ditto.
65305
65306        * Modules/mediastream/MediaStreamTrack.cpp:
65307        (WebCore::MediaStreamTrack::MediaStreamTrack): Don't observe source changes directly, let the
65308            private track do that. Change private track parameter to ref because it can't be NULL.
65309        (WebCore::MediaStreamTrack::~MediaStreamTrack): Ditto.
65310        (WebCore::MediaStreamTrack::setSource): Pass through to private track.
65311        (WebCore::MediaStreamTrack::stopped): Ditto.
65312        (WebCore::MediaStreamTrack::states): Ditto.
65313        (WebCore::MediaStreamTrack::capabilities): Ditto.
65314        (WebCore::MediaStreamTrack::applyConstraints): Ditto.
65315        (WebCore::MediaStreamTrack::stopProducingData): Ditto.
65316        (WebCore::MediaStreamTrack::trackReadyStateChanged): Renamed from sourceStateChanged. Don't
65317            schedule an 'ended' event if called as a side effect of the stop() method having been
65318            called as per spec.
65319        (WebCore::MediaStreamTrack::trackMutedChanged): Renamed from sourceMutedChanged.
65320        (WebCore::MediaStreamTrack::trackEnabledChanged): Renamed from sourceEnabledChanged.
65321        (WebCore::MediaStreamTrack::stop): Pass through to private track.
65322        * Modules/mediastream/MediaStreamTrack.h:
65323        (WebCore::MediaStreamTrack::Observer::~Observer): Add virtual destructor.
65324
65325        * Modules/mediastream/UserMediaRequest.cpp:
65326        (WebCore::UserMediaRequest::callSuccessHandler): Set track, not source, constraints.
65327
65328        * WebCore.xcodeproj/project.pbxproj: Add new files.
65329
65330        * bindings/js/JSMediaSourceStatesCustom.cpp:
65331        (WebCore::JSMediaSourceStates::facingMode): Return jsUndefined when the facing mode
65332            is Unknown.
65333
65334        * platform/mediastream/MediaStreamCenter.h: Remove unused class forward defines and
65335            undefined method prototype.
65336
65337        * platform/mediastream/MediaStreamDescriptor.cpp:
65338        (WebCore::MediaStreamDescriptor::addSource): ASSERT if source is kind None.
65339        (WebCore::MediaStreamDescriptor::removeSource): Ditto.
65340        (WebCore::MediaStreamDescriptor::MediaStreamDescriptor):
65341
65342        * platform/mediastream/MediaStreamSource.cpp:
65343        (WebCore::MediaStreamSource::setReadyState): Call startProducingData when readyState changes
65344            to Live, stopProducingData when it changes to Ended.
65345        (WebCore::MediaStreamSource::removeObserver): Call stop() when there are no more observers.
65346        (WebCore::MediaStreamSource::setEnabled): If passed false, do nothing unless all observers
65347            are disabled. Call startProducingData/stopProducingData when becoming enabled/disabled.
65348        (WebCore::MediaStreamSource::stop): Don't bother checking to see if other observers have
65349            stopped, the spec says that track.stop() should permanently stop the track's source.
65350        * platform/mediastream/MediaStreamSource.h:
65351        (WebCore::MediaStreamSource::name): Make virtual so derived classes can override.
65352        (WebCore::MediaStreamSource::setName): Ditto.
65353        (WebCore::MediaStreamSource::readyState): Ditto.
65354        (WebCore::MediaStreamSource::enabled): Ditto.
65355        (WebCore::MediaStreamSource::muted): Ditto.
65356        (WebCore::MediaStreamSource::setReadonly): Ditto.
65357        (WebCore::MediaStreamSource::remote): Ditto.
65358        (WebCore::MediaStreamSource::setRemote): Ditto.
65359        (WebCore::MediaStreamSource::startProducingData): Added.
65360        (WebCore::MediaStreamSource::stopProducingData): Added.
65361
65362        * platform/mediastream/MediaStreamSourceCapabilities.h: Move MediaStreamSourceStates to
65363            its own file.
65364
65365        * platform/mediastream/MediaStreamSourceStates.cpp: Added.
65366        (WebCore::MediaStreamSourceStates::facingMode): Moved here from MediaSourceStates so the 
65367            strings are available to platform code.
65368        (WebCore::MediaStreamSourceStates::sourceType): Ditto.
65369        * platform/mediastream/MediaStreamSourceStates.h: Added, moved from MediaStreamSourceCapabilities.h.
65370
65371        * platform/mediastream/MediaStreamTrackPrivate.cpp:
65372        (WebCore::MediaStreamTrackPrivate::create): Pass private track to constructor as PassRefPtr.
65373        (WebCore::MediaStreamTrackPrivate::MediaStreamTrackPrivate): Initialize member variables.
65374        (WebCore::MediaStreamTrackPrivate::~MediaStreamTrackPrivate): Unregister as source observer.
65375        (WebCore::MediaStreamTrackPrivate::setSource): Unregister/register as source observer.
65376        (WebCore::MediaStreamTrackPrivate::setEnabled): Enable/disable source, call client.
65377        (WebCore::MediaStreamTrackPrivate::stop): New. Set readyState to Ended, optionally stop source.
65378        (WebCore::MediaStreamTrackPrivate::setReadyState): Inline the logic from shouldFireTrackReadyStateChanged.
65379        (WebCore::MediaStreamTrackPrivate::constraints): New, passthrough to the source.
65380        (WebCore::MediaStreamTrackPrivate::states): Ditto.
65381        (WebCore::MediaStreamTrackPrivate::type): Ditto.
65382        (WebCore::MediaStreamTrackPrivate::capabilities): Ditto.
65383        (WebCore::MediaStreamTrackPrivate::applyConstraints): Ditto.
65384        (WebCore::MediaStreamTrackPrivate::sourceReadyStateChanged): React to source changes.
65385        (WebCore::MediaStreamTrackPrivate::sourceMutedChanged): Ditto.
65386        (WebCore::MediaStreamTrackPrivate::sourceEnabledChanged): Ditto.
65387        (WebCore::MediaStreamTrackPrivate::observerIsEnabled): Respond to source query.
65388        (WebCore::MediaStreamTrackPrivate::observerIsStopped): Ditto.
65389        * platform/mediastream/MediaStreamTrackPrivate.h:
65390
65391        * platform/mediastream/mac/AVAudioCaptureSource.h: Added.
65392        * platform/mediastream/mac/AVAudioCaptureSource.mm: Added.
65393
65394        * platform/mediastream/mac/AVCaptureDeviceManager.h: Added.
65395        * platform/mediastream/mac/AVCaptureDeviceManager.mm: Added.
65396
65397        * platform/mediastream/mac/AVMediaCaptureSource.h: Added.
65398        * platform/mediastream/mac/AVMediaCaptureSource.mm: Added.
65399
65400        * platform/mediastream/mac/AVVideoCaptureSource.h: Added.
65401        * platform/mediastream/mac/AVVideoCaptureSource.mm: Added.
65402
65403        * platform/mediastream/mac/MediaStreamCenterMac.cpp:
65404        (WebCore::MediaStreamCenterMac::validateRequestConstraints): Implement.
65405        (WebCore::MediaStreamCenterMac::createMediaStream): Ditto.
65406        (WebCore::MediaStreamCenterMac::getMediaStreamTrackSources): Ditto.
65407
65408        * platform/mock/MockMediaStreamCenter.cpp:
65409        (WebCore::initializeMockSources): Update for MediaStreamSourceStates changes.
65410        (WebCore::MockMediaStreamCenter::createMediaStream):
65411
654122013-10-29  Zoltan Horvath  <zoltan@webkit.org>
65413
65414        [CSS Regions][CSS Shapes] Layout error when the shape has negative top coordinate and it's applied on the second region
65415        <https://webkit.org/b/123346>
65416
65417        Reviewed by David Hyatt.
65418
65419        We have a layout error when there is a shape applied on the second region, and it has a negative 'top' coordinate.
65420        Since shapeInsideInfo::shapeLogicalTop() can return negative numbers, we need to check for it, when we're positioning
65421        the first line in the region.
65422
65423        Test: fast/regions/shape-inside/shape-inside-on-multiple-regions-with-negative-shape-top.html
65424
65425        * rendering/RenderBlockLineLayout.cpp:
65426        (WebCore::RenderBlockFlow::updateShapeAndSegmentsForCurrentLineInFlowThread):
65427
654282013-10-29  Brady Eidson  <beidson@apple.com>
65429
65430        Get IDBTransactionBackendLevelDBOperations *almost* ready to go cross platform.
65431        https://bugs.webkit.org/show_bug.cgi?id=123451
65432
65433        Reviewed by NOBODY (My bad, non-reviewed, non-building code got in there)
65434
65435        * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
65436        (WebCore::IDBDatabaseBackendImpl::processPendingCalls): Remove the auto line I was trying from review feedback.
65437
654382013-10-29  Brady Eidson  <beidson@apple.com>
65439
65440        Get IDBTransactionBackendLevelDBOperations *almost* ready to go cross platform.
65441        https://bugs.webkit.org/show_bug.cgi?id=123451
65442
65443        Reviewed by Andreas Kling.
65444
65445        This involves:
65446        - Splitting out IDBTransactionBackendLevelDB::Operation into its own header
65447        - Splitting out IDBDatabaseBackendImpl::PendingOpenCall into its own header
65448        - Reworking the LevelDB Operations to handle the base class IDBTransactionBackendInterface
65449        - Adding virtual methods in a few of the *Interface classes to support the above
65450
65451        * GNUmakefile.list.am:
65452        * WebCore.xcodeproj/project.pbxproj:
65453
65454        * Modules/indexeddb/IDBCallbacks.h:
65455
65456        * Modules/indexeddb/IDBCursorBackendInterface.h:
65457
65458        * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
65459        (WebCore::IDBDatabaseBackendImpl::setIndexKeys):
65460        (WebCore::IDBDatabaseBackendImpl::processPendingCalls):
65461        (WebCore::IDBDatabaseBackendImpl::openConnection):
65462        (WebCore::IDBDatabaseBackendImpl::runIntVersionChangeTransaction):
65463        * Modules/indexeddb/IDBDatabaseBackendImpl.h:
65464        * Modules/indexeddb/IDBDatabaseBackendInterface.h:
65465
65466        * Modules/indexeddb/IDBOperation.h: Added.
65467        (WebCore::IDBOperation::~IDBOperation):
65468
65469        * Modules/indexeddb/IDBPendingOpenCall.h: Added.
65470        (WebCore::IDBPendingOpenCall::create):
65471        (WebCore::IDBPendingOpenCall::callbacks):
65472        (WebCore::IDBPendingOpenCall::databaseCallbacks):
65473        (WebCore::IDBPendingOpenCall::version):
65474        (WebCore::IDBPendingOpenCall::transactionId):
65475        (WebCore::IDBPendingOpenCall::IDBPendingOpenCall):
65476
65477        * Modules/indexeddb/IDBRequest.h:
65478
65479        * Modules/indexeddb/IDBTransactionBackendInterface.h:
65480
65481        * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp:
65482        (WebCore::IDBCursorBackendLevelDB::CursorIterationOperation::create):
65483        (WebCore::IDBCursorBackendLevelDB::CursorAdvanceOperation::create):
65484        (WebCore::IDBCursorBackendLevelDB::CursorPrefetchIterationOperation::create):
65485        (WebCore::IDBCursorBackendLevelDB::IDBCursorBackendLevelDB):
65486        * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h:
65487
65488        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp:
65489        (WebCore::IDBTransactionBackendLevelDB::scheduleTask):
65490        (WebCore::IDBTransactionBackendLevelDB::abort):
65491        (WebCore::IDBTransactionBackendLevelDB::taskTimerFired):
65492        (WebCore::IDBTransactionBackendLevelDB::schedulePutOperation):
65493        (WebCore::IDBTransactionBackendLevelDB::scheduleOpenCursorOperation):
65494        (WebCore::IDBTransactionBackendLevelDB::scheduleCountOperation):
65495        (WebCore::IDBTransactionBackendLevelDB::scheduleDeleteRangeOperation):
65496        (WebCore::IDBTransactionBackendLevelDB::scheduleClearOperation):
65497        (WebCore::IDBTransactionBackendLevelDB::createCursorBackend):
65498        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:
65499
65500        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.cpp:
65501        (WebCore::CreateObjectStoreOperation::perform):
65502        (WebCore::CreateIndexOperation::perform):
65503        (WebCore::CreateIndexAbortOperation::perform):
65504        (WebCore::DeleteIndexOperation::perform):
65505        (WebCore::DeleteIndexAbortOperation::perform):
65506        (WebCore::OpenCursorOperation::perform):
65507        (WebCore::DeleteObjectStoreOperation::perform):
65508        (WebCore::IDBDatabaseBackendImpl::VersionChangeOperation::perform):
65509        (WebCore::CreateObjectStoreAbortOperation::perform):
65510        (WebCore::DeleteObjectStoreAbortOperation::perform):
65511        (WebCore::IDBDatabaseBackendImpl::VersionChangeAbortOperation::perform):
65512        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.h:
65513        (WebCore::CreateObjectStoreOperation::create):
65514        (WebCore::CreateObjectStoreOperation::CreateObjectStoreOperation):
65515        (WebCore::DeleteObjectStoreOperation::create):
65516        (WebCore::DeleteObjectStoreOperation::DeleteObjectStoreOperation):
65517        (WebCore::IDBDatabaseBackendImpl::VersionChangeOperation::create):
65518        (WebCore::IDBDatabaseBackendImpl::VersionChangeOperation::VersionChangeOperation):
65519        (WebCore::CreateObjectStoreAbortOperation::create):
65520        (WebCore::CreateObjectStoreAbortOperation::CreateObjectStoreAbortOperation):
65521        (WebCore::DeleteObjectStoreAbortOperation::create):
65522        (WebCore::DeleteObjectStoreAbortOperation::DeleteObjectStoreAbortOperation):
65523        (WebCore::IDBDatabaseBackendImpl::VersionChangeAbortOperation::create):
65524        (WebCore::IDBDatabaseBackendImpl::VersionChangeAbortOperation::VersionChangeAbortOperation):
65525        (WebCore::CreateIndexOperation::create):
65526        (WebCore::CreateIndexOperation::CreateIndexOperation):
65527        (WebCore::CreateIndexAbortOperation::create):
65528        (WebCore::CreateIndexAbortOperation::CreateIndexAbortOperation):
65529        (WebCore::DeleteIndexOperation::create):
65530        (WebCore::DeleteIndexOperation::DeleteIndexOperation):
65531        (WebCore::DeleteIndexAbortOperation::create):
65532        (WebCore::DeleteIndexAbortOperation::DeleteIndexAbortOperation):
65533        (WebCore::GetOperation::create):
65534        (WebCore::GetOperation::GetOperation):
65535        (WebCore::PutOperation::create):
65536        (WebCore::PutOperation::PutOperation):
65537        (WebCore::SetIndexesReadyOperation::create):
65538        (WebCore::SetIndexesReadyOperation::SetIndexesReadyOperation):
65539        (WebCore::OpenCursorOperation::create):
65540        (WebCore::OpenCursorOperation::OpenCursorOperation):
65541        (WebCore::CountOperation::create):
65542        (WebCore::CountOperation::CountOperation):
65543        (WebCore::DeleteRangeOperation::create):
65544        (WebCore::DeleteRangeOperation::DeleteRangeOperation):
65545        (WebCore::ClearOperation::create):
65546        (WebCore::ClearOperation::ClearOperation):
65547
655482013-10-29  Antti Koivisto  <antti@apple.com>
65549
65550        Make SimpleLineLayout::Layout a variable size object
65551        https://bugs.webkit.org/show_bug.cgi?id=123459
65552
65553        Reviewed by Andreas Kling.
65554
65555        Less memory, less indirection.
65556
65557        * rendering/SimpleLineLayout.cpp:
65558        (WebCore::SimpleLineLayout::canUseFor):
65559        (WebCore::SimpleLineLayout::create):
65560        (WebCore::SimpleLineLayout::Layout::create):
65561        (WebCore::SimpleLineLayout::Layout::Layout):
65562        * rendering/SimpleLineLayout.h:
65563        * rendering/SimpleLineLayoutFunctions.cpp:
65564        (WebCore::SimpleLineLayout::hitTestFlow):
65565        * rendering/SimpleLineLayoutFunctions.h:
65566        (WebCore::SimpleLineLayout::computeFlowFirstLineBaseline):
65567        (WebCore::SimpleLineLayout::computeFlowLastLineBaseline):
65568        (WebCore::SimpleLineLayout::findTextCaretMinimumOffset):
65569        (WebCore::SimpleLineLayout::findTextCaretMaximumOffset):
65570        (WebCore::SimpleLineLayout::containsTextCaretOffset):
65571        (WebCore::SimpleLineLayout::isTextRendered):
65572        * rendering/SimpleLineLayoutResolver.h:
65573        (WebCore::SimpleLineLayout::RunResolver::end):
65574
655752013-10-29  Andreas Kling  <akling@apple.com>
65576
65577        RenderObject::outlineStyleForRepaint() should return a reference.
65578        <https://webkit.org/b/123453>
65579
65580        Kill a FIXME and make outlineStyleForRepaint() return a RenderStyle&.
65581
65582        Reviewed by Antti Koivisto.
65583
655842013-10-29  Andreas Kling  <akling@apple.com>
65585
65586        Move more of SVG resources cache to using RenderElement.
65587        <https://webkit.org/b/123452>
65588
65589        Make some more RenderSVGResourcesCache methods take RenderElement&
65590        instead of RenderObject*.
65591
65592        Also removed a double hash lookup in removeResourcesFromRenderer().
65593
65594        Reviewed by Antti Koivisto.
65595
655962013-10-29  Joseph Pecoraro  <pecoraro@apple.com>
65597
65598        Web Inspector: Remove old Inspector.json version files and generators
65599        https://bugs.webkit.org/show_bug.cgi?id=123426
65600
65601        Reviewed by Timothy Hatcher.
65602
65603        * CMakeLists.txt:
65604        * DerivedSources.make:
65605        * GNUmakefile.am:
65606        * GNUmakefile.list.am:
65607        * WebCore.xcodeproj/project.pbxproj:
65608        * inspector/Inspector-0.1.json: Removed.
65609        * inspector/Inspector-1.0.json: Removed.
65610        * inspector/generate-inspector-protocol-version: Removed.
65611
656122013-10-29  Philippe Normand  <pnormand@igalia.com>
65613
65614        [GTK] DOM bindings documentation errors
65615        https://bugs.webkit.org/show_bug.cgi?id=123448
65616
65617        Reviewed by Carlos Garcia Campos.
65618
65619        * bindings/gobject/WebKitDOMCustom.h: Basic documentation for
65620        return types.
65621        * bindings/scripts/CodeGeneratorGObject.pm:
65622        (GenerateFunction): Generate Returns documentation tag for
65623        non-void return types and provide basic documentation.
65624        * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.h:
65625        Reset tests results.
65626        * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
65627        * bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.h:
65628        * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.h:
65629        * bindings/scripts/test/GObject/WebKitDOMTestException.h:
65630        * bindings/scripts/test/GObject/WebKitDOMTestInterface.h:
65631        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
65632        * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
65633        * bindings/scripts/test/GObject/WebKitDOMTestTypedefs.h:
65634        * bindings/scripts/test/GObject/WebKitDOMattribute.h:
65635
656362013-10-24  Brent Fulgham  <bfulgham@apple.com>
65637
65638        Invalid cast in WebCore::toRenderMathMLBlock
65639        https://bugs.webkit.org/show_bug.cgi?id=121728
65640        rdar://problem/15046151
65641
65642        Reviewed by Dean Jackson.
65643
65644        Tested by: mathml/arbitrary-markup.html
65645
65646        * dom/Element.h: Expose childShouldCreateRenderer for
65647        MathML as well as SVG builds.
65648        * dom/Node.h: 
65649        (WebCore::Node::isMathMLElement): Added.
65650        * mathml/MathMLElement.cpp:
65651        (WebCore::MathMLElement::create): Create as MathML Element.
65652        (WebCore::MathMLElement::childShouldCreateRenderer):
65653        Only allow the child to emit a renderer if it is a
65654        MathML element.
65655        * mathml/MathMLElement.h:
65656
656572013-10-29  Andreas Kling  <akling@apple.com>
65658
65659        SVG: applyStrokeStyleToContext should take a RenderElement&.
65660        <https://webkit.org/b/123447>
65661
65662        ..and a RenderStyle& too, for that matter.
65663
65664        Reviewed by Anders Carlsson.
65665
65666        * rendering/svg/SVGRenderSupport.h:
65667        * rendering/svg/SVGRenderSupport.cpp:
65668        (WebCore::SVGRenderSupport::applyStrokeStyleToContext):
65669
65670            Have this take a RenderElement& and RenderStyle& instead of
65671            raw pointers. Tweaked a silly-looking loop.
65672
65673        * rendering/svg/RenderSVGShape.h:
65674        * rendering/svg/RenderSVGShape.cpp:
65675
65676            Moved BoundingRectStrokeStyleApplier helper class into the
65677            cpp file since it wasn't being used anywhere else.
65678
65679        * rendering/svg/RenderSVGResourceGradient.cpp:
65680        (WebCore::RenderSVGResourceGradient::applyResource):
65681        * rendering/svg/RenderSVGResourcePattern.cpp:
65682        (WebCore::RenderSVGResourcePattern::applyResource):
65683        * rendering/svg/RenderSVGResourceSolidColor.cpp:
65684        (WebCore::RenderSVGResourceSolidColor::applyResource):
65685
65686            Remove ampersands.
65687
656882013-10-29  Antti Koivisto  <antti@apple.com>
65689
65690        Multiple runs per line on simple line path
65691        https://bugs.webkit.org/show_bug.cgi?id=123446
65692
65693        Reviewed by Andreas Kling.
65694
65695        By allowing multiple runs per line we can support text flows with consecutive whitespaces in the middle.
65696
65697        * rendering/SimpleLineLayout.cpp:
65698        (WebCore::SimpleLineLayout::canUseFor):
65699        
65700            Remove space test.
65701            The improved test coverage found a few more cases that we need to disallow.
65702
65703        (WebCore::SimpleLineLayout::adjustRunOffsets):
65704            
65705            Round the run positions and widths so they match line boxes.
65706            Adjust for text-align.
65707
65708        (WebCore::SimpleLineLayout::create):
65709        
65710            Split lines with consecutive spaces into runs.
65711
65712        * rendering/SimpleLineLayout.h:
65713        (WebCore::SimpleLineLayout::Run::Run):
65714        * rendering/SimpleLineLayoutFunctions.cpp:
65715        (WebCore::SimpleLineLayout::hitTestFlow):
65716        (WebCore::SimpleLineLayout::collectFlowOverflow):
65717        (WebCore::SimpleLineLayout::computeTextBoundingBox):
65718        * rendering/SimpleLineLayoutResolver.h:
65719        (WebCore::SimpleLineLayout::RunResolver::Iterator::resolver):
65720        (WebCore::SimpleLineLayout::RunResolver::Iterator::lineIndex):
65721        (WebCore::SimpleLineLayout::RunResolver::Run::Run):
65722        (WebCore::SimpleLineLayout::RunResolver::Run::rect):
65723        (WebCore::SimpleLineLayout::RunResolver::Run::baseline):
65724        (WebCore::SimpleLineLayout::RunResolver::Run::text):
65725        (WebCore::SimpleLineLayout::RunResolver::Run::lineIndex):
65726        (WebCore::SimpleLineLayout::RunResolver::Iterator::Iterator):
65727        (WebCore::SimpleLineLayout::RunResolver::Iterator::operator++):
65728        
65729            Removed unnecessary operators.
65730
65731        (WebCore::SimpleLineLayout::RunResolver::Iterator::operator==):
65732        (WebCore::SimpleLineLayout::RunResolver::Iterator::operator!=):
65733        (WebCore::SimpleLineLayout::RunResolver::Iterator::operator*):
65734        (WebCore::SimpleLineLayout::RunResolver::Iterator::simpleRun):
65735        (WebCore::SimpleLineLayout::RunResolver::RunResolver):
65736        (WebCore::SimpleLineLayout::RunResolver::begin):
65737        (WebCore::SimpleLineLayout::RunResolver::end):
65738        
65739            Resolver -> RunResolver
65740
65741        (WebCore::SimpleLineLayout::LineResolver::Iterator::Iterator):
65742        (WebCore::SimpleLineLayout::LineResolver::Iterator::operator++):
65743        (WebCore::SimpleLineLayout::LineResolver::Iterator::operator==):
65744        (WebCore::SimpleLineLayout::LineResolver::Iterator::operator!=):
65745        (WebCore::SimpleLineLayout::LineResolver::Iterator::operator*):
65746        (WebCore::SimpleLineLayout::LineResolver::LineResolver):
65747        (WebCore::SimpleLineLayout::LineResolver::begin):
65748        (WebCore::SimpleLineLayout::LineResolver::end):
65749        
65750            Add LineResolver around RunResolver. It resolves the line rectangles.
65751
65752        (WebCore::SimpleLineLayout::runResolver):
65753        (WebCore::SimpleLineLayout::lineResolver):
65754
657552013-10-29  Chris Fleizach  <cfleizach@apple.com>
65756
65757        AX: elements with explicit tabindex should expose AXFocused as writable, since mouse clicks can focus it
65758        https://bugs.webkit.org/show_bug.cgi?id=121335
65759
65760        Reviewed by Mario Sanchez Prada.
65761
65762        Re-order logic that determines if a <span> should appear as an accessible element. 
65763        The change is that if an element canSetFocus() it should always be in the AX tree.
65764
65765        Test: accessibility/tabindex-elements-are-accessible.html
65766
65767        * accessibility/AccessibilityRenderObject.cpp:
65768        (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
65769        (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
65770
657712013-10-29  Philippe Normand  <pnormand@igalia.com>
65772
65773        [GTK] enable media-stream in build-webkit
65774        https://bugs.webkit.org/show_bug.cgi?id=123144
65775
65776        Reviewed by Martin Robinson.
65777
65778        * GNUmakefile.list.am: Add new MediaStream files to the GTK port build.
65779
657802013-10-28  Chris Fleizach  <cfleizach@apple.com>
65781
65782        AX: Webkit does not expose AXRequired on input type=file
65783        https://bugs.webkit.org/show_bug.cgi?id=123376
65784
65785        Reviewed by Mario Sanchez Prada.
65786
65787        File upload buttons should expose AXRequired, since they take an input state.
65788
65789        * accessibility/AccessibilityNodeObject.cpp:
65790        (WebCore::AccessibilityNodeObject::supportsRequiredAttribute):
65791        (WebCore::AccessibilityNodeObject::alternativeText):
65792
657932013-10-29  Jinwoo Song  <jinwoo7.song@samsung.com>
65794
65795        Re-enable simple line layout for EFL
65796        https://bugs.webkit.org/show_bug.cgi?id=123402
65797
65798        Reviewed by Antti Koivisto.
65799
65800        * rendering/SimpleLineLayout.cpp:
65801        (WebCore::SimpleLineLayout::canUseFor): 8-bit TextRun support is now enabled for EFL port, so the port
65802        can use the simple line layout.
65803
658042013-10-29  Zan Dobersek  <zdobersek@igalia.com>
65805
65806        Unreviewed, follow-up to r158185. Export the required symbol.
65807        This should fix the Mac debug build.
65808
65809        * WebCore.exp.in:
65810
658112013-10-29  Santosh Mahto  <santosh.ma@samsung.com>
65812
65813        Text selected with double-click gets unselected after DOM modification
65814        https://bugs.webkit.org/show_bug.cgi?id=114227
65815
65816        Reviewed by Ryosuke Niwa.
65817
65818        Before this patch when selection is done by double-click (start and base remain
65819        same) and DOM is modified then selection gets vanished. This does not
65820        happen when selection is done by dragging mouse. This happens because
65821        on double-click base and extent remain the same and on DOM
65822        modification we update the selection with base and extent, so we loose
65823        the selection. Since in double-click case start/end contain the
65824        correct selection, same should be used after dom modification to
65825        update selection.
65826
65827        Test: editing/selection/double-click-selection-with-dom-mutation.html
65828
65829        * editing/FrameSelection.cpp:
65830        (WebCore::FrameSelection::textWasReplaced): use start/end to update
65831        selection in case double click selection. Added a check for base !=
65832        extent, if base != extent use base/extent to update the selection
65833        otherwise use start/end with directionality check.
65834
658352013-10-29  Mihnea Ovidenie  <mihnea@adobe.com>
65836
65837        [CSSRegions] Display anonymous regions in DRT
65838        https://bugs.webkit.org/show_bug.cgi?id=122963
65839
65840        Reviewed by Alexandru Chiculita.
65841
65842        After https://bugs.webkit.org/show_bug.cgi?id=119135, css regions are modelled using an anonymous
65843        RenderNamedFlowFragment object inside the block having a valid -webkit-flow-from.
65844        This patch changes the way elements | pseudo-elements with -webkit-flow-from are displayed
65845        in test dumps.
65846
65847        Before:
65848            RenderRegion {DIV} at (200,200) size 52x52 [border: (1px solid #000000)]
65849        After:
65850            RenderBlock (positioned) {DIV} at (200,200) size 52x52 [border: (1px solid #000000)]
65851                RenderNamedFlowFragment at (1,1) size 50x50
65852
65853        Before:
65854            Flow Threads
65855                Thread with flow-name 'article'
65856                Regions for flow 'article'
65857                    RenderRegion {DIV} #region_1
65858                    RenderRegion {DIV} #region_2
65859        After:
65860            Named flows
65861                Named flow 'article'
65862                Regions for named flow 'article'
65863                    RenderNamedFlowFragment (anonymous child of {DIV::before} #region_1)
65864                    RenderNamedFlowFragment (anonymous child of {DIV} #region_2)
65865
65866        Changed existing tests based on the new dumps.
65867
65868        * rendering/RenderBlock.cpp:
65869        (WebCore::RenderBlock::renderName):
65870        * rendering/RenderNamedFlowFragment.h: Add a comment explaining the purpose of the class.
65871        * rendering/RenderRegion.h:
65872        * rendering/RenderTreeAsText.cpp:
65873        (WebCore::write):
65874        (WebCore::writeRenderRegionList): Adjust function to display info for anonymous regions too.
65875        (WebCore::writeRenderNamedFlowThreads): Separate dump of valid and invalid regions for a named flow.
65876
658772013-10-29  Zan Dobersek  <zdobersek@igalia.com>
65878
65879        Move writeIndent, overloaded << operators from RenderTreeAsText to TextStream
65880        https://bugs.webkit.org/show_bug.cgi?id=116012
65881
65882        Reviewed by Simon Fraser.
65883
65884        The writeIndent method and overloaded << operators for writing out vectors and points and rectangles
65885        of various types are not specific to the render tree nor do they depend on any rendering-specific interface.
65886
65887        * page/scrolling/ScrollingStateNode.cpp:
65888        * page/scrolling/ScrollingStateNode.h:
65889        (ScrollingStateNode): Remove the writeIndent declaration, it's functionally the same as the TextStream method.
65890        * platform/graphics/GraphicsLayer.cpp:
65891        * platform/graphics/GraphicsLayer.h:
65892        (GraphicsLayer): Ditto.
65893        * platform/graphics/filters/DistantLightSource.cpp: Remove the RenderTreeAsText.h inclusion or replace it with
65894        the inclusion of the TextStream.h header where required. The writeIndent method is now declared there.
65895        * platform/graphics/filters/FEBlend.cpp: Ditto.
65896        * platform/graphics/filters/FEColorMatrix.cpp: Ditto.
65897        * platform/graphics/filters/FEComponentTransfer.cpp: Ditto.
65898        * platform/graphics/filters/FEComposite.cpp: Ditto.
65899        * platform/graphics/filters/FEConvolveMatrix.cpp: Ditto.
65900        * platform/graphics/filters/FECustomFilter.cpp: Ditto.
65901        * platform/graphics/filters/FEDiffuseLighting.cpp: Ditto.
65902        * platform/graphics/filters/FEDisplacementMap.cpp: Ditto.
65903        * platform/graphics/filters/FEDropShadow.cpp: Ditto.
65904        * platform/graphics/filters/FEFlood.cpp: Ditto.
65905        * platform/graphics/filters/FEGaussianBlur.cpp: Ditto.
65906        * platform/graphics/filters/FEMerge.cpp: Ditto.
65907        * platform/graphics/filters/FEMorphology.cpp: Ditto.
65908        * platform/graphics/filters/FEOffset.cpp: Ditto.
65909        * platform/graphics/filters/FESpecularLighting.cpp: Ditto.
65910        * platform/graphics/filters/FETurbulence.cpp: Ditto.
65911        * platform/graphics/filters/SourceAlpha.cpp: Ditto.
65912        * platform/graphics/filters/SourceGraphic.cpp: Ditto.
65913        * platform/text/TextStream.cpp: Move the writeIndent and operators' definitions here.
65914        (WebCore::operator<<):
65915        (WebCore):
65916        (WebCore::writeIndent):
65917        * platform/text/TextStream.h: Move the writeIndent and operators' declarations here.
65918        (WebCore):
65919        (TextStream):
65920        (WebCore::TextStream::operator<<):
65921        * rendering/RenderTreeAsText.cpp: Move the writeIndent and operators' definitions into TextStream.
65922        (WebCore):
65923        * rendering/RenderTreeAsText.h: Move the writeIndent and operators' declarations into TextStream.
65924        (WebCore):
65925
659262013-10-28  Zan Dobersek  <zdobersek@igalia.com>
65927
65928        Clean up ScopedEventQueue
65929        https://bugs.webkit.org/show_bug.cgi?id=123408
65930
65931        Reviewed by Darin Adler.
65932
65933        Clean up the ScopedEventQueue implementation. ScopedEventQueue::instance() should return a reference to a
65934        NeverDestroyed<ScopedEventQueue> object. The static ScopedEventQueue::s_instance pointer is removed.
65935
65936        The ScopedEventQueue destructor, the dispatchAllEvents method and the scope level incrementation/decrementation
65937        methods are made private. NeverDestroyed<ScopedEventQueue> and EventQueueScope are made friends of the
65938        ScopedEventQueue class so they can access the constructor and the incrementation/decrementation methods, respectively.
65939
65940        ScopedEventQueue method definitions are reordered to follow the order of their declarations in the header file.
65941        ScopedEventQueue::dispatchAllEvents() now uses std::move to efficiently dispatch and clear all currently queued events.
65942
65943        * dom/EventDispatcher.cpp:
65944        (WebCore::EventDispatcher::dispatchScopedEvent):
65945        * dom/ScopedEventQueue.cpp:
65946        (WebCore::ScopedEventQueue::instance):
65947        (WebCore::ScopedEventQueue::dispatchAllEvents):
65948        * dom/ScopedEventQueue.h:
65949        (WebCore::EventQueueScope::EventQueueScope):
65950        (WebCore::EventQueueScope::~EventQueueScope):
65951
659522013-10-28  Andreas Kling  <akling@apple.com>
65953
65954        applyTextTransform() should take a const RenderStyle&.
65955        <https://webkit.org/b/123434>
65956
65957        This function is always called with an existing RenderStyle object.
65958
65959        Reviewed by Anders Carlsson.
65960
659612013-10-28  Andreas Kling  <akling@apple.com>
65962
65963        RenderSVGResource::applyResource() should take a const RenderStyle&.
65964        <https://webkit.org/b/123433>
65965
65966        These functions are always called with an existing RenderStyle object
65967        so let them take a const reference instead of a raw pointer.
65968        Also sprinkled some missing OVERRIDEs.
65969
65970        Reviewed by Anders Carlsson.
65971
659722013-10-28  Andreas Kling  <akling@apple.com>
65973
65974        Remove unused RenderTextControl::textBaseStyle().
65975        <https://webkit.org/b/123432>
65976
65977        Reviewed by Anders Carlsson.
65978
659792013-10-28  Zan Dobersek  <zdobersek@igalia.com>
65980
65981        HTML input type objects should be managed through std::unique_ptr
65982        https://bugs.webkit.org/show_bug.cgi?id=123160
65983
65984        Reviewed by Darin Adler.
65985
65986        Make the constructors of the InputType subclasses public. This makes it possible to use std::make_unique on these classes
65987        and makes the T::create() helpers redundant. New instances of these classes are now managed through std::unique_ptr.
65988
65989        InputType::create() now uses a NeverDestroyed InputTypeFactoryMap that maps type names to InputTypeFactoryFunctions and
65990        gets populated when the method is first called and the map is still empty. Certain types are not added to the factory map
65991        if they're disabled at runtime.
65992
65993        The factory is used to create the new InputType object if the requested type was found in the map, and TextInputType is used otherwise.
65994
65995        * html/ButtonInputType.cpp:
65996        * html/ButtonInputType.h:
65997        (WebCore::ButtonInputType::ButtonInputType):
65998        * html/CheckboxInputType.cpp:
65999        * html/CheckboxInputType.h:
66000        (WebCore::CheckboxInputType::CheckboxInputType):
66001        * html/ColorInputType.cpp:
66002        * html/ColorInputType.h:
66003        (WebCore::ColorInputType::ColorInputType):
66004        * html/DateInputType.cpp:
66005        * html/DateInputType.h:
66006        * html/DateTimeInputType.cpp:
66007        * html/DateTimeInputType.h:
66008        (WebCore::DateTimeInputType::DateTimeInputType):
66009        * html/DateTimeLocalInputType.cpp:
66010        * html/DateTimeLocalInputType.h:
66011        (WebCore::DateTimeLocalInputType::DateTimeLocalInputType):
66012        * html/EmailInputType.cpp:
66013        * html/EmailInputType.h:
66014        (WebCore::EmailInputType::EmailInputType):
66015        * html/FileInputType.cpp:
66016        * html/FileInputType.h:
66017        * html/HTMLInputElement.cpp:
66018        (WebCore::HTMLInputElement::updateType):
66019        * html/HTMLInputElement.h:
66020        * html/HiddenInputType.cpp:
66021        * html/HiddenInputType.h:
66022        (WebCore::HiddenInputType::HiddenInputType):
66023        * html/ImageInputType.cpp:
66024        (WebCore::ImageInputType::ImageInputType):
66025        * html/ImageInputType.h:
66026        * html/InputType.cpp:
66027        (WebCore::createInputType): A templated helper that constructs a new InputType subclass object through std::make_unique.
66028        (WebCore::populateInputTypeFactoryMap): Populates the passed-in map with type-createInputType<T> pairs.
66029        (WebCore::InputType::create): Get the InputTypeFactoryFunction for the specified type, or fall back to TextInputType.
66030        (WebCore::InputType::createText):
66031        * html/InputType.h:
66032        * html/MonthInputType.cpp:
66033        * html/MonthInputType.h:
66034        (WebCore::MonthInputType::MonthInputType):
66035        * html/NumberInputType.cpp:
66036        * html/NumberInputType.h:
66037        (WebCore::NumberInputType::NumberInputType):
66038        * html/PasswordInputType.cpp:
66039        * html/PasswordInputType.h:
66040        (WebCore::PasswordInputType::PasswordInputType):
66041        * html/RadioInputType.cpp:
66042        * html/RadioInputType.h:
66043        (WebCore::RadioInputType::RadioInputType):
66044        * html/RangeInputType.cpp:
66045        * html/RangeInputType.h:
66046        * html/ResetInputType.cpp:
66047        * html/ResetInputType.h:
66048        (WebCore::ResetInputType::ResetInputType):
66049        * html/SearchInputType.cpp:
66050        (WebCore::SearchInputType::SearchInputType):
66051        * html/SearchInputType.h:
66052        * html/SubmitInputType.cpp:
66053        * html/SubmitInputType.h:
66054        (WebCore::SubmitInputType::SubmitInputType):
66055        * html/TelephoneInputType.cpp:
66056        * html/TelephoneInputType.h:
66057        (WebCore::TelephoneInputType::TelephoneInputType):
66058        * html/TextInputType.cpp:
66059        * html/TextInputType.h:
66060        (WebCore::TextInputType::TextInputType):
66061        * html/TimeInputType.cpp:
66062        * html/TimeInputType.h:
66063        * html/URLInputType.cpp:
66064        * html/URLInputType.h:
66065        (WebCore::URLInputType::URLInputType):
66066        * html/WeekInputType.cpp:
66067        * html/WeekInputType.h:
66068        (WebCore::WeekInputType::WeekInputType):
66069
660702013-10-28  Brady Eidson  <beidson@apple.com>
66071
66072        Refactor IDB factory creation.
66073        https://bugs.webkit.org/show_bug.cgi?id=123347
66074
66075        Reviewed by Andreas Kling.
66076
66077        - Rework how database directory location is passed around.
66078        - Make (some) SecurityOrigin arguments be references instead of pointers.
66079        - Add two SecurityOrigin arguments to opening databases for future use.
66080
66081        * Modules/indexeddb/IDBFactory.cpp:
66082        (WebCore::IDBFactory::openInternal):
66083
66084        * Modules/indexeddb/IDBFactoryBackendInterface.cpp:
66085        (WebCore::IDBFactoryBackendInterface::create):
66086        * Modules/indexeddb/IDBFactoryBackendInterface.h:
66087
66088        * Modules/indexeddb/PageGroupIndexedDatabase.cpp:
66089        (WebCore::PageGroupIndexedDatabase::PageGroupIndexedDatabase):
66090        (WebCore::PageGroupIndexedDatabase::from):
66091        (WebCore::PageGroupIndexedDatabase::factoryBackend):
66092        * Modules/indexeddb/PageGroupIndexedDatabase.h:
66093
66094        * Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.cpp:
66095        (WebCore::WorkerGlobalScopeIndexedDatabase::WorkerGlobalScopeIndexedDatabase):
66096        (WebCore::WorkerGlobalScopeIndexedDatabase::from):
66097        (WebCore::WorkerGlobalScopeIndexedDatabase::indexedDB):
66098        * Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.h:
66099
66100        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
66101        (WebCore::IDBBackingStoreLevelDB::open):
66102        (WebCore::IDBBackingStoreLevelDB::openInMemory):
66103        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
66104
66105        * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
66106        (WebCore::computeFileIdentifier):
66107        (WebCore::computeUniqueIdentifier):
66108        (WebCore::IDBFactoryBackendLevelDB::IDBFactoryBackendLevelDB):
66109        (WebCore::IDBFactoryBackendLevelDB::getDatabaseNames):
66110        (WebCore::IDBFactoryBackendLevelDB::deleteDatabase):
66111        (WebCore::IDBFactoryBackendLevelDB::openBackingStore):
66112        (WebCore::IDBFactoryBackendLevelDB::open):
66113        * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
66114        (WebCore::IDBFactoryBackendLevelDB::create):
66115
66116        * WebCore.exp.in:
66117
66118        * platform/DatabaseStrategy.cpp:
66119        (WebCore::DatabaseStrategy::createIDBFactoryBackend):
66120        * platform/DatabaseStrategy.h:
66121
661222013-10-28  Andreas Kling  <akling@apple.com>
66123
66124        RenderElement::style() should return a reference.
66125        <https://webkit.org/b/123414>
66126
66127        Now that renderers always have style, go ahead and make style()
66128        return a RenderStyle&.
66129
66130        There are countless opportunities for further cleanup enabled by
66131        this change. I'm simply passing &style() in many cases where we
66132        can really do something nicer instead.
66133
66134        Reviewed by Anders Carlsson.
66135
661362013-10-28  Tim Horton  <timothy_horton@apple.com>
66137
66138        Make TileController create the appropriate PlatformCALayer subclasses
66139        https://bugs.webkit.org/show_bug.cgi?id=123418
66140
66141        Reviewed by Simon Fraser.
66142
66143        Add PlatformCALayer::createCompatibleLayer, which is overridden in
66144        each of the subclasses to create a PlatformCALayer instance of the same
66145        subclass. This is used in TileController to make bare PlatformCALayers
66146        of the correct type (Mac, Win, or Remote).
66147
66148        * platform/graphics/ca/PlatformCALayer.h:
66149        * platform/graphics/ca/mac/PlatformCALayerMac.h:
66150        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
66151        (PlatformCALayerMac::createCompatibleLayer):
66152        * platform/graphics/ca/win/PlatformCALayerWin.cpp:
66153        (PlatformCALayerWin::createCompatibleLayer):
66154        * platform/graphics/ca/win/PlatformCALayerWin.h:
66155        Add createCompatibleLayer and implement it in the subclasses.
66156
66157        * platform/graphics/ca/mac/TileController.mm:
66158        (WebCore::TileController::TileController):
66159        (WebCore::TileController::tiledScrollingIndicatorLayer):
66160        (WebCore::TileController::createTileLayer):
66161        Make use of createCompatibleLayer when creating PlatformCALayers.
66162
661632013-10-28  Alexandru Chiculita  <achicu@adobe.com>
66164
66165        Web Inspector: CSS Regions: Add protocol API to expose content nodes addition/removal
66166        https://bugs.webkit.org/show_bug.cgi?id=123424
66167
66168        Reviewed by Timothy Hatcher.
66169
66170        Test: inspector-protocol/model/content-flow-content-nodes.html
66171
66172        Adding two new inspector-protocol APIs to handle the cases when new elements are
66173        added or removed from a named flow. These APIs will trigger even though there
66174        is no region associated with the named flow.
66175
66176        * inspector/Inspector.json:
66177        * inspector/InspectorCSSAgent.cpp:
66178        (WebCore::InspectorCSSAgent::didRegisterNamedFlowContentElement):
66179        (WebCore::InspectorCSSAgent::didUnregisterNamedFlowContentElement):
66180        * inspector/InspectorCSSAgent.h:
66181        * inspector/InspectorInstrumentation.cpp:
66182        (WebCore::InspectorInstrumentation::didRegisterNamedFlowContentElementImpl):
66183        (WebCore::InspectorInstrumentation::didUnregisterNamedFlowContentElementImpl):
66184        * inspector/InspectorInstrumentation.h:
66185        (WebCore::InspectorInstrumentation::didRegisterNamedFlowContentElement):
66186        (WebCore::InspectorInstrumentation::didUnregisterNamedFlowContentElement):
66187        * rendering/RenderNamedFlowThread.cpp:
66188        (WebCore::RenderNamedFlowThread::registerNamedFlowContentElement):
66189        (WebCore::RenderNamedFlowThread::unregisterNamedFlowContentElement):
66190
661912013-10-28  Joseph Pecoraro  <pecoraro@apple.com>
66192
66193        Web Inspector: Remove unused inspector/inline-javascript-imports.py
66194        https://bugs.webkit.org/show_bug.cgi?id=123425
66195
66196        Reviewed by Timothy Hatcher.
66197
66198        * inspector/inline-javascript-imports.py: Removed.
66199
662002013-10-28  Joseph Pecoraro  <pecoraro@apple.com>
66201
66202        Web Inspector: Remove unused "externs" files and generators
66203        https://bugs.webkit.org/show_bug.cgi?id=123427
66204
66205        Reviewed by Timothy Hatcher.
66206
66207        * inspector/InjectedScriptExterns.js: Removed.
66208        * inspector/generate_protocol_externs.py: Removed.
66209
662102013-10-28  Joseph Pecoraro  <pecoraro@apple.com>
66211
66212        Upstream remaining PLATFORM(IOS) and ENABLE(REMOTE_INSPECTOR) pieces
66213        https://bugs.webkit.org/show_bug.cgi?id=123411
66214
66215        Reviewed by Timothy Hatcher.
66216
66217        Include an InspectorClient hook for when node searching is enabled / disabled.
66218
66219        * inspector/InspectorClient.h:
66220        (WebCore::InspectorClient::didSetSearchingForNode):
66221        * inspector/InspectorDOMAgent.cpp:
66222        (WebCore::InspectorDOMAgent::setSearchingForNode):
66223        * inspector/InspectorOverlay.cpp:
66224        (WebCore::InspectorOverlay::didSetSearchingForNode):
66225        * inspector/InspectorOverlay.h:
66226
662272013-10-28  Benjamin Poulain  <benjamin@webkit.org>
66228
66229        Rename applyPageScaleFactorInCompositor to delegatesPageScaling
66230        https://bugs.webkit.org/show_bug.cgi?id=123417
66231
66232        Reviewed by Simon Fraser.
66233
66234        * page/Frame.cpp:
66235        (WebCore::Frame::frameScaleFactor):
66236        * page/FrameView.cpp:
66237        (WebCore::FrameView::visibleContentScaleFactor):
66238        * page/Page.cpp:
66239        (WebCore::Page::setPageScaleFactor):
66240        * page/Settings.in:
66241        * platform/ScrollView.h:
66242        * rendering/RenderLayerCompositor.cpp:
66243        (WebCore::RenderLayerCompositor::addToOverlapMap):
66244
662452013-10-28  Myles C. Maxfield  <mmaxfield@apple.com>
66246
66247        Parsing support for -webkit-text-decoration-skip: ink
66248        https://bugs.webkit.org/show_bug.cgi?id=123358
66249
66250        Reviewed by Dean Jackson.
66251
66252        Adds initial parsing support for parsing -webkit-text-decoration-skip with
66253        values of "none" and "ink". This work is behind the new
66254        ENABLE(CSS3_TEXT_DECORATION) compile-time flag.
66255
66256        Test: fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-roundtrip.html
66257
66258        * Configurations/FeatureDefines.xcconfig: Adding ENABLE(CSS3_TEXT_DECORATION)
66259        * css/CSSComputedStyleDeclaration.cpp: Mapping internal representation of text-decoration-skip
66260        to a CSSValue
66261        (WebCore::renderTextDecorationSkipFlagsToCSSValue):
66262        (WebCore::ComputedStyleExtractor::propertyValue):
66263        * css/CSSParser.cpp: Actually parsing tokens
66264        (WebCore::CSSParser::parseValue):
66265        (WebCore::CSSParser::parseTextDecorationSkip):
66266        * css/CSSParser.h:
66267        * css/CSSPropertyNames.in: adding -webkit-text-decoration-skip
66268        * css/CSSValueKeywords.in: adding ink
66269        * css/DeprecatedStyleBuilder.cpp: Mapping from CSSValue to internal representation
66270        (WebCore::ApplyPropertyTextDecorationSkip::valueToDecorationSkip):
66271        (WebCore::ApplyPropertyTextDecorationSkip::applyValue):
66272        (WebCore::ApplyPropertyTextDecorationSkip::createHandler):
66273        (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
66274        * css/StyleResolver.cpp: decoration-skip uses DeprecatedStyleBuilder
66275        (WebCore::StyleResolver::applyProperty):
66276        * rendering/style/RenderStyle.h: Adding functions for modifying and accessing decoration-skip properties
66277        * rendering/style/RenderStyleConstants.h: Definition of internal representation
66278        * rendering/style/StyleRareInheritedData.cpp: Setting up constructors and comparators
66279        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
66280        (WebCore::StyleRareInheritedData::operator==):
66281        * rendering/style/StyleRareInheritedData.h: Holds actual value of internal representation
66282
662832013-10-28  Anders Carlsson  <andersca@apple.com>
66284
66285        RunLoop::dispatch should take an std::function
66286        https://bugs.webkit.org/show_bug.cgi?id=123407
66287
66288        Reviewed by Andreas Kling.
66289
66290        * WebCore.exp.in:
66291        * platform/RunLoop.cpp:
66292        (WebCore::RunLoop::performWork):
66293        (WebCore::RunLoop::dispatch):
66294        * platform/RunLoop.h:
66295
662962013-10-28  Tim Horton  <timothy_horton@apple.com>
66297
66298        Make TileController manipulate PlatformCALayers instead of CALayers
66299        https://bugs.webkit.org/show_bug.cgi?id=123279
66300
66301        Reviewed by Simon Fraser.
66302
66303        In the interest of making TileController more platform-independent
66304        (so that it can be used with the remote layer tree, and maybe Windows),
66305        move TileController onto our PlatformCALayer abstraction instead of
66306        direct manipulation of CALayers.
66307
66308        Some fallout from this includes getting rid of special Mac-specific
66309        TileController-specific CALayer subclasses, and reworking tile
66310        painting to work in a more generic way.
66311
66312        This is a first step, and doesn't get us all the way to a platform independent
66313        TileController, but more patches are forthcoming.
66314
66315        No new tests, just a (largeish) refactor.
66316
66317        * WebCore.exp.in:
66318        The signature of some methods has changed.
66319
66320        * WebCore.xcodeproj/project.pbxproj:
66321        Remove WebTileLayer.*
66322
66323        * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
66324        (WebCore::ScrollingTreeScrollingNodeMac::logExposedUnfilledArea):
66325        Use the "isTile" key on the CALayer dictionary instead of the layer's
66326        class to determine if it's a tile. TileController will set this on a tile
66327        when it is created, for now.
66328
66329        * platform/graphics/TiledBacking.h:
66330        tiledScrollingIndicatorLayer() should return a PlatformCALayer.
66331
66332        * platform/graphics/ca/GraphicsLayerCA.cpp:
66333        (WebCore::GraphicsLayerCA::platformCALayerPaintContents):
66334        * platform/graphics/ca/GraphicsLayerCA.h:
66335        (WebCore::GraphicsLayerCA::platformCALayerIncrementRepaintCount):
66336        * platform/graphics/ca/PlatformCALayerClient.h:
66337        The PlatformCALayerClient paintContents and incrementRepaintCount callbacks
66338        should include the platformCALayer that caused the callback.
66339
66340        * platform/graphics/ca/PlatformCALayer.h:
66341        Add LayerTypeSimpleLayer, which is similar to LayerTypeWebLayer
66342        except it just calls back its client to paint, instead of doing
66343        complicated things with repaint rects. This is so that TileController
66344        doesn't re-enter drawLayerContents when asking its GraphicsLayer
66345        to paint for each PlatformCALayer (it will be entering drawLayerContents
66346        for the first time for each layer). It also happens to be useful
66347        for things like the tile controller overlay, which don't need
66348        all that complication.
66349
66350        Add LayerTypeTiledBackingTileLayer, which is used simply to distinguish
66351        TileController Tile layers from other LayerTypeSimpleLayers.
66352
66353        * platform/graphics/ca/mac/LayerPool.h:
66354        * platform/graphics/ca/mac/LayerPool.mm:
66355        (WebCore::LayerPool::addLayer):
66356        (WebCore::LayerPool::takeLayerWithSize):
66357        LayerPool should operate on PlatformCALayers now.
66358
66359        * platform/graphics/ca/mac/PlatformCALayerMac.h:
66360        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
66361        (PlatformCALayerMac::PlatformCALayerMac):
66362        Set the "isTile" key on the CALayer to true for TiledBackingTileLayers,
66363        so that the scrolling performance logging can tell a tile apart from
66364        any other layer, on the scrolling thread, without touching PlatformCALayers
66365        or the TileController or any other main-thread data structures.
66366
66367        (PlatformCALayerMac::setEdgeAntialiasingMask): Added.
66368        * platform/graphics/ca/mac/TileController.h:
66369        Remove references to Objective-C classes; instead use PlatformCALayer everywhere.
66370        TileController is now a PlatformCALayerClient, and the layers it owns are
66371        all PlatformCALayers (and it is constructed with a PlatformCALayer, etc.).
66372        Hand in the tile debug border color as a WebCore color, instead of a CGColorRef.
66373        blankPixelCountForTiles() now operates on a list of PlatformLayers instead of
66374        WebTileLayers specifically, since WebTileLayer is gone.
66375        Make drawTileMapContents private because WebTileCacheMapLayer no longer exists.
66376
66377        (WebCore::TileController::platformCALayerDrawsContent):
66378        All of the layers who have TileController as their client paint their contents.
66379
66380        (WebCore::TileController::platformCALayerContentsOpaque):
66381        This will only be called for layers which paint via drawLayerContents,
66382        so it's OK that we don't special-case the debugging overlay here.
66383
66384        (WebCore::TileController::owningGraphicsLayer):
66385        Return the GraphicsLayer that owns the TileController's main
66386        layer, via its conformance to PlatformCALayerClient. This is
66387        a bit strange (because it's not strictly a GraphicsLayer, despite
66388        always being so at the moment), but is done for clarity inside
66389        TileController itself.
66390
66391        * platform/graphics/ca/mac/TileController.mm:
66392        Remove CALayer (WebCALayerDetails), WebTiledScrollingIndicatorLayer,
66393        and a bunch of includes that we don't need anymore.
66394
66395        (WebCore::TileController::create):
66396        (WebCore::TileController::TileController):
66397        TileController is passed a PlatformCALayer for the tile cache root layer,
66398        instead of a WebTiledBackingLayer. It also creates a PlatformCALayer with
66399        LayerTypeLayer instead of a bare CALayer for the container layer.
66400        It's OK to remove the transaction because it was only used to stop
66401        the implicit animation, which PlatformCALayer will do for us.
66402
66403        (WebCore::TileController::~TileController):
66404        Clear the owner of the PlatformCALayers which the TileController previously owned,
66405        so they don't try to call back a destroyed TileController.
66406
66407        (WebCore::TileController::tileCacheLayerBoundsChanged):
66408        (WebCore::TileController::setNeedsDisplay):
66409        Straightforward adjustments towards use of PlatformCALayer.
66410
66411        (WebCore::TileController::setTileNeedsDisplayInRect):
66412        Adjustments towards use of PlatformCALayer; we need FloatRects so we can
66413        pass pointers to PlatformCALayer::setNeedsDisplay.
66414
66415        (WebCore::TileController::platformCALayerPaintContents):
66416        Replace drawLayer with platformCALayerPaintContents, which will be called
66417        back from our various WebSimpleLayers. If the PlatformCALayer is our
66418        tiled scrolling debug indicator, paint that. Otherwise, it's a tile.
66419        Make use of drawLayerContents() to paint the tile contents.
66420        Make use of drawRepaintIndicator() to paint the repaint indicator if needed.
66421        Move scrolling performance logging code that used to be in WebTileLayer here.
66422
66423        (WebCore::TileController::platformCALayerDeviceScaleFactor):
66424        (WebCore::TileController::platformCALayerShowDebugBorders):
66425        (WebCore::TileController::platformCALayerShowRepaintCounter):
66426        Forward these to the owning GraphicsLayerCA, because it will have the right answers.
66427
66428        (WebCore::TileController::setScale):
66429        Adjustments towards use of PlatformCALayer; remove some code that Simon
66430        caused to be unused in 156291 but did not remove.
66431
66432        (WebCore::TileController::setAcceleratesDrawing):
66433        (WebCore::TileController::setTilesOpaque):
66434        (WebCore::TileController::setVisibleRect):
66435        (WebCore::TileController::revalidateTiles):
66436        (WebCore::TileController::setTileDebugBorderWidth):
66437        (WebCore::TileController::setTileDebugBorderColor):
66438        (WebCore::TileController::bounds):
66439        (WebCore::TileController::blankPixelCount):
66440        (WebCore::TileController::blankPixelCountForTiles):
66441        (WebCore::queueTileForRemoval):
66442        (WebCore::TileController::setNeedsRevalidateTiles):
66443        (WebCore::TileController::ensureTilesForRect):
66444        (WebCore::TileController::retainedTileBackingStoreMemory):
66445        Straightforward adjustments towards use of PlatformCALayer.
66446
66447        (WebCore::TileController::updateTileCoverageMap):
66448        Adjustments towards use of PlatformCALayer; rename backgroundColor
66449        to visibleRectIndicatorColor, since it's actually a border, not a background.
66450
66451        (WebCore::TileController::tiledScrollingIndicatorLayer):
66452        Create a LayerTypeSimpleLayer PlatformCALayer for the tiled scrolling indicator.
66453        It will be asked to paint straightforwardly, like a CALayer would.
66454        Create a LayerTypeLayer PlatformCALayer for the visible rect indicator.
66455        It doesn't need to paint anything, so it doesn't get an owner.
66456
66457        (WebCore::TileController::createTileLayer):
66458        When creating a new tile layer, adopt it by setting its owner.
66459        Otherwise, straightforward adjustments towards use of PlatformCALayer.
66460
66461        (WebCore::TileController::platformCALayerIncrementRepaintCount):
66462        Manage repaint counts for tiles in TileController now.
66463
66464        (WebCore::TileController::drawTileMapContents):
66465        Adjustments towards use of PlatformCALayer.
66466
66467        * platform/graphics/ca/mac/WebTileLayer.h: Removed.
66468        * platform/graphics/ca/mac/WebTileLayer.mm: Removed.
66469        We don't need WebTileLayer anymore, tiles are now just WebSimpleLayers
66470        owned by TileController. Its behavior has been moved into TileController.
66471
66472        * platform/graphics/ca/mac/WebTiledBackingLayer.h:
66473        * platform/graphics/ca/mac/WebTiledBackingLayer.mm:
66474        (-[WebTiledBackingLayer createTileController:]):
66475        Add createTileController: so that the WebTiledBackingLayer's owner can
66476        hand the TileController the PlatformCALayer for the WebTiledBackingLayer
66477        without propagating additional usage of PlatformCALayer::platformCALayer(),
66478        which we need to remove in light of the remote layer tree work.
66479
66480        (-[WebTiledBackingLayer setBorderColor:]):
66481
66482        * platform/graphics/ca/win/PlatformCALayerWin.h:
66483        Add an empty implementation of setEdgeAntialiasingMask.
66484        We'll probably want to implement it before adopting TileController on Windows.
66485
66486        * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:
66487        (PlatformCALayerWinInternal::displayCallback):
66488        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
66489        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerPaintContents):
66490        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerIncrementRepaintCount):
66491        * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
66492        (WebCore::LayerClient::platformCALayerPaintContents):
66493        (WebCore::LayerClient::platformCALayerIncrementRepaintCount):
66494        Adjust for new parameters on PlatformCALayerClient callbacks.
66495
66496        * platform/graphics/mac/WebLayer.h:
66497        Add WebSimpleLayer, which inherits directly from CALayer, and make
66498        our standard WebLayer (which is used for compositing layers in web content)
66499        inherit from that.
66500
66501        * platform/graphics/mac/WebLayer.mm:
66502        Move most of the behavior of WebLayer onto WebSimpleLayer, except for its
66503        complex painting code. That stays as an override on WebLayer.
66504
66505        (WebCore::drawLayerContents):
66506        Use the PlatformCALayer's PlatformLayer - if it exists - to extract
66507        fine-grained repaint rects. If it doesn't, we'll just use the CGContext's
66508        clip rect as our single repaint rect.
66509        Rename platformLayer to platformCALayer for accuracy.
66510        Remove special code for CATiledLayer since we ought not use it on Mac anymore.
66511
66512        (WebCore::drawRepaintIndicator):
66513        Factor repaint indicator code out into its own function so that TileController
66514        can use it. It can't be called from drawLayerContents for TileController, since
66515        the PlatformCALayer that TileController passes in to drawLayerContents is actually
66516        that of the tile cache's root layer, not the tile itself.
66517        Also, add a custom background color parameter so TileController can override
66518        the default green color with its own standard purple.
66519
66520        (-[WebLayer drawInContext:]):
66521        (-[WebSimpleLayer drawInContext:]):
66522        * platform/graphics/mac/WebTiledLayer.mm:
66523        (-[WebTiledLayer drawInContext:]):
66524        Removed a param from drawLayerContents because it's trivially acquirable
66525        from the PlatformCALayer.
66526
665272013-10-24  Sam Weinig  <sam@webkit.org>
66528
66529        Move RenderBlock functions only used by RenderBlockFlow to RenderBlockFlow
66530        https://bugs.webkit.org/show_bug.cgi?id=123318
66531
66532        Reviewed by David Hyatt.
66533
66534        * rendering/LineLayoutState.h:
66535        Move FloatWithRect from RenderBlock.
66536
66537        * rendering/RenderBlock.cpp:
66538        * rendering/RenderBlock.h:
66539        * rendering/RenderBlockFlow.cpp:
66540        * rendering/RenderBlockFlow.h:
66541        * rendering/RenderBlockLineLayout.cpp:
66542        Move pagination and float functions.
66543
665442013-10-28  Sergio Villar Senin  <svillar@igalia.com>
66545
66546        [CSS Grid Layout] Add support for order inside grid items
66547        https://bugs.webkit.org/show_bug.cgi?id=123208
66548
66549        Reviewed by Antti Koivisto.
66550
66551        Based on Blink r153457 and r153536 by <jchaffraix@chromium.org>
66552
66553        Added support for sorting grid items by using -webkit-order
66554        property. Used OrderIterator to implement it so it had to be moved
66555        out of RenderFlexibleBox to be shared with RenderGrid.
66556
66557        Tests: fast/css-grid-layout/grid-item-order-auto-flow-resolution.html
66558               fast/css-grid-layout/grid-item-order-paint-order.html
66559
66560        * CMakeLists.txt: Added new file.
66561        * GNUmakefile.list.am: Ditto.
66562        * WebCore.vcxproj/WebCore.vcxproj: Ditto.
66563        * WebCore.xcodeproj/project.pbxproj: Ditto.
66564        * rendering/OrderIterator.cpp: Added. Ripped out of RenderFlexibleBox.
66565        (WebCore::OrderIterator::OrderIterator):
66566        (WebCore::OrderIterator::setOrderValues): Use std::move semantics.
66567        (WebCore::OrderIterator::first): Use an integer as iterator.
66568        (WebCore::OrderIterator::next): Ditto.
66569        (WebCore::OrderIterator::reset): Ditto.
66570        * rendering/OrderIterator.h: Added.
66571        (WebCore::OrderIterator::currentChild):
66572        * rendering/RenderFlexibleBox.cpp:
66573        (WebCore::RenderFlexibleBox::RenderFlexibleBox):
66574        (WebCore::RenderFlexibleBox::layoutBlock):
66575        * rendering/RenderFlexibleBox.h:
66576        * rendering/RenderGrid.cpp:
66577        (WebCore::RenderGrid::RenderGrid):
66578        (WebCore::RenderGrid::placeItemsOnGrid):
66579        (WebCore::RenderGrid::populateExplicitGridAndOrderIterator):
66580        (WebCore::RenderGrid::paintChildren):
66581        * rendering/RenderGrid.h:
66582
665832013-10-28  Afonso R. Costa Jr.  <afonso.costa@samsung.com>
66584
66585        Methods on window.internals shouldn't pass a document.
66586        https://bugs.webkit.org/show_bug.cgi?id=107301
66587
66588        Reviewed by Alexey Proskuryakov.
66589
66590        Each 'Internals' instance is associated with a 'Document'. So, it
66591        is not necessary to pass a document as argument. Only nodesFromRect and
66592        layerTreeAsText methods were kept because, in some Layout Tests, the
66593        'Document' object is not the same used by Internals::contextDocument.
66594
66595        * testing/Internals.cpp: Removed 'document' parameter.
66596        (WebCore::Internals::animationsAreSuspended):
66597        (WebCore::Internals::suspendAnimations):
66598        (WebCore::Internals::resumeAnimations):
66599        (WebCore::Internals::inspectorHighlightRects):
66600        (WebCore::Internals::inspectorHighlightObject):
66601        (WebCore::Internals::setScrollViewPosition):
66602        (WebCore::Internals::setPagination):
66603        (WebCore::Internals::configurationForViewport):
66604        (WebCore::Internals::paintControlTints):
66605        (WebCore::Internals::setDelegatesScrolling):
66606        (WebCore::Internals::touchPositionAdjustedToBestClickableNode):
66607        (WebCore::Internals::touchNodeAdjustedToBestClickableNode):
66608        (WebCore::Internals::touchPositionAdjustedToBestContextMenuNode):
66609        (WebCore::Internals::touchNodeAdjustedToBestContextMenuNode):
66610        (WebCore::Internals::bestZoomableAreaForTouchPoint):
66611        (WebCore::Internals::lastSpellCheckRequestSequence):
66612        (WebCore::Internals::lastSpellCheckProcessedSequence):
66613        (WebCore::Internals::wheelEventHandlerCount):
66614        (WebCore::Internals::touchEventHandlerCount):
66615        (WebCore::Internals::setBatteryStatus):
66616        (WebCore::Internals::setNetworkInformation):
66617        (WebCore::Internals::setDeviceProximity):
66618        (WebCore::Internals::hasSpellingMarker):
66619        (WebCore::Internals::hasAutocorrectedMarker):
66620        (WebCore::Internals::isOverwriteModeEnabled):
66621        (WebCore::Internals::toggleOverwriteModeEnabled):
66622        (WebCore::Internals::consoleMessageArgumentCounts):
66623        (WebCore::Internals::hasGrammarMarker):
66624        (WebCore::Internals::numberOfScrollableAreas):
66625        (WebCore::Internals::isPageBoxVisible):
66626        (WebCore::Internals::repaintRectsAsText):
66627        (WebCore::Internals::scrollingStateTreeAsText):
66628        (WebCore::Internals::mainThreadScrollingReasons):
66629        (WebCore::Internals::nonFastScrollableRects):
66630        (WebCore::Internals::garbageCollectDocumentResources):
66631        (WebCore::Internals::insertAuthorCSS):
66632        (WebCore::Internals::insertUserCSS):
66633        (WebCore::Internals::shortcutIconURLs):
66634        (WebCore::Internals::allIconURLs):
66635        (WebCore::Internals::setHeaderHeight):
66636        (WebCore::Internals::setFooterHeight):
66637        (WebCore::Internals::webkitWillEnterFullScreenForElement):
66638        (WebCore::Internals::webkitDidEnterFullScreenForElement):
66639        (WebCore::Internals::webkitWillExitFullScreenForElement):
66640        (WebCore::Internals::webkitDidExitFullScreenForElement):
66641        (WebCore::Internals::startTrackingRepaints):
66642        (WebCore::Internals::stopTrackingRepaints):
66643        (WebCore::Internals::getCurrentCursorInfo):
66644        * testing/Internals.h:
66645        (WebCore::Internals::setPagination):
66646        * testing/Internals.idl:
66647
666482013-10-28  Xabier Rodriguez Calvar  <calvaris@igalia.com>
66649
66650        Remove HTMLMediaElement.startTime
66651        https://bugs.webkit.org/show_bug.cgi?id=123264
66652
66653        Reviewed by Eric Carlson.
66654
66655        Patch based on one by: philipj@opera.com
66656        Blink review URL: https://codereview.chromium.org/32583003
66657
66658        startTime has been removed from the HTMLMediaElement and its use
66659        in the rest of components.
66660
66661        * Modules/mediacontrols/mediaControlsApple.js:
66662        (Controller.prototype.handleRewindButtonClicked):
66663        (Controller.prototype.handleTimelineMouseMove):
66664        (Controller.prototype.updateDuration):
66665        (Controller.prototype.updateTime): Removed used of startTime().
66666        * bindings/gobject/WebKitDOMCustom.cpp:
66667        (webkit_dom_html_media_element_get_start_time):
66668        * bindings/gobject/WebKitDOMCustom.h:
66669        * bindings/gobject/WebKitDOMCustom.symbols: Added phony function.
66670        * html/HTMLMediaElement.cpp:
66671        (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
66672        (WebCore::HTMLMediaElement::isBlockedOnMediaController): Removed
66673        use of startTime()
66674        * html/HTMLMediaElement.h:
66675        * html/HTMLMediaElement.idl: Removed startTime()
66676        * rendering/RenderThemeWinCE.cpp:
66677        (WebCore::RenderThemeWinCE::paintSliderThumb): Removed use of
66678        startTime()
66679
666802013-10-28  Andreas Kling  <akling@apple.com>
66681
66682        RenderElement::m_style should be a Ref.
66683        <https://webkit.org/b/123401>
66684
66685        Made RenderElement::m_style a Ref. This codifies the fact that it
66686        can never be null after construction.
66687
66688        Removed a couple of unnecessary null checks that were exposed as
66689        compilation failures.
66690
66691        Reviewed by Antti Koivisto.
66692
666932013-10-28  Bastien Nocera <hadess@hadess.net>
66694
66695        Name all the GLib timeout sources
66696        https://bugs.webkit.org/show_bug.cgi?id=123229
66697
66698        Reviewed by Anders Carlsson.
66699
66700        Give a name to GLib timeout sources, this is helpful when
66701        profiling WebKitGTK applications.
66702
66703        No new tests, no change in functionality.
66704
667052013-10-28  Philippe Normand  <pnormand@igalia.com>
66706
66707        MediaStreamTrackPrivate's m_client uninitialized
66708        https://bugs.webkit.org/show_bug.cgi?id=123403
66709
66710        Reviewed by Eric Carlson.
66711
66712        No new tests, no change in functionality.
66713
66714        * platform/mediastream/MediaStreamTrackPrivate.cpp:
66715        (WebCore::MediaStreamTrackPrivate::MediaStreamTrackPrivate):
66716        Initialize the m_client member variable.
66717
667182013-10-28  Carlos Garcia Campos  <cgarcia@igalia.com>
66719
66720        Unreviewed. Fix make distcheck.
66721
66722        * GNUmakefile.am: Add crypto idl files to EXTRA_DIST and remove
66723        css/fullscreenQuickTime.css that was removed.
66724
667252013-10-28  Antti Koivisto  <antti@apple.com>
66726
66727        Prepare simple line layout to support multiple runs per line
66728        https://bugs.webkit.org/show_bug.cgi?id=123400
66729
66730        Reviewed by Andreas Kling.
66731
66732        Bunch of renaming and some refactoring for future support for text runs.
66733
66734        SimpleLineLayout::Lines -> SimpleLineLayout::Layout and becomes a class instead of a typedef.
66735        SimpleLineLayout::Resolver::Line -> SimpleLineLayout::Resolver::Run
66736        SimpleLineLayout::createLines() -> SimpleLineLayout::create()
66737        RenderBlockFlow::simpleLines() -> RenderBlockFlow::simpleLineLayout()
66738        RenderText::simpleLines() -> RenderText::simpleLineLayout()
66739        
66740        Added resolver construction functions:
66741        
66742        SimpleLineLayout::runResolver()
66743        SimpleLineLayout::lineResolver()
66744
667452013-10-28  Mario Sanchez Prada  <mario.prada@samsung.com>
66746
66747        [GTK] Expose title and alternative text for links in image maps
66748        https://bugs.webkit.org/show_bug.cgi?id=84045
66749
66750        Reviewed by Chris Fleizach.
66751
66752        Change the way we decide when the title attribute should be
66753        used for the accessible description, by not relying in the
66754        titleTagShouldBeUsedInDescriptionField() helper function but
66755        in whether we have found a visible text for it or not.
66756
66757        This actually mimics what the Mac port does and so makes possible
66758        to share both the layout test and its expected results.
66759
66760        * accessibility/atk/WebKitAccessibleUtil.cpp:
66761        (accessibilityDescription): Update the method to determine
66762        whether the title attribute should be used for the description.
66763
667642013-10-28  Bastien Nocera <hadess@hadess.net>
66765
66766        Replace 0 timeouts g_timeout_add() by g_idle_add()
66767        https://bugs.webkit.org/show_bug.cgi?id=123260
66768
66769        Reviewed by Carlos Garcia Campos.
66770
66771        A zero timeout should be equivalent to using g_idle_add_full(G_PRIORITY_DEFAULT, ...)
66772        without the nagging feeling that the wrong API was used.
66773
66774        No new tests, no change in functionality.
66775
66776        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: Use g_idle_add() instead
66777        of 0-timer.
66778        (WebCore::MediaPlayerPrivateGStreamer::videoChanged):
66779        (WebCore::MediaPlayerPrivateGStreamer::audioChanged):
66780        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp: Ditto.
66781        (WebCore::MediaPlayerPrivateGStreamerBase::volumeChanged):
66782        (WebCore::MediaPlayerPrivateGStreamerBase::muteChanged):
66783        * platform/gtk/GtkDragAndDropHelper.cpp: Ditto.
66784        (WebCore::GtkDragAndDropHelper::handleDragLeave):
66785
667862013-10-28  Zan Dobersek  <zdobersek@igalia.com>
66787
66788        Re-enable simple line layout for GTK
66789        https://bugs.webkit.org/show_bug.cgi?id=123388
66790
66791        Reviewed by Andreas Kling.
66792
66793        * rendering/SimpleLineLayout.cpp:
66794        (WebCore::SimpleLineLayout::canUseFor): 8-bit TextRun support is now enabled for the GTK port, so the port
66795        can use the simple line layout.
66796
667972013-10-27  Andreas Kling  <akling@apple.com>
66798
66799        Fix 4 asserting SVG tests after r158097.
66800
66801        RenderElement::setStyle() is, quite surprisingly, a virtual function
66802        with a single override in RenderSVGBlock.
66803        To match the old behavior, we have to rewrite the display type from
66804        any inline type to block instead.
66805
66806        * rendering/RenderElement.cpp:
66807        (WebCore::RenderElement::initializeStyle):
66808
668092013-10-27  Andreas Kling  <akling@apple.com>
66810
66811        Tone down overzealous assertion from r158097.
66812
66813        RenderElement::initializeStyle() really only cares that there are no
66814        text renderers that we should be calling styleDidChange() on.
66815
66816        Tweak the code to only check that there are no text children.
66817
66818        * rendering/RenderElement.cpp:
66819        (WebCore::RenderElement::initializeStyle):
66820
668212013-10-27  Antti Koivisto  <antti@apple.com>
66822
66823        Enable center and right text alignment for simple lines
66824        https://bugs.webkit.org/show_bug.cgi?id=123398
66825
66826        Reviewed by Andreas Kling.
66827
66828        Support text-align:center and text-align:right on simple line layout path.
66829
66830        * rendering/SimpleLineLayout.cpp:
66831        (WebCore::SimpleLineLayout::canUseFor):
66832        
66833            text-align:justify is still not supported.
66834
66835        (WebCore::SimpleLineLayout::computeLineLeft):
66836        (WebCore::SimpleLineLayout::createLines):
66837        
66838            Do a rounding dance that matches the line boxes.
66839
66840        * rendering/SimpleLineLayout.h:
66841        
66842            Add left position to lines.
66843
66844        * rendering/SimpleLineLayoutResolver.h:
66845        (WebCore::SimpleLineLayout::Resolver::Line::rect):
66846        
66847            We now do rounding during layout.
66848
66849        (WebCore::SimpleLineLayout::Resolver::Line::baseline):
66850
668512013-10-27  Andreas Kling  <akling@apple.com>
66852
66853        Renderers should receive their style at construction.
66854        <https://webkit.org/b/123396>
66855
66856        Pass the RenderStyle to all non-text renderer constructors.
66857        After construction, initializeStyle() must be called (as a stopgap
66858        measure) until we are able to do style-derived initialization
66859        without virtual function calls.
66860
66861        With this change, RenderElement::m_style is never null. Subsequent
66862        patches will add enforcement for this and also make style() return
66863        a RenderStyle&.
66864
66865        I'm adding three FIXME's in this patch:
66866
66867            - createRendererIfNeeded() calls AnimationController to set up
66868              the initial style manually instead of asking RenderElement's
66869              setAnimatedStyle() to do it. This can probably be done in a
66870              nicer way, but it's not clear yet how.
66871
66872            - ImageContentData::createRenderer() does a bit of unnecessary
66873              work. This should be easy to clean up but got too distracting
66874              to be part of this patch.
66875
66876            - Document::createRenderTree() creates the RenderView with an
66877              initial dummy RenderStyle. I've done this because resolving
66878              the document style assumes we already have a RenderView.
66879
66880        For styleWillChange() implementations to detect that they are
66881        reacting to the initial style, I've added a hasInitializedStyle()
66882        function on RenderElement. This will return false until you've
66883        called initializeStyle() on the renderer. This should go away
66884        along with initializeStyle() eventually.
66885
66886        Reviewed by Antti Koivisto.
66887
668882013-10-26  Tim Horton  <timothy_horton@apple.com>
66889
66890        [mac] Remove WebTiledLayer
66891        https://bugs.webkit.org/show_bug.cgi?id=123395
66892
66893        Reviewed by Anders Carlsson.
66894
66895        Mac doesn't use CATiledLayer at all anymore. We have to keep
66896        LayerTypeTiledLayer around for Windows, for now, but we can
66897        get rid of WebTiledLayer and some related Mac-specific code.
66898
66899        No new tests, just removing dead code.
66900
66901        * WebCore.xcodeproj/project.pbxproj:
66902        Remove WebTiledLayer.*
66903
66904        * platform/graphics/ca/PlatformCALayer.h:
66905        * platform/graphics/ca/mac/PlatformCALayerMac.h:
66906        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
66907        (PlatformCALayerMac::PlatformCALayerMac):
66908        Remove synchronouslyDisplayTilesInRect, which was only used for WebTiledLayer on Mac.
66909        Remove WebTiledLayer instantiation and setup code.
66910
66911        * platform/graphics/mac/WebTiledLayer.h: Removed.
66912        * platform/graphics/mac/WebTiledLayer.mm: Removed.
66913
669142013-10-26  Andreas Kling  <akling@apple.com>
66915
66916        CTTE: RenderImageResourceStyleImage always has a StyleImage.
66917        <https://webkit.org/b/123390>
66918
66919        Codify the fact that RenderImageResourceStyleImage always wraps an
66920        existing StyleImage object.
66921
66922        Reviewed by Antti Koivisto.
66923
669242013-10-26  Antti Koivisto  <antti@apple.com>
66925
66926        Revert some accidental changes.
66927
66928        * css/CSSFontFaceSource.cpp:
66929        (WebCore::CSSFontFaceSource::getFontData):
66930        * css/CSSFontSelector.cpp:
66931        * css/CSSFontSelector.h:
66932
669332013-10-26  Mark Lam  <mark.lam@apple.com>
66934
66935        Gardening: fixed broken build.
66936        https://bugs.webkit.org/show_bug.cgi?id=123354.
66937
66938        * css/CSSFontSelector.h:
66939
669402013-10-26  Antti Koivisto  <antti@apple.com>
66941
66942        fast/frames/seamless/seamless-nested-crash.html asserts on wk2 only
66943        https://bugs.webkit.org/show_bug.cgi?id=123354
66944
66945        Reviewed by Andreas Kling.
66946
66947        * rendering/SimpleLineLayout.cpp:
66948        (WebCore::SimpleLineLayout::canUseFor):
66949        
66950            Don't enable simple line layout if the primary font is loading. The code expects
66951            to use the primary font metrics for all lines but those won't match the fallbacks
66952            when font is not loaded.
66953
669542013-10-26  Carlos Garcia Campos  <cgarcia@igalia.com>
66955
66956        [GTK] Deprecate public dispatch_event method in objects implementing EventTarget interface
66957        https://bugs.webkit.org/show_bug.cgi?id=123261
66958
66959        Reviewed by Gustavo Noronha Silva.
66960
66961        The interface function should be used instead.
66962
66963        * bindings/scripts/CodeGeneratorGObject.pm:
66964        (GetFunctionDeprecationInformation): Helper function to return the
66965        version when the function was deprecated and the function
66966        replacing the deprecated one.
66967        (GenerateFunction): Check if the function is deprecated to mark it
66968        as such in the header and API docs.
66969        * bindings/scripts/gobject-generate-headers.pl: Replace the unused
66970        WEBKIT_OBSOLETE_API macro with new macros to mark function as
66971        deprecated, using the glib macros so that we don't need checks for
66972        the platform.
66973        * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.h:
66974        * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
66975        * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.h:
66976        * bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.h:
66977        * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.h:
66978        * bindings/scripts/test/GObject/WebKitDOMTestException.h:
66979        * bindings/scripts/test/GObject/WebKitDOMTestInterface.h:
66980        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
66981        * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
66982        * bindings/scripts/test/GObject/WebKitDOMTestTypedefs.h:
66983        * bindings/scripts/test/GObject/WebKitDOMattribute.h:
66984
669852013-10-25  Mark Lam  <mark.lam@apple.com>
66986
66987        DatabaseManager's ProposedDatabases need to be thread-safe.
66988        https://bugs.webkit.org/show_bug.cgi?id=123313.
66989
66990        Reviewed by Geoffrey Garen.
66991
66992        No new tests.
66993
66994        * Modules/webdatabase/DatabaseManager.cpp:
66995        (WebCore::DatabaseManager::DatabaseManager):
66996        (WebCore::DatabaseManager::existingDatabaseContextFor):
66997        (WebCore::DatabaseManager::registerDatabaseContext):
66998        (WebCore::DatabaseManager::unregisterDatabaseContext):
66999        (WebCore::DatabaseManager::didConstructDatabaseContext):
67000        (WebCore::DatabaseManager::didDestructDatabaseContext):
67001        (WebCore::DatabaseManager::openDatabaseBackend):
67002        (WebCore::DatabaseManager::addProposedDatabase):
67003        (WebCore::DatabaseManager::removeProposedDatabase):
67004        (WebCore::DatabaseManager::fullPathForDatabase):
67005        (WebCore::DatabaseManager::detailsForNameAndOrigin):
67006        * Modules/webdatabase/DatabaseManager.h:
67007
670082013-10-25  Joseph Pecoraro  <pecoraro@apple.com>
67009
67010        Upstream ENABLE(REMOTE_INSPECTOR) and enable on iOS and Mac
67011        https://bugs.webkit.org/show_bug.cgi?id=123111
67012
67013        Reviewed by Timothy Hatcher.
67014
67015        * Configurations/FeatureDefines.xcconfig:
67016        * WebCore.exp.in:
67017
670182013-10-25  Hans Muller  <hmuller@adobe.com>
67019
67020        [CSS Shapes] CORS-enabled fetch for shape image values
67021        https://bugs.webkit.org/show_bug.cgi?id=123114
67022
67023        Reviewed by Andreas Kling.
67024
67025        Access to shape images is now controlled by CORS CSS shape per
67026        http://dev.w3.org/csswg/css-shapes/#shape-outside-property.
67027        Previously shape images had to be same-origin.
67028
67029        Shape image URL access is defined by the same logic that defines
67030        canvas tainting: same-origin and data URLs are allowed and images
67031        with a "Access-Control-Allow-Origin:" header that's either "*" or
67032        that matches the document's origin.
67033
67034        A PotentiallyCrossOriginEnabled RequestOriginPolicy was added to
67035        ResourceLoaderOptions, to indicate that a "potentially CORS-enabled fetch"
67036        was to be undertaken. The CSSImageValue::cachedImage() method handles this
67037        option by effectively setting the "Origin:" request header (see
67038        updateRequestForAccessControl() in CrossOriginAccessControl.cpp).
67039        StyleResolver::loadPendingShapeImage() uses the new ResourceLoaderOption.
67040
67041        The static ShapeInsideInfo and ShapeOutsideInfo isEnabledFor() method
67042        now performs the CORS check for image valued shapes. The private
67043        isOriginClean() method from CanvasRenderingContext2D has been moved to
67044        the CachedImage class so that it can be shared by the Canvas and Shape
67045        implementations. It checks the response headers per the CORS spec.
67046
67047        Test: http/tests/security/shape-image-cors.html
67048
67049        * css/CSSImageValue.cpp:
67050        (WebCore::CSSImageValue::cachedImage): Handle the new ResourceLoaderOption.
67051        * css/StyleResolver.cpp:
67052        (WebCore::StyleResolver::loadPendingShapeImage): Set the new ResourceLoaderOption.
67053        * html/canvas/CanvasRenderingContext2D.cpp:
67054        (WebCore::CanvasRenderingContext2D::createPattern): Use the CachedImage::isOriginClean().
67055        * loader/ResourceLoaderOptions.h: Added PotentiallyCrossOriginEnabled to RequestOriginPolicy.
67056        * loader/cache/CachedImage.cpp:
67057        (WebCore::CachedImage::isOriginClean): Migrated from CanvasRenderingContext2D.
67058        * loader/cache/CachedImage.h:
67059        * rendering/shapes/ShapeInfo.cpp:
67060        (WebCore::::checkImageOrigin): Do the CORS check and log an error message if neccessary.
67061        * rendering/shapes/ShapeInfo.h:
67062        * rendering/shapes/ShapeInsideInfo.cpp:
67063        (WebCore::ShapeInsideInfo::isEnabledFor): Call checkImageOrigin() for images.
67064        * rendering/shapes/ShapeOutsideInfo.cpp:
67065        (WebCore::ShapeOutsideInfo::isEnabledFor): Ditto.
67066
670672013-10-25  Jer Noble  <jer.noble@apple.com>
67068
67069        [MSE] Fix runtime errors caused by mediasource IDL attributes.
67070        https://bugs.webkit.org/show_bug.cgi?id=123352
67071
67072        Reviewed by Eric Carlson.
67073
67074        Due to http://webkit.org/b/123178, MediaSource classes must add a GenerateIsReachable
67075        (and also a JSGenerateToJSObject) attribute to avoid runtime asserts and crashes.
67076
67077        * Modules/mediasource/MediaSource.idl:
67078        * Modules/mediasource/SourceBuffer.idl:
67079        * Modules/mediasource/SourceBufferList.idl:
67080        * Modules/mediasource/WebKitMediaSource.idl:
67081        * Modules/mediasource/WebKitSourceBufferList.idl:
67082
670832013-10-25  Jacky Jiang  <zhajiang@blackberry.com>
67084
67085        [BlackBerry] Browser crashed at PlatformGraphicsContext::addDrawLineForText() when trying to upload a video to youtube
67086        https://bugs.webkit.org/show_bug.cgi?id=123349
67087
67088        Reviewed by George Staikos.
67089        Internally reviewed by George Staikos, Konrad Piascik, Eli Fidler and Arvid Nilsson.
67090
67091        Browser crashed when dereferencing null PlatformGraphicsContext*.
67092        In FrameView::paintControlTints(), we intentionally constructed GraphicsContext
67093        with null PlatformGraphicsContext* and disabled painting by doing
67094        context.setUpdatingControlTints(true). So we should not go further in
67095        GraphicsContext::drawLineForText() if painting is disabled.
67096        Check paintingDisabled() for the other functions in PathBlackBerry.cpp
67097        as well; otherwise, it is likely we will crash at those places.
67098
67099        * platform/graphics/blackberry/PathBlackBerry.cpp:
67100        (WebCore::GraphicsContext::fillPath):
67101        (WebCore::GraphicsContext::strokePath):
67102        (WebCore::GraphicsContext::drawLine):
67103        (WebCore::GraphicsContext::drawLineForDocumentMarker):
67104        (WebCore::GraphicsContext::drawLineForText):
67105        (WebCore::GraphicsContext::clip):
67106        (WebCore::GraphicsContext::clipPath):
67107        (WebCore::GraphicsContext::canvasClip):
67108        (WebCore::GraphicsContext::clipOut):
67109
671102013-10-25  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
67111
67112        Adding platform implementation of MediaStreamTrack
67113        https://bugs.webkit.org/show_bug.cgi?id=123301
67114
67115        Reviewed by Eric Carlson.
67116
67117        No new tests needed.
67118
67119        * CMakeLists.txt:
67120        * Modules/mediastream/AudioStreamTrack.cpp:
67121        (WebCore::AudioStreamTrack::create): Create method now receives a MediaStreamTrackPrivate as parameter.
67122
67123        (WebCore::AudioStreamTrack::AudioStreamTrack):
67124        * Modules/mediastream/AudioStreamTrack.h:
67125        * Modules/mediastream/MediaStream.cpp:
67126        (WebCore::MediaStream::MediaStream): Constructor now iterates through a set of MediaStreamTrackPrivate
67127        instances to create each MediaStreamTrack of MediaStream.
67128
67129        (WebCore::MediaStream::addRemoteSource): Calling AudioStreamTrack and VideoStreamTrack with
67130        MediaStreamTrackPrivate as parameter.
67131
67132        * Modules/mediastream/MediaStreamTrack.cpp:
67133        (WebCore::MediaStreamTrack::MediaStreamTrack): Constructor now receives a MediaStreamTrackPrivate, instead of a
67134        MediaStreamSource.
67135
67136        (WebCore::MediaStreamTrack::~MediaStreamTrack):
67137        (WebCore::MediaStreamTrack::kind): Calling method from MediaStreamTrackPrivate.
67138
67139        (WebCore::MediaStreamTrack::setSource): Ditto.
67140
67141        (WebCore::MediaStreamTrack::id): Ditto.
67142
67143        (WebCore::MediaStreamTrack::label): Ditto.
67144
67145        (WebCore::MediaStreamTrack::enabled): Ditto.
67146
67147        (WebCore::MediaStreamTrack::setEnabled): Ditto.
67148
67149        (WebCore::MediaStreamTrack::muted): Ditto.
67150
67151        (WebCore::MediaStreamTrack::readonly): Ditto.
67152
67153        (WebCore::MediaStreamTrack::remote): Ditto.
67154
67155        (WebCore::MediaStreamTrack::readyState): Ditto.
67156
67157        (WebCore::MediaStreamTrack::states):
67158        (WebCore::MediaStreamTrack::capabilities):
67159        (WebCore::MediaStreamTrack::clone):
67160        (WebCore::MediaStreamTrack::stopProducingData):
67161        (WebCore::MediaStreamTrack::ended): Ditto.
67162
67163        (WebCore::MediaStreamTrack::sourceStateChanged): Ditto.
67164
67165        (WebCore::MediaStreamTrack::sourceMutedChanged): Ditto.
67166
67167        (WebCore::MediaStreamTrack::sourceEnabledChanged): Ditto.
67168        (WebCore::MediaStreamTrack::configureTrackRendering):
67169        (WebCore::MediaStreamTrack::stopped): Ditto.
67170
67171        (WebCore::MediaStreamTrack::trackDidEnd): Setting Ended ready state in MediaStreamTrackPrivate.
67172
67173        (WebCore::MediaStreamTrack::trackReadyStateChanged): Dispatches Live or Ended event.
67174
67175        (WebCore::MediaStreamTrack::trackMutedChanged): Dispatches Muted event.
67176
67177        * Modules/mediastream/MediaStreamTrack.h: Now inheriting from MediaStreamTrackPrivateClient.
67178
67179        (WebCore::MediaStreamTrack::source): Calling method from MediaStreamTrackPrivate.
67180        (WebCore::MediaStreamTrack::privateTrack):
67181        * Modules/mediastream/VideoStreamTrack.cpp:
67182        (WebCore::VideoStreamTrack::create):
67183        (WebCore::VideoStreamTrack::VideoStreamTrack): Create method now receives a MediaStreamTrackPrivate as parameter.
67184        * Modules/mediastream/VideoStreamTrack.h:
67185        * platform/mediastream/MediaStreamDescriptor.cpp:
67186        (WebCore::MediaStreamDescriptor::MediaStreamDescriptor): Stores the private tracks in a Vector (property of
67187        MediaStreamDescriptor class).
67188
67189        (WebCore::MediaStreamDescriptor::addTrack): Adds a private track to the tracks' Vector
67190
67191        (WebCore::MediaStreamDescriptor::removeTrack): Removes a private track from the tracks' Vector
67192
67193        * platform/mediastream/MediaStreamDescriptor.h:
67194        (WebCore::MediaStreamDescriptor::numberOfAudioSources): Renamed from numberOfAudioStreams.
67195
67196        (WebCore::MediaStreamDescriptor::audioSources): Renamed from audioStreams.
67197
67198        (WebCore::MediaStreamDescriptor::numberOfVideoSources): Renamed from numberOfVideoStreams.
67199
67200        (WebCore::MediaStreamDescriptor::videoSources): Renamed from videoStreams.
67201
67202        (WebCore::MediaStreamDescriptor::numberOfAudioTracks): Returns the number of audio tracks this MediaStreamDescriptor
67203        has.
67204
67205        (WebCore::MediaStreamDescriptor::audioTracks): Returns a audio track, given an index
67206
67207        (WebCore::MediaStreamDescriptor::numberOfVideoTracks): Returns the number of video tracks this MediaStreamDescriptor
67208        has.
67209        (WebCore::MediaStreamDescriptor::videoTracks): Returns a video track, given an index
67210        * platform/mediastream/MediaStreamTrackPrivate.cpp: Added.
67211        * platform/mediastream/MediaStreamTrackPrivate.h: Added.
67212
672132013-10-25  Zoltan Horvath  <zoltan@webkit.org>
67214
67215        [CSS Regions][CSS Shapes] Update updateShapeAndSegmentsForCurrentLineInFlowThread to deal better with multiple regions
67216        <https://webkit.org/b/123210>
67217
67218        Reviewed by David Hyatt.
67219
67220        I simplified the determination of the next region part of updateShapeAndSegmentsForCurrentLineInFlowThread's implementation
67221        in order to make the code more straightforward. I also tried to avoid using regionAtBlockOffset(...) function where it's possible,
67222        since it's not always that reliable, what I'll will report in a separate bug.
67223
67224        No new tests, covered by existing tests.
67225
67226        * rendering/RenderBlockLineLayout.cpp:
67227        (WebCore::RenderBlockFlow::updateShapeAndSegmentsForCurrentLineInFlowThread):
67228
672292013-10-25  Zoltan Horvath  <zoltan@webkit.org>
67230
67231        [CSS Regions][CSS Shapes] Update updateShapeAndSegmentsForCurrentLineInFlowThread to deal better with the first lines
67232        <https://bugs.webkit.org/show_bug.cgi?id=123275>
67233
67234        Reviewed by David Hyatt.
67235
67236        We have a complex condition in updateShapeAndSegmentsForCurrentLineInFlowThread, which is
67237        adjusting the first line to the shape's top. This patch adds two boolean to make that clear.
67238
67239        No new tests, no behavior change.
67240
67241        * rendering/RenderBlockLineLayout.cpp:
67242        (WebCore::RenderBlockFlow::updateShapeAndSegmentsForCurrentLineInFlowThread):
67243
672442013-10-25  Antti Koivisto  <antti@apple.com>
67245
67246        Faster way for simple line layout to check if text has fallback fonts
67247        https://bugs.webkit.org/show_bug.cgi?id=123342
67248
67249        Reviewed by Andreas Kling.
67250        
67251        Don't use RenderText::knownToHaveNoOverflowAndNoFallbackFonts as it is slow.
67252
67253        Simple text code path test already guarantees there is no overflow. Test for fallback
67254        fonts explicitly.
67255
67256        * platform/graphics/SimpleFontData.h:
67257        
67258            Make FINAL.
67259
67260        * rendering/RenderText.cpp:
67261        * rendering/RenderText.h:
67262        
67263            Remove knownToHaveNoOverflowAndNoFallbackFonts() as it has no clients.
67264
67265        * rendering/SimpleLineLayout.cpp:
67266        (WebCore::SimpleLineLayout::canUseFor):
67267        
67268            Check if all characters can be found from the primary font.
67269
672702013-10-25  Andreas Kling  <akling@apple.com>
67271
67272        SVGResourcesCache::clientDestroyed() should take a RenderElement&.
67273        <https://webkit.org/b/123339>
67274
67275        This function is always called with an object, and that object
67276        is guaranteed to never be a text renderer.
67277
67278        Reviewed by Antti Koivisto.
67279
672802013-10-25  Andreas Kling  <akling@apple.com>
67281
67282        SVGResourcesCache::clientLayoutChanged() should take a RenderElement&.
67283        <https://webkit.org/b/123336>
67284
67285        This function is always called with an object, and that object
67286        is guaranteed to never be a text renderer.
67287
67288        Reviewed by Antti Koivisto.
67289
672902013-10-25  Andreas Kling  <akling@apple.com>
67291
67292        SVGResourcesCache::clientStyleChanged() should take a RenderElement&.
67293        <https://webkit.org/b/123335>
67294
67295        This function is always called with an object, and that object
67296        is guaranteed to never be a text renderer.
67297
67298        Reviewed by Antti Koivisto.
67299
673002013-10-25  Andreas Kling  <akling@apple.com>
67301
67302        SVG: postApplyResource() should take a RenderElement&.
67303        <https://webkit.org/b/123334>
67304
67305        This function is always called with an object, and that object
67306        is guaranteed to never be a text renderer.
67307
67308        Reviewed by Antti Koivisto.
67309
673102013-10-25  Antti Koivisto  <antti@apple.com>
67311
67312        REGRESSION(r157950): It made many tests assert on Windows, EFL, GTK
67313        https://bugs.webkit.org/show_bug.cgi?id=123309
67314
67315        Reviewed by Andreas Kling.
67316
67317        Disable simple line layout on non-Mac plaforms for now.
67318
67319        * rendering/SimpleLineLayout.cpp:
67320        (WebCore::SimpleLineLayout::canUseFor):
67321
673222013-10-24  Andreas Kling  <akling@apple.com>
67323
67324        SVG: applyResource() should take a RenderElement&.
67325        <https://webkit.org/b/123286>
67326
67327        This function is always called with an object, and that object
67328        is guaranteed to never be a text renderer.
67329
67330        Reviewed by Antti Koivisto.
67331
673322013-10-25  Andreas Kling  <akling@apple.com>
67333
67334        RenderElement::styleWillChange() should pass newStyle as reference.
67335        <https://webkit.org/b/123332>
67336
67337        When styleWillChange() is called, there is always a new style getting
67338        set so there's no need to handle the null style case.
67339        This flushed out a couple of unnecessary checks.
67340
67341        Reviewed by Antti Koivisto.
67342
673432013-10-25  peavo@outlook.com  <peavo@outlook.com>
67344
67345        [WinCairo] Compile fixes.
67346        https://bugs.webkit.org/show_bug.cgi?id=123269
67347
67348        Reviewed by Csaba Osztrogonác.
67349
67350        * platform/graphics/win/ImageCairoWin.cpp: Added new parameter to BitmapImage::draw() calls.
67351        (WebCore::BitmapImage::getHBITMAPOfSize):
67352        (WebCore::BitmapImage::drawFrameMatchingSourceSize):
67353
673542013-10-25  Sergio Villar Senin  <svillar@igalia.com>
67355
67356        Use a Vector instead of HashSet to computed the orderValues in RenderFlexibleBox
67357        https://bugs.webkit.org/show_bug.cgi?id=118620
67358
67359        Reviewed by Antti Koivisto.
67360
67361        Turns out that order is extremelly uncommon so using a Vector is
67362        much less expensive. This also special-cases the much common case
67363        of only having order of value 0 by using Vectors with just one
67364        preallocated member.
67365
67366        Also added the performance test that shows a ~1% win when using a
67367        vector instead of the HashSet.
67368
67369        * rendering/RenderFlexibleBox.cpp:
67370        (WebCore::RenderFlexibleBox::OrderIterator::setOrderValues):
67371        (WebCore::RenderFlexibleBox::layoutBlock):
67372        (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes):
67373        * rendering/RenderFlexibleBox.h:
67374
673752013-10-25  Sergio Villar Senin  <svillar@igalia.com>
67376
67377        Non-SVG build broken after r157950
67378        https://bugs.webkit.org/show_bug.cgi?id=123328
67379
67380        Reviewed by Xan Lopez.
67381
67382        The isSVGInlineTest() check should be done only if SVG is enabled.
67383
67384        * rendering/SimpleLineLayout.cpp:
67385        (WebCore::SimpleLineLayout::canUseFor):
67386
673872013-10-24  Jer Noble  <jer.noble@apple.com>
67388
67389        [Mac] Add helper methods to convert CMTime <--> MediaTime
67390        https://bugs.webkit.org/show_bug.cgi?id=123285
67391
67392        Reviewed by Eric Carlson.
67393
67394        Add utility methods to convert between CMTime (a rational time class) and MediaTime.
67395        Once there, PlatformClockCM can now vend and accept MediaTimes for currentTime.
67396
67397        * platform/mac/MediaTimeMac.h:
67398        * platform/mac/MediaTimeMac.cpp:
67399        (WebCore::toMediaTime): Added conversion utility method.
67400        (WebCore::toCMTime): Ditto.
67401
67402        * platform/mac/PlatformClockCM.h:
67403        * platform/mac/PlatformClockCM.mm:
67404        (PlatformClockCM::setCurrentMediaTime): Added.
67405        (PlatformClockCM::currentMediaTime): Added.
67406
67407        * WebCore.xcodeproj/project.pbxproj: Add new files to project.
67408
674092013-10-24  Mark Rowe  <mrowe@apple.com>
67410
67411        Remove references to OS X 10.7 from Xcode configuration settings.
67412
67413        Now that we're not building for OS X 10.7 they're no longer needed.
67414
67415        Reviewed by Anders Carlsson.
67416
67417
67418        * Configurations/Base.xcconfig:
67419        * Configurations/DebugRelease.xcconfig:
67420        * Configurations/FeatureDefines.xcconfig:
67421        * Configurations/Version.xcconfig:
67422
674232013-10-24  Antti Koivisto  <antti@apple.com>
67424
67425        Cache line layout path
67426        https://bugs.webkit.org/show_bug.cgi?id=123298
67427
67428        Reviewed by Sam Weinig.
67429        
67430        Determining the path can be non-trivial. Avoid computing it repeatedly on relayouts.
67431
67432        * rendering/RenderBlock.cpp:
67433        (WebCore::RenderBlock::RenderBlock):
67434        (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
67435        (WebCore::RenderBlock::invalidateLineLayoutPath):
67436        (WebCore::RenderBlock::removeChild):
67437        
67438            Invalidate the path when children change.
67439
67440        * rendering/RenderBlock.h:
67441        * rendering/RenderBlockFlow.cpp:
67442        (WebCore::RenderBlockFlow::layoutInlineChildren):
67443        (WebCore::RenderBlockFlow::styleDidChange):
67444        
67445            Invalidate the path when style changes.
67446
67447        (WebCore::RenderBlockFlow::deleteLineBoxesBeforeSimpleLineLayout):
67448        (WebCore::RenderBlockFlow::ensureLineBoxes):
67449        * rendering/RenderText.cpp:
67450        (WebCore::RenderText::setText):
67451        
67452            Invalidate the path when text changes.
67453
674542013-10-24  Mark Rowe  <mrowe@apple.com>
67455
67456        <rdar://problem/15312643> Prepare for the mysterious future.
67457
67458        Reviewed by David Kilzer.
67459
67460
67461        * Configurations/Base.xcconfig:
67462        * Configurations/DebugRelease.xcconfig:
67463        * Configurations/FeatureDefines.xcconfig:
67464        * Configurations/Version.xcconfig:
67465
674662013-10-24  Andreas Kling  <akling@apple.com>
67467
67468        DocumentLoader::cachedResourceLoader() should return a reference.
67469        <https://webkit.org/b/123303>
67470
67471        ..and while we're at it, make DocumentLoader::m_cachedResourceLoader
67472        a Ref, and have CachedResourceLoader::create return a PassRef.
67473
67474        Reviewed by Sam Weinig.
67475
674762013-10-24  Anders Carlsson  <andersca@apple.com>
67477
67478        Stop bringing in the std namespace
67479        https://bugs.webkit.org/show_bug.cgi?id=123273
67480
67481        Reviewed by Andreas Kling.
67482
67483        * Modules/webaudio/AudioBufferSourceNode.cpp:
67484        (WebCore::AudioBufferSourceNode::renderFromBuffer):
67485        (WebCore::AudioBufferSourceNode::startGrain):
67486        (WebCore::AudioBufferSourceNode::totalPitchRate):
67487        * Modules/webaudio/AudioNodeInput.cpp:
67488        (WebCore::AudioNodeInput::numberOfChannels):
67489        * Modules/webaudio/AudioParamTimeline.cpp:
67490        (WebCore::AudioParamTimeline::valuesForTimeRangeImpl):
67491        * Modules/webaudio/AudioScheduledSourceNode.cpp:
67492        (WebCore::AudioScheduledSourceNode::updateSchedulingInfo):
67493        (WebCore::AudioScheduledSourceNode::stop):
67494        * Modules/webaudio/AudioSummingJunction.cpp:
67495        * Modules/webaudio/DelayDSPKernel.cpp:
67496        (WebCore::DelayDSPKernel::process):
67497        * Modules/webaudio/OfflineAudioDestinationNode.cpp:
67498        (WebCore::OfflineAudioDestinationNode::offlineRender):
67499        * Modules/webaudio/OscillatorNode.cpp:
67500        * Modules/webaudio/PannerNode.cpp:
67501        (WebCore::PannerNode::dopplerRate):
67502        * Modules/webaudio/WaveShaperDSPKernel.cpp:
67503        (WebCore::WaveShaperDSPKernel::processCurve):
67504        * Modules/webdatabase/DatabaseTracker.cpp:
67505        (WebCore::DatabaseTracker::hasAdequateQuotaForOrigin):
67506        * Modules/websockets/WebSocket.cpp:
67507        (WebCore::saturateAdd):
67508        * Modules/websockets/WebSocketChannel.cpp:
67509        * Modules/websockets/WebSocketFrame.cpp:
67510        (WebCore::WebSocketFrame::parseFrame):
67511        * accessibility/AccessibilityARIAGrid.cpp:
67512        * accessibility/AccessibilityARIAGridCell.cpp:
67513        * accessibility/AccessibilityARIAGridRow.cpp:
67514        * accessibility/AccessibilityList.cpp:
67515        * accessibility/AccessibilityListBox.cpp:
67516        * accessibility/AccessibilityListBoxOption.cpp:
67517        * accessibility/AccessibilityNodeObject.cpp:
67518        * accessibility/AccessibilityObject.cpp:
67519        * accessibility/AccessibilityRenderObject.cpp:
67520        * accessibility/AccessibilityTable.cpp:
67521        (WebCore::AccessibilityTable::addChildren):
67522        * accessibility/AccessibilityTableCell.cpp:
67523        * accessibility/AccessibilityTableColumn.cpp:
67524        * accessibility/AccessibilityTableHeaderContainer.cpp:
67525        * accessibility/AccessibilityTableRow.cpp:
67526        * accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
67527        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
67528        (-[WebAccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
67529        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
67530        (WebCore::JSCSSStyleDeclaration::getOwnPropertyNames):
67531        * bindings/js/JSGeolocationCustom.cpp:
67532        (WebCore::setTimeout):
67533        (WebCore::setMaximumAge):
67534        * bindings/js/ScriptController.cpp:
67535        * bindings/js/SerializedScriptValue.cpp:
67536        (WebCore::writeLittleEndian):
67537        (WebCore::CloneSerializer::write):
67538        (WebCore::CloneDeserializer::deserialize):
67539        (WebCore::CloneDeserializer::readString):
67540        * css/CSSComputedStyleDeclaration.cpp:
67541        (WebCore::ComputedStyleExtractor::propertyValue):
67542        * css/CSSFontSelector.cpp:
67543        (WebCore::CSSFontSelector::getFontFace):
67544        * css/CSSGradientValue.cpp:
67545        (WebCore::CSSRadialGradientValue::createGradient):
67546        * css/CSSParser.cpp:
67547        (WebCore::CSSParser::parseValue):
67548        (WebCore::CSSParser::parseColorParameters):
67549        (WebCore::CSSParser::parseHSLParameters):
67550        * css/CSSReflectValue.cpp:
67551        * css/DeprecatedStyleBuilder.cpp:
67552        (WebCore::ApplyPropertyFontSize::applyValue):
67553        * css/PropertySetCSSStyleDeclaration.cpp:
67554        * css/SVGCSSParser.cpp:
67555        * css/StylePropertySet.cpp:
67556        (WebCore::StylePropertySet::getLayeredShorthandValue):
67557        * css/StyleResolver.cpp:
67558        (WebCore::StyleResolver::viewportPercentageValue):
67559        * dom/CharacterData.cpp:
67560        (WebCore::CharacterData::parserAppendData):
67561        * dom/ContainerNode.cpp:
67562        * dom/Document.cpp:
67563        (WebCore::Document::minimumLayoutDelay):
67564        * dom/Node.cpp:
67565        (WebCore::Node::compareDocumentPosition):
67566        * dom/Range.cpp:
67567        (WebCore::Range::toString):
67568        (WebCore::Range::textRects):
67569        (WebCore::Range::textQuads):
67570        * dom/ScriptedAnimationController.cpp:
67571        (WebCore::ScriptedAnimationController::scheduleAnimation):
67572        * dom/StyledElement.cpp:
67573        (WebCore::StyledElement::makePresentationAttributeCacheKey):
67574        * dom/Text.cpp:
67575        * dom/ViewportArguments.cpp:
67576        (WebCore::clampLengthValue):
67577        (WebCore::clampScaleValue):
67578        (WebCore::ViewportArguments::resolve):
67579        (WebCore::computeMinimumScaleFactorForContentContained):
67580        (WebCore::restrictMinimumScaleFactorToViewportSize):
67581        * editing/AlternativeTextController.cpp:
67582        * editing/ApplyStyleCommand.cpp:
67583        (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
67584        * editing/CompositeEditCommand.cpp:
67585        (WebCore::CompositeEditCommand::deleteInsignificantText):
67586        * editing/Editor.cpp:
67587        (WebCore::Editor::setComposition):
67588        (WebCore::Editor::compositionRange):
67589        * editing/EditorCommand.cpp:
67590        (WebCore::verticalScrollDistance):
67591        * editing/TextIterator.cpp:
67592        (WebCore::TextIterator::handleTextNode):
67593        (WebCore::TextIterator::handleTextBox):
67594        (WebCore::CharacterIterator::string):
67595        (WebCore::SearchBuffer::SearchBuffer):
67596        (WebCore::SearchBuffer::append):
67597        (WebCore::SearchBuffer::prependContext):
67598        (WebCore::SearchBuffer::search):
67599        * editing/VisibleUnits.cpp:
67600        (WebCore::startOfParagraph):
67601        * editing/htmlediting.cpp:
67602        * editing/markup.cpp:
67603        * fileapi/FileReaderLoader.cpp:
67604        (WebCore::FileReaderLoader::didReceiveResponse):
67605        (WebCore::FileReaderLoader::didReceiveData):
67606        * history/BackForwardList.cpp:
67607        (WebCore::BackForwardList::backListWithLimit):
67608        (WebCore::BackForwardList::forwardListWithLimit):
67609        * history/PageCache.cpp:
67610        (WebCore::PageCache::setCapacity):
67611        * html/BaseDateAndTimeInputType.cpp:
67612        * html/FTPDirectoryDocument.cpp:
67613        * html/HTMLAreaElement.cpp:
67614        (WebCore::HTMLAreaElement::getRegion):
67615        * html/HTMLElement.cpp:
67616        (WebCore::HTMLElement::parseAttribute):
67617        (WebCore::parseColorStringWithCrazyLegacyRules):
67618        * html/HTMLFormControlElement.cpp:
67619        * html/HTMLFormElement.cpp:
67620        (WebCore::HTMLFormElement::getTextFieldValues):
67621        * html/HTMLImageElement.cpp:
67622        * html/HTMLInputElement.cpp:
67623        * html/HTMLMapElement.cpp:
67624        * html/HTMLMediaElement.cpp:
67625        (WebCore::HTMLMediaElement::HTMLMediaElement):
67626        (WebCore::HTMLMediaElement::updateActiveTextTrackCues):
67627        (WebCore::HTMLMediaElement::textTrackAddCue):
67628        (WebCore::HTMLMediaElement::textTrackRemoveCue):
67629        (WebCore::HTMLMediaElement::rewind):
67630        (WebCore::HTMLMediaElement::seek):
67631        (WebCore::HTMLMediaElement::duration):
67632        * html/HTMLSelectElement.cpp:
67633        (WebCore::HTMLSelectElement::parseAttribute):
67634        (WebCore::HTMLSelectElement::updateListBoxSelection):
67635        * html/HTMLSourceElement.cpp:
67636        * html/HTMLTableCellElement.cpp:
67637        (WebCore::HTMLTableCellElement::colSpan):
67638        (WebCore::HTMLTableCellElement::rowSpan):
67639        * html/HTMLTableElement.cpp:
67640        (WebCore::HTMLTableElement::parseAttribute):
67641        * html/HTMLTextFormControlElement.cpp:
67642        (WebCore::HTMLTextFormControlElement::setSelectionStart):
67643        (WebCore::HTMLTextFormControlElement::setSelectionEnd):
67644        (WebCore::HTMLTextFormControlElement::select):
67645        (WebCore::HTMLTextFormControlElement::setSelectionRange):
67646        * html/HTMLTrackElement.cpp:
67647        * html/ImageDocument.cpp:
67648        (WebCore::ImageDocument::scale):
67649        * html/InputType.cpp:
67650        (WebCore::InputType::valueAsDouble):
67651        * html/MediaController.cpp:
67652        (MediaController::duration):
67653        (MediaController::currentTime):
67654        (MediaController::setCurrentTime):
67655        (MediaController::updateReadyState):
67656        * html/NumberInputType.cpp:
67657        (WebCore::NumberInputType::setValueAsDouble):
67658        (WebCore::NumberInputType::setValueAsDecimal):
67659        (WebCore::NumberInputType::createStepRange):
67660        * html/RangeInputType.cpp:
67661        (WebCore::RangeInputType::handleKeydownEvent):
67662        * html/SearchInputType.cpp:
67663        (WebCore::SearchInputType::startSearchEventTimer):
67664        * html/StepRange.cpp:
67665        (WebCore::StepRange::clampValue):
67666        (WebCore::StepRange::parseStep):
67667        * html/TimeRanges.cpp:
67668        * html/ValidationMessage.cpp:
67669        (WebCore::ValidationMessage::setMessageDOMAndStartTimer):
67670        (WebCore::adjustBubblePosition):
67671        * html/canvas/CanvasRenderingContext2D.cpp:
67672        (WebCore::normalizeRect):
67673        * html/canvas/WebGLRenderingContext.cpp:
67674        (WebCore::WebGLRenderingContext::validateIndexArrayConservative):
67675        (WebCore::WebGLRenderingContext::validateCompressedTexFuncData):
67676        * html/shadow/MediaControlElements.cpp:
67677        (WebCore::MediaControlRewindButtonElement::defaultEventHandler):
67678        * html/shadow/MediaControlsApple.cpp:
67679        * html/shadow/SliderThumbElement.cpp:
67680        (WebCore::SliderThumbElement::setPositionFromPoint):
67681        * inspector/ContentSearchUtils.cpp:
67682        * inspector/DOMEditor.cpp:
67683        * inspector/DOMPatchSupport.cpp:
67684        (WebCore::DOMPatchSupport::diff):
67685        * inspector/InjectedScriptHost.cpp:
67686        * loader/ProgressTracker.cpp:
67687        (WebCore::ProgressTracker::incrementProgress):
67688        * loader/cache/CachedImage.cpp:
67689        * page/DOMWindow.cpp:
67690        (WebCore::DOMWindow::adjustWindowRect):
67691        * page/EventHandler.cpp:
67692        (WebCore::MaximumDurationTracker::~MaximumDurationTracker):
67693        * page/FrameTree.cpp:
67694        * page/FrameView.cpp:
67695        (WebCore::FrameView::adjustedDeferredRepaintDelay):
67696        (WebCore::FrameView::autoSizeIfEnabled):
67697        * page/PrintContext.cpp:
67698        (WebCore::PrintContext::computeAutomaticScaleFactor):
67699        * page/SpatialNavigation.cpp:
67700        (WebCore::entryAndExitPointsForDirection):
67701        * page/animation/CSSPropertyAnimation.cpp:
67702        (WebCore::blendFilterOperations):
67703        (WebCore::PropertyWrapperShadow::blendMismatchedShadowLists):
67704        * platform/graphics/FloatRect.cpp:
67705        (WebCore::FloatRect::FloatRect):
67706        (WebCore::FloatRect::intersect):
67707        (WebCore::FloatRect::uniteEvenIfEmpty):
67708        (WebCore::FloatRect::extend):
67709        (WebCore::FloatRect::fitToPoints):
67710        * platform/graphics/GlyphPageTreeNode.cpp:
67711        (WebCore::GlyphPageTreeNode::initializePage):
67712        (WebCore::GlyphPageTreeNode::getChild):
67713        * platform/graphics/IntRect.cpp:
67714        (WebCore::IntRect::intersect):
67715        (WebCore::IntRect::unite):
67716        (WebCore::IntRect::uniteIfNonZero):
67717        * platform/graphics/LayoutRect.cpp:
67718        (WebCore::LayoutRect::intersect):
67719        (WebCore::LayoutRect::unite):
67720        (WebCore::LayoutRect::uniteIfNonZero):
67721        * platform/graphics/filters/FEMorphology.cpp:
67722        (WebCore::FEMorphology::platformApplyGeneric):
67723        (WebCore::FEMorphology::platformApplySoftware):
67724        * platform/mac/MemoryPressureHandlerMac.mm:
67725        (WebCore::MemoryPressureHandler::respondToMemoryPressure):
67726        * platform/text/TextCodecICU.cpp:
67727        * rendering/LineWidth.cpp:
67728        (WebCore::LineWidth::fitBelowFloats):
67729        (WebCore::LineWidth::computeAvailableWidthFromLeftAndRight):
67730        * rendering/RenderBlock.h:
67731        (WebCore::RenderBlock::availableLogicalWidthForLine):
67732        (WebCore::RenderBlock::availableLogicalWidthForContent):
67733        * rendering/RenderFieldset.cpp:
67734        (WebCore::RenderFieldset::computePreferredLogicalWidths):
67735        (WebCore::RenderFieldset::layoutSpecialExcludedChild):
67736        (WebCore::RenderFieldset::paintBoxDecorations):
67737        * rendering/RenderFlowThread.cpp:
67738        (WebCore::RenderFlowThread::updateLogicalWidth):
67739        (WebCore::RenderFlowThread::addForcedRegionBreak):
67740        * rendering/RenderFrameBase.cpp:
67741        (WebCore::RenderFrameBase::layoutWithFlattening):
67742        * rendering/RenderFrameSet.cpp:
67743        (WebCore::RenderFrameSet::layOutAxis):
67744        * rendering/RenderSlider.cpp:
67745        (WebCore::RenderSlider::computePreferredLogicalWidths):
67746        * rendering/RenderTableCell.h:
67747        * rendering/RenderTreeAsText.cpp:
67748        (WebCore::writeLayers):
67749        * rendering/RootInlineBox.h:
67750        (WebCore::RootInlineBox::selectionHeight):
67751        (WebCore::RootInlineBox::selectionHeightAdjustedForPrecedingBlock):
67752        * rendering/mathml/RenderMathMLRow.cpp:
67753        (WebCore::RenderMathMLRow::layout):
67754        * rendering/mathml/RenderMathMLScripts.cpp:
67755        (WebCore::RenderMathMLScripts::layout):
67756        * rendering/style/RenderStyle.h:
67757        * rendering/style/StyleGeneratedImage.cpp:
67758        (WebCore::StyleGeneratedImage::imageSize):
67759        * style/StyleFontSizeFunctions.cpp:
67760        (WebCore::Style::fontSizeForKeyword):
67761        * svg/SVGSVGElement.cpp:
67762        (WebCore::SVGSVGElement::setCurrentTime):
67763
677642013-10-24  Andreas Kling  <akling@apple.com>
67765
67766        Uncomplicate some of SVGTextRunRenderingContext.
67767        <https://webkit.org/b/123294>
67768
67769        This class was weird about a few things, so I've taken these steps
67770        to clear things up:
67771
67772        - FINAL and OVERRIDE all the things.
67773        - Constructor now takes a RenderObject&.
67774        - renderer() now returns a RenderObject&.
67775        - drawSVGGlyphs() no longer takes a TextRun.
67776        - glyphDataForCharacter() no longer takes a TextRun.
67777
67778        To expand on the last two, there was also some awkward hoop-jumping
67779        where we'd go through the TextRun passed by argument to find its
67780        rendering context, which was really just |this| all along.
67781
67782        Reviewed by Antti Koivisto.
67783
677842013-10-24  Roger Fong  <roger_fong@apple.com>
67785
67786        Add texture level dependent size checks to textureImage2D calls.
67787        https://bugs.webkit.org/show_bug.cgi?id=123290
67788        <rdar://problem/15201382>
67789
67790        Reviewed by Dean Jackson
67791
67792        Test covered by WebGL Conformance suite 1.0.2 test, textures/texture-size-limit.html.
67793
67794        There are different size limits when calling textureImage2D on different texture levels.
67795        We should be throwing an error if our texture size exceeds these limits.
67796
67797        * html/canvas/WebGLRenderingContext.cpp:
67798        (WebCore::WebGLRenderingContext::validateTexFuncParameters):
67799
678002013-10-24  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
67801
67802        [MediaStream API] allow a stream source to be shared
67803        https://bugs.webkit.org/show_bug.cgi?id=121954
67804
67805        Reviewed by Eric Carlson.
67806
67807        Now, the MediaStreamSource don't know about the MediaStream that owns it,
67808        since there can be more than one MediaStream that has it as source for some track.
67809        MediaStreamTrack classes now have observers registered, in case there are more than
67810        one MediaStream owning that track
67811
67812        No new tests, no change in functionality.
67813
67814        * Modules/mediastream/MediaStream.cpp:
67815        (WebCore::MediaStream::MediaStream): Adding the MediaStream as an observer for each track it owns.
67816
67817        (WebCore::MediaStream::addTrack): Now adding the MediaStream as an observer the new added track
67818        and adding the source to the MediaStreamDescriptor.
67819
67820        (WebCore::MediaStream::removeTrack): Instead of removing the source right away, we first check if
67821        there isn't any other track using that source, if not we remove the source.
67822
67823        (WebCore::MediaStream::haveTrackWithSource):
67824        (WebCore::MediaStream::addRemoteSource): MediaStreamSource has no information about the MediaStream
67825        that uses it, so now we don't set the stream in the source anymore.
67826
67827        (WebCore::MediaStream::removeRemoteSource): There can be more than on track using the source. So we
67828        get each track that is using the source and then remove it and fire the ended event.
67829
67830        * Modules/mediastream/MediaStream.h:
67831        * Modules/mediastream/MediaStreamTrack.cpp:
67832        (WebCore::MediaStreamTrack::addObserver):
67833        (WebCore::MediaStreamTrack::removeObserver):
67834        (WebCore::MediaStreamTrack::trackDidEnd): Does not get the client from the MediaStreamDescriptor, it now
67835        notify each of its observers that the track ended.
67836
67837        * Modules/mediastream/MediaStreamTrack.h: Adding Observer class.
67838
67839        * platform/mediastream/MediaStreamDescriptor.cpp: Destructor now does nothing. Previously it was setting
67840        each MediaStreamSource's descriptor to null.
67841
67842        (WebCore::MediaStreamDescriptor::removeSource): Not setting the stream in source anymore.
67843
67844        (WebCore::MediaStreamDescriptor::MediaStreamDescriptor): Ditto.
67845
67846        (WebCore::MediaStreamDescriptor::setEnded): Not setting the state of the source to Ended
67847
67848        * platform/mediastream/MediaStreamDescriptor.h:
67849        (WebCore::MediaStreamDescriptor::~MediaStreamDescriptor):
67850        * platform/mediastream/MediaStreamSource.cpp: Removing references to MediaStream object
67851        (WebCore::MediaStreamSource::MediaStreamSource):
67852        (WebCore::MediaStreamSource::reset):
67853        * platform/mediastream/MediaStreamSource.h:
67854
678552013-10-24  Daniel Bates  <dabates@apple.com>
67856
67857        Crash in WebCore::NavigationScheduler::startTimer()
67858        https://bugs.webkit.org/show_bug.cgi?id=123288
67859        <rdar://problem/14055644>
67860
67861        Reviewed by Alexey Proskuryakov.
67862
67863        Currently NavigationScheduler::startTimer() synchronously notifies the client
67864        before the Web Inspector of a scheduled redirect. If a client cancels this
67865        redirect then NavigationScheduler::m_redirect will become null and we'll
67866        subsequently crash when informing the Web Inspector of this formerly scheduled
67867        redirect. Instead, NavigationScheduler::startTimer() should notify the Web
67868        Inspector before it notifies the client of a scheduled redirect.
67869
67870        As a side benefit of this change, the Web Inspector is notified of a scheduled
67871        redirect before being notified of it being canceled when a client chooses to cancel
67872        a scheduled redirect.
67873
67874        * loader/NavigationScheduler.cpp:
67875        (WebCore::NavigationScheduler::startTimer):
67876
678772013-10-24  Antti Koivisto  <antti@apple.com>
67878
67879        Try to fix build without CSS_SHAPES.
67880
67881        * rendering/SimpleLineLayout.cpp:
67882        (WebCore::SimpleLineLayout::canUseFor):
67883
678842013-10-24  Antti Koivisto  <antti@apple.com>
67885
67886        Simple line layout
67887        https://bugs.webkit.org/show_bug.cgi?id=122458
67888
67889        Reviewed by Darin Adler.
67890
67891        Line box based inline layout is powerful but also rather slow and memory intensive. Simple line layout
67892        is a compact alternative data structure and fast code path to cover common cases without requiring line
67893        boxes.
67894        
67895        This patch handles a case single left-aligned text renderer inside flow with no floats. Even this very basic
67896        case is sufficiently common to handle up to 25% of all text lines on some popular new sites. The decision
67897        which path to use is made per block flow (paragraph).
67898        
67899        Simple line layout aims to produce pixel-exact rendering result when compared to the line box layout.
67900        
67901        The goal is to handle everything that requires line level access in cases that allow use of simple lines.
67902        This is not quite the case yet. For example selections and outline painting are not supported. In these
67903        cases we seamlessly switch to the line boxes.
67904
67905        The simple line data structure currently uses 12 bytes per line. Lineboxes take ~160 bytes minimum per line.
67906        Laying out the lines is also several times faster as is iterating over them.
67907
67908        * CMakeLists.txt:
67909        * GNUmakefile.list.am:
67910        * WebCore.vcxproj/WebCore.vcxproj:
67911        * WebCore.xcodeproj/project.pbxproj:
67912        * dom/Position.cpp:
67913        (WebCore::Position::upstream):
67914        (WebCore::Position::downstream):
67915        (WebCore::Position::getInlineBoxAndOffset):
67916        
67917            Creating positions within a simple line flow causes switch to line boxes.
67918
67919        * editing/TextIterator.cpp:
67920        (WebCore::TextIterator::handleTextNode):
67921        
67922            TextIterator traverses line boxes if available. In case simple line case we need to replicate the
67923            same results (for compatibility but especially to avoid changing test results). This is done here
67924            by just traversing the string without actually using the layout.
67925
67926        * rendering/RenderBlock.cpp:
67927        (WebCore::RenderBlock::RenderBlock):
67928        (WebCore::RenderBlock::layoutShapeInsideInfo):
67929        * rendering/RenderBlock.h:
67930        * rendering/RenderBlockFlow.cpp:
67931        (WebCore::RenderBlockFlow::layoutInlineChildren):
67932        
67933            Select the layout path to use.
67934
67935        (WebCore::RenderBlockFlow::deleteLines):
67936        (WebCore::RenderBlockFlow::hitTestInlineChildren):
67937        (WebCore::RenderBlockFlow::adjustForBorderFit):
67938        (WebCore::RenderBlockFlow::firstLineBaseline):
67939        (WebCore::RenderBlockFlow::inlineBlockBaseline):
67940        (WebCore::RenderBlockFlow::inlineSelectionGaps):
67941        (WebCore::RenderBlockFlow::clearTruncation):
67942        (WebCore::RenderBlockFlow::positionForPointWithInlineChildren):
67943        (WebCore::RenderBlockFlow::addFocusRingRectsForInlineChildren):
67944        (WebCore::RenderBlockFlow::paintInlineChildren):
67945        (WebCore::RenderBlockFlow::hasLines):
67946        (WebCore::RenderBlockFlow::layoutSimpleLines):
67947        
67948            Do simple layout.
67949
67950        (WebCore::RenderBlockFlow::deleteLineBoxesBeforeSimpleLineLayout):
67951        (WebCore::RenderBlockFlow::ensureLineBoxes):
67952        
67953            This function switches from simple lines to line boxes. The switching can be done outside normal layout.
67954            This is used to cover some cases that are not yet supported by simple lines (like selections).
67955
67956        * rendering/RenderBlockFlow.h:
67957        (WebCore::RenderBlockFlow::simpleLines):
67958        * rendering/RenderBlockLineLayout.cpp:
67959        (WebCore::RenderBlockFlow::layoutLineBoxes):
67960        
67961            Rename the line box layout function.
67962
67963        (WebCore::RenderBlockFlow::addOverflowFromInlineChildren):
67964        * rendering/RenderText.cpp:
67965        (WebCore::RenderText::deleteLineBoxesBeforeSimpleLineLayout):
67966        (WebCore::RenderText::absoluteRects):
67967        (WebCore::RenderText::absoluteRectsForRange):
67968        (WebCore::RenderText::absoluteQuadsClippedToEllipsis):
67969        (WebCore::RenderText::absoluteQuads):
67970        (WebCore::RenderText::absoluteQuadsForRange):
67971        (WebCore::RenderText::positionForPoint):
67972        (WebCore::RenderText::knownToHaveNoOverflowAndNoFallbackFonts):
67973        (WebCore::RenderText::setSelectionState):
67974        (WebCore::RenderText::setTextWithOffset):
67975        (WebCore::RenderText::ensureLineBoxes):
67976        (WebCore::RenderText::simpleLines):
67977        (WebCore::RenderText::linesBoundingBox):
67978        (WebCore::RenderText::linesVisualOverflowBoundingBox):
67979        (WebCore::RenderText::selectionRectForRepaint):
67980        (WebCore::RenderText::caretMinOffset):
67981        (WebCore::RenderText::caretMaxOffset):
67982        (WebCore::RenderText::countRenderedCharacterOffsetsUntil):
67983        (WebCore::RenderText::containsRenderedCharacterOffset):
67984        (WebCore::RenderText::containsCaretOffset):
67985        (WebCore::RenderText::hasRenderedText):
67986        * rendering/RenderText.h:
67987        * rendering/RenderTreeAsText.cpp:
67988        (WebCore::RenderTreeAsText::writeRenderObject):
67989        (WebCore::writeSimpleLine):
67990        (WebCore::write):
67991        * rendering/SimpleLineLayout.cpp: Added.
67992        (WebCore::SimpleLineLayout::canUseFor):
67993        
67994            This check for the cases supported by the simple line layout path.
67995
67996        (WebCore::SimpleLineLayout::isWhitespace):
67997        (WebCore::SimpleLineLayout::skipWhitespaces):
67998        (WebCore::SimpleLineLayout::textWidth):
67999        (WebCore::SimpleLineLayout::createLines):
68000        
68001            The main layout functions that breaks text to lines. It only handles the cases allowed by 
68002            SimpleLineLayout::canUseFor. What it handles it aims to break exactly as line box layout does.
68003
68004        * rendering/SimpleLineLayout.h: Added.
68005        * rendering/SimpleLineLayoutFunctions.cpp: Added.
68006        (WebCore::SimpleLineLayout::paintFlow):
68007        (WebCore::SimpleLineLayout::hitTestFlow):
68008        (WebCore::SimpleLineLayout::collectFlowOverflow):
68009        (WebCore::SimpleLineLayout::computeTextBoundingBox):
68010        * rendering/SimpleLineLayoutFunctions.h: Added.
68011        (WebCore::SimpleLineLayout::computeFlowHeight):
68012        (WebCore::SimpleLineLayout::computeFlowFirstLineBaseline):
68013        (WebCore::SimpleLineLayout::computeFlowLastLineBaseline):
68014        (WebCore::SimpleLineLayout::findTextCaretMinimumOffset):
68015        (WebCore::SimpleLineLayout::findTextCaretMaximumOffset):
68016        (WebCore::SimpleLineLayout::containsTextCaretOffset):
68017        (WebCore::SimpleLineLayout::isTextRendered):
68018        (WebCore::SimpleLineLayout::lineHeightFromFlow):
68019        
68020            Support functions called from RenderBlockFlow and RenderText. They are equivalent to
68021            similar line box functions.
68022
68023        (WebCore::SimpleLineLayout::baselineFromFlow):
68024        * rendering/SimpleLineLayoutResolver.h: Added.
68025        (WebCore::SimpleLineLayout::Resolver::Line::Line):
68026        (WebCore::SimpleLineLayout::Resolver::Line::rect):
68027        (WebCore::SimpleLineLayout::Resolver::Line::baseline):
68028        (WebCore::SimpleLineLayout::Resolver::Line::text):
68029        (WebCore::SimpleLineLayout::Resolver::Iterator::Iterator):
68030        (WebCore::SimpleLineLayout::Resolver::Iterator::operator++):
68031        (WebCore::SimpleLineLayout::Resolver::Iterator::operator--):
68032        (WebCore::SimpleLineLayout::Resolver::Iterator::operator==):
68033        (WebCore::SimpleLineLayout::Resolver::Iterator::operator!=):
68034        (WebCore::SimpleLineLayout::Resolver::Iterator::operator*):
68035        
68036            Lazy iterator for deriving line metrics. This keeps the line data structure small as
68037            we don't need to keep easily derived values around.
68038
68039        (WebCore::SimpleLineLayout::Resolver::Resolver):
68040        (WebCore::SimpleLineLayout::Resolver::size):
68041        (WebCore::SimpleLineLayout::Resolver::begin):
68042        (WebCore::SimpleLineLayout::Resolver::end):
68043        (WebCore::SimpleLineLayout::Resolver::last):
68044        (WebCore::SimpleLineLayout::Resolver::operator[]):
68045
680462013-10-24  Myles C. Maxfield  <mmaxfield@apple.com>
68047
68048        Gaps between underlines in adjacent underlined text runs
68049        https://bugs.webkit.org/show_bug.cgi?id=123236
68050
68051        Reviewed by Simon Fraser and Darin Adler.
68052
68053        There are two pieces to this change. The first piece is in
68054        InlineTextBox::paint(). We were putting floating-point
68055        extents into a LayoutSize, which simply uses ints (for now),
68056        and then immediately converting this back to a FloatSize.
68057        Instead, we should be using floats throughout all of
68058        this code.
68059
68060        In addition, inside GraphicsContext::drawLineForText(), we are
68061        rounding the underline to pixel boundaries so that it appears
68062        very crisp on the screen. However, we should round once after
68063        performing computations, rather than rounding twice and then
68064        performing computations on the rounded numbers.
68065
68066        Test: fast/css3-text/css3-text-decoration/no-gap-between-two-rounded-textboxes.html
68067
68068        * platform/graphics/cg/GraphicsContextCG.cpp:
68069        (WebCore::GraphicsContext::drawLineForText): Change rounding mode
68070            to perform computations before rounding
68071        * rendering/InlineTextBox.cpp:
68072        (WebCore::InlineTextBox::paint): Don't convert to a LayoutSize
68073            just to convert to a FloatSize
68074
680752013-10-24  Andreas Kling  <akling@apple.com>
68076
68077        SVGRenderingContext should wrap a RenderElement.
68078        <https://webkit.org/b/123283>
68079
68080        The SVG rendering context class is never used with text renderers
68081        so we can have it wrap a RenderElement for tighter code.
68082
68083        Also renamed SVGRenderingContext::m_object to m_renderer.
68084
68085        Reviewed by Antti Koivisto.
68086
680872013-10-24  Santosh Mahto  <santosh.ma@samsung.com>
68088
68089        [contenteditable] Content after non-editable element disappears when merging lines using backspace
68090        https://bugs.webkit.org/show_bug.cgi?id=122748
68091
68092        Reviewed by Ryosuke Niwa.
68093
68094        In case of paragraph merging after deletion if second paragraph
68095        contains non-editable element, then content after the non-editable
68096        element(including non-editable element) will be removed while the
68097        content before the element will be merged with the first paragraph.
68098        This happens becasue endOfParagraphToMove calculation in merging function
68099        stop at editing boundary so endOfParagraphToMove becomes position just
68100        before non-editable content.
68101        With this patch now endOfParagraphToMove is calculated by skipping
68102        over the non-editable element.
68103
68104        Test: editing/deleting/merge-paragraph-contatining-noneditable.html
68105
68106        * editing/DeleteSelectionCommand.cpp:
68107        (WebCore::DeleteSelectionCommand::mergeParagraphs): use CanSkipOverEditingBoundary
68108        condition while calculating endOfParagraphToMove.
68109
681102013-10-24  Antoine Quint  <graouts@apple.com>
68111
68112        Web Inspector: Inspector doesn't show webkitTransitionEnd events in the timeline
68113        https://bugs.webkit.org/show_bug.cgi?id=123263
68114
68115        Reviewed by Timothy Hatcher.
68116
68117        A legacy event type is only set on an event in EventTarget::fireEventListeners(Event*)
68118        which is called after we used to call InspectorInstrumentation::willDispatchEvent(), the method
68119        that would ultimately yield the creation of a TimelineRecord for the event in the Web Inspector
68120        frontend, and as a result we would try to dispatch an event with an unprefixed event type to
68121        the frontend, which wouldn't even happen because most likely it wouldn't have listeners for this
68122        unprefixed type.
68123
68124        We now move the call to InspectorInstrumentation::willDispatchEvent() in
68125        EventTarget::fireEventListeners(Event*, EventTargetData*, EventListenerVector&) such that the
68126        correct event type and list of listeners is used to determine what event to dispatch to the frontend.
68127
68128        * dom/EventDispatcher.cpp:
68129        (WebCore::EventDispatcher::dispatchEvent):
68130        Remove calls to InspectorInstrumentation::willDispatchEvent() and InspectorInstrumentation::didDispatchEvent().
68131
68132        * dom/EventTarget.cpp:
68133        (WebCore::EventTarget::fireEventListeners):
68134        Add call to InspectorInstrumentation::willDispatchEvent() before we go through each listener and
68135        call InspectorInstrumentation::willHandleEvent(). Additionally, we refactor some code since we're
68136        getting references to the ScriptExecutionContext and Document upfront now.
68137
681382013-10-24  Andreas Kling  <akling@apple.com>
68139
68140        SVG: RenderElement-ize intersectRepaintRectWithResources().
68141        <https://webkit.org/b/123278>
68142
68143        SVGRenderSupport::intersectRepaintRectWithResources() is only ever
68144        called with non-text renderers so make it take RenderElement&.
68145
68146        Had to tweak RenderSVGResource::resourceBoundingBox() to take the
68147        renderer by reference.
68148
68149        Reviewed by Antti Koivisto.
68150
681512013-10-24  Joseph Pecoraro  <pecoraro@apple.com>
68152
68153        Web Inspector: Breakpoints in sourceURL named scripts do not work
68154        https://bugs.webkit.org/show_bug.cgi?id=123231
68155
68156        Reviewed by Timothy Hatcher.
68157
68158        Remember a Script's sourceURL and sourceMappingURL. When setting a
68159        breakpoint by URL, check it against the sourceURL or original URL.
68160        If a script had a sourceURL that would have been the only URL sent
68161        to the frontend, so that receives priority.
68162
68163        Test: inspector-protocol/debugger/setBreakpointByUrl-sourceURL.html
68164
68165        * inspector/InspectorDebuggerAgent.cpp:
68166        (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
68167        (WebCore::InspectorDebuggerAgent::didParseSource):
68168        * inspector/InspectorDebuggerAgent.h:
68169        * inspector/ScriptDebugListener.h:
68170
681712013-10-23  Alexey Proskuryakov  <ap@apple.com>
68172
68173        Add CryptoKey base class and bindings
68174        https://bugs.webkit.org/show_bug.cgi?id=123216
68175
68176        Reviewed by Sam Weinig.
68177
68178        * crypto/CryptoKey.idl: Added.
68179
68180        * CMakeLists.txt:
68181        * DerivedSources.make:
68182        * GNUmakefile.list.am:
68183        Process the IDL.
68184
68185        * WebCore.xcodeproj/project.pbxproj: Added files.
68186
68187        * bindings/js/JSCryptoKeyCustom.cpp: Added.
68188        (WebCore::JSCryptoKey::algorithm): Use a visitor to build algorithm dictionary
68189        for the key.
68190
68191        * crypto/CryptoAlgorithmDescriptionBuilder.cpp: Added.
68192        * crypto/CryptoAlgorithmDescriptionBuilder.h: Added.
68193        An interface for a visitor we'll use to expose CrytoKey.algorithm in bindings,
68194        and possibly also for storage serialization. Not complete yet, we'll need support
68195        for a few more simple types, and less trivially, for nested algorithms.
68196
68197        * bindings/js/JSCryptoAlgorithmBuilder.cpp: Added.
68198        * bindings/js/JSCryptoAlgorithmBuilder.h: Added.
68199        An implementation that builds an algorithm description dictionary for JS bindings.
68200
68201        * crypto/CryptoKey.cpp: Added.
68202        (WebCore::CryptoKey::~CryptoKey):
68203        (WebCore::CryptoKey::buildAlgorithmDescription):
68204        * crypto/CryptoKey.h: Added.
68205        Added an almost empty implementation. Some of the functions that are currently
68206        marked as pure virtual will likely be implemented in this base class.
68207
682082013-10-24  Commit Queue  <commit-queue@webkit.org>
68209
68210        Unreviewed, rolling out r157916.
68211        http://trac.webkit.org/changeset/157916
68212        https://bugs.webkit.org/show_bug.cgi?id=123274
68213
68214        Broke Layout/flexbox-lots-of-data.html on perfbot (Requested
68215        by ap on #webkit).
68216
68217        * rendering/RenderFlexibleBox.cpp:
68218        (WebCore::RenderFlexibleBox::OrderHashTraits::emptyValue):
68219        (WebCore::RenderFlexibleBox::OrderHashTraits::constructDeletedValue):
68220        (WebCore::RenderFlexibleBox::OrderHashTraits::isDeletedValue):
68221        (WebCore::RenderFlexibleBox::OrderIterator::setOrderValues):
68222        (WebCore::RenderFlexibleBox::layoutBlock):
68223        (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes):
68224        * rendering/RenderFlexibleBox.h:
68225
682262013-10-24  Zan Dobersek  <zdobersek@igalia.com>
68227
68228        Comment in ScopedEventQueue::dispatchEvent is unnecessarily verbose
68229        https://bugs.webkit.org/show_bug.cgi?id=123252
68230
68231        Reviewed by Darin Adler.
68232
68233        Shorten the comment about the crash avoidance in ScopedEventQueue::dispatchEvent due to
68234        the calling convention in C++ is left unspecified. The problem was already fixed in r157219
68235        and later adjusted in r157401, but the comment could have been shorter and simpler in both cases.
68236
68237        * dom/ScopedEventQueue.cpp:
68238        (WebCore::ScopedEventQueue::dispatchEvent):
68239
682402013-10-24  Alex Christensen  <achristensen@webkit.org>
68241
68242        Removed unused ThreadSafeCoordinatedSurface and CertificateInfoCurl files.
68243        https://bugs.webkit.org/show_bug.cgi?id=123246
68244
68245        Reviewed by Noam Rosenthal.
68246
68247        * WebCore.vcxproj/WebCore.vcxproj:
68248        * WebCore.vcxproj/WebCore.vcxproj.filters:
68249        Removed references to ThreadSafeCoordinatedSurface and CertificateInfoCurl.
68250        * platform/graphics/texmap/coordinated/ThreadSafeCoordinatedSurface.cpp: Removed.
68251        * platform/graphics/texmap/coordinated/ThreadSafeCoordinatedSurface.h: Removed.
68252        * platform/network/curl/CertificateInfoCurl.cpp: Removed.
68253
682542013-10-24  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
68255
68256        Removed Qt workaround.
68257        https://bugs.webkit.org/show_bug.cgi?id=123258
68258
68259        Reviewed by Csaba Osztrogonác.
68260
68261        No change of functionality, no new tests needed.
68262
68263        !$defines case can be removed, because Qt and Android aren't in WebKit trunk,
68264        all ports (Mac,EFL,GTK,Windows) call this script with --defines option now
68265
68266        * css/make-css-file-arrays.pl:
68267
682682013-10-24  Antti Koivisto  <antti@apple.com>
68269
68270        Remove a stray space.
68271        
68272        Not reviewed.
68273
68274        * accessibility/AccessibilityRenderObject.cpp:
68275        (WebCore::AccessibilityRenderObject::addImageMapChildren):
68276
682772013-10-24  Antti Koivisto  <antti@apple.com>
68278
68279        Element iterator functions should take reference
68280        https://bugs.webkit.org/show_bug.cgi?id=123267
68281
68282        Reviewed by Andreas Kling.
68283
68284        The argument has to be non-null.
68285
682862013-10-24  Ryuan Choi  <ryuan.choi@samsung.com>
68287
68288        [EFL] Build break with latest EFL 1.8 libraries.
68289        https://bugs.webkit.org/show_bug.cgi?id=123245
68290
68291        Reviewed by Gyuyoung Kim.
68292
68293        After fixed build break on EFL 1.8 at r138326, EFL libraries are changed
68294        Eo typedef and splitted header files which contain version macro.
68295
68296        * platform/Widget.h: Changed Eo typedef.
68297        * platform/efl/EflScreenUtilities.h: Ditto.
68298        * platform/graphics/Image.h: Ditto.
68299
683002013-10-24  Andreas Kling  <akling@apple.com>
68301
68302        RenderSVGResource: Pass RenderElement to fill/strokePaintingResource.
68303        <https://webkit.org/b/123242>
68304
68305        We never pass text renderers to these functions, so make them take
68306        RenderElement instead.
68307
68308        Reviewed by Anders Carlsson.
68309
683102013-10-24  Carlos Garcia Campos  <cgarcia@igalia.com>
68311
68312        [GObject bindings] Make EventTarget interface introspectable
68313        https://bugs.webkit.org/show_bug.cgi?id=77835
68314
68315        Reviewed by Gustavo Noronha Silva.
68316
68317        Add webkit_dom_event_target_add_event_listener_with_closure and
68318        webkit_dom_event_target_remove_event_listener_with_closure to be
68319        used by GObject instrospection bindings. Instead of receving a
68320        GCallback, which makes the function not introspectable, they
68321        receive a GClosure.
68322
68323        * bindings/gobject/GObjectEventListener.cpp:
68324        (WebCore::GObjectEventListener::GObjectEventListener):
68325        (WebCore::GObjectEventListener::~GObjectEventListener):
68326        (WebCore::GObjectEventListener::gobjectDestroyed):
68327        (WebCore::GObjectEventListener::handleEvent):
68328        (WebCore::GObjectEventListener::operator==):
68329        * bindings/gobject/GObjectEventListener.h:
68330        (WebCore::GObjectEventListener::addEventListener):
68331        (WebCore::GObjectEventListener::removeEventListener):
68332        * bindings/gobject/WebKitDOMEventTarget.cpp:
68333        (webkit_dom_event_target_dispatch_event):
68334        (webkit_dom_event_target_add_event_listener):
68335        (webkit_dom_event_target_remove_event_listener):
68336        (webkit_dom_event_target_add_event_listener_with_closure):
68337        (webkit_dom_event_target_remove_event_listener_with_closure):
68338        * bindings/gobject/WebKitDOMEventTarget.h:
68339        * bindings/scripts/CodeGeneratorGObject.pm:
68340        (GenerateEventTargetIface):
68341        * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.cpp:
68342        (webkit_dom_test_event_target_dispatch_event):
68343        (webkit_dom_test_event_target_add_event_listener):
68344        (webkit_dom_test_event_target_remove_event_listener):
68345        * bindings/scripts/test/GObject/WebKitDOMTestNode.cpp:
68346        (webkit_dom_test_node_dispatch_event):
68347        (webkit_dom_test_node_add_event_listener):
68348        (webkit_dom_test_node_remove_event_listener):
68349
683502013-10-14  Sergio Villar Senin  <svillar@igalia.com>
68351
68352        Use a Vector instead of HashSet to computed the orderValues in RenderFlexibleBox
68353        https://bugs.webkit.org/show_bug.cgi?id=118620
68354
68355        Reviewed by Antti Koivisto.
68356
68357        Turns out that order is extremelly uncommon so using a Vector is
68358        much less expensive. This also special-cases the much common case
68359        of only having order of value 0 by using Vectors with just one
68360        preallocated member.
68361
68362        Also added the performance test that shows a ~1% win when using a
68363        vector instead of the HashSet.
68364
68365        * rendering/RenderFlexibleBox.cpp:
68366        (WebCore::RenderFlexibleBox::OrderIterator::setOrderValues):
68367        (WebCore::RenderFlexibleBox::layoutBlock):
68368        (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes):
68369        * rendering/RenderFlexibleBox.h:
68370
683712013-10-23  ChangSeok Oh  <changseok.oh@collabora.com>
68372
68373        Unreviewed build fix since r157823.
68374        FilterOperation::getOperationType() is renamed FilterOperation::type().
68375
68376        * platform/graphics/texmap/TextureMapperGL.cpp:
68377        (WebCore::prepareFilterProgram):
68378        (WebCore::TextureMapperGL::drawTexture):
68379        (WebCore::TextureMapperGL::drawUsingCustomFilter):
68380        (WebCore::TextureMapperGL::drawFiltered):
68381        (WebCore::BitmapTextureGL::applyFilters):
68382        * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
68383        (WebCore::CoordinatedGraphicsScene::injectCachedCustomFilterPrograms):
68384
683852013-10-23  Ryuan Choi  <ryuan.choi@samsung.com>
68386
68387        Unreviewed build fix on CMake based ports when CMAKE_BUILD_TYPE is not given.
68388
68389        When CMAKE_BUILD_TYPE is empty, FIND command will be failed.
68390
68391        * CMakeLists.txt:
68392
683932013-10-23  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
68394
68395        Integrate css3-images image-orientation with existing EXIF support
68396        https://bugs.webkit.org/show_bug.cgi?id=91566
68397
68398        Reviewed by Beth Dakin.
68399
68400        Original patch by David Barr(davidbarr@chromium.org).
68401
68402        This patch passes an information of image orientation into existing EXIF support functions
68403        (draw() functions of image classes mainly). We need to let the functions to know the information
68404        in order to meet the image-orientation requirement.
68405
68406        Spec: http://dev.w3.org/csswg/css-images-3/#the-image-orientation
68407        The css3-images module specification is at last call.
68408
68409        Test: fast/css/image-orientation/image-orientation.html
68410        Image orientation test is to check if incorrect rotation value can be fixed with correct orientation.
68411
68412        * loader/cache/CachedImage.cpp:
68413        (WebCore::CachedImage::imageSizeForRenderer):
68414        * page/DragController.cpp:
68415        (WebCore::DragController::doImageDrag):
68416        * page/Frame.cpp:
68417        (WebCore::Frame::nodeImage):
68418        * platform/graphics/BitmapImage.cpp:
68419        (WebCore::BitmapImage::updateSize):
68420        (WebCore::BitmapImage::sizeRespectingOrientation):
68421        (WebCore::BitmapImage::drawPattern):
68422        * platform/graphics/BitmapImage.h:
68423        * platform/graphics/CrossfadeGeneratedImage.cpp:
68424        (WebCore::CrossfadeGeneratedImage::draw):
68425        * platform/graphics/CrossfadeGeneratedImage.h:
68426        * platform/graphics/GeneratedImage.h:
68427        * platform/graphics/GradientImage.cpp:
68428        (WebCore::GradientImage::draw):
68429        * platform/graphics/GradientImage.h:
68430        * platform/graphics/Image.cpp:
68431        (WebCore::Image::draw):
68432        (WebCore::Image::drawTiled):
68433        * platform/graphics/Image.h:
68434        * platform/graphics/blackberry/ImageBlackBerry.cpp:
68435        * platform/graphics/cairo/BitmapImageCairo.cpp:
68436        (WebCore::BitmapImage::draw):
68437        * platform/graphics/cg/BitmapImageCG.cpp:
68438        * platform/graphics/cg/PDFDocumentImage.cpp:
68439        (WebCore::PDFDocumentImage::draw):
68440        * platform/graphics/cg/PDFDocumentImage.h:
68441        * platform/graphics/win/ImageCGWin.cpp:
68442        (WebCore::BitmapImage::getHBITMAPOfSize):
68443        (WebCore::BitmapImage::drawFrameMatchingSourceSize):
68444        * platform/graphics/wince/ImageBufferWinCE.cpp:
68445        (WebCore::BufferedImage::draw):
68446        * platform/graphics/wince/ImageWinCE.cpp:
68447        (WebCore::BitmapImage::draw):
68448        * platform/mac/DragImageMac.mm:
68449        (WebCore::createDragImageFromImage):
68450        * rendering/RenderEmbeddedObject.cpp:
68451        (WebCore::RenderEmbeddedObject::paintSnapshotImage):
68452        * rendering/RenderImage.cpp:
68453        (WebCore::RenderImage::styleDidChange):
68454        * rendering/RenderSnapshottedPlugIn.cpp:
68455        (WebCore::RenderSnapshottedPlugIn::paintSnapshot):
68456        * rendering/style/RenderStyle.cpp:
68457        (WebCore::RenderStyle::changeRequiresLayout):
68458        * svg/graphics/SVGImage.cpp:
68459        (WebCore::SVGImage::drawForContainer):
68460        (WebCore::SVGImage::nativeImageForCurrentFrame):
68461        (WebCore::SVGImage::draw):
68462        * svg/graphics/SVGImage.h:
68463        * svg/graphics/SVGImageForContainer.cpp:
68464        (WebCore::SVGImageForContainer::draw):
68465        * svg/graphics/SVGImageForContainer.h:
68466
684672013-10-23  Andreas Kling  <akling@apple.com>
68468
68469        Tighten typing in SVGInlineTextBox a bit.
68470        <https://webkit.org/b/123238>
68471
68472        Use RenderBoxModelObject& instead of generic RenderObject* in some
68473        places where it happens as a natural consequence of keeping the
68474        original return type from InlineBox::parent()->renderer().
68475
68476        Reviewed by Anders Carlsson.
68477
684782013-10-23  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
68479
68480        Introduce RENDER_OBJECT_TYPE_CASTS to replace manual toFoo() in child render object
68481        https://bugs.webkit.org/show_bug.cgi?id=123150
68482
68483        Reviewed by Andreas Kling.
68484
68485        As a step to let toFoo use TYPE_CASTS_BASE, toRenderFoo() can use it for child render object.
68486        So, this patch introduces RENDER_OBJECT_TYPE_CASTS based on the TYPE_CASTS_BASE. This will
68487        generate plenty more helper functions for render object type cast.
68488
68489        Some unnecessary type casts are fixed by this change.
68490
68491        No new tests, no behavior changes.
68492
68493        * rendering/RenderBlock.h:
68494        * rendering/RenderBlockFlow.h:
68495        * rendering/RenderBox.h:
68496        * rendering/RenderBoxModelObject.h:
68497        * rendering/RenderButton.h:
68498        * rendering/RenderCounter.h:
68499        * rendering/RenderElement.h:
68500        (WebCore::RenderElement::generatingElement):
68501        * rendering/RenderEmbeddedObject.h:
68502        * rendering/RenderFieldset.h:
68503        * rendering/RenderFileUploadControl.h:
68504        * rendering/RenderFlexibleBox.h:
68505        * rendering/RenderFlowThread.h:
68506        * rendering/RenderFrame.h:
68507        * rendering/RenderFrameSet.h:
68508        * rendering/RenderFullScreen.h:
68509        * rendering/RenderHTMLCanvas.h:
68510        * rendering/RenderIFrame.h:
68511        * rendering/RenderImage.h:
68512        * rendering/RenderInline.h:
68513        * rendering/RenderLayerModelObject.h:
68514        * rendering/RenderLineBreak.h:
68515        * rendering/RenderListBox.h:
68516        * rendering/RenderListItem.h:
68517        * rendering/RenderMedia.h:
68518        * rendering/RenderMenuList.h:
68519        * rendering/RenderMeter.h:
68520        * rendering/RenderMultiColumnBlock.h:
68521        * rendering/RenderMultiColumnSet.h:
68522        * rendering/RenderNamedFlowFragment.h:
68523        * rendering/RenderNamedFlowThread.h:
68524        * rendering/RenderObject.h:
68525        * rendering/RenderProgress.h:
68526        * rendering/RenderQuote.h:
68527        * rendering/RenderRegion.h:
68528        * rendering/RenderReplaced.h:
68529        * rendering/RenderRubyRun.h:
68530        * rendering/RenderScrollbarPart.h:
68531        * rendering/RenderSearchField.h:
68532        * rendering/RenderSlider.h:
68533        * rendering/RenderSnapshottedPlugIn.h:
68534        * rendering/RenderTable.h:
68535        * rendering/RenderTableCaption.h:
68536        * rendering/RenderTableCell.h:
68537        * rendering/RenderTableCol.h:
68538        * rendering/RenderTableRow.h:
68539        * rendering/RenderTableSection.h:
68540        * rendering/RenderText.h:
68541        * rendering/RenderTextControl.h:
68542        * rendering/RenderTextControlMultiLine.h:
68543        * rendering/RenderTextControlSingleLine.h:
68544        * rendering/RenderWidget.h:
68545        * rendering/mathml/RenderMathMLBlock.h:
68546        * rendering/svg/RenderSVGContainer.h:
68547        * rendering/svg/RenderSVGGradientStop.h:
68548        * rendering/svg/RenderSVGImage.h:
68549        * rendering/svg/RenderSVGInlineText.h:
68550        * rendering/svg/RenderSVGPath.h:
68551        * rendering/svg/RenderSVGResourceFilter.h:
68552        * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
68553        (WebCore::RenderSVGResourceFilterPrimitive::styleDidChange):
68554        * rendering/svg/RenderSVGRoot.h:
68555        * rendering/svg/RenderSVGShape.h:
68556        * rendering/svg/RenderSVGText.h:
68557        * rendering/svg/RenderSVGTextPath.h:
68558        * rendering/svg/RenderSVGViewportContainer.h:
68559        * rendering/svg/SVGInlineFlowBox.cpp:
68560        (WebCore::SVGInlineFlowBox::paint):
68561
685622013-10-23  Myles C. Maxfield  <mmaxfield@apple.com>
68563
68564        Include misspelling dot gap width when centering misspelling dots
68565        https://bugs.webkit.org/show_bug.cgi?id=122365
68566
68567        Reviewed by Simon Fraser.
68568
68569        When calculating where to place the misspelling dots, we find the
68570        maximum number of full dots that can fit under the misspelled word,
68571        and then center a run of that many dots. However, when we're
68572        centering the run, we are only considering the size of the extra
68573        fractional dot that we cut off. However, the dot image has a "gap"
68574        of transparent pixels (which visually provide tracking for the dots)
68575        which visually appears to be empty space. We should take this gap
68576        space into consideration when centering the run of dots. We also
68577        should make sure that our dots start on integral pixel boundaries
68578        because otherwise we can't set the phase of the dot run properly.
68579
68580        Test: editing/spelling/centering-misspelling-dots.html
68581
68582        * platform/graphics/mac/GraphicsContextMac.mm:
68583        (WebCore::GraphicsContext::drawLineForDocumentMarker):
68584
685852013-10-23  Andreas Kling  <akling@apple.com>
68586
68587        SVGFilterBuilder should not be ref-counted.
68588        <https://webkit.org/b/123222>
68589
68590        These objects are singly-owned and do not need ref counting.
68591
68592        Reviewed by Anders Carlsson.
68593
685942013-10-23  Brady Eidson  <beidson@apple.com>
68595
68596        Remove unused IDBBackingStoreLevelDB default constructor.
68597
68598        Rubberstamped by Anders Carlsson.
68599
68600        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
68601        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
68602
686032013-10-23  Alex Christensen  <achristensen@webkit.org>
68604
68605        Added Texture Mapper and Coordinated Graphics to Windows build for WinCairo.
68606        https://bugs.webkit.org/show_bug.cgi?id=123215
68607
68608        Reviewed by Brent Fulgham.
68609
68610        * WebCore.vcxproj/WebCore.vcxproj:
68611        * WebCore.vcxproj/WebCore.vcxproj.filters:
68612        Added source files for Texture Mapper to Windows build.
68613        * WebCore.vcxproj/WebCoreCairo.props:
68614        Added Texture Mapper include directories for WinCairo.
68615
686162013-10-23  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
68617
68618        Adding mock class to test RTCDataChannelHandler
68619        https://bugs.webkit.org/show_bug.cgi?id=123205
68620
68621        Reviewed by Eric Carlson.
68622
68623        Now RTCPeerConnectionHandler-datachannel LayouTest can run properly.
68624        Also updated the expected file, removing the reliable property check (which was removed in the spec)
68625
68626        Existing tests updated.
68627
68628        * CMakeLists.txt:
68629        * platform/mediastream/RTCDataChannelHandlerClient.h:
68630        * platform/mock/RTCDataChannelHandlerMock.cpp: Added.
68631        * platform/mock/RTCDataChannelHandlerMock.h: Added.
68632        * platform/mock/RTCNotifiersMock.cpp:
68633        (WebCore::RemoteDataChannelNotifier::RemoteDataChannelNotifier):
68634        (WebCore::RemoteDataChannelNotifier::fire):
68635        (WebCore::DataChannelStateNotifier::DataChannelStateNotifier):
68636        (WebCore::DataChannelStateNotifier::fire):
68637        * platform/mock/RTCNotifiersMock.h:
68638        * platform/mock/RTCPeerConnectionHandlerMock.cpp:
68639        (WebCore::RTCPeerConnectionHandlerMock::createDataChannel):
68640
686412013-10-23  Andreas Kling  <akling@apple.com>
68642
68643        Clock should not be ref-counted.
68644        <https://webkit.org/b/123217>
68645
68646        The Clock object is only ever owned by the MediaController,
68647        so remove the ref counting and store it in a std::unique_ptr.
68648
68649        Also slapped the Clock subclasses with FINAL and OVERRIDE.
68650
68651        Reviewed by Anders Carlsson.
68652
686532013-10-23  Mark Lam  <mark.lam@apple.com>
68654
68655        Fix assertion in DatabaseManager::detailsForNameAndOrigin() to be iOS friendly.
68656        https://bugs.webkit.org/show_bug.cgi?id=123218.
68657
68658        Reviewed by Joseph Pecoraro.
68659
68660        No new tests.
68661
68662        * Modules/webdatabase/DatabaseManager.cpp:
68663        (WebCore::DatabaseManager::detailsForNameAndOrigin):
68664
686652013-10-23  Alex Christensen  <achristensen@webkit.org>
68666
68667        Separated USE(CA) from USE(ACCELERATED_COMPOSITING) to prepare WinCairo for accelerated compositing.
68668        https://bugs.webkit.org/show_bug.cgi?id=123214
68669
68670        Reviewed by Brent Fulgham.
68671
68672        * platform/graphics/PlatformLayer.h:
68673        Added TextureMapperPlatformLayer PlatformLayer declaration for WinCairo.
68674        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
68675        (WebCore::MediaPlayerPrivateFullscreenWindow::createWindow):
68676        (WebCore::MediaPlayerPrivateFullscreenWindow::wndProc):
68677        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h:
68678        Added USE(CA) where necessary to compile WinCairo with accelerated compositing.
68679
686802013-10-23  Myles C. Maxfield  <mmaxfield@apple.com>
68681
68682        Antialias underlines if they're not axis-aligned
68683        https://bugs.webkit.org/show_bug.cgi?id=123004
68684
68685        Reviewed by Simon Fraser.
68686
68687        In order to make underlines crisp, GraphicsContext:drawLineForText
68688        modifies the bounds of the underline rect in order to make the rect
68689        device-pixel-aligned, and then turns off antialiasing when drawing
68690        the line. This makes sense when the underline is axis-aligned, but
68691        doesn't when the rect is rotated or skewed. Therefore, we should
68692        only opt-in to this behavior if the underline we're about to draw
68693        is axis-aligned. This requires figuring out whether or not the
68694        current transformation is axis-aligned every time
68695        GraphicsContext::drawLineForText is called, which will incur a small
68696        performance hit. However, this is justified by underlines looking
68697        much better (antialiased) when the context is rotated or skewed.
68698
68699        Tests: svg/custom/foreign-object-skew.html
68700               svg/zoom/page/zoom-foreignObject.html
68701               svg/zoom/text/zoom-foreignObject.html:
68702
68703        * platform/graphics/cg/GraphicsContextCG.cpp:
68704        (WebCore::GraphicsContext::drawLineForText):
68705
687062013-10-23  Mark Lam  <mark.lam@apple.com>
68707
68708        Re-instate ProposedDatabases needed by detailsForNameAndOrigin().
68709        https://bugs.webkit.org/show_bug.cgi?id=123131.
68710
68711        Reviewed by Geoffrey Garen.
68712
68713        Test: storage/websql/open-database-expand-quota.html
68714
68715        If a webpage tries to create a database that exceeds the database size
68716        quota for that security origin, the WebKit1 quota request mechanism
68717        uses detailsForNameAndOrigin() to get the requested size of the database
68718        (that the webpage is attempting to open) in order to determine whether
68719        to increase the quota or not.
68720
68721        Previously, detailsForNameAndOrigin() relies on the ProposedDatabase
68722        mechanism to provide this size information. This change re-instates the
68723        ProposedDatabase mechanism so that WebKit1 client code that relies on
68724        this behavior will continue to work.
68725
68726        * Modules/webdatabase/DatabaseManager.cpp:
68727        (WebCore::DatabaseManager::ProposedDatabase::ProposedDatabase):
68728        (WebCore::DatabaseManager::ProposedDatabase::~ProposedDatabase):
68729        (WebCore::DatabaseManager::DatabaseManager):
68730        (WebCore::DatabaseManager::openDatabaseBackend):
68731        (WebCore::DatabaseManager::fullPathForDatabase):
68732        (WebCore::DatabaseManager::detailsForNameAndOrigin):
68733        * Modules/webdatabase/DatabaseManager.h:
68734        (WebCore::DatabaseManager::ProposedDatabase::origin):
68735        (WebCore::DatabaseManager::ProposedDatabase::details):
68736
687372013-10-23  Tim Horton  <timothy_horton@apple.com>
68738
68739        [cg] Fix the capitalization of kCGImageSourceSkipMetaData (-> Metadata)
68740        https://bugs.webkit.org/show_bug.cgi?id=122918
68741
68742        Reviewed by Anders Carlsson.
68743
68744        * platform/graphics/cg/ImageSourceCG.cpp:
68745        (WebCore::imageSourceOptions):
68746        The capitalization of kCGImageSourceSkipMetaData changed to
68747        kCGImageSourceSkipMetadata in Mountain Lion.
68748
687492013-10-23  Brady Eidson  <beidson@apple.com>
68750
68751        Make IDBDatabaseBackendLevelDB.cpp be cross platform
68752        https://bugs.webkit.org/show_bug.cgi?id=123027
68753
68754        Attentively reviewed by Dean Jackson.
68755
68756        Move it out of the indexeddb/leveldb directory, and rename it to IDBDatabaseBackendImpl.
68757
68758        Project files:
68759        * CMakeLists.txt:
68760        * GNUmakefile.list.am:
68761        * WebCore.vcxproj/WebCore.vcxproj:
68762        * WebCore.vcxproj/WebCore.vcxproj.filters:
68763        * WebCore.xcodeproj/project.pbxproj:
68764
68765        * Modules/indexeddb/IDBDatabaseBackendImpl.cpp: Renamed from Source/WebCore/Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp.
68766        * Modules/indexeddb/IDBDatabaseBackendImpl.h: Renamed from Source/WebCore/Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.h.
68767
68768        * Modules/indexeddb/IDBDatabaseBackendInterface.h:
68769        (WebCore::IDBDatabaseBackendInterface::isIDBDatabaseBackendImpl): Add to support a required cast in LevelDB code.
68770
68771        * Modules/indexeddb/IDBFactoryBackendInterface.h:
68772
68773        * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp:
68774        * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h:
68775
68776        * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
68777        (WebCore::IDBFactoryBackendLevelDB::deleteDatabase):
68778        (WebCore::IDBFactoryBackendLevelDB::open):
68779        (WebCore::IDBFactoryBackendLevelDB::maybeCreateTransactionBackend):
68780        * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
68781
68782        * Modules/indexeddb/leveldb/IDBLevelDBCoding.cpp:
68783        * Modules/indexeddb/leveldb/IDBLevelDBCoding.h:
68784
68785        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp:
68786        (WebCore::IDBTransactionBackendLevelDB::create):
68787        (WebCore::IDBTransactionBackendLevelDB::IDBTransactionBackendLevelDB):
68788        (WebCore::IDBTransactionBackendLevelDB::scheduleVersionChangeOperation):
68789        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:
68790
68791        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.cpp:
68792        (WebCore::IDBDatabaseBackendImpl::VersionChangeOperation::perform):
68793        (WebCore::IDBDatabaseBackendImpl::VersionChangeAbortOperation::perform):
68794        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.h:
68795
687962013-10-23  Daniel Bates  <dabates@apple.com>
68797
68798        [iOS] Upstream more ARMv7s bits
68799        https://bugs.webkit.org/show_bug.cgi?id=123052
68800
68801        Reviewed by Joseph Pecoraro.
68802
68803        Define exported symbol file for armv7s and arm64.
68804
68805        * Configurations/WebCore.xcconfig:
68806
688072013-10-23  Krzysztof Wolanski  <k.wolanski@samsung.com>
68808
68809        [GTK] accessibility/self-referencing-aria-labelledby.html is failing
68810        https://bugs.webkit.org/show_bug.cgi?id=121594
68811
68812        Reviewed by Mario Sanchez Prada.
68813
68814        According to http://www.w3.org/TR/REC-html40/struct/objects.html#edef-IMG
68815        description of image element should be determined by alt attribute, then
68816        if it is empty by title attributte.
68817
68818        * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
68819        (webkitAccessibleGetDescription):
68820
688212013-10-15  Andreas Kling  <akling@apple.com>
68822
68823        Tighten animation-driven restyle to operate on Element only.
68824        <https://webkit.org/b/122820>
68825
68826        Text nodes are never directly animated, so we can tighten this code
68827        to work on Element only. This happens naturally since the code was
68828        already working with RenderElement everywhere.
68829
68830        Reviewed by Antti Koivisto.
68831
688322013-10-22  Andreas Kling  <akling@apple.com>
68833
68834        Even more PassRef<RenderStyle>!
68835        <https://webkit.org/b/123147>
68836
68837        Convert more of the WebCore code to use PassRef for RenderStyle
68838        in places where they are known to be non-null.
68839
68840        Re-landing this without region styling since that caused some
68841        assertions last time.
68842
68843        Reviewed by Antti Koivisto.
68844
688452013-10-22  Zoltan Horvath  <zoltan@webkit.org>
68846
68847        Refactor LineBreaker::nextSegmentBreak, add BreakingContext that holds all its state
68848        https://bugs.webkit.org/show_bug.cgi?id=123038
68849
68850        Reviewed by David Hyatt.
68851
68852        I followed Levi's logic on Blink's nextSegmentBreak refactoring (https://chromiumcodereview.appspot.com/25054004). 
68853        I mostly did the same changes, but the code is too diverged at this point to just apply that patch on our trunk. The patch
68854        introduces BreakingContext as a separate class. I added new methods for each condition, which were originally located in
68855        nextSegmentBreak. I also removed the goto-s from the code. All the new methods are inline in order to avoid introducing any
68856        performance regression. The change makes the code so much cleaner and understandable.
68857
68858        This change would be the first step of the nextSegmentBreak refactoring, I wanted to keep things in place in RenderBlockLineLayout.cpp
68859        for now, but I'm planning to separate BreakingContext into a new file and do additional changes to make things nicer. I'm tracking
68860        the entire progress under http://webkit.org/b/121261 meta bug.
68861
68862        No new tests, covered by existing tests.
68863        - I updated 1 expected result, because there was a 1 pixel difference on the result, which I believe comes from a rounding situation.
68864
68865        * rendering/RenderBlockFlow.h:
68866        * rendering/RenderBlockLineLayout.cpp:
68867        (WebCore::BreakingContext::BreakingContext):
68868        (WebCore::BreakingContext::currentObject):
68869        (WebCore::BreakingContext::lineBreak):
68870        (WebCore::BreakingContext::lineBreakRef):
68871        (WebCore::BreakingContext::lineWidth):
68872        (WebCore::BreakingContext::atEnd):
68873        (WebCore::BreakingContext::clearLineBreakIfFitsOnLine):
68874        (WebCore::BreakingContext::commitLineBreakAtCurrentWidth):
68875        (WebCore::BreakingContext::initializeForCurrentObject):
68876        (WebCore::BreakingContext::increment):
68877        (WebCore::BreakingContext::handleBR):
68878        (WebCore::BreakingContext::handleOutOfFlowPositioned):
68879        (WebCore::BreakingContext::handleFloat):
68880        (WebCore::BreakingContext::handleEmptyInline):
68881        (WebCore::BreakingContext::handleReplaced):
68882        (WebCore::nextCharacter):
68883        (WebCore::BreakingContext::handleText):
68884        (WebCore::textBeginsWithBreakablePosition):
68885        (WebCore::BreakingContext::canBreakAtThisPosition):
68886        (WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):
68887        (WebCore::BreakingContext::handleEndOfLine):
68888        (WebCore::LineBreaker::nextSegmentBreak):
68889
688902013-10-22  Commit Queue  <commit-queue@webkit.org>
68891
68892        Unreviewed, rolling out r157826.
68893        http://trac.webkit.org/changeset/157826
68894        https://bugs.webkit.org/show_bug.cgi?id=123197
68895
68896        Caused some regions tests to assert (Requested by smfr on
68897        #webkit).
68898
68899        * dom/Document.cpp:
68900        (WebCore::Document::styleForElementIgnoringPendingStylesheets):
68901        * dom/Document.h:
68902        * dom/Element.cpp:
68903        (WebCore::Element::styleForRenderer):
68904        * dom/Element.h:
68905        * dom/ElementRareData.h:
68906        (WebCore::ElementRareData::setComputedStyle):
68907        (WebCore::ElementRareData::resetComputedStyle):
68908        * html/HTMLTitleElement.cpp:
68909        (WebCore::HTMLTitleElement::textWithDirection):
68910        * page/animation/AnimationController.cpp:
68911        (WebCore::AnimationController::updateAnimations):
68912        * page/animation/CompositeAnimation.cpp:
68913        (WebCore::CompositeAnimation::animate):
68914        * page/animation/CompositeAnimation.h:
68915        * rendering/RenderElement.cpp:
68916        (WebCore::RenderElement::createFor):
68917        * rendering/RenderElement.h:
68918        (WebCore::RenderElement::setStyleInternal):
68919        * rendering/RenderRegion.cpp:
68920        (WebCore::RenderRegion::setRegionObjectsRegionStyle):
68921        (WebCore::RenderRegion::restoreRegionObjectsOriginalStyle):
68922        (WebCore::RenderRegion::computeStyleInRegion):
68923        (WebCore::RenderRegion::computeChildrenStyleInRegion):
68924        (WebCore::RenderRegion::setObjectStyleInRegion):
68925        * rendering/RenderRegion.h:
68926        * style/StyleResolveTree.cpp:
68927        (WebCore::Style::resolveLocal):
68928
689292013-10-22  Ryuan Choi  <ryuan.choi@samsung.com>
68930
68931        [EFL] Remove HAVE_GLX macro
68932        https://bugs.webkit.org/show_bug.cgi?id=123191
68933
68934        Reviewed by Gyuyoung Kim.
68935
68936        Since r138313, HAVE(GLX) was replaced to USE(GLX) except in GraphicsSurfaceToken.h.
68937
68938        * platform/graphics/surfaces/GraphicsSurfaceToken.h:
68939        Replace HAVE(GLX) to USE(GLX)
68940
689412013-10-22  Mark Lam  <mark.lam@apple.com>
68942
68943        Gardening: fix broken build on Windows.
68944        https://bugs.webkit.org/show_bug.cgi?id=123174.
68945
68946        Not reviewed.
68947
68948        No new tests.
68949
68950        * WebCore.vcxproj/WebCore.vcxproj:
68951        * WebCore.vcxproj/WebCore.vcxproj.filters:
68952
689532013-10-22  Brady Eidson  <beidson@apple.com>
68954
68955        Get rid of IDBObjectStoreBackendLevelDB
68956        https://bugs.webkit.org/show_bug.cgi?id=123174
68957
68958        Reviewed by Tim Horton.
68959
68960        This file was kind of a dumping ground.
68961        Its contents can be merged into IDBBackingStoreInterface and a new IDBIndexWriter class.
68962
68963        Also took the opportunity to do a little bit of RefPtr<> and pointer-vs-reference cleanup.
68964
68965        * CMakeLists.txt:
68966        * GNUmakefile.list.am:
68967        * WebCore.xcodeproj/project.pbxproj:
68968
68969        * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.cpp: Removed.
68970        * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.h: Removed.
68971
68972        * Modules/indexeddb/IDBIndexWriter.cpp: Added.
68973        (WebCore::IDBIndexWriter::IDBIndexWriter):
68974        (WebCore::IDBIndexWriter::writeIndexKeys):
68975        (WebCore::IDBIndexWriter::verifyIndexKeys):
68976        (WebCore::IDBIndexWriter::addingKeyAllowed):
68977        * Modules/indexeddb/IDBIndexWriter.h: Added.
68978        (WebCore::IDBIndexWriter::create):
68979
68980        * Modules/indexeddb/IDBBackingStoreInterface.h:
68981        * Modules/indexeddb/IDBDatabaseBackendInterface.h:
68982
68983        * Modules/indexeddb/IDBMetadata.h:
68984        * Modules/indexeddb/IDBTransactionBackendInterface.h:
68985
68986        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
68987        (WebCore::IDBBackingStoreLevelDB::makeIndexWriters):
68988        (WebCore::IDBBackingStoreLevelDB::generateKey):
68989        (WebCore::IDBBackingStoreLevelDB::updateKeyGenerator):
68990        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
68991
68992        * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp:
68993        (WebCore::IDBDatabaseBackendLevelDB::setIndexKeys):
68994        (WebCore::IDBDatabaseBackendLevelDB::setIndexesReady):
68995        * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.h:
68996
68997        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp:
68998        (WebCore::IDBTransactionBackendLevelDB::schedulePutOperation):
68999        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:
69000
69001        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.cpp:
69002        (WebCore::PutOperation::perform):
69003        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.h:
69004        (WebCore::PutOperation::create):
69005        (WebCore::PutOperation::PutOperation):
69006
690072013-10-22  Dean Jackson  <dino@apple.com>
69008
69009        [WebGL] Implement a software rendering option on Mac
69010        https://bugs.webkit.org/show_bug.cgi?id=123177
69011
69012        Reviewed by Tim Horton.
69013
69014        Implement a way to force software OpenGL rendering
69015        for WebGL, via a Setting/Preference.
69016
69017        No new tests. We intentionally hide the capabilities of
69018        the renderer from the content, so you can't test for
69019        this setting. However, manual inspection is pretty
69020        obvious. Just go to a page with a complex shader
69021        such as https://www.shadertoy.com/view/lss3WS.
69022
69023        * html/canvas/WebGLRenderingContext.cpp:
69024        (WebCore::WebGLRenderingContext::create): If we're forcing software
69025        rendering, mark the context attributes as such.
69026        * page/Settings.in: New setting key.
69027        * platform/graphics/GraphicsContext3D.h: New flag in Attributes.
69028        (WebCore::GraphicsContext3D::Attributes::Attributes):
69029        * platform/graphics/mac/GraphicsContext3DMac.mm:
69030        (WebCore::GraphicsContext3D::GraphicsContext3D): Slight update to the
69031        algorithm that sets a pixel format. If we're forcing software rendering,
69032        obviously we never want to create an accelerated pixel format.
69033        * platform/graphics/filters/CustomFilterGlobalContext.cpp:
69034        (WebCore::CustomFilterGlobalContext::prepareContextIfNeeded): Set the attribute
69035        here before trying to create the context.
69036        * platform/graphics/filters/CustomFilterGlobalContext.h: Add a forceSoftwareRendering
69037        flag to prepareContextIfNeeded.
69038        * rendering/FilterEffectRenderer.cpp:
69039        (WebCore::createCustomFilterEffect): Check the Setting before creating a custom
69040        filter context.
69041
690422013-10-22  Anders Carlsson  <andersca@apple.com>
69043
69044        Revert r157445 since it broke certificates on Mac.
69045        <rdar://problem/15246926&15254017&15269117>
69046
69047        * GNUmakefile.list.am:
69048        * PlatformEfl.cmake:
69049        * WebCore.exp.in:
69050        * WebCore.vcxproj/WebCore.vcxproj:
69051        * WebCore.vcxproj/WebCore.vcxproj.filters:
69052        * WebCore.xcodeproj/project.pbxproj:
69053        * platform/network/ResourceErrorBase.h:
69054        * platform/network/ResourceResponseBase.h:
69055        * platform/network/cf/CertificateInfoCFNet.cpp: Removed.
69056        * platform/network/cf/ResourceResponse.h:
69057        * platform/network/mac/ResourceResponseMac.mm:
69058        (WebCore::ResourceResponse::setCertificateChain):
69059        (WebCore::ResourceResponse::certificateChain):
69060        * platform/network/soup/ResourceError.h:
69061        (WebCore::ResourceError::ResourceError):
69062        (WebCore::ResourceError::tlsErrors):
69063        (WebCore::ResourceError::setTLSErrors):
69064        (WebCore::ResourceError::certificate):
69065        (WebCore::ResourceError::setCertificate):
69066        * platform/network/soup/ResourceErrorSoup.cpp:
69067        (WebCore::ResourceError::tlsError):
69068        (WebCore::ResourceError::platformCopy):
69069        (WebCore::ResourceError::platformCompare):
69070        * platform/network/soup/ResourceResponse.h:
69071        (WebCore::ResourceResponse::ResourceResponse):
69072        (WebCore::ResourceResponse::soupMessageCertificate):
69073        (WebCore::ResourceResponse::setSoupMessageCertificate):
69074        (WebCore::ResourceResponse::soupMessageTLSErrors):
69075        (WebCore::ResourceResponse::setSoupMessageTLSErrors):
69076        * platform/network/soup/ResourceResponseSoup.cpp:
69077        (WebCore::ResourceResponse::toSoupMessage):
69078        (WebCore::ResourceResponse::updateFromSoupMessage):
69079
690802013-10-22  Jer Noble  <jer.noble@apple.com>
69081
69082        [Media] Refactor supportsType() factory method to take a parameters object.
69083        https://bugs.webkit.org/show_bug.cgi?id=122489
69084
69085        Reviewed by Eric Carlson.
69086
69087        In order to support adding new conditional properties with which to decide
69088        what MediaPlayerPrivate subclass to create, replace the two versions of the
69089        supportsType() factory method with a single one taking a parameters object.
69090
69091        At the same time, add a 'isMediaSource' parameter to that object, allowing
69092        MediaPlayerPrivate subclasses which support the same type and codecs but
69093        which do not both support MediaSource to be distinguised.
69094
69095        * platform/graphics/MediaPlayer.cpp:
69096        (WebCore::bestMediaEngineForSupportParameters): Renamed from
69097            bestMediaEngineForTypeAndCodecs.
69098        (WebCore::MediaPlayer::nextBestMediaEngine): Added convenience function.
69099        (WebCore::MediaPlayer::loadWithNextMediaEngine): Call nextBestMediaEngine()
69100        (WebCore::MediaPlayer::supportsType): Pass parameter object.
69101        (WebCore::MediaPlayer::networkStateChanged): Call nextBestMediaEngine().
69102        * platform/graphics/MediaPlayer.h:
69103        * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
69104        (WebCore::MediaPlayerPrivateAVFoundationCF::supportsType): Handle parameter object.
69105        * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
69106        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
69107        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
69108        (WebCore::MediaPlayerPrivateAVFoundationObjC::registerMediaEngine): Remove extraneous
69109            extendedSupportsType method.
69110        (WebCore::MediaPlayerPrivateAVFoundationObjC::supportsType): Handle parameter object.
69111        * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
69112        (WebCore::MediaPlayerPrivate::supportsType): Ditto.
69113        * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
69114        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
69115        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
69116        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
69117        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
69118        (WebCore::MediaPlayerPrivateQTKit::registerMediaEngine): Remove extraneous
69119            extendedSupportsType method.
69120        (WebCore::MediaPlayerPrivateQTKit::supportsType): Handle parameter object.
69121        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
69122        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::supportsType): Ditto.
69123        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
69124        * platform/graphics/wince/MediaPlayerPrivateWinCE.h:
69125
691262013-10-22  Andreas Kling  <akling@apple.com>
69127
69128        Merge SVGRenderBlock::styleWillChange() into styleDidChange().
69129        <https://webkit.org/b/123181>
69130
69131        I meant to do this one in r157787, but better late than never.
69132
69133        Reviewed by Geoffrey Garen.
69134
691352013-10-22  Sam Weinig  <sam@webkit.org>
69136
69137        CTTE: Modernize RenderBlock a bit
69138        https://bugs.webkit.org/show_bug.cgi?id=123162
69139
69140        Reviewed by Andreas Kling.
69141
69142        Start threading references through RenderBlock. While we 
69143        are here, do some selective modernization as well.
69144
691452013-10-22  Andreas Kling  <akling@apple.com>
69146
69147        Even more PassRef<RenderStyle>!
69148        <https://webkit.org/b/123147>
69149
69150        Convert the remaining WebCore code to use PassRef for RenderStyle
69151        wherever they are known to be non-null.
69152
69153        Reviewed by Antti Koivisto.
69154
691552013-10-22  Commit Queue  <commit-queue@webkit.org>
69156
69157        Unreviewed, rolling out r157819.
69158        http://trac.webkit.org/changeset/157819
69159        https://bugs.webkit.org/show_bug.cgi?id=123180
69160
69161        Broke 32-bit builds (Requested by smfr on #webkit).
69162
69163        * Configurations/WebCore.xcconfig:
69164
691652013-10-22  Antti Koivisto  <antti@apple.com>
69166
69167        Rename deleteLineBoxTree to deleteLines
69168        https://bugs.webkit.org/show_bug.cgi?id=123176
69169
69170        Reviewed by Andreas Kling.
69171
69172        RenderBlock::deleteLineBoxTree -> RenderBlock::deleteLines
69173        RenderInline::deleteLineBoxTree -> RenderInline::deleteLines
69174
691752013-10-22  Tim Horton  <timothy_horton@apple.com>
69176
69177        {ClipPathOperation, FilterOperation}::getOperationType() should not include 'get'
69178        https://bugs.webkit.org/show_bug.cgi?id=123172
69179
69180        Reviewed by Simon Fraser.
69181
69182        No new tests, just a rename.
69183
69184        "get" in WebCore tends to mean that the function has out arguments; these have no arguments.
69185        Rename FilterOperation::getOperationType() to FilterOperation::type().
69186        I noticed that ClipPathOperation had the same mistake, so I fixed it there too.
69187
69188        Removed long and useless list of files.
69189
691902013-10-22  Samuel White  <samuel_white@apple.com>
69191
69192        AX: Add paramAttrs to fetch start and end text markers in a given rect.
69193        https://bugs.webkit.org/show_bug.cgi?id=122164
69194
69195        Reviewed by Chris Fleizach.
69196
69197        Added ability to fetch end and start text markers inside a given bounds. This gives ScreenReaders
69198        like VoiceOver a way to retrieve the text markers for a specified column of page text.
69199
69200        Test: platform/mac/accessibility/text-marker-for-bounds.html
69201
69202        * accessibility/AccessibilityObject.cpp:
69203        (WebCore::AccessibilityObject::mainFrame):
69204        (WebCore::AccessibilityObject::topDocument):
69205        (WebCore::AccessibilityObject::visiblePositionForBounds):
69206        * accessibility/AccessibilityObject.h:
69207        * accessibility/AccessibilityRenderObject.cpp:
69208        * accessibility/AccessibilityRenderObject.h:
69209        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
69210        (-[WebAccessibilityObjectWrapper screenToContents:]):
69211        (-[WebAccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
69212        (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
69213
692142013-10-22  Zoltan Horvath  <zoltan@webkit.org>
69215
69216        [CSS Shapes] Match adjustLogicalLineTopAndLogicalHeightIfNeeded's implementation with Blink's
69217        https://bugs.webkit.org/show_bug.cgi?id=123033
69218
69219        Reviewed by David Hyatt.
69220
69221        In Blink I made this function in a bit different way. This change modifies it
69222        to be identical, which helps a lot in the future cross-merging patches.
69223
69224        No new tests, covered by existing texts.
69225
69226        * rendering/RenderBlockLineLayout.cpp:
69227        (WebCore::RenderBlockFlow::adjustLogicalLineTopAndLogicalHeightIfNeeded):
69228
692292013-10-22  Daniel Bates  <dabates@apple.com>
69230
69231        [iOS] Upstream more ARMv7s bits
69232        https://bugs.webkit.org/show_bug.cgi?id=123052
69233
69234        Reviewed by Joseph Pecoraro.
69235
69236        * Configurations/WebCore.xcconfig:
69237
692382013-10-22  Simon Fraser  <simon.fraser@apple.com>
69239
69240        Try to fix Mavericks build; use <> for framework include.
69241
69242        * page/CaptionUserPreferencesMediaAF.cpp:
69243
692442013-10-22  Tim Horton  <timothy_horton@apple.com>
69245
69246        GammaFilterOperation seems to be dead code
69247        https://bugs.webkit.org/show_bug.cgi?id=123173
69248
69249        Reviewed by Simon Fraser.
69250
69251        * platform/graphics/filters/FilterOperation.cpp:
69252        * platform/graphics/filters/FilterOperation.h:
69253        Remove dead code.
69254
692552013-10-22  Antti Koivisto  <antti@apple.com>
69256
69257        Rename some line box functions to be just about lines
69258        https://bugs.webkit.org/show_bug.cgi?id=123168
69259
69260        Reviewed by Dave Hyatt.
69261
69262        firstLineBoxBaseline -> firstLineBaseline
69263        hasInlineBoxChildren -> hasLines
69264        
69265        Also use hasLines in a bunch of places where firstLineBox() was used.
69266
69267        * accessibility/AccessibilityRenderObject.cpp:
69268        (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
69269        
69270            Also use hasRenderedText() instead of firstTextBox()
69271
69272        * rendering/RenderFullScreen.cpp:
69273        
69274            Fix namespace.
69275
692762013-10-22  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
69277
69278        Adding Mock class to test RTCPeerConnection
69279        https://bugs.webkit.org/show_bug.cgi?id=122848
69280
69281        Reviewed by Eric Carlson.
69282
69283        The following tests can be run:
69284
69285            RTCPeerConnection-createAnswer.html
69286            RTCPeerConnection-createOffer.html
69287            RTCPeerConnection-ice.html
69288            RTCPeerConnection-localDescription.html
69289            RTCPeerConnection-remoteDescription.html
69290            RTCPeerConnection-state.html
69291
69292        Tests that require a MediaStream object, by invoking getUserMedia,
69293        are not ready to run yet.
69294
69295        No new tests needed.
69296
69297        * CMakeLists.txt:
69298        * platform/mediastream/RTCPeerConnectionHandler.cpp:
69299        (WebCore::createHandler):
69300        * platform/mediastream/RTCPeerConnectionHandler.h:
69301        * platform/mediastream/RTCPeerConnectionHandlerClient.h:
69302        * platform/mock/RTCNotifiersMock.cpp: Added.
69303        * platform/mock/RTCNotifiersMock.h: Added.
69304        * platform/mock/RTCPeerConnectionHandlerMock.cpp: Added.
69305        * platform/mock/RTCPeerConnectionHandlerMock.h: Copied from Source/WebCore/platform/mediastream/RTCPeerConnectionHandler.h.
69306        * platform/mock/TimerEventBasedMock.h: Added.
69307        * testing/Internals.cpp:
69308        (WebCore::Internals::Internals):
69309        (WebCore::Internals::enableMockRTCPeerConnectionHandler):
69310        * testing/Internals.h:
69311
693122013-10-22  Zan Dobersek  <zdobersek@igalia.com>
69313
69314        WebCore::fillWithEmptyClients adopts new empty clients before leaking their pointers
69315        https://bugs.webkit.org/show_bug.cgi?id=122945
69316
69317        Reviewed by Anders Carlsson.
69318
69319        * loader/EmptyClients.cpp:
69320        (WebCore::fillWithEmptyClients): Store the static empty clients as NeverDestroyed, rather than
69321        adopting the pointer of each heap-allocated object and then immediately leaking that pointer.
69322
693232013-10-22  Zan Dobersek  <zdobersek@igalia.com>
69324
69325        Simplify HRTFDatabaseLoader's load map
69326        https://bugs.webkit.org/show_bug.cgi?id=122944
69327
69328        Reviewed by Eric Carlson.
69329
69330        * platform/audio/HRTFDatabaseLoader.cpp:
69331        (WebCore::loaderMap): Return a reference to a NeverDestroyed HashMap that maps sample rates to loaders.
69332        (WebCore::HRTFDatabaseLoader::createAndLoadAsynchronouslyIfNecessary):
69333        (WebCore::HRTFDatabaseLoader::~HRTFDatabaseLoader):
69334        * platform/audio/HRTFDatabaseLoader.h: Remove the LoaderMap type definition, the private singleton of that type
69335        and the singleton's unused getter.
69336
693372013-10-22  Tim Horton  <timothy_horton@apple.com>
69338
69339        Remote Layer Tree: Support hardware accelerated filters
69340        https://bugs.webkit.org/show_bug.cgi?id=123139
69341
69342        Reviewed by Anders Carlsson.
69343
69344        * WebCore.exp.in:
69345        Export a variety of filter-related things.
69346
69347        * platform/graphics/ca/PlatformCAFilters.h:
69348        * platform/graphics/ca/mac/PlatformCAFiltersMac.mm:
69349        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
69350        (PlatformCALayerMac::setFilters):
69351        * platform/graphics/ca/win/PlatformCAFiltersWin.cpp:
69352        (PlatformCAFilters::setFiltersOnLayer):
69353        setFiltersOnLayer should take a PlatformLayer instead of a PlatformCALayer
69354        as its argument, because it doesn't need a PlatformCALayer, and this way
69355        we can share code with the RemoteLayerTreeHost, which only has PlatformLayers
69356        and not PlatformCALayers.
69357
693582013-10-22  Brendan Long  <b.long@cablelabs.com>
69359
69360        cue.text fails for some track element cues
69361        https://bugs.webkit.org/show_bug.cgi?id=81123
69362
69363        Reviewed by Eric Carlson.
69364
69365        Test: media/track/track-long-captions-file.html
69366
69367        * html/track/WebVTTParser.cpp:
69368        (WebCore::WebVTTParser::parseBytes): Use buffer when we don't have full lines.
69369        (WebCore::WebVTTParser::fileFinished): Force file to finish parsing.
69370        (WebCore::WebVTTParser::hasRequiredFileIdentifier): Simplify due to using String.
69371        (WebCore::WebVTTParser::collectCueText): Don't automatically create cues when we run out of data.
69372        (WebCore::WebVTTParser::collectNextLine): Use buffer.
69373        * html/track/WebVTTParser.h: Add m_buffer and Finished state.
69374        * loader/TextTrackLoader.cpp:
69375        (WebCore::TextTrackLoader::notifyFinished): Call m_parser->fileFinished() when done.
69376
693772013-10-22  peavo@outlook.com  <peavo@outlook.com>
69378
69379        [WinCairo] Compile error.
69380        https://bugs.webkit.org/show_bug.cgi?id=123161
69381
69382        Reviewed by Brent Fulgham.
69383
69384        * rendering/RenderFlowThread.h: Move USE(ACCELERATED_COMPOSITING) guard to expose needed type.
69385
693862013-10-21  Brady Eidson  <beidson@apple.com>
69387
69388        Add a cross-platform IDBRecordIdentifier
69389        https://bugs.webkit.org/show_bug.cgi?id=123138
69390
69391        Reviewed by Andreas Kling.
69392
69393        Add the cross-platform header:
69394        * Modules/indexeddb/IDBRecordIdentifier.h: Added.
69395        (WebCore::IDBRecordIdentifier::create):
69396        (WebCore::IDBRecordIdentifier::encodedPrimaryKey):
69397        (WebCore::IDBRecordIdentifier::version):
69398        (WebCore::IDBRecordIdentifier::reset):
69399        (WebCore::IDBRecordIdentifier::IDBRecordIdentifier):
69400        * WebCore.xcodeproj/project.pbxproj:
69401        * GNUmakefile.list.am:
69402
69403        Remove the old abstract and LevelDB classes:
69404        * Modules/indexeddb/IDBBackingStoreInterface.h:
69405        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
69406
69407        Use the cross-platform one everywhere:
69408        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
69409        (WebCore::IDBBackingStoreLevelDB::putRecord):
69410        (WebCore::IDBBackingStoreLevelDB::deleteRecord):
69411        (WebCore::IDBBackingStoreLevelDB::keyExistsInObjectStore):
69412        (WebCore::IDBBackingStoreLevelDB::putIndexDataForRecord):
69413        (WebCore::ObjectStoreKeyCursorImpl::loadCurrentRow):
69414        (WebCore::ObjectStoreCursorImpl::loadCurrentRow):
69415
69416        * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp:
69417        (WebCore::IDBDatabaseBackendLevelDB::setIndexKeys):
69418
69419        * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.cpp:
69420        (WebCore::IDBObjectStoreBackendLevelDB::IndexWriter::writeIndexKeys):
69421
69422        * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.h:
69423        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.cpp:
69424        (WebCore::PutOperation::perform):
69425
694262013-10-22  Andrei Bucur  <abucur@adobe.com>
69427
69428        [CSS Regions] Possible performance regression after r157567
69429        https://bugs.webkit.org/show_bug.cgi?id=123016
69430
69431        Reviewed by Andreas Kling.
69432
69433        The revision 157567 http://trac.webkit.org/changeset/157567 may have regressed
69434        Parser/html5-full-render by ~1.1% and Parser/html-parser by ~2%. These changes
69435        try to optimize the initial patch, based on Andreas Kling's review.
69436
69437        The patch also adds a couple of refactorings that should make the code easier to read:
69438        - the CSS Shapes functions are now wrapped in a single #if clause
69439        - the CSS Shapes and CSS Regions pre-layout preparations are wrapped in a helper function
69440
69441        The RenderFlowThread::logicalWidthChangedInRegionsForBlock function is optimized by passing
69442        it information about the state of the relayout children flag. If the flag is true already,
69443        some of the steps are skipped.
69444
69445        Tests: no new tests.
69446
69447        * dom/Element.cpp:
69448        (WebCore::Element::webkitGetRegionFlowRanges):
69449        * inspector/InspectorOverlay.cpp:
69450        (WebCore::buildObjectForElementInfo):
69451        * rendering/RenderBlock.cpp:
69452        (WebCore::shapeInfoRequiresRelayout):
69453        (WebCore::RenderBlock::updateShapesBeforeBlockLayout):
69454        (WebCore::RenderBlock::computeShapeSize):
69455        (WebCore::RenderBlock::prepareShapesAndPaginationBeforeBlockLayout):
69456        * rendering/RenderBlock.h:
69457        * rendering/RenderBlockFlow.cpp:
69458        (WebCore::RenderBlockFlow::layoutBlock):
69459        (WebCore::RenderBlockFlow::createRenderNamedFlowFragmentIfNeeded):
69460        (WebCore::RenderBlockFlow::setRenderNamedFlowFragment):
69461        (WebCore::RenderBlockFlow::ensureRareData):
69462        * rendering/RenderBlockFlow.h:
69463        (WebCore::RenderBlockFlow::RenderBlockFlowRareData::RenderBlockFlowRareData):
69464        (WebCore::RenderElement::isRenderNamedFlowFragmentContainer):
69465        * rendering/RenderDeprecatedFlexibleBox.cpp:
69466        (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
69467        * rendering/RenderElement.h:
69468        (WebCore::RenderElement::generatingElement):
69469        * rendering/RenderFlexibleBox.cpp:
69470        (WebCore::RenderFlexibleBox::layoutBlock):
69471        * rendering/RenderFlowThread.cpp:
69472        (WebCore::RenderFlowThread::logicalWidthChangedInRegionsForBlock):
69473        * rendering/RenderFlowThread.h:
69474        * rendering/RenderGrid.cpp:
69475        (WebCore::RenderGrid::layoutBlock):
69476        * rendering/RenderNamedFlowFragment.h:
69477        * rendering/RenderObject.cpp:
69478        * rendering/RenderObject.h:
69479        * rendering/RenderTreeAsText.cpp:
69480        (WebCore::write):
69481        * style/StyleResolveTree.cpp:
69482        (WebCore::Style::elementInsideRegionNeedsRenderer):
69483
694842013-10-22  Andreas Kling  <akling@apple.com>
69485
69486        CSSStyleSheet constructor functions should return PassRef.
69487        <https://webkit.org/b/123156>
69488
69489        Make CSSStyleSheet::create*() return PassRef and tighten some call
69490        sites that were using them. Most callers didn't need any tweaks to
69491        take advantage of PassRef.
69492
69493        Reviewed by Antti Koivisto.
69494
694952013-10-22  Andreas Kling  <akling@apple.com>
69496
69497        CTTE: RenderMathMLFraction always has a MathMLInlineContainerElement.
69498        <https://webkit.org/b/123154>
69499
69500        This renderer is never anonymous and always has a corresponding
69501        MathMLInlineContainerElement. Overload element() with a tighter
69502        return type.
69503
69504        Also marked the class FINAL and made most member functions private.
69505
69506        Reviewed by Antti Koivisto.
69507
695082013-10-22  Andreas Kling  <akling@apple.com>
69509
69510        FontGlyphs constructor functions should return PassRef.
69511        <https://webkit.org/b/123159>
69512
69513        Made the two FontGlyphs creator functions return PassRef and tweaked
69514        the FontGlyphsCache in Font.cpp to make more efficient use of it.
69515
69516        Reviewed by Antti Koivisto.
69517
695182013-10-22  Andreas Kling  <akling@apple.com>
69519
69520        Fix some more code to use RenderElement instead of RenderObject.
69521        <https://webkit.org/b/123149>
69522
69523        Using RenderElement where possible lets us skip the isRenderElement()
69524        branch in RenderObject::style() and generates much tighter code.
69525
69526        Reviewed by Antti Koivisto.
69527
695282013-10-22  Andreas Kling  <akling@apple.com>
69529
69530        Merge SVG renderers' styleWillChange() into styleDidChange().
69531        <https://webkit.org/b/123108>
69532
69533        This work can just as well be done after setting the style.
69534        Three more styleWillChange() overloads gone.
69535
69536        Reviewed by Antti Koivisto.
69537
695382013-10-22  Andreas Kling  <akling@apple.com>
69539
69540        CSSValueList constructor functions should return PassRef.
69541        <https://webkit.org/b/123151>
69542
69543        These functions always return objects, and thus can return PassRef.
69544        Also made CSSValueList::createFromParserValueList() take a reference
69545        since that function is only ever called with a non-null value.
69546
69547        Reviewed by Antti Koivisto.
69548
695492013-10-22  Andreas Kling  <akling@apple.com>
69550
69551        Avoid parent style ref churn in createTextRendererIfNeeded().
69552        <https://webkit.org/b/123148>
69553
69554        There's no need to take a temporary ref on the parent's RenderStyle
69555        while creating a text renderer. It's not going away, and the text
69556        renderer is not going to participate in ownership afterwards.
69557
69558        Reviewed by Antti Koivisto.
69559
695602013-10-22  Andreas Kling  <akling@apple.com>
69561
69562        Remove some unnecessary null checks in RenderElement::setStyle().
69563        <https://webkit.org/b/123146>
69564
69565        After assigning the new style to RenderElement::m_style, we know that
69566        it'll be non-null, so remove all the checking for this.
69567
69568        Reviewed by Antti Koivisto.
69569
695702013-10-22  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
69571
69572        Introduce ACCESSIBILITY_OBJECT_TYPE_CASTS to replace manual toFoo() in accessibility child class
69573        https://bugs.webkit.org/show_bug.cgi?id=123140
69574
69575        Reviewed by Andreas Kling.
69576
69577        As a step to let toFoo use TYPE_CASTS_BASE, DEFINE_TYPE_CASTS can be used for toFoo() in accessibility
69578        child class. The DEFINE_TYPE_CASTS will generate plenty more helper functions for accessibility type cast.
69579
69580        No new tests, no behavior changes.
69581
69582        * accessibility/AccessibilityList.h:
69583        * accessibility/AccessibilityMenuList.h:
69584        * accessibility/AccessibilityMockObject.h:
69585        * accessibility/AccessibilityNodeObject.h:
69586        * accessibility/AccessibilityObject.h:
69587        * accessibility/AccessibilityRenderObject.h:
69588        * accessibility/AccessibilitySVGRoot.h:
69589        * accessibility/AccessibilityScrollView.h:
69590        * accessibility/AccessibilitySpinButton.h:
69591        * accessibility/AccessibilityTable.h:
69592
695932013-10-22  Brian Holt  <brian.holt@samsung.com>
69594
69595        [GTK] Add WebKit2 API for TLS errors
69596        https://bugs.webkit.org/show_bug.cgi?id=120160
69597
69598        Reviewed by Carlos Garcia Campos.
69599
69600        Added a new constructor for CertificateInfo under Soup.
69601
69602        * platform/network/CertificateInfo.h:
69603        * platform/network/soup/CertificateInfoSoup.cpp:
69604        (WebCore::CertificateInfo::CertificateInfo): New constructor using
69605        GTlsCertificateFlags and GTlsCertificate.
69606
696072013-10-22  Mihnea Ovidenie  <mihnea@adobe.com>
69608
69609        [CSSRegions] Use RenderStyle::hasFlowFrom when needed
69610        https://bugs.webkit.org/show_bug.cgi?id=122543
69611
69612        Reviewed by David Hyatt.
69613
69614        Rename RenderStyle::hasStyleRegion -> RenderStyle::hasFlowFrom.
69615        Use RenderStyle::hasFlowFrom() helper function instead of directly
69616        checking the value of RenderStyle::regionThread().
69617
69618        No change of functionality, covered by existing tests.
69619
69620        * css/CSSComputedStyleDeclaration.cpp:
69621        (WebCore::contentToCSSValue):
69622        (WebCore::ComputedStyleExtractor::propertyValue):
69623        * css/StyleResolver.cpp:
69624        (WebCore::StyleResolver::adjustRenderStyle):
69625        * dom/PseudoElement.cpp:
69626        (WebCore::PseudoElement::didAttachRenderers):
69627        * dom/PseudoElement.h:
69628        (WebCore::pseudoElementRendererIsNeeded):
69629        * rendering/RenderBlockFlow.cpp:
69630        (WebCore::RenderBlockFlow::createRenderNamedFlowFragmentIfNeeded):
69631        * rendering/RenderLayer.cpp:
69632        (WebCore::RenderLayer::shouldBeNormalFlowOnly):
69633        * rendering/style/RenderStyle.h:
69634
696352013-10-21  Brent Fulgham  <bfulgham@apple.com>
69636
69637        [WIN] Properly support reverse animations without needing software fallback.
69638        https://bugs.webkit.org/show_bug.cgi?id=85121
69639
69640        Reviewed by Dean Jackson.
69641
69642        Testing is provided by existing animation tests.
69643
69644        * platform/animation/TimingFunction.h:
69645        (WebCore::CubicBezierTimingFunction::createReversed): Added.
69646        * platform/graphics/ca/GraphicsLayerCA.cpp:
69647        (WebCore::GraphicsLayerCA::addAnimation): The early return when performing a reverse or
69648        autoreverse animation is no longer needed.
69649        * platform/graphics/ca/PlatformCAAnimation.h:
69650        * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
69651        (toCAMediaTimingFunction): Use new reversed function.
69652        * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
69653        (toCACFTimingFunction): Ditto.
69654        (PlatformCAAnimation::setTimingFunction): Pass 'reverse' flag.
69655        (PlatformCAAnimation::setTimingFunctions): Ditto.
69656
696572013-10-21  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
69658
69659        Use TYPE_CASTS_BASE for CSS_VALUE_TYPE_CASTS
69660        https://bugs.webkit.org/show_bug.cgi?id=123126
69661
69662        Reviewed by Andreas Kling.
69663
69664        TYPE_CASTS_BASE was moved to common place to be used by all toFoo().
69665        CSS_VALUE_TYPE_CASTS starts to use it for CSS child value. This change
69666        generates plenty more helper functions for toCSSFooValue().
69667
69668        Additionally, this use support that toWebKitCSSFooValue, which couldn't
69669        use CSS_VALUE_TYPE_CASTS macro.
69670
69671        No new tests, no behavior change.
69672
69673        * css/CSSAspectRatioValue.h:
69674        * css/CSSBorderImageSliceValue.h:
69675        * css/CSSCalculationValue.h:
69676        * css/CSSCanvasValue.h:
69677        * css/CSSCrossfadeValue.h:
69678        * css/CSSCursorImageValue.h:
69679        * css/CSSFilterImageValue.h:
69680        * css/CSSFontFaceSrcValue.h:
69681        * css/CSSFontFeatureValue.h:
69682        * css/CSSFontValue.h:
69683        * css/CSSFunctionValue.h:
69684        * css/CSSGradientValue.h:
69685        * css/CSSGridTemplateValue.h:
69686        * css/CSSImageSetValue.h:
69687        * css/CSSImageValue.h:
69688        * css/CSSInheritedValue.h:
69689        * css/CSSInitialValue.h:
69690        * css/CSSLineBoxContainValue.h:
69691        * css/CSSPrimitiveValue.h:
69692        * css/CSSReflectValue.h:
69693        * css/CSSShadowValue.h:
69694        * css/CSSTimingFunctionValue.h:
69695        * css/CSSUnicodeRangeValue.h:
69696        * css/CSSValue.h:
69697        * css/CSSValueList.h:
69698        * css/CSSVariableValue.h:
69699        * css/WebKitCSSArrayFunctionValue.h:
69700        * css/WebKitCSSFilterValue.h:
69701        * css/WebKitCSSMatFunctionValue.h:
69702        * css/WebKitCSSMixFunctionValue.h:
69703        * css/WebKitCSSSVGDocumentValue.h:
69704        * css/WebKitCSSShaderValue.h:
69705
697062013-10-21  Joone Hur  <joone.hur@intel.com>
69707
69708        Bad cast with toRenderBoxModelObject in RenderBlock::updateFirstLetter()
69709        https://bugs.webkit.org/show_bug.cgi?id=123013
69710
69711        Reviewed by Andreas Kling.
69712
69713        No new tests because this was reported by Google ClusterFuzz.
69714        https://codereview.chromium.org/25713009/
69715
69716        There is a case that toRenderBoxModelObject causes a crash in RenderBlock::updateFirstLetter() 
69717        due to bad cast, so we need to check whether the RenderObject is a RenderBoxModelObject 
69718        by running isBoxModelObject() before calling toRenderBoxModelObject.  
69719
69720        * rendering/RenderBlock.cpp:
69721        (WebCore::RenderBlock::updateFirstLetter):
69722
697232013-10-21  Brady Eidson  <beidson@apple.com>
69724
69725        Make IDBTransactionCoordinatorLevelDB cross platform
69726        https://bugs.webkit.org/show_bug.cgi?id=123124
69727
69728        Enthusiastically reviewed by Tim Horton.
69729
69730        * CMakeLists.txt:
69731        * GNUmakefile.list.am:
69732        * WebCore.xcodeproj/project.pbxproj:
69733
69734        Make more methods pure virtual in the interface:
69735        * Modules/indexeddb/IDBTransactionBackendInterface.h:
69736        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp:
69737        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:
69738
69739        Update the name of the class, and use IDBTransactionBackendInterface instead of IDBTransactionBackendLeveDB:
69740        * Modules/indexeddb/IDBTransactionCoordinator.cpp: Renamed from Source/WebCore/Modules/indexeddb/leveldb/IDBTransactionCoordinatorLevelDB.cpp.
69741        (WebCore::IDBTransactionCoordinator::create):
69742        (WebCore::IDBTransactionCoordinator::IDBTransactionCoordinator):
69743        (WebCore::IDBTransactionCoordinator::~IDBTransactionCoordinator):
69744        (WebCore::IDBTransactionCoordinator::didCreateTransaction):
69745        (WebCore::IDBTransactionCoordinator::didStartTransaction):
69746        (WebCore::IDBTransactionCoordinator::didFinishTransaction):
69747        (WebCore::IDBTransactionCoordinator::isActive):
69748        (WebCore::IDBTransactionCoordinator::processStartedTransactions):
69749        (WebCore::doScopesOverlap):
69750        (WebCore::IDBTransactionCoordinator::canRunTransaction):
69751        * Modules/indexeddb/IDBTransactionCoordinator.h: Renamed from Source/WebCore/Modules/indexeddb/leveldb/IDBTransactionCoordinatorLevelDB.h.
69752
69753        Update the name of the class elsewhere:
69754        * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp:
69755        (WebCore::IDBDatabaseBackendLevelDB::IDBDatabaseBackendLevelDB):
69756        * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.h:
69757        (WebCore::IDBDatabaseBackendLevelDB::transactionCoordinator):
69758        * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
69759
697602013-10-21  Daniel Bates  <dabates@apple.com>
69761
69762        [iOS] Upstream JSGlobalObject::shouldInterruptScriptBeforeTimeout()
69763        https://bugs.webkit.org/show_bug.cgi?id=123045
69764
69765        Reviewed by Joseph Pecoraro.
69766
69767        * bindings/js/JSDOMWindowBase.cpp:
69768        (WebCore::shouldInterruptScriptToPreventInfiniteRecursionWhenClosingPage): Added.
69769        (WebCore::JSDOMWindowBase::shouldInterruptScript): Extracted comment and assertion
69770        about null Page object into WebCore::shouldInterruptScriptToPreventInfiniteRecursionWhenClosingPage()
69771        so that it can be shared by both this function and JSDOMWindowBase::shouldInterruptScriptBeforeTimeout().
69772        (WebCore::JSDOMWindowBase::shouldInterruptScriptBeforeTimeout):
69773        * bindings/js/JSDOMWindowBase.h:
69774        * bindings/js/JSWorkerGlobalScopeBase.cpp:
69775        (WebCore::JSWorkerGlobalScopeBase::shouldInterruptScriptBeforeTimeout): Added.
69776        * bindings/js/JSWorkerGlobalScopeBase.h:
69777        * loader/EmptyClients.h: Added isStopping(). We'll land the iOS chrome client implementation
69778        in a subsequent patch.
69779        * page/ChromeClient.h: Added isStopping().
69780
697812013-10-21  Anders Carlsson  <andersca@apple.com>
69782
69783        Navigation policy callback not called when performing the same fragment navigation twice
69784        https://bugs.webkit.org/show_bug.cgi?id=123121
69785        <rdar://problem/15230466>
69786
69787        Reviewed by Beth Dakin.
69788
69789        There's code in PolicyChecker::checkNavigationPolicy that will call the decision function right away 
69790        if the requests are equal, without consulting any policy client. Because of this, make sure to empty out
69791        the last checked request of the document loader when doing a fragment navigation.
69792
69793        * loader/FrameLoader.cpp:
69794        (WebCore::FrameLoader::loadURL):
69795        (WebCore::FrameLoader::loadWithDocumentLoader):
69796
697972013-10-21  Jer Noble  <jer.noble@apple.com>
69798
69799        Unreviewed build fix; unprotect the declaration of updateSleepDisabling();
69800
69801        * html/HTMLMediaElement.h:
69802
698032013-10-20  Mark Lam  <mark.lam@apple.com>
69804
69805        Avoid JSC debugger overhead unless needed.
69806        https://bugs.webkit.org/show_bug.cgi?id=123084.
69807
69808        Reviewed by Geoffrey Garen.
69809
69810        No new tests.
69811
69812        - If no breakpoints are set, we now avoid calling the debug hook callbacks.
69813        - If no break on exception is set, we also avoid exception event debug callbacks.
69814        - When we return from the ScriptDebugServer to the JSC::Debugger, we may no
69815          longer call the debug hook callbacks if not needed. Hence, the m_currentCallFrame
69816          pointer in the ScriptDebugServer may become stale. To avoid this issue, before
69817          returning, the ScriptDebugServer will clear its m_currentCallFrame if
69818          needsOpDebugCallbacks() is false.
69819
69820        * bindings/js/ScriptDebugServer.cpp:
69821        (WebCore::ScriptDebugServer::setBreakpoint):
69822        (WebCore::ScriptDebugServer::removeBreakpoint):
69823        (WebCore::ScriptDebugServer::clearBreakpoints):
69824        (WebCore::ScriptDebugServer::setPauseOnExceptionsState):
69825        (WebCore::ScriptDebugServer::setPauseOnNextStatement):
69826        (WebCore::ScriptDebugServer::breakProgram):
69827        (WebCore::ScriptDebugServer::stepIntoStatement):
69828        (WebCore::ScriptDebugServer::dispatchDidContinue):
69829        (WebCore::ScriptDebugServer::exception):
69830        (WebCore::ScriptDebugServer::didReachBreakpoint):
69831        * inspector/InspectorDebuggerAgent.cpp:
69832        (WebCore::InspectorDebuggerAgent::reset):
69833
698342013-10-21  Myles C. Maxfield  <mmaxfield@apple.com>
69835
69836        Grammar markers are not updated when switching between 1x and 2x
69837        https://bugs.webkit.org/show_bug.cgi?id=122146
69838
69839        Reviewed by Dean Jackson.
69840
69841        When running editing/spelling/grammar-markers-hidpi.html, the 2x
69842        grammar/spelling dot resources are cached. If you then run
69843        editing/spelling/grammar-markers.html without tearing down WebKit,
69844        it re-uses the 2x dots. The difference between the two tests is a call
69845        to testRunner.setBackingScaleFactor().
69846
69847        We create a NSColor from an NSImage, and remember it in a static
69848        variable. However, NSColor inspects the current graphics context to
69849        determine which resolution to use, and then remembers that decision.
69850        Therefore, we want to recreate the NSColor whenever the device pixel
69851        ratio changes. This patch adds a new static function to GraphicsContext
69852        which recreates this NSColor every time the ratio changes.
69853
69854        Tests: editing/spelling/grammar-markers.html
69855               editing/spelling/inline_spelling_markers.html
69856
69857        * platform/graphics/mac/GraphicsContextMac.mm:
69858        (WebCore::makePattern):
69859        (WebCore::GraphicsContext::drawLineForDocumentMarker):
69860
698612013-10-21  Simon Fraser  <simon.fraser@apple.com>
69862
69863        Use pink layer borders for compositing layers with a contents layer
69864        https://bugs.webkit.org/show_bug.cgi?id=123118
69865
69866        Reviewed by Dean Jackson.
69867
69868        With the existing layer border colors, it's not possible to distinguish an empty
69869        layer from one with solid color, image or video contents. So use a pink color
69870        for those. This makes it easier to diagnose bugs like 122784.
69871
69872        * platform/graphics/GraphicsLayer.cpp:
69873        (WebCore::GraphicsLayer::getDebugBorderInfo):
69874
698752013-10-21  Jer Noble  <jer.noble@apple.com>
69876
69877        Limit use of display sleep assertion when <video> element is off-screen.
69878        https://bugs.webkit.org/show_bug.cgi?id=123041
69879
69880        Reviewed by Darin Adler.
69881
69882        Use page visibility changes to suspend and resume the use of sleep assertions in
69883        HTMLMediaElement.
69884
69885        Page will propogate the page visibility change notifications to its Documents, which
69886        will further propogate those notifications to registered elements.  Upon receiving
69887        these notifications, HTMLMediaElement will release or take a DisplaySleepDisabler
69888        token if necessary.
69889
69890        Also, rename HTMLMediaElement's updateDisableSleep() to updateSleepDisabling() and wrap
69891        the implementation in a PLATFORM(MAC) guard rather than at each call site.
69892
69893        * dom/Document.cpp:
69894        (WebCore::Document::registerForVisibilityStateCallbacks): Added registration method.
69895        (WebCore::Document::unregisterForVisibilityStateCallbacks): Added unregistration method.
69896        (WebCore::Document::visibilityStateChanged): Call all registered clients.
69897        * dom/Document.h:
69898        * dom/Element.h:
69899        (WebCore::Element::visibilityStateChanged): Added default virtual method to be overridden
69900            by subclasses.
69901        * html/HTMLMediaElement.cpp:
69902        (WebCore::HTMLMediaElement::HTMLMediaElement): Register for the notification, and check the
69903            current status of Document::hidden().
69904        (WebCore::HTMLMediaElement::~HTMLMediaElement): Unregister for the notification.
69905        (WebCore::HTMLMediaElement::visibilityStateChanged): Set m_displaySleepDisablingSuspended
69906            and call updateSleepDisabling().
69907        (WebCore::HTMLMediaElement::shouldDisableSleep): Add a check for m_displaySleepDisablingSuspended.
69908        * html/HTMLMediaElement.h:
69909        * page/Page.cpp:
69910        (WebCore::Page::setVisibilityState): Pass to every child document.
69911
69912        Rename updateDisableSleep() -> updateSleepDisabling():
69913        * html/HTMLMediaElement.cpp:
69914        (WebCore::HTMLMediaElement::HTMLMediaElement):
69915        (WebCore::HTMLMediaElement::~HTMLMediaElement):
69916        (WebCore::HTMLMediaElement::parseAttribute):
69917        (WebCore::HTMLMediaElement::mediaPlayerRateChanged):
69918        (WebCore::HTMLMediaElement::clearMediaPlayer):
69919        (WebCore::HTMLMediaElement::stop):
69920
699212013-10-21  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
69922
69923        MediaStreamTrack now tracks its own state
69924        https://bugs.webkit.org/show_bug.cgi?id=123025
69925
69926        Reviewed by Jer Noble.
69927
69928        The spec says that a MediaStreamSource can be shared by different tracks,
69929        so a track must have its own state tracking, synchronizing with its MediaStreamSource when
69930        the underlying MediaStreamSource changes the readyState.
69931        In the old implementation if a user invoked the stop method, its readyState method was still
69932        returning the MediaStreamSource state, which was wrong.
69933        This also adds a setEnabled method, which can be used to set the state of a track when a
69934        remote peer ends it, for instance.
69935
69936        No new tests needed.
69937
69938        * Modules/mediastream/MediaStreamTrack.cpp:
69939        (WebCore::MediaStreamTrack::readyState):
69940        (WebCore::MediaStreamTrack::setState):
69941        (WebCore::MediaStreamTrack::stopProducingData):
69942        (WebCore::MediaStreamTrack::ended):
69943        (WebCore::MediaStreamTrack::sourceStateChanged):
69944        (WebCore::MediaStreamTrack::trackDidEnd):
69945        * Modules/mediastream/MediaStreamTrack.h:
69946
699472013-10-21  Tim Horton  <timothy_horton@apple.com>
69948
69949        Remote Layer Tree: Clean up transaction logging
69950        https://bugs.webkit.org/show_bug.cgi?id=123116
69951
69952        Reviewed by Anders Carlsson.
69953
69954        * WebCore.exp.in:
69955        Export some TextStream functions.
69956
699572013-10-21  Brady Eidson  <beidson@apple.com>
69958
69959        Transition most use of IDBBackingStoreLevelDB to IDBBackingStoreInterface
69960        https://bugs.webkit.org/show_bug.cgi?id=123105
69961
69962        Reviewed by Anders Carlsson.
69963
69964        Export more required headers:
69965        * WebCore.xcodeproj/project.pbxproj:
69966
69967        Flesh out many of the pure virtual methods on IDBBackingStoreInterface, as well as
69968        the RecordIdentifier and Cursor classes:
69969
69970        * Modules/indexeddb/IDBBackingStoreInterface.h:
69971        (WebCore::IDBBackingStoreInterface::RecordIdentifier::~RecordIdentifier):
69972        (WebCore::IDBBackingStoreInterface::Cursor::~Cursor):
69973
69974        Use IDBBackingStoreInterface, IDBBackingStoreInterface::RecordIdentifier, and
69975        IDBBackingStoreInterface::Cursor wherever possible:
69976
69977        * Modules/indexeddb/IDBFactoryBackendInterface.cpp:
69978        * Modules/indexeddb/IDBFactoryBackendInterface.h:
69979
69980        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
69981        (WebCore::IDBBackingStoreLevelDB::putRecord):
69982        (WebCore::IDBBackingStoreLevelDB::deleteRecord):
69983        (WebCore::IDBBackingStoreLevelDB::keyExistsInObjectStore):
69984        (WebCore::IDBBackingStoreLevelDB::putIndexDataForRecord):
69985        (WebCore::ObjectStoreKeyCursorImpl::clone):
69986        (WebCore::ObjectStoreCursorImpl::clone):
69987        (WebCore::IndexKeyCursorImpl::clone):
69988        (WebCore::IndexCursorImpl::clone):
69989        (WebCore::IDBBackingStoreLevelDB::openObjectStoreCursor):
69990        (WebCore::IDBBackingStoreLevelDB::openObjectStoreKeyCursor):
69991        (WebCore::IDBBackingStoreLevelDB::openIndexKeyCursor):
69992        (WebCore::IDBBackingStoreLevelDB::openIndexCursor):
69993        (WebCore::IDBBackingStoreLevelDB::Transaction::Transaction):
69994        (WebCore::IDBBackingStoreLevelDB::Transaction::begin):
69995        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
69996        (WebCore::IDBBackingStoreLevelDB::RecordIdentifier::RecordIdentifier):
69997
69998        * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp:
69999        (WebCore::IDBCursorBackendLevelDB::IDBCursorBackendLevelDB):
70000        * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h:
70001
70002        (WebCore::IDBCursorBackendLevelDB::create):
70003        * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp:
70004        (WebCore::IDBDatabaseBackendLevelDB::create):
70005        (WebCore::IDBDatabaseBackendLevelDB::IDBDatabaseBackendLevelDB):
70006        (WebCore::IDBDatabaseBackendLevelDB::backingStore):
70007        (WebCore::IDBDatabaseBackendLevelDB::setIndexKeys):
70008        (WebCore::IDBDatabaseBackendLevelDB::createTransaction):
70009        * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.h:
70010
70011        * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
70012        (WebCore::IDBFactoryBackendLevelDB::createTransactionBackend):
70013        * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
70014
70015        * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.cpp:
70016        (WebCore::IDBObjectStoreBackendLevelDB::IndexWriter::verifyIndexKeys):
70017        (WebCore::IDBObjectStoreBackendLevelDB::IndexWriter::writeIndexKeys):
70018        (WebCore::IDBObjectStoreBackendLevelDB::IndexWriter::addingKeyAllowed):
70019        (WebCore::IDBObjectStoreBackendLevelDB::makeIndexWriters):
70020        (WebCore::IDBObjectStoreBackendLevelDB::generateKey):
70021        (WebCore::IDBObjectStoreBackendLevelDB::updateKeyGenerator):
70022        * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.h:
70023
70024        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp:
70025        (WebCore::IDBTransactionBackendLevelDB::create):
70026        (WebCore::IDBTransactionBackendLevelDB::IDBTransactionBackendLevelDB):
70027        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:
70028
70029        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.cpp:
70030        (WebCore::GetOperation::perform):
70031        (WebCore::OpenCursorOperation::perform):
70032        (WebCore::CountOperation::perform):
70033        (WebCore::DeleteRangeOperation::perform):
70034        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.h:
70035        (WebCore::CreateObjectStoreOperation::create):
70036        (WebCore::CreateObjectStoreOperation::CreateObjectStoreOperation):
70037        (WebCore::DeleteObjectStoreOperation::create):
70038        (WebCore::DeleteObjectStoreOperation::DeleteObjectStoreOperation):
70039        (WebCore::CreateIndexOperation::create):
70040        (WebCore::CreateIndexOperation::CreateIndexOperation):
70041        (WebCore::DeleteIndexOperation::create):
70042        (WebCore::DeleteIndexOperation::DeleteIndexOperation):
70043        (WebCore::GetOperation::create):
70044        (WebCore::GetOperation::GetOperation):
70045        (WebCore::PutOperation::create):
70046        (WebCore::PutOperation::PutOperation):
70047        (WebCore::OpenCursorOperation::create):
70048        (WebCore::OpenCursorOperation::OpenCursorOperation):
70049        (WebCore::CountOperation::create):
70050        (WebCore::CountOperation::CountOperation):
70051        (WebCore::DeleteRangeOperation::create):
70052        (WebCore::DeleteRangeOperation::DeleteRangeOperation):
70053        (WebCore::ClearOperation::create):
70054        (WebCore::ClearOperation::ClearOperation):
70055
700562013-10-21  Zoltan Horvath  <zoltan@webkit.org>
70057
70058        [CSS Shapes][CSS Regions] Don't apply shape-inside when we have multiple auto-height regions and the height is not resolved
70059        https://bugs.webkit.org/show_bug.cgi?id=123103
70060
70061        Reviewed by David Hyatt.
70062
70063        When we have multiple regions with auto-height, the region's height is not resolved from other elements we can't apply the
70064        the shape on the region. This patch prevents to apply the shape and fixes the behavior for these cases.
70065
70066        Test: fast/regions/shape-inside/shape-inside-on-multiple-autoheight-regions.html
70067
70068        * rendering/RenderBlock.cpp:
70069        (WebCore::RenderBlock::layoutShapeInsideInfo):
70070        * rendering/RenderBlockLineLayout.cpp:
70071        (WebCore::RenderBlockFlow::updateShapeAndSegmentsForCurrentLineInFlowThread):
70072
700732013-10-21  Tim Horton  <timothy_horton@apple.com>
70074
70075        Remote Layer Tree: Backing store should take contentsScale into account
70076        https://bugs.webkit.org/show_bug.cgi?id=123106
70077
70078        Reviewed by Simon Fraser.
70079
70080        * WebCore.exp.in:
70081        Export FloatRect::scale.
70082
700832013-10-21  Andreas Kling  <akling@apple.com>
70084
70085        RenderScrollbarPart doesn't need styleWillChange().
70086        <https://webkit.org/b/123113>
70087
70088        We will call setInline(false) in styleDidChange(), there's no need
70089        to override styleWillChange() just to do it twice.
70090
70091        Reviewed by Darin Adler.
70092
700932013-10-21  Mihai Maerean  <mmaerean@adobe.com>
70094
70095        [CSS Regions] The layers from the flow thread should be collected under the regions' layers.
70096        https://bugs.webkit.org/show_bug.cgi?id=120457
70097
70098        Reviewed by David Hyatt.
70099
70100        This patch is based on the work of Alexandru Chiculita at https://bugs.webkit.org/attachment.cgi?id=203872&action=review
70101
70102        The composited layers inside the named flow threads are collected as part of the regions (as children of the
70103        GraphicsLayer of the layer that corresponds to the region (which is attached to the parent renderer of
70104        RenderNameFlowFragment)).
70105        When a region displays a layer that needs accelerated compositing we activate the accelerated compositing for
70106        that region too (inside RenderLayerCompositor::computeRegionCompositingRequirements).
70107
70108        This patch has landed before (as http://trac.webkit.org/changeset/156451), but was reverted because
70109        fast/multicol/mixed-positioning-stacking-order.html failed. The fix is inside RenderLayerCompositor::canBeComposited
70110        that only enables compositing for layers inside flow threads that collect the graphics layers under the regions.
70111
70112        Another change from changeset #156451 is that now the region renderers are created as anonymous renderers under
70113        the element that has the flow-from property. When a composited layer is needed for the region, it sits in it's
70114        parent renderer, not in the region renderer (RenderNamedFlowFragment).
70115
70116        Tests: compositing/regions/crash-transform-inside-region.html
70117               compositing/regions/floated-region-with-transformed-child.html
70118               compositing/regions/move-layer-from-one-region-to-another.html
70119               compositing/regions/propagate-region-box-shadow-border-padding-for-video.html
70120               compositing/regions/propagate-region-box-shadow-border-padding.html
70121               compositing/regions/region-as-layer-in-another-flowthread.html
70122               compositing/regions/transform-transparent-positioned-video-inside-region.html
70123               compositing/regions/transformed-layer-inside-transformed-layer.html
70124               compositing/regions/z-index-update.html
70125               compositing/regions/z-index.html
70126
70127        * rendering/FlowThreadController.cpp:
70128        (WebCore::FlowThreadController::updateRenderFlowThreadLayersIfNeeded):
70129        * rendering/RenderElement.cpp:
70130        (WebCore::RenderElement::propagateStyleToAnonymousChildren): Not for RenderFlowThreads, as they are updated
70131        through the RenderView::styleDidChange function.
70132        * rendering/RenderFlowThread.cpp:
70133        (WebCore::RenderFlowThread::layout): When the layout of the flow thread is over (including the 2 phase layout),
70134        we update all the mappings between the layers inside the flow thread and the regions where those layers will be
70135        painted.
70136        (WebCore::RenderFlowThread::hasCompositingRegionDescendant): Whether any of the regions has a compositing descendant.
70137        (WebCore::RenderFlowThread::getLayerListForRegion):
70138        (WebCore::RenderFlowThread::regionForCompositedLayer):
70139        (WebCore::RenderFlowThread::cachedRegionForCompositedLayer):
70140        (WebCore::RenderFlowThread::collectsGraphicsLayersUnderRegions):
70141        (WebCore::RenderFlowThread::updateLayerToRegionMappings): Triggers an update of the layers if a layer has moved
70142        from a region to another since the last update.
70143        (WebCore::RenderFlowThread::updateAllLayerToRegionMappings):
70144        * rendering/RenderFlowThread.h:
70145        * rendering/RenderGeometryMap.cpp:
70146        (WebCore::RenderGeometryMap::pushRenderFlowThread):
70147        * rendering/RenderGeometryMap.h:
70148        * rendering/RenderLayer.cpp:
70149        (WebCore::RenderLayer::paintList):
70150        (WebCore::RenderLayer::enclosingFlowThreadAncestor):
70151        (WebCore::RenderLayer::isFlowThreadCollectingGraphicsLayersUnderRegions):
70152        (WebCore::RenderLayer::hitTestList):
70153        (WebCore::RenderLayer::calculateLayerBounds): When we calculate the bounds of the RenderView, we ignore those
70154        flow threads that collect the graphics layers under the regions.
70155        (WebCore::RenderLayer::dirtyZOrderLists):
70156        (WebCore::RenderLayer::dirtyNormalFlowList):
70157        * rendering/RenderLayer.h:
70158        * rendering/RenderLayerBacking.cpp:
70159        (WebCore::RenderLayerBacking::shouldClipCompositedBounds): Not if it's a flow thread that collects the graphics
70160        layers under the regions
70161        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Now adjusts the ancestorCompositingBounds for the FlowThread.
70162        (WebCore::RenderLayerBacking::adjustAncestorCompositingBoundsForFlowThread): Make sure that the region propagates
70163        its borders, paddings, outlines or box-shadows to layers inside it.
70164        (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):
70165        * rendering/RenderLayerBacking.h:
70166        * rendering/RenderLayerCompositor.cpp:
70167        (WebCore::RenderLayerCompositor::computeCompositingRequirements): Now calls computeRegionCompositingRequirements.
70168        (WebCore::RenderLayerCompositor::computeRegionCompositingRequirements):
70169        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Do not iterate the RenderFlowThread directly if
70170        we are going to collect the composited layers as part of regions.
70171        (WebCore::RenderLayerCompositor::rebuildRegionCompositingLayerTree):
70172        (WebCore::RenderLayerCompositor::canBeComposited): CSS Regions flow threads do not need to be composited as we
70173        use composited RenderRegions to render the background of the RenderFlowThread.
70174        (WebCore::RenderLayerCompositor::requiresCompositingForIndirectReason): If it's a container of a css region.
70175        * rendering/RenderLayerCompositor.h:
70176        * rendering/RenderMultiColumnSet.cpp:
70177        (WebCore::RenderMultiColumnSet::adjustRegionBoundsFromFlowThreadPortionRect):
70178        * rendering/RenderMultiColumnSet.h:
70179        * rendering/RenderNamedFlowFragment.h:
70180        (WebCore::RenderNamedFlowFragment::layerOwner): When the content inside the region requires the region to have a
70181        layer, the layer will be created on the region's parent renderer instead. This method returns that renderer
70182        holding the layer. The return value may be null.
70183        * rendering/RenderNamedFlowThread.cpp:
70184        (WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
70185        (WebCore::RenderNamedFlowThread::nextRendererForNode):
70186        (WebCore::RenderNamedFlowThread::previousRendererForNode):
70187        (WebCore::RenderNamedFlowThread::addFlowChild):
70188        (WebCore::RenderNamedFlowThread::removeFlowChild):
70189        (WebCore::RenderNamedFlowThread::collectsGraphicsLayersUnderRegions):
70190        * rendering/RenderNamedFlowThread.h: m_flowThreadChildList is now allocated through an OwnPtr to keep the render
70191        arena under the size limit.
70192        * rendering/RenderRegion.cpp:
70193        (WebCore::RenderRegion::adjustRegionBoundsFromFlowThreadPortionRect):
70194        * rendering/RenderRegion.h:
70195        (WebCore::toRenderRegion):
70196        * rendering/RenderTreeAsText.cpp:
70197        (WebCore::writeLayers):
70198        * WebCore.exp.in: WebCore::RenderLayer::isFlowThreadCollectingGraphicsLayersUnderRegions
70199
702002013-10-21  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
70201
70202        Fixing mediastream debug build
70203        https://bugs.webkit.org/show_bug.cgi?id=123104
70204
70205        Reviewed by Andreas Kling.
70206
70207        No new tests needed.
70208
70209        * Modules/mediastream/RTCDTMFToneChangeEvent.cpp:
70210        (WebCore::RTCDTMFToneChangeEvent::create):
70211
702122013-10-21  Andreas Kling  <akling@apple.com>
70213
70214        Merge RenderListMarker::styleWillChange() into styleDidChange().
70215        <https://webkit.org/b/123098>
70216
70217        If the marker's list-style-type or list-style-position changed, we
70218        need to dirty the layout. Move this logic to styleDidChange() so we
70219        can get rid of one styleWillChange() overload.
70220
70221        Reviewed by Antti Koivisto.
70222
702232013-10-21  Mihai Maerean  <mmaerean@adobe.com>
70224
70225        [CSS Regions] Fix WHITESPACE issues in the CSS grammar.
70226        https://bugs.webkit.org/show_bug.cgi?id=123082
70227
70228        Reviewed by Andreas Kling.
70229
70230        This is a port of Rune Lillesveen's patch from https://codereview.chromium.org/25607005
70231
70232        Fix WHITESPACE issues in the CSS grammar.
70233
70234        A single WHITESPACE token consumes consecutive spaces, but does not consume
70235        spaces separated by comments. That means S* and S+ in CSS grammars need to
70236        accept multiple WHITESPACE tokens. Additionally, white spaces are not
70237        mandatory to separate an @-symbol and the rest of the prelude.
70238
70239        Use space non-terminal instead of WHITESPACE for S+ in calc expressions.
70240
70241        Use maybe_space non-terminal instead of WHITESPACE for S* after @-webkit-filter
70242        and @-webkit-region.
70243
70244        Tests: fast/css/calc-comments-allowed.html
70245               fast/regions/webkit-region-syntax-space.html
70246
70247        * css/CSSGrammar.y.in:
70248
702492013-10-21  Anton Obzhirov  <a.obzhirov@samsung.com>
70250
70251        [ATK] Use atk_object_notify_state_change instead of manually emitting signals
70252        https://bugs.webkit.org/show_bug.cgi?id=122968
70253
70254        Reviewed by Mario Sanchez Prada.
70255
70256        Refactor emitting "state-change" event to use atk_object_notify_state_change
70257        instead of using g_signal_emit_by_name.
70258
70259        * accessibility/atk/AXObjectCacheAtk.cpp:
70260        (WebCore::notifyChildrenSelectionChange):
70261        (WebCore::AXObjectCache::postPlatformNotification):
70262        (WebCore::AXObjectCache::frameLoadingEventPlatformNotification):
70263        (WebCore::AXObjectCache::handleFocusedUIElementChanged):
70264        * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
70265        (webkitAccessibleDetach):
70266        * editing/atk/FrameSelectionAtk.cpp:
70267        (WebCore::maybeEmitTextFocusChange):
70268
702692013-10-21  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
70270
70271        Make TYPE_CASTS_BASE more flexible
70272        https://bugs.webkit.org/show_bug.cgi?id=122951
70273
70274        Reviewed by Andreas Kling.
70275
70276        TYPE_CASTS_BASE is being used by node|element type casts. However, it is difficult
70277        to be used by other type casts. For instance, CSSValue, Accessibility and so on.
70278        This patch modifies TYPE_CASTS_BASE which can support other type casts.
70279
70280        Besides TYPE_CASTS_BASE body is moved from node.h to Assertions.h.
70281
70282        No new tests, no behavior changes.
70283
70284        * dom/Document.h:
70285        * dom/Node.h:
70286
702872013-10-21  Santosh Mahto  <santosh.ma@samsung.com>
70288
70289        ASSERTION FAILED: !style->propertyIsImportant(propertyID) in WebCore::setTextDecorationProperty
70290        https://bugs.webkit.org/show_bug.cgi?id=122097
70291
70292        Reviewed by Ryosuke Niwa.
70293
70294        When remove format command is called we pushdown the ancestor style
70295        down to its children. Currently applying inline style to iframe
70296        while pushing down style which causes iframe to be reinserted in tree and
70297        triggres again subframe loading which repeats everytime and finally
70298        crash happens. So we should avoid applying inline style to iframe
70299        element as it doesnot reflect in its content while pushing down style
70300        on it.
70301
70302        And ASSERT call has been removed from setTextDecoration property as
70303        the scenario is perfectly valid case.
70304
70305        Test: editing/execCommand/remove-format-textdecoration-in-iframe.html
70306
70307        * editing/ApplyStyleCommand.cpp:
70308        (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown): Return if
70309        element is iframe.
70310        * editing/EditingStyle.cpp:
70311        (WebCore::StyleChange::setTextDecorationProperty): Remove ASSERT.
70312
703132013-10-20  Sam Weinig  <sam@webkit.org>
70314
70315        Move m_lineBoxes from RenderBlock to RenderBlockFlow (Part 5)
70316        https://bugs.webkit.org/show_bug.cgi?id=122969
70317
70318        Reviewed by Antti Koivisto.
70319
70320        - Move m_lineBoxes to RenderBlockFlow.
70321
70322        * accessibility/AccessibilityRenderObject.cpp:
70323        (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
70324        * rendering/HitTestResult.cpp:
70325        (WebCore::HitTestResult::innerTextIfTruncated):
70326        * rendering/RenderBlock.cpp:
70327        (WebCore::RenderBlock::RenderBlock):
70328        (WebCore::RenderBlock::willBeDestroyed):
70329        (WebCore::RenderBlock::deleteLineBoxTree):
70330        (WebCore::RenderBlock::isSelfCollapsingBlock):
70331        (WebCore::RenderBlock::removeFromDelayedUpdateScrollInfoSet):
70332        (WebCore::RenderBlock::paintContents):
70333        (WebCore::blockDirectionOffset):
70334        (WebCore::inlineDirectionOffset):
70335        (WebCore::RenderBlock::inlineSelectionGaps):
70336        (WebCore::RenderBlock::hitTestContents):
70337        (WebCore::positionForPointRespectingEditingBoundaries):
70338        (WebCore::RenderBlock::positionForPointWithInlineChildren):
70339        (WebCore::RenderBlock::firstLineBoxBaseline):
70340        (WebCore::RenderBlock::inlineBlockBaseline):
70341        (WebCore::RenderBlock::addFocusRingRectsForInlineChildren):
70342        (WebCore::RenderBlock::addFocusRingRects):
70343        (WebCore::RenderBlock::showLineTreeAndMark):
70344        * rendering/RenderBlock.h:
70345        (WebCore::RenderBlock::addOverflowFromInlineChildren):
70346        (WebCore::RenderBlock::hasInlineBoxChildren):
70347        (WebCore::RenderBlock::paintInlineChildren):
70348        (WebCore::RenderBlock::hitTestInlineChildren):
70349        * rendering/RenderBlockFlow.cpp:
70350        (WebCore::RenderBlockFlow::RenderBlockFlow):
70351        (WebCore::RenderBlockFlow::willBeDestroyed):
70352        (WebCore::RenderBlockFlow::deleteLineBoxTree):
70353        (WebCore::RenderBlockFlow::hitTestInlineChildren):
70354        (WebCore::RenderBlockFlow::adjustForBorderFit):
70355        (WebCore::RenderBlockFlow::fitBorderToLinesIfNeeded):
70356        (WebCore::RenderBlockFlow::markLinesDirtyInBlockRange):
70357        (WebCore::RenderBlockFlow::firstLineBoxBaseline):
70358        (WebCore::RenderBlockFlow::inlineBlockBaseline):
70359        (WebCore::RenderBlockFlow::inlineSelectionGaps):
70360        (WebCore::RenderBlockFlow::positionForBox):
70361        (WebCore::RenderBlockFlow::positionForPointWithInlineChildren):
70362        (WebCore::RenderBlockFlow::addFocusRingRectsForInlineChildren):
70363        (WebCore::RenderBlockFlow::paintInlineChildren):
70364        (WebCore::RenderBlockFlow::relayoutForPagination):
70365        (WebCore::RenderBlockFlow::showLineTreeAndMark):
70366        * rendering/RenderBlockFlow.h:
70367        (WebCore::RenderBlockFlow::lineBoxes):
70368        (WebCore::RenderBlockFlow::firstLineBox):
70369        (WebCore::RenderBlockFlow::lastLineBox):
70370        (WebCore::RenderBlockFlow::firstRootBox):
70371        (WebCore::RenderBlockFlow::lastRootBox):
70372        * rendering/RenderBlockLineLayout.cpp:
70373        (WebCore::RenderBlockFlow::addOverflowFromInlineChildren):
70374        * rendering/RootInlineBox.cpp:
70375        (WebCore::RootInlineBox::selectionTopAdjustedForPrecedingBlock):
70376
703772013-10-20  Andreas Kling  <akling@apple.com>
70378
70379        Avoid unnecessary vector copy in AnimationController event dispatch.
70380        <https://webkit.org/b/122994>
70381
70382        Use Vector's move constructor instead of making a copy of the pending
70383        events queue and then clearing it.
70384
70385        Reviewed by Simon Fraser.
70386
703872013-10-19  Brady Eidson  <beidson@apple.com>
70388
70389        Add abstract IDBBackingStoreInterface, use it to get IDBDatabaseBackendLevelDB closer to going cross-platform
70390        https://bugs.webkit.org/show_bug.cgi?id=123074
70391
70392        Reviewed by Andreas Kling.
70393
70394        * Modules/indexeddb/IDBBackingStoreInterface.h: Added.
70395        (WebCore::IDBBackingStoreInterface::~IDBBackingStoreInterface):
70396        (WebCore::IDBBackingStoreInterface::Transaction::~Transaction):
70397
70398        * Modules/indexeddb/IDBTransactionBackendInterface.h:
70399
70400        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
70401        (WebCore::IDBBackingStoreLevelDB::updateIDBDatabaseIntVersion):
70402        (WebCore::IDBBackingStoreLevelDB::createObjectStore):
70403        (WebCore::IDBBackingStoreLevelDB::deleteObjectStore):
70404        (WebCore::IDBBackingStoreLevelDB::getRecord):
70405        (WebCore::IDBBackingStoreLevelDB::putRecord):
70406        (WebCore::IDBBackingStoreLevelDB::clearObjectStore):
70407        (WebCore::IDBBackingStoreLevelDB::deleteRecord):
70408        (WebCore::IDBBackingStoreLevelDB::getKeyGeneratorCurrentNumber):
70409        (WebCore::IDBBackingStoreLevelDB::maybeUpdateKeyGeneratorCurrentNumber):
70410        (WebCore::IDBBackingStoreLevelDB::keyExistsInObjectStore):
70411        (WebCore::IDBBackingStoreLevelDB::createIndex):
70412        (WebCore::IDBBackingStoreLevelDB::deleteIndex):
70413        (WebCore::IDBBackingStoreLevelDB::putIndexDataForRecord):
70414        (WebCore::IDBBackingStoreLevelDB::findKeyInIndex):
70415        (WebCore::IDBBackingStoreLevelDB::getPrimaryKeyViaIndex):
70416        (WebCore::IDBBackingStoreLevelDB::keyExistsInIndex):
70417        (WebCore::IDBBackingStoreLevelDB::openObjectStoreCursor):
70418        (WebCore::IDBBackingStoreLevelDB::openObjectStoreKeyCursor):
70419        (WebCore::IDBBackingStoreLevelDB::openIndexKeyCursor):
70420        (WebCore::IDBBackingStoreLevelDB::openIndexCursor):
70421        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
70422        (WebCore::IDBBackingStoreLevelDB::Transaction::reset):
70423        (WebCore::IDBBackingStoreLevelDB::Transaction::levelDBTransactionFrom):
70424
70425        * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp:
70426        (WebCore::IDBCursorBackendLevelDB::deleteFunction):
70427        * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h:
70428
70429        * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.cpp:
70430        (WebCore::IDBObjectStoreBackendLevelDB::IndexWriter::verifyIndexKeys):
70431        (WebCore::IDBObjectStoreBackendLevelDB::IndexWriter::writeIndexKeys):
70432        (WebCore::IDBObjectStoreBackendLevelDB::IndexWriter::addingKeyAllowed):
70433        * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.h:
70434
70435        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:
70436        (WebCore::IDBTransactionBackendLevelDB::backingStoreTransaction):
70437
70438        * WebCore.xcodeproj/project.pbxproj:
70439        * GNUmakefile.list.am:
70440
704412013-10-20  Andreas Kling  <akling@apple.com>
70442
70443        Use PassRef for StyleSheetContents.
70444        <https://webkit.org/b/123083>
70445
70446        Let functions that return newly-constructed StyleSheetContents
70447        objects vend PassRef<StyleSheetContents> instead of PassRefPtr.
70448
70449        Updated functions that take StyleSheetContents in arguments
70450        accordingly. And CSSStyleSheet now has a Ref internally. Woo!
70451
70452        Reviewed by Antti Koivisto.
70453
704542013-10-20  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
70455
70456        Removing "unused parameter" compiling warnings from WebKit2 and WebCore
70457        https://bugs.webkit.org/show_bug.cgi?id=123075
70458
70459        Reviewed by Andreas Kling.
70460
70461        No new tests needed.
70462
70463        * Modules/mediastream/RTCDTMFToneChangeEvent.cpp:
70464        (WebCore::RTCDTMFToneChangeEvent::create):
70465        * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
70466        (lineAtPositionForAtkBoundary):
70467        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
70468        (WebCore::MediaPlayerPrivateGStreamer::processTableOfContentsEntry):
70469
704702013-10-19  Andreas Kling  <akling@apple.com>
70471
70472        Use PassRef for constructing StyleRules.
70473        <https://webkit.org/b/123072>
70474
70475        Let functions that return newly-constructed StyleRuleFoo objects
70476        vend PassRef<StyleRuleFoo> instead of PassRefPtr.
70477
70478        Since StyleRuleBase::copy() has to return something, we can't rely
70479        on ASSERT_NOT_REACHED() + return nullptr anymore, so I've replaced
70480        those with CRASH(). No call sites actually handled null anyway.
70481
70482        Reviewed by Sam Weinig.
70483
704842013-10-19  Jer Noble  <jer.noble@apple.com>
70485
70486        Unreviewed roll out of r157695; broke Mac builds.
70487
70488        * Configurations/FeatureDefines.xcconfig:
70489
704902013-10-07  Jer Noble  <jer.noble@apple.com>
70491
70492        [MSE] [Mac] Enable MediaSource on the Mac
70493        https://bugs.webkit.org/show_bug.cgi?id=122484
70494
70495        Reviewed by Darin Adler.
70496
70497        Enable ENABLE_MEDIA_SOURCE.
70498
70499        * Configurations/FeatureDefines.xcconfig:
70500
705012013-10-19  Sam Weinig  <sam@webkit.org>
70502
70503        CTTE: Tighten up type usage around InputType::innerTextElement()
70504        https://bugs.webkit.org/show_bug.cgi?id=123078
70505
70506        Reviewed by Anders Carlsson.
70507
70508        * editing/TextIterator.cpp:
70509        (WebCore::TextIterator::handleReplacedElement):
70510        * html/HTMLElement.h:
70511        (WebCore::HTMLElement::isTextControlInnerTextElement):
70512        * html/HTMLInputElement.cpp:
70513        (WebCore::HTMLInputElement::innerTextElement):
70514        * html/HTMLInputElement.h:
70515        * html/HTMLTextAreaElement.cpp:
70516        (WebCore::HTMLTextAreaElement::innerTextElement):
70517        * html/HTMLTextAreaElement.h:
70518        * html/HTMLTextFormControlElement.cpp:
70519        (WebCore::hasVisibleTextArea):
70520        (WebCore::HTMLTextFormControlElement::selection):
70521        (WebCore::HTMLTextFormControlElement::innerTextValue):
70522        (WebCore::HTMLTextFormControlElement::valueWithHardLineBreaks):
70523        * html/HTMLTextFormControlElement.h:
70524        * html/InputType.h:
70525        (WebCore::InputType::innerTextElement):
70526        * html/TextFieldInputType.cpp:
70527        (WebCore::TextFieldInputType::forwardEvent):
70528        (WebCore::TextFieldInputType::innerTextElement):
70529        * html/TextFieldInputType.h:
70530        * html/shadow/TextControlInnerElements.cpp:
70531        (WebCore::TextControlInnerTextElement::renderer):
70532        * html/shadow/TextControlInnerElements.h:
70533        (WebCore::isTextControlInnerTextElement):
70534        * rendering/RenderObject.h:
70535        (WebCore::RenderObject::isTextControlInnerBlock):
70536        * rendering/RenderTextControl.cpp:
70537        (WebCore::RenderTextControl::innerTextElement):
70538        (WebCore::RenderTextControl::styleDidChange):
70539        (WebCore::RenderTextControl::textBlockLogicalWidth):
70540        (WebCore::RenderTextControl::updateFromElement):
70541        (WebCore::RenderTextControl::computeLogicalHeight):
70542        (WebCore::RenderTextControl::hitInnerTextElement):
70543        * rendering/RenderTextControl.h:
70544        * rendering/RenderTextControlSingleLine.cpp:
70545        (WebCore::RenderTextControlSingleLine::layout):
70546        (WebCore::RenderTextControlSingleLine::styleDidChange):
70547        (WebCore::RenderTextControlSingleLine::autoscroll):
70548        (WebCore::RenderTextControlSingleLine::scroll):
70549        (WebCore::RenderTextControlSingleLine::logicalScroll):
70550        * rendering/RenderTextControlSingleLine.h:
70551        (WebCore::toRenderTextControlInnerBlock):
70552
705532013-10-19  Sam Weinig  <sam@webkit.org>
70554
70555        Move m_lineBoxes from RenderBlock to RenderBlockFlow (Part 4)
70556        https://bugs.webkit.org/show_bug.cgi?id=122969
70557
70558        Reviewed by Andreas Kling.
70559
70560        - Fix classes derived from RenderBlockFlow that were still calling
70561          up to RenderBlock rather than RenderBlockFlow.
70562
70563        * rendering/RenderDetailsMarker.cpp:
70564        (WebCore::RenderDetailsMarker::paint):
70565        * rendering/RenderFieldset.cpp:
70566        (WebCore::RenderFieldset::computePreferredLogicalWidths):
70567        (WebCore::RenderFieldset::paintBoxDecorations):
70568        (WebCore::RenderFieldset::paintMask):
70569        * rendering/RenderFileUploadControl.cpp:
70570        (WebCore::RenderFileUploadControl::paintObject):
70571        * rendering/RenderFlowThread.cpp:
70572        (WebCore::RenderFlowThread::styleDidChange):
70573        (WebCore::RenderFlowThread::layout):
70574        (WebCore::RenderFlowThread::nodeAtPoint):
70575        * rendering/RenderFullScreen.cpp:
70576        (RenderFullScreenPlaceholder::willBeDestroyed):
70577        * rendering/RenderListItem.cpp:
70578        (WebCore::RenderListItem::styleDidChange):
70579        * rendering/RenderMultiColumnBlock.cpp:
70580        (WebCore::RenderMultiColumnBlock::styleDidChange):
70581        (WebCore::RenderMultiColumnBlock::updateLogicalWidthAndColumnWidth):
70582        (WebCore::RenderMultiColumnBlock::addChild):
70583        * rendering/RenderProgress.cpp:
70584        (WebCore::RenderProgress::updateFromElement):
70585        * rendering/RenderRuby.cpp:
70586        (WebCore::RenderRubyAsBlock::styleDidChange):
70587        (WebCore::RenderRubyAsBlock::addChild):
70588        (WebCore::RenderRubyAsBlock::removeChild):
70589        * rendering/RenderRubyRun.cpp:
70590        (WebCore::RenderRubyRun::rubyBaseSafe):
70591        (WebCore::RenderRubyRun::addChild):
70592        (WebCore::RenderRubyRun::removeChild):
70593        (WebCore::RenderRubyRun::layout):
70594        * rendering/RenderRubyText.cpp:
70595        (WebCore::RenderRubyText::textAlignmentForLine):
70596        (WebCore::RenderRubyText::adjustInlineDirectionLineBounds):
70597        * rendering/RenderTableCaption.cpp:
70598        (WebCore::RenderTableCaption::willBeRemovedFromTree):
70599        * rendering/RenderTableCell.cpp:
70600        (WebCore::RenderTableCell::willBeRemovedFromTree):
70601        (WebCore::RenderTableCell::computePreferredLogicalWidths):
70602        (WebCore::RenderTableCell::offsetFromContainer):
70603        (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
70604        (WebCore::RenderTableCell::computeRectForRepaint):
70605        (WebCore::RenderTableCell::styleDidChange):
70606        (WebCore::RenderTableCell::borderLeft):
70607        (WebCore::RenderTableCell::borderRight):
70608        (WebCore::RenderTableCell::borderTop):
70609        (WebCore::RenderTableCell::borderBottom):
70610        (WebCore::RenderTableCell::borderStart):
70611        (WebCore::RenderTableCell::borderEnd):
70612        (WebCore::RenderTableCell::borderBefore):
70613        (WebCore::RenderTableCell::borderAfter):
70614        (WebCore::RenderTableCell::paint):
70615        * rendering/RenderTextControl.cpp:
70616        (WebCore::RenderTextControl::styleDidChange):
70617        * rendering/RenderTextControlSingleLine.cpp:
70618        (WebCore::RenderTextControlSingleLine::scrollWidth):
70619        (WebCore::RenderTextControlSingleLine::scrollHeight):
70620        (WebCore::RenderTextControlSingleLine::scrollLeft):
70621        (WebCore::RenderTextControlSingleLine::scrollTop):
70622        (WebCore::RenderTextControlSingleLine::scroll):
70623        (WebCore::RenderTextControlSingleLine::logicalScroll):
70624        * rendering/RenderTextTrackCue.cpp:
70625        (WebCore::RenderTextTrackCue::layout):
70626        * rendering/RenderView.cpp:
70627        (WebCore::RenderView::layoutContent):
70628        (WebCore::RenderView::addChild):
70629        (WebCore::RenderView::visualOverflowRect):
70630        (WebCore::RenderView::styleDidChange):
70631        * rendering/svg/RenderSVGBlock.cpp:
70632        (WebCore::RenderSVGBlock::setStyle):
70633        (WebCore::RenderSVGBlock::updateFromStyle):
70634        (WebCore::RenderSVGBlock::willBeDestroyed):
70635        (WebCore::RenderSVGBlock::styleWillChange):
70636        (WebCore::RenderSVGBlock::styleDidChange):
70637        * rendering/svg/SVGTextQuery.cpp:
70638        (WebCore::flowBoxForRenderer):
70639
706402013-10-19  Sam Weinig  <sam@webkit.org>
70641
70642        Move m_lineBoxes from RenderBlock to RenderBlockFlow (Part 3)
70643        https://bugs.webkit.org/show_bug.cgi?id=122969
70644
70645        Reviewed by Andreas Kling.
70646
70647        - Move containsNonZeroBidiLevel to RenderBlockFlow.
70648
70649        * editing/Editor.cpp:
70650        (WebCore::Editor::hasBidiSelection):
70651        * rendering/RenderBlock.cpp:
70652        * rendering/RenderBlock.h:
70653        * rendering/RenderBlockFlow.cpp:
70654        (WebCore::RenderBlockFlow::containsNonZeroBidiLevel):
70655        * rendering/RenderBlockFlow.h:
70656
706572013-10-18  Sam Weinig  <sam@webkit.org>
70658
70659        Move m_lineBoxes from RenderBlock to RenderBlockFlow (Part 2)
70660        https://bugs.webkit.org/show_bug.cgi?id=122969
70661
70662        Reviewed by Antti Koivisto.
70663
70664        - Move truncation (e.g. line clamp and ellipse) support to RenderBlockFlow.
70665
70666        * rendering/EllipsisBox.cpp:
70667        (WebCore::EllipsisBox::EllipsisBox):
70668        (WebCore::EllipsisBox::paint):
70669        (WebCore::EllipsisBox::markupBox):
70670        (WebCore::EllipsisBox::selectionRect):
70671        (WebCore::EllipsisBox::paintSelection):
70672        (WebCore::EllipsisBox::nodeAtPoint):
70673        * rendering/EllipsisBox.h:
70674        * rendering/RenderBlock.cpp:
70675        * rendering/RenderBlock.h:
70676        * rendering/RenderBlockFlow.cpp:
70677        (WebCore::shouldCheckLines):
70678        (WebCore::RenderBlockFlow::lineAtIndex):
70679        (WebCore::RenderBlockFlow::lineCount):
70680        (WebCore::getHeightForLineCount):
70681        (WebCore::RenderBlockFlow::heightForLineCount):
70682        (WebCore::RenderBlockFlow::clearTruncation):
70683        * rendering/RenderBlockFlow.h:
70684        * rendering/RenderDeprecatedFlexibleBox.cpp:
70685        (WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
70686        (WebCore::RenderDeprecatedFlexibleBox::clearLineClamp):
70687        * rendering/RootInlineBox.cpp:
70688        (WebCore::RootInlineBox::placeEllipsis):
70689
706902013-10-19  Andreas Kling  <akling@apple.com>
70691
70692        StyleResolver should deal in PassRef<RenderStyle> where possible.
70693        <https://webkit.org/b/123061>
70694
70695        Make StyleResolver functions that returned or took RenderStyles
70696        by PassRefPtr use PassRef instead where possible.
70697
70698        Reviewed by Anders Carlsson.
70699
707002013-10-19  Brady Eidson  <beidson@apple.com>
70701
70702        Global rename of the class "IDBBackingStore" to "IDBBackingStoreLevelDB"
70703
70704        Rubberstamped by Anders Carlsson (And Andreas Kling wanted to, but he wasn’t around)
70705
70706        * Modules/indexeddb/IDBTransactionBackendInterface.h:
70707        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
70708        * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
70709        * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp:
70710        * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h:
70711        * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp:
70712        * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.h:
70713        * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
70714        * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
70715        * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.cpp:
70716        * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.h:
70717        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp:
70718        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:
70719        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.cpp:
70720        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.h:
70721
707222013-10-19  peavo@outlook.com  <peavo@outlook.com>
70723
70724        [WinCairo] Link fails.
70725        https://bugs.webkit.org/show_bug.cgi?id=123019
70726
70727        Reviewed by Darin Adler.
70728
70729        Added empty CertificateInfo implementation for Curl.
70730
70731        * WebCore.vcxproj/WebCore.vcxproj:
70732        * WebCore.vcxproj/WebCore.vcxproj.filters:
70733        * platform/network/curl/CertificateInfoCurl.cpp: Added.
70734        (WebCore::CertificateInfo::CertificateInfo):
70735        (WebCore::CertificateInfo::~CertificateInfo):
70736
707372013-10-19  Filip Pizlo  <fpizlo@apple.com>
70738
70739        libWebCoreTestSupport should have explicit exports
70740        https://bugs.webkit.org/show_bug.cgi?id=123053
70741
70742        Reviewed by Oliver Hunt.
70743
70744        No new tests because there is no change in behavior.
70745
70746        * Configurations/WebCoreTestSupport.xcconfig:
70747        * testing/js/WebCoreTestSupport.h:
70748
707492013-10-18  Andreas Kling  <akling@apple.com>
70750
70751        Start passing RenderStyle around with PassRef.
70752        <https://webkit.org/b/123051>
70753
70754        Made the RenderStyle::create methods return PassRef<RenderStyle>
70755        and RenderElement::setStyle take a PassRef<RenderStyle>.
70756
70757        Reviewed by Darin Adler.
70758
707592013-10-18  Sam Weinig  <sam@webkit.org>
70760
70761        Move m_lineBoxes from RenderBlock to RenderBlockFlow (Part 1)
70762        https://bugs.webkit.org/show_bug.cgi?id=122969
70763
70764        Reviewed by Dan Bernstein.
70765
70766        - Make the RootInlineBox constructor take a RenderBlockFlow.
70767        - Move createRootInlineBox, and createAndAppendRootInlineBox to RenderBlockFlow.
70768
70769        * editing/VisibleUnits.cpp:
70770        (WebCore::absoluteLineDirectionPointToLocalPointInBlock):
70771        * rendering/InlineBox.cpp:
70772        (WebCore::InlineBox::locationIncludingFlipping):
70773        (WebCore::InlineBox::flipForWritingMode):
70774        * rendering/InlineFlowBox.cpp:
70775        (WebCore::InlineFlowBox::placeBoxRangeInInlineDirection):
70776        * rendering/RenderBlock.cpp:
70777        * rendering/RenderBlock.h:
70778        * rendering/RenderBlockFlow.h:
70779        * rendering/RenderBlockLineLayout.cpp:
70780        (WebCore::RenderBlockFlow::createRootInlineBox):
70781        (WebCore::RenderBlockFlow::createAndAppendRootInlineBox):
70782        (WebCore::createInlineBoxForRenderer):
70783        (WebCore::RenderBlockFlow::createLineBoxes):
70784        * rendering/RenderBox.cpp:
70785        (WebCore::RenderBox::positionLineBox):
70786        * rendering/RenderListMarker.cpp:
70787        (WebCore::RenderListMarker::localSelectionRect):
70788        * rendering/RenderReplaced.cpp:
70789        (WebCore::RenderReplaced::localSelectionRect):
70790        * rendering/RootInlineBox.cpp:
70791        (WebCore::RootInlineBox::RootInlineBox):
70792        (WebCore::RootInlineBox::rendererLineBoxes):
70793        (WebCore::RootInlineBox::placeEllipsis):
70794        (WebCore::RootInlineBox::containingRegion):
70795        (WebCore::RootInlineBox::setContainingRegion):
70796        (WebCore::RootInlineBox::alignBoxesInBlockDirection):
70797        (WebCore::RootInlineBox::beforeAnnotationsAdjustment):
70798        (WebCore::RootInlineBox::lineSnapAdjustment):
70799        (WebCore::RootInlineBox::lineSelectionGap):
70800        (WebCore::RootInlineBox::computeCaretRect):
70801        (WebCore::RootInlineBox::selectionTop):
70802        (WebCore::RootInlineBox::selectionTopAdjustedForPrecedingBlock):
70803        (WebCore::RootInlineBox::selectionBottom):
70804        (WebCore::RootInlineBox::blockDirectionPointInLine):
70805        (WebCore::RootInlineBox::blockFlow):
70806        (WebCore::RootInlineBox::closestLeafChildForPoint):
70807        (WebCore::RootInlineBox::removeLineBoxFromRenderObject):
70808        (WebCore::RootInlineBox::extractLineBoxFromRenderObject):
70809        (WebCore::RootInlineBox::attachLineBoxToRenderObject):
70810        * rendering/RootInlineBox.h:
70811        * rendering/TrailingFloatsRootInlineBox.h:
70812        * rendering/svg/RenderSVGText.h:
70813        (WebCore::toRenderSVGText):
70814        * rendering/svg/SVGRootInlineBox.cpp:
70815        (WebCore::SVGRootInlineBox::SVGRootInlineBox):
70816        (WebCore::SVGRootInlineBox::renderSVGText):
70817        (WebCore::SVGRootInlineBox::paint):
70818        (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
70819        (WebCore::SVGRootInlineBox::layoutRootBox):
70820        * rendering/svg/SVGRootInlineBox.h:
70821
708222013-10-18  Tim Horton  <timothy_horton@apple.com>
70823
70824        Remote Layer Tree: Double-buffering and minimization of repaints
70825        https://bugs.webkit.org/show_bug.cgi?id=123043
70826
70827        Reviewed by Simon Fraser.
70828
70829        No new tests, not yet testable.
70830
70831        * WebCore.exp.in:
70832        Export one version of drawLayerContents and Region::contains.
70833
70834        * WebCore.xcodeproj/project.pbxproj:
70835        Expose WebLayer.h as a private header.
70836
70837        * platform/graphics/mac/WebLayer.h:
70838        Clean up this header, and add a new drawLayerContents that can operate without a CALayer.
70839
70840        * platform/graphics/mac/WebLayer.mm:
70841        (WebCore::drawLayerContents):
70842        Split drawLayerContents into one method that acquires properties CALayer,
70843        and one that just does the painting.
70844
708452013-10-18  Anders Carlsson  <andersca@apple.com>
70846
70847        Try to fix the Lion build.
70848
70849        * bindings/objc/ObjCNodeFilterCondition.h:
70850
708512013-10-18  Daniel Bates  <dabates@apple.com>
70852
70853        [iOS] Upstream WebSafe{GCActivityCallback, IncrementalSweeper}IOS
70854        https://bugs.webkit.org/show_bug.cgi?id=123049
70855
70856        Reviewed by Mark Hahnenberg.
70857
70858        * WebCore.xcodeproj/project.pbxproj:
70859        * platform/ios/WebSafeGCActivityCallbackIOS.h: Added.
70860        * platform/ios/WebSafeIncrementalSweeperIOS.h: Added.
70861
708622013-10-18  Anders Carlsson  <andersca@apple.com>
70863
70864        Remove spaces between template angle brackets
70865        https://bugs.webkit.org/show_bug.cgi?id=123040
70866
70867        Reviewed by Andreas Kling.
70868
70869        * Modules/encryptedmedia/MediaKeySession.h:
70870        * Modules/encryptedmedia/MediaKeys.h:
70871        * Modules/geolocation/Geolocation.h:
70872        * Modules/geolocation/GeolocationController.cpp:
70873        (WebCore::GeolocationController::positionChanged):
70874        (WebCore::GeolocationController::errorOccurred):
70875        * Modules/geolocation/GeolocationController.h:
70876        * Modules/indexeddb/IDBCallbacks.h:
70877        * Modules/indexeddb/IDBDatabase.h:
70878        * Modules/indexeddb/IDBDatabaseBackendInterface.h:
70879        * Modules/indexeddb/IDBEventDispatcher.cpp:
70880        (WebCore::IDBEventDispatcher::dispatch):
70881        * Modules/indexeddb/IDBEventDispatcher.h:
70882        * Modules/indexeddb/IDBKey.h:
70883        * Modules/indexeddb/IDBObjectStore.h:
70884        * Modules/indexeddb/IDBPendingTransactionMonitor.cpp:
70885        * Modules/indexeddb/IDBRequest.cpp:
70886        (WebCore::IDBRequest::dispatchEvent):
70887        * Modules/indexeddb/IDBRequest.h:
70888        (WebCore::IDBRequest::onSuccessWithPrefetch):
70889        * Modules/indexeddb/IDBTransaction.cpp:
70890        (WebCore::IDBTransaction::dispatchEvent):
70891        * Modules/indexeddb/IDBTransaction.h:
70892        * Modules/mediacontrols/MediaControlsHost.cpp:
70893        (WebCore::MediaControlsHost::sortedTrackListForMenu):
70894        * Modules/mediacontrols/MediaControlsHost.h:
70895        * Modules/mediasource/MediaSource.cpp:
70896        (WebCore::MediaSource::activeRanges):
70897        * Modules/mediasource/MediaSource.h:
70898        * Modules/mediasource/MediaSourceBase.cpp:
70899        (WebCore::MediaSourceBase::buffered):
70900        * Modules/mediasource/MediaSourceBase.h:
70901        * Modules/mediasource/MediaSourceRegistry.cpp:
70902        (WebCore::MediaSourceRegistry::unregisterURL):
70903        * Modules/mediasource/MediaSourceRegistry.h:
70904        * Modules/mediasource/SourceBufferList.h:
70905        * Modules/mediasource/WebKitMediaSource.cpp:
70906        (WebCore::WebKitMediaSource::activeRanges):
70907        * Modules/mediasource/WebKitMediaSource.h:
70908        * Modules/mediasource/WebKitSourceBufferList.h:
70909        * Modules/mediastream/MediaStream.cpp:
70910        (WebCore::MediaStream::scheduledEventTimerFired):
70911        * Modules/mediastream/MediaStream.h:
70912        * Modules/mediastream/MediaStreamRegistry.h:
70913        * Modules/mediastream/MediaStreamTrack.h:
70914        * Modules/mediastream/RTCDTMFSender.cpp:
70915        (WebCore::RTCDTMFSender::scheduledEventTimerFired):
70916        * Modules/mediastream/RTCDTMFSender.h:
70917        * Modules/mediastream/RTCDataChannel.cpp:
70918        (WebCore::RTCDataChannel::scheduledEventTimerFired):
70919        * Modules/mediastream/RTCDataChannel.h:
70920        * Modules/mediastream/RTCPeerConnection.cpp:
70921        (WebCore::RTCPeerConnection::stop):
70922        (WebCore::RTCPeerConnection::scheduledEventTimerFired):
70923        * Modules/mediastream/RTCPeerConnection.h:
70924        * Modules/mediastream/RTCStatsResponse.h:
70925        (WebCore::RTCStatsResponse::result):
70926        * Modules/notifications/Notification.h:
70927        * Modules/notifications/NotificationCenter.h:
70928        * Modules/speech/SpeechSynthesis.cpp:
70929        (WebCore::SpeechSynthesis::getVoices):
70930        * Modules/speech/SpeechSynthesis.h:
70931        * Modules/webaudio/AudioBuffer.h:
70932        * Modules/webaudio/AudioNode.h:
70933        * Modules/webaudio/AudioNodeOutput.h:
70934        * Modules/webaudio/MediaStreamAudioSource.cpp:
70935        (WebCore::MediaStreamAudioSource::setAudioFormat):
70936        (WebCore::MediaStreamAudioSource::consumeAudio):
70937        * Modules/webaudio/PeriodicWave.h:
70938        * Modules/webaudio/ScriptProcessorNode.h:
70939        * Modules/webdatabase/AbstractDatabaseServer.h:
70940        * Modules/webdatabase/DatabaseBackend.h:
70941        * Modules/webdatabase/DatabaseManager.cpp:
70942        (WebCore::DatabaseManager::origins):
70943        * Modules/webdatabase/DatabaseManager.h:
70944        * Modules/webdatabase/DatabaseServer.cpp:
70945        (WebCore::DatabaseServer::origins):
70946        * Modules/webdatabase/DatabaseServer.h:
70947        * Modules/webdatabase/DatabaseThread.h:
70948        * Modules/webdatabase/DatabaseTracker.cpp:
70949        (WebCore::DatabaseTracker::interruptAllDatabasesForContext):
70950        (WebCore::DatabaseTracker::origins):
70951        (WebCore::DatabaseTracker::getOpenDatabases):
70952        (WebCore::DatabaseTracker::deleteAllDatabases):
70953        (WebCore::DatabaseTracker::deleteDatabaseFile):
70954        * Modules/webdatabase/DatabaseTracker.h:
70955        * Modules/webdatabase/SQLStatementBackend.cpp:
70956        * Modules/webdatabase/SQLTransactionBackend.cpp:
70957        * Modules/webdatabase/SQLTransactionBackend.h:
70958        * Modules/webdatabase/SQLTransactionCoordinator.cpp:
70959        (WebCore::SQLTransactionCoordinator::shutdown):
70960        * Modules/webdatabase/SQLTransactionCoordinator.h:
70961        * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
70962        (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryData):
70963        (WebCore::ThreadableWebSocketChannelClientWrapper::processPendingTasks):
70964        (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryDataCallback):
70965        * Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
70966        * Modules/websockets/WebSocket.cpp:
70967        (WebCore::WebSocket::didReceiveBinaryData):
70968        * Modules/websockets/WebSocket.h:
70969        * Modules/websockets/WebSocketChannel.cpp:
70970        (WebCore::WebSocketChannel::processFrame):
70971        * Modules/websockets/WebSocketChannel.h:
70972        * Modules/websockets/WebSocketChannelClient.h:
70973        (WebCore::WebSocketChannelClient::didReceiveBinaryData):
70974        * Modules/websockets/WebSocketExtensionDispatcher.h:
70975        * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
70976        (WebCore::workerGlobalScopeDidReceiveBinaryData):
70977        (WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveBinaryData):
70978        (WebCore::WorkerThreadableWebSocketChannel::mainThreadSendArrayBuffer):
70979        (WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
70980        * Modules/websockets/WorkerThreadableWebSocketChannel.h:
70981        * accessibility/AXObjectCache.cpp:
70982        (WebCore::AXObjectCache::~AXObjectCache):
70983        * accessibility/AXObjectCache.h:
70984        * accessibility/AccessibilityNodeObject.cpp:
70985        (WebCore::AccessibilityNodeObject::ariaLabeledByText):
70986        * accessibility/AccessibilityObject.h:
70987        (WebCore::AccessibilityText::AccessibilityText):
70988        * bindings/js/DOMWrapperWorld.h:
70989        * bindings/js/JSDOMBinding.h:
70990        (WebCore::toRefPtrNativeArray):
70991        * bindings/js/JSDOMGlobalObject.h:
70992        * bindings/js/JSMutationCallback.cpp:
70993        (WebCore::JSMutationCallback::call):
70994        * bindings/js/JSMutationCallback.h:
70995        * bindings/js/JSWebGLRenderingContextCustom.cpp:
70996        (WebCore::JSWebGLRenderingContext::getAttachedShaders):
70997        * bindings/js/PageScriptDebugServer.h:
70998        * bindings/js/ScheduledAction.h:
70999        * bindings/js/ScriptController.cpp:
71000        (WebCore::ScriptController::collectIsolatedContexts):
71001        * bindings/js/ScriptController.h:
71002        * bindings/js/ScriptDebugServer.h:
71003        * bindings/js/ScriptProfile.cpp:
71004        (WebCore::buildInspectorObjectFor):
71005        * bindings/objc/ObjCNodeFilterCondition.h:
71006        * bridge/objc/objc_class.h:
71007        * bridge/runtime_root.cpp:
71008        (JSC::Bindings::RootObject::invalidate):
71009        * bridge/runtime_root.h:
71010        * css/BasicShapeFunctions.cpp:
71011        (WebCore::basicShapeForValue):
71012        * css/CSSBasicShapes.h:
71013        (WebCore::CSSBasicShapePolygon::values):
71014        * css/CSSComputedStyleDeclaration.cpp:
71015        (WebCore::ComputedStyleExtractor::valueForFilter):
71016        * css/CSSFontFace.h:
71017        * css/CSSFontFaceSource.h:
71018        * css/CSSFontSelector.cpp:
71019        (WebCore::CSSFontSelector::addFontFaceRule):
71020        (WebCore::CSSFontSelector::getFontFace):
71021        (WebCore::CSSFontSelector::beginLoadTimerFired):
71022        * css/CSSFontSelector.h:
71023        * css/CSSGroupingRule.h:
71024        * css/CSSImageGeneratorValue.h:
71025        * css/CSSParserValues.cpp:
71026        (WebCore::CSSParserSelector::adoptSelectorVector):
71027        * css/CSSParserValues.h:
71028        * css/CSSPropertySourceData.h:
71029        * css/CSSRuleList.h:
71030        (WebCore::StaticCSSRuleList::rules):
71031        * css/CSSSegmentedFontFace.cpp:
71032        (WebCore::CSSSegmentedFontFace::fontLoaded):
71033        * css/CSSSegmentedFontFace.h:
71034        * css/CSSSelectorList.cpp:
71035        (WebCore::CSSSelectorList::adoptSelectorVector):
71036        * css/CSSSelectorList.h:
71037        * css/CSSStyleSheet.h:
71038        * css/CSSValue.h:
71039        (WebCore::compareCSSValueVector):
71040        * css/CSSValuePool.h:
71041        * css/DocumentRuleSets.cpp:
71042        (WebCore::DocumentRuleSets::collectRulesFromUserStyleSheets):
71043        (WebCore::DocumentRuleSets::appendAuthorStyleSheets):
71044        * css/DocumentRuleSets.h:
71045        * css/ElementRuleCollector.cpp:
71046        (WebCore::ElementRuleCollector::matchedRuleList):
71047        * css/ElementRuleCollector.h:
71048        * css/FontLoader.h:
71049        * css/InspectorCSSOMWrappers.cpp:
71050        (WebCore::InspectorCSSOMWrappers::collectFromStyleSheetContents):
71051        (WebCore::InspectorCSSOMWrappers::collectFromStyleSheets):
71052        * css/InspectorCSSOMWrappers.h:
71053        * css/MediaList.cpp:
71054        (WebCore::MediaQuerySet::parse):
71055        (WebCore::MediaList::item):
71056        (WebCore::reportMediaQueryWarningIfNeeded):
71057        * css/MediaList.h:
71058        (WebCore::MediaQuerySet::queryVector):
71059        * css/MediaQueryEvaluator.cpp:
71060        (WebCore::MediaQueryEvaluator::eval):
71061        * css/MediaQueryMatcher.h:
71062        * css/PropertySetCSSStyleDeclaration.cpp:
71063        (WebCore::PropertySetCSSStyleDeclaration::cloneAndCacheForCSSOM):
71064        * css/PropertySetCSSStyleDeclaration.h:
71065        * css/RuleSet.cpp:
71066        (WebCore::RuleSet::addToRuleSet):
71067        (WebCore::RuleSet::addRegionRule):
71068        (WebCore::RuleSet::addChildRules):
71069        (WebCore::RuleSet::addRulesFromSheet):
71070        * css/RuleSet.h:
71071        * css/SelectorFilter.h:
71072        * css/StyleInvalidationAnalysis.cpp:
71073        (WebCore::StyleInvalidationAnalysis::analyzeStyleSheet):
71074        * css/StylePropertySet.cpp:
71075        (WebCore::StylePropertySet::getLayeredShorthandValue):
71076        * css/StyleResolver.cpp:
71077        (WebCore::StyleResolver::appendAuthorStyleSheets):
71078        (WebCore::StyleResolver::keyframeStylesForAnimation):
71079        (WebCore::StyleResolver::styleRulesForElement):
71080        (WebCore::StyleResolver::pseudoStyleRulesForElement):
71081        (WebCore::StyleResolver::resolveVariables):
71082        (WebCore::StyleResolver::applyProperty):
71083        (WebCore::StyleResolver::loadPendingSVGDocuments):
71084        (WebCore::StyleResolver::loadPendingShaders):
71085        * css/StyleResolver.h:
71086        * css/StyleRule.cpp:
71087        (WebCore::StyleRule::splitIntoMultipleRulesWithMaximumSelectorComponentCount):
71088        (WebCore::StyleRuleGroup::StyleRuleGroup):
71089        (WebCore::StyleRuleMedia::StyleRuleMedia):
71090        (WebCore::StyleRuleSupports::StyleRuleSupports):
71091        (WebCore::StyleRuleRegion::StyleRuleRegion):
71092        * css/StyleRule.h:
71093        (WebCore::StyleRule::parserAdoptSelectorVector):
71094        (WebCore::StyleRulePage::parserAdoptSelectorVector):
71095        (WebCore::StyleRuleGroup::childRules):
71096        (WebCore::StyleRuleMedia::create):
71097        (WebCore::StyleRuleSupports::create):
71098        (WebCore::StyleRuleRegion::create):
71099        (WebCore::StyleRuleHost::create):
71100        (WebCore::StyleRuleHost::StyleRuleHost):
71101        * css/StyleScopeResolver.h:
71102        * css/StyleSheetContents.cpp:
71103        (WebCore::StyleSheetContents::parserAppendRule):
71104        (WebCore::childRulesHaveFailedOrCanceledSubresources):
71105        * css/StyleSheetContents.h:
71106        (WebCore::StyleSheetContents::childRules):
71107        (WebCore::StyleSheetContents::importRules):
71108        * css/StyleSheetList.cpp:
71109        (WebCore::StyleSheetList::styleSheets):
71110        (WebCore::StyleSheetList::item):
71111        * css/StyleSheetList.h:
71112        * css/WebKitCSSKeyframesRule.h:
71113        (WebCore::StyleRuleKeyframes::keyframes):
71114        * dom/CheckedRadioButtons.h:
71115        * dom/ClientRectList.h:
71116        * dom/ContainerNode.h:
71117        (WebCore::ChildNodesLazySnapshot::nextNode):
71118        (WebCore::ChildNodesLazySnapshot::takeSnapshot):
71119        * dom/CrossThreadTask.h:
71120        * dom/Document.cpp:
71121        (WebCore::Document::webkitCancelFullScreen):
71122        (WebCore::Document::webkitExitFullscreen):
71123        (WebCore::Document::fullScreenChangeDelayTimerFired):
71124        (WebCore::Document::didAssociateFormControlsTimerFired):
71125        * dom/Document.h:
71126        * dom/DocumentMarkerController.cpp:
71127        (WebCore::DocumentMarkerController::removeMarkers):
71128        * dom/DocumentMarkerController.h:
71129        * dom/DocumentStyleSheetCollection.cpp:
71130        (WebCore::DocumentStyleSheetCollection::injectedUserStyleSheets):
71131        (WebCore::DocumentStyleSheetCollection::injectedAuthorStyleSheets):
71132        (WebCore::DocumentStyleSheetCollection::collectActiveStyleSheets):
71133        (WebCore::DocumentStyleSheetCollection::analyzeStyleSheetChange):
71134        (WebCore::styleSheetsUseRemUnits):
71135        (WebCore::filterEnabledNonemptyCSSStyleSheets):
71136        (WebCore::collectActiveCSSStyleSheetsFromSeamlessParents):
71137        (WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
71138        * dom/DocumentStyleSheetCollection.h:
71139        * dom/Element.cpp:
71140        (WebCore::Element::attrNodeList):
71141        (WebCore::Element::webkitGetRegionFlowRanges):
71142        * dom/Element.h:
71143        * dom/EventListenerMap.h:
71144        * dom/EventSender.h:
71145        (WebCore::EventSender::timerFired):
71146        * dom/IdTargetObserverRegistry.h:
71147        * dom/MutationCallback.h:
71148        * dom/MutationObserver.cpp:
71149        (WebCore::MutationObserver::takeRecords):
71150        (WebCore::MutationObserver::deliver):
71151        (WebCore::MutationObserver::deliverAllMutations):
71152        * dom/MutationObserver.h:
71153        * dom/MutationObserverRegistration.h:
71154        * dom/NamedFlowCollection.cpp:
71155        (WebCore::NamedFlowCollection::namedFlows):
71156        * dom/NamedFlowCollection.h:
71157        * dom/Node.cpp:
71158        (WebCore::Node::didMoveToNewDocument):
71159        (WebCore::Node::mutationObserverRegistry):
71160        (WebCore::Node::registerMutationObserver):
71161        (WebCore::Node::unregisterMutationObserver):
71162        (WebCore::Node::notifyMutationObserversNodeWillDetach):
71163        * dom/Node.h:
71164        * dom/NodeRareData.h:
71165        * dom/Range.cpp:
71166        (WebCore::Range::processContents):
71167        (WebCore::Range::processNodes):
71168        (WebCore::Range::processAncestorsAndTheirSiblings):
71169        * dom/Range.h:
71170        * dom/ScopedEventQueue.h:
71171        * dom/ScriptExecutionContext.cpp:
71172        (WebCore::ScriptExecutionContext::reportException):
71173        * dom/ScriptExecutionContext.h:
71174        * dom/ScriptedAnimationController.h:
71175        * editing/ApplyStyleCommand.cpp:
71176        (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
71177        * editing/BreakBlockquoteCommand.cpp:
71178        (WebCore::BreakBlockquoteCommand::doApply):
71179        * editing/CompositeEditCommand.cpp:
71180        (WebCore::CompositeEditCommand::removeChildrenInRange):
71181        (WebCore::CompositeEditCommand::deleteInsignificantText):
71182        (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
71183        * editing/CompositeEditCommand.h:
71184        * editing/EditingStyle.cpp:
71185        (WebCore::htmlElementEquivalents):
71186        (WebCore::EditingStyle::conflictsWithImplicitStyleOfElement):
71187        (WebCore::htmlAttributeEquivalents):
71188        (WebCore::EditingStyle::conflictsWithImplicitStyleOfAttributes):
71189        (WebCore::EditingStyle::extractConflictingImplicitStyleOfAttributes):
71190        (WebCore::EditingStyle::elementIsStyledSpanOrHTMLEquivalent):
71191        (WebCore::EditingStyle::mergeInlineAndImplicitStyleOfElement):
71192        (WebCore::styleFromMatchedRulesForElement):
71193        * editing/Editor.cpp:
71194        (WebCore::Editor::countMatchesForText):
71195        * editing/Editor.h:
71196        * editing/InsertParagraphSeparatorCommand.cpp:
71197        (WebCore::InsertParagraphSeparatorCommand::getAncestorsInsideBlock):
71198        (WebCore::InsertParagraphSeparatorCommand::cloneHierarchyUnderNewBlock):
71199        (WebCore::InsertParagraphSeparatorCommand::doApply):
71200        * editing/InsertParagraphSeparatorCommand.h:
71201        * editing/MergeIdenticalElementsCommand.cpp:
71202        (WebCore::MergeIdenticalElementsCommand::doApply):
71203        (WebCore::MergeIdenticalElementsCommand::doUnapply):
71204        * editing/RemoveNodePreservingChildrenCommand.cpp:
71205        (WebCore::RemoveNodePreservingChildrenCommand::doApply):
71206        * editing/ReplaceSelectionCommand.cpp:
71207        (WebCore::ReplacementFragment::removeUnrenderedNodes):
71208        * editing/SimplifyMarkupCommand.cpp:
71209        (WebCore::SimplifyMarkupCommand::doApply):
71210        (WebCore::SimplifyMarkupCommand::pruneSubsequentAncestorsToRemove):
71211        * editing/SimplifyMarkupCommand.h:
71212        * editing/SpellChecker.h:
71213        * editing/SplitElementCommand.cpp:
71214        (WebCore::SplitElementCommand::executeApply):
71215        (WebCore::SplitElementCommand::doUnapply):
71216        * editing/WrapContentsInDummySpanCommand.cpp:
71217        (WebCore::WrapContentsInDummySpanCommand::executeApply):
71218        (WebCore::WrapContentsInDummySpanCommand::doUnapply):
71219        * editing/mac/AlternativeTextUIController.h:
71220        * fileapi/FileList.h:
71221        * history/BackForwardList.h:
71222        * history/HistoryItem.cpp:
71223        (WebCore::HistoryItem::setRedirectURLs):
71224        * history/HistoryItem.h:
71225        * history/mac/HistoryItemMac.mm:
71226        (WebCore::HistoryItem::setTransientProperty):
71227        * html/FormController.h:
71228        * html/HTMLAnchorElement.cpp:
71229        * html/HTMLCollection.cpp:
71230        (WebCore::HTMLCollection::append):
71231        * html/HTMLCollection.h:
71232        * html/HTMLFormControlElement.cpp:
71233        (WebCore::HTMLFormControlElement::checkValidity):
71234        * html/HTMLFormControlElement.h:
71235        * html/HTMLFormElement.cpp:
71236        (WebCore::HTMLFormElement::validateInteractively):
71237        (WebCore::HTMLFormElement::checkValidity):
71238        (WebCore::HTMLFormElement::checkInvalidControlsAndCollectUnhandled):
71239        * html/HTMLFormElement.h:
71240        * html/HTMLMediaElement.cpp:
71241        (WebCore::HTMLMediaElement::updateActiveTextTrackCues):
71242        (WebCore::HTMLMediaElement::platformTextTracks):
71243        (WebCore::HTMLMediaElement::configureTextTrackGroup):
71244        * html/HTMLMediaElement.h:
71245        * html/HTMLPlugInImageElement.cpp:
71246        * html/HTMLSelectElement.cpp:
71247        (WebCore::HTMLSelectElement::setLength):
71248        * html/MediaController.cpp:
71249        (MediaController::asyncEventTimerFired):
71250        * html/MediaController.h:
71251        * html/MediaFragmentURIParser.h:
71252        * html/ValidationMessage.h:
71253        * html/canvas/WebGLFramebuffer.h:
71254        * html/canvas/WebGLRenderingContext.cpp:
71255        (WebCore::WebGLRenderingContext::getAttachedShaders):
71256        * html/canvas/WebGLRenderingContext.h:
71257        * html/canvas/WebGLTexture.h:
71258        * html/parser/BackgroundHTMLParser.cpp:
71259        (WebCore::BackgroundHTMLParser::BackgroundHTMLParser):
71260        * html/parser/BackgroundHTMLParser.h:
71261        (WebCore::BackgroundHTMLParser::create):
71262        * html/parser/HTMLDocumentParser.cpp:
71263        (WebCore::HTMLDocumentParser::startBackgroundParser):
71264        * html/parser/HTMLDocumentParser.h:
71265        * html/parser/HTMLMetaCharsetParser.h:
71266        * html/parser/HTMLPreloadScanner.cpp:
71267        (WebCore::TokenPreloadScanner::scan):
71268        (WebCore::TokenPreloadScanner::scanCommon):
71269        * html/parser/HTMLResourcePreloader.h:
71270        * html/parser/XSSAuditor.h:
71271        * html/shadow/ContentDistributor.cpp:
71272        (WebCore::ContentDistributor::ensureInsertionPointList):
71273        (WebCore::ContentDistributor::distribute):
71274        (WebCore::ContentDistributor::invalidate):
71275        * html/shadow/ContentDistributor.h:
71276        * html/shadow/MediaControlElements.cpp:
71277        (WebCore::MediaControlClosedCaptionsTrackListElement::rebuildTrackListMenu):
71278        (WebCore::MediaControlTextTrackContainerElement::updateDisplay):
71279        * html/shadow/MediaControlElements.h:
71280        * html/track/InbandGenericTextTrack.h:
71281        * html/track/InbandWebVTTTextTrack.cpp:
71282        (WebCore::InbandWebVTTTextTrack::newCuesParsed):
71283        * html/track/LoadableTextTrack.cpp:
71284        (WebCore::LoadableTextTrack::newCuesAvailable):
71285        (WebCore::LoadableTextTrack::newRegionsAvailable):
71286        * html/track/TextTrackCueList.h:
71287        * html/track/TextTrackList.cpp:
71288        (TextTrackList::invalidateTrackIndexesAfterTrack):
71289        (TextTrackList::remove):
71290        (TextTrackList::contains):
71291        * html/track/TextTrackList.h:
71292        * html/track/TrackListBase.cpp:
71293        (TrackListBase::asyncEventTimerFired):
71294        * html/track/TrackListBase.h:
71295        * html/track/WebVTTParser.cpp:
71296        (WebCore::WebVTTParser::getNewCues):
71297        (WebCore::WebVTTParser::getNewRegions):
71298        * html/track/WebVTTParser.h:
71299        * inspector/ConsoleMessage.cpp:
71300        (WebCore::ConsoleMessage::addToFrontend):
71301        * inspector/ContentSearchUtils.cpp:
71302        (WebCore::ContentSearchUtils::getRegularExpressionMatchesByLines):
71303        (WebCore::ContentSearchUtils::lineEndings):
71304        (WebCore::ContentSearchUtils::searchInTextByLines):
71305        * inspector/ContentSearchUtils.h:
71306        * inspector/DOMPatchSupport.cpp:
71307        (WebCore::DOMPatchSupport::patchNode):
71308        (WebCore::DOMPatchSupport::diff):
71309        (WebCore::DOMPatchSupport::innerPatchChildren):
71310        * inspector/DOMPatchSupport.h:
71311        * inspector/InjectedScript.cpp:
71312        (WebCore::InjectedScript::getProperties):
71313        (WebCore::InjectedScript::getInternalProperties):
71314        (WebCore::InjectedScript::wrapCallFrames):
71315        * inspector/InjectedScript.h:
71316        * inspector/InjectedScriptHost.h:
71317        * inspector/InspectorAgent.cpp:
71318        (WebCore::InspectorAgent::enable):
71319        * inspector/InspectorApplicationCacheAgent.cpp:
71320        (WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
71321        (WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources):
71322        * inspector/InspectorApplicationCacheAgent.h:
71323        * inspector/InspectorBaseAgent.h:
71324        * inspector/InspectorCSSAgent.cpp:
71325        (WebCore::SelectorProfile::toInspectorObject):
71326        (WebCore::UpdateRegionLayoutTask::onTimer):
71327        (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
71328        (WebCore::InspectorCSSAgent::getComputedStyleForNode):
71329        (WebCore::InspectorCSSAgent::getAllStyleSheets):
71330        (WebCore::InspectorCSSAgent::getSupportedCSSProperties):
71331        (WebCore::InspectorCSSAgent::getNamedFlowCollection):
71332        (WebCore::InspectorCSSAgent::buildArrayForRuleList):
71333        (WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):
71334        (WebCore::InspectorCSSAgent::buildArrayForRegions):
71335        (WebCore::InspectorCSSAgent::buildObjectForNamedFlow):
71336        * inspector/InspectorCSSAgent.h:
71337        * inspector/InspectorConsoleAgent.h:
71338        * inspector/InspectorDOMAgent.cpp:
71339        (WebCore::RevalidateStyleAttributeTask::onTimer):
71340        (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
71341        (WebCore::InspectorDOMAgent::pushNodePathToFrontend):
71342        (WebCore::InspectorDOMAgent::getEventListenersForNode):
71343        (WebCore::InspectorDOMAgent::performSearch):
71344        (WebCore::InspectorDOMAgent::getSearchResults):
71345        (WebCore::InspectorDOMAgent::getAttributes):
71346        (WebCore::InspectorDOMAgent::buildObjectForNode):
71347        (WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
71348        (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
71349        (WebCore::InspectorDOMAgent::styleAttributeInvalidated):
71350        * inspector/InspectorDOMAgent.h:
71351        * inspector/InspectorDOMStorageAgent.cpp:
71352        (WebCore::InspectorDOMStorageAgent::getDOMStorageItems):
71353        * inspector/InspectorDOMStorageAgent.h:
71354        * inspector/InspectorDatabaseAgent.cpp:
71355        (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
71356        * inspector/InspectorDatabaseAgent.h:
71357        * inspector/InspectorDebuggerAgent.cpp:
71358        (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
71359        (WebCore::InspectorDebuggerAgent::searchInContent):
71360        (WebCore::InspectorDebuggerAgent::setScriptSource):
71361        (WebCore::InspectorDebuggerAgent::currentCallFrames):
71362        * inspector/InspectorDebuggerAgent.h:
71363        * inspector/InspectorHeapProfilerAgent.cpp:
71364        (WebCore::InspectorHeapProfilerAgent::getProfileHeaders):
71365        * inspector/InspectorHeapProfilerAgent.h:
71366        * inspector/InspectorHistory.h:
71367        * inspector/InspectorIndexedDBAgent.cpp:
71368        * inspector/InspectorLayerTreeAgent.cpp:
71369        (WebCore::InspectorLayerTreeAgent::layersForNode):
71370        (WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderObjectHierarchy):
71371        (WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderLayerHierarchy):
71372        * inspector/InspectorLayerTreeAgent.h:
71373        * inspector/InspectorMemoryAgent.h:
71374        * inspector/InspectorPageAgent.cpp:
71375        (WebCore::buildArrayForCookies):
71376        (WebCore::InspectorPageAgent::getCookies):
71377        (WebCore::InspectorPageAgent::searchInResource):
71378        (WebCore::InspectorPageAgent::searchInResources):
71379        (WebCore::InspectorPageAgent::buildObjectForFrameTree):
71380        * inspector/InspectorPageAgent.h:
71381        * inspector/InspectorProfilerAgent.cpp:
71382        (WebCore::InspectorProfilerAgent::getProfileHeaders):
71383        * inspector/InspectorProfilerAgent.h:
71384        * inspector/InspectorResourceAgent.h:
71385        * inspector/InspectorRuntimeAgent.cpp:
71386        (WebCore::InspectorRuntimeAgent::getProperties):
71387        * inspector/InspectorRuntimeAgent.h:
71388        * inspector/InspectorState.h:
71389        * inspector/InspectorStyleSheet.cpp:
71390        (WebCore::asCSSRuleList):
71391        (WebCore::InspectorStyle::buildArrayForComputedStyle):
71392        (WebCore::InspectorStyle::styleWithProperties):
71393        (WebCore::selectorsFromSource):
71394        (WebCore::InspectorStyleSheet::buildObjectForSelectorList):
71395        (WebCore::InspectorStyleSheet::buildObjectForRule):
71396        (WebCore::InspectorStyleSheet::lineEndings):
71397        (WebCore::InspectorStyleSheet::buildArrayForRuleList):
71398        (WebCore::InspectorStyleSheetForInlineStyle::lineEndings):
71399        * inspector/InspectorStyleSheet.h:
71400        * inspector/InspectorValues.cpp:
71401        (WebCore::InspectorArrayBase::writeJSON):
71402        * inspector/InspectorValues.h:
71403        * inspector/PageRuntimeAgent.cpp:
71404        (WebCore::PageRuntimeAgent::reportExecutionContextCreation):
71405        * inspector/ScriptCallStack.cpp:
71406        (WebCore::ScriptCallStack::buildInspectorArray):
71407        * inspector/ScriptCallStack.h:
71408        * loader/CrossOriginPreflightResultCache.h:
71409        * loader/DocumentLoader.cpp:
71410        (WebCore::cancelAll):
71411        (WebCore::setAllDefersLoading):
71412        (WebCore::DocumentLoader::getSubresources):
71413        * loader/DocumentLoader.h:
71414        * loader/FormState.h:
71415        * loader/FormSubmission.cpp:
71416        (WebCore::FormSubmission::create):
71417        * loader/ProgressTracker.h:
71418        * loader/ResourceLoadScheduler.h:
71419        * loader/TextTrackLoader.cpp:
71420        (WebCore::TextTrackLoader::getNewCues):
71421        (WebCore::TextTrackLoader::getNewRegions):
71422        * loader/TextTrackLoader.h:
71423        * loader/WorkerThreadableLoader.cpp:
71424        (WebCore::workerGlobalScopeDidReceiveData):
71425        (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData):
71426        * loader/appcache/ApplicationCache.cpp:
71427        (WebCore::ApplicationCache::removeResource):
71428        (WebCore::ApplicationCache::dump):
71429        * loader/appcache/ApplicationCache.h:
71430        * loader/appcache/ApplicationCacheStorage.cpp:
71431        (WebCore::ApplicationCacheStorage::getOriginsWithCache):
71432        * loader/archive/Archive.cpp:
71433        (WebCore::Archive::clearAllSubframeArchives):
71434        (WebCore::Archive::clearAllSubframeArchivesImpl):
71435        * loader/archive/Archive.h:
71436        (WebCore::Archive::subresources):
71437        (WebCore::Archive::subframeArchives):
71438        * loader/archive/ArchiveResourceCollection.cpp:
71439        (WebCore::ArchiveResourceCollection::addAllResources):
71440        * loader/archive/ArchiveResourceCollection.h:
71441        * loader/archive/cf/LegacyWebArchive.cpp:
71442        (WebCore::LegacyWebArchive::createPropertyListRepresentation):
71443        (WebCore::LegacyWebArchive::create):
71444        (WebCore::LegacyWebArchive::createFromSelection):
71445        * loader/archive/cf/LegacyWebArchive.h:
71446        * loader/archive/mhtml/MHTMLParser.h:
71447        * loader/cache/CachedResource.h:
71448        * loader/cache/CachedResourceLoader.h:
71449        * loader/cache/MemoryCache.h:
71450        * loader/icon/IconDatabase.cpp:
71451        (WebCore::IconDatabase::notifyPendingLoadDecisions):
71452        * loader/icon/IconDatabase.h:
71453        * page/CaptionUserPreferencesMediaAF.cpp:
71454        (WebCore::CaptionUserPreferencesMediaAF::sortedTrackListForMenu):
71455        * page/CaptionUserPreferencesMediaAF.h:
71456        * page/ChromeClient.h:
71457        (WebCore::ChromeClient::didAssociateFormControls):
71458        * page/Console.h:
71459        * page/ContentSecurityPolicy.h:
71460        * page/DOMWindow.cpp:
71461        (WebCore::DOMWindow::getMatchedCSSRules):
71462        * page/DeviceController.cpp:
71463        (WebCore::DeviceController::dispatchDeviceEvent):
71464        (WebCore::DeviceController::fireDeviceEvent):
71465        * page/DeviceController.h:
71466        * page/EditorClient.h:
71467        * page/EventHandler.cpp:
71468        (WebCore::EventHandler::handleTouchEvent):
71469        * page/EventHandler.h:
71470        * page/FrameView.cpp:
71471        (WebCore::FrameView::serviceScriptedAnimations):
71472        * page/Page.cpp:
71473        (WebCore::Page::findStringMatchingRanges):
71474        * page/Page.h:
71475        * page/PageGroup.h:
71476        * page/Performance.cpp:
71477        (WebCore::Performance::webkitGetEntriesByType):
71478        (WebCore::Performance::webkitGetEntriesByName):
71479        * page/Performance.h:
71480        * page/PerformanceEntryList.cpp:
71481        (WebCore::PerformanceEntryList::appendAll):
71482        * page/PerformanceEntryList.h:
71483        * page/SecurityOriginHash.h:
71484        * page/SecurityPolicy.cpp:
71485        * page/SpeechInputResult.h:
71486        * page/animation/AnimationController.cpp:
71487        (WebCore::AnimationControllerPrivate::fireEventsAndUpdateStyle):
71488        * page/animation/AnimationControllerPrivate.h:
71489        * page/animation/CSSPropertyAnimation.cpp:
71490        (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
71491        * page/animation/CompositeAnimation.h:
71492        * page/scrolling/ScrollingStateNode.cpp:
71493        (WebCore::ScrollingStateNode::appendChild):
71494        * page/scrolling/ScrollingStateNode.h:
71495        (WebCore::ScrollingStateNode::children):
71496        * page/scrolling/ScrollingThread.cpp:
71497        (WebCore::ScrollingThread::dispatchFunctionsFromScrollingThread):
71498        * page/scrolling/ScrollingThread.h:
71499        * page/scrolling/ScrollingTree.cpp:
71500        (WebCore::ScrollingTree::updateTreeFromStateNode):
71501        * page/scrolling/ScrollingTreeNode.cpp:
71502        (WebCore::ScrollingTreeNode::appendChild):
71503        * page/scrolling/ScrollingTreeNode.h:
71504        * page/scrolling/mac/ScrollingCoordinatorMac.mm:
71505        (WebCore::ScrollingCoordinatorMac::syncChildPositions):
71506        * platform/CrossThreadCopier.cpp:
71507        * platform/CrossThreadCopier.h:
71508        * platform/DragData.h:
71509        * platform/MainThreadTask.h:
71510        * platform/PODFreeListArena.h:
71511        (WebCore::PODFreeListArena::freeObject):
71512        (WebCore::PODFreeListArena::allocate):
71513        * platform/PODIntervalTree.h:
71514        * platform/PODRedBlackTree.h:
71515        (WebCore::PODRedBlackTree::PODRedBlackTree):
71516        * platform/PlatformSpeechSynthesizer.cpp:
71517        (WebCore::PlatformSpeechSynthesizer::voiceList):
71518        * platform/PlatformSpeechSynthesizer.h:
71519        * platform/RunLoop.h:
71520        * platform/ScrollView.cpp:
71521        (WebCore::ScrollView::frameRectsChanged):
71522        (WebCore::ScrollView::clipRectChanged):
71523        (WebCore::ScrollView::setParentVisible):
71524        (WebCore::ScrollView::show):
71525        (WebCore::ScrollView::hide):
71526        * platform/ScrollView.h:
71527        * platform/SharedBuffer.h:
71528        * platform/Supplementable.h:
71529        (WebCore::Supplement::provideTo):
71530        (WebCore::Supplementable::provideSupplement):
71531        * platform/URL.cpp:
71532        (WebCore::findHostnamesInMailToURL):
71533        (WebCore::encodeHostnames):
71534        * platform/audio/AudioBus.h:
71535        * platform/audio/AudioDSPKernelProcessor.h:
71536        * platform/audio/AudioResampler.h:
71537        * platform/audio/DynamicsCompressor.h:
71538        * platform/audio/DynamicsCompressorKernel.h:
71539        * platform/audio/HRTFDatabase.h:
71540        * platform/audio/HRTFKernel.h:
71541        * platform/audio/MultiChannelResampler.h:
71542        * platform/audio/Reverb.h:
71543        * platform/audio/ReverbConvolver.h:
71544        * platform/cf/SharedBufferCF.cpp:
71545        (WebCore::SharedBuffer::copyBufferAndClear):
71546        (WebCore::SharedBuffer::copySomeDataFromDataArray):
71547        * platform/graphics/FloatPolygon.cpp:
71548        (WebCore::FloatPolygon::FloatPolygon):
71549        * platform/graphics/FloatPolygon.h:
71550        * platform/graphics/FontCache.cpp:
71551        (WebCore::FontCache::getCachedFontData):
71552        (WebCore::FontCache::purgeInactiveFontData):
71553        * platform/graphics/GlyphMetricsMap.h:
71554        (WebCore::::locatePageSlowCase):
71555        * platform/graphics/GlyphPageTreeNode.h:
71556        * platform/graphics/GraphicsContext3D.h:
71557        * platform/graphics/GraphicsLayer.cpp:
71558        * platform/graphics/GraphicsLayer.h:
71559        * platform/graphics/PlatformTextTrackMenu.h:
71560        * platform/graphics/SimpleFontData.h:
71561        * platform/graphics/WidthCache.h:
71562        * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h:
71563        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
71564        (WebCore::MediaPlayerPrivateAVFoundation::processNewAndRemovedTextTracks):
71565        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
71566        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
71567        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
71568        (WebCore::MediaPlayerPrivateAVFoundationObjC::processLegacyClosedCaptionsTracks):
71569        (WebCore::MediaPlayerPrivateAVFoundationObjC::processMediaSelectionOptions):
71570        * platform/graphics/ca/GraphicsLayerCA.cpp:
71571        (WebCore::GraphicsLayerCA::setFilterAnimationKeyframes):
71572        (WebCore::GraphicsLayerCA::fetchCloneLayers):
71573        * platform/graphics/ca/GraphicsLayerCA.h:
71574        * platform/graphics/ca/PlatformCAAnimation.h:
71575        * platform/graphics/ca/PlatformCALayer.h:
71576        * platform/graphics/ca/mac/LayerPool.h:
71577        * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
71578        (PlatformCAAnimation::setValues):
71579        * platform/graphics/ca/mac/TileController.h:
71580        * platform/graphics/cg/SubimageCacheWithTimer.h:
71581        * platform/graphics/filters/CustomFilterParameterList.h:
71582        * platform/graphics/filters/FilterEffect.h:
71583        * platform/graphics/filters/FilterOperations.h:
71584        (WebCore::FilterOperations::operations):
71585        * platform/graphics/gpu/Texture.cpp:
71586        (WebCore::Texture::Texture):
71587        (WebCore::Texture::create):
71588        * platform/graphics/gpu/Texture.h:
71589        * platform/graphics/mac/ComplexTextController.h:
71590        * platform/graphics/mac/SimpleFontDataCoreText.cpp:
71591        (WebCore::SimpleFontData::getCFStringAttributes):
71592        * platform/graphics/transforms/TransformOperations.h:
71593        (WebCore::TransformOperations::operations):
71594        * platform/ios/PasteboardIOS.mm:
71595        (WebCore::documentFragmentWithRTF):
71596        * platform/mac/PlatformSpeechSynthesizerMac.mm:
71597        (-[WebSpeechSynthesisWrapper speakUtterance:WebCore::]):
71598        * platform/mediastream/MediaStreamDescriptor.h:
71599        * platform/mediastream/MediaStreamSource.h:
71600        * platform/mediastream/RTCConfiguration.h:
71601        * platform/network/BlobRegistryImpl.h:
71602        * platform/network/HTTPHeaderMap.h:
71603        * platform/network/ResourceResponseBase.cpp:
71604        (WebCore::ResourceResponseBase::parseCacheControlDirectives):
71605        (WebCore::parseCacheHeader):
71606        * platform/network/cf/ResourceHandleCFNet.cpp:
71607        (WebCore::clientCerts):
71608        (WebCore::ResourceHandle::createCFURLConnection):
71609        * platform/text/cf/HyphenationCF.cpp:
71610        (WebCore::::createValueForNullKey):
71611        (WebCore::::createValueForKey):
71612        (WebCore::cfLocaleCache):
71613        * plugins/PluginMainThreadScheduler.h:
71614        * rendering/HitTestResult.h:
71615        * rendering/InlineFlowBox.h:
71616        * rendering/RenderBlock.cpp:
71617        (WebCore::RenderBlock::paintContinuationOutlines):
71618        (WebCore::RenderBlock::removeFromTrackedRendererMaps):
71619        * rendering/RenderBlock.h:
71620        * rendering/RenderButton.h:
71621        * rendering/RenderCounter.cpp:
71622        * rendering/RenderGrid.cpp:
71623        (WebCore::RenderGrid::GridIterator::GridIterator):
71624        * rendering/RenderGrid.h:
71625        * rendering/RenderLayer.cpp:
71626        (WebCore::RenderLayer::updateDescendantsAreContiguousInStackingOrder):
71627        (WebCore::RenderLayer::rebuildZOrderLists):
71628        (WebCore::RenderLayer::collectLayers):
71629        * rendering/RenderLayer.h:
71630        * rendering/RenderNamedFlowThread.cpp:
71631        (WebCore::RenderNamedFlowThread::getRanges):
71632        * rendering/RenderNamedFlowThread.h:
71633        * rendering/RenderRegion.cpp:
71634        (WebCore::RenderRegion::getRanges):
71635        * rendering/RenderRegion.h:
71636        * rendering/RenderView.cpp:
71637        (WebCore::RenderView::selectionBounds):
71638        (WebCore::RenderView::setSelection):
71639        * rendering/RootInlineBox.h:
71640        * rendering/shapes/PolygonShape.cpp:
71641        (WebCore::computeShapePaddingBounds):
71642        (WebCore::computeShapeMarginBounds):
71643        * rendering/shapes/PolygonShape.h:
71644        (WebCore::PolygonShape::PolygonShape):
71645        * rendering/shapes/Shape.cpp:
71646        (WebCore::createPolygonShape):
71647        (WebCore::Shape::createShape):
71648        * rendering/shapes/ShapeInfo.h:
71649        * rendering/shapes/ShapeInterval.h:
71650        * rendering/style/QuotesData.cpp:
71651        (WebCore::QuotesData::create):
71652        (WebCore::QuotesData::QuotesData):
71653        * rendering/style/QuotesData.h:
71654        * rendering/style/RenderStyle.cpp:
71655        (WebCore::requireTransformOrigin):
71656        (WebCore::RenderStyle::applyTransform):
71657        * rendering/style/StyleGridData.h:
71658        * rendering/svg/RenderSVGResourceGradient.h:
71659        * rendering/svg/RenderSVGResourcePattern.h:
71660        * rendering/svg/SVGResourcesCache.h:
71661        * storage/StorageEventDispatcher.cpp:
71662        (WebCore::StorageEventDispatcher::dispatchSessionStorageEvents):
71663        (WebCore::StorageEventDispatcher::dispatchLocalStorageEvents):
71664        (WebCore::StorageEventDispatcher::dispatchSessionStorageEventsToFrames):
71665        (WebCore::StorageEventDispatcher::dispatchLocalStorageEventsToFrames):
71666        * storage/StorageEventDispatcher.h:
71667        * storage/StorageNamespaceImpl.h:
71668        * storage/StorageThread.h:
71669        * storage/StorageTracker.cpp:
71670        (WebCore::StorageTracker::origins):
71671        * storage/StorageTracker.h:
71672        * svg/SVGAnimatedPath.cpp:
71673        (WebCore::SVGAnimatedPathAnimator::startAnimValAnimation):
71674        * svg/SVGAnimatedTypeAnimator.cpp:
71675        (WebCore::SVGElementAnimatedProperties::SVGElementAnimatedProperties):
71676        (WebCore::SVGAnimatedTypeAnimator::findAnimatedPropertiesForAttributeName):
71677        * svg/SVGAnimatedTypeAnimator.h:
71678        * svg/SVGDocumentExtensions.cpp:
71679        (WebCore::SVGDocumentExtensions::startAnimations):
71680        (WebCore::SVGDocumentExtensions::dispatchSVGLoadEventToOutermostSVGElements):
71681        (WebCore::SVGDocumentExtensions::addPendingResource):
71682        (WebCore::SVGDocumentExtensions::isElementPendingResources):
71683        (WebCore::SVGDocumentExtensions::removeElementFromPendingResources):
71684        (WebCore::SVGDocumentExtensions::setOfElementsReferencingTarget):
71685        (WebCore::SVGDocumentExtensions::addElementReferencingTarget):
71686        (WebCore::SVGDocumentExtensions::rebuildAllElementReferencesForTarget):
71687        * svg/SVGDocumentExtensions.h:
71688        * svg/SVGFontElement.h:
71689        * svg/SVGGlyphMap.h:
71690        * svg/SVGMarkerElement.cpp:
71691        (WebCore::SVGMarkerElement::orientTypeAnimated):
71692        * svg/SVGMarkerElement.h:
71693        * svg/SVGPathSegList.h:
71694        * svg/animation/SMILTimeContainer.h:
71695        * svg/graphics/SVGImageCache.h:
71696        * svg/graphics/filters/SVGFilterBuilder.h:
71697        (WebCore::SVGFilterBuilder::addBuiltinEffects):
71698        * svg/properties/SVGAnimatedEnumerationPropertyTearOff.h:
71699        (WebCore::SVGAnimatedEnumerationPropertyTearOff::create):
71700        * svg/properties/SVGAnimatedListPropertyTearOff.h:
71701        (WebCore::SVGAnimatedListPropertyTearOff::create):
71702        * svg/properties/SVGAnimatedPropertyTearOff.h:
71703        (WebCore::SVGAnimatedPropertyTearOff::create):
71704        * svg/properties/SVGAnimatedStaticPropertyTearOff.h:
71705        (WebCore::SVGAnimatedStaticPropertyTearOff::create):
71706        * svg/properties/SVGAttributeToPropertyMap.cpp:
71707        (WebCore::SVGAttributeToPropertyMap::animatedPropertiesForAttribute):
71708        * svg/properties/SVGAttributeToPropertyMap.h:
71709        * svg/properties/SVGStaticListPropertyTearOff.h:
71710        (WebCore::SVGStaticListPropertyTearOff::create):
71711        * svg/properties/SVGTransformListPropertyTearOff.h:
71712        (WebCore::SVGTransformListPropertyTearOff::create):
71713        (WebCore::SVGTransformListPropertyTearOff::createSVGTransformFromMatrix):
71714        (WebCore::SVGTransformListPropertyTearOff::consolidate):
71715        * workers/DefaultSharedWorkerRepository.h:
71716        * workers/WorkerMessagingProxy.h:
71717        * xml/XMLHttpRequestProgressEventThrottle.cpp:
71718        (WebCore::XMLHttpRequestProgressEventThrottle::dispatchDeferredEvents):
71719        * xml/XMLHttpRequestProgressEventThrottle.h:
71720        * xml/XPathNodeSet.cpp:
71721        (WebCore::XPath::NodeSet::sort):
71722        (WebCore::XPath::NodeSet::traversalSort):
71723        * xml/XSLStyleSheet.h:
71724        * xml/parser/XMLDocumentParserLibxml2.cpp:
71725
717262013-10-18  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
71727
71728        Cleaning warning messages from StyleResolveTree
71729        https://bugs.webkit.org/show_bug.cgi?id=123030
71730
71731        Reviewed by Andreas Kling.
71732
71733        No new tests needed.
71734
71735        * style/StyleResolveTree.cpp:
71736        (WebCore::Style::elementInsideRegionNeedsRenderer):
71737        (WebCore::Style::createRendererIfNeeded):
71738
717392013-10-18  Brady Eidson  <beidson@apple.com>
71740
71741        Get rid of IDBFactoryBackendLevelDB and IDBTransactionBackendLevelDB in IDBDatabaseBackendLevelDB.
71742        https://bugs.webkit.org/show_bug.cgi?id=123039
71743
71744        Reviewed by Anders Carlsson.
71745
71746        Add a few concepts to the interfaces to make this work:
71747        * Modules/indexeddb/IDBFactoryBackendInterface.h:
71748        * Modules/indexeddb/IDBTransactionBackendInterface.h:
71749        (WebCore::IDBTransactionBackendInterface::id):
71750        (WebCore::IDBTransactionBackendInterface::IDBTransactionBackendInterface):
71751
71752        Adapt to using Interface ptr’s instead of LevelDB ptr’s:
71753        * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp:
71754        (WebCore::IDBDatabaseBackendLevelDB::create):
71755        (WebCore::IDBDatabaseBackendLevelDB::IDBDatabaseBackendLevelDB):
71756        (WebCore::IDBDatabaseBackendLevelDB::createObjectStore):
71757        (WebCore::IDBDatabaseBackendLevelDB::deleteObjectStore):
71758        (WebCore::IDBDatabaseBackendLevelDB::createIndex):
71759        (WebCore::IDBDatabaseBackendLevelDB::deleteIndex):
71760        (WebCore::IDBDatabaseBackendLevelDB::get):
71761        (WebCore::IDBDatabaseBackendLevelDB::put):
71762        (WebCore::IDBDatabaseBackendLevelDB::setIndexKeys):
71763        (WebCore::IDBDatabaseBackendLevelDB::setIndexesReady):
71764        (WebCore::IDBDatabaseBackendLevelDB::openCursor):
71765        (WebCore::IDBDatabaseBackendLevelDB::count):
71766        (WebCore::IDBDatabaseBackendLevelDB::deleteRange):
71767        (WebCore::IDBDatabaseBackendLevelDB::clear):
71768        (WebCore::IDBDatabaseBackendLevelDB::transactionStarted):
71769        (WebCore::IDBDatabaseBackendLevelDB::transactionFinished):
71770        (WebCore::IDBDatabaseBackendLevelDB::transactionFinishedAndAbortFired):
71771        (WebCore::IDBDatabaseBackendLevelDB::transactionFinishedAndCompleteFired):
71772        (WebCore::IDBDatabaseBackendLevelDB::runIntVersionChangeTransaction):
71773        * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.h:
71774
71775        * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
71776
71777        * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.cpp:
71778        (WebCore::IDBObjectStoreBackendLevelDB::makeIndexWriters):
71779        * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.h:
71780
71781        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp:
71782        (WebCore::IDBTransactionBackendLevelDB::IDBTransactionBackendLevelDB):
71783        (WebCore::IDBTransactionBackendLevelDB::abort):
71784        (WebCore::IDBTransactionBackendLevelDB::commit):
71785        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:
71786
717872013-10-18  Dean Jackson  <dino@apple.com>
71788
71789        Unable to upload <img src="foo.svg"> as WebGL texture
71790        https://bugs.webkit.org/show_bug.cgi?id=123035
71791
71792        Reviewed by Tim Horton.
71793
71794        If the HTMLImageElement passed to texture2D is an SVG
71795        image, paint it first into a bitmap buffer and upload that.
71796        Note that the SVG image still needs to have an intrinsic
71797        or explicit size - see how the test case must set width and
71798        height.
71799
71800        I also renamed the cache of ImageBuffers since it is
71801        no longer only being used for video frames.
71802
71803        Test: fast/canvas/webgl/tex-image-and-sub-image-2d-with-svg-image.html
71804
71805        * html/canvas/WebGLRenderingContext.cpp:
71806        (WebCore::WebGLRenderingContext::WebGLRenderingContext): Rename m_videoCache to m_generatedImageCache.
71807        (WebCore::WebGLRenderingContext::drawImageIntoBuffer): New method that creates an ImageBuffer
71808        of the appropriate size and renders into that.
71809        (WebCore::WebGLRenderingContext::texImage2D): If we see an SVG image, render it first.
71810        (WebCore::WebGLRenderingContext::videoFrameToImage): Renamed m_generatedImageCache.
71811        (WebCore::WebGLRenderingContext::texSubImage2D): If we see an SVG image, render it first.
71812        * html/canvas/WebGLRenderingContext.h: Renaming.
71813
718142013-10-18  Brady Eidson  <beidson@apple.com>
71815
71816        Move IDBTransactionBackend operations to the IDBTransactionBackend itself..
71817        https://bugs.webkit.org/show_bug.cgi?id=123028
71818
71819        Reviewed by Alexey Proskuryakov.
71820
71821        This gets rid of a big blob of LevelDB specific code from IDBDatabaseBackendLevelDB.cpp,
71822        bringing us much closer to having it be cross platform.
71823
71824        * CMakeLists.txt:
71825        * GNUmakefile.list.am:
71826
71827        * Modules/indexeddb/IDBTransactionBackendInterface.h: Added.
71828        (WebCore::IDBTransactionBackendInterface::~IDBTransactionBackendInterface):
71829
71830        * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp:
71831        (WebCore::IDBCursorBackendLevelDB::CursorAdvanceOperation::perform): Update for new method signature.
71832        (WebCore::IDBCursorBackendLevelDB::CursorIterationOperation::perform): Ditto.
71833        (WebCore::IDBCursorBackendLevelDB::CursorPrefetchIterationOperation::perform): Ditto.
71834
71835        * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp: Move all operations into
71836          IDBTransactionBackendLevelDBOperations, then start scheduling them using the new
71837          IDBTransactionBackendInterface scheduling methods.
71838        (WebCore::IDBDatabaseBackendLevelDB::createObjectStore):
71839        (WebCore::IDBDatabaseBackendLevelDB::deleteObjectStore):
71840        (WebCore::IDBDatabaseBackendLevelDB::createIndex):
71841        (WebCore::IDBDatabaseBackendLevelDB::deleteIndex):
71842        (WebCore::IDBDatabaseBackendLevelDB::get):
71843        (WebCore::IDBDatabaseBackendLevelDB::put):
71844        (WebCore::IDBDatabaseBackendLevelDB::setIndexesReady):
71845        (WebCore::IDBDatabaseBackendLevelDB::openCursor):
71846        (WebCore::IDBDatabaseBackendLevelDB::count):
71847        (WebCore::IDBDatabaseBackendLevelDB::deleteRange):
71848        (WebCore::IDBDatabaseBackendLevelDB::clear):
71849        (WebCore::IDBDatabaseBackendLevelDB::createTransaction):
71850        (WebCore::IDBDatabaseBackendLevelDB::runIntVersionChangeTransaction):
71851        * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.h: Move definitions of PendingOpenCall and
71852          PendingDeleteCall to the header.
71853        (WebCore::IDBDatabaseBackendLevelDB::PendingOpenCall::create):
71854        (WebCore::IDBDatabaseBackendLevelDB::PendingOpenCall::callbacks):
71855        (WebCore::IDBDatabaseBackendLevelDB::PendingOpenCall::databaseCallbacks):
71856        (WebCore::IDBDatabaseBackendLevelDB::PendingOpenCall::version):
71857        (WebCore::IDBDatabaseBackendLevelDB::PendingOpenCall::transactionId):
71858        (WebCore::IDBDatabaseBackendLevelDB::PendingOpenCall::PendingOpenCall):
71859        (WebCore::IDBDatabaseBackendLevelDB::PendingDeleteCall::create):
71860        (WebCore::IDBDatabaseBackendLevelDB::PendingDeleteCall::callbacks):
71861        (WebCore::IDBDatabaseBackendLevelDB::PendingDeleteCall::PendingDeleteCall):
71862
71863        * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.cpp: Add a newly required include.
71864        * Modules/indexeddb/leveldb/IDBTransactionCoordinatorLevelDB.cpp: Ditto.
71865
71866        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp: Implement the new interface to
71867          handle scheduling of operations in a cross platform manner, then rely on the new
71868          IDBTransactionBackendLevelDBOperations classes for the actual operations.
71869        (WebCore::IDBTransactionBackendLevelDB::create):
71870        (WebCore::IDBTransactionBackendLevelDB::IDBTransactionBackendLevelDB):
71871        (WebCore::IDBTransactionBackendLevelDB::abort):
71872        (WebCore::IDBTransactionBackendLevelDB::taskTimerFired):
71873        (WebCore::IDBTransactionBackendLevelDB::scheduleCreateObjectStoreOperation):
71874        (WebCore::IDBTransactionBackendLevelDB::scheduleDeleteObjectStoreOperation):
71875        (WebCore::IDBTransactionBackendLevelDB::scheduleVersionChangeOperation):
71876        (WebCore::IDBTransactionBackendLevelDB::scheduleCreateIndexOperation):
71877        (WebCore::IDBTransactionBackendLevelDB::scheduleDeleteIndexOperation):
71878        (WebCore::IDBTransactionBackendLevelDB::scheduleGetOperation):
71879        (WebCore::IDBTransactionBackendLevelDB::schedulePutOperation):
71880        (WebCore::IDBTransactionBackendLevelDB::scheduleSetIndexesReadyOperation):
71881        (WebCore::IDBTransactionBackendLevelDB::scheduleOpenCursorOperation):
71882        (WebCore::IDBTransactionBackendLevelDB::scheduleCountOperation):
71883        (WebCore::IDBTransactionBackendLevelDB::scheduleDeleteRangeOperation):
71884        (WebCore::IDBTransactionBackendLevelDB::scheduleClearOperation):
71885        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:
71886
71887        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.cpp: Added.
71888          Move all the LevelDB transaction operations from IDBDatabaseBackendLevelDB to here.
71889        (WebCore::CreateObjectStoreOperation::perform):
71890        (WebCore::CreateIndexOperation::perform):
71891        (WebCore::CreateIndexAbortOperation::perform):
71892        (WebCore::DeleteIndexOperation::perform):
71893        (WebCore::DeleteIndexAbortOperation::perform):
71894        (WebCore::GetOperation::perform):
71895        (WebCore::PutOperation::perform):
71896        (WebCore::SetIndexesReadyOperation::perform):
71897        (WebCore::OpenCursorOperation::perform):
71898        (WebCore::CountOperation::perform):
71899        (WebCore::DeleteRangeOperation::perform):
71900        (WebCore::ClearOperation::perform):
71901        (WebCore::DeleteObjectStoreOperation::perform):
71902        (WebCore::IDBDatabaseBackendLevelDB::VersionChangeOperation::perform):
71903        (WebCore::CreateObjectStoreAbortOperation::perform):
71904        (WebCore::DeleteObjectStoreAbortOperation::perform):
71905        (WebCore::IDBDatabaseBackendLevelDB::VersionChangeAbortOperation::perform):
71906        * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.h: Added.
71907        (WebCore::CreateObjectStoreOperation::create):
71908        (WebCore::CreateObjectStoreOperation::CreateObjectStoreOperation):
71909        (WebCore::DeleteObjectStoreOperation::create):
71910        (WebCore::DeleteObjectStoreOperation::DeleteObjectStoreOperation):
71911        (WebCore::IDBDatabaseBackendLevelDB::VersionChangeOperation::create):
71912        (WebCore::IDBDatabaseBackendLevelDB::VersionChangeOperation::VersionChangeOperation):
71913        (WebCore::CreateObjectStoreAbortOperation::create):
71914        (WebCore::CreateObjectStoreAbortOperation::CreateObjectStoreAbortOperation):
71915        (WebCore::DeleteObjectStoreAbortOperation::create):
71916        (WebCore::DeleteObjectStoreAbortOperation::DeleteObjectStoreAbortOperation):
71917        (WebCore::IDBDatabaseBackendLevelDB::VersionChangeAbortOperation::create):
71918        (WebCore::IDBDatabaseBackendLevelDB::VersionChangeAbortOperation::VersionChangeAbortOperation):
71919        (WebCore::CreateIndexOperation::create):
71920        (WebCore::CreateIndexOperation::CreateIndexOperation):
71921        (WebCore::CreateIndexAbortOperation::create):
71922        (WebCore::CreateIndexAbortOperation::CreateIndexAbortOperation):
71923        (WebCore::DeleteIndexOperation::create):
71924        (WebCore::DeleteIndexOperation::DeleteIndexOperation):
71925        (WebCore::DeleteIndexAbortOperation::create):
71926        (WebCore::DeleteIndexAbortOperation::DeleteIndexAbortOperation):
71927        (WebCore::GetOperation::create):
71928        (WebCore::GetOperation::GetOperation):
71929        (WebCore::PutOperation::create):
71930        (WebCore::PutOperation::PutOperation):
71931        (WebCore::SetIndexesReadyOperation::create):
71932        (WebCore::SetIndexesReadyOperation::SetIndexesReadyOperation):
71933        (WebCore::OpenCursorOperation::create):
71934        (WebCore::OpenCursorOperation::OpenCursorOperation):
71935        (WebCore::CountOperation::create):
71936        (WebCore::CountOperation::CountOperation):
71937        (WebCore::DeleteRangeOperation::create):
71938        (WebCore::DeleteRangeOperation::DeleteRangeOperation):
71939        (WebCore::ClearOperation::create):
71940        (WebCore::ClearOperation::ClearOperation):
71941
719422013-10-18  Beth Dakin  <bdakin@apple.com>
71943
71944        Rubber-banding is often not smooth on infinitely scrolling websites
71945        https://bugs.webkit.org/show_bug.cgi?id=122985
71946
71947        Reviewed by Simon Fraser.
71948
71949        totalContentsSize is an important part of the calculation for 
71950        maximumScrollPosition(). This function is called repeatedly throughout the curve 
71951        of a rubber-band to determine the stretch amount. To keep the rubber-band 
71952        animation smooth, it should be allowed to finish its animation using the old 
71953        totalContentsSize. This patch does that by adding a new variable, 
71954        m_totalContentsSizeForRubberBand. This value should almost always be equivalent to 
71955        m_totalContentsSize. It will only vary if m_totalContentsSize has changed in the 
71956        middle of a rubber-band, and in that case, it will stay equivalent to the old 
71957        totalContentSize value until the rubber band animation finishes.
71958
71959        * page/scrolling/ScrollingTreeScrollingNode.cpp:
71960        (WebCore::ScrollingTreeScrollingNode::updateBeforeChildren):
71961        * page/scrolling/ScrollingTreeScrollingNode.h:
71962        (WebCore::ScrollingTreeScrollingNode::totalContentsSizeForRubberBand):
71963        (WebCore::ScrollingTreeScrollingNode::setTotalContentsSizeForRubberBand):
71964        * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
71965        (WebCore::ScrollingTreeScrollingNodeMac::stopSnapRubberbandTimer):
71966        (WebCore::ScrollingTreeScrollingNodeMac::maximumScrollPosition):
71967
719682013-10-18  ChangSeok Oh  <changseok.oh@collabora.com>
71969
71970        Unreviewed build fix for --no-svg option.
71971        m_svgStyle of RenderStyle is guarded with the ENABLE_SVG flag.
71972
71973        * rendering/style/RenderStyle.cpp:
71974        (WebCore::RenderStyle::RenderStyle):
71975
719762013-10-17  Brady Eidson  <beidson@apple.com>
71977
71978        Cleanup the Modules group in the WebCore.xcodeproj
71979        https://bugs.webkit.org/show_bug.cgi?id=123009
71980
71981        Rubberstamped by Antti Koivisto.
71982
71983        * WebCore.xcodeproj/project.pbxproj:
71984
719852013-10-18  Denis Nomiyama  <d.nomiyama@samsung.com>
71986
71987        [ATK] Fix invalid signal to set objects to an unknown state "layout-complete"
71988        https://bugs.webkit.org/show_bug.cgi?id=122970
71989
71990        Reviewed by Mario Sanchez Prada.
71991
71992        Removed an invalid signal to set objects to an unknown state
71993        layout-complete. This signal was originally generated to notify DRT
71994        and WKTR in case of page load complete.
71995        It was replaced by ATK:AtkDocument:load-complete, which is already sent
71996        by AXObjectCache::frameLoadingEventPlatformNotification().
71997
71998        There is no new test since the changes are covered by existing ones
71999        (e.g. accessibility/loading-iframe-sends-notification.html).
72000
72001        * accessibility/atk/AXObjectCacheAtk.cpp:
72002        (WebCore::AXObjectCache::postPlatformNotification): Removed an invalid
72003        signal to set objects to an unknown state layout-complete.
72004
720052013-10-18  Carlos Garcia Campos  <cgarcia@igalia.com>
72006
72007        [GTK] Generate API documentation for GObject DOM bindings
72008        https://bugs.webkit.org/show_bug.cgi?id=121538
72009
72010        Reviewed by Gustavo Noronha Silva.
72011
72012        * bindings/gobject/GNUmakefile.am: Add a explicit rule for all
72013        .symbols file making them depend on the corresponding header file,
72014        since the .symbols file is generated by the bindings generator.
72015
720162013-10-18  Mario Sanchez Prada  <mario.prada@samsung.com>
72017
72018        [ATK] Simplify implementation of atk_text_get_text
72019        https://bugs.webkit.org/show_bug.cgi?id=122644
72020
72021        Reviewed by Chris Fleizach.
72022
72023        Simplified code so we only call textUnderElement() directly once
72024        and only when needed. Also, moved the specific code for ColorWell
72025        objects up to the beginning of that function, so we don't do any
72026        additional efforts like computing text ranges in those cases.
72027
72028        No new tests are needed, just to make sure that the current layout
72029        and unit tests are still passing, which they are.
72030
72031        * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
72032        (textForObject): Fixed a issue that got detected while working on
72033        this patch, which was causing a '\n' to be artificially appended
72034        at the end of text controls all the time.
72035        (webkitAccessibleTextGetText): Simplified function.
72036
72037        * accessibility/AccessibilityRenderObject.cpp:
72038        (WebCore::AccessibilityRenderObject::doAXStringForRange): Removed
72039        the check that prevents from pass ranges exceeding the limits of
72040        the element's text, since those will be checked anyway when
72041        calling String::substring().
72042
720432013-10-18  Brendan Long  <b.long@cablelabs.com>
72044
72045        [GStreamer][GTK] Add GRefPtr::outPtr()
72046        https://bugs.webkit.org/show_bug.cgi?id=122996
72047
72048        Reviewed by Philippe Normand.
72049
72050        No new tests because this is just simplifying existing code.
72051
72052        * platform/graphics/gstreamer/GRefPtrGStreamer.cpp: Add GRefPtr specialization for GstToc.
72053        * platform/graphics/gstreamer/GRefPtrGStreamer.h: Same.
72054        * platform/graphics/gstreamer/GStreamerGWorld.cpp: Use GRefPtr::outPtr() to simplify code.
72055        (WebCore::GStreamerGWorld::enterFullscreen):
72056        (WebCore::GStreamerGWorld::exitFullscreen):
72057        (WebCore::GStreamerGWorld::removePlatformVideoSink):
72058        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: Same.
72059        (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfText):
72060        (WebCore::MediaPlayerPrivateGStreamer::newTextSample):
72061        (WebCore::MediaPlayerPrivateGStreamer::processTableOfContents):
72062        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp: Same.
72063        (WebCore::MediaPlayerPrivateGStreamerBase::currentVideoSinkCaps):
72064        * platform/network/soup/ResourceHandleSoup.cpp: Same.
72065        (WebCore::HostTLSCertificateSet::computeCertificateHash):
72066
720672013-10-17  Alexey Proskuryakov  <ap@apple.com>
72068
72069        Don't add an include for return type of a [Custom] function in generated bindings code
72070        https://bugs.webkit.org/show_bug.cgi?id=122972
72071
72072        Reviewed by Sam Weinig.
72073
72074        * bindings/scripts/CodeGeneratorJS.pm: (GenerateImplementation): Don't.
72075
720762013-10-17  Andreas Kling  <akling@apple.com>
72077
72078        CTTE: RenderMathMLSpace always has a MathMLTextElement.
72079        <https://webkit.org/b/122992>
72080
72081        The renderer is never anonymous and always has a corresponding
72082        MathMLTextElement. Overload element() with a tighter return type.
72083
72084        Also marked the class FINAL and made most methods private.
72085
72086        Reviewed by Antti Koivisto.
72087
72088        * rendering/mathml/RenderMathMLSpace.cpp:
72089        (WebCore::RenderMathMLSpace::RenderMathMLSpace):
72090        (WebCore::RenderMathMLSpace::updateFromElement):
72091        * rendering/mathml/RenderMathMLSpace.h:
72092
720932013-10-17  Tim Horton  <timothy_horton@apple.com>
72094
72095        PlatformCALayer constructor should take layer type as an argument
72096        https://bugs.webkit.org/show_bug.cgi?id=122915
72097
72098        Reviewed by Anders Carlsson.
72099
72100        No new tests, just restoring old code.
72101
72102        Un-do part of the patch for bug 122915; we can't early-return
72103        in the constructor, there's still more work to do.
72104
72105        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
72106        (PlatformCALayerMac::PlatformCALayerMac):
72107
721082013-10-17  Alexandru Chiculita  <achicu@adobe.com>
72109
72110        Web Inspector: [CSS Regions] Crash when highlighting a node of a flow with no regions
72111        https://bugs.webkit.org/show_bug.cgi?id=122993
72112
72113        Reviewed by Joseph Pecoraro.
72114
72115        Test: inspector-protocol/dom/highlight-flow-with-no-region.html
72116
72117        Even if a named flow has no regions the content of the flow will still have renderer objects created.
72118        Removed the assumption that all renderers inside a RenderFlowThread will always have an enclosing RenderRegion.
72119
72120        * inspector/InspectorOverlay.cpp:
72121        (WebCore::buildObjectForRendererFragments):
72122        (WebCore::InspectorOverlay::buildObjectForHighlightedNode):
72123
721242013-10-17  Andreas Kling  <akling@apple.com>
72125
72126        CTTE: RenderMathMLOperator always has a MathMLElement.
72127        <https://webkit.org/b/122988>
72128
72129        Reviewed by Antti Koivisto.
72130
72131        The renderer is never anonymous and always has a corresponding
72132        MathMLElement. Overload element() with a tighter return type.
72133
72134        Also marked the class FINAL and made most methods private.
72135
721362013-10-17  Nico Weber  <thakis@chromium.org>
72137
72138        Fix three bugs in the equals() implementations for css gradients.
72139        https://bugs.webkit.org/show_bug.cgi?id=122987
72140
72141        Reviewed by Andreas Kling.
72142
72143        1. Linear gradients were considered equal if the first gradient has no x and y
72144           position and the second has no x but does have y.
72145        2. Same as 1, for radial gradients. (This doesn't happen in practice as
72146           CSSParser::parseRadialGradient rejects such input, so no test for this case.)
72147        3. Radial gradients without x and y position weren't considered equal even if
72148           they were.
72149
72150        * css/CSSGradientValue.cpp:
72151        (WebCore::CSSLinearGradientValue::equals):
72152        (WebCore::CSSRadialGradientValue::equals):
72153
721542013-10-17  Antoine Quint  <graouts@apple.com>
72155
72156        Web Inspector: allow front-end to trigger the system beep sound to signal an error
72157        https://bugs.webkit.org/show_bug.cgi?id=122955
72158
72159        Reviewed by Timothy Hatcher.
72160
72161        New beep() method exposed on InspectorFrontendHost calling into WebCore's systemBeep().
72162
72163        * inspector/InspectorFrontendHost.cpp:
72164        (WebCore::InspectorFrontendHost::beep):
72165        * inspector/InspectorFrontendHost.h:
72166        * inspector/InspectorFrontendHost.idl:
72167
721682013-10-17  Anders Carlsson  <andersca@apple.com>
72169
72170        Remove PlatformCAAnimation::supportsValueFunction()
72171        https://bugs.webkit.org/show_bug.cgi?id=122990
72172
72173        Reviewed by Tim Horton.
72174
72175        PlatformCAAnimation::supportsValueFunction always returns true now, so there's no need for it to exist anymore.
72176
72177        * platform/graphics/ca/GraphicsLayerCA.cpp:
72178        (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
72179        * platform/graphics/ca/PlatformCAAnimation.h:
72180        * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
72181        * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
72182
721832013-10-17  Andreas Kling  <akling@apple.com>
72184
72185        CTTE: RenderMathMLFenced always has a MathMLInlineContainerElement.
72186        <https://webkit.org/b/122986>
72187
72188        This renderer is never anonymous and always has a corresponding
72189        MathMLInlineContainerElement. Overload element() with a tighter
72190        return type.
72191
72192        Also marked the class FINAL and made most methods private.
72193
72194        Reviewed by Anders Carlsson.
72195
721962013-10-17  Myles C. Maxfield  <mmaxfield@apple.com>
72197
72198        Comment AffineTransform::xScale() and yScale() to make their meanings clearer
72199        https://bugs.webkit.org/show_bug.cgi?id=122981
72200
72201        Reviewed by Simon Fraser.
72202
72203        * platform/graphics/transforms/AffineTransform.h:
72204
722052013-10-17  Vivek Galatage  <vivek.vg@samsung.com>
72206
72207        Remove unnecessary check for RenderLayer and rename ensureLayer to createLayer in RenderLayerModelObject.
72208        https://bugs.webkit.org/show_bug.cgi?id=122928
72209
72210        Reviewed by Darin Adler.
72211
72212        No new tests due to code refactoring.
72213
72214        RenderLayerModelObject::styleDidChange invokes the ensureLayer() only in case of !layer().
72215        Again checking for layer existence would be deemed redundant in ensureLayer.
72216        Replacing it with an ASSERT(!m_layer) and also renaming it to createLayer.
72217
72218        Blink review URL: https://codereview.chromium.org/27246003/
72219
72220        * rendering/RenderLayerModelObject.cpp:
72221        (WebCore::RenderLayerModelObject::createLayer):
72222        (WebCore::RenderLayerModelObject::styleDidChange):
72223        * rendering/RenderLayerModelObject.h:
72224
722252013-10-17  Tim Horton  <timothy_horton@apple.com>
72226
72227        Remove PlatformCALayerMac workaround for <rdar://problem/7390716>
72228        https://bugs.webkit.org/show_bug.cgi?id=122983
72229
72230        Reviewed by Simon Fraser.
72231
72232        Remove a workaround for a bug fixed in Lion.
72233
72234        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
72235        (PlatformCALayerMac::setSublayers):
72236        (PlatformCALayerMac::removeAllSublayers):
72237        (PlatformCALayerMac::adoptSublayers):
72238
722392013-10-17  Robert Hogan  <robert@webkit.org>
72240
72241        "border-collapse: collapse;" for table removes part of its border (was: Border disappears when close to some elements)
72242        https://bugs.webkit.org/show_bug.cgi?id=8914
72243
72244        Reviewed by David Hyatt.
72245
72246        The table section's side of a collapsed border won't get painted if there are no cells there to paint it. So instead
72247        of relying solely on cells to paint the collapsed border paint the appropriate section of the border if there's no
72248        cell to take care of it.
72249
72250        Tests: fast/table/paint-section-borders-without-cells-rtl.html
72251               fast/table/paint-section-borders-without-cells-vertical-lr-rtl.html
72252               fast/table/paint-section-borders-without-cells-vertical-lr.html
72253               fast/table/paint-section-borders-without-cells-vertical-rl.html
72254               fast/table/paint-section-borders-without-cells.html
72255
72256        * rendering/RenderTableSection.cpp:
72257        (WebCore::RenderTableSection::paintRowGroupBorder):
72258        (WebCore::RenderTableSection::offsetLeftForRowGroupBorder):
72259        (WebCore::RenderTableSection::offsetTopForRowGroupBorder):
72260        (WebCore::RenderTableSection::verticalRowGroupBorderHeight):
72261        (WebCore::RenderTableSection::horizontalRowGroupBorderWidth):
72262        (WebCore::RenderTableSection::paintRowGroupBorderIfRequired):
72263        (WebCore::physicalBorderForDirection):
72264        (WebCore::RenderTableSection::paintObject):
72265        * rendering/RenderTableSection.h:
72266
722672013-10-17  Andreas Kling  <akling@apple.com>
72268
72269        StyleRuleFoo::mutableProperties() should return a reference.
72270        <https://webkit.org/b/122962>
72271
72272        The mutableProperties() functions always return objects, so make
72273        them return MutableStylePropertySet&.
72274
72275        Also tweaked the StyleRuleCSSStyleDeclaration constructor to take
72276        references to both the properties and the owner rule since both
72277        are required.
72278
72279        Reviewed by Antti Koivisto.
72280
722812013-10-17  Hans Muller  <hmuller@adobe.com>
72282
72283        [CSS Shapes] Improve the performance of image valued shapes with large shape-margins
72284        https://bugs.webkit.org/show_bug.cgi?id=122613
72285
72286        Reviewed by Andreas Kling.
72287
72288        The cost of computing the shape-margin boundary of an image-valued shape-outside
72289        is now proportional to (2 * shape-margin + image.height) rather than
72290        (2 * shape-margin * image.height). The performance improvement comes from skipping
72291        sequences of rounded-rectangle intervals that will not contribute to the final
72292        result. Each non-empty row in the original image contributes one rounded-rectangle
72293        whose corner radius is shape-margin, height is 2 * shape-margin, and width is
72294        2 * shape-margin plus the width of the limits of the intervals on the row.
72295
72296        Renamed private method RasterShape::getIntervals() to intervalsAt() to be a little
72297        more consistent with WebKit naming conventions.
72298
72299        There are no new tests since is just an internal refactoring.
72300
72301        * rendering/shapes/RasterShape.cpp:
72302        (WebCore::MarginIntervalGenerator::set): Changed the x1,x2 parameters to an IntShapeInterval.
72303        (WebCore::RasterShapeIntervals::contains): Refactor for the getIntervals() => intervalsAt() rename.
72304        (WebCore::RasterShapeIntervals::getIntervalX1Values): Ditto.
72305        (WebCore::RasterShapeIntervals::getIncludedIntervals): Ditto.
72306        (WebCore::RasterShapeIntervals::getExcludedIntervals): Ditto.
72307        (WebCore::RasterShapeIntervals::computeShapeMarginIntervals): Performance tuning.
72308        * rendering/shapes/RasterShape.h:
72309        (WebCore::RasterShapeIntervals::intervalsAt): Renamed getIntervals().
72310        (WebCore::RasterShapeIntervals::limitIntervalAt): Return the min/max limits of the intervals at Y.
72311        * rendering/shapes/ShapeInterval.h:
72312        (WebCore::ShapeInterval::isEmpty): Added.
72313
723142013-10-15  Philippe Normand  <pnormand@igalia.com>
72315
72316        [GTK] Add URLMediaStream in the build
72317        https://bugs.webkit.org/show_bug.cgi?id=122833
72318
72319        Reviewed by Carlos Garcia Campos.
72320
72321        * GNUmakefile.am: Add mediastream/gstreamer in include directories list.
72322        * GNUmakefile.list.am: Add DOMURLMediaStream files in the build.
72323
723242013-10-17  Andreas Kling  <akling@apple.com>
72325
72326        Use PassRef for constructing StylePropertySets.
72327        <https://webkit.org/b/122948>
72328
72329        Make functions that construct StylePropertySets return PassRef
72330        instead of PassRefPtr. Since they never return null, this gets rid
72331        of the extra branch in ~PassRefPtr everywhere.
72332
72333        Also StyleRule* classes now hold a Ref<StylePropertySet>, codifying
72334        the fact that they always have a property set.
72335
72336        Reviewed by Antti Koivisto.
72337
723382013-10-17  Andreas Kling  <akling@apple.com>
72339
72340        DataRef<T> should use Ref<T> internally.
72341        <https://webkit.org/b/122953>
72342
72343        DataRef is used to hold RenderStyle substructures, and due to the
72344        way style inheritance is implemented, DataRef will always point to
72345        a live object.
72346
72347        Codify this by making DataRef::m_data a Ref, and making all methods
72348        that create substructure objects return PassRef.
72349
72350        Reviewed by Antti Koivisto.
72351
723522013-10-17  Mihnea Ovidenie  <mihnea@adobe.com>
72353
72354        [CSS Regions] Anonymous nested regions
72355        https://bugs.webkit.org/show_bug.cgi?id=119135
72356
72357        Reviewed by David Hyatt.
72358
72359        Tests: fast/regions/table-caption-as-region.html
72360               fast/regions/table-cell-as-region.html
72361
72362        This patch allows any non-replaced block to behave like a region. When an element is styled with the
72363        -webkit-flow-from property, instead of making the renderer a RenderRegion, we let the original
72364        renderer be created the same way and we add a region as an anonymous child for the renderer.
72365        The anonymous block child, modeled by the new RenderNamedFlowFragment class, will be responsible
72366        for the fragmentation of the named flow thread content.
72367
72368        A RenderBlockFlow object will keep a reference to a RenderNamedFlowFragment(RenderRegion) inside its
72369        rare data structures.
72370
72371        Contains code contributed by Catalin Badea.
72372 
72373        * CMakeLists.txt:
72374        * GNUmakefile.list.am:
72375        * WebCore.vcxproj/WebCore.vcxproj:
72376        * WebCore.xcodeproj/project.pbxproj:
72377        * dom/Element.cpp: Changed to take the anonymous region into account.
72378        (WebCore::Element::renderRegion):
72379        (WebCore::Element::webkitGetRegionFlowRanges):
72380        * dom/WebKitNamedFlow.cpp: Ditto.
72381        (WebCore::WebKitNamedFlow::firstEmptyRegionIndex):
72382        (WebCore::WebKitNamedFlow::getRegionsByContent):
72383        (WebCore::WebKitNamedFlow::getRegions):
72384        * inspector/InspectorOverlay.cpp: Take into account the new model for regions, with an anonymous region inside a block.
72385        (WebCore::buildObjectForRegionHighlight):
72386        (WebCore::buildObjectForElementInfo):
72387        * rendering/RenderBlock.cpp:
72388        (WebCore::RenderBlock::computeShapeSize): For a render named flow fragment, there is no need to recompute the shape inside
72389        we can take it from the parent.
72390        (WebCore::RenderBlock::renderName): Make the block that contains a render named flow fragment (region) report RenderRegion.
72391        A future patch that will change this will need to rebase a lot of tests.
72392        * rendering/RenderBlockFlow.cpp:
72393        (WebCore::RenderBlockFlow::insertedIntoTree): Create the anonymous region if needed (change of -webkit-flow-from determines Node reattach).
72394        (WebCore::RenderBlockFlow::willBeDestroyed): Clean-up the anonymous region if necessary.
72395        (WebCore::RenderBlockFlow::clearFloats): Small style change to make sure that check-webkit-style reports 0 failures on RenderBlockFlow.cpp.
72396        (WebCore::RenderBlockFlow::layoutBlock):
72397        (WebCore::RenderBlockFlow::styleDidChange): Update the style of the anonymous region too.
72398        (WebCore::RenderBlockFlow::createRenderNamedFlowFragmentIfNeeded): Helper function to create the anonymous region
72399        and to add it as a child to the block.
72400        (WebCore::RenderBlockFlow::canHaveChildren):
72401        (WebCore::RenderBlockFlow::canHaveGeneratedChildren):
72402        (WebCore::RenderBlockFlow::namedFlowFragmentNeedsUpdate): Force a layout of the anonymous region if the
72403        parent block has percentage height (similar to RenderBlock::updateBlockChildDirtyBitsBeforeLayout)
72404        (WebCore::RenderBlockFlow::updateLogicalHeight): Update the logical height of anonymous region when the height of parent is updated.
72405        (WebCore::RenderBlockFlow::setRenderNamedFlowFragment):
72406        * rendering/RenderBlockFlow.h:
72407        (WebCore::RenderBlockFlow::RenderBlockFlowRareData::RenderBlockFlowRareData):
72408        (WebCore::RenderBlockFlow::renderNamedFlowFragment):
72409        * rendering/RenderElement.cpp:
72410        (WebCore::RenderElement::createFor): Remove the direct creation of RenderRegion objects since they will be
72411        created as anonymous children of block flow objects.
72412        * rendering/RenderElement.h:
72413        (WebCore::RenderElement::generatingElement): Account for anonymous region if necessary.
72414        * rendering/RenderFlowThread.cpp:
72415        (WebCore::RenderFlowThread::adjustedPositionRelativeToOffsetParent): Take anonymous region into account
72416        and use the anonymous region parent offset/border.
72417        * rendering/RenderLayer.cpp:
72418        (WebCore::RenderLayer::shouldBeNormalFlowOnly): Check for style instead of isRenderRegion since
72419        the parent of the anonymous region will get the layer.
72420        * rendering/RenderListItem.cpp:
72421        (WebCore::RenderListItem::insertedIntoTree): Call RenderBlockFlow method instead.
72422        * rendering/RenderNamedFlowFragment.cpp: Added. Model the behaviour of the anonymous region.
72423        Has RenderRegion as a base class.
72424        (WebCore::RenderNamedFlowFragment::RenderNamedFlowFragment):
72425        (WebCore::RenderNamedFlowFragment::~RenderNamedFlowFragment):
72426        (WebCore::RenderNamedFlowFragment::setStyleForNamedFlowFragment):
72427        (WebCore::RenderNamedFlowFragment::styleDidChange):
72428        (WebCore::RenderNamedFlowFragment::shouldHaveAutoLogicalHeight):
72429        (WebCore::RenderNamedFlowFragment::maxPageLogicalHeight):
72430        * rendering/RenderNamedFlowFragment.h: Added.
72431        (WebCore::RenderNamedFlowFragment::isPseudoElementRegion):
72432        (WebCore::RenderNamedFlowFragment::renderName):
72433        (WebCore::toRenderNamedFlowFragment):
72434        * rendering/RenderObject.cpp:
72435        (WebCore::RenderObject::isRenderNamedFlowFragmentContainer):
72436        * rendering/RenderObject.h:
72437        (WebCore::RenderObject::isRenderNamedFlowFragment):
72438        * rendering/RenderRegion.h:
72439        * rendering/RenderTableCaption.cpp: Call RenderBlockFlow method instead.
72440        (WebCore::RenderTableCaption::insertedIntoTree):
72441        * rendering/RenderTreeAsText.cpp:
72442        (WebCore::write):
72443        (WebCore::writeRenderRegionList):
72444        * rendering/shapes/ShapeInfo.h:
72445        (WebCore::ShapeInfo::shapeSize):
72446        * style/StyleResolveTree.cpp:
72447        (WebCore::Style::elementInsideRegionNeedsRenderer):
72448
724492013-10-17  Krzysztof Czech  <k.czech@samsung.com>
72450
72451        [EFL] Properly expose tables in accessibility
72452        https://bugs.webkit.org/show_bug.cgi?id=122894
72453
72454        Reviewed by Chris Fleizach.
72455
72456        All tables should exposed as tables.
72457
72458        * accessibility/AccessibilityTable.cpp:
72459        (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
72460        (WebCore::AccessibilityTable::addChildren):
72461        * accessibility/AccessibilityTableColumn.cpp:
72462        (WebCore::AccessibilityTableColumn::computeAccessibilityIsIgnored):
72463        * accessibility/AccessibilityTableHeaderContainer.cpp:
72464        (WebCore::AccessibilityTableHeaderContainer::computeAccessibilityIsIgnored):
72465
724662013-10-17  Brendan Long  <b.long@cablelabs.com>
72467
72468        [GStreamer] Too many arguments for format in WebKitWebAudioSourceGStreamer.cpp
72469        https://bugs.webkit.org/show_bug.cgi?id=122932
72470
72471        Reviewed by Philippe Normand.
72472
72473        No new tests because this just fixes a build warning.
72474
72475        * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
72476        (webKitWebAudioSrcLoop): Add another %s for the second part of the pad name.
72477
724782013-10-16  Tim Horton  <timothy_horton@apple.com>
72479
72480        Attempt to fix the Windows build after http://trac.webkit.org/changeset/157547.
72481
72482        The relevant conversion doesn't happen implicitly.
72483
72484        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
72485        (WebCore::MediaPlayerPrivateFullscreenWindow::setRootChildLayer):
72486        (WebCore::MediaPlayerPrivateFullscreenWindow::wndProc):
72487
724882013-10-16  Tim Horton  <timothy_horton@apple.com>
72489
72490        Attempt to fix the Windows build after http://trac.webkit.org/changeset/157547.
72491
72492        Apparently some Windows code uses setFrame and I missed it.
72493
72494        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
72495        (WebCore::MediaPlayerPrivateFullscreenWindow::setRootChildLayer):
72496        (WebCore::MediaPlayerPrivateFullscreenWindow::wndProc):
72497
724982013-10-16  Tim Horton  <timothy_horton@apple.com>
72499
72500        Remote Layer Tree: Complete support for simple layer properties
72501        https://bugs.webkit.org/show_bug.cgi?id=122933
72502
72503        Reviewed by Anders Carlsson.
72504
72505        No new tests, not yet testable.
72506
72507        * platform/graphics/ca/GraphicsLayerCA.cpp:
72508        (WebCore::GraphicsLayerCA::setName):
72509        Don't dump the CALayer pointer if we own a PlatformCALayerRemote.
72510
72511        (WebCore::GraphicsLayerCA::recursiveCommitChanges):
72512        Fix the visible tile wash (my fault!), and make it use setPosition and
72513        setBounds instead of setFrame; while more convenient, it is the only
72514        caller of setFrame, so we'll remove it.
72515
72516        * platform/graphics/ca/PlatformCALayer.h:
72517        (WebCore::PlatformCALayer::isRemote): Added.
72518
72519        * platform/graphics/ca/mac/PlatformCALayerMac.h:
72520        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
72521        (nullActionsDictionary):
72522        (toCAFilterType):
72523        (PlatformCALayerMac::synchronouslyDisplayTilesInRect):
72524        (PlatformCALayerMac::playerLayer):
72525        Remove setFrame, fix some pointer sides.
72526
72527        * platform/graphics/ca/win/PlatformCALayerWin.cpp:
72528        * platform/graphics/ca/win/PlatformCALayerWin.h:
72529        Remove setFrame.
72530
725312013-10-16  Andreas Kling  <akling@apple.com>
72532
72533        Take RenderObjects out of the arena.
72534        <https://webkit.org/b/122895>
72535
72536        Reviewed by Antti Koivisto.
72537
72538        Stop arena-allocating renderers so we can move forward on improving
72539        render tree memory management. This will also allow rendering code
72540        to take advantage of malloc optimizations.
72541
72542        Line boxes and BiDi runs remain in the arena for now.
72543
725442013-10-16  Roger Fong  <roger_fong@apple.com>
72545
72546        [Windows] Speculative fix for test, media/video-canvas-drawing-output.html.
72547
72548        * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
72549        (WebCore::AVFWrapper::createImageForTimeInRect):
72550
725512013-10-16  Tim Horton  <timothy_horton@apple.com>
72552
72553        PlatformCALayer constructor should take layer type as an argument
72554        https://bugs.webkit.org/show_bug.cgi?id=122915
72555
72556        Reviewed by Simon Fraser.
72557
72558        No new tests, just a minor refactoring.
72559
72560        * platform/graphics/ca/PlatformCALayer.h:
72561        (WebCore::PlatformCALayer::PlatformCALayer):
72562        Add a LayerType argument.
72563
72564        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
72565        (PlatformCALayerMac::PlatformCALayerMac):
72566        * platform/graphics/ca/win/PlatformCALayerWin.cpp:
72567        (PlatformCALayerWin::PlatformCALayerWin):
72568        Use the new LayerType argument, and early-return in the case where we
72569        are wrapping a custom PlatformLayer.
72570        Drive-by un-indent the switch in the Mac version.
72571
725722013-10-15  Brady Eidson  <beidson@apple.com>
72573
72574        Flesh out the DatabaseProcess (and launch it!)
72575        https://bugs.webkit.org/show_bug.cgi?id=122884
72576
72577        Reviewed by Tim Horton.
72578
72579        * English.lproj/Localizable.strings: Add a localizable string.
72580        * WebCore.xcodeproj/project.pbxproj: Export some more headers.
72581
725822013-10-16  Tim Horton  <timothy_horton@apple.com>
72583
72584        RemoteLayerTree: Add support for more layer properties and transform layers
72585        https://bugs.webkit.org/show_bug.cgi?id=122906
72586
72587        Reviewed by Anders Carlsson.
72588
72589        No new tests, this code is not yet testable.
72590
72591        * WebCore.exp.in:
72592        Export some TextStream and TransformationMatrix stuff.
72593
725942013-10-16  KyungTae Kim  <ktf.kim@samsung.com>
72595
72596        During editing, merge inline style with overriding other author styles
72597        https://bugs.webkit.org/show_bug.cgi?id=122874
72598
72599        Reviewed by Ryosuke Niwa.
72600
72601        Inline styles need to override other author styles even on DoNotOverrideValues mode.
72602        So, merge and override inline styles to other author styles before merging them to m_mutableStyle.
72603
72604        Test: editing/deleting/merge-div-with-inline-style.html
72605
72606        * editing/EditingStyle.cpp:
72607        (WebCore::EditingStyle::mergeInlineAndImplicitStyleOfElement):
72608
726092013-10-16  peavo@outlook.com  <peavo@outlook.com>
72610
72611        Emphasis marks has wrong color.
72612        https://bugs.webkit.org/show_bug.cgi?id=122829
72613
72614        Reviewed by Antti Koivisto.
72615
72616        Tests: fast/text/text-emphasis.html.
72617               fast/text/text-emphasis-expected.html.
72618
72619        Emphasis color should be set as fill color, not stroke color.
72620
72621        * rendering/TextPaintStyle.cpp:
72622        (WebCore::updateGraphicsContext):
72623        * rendering/TextPaintStyle.h:
72624
726252013-10-16  Antti Koivisto  <antti@apple.com>
72626
72627        Move code for finding rendered character offset to RenderTextLineBoxes
72628        https://bugs.webkit.org/show_bug.cgi?id=122892
72629
72630        Reviewed by Andreas Kling.
72631
72632        * rendering/RenderText.cpp:
72633        (WebCore::RenderText::countRenderedCharacterOffsets):
72634        (WebCore::RenderText::containsRenderedCharacterOffset):
72635        
72636            Renamed for consistency.
72637
72638        * rendering/RenderTextLineBoxes.cpp:
72639        (WebCore::RenderTextLineBoxes::countCharacterOffsets):
72640        
72641            This used to be Position::renderedPosition.
72642
726432013-10-16  Andreas Kling  <akling@apple.com>
72644
72645        RenderElement::removeChild() should take child as a reference.
72646        <https://webkit.org/b/122888>
72647
72648        We can't remove a child without a child to remove.
72649
72650        Reviewed by Antti Koivisto.
72651
726522013-10-16  Antti Koivisto  <antti@apple.com>
72653
72654        Move test for contained caret offset to RenderTextLineBoxes
72655        https://bugs.webkit.org/show_bug.cgi?id=122887
72656
72657        Reviewed by Andreas Kling.
72658
72659        * dom/Position.cpp:
72660        (WebCore::Position::renderedOffset):
72661        (WebCore::Position::isCandidate):
72662        
72663            Remove isRenderedText, call RenderText::containsCaretOffset instead.
72664
72665        (WebCore::Position::isRenderedCharacter):
72666        (WebCore::Position::rendersInDifferentPosition):
72667        * dom/Position.h:
72668        * dom/PositionIterator.cpp:
72669        (WebCore::PositionIterator::isCandidate):
72670        * rendering/InlineTextBox.cpp:
72671        * rendering/InlineTextBox.h:
72672        * rendering/RenderText.cpp:
72673        (WebCore::RenderText::containsCharacterOffset):
72674        (WebCore::RenderText::containsCaretOffset):
72675        * rendering/RenderText.h:
72676        * rendering/RenderTextLineBoxes.cpp:
72677        (WebCore::RenderTextLineBoxes::containsOffset):
72678        
72679            Combined implementations of Position::isRenderedCharacter and Position::isRenderedText.
72680
72681        * rendering/RenderTextLineBoxes.h:
72682        
72683            Remove containsCaretOffset(), functionality is now in RenderTextLineBoxes::containsOffset.
72684
726852013-10-16  Andreas Kling  <akling@apple.com>
72686
72687        RenderElement::isChildAllowed() should take const references.
72688        <https://webkit.org/b/122870>
72689
72690        Reviewed by Anders Carlsson.
72691
72692        The isChildAllowed() functions expect non-null values to be passed,
72693        so enforce this at compile-time.
72694
72695        Reordered some checks to do bit tests before virtual calls.
72696
726972013-10-15  Philippe Normand  <pnormand@igalia.com>
72698
72699        [GStreamer] video info unset if upstream doesn't query allocation
72700        https://bugs.webkit.org/show_bug.cgi?id=122834
72701
72702        Reviewed by Gustavo Noronha Silva.
72703
72704        * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
72705        (webkitVideoSinkRender): If the sink didn't process any allocation
72706        query then use the configured source pad caps and don't rely on
72707        invalid video info.
72708
727092013-10-16  Philippe Normand  <pnormand@igalia.com>
72710
72711        [GStreamer] move Logging.h include to GStreamerUtilities.h
72712        https://bugs.webkit.org/show_bug.cgi?id=122886
72713
72714        Reviewed by Gustavo Noronha Silva.
72715
72716        Include Logging.h from GStreamerUtilities.h so the modules using
72717        the LOG_MEDIA macros don't need to bother, especially for Debug builds.
72718
72719        * platform/graphics/gstreamer/GStreamerUtilities.h:
72720        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
72721        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
72722
727232013-10-16  Mark Rowe  <mrowe@apple.com>
72724
72725        Fix the build after r157478.
72726
72727        Rubber-stamped by Tim Horton.
72728
72729        Due to the way WebCore.exp.in is used, it can't be used to export a differing set of symbols
72730        for different architectures. We often work around this by tweaking code slightly to avoid
72731        needing to export different symbols. However, in this case the symbol name itself encodes an
72732        architecture-specific detail and there's no clear way to avoid the requirement to export it.
72733
72734        To deal with this case we turn to ld's support for wildcards in the symbol export list.
72735
72736        * WebCore.exp.in: Use wildcards in place of the number that represents by how much "this"
72737        should be adjusted when calling through the vtable thunk. Also sort the remainder of the file.
72738        * make-export-file-generator: Don't attempt to verify symbol names that contain wildcard characters.
72739
727402013-10-15  Tim Horton  <timothy_horton@apple.com>
72741
72742        Two more exports for 32-bit build fix.
72743        The duality of CGFloat means that we use a different
72744        version of getRGBA (and the cast operator)
72745        on 32-bit systems.
72746
72747        * WebCore.exp.in:
72748
727492013-10-15  Tim Horton  <timothy_horton@apple.com>
72750
72751        Another shot at a build fix; apparently these
72752        do need exporting for some reason, but are different
72753        on 32-bit.
72754
72755        * WebCore.exp.in:
72756
727572013-10-15  Alexey Proskuryakov  <ap@apple.com>
72758
72759        GenerateIsReachable=ImplContext is confusing
72760        https://bugs.webkit.org/show_bug.cgi?id=122864
72761
72762        Reviewed by Geoffrey Garen.
72763
72764        Renamed to ImplWebGLRenderingContext.
72765
72766        * bindings/scripts/CodeGeneratorJS.pm:
72767        (GenerateImplementation):
72768        * bindings/scripts/IDLAttributes.txt:
72769        * html/canvas/EXTDrawBuffers.idl:
72770        * html/canvas/EXTTextureFilterAnisotropic.idl:
72771        * html/canvas/OESElementIndexUint.idl:
72772        * html/canvas/OESStandardDerivatives.idl:
72773        * html/canvas/OESTextureFloat.idl:
72774        * html/canvas/OESTextureHalfFloat.idl:
72775        * html/canvas/OESVertexArrayObject.idl:
72776        * html/canvas/WebGLCompressedTextureATC.idl:
72777        * html/canvas/WebGLCompressedTexturePVRTC.idl:
72778        * html/canvas/WebGLCompressedTextureS3TC.idl:
72779        * html/canvas/WebGLDebugRendererInfo.idl:
72780        * html/canvas/WebGLDebugShaders.idl:
72781        * html/canvas/WebGLDepthTexture.idl:
72782        * html/canvas/WebGLLoseContext.idl:
72783
72784        * WebCore.xcodeproj/project.pbxproj: While at it, added OESElementIndexUint.idl
72785        to Xcode project.
72786
727872013-10-15  Tim Horton  <timothy_horton@apple.com>
72788
72789        Unreviewed build fix; I don't know how to export.
72790        This may not help.
72791
72792        * WebCore.exp.in:
72793
727942013-10-15  Dean Jackson  <dino@apple.com>
72795
72796        Add ENABLE_WEB_ANIMATIONS flag
72797        https://bugs.webkit.org/show_bug.cgi?id=122871
72798
72799        Reviewed by Tim Horton.
72800
72801        Eventually might be http://dev.w3.org/fxtf/web-animations/
72802        but this is just engine-internal work at the moment.
72803
72804        * Configurations/FeatureDefines.xcconfig:
72805
728062013-10-15  Tim Horton  <timothy_horton@apple.com>
72807
72808        Add a PlatformCALayer subclass that proxies its property changes across the process boundary
72809        https://bugs.webkit.org/show_bug.cgi?id=122773
72810
72811        Reviewed by Anders Carlsson.
72812
72813        No new tests, the new drawing area is not yet testable.
72814
72815        * WebCore.exp.in:
72816        Export lots of GraphicsLayerCA stuff so we can inherit from it in WebKit2.
72817
72818        * WebCore.xcodeproj/project.pbxproj:
72819        Make PlatformCAFilters.h a private header.
72820
72821        * platform/graphics/GraphicsLayer.h:
72822        (WebCore::GraphicsLayer::initialize):
72823        * platform/graphics/ca/GraphicsLayerCA.cpp:
72824        (WebCore::GraphicsLayer::create):
72825        (WebCore::GraphicsLayerCA::GraphicsLayerCA):
72826        (WebCore::GraphicsLayerCA::initialize):
72827        * platform/graphics/ca/GraphicsLayerCA.h:
72828        Defer creation of the main PlatformCALayer until just after the constructor is finished
72829        so that GraphicsLayerCA subclasses can successfully override createPlatformCALayer.
72830
72831        * platform/graphics/ca/PlatformCALayer.h:
72832        (WebCore::PlatformCALayer::platformLayer):
72833        Make platformLayer virtual so that subclasses which don't have PlatformLayers can override.
72834
728352013-10-14  Ryosuke Niwa  <rniwa@webkit.org>
72836
72837        REGRESSION: Crash in XMLDocumentParser::startElementNs
72838        https://bugs.webkit.org/show_bug.cgi?id=122817
72839
72840        Reviewed by Darin Adler.
72841
72842        Exit early in startElementNs when listeners and handlers of synchronous events such as load event
72843        removes the inserted node inside parserAppendChild.
72844
72845        Test: fast/parser/xhtml-synchronous-detach-crash.html
72846
72847        * xml/parser/XMLDocumentParserLibxml2.cpp:
72848        (WebCore::XMLDocumentParser::startElementNs):
72849
728502013-10-15  Joseph Pecoraro  <pecoraro@apple.com>
72851
72852        Web Inspector: Remove old frontend localizedStrings.js
72853        https://bugs.webkit.org/show_bug.cgi?id=122846
72854
72855        Reviewed by Timothy Hatcher.
72856
72857        * Configurations/WebCore.xcconfig:
72858        * English.lproj/localizedStrings.js: Removed.
72859        * WebCore.xcodeproj/project.pbxproj:
72860        Remove the file and references to it. We no longer need to exclude
72861        localizedString.js from some builds.
72862
728632013-10-15  Joseph Pecoraro  <pecoraro@apple.com>
72864
72865        Web Inspector: Remove Windows old front-end related code
72866        https://bugs.webkit.org/show_bug.cgi?id=122845
72867
72868        Reviewed by Brent Fulgham.
72869
72870        * WebCore.vcxproj/copyWebCoreResourceFiles.cmd:
72871
728722013-10-15  Morten Stenshorne  <mstensho@opera.com>
72873
72874        Add support for the column-fill property
72875        https://bugs.webkit.org/show_bug.cgi?id=117693
72876
72877        Reviewed by David Hyatt.
72878
72879        This is only supported in the (new) region based multicol implementation.
72880
72881        With column-fill support, a lot of multicol tests needed an update.
72882        The old implementation behaved as if column-fill were 'auto', but the
72883        initial value is 'balance', so now we need to be explicit about that.
72884        For auto-height tests it doesn't really matter - such multicols are always
72885        balanced anyway.
72886
72887        Tests: fast/multicol/newmulticol/fixed-height-fill-auto.html
72888               fast/multicol/newmulticol/fixed-height-fill-balance.html
72889
72890        * css/CSSComputedStyleDeclaration.cpp:
72891        (WebCore::ComputedStyleExtractor::propertyValue):
72892        * css/CSSParser.cpp:
72893        (WebCore::isValidKeywordPropertyAndValue):
72894        (WebCore::isKeywordPropertyID):
72895        (WebCore::CSSParser::parseValue):
72896        * css/CSSPrimitiveValueMappings.h:
72897        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
72898        (WebCore::CSSPrimitiveValue::operator ColumnFill):
72899        * css/CSSPropertyNames.in:
72900        * css/CSSValueKeywords.in:
72901        * css/DeprecatedStyleBuilder.cpp:
72902        (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
72903        * rendering/RenderMultiColumnBlock.h:
72904        * rendering/style/RenderStyle.h:
72905        * rendering/style/RenderStyleConstants.h:
72906        * rendering/style/StyleMultiColData.cpp:
72907        (WebCore::StyleMultiColData::StyleMultiColData):
72908        (WebCore::StyleMultiColData::operator==):
72909        * rendering/style/StyleMultiColData.h:
72910
729112013-10-15  Andreas Kling  <akling@apple.com>
72912
72913        Skip unnecessary null check in RenderText::textLength().
72914        <https://webkit.org/b/122841>
72915
72916        Reviewed by Antti Koivisto.
72917
72918        RenderText will never have a null String in m_text, so textLength()
72919        can grab at the StringImpl directly, avoiding a null check.
72920
729212013-10-15  Andreas Kling  <akling@apple.com>
72922
72923        FontGenericFamilies should not be ref-counted.
72924        <https://webkit.org/b/122835>
72925
72926        Reviewed by Anders Carlsson.
72927
72928        FontGenericFamilies is singly-owned by Settings.
72929
729302013-10-15  Zoltan Horvath  <zoltan@webkit.org>
72931
72932        [CSS Shapes] Move RenderBlock::layoutShapeInsideInfo into RenderBlock.cpp
72933        http://bugs.webkit.org/show_bug.cgi?id=122843
72934
72935        Reviewed by Oliver Hunt.
72936
72937        Historically, layoutShapeInsideInfo was a static function in RenderBlockLineLayout, then it has changed to be a member of RenderBlock,
72938        but at that time it hasn't been moved to RenderBlock.cpp. This patch moves it into RenderBlock.cpp next to the Shapes functions. I removed
72939        an unnecessary CSS_SHAPES #ifdef as well from RenderBlock.cpp.
72940
72941        No new tests, no behavior change.
72942
72943        * rendering/RenderBlock.cpp:
72944        (WebCore::RenderBlock::markShapeInsideDescendantsForLayout):
72945        (WebCore::RenderBlock::layoutShapeInsideInfo):
72946        * rendering/RenderBlockLineLayout.cpp:
72947
729482013-10-15  peavo@outlook.com  <peavo@outlook.com>
72949
72950        [WinCairo] Build fails.
72951        https://bugs.webkit.org/show_bug.cgi?id=122830
72952
72953        Reviewed by Brent Fulgham.
72954
72955        * platform/network/NetworkStorageSessionStub.cpp:
72956        (WebCore::NetworkStorageSession::createPrivateBrowsingSession): Update to new return type.
72957
729582013-10-15  Andreas Kling  <akling@apple.com>
72959
72960        FileIconLoader should not be ref-counted.
72961        <https://webkit.org/b/122827>
72962
72963        FileIconLoader is singly-owned by FileInputType.
72964
72965        Reviewed by Antti Koivisto.
72966
729672013-10-15  Andreas Kling  <akling@apple.com>
72968
72969        RenderText should cache RenderStyle in locals more.
72970        <https://webkit.org/b/122823>
72971
72972        Reviewed by Antti Koivisto.
72973
72974        Now that fetching the RenderStyle has to go through the parent,
72975        we should avoid unnecessary loads by caching style() in a local.
72976
729772013-10-15  Ryosuke Niwa  <rniwa@webkit.org>
72978
72979        Remove redundant Document::getElementById
72980        https://bugs.webkit.org/show_bug.cgi?id=122813
72981
72982        Reviewed by Andreas Kling.
72983
72984        Merge https://chromium.googlesource.com/chromium/blink/+/4e8f1c5316415614b84370c602beae4a1008299f
72985
72986        This function simply calls virtual TreeScope::getElementById and Document inherits from TreeScope.
72987
72988        * WebCore.exp.in:
72989        * dom/Document.cpp:
72990        * dom/Document.h:
72991
729922013-10-14  Santosh Mahto  <santosh.ma@samsung.com>
72993
72994        in safari,the background-color of input[type="search"] can't work
72995        https://bugs.webkit.org/show_bug.cgi?id=119967
72996
72997        Reviewed by Ryosuke Niwa.
72998
72999        When input type=search is styled with css background property then
73000        it does not change the background-color of field. Its happening becasue
73001        search field is not counted as styled control. Thus theme ignores the 
73002        css background property. With this patch search field is also counted as 
73003        styled control so background property reflects on search field.
73004
73005        Test: fast/forms/search/search-field-background-color.html
73006
73007        * rendering/RenderTheme.cpp:
73008        (WebCore::RenderTheme::isControlStyled):Now search field is also
73009        a styled control.
73010
730112013-10-14  Ryosuke Niwa  <rniwa@webkit.org>
73012
73013        EventPath::updateTouchLists traverses through EventPath thrice
73014        https://bugs.webkit.org/show_bug.cgi?id=122804
73015
73016        Reviewed by Benjamin Poulain.
73017
73018        Instead of traversing through EventPath for each TouchList, traverse through TouchList for every EventContext.
73019        This paves our way to have one-pass traversal over EventPath, and evetually to remove EventContext altogether.
73020
73021        This change should also improve the cache hit rate since all Touch objects tend to be allocated at the same time
73022        but this performance improvement is probably not observable.
73023
73024        * dom/EventContext.h:
73025        * dom/EventDispatcher.cpp:
73026        (WebCore::EventRelatedNodeResolver::EventRelatedNodeResolver): Added a new constructor that takes Touch and
73027        and TouchListType. We need to store these two values in order to update EventContext later.
73028        (WebCore::EventRelatedNodeResolver::touch): Added,
73029        (WebCore::EventRelatedNodeResolver::touchListType): Added.
73030        (WebCore::addRelatedNodeResolversForTouchList): Extracted from updateTouchListsInEventPath.
73031        (WebCore::EventPath::updateTouchLists): Moved the loop over m_path here. Notice that the outer loop iterates
73032        over m_path instead of touchList as done in updateTouchListsInEventPath. The inner loop goes through resolvers
73033        and adds Touch objects each EventContext as needed.
73034
730352013-10-14  Alexey Proskuryakov  <ap@apple.com>
73036
73037        Don't generate a wasteful isObservable check in isReachableFromOpaqueRoots
73038        https://bugs.webkit.org/show_bug.cgi?id=122802
73039
73040        Reviewed by Mark Hahnenberg.
73041
73042        * bindings/scripts/CodeGeneratorJS.pm: (GenerateImplementation): Don't.
73043
73044        * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
73045        * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
73046        * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
73047        * bindings/scripts/test/JS/JSTestEventTarget.cpp:
73048        * bindings/scripts/test/JS/JSTestException.cpp:
73049        * bindings/scripts/test/JS/JSTestInterface.cpp:
73050        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
73051        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
73052        * bindings/scripts/test/JS/JSTestObj.cpp:
73053        * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
73054        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
73055        * bindings/scripts/test/JS/JSTestTypedefs.cpp:
73056        * bindings/scripts/test/JS/JSattribute.cpp:
73057        * bindings/scripts/test/JS/JSreadonly.cpp:
73058        Updated results.
73059
730602013-10-14  Samuel White  <samuel_white@apple.com>
73061
73062        AX: fieldset should have GroupRole and legend should be description.
73063        https://bugs.webkit.org/show_bug.cgi?id=122534
73064
73065        Reviewed by Chris Fleizach.
73066
73067        Changes fieldset to derive AXDescription from legend if one is available. Added
73068        convenience method to AccessibilityObject to fetch element if available.
73069
73070        Test: accessibility/fieldset-element.html
73071
73072        * accessibility/AccessibilityNodeObject.cpp:
73073        (WebCore::AccessibilityNodeObject::canHaveChildren):
73074        (WebCore::AccessibilityNodeObject::alternativeText):
73075        * accessibility/AccessibilityObject.cpp:
73076        (WebCore::AccessibilityObject::element):
73077        (WebCore::AccessibilityObject::isARIAHidden):
73078        (WebCore::AccessibilityObject::isDOMHidden):
73079        (WebCore::AccessibilityObject::defaultObjectInclusion):
73080        * accessibility/AccessibilityObject.h:
73081        (WebCore::AccessibilityObject::isHidden):
73082        * accessibility/AccessibilitySlider.cpp:
73083        (WebCore::AccessibilitySlider::getAttribute):
73084        (WebCore::AccessibilitySlider::valueForRange):
73085        (WebCore::AccessibilitySlider::maxValueForRange):
73086        (WebCore::AccessibilitySlider::minValueForRange):
73087        (WebCore::AccessibilitySlider::setValue):
73088        (WebCore::AccessibilitySlider::inputElement):
73089        * accessibility/AccessibilitySlider.h:
73090        * accessibility/mac/AccessibilityObjectMac.mm:
73091        (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
73092        * html/HTMLFieldSetElement.cpp:
73093        (WebCore::HTMLFieldSetElement::legend):
73094        * html/HTMLFieldSetElement.h:
73095
730962013-10-14  Roger Fong  <roger_fong@apple.com>
73097
73098        Windows select element doesn't draw RTL properly.
73099        https://bugs.webkit.org/show_bug.cgi?id=122785.
73100
73101        Reviewed by Brent Fulgham.
73102
73103        Covered by fast/text/international/pop-up-button-text-alignment-and-direction.html.
73104
73105        Problems include the popup items not drawing on the right hand side and 
73106        not respecting the direction or the directional override styling of the option.
73107        The selected element (drawn in the actual select element) also doesn't respect 
73108        the style settings of the selected menu option.
73109
73110        * platform/win/PopupMenuWin.cpp:
73111        (WebCore::PopupMenuWin::paint):
73112
731132013-10-14  Roger Fong  <roger_fong@apple.com>
73114
73115        [Windows] Unreviewed build fix.
73116
73117        * WebCore.vcxproj/WebCoreCommon.props:
73118
731192013-10-14  Ryosuke Niwa  <rniwa@webkit.org>
73120
73121        Crash in WebCore::BidiResolver<WebCore::InlineIterator, WebCore::BidiRun>::createBidiRunsForLine
73122        https://bugs.webkit.org/show_bug.cgi?id=122776
73123
73124        Reviewed by Darin Adler.
73125
73126        Merge https://chromium.googlesource.com/chromium/blink/+/aca89bc4d984705a1f94b623dae0ab03e239a248
73127
73128        Fix modification of whitespace endpoints to not assume it's operating on RenderTexts
73129
73130        During line layout, we use midpoints to identify RenderObjects, or parts of
73131        RenderObjects, that don't need InlineBoxes, usually because of collapsed whitespace.
73132
73133        Prior to actually creating BidiRuns (the precursor to InlineBoxes), we use
73134        checkMidpoints to fix up our lineMidpointState to handle the case where we start
73135        ignoring spaces in our line, but don't stop until somewhere on the following line.
73136        Previously, this function assumed that the final midpoint (called an endpoint)
73137        was a RenderText, but this assumption is wrong if we have a beginning midpoint
73138        created by shouldSkipWhitespaceAfterStartObject (which handles inlines and list
73139        markers) and no endpoint on that line. In that case, we'd instead adjust the
73140        position backwards on the beginning midpoint, which would cause us to fail to
73141        create an InlineBox for the inline or list marker. In the new test added, this
73142        would actually trigger a crash due to an assumption when visually re-ordering
73143        BidiRuns that a non-empty line would actually contain at least one such run.
73144
73145        Test: fast/text/whitespace/whitespace-and-margin-wrap-after-list-marker-crash.html
73146
73147        * rendering/RenderBlockLineLayout.cpp:
73148        (WebCore::checkMidpoints):
73149
731502013-10-14  Ryosuke Niwa  <rniwa@webkit.org>
73151
73152        Assertion failure in Range::processContentsBetweenOffsets
73153        https://bugs.webkit.org/show_bug.cgi?id=122777
73154
73155        Reviewed by Darin Adler.
73156
73157        Merge https://chromium.googlesource.com/chromium/blink/+/c15de182774c7859c20d97126eb844ae97b792a4
73158
73159        This patch changes ASSERT statements for checking |endOffset| inbound in Range::processContentsBetweenOffsets()
73160        to limit |endOffset|. This is necessary when DOMNodeRemovedFromDocument event handler splits text nodes,
73161        Range::insertNode() on text node, in the range calling Range::deleteContents().
73162
73163        Test: fast/dom/Range/range-delete-contents-mutation-event-crash.html
73164
73165        * dom/Range.cpp:
73166        (WebCore::Range::processContentsBetweenOffsets):
73167
731682013-10-14  Alexey Proskuryakov  <ap@apple.com>
73169
73170        Add an empty window.crypto.webkitSubtle
73171        https://bugs.webkit.org/show_bug.cgi?id=122778
73172
73173        Reviewed by Mark Hahnenberg.
73174
73175        Tests: security/crypto-subtle-gc-2.html
73176               security/crypto-subtle-gc-3.html
73177               security/crypto-subtle-gc.html
73178
73179        * DerivedSources.make: Process SubtleCrypto.idl.
73180
73181        * crypto: Added.
73182        * WebCore.xcodeproj/project.pbxproj:
73183        * CMakeLists.txt:
73184        * DerivedSources.make:
73185        * GNUmakefile.am:
73186        * GNUmakefile.list.am:
73187        * WebCore.vcxproj/WebCore.vcxproj.filters:
73188
73189        * bindings/js/JSSubtleCryptoCustom.cpp: Added. Empty for now, but we'll certainly
73190        need custom bindings code here.
73191
73192        * crypto/SubtleCrypto.cpp: Added.
73193        (WebCore::SubtleCrypto::SubtleCrypto):
73194        (WebCore::SubtleCrypto::document):
73195        * crypto/SubtleCrypto.h: Added.        
73196        * crypto/SubtleCrypto.idl: Added.
73197        * page/Crypto.cpp:
73198        (WebCore::Crypto::subtle):
73199        * page/Crypto.h:
73200        * page/Crypto.idl:
73201
732022013-10-14  Nick Diego Yamane  <nick.yamane@openbossa.org>
73203
73204        Remove GestureEvent leftovers from WebCore
73205        <https://webkit.org/b/122780>
73206
73207        Reviewed by Anders Carlsson.
73208
73209        - Removed some remaining references to PlatformGestureEvent, supposed to
73210          be removed by r157316
73211        - TOUCH_ADJUSTMENT should be reworked after GestureEvent feature
73212          removal
73213
73214        * page/EventHandler.cpp:
73215        (WebCore::EventHandler::bestZoomableAreaForTouchPoint):
73216        * page/EventHandler.h:
73217        * platform/PlatformEvent.h:
73218        * platform/ScrollAnimatorNone.cpp:
73219        * platform/ScrollableArea.h:
73220
732212013-10-14  Nick Diego Yamane  <nick.yamane@openbossa.org>
73222
73223        Build fix after r157366
73224        http://bugs.webkit.org/show_bug.cgi?id=122783
73225
73226        When TOUCH_AJUSTMENT is enabled build fails due to some
73227        refactors in TextRender functions.
73228
73229        Reviewed by Anders Carlsson.
73230
73231        * page/TouchAdjustment.cpp:
73232        (WebCore::TouchAdjustment::appendContextSubtargetsForNode):
73233
732342013-10-14  Alexandru Chiculita  <achicu@adobe.com>
73235
73236        The content of the DOM panel for iframes is not updated until the "onload" event
73237        https://bugs.webkit.org/show_bug.cgi?id=122653
73238
73239        Reviewed by Darin Adler.
73240
73241        Test: http/tests/inspector-protocol/loading-iframe-document-node.html
73242
73243        Renamed InspectorDOMAgent::loadEventFired to InspectorDOMAgent::didCommitLoad and moved the call site
73244        from InspectorInstrumentation::loadEventFiredImpl to InspectorInstrumentation::didCommitLoadImpl.
73245        This is to make sure that it will invalidate the content of the iframe as soon as the frame navigates
73246        to a different page. This way the new node can be retrieved as soon as the page has some content, and
73247        not just when the page is fully loaded.
73248
73249        * inspector/InspectorDOMAgent.cpp:
73250        (WebCore::InspectorDOMAgent::didCommitLoad): Renamed from loadEventFired, as it is now called from
73251        didCommitLoadImpl instead.
73252        (WebCore::InspectorDOMAgent::frameDocumentUpdated): Updated comment to point to the new function name.
73253        * inspector/InspectorDOMAgent.h:
73254        * inspector/InspectorInstrumentation.cpp:
73255        (WebCore::InspectorInstrumentation::loadEventFiredImpl): Removed call do InspectorDOMAgent.loadEventFired.
73256        (WebCore::InspectorInstrumentation::didCommitLoadImpl): Added call to InspectorDOMAgent.didCommitLoad.
73257
732582013-10-14  Roger Fong  <roger_fong@apple.com>
73259
73260        https://bugs.webkit.org/show_bug.cgi?id=122774.
73261        <rdar://problem/6138855>.
73262
73263        Reviewed by Brent Fulgham.
73264
73265        Add a field to keep track of hovered over index.
73266        Use index to determine whether or not to use the existing selected index on the mouse down event.
73267
73268        * platform/win/PopupMenuWin.cpp:
73269        (WebCore::PopupMenuWin::PopupMenuWin):
73270        (WebCore::PopupMenuWin::show):
73271        (WebCore::PopupMenuWin::wndProc):
73272        * platform/win/PopupMenuWin.h:
73273
732742013-10-14  Tim Horton  <timothy_horton@apple.com>
73275
73276        Virtualize PlatformCALayer
73277        https://bugs.webkit.org/show_bug.cgi?id=122672
73278
73279        Reviewed by Anders Carlsson.
73280
73281        No new tests, just a refactoring.
73282
73283        * WebCore.exp.in:
73284        setGeometryFlipped is on PlatformCALayerMac now.
73285
73286        * WebCore.vcxproj/WebCore.vcxproj:
73287        * WebCore.vcxproj/WebCore.vcxproj.filters:
73288        Add PlatformCALayer.cpp, PlatformCALayerWin.h, and let VS do its
73289        thing with some other files.
73290
73291        * WebCore.xcodeproj/project.pbxproj:
73292        Add PlatformCALayer.cpp and PlatformCALayerMac.h.
73293
73294        * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
73295        (WebCore::AVFWrapper::platformLayer):
73296        Make a PlatformCALayerWin explicitly.
73297
73298        * platform/graphics/ca/GraphicsLayerCA.cpp:
73299        (WebCore::GraphicsLayerCA::createPlatformCALayer):
73300        Added. Decide whether to make a PlatformCALayer{Mac, Win} based on the platform.
73301        Later, we will decide between other subclasses based on other things.
73302
73303        (WebCore::GraphicsLayerCA::filtersCanBeComposited):
73304        Do the same thing for filtersCanBeComposited.
73305
73306        (WebCore::GraphicsLayerCA::GraphicsLayerCA):
73307        (WebCore::GraphicsLayerCA::setContentsToSolidColor):
73308        (WebCore::GraphicsLayerCA::setContentsToMedia):
73309        (WebCore::GraphicsLayerCA::setContentsToCanvas):
73310        (WebCore::GraphicsLayerCA::recursiveCommitChanges):
73311        (WebCore::GraphicsLayerCA::ensureStructuralLayer):
73312        (WebCore::GraphicsLayerCA::updateContentsImage):
73313        (WebCore::GraphicsLayerCA::updateContentsRects):
73314        (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
73315        Use createPlatformCALayer instead of PlatformCALayer::create.
73316
73317        * platform/graphics/ca/mac/PlatformCAFiltersMac.mm:
73318        For now, use the PlatformCALayerMac version of filtersCanBeComposited,
73319        since this code is heavily tied to having CALayers in the Web process.
73320
73321        * platform/graphics/ca/GraphicsLayerCA.h:
73322        Include PlatformCALayer.h here so we can get the LayerType enum.
73323        (NOTE-to-be-removed: if there's a better way to do this, I'm open to
73324        suggestions; I couldn't puzzle out nested 'enum class' stuff).
73325
73326        Add the createPlatformCALayers.
73327
73328        * platform/graphics/ca/PlatformCAAnimation.h:
73329        Friend the subclasses too.
73330
73331        * platform/graphics/ca/PlatformCALayer.cpp: Added.
73332        (WebCore::PlatformCALayer::~PlatformCALayer):
73333        Pull the shared part of the PlatformCALayer destructor out.
73334
73335        * platform/graphics/ca/PlatformCALayer.h:
73336        (WebCore::PlatformCALayer::platformLayer):
73337        (WebCore::PlatformCALayer::setOwner):
73338        (WebCore::PlatformCALayer::PlatformCALayer):
73339        Virtualize all the things. Move platform specific members to their new subclasses.
73340
73341        * platform/graphics/ca/mac/PlatformCALayerMac.h: Added.
73342        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
73343        Move the PLATFORM(MAC) implementations from PlatformCALayer to PlatformCALayerMac.
73344
73345        (PlatformCALayer::platformCALayer):
73346        The platformCALayer lookup function is static on PlatformCALayer, so it can't
73347        be moved to the subclasses. It might be a good idea in the future to move towards
73348        a platform-independent mechanism for looking up PlatformCALayers from PlatformLayers,
73349        and to avoid needing to do this as often as we do now.
73350
73351        * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
73352        (WebCore::CACFLayerTreeHost::CACFLayerTreeHost):
73353        * platform/graphics/ca/win/PlatformCALayerWin.cpp:
73354        Move the PLATFORM(WIN) implementations from PlatformCALayer to PlatformCALayerWin.
73355
73356        (PlatformCALayerWin::create):
73357        (PlatformCALayer::platformCALayer):
73358
73359        * platform/graphics/ca/win/PlatformCALayerWin.h: Added.
73360
73361        * platform/graphics/win/GraphicsContext3DWin.cpp:
73362        (WebCore::GraphicsContext3D::GraphicsContext3D):
73363        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
73364        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::createLayerForMovie):
73365        Include PlatformCALayerWin.h and explicitly make PlatformCALayerWins here.
73366
733672013-10-14  Hugo Parente Lima  <hugo.lima@openbossa.org>
73368
73369        [cmake] MediaControlsApple is used only by Efl port and is on CMakeLists.txt
73370        https://bugs.webkit.org/show_bug.cgi?id=122772
73371
73372        Reviewed by Anders Carlsson.
73373
73374        * CMakeLists.txt: Removed MediaControlsApple.cpp
73375        * PlatformEfl.cmake: Added MediaControlsApple.cpp
73376
733772013-10-14  Alexey Proskuryakov  <ap@apple.com>
73378
73379        window.crypto doesn't preserve custom properties
73380        https://bugs.webkit.org/show_bug.cgi?id=122770
73381
73382        Reviewed by Mark Hahnenberg.
73383
73384        Test: security/crypto-gc.html
73385
73386        Generate isReachableFromOpaqueRoots that makes Crypto live as long as the document
73387        lives (because that's when it's observable through window object).
73388
73389        * page/Crypto.cpp:
73390        (WebCore::Crypto::Crypto):
73391        (WebCore::Crypto::~Crypto):
73392        (WebCore::Crypto::document):
73393        * page/Crypto.h:
73394        (WebCore::Crypto::create):
73395        Made Crypto a ContextDestructionObserver, so that it can report its document to bindings.
73396        Removed ScriptWrappable, because it seems to have served no purpose in this class.
73397
73398        * page/Crypto.idl: Added GenerateIsReachable. Removed ImplementationLacksVTable,
73399        because the class now has a vtable, and can be checked for bindings integrity.
73400
73401        * page/DOMWindow.cpp: (WebCore::DOMWindow::crypto): Pass a document when creating
73402        crypto.
73403
734042013-10-14  Andreas Kling  <akling@apple.com>
73405
73406        CTTE: NamedNodeMap always has a corresponding Element.
73407        <https://webkit.org/b/122769>
73408
73409        Reviewed by Anders Carlsson.
73410
73411        Made NamedNodeMap::m_element a reference and remove an assertion
73412        that it's never null.
73413
734142013-10-14  Andreas Kling  <akling@apple.com>
73415
73416        REGRESSION(r157408): Crashes in RenderFullScreen::wrapRenderer().
73417
73418        Unreviewed crash fix for these two tests:
73419
73420        - fullscreen/full-screen-restrictions.html
73421        - fullscreen/empty-anonymous-block-continuation-crash.html
73422
73423        * rendering/RenderFullScreen.cpp:
73424        (RenderFullScreen::wrapRenderer):
73425
73426            Get the RenderArena from Document like we did before this patch.
73427
734282013-10-14  Hans Muller  <hmuller@adobe.com>
73429
73430        [CSS Shapes] Image valued shape-outside shapes should update the layout after the image has been loaded
73431        https://bugs.webkit.org/show_bug.cgi?id=122340
73432
73433        Reviewed by Simon Fraser.
73434
73435        Ensure that the an image-valued shape-outside layout is updated after the image has
73436        been loaded.
73437
73438        Test: http/tests/css/css-image-valued-shape.html
73439
73440        * rendering/RenderBlock.cpp:
73441        (WebCore::RenderBlock::imageChanged): Added code for the shape-outside case.
73442        (WebCore::RenderBlock::updateShapeInsideInfoAfterStyleChange): Ditto.
73443        * rendering/RenderElement.cpp:
73444        (WebCore::RenderElement::~RenderElement): Ditto.
73445        (WebCore::RenderElement::setStyle): Ditto.
73446
734472013-10-14  Andreas Kling  <akling@apple.com>
73448
73449        Remove some silly null checks in Element/NamedNodeMap.
73450        <https://webkit.org/b/122767>
73451
73452        Reviewed by Darin Adler.
73453
73454        Make shouldIgnoreAttributeCase() take a const Element&, exposing
73455        some unnecessary null checks.
73456
734572013-10-14  Brent Fulgham  <bfulgham@apple.com>
73458
73459        [Win] Build fix after r122737.
73460
73461        * dom/Node.h: Add explicit WebCore namespace to macro definition to work around
73462        Visual Studio bug.
73463
734642013-10-14  Andreas Kling  <akling@apple.com>
73465
73466        Pass Document directly to anonymous renderer constructors.
73467        <https://webkit.org/b/122752>
73468
73469        Reviewed by Antti Koivisto.
73470
73471        Added separate constructors for creating anonymous renderers that
73472        take a Document& instead of a null Element*/Text*.
73473
73474        Removed setDocumentForAnonymous() and all createAnonymous() helpers.
73475        ...and RenderObject::m_node is now a Node&, wohoo!
73476
734772013-10-13  Sam Weinig  <sam@webkit.org>
73478
73479        CTTE: Add more node conversion helpers
73480        https://bugs.webkit.org/show_bug.cgi?id=122737
73481
73482        Reviewed by Darin Adler.
73483
73484        - Factor NODE_TYPE_CASTS into TYPE_CASTS_BASE(ToClassName, FromClassName)
73485          to allow for DOCUMENT_TYPE_CASTS.
73486        - Replace more static_casts<>.
73487
734882013-10-14  Zan Dobersek  <zdobersek@igalia.com>
73489
73490        Reintroduce PassRefPtr<Event> copy in ScopedEventQueue::dispatchEvent
73491        https://bugs.webkit.org/show_bug.cgi?id=122742
73492
73493        Reviewed by Alexey Proskuryakov.
73494
73495        This is a follow-up to r157219 which introduced a workaround for the GCC's quirky behavior that
73496        was resulting in crashes due to the PassRefPtr<Event> object passed to EventDispatcher::dispatchEvent
73497        being copied and nullified first before retrieving the EventTarget of the Event object wrapped in that
73498        PassRefPtr.
73499
73500        The implementation is now adjusted to first retrieve the pointer to the Event's EventTarget and store
73501        it in a local variable. That variable is then passed as the first parameter to EventDispatcher::dispatchEvent,
73502        and the PassRefPtr<Event> passed directly as the second parameter. Previously the pointer of that PassRefPtr
73503        object was passed in, with a new PassRefPtr being created which would increase the reference count of the
73504        ref-counted object. Passing in the original PassRefPtr avoids the unnecessary reference count increase by creating
73505        a copy. That still nullifies the original PassRefPtr, but that's not a problem anymore.
73506
73507        * dom/ScopedEventQueue.cpp:
73508        (WebCore::ScopedEventQueue::dispatchEvent):
73509
735102013-10-14  Bear Travis  <betravis@adobe.com>
73511
73512        [CSS Shapes] Shape-Margin should be animatable
73513        https://bugs.webkit.org/show_bug.cgi?id=122524
73514
73515        Reviewed by Darin Adler.
73516
73517        Mark content for relayout after shape-margin changes, and add shape-margin
73518        to the list of animatable properties.
73519
73520        Tests: fast/shapes/shape-outside-floats/shape-outside-dynamic-shape-margin.html
73521               fast/shapes/shape-outside-floats/shape-outside-shape-margin-animation.html
73522
73523        * page/animation/CSSPropertyAnimation.cpp:
73524        (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap): Add
73525        shape-margin to the map of animatable CSS properties.
73526        * rendering/RenderBox.cpp:
73527        (WebCore::RenderBox::updateShapeOutsideInfoAfterStyleChange): Compare shape-margins,
73528        and mark dependent content for relayout if they have changed.
73529
735302013-10-14  Arvid Nilsson  <anilsson@blackberry.com>
73531
73532        Don't crash after OpenGL robustness reset
73533        https://bugs.webkit.org/show_bug.cgi?id=122750
73534
73535        Reviewed by George Staikos.
73536
73537        JIRA 517132.
73538        Just log the incident and pretend like nothing happened.
73539
73540        No new tests, we don't have repeatable steps to reproduce a robustness
73541        reset.
73542
73543        * platform/graphics/blackberry/LayerRenderer.cpp:
73544        (WebCore::LayerRenderer::makeContextCurrent):
73545
735462013-10-14  Krzysztof Czech  <k.czech@samsung.com>
73547
73548        [EFL] Buildfix after r157393
73549        https://bugs.webkit.org/show_bug.cgi?id=122749
73550
73551        Reviewed by Andreas Kling.
73552
73553        Buildfix with error enumeration value 'CSS_FR' not handled in switch.
73554
73555        * css/CSSCalculationValue.cpp:
73556        (WebCore::hasDoubleValue):
73557
735582013-10-14  Krzysztof Czech  <k.czech@samsung.com>
73559
73560        [EFL] Present replaced objects with 0xFFFC character
73561        https://bugs.webkit.org/show_bug.cgi?id=122744
73562
73563        Reviewed by Mario Sanchez Prada.
73564
73565        Replaced elements should be emitted in GTK/EFL and
73566        marked their presence with the replacement character.
73567
73568        * accessibility/AccessibilityObject.cpp:
73569        (WebCore::AccessibilityObject::textIteratorBehaviorForTextRange):
73570
735712013-09-16  Sergio Villar Senin  <svillar@igalia.com>
73572
73573        [CSS Grid Layout] Implement support for <flex>
73574        https://bugs.webkit.org/show_bug.cgi?id=115362
73575
73576        Reviewed by Andreas Kling.
73577
73578        From Blink r149134, r149480, r149532, r150287 and r156127 by <jchaffraix@chromium.org>
73579        From Blink r157820 by <svillar@igalia.com>
73580
73581        Added support for flexible lengths ('fr' unit) in CSS Grid Layout
73582        code. This requires the addition of GridLength class to
73583        encapsulate the knowledge of <flex> to the grid layout code.
73584
73585        Also updated the algorithm that computes the layout. It increases
73586        the value of 1fr based on the grid tracks' usedBreath to fraction
73587        ratio (called normalizedFractionValue). This enables increasing
73588        the fraction value while updating the available space to account
73589        for processed grid tracks. The algorithm stops when we run out of
73590        grid tracks or available space (one grid item has an intrinsic
73591        size too big). This matches the specs to the letter for the known
73592        available space case (both the unknown case and the interaction
73593        with 'span' are left out of this patch).
73594
73595        Tests: fast/css-grid-layout/flex-and-minmax-content-resolution-columns.html
73596               fast/css-grid-layout/flex-and-minmax-content-resolution-rows.html
73597               fast/css-grid-layout/flex-content-resolution-columns.html
73598               fast/css-grid-layout/flex-content-resolution-rows.html
73599
73600        * GNUmakefile.list.am: Added GridLength.h to the build system.
73601        * Target.pri: Ditto.
73602        * WebCore.vcxproj/WebCore.vcxproj: Ditto.
73603        * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
73604        * WebCore.xcodeproj/project.pbxproj: Ditto.
73605        * css/CSSComputedStyleDeclaration.cpp:
73606        (WebCore::valueForGridTrackBreadth): Replace Length by GridLength.
73607        * css/CSSGrammar.y.in: Added FR support.
73608        * css/CSSParser.cpp: Ditto.
73609        (WebCore::CSSParser::parseGridBreadth):
73610        (WebCore::CSSParser::detectNumberToken):
73611        * css/CSSParserValues.cpp: Added FR support.
73612        (WebCore::CSSParserValue::createCSSValue):
73613        * css/CSSParserValues.h:
73614        (WebCore::CSSParserString::operator[]):
73615        (WebCore::CSSParserString::equalIgnoringCase):
73616        * css/CSSPrimitiveValue.cpp: Added FR support.
73617        (WebCore::isValidCSSUnitTypeForDoubleConversion):
73618        (WebCore::CSSPrimitiveValue::cleanup):
73619        (WebCore::CSSPrimitiveValue::customCSSText):
73620        (WebCore::CSSPrimitiveValue::cloneForCSSOM):
73621        (WebCore::CSSPrimitiveValue::equals):
73622        * css/CSSPrimitiveValue.h: Added a couple of missing const.
73623        (WebCore::CSSPrimitiveValue::isFlex):
73624        * css/StyleResolver.cpp: Added FR support.
73625        (WebCore::createGridTrackBreadth):
73626        (WebCore::createGridTrackSize):
73627        * rendering/RenderGrid.cpp:
73628        (WebCore::GridTrackForNormalization::GridTrackForNormalization):
73629        New helper struct to ease the computation of track breadths with
73630        flexible lengths.
73631        (WebCore::GridTrackForNormalization::operator=):
73632        (WebCore::RenderGrid::computePreferredTrackWidth): Replaced Length by GridLength.
73633        (WebCore::RenderGrid::computedUsedBreadthOfGridTracks): Grow grid lines
73634        having a fraction as the MaxTrackSizingFunction.
73635        (WebCore::RenderGrid::computeUsedBreadthOfMinLength): Replaced Length by GridLength.
73636        (WebCore::RenderGrid::computeUsedBreadthOfMaxLength): Ditto.
73637        (WebCore::sortByGridNormalizedFlexValue):
73638        (WebCore::RenderGrid::computeNormalizedFractionBreadth): Increase
73639        the fraction value while updating the available space to account
73640        for processed grid tracks.
73641        (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions):
73642        (WebCore::RenderGrid::distributeSpaceToTracks): Never shrink track sizes.
73643        (WebCore::RenderGrid::tracksAreWiderThanMinTrackBreadth):
73644        * rendering/RenderGrid.h:
73645        * rendering/style/GridLength.h: Added.
73646        (WebCore::GridLength::GridLength):
73647        (WebCore::GridLength::isLength):
73648        (WebCore::GridLength::isFlex):
73649        (WebCore::GridLength::length):
73650        (WebCore::GridLength::flex):
73651        (WebCore::GridLength::setFlex):
73652        (WebCore::GridLength::operator==):
73653        * rendering/style/GridTrackSize.h: Replaced Length by GridLength.
73654        (WebCore::GridTrackSize::length):
73655        (WebCore::GridTrackSize::setLength):
73656        (WebCore::GridTrackSize::minTrackBreadth):
73657        (WebCore::GridTrackSize::maxTrackBreadth):
73658        (WebCore::GridTrackSize::setMinMax):
73659        (WebCore::GridTrackSize::hasMinOrMaxContentMinTrackBreadth):
73660        (WebCore::GridTrackSize::hasMaxContentMinTrackBreadth):
73661        (WebCore::GridTrackSize::hasMinOrMaxContentMaxTrackBreadth):
73662        (WebCore::GridTrackSize::hasMaxContentMaxTrackBreadth):
73663
736642013-10-14  peavo@outlook.com  <peavo@outlook.com>
73665
73666        Broken text rendering when input field has selection.
73667        https://bugs.webkit.org/show_bug.cgi?id=122716
73668
73669        Reviewed by Antti Koivisto.
73670
73671        Tests: fast/text/text-rendering-with-input-selection.html.
73672               fast/text/text-rendering-with-input-selection-expected.html.
73673
73674        * rendering/InlineTextBox.cpp:
73675        (WebCore::InlineTextBox::paint): Check that text has selection.
73676
736772013-10-14  Zalan Bujtas  <zalan@apple.com>
73678
73679        Unexpected word wrapping for wrapped content then raw content.
73680        https://bugs.webkit.org/show_bug.cgi?id=121130
73681
73682        Reviewed by Antti Koivisto.
73683
73684        When deciding whether a line is considered empty, we need to check if the current
73685        object is fully responsible for the currently uncommitted width. It helps differentiating
73686        <span></span><span>abcd</span> from <span>a</span><span>bcd</span>, where in the first
73687        case when we hit the second <span> the line is still considered empty, as opposed to the
73688        second example.
73689
73690        Test: fast/css/unexpected-word-wrapping-with-non-empty-spans.html
73691
73692        * rendering/RenderBlockLineLayout.cpp:
73693        (WebCore::LineBreaker::nextSegmentBreak):
73694
736952013-10-14  Andreas Kling  <akling@apple.com>
73696
73697        Be more efficient about passing RenderStyle to attachRenderTree().
73698        <https://webkit.org/b/122743>
73699
73700        Reviewed by Antti Koivisto.
73701
73702        Have attachRenderTree() and createRendererTreeIfNeeded() pass the
73703        RenderStyle in a PassRefPtr to avoid churning the ref count.
73704
737052013-10-14  Sergio Villar Senin  <svillar@igalia.com>
73706
73707        [CSS Grid Layout] 2 span positions are not resolved correctly
73708        https://bugs.webkit.org/show_bug.cgi?id=119717
73709
73710        Reviewed by Andreas Kling.
73711
73712        From Blink r155397 by <jchaffraix@chromium.org>
73713
73714        Test: fast/css-grid-layout/grid-item-bad-resolution-double-span.html
73715
73716        Two opposite 'span' or 'auto' positions should be resolved using
73717        the auto placement algorithm. We were only checking for the 'auto'
73718        case. This also covers the case of other positions that, according
73719        to the spec, should be treated as 'auto'.
73720
73721        * rendering/RenderGrid.cpp:
73722        (WebCore::RenderGrid::resolveGridPositionsFromStyle):
73723
737242013-10-13  Andreas Kling  <akling@apple.com>
73725
73726        Use RenderElement instead of RenderObject in more places.
73727        <https://webkit.org/b/122734>
73728
73729        Reviewed by Antti Koivisto.
73730
73731        Convert some sites to use RenderElement (or type inference) instead
73732        of RenderObject for less branchy code.
73733
737342013-10-13  Darin Adler  <darin@apple.com>
73735
73736        Deprecate or remove deleteAllValues functions; there are only a few call sites left
73737        https://bugs.webkit.org/show_bug.cgi?id=122738
73738
73739        Reviewed by Anders Carlsson.
73740
73741        * platform/blackberry/CookieMap.cpp:
73742        (WebCore::CookieMap::deleteAllCookiesAndDomains):
73743        * platform/network/blackberry/rss/RSSParserBase.cpp:
73744        (WebCore::RSSFeed::clear):
73745        * platform/win/WCDataObject.cpp:
73746        (WebCore::WCDataObject::~WCDataObject):
73747        Renamed deleteAllValues to deprecatedDeleteAllValues.
73748
737492013-10-13  Sam Weinig  <sam@webkit.org>
73750
73751        Merge NODE_TYPE_CASTS and ELEMENT_TYPE_CASTS
73752        https://bugs.webkit.org/show_bug.cgi?id=122735
73753
73754        Reviewed by Antti Koivisto.
73755
73756        NODE_TYPE_CASTS and ELEMENT_TYPE_CASTS are identical. Let them become one
73757        with one another.
73758
737592013-10-13  Andreas Kling  <akling@apple.com>
73760
73761        Uncrashify Document::head() too. (Why am I even awake?)
73762
737632013-10-13  Andreas Kling  <akling@apple.com>
73764
73765        REGRESSION(r157381): Make Document::body() crash less when there is no documentElement.
73766
73767        Unreviewed.
73768
737692013-10-13  Darin Adler  <darin@apple.com>
73770
73771        Rewrite Document::body and Document::head in modern style, way clearer and shorter
73772        https://bugs.webkit.org/show_bug.cgi?id=122717
73773
73774        Reviewed by Andreas Kling.
73775
73776        * dom/Document.cpp:
73777        (WebCore::Document::body): Use iterator to make this way easier to read.
73778        (WebCore::Document::head): Ditto.
73779
73780        * html/HTMLTagNames.in: Added generateTypeHelpers for body and head.
73781
73782== Rolled over to ChangeLog-2013-10-13 ==
73783