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