ed4596a94293fd828cea6ea42c92c9cbe045ab64
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-10-29  Joseph Pecoraro  <pecoraro@apple.com>
2
3         Web Inspector: Remove old Inspector.json version files and generators
4         https://bugs.webkit.org/show_bug.cgi?id=123426
5
6         Reviewed by Timothy Hatcher.
7
8         * CMakeLists.txt:
9         * DerivedSources.make:
10         * GNUmakefile.am:
11         * GNUmakefile.list.am:
12         * WebCore.xcodeproj/project.pbxproj:
13         * inspector/Inspector-0.1.json: Removed.
14         * inspector/Inspector-1.0.json: Removed.
15         * inspector/generate-inspector-protocol-version: Removed.
16
17 2013-10-29  Philippe Normand  <pnormand@igalia.com>
18
19         [GTK] DOM bindings documentation errors
20         https://bugs.webkit.org/show_bug.cgi?id=123448
21
22         Reviewed by Carlos Garcia Campos.
23
24         * bindings/gobject/WebKitDOMCustom.h: Basic documentation for
25         return types.
26         * bindings/scripts/CodeGeneratorGObject.pm:
27         (GenerateFunction): Generate Returns documentation tag for
28         non-void return types and provide basic documentation.
29         * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.h:
30         Reset tests results.
31         * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
32         * bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.h:
33         * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.h:
34         * bindings/scripts/test/GObject/WebKitDOMTestException.h:
35         * bindings/scripts/test/GObject/WebKitDOMTestInterface.h:
36         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
37         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
38         * bindings/scripts/test/GObject/WebKitDOMTestTypedefs.h:
39         * bindings/scripts/test/GObject/WebKitDOMattribute.h:
40
41 2013-10-24  Brent Fulgham  <bfulgham@apple.com>
42
43         Invalid cast in WebCore::toRenderMathMLBlock
44         https://bugs.webkit.org/show_bug.cgi?id=121728
45         rdar://problem/15046151
46
47         Reviewed by Dean Jackson.
48
49         Tested by: mathml/arbitrary-markup.html
50
51         * dom/Element.h: Expose childShouldCreateRenderer for
52         MathML as well as SVG builds.
53         * dom/Node.h: 
54         (WebCore::Node::isMathMLElement): Added.
55         * mathml/MathMLElement.cpp:
56         (WebCore::MathMLElement::create): Create as MathML Element.
57         (WebCore::MathMLElement::childShouldCreateRenderer):
58         Only allow the child to emit a renderer if it is a
59         MathML element.
60         * mathml/MathMLElement.h:
61
62 2013-10-29  Andreas Kling  <akling@apple.com>
63
64         SVG: applyStrokeStyleToContext should take a RenderElement&.
65         <https://webkit.org/b/123447>
66
67         ..and a RenderStyle& too, for that matter.
68
69         Reviewed by Anders Carlsson.
70
71         * rendering/svg/SVGRenderSupport.h:
72         * rendering/svg/SVGRenderSupport.cpp:
73         (WebCore::SVGRenderSupport::applyStrokeStyleToContext):
74
75             Have this take a RenderElement& and RenderStyle& instead of
76             raw pointers. Tweaked a silly-looking loop.
77
78         * rendering/svg/RenderSVGShape.h:
79         * rendering/svg/RenderSVGShape.cpp:
80
81             Moved BoundingRectStrokeStyleApplier helper class into the
82             cpp file since it wasn't being used anywhere else.
83
84         * rendering/svg/RenderSVGResourceGradient.cpp:
85         (WebCore::RenderSVGResourceGradient::applyResource):
86         * rendering/svg/RenderSVGResourcePattern.cpp:
87         (WebCore::RenderSVGResourcePattern::applyResource):
88         * rendering/svg/RenderSVGResourceSolidColor.cpp:
89         (WebCore::RenderSVGResourceSolidColor::applyResource):
90
91             Remove ampersands.
92
93 2013-10-29  Antti Koivisto  <antti@apple.com>
94
95         Multiple runs per line on simple line path
96         https://bugs.webkit.org/show_bug.cgi?id=123446
97
98         Reviewed by Andreas Kling.
99
100         By allowing multiple runs per line we can support text flows with consecutive whitespaces in the middle.
101
102         * rendering/SimpleLineLayout.cpp:
103         (WebCore::SimpleLineLayout::canUseFor):
104         
105             Remove space test.
106             The improved test coverage found a few more cases that we need to disallow.
107
108         (WebCore::SimpleLineLayout::adjustRunOffsets):
109             
110             Round the run positions and widths so they match line boxes.
111             Adjust for text-align.
112
113         (WebCore::SimpleLineLayout::create):
114         
115             Split lines with consecutive spaces into runs.
116
117         * rendering/SimpleLineLayout.h:
118         (WebCore::SimpleLineLayout::Run::Run):
119         * rendering/SimpleLineLayoutFunctions.cpp:
120         (WebCore::SimpleLineLayout::hitTestFlow):
121         (WebCore::SimpleLineLayout::collectFlowOverflow):
122         (WebCore::SimpleLineLayout::computeTextBoundingBox):
123         * rendering/SimpleLineLayoutResolver.h:
124         (WebCore::SimpleLineLayout::RunResolver::Iterator::resolver):
125         (WebCore::SimpleLineLayout::RunResolver::Iterator::lineIndex):
126         (WebCore::SimpleLineLayout::RunResolver::Run::Run):
127         (WebCore::SimpleLineLayout::RunResolver::Run::rect):
128         (WebCore::SimpleLineLayout::RunResolver::Run::baseline):
129         (WebCore::SimpleLineLayout::RunResolver::Run::text):
130         (WebCore::SimpleLineLayout::RunResolver::Run::lineIndex):
131         (WebCore::SimpleLineLayout::RunResolver::Iterator::Iterator):
132         (WebCore::SimpleLineLayout::RunResolver::Iterator::operator++):
133         
134             Removed unnecessary operators.
135
136         (WebCore::SimpleLineLayout::RunResolver::Iterator::operator==):
137         (WebCore::SimpleLineLayout::RunResolver::Iterator::operator!=):
138         (WebCore::SimpleLineLayout::RunResolver::Iterator::operator*):
139         (WebCore::SimpleLineLayout::RunResolver::Iterator::simpleRun):
140         (WebCore::SimpleLineLayout::RunResolver::RunResolver):
141         (WebCore::SimpleLineLayout::RunResolver::begin):
142         (WebCore::SimpleLineLayout::RunResolver::end):
143         
144             Resolver -> RunResolver
145
146         (WebCore::SimpleLineLayout::LineResolver::Iterator::Iterator):
147         (WebCore::SimpleLineLayout::LineResolver::Iterator::operator++):
148         (WebCore::SimpleLineLayout::LineResolver::Iterator::operator==):
149         (WebCore::SimpleLineLayout::LineResolver::Iterator::operator!=):
150         (WebCore::SimpleLineLayout::LineResolver::Iterator::operator*):
151         (WebCore::SimpleLineLayout::LineResolver::LineResolver):
152         (WebCore::SimpleLineLayout::LineResolver::begin):
153         (WebCore::SimpleLineLayout::LineResolver::end):
154         
155             Add LineResolver around RunResolver. It resolves the line rectangles.
156
157         (WebCore::SimpleLineLayout::runResolver):
158         (WebCore::SimpleLineLayout::lineResolver):
159
160 2013-10-29  Chris Fleizach  <cfleizach@apple.com>
161
162         AX: elements with explicit tabindex should expose AXFocused as writable, since mouse clicks can focus it
163         https://bugs.webkit.org/show_bug.cgi?id=121335
164
165         Reviewed by Mario Sanchez Prada.
166
167         Re-order logic that determines if a <span> should appear as an accessible element. 
168         The change is that if an element canSetFocus() it should always be in the AX tree.
169
170         Test: accessibility/tabindex-elements-are-accessible.html
171
172         * accessibility/AccessibilityRenderObject.cpp:
173         (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
174         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
175
176 2013-10-29  Philippe Normand  <pnormand@igalia.com>
177
178         [GTK] enable media-stream in build-webkit
179         https://bugs.webkit.org/show_bug.cgi?id=123144
180
181         Reviewed by Martin Robinson.
182
183         * GNUmakefile.list.am: Add new MediaStream files to the GTK port build.
184
185 2013-10-28  Chris Fleizach  <cfleizach@apple.com>
186
187         AX: Webkit does not expose AXRequired on input type=file
188         https://bugs.webkit.org/show_bug.cgi?id=123376
189
190         Reviewed by Mario Sanchez Prada.
191
192         File upload buttons should expose AXRequired, since they take an input state.
193
194         * accessibility/AccessibilityNodeObject.cpp:
195         (WebCore::AccessibilityNodeObject::supportsRequiredAttribute):
196         (WebCore::AccessibilityNodeObject::alternativeText):
197
198 2013-10-29  Jinwoo Song  <jinwoo7.song@samsung.com>
199
200         Re-enable simple line layout for EFL
201         https://bugs.webkit.org/show_bug.cgi?id=123402
202
203         Reviewed by Antti Koivisto.
204
205         * rendering/SimpleLineLayout.cpp:
206         (WebCore::SimpleLineLayout::canUseFor): 8-bit TextRun support is now enabled for EFL port, so the port
207         can use the simple line layout.
208
209 2013-10-29  Zan Dobersek  <zdobersek@igalia.com>
210
211         Unreviewed, follow-up to r158185. Export the required symbol.
212         This should fix the Mac debug build.
213
214         * WebCore.exp.in:
215
216 2013-10-29  Santosh Mahto  <santosh.ma@samsung.com>
217
218         Text selected with double-click gets unselected after DOM modification
219         https://bugs.webkit.org/show_bug.cgi?id=114227
220
221         Reviewed by Ryosuke Niwa.
222
223         Before this patch when selection is done by double-click (start and base remain
224         same) and DOM is modified then selection gets vanished. This does not
225         happen when selection is done by dragging mouse. This happens because
226         on double-click base and extent remain the same and on DOM
227         modification we update the selection with base and extent, so we loose
228         the selection. Since in double-click case start/end contain the
229         correct selection, same should be used after dom modification to
230         update selection.
231
232         Test: editing/selection/double-click-selection-with-dom-mutation.html
233
234         * editing/FrameSelection.cpp:
235         (WebCore::FrameSelection::textWasReplaced): use start/end to update
236         selection in case double click selection. Added a check for base !=
237         extent, if base != extent use base/extent to update the selection
238         otherwise use start/end with directionality check.
239
240 2013-10-29  Mihnea Ovidenie  <mihnea@adobe.com>
241
242         [CSSRegions] Display anonymous regions in DRT
243         https://bugs.webkit.org/show_bug.cgi?id=122963
244
245         Reviewed by Alexandru Chiculita.
246
247         After https://bugs.webkit.org/show_bug.cgi?id=119135, css regions are modelled using an anonymous
248         RenderNamedFlowFragment object inside the block having a valid -webkit-flow-from.
249         This patch changes the way elements | pseudo-elements with -webkit-flow-from are displayed
250         in test dumps.
251
252         Before:
253             RenderRegion {DIV} at (200,200) size 52x52 [border: (1px solid #000000)]
254         After:
255             RenderBlock (positioned) {DIV} at (200,200) size 52x52 [border: (1px solid #000000)]
256                 RenderNamedFlowFragment at (1,1) size 50x50
257
258         Before:
259             Flow Threads
260                 Thread with flow-name 'article'
261                 Regions for flow 'article'
262                     RenderRegion {DIV} #region_1
263                     RenderRegion {DIV} #region_2
264         After:
265             Named flows
266                 Named flow 'article'
267                 Regions for named flow 'article'
268                     RenderNamedFlowFragment (anonymous child of {DIV::before} #region_1)
269                     RenderNamedFlowFragment (anonymous child of {DIV} #region_2)
270
271         Changed existing tests based on the new dumps.
272
273         * rendering/RenderBlock.cpp:
274         (WebCore::RenderBlock::renderName):
275         * rendering/RenderNamedFlowFragment.h: Add a comment explaining the purpose of the class.
276         * rendering/RenderRegion.h:
277         * rendering/RenderTreeAsText.cpp:
278         (WebCore::write):
279         (WebCore::writeRenderRegionList): Adjust function to display info for anonymous regions too.
280         (WebCore::writeRenderNamedFlowThreads): Separate dump of valid and invalid regions for a named flow.
281
282 2013-10-29  Zan Dobersek  <zdobersek@igalia.com>
283
284         Move writeIndent, overloaded << operators from RenderTreeAsText to TextStream
285         https://bugs.webkit.org/show_bug.cgi?id=116012
286
287         Reviewed by Simon Fraser.
288
289         The writeIndent method and overloaded << operators for writing out vectors and points and rectangles
290         of various types are not specific to the render tree nor do they depend on any rendering-specific interface.
291
292         * page/scrolling/ScrollingStateNode.cpp:
293         * page/scrolling/ScrollingStateNode.h:
294         (ScrollingStateNode): Remove the writeIndent declaration, it's functionally the same as the TextStream method.
295         * platform/graphics/GraphicsLayer.cpp:
296         * platform/graphics/GraphicsLayer.h:
297         (GraphicsLayer): Ditto.
298         * platform/graphics/filters/DistantLightSource.cpp: Remove the RenderTreeAsText.h inclusion or replace it with
299         the inclusion of the TextStream.h header where required. The writeIndent method is now declared there.
300         * platform/graphics/filters/FEBlend.cpp: Ditto.
301         * platform/graphics/filters/FEColorMatrix.cpp: Ditto.
302         * platform/graphics/filters/FEComponentTransfer.cpp: Ditto.
303         * platform/graphics/filters/FEComposite.cpp: Ditto.
304         * platform/graphics/filters/FEConvolveMatrix.cpp: Ditto.
305         * platform/graphics/filters/FECustomFilter.cpp: Ditto.
306         * platform/graphics/filters/FEDiffuseLighting.cpp: Ditto.
307         * platform/graphics/filters/FEDisplacementMap.cpp: Ditto.
308         * platform/graphics/filters/FEDropShadow.cpp: Ditto.
309         * platform/graphics/filters/FEFlood.cpp: Ditto.
310         * platform/graphics/filters/FEGaussianBlur.cpp: Ditto.
311         * platform/graphics/filters/FEMerge.cpp: Ditto.
312         * platform/graphics/filters/FEMorphology.cpp: Ditto.
313         * platform/graphics/filters/FEOffset.cpp: Ditto.
314         * platform/graphics/filters/FESpecularLighting.cpp: Ditto.
315         * platform/graphics/filters/FETurbulence.cpp: Ditto.
316         * platform/graphics/filters/SourceAlpha.cpp: Ditto.
317         * platform/graphics/filters/SourceGraphic.cpp: Ditto.
318         * platform/text/TextStream.cpp: Move the writeIndent and operators' definitions here.
319         (WebCore::operator<<):
320         (WebCore):
321         (WebCore::writeIndent):
322         * platform/text/TextStream.h: Move the writeIndent and operators' declarations here.
323         (WebCore):
324         (TextStream):
325         (WebCore::TextStream::operator<<):
326         * rendering/RenderTreeAsText.cpp: Move the writeIndent and operators' definitions into TextStream.
327         (WebCore):
328         * rendering/RenderTreeAsText.h: Move the writeIndent and operators' declarations into TextStream.
329         (WebCore):
330
331 2013-10-28  Zan Dobersek  <zdobersek@igalia.com>
332
333         Clean up ScopedEventQueue
334         https://bugs.webkit.org/show_bug.cgi?id=123408
335
336         Reviewed by Darin Adler.
337
338         Clean up the ScopedEventQueue implementation. ScopedEventQueue::instance() should return a reference to a
339         NeverDestroyed<ScopedEventQueue> object. The static ScopedEventQueue::s_instance pointer is removed.
340
341         The ScopedEventQueue destructor, the dispatchAllEvents method and the scope level incrementation/decrementation
342         methods are made private. NeverDestroyed<ScopedEventQueue> and EventQueueScope are made friends of the
343         ScopedEventQueue class so they can access the constructor and the incrementation/decrementation methods, respectively.
344
345         ScopedEventQueue method definitions are reordered to follow the order of their declarations in the header file.
346         ScopedEventQueue::dispatchAllEvents() now uses std::move to efficiently dispatch and clear all currently queued events.
347
348         * dom/EventDispatcher.cpp:
349         (WebCore::EventDispatcher::dispatchScopedEvent):
350         * dom/ScopedEventQueue.cpp:
351         (WebCore::ScopedEventQueue::instance):
352         (WebCore::ScopedEventQueue::dispatchAllEvents):
353         * dom/ScopedEventQueue.h:
354         (WebCore::EventQueueScope::EventQueueScope):
355         (WebCore::EventQueueScope::~EventQueueScope):
356
357 2013-10-28  Andreas Kling  <akling@apple.com>
358
359         applyTextTransform() should take a const RenderStyle&.
360         <https://webkit.org/b/123434>
361
362         This function is always called with an existing RenderStyle object.
363
364         Reviewed by Anders Carlsson.
365
366 2013-10-28  Andreas Kling  <akling@apple.com>
367
368         RenderSVGResource::applyResource() should take a const RenderStyle&.
369         <https://webkit.org/b/123433>
370
371         These functions are always called with an existing RenderStyle object
372         so let them take a const reference instead of a raw pointer.
373         Also sprinkled some missing OVERRIDEs.
374
375         Reviewed by Anders Carlsson.
376
377 2013-10-28  Andreas Kling  <akling@apple.com>
378
379         Remove unused RenderTextControl::textBaseStyle().
380         <https://webkit.org/b/123432>
381
382         Reviewed by Anders Carlsson.
383
384 2013-10-28  Zan Dobersek  <zdobersek@igalia.com>
385
386         HTML input type objects should be managed through std::unique_ptr
387         https://bugs.webkit.org/show_bug.cgi?id=123160
388
389         Reviewed by Darin Adler.
390
391         Make the constructors of the InputType subclasses public. This makes it possible to use std::make_unique on these classes
392         and makes the T::create() helpers redundant. New instances of these classes are now managed through std::unique_ptr.
393
394         InputType::create() now uses a NeverDestroyed InputTypeFactoryMap that maps type names to InputTypeFactoryFunctions and
395         gets populated when the method is first called and the map is still empty. Certain types are not added to the factory map
396         if they're disabled at runtime.
397
398         The factory is used to create the new InputType object if the requested type was found in the map, and TextInputType is used otherwise.
399
400         * html/ButtonInputType.cpp:
401         * html/ButtonInputType.h:
402         (WebCore::ButtonInputType::ButtonInputType):
403         * html/CheckboxInputType.cpp:
404         * html/CheckboxInputType.h:
405         (WebCore::CheckboxInputType::CheckboxInputType):
406         * html/ColorInputType.cpp:
407         * html/ColorInputType.h:
408         (WebCore::ColorInputType::ColorInputType):
409         * html/DateInputType.cpp:
410         * html/DateInputType.h:
411         * html/DateTimeInputType.cpp:
412         * html/DateTimeInputType.h:
413         (WebCore::DateTimeInputType::DateTimeInputType):
414         * html/DateTimeLocalInputType.cpp:
415         * html/DateTimeLocalInputType.h:
416         (WebCore::DateTimeLocalInputType::DateTimeLocalInputType):
417         * html/EmailInputType.cpp:
418         * html/EmailInputType.h:
419         (WebCore::EmailInputType::EmailInputType):
420         * html/FileInputType.cpp:
421         * html/FileInputType.h:
422         * html/HTMLInputElement.cpp:
423         (WebCore::HTMLInputElement::updateType):
424         * html/HTMLInputElement.h:
425         * html/HiddenInputType.cpp:
426         * html/HiddenInputType.h:
427         (WebCore::HiddenInputType::HiddenInputType):
428         * html/ImageInputType.cpp:
429         (WebCore::ImageInputType::ImageInputType):
430         * html/ImageInputType.h:
431         * html/InputType.cpp:
432         (WebCore::createInputType): A templated helper that constructs a new InputType subclass object through std::make_unique.
433         (WebCore::populateInputTypeFactoryMap): Populates the passed-in map with type-createInputType<T> pairs.
434         (WebCore::InputType::create): Get the InputTypeFactoryFunction for the specified type, or fall back to TextInputType.
435         (WebCore::InputType::createText):
436         * html/InputType.h:
437         * html/MonthInputType.cpp:
438         * html/MonthInputType.h:
439         (WebCore::MonthInputType::MonthInputType):
440         * html/NumberInputType.cpp:
441         * html/NumberInputType.h:
442         (WebCore::NumberInputType::NumberInputType):
443         * html/PasswordInputType.cpp:
444         * html/PasswordInputType.h:
445         (WebCore::PasswordInputType::PasswordInputType):
446         * html/RadioInputType.cpp:
447         * html/RadioInputType.h:
448         (WebCore::RadioInputType::RadioInputType):
449         * html/RangeInputType.cpp:
450         * html/RangeInputType.h:
451         * html/ResetInputType.cpp:
452         * html/ResetInputType.h:
453         (WebCore::ResetInputType::ResetInputType):
454         * html/SearchInputType.cpp:
455         (WebCore::SearchInputType::SearchInputType):
456         * html/SearchInputType.h:
457         * html/SubmitInputType.cpp:
458         * html/SubmitInputType.h:
459         (WebCore::SubmitInputType::SubmitInputType):
460         * html/TelephoneInputType.cpp:
461         * html/TelephoneInputType.h:
462         (WebCore::TelephoneInputType::TelephoneInputType):
463         * html/TextInputType.cpp:
464         * html/TextInputType.h:
465         (WebCore::TextInputType::TextInputType):
466         * html/TimeInputType.cpp:
467         * html/TimeInputType.h:
468         * html/URLInputType.cpp:
469         * html/URLInputType.h:
470         (WebCore::URLInputType::URLInputType):
471         * html/WeekInputType.cpp:
472         * html/WeekInputType.h:
473         (WebCore::WeekInputType::WeekInputType):
474
475 2013-10-28  Brady Eidson  <beidson@apple.com>
476
477         Refactor IDB factory creation.
478         https://bugs.webkit.org/show_bug.cgi?id=123347
479
480         Reviewed by Andreas Kling.
481
482         - Rework how database directory location is passed around.
483         - Make (some) SecurityOrigin arguments be references instead of pointers.
484         - Add two SecurityOrigin arguments to opening databases for future use.
485
486         * Modules/indexeddb/IDBFactory.cpp:
487         (WebCore::IDBFactory::openInternal):
488
489         * Modules/indexeddb/IDBFactoryBackendInterface.cpp:
490         (WebCore::IDBFactoryBackendInterface::create):
491         * Modules/indexeddb/IDBFactoryBackendInterface.h:
492
493         * Modules/indexeddb/PageGroupIndexedDatabase.cpp:
494         (WebCore::PageGroupIndexedDatabase::PageGroupIndexedDatabase):
495         (WebCore::PageGroupIndexedDatabase::from):
496         (WebCore::PageGroupIndexedDatabase::factoryBackend):
497         * Modules/indexeddb/PageGroupIndexedDatabase.h:
498
499         * Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.cpp:
500         (WebCore::WorkerGlobalScopeIndexedDatabase::WorkerGlobalScopeIndexedDatabase):
501         (WebCore::WorkerGlobalScopeIndexedDatabase::from):
502         (WebCore::WorkerGlobalScopeIndexedDatabase::indexedDB):
503         * Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.h:
504
505         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
506         (WebCore::IDBBackingStoreLevelDB::open):
507         (WebCore::IDBBackingStoreLevelDB::openInMemory):
508         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
509
510         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
511         (WebCore::computeFileIdentifier):
512         (WebCore::computeUniqueIdentifier):
513         (WebCore::IDBFactoryBackendLevelDB::IDBFactoryBackendLevelDB):
514         (WebCore::IDBFactoryBackendLevelDB::getDatabaseNames):
515         (WebCore::IDBFactoryBackendLevelDB::deleteDatabase):
516         (WebCore::IDBFactoryBackendLevelDB::openBackingStore):
517         (WebCore::IDBFactoryBackendLevelDB::open):
518         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
519         (WebCore::IDBFactoryBackendLevelDB::create):
520
521         * WebCore.exp.in:
522
523         * platform/DatabaseStrategy.cpp:
524         (WebCore::DatabaseStrategy::createIDBFactoryBackend):
525         * platform/DatabaseStrategy.h:
526
527 2013-10-28  Andreas Kling  <akling@apple.com>
528
529         RenderElement::style() should return a reference.
530         <https://webkit.org/b/123414>
531
532         Now that renderers always have style, go ahead and make style()
533         return a RenderStyle&.
534
535         There are countless opportunities for further cleanup enabled by
536         this change. I'm simply passing &style() in many cases where we
537         can really do something nicer instead.
538
539         Reviewed by Anders Carlsson.
540
541 2013-10-28  Tim Horton  <timothy_horton@apple.com>
542
543         Make TileController create the appropriate PlatformCALayer subclasses
544         https://bugs.webkit.org/show_bug.cgi?id=123418
545
546         Reviewed by Simon Fraser.
547
548         Add PlatformCALayer::createCompatibleLayer, which is overridden in
549         each of the subclasses to create a PlatformCALayer instance of the same
550         subclass. This is used in TileController to make bare PlatformCALayers
551         of the correct type (Mac, Win, or Remote).
552
553         * platform/graphics/ca/PlatformCALayer.h:
554         * platform/graphics/ca/mac/PlatformCALayerMac.h:
555         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
556         (PlatformCALayerMac::createCompatibleLayer):
557         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
558         (PlatformCALayerWin::createCompatibleLayer):
559         * platform/graphics/ca/win/PlatformCALayerWin.h:
560         Add createCompatibleLayer and implement it in the subclasses.
561
562         * platform/graphics/ca/mac/TileController.mm:
563         (WebCore::TileController::TileController):
564         (WebCore::TileController::tiledScrollingIndicatorLayer):
565         (WebCore::TileController::createTileLayer):
566         Make use of createCompatibleLayer when creating PlatformCALayers.
567
568 2013-10-28  Alexandru Chiculita  <achicu@adobe.com>
569
570         Web Inspector: CSS Regions: Add protocol API to expose content nodes addition/removal
571         https://bugs.webkit.org/show_bug.cgi?id=123424
572
573         Reviewed by Timothy Hatcher.
574
575         Test: inspector-protocol/model/content-flow-content-nodes.html
576
577         Adding two new inspector-protocol APIs to handle the cases when new elements are
578         added or removed from a named flow. These APIs will trigger even though there
579         is no region associated with the named flow.
580
581         * inspector/Inspector.json:
582         * inspector/InspectorCSSAgent.cpp:
583         (WebCore::InspectorCSSAgent::didRegisterNamedFlowContentElement):
584         (WebCore::InspectorCSSAgent::didUnregisterNamedFlowContentElement):
585         * inspector/InspectorCSSAgent.h:
586         * inspector/InspectorInstrumentation.cpp:
587         (WebCore::InspectorInstrumentation::didRegisterNamedFlowContentElementImpl):
588         (WebCore::InspectorInstrumentation::didUnregisterNamedFlowContentElementImpl):
589         * inspector/InspectorInstrumentation.h:
590         (WebCore::InspectorInstrumentation::didRegisterNamedFlowContentElement):
591         (WebCore::InspectorInstrumentation::didUnregisterNamedFlowContentElement):
592         * rendering/RenderNamedFlowThread.cpp:
593         (WebCore::RenderNamedFlowThread::registerNamedFlowContentElement):
594         (WebCore::RenderNamedFlowThread::unregisterNamedFlowContentElement):
595
596 2013-10-28  Joseph Pecoraro  <pecoraro@apple.com>
597
598         Web Inspector: Remove unused inspector/inline-javascript-imports.py
599         https://bugs.webkit.org/show_bug.cgi?id=123425
600
601         Reviewed by Timothy Hatcher.
602
603         * inspector/inline-javascript-imports.py: Removed.
604
605 2013-10-28  Joseph Pecoraro  <pecoraro@apple.com>
606
607         Web Inspector: Remove unused "externs" files and generators
608         https://bugs.webkit.org/show_bug.cgi?id=123427
609
610         Reviewed by Timothy Hatcher.
611
612         * inspector/InjectedScriptExterns.js: Removed.
613         * inspector/generate_protocol_externs.py: Removed.
614
615 2013-10-28  Joseph Pecoraro  <pecoraro@apple.com>
616
617         Upstream remaining PLATFORM(IOS) and ENABLE(REMOTE_INSPECTOR) pieces
618         https://bugs.webkit.org/show_bug.cgi?id=123411
619
620         Reviewed by Timothy Hatcher.
621
622         Include an InspectorClient hook for when node searching is enabled / disabled.
623
624         * inspector/InspectorClient.h:
625         (WebCore::InspectorClient::didSetSearchingForNode):
626         * inspector/InspectorDOMAgent.cpp:
627         (WebCore::InspectorDOMAgent::setSearchingForNode):
628         * inspector/InspectorOverlay.cpp:
629         (WebCore::InspectorOverlay::didSetSearchingForNode):
630         * inspector/InspectorOverlay.h:
631
632 2013-10-28  Benjamin Poulain  <benjamin@webkit.org>
633
634         Rename applyPageScaleFactorInCompositor to delegatesPageScaling
635         https://bugs.webkit.org/show_bug.cgi?id=123417
636
637         Reviewed by Simon Fraser.
638
639         * page/Frame.cpp:
640         (WebCore::Frame::frameScaleFactor):
641         * page/FrameView.cpp:
642         (WebCore::FrameView::visibleContentScaleFactor):
643         * page/Page.cpp:
644         (WebCore::Page::setPageScaleFactor):
645         * page/Settings.in:
646         * platform/ScrollView.h:
647         * rendering/RenderLayerCompositor.cpp:
648         (WebCore::RenderLayerCompositor::addToOverlapMap):
649
650 2013-10-28  Myles C. Maxfield  <mmaxfield@apple.com>
651
652         Parsing support for -webkit-text-decoration-skip: ink
653         https://bugs.webkit.org/show_bug.cgi?id=123358
654
655         Reviewed by Dean Jackson.
656
657         Adds initial parsing support for parsing -webkit-text-decoration-skip with
658         values of "none" and "ink". This work is behind the new
659         ENABLE(CSS3_TEXT_DECORATION) compile-time flag.
660
661         Test: fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-roundtrip.html
662
663         * Configurations/FeatureDefines.xcconfig: Adding ENABLE(CSS3_TEXT_DECORATION)
664         * css/CSSComputedStyleDeclaration.cpp: Mapping internal representation of text-decoration-skip
665         to a CSSValue
666         (WebCore::renderTextDecorationSkipFlagsToCSSValue):
667         (WebCore::ComputedStyleExtractor::propertyValue):
668         * css/CSSParser.cpp: Actually parsing tokens
669         (WebCore::CSSParser::parseValue):
670         (WebCore::CSSParser::parseTextDecorationSkip):
671         * css/CSSParser.h:
672         * css/CSSPropertyNames.in: adding -webkit-text-decoration-skip
673         * css/CSSValueKeywords.in: adding ink
674         * css/DeprecatedStyleBuilder.cpp: Mapping from CSSValue to internal representation
675         (WebCore::ApplyPropertyTextDecorationSkip::valueToDecorationSkip):
676         (WebCore::ApplyPropertyTextDecorationSkip::applyValue):
677         (WebCore::ApplyPropertyTextDecorationSkip::createHandler):
678         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
679         * css/StyleResolver.cpp: decoration-skip uses DeprecatedStyleBuilder
680         (WebCore::StyleResolver::applyProperty):
681         * rendering/style/RenderStyle.h: Adding functions for modifying and accessing decoration-skip properties
682         * rendering/style/RenderStyleConstants.h: Definition of internal representation
683         * rendering/style/StyleRareInheritedData.cpp: Setting up constructors and comparators
684         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
685         (WebCore::StyleRareInheritedData::operator==):
686         * rendering/style/StyleRareInheritedData.h: Holds actual value of internal representation
687
688 2013-10-28  Anders Carlsson  <andersca@apple.com>
689
690         RunLoop::dispatch should take an std::function
691         https://bugs.webkit.org/show_bug.cgi?id=123407
692
693         Reviewed by Andreas Kling.
694
695         * WebCore.exp.in:
696         * platform/RunLoop.cpp:
697         (WebCore::RunLoop::performWork):
698         (WebCore::RunLoop::dispatch):
699         * platform/RunLoop.h:
700
701 2013-10-28  Tim Horton  <timothy_horton@apple.com>
702
703         Make TileController manipulate PlatformCALayers instead of CALayers
704         https://bugs.webkit.org/show_bug.cgi?id=123279
705
706         Reviewed by Simon Fraser.
707
708         In the interest of making TileController more platform-independent
709         (so that it can be used with the remote layer tree, and maybe Windows),
710         move TileController onto our PlatformCALayer abstraction instead of
711         direct manipulation of CALayers.
712
713         Some fallout from this includes getting rid of special Mac-specific
714         TileController-specific CALayer subclasses, and reworking tile
715         painting to work in a more generic way.
716
717         This is a first step, and doesn't get us all the way to a platform independent
718         TileController, but more patches are forthcoming.
719
720         No new tests, just a (largeish) refactor.
721
722         * WebCore.exp.in:
723         The signature of some methods has changed.
724
725         * WebCore.xcodeproj/project.pbxproj:
726         Remove WebTileLayer.*
727
728         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
729         (WebCore::ScrollingTreeScrollingNodeMac::logExposedUnfilledArea):
730         Use the "isTile" key on the CALayer dictionary instead of the layer's
731         class to determine if it's a tile. TileController will set this on a tile
732         when it is created, for now.
733
734         * platform/graphics/TiledBacking.h:
735         tiledScrollingIndicatorLayer() should return a PlatformCALayer.
736
737         * platform/graphics/ca/GraphicsLayerCA.cpp:
738         (WebCore::GraphicsLayerCA::platformCALayerPaintContents):
739         * platform/graphics/ca/GraphicsLayerCA.h:
740         (WebCore::GraphicsLayerCA::platformCALayerIncrementRepaintCount):
741         * platform/graphics/ca/PlatformCALayerClient.h:
742         The PlatformCALayerClient paintContents and incrementRepaintCount callbacks
743         should include the platformCALayer that caused the callback.
744
745         * platform/graphics/ca/PlatformCALayer.h:
746         Add LayerTypeSimpleLayer, which is similar to LayerTypeWebLayer
747         except it just calls back its client to paint, instead of doing
748         complicated things with repaint rects. This is so that TileController
749         doesn't re-enter drawLayerContents when asking its GraphicsLayer
750         to paint for each PlatformCALayer (it will be entering drawLayerContents
751         for the first time for each layer). It also happens to be useful
752         for things like the tile controller overlay, which don't need
753         all that complication.
754
755         Add LayerTypeTiledBackingTileLayer, which is used simply to distinguish
756         TileController Tile layers from other LayerTypeSimpleLayers.
757
758         * platform/graphics/ca/mac/LayerPool.h:
759         * platform/graphics/ca/mac/LayerPool.mm:
760         (WebCore::LayerPool::addLayer):
761         (WebCore::LayerPool::takeLayerWithSize):
762         LayerPool should operate on PlatformCALayers now.
763
764         * platform/graphics/ca/mac/PlatformCALayerMac.h:
765         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
766         (PlatformCALayerMac::PlatformCALayerMac):
767         Set the "isTile" key on the CALayer to true for TiledBackingTileLayers,
768         so that the scrolling performance logging can tell a tile apart from
769         any other layer, on the scrolling thread, without touching PlatformCALayers
770         or the TileController or any other main-thread data structures.
771
772         (PlatformCALayerMac::setEdgeAntialiasingMask): Added.
773         * platform/graphics/ca/mac/TileController.h:
774         Remove references to Objective-C classes; instead use PlatformCALayer everywhere.
775         TileController is now a PlatformCALayerClient, and the layers it owns are
776         all PlatformCALayers (and it is constructed with a PlatformCALayer, etc.).
777         Hand in the tile debug border color as a WebCore color, instead of a CGColorRef.
778         blankPixelCountForTiles() now operates on a list of PlatformLayers instead of
779         WebTileLayers specifically, since WebTileLayer is gone.
780         Make drawTileMapContents private because WebTileCacheMapLayer no longer exists.
781
782         (WebCore::TileController::platformCALayerDrawsContent):
783         All of the layers who have TileController as their client paint their contents.
784
785         (WebCore::TileController::platformCALayerContentsOpaque):
786         This will only be called for layers which paint via drawLayerContents,
787         so it's OK that we don't special-case the debugging overlay here.
788
789         (WebCore::TileController::owningGraphicsLayer):
790         Return the GraphicsLayer that owns the TileController's main
791         layer, via its conformance to PlatformCALayerClient. This is
792         a bit strange (because it's not strictly a GraphicsLayer, despite
793         always being so at the moment), but is done for clarity inside
794         TileController itself.
795
796         * platform/graphics/ca/mac/TileController.mm:
797         Remove CALayer (WebCALayerDetails), WebTiledScrollingIndicatorLayer,
798         and a bunch of includes that we don't need anymore.
799
800         (WebCore::TileController::create):
801         (WebCore::TileController::TileController):
802         TileController is passed a PlatformCALayer for the tile cache root layer,
803         instead of a WebTiledBackingLayer. It also creates a PlatformCALayer with
804         LayerTypeLayer instead of a bare CALayer for the container layer.
805         It's OK to remove the transaction because it was only used to stop
806         the implicit animation, which PlatformCALayer will do for us.
807
808         (WebCore::TileController::~TileController):
809         Clear the owner of the PlatformCALayers which the TileController previously owned,
810         so they don't try to call back a destroyed TileController.
811
812         (WebCore::TileController::tileCacheLayerBoundsChanged):
813         (WebCore::TileController::setNeedsDisplay):
814         Straightforward adjustments towards use of PlatformCALayer.
815
816         (WebCore::TileController::setTileNeedsDisplayInRect):
817         Adjustments towards use of PlatformCALayer; we need FloatRects so we can
818         pass pointers to PlatformCALayer::setNeedsDisplay.
819
820         (WebCore::TileController::platformCALayerPaintContents):
821         Replace drawLayer with platformCALayerPaintContents, which will be called
822         back from our various WebSimpleLayers. If the PlatformCALayer is our
823         tiled scrolling debug indicator, paint that. Otherwise, it's a tile.
824         Make use of drawLayerContents() to paint the tile contents.
825         Make use of drawRepaintIndicator() to paint the repaint indicator if needed.
826         Move scrolling performance logging code that used to be in WebTileLayer here.
827
828         (WebCore::TileController::platformCALayerDeviceScaleFactor):
829         (WebCore::TileController::platformCALayerShowDebugBorders):
830         (WebCore::TileController::platformCALayerShowRepaintCounter):
831         Forward these to the owning GraphicsLayerCA, because it will have the right answers.
832
833         (WebCore::TileController::setScale):
834         Adjustments towards use of PlatformCALayer; remove some code that Simon
835         caused to be unused in 156291 but did not remove.
836
837         (WebCore::TileController::setAcceleratesDrawing):
838         (WebCore::TileController::setTilesOpaque):
839         (WebCore::TileController::setVisibleRect):
840         (WebCore::TileController::revalidateTiles):
841         (WebCore::TileController::setTileDebugBorderWidth):
842         (WebCore::TileController::setTileDebugBorderColor):
843         (WebCore::TileController::bounds):
844         (WebCore::TileController::blankPixelCount):
845         (WebCore::TileController::blankPixelCountForTiles):
846         (WebCore::queueTileForRemoval):
847         (WebCore::TileController::setNeedsRevalidateTiles):
848         (WebCore::TileController::ensureTilesForRect):
849         (WebCore::TileController::retainedTileBackingStoreMemory):
850         Straightforward adjustments towards use of PlatformCALayer.
851
852         (WebCore::TileController::updateTileCoverageMap):
853         Adjustments towards use of PlatformCALayer; rename backgroundColor
854         to visibleRectIndicatorColor, since it's actually a border, not a background.
855
856         (WebCore::TileController::tiledScrollingIndicatorLayer):
857         Create a LayerTypeSimpleLayer PlatformCALayer for the tiled scrolling indicator.
858         It will be asked to paint straightforwardly, like a CALayer would.
859         Create a LayerTypeLayer PlatformCALayer for the visible rect indicator.
860         It doesn't need to paint anything, so it doesn't get an owner.
861
862         (WebCore::TileController::createTileLayer):
863         When creating a new tile layer, adopt it by setting its owner.
864         Otherwise, straightforward adjustments towards use of PlatformCALayer.
865
866         (WebCore::TileController::platformCALayerIncrementRepaintCount):
867         Manage repaint counts for tiles in TileController now.
868
869         (WebCore::TileController::drawTileMapContents):
870         Adjustments towards use of PlatformCALayer.
871
872         * platform/graphics/ca/mac/WebTileLayer.h: Removed.
873         * platform/graphics/ca/mac/WebTileLayer.mm: Removed.
874         We don't need WebTileLayer anymore, tiles are now just WebSimpleLayers
875         owned by TileController. Its behavior has been moved into TileController.
876
877         * platform/graphics/ca/mac/WebTiledBackingLayer.h:
878         * platform/graphics/ca/mac/WebTiledBackingLayer.mm:
879         (-[WebTiledBackingLayer createTileController:]):
880         Add createTileController: so that the WebTiledBackingLayer's owner can
881         hand the TileController the PlatformCALayer for the WebTiledBackingLayer
882         without propagating additional usage of PlatformCALayer::platformCALayer(),
883         which we need to remove in light of the remote layer tree work.
884
885         (-[WebTiledBackingLayer setBorderColor:]):
886
887         * platform/graphics/ca/win/PlatformCALayerWin.h:
888         Add an empty implementation of setEdgeAntialiasingMask.
889         We'll probably want to implement it before adopting TileController on Windows.
890
891         * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:
892         (PlatformCALayerWinInternal::displayCallback):
893         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
894         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerPaintContents):
895         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerIncrementRepaintCount):
896         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
897         (WebCore::LayerClient::platformCALayerPaintContents):
898         (WebCore::LayerClient::platformCALayerIncrementRepaintCount):
899         Adjust for new parameters on PlatformCALayerClient callbacks.
900
901         * platform/graphics/mac/WebLayer.h:
902         Add WebSimpleLayer, which inherits directly from CALayer, and make
903         our standard WebLayer (which is used for compositing layers in web content)
904         inherit from that.
905
906         * platform/graphics/mac/WebLayer.mm:
907         Move most of the behavior of WebLayer onto WebSimpleLayer, except for its
908         complex painting code. That stays as an override on WebLayer.
909
910         (WebCore::drawLayerContents):
911         Use the PlatformCALayer's PlatformLayer - if it exists - to extract
912         fine-grained repaint rects. If it doesn't, we'll just use the CGContext's
913         clip rect as our single repaint rect.
914         Rename platformLayer to platformCALayer for accuracy.
915         Remove special code for CATiledLayer since we ought not use it on Mac anymore.
916
917         (WebCore::drawRepaintIndicator):
918         Factor repaint indicator code out into its own function so that TileController
919         can use it. It can't be called from drawLayerContents for TileController, since
920         the PlatformCALayer that TileController passes in to drawLayerContents is actually
921         that of the tile cache's root layer, not the tile itself.
922         Also, add a custom background color parameter so TileController can override
923         the default green color with its own standard purple.
924
925         (-[WebLayer drawInContext:]):
926         (-[WebSimpleLayer drawInContext:]):
927         * platform/graphics/mac/WebTiledLayer.mm:
928         (-[WebTiledLayer drawInContext:]):
929         Removed a param from drawLayerContents because it's trivially acquirable
930         from the PlatformCALayer.
931
932 2013-10-24  Sam Weinig  <sam@webkit.org>
933
934         Move RenderBlock functions only used by RenderBlockFlow to RenderBlockFlow
935         https://bugs.webkit.org/show_bug.cgi?id=123318
936
937         Reviewed by David Hyatt.
938
939         * rendering/LineLayoutState.h:
940         Move FloatWithRect from RenderBlock.
941
942         * rendering/RenderBlock.cpp:
943         * rendering/RenderBlock.h:
944         * rendering/RenderBlockFlow.cpp:
945         * rendering/RenderBlockFlow.h:
946         * rendering/RenderBlockLineLayout.cpp:
947         Move pagination and float functions.
948
949 2013-10-28  Sergio Villar Senin  <svillar@igalia.com>
950
951         [CSS Grid Layout] Add support for order inside grid items
952         https://bugs.webkit.org/show_bug.cgi?id=123208
953
954         Reviewed by Antti Koivisto.
955
956         Based on Blink r153457 and r153536 by <jchaffraix@chromium.org>
957
958         Added support for sorting grid items by using -webkit-order
959         property. Used OrderIterator to implement it so it had to be moved
960         out of RenderFlexibleBox to be shared with RenderGrid.
961
962         Tests: fast/css-grid-layout/grid-item-order-auto-flow-resolution.html
963                fast/css-grid-layout/grid-item-order-paint-order.html
964
965         * CMakeLists.txt: Added new file.
966         * GNUmakefile.list.am: Ditto.
967         * WebCore.vcxproj/WebCore.vcxproj: Ditto.
968         * WebCore.xcodeproj/project.pbxproj: Ditto.
969         * rendering/OrderIterator.cpp: Added. Ripped out of RenderFlexibleBox.
970         (WebCore::OrderIterator::OrderIterator):
971         (WebCore::OrderIterator::setOrderValues): Use std::move semantics.
972         (WebCore::OrderIterator::first): Use an integer as iterator.
973         (WebCore::OrderIterator::next): Ditto.
974         (WebCore::OrderIterator::reset): Ditto.
975         * rendering/OrderIterator.h: Added.
976         (WebCore::OrderIterator::currentChild):
977         * rendering/RenderFlexibleBox.cpp:
978         (WebCore::RenderFlexibleBox::RenderFlexibleBox):
979         (WebCore::RenderFlexibleBox::layoutBlock):
980         * rendering/RenderFlexibleBox.h:
981         * rendering/RenderGrid.cpp:
982         (WebCore::RenderGrid::RenderGrid):
983         (WebCore::RenderGrid::placeItemsOnGrid):
984         (WebCore::RenderGrid::populateExplicitGridAndOrderIterator):
985         (WebCore::RenderGrid::paintChildren):
986         * rendering/RenderGrid.h:
987
988 2013-10-28  Afonso R. Costa Jr.  <afonso.costa@samsung.com>
989
990         Methods on window.internals shouldn't pass a document.
991         https://bugs.webkit.org/show_bug.cgi?id=107301
992
993         Reviewed by Alexey Proskuryakov.
994
995         Each 'Internals' instance is associated with a 'Document'. So, it
996         is not necessary to pass a document as argument. Only nodesFromRect and
997         layerTreeAsText methods were kept because, in some Layout Tests, the
998         'Document' object is not the same used by Internals::contextDocument.
999
1000         * testing/Internals.cpp: Removed 'document' parameter.
1001         (WebCore::Internals::animationsAreSuspended):
1002         (WebCore::Internals::suspendAnimations):
1003         (WebCore::Internals::resumeAnimations):
1004         (WebCore::Internals::inspectorHighlightRects):
1005         (WebCore::Internals::inspectorHighlightObject):
1006         (WebCore::Internals::setScrollViewPosition):
1007         (WebCore::Internals::setPagination):
1008         (WebCore::Internals::configurationForViewport):
1009         (WebCore::Internals::paintControlTints):
1010         (WebCore::Internals::setDelegatesScrolling):
1011         (WebCore::Internals::touchPositionAdjustedToBestClickableNode):
1012         (WebCore::Internals::touchNodeAdjustedToBestClickableNode):
1013         (WebCore::Internals::touchPositionAdjustedToBestContextMenuNode):
1014         (WebCore::Internals::touchNodeAdjustedToBestContextMenuNode):
1015         (WebCore::Internals::bestZoomableAreaForTouchPoint):
1016         (WebCore::Internals::lastSpellCheckRequestSequence):
1017         (WebCore::Internals::lastSpellCheckProcessedSequence):
1018         (WebCore::Internals::wheelEventHandlerCount):
1019         (WebCore::Internals::touchEventHandlerCount):
1020         (WebCore::Internals::setBatteryStatus):
1021         (WebCore::Internals::setNetworkInformation):
1022         (WebCore::Internals::setDeviceProximity):
1023         (WebCore::Internals::hasSpellingMarker):
1024         (WebCore::Internals::hasAutocorrectedMarker):
1025         (WebCore::Internals::isOverwriteModeEnabled):
1026         (WebCore::Internals::toggleOverwriteModeEnabled):
1027         (WebCore::Internals::consoleMessageArgumentCounts):
1028         (WebCore::Internals::hasGrammarMarker):
1029         (WebCore::Internals::numberOfScrollableAreas):
1030         (WebCore::Internals::isPageBoxVisible):
1031         (WebCore::Internals::repaintRectsAsText):
1032         (WebCore::Internals::scrollingStateTreeAsText):
1033         (WebCore::Internals::mainThreadScrollingReasons):
1034         (WebCore::Internals::nonFastScrollableRects):
1035         (WebCore::Internals::garbageCollectDocumentResources):
1036         (WebCore::Internals::insertAuthorCSS):
1037         (WebCore::Internals::insertUserCSS):
1038         (WebCore::Internals::shortcutIconURLs):
1039         (WebCore::Internals::allIconURLs):
1040         (WebCore::Internals::setHeaderHeight):
1041         (WebCore::Internals::setFooterHeight):
1042         (WebCore::Internals::webkitWillEnterFullScreenForElement):
1043         (WebCore::Internals::webkitDidEnterFullScreenForElement):
1044         (WebCore::Internals::webkitWillExitFullScreenForElement):
1045         (WebCore::Internals::webkitDidExitFullScreenForElement):
1046         (WebCore::Internals::startTrackingRepaints):
1047         (WebCore::Internals::stopTrackingRepaints):
1048         (WebCore::Internals::getCurrentCursorInfo):
1049         * testing/Internals.h:
1050         (WebCore::Internals::setPagination):
1051         * testing/Internals.idl:
1052
1053 2013-10-28  Xabier Rodriguez Calvar  <calvaris@igalia.com>
1054
1055         Remove HTMLMediaElement.startTime
1056         https://bugs.webkit.org/show_bug.cgi?id=123264
1057
1058         Reviewed by Eric Carlson.
1059
1060         Patch based on one by: philipj@opera.com
1061         Blink review URL: https://codereview.chromium.org/32583003
1062
1063         startTime has been removed from the HTMLMediaElement and its use
1064         in the rest of components.
1065
1066         * Modules/mediacontrols/mediaControlsApple.js:
1067         (Controller.prototype.handleRewindButtonClicked):
1068         (Controller.prototype.handleTimelineMouseMove):
1069         (Controller.prototype.updateDuration):
1070         (Controller.prototype.updateTime): Removed used of startTime().
1071         * bindings/gobject/WebKitDOMCustom.cpp:
1072         (webkit_dom_html_media_element_get_start_time):
1073         * bindings/gobject/WebKitDOMCustom.h:
1074         * bindings/gobject/WebKitDOMCustom.symbols: Added phony function.
1075         * html/HTMLMediaElement.cpp:
1076         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
1077         (WebCore::HTMLMediaElement::isBlockedOnMediaController): Removed
1078         use of startTime()
1079         * html/HTMLMediaElement.h:
1080         * html/HTMLMediaElement.idl: Removed startTime()
1081         * rendering/RenderThemeWinCE.cpp:
1082         (WebCore::RenderThemeWinCE::paintSliderThumb): Removed use of
1083         startTime()
1084
1085 2013-10-28  Andreas Kling  <akling@apple.com>
1086
1087         RenderElement::m_style should be a Ref.
1088         <https://webkit.org/b/123401>
1089
1090         Made RenderElement::m_style a Ref. This codifies the fact that it
1091         can never be null after construction.
1092
1093         Removed a couple of unnecessary null checks that were exposed as
1094         compilation failures.
1095
1096         Reviewed by Antti Koivisto.
1097
1098 2013-10-28  Bastien Nocera <hadess@hadess.net>
1099
1100         Name all the GLib timeout sources
1101         https://bugs.webkit.org/show_bug.cgi?id=123229
1102
1103         Reviewed by Anders Carlsson.
1104
1105         Give a name to GLib timeout sources, this is helpful when
1106         profiling WebKitGTK applications.
1107
1108         No new tests, no change in functionality.
1109
1110 2013-10-28  Philippe Normand  <pnormand@igalia.com>
1111
1112         MediaStreamTrackPrivate's m_client uninitialized
1113         https://bugs.webkit.org/show_bug.cgi?id=123403
1114
1115         Reviewed by Eric Carlson.
1116
1117         No new tests, no change in functionality.
1118
1119         * platform/mediastream/MediaStreamTrackPrivate.cpp:
1120         (WebCore::MediaStreamTrackPrivate::MediaStreamTrackPrivate):
1121         Initialize the m_client member variable.
1122
1123 2013-10-28  Carlos Garcia Campos  <cgarcia@igalia.com>
1124
1125         Unreviewed. Fix make distcheck.
1126
1127         * GNUmakefile.am: Add crypto idl files to EXTRA_DIST and remove
1128         css/fullscreenQuickTime.css that was removed.
1129
1130 2013-10-28  Antti Koivisto  <antti@apple.com>
1131
1132         Prepare simple line layout to support multiple runs per line
1133         https://bugs.webkit.org/show_bug.cgi?id=123400
1134
1135         Reviewed by Andreas Kling.
1136
1137         Bunch of renaming and some refactoring for future support for text runs.
1138
1139         SimpleLineLayout::Lines -> SimpleLineLayout::Layout and becomes a class instead of a typedef.
1140         SimpleLineLayout::Resolver::Line -> SimpleLineLayout::Resolver::Run
1141         SimpleLineLayout::createLines() -> SimpleLineLayout::create()
1142         RenderBlockFlow::simpleLines() -> RenderBlockFlow::simpleLineLayout()
1143         RenderText::simpleLines() -> RenderText::simpleLineLayout()
1144         
1145         Added resolver construction functions:
1146         
1147         SimpleLineLayout::runResolver()
1148         SimpleLineLayout::lineResolver()
1149
1150 2013-10-28  Mario Sanchez Prada  <mario.prada@samsung.com>
1151
1152         [GTK] Expose title and alternative text for links in image maps
1153         https://bugs.webkit.org/show_bug.cgi?id=84045
1154
1155         Reviewed by Chris Fleizach.
1156
1157         Change the way we decide when the title attribute should be
1158         used for the accessible description, by not relying in the
1159         titleTagShouldBeUsedInDescriptionField() helper function but
1160         in whether we have found a visible text for it or not.
1161
1162         This actually mimics what the Mac port does and so makes possible
1163         to share both the layout test and its expected results.
1164
1165         * accessibility/atk/WebKitAccessibleUtil.cpp:
1166         (accessibilityDescription): Update the method to determine
1167         whether the title attribute should be used for the description.
1168
1169 2013-10-28  Bastien Nocera <hadess@hadess.net>
1170
1171         Replace 0 timeouts g_timeout_add() by g_idle_add()
1172         https://bugs.webkit.org/show_bug.cgi?id=123260
1173
1174         Reviewed by Carlos Garcia Campos.
1175
1176         A zero timeout should be equivalent to using g_idle_add_full(G_PRIORITY_DEFAULT, ...)
1177         without the nagging feeling that the wrong API was used.
1178
1179         No new tests, no change in functionality.
1180
1181         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: Use g_idle_add() instead
1182         of 0-timer.
1183         (WebCore::MediaPlayerPrivateGStreamer::videoChanged):
1184         (WebCore::MediaPlayerPrivateGStreamer::audioChanged):
1185         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp: Ditto.
1186         (WebCore::MediaPlayerPrivateGStreamerBase::volumeChanged):
1187         (WebCore::MediaPlayerPrivateGStreamerBase::muteChanged):
1188         * platform/gtk/GtkDragAndDropHelper.cpp: Ditto.
1189         (WebCore::GtkDragAndDropHelper::handleDragLeave):
1190
1191 2013-10-28  Zan Dobersek  <zdobersek@igalia.com>
1192
1193         Re-enable simple line layout for GTK
1194         https://bugs.webkit.org/show_bug.cgi?id=123388
1195
1196         Reviewed by Andreas Kling.
1197
1198         * rendering/SimpleLineLayout.cpp:
1199         (WebCore::SimpleLineLayout::canUseFor): 8-bit TextRun support is now enabled for the GTK port, so the port
1200         can use the simple line layout.
1201
1202 2013-10-27  Andreas Kling  <akling@apple.com>
1203
1204         Fix 4 asserting SVG tests after r158097.
1205
1206         RenderElement::setStyle() is, quite surprisingly, a virtual function
1207         with a single override in RenderSVGBlock.
1208         To match the old behavior, we have to rewrite the display type from
1209         any inline type to block instead.
1210
1211         * rendering/RenderElement.cpp:
1212         (WebCore::RenderElement::initializeStyle):
1213
1214 2013-10-27  Andreas Kling  <akling@apple.com>
1215
1216         Tone down overzealous assertion from r158097.
1217
1218         RenderElement::initializeStyle() really only cares that there are no
1219         text renderers that we should be calling styleDidChange() on.
1220
1221         Tweak the code to only check that there are no text children.
1222
1223         * rendering/RenderElement.cpp:
1224         (WebCore::RenderElement::initializeStyle):
1225
1226 2013-10-27  Antti Koivisto  <antti@apple.com>
1227
1228         Enable center and right text alignment for simple lines
1229         https://bugs.webkit.org/show_bug.cgi?id=123398
1230
1231         Reviewed by Andreas Kling.
1232
1233         Support text-align:center and text-align:right on simple line layout path.
1234
1235         * rendering/SimpleLineLayout.cpp:
1236         (WebCore::SimpleLineLayout::canUseFor):
1237         
1238             text-align:justify is still not supported.
1239
1240         (WebCore::SimpleLineLayout::computeLineLeft):
1241         (WebCore::SimpleLineLayout::createLines):
1242         
1243             Do a rounding dance that matches the line boxes.
1244
1245         * rendering/SimpleLineLayout.h:
1246         
1247             Add left position to lines.
1248
1249         * rendering/SimpleLineLayoutResolver.h:
1250         (WebCore::SimpleLineLayout::Resolver::Line::rect):
1251         
1252             We now do rounding during layout.
1253
1254         (WebCore::SimpleLineLayout::Resolver::Line::baseline):
1255
1256 2013-10-27  Andreas Kling  <akling@apple.com>
1257
1258         Renderers should receive their style at construction.
1259         <https://webkit.org/b/123396>
1260
1261         Pass the RenderStyle to all non-text renderer constructors.
1262         After construction, initializeStyle() must be called (as a stopgap
1263         measure) until we are able to do style-derived initialization
1264         without virtual function calls.
1265
1266         With this change, RenderElement::m_style is never null. Subsequent
1267         patches will add enforcement for this and also make style() return
1268         a RenderStyle&.
1269
1270         I'm adding three FIXME's in this patch:
1271
1272             - createRendererIfNeeded() calls AnimationController to set up
1273               the initial style manually instead of asking RenderElement's
1274               setAnimatedStyle() to do it. This can probably be done in a
1275               nicer way, but it's not clear yet how.
1276
1277             - ImageContentData::createRenderer() does a bit of unnecessary
1278               work. This should be easy to clean up but got too distracting
1279               to be part of this patch.
1280
1281             - Document::createRenderTree() creates the RenderView with an
1282               initial dummy RenderStyle. I've done this because resolving
1283               the document style assumes we already have a RenderView.
1284
1285         For styleWillChange() implementations to detect that they are
1286         reacting to the initial style, I've added a hasInitializedStyle()
1287         function on RenderElement. This will return false until you've
1288         called initializeStyle() on the renderer. This should go away
1289         along with initializeStyle() eventually.
1290
1291         Reviewed by Antti Koivisto.
1292
1293 2013-10-26  Tim Horton  <timothy_horton@apple.com>
1294
1295         [mac] Remove WebTiledLayer
1296         https://bugs.webkit.org/show_bug.cgi?id=123395
1297
1298         Reviewed by Anders Carlsson.
1299
1300         Mac doesn't use CATiledLayer at all anymore. We have to keep
1301         LayerTypeTiledLayer around for Windows, for now, but we can
1302         get rid of WebTiledLayer and some related Mac-specific code.
1303
1304         No new tests, just removing dead code.
1305
1306         * WebCore.xcodeproj/project.pbxproj:
1307         Remove WebTiledLayer.*
1308
1309         * platform/graphics/ca/PlatformCALayer.h:
1310         * platform/graphics/ca/mac/PlatformCALayerMac.h:
1311         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
1312         (PlatformCALayerMac::PlatformCALayerMac):
1313         Remove synchronouslyDisplayTilesInRect, which was only used for WebTiledLayer on Mac.
1314         Remove WebTiledLayer instantiation and setup code.
1315
1316         * platform/graphics/mac/WebTiledLayer.h: Removed.
1317         * platform/graphics/mac/WebTiledLayer.mm: Removed.
1318
1319 2013-10-26  Andreas Kling  <akling@apple.com>
1320
1321         CTTE: RenderImageResourceStyleImage always has a StyleImage.
1322         <https://webkit.org/b/123390>
1323
1324         Codify the fact that RenderImageResourceStyleImage always wraps an
1325         existing StyleImage object.
1326
1327         Reviewed by Antti Koivisto.
1328
1329 2013-10-26  Antti Koivisto  <antti@apple.com>
1330
1331         Revert some accidental changes.
1332
1333         * css/CSSFontFaceSource.cpp:
1334         (WebCore::CSSFontFaceSource::getFontData):
1335         * css/CSSFontSelector.cpp:
1336         * css/CSSFontSelector.h:
1337
1338 2013-10-26  Mark Lam  <mark.lam@apple.com>
1339
1340         Gardening: fixed broken build.
1341         https://bugs.webkit.org/show_bug.cgi?id=123354.
1342
1343         * css/CSSFontSelector.h:
1344
1345 2013-10-26  Antti Koivisto  <antti@apple.com>
1346
1347         fast/frames/seamless/seamless-nested-crash.html asserts on wk2 only
1348         https://bugs.webkit.org/show_bug.cgi?id=123354
1349
1350         Reviewed by Andreas Kling.
1351
1352         * rendering/SimpleLineLayout.cpp:
1353         (WebCore::SimpleLineLayout::canUseFor):
1354         
1355             Don't enable simple line layout if the primary font is loading. The code expects
1356             to use the primary font metrics for all lines but those won't match the fallbacks
1357             when font is not loaded.
1358
1359 2013-10-26  Carlos Garcia Campos  <cgarcia@igalia.com>
1360
1361         [GTK] Deprecate public dispatch_event method in objects implementing EventTarget interface
1362         https://bugs.webkit.org/show_bug.cgi?id=123261
1363
1364         Reviewed by Gustavo Noronha Silva.
1365
1366         The interface function should be used instead.
1367
1368         * bindings/scripts/CodeGeneratorGObject.pm:
1369         (GetFunctionDeprecationInformation): Helper function to return the
1370         version when the function was deprecated and the function
1371         replacing the deprecated one.
1372         (GenerateFunction): Check if the function is deprecated to mark it
1373         as such in the header and API docs.
1374         * bindings/scripts/gobject-generate-headers.pl: Replace the unused
1375         WEBKIT_OBSOLETE_API macro with new macros to mark function as
1376         deprecated, using the glib macros so that we don't need checks for
1377         the platform.
1378         * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.h:
1379         * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
1380         * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.h:
1381         * bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.h:
1382         * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.h:
1383         * bindings/scripts/test/GObject/WebKitDOMTestException.h:
1384         * bindings/scripts/test/GObject/WebKitDOMTestInterface.h:
1385         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
1386         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
1387         * bindings/scripts/test/GObject/WebKitDOMTestTypedefs.h:
1388         * bindings/scripts/test/GObject/WebKitDOMattribute.h:
1389
1390 2013-10-25  Mark Lam  <mark.lam@apple.com>
1391
1392         DatabaseManager's ProposedDatabases need to be thread-safe.
1393         https://bugs.webkit.org/show_bug.cgi?id=123313.
1394
1395         Reviewed by Geoffrey Garen.
1396
1397         No new tests.
1398
1399         * Modules/webdatabase/DatabaseManager.cpp:
1400         (WebCore::DatabaseManager::DatabaseManager):
1401         (WebCore::DatabaseManager::existingDatabaseContextFor):
1402         (WebCore::DatabaseManager::registerDatabaseContext):
1403         (WebCore::DatabaseManager::unregisterDatabaseContext):
1404         (WebCore::DatabaseManager::didConstructDatabaseContext):
1405         (WebCore::DatabaseManager::didDestructDatabaseContext):
1406         (WebCore::DatabaseManager::openDatabaseBackend):
1407         (WebCore::DatabaseManager::addProposedDatabase):
1408         (WebCore::DatabaseManager::removeProposedDatabase):
1409         (WebCore::DatabaseManager::fullPathForDatabase):
1410         (WebCore::DatabaseManager::detailsForNameAndOrigin):
1411         * Modules/webdatabase/DatabaseManager.h:
1412
1413 2013-10-25  Joseph Pecoraro  <pecoraro@apple.com>
1414
1415         Upstream ENABLE(REMOTE_INSPECTOR) and enable on iOS and Mac
1416         https://bugs.webkit.org/show_bug.cgi?id=123111
1417
1418         Reviewed by Timothy Hatcher.
1419
1420         * Configurations/FeatureDefines.xcconfig:
1421         * WebCore.exp.in:
1422
1423 2013-10-25  Hans Muller  <hmuller@adobe.com>
1424
1425         [CSS Shapes] CORS-enabled fetch for shape image values
1426         https://bugs.webkit.org/show_bug.cgi?id=123114
1427
1428         Reviewed by Andreas Kling.
1429
1430         Access to shape images is now controlled by CORS CSS shape per
1431         http://dev.w3.org/csswg/css-shapes/#shape-outside-property.
1432         Previously shape images had to be same-origin.
1433
1434         Shape image URL access is defined by the same logic that defines
1435         canvas tainting: same-origin and data URLs are allowed and images
1436         with a "Access-Control-Allow-Origin:" header that's either "*" or
1437         that matches the document's origin.
1438
1439         A PotentiallyCrossOriginEnabled RequestOriginPolicy was added to
1440         ResourceLoaderOptions, to indicate that a "potentially CORS-enabled fetch"
1441         was to be undertaken. The CSSImageValue::cachedImage() method handles this
1442         option by effectively setting the "Origin:" request header (see
1443         updateRequestForAccessControl() in CrossOriginAccessControl.cpp).
1444         StyleResolver::loadPendingShapeImage() uses the new ResourceLoaderOption.
1445
1446         The static ShapeInsideInfo and ShapeOutsideInfo isEnabledFor() method
1447         now performs the CORS check for image valued shapes. The private
1448         isOriginClean() method from CanvasRenderingContext2D has been moved to
1449         the CachedImage class so that it can be shared by the Canvas and Shape
1450         implementations. It checks the response headers per the CORS spec.
1451
1452         Test: http/tests/security/shape-image-cors.html
1453
1454         * css/CSSImageValue.cpp:
1455         (WebCore::CSSImageValue::cachedImage): Handle the new ResourceLoaderOption.
1456         * css/StyleResolver.cpp:
1457         (WebCore::StyleResolver::loadPendingShapeImage): Set the new ResourceLoaderOption.
1458         * html/canvas/CanvasRenderingContext2D.cpp:
1459         (WebCore::CanvasRenderingContext2D::createPattern): Use the CachedImage::isOriginClean().
1460         * loader/ResourceLoaderOptions.h: Added PotentiallyCrossOriginEnabled to RequestOriginPolicy.
1461         * loader/cache/CachedImage.cpp:
1462         (WebCore::CachedImage::isOriginClean): Migrated from CanvasRenderingContext2D.
1463         * loader/cache/CachedImage.h:
1464         * rendering/shapes/ShapeInfo.cpp:
1465         (WebCore::::checkImageOrigin): Do the CORS check and log an error message if neccessary.
1466         * rendering/shapes/ShapeInfo.h:
1467         * rendering/shapes/ShapeInsideInfo.cpp:
1468         (WebCore::ShapeInsideInfo::isEnabledFor): Call checkImageOrigin() for images.
1469         * rendering/shapes/ShapeOutsideInfo.cpp:
1470         (WebCore::ShapeOutsideInfo::isEnabledFor): Ditto.
1471
1472 2013-10-25  Jer Noble  <jer.noble@apple.com>
1473
1474         [MSE] Fix runtime errors caused by mediasource IDL attributes.
1475         https://bugs.webkit.org/show_bug.cgi?id=123352
1476
1477         Reviewed by Eric Carlson.
1478
1479         Due to http://webkit.org/b/123178, MediaSource classes must add a GenerateIsReachable
1480         (and also a JSGenerateToJSObject) attribute to avoid runtime asserts and crashes.
1481
1482         * Modules/mediasource/MediaSource.idl:
1483         * Modules/mediasource/SourceBuffer.idl:
1484         * Modules/mediasource/SourceBufferList.idl:
1485         * Modules/mediasource/WebKitMediaSource.idl:
1486         * Modules/mediasource/WebKitSourceBufferList.idl:
1487
1488 2013-10-25  Jacky Jiang  <zhajiang@blackberry.com>
1489
1490         [BlackBerry] Browser crashed at PlatformGraphicsContext::addDrawLineForText() when trying to upload a video to youtube
1491         https://bugs.webkit.org/show_bug.cgi?id=123349
1492
1493         Reviewed by George Staikos.
1494         Internally reviewed by George Staikos, Konrad Piascik, Eli Fidler and Arvid Nilsson.
1495
1496         Browser crashed when dereferencing null PlatformGraphicsContext*.
1497         In FrameView::paintControlTints(), we intentionally constructed GraphicsContext
1498         with null PlatformGraphicsContext* and disabled painting by doing
1499         context.setUpdatingControlTints(true). So we should not go further in
1500         GraphicsContext::drawLineForText() if painting is disabled.
1501         Check paintingDisabled() for the other functions in PathBlackBerry.cpp
1502         as well; otherwise, it is likely we will crash at those places.
1503
1504         * platform/graphics/blackberry/PathBlackBerry.cpp:
1505         (WebCore::GraphicsContext::fillPath):
1506         (WebCore::GraphicsContext::strokePath):
1507         (WebCore::GraphicsContext::drawLine):
1508         (WebCore::GraphicsContext::drawLineForDocumentMarker):
1509         (WebCore::GraphicsContext::drawLineForText):
1510         (WebCore::GraphicsContext::clip):
1511         (WebCore::GraphicsContext::clipPath):
1512         (WebCore::GraphicsContext::canvasClip):
1513         (WebCore::GraphicsContext::clipOut):
1514
1515 2013-10-25  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
1516
1517         Adding platform implementation of MediaStreamTrack
1518         https://bugs.webkit.org/show_bug.cgi?id=123301
1519
1520         Reviewed by Eric Carlson.
1521
1522         No new tests needed.
1523
1524         * CMakeLists.txt:
1525         * Modules/mediastream/AudioStreamTrack.cpp:
1526         (WebCore::AudioStreamTrack::create): Create method now receives a MediaStreamTrackPrivate as parameter.
1527
1528         (WebCore::AudioStreamTrack::AudioStreamTrack):
1529         * Modules/mediastream/AudioStreamTrack.h:
1530         * Modules/mediastream/MediaStream.cpp:
1531         (WebCore::MediaStream::MediaStream): Constructor now iterates through a set of MediaStreamTrackPrivate
1532         instances to create each MediaStreamTrack of MediaStream.
1533
1534         (WebCore::MediaStream::addRemoteSource): Calling AudioStreamTrack and VideoStreamTrack with
1535         MediaStreamTrackPrivate as parameter.
1536
1537         * Modules/mediastream/MediaStreamTrack.cpp:
1538         (WebCore::MediaStreamTrack::MediaStreamTrack): Constructor now receives a MediaStreamTrackPrivate, instead of a
1539         MediaStreamSource.
1540
1541         (WebCore::MediaStreamTrack::~MediaStreamTrack):
1542         (WebCore::MediaStreamTrack::kind): Calling method from MediaStreamTrackPrivate.
1543
1544         (WebCore::MediaStreamTrack::setSource): Ditto.
1545
1546         (WebCore::MediaStreamTrack::id): Ditto.
1547
1548         (WebCore::MediaStreamTrack::label): Ditto.
1549
1550         (WebCore::MediaStreamTrack::enabled): Ditto.
1551
1552         (WebCore::MediaStreamTrack::setEnabled): Ditto.
1553
1554         (WebCore::MediaStreamTrack::muted): Ditto.
1555
1556         (WebCore::MediaStreamTrack::readonly): Ditto.
1557
1558         (WebCore::MediaStreamTrack::remote): Ditto.
1559
1560         (WebCore::MediaStreamTrack::readyState): Ditto.
1561
1562         (WebCore::MediaStreamTrack::states):
1563         (WebCore::MediaStreamTrack::capabilities):
1564         (WebCore::MediaStreamTrack::clone):
1565         (WebCore::MediaStreamTrack::stopProducingData):
1566         (WebCore::MediaStreamTrack::ended): Ditto.
1567
1568         (WebCore::MediaStreamTrack::sourceStateChanged): Ditto.
1569
1570         (WebCore::MediaStreamTrack::sourceMutedChanged): Ditto.
1571
1572         (WebCore::MediaStreamTrack::sourceEnabledChanged): Ditto.
1573         (WebCore::MediaStreamTrack::configureTrackRendering):
1574         (WebCore::MediaStreamTrack::stopped): Ditto.
1575
1576         (WebCore::MediaStreamTrack::trackDidEnd): Setting Ended ready state in MediaStreamTrackPrivate.
1577
1578         (WebCore::MediaStreamTrack::trackReadyStateChanged): Dispatches Live or Ended event.
1579
1580         (WebCore::MediaStreamTrack::trackMutedChanged): Dispatches Muted event.
1581
1582         * Modules/mediastream/MediaStreamTrack.h: Now inheriting from MediaStreamTrackPrivateClient.
1583
1584         (WebCore::MediaStreamTrack::source): Calling method from MediaStreamTrackPrivate.
1585         (WebCore::MediaStreamTrack::privateTrack):
1586         * Modules/mediastream/VideoStreamTrack.cpp:
1587         (WebCore::VideoStreamTrack::create):
1588         (WebCore::VideoStreamTrack::VideoStreamTrack): Create method now receives a MediaStreamTrackPrivate as parameter.
1589         * Modules/mediastream/VideoStreamTrack.h:
1590         * platform/mediastream/MediaStreamDescriptor.cpp:
1591         (WebCore::MediaStreamDescriptor::MediaStreamDescriptor): Stores the private tracks in a Vector (property of
1592         MediaStreamDescriptor class).
1593
1594         (WebCore::MediaStreamDescriptor::addTrack): Adds a private track to the tracks' Vector
1595
1596         (WebCore::MediaStreamDescriptor::removeTrack): Removes a private track from the tracks' Vector
1597
1598         * platform/mediastream/MediaStreamDescriptor.h:
1599         (WebCore::MediaStreamDescriptor::numberOfAudioSources): Renamed from numberOfAudioStreams.
1600
1601         (WebCore::MediaStreamDescriptor::audioSources): Renamed from audioStreams.
1602
1603         (WebCore::MediaStreamDescriptor::numberOfVideoSources): Renamed from numberOfVideoStreams.
1604
1605         (WebCore::MediaStreamDescriptor::videoSources): Renamed from videoStreams.
1606
1607         (WebCore::MediaStreamDescriptor::numberOfAudioTracks): Returns the number of audio tracks this MediaStreamDescriptor
1608         has.
1609
1610         (WebCore::MediaStreamDescriptor::audioTracks): Returns a audio track, given an index
1611
1612         (WebCore::MediaStreamDescriptor::numberOfVideoTracks): Returns the number of video tracks this MediaStreamDescriptor
1613         has.
1614         (WebCore::MediaStreamDescriptor::videoTracks): Returns a video track, given an index
1615         * platform/mediastream/MediaStreamTrackPrivate.cpp: Added.
1616         * platform/mediastream/MediaStreamTrackPrivate.h: Added.
1617
1618 2013-10-25  Zoltan Horvath  <zoltan@webkit.org>
1619
1620         [CSS Regions][CSS Shapes] Update updateShapeAndSegmentsForCurrentLineInFlowThread to deal better with multiple regions
1621         <https://webkit.org/b/123210>
1622
1623         Reviewed by David Hyatt.
1624
1625         I simplified the determination of the next region part of updateShapeAndSegmentsForCurrentLineInFlowThread's implementation
1626         in order to make the code more straightforward. I also tried to avoid using regionAtBlockOffset(...) function where it's possible,
1627         since it's not always that reliable, what I'll will report in a separate bug.
1628
1629         No new tests, covered by existing tests.
1630
1631         * rendering/RenderBlockLineLayout.cpp:
1632         (WebCore::RenderBlockFlow::updateShapeAndSegmentsForCurrentLineInFlowThread):
1633
1634 2013-10-25  Zoltan Horvath  <zoltan@webkit.org>
1635
1636         [CSS Regions][CSS Shapes] Update updateShapeAndSegmentsForCurrentLineInFlowThread to deal better with the first lines
1637         <https://bugs.webkit.org/show_bug.cgi?id=123275>
1638
1639         Reviewed by David Hyatt.
1640
1641         We have a complex condition in updateShapeAndSegmentsForCurrentLineInFlowThread, which is
1642         adjusting the first line to the shape's top. This patch adds two boolean to make that clear.
1643
1644         No new tests, no behavior change.
1645
1646         * rendering/RenderBlockLineLayout.cpp:
1647         (WebCore::RenderBlockFlow::updateShapeAndSegmentsForCurrentLineInFlowThread):
1648
1649 2013-10-25  Antti Koivisto  <antti@apple.com>
1650
1651         Faster way for simple line layout to check if text has fallback fonts
1652         https://bugs.webkit.org/show_bug.cgi?id=123342
1653
1654         Reviewed by Andreas Kling.
1655         
1656         Don't use RenderText::knownToHaveNoOverflowAndNoFallbackFonts as it is slow.
1657
1658         Simple text code path test already guarantees there is no overflow. Test for fallback
1659         fonts explicitly.
1660
1661         * platform/graphics/SimpleFontData.h:
1662         
1663             Make FINAL.
1664
1665         * rendering/RenderText.cpp:
1666         * rendering/RenderText.h:
1667         
1668             Remove knownToHaveNoOverflowAndNoFallbackFonts() as it has no clients.
1669
1670         * rendering/SimpleLineLayout.cpp:
1671         (WebCore::SimpleLineLayout::canUseFor):
1672         
1673             Check if all characters can be found from the primary font.
1674
1675 2013-10-25  Andreas Kling  <akling@apple.com>
1676
1677         SVGResourcesCache::clientDestroyed() should take a RenderElement&.
1678         <https://webkit.org/b/123339>
1679
1680         This function is always called with an object, and that object
1681         is guaranteed to never be a text renderer.
1682
1683         Reviewed by Antti Koivisto.
1684
1685 2013-10-25  Andreas Kling  <akling@apple.com>
1686
1687         SVGResourcesCache::clientLayoutChanged() should take a RenderElement&.
1688         <https://webkit.org/b/123336>
1689
1690         This function is always called with an object, and that object
1691         is guaranteed to never be a text renderer.
1692
1693         Reviewed by Antti Koivisto.
1694
1695 2013-10-25  Andreas Kling  <akling@apple.com>
1696
1697         SVGResourcesCache::clientStyleChanged() should take a RenderElement&.
1698         <https://webkit.org/b/123335>
1699
1700         This function is always called with an object, and that object
1701         is guaranteed to never be a text renderer.
1702
1703         Reviewed by Antti Koivisto.
1704
1705 2013-10-25  Andreas Kling  <akling@apple.com>
1706
1707         SVG: postApplyResource() should take a RenderElement&.
1708         <https://webkit.org/b/123334>
1709
1710         This function is always called with an object, and that object
1711         is guaranteed to never be a text renderer.
1712
1713         Reviewed by Antti Koivisto.
1714
1715 2013-10-25  Antti Koivisto  <antti@apple.com>
1716
1717         REGRESSION(r157950): It made many tests assert on Windows, EFL, GTK
1718         https://bugs.webkit.org/show_bug.cgi?id=123309
1719
1720         Reviewed by Andreas Kling.
1721
1722         Disable simple line layout on non-Mac plaforms for now.
1723
1724         * rendering/SimpleLineLayout.cpp:
1725         (WebCore::SimpleLineLayout::canUseFor):
1726
1727 2013-10-24  Andreas Kling  <akling@apple.com>
1728
1729         SVG: applyResource() should take a RenderElement&.
1730         <https://webkit.org/b/123286>
1731
1732         This function is always called with an object, and that object
1733         is guaranteed to never be a text renderer.
1734
1735         Reviewed by Antti Koivisto.
1736
1737 2013-10-25  Andreas Kling  <akling@apple.com>
1738
1739         RenderElement::styleWillChange() should pass newStyle as reference.
1740         <https://webkit.org/b/123332>
1741
1742         When styleWillChange() is called, there is always a new style getting
1743         set so there's no need to handle the null style case.
1744         This flushed out a couple of unnecessary checks.
1745
1746         Reviewed by Antti Koivisto.
1747
1748 2013-10-25  peavo@outlook.com  <peavo@outlook.com>
1749
1750         [WinCairo] Compile fixes.
1751         https://bugs.webkit.org/show_bug.cgi?id=123269
1752
1753         Reviewed by Csaba Osztrogon√°c.
1754
1755         * platform/graphics/win/ImageCairoWin.cpp: Added new parameter to BitmapImage::draw() calls.
1756         (WebCore::BitmapImage::getHBITMAPOfSize):
1757         (WebCore::BitmapImage::drawFrameMatchingSourceSize):
1758
1759 2013-10-25  Sergio Villar Senin  <svillar@igalia.com>
1760
1761         Use a Vector instead of HashSet to computed the orderValues in RenderFlexibleBox
1762         https://bugs.webkit.org/show_bug.cgi?id=118620
1763
1764         Reviewed by Antti Koivisto.
1765
1766         Turns out that order is extremelly uncommon so using a Vector is
1767         much less expensive. This also special-cases the much common case
1768         of only having order of value 0 by using Vectors with just one
1769         preallocated member.
1770
1771         Also added the performance test that shows a ~1% win when using a
1772         vector instead of the HashSet.
1773
1774         * rendering/RenderFlexibleBox.cpp:
1775         (WebCore::RenderFlexibleBox::OrderIterator::setOrderValues):
1776         (WebCore::RenderFlexibleBox::layoutBlock):
1777         (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes):
1778         * rendering/RenderFlexibleBox.h:
1779
1780 2013-10-25  Sergio Villar Senin  <svillar@igalia.com>
1781
1782         Non-SVG build broken after r157950
1783         https://bugs.webkit.org/show_bug.cgi?id=123328
1784
1785         Reviewed by Xan Lopez.
1786
1787         The isSVGInlineTest() check should be done only if SVG is enabled.
1788
1789         * rendering/SimpleLineLayout.cpp:
1790         (WebCore::SimpleLineLayout::canUseFor):
1791
1792 2013-10-24  Jer Noble  <jer.noble@apple.com>
1793
1794         [Mac] Add helper methods to convert CMTime <--> MediaTime
1795         https://bugs.webkit.org/show_bug.cgi?id=123285
1796
1797         Reviewed by Eric Carlson.
1798
1799         Add utility methods to convert between CMTime (a rational time class) and MediaTime.
1800         Once there, PlatformClockCM can now vend and accept MediaTimes for currentTime.
1801
1802         * platform/mac/MediaTimeMac.h:
1803         * platform/mac/MediaTimeMac.cpp:
1804         (WebCore::toMediaTime): Added conversion utility method.
1805         (WebCore::toCMTime): Ditto.
1806
1807         * platform/mac/PlatformClockCM.h:
1808         * platform/mac/PlatformClockCM.mm:
1809         (PlatformClockCM::setCurrentMediaTime): Added.
1810         (PlatformClockCM::currentMediaTime): Added.
1811
1812         * WebCore.xcodeproj/project.pbxproj: Add new files to project.
1813
1814 2013-10-24  Mark Rowe  <mrowe@apple.com>
1815
1816         Remove references to OS X 10.7 from Xcode configuration settings.
1817
1818         Now that we're not building for OS X 10.7 they're no longer needed.
1819
1820         Reviewed by Anders Carlsson.
1821
1822
1823         * Configurations/Base.xcconfig:
1824         * Configurations/DebugRelease.xcconfig:
1825         * Configurations/FeatureDefines.xcconfig:
1826         * Configurations/Version.xcconfig:
1827
1828 2013-10-24  Antti Koivisto  <antti@apple.com>
1829
1830         Cache line layout path
1831         https://bugs.webkit.org/show_bug.cgi?id=123298
1832
1833         Reviewed by Sam Weinig.
1834         
1835         Determining the path can be non-trivial. Avoid computing it repeatedly on relayouts.
1836
1837         * rendering/RenderBlock.cpp:
1838         (WebCore::RenderBlock::RenderBlock):
1839         (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
1840         (WebCore::RenderBlock::invalidateLineLayoutPath):
1841         (WebCore::RenderBlock::removeChild):
1842         
1843             Invalidate the path when children change.
1844
1845         * rendering/RenderBlock.h:
1846         * rendering/RenderBlockFlow.cpp:
1847         (WebCore::RenderBlockFlow::layoutInlineChildren):
1848         (WebCore::RenderBlockFlow::styleDidChange):
1849         
1850             Invalidate the path when style changes.
1851
1852         (WebCore::RenderBlockFlow::deleteLineBoxesBeforeSimpleLineLayout):
1853         (WebCore::RenderBlockFlow::ensureLineBoxes):
1854         * rendering/RenderText.cpp:
1855         (WebCore::RenderText::setText):
1856         
1857             Invalidate the path when text changes.
1858
1859 2013-10-24  Mark Rowe  <mrowe@apple.com>
1860
1861         <rdar://problem/15312643> Prepare for the mysterious future.
1862
1863         Reviewed by David Kilzer.
1864
1865
1866         * Configurations/Base.xcconfig:
1867         * Configurations/DebugRelease.xcconfig:
1868         * Configurations/FeatureDefines.xcconfig:
1869         * Configurations/Version.xcconfig:
1870
1871 2013-10-24  Andreas Kling  <akling@apple.com>
1872
1873         DocumentLoader::cachedResourceLoader() should return a reference.
1874         <https://webkit.org/b/123303>
1875
1876         ..and while we're at it, make DocumentLoader::m_cachedResourceLoader
1877         a Ref, and have CachedResourceLoader::create return a PassRef.
1878
1879         Reviewed by Sam Weinig.
1880
1881 2013-10-24  Anders Carlsson  <andersca@apple.com>
1882
1883         Stop bringing in the std namespace
1884         https://bugs.webkit.org/show_bug.cgi?id=123273
1885
1886         Reviewed by Andreas Kling.
1887
1888         * Modules/webaudio/AudioBufferSourceNode.cpp:
1889         (WebCore::AudioBufferSourceNode::renderFromBuffer):
1890         (WebCore::AudioBufferSourceNode::startGrain):
1891         (WebCore::AudioBufferSourceNode::totalPitchRate):
1892         * Modules/webaudio/AudioNodeInput.cpp:
1893         (WebCore::AudioNodeInput::numberOfChannels):
1894         * Modules/webaudio/AudioParamTimeline.cpp:
1895         (WebCore::AudioParamTimeline::valuesForTimeRangeImpl):
1896         * Modules/webaudio/AudioScheduledSourceNode.cpp:
1897         (WebCore::AudioScheduledSourceNode::updateSchedulingInfo):
1898         (WebCore::AudioScheduledSourceNode::stop):
1899         * Modules/webaudio/AudioSummingJunction.cpp:
1900         * Modules/webaudio/DelayDSPKernel.cpp:
1901         (WebCore::DelayDSPKernel::process):
1902         * Modules/webaudio/OfflineAudioDestinationNode.cpp:
1903         (WebCore::OfflineAudioDestinationNode::offlineRender):
1904         * Modules/webaudio/OscillatorNode.cpp:
1905         * Modules/webaudio/PannerNode.cpp:
1906         (WebCore::PannerNode::dopplerRate):
1907         * Modules/webaudio/WaveShaperDSPKernel.cpp:
1908         (WebCore::WaveShaperDSPKernel::processCurve):
1909         * Modules/webdatabase/DatabaseTracker.cpp:
1910         (WebCore::DatabaseTracker::hasAdequateQuotaForOrigin):
1911         * Modules/websockets/WebSocket.cpp:
1912         (WebCore::saturateAdd):
1913         * Modules/websockets/WebSocketChannel.cpp:
1914         * Modules/websockets/WebSocketFrame.cpp:
1915         (WebCore::WebSocketFrame::parseFrame):
1916         * accessibility/AccessibilityARIAGrid.cpp:
1917         * accessibility/AccessibilityARIAGridCell.cpp:
1918         * accessibility/AccessibilityARIAGridRow.cpp:
1919         * accessibility/AccessibilityList.cpp:
1920         * accessibility/AccessibilityListBox.cpp:
1921         * accessibility/AccessibilityListBoxOption.cpp:
1922         * accessibility/AccessibilityNodeObject.cpp:
1923         * accessibility/AccessibilityObject.cpp:
1924         * accessibility/AccessibilityRenderObject.cpp:
1925         * accessibility/AccessibilityTable.cpp:
1926         (WebCore::AccessibilityTable::addChildren):
1927         * accessibility/AccessibilityTableCell.cpp:
1928         * accessibility/AccessibilityTableColumn.cpp:
1929         * accessibility/AccessibilityTableHeaderContainer.cpp:
1930         * accessibility/AccessibilityTableRow.cpp:
1931         * accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
1932         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
1933         (-[WebAccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
1934         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
1935         (WebCore::JSCSSStyleDeclaration::getOwnPropertyNames):
1936         * bindings/js/JSGeolocationCustom.cpp:
1937         (WebCore::setTimeout):
1938         (WebCore::setMaximumAge):
1939         * bindings/js/ScriptController.cpp:
1940         * bindings/js/SerializedScriptValue.cpp:
1941         (WebCore::writeLittleEndian):
1942         (WebCore::CloneSerializer::write):
1943         (WebCore::CloneDeserializer::deserialize):
1944         (WebCore::CloneDeserializer::readString):
1945         * css/CSSComputedStyleDeclaration.cpp:
1946         (WebCore::ComputedStyleExtractor::propertyValue):
1947         * css/CSSFontSelector.cpp:
1948         (WebCore::CSSFontSelector::getFontFace):
1949         * css/CSSGradientValue.cpp:
1950         (WebCore::CSSRadialGradientValue::createGradient):
1951         * css/CSSParser.cpp:
1952         (WebCore::CSSParser::parseValue):
1953         (WebCore::CSSParser::parseColorParameters):
1954         (WebCore::CSSParser::parseHSLParameters):
1955         * css/CSSReflectValue.cpp:
1956         * css/DeprecatedStyleBuilder.cpp:
1957         (WebCore::ApplyPropertyFontSize::applyValue):
1958         * css/PropertySetCSSStyleDeclaration.cpp:
1959         * css/SVGCSSParser.cpp:
1960         * css/StylePropertySet.cpp:
1961         (WebCore::StylePropertySet::getLayeredShorthandValue):
1962         * css/StyleResolver.cpp:
1963         (WebCore::StyleResolver::viewportPercentageValue):
1964         * dom/CharacterData.cpp:
1965         (WebCore::CharacterData::parserAppendData):
1966         * dom/ContainerNode.cpp:
1967         * dom/Document.cpp:
1968         (WebCore::Document::minimumLayoutDelay):
1969         * dom/Node.cpp:
1970         (WebCore::Node::compareDocumentPosition):
1971         * dom/Range.cpp:
1972         (WebCore::Range::toString):
1973         (WebCore::Range::textRects):
1974         (WebCore::Range::textQuads):
1975         * dom/ScriptedAnimationController.cpp:
1976         (WebCore::ScriptedAnimationController::scheduleAnimation):
1977         * dom/StyledElement.cpp:
1978         (WebCore::StyledElement::makePresentationAttributeCacheKey):
1979         * dom/Text.cpp:
1980         * dom/ViewportArguments.cpp:
1981         (WebCore::clampLengthValue):
1982         (WebCore::clampScaleValue):
1983         (WebCore::ViewportArguments::resolve):
1984         (WebCore::computeMinimumScaleFactorForContentContained):
1985         (WebCore::restrictMinimumScaleFactorToViewportSize):
1986         * editing/AlternativeTextController.cpp:
1987         * editing/ApplyStyleCommand.cpp:
1988         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
1989         * editing/CompositeEditCommand.cpp:
1990         (WebCore::CompositeEditCommand::deleteInsignificantText):
1991         * editing/Editor.cpp:
1992         (WebCore::Editor::setComposition):
1993         (WebCore::Editor::compositionRange):
1994         * editing/EditorCommand.cpp:
1995         (WebCore::verticalScrollDistance):
1996         * editing/TextIterator.cpp:
1997         (WebCore::TextIterator::handleTextNode):
1998         (WebCore::TextIterator::handleTextBox):
1999         (WebCore::CharacterIterator::string):
2000         (WebCore::SearchBuffer::SearchBuffer):
2001         (WebCore::SearchBuffer::append):
2002         (WebCore::SearchBuffer::prependContext):
2003         (WebCore::SearchBuffer::search):
2004         * editing/VisibleUnits.cpp:
2005         (WebCore::startOfParagraph):
2006         * editing/htmlediting.cpp:
2007         * editing/markup.cpp:
2008         * fileapi/FileReaderLoader.cpp:
2009         (WebCore::FileReaderLoader::didReceiveResponse):
2010         (WebCore::FileReaderLoader::didReceiveData):
2011         * history/BackForwardList.cpp:
2012         (WebCore::BackForwardList::backListWithLimit):
2013         (WebCore::BackForwardList::forwardListWithLimit):
2014         * history/PageCache.cpp:
2015         (WebCore::PageCache::setCapacity):
2016         * html/BaseDateAndTimeInputType.cpp:
2017         * html/FTPDirectoryDocument.cpp:
2018         * html/HTMLAreaElement.cpp:
2019         (WebCore::HTMLAreaElement::getRegion):
2020         * html/HTMLElement.cpp:
2021         (WebCore::HTMLElement::parseAttribute):
2022         (WebCore::parseColorStringWithCrazyLegacyRules):
2023         * html/HTMLFormControlElement.cpp:
2024         * html/HTMLFormElement.cpp:
2025         (WebCore::HTMLFormElement::getTextFieldValues):
2026         * html/HTMLImageElement.cpp:
2027         * html/HTMLInputElement.cpp:
2028         * html/HTMLMapElement.cpp:
2029         * html/HTMLMediaElement.cpp:
2030         (WebCore::HTMLMediaElement::HTMLMediaElement):
2031         (WebCore::HTMLMediaElement::updateActiveTextTrackCues):
2032         (WebCore::HTMLMediaElement::textTrackAddCue):
2033         (WebCore::HTMLMediaElement::textTrackRemoveCue):
2034         (WebCore::HTMLMediaElement::rewind):
2035         (WebCore::HTMLMediaElement::seek):
2036         (WebCore::HTMLMediaElement::duration):
2037         * html/HTMLSelectElement.cpp:
2038         (WebCore::HTMLSelectElement::parseAttribute):
2039         (WebCore::HTMLSelectElement::updateListBoxSelection):
2040         * html/HTMLSourceElement.cpp:
2041         * html/HTMLTableCellElement.cpp:
2042         (WebCore::HTMLTableCellElement::colSpan):
2043         (WebCore::HTMLTableCellElement::rowSpan):
2044         * html/HTMLTableElement.cpp:
2045         (WebCore::HTMLTableElement::parseAttribute):
2046         * html/HTMLTextFormControlElement.cpp:
2047         (WebCore::HTMLTextFormControlElement::setSelectionStart):
2048         (WebCore::HTMLTextFormControlElement::setSelectionEnd):
2049         (WebCore::HTMLTextFormControlElement::select):
2050         (WebCore::HTMLTextFormControlElement::setSelectionRange):
2051         * html/HTMLTrackElement.cpp:
2052         * html/ImageDocument.cpp:
2053         (WebCore::ImageDocument::scale):
2054         * html/InputType.cpp:
2055         (WebCore::InputType::valueAsDouble):
2056         * html/MediaController.cpp:
2057         (MediaController::duration):
2058         (MediaController::currentTime):
2059         (MediaController::setCurrentTime):
2060         (MediaController::updateReadyState):
2061         * html/NumberInputType.cpp:
2062         (WebCore::NumberInputType::setValueAsDouble):
2063         (WebCore::NumberInputType::setValueAsDecimal):
2064         (WebCore::NumberInputType::createStepRange):
2065         * html/RangeInputType.cpp:
2066         (WebCore::RangeInputType::handleKeydownEvent):
2067         * html/SearchInputType.cpp:
2068         (WebCore::SearchInputType::startSearchEventTimer):
2069         * html/StepRange.cpp:
2070         (WebCore::StepRange::clampValue):
2071         (WebCore::StepRange::parseStep):
2072         * html/TimeRanges.cpp:
2073         * html/ValidationMessage.cpp:
2074         (WebCore::ValidationMessage::setMessageDOMAndStartTimer):
2075         (WebCore::adjustBubblePosition):
2076         * html/canvas/CanvasRenderingContext2D.cpp:
2077         (WebCore::normalizeRect):
2078         * html/canvas/WebGLRenderingContext.cpp:
2079         (WebCore::WebGLRenderingContext::validateIndexArrayConservative):
2080         (WebCore::WebGLRenderingContext::validateCompressedTexFuncData):
2081         * html/shadow/MediaControlElements.cpp:
2082         (WebCore::MediaControlRewindButtonElement::defaultEventHandler):
2083         * html/shadow/MediaControlsApple.cpp:
2084         * html/shadow/SliderThumbElement.cpp:
2085         (WebCore::SliderThumbElement::setPositionFromPoint):
2086         * inspector/ContentSearchUtils.cpp:
2087         * inspector/DOMEditor.cpp:
2088         * inspector/DOMPatchSupport.cpp:
2089         (WebCore::DOMPatchSupport::diff):
2090         * inspector/InjectedScriptHost.cpp:
2091         * loader/ProgressTracker.cpp:
2092         (WebCore::ProgressTracker::incrementProgress):
2093         * loader/cache/CachedImage.cpp:
2094         * page/DOMWindow.cpp:
2095         (WebCore::DOMWindow::adjustWindowRect):
2096         * page/EventHandler.cpp:
2097         (WebCore::MaximumDurationTracker::~MaximumDurationTracker):
2098         * page/FrameTree.cpp:
2099         * page/FrameView.cpp:
2100         (WebCore::FrameView::adjustedDeferredRepaintDelay):
2101         (WebCore::FrameView::autoSizeIfEnabled):
2102         * page/PrintContext.cpp:
2103         (WebCore::PrintContext::computeAutomaticScaleFactor):
2104         * page/SpatialNavigation.cpp:
2105         (WebCore::entryAndExitPointsForDirection):
2106         * page/animation/CSSPropertyAnimation.cpp:
2107         (WebCore::blendFilterOperations):
2108         (WebCore::PropertyWrapperShadow::blendMismatchedShadowLists):
2109         * platform/graphics/FloatRect.cpp:
2110         (WebCore::FloatRect::FloatRect):
2111         (WebCore::FloatRect::intersect):
2112         (WebCore::FloatRect::uniteEvenIfEmpty):
2113         (WebCore::FloatRect::extend):
2114         (WebCore::FloatRect::fitToPoints):
2115         * platform/graphics/GlyphPageTreeNode.cpp:
2116         (WebCore::GlyphPageTreeNode::initializePage):
2117         (WebCore::GlyphPageTreeNode::getChild):
2118         * platform/graphics/IntRect.cpp:
2119         (WebCore::IntRect::intersect):
2120         (WebCore::IntRect::unite):
2121         (WebCore::IntRect::uniteIfNonZero):
2122         * platform/graphics/LayoutRect.cpp:
2123         (WebCore::LayoutRect::intersect):
2124         (WebCore::LayoutRect::unite):
2125         (WebCore::LayoutRect::uniteIfNonZero):
2126         * platform/graphics/filters/FEMorphology.cpp:
2127         (WebCore::FEMorphology::platformApplyGeneric):
2128         (WebCore::FEMorphology::platformApplySoftware):
2129         * platform/mac/MemoryPressureHandlerMac.mm:
2130         (WebCore::MemoryPressureHandler::respondToMemoryPressure):
2131         * platform/text/TextCodecICU.cpp:
2132         * rendering/LineWidth.cpp:
2133         (WebCore::LineWidth::fitBelowFloats):
2134         (WebCore::LineWidth::computeAvailableWidthFromLeftAndRight):
2135         * rendering/RenderBlock.h:
2136         (WebCore::RenderBlock::availableLogicalWidthForLine):
2137         (WebCore::RenderBlock::availableLogicalWidthForContent):
2138         * rendering/RenderFieldset.cpp:
2139         (WebCore::RenderFieldset::computePreferredLogicalWidths):
2140         (WebCore::RenderFieldset::layoutSpecialExcludedChild):
2141         (WebCore::RenderFieldset::paintBoxDecorations):
2142         * rendering/RenderFlowThread.cpp:
2143         (WebCore::RenderFlowThread::updateLogicalWidth):
2144         (WebCore::RenderFlowThread::addForcedRegionBreak):
2145         * rendering/RenderFrameBase.cpp:
2146         (WebCore::RenderFrameBase::layoutWithFlattening):
2147         * rendering/RenderFrameSet.cpp:
2148         (WebCore::RenderFrameSet::layOutAxis):
2149         * rendering/RenderSlider.cpp:
2150         (WebCore::RenderSlider::computePreferredLogicalWidths):
2151         * rendering/RenderTableCell.h:
2152         * rendering/RenderTreeAsText.cpp:
2153         (WebCore::writeLayers):
2154         * rendering/RootInlineBox.h:
2155         (WebCore::RootInlineBox::selectionHeight):
2156         (WebCore::RootInlineBox::selectionHeightAdjustedForPrecedingBlock):
2157         * rendering/mathml/RenderMathMLRow.cpp:
2158         (WebCore::RenderMathMLRow::layout):
2159         * rendering/mathml/RenderMathMLScripts.cpp:
2160         (WebCore::RenderMathMLScripts::layout):
2161         * rendering/style/RenderStyle.h:
2162         * rendering/style/StyleGeneratedImage.cpp:
2163         (WebCore::StyleGeneratedImage::imageSize):
2164         * style/StyleFontSizeFunctions.cpp:
2165         (WebCore::Style::fontSizeForKeyword):
2166         * svg/SVGSVGElement.cpp:
2167         (WebCore::SVGSVGElement::setCurrentTime):
2168
2169 2013-10-24  Andreas Kling  <akling@apple.com>
2170
2171         Uncomplicate some of SVGTextRunRenderingContext.
2172         <https://webkit.org/b/123294>
2173
2174         This class was weird about a few things, so I've taken these steps
2175         to clear things up:
2176
2177         - FINAL and OVERRIDE all the things.
2178         - Constructor now takes a RenderObject&.
2179         - renderer() now returns a RenderObject&.
2180         - drawSVGGlyphs() no longer takes a TextRun.
2181         - glyphDataForCharacter() no longer takes a TextRun.
2182
2183         To expand on the last two, there was also some awkward hoop-jumping
2184         where we'd go through the TextRun passed by argument to find its
2185         rendering context, which was really just |this| all along.
2186
2187         Reviewed by Antti Koivisto.
2188
2189 2013-10-24  Roger Fong  <roger_fong@apple.com>
2190
2191         Add texture level dependent size checks to textureImage2D calls.
2192         https://bugs.webkit.org/show_bug.cgi?id=123290
2193         <rdar://problem/15201382>
2194
2195         Reviewed by Dean Jackson
2196
2197         Test covered by WebGL Conformance suite 1.0.2 test, textures/texture-size-limit.html.
2198
2199         There are different size limits when calling textureImage2D on different texture levels.
2200         We should be throwing an error if our texture size exceeds these limits.
2201
2202         * html/canvas/WebGLRenderingContext.cpp:
2203         (WebCore::WebGLRenderingContext::validateTexFuncParameters):
2204
2205 2013-10-24  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
2206
2207         [MediaStream API] allow a stream source to be shared
2208         https://bugs.webkit.org/show_bug.cgi?id=121954
2209
2210         Reviewed by Eric Carlson.
2211
2212         Now, the MediaStreamSource don't know about the MediaStream that owns it,
2213         since there can be more than one MediaStream that has it as source for some track.
2214         MediaStreamTrack classes now have observers registered, in case there are more than
2215         one MediaStream owning that track
2216
2217         No new tests, no change in functionality.
2218
2219         * Modules/mediastream/MediaStream.cpp:
2220         (WebCore::MediaStream::MediaStream): Adding the MediaStream as an observer for each track it owns.
2221
2222         (WebCore::MediaStream::addTrack): Now adding the MediaStream as an observer the new added track
2223         and adding the source to the MediaStreamDescriptor.
2224
2225         (WebCore::MediaStream::removeTrack): Instead of removing the source right away, we first check if
2226         there isn't any other track using that source, if not we remove the source.
2227
2228         (WebCore::MediaStream::haveTrackWithSource):
2229         (WebCore::MediaStream::addRemoteSource): MediaStreamSource has no information about the MediaStream
2230         that uses it, so now we don't set the stream in the source anymore.
2231
2232         (WebCore::MediaStream::removeRemoteSource): There can be more than on track using the source. So we
2233         get each track that is using the source and then remove it and fire the ended event.
2234
2235         * Modules/mediastream/MediaStream.h:
2236         * Modules/mediastream/MediaStreamTrack.cpp:
2237         (WebCore::MediaStreamTrack::addObserver):
2238         (WebCore::MediaStreamTrack::removeObserver):
2239         (WebCore::MediaStreamTrack::trackDidEnd): Does not get the client from the MediaStreamDescriptor, it now
2240         notify each of its observers that the track ended.
2241
2242         * Modules/mediastream/MediaStreamTrack.h: Adding Observer class.
2243
2244         * platform/mediastream/MediaStreamDescriptor.cpp: Destructor now does nothing. Previously it was setting
2245         each MediaStreamSource's descriptor to null.
2246
2247         (WebCore::MediaStreamDescriptor::removeSource): Not setting the stream in source anymore.
2248
2249         (WebCore::MediaStreamDescriptor::MediaStreamDescriptor): Ditto.
2250
2251         (WebCore::MediaStreamDescriptor::setEnded): Not setting the state of the source to Ended
2252
2253         * platform/mediastream/MediaStreamDescriptor.h:
2254         (WebCore::MediaStreamDescriptor::~MediaStreamDescriptor):
2255         * platform/mediastream/MediaStreamSource.cpp: Removing references to MediaStream object
2256         (WebCore::MediaStreamSource::MediaStreamSource):
2257         (WebCore::MediaStreamSource::reset):
2258         * platform/mediastream/MediaStreamSource.h:
2259
2260 2013-10-24  Daniel Bates  <dabates@apple.com>
2261
2262         Crash in WebCore::NavigationScheduler::startTimer()
2263         https://bugs.webkit.org/show_bug.cgi?id=123288
2264         <rdar://problem/14055644>
2265
2266         Reviewed by Alexey Proskuryakov.
2267
2268         Currently NavigationScheduler::startTimer() synchronously notifies the client
2269         before the Web Inspector of a scheduled redirect. If a client cancels this
2270         redirect then NavigationScheduler::m_redirect will become null and we'll
2271         subsequently crash when informing the Web Inspector of this formerly scheduled
2272         redirect. Instead, NavigationScheduler::startTimer() should notify the Web
2273         Inspector before it notifies the client of a scheduled redirect.
2274
2275         As a side benefit of this change, the Web Inspector is notified of a scheduled
2276         redirect before being notified of it being canceled when a client chooses to cancel
2277         a scheduled redirect.
2278
2279         * loader/NavigationScheduler.cpp:
2280         (WebCore::NavigationScheduler::startTimer):
2281
2282 2013-10-24  Antti Koivisto  <antti@apple.com>
2283
2284         Try to fix build without CSS_SHAPES.
2285
2286         * rendering/SimpleLineLayout.cpp:
2287         (WebCore::SimpleLineLayout::canUseFor):
2288
2289 2013-10-24  Antti Koivisto  <antti@apple.com>
2290
2291         Simple line layout
2292         https://bugs.webkit.org/show_bug.cgi?id=122458
2293
2294         Reviewed by Darin Adler.
2295
2296         Line box based inline layout is powerful but also rather slow and memory intensive. Simple line layout
2297         is a compact alternative data structure and fast code path to cover common cases without requiring line
2298         boxes.
2299         
2300         This patch handles a case single left-aligned text renderer inside flow with no floats. Even this very basic
2301         case is sufficiently common to handle up to 25% of all text lines on some popular new sites. The decision
2302         which path to use is made per block flow (paragraph).
2303         
2304         Simple line layout aims to produce pixel-exact rendering result when compared to the line box layout.
2305         
2306         The goal is to handle everything that requires line level access in cases that allow use of simple lines.
2307         This is not quite the case yet. For example selections and outline painting are not supported. In these
2308         cases we seamlessly switch to the line boxes.
2309
2310         The simple line data structure currently uses 12 bytes per line. Lineboxes take ~160 bytes minimum per line.
2311         Laying out the lines is also several times faster as is iterating over them.
2312
2313         * CMakeLists.txt:
2314         * GNUmakefile.list.am:
2315         * WebCore.vcxproj/WebCore.vcxproj:
2316         * WebCore.xcodeproj/project.pbxproj:
2317         * dom/Position.cpp:
2318         (WebCore::Position::upstream):
2319         (WebCore::Position::downstream):
2320         (WebCore::Position::getInlineBoxAndOffset):
2321         
2322             Creating positions within a simple line flow causes switch to line boxes.
2323
2324         * editing/TextIterator.cpp:
2325         (WebCore::TextIterator::handleTextNode):
2326         
2327             TextIterator traverses line boxes if available. In case simple line case we need to replicate the
2328             same results (for compatibility but especially to avoid changing test results). This is done here
2329             by just traversing the string without actually using the layout.
2330
2331         * rendering/RenderBlock.cpp:
2332         (WebCore::RenderBlock::RenderBlock):
2333         (WebCore::RenderBlock::layoutShapeInsideInfo):
2334         * rendering/RenderBlock.h:
2335         * rendering/RenderBlockFlow.cpp:
2336         (WebCore::RenderBlockFlow::layoutInlineChildren):
2337         
2338             Select the layout path to use.
2339
2340         (WebCore::RenderBlockFlow::deleteLines):
2341         (WebCore::RenderBlockFlow::hitTestInlineChildren):
2342         (WebCore::RenderBlockFlow::adjustForBorderFit):
2343         (WebCore::RenderBlockFlow::firstLineBaseline):
2344         (WebCore::RenderBlockFlow::inlineBlockBaseline):
2345         (WebCore::RenderBlockFlow::inlineSelectionGaps):
2346         (WebCore::RenderBlockFlow::clearTruncation):
2347         (WebCore::RenderBlockFlow::positionForPointWithInlineChildren):
2348         (WebCore::RenderBlockFlow::addFocusRingRectsForInlineChildren):
2349         (WebCore::RenderBlockFlow::paintInlineChildren):
2350         (WebCore::RenderBlockFlow::hasLines):
2351         (WebCore::RenderBlockFlow::layoutSimpleLines):
2352         
2353             Do simple layout.
2354
2355         (WebCore::RenderBlockFlow::deleteLineBoxesBeforeSimpleLineLayout):
2356         (WebCore::RenderBlockFlow::ensureLineBoxes):
2357         
2358             This function switches from simple lines to line boxes. The switching can be done outside normal layout.
2359             This is used to cover some cases that are not yet supported by simple lines (like selections).
2360
2361         * rendering/RenderBlockFlow.h:
2362         (WebCore::RenderBlockFlow::simpleLines):
2363         * rendering/RenderBlockLineLayout.cpp:
2364         (WebCore::RenderBlockFlow::layoutLineBoxes):
2365         
2366             Rename the line box layout function.
2367
2368         (WebCore::RenderBlockFlow::addOverflowFromInlineChildren):
2369         * rendering/RenderText.cpp:
2370         (WebCore::RenderText::deleteLineBoxesBeforeSimpleLineLayout):
2371         (WebCore::RenderText::absoluteRects):
2372         (WebCore::RenderText::absoluteRectsForRange):
2373         (WebCore::RenderText::absoluteQuadsClippedToEllipsis):
2374         (WebCore::RenderText::absoluteQuads):
2375         (WebCore::RenderText::absoluteQuadsForRange):
2376         (WebCore::RenderText::positionForPoint):
2377         (WebCore::RenderText::knownToHaveNoOverflowAndNoFallbackFonts):
2378         (WebCore::RenderText::setSelectionState):
2379         (WebCore::RenderText::setTextWithOffset):
2380         (WebCore::RenderText::ensureLineBoxes):
2381         (WebCore::RenderText::simpleLines):
2382         (WebCore::RenderText::linesBoundingBox):
2383         (WebCore::RenderText::linesVisualOverflowBoundingBox):
2384         (WebCore::RenderText::selectionRectForRepaint):
2385         (WebCore::RenderText::caretMinOffset):
2386         (WebCore::RenderText::caretMaxOffset):
2387         (WebCore::RenderText::countRenderedCharacterOffsetsUntil):
2388         (WebCore::RenderText::containsRenderedCharacterOffset):
2389         (WebCore::RenderText::containsCaretOffset):
2390         (WebCore::RenderText::hasRenderedText):
2391         * rendering/RenderText.h:
2392         * rendering/RenderTreeAsText.cpp:
2393         (WebCore::RenderTreeAsText::writeRenderObject):
2394         (WebCore::writeSimpleLine):
2395         (WebCore::write):
2396         * rendering/SimpleLineLayout.cpp: Added.
2397         (WebCore::SimpleLineLayout::canUseFor):
2398         
2399             This check for the cases supported by the simple line layout path.
2400
2401         (WebCore::SimpleLineLayout::isWhitespace):
2402         (WebCore::SimpleLineLayout::skipWhitespaces):
2403         (WebCore::SimpleLineLayout::textWidth):
2404         (WebCore::SimpleLineLayout::createLines):
2405         
2406             The main layout functions that breaks text to lines. It only handles the cases allowed by 
2407             SimpleLineLayout::canUseFor. What it handles it aims to break exactly as line box layout does.
2408
2409         * rendering/SimpleLineLayout.h: Added.
2410         * rendering/SimpleLineLayoutFunctions.cpp: Added.
2411         (WebCore::SimpleLineLayout::paintFlow):
2412         (WebCore::SimpleLineLayout::hitTestFlow):
2413         (WebCore::SimpleLineLayout::collectFlowOverflow):
2414         (WebCore::SimpleLineLayout::computeTextBoundingBox):
2415         * rendering/SimpleLineLayoutFunctions.h: Added.
2416         (WebCore::SimpleLineLayout::computeFlowHeight):
2417         (WebCore::SimpleLineLayout::computeFlowFirstLineBaseline):
2418         (WebCore::SimpleLineLayout::computeFlowLastLineBaseline):
2419         (WebCore::SimpleLineLayout::findTextCaretMinimumOffset):
2420         (WebCore::SimpleLineLayout::findTextCaretMaximumOffset):
2421         (WebCore::SimpleLineLayout::containsTextCaretOffset):
2422         (WebCore::SimpleLineLayout::isTextRendered):
2423         (WebCore::SimpleLineLayout::lineHeightFromFlow):
2424         
2425             Support functions called from RenderBlockFlow and RenderText. They are equivalent to
2426             similar line box functions.
2427
2428         (WebCore::SimpleLineLayout::baselineFromFlow):
2429         * rendering/SimpleLineLayoutResolver.h: Added.
2430         (WebCore::SimpleLineLayout::Resolver::Line::Line):
2431         (WebCore::SimpleLineLayout::Resolver::Line::rect):
2432         (WebCore::SimpleLineLayout::Resolver::Line::baseline):
2433         (WebCore::SimpleLineLayout::Resolver::Line::text):
2434         (WebCore::SimpleLineLayout::Resolver::Iterator::Iterator):
2435         (WebCore::SimpleLineLayout::Resolver::Iterator::operator++):
2436         (WebCore::SimpleLineLayout::Resolver::Iterator::operator--):
2437         (WebCore::SimpleLineLayout::Resolver::Iterator::operator==):
2438         (WebCore::SimpleLineLayout::Resolver::Iterator::operator!=):
2439         (WebCore::SimpleLineLayout::Resolver::Iterator::operator*):
2440         
2441             Lazy iterator for deriving line metrics. This keeps the line data structure small as
2442             we don't need to keep easily derived values around.
2443
2444         (WebCore::SimpleLineLayout::Resolver::Resolver):
2445         (WebCore::SimpleLineLayout::Resolver::size):
2446         (WebCore::SimpleLineLayout::Resolver::begin):
2447         (WebCore::SimpleLineLayout::Resolver::end):
2448         (WebCore::SimpleLineLayout::Resolver::last):
2449         (WebCore::SimpleLineLayout::Resolver::operator[]):
2450
2451 2013-10-24  Myles C. Maxfield  <mmaxfield@apple.com>
2452
2453         Gaps between underlines in adjacent underlined text runs
2454         https://bugs.webkit.org/show_bug.cgi?id=123236
2455
2456         Reviewed by Simon Fraser and Darin Adler.
2457
2458         There are two pieces to this change. The first piece is in
2459         InlineTextBox::paint(). We were putting floating-point
2460         extents into a LayoutSize, which simply uses ints (for now),
2461         and then immediately converting this back to a FloatSize.
2462         Instead, we should be using floats throughout all of
2463         this code.
2464
2465         In addition, inside GraphicsContext::drawLineForText(), we are
2466         rounding the underline to pixel boundaries so that it appears
2467         very crisp on the screen. However, we should round once after
2468         performing computations, rather than rounding twice and then
2469         performing computations on the rounded numbers.
2470
2471         Test: fast/css3-text/css3-text-decoration/no-gap-between-two-rounded-textboxes.html
2472
2473         * platform/graphics/cg/GraphicsContextCG.cpp:
2474         (WebCore::GraphicsContext::drawLineForText): Change rounding mode
2475             to perform computations before rounding
2476         * rendering/InlineTextBox.cpp:
2477         (WebCore::InlineTextBox::paint): Don't convert to a LayoutSize
2478             just to convert to a FloatSize
2479
2480 2013-10-24  Andreas Kling  <akling@apple.com>
2481
2482         SVGRenderingContext should wrap a RenderElement.
2483         <https://webkit.org/b/123283>
2484
2485         The SVG rendering context class is never used with text renderers
2486         so we can have it wrap a RenderElement for tighter code.
2487
2488         Also renamed SVGRenderingContext::m_object to m_renderer.
2489
2490         Reviewed by Antti Koivisto.
2491
2492 2013-10-24  Santosh Mahto  <santosh.ma@samsung.com>
2493
2494         [contenteditable] Content after non-editable element disappears when merging lines using backspace
2495         https://bugs.webkit.org/show_bug.cgi?id=122748
2496
2497         Reviewed by Ryosuke Niwa.
2498
2499         In case of paragraph merging after deletion if second paragraph
2500         contains non-editable element, then content after the non-editable
2501         element(including non-editable element) will be removed while the
2502         content before the element will be merged with the first paragraph.
2503         This happens becasue endOfParagraphToMove calculation in merging function
2504         stop at editing boundary so endOfParagraphToMove becomes position just
2505         before non-editable content.
2506         With this patch now endOfParagraphToMove is calculated by skipping
2507         over the non-editable element.
2508
2509         Test: editing/deleting/merge-paragraph-contatining-noneditable.html
2510
2511         * editing/DeleteSelectionCommand.cpp:
2512         (WebCore::DeleteSelectionCommand::mergeParagraphs): use CanSkipOverEditingBoundary
2513         condition while calculating endOfParagraphToMove.
2514
2515 2013-10-24  Antoine Quint  <graouts@apple.com>
2516
2517         Web Inspector: Inspector doesn't show webkitTransitionEnd events in the timeline
2518         https://bugs.webkit.org/show_bug.cgi?id=123263
2519
2520         Reviewed by Timothy Hatcher.
2521
2522         A legacy event type is only set on an event in EventTarget::fireEventListeners(Event*)
2523         which is called after we used to call InspectorInstrumentation::willDispatchEvent(), the method
2524         that would ultimately yield the creation of a TimelineRecord for the event in the Web Inspector
2525         frontend, and as a result we would try to dispatch an event with an unprefixed event type to
2526         the frontend, which wouldn't even happen because most likely it wouldn't have listeners for this
2527         unprefixed type.
2528
2529         We now move the call to InspectorInstrumentation::willDispatchEvent() in
2530         EventTarget::fireEventListeners(Event*, EventTargetData*, EventListenerVector&) such that the
2531         correct event type and list of listeners is used to determine what event to dispatch to the frontend.
2532
2533         * dom/EventDispatcher.cpp:
2534         (WebCore::EventDispatcher::dispatchEvent):
2535         Remove calls to InspectorInstrumentation::willDispatchEvent() and InspectorInstrumentation::didDispatchEvent().
2536
2537         * dom/EventTarget.cpp:
2538         (WebCore::EventTarget::fireEventListeners):
2539         Add call to InspectorInstrumentation::willDispatchEvent() before we go through each listener and
2540         call InspectorInstrumentation::willHandleEvent(). Additionally, we refactor some code since we're
2541         getting references to the ScriptExecutionContext and Document upfront now.
2542
2543 2013-10-24  Andreas Kling  <akling@apple.com>
2544
2545         SVG: RenderElement-ize intersectRepaintRectWithResources().
2546         <https://webkit.org/b/123278>
2547
2548         SVGRenderSupport::intersectRepaintRectWithResources() is only ever
2549         called with non-text renderers so make it take RenderElement&.
2550
2551         Had to tweak RenderSVGResource::resourceBoundingBox() to take the
2552         renderer by reference.
2553
2554         Reviewed by Antti Koivisto.
2555
2556 2013-10-24  Joseph Pecoraro  <pecoraro@apple.com>
2557
2558         Web Inspector: Breakpoints in sourceURL named scripts do not work
2559         https://bugs.webkit.org/show_bug.cgi?id=123231
2560
2561         Reviewed by Timothy Hatcher.
2562
2563         Remember a Script's sourceURL and sourceMappingURL. When setting a
2564         breakpoint by URL, check it against the sourceURL or original URL.
2565         If a script had a sourceURL that would have been the only URL sent
2566         to the frontend, so that receives priority.
2567
2568         Test: inspector-protocol/debugger/setBreakpointByUrl-sourceURL.html
2569
2570         * inspector/InspectorDebuggerAgent.cpp:
2571         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
2572         (WebCore::InspectorDebuggerAgent::didParseSource):
2573         * inspector/InspectorDebuggerAgent.h:
2574         * inspector/ScriptDebugListener.h:
2575
2576 2013-10-23  Alexey Proskuryakov  <ap@apple.com>
2577
2578         Add CryptoKey base class and bindings
2579         https://bugs.webkit.org/show_bug.cgi?id=123216
2580
2581         Reviewed by Sam Weinig.
2582
2583         * crypto/CryptoKey.idl: Added.
2584
2585         * CMakeLists.txt:
2586         * DerivedSources.make:
2587         * GNUmakefile.list.am:
2588         Process the IDL.
2589
2590         * WebCore.xcodeproj/project.pbxproj: Added files.
2591
2592         * bindings/js/JSCryptoKeyCustom.cpp: Added.
2593         (WebCore::JSCryptoKey::algorithm): Use a visitor to build algorithm dictionary
2594         for the key.
2595
2596         * crypto/CryptoAlgorithmDescriptionBuilder.cpp: Added.
2597         * crypto/CryptoAlgorithmDescriptionBuilder.h: Added.
2598         An interface for a visitor we'll use to expose CrytoKey.algorithm in bindings,
2599         and possibly also for storage serialization. Not complete yet, we'll need support
2600         for a few more simple types, and less trivially, for nested algorithms.
2601
2602         * bindings/js/JSCryptoAlgorithmBuilder.cpp: Added.
2603         * bindings/js/JSCryptoAlgorithmBuilder.h: Added.
2604         An implementation that builds an algorithm description dictionary for JS bindings.
2605
2606         * crypto/CryptoKey.cpp: Added.
2607         (WebCore::CryptoKey::~CryptoKey):
2608         (WebCore::CryptoKey::buildAlgorithmDescription):
2609         * crypto/CryptoKey.h: Added.
2610         Added an almost empty implementation. Some of the functions that are currently
2611         marked as pure virtual will likely be implemented in this base class.
2612
2613 2013-10-24  Commit Queue  <commit-queue@webkit.org>
2614
2615         Unreviewed, rolling out r157916.
2616         http://trac.webkit.org/changeset/157916
2617         https://bugs.webkit.org/show_bug.cgi?id=123274
2618
2619         Broke Layout/flexbox-lots-of-data.html on perfbot (Requested
2620         by ap on #webkit).
2621
2622         * rendering/RenderFlexibleBox.cpp:
2623         (WebCore::RenderFlexibleBox::OrderHashTraits::emptyValue):
2624         (WebCore::RenderFlexibleBox::OrderHashTraits::constructDeletedValue):
2625         (WebCore::RenderFlexibleBox::OrderHashTraits::isDeletedValue):
2626         (WebCore::RenderFlexibleBox::OrderIterator::setOrderValues):
2627         (WebCore::RenderFlexibleBox::layoutBlock):
2628         (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes):
2629         * rendering/RenderFlexibleBox.h:
2630
2631 2013-10-24  Zan Dobersek  <zdobersek@igalia.com>
2632
2633         Comment in ScopedEventQueue::dispatchEvent is unnecessarily verbose
2634         https://bugs.webkit.org/show_bug.cgi?id=123252
2635
2636         Reviewed by Darin Adler.
2637
2638         Shorten the comment about the crash avoidance in ScopedEventQueue::dispatchEvent due to
2639         the calling convention in C++ is left unspecified. The problem was already fixed in r157219
2640         and later adjusted in r157401, but the comment could have been shorter and simpler in both cases.
2641
2642         * dom/ScopedEventQueue.cpp:
2643         (WebCore::ScopedEventQueue::dispatchEvent):
2644
2645 2013-10-24  Alex Christensen  <achristensen@webkit.org>
2646
2647         Removed unused ThreadSafeCoordinatedSurface and CertificateInfoCurl files.
2648         https://bugs.webkit.org/show_bug.cgi?id=123246
2649
2650         Reviewed by Noam Rosenthal.
2651
2652         * WebCore.vcxproj/WebCore.vcxproj:
2653         * WebCore.vcxproj/WebCore.vcxproj.filters:
2654         Removed references to ThreadSafeCoordinatedSurface and CertificateInfoCurl.
2655         * platform/graphics/texmap/coordinated/ThreadSafeCoordinatedSurface.cpp: Removed.
2656         * platform/graphics/texmap/coordinated/ThreadSafeCoordinatedSurface.h: Removed.
2657         * platform/network/curl/CertificateInfoCurl.cpp: Removed.
2658
2659 2013-10-24  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
2660
2661         Removed Qt workaround.
2662         https://bugs.webkit.org/show_bug.cgi?id=123258
2663
2664         Reviewed by Csaba Osztrogon√°c.
2665
2666         No change of functionality, no new tests needed.
2667
2668         !$defines case can be removed, because Qt and Android aren't in WebKit trunk,
2669         all ports (Mac,EFL,GTK,Windows) call this script with --defines option now
2670
2671         * css/make-css-file-arrays.pl:
2672
2673 2013-10-24  Antti Koivisto  <antti@apple.com>
2674
2675         Remove a stray space.
2676         
2677         Not reviewed.
2678
2679         * accessibility/AccessibilityRenderObject.cpp:
2680         (WebCore::AccessibilityRenderObject::addImageMapChildren):
2681
2682 2013-10-24  Antti Koivisto  <antti@apple.com>
2683
2684         Element iterator functions should take reference
2685         https://bugs.webkit.org/show_bug.cgi?id=123267
2686
2687         Reviewed by Andreas Kling.
2688
2689         The argument has to be non-null.
2690
2691 2013-10-24  Ryuan Choi  <ryuan.choi@samsung.com>
2692
2693         [EFL] Build break with latest EFL 1.8 libraries.
2694         https://bugs.webkit.org/show_bug.cgi?id=123245
2695
2696         Reviewed by Gyuyoung Kim.
2697
2698         After fixed build break on EFL 1.8 at r138326, EFL libraries are changed
2699         Eo typedef and splitted header files which contain version macro.
2700
2701         * platform/Widget.h: Changed Eo typedef.
2702         * platform/efl/EflScreenUtilities.h: Ditto.
2703         * platform/graphics/Image.h: Ditto.
2704
2705 2013-10-24  Andreas Kling  <akling@apple.com>
2706
2707         RenderSVGResource: Pass RenderElement to fill/strokePaintingResource.
2708         <https://webkit.org/b/123242>
2709
2710         We never pass text renderers to these functions, so make them take
2711         RenderElement instead.
2712
2713         Reviewed by Anders Carlsson.
2714
2715 2013-10-24  Carlos Garcia Campos  <cgarcia@igalia.com>
2716
2717         [GObject bindings] Make EventTarget interface introspectable
2718         https://bugs.webkit.org/show_bug.cgi?id=77835
2719
2720         Reviewed by Gustavo Noronha Silva.
2721
2722         Add webkit_dom_event_target_add_event_listener_with_closure and
2723         webkit_dom_event_target_remove_event_listener_with_closure to be
2724         used by GObject instrospection bindings. Instead of receving a
2725         GCallback, which makes the function not introspectable, they
2726         receive a GClosure.
2727
2728         * bindings/gobject/GObjectEventListener.cpp:
2729         (WebCore::GObjectEventListener::GObjectEventListener):
2730         (WebCore::GObjectEventListener::~GObjectEventListener):
2731         (WebCore::GObjectEventListener::gobjectDestroyed):
2732         (WebCore::GObjectEventListener::handleEvent):
2733         (WebCore::GObjectEventListener::operator==):
2734         * bindings/gobject/GObjectEventListener.h:
2735         (WebCore::GObjectEventListener::addEventListener):
2736         (WebCore::GObjectEventListener::removeEventListener):
2737         * bindings/gobject/WebKitDOMEventTarget.cpp:
2738         (webkit_dom_event_target_dispatch_event):
2739         (webkit_dom_event_target_add_event_listener):
2740         (webkit_dom_event_target_remove_event_listener):
2741         (webkit_dom_event_target_add_event_listener_with_closure):
2742         (webkit_dom_event_target_remove_event_listener_with_closure):
2743         * bindings/gobject/WebKitDOMEventTarget.h:
2744         * bindings/scripts/CodeGeneratorGObject.pm:
2745         (GenerateEventTargetIface):
2746         * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.cpp:
2747         (webkit_dom_test_event_target_dispatch_event):
2748         (webkit_dom_test_event_target_add_event_listener):
2749         (webkit_dom_test_event_target_remove_event_listener):
2750         * bindings/scripts/test/GObject/WebKitDOMTestNode.cpp:
2751         (webkit_dom_test_node_dispatch_event):
2752         (webkit_dom_test_node_add_event_listener):
2753         (webkit_dom_test_node_remove_event_listener):
2754
2755 2013-10-14  Sergio Villar Senin  <svillar@igalia.com>
2756
2757         Use a Vector instead of HashSet to computed the orderValues in RenderFlexibleBox
2758         https://bugs.webkit.org/show_bug.cgi?id=118620
2759
2760         Reviewed by Antti Koivisto.
2761
2762         Turns out that order is extremelly uncommon so using a Vector is
2763         much less expensive. This also special-cases the much common case
2764         of only having order of value 0 by using Vectors with just one
2765         preallocated member.
2766
2767         Also added the performance test that shows a ~1% win when using a
2768         vector instead of the HashSet.
2769
2770         * rendering/RenderFlexibleBox.cpp:
2771         (WebCore::RenderFlexibleBox::OrderIterator::setOrderValues):
2772         (WebCore::RenderFlexibleBox::layoutBlock):
2773         (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes):
2774         * rendering/RenderFlexibleBox.h:
2775
2776 2013-10-23  ChangSeok Oh  <changseok.oh@collabora.com>
2777
2778         Unreviewed build fix since r157823.
2779         FilterOperation::getOperationType() is renamed FilterOperation::type().
2780
2781         * platform/graphics/texmap/TextureMapperGL.cpp:
2782         (WebCore::prepareFilterProgram):
2783         (WebCore::TextureMapperGL::drawTexture):
2784         (WebCore::TextureMapperGL::drawUsingCustomFilter):
2785         (WebCore::TextureMapperGL::drawFiltered):
2786         (WebCore::BitmapTextureGL::applyFilters):
2787         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
2788         (WebCore::CoordinatedGraphicsScene::injectCachedCustomFilterPrograms):
2789
2790 2013-10-23  Ryuan Choi  <ryuan.choi@samsung.com>
2791
2792         Unreviewed build fix on CMake based ports when CMAKE_BUILD_TYPE is not given.
2793
2794         When CMAKE_BUILD_TYPE is empty, FIND command will be failed.
2795
2796         * CMakeLists.txt:
2797
2798 2013-10-23  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2799
2800         Integrate css3-images image-orientation with existing EXIF support
2801         https://bugs.webkit.org/show_bug.cgi?id=91566
2802
2803         Reviewed by Beth Dakin.
2804
2805         Original patch by David Barr(davidbarr@chromium.org).
2806
2807         This patch passes an information of image orientation into existing EXIF support functions
2808         (draw() functions of image classes mainly). We need to let the functions to know the information
2809         in order to meet the image-orientation requirement.
2810
2811         Spec: http://dev.w3.org/csswg/css-images-3/#the-image-orientation
2812         The css3-images module specification is at last call.
2813
2814         Test: fast/css/image-orientation/image-orientation.html
2815         Image orientation test is to check if incorrect rotation value can be fixed with correct orientation.
2816
2817         * loader/cache/CachedImage.cpp:
2818         (WebCore::CachedImage::imageSizeForRenderer):
2819         * page/DragController.cpp:
2820         (WebCore::DragController::doImageDrag):
2821         * page/Frame.cpp:
2822         (WebCore::Frame::nodeImage):
2823         * platform/graphics/BitmapImage.cpp:
2824         (WebCore::BitmapImage::updateSize):
2825         (WebCore::BitmapImage::sizeRespectingOrientation):
2826         (WebCore::BitmapImage::drawPattern):
2827         * platform/graphics/BitmapImage.h:
2828         * platform/graphics/CrossfadeGeneratedImage.cpp:
2829         (WebCore::CrossfadeGeneratedImage::draw):
2830         * platform/graphics/CrossfadeGeneratedImage.h:
2831         * platform/graphics/GeneratedImage.h:
2832         * platform/graphics/GradientImage.cpp:
2833         (WebCore::GradientImage::draw):
2834         * platform/graphics/GradientImage.h:
2835         * platform/graphics/Image.cpp:
2836         (WebCore::Image::draw):
2837         (WebCore::Image::drawTiled):
2838         * platform/graphics/Image.h:
2839         * platform/graphics/blackberry/ImageBlackBerry.cpp:
2840         * platform/graphics/cairo/BitmapImageCairo.cpp:
2841         (WebCore::BitmapImage::draw):
2842         * platform/graphics/cg/BitmapImageCG.cpp:
2843         * platform/graphics/cg/PDFDocumentImage.cpp:
2844         (WebCore::PDFDocumentImage::draw):
2845         * platform/graphics/cg/PDFDocumentImage.h:
2846         * platform/graphics/win/ImageCGWin.cpp:
2847         (WebCore::BitmapImage::getHBITMAPOfSize):
2848         (WebCore::BitmapImage::drawFrameMatchingSourceSize):
2849         * platform/graphics/wince/ImageBufferWinCE.cpp:
2850         (WebCore::BufferedImage::draw):
2851         * platform/graphics/wince/ImageWinCE.cpp:
2852         (WebCore::BitmapImage::draw):
2853         * platform/mac/DragImageMac.mm:
2854         (WebCore::createDragImageFromImage):
2855         * rendering/RenderEmbeddedObject.cpp:
2856         (WebCore::RenderEmbeddedObject::paintSnapshotImage):
2857         * rendering/RenderImage.cpp:
2858         (WebCore::RenderImage::styleDidChange):
2859         * rendering/RenderSnapshottedPlugIn.cpp:
2860         (WebCore::RenderSnapshottedPlugIn::paintSnapshot):
2861         * rendering/style/RenderStyle.cpp:
2862         (WebCore::RenderStyle::changeRequiresLayout):
2863         * svg/graphics/SVGImage.cpp:
2864         (WebCore::SVGImage::drawForContainer):
2865         (WebCore::SVGImage::nativeImageForCurrentFrame):
2866         (WebCore::SVGImage::draw):
2867         * svg/graphics/SVGImage.h:
2868         * svg/graphics/SVGImageForContainer.cpp:
2869         (WebCore::SVGImageForContainer::draw):
2870         * svg/graphics/SVGImageForContainer.h:
2871
2872 2013-10-23  Andreas Kling  <akling@apple.com>
2873
2874         Tighten typing in SVGInlineTextBox a bit.
2875         <https://webkit.org/b/123238>
2876
2877         Use RenderBoxModelObject& instead of generic RenderObject* in some
2878         places where it happens as a natural consequence of keeping the
2879         original return type from InlineBox::parent()->renderer().
2880
2881         Reviewed by Anders Carlsson.
2882
2883 2013-10-23  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2884
2885         Introduce RENDER_OBJECT_TYPE_CASTS to replace manual toFoo() in child render object
2886         https://bugs.webkit.org/show_bug.cgi?id=123150
2887
2888         Reviewed by Andreas Kling.
2889
2890         As a step to let toFoo use TYPE_CASTS_BASE, toRenderFoo() can use it for child render object.
2891         So, this patch introduces RENDER_OBJECT_TYPE_CASTS based on the TYPE_CASTS_BASE. This will
2892         generate plenty more helper functions for render object type cast.
2893
2894         Some unnecessary type casts are fixed by this change.
2895
2896         No new tests, no behavior changes.
2897
2898         * rendering/RenderBlock.h:
2899         * rendering/RenderBlockFlow.h:
2900         * rendering/RenderBox.h:
2901         * rendering/RenderBoxModelObject.h:
2902         * rendering/RenderButton.h:
2903         * rendering/RenderCounter.h:
2904         * rendering/RenderElement.h:
2905         (WebCore::RenderElement::generatingElement):
2906         * rendering/RenderEmbeddedObject.h:
2907         * rendering/RenderFieldset.h:
2908         * rendering/RenderFileUploadControl.h:
2909         * rendering/RenderFlexibleBox.h:
2910         * rendering/RenderFlowThread.h:
2911         * rendering/RenderFrame.h:
2912         * rendering/RenderFrameSet.h:
2913         * rendering/RenderFullScreen.h:
2914         * rendering/RenderHTMLCanvas.h:
2915         * rendering/RenderIFrame.h:
2916         * rendering/RenderImage.h:
2917         * rendering/RenderInline.h:
2918         * rendering/RenderLayerModelObject.h:
2919         * rendering/RenderLineBreak.h:
2920         * rendering/RenderListBox.h:
2921         * rendering/RenderListItem.h:
2922         * rendering/RenderMedia.h:
2923         * rendering/RenderMenuList.h:
2924         * rendering/RenderMeter.h:
2925         * rendering/RenderMultiColumnBlock.h:
2926         * rendering/RenderMultiColumnSet.h:
2927         * rendering/RenderNamedFlowFragment.h:
2928         * rendering/RenderNamedFlowThread.h:
2929         * rendering/RenderObject.h:
2930         * rendering/RenderProgress.h:
2931         * rendering/RenderQuote.h:
2932         * rendering/RenderRegion.h:
2933         * rendering/RenderReplaced.h:
2934         * rendering/RenderRubyRun.h:
2935         * rendering/RenderScrollbarPart.h:
2936         * rendering/RenderSearchField.h:
2937         * rendering/RenderSlider.h:
2938         * rendering/RenderSnapshottedPlugIn.h:
2939         * rendering/RenderTable.h:
2940         * rendering/RenderTableCaption.h:
2941         * rendering/RenderTableCell.h:
2942         * rendering/RenderTableCol.h:
2943         * rendering/RenderTableRow.h:
2944         * rendering/RenderTableSection.h:
2945         * rendering/RenderText.h:
2946         * rendering/RenderTextControl.h:
2947         * rendering/RenderTextControlMultiLine.h:
2948         * rendering/RenderTextControlSingleLine.h:
2949         * rendering/RenderWidget.h:
2950         * rendering/mathml/RenderMathMLBlock.h:
2951         * rendering/svg/RenderSVGContainer.h:
2952         * rendering/svg/RenderSVGGradientStop.h:
2953         * rendering/svg/RenderSVGImage.h:
2954         * rendering/svg/RenderSVGInlineText.h:
2955         * rendering/svg/RenderSVGPath.h:
2956         * rendering/svg/RenderSVGResourceFilter.h:
2957         * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
2958         (WebCore::RenderSVGResourceFilterPrimitive::styleDidChange):
2959         * rendering/svg/RenderSVGRoot.h:
2960         * rendering/svg/RenderSVGShape.h:
2961         * rendering/svg/RenderSVGText.h:
2962         * rendering/svg/RenderSVGTextPath.h:
2963         * rendering/svg/RenderSVGViewportContainer.h:
2964         * rendering/svg/SVGInlineFlowBox.cpp:
2965         (WebCore::SVGInlineFlowBox::paint):
2966
2967 2013-10-23  Myles C. Maxfield  <mmaxfield@apple.com>
2968
2969         Include misspelling dot gap width when centering misspelling dots
2970         https://bugs.webkit.org/show_bug.cgi?id=122365
2971
2972         Reviewed by Simon Fraser.
2973
2974         When calculating where to place the misspelling dots, we find the
2975         maximum number of full dots that can fit under the misspelled word,
2976         and then center a run of that many dots. However, when we're
2977         centering the run, we are only considering the size of the extra
2978         fractional dot that we cut off. However, the dot image has a "gap"
2979         of transparent pixels (which visually provide tracking for the dots)
2980         which visually appears to be empty space. We should take this gap
2981         space into consideration when centering the run of dots. We also
2982         should make sure that our dots start on integral pixel boundaries
2983         because otherwise we can't set the phase of the dot run properly.
2984
2985         Test: editing/spelling/centering-misspelling-dots.html
2986
2987         * platform/graphics/mac/GraphicsContextMac.mm:
2988         (WebCore::GraphicsContext::drawLineForDocumentMarker):
2989
2990 2013-10-23  Andreas Kling  <akling@apple.com>
2991
2992         SVGFilterBuilder should not be ref-counted.
2993         <https://webkit.org/b/123222>
2994
2995         These objects are singly-owned and do not need ref counting.
2996
2997         Reviewed by Anders Carlsson.
2998
2999 2013-10-23  Brady Eidson  <beidson@apple.com>
3000
3001         Remove unused IDBBackingStoreLevelDB default constructor.
3002
3003         Rubberstamped by Anders Carlsson.
3004
3005         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
3006         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
3007
3008 2013-10-23  Alex Christensen  <achristensen@webkit.org>
3009
3010         Added Texture Mapper and Coordinated Graphics to Windows build for WinCairo.
3011         https://bugs.webkit.org/show_bug.cgi?id=123215
3012
3013         Reviewed by Brent Fulgham.
3014
3015         * WebCore.vcxproj/WebCore.vcxproj:
3016         * WebCore.vcxproj/WebCore.vcxproj.filters:
3017         Added source files for Texture Mapper to Windows build.
3018         * WebCore.vcxproj/WebCoreCairo.props:
3019         Added Texture Mapper include directories for WinCairo.
3020
3021 2013-10-23  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
3022
3023         Adding mock class to test RTCDataChannelHandler
3024         https://bugs.webkit.org/show_bug.cgi?id=123205
3025
3026         Reviewed by Eric Carlson.
3027
3028         Now RTCPeerConnectionHandler-datachannel LayouTest can run properly.
3029         Also updated the expected file, removing the reliable property check (which was removed in the spec)
3030
3031         Existing tests updated.
3032
3033         * CMakeLists.txt:
3034         * platform/mediastream/RTCDataChannelHandlerClient.h:
3035         * platform/mock/RTCDataChannelHandlerMock.cpp: Added.
3036         * platform/mock/RTCDataChannelHandlerMock.h: Added.
3037         * platform/mock/RTCNotifiersMock.cpp:
3038         (WebCore::RemoteDataChannelNotifier::RemoteDataChannelNotifier):
3039         (WebCore::RemoteDataChannelNotifier::fire):
3040         (WebCore::DataChannelStateNotifier::DataChannelStateNotifier):
3041         (WebCore::DataChannelStateNotifier::fire):
3042         * platform/mock/RTCNotifiersMock.h:
3043         * platform/mock/RTCPeerConnectionHandlerMock.cpp:
3044         (WebCore::RTCPeerConnectionHandlerMock::createDataChannel):
3045
3046 2013-10-23  Andreas Kling  <akling@apple.com>
3047
3048         Clock should not be ref-counted.
3049         <https://webkit.org/b/123217>
3050
3051         The Clock object is only ever owned by the MediaController,
3052         so remove the ref counting and store it in a std::unique_ptr.
3053
3054         Also slapped the Clock subclasses with FINAL and OVERRIDE.
3055
3056         Reviewed by Anders Carlsson.
3057
3058 2013-10-23  Mark Lam  <mark.lam@apple.com>
3059
3060         Fix assertion in DatabaseManager::detailsForNameAndOrigin() to be iOS friendly.
3061         https://bugs.webkit.org/show_bug.cgi?id=123218.
3062
3063         Reviewed by Joseph Pecoraro.
3064
3065         No new tests.
3066
3067         * Modules/webdatabase/DatabaseManager.cpp:
3068         (WebCore::DatabaseManager::detailsForNameAndOrigin):
3069
3070 2013-10-23  Alex Christensen  <achristensen@webkit.org>
3071
3072         Separated USE(CA) from USE(ACCELERATED_COMPOSITING) to prepare WinCairo for accelerated compositing.
3073         https://bugs.webkit.org/show_bug.cgi?id=123214
3074
3075         Reviewed by Brent Fulgham.
3076
3077         * platform/graphics/PlatformLayer.h:
3078         Added TextureMapperPlatformLayer PlatformLayer declaration for WinCairo.
3079         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
3080         (WebCore::MediaPlayerPrivateFullscreenWindow::createWindow):
3081         (WebCore::MediaPlayerPrivateFullscreenWindow::wndProc):
3082         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h:
3083         Added USE(CA) where necessary to compile WinCairo with accelerated compositing.
3084
3085 2013-10-23  Myles C. Maxfield  <mmaxfield@apple.com>
3086
3087         Antialias underlines if they're not axis-aligned
3088         https://bugs.webkit.org/show_bug.cgi?id=123004
3089
3090         Reviewed by Simon Fraser.
3091
3092         In order to make underlines crisp, GraphicsContext:drawLineForText
3093         modifies the bounds of the underline rect in order to make the rect
3094         device-pixel-aligned, and then turns off antialiasing when drawing
3095         the line. This makes sense when the underline is axis-aligned, but
3096         doesn't when the rect is rotated or skewed. Therefore, we should
3097         only opt-in to this behavior if the underline we're about to draw
3098         is axis-aligned. This requires figuring out whether or not the
3099         current transformation is axis-aligned every time
3100         GraphicsContext::drawLineForText is called, which will incur a small
3101         performance hit. However, this is justified by underlines looking
3102         much better (antialiased) when the context is rotated or skewed.
3103
3104         Tests: svg/custom/foreign-object-skew.html
3105                svg/zoom/page/zoom-foreignObject.html
3106                svg/zoom/text/zoom-foreignObject.html:
3107
3108         * platform/graphics/cg/GraphicsContextCG.cpp:
3109         (WebCore::GraphicsContext::drawLineForText):
3110
3111 2013-10-23  Mark Lam  <mark.lam@apple.com>
3112
3113         Re-instate ProposedDatabases needed by detailsForNameAndOrigin().
3114         https://bugs.webkit.org/show_bug.cgi?id=123131.
3115
3116         Reviewed by Geoffrey Garen.
3117
3118         Test: storage/websql/open-database-expand-quota.html
3119
3120         If a webpage tries to create a database that exceeds the database size
3121         quota for that security origin, the WebKit1 quota request mechanism
3122         uses detailsForNameAndOrigin() to get the requested size of the database
3123         (that the webpage is attempting to open) in order to determine whether
3124         to increase the quota or not.
3125
3126         Previously, detailsForNameAndOrigin() relies on the ProposedDatabase
3127         mechanism to provide this size information. This change re-instates the
3128         ProposedDatabase mechanism so that WebKit1 client code that relies on
3129         this behavior will continue to work.
3130
3131         * Modules/webdatabase/DatabaseManager.cpp:
3132         (WebCore::DatabaseManager::ProposedDatabase::ProposedDatabase):
3133         (WebCore::DatabaseManager::ProposedDatabase::~ProposedDatabase):
3134         (WebCore::DatabaseManager::DatabaseManager):
3135         (WebCore::DatabaseManager::openDatabaseBackend):
3136         (WebCore::DatabaseManager::fullPathForDatabase):
3137         (WebCore::DatabaseManager::detailsForNameAndOrigin):
3138         * Modules/webdatabase/DatabaseManager.h:
3139         (WebCore::DatabaseManager::ProposedDatabase::origin):
3140         (WebCore::DatabaseManager::ProposedDatabase::details):
3141
3142 2013-10-23  Tim Horton  <timothy_horton@apple.com>
3143
3144         [cg] Fix the capitalization of kCGImageSourceSkipMetaData (-> Metadata)
3145         https://bugs.webkit.org/show_bug.cgi?id=122918
3146
3147         Reviewed by Anders Carlsson.
3148
3149         * platform/graphics/cg/ImageSourceCG.cpp:
3150         (WebCore::imageSourceOptions):
3151         The capitalization of kCGImageSourceSkipMetaData changed to
3152         kCGImageSourceSkipMetadata in Mountain Lion.
3153
3154 2013-10-23  Brady Eidson  <beidson@apple.com>
3155
3156         Make IDBDatabaseBackendLevelDB.cpp be cross platform
3157         https://bugs.webkit.org/show_bug.cgi?id=123027
3158
3159         Attentively reviewed by Dean Jackson.
3160
3161         Move it out of the indexeddb/leveldb directory, and rename it to IDBDatabaseBackendImpl.
3162
3163         Project files:
3164         * CMakeLists.txt:
3165         * GNUmakefile.list.am:
3166         * WebCore.vcxproj/WebCore.vcxproj:
3167         * WebCore.vcxproj/WebCore.vcxproj.filters:
3168         * WebCore.xcodeproj/project.pbxproj:
3169
3170         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp: Renamed from Source/WebCore/Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp.
3171         * Modules/indexeddb/IDBDatabaseBackendImpl.h: Renamed from Source/WebCore/Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.h.
3172
3173         * Modules/indexeddb/IDBDatabaseBackendInterface.h:
3174         (WebCore::IDBDatabaseBackendInterface::isIDBDatabaseBackendImpl): Add to support a required cast in LevelDB code.
3175
3176         * Modules/indexeddb/IDBFactoryBackendInterface.h:
3177
3178         * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp:
3179         * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h:
3180
3181         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
3182         (WebCore::IDBFactoryBackendLevelDB::deleteDatabase):
3183         (WebCore::IDBFactoryBackendLevelDB::open):
3184         (WebCore::IDBFactoryBackendLevelDB::maybeCreateTransactionBackend):
3185         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
3186
3187         * Modules/indexeddb/leveldb/IDBLevelDBCoding.cpp:
3188         * Modules/indexeddb/leveldb/IDBLevelDBCoding.h:
3189
3190         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp:
3191         (WebCore::IDBTransactionBackendLevelDB::create):
3192         (WebCore::IDBTransactionBackendLevelDB::IDBTransactionBackendLevelDB):
3193         (WebCore::IDBTransactionBackendLevelDB::scheduleVersionChangeOperation):
3194         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:
3195
3196         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.cpp:
3197         (WebCore::IDBDatabaseBackendImpl::VersionChangeOperation::perform):
3198         (WebCore::IDBDatabaseBackendImpl::VersionChangeAbortOperation::perform):
3199         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.h:
3200
3201 2013-10-23  Daniel Bates  <dabates@apple.com>
3202
3203         [iOS] Upstream more ARMv7s bits
3204         https://bugs.webkit.org/show_bug.cgi?id=123052
3205
3206         Reviewed by Joseph Pecoraro.
3207
3208         Define exported symbol file for armv7s and arm64.
3209
3210         * Configurations/WebCore.xcconfig:
3211
3212 2013-10-23  Krzysztof Wolanski  <k.wolanski@samsung.com>
3213
3214         [GTK] accessibility/self-referencing-aria-labelledby.html is failing
3215         https://bugs.webkit.org/show_bug.cgi?id=121594
3216
3217         Reviewed by Mario Sanchez Prada.
3218
3219         According to http://www.w3.org/TR/REC-html40/struct/objects.html#edef-IMG
3220         description of image element should be determined by alt attribute, then
3221         if it is empty by title attributte.
3222
3223         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
3224         (webkitAccessibleGetDescription):
3225
3226 2013-10-15  Andreas Kling  <akling@apple.com>
3227
3228         Tighten animation-driven restyle to operate on Element only.
3229         <https://webkit.org/b/122820>
3230
3231         Text nodes are never directly animated, so we can tighten this code
3232         to work on Element only. This happens naturally since the code was
3233         already working with RenderElement everywhere.
3234
3235         Reviewed by Antti Koivisto.
3236
3237 2013-10-22  Andreas Kling  <akling@apple.com>
3238
3239         Even more PassRef<RenderStyle>!
3240         <https://webkit.org/b/123147>
3241
3242         Convert more of the WebCore code to use PassRef for RenderStyle
3243         in places where they are known to be non-null.
3244
3245         Re-landing this without region styling since that caused some
3246         assertions last time.
3247
3248         Reviewed by Antti Koivisto.
3249
3250 2013-10-22  Zoltan Horvath  <zoltan@webkit.org>
3251
3252         Refactor LineBreaker::nextSegmentBreak, add BreakingContext that holds all its state
3253         https://bugs.webkit.org/show_bug.cgi?id=123038
3254
3255         Reviewed by David Hyatt.
3256
3257         I followed Levi's logic on Blink's nextSegmentBreak refactoring (https://chromiumcodereview.appspot.com/25054004). 
3258         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
3259         introduces BreakingContext as a separate class. I added new methods for each condition, which were originally located in
3260         nextSegmentBreak. I also removed the goto-s from the code. All the new methods are inline in order to avoid introducing any
3261         performance regression. The change makes the code so much cleaner and understandable.
3262
3263         This change would be the first step of the nextSegmentBreak refactoring, I wanted to keep things in place in RenderBlockLineLayout.cpp
3264         for now, but I'm planning to separate BreakingContext into a new file and do additional changes to make things nicer. I'm tracking
3265         the entire progress under http://webkit.org/b/121261 meta bug.
3266
3267         No new tests, covered by existing tests.
3268         - I updated 1 expected result, because there was a 1 pixel difference on the result, which I believe comes from a rounding situation.
3269
3270         * rendering/RenderBlockFlow.h:
3271         * rendering/RenderBlockLineLayout.cpp:
3272         (WebCore::BreakingContext::BreakingContext):
3273         (WebCore::BreakingContext::currentObject):
3274         (WebCore::BreakingContext::lineBreak):
3275         (WebCore::BreakingContext::lineBreakRef):
3276         (WebCore::BreakingContext::lineWidth):
3277         (WebCore::BreakingContext::atEnd):
3278         (WebCore::BreakingContext::clearLineBreakIfFitsOnLine):
3279         (WebCore::BreakingContext::commitLineBreakAtCurrentWidth):
3280         (WebCore::BreakingContext::initializeForCurrentObject):
3281         (WebCore::BreakingContext::increment):
3282         (WebCore::BreakingContext::handleBR):
3283         (WebCore::BreakingContext::handleOutOfFlowPositioned):
3284         (WebCore::BreakingContext::handleFloat):
3285         (WebCore::BreakingContext::handleEmptyInline):
3286         (WebCore::BreakingContext::handleReplaced):
3287         (WebCore::nextCharacter):
3288         (WebCore::BreakingContext::handleText):
3289         (WebCore::textBeginsWithBreakablePosition):
3290         (WebCore::BreakingContext::canBreakAtThisPosition):
3291         (WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):
3292         (WebCore::BreakingContext::handleEndOfLine):
3293         (WebCore::LineBreaker::nextSegmentBreak):
3294
3295 2013-10-22  Commit Queue  <commit-queue@webkit.org>
3296
3297         Unreviewed, rolling out r157826.
3298         http://trac.webkit.org/changeset/157826
3299         https://bugs.webkit.org/show_bug.cgi?id=123197
3300
3301         Caused some regions tests to assert (Requested by smfr on
3302         #webkit).
3303
3304         * dom/Document.cpp:
3305         (WebCore::Document::styleForElementIgnoringPendingStylesheets):
3306         * dom/Document.h:
3307         * dom/Element.cpp:
3308         (WebCore::Element::styleForRenderer):
3309         * dom/Element.h:
3310         * dom/ElementRareData.h:
3311         (WebCore::ElementRareData::setComputedStyle):
3312         (WebCore::ElementRareData::resetComputedStyle):
3313         * html/HTMLTitleElement.cpp:
3314         (WebCore::HTMLTitleElement::textWithDirection):
3315         * page/animation/AnimationController.cpp:
3316         (WebCore::AnimationController::updateAnimations):
3317         * page/animation/CompositeAnimation.cpp:
3318         (WebCore::CompositeAnimation::animate):
3319         * page/animation/CompositeAnimation.h:
3320         * rendering/RenderElement.cpp:
3321         (WebCore::RenderElement::createFor):
3322         * rendering/RenderElement.h:
3323         (WebCore::RenderElement::setStyleInternal):
3324         * rendering/RenderRegion.cpp:
3325         (WebCore::RenderRegion::setRegionObjectsRegionStyle):
3326         (WebCore::RenderRegion::restoreRegionObjectsOriginalStyle):
3327         (WebCore::RenderRegion::computeStyleInRegion):
3328         (WebCore::RenderRegion::computeChildrenStyleInRegion):
3329         (WebCore::RenderRegion::setObjectStyleInRegion):
3330         * rendering/RenderRegion.h:
3331         * style/StyleResolveTree.cpp:
3332         (WebCore::Style::resolveLocal):
3333
3334 2013-10-22  Ryuan Choi  <ryuan.choi@samsung.com>
3335
3336         [EFL] Remove HAVE_GLX macro
3337         https://bugs.webkit.org/show_bug.cgi?id=123191
3338
3339         Reviewed by Gyuyoung Kim.
3340
3341         Since r138313, HAVE(GLX) was replaced to USE(GLX) except in GraphicsSurfaceToken.h.
3342
3343         * platform/graphics/surfaces/GraphicsSurfaceToken.h:
3344         Replace HAVE(GLX) to USE(GLX)
3345
3346 2013-10-22  Mark Lam  <mark.lam@apple.com>
3347
3348         Gardening: fix broken build on Windows.
3349         https://bugs.webkit.org/show_bug.cgi?id=123174.
3350
3351         Not reviewed.
3352
3353         No new tests.
3354
3355         * WebCore.vcxproj/WebCore.vcxproj:
3356         * WebCore.vcxproj/WebCore.vcxproj.filters:
3357
3358 2013-10-22  Brady Eidson  <beidson@apple.com>
3359
3360         Get rid of IDBObjectStoreBackendLevelDB
3361         https://bugs.webkit.org/show_bug.cgi?id=123174
3362
3363         Reviewed by Tim Horton.
3364
3365         This file was kind of a dumping ground.
3366         Its contents can be merged into IDBBackingStoreInterface and a new IDBIndexWriter class.
3367
3368         Also took the opportunity to do a little bit of RefPtr<> and pointer-vs-reference cleanup.
3369
3370         * CMakeLists.txt:
3371         * GNUmakefile.list.am:
3372         * WebCore.xcodeproj/project.pbxproj:
3373
3374         * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.cpp: Removed.
3375         * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.h: Removed.
3376
3377         * Modules/indexeddb/IDBIndexWriter.cpp: Added.
3378         (WebCore::IDBIndexWriter::IDBIndexWriter):
3379         (WebCore::IDBIndexWriter::writeIndexKeys):
3380         (WebCore::IDBIndexWriter::verifyIndexKeys):
3381         (WebCore::IDBIndexWriter::addingKeyAllowed):
3382         * Modules/indexeddb/IDBIndexWriter.h: Added.
3383         (WebCore::IDBIndexWriter::create):
3384
3385         * Modules/indexeddb/IDBBackingStoreInterface.h:
3386         * Modules/indexeddb/IDBDatabaseBackendInterface.h:
3387
3388         * Modules/indexeddb/IDBMetadata.h:
3389         * Modules/indexeddb/IDBTransactionBackendInterface.h:
3390
3391         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
3392         (WebCore::IDBBackingStoreLevelDB::makeIndexWriters):
3393         (WebCore::IDBBackingStoreLevelDB::generateKey):
3394         (WebCore::IDBBackingStoreLevelDB::updateKeyGenerator):
3395         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
3396
3397         * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp:
3398         (WebCore::IDBDatabaseBackendLevelDB::setIndexKeys):
3399         (WebCore::IDBDatabaseBackendLevelDB::setIndexesReady):
3400         * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.h:
3401
3402         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp:
3403         (WebCore::IDBTransactionBackendLevelDB::schedulePutOperation):
3404         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:
3405
3406         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.cpp:
3407         (WebCore::PutOperation::perform):
3408         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.h:
3409         (WebCore::PutOperation::create):
3410         (WebCore::PutOperation::PutOperation):
3411
3412 2013-10-22  Dean Jackson  <dino@apple.com>
3413
3414         [WebGL] Implement a software rendering option on Mac
3415         https://bugs.webkit.org/show_bug.cgi?id=123177
3416
3417         Reviewed by Tim Horton.
3418
3419         Implement a way to force software OpenGL rendering
3420         for WebGL, via a Setting/Preference.
3421
3422         No new tests. We intentionally hide the capabilities of
3423         the renderer from the content, so you can't test for
3424         this setting. However, manual inspection is pretty
3425         obvious. Just go to a page with a complex shader
3426         such as https://www.shadertoy.com/view/lss3WS.
3427
3428         * html/canvas/WebGLRenderingContext.cpp:
3429         (WebCore::WebGLRenderingContext::create): If we're forcing software
3430         rendering, mark the context attributes as such.
3431         * page/Settings.in: New setting key.
3432         * platform/graphics/GraphicsContext3D.h: New flag in Attributes.
3433         (WebCore::GraphicsContext3D::Attributes::Attributes):
3434         * platform/graphics/mac/GraphicsContext3DMac.mm:
3435         (WebCore::GraphicsContext3D::GraphicsContext3D): Slight update to the
3436         algorithm that sets a pixel format. If we're forcing software rendering,
3437         obviously we never want to create an accelerated pixel format.
3438         * platform/graphics/filters/CustomFilterGlobalContext.cpp:
3439         (WebCore::CustomFilterGlobalContext::prepareContextIfNeeded): Set the attribute
3440         here before trying to create the context.
3441         * platform/graphics/filters/CustomFilterGlobalContext.h: Add a forceSoftwareRendering
3442         flag to prepareContextIfNeeded.
3443         * rendering/FilterEffectRenderer.cpp:
3444         (WebCore::createCustomFilterEffect): Check the Setting before creating a custom
3445         filter context.
3446
3447 2013-10-22  Anders Carlsson  <andersca@apple.com>
3448
3449         Revert r157445 since it broke certificates on Mac.
3450         <rdar://problem/15246926&15254017&15269117>
3451
3452         * GNUmakefile.list.am:
3453         * PlatformEfl.cmake:
3454         * WebCore.exp.in:
3455         * WebCore.vcxproj/WebCore.vcxproj:
3456         * WebCore.vcxproj/WebCore.vcxproj.filters:
3457         * WebCore.xcodeproj/project.pbxproj:
3458         * platform/network/ResourceErrorBase.h:
3459         * platform/network/ResourceResponseBase.h:
3460         * platform/network/cf/CertificateInfoCFNet.cpp: Removed.
3461         * platform/network/cf/ResourceResponse.h:
3462         * platform/network/mac/ResourceResponseMac.mm:
3463         (WebCore::ResourceResponse::setCertificateChain):
3464         (WebCore::ResourceResponse::certificateChain):
3465         * platform/network/soup/ResourceError.h:
3466         (WebCore::ResourceError::ResourceError):
3467         (WebCore::ResourceError::tlsErrors):
3468         (WebCore::ResourceError::setTLSErrors):
3469         (WebCore::ResourceError::certificate):
3470         (WebCore::ResourceError::setCertificate):
3471         * platform/network/soup/ResourceErrorSoup.cpp:
3472         (WebCore::ResourceError::tlsError):
3473         (WebCore::ResourceError::platformCopy):
3474         (WebCore::ResourceError::platformCompare):
3475         * platform/network/soup/ResourceResponse.h:
3476         (WebCore::ResourceResponse::ResourceResponse):
3477         (WebCore::ResourceResponse::soupMessageCertificate):
3478         (WebCore::ResourceResponse::setSoupMessageCertificate):
3479         (WebCore::ResourceResponse::soupMessageTLSErrors):
3480         (WebCore::ResourceResponse::setSoupMessageTLSErrors):
3481         * platform/network/soup/ResourceResponseSoup.cpp:
3482         (WebCore::ResourceResponse::toSoupMessage):
3483         (WebCore::ResourceResponse::updateFromSoupMessage):
3484
3485 2013-10-22  Jer Noble  <jer.noble@apple.com>
3486
3487         [Media] Refactor supportsType() factory method to take a parameters object.
3488         https://bugs.webkit.org/show_bug.cgi?id=122489
3489
3490         Reviewed by Eric Carlson.
3491
3492         In order to support adding new conditional properties with which to decide
3493         what MediaPlayerPrivate subclass to create, replace the two versions of the
3494         supportsType() factory method with a single one taking a parameters object.
3495
3496         At the same time, add a 'isMediaSource' parameter to that object, allowing
3497         MediaPlayerPrivate subclasses which support the same type and codecs but
3498         which do not both support MediaSource to be distinguised.
3499
3500         * platform/graphics/MediaPlayer.cpp:
3501         (WebCore::bestMediaEngineForSupportParameters): Renamed from
3502             bestMediaEngineForTypeAndCodecs.
3503         (WebCore::MediaPlayer::nextBestMediaEngine): Added convenience function.
3504         (WebCore::MediaPlayer::loadWithNextMediaEngine): Call nextBestMediaEngine()
3505         (WebCore::MediaPlayer::supportsType): Pass parameter object.
3506         (WebCore::MediaPlayer::networkStateChanged): Call nextBestMediaEngine().
3507         * platform/graphics/MediaPlayer.h:
3508         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
3509         (WebCore::MediaPlayerPrivateAVFoundationCF::supportsType): Handle parameter object.
3510         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
3511         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
3512         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
3513         (WebCore::MediaPlayerPrivateAVFoundationObjC::registerMediaEngine): Remove extraneous
3514             extendedSupportsType method.
3515         (WebCore::MediaPlayerPrivateAVFoundationObjC::supportsType): Handle parameter object.
3516         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
3517         (WebCore::MediaPlayerPrivate::supportsType): Ditto.
3518         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
3519         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
3520         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
3521         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
3522         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3523         (WebCore::MediaPlayerPrivateQTKit::registerMediaEngine): Remove extraneous
3524             extendedSupportsType method.
3525         (WebCore::MediaPlayerPrivateQTKit::supportsType): Handle parameter object.
3526         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
3527         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::supportsType): Ditto.
3528         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
3529         * platform/graphics/wince/MediaPlayerPrivateWinCE.h:
3530
3531 2013-10-22  Andreas Kling  <akling@apple.com>
3532
3533         Merge SVGRenderBlock::styleWillChange() into styleDidChange().
3534         <https://webkit.org/b/123181>
3535
3536         I meant to do this one in r157787, but better late than never.
3537
3538         Reviewed by Geoffrey Garen.
3539
3540 2013-10-22  Sam Weinig  <sam@webkit.org>
3541
3542         CTTE: Modernize RenderBlock a bit
3543         https://bugs.webkit.org/show_bug.cgi?id=123162
3544
3545         Reviewed by Andreas Kling.
3546
3547         Start threading references through RenderBlock. While we 
3548         are here, do some selective modernization as well.
3549
3550 2013-10-22  Andreas Kling  <akling@apple.com>
3551
3552         Even more PassRef<RenderStyle>!
3553         <https://webkit.org/b/123147>
3554
3555         Convert the remaining WebCore code to use PassRef for RenderStyle
3556         wherever they are known to be non-null.
3557
3558         Reviewed by Antti Koivisto.
3559
3560 2013-10-22  Commit Queue  <commit-queue@webkit.org>
3561
3562         Unreviewed, rolling out r157819.
3563         http://trac.webkit.org/changeset/157819
3564         https://bugs.webkit.org/show_bug.cgi?id=123180
3565
3566         Broke 32-bit builds (Requested by smfr on #webkit).
3567
3568         * Configurations/WebCore.xcconfig:
3569
3570 2013-10-22  Antti Koivisto  <antti@apple.com>
3571
3572         Rename deleteLineBoxTree to deleteLines
3573         https://bugs.webkit.org/show_bug.cgi?id=123176
3574
3575         Reviewed by Andreas Kling.
3576
3577         RenderBlock::deleteLineBoxTree -> RenderBlock::deleteLines
3578         RenderInline::deleteLineBoxTree -> RenderInline::deleteLines
3579
3580 2013-10-22  Tim Horton  <timothy_horton@apple.com>
3581
3582         {ClipPathOperation, FilterOperation}::getOperationType() should not include 'get'
3583         https://bugs.webkit.org/show_bug.cgi?id=123172
3584
3585         Reviewed by Simon Fraser.
3586
3587         No new tests, just a rename.
3588
3589         "get" in WebCore tends to mean that the function has out arguments; these have no arguments.
3590         Rename FilterOperation::getOperationType() to FilterOperation::type().
3591         I noticed that ClipPathOperation had the same mistake, so I fixed it there too.
3592
3593         Removed long and useless list of files.
3594
3595 2013-10-22  Samuel White  <samuel_white@apple.com>
3596
3597         AX: Add paramAttrs to fetch start and end text markers in a given rect.
3598         https://bugs.webkit.org/show_bug.cgi?id=122164
3599
3600         Reviewed by Chris Fleizach.
3601
3602         Added ability to fetch end and start text markers inside a given bounds. This gives ScreenReaders
3603         like VoiceOver a way to retrieve the text markers for a specified column of page text.
3604
3605         Test: platform/mac/accessibility/text-marker-for-bounds.html
3606
3607         * accessibility/AccessibilityObject.cpp:
3608         (WebCore::AccessibilityObject::mainFrame):
3609         (WebCore::AccessibilityObject::topDocument):
3610         (WebCore::AccessibilityObject::visiblePositionForBounds):
3611         * accessibility/AccessibilityObject.h:
3612         * accessibility/AccessibilityRenderObject.cpp:
3613         * accessibility/AccessibilityRenderObject.h:
3614         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
3615         (-[WebAccessibilityObjectWrapper screenToContents:]):
3616         (-[WebAccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
3617         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
3618
3619 2013-10-22  Zoltan Horvath  <zoltan@webkit.org>
3620
3621         [CSS Shapes] Match adjustLogicalLineTopAndLogicalHeightIfNeeded's implementation with Blink's
3622         https://bugs.webkit.org/show_bug.cgi?id=123033
3623
3624         Reviewed by David Hyatt.
3625
3626         In Blink I made this function in a bit different way. This change modifies it
3627         to be identical, which helps a lot in the future cross-merging patches.
3628
3629         No new tests, covered by existing texts.
3630
3631         * rendering/RenderBlockLineLayout.cpp:
3632         (WebCore::RenderBlockFlow::adjustLogicalLineTopAndLogicalHeightIfNeeded):
3633
3634 2013-10-22  Daniel Bates  <dabates@apple.com>
3635
3636         [iOS] Upstream more ARMv7s bits
3637         https://bugs.webkit.org/show_bug.cgi?id=123052
3638
3639         Reviewed by Joseph Pecoraro.
3640
3641         * Configurations/WebCore.xcconfig:
3642
3643 2013-10-22  Simon Fraser  <simon.fraser@apple.com>
3644
3645         Try to fix Mavericks build; use <> for framework include.
3646
3647         * page/CaptionUserPreferencesMediaAF.cpp:
3648
3649 2013-10-22  Tim Horton  <timothy_horton@apple.com>
3650
3651         GammaFilterOperation seems to be dead code
3652         https://bugs.webkit.org/show_bug.cgi?id=123173
3653
3654         Reviewed by Simon Fraser.
3655
3656         * platform/graphics/filters/FilterOperation.cpp:
3657         * platform/graphics/filters/FilterOperation.h:
3658         Remove dead code.
3659
3660 2013-10-22  Antti Koivisto  <antti@apple.com>
3661
3662         Rename some line box functions to be just about lines
3663         https://bugs.webkit.org/show_bug.cgi?id=123168
3664
3665         Reviewed by Dave Hyatt.
3666
3667         firstLineBoxBaseline -> firstLineBaseline
3668         hasInlineBoxChildren -> hasLines
3669         
3670         Also use hasLines in a bunch of places where firstLineBox() was used.
3671
3672         * accessibility/AccessibilityRenderObject.cpp:
3673         (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
3674         
3675             Also use hasRenderedText() instead of firstTextBox()
3676
3677         * rendering/RenderFullScreen.cpp:
3678         
3679             Fix namespace.
3680
3681 2013-10-22  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
3682
3683         Adding Mock class to test RTCPeerConnection
3684         https://bugs.webkit.org/show_bug.cgi?id=122848
3685
3686         Reviewed by Eric Carlson.
3687
3688         The following tests can be run:
3689
3690             RTCPeerConnection-createAnswer.html
3691             RTCPeerConnection-createOffer.html
3692             RTCPeerConnection-ice.html
3693             RTCPeerConnection-localDescription.html
3694             RTCPeerConnection-remoteDescription.html
3695             RTCPeerConnection-state.html
3696
3697         Tests that require a MediaStream object, by invoking getUserMedia,
3698         are not ready to run yet.
3699
3700         No new tests needed.
3701
3702         * CMakeLists.txt:
3703         * platform/mediastream/RTCPeerConnectionHandler.cpp:
3704         (WebCore::createHandler):
3705         * platform/mediastream/RTCPeerConnectionHandler.h:
3706         * platform/mediastream/RTCPeerConnectionHandlerClient.h:
3707         * platform/mock/RTCNotifiersMock.cpp: Added.
3708         * platform/mock/RTCNotifiersMock.h: Added.
3709         * platform/mock/RTCPeerConnectionHandlerMock.cpp: Added.
3710         * platform/mock/RTCPeerConnectionHandlerMock.h: Copied from Source/WebCore/platform/mediastream/RTCPeerConnectionHandler.h.
3711         * platform/mock/TimerEventBasedMock.h: Added.
3712         * testing/Internals.cpp:
3713         (WebCore::Internals::Internals):
3714         (WebCore::Internals::enableMockRTCPeerConnectionHandler):
3715         * testing/Internals.h:
3716
3717 2013-10-22  Zan Dobersek  <zdobersek@igalia.com>
3718
3719         WebCore::fillWithEmptyClients adopts new empty clients before leaking their pointers
3720         https://bugs.webkit.org/show_bug.cgi?id=122945
3721
3722         Reviewed by Anders Carlsson.
3723
3724         * loader/EmptyClients.cpp:
3725         (WebCore::fillWithEmptyClients): Store the static empty clients as NeverDestroyed, rather than
3726         adopting the pointer of each heap-allocated object and then immediately leaking that pointer.
3727
3728 2013-10-22  Zan Dobersek  <zdobersek@igalia.com>
3729
3730         Simplify HRTFDatabaseLoader's load map
3731         https://bugs.webkit.org/show_bug.cgi?id=122944
3732
3733         Reviewed by Eric Carlson.
3734
3735         * platform/audio/HRTFDatabaseLoader.cpp:
3736         (WebCore::loaderMap): Return a reference to a NeverDestroyed HashMap that maps sample rates to loaders.
3737         (WebCore::HRTFDatabaseLoader::createAndLoadAsynchronouslyIfNecessary):
3738         (WebCore::HRTFDatabaseLoader::~HRTFDatabaseLoader):
3739         * platform/audio/HRTFDatabaseLoader.h: Remove the LoaderMap type definition, the private singleton of that type
3740         and the singleton's unused getter.
3741
3742 2013-10-22  Tim Horton  <timothy_horton@apple.com>
3743
3744         Remote Layer Tree: Support hardware accelerated filters
3745         https://bugs.webkit.org/show_bug.cgi?id=123139
3746
3747         Reviewed by Anders Carlsson.
3748
3749         * WebCore.exp.in:
3750         Export a variety of filter-related things.
3751
3752         * platform/graphics/ca/PlatformCAFilters.h:
3753         * platform/graphics/ca/mac/PlatformCAFiltersMac.mm:
3754         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
3755         (PlatformCALayerMac::setFilters):
3756         * platform/graphics/ca/win/PlatformCAFiltersWin.cpp:
3757         (PlatformCAFilters::setFiltersOnLayer):
3758         setFiltersOnLayer should take a PlatformLayer instead of a PlatformCALayer
3759         as its argument, because it doesn't need a PlatformCALayer, and this way
3760         we can share code with the RemoteLayerTreeHost, which only has PlatformLayers
3761         and not PlatformCALayers.
3762
3763 2013-10-22  Brendan Long  <b.long@cablelabs.com>
3764
3765         cue.text fails for some track element cues
3766         https://bugs.webkit.org/show_bug.cgi?id=81123
3767
3768         Reviewed by Eric Carlson.
3769
3770         Test: media/track/track-long-captions-file.html
3771
3772         * html/track/WebVTTParser.cpp:
3773         (WebCore::WebVTTParser::parseBytes): Use buffer when we don't have full lines.
3774         (WebCore::WebVTTParser::fileFinished): Force file to finish parsing.
3775         (WebCore::WebVTTParser::hasRequiredFileIdentifier): Simplify due to using String.
3776         (WebCore::WebVTTParser::collectCueText): Don't automatically create cues when we run out of data.
3777         (WebCore::WebVTTParser::collectNextLine): Use buffer.
3778         * html/track/WebVTTParser.h: Add m_buffer and Finished state.
3779         * loader/TextTrackLoader.cpp:
3780         (WebCore::TextTrackLoader::notifyFinished): Call m_parser->fileFinished() when done.
3781
3782 2013-10-22  peavo@outlook.com  <peavo@outlook.com>
3783
3784         [WinCairo] Compile error.
3785         https://bugs.webkit.org/show_bug.cgi?id=123161
3786
3787         Reviewed by Brent Fulgham.
3788
3789         * rendering/RenderFlowThread.h: Move USE(ACCELERATED_COMPOSITING) guard to expose needed type.
3790
3791 2013-10-21  Brady Eidson  <beidson@apple.com>
3792
3793         Add a cross-platform IDBRecordIdentifier
3794         https://bugs.webkit.org/show_bug.cgi?id=123138
3795
3796         Reviewed by Andreas Kling.
3797
3798         Add the cross-platform header:
3799         * Modules/indexeddb/IDBRecordIdentifier.h: Added.
3800         (WebCore::IDBRecordIdentifier::create):
3801         (WebCore::IDBRecordIdentifier::encodedPrimaryKey):
3802         (WebCore::IDBRecordIdentifier::version):
3803         (WebCore::IDBRecordIdentifier::reset):
3804         (WebCore::IDBRecordIdentifier::IDBRecordIdentifier):
3805         * WebCore.xcodeproj/project.pbxproj:
3806         * GNUmakefile.list.am:
3807
3808         Remove the old abstract and LevelDB classes:
3809         * Modules/indexeddb/IDBBackingStoreInterface.h:
3810         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
3811
3812         Use the cross-platform one everywhere:
3813         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
3814         (WebCore::IDBBackingStoreLevelDB::putRecord):
3815         (WebCore::IDBBackingStoreLevelDB::deleteRecord):
3816         (WebCore::IDBBackingStoreLevelDB::keyExistsInObjectStore):
3817         (WebCore::IDBBackingStoreLevelDB::putIndexDataForRecord):
3818         (WebCore::ObjectStoreKeyCursorImpl::loadCurrentRow):
3819         (WebCore::ObjectStoreCursorImpl::loadCurrentRow):
3820
3821         * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp:
3822         (WebCore::IDBDatabaseBackendLevelDB::setIndexKeys):
3823
3824         * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.cpp:
3825         (WebCore::IDBObjectStoreBackendLevelDB::IndexWriter::writeIndexKeys):
3826
3827         * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.h:
3828         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.cpp:
3829         (WebCore::PutOperation::perform):
3830
3831 2013-10-22  Andrei Bucur  <abucur@adobe.com>
3832
3833         [CSS Regions] Possible performance regression after r157567
3834         https://bugs.webkit.org/show_bug.cgi?id=123016
3835
3836         Reviewed by Andreas Kling.
3837
3838         The revision 157567 http://trac.webkit.org/changeset/157567 may have regressed
3839         Parser/html5-full-render by ~1.1% and Parser/html-parser by ~2%. These changes
3840         try to optimize the initial patch, based on Andreas Kling's review.
3841
3842         The patch also adds a couple of refactorings that should make the code easier to read:
3843         - the CSS Shapes functions are now wrapped in a single #if clause
3844         - the CSS Shapes and CSS Regions pre-layout preparations are wrapped in a helper function
3845
3846         The RenderFlowThread::logicalWidthChangedInRegionsForBlock function is optimized by passing
3847         it information about the state of the relayout children flag. If the flag is true already,
3848         some of the steps are skipped.
3849
3850         Tests: no new tests.
3851
3852         * dom/Element.cpp:
3853         (WebCore::Element::webkitGetRegionFlowRanges):
3854         * inspector/InspectorOverlay.cpp:
3855         (WebCore::buildObjectForElementInfo):
3856         * rendering/RenderBlock.cpp:
3857         (WebCore::shapeInfoRequiresRelayout):
3858         (WebCore::RenderBlock::updateShapesBeforeBlockLayout):
3859         (WebCore::RenderBlock::computeShapeSize):
3860         (WebCore::RenderBlock::prepareShapesAndPaginationBeforeBlockLayout):
3861         * rendering/RenderBlock.h:
3862         * rendering/RenderBlockFlow.cpp:
3863         (WebCore::RenderBlockFlow::layoutBlock):
3864         (WebCore::RenderBlockFlow::createRenderNamedFlowFragmentIfNeeded):
3865         (WebCore::RenderBlockFlow::setRenderNamedFlowFragment):
3866         (WebCore::RenderBlockFlow::ensureRareData):
3867         * rendering/RenderBlockFlow.h:
3868         (WebCore::RenderBlockFlow::RenderBlockFlowRareData::RenderBlockFlowRareData):
3869         (WebCore::RenderElement::isRenderNamedFlowFragmentContainer):
3870         * rendering/RenderDeprecatedFlexibleBox.cpp:
3871         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
3872         * rendering/RenderElement.h:
3873         (WebCore::RenderElement::generatingElement):
3874         * rendering/RenderFlexibleBox.cpp:
3875         (WebCore::RenderFlexibleBox::layoutBlock):
3876         * rendering/RenderFlowThread.cpp:
3877         (WebCore::RenderFlowThread::logicalWidthChangedInRegionsForBlock):
3878         * rendering/RenderFlowThread.h:
3879         * rendering/RenderGrid.cpp:
3880         (WebCore::RenderGrid::layoutBlock):
3881         * rendering/RenderNamedFlowFragment.h:
3882         * rendering/RenderObject.cpp:
3883         * rendering/RenderObject.h:
3884         * rendering/RenderTreeAsText.cpp:
3885         (WebCore::write):
3886         * style/StyleResolveTree.cpp:
3887         (WebCore::Style::elementInsideRegionNeedsRenderer):
3888
3889 2013-10-22  Andreas Kling  <akling@apple.com>
3890
3891         CSSStyleSheet constructor functions should return PassRef.
3892         <https://webkit.org/b/123156>
3893
3894         Make CSSStyleSheet::create*() return PassRef and tighten some call
3895         sites that were using them. Most callers didn't need any tweaks to
3896         take advantage of PassRef.
3897
3898         Reviewed by Antti Koivisto.
3899
3900 2013-10-22  Andreas Kling  <akling@apple.com>
3901
3902         CTTE: RenderMathMLFraction always has a MathMLInlineContainerElement.
3903         <https://webkit.org/b/123154>
3904
3905         This renderer is never anonymous and always has a corresponding
3906         MathMLInlineContainerElement. Overload element() with a tighter
3907         return type.
3908
3909         Also marked the class FINAL and made most member functions private.
3910
3911         Reviewed by Antti Koivisto.
3912
3913 2013-10-22  Andreas Kling  <akling@apple.com>
3914
3915         FontGlyphs constructor functions should return PassRef.
3916         <https://webkit.org/b/123159>
3917
3918         Made the two FontGlyphs creator functions return PassRef and tweaked
3919         the FontGlyphsCache in Font.cpp to make more efficient use of it.
3920
3921         Reviewed by Antti Koivisto.
3922
3923 2013-10-22  Andreas Kling  <akling@apple.com>
3924
3925         Fix some more code to use RenderElement instead of RenderObject.
3926         <https://webkit.org/b/123149>
3927
3928         Using RenderElement where possible lets us skip the isRenderElement()
3929         branch in RenderObject::style() and generates much tighter code.
3930
3931         Reviewed by Antti Koivisto.
3932
3933 2013-10-22  Andreas Kling  <akling@apple.com>
3934
3935         Merge SVG renderers' styleWillChange() into styleDidChange().
3936         <https://webkit.org/b/123108>
3937
3938         This work can just as well be done after setting the style.
3939         Three more styleWillChange() overloads gone.
3940
3941         Reviewed by Antti Koivisto.
3942
3943 2013-10-22  Andreas Kling  <akling@apple.com>
3944
3945         CSSValueList constructor functions should return PassRef.
3946         <https://webkit.org/b/123151>
3947
3948         These functions always return objects, and thus can return PassRef.
3949         Also made CSSValueList::createFromParserValueList() take a reference
3950         since that function is only ever called with a non-null value.
3951
3952         Reviewed by Antti Koivisto.
3953
3954 2013-10-22  Andreas Kling  <akling@apple.com>
3955
3956         Avoid parent style ref churn in createTextRendererIfNeeded().
3957         <https://webkit.org/b/123148>
3958
3959         There's no need to take a temporary ref on the parent's RenderStyle
3960         while creating a text renderer. It's not going away, and the text
3961         renderer is not going to participate in ownership afterwards.
3962
3963         Reviewed by Antti Koivisto.
3964
3965 2013-10-22  Andreas Kling  <akling@apple.com>
3966
3967         Remove some unnecessary null checks in RenderElement::setStyle().
3968         <https://webkit.org/b/123146>
3969
3970         After assigning the new style to RenderElement::m_style, we know that
3971         it'll be non-null, so remove all the checking for this.
3972
3973         Reviewed by Antti Koivisto.
3974
3975 2013-10-22  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3976
3977         Introduce ACCESSIBILITY_OBJECT_TYPE_CASTS to replace manual toFoo() in accessibility child class
3978         https://bugs.webkit.org/show_bug.cgi?id=123140
3979
3980         Reviewed by Andreas Kling.
3981
3982         As a step to let toFoo use TYPE_CASTS_BASE, DEFINE_TYPE_CASTS can be used for toFoo() in accessibility
3983         child class. The DEFINE_TYPE_CASTS will generate plenty more helper functions for accessibility type cast.
3984
3985         No new tests, no behavior changes.
3986
3987         * accessibility/AccessibilityList.h:
3988         * accessibility/AccessibilityMenuList.h:
3989         * accessibility/AccessibilityMockObject.h:
3990         * accessibility/AccessibilityNodeObject.h:
3991         * accessibility/AccessibilityObject.h:
3992         * accessibility/AccessibilityRenderObject.h:
3993         * accessibility/AccessibilitySVGRoot.h:
3994         * accessibility/AccessibilityScrollView.h:
3995         * accessibility/AccessibilitySpinButton.h:
3996         * accessibility/AccessibilityTable.h:
3997
3998 2013-10-22  Brian Holt  <brian.holt@samsung.com>
3999
4000         [GTK] Add WebKit2 API for TLS errors
4001         https://bugs.webkit.org/show_bug.cgi?id=120160
4002
4003         Reviewed by Carlos Garcia Campos.
4004
4005         Added a new constructor for CertificateInfo under Soup.
4006
4007         * platform/network/CertificateInfo.h:
4008         * platform/network/soup/CertificateInfoSoup.cpp:
4009         (WebCore::CertificateInfo::CertificateInfo): New constructor using
4010         GTlsCertificateFlags and GTlsCertificate.
4011
4012 2013-10-22  Mihnea Ovidenie  <mihnea@adobe.com>
4013
4014         [CSSRegions] Use RenderStyle::hasFlowFrom when needed
4015         https://bugs.webkit.org/show_bug.cgi?id=122543
4016
4017         Reviewed by David Hyatt.
4018
4019         Rename RenderStyle::hasStyleRegion -> RenderStyle::hasFlowFrom.
4020         Use RenderStyle::hasFlowFrom() helper function instead of directly
4021         checking the value of RenderStyle::regionThread().
4022
4023         No change of functionality, covered by existing tests.
4024
4025         * css/CSSComputedStyleDeclaration.cpp:
4026         (WebCore::contentToCSSValue):
4027         (WebCore::ComputedStyleExtractor::propertyValue):
4028         * css/StyleResolver.cpp:
4029         (WebCore::StyleResolver::adjustRenderStyle):
4030         * dom/PseudoElement.cpp:
4031         (WebCore::PseudoElement::didAttachRenderers):
4032         * dom/PseudoElement.h:
4033         (WebCore::pseudoElementRendererIsNeeded):
4034         * rendering/RenderBlockFlow.cpp:
4035         (WebCore::RenderBlockFlow::createRenderNamedFlowFragmentIfNeeded):
4036         * rendering/RenderLayer.cpp:
4037         (WebCore::RenderLayer::shouldBeNormalFlowOnly):
4038         * rendering/style/RenderStyle.h:
4039
4040 2013-10-21  Brent Fulgham  <bfulgham@apple.com>
4041
4042         [WIN] Properly support reverse animations without needing software fallback.
4043         https://bugs.webkit.org/show_bug.cgi?id=85121
4044
4045         Reviewed by Dean Jackson.
4046
4047         Testing is provided by existing animation tests.
4048
4049         * platform/animation/TimingFunction.h:
4050         (WebCore::CubicBezierTimingFunction::createReversed): Added.
4051         * platform/graphics/ca/GraphicsLayerCA.cpp:
4052         (WebCore::GraphicsLayerCA::addAnimation): The early return when performing a reverse or
4053         autoreverse animation is no longer needed.
4054         * platform/graphics/ca/PlatformCAAnimation.h:
4055         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
4056         (toCAMediaTimingFunction): Use new reversed function.
4057         * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
4058         (toCACFTimingFunction): Ditto.
4059         (PlatformCAAnimation::setTimingFunction): Pass 'reverse' flag.
4060         (PlatformCAAnimation::setTimingFunctions): Ditto.
4061
4062 2013-10-21  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
4063
4064         Use TYPE_CASTS_BASE for CSS_VALUE_TYPE_CASTS
4065         https://bugs.webkit.org/show_bug.cgi?id=123126
4066
4067         Reviewed by Andreas Kling.
4068
4069         TYPE_CASTS_BASE was moved to common place to be used by all toFoo().
4070         CSS_VALUE_TYPE_CASTS starts to use it for CSS child value. This change