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