Try to fix build without CSS_SHAPES.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-10-24  Antti Koivisto  <antti@apple.com>
2
3         Try to fix build without CSS_SHAPES.
4
5         * rendering/SimpleLineLayout.cpp:
6         (WebCore::SimpleLineLayout::canUseFor):
7
8 2013-10-24  Antti Koivisto  <antti@apple.com>
9
10         Simple line layout
11         https://bugs.webkit.org/show_bug.cgi?id=122458
12
13         Reviewed by Darin Adler.
14
15         Line box based inline layout is powerful but also rather slow and memory intensive. Simple line layout
16         is a compact alternative data structure and fast code path to cover common cases without requiring line
17         boxes.
18         
19         This patch handles a case single left-aligned text renderer inside flow with no floats. Even this very basic
20         case is sufficiently common to handle up to 25% of all text lines on some popular new sites. The decision
21         which path to use is made per block flow (paragraph).
22         
23         Simple line layout aims to produce pixel-exact rendering result when compared to the line box layout.
24         
25         The goal is to handle everything that requires line level access in cases that allow use of simple lines.
26         This is not quite the case yet. For example selections and outline painting are not supported. In these
27         cases we seamlessly switch to the line boxes.
28
29         The simple line data structure currently uses 12 bytes per line. Lineboxes take ~160 bytes minimum per line.
30         Laying out the lines is also several times faster as is iterating over them.
31
32         * CMakeLists.txt:
33         * GNUmakefile.list.am:
34         * WebCore.vcxproj/WebCore.vcxproj:
35         * WebCore.xcodeproj/project.pbxproj:
36         * dom/Position.cpp:
37         (WebCore::Position::upstream):
38         (WebCore::Position::downstream):
39         (WebCore::Position::getInlineBoxAndOffset):
40         
41             Creating positions within a simple line flow causes switch to line boxes.
42
43         * editing/TextIterator.cpp:
44         (WebCore::TextIterator::handleTextNode):
45         
46             TextIterator traverses line boxes if available. In case simple line case we need to replicate the
47             same results (for compatibility but especially to avoid changing test results). This is done here
48             by just traversing the string without actually using the layout.
49
50         * rendering/RenderBlock.cpp:
51         (WebCore::RenderBlock::RenderBlock):
52         (WebCore::RenderBlock::layoutShapeInsideInfo):
53         * rendering/RenderBlock.h:
54         * rendering/RenderBlockFlow.cpp:
55         (WebCore::RenderBlockFlow::layoutInlineChildren):
56         
57             Select the layout path to use.
58
59         (WebCore::RenderBlockFlow::deleteLines):
60         (WebCore::RenderBlockFlow::hitTestInlineChildren):
61         (WebCore::RenderBlockFlow::adjustForBorderFit):
62         (WebCore::RenderBlockFlow::firstLineBaseline):
63         (WebCore::RenderBlockFlow::inlineBlockBaseline):
64         (WebCore::RenderBlockFlow::inlineSelectionGaps):
65         (WebCore::RenderBlockFlow::clearTruncation):
66         (WebCore::RenderBlockFlow::positionForPointWithInlineChildren):
67         (WebCore::RenderBlockFlow::addFocusRingRectsForInlineChildren):
68         (WebCore::RenderBlockFlow::paintInlineChildren):
69         (WebCore::RenderBlockFlow::hasLines):
70         (WebCore::RenderBlockFlow::layoutSimpleLines):
71         
72             Do simple layout.
73
74         (WebCore::RenderBlockFlow::deleteLineBoxesBeforeSimpleLineLayout):
75         (WebCore::RenderBlockFlow::ensureLineBoxes):
76         
77             This function switches from simple lines to line boxes. The switching can be done outside normal layout.
78             This is used to cover some cases that are not yet supported by simple lines (like selections).
79
80         * rendering/RenderBlockFlow.h:
81         (WebCore::RenderBlockFlow::simpleLines):
82         * rendering/RenderBlockLineLayout.cpp:
83         (WebCore::RenderBlockFlow::layoutLineBoxes):
84         
85             Rename the line box layout function.
86
87         (WebCore::RenderBlockFlow::addOverflowFromInlineChildren):
88         * rendering/RenderText.cpp:
89         (WebCore::RenderText::deleteLineBoxesBeforeSimpleLineLayout):
90         (WebCore::RenderText::absoluteRects):
91         (WebCore::RenderText::absoluteRectsForRange):
92         (WebCore::RenderText::absoluteQuadsClippedToEllipsis):
93         (WebCore::RenderText::absoluteQuads):
94         (WebCore::RenderText::absoluteQuadsForRange):
95         (WebCore::RenderText::positionForPoint):
96         (WebCore::RenderText::knownToHaveNoOverflowAndNoFallbackFonts):
97         (WebCore::RenderText::setSelectionState):
98         (WebCore::RenderText::setTextWithOffset):
99         (WebCore::RenderText::ensureLineBoxes):
100         (WebCore::RenderText::simpleLines):
101         (WebCore::RenderText::linesBoundingBox):
102         (WebCore::RenderText::linesVisualOverflowBoundingBox):
103         (WebCore::RenderText::selectionRectForRepaint):
104         (WebCore::RenderText::caretMinOffset):
105         (WebCore::RenderText::caretMaxOffset):
106         (WebCore::RenderText::countRenderedCharacterOffsetsUntil):
107         (WebCore::RenderText::containsRenderedCharacterOffset):
108         (WebCore::RenderText::containsCaretOffset):
109         (WebCore::RenderText::hasRenderedText):
110         * rendering/RenderText.h:
111         * rendering/RenderTreeAsText.cpp:
112         (WebCore::RenderTreeAsText::writeRenderObject):
113         (WebCore::writeSimpleLine):
114         (WebCore::write):
115         * rendering/SimpleLineLayout.cpp: Added.
116         (WebCore::SimpleLineLayout::canUseFor):
117         
118             This check for the cases supported by the simple line layout path.
119
120         (WebCore::SimpleLineLayout::isWhitespace):
121         (WebCore::SimpleLineLayout::skipWhitespaces):
122         (WebCore::SimpleLineLayout::textWidth):
123         (WebCore::SimpleLineLayout::createLines):
124         
125             The main layout functions that breaks text to lines. It only handles the cases allowed by 
126             SimpleLineLayout::canUseFor. What it handles it aims to break exactly as line box layout does.
127
128         * rendering/SimpleLineLayout.h: Added.
129         * rendering/SimpleLineLayoutFunctions.cpp: Added.
130         (WebCore::SimpleLineLayout::paintFlow):
131         (WebCore::SimpleLineLayout::hitTestFlow):
132         (WebCore::SimpleLineLayout::collectFlowOverflow):
133         (WebCore::SimpleLineLayout::computeTextBoundingBox):
134         * rendering/SimpleLineLayoutFunctions.h: Added.
135         (WebCore::SimpleLineLayout::computeFlowHeight):
136         (WebCore::SimpleLineLayout::computeFlowFirstLineBaseline):
137         (WebCore::SimpleLineLayout::computeFlowLastLineBaseline):
138         (WebCore::SimpleLineLayout::findTextCaretMinimumOffset):
139         (WebCore::SimpleLineLayout::findTextCaretMaximumOffset):
140         (WebCore::SimpleLineLayout::containsTextCaretOffset):
141         (WebCore::SimpleLineLayout::isTextRendered):
142         (WebCore::SimpleLineLayout::lineHeightFromFlow):
143         
144             Support functions called from RenderBlockFlow and RenderText. They are equivalent to
145             similar line box functions.
146
147         (WebCore::SimpleLineLayout::baselineFromFlow):
148         * rendering/SimpleLineLayoutResolver.h: Added.
149         (WebCore::SimpleLineLayout::Resolver::Line::Line):
150         (WebCore::SimpleLineLayout::Resolver::Line::rect):
151         (WebCore::SimpleLineLayout::Resolver::Line::baseline):
152         (WebCore::SimpleLineLayout::Resolver::Line::text):
153         (WebCore::SimpleLineLayout::Resolver::Iterator::Iterator):
154         (WebCore::SimpleLineLayout::Resolver::Iterator::operator++):
155         (WebCore::SimpleLineLayout::Resolver::Iterator::operator--):
156         (WebCore::SimpleLineLayout::Resolver::Iterator::operator==):
157         (WebCore::SimpleLineLayout::Resolver::Iterator::operator!=):
158         (WebCore::SimpleLineLayout::Resolver::Iterator::operator*):
159         
160             Lazy iterator for deriving line metrics. This keeps the line data structure small as
161             we don't need to keep easily derived values around.
162
163         (WebCore::SimpleLineLayout::Resolver::Resolver):
164         (WebCore::SimpleLineLayout::Resolver::size):
165         (WebCore::SimpleLineLayout::Resolver::begin):
166         (WebCore::SimpleLineLayout::Resolver::end):
167         (WebCore::SimpleLineLayout::Resolver::last):
168         (WebCore::SimpleLineLayout::Resolver::operator[]):
169
170 2013-10-24  Myles C. Maxfield  <mmaxfield@apple.com>
171
172         Gaps between underlines in adjacent underlined text runs
173         https://bugs.webkit.org/show_bug.cgi?id=123236
174
175         Reviewed by Simon Fraser and Darin Adler.
176
177         There are two pieces to this change. The first piece is in
178         InlineTextBox::paint(). We were putting floating-point
179         extents into a LayoutSize, which simply uses ints (for now),
180         and then immediately converting this back to a FloatSize.
181         Instead, we should be using floats throughout all of
182         this code.
183
184         In addition, inside GraphicsContext::drawLineForText(), we are
185         rounding the underline to pixel boundaries so that it appears
186         very crisp on the screen. However, we should round once after
187         performing computations, rather than rounding twice and then
188         performing computations on the rounded numbers.
189
190         Test: fast/css3-text/css3-text-decoration/no-gap-between-two-rounded-textboxes.html
191
192         * platform/graphics/cg/GraphicsContextCG.cpp:
193         (WebCore::GraphicsContext::drawLineForText): Change rounding mode
194             to perform computations before rounding
195         * rendering/InlineTextBox.cpp:
196         (WebCore::InlineTextBox::paint): Don't convert to a LayoutSize
197             just to convert to a FloatSize
198
199 2013-10-24  Andreas Kling  <akling@apple.com>
200
201         SVGRenderingContext should wrap a RenderElement.
202         <https://webkit.org/b/123283>
203
204         The SVG rendering context class is never used with text renderers
205         so we can have it wrap a RenderElement for tighter code.
206
207         Also renamed SVGRenderingContext::m_object to m_renderer.
208
209         Reviewed by Antti Koivisto.
210
211 2013-10-24  Santosh Mahto  <santosh.ma@samsung.com>
212
213         [contenteditable] Content after non-editable element disappears when merging lines using backspace
214         https://bugs.webkit.org/show_bug.cgi?id=122748
215
216         Reviewed by Ryosuke Niwa.
217
218         In case of paragraph merging after deletion if second paragraph
219         contains non-editable element, then content after the non-editable
220         element(including non-editable element) will be removed while the
221         content before the element will be merged with the first paragraph.
222         This happens becasue endOfParagraphToMove calculation in merging function
223         stop at editing boundary so endOfParagraphToMove becomes position just
224         before non-editable content.
225         With this patch now endOfParagraphToMove is calculated by skipping
226         over the non-editable element.
227
228         Test: editing/deleting/merge-paragraph-contatining-noneditable.html
229
230         * editing/DeleteSelectionCommand.cpp:
231         (WebCore::DeleteSelectionCommand::mergeParagraphs): use CanSkipOverEditingBoundary
232         condition while calculating endOfParagraphToMove.
233
234 2013-10-24  Antoine Quint  <graouts@apple.com>
235
236         Web Inspector: Inspector doesn't show webkitTransitionEnd events in the timeline
237         https://bugs.webkit.org/show_bug.cgi?id=123263
238
239         Reviewed by Timothy Hatcher.
240
241         A legacy event type is only set on an event in EventTarget::fireEventListeners(Event*)
242         which is called after we used to call InspectorInstrumentation::willDispatchEvent(), the method
243         that would ultimately yield the creation of a TimelineRecord for the event in the Web Inspector
244         frontend, and as a result we would try to dispatch an event with an unprefixed event type to
245         the frontend, which wouldn't even happen because most likely it wouldn't have listeners for this
246         unprefixed type.
247
248         We now move the call to InspectorInstrumentation::willDispatchEvent() in
249         EventTarget::fireEventListeners(Event*, EventTargetData*, EventListenerVector&) such that the
250         correct event type and list of listeners is used to determine what event to dispatch to the frontend.
251
252         * dom/EventDispatcher.cpp:
253         (WebCore::EventDispatcher::dispatchEvent):
254         Remove calls to InspectorInstrumentation::willDispatchEvent() and InspectorInstrumentation::didDispatchEvent().
255
256         * dom/EventTarget.cpp:
257         (WebCore::EventTarget::fireEventListeners):
258         Add call to InspectorInstrumentation::willDispatchEvent() before we go through each listener and
259         call InspectorInstrumentation::willHandleEvent(). Additionally, we refactor some code since we're
260         getting references to the ScriptExecutionContext and Document upfront now.
261
262 2013-10-24  Andreas Kling  <akling@apple.com>
263
264         SVG: RenderElement-ize intersectRepaintRectWithResources().
265         <https://webkit.org/b/123278>
266
267         SVGRenderSupport::intersectRepaintRectWithResources() is only ever
268         called with non-text renderers so make it take RenderElement&.
269
270         Had to tweak RenderSVGResource::resourceBoundingBox() to take the
271         renderer by reference.
272
273         Reviewed by Antti Koivisto.
274
275 2013-10-24  Joseph Pecoraro  <pecoraro@apple.com>
276
277         Web Inspector: Breakpoints in sourceURL named scripts do not work
278         https://bugs.webkit.org/show_bug.cgi?id=123231
279
280         Reviewed by Timothy Hatcher.
281
282         Remember a Script's sourceURL and sourceMappingURL. When setting a
283         breakpoint by URL, check it against the sourceURL or original URL.
284         If a script had a sourceURL that would have been the only URL sent
285         to the frontend, so that receives priority.
286
287         Test: inspector-protocol/debugger/setBreakpointByUrl-sourceURL.html
288
289         * inspector/InspectorDebuggerAgent.cpp:
290         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
291         (WebCore::InspectorDebuggerAgent::didParseSource):
292         * inspector/InspectorDebuggerAgent.h:
293         * inspector/ScriptDebugListener.h:
294
295 2013-10-23  Alexey Proskuryakov  <ap@apple.com>
296
297         Add CryptoKey base class and bindings
298         https://bugs.webkit.org/show_bug.cgi?id=123216
299
300         Reviewed by Sam Weinig.
301
302         * crypto/CryptoKey.idl: Added.
303
304         * CMakeLists.txt:
305         * DerivedSources.make:
306         * GNUmakefile.list.am:
307         Process the IDL.
308
309         * WebCore.xcodeproj/project.pbxproj: Added files.
310
311         * bindings/js/JSCryptoKeyCustom.cpp: Added.
312         (WebCore::JSCryptoKey::algorithm): Use a visitor to build algorithm dictionary
313         for the key.
314
315         * crypto/CryptoAlgorithmDescriptionBuilder.cpp: Added.
316         * crypto/CryptoAlgorithmDescriptionBuilder.h: Added.
317         An interface for a visitor we'll use to expose CrytoKey.algorithm in bindings,
318         and possibly also for storage serialization. Not complete yet, we'll need support
319         for a few more simple types, and less trivially, for nested algorithms.
320
321         * bindings/js/JSCryptoAlgorithmBuilder.cpp: Added.
322         * bindings/js/JSCryptoAlgorithmBuilder.h: Added.
323         An implementation that builds an algorithm description dictionary for JS bindings.
324
325         * crypto/CryptoKey.cpp: Added.
326         (WebCore::CryptoKey::~CryptoKey):
327         (WebCore::CryptoKey::buildAlgorithmDescription):
328         * crypto/CryptoKey.h: Added.
329         Added an almost empty implementation. Some of the functions that are currently
330         marked as pure virtual will likely be implemented in this base class.
331
332 2013-10-24  Commit Queue  <commit-queue@webkit.org>
333
334         Unreviewed, rolling out r157916.
335         http://trac.webkit.org/changeset/157916
336         https://bugs.webkit.org/show_bug.cgi?id=123274
337
338         Broke Layout/flexbox-lots-of-data.html on perfbot (Requested
339         by ap on #webkit).
340
341         * rendering/RenderFlexibleBox.cpp:
342         (WebCore::RenderFlexibleBox::OrderHashTraits::emptyValue):
343         (WebCore::RenderFlexibleBox::OrderHashTraits::constructDeletedValue):
344         (WebCore::RenderFlexibleBox::OrderHashTraits::isDeletedValue):
345         (WebCore::RenderFlexibleBox::OrderIterator::setOrderValues):
346         (WebCore::RenderFlexibleBox::layoutBlock):
347         (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes):
348         * rendering/RenderFlexibleBox.h:
349
350 2013-10-24  Zan Dobersek  <zdobersek@igalia.com>
351
352         Comment in ScopedEventQueue::dispatchEvent is unnecessarily verbose
353         https://bugs.webkit.org/show_bug.cgi?id=123252
354
355         Reviewed by Darin Adler.
356
357         Shorten the comment about the crash avoidance in ScopedEventQueue::dispatchEvent due to
358         the calling convention in C++ is left unspecified. The problem was already fixed in r157219
359         and later adjusted in r157401, but the comment could have been shorter and simpler in both cases.
360
361         * dom/ScopedEventQueue.cpp:
362         (WebCore::ScopedEventQueue::dispatchEvent):
363
364 2013-10-24  Alex Christensen  <achristensen@webkit.org>
365
366         Removed unused ThreadSafeCoordinatedSurface and CertificateInfoCurl files.
367         https://bugs.webkit.org/show_bug.cgi?id=123246
368
369         Reviewed by Noam Rosenthal.
370
371         * WebCore.vcxproj/WebCore.vcxproj:
372         * WebCore.vcxproj/WebCore.vcxproj.filters:
373         Removed references to ThreadSafeCoordinatedSurface and CertificateInfoCurl.
374         * platform/graphics/texmap/coordinated/ThreadSafeCoordinatedSurface.cpp: Removed.
375         * platform/graphics/texmap/coordinated/ThreadSafeCoordinatedSurface.h: Removed.
376         * platform/network/curl/CertificateInfoCurl.cpp: Removed.
377
378 2013-10-24  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>
379
380         Removed Qt workaround.
381         https://bugs.webkit.org/show_bug.cgi?id=123258
382
383         Reviewed by Csaba Osztrogonác.
384
385         No change of functionality, no new tests needed.
386
387         !$defines case can be removed, because Qt and Android aren't in WebKit trunk,
388         all ports (Mac,EFL,GTK,Windows) call this script with --defines option now
389
390         * css/make-css-file-arrays.pl:
391
392 2013-10-24  Antti Koivisto  <antti@apple.com>
393
394         Remove a stray space.
395         
396         Not reviewed.
397
398         * accessibility/AccessibilityRenderObject.cpp:
399         (WebCore::AccessibilityRenderObject::addImageMapChildren):
400
401 2013-10-24  Antti Koivisto  <antti@apple.com>
402
403         Element iterator functions should take reference
404         https://bugs.webkit.org/show_bug.cgi?id=123267
405
406         Reviewed by Andreas Kling.
407
408         The argument has to be non-null.
409
410 2013-10-24  Ryuan Choi  <ryuan.choi@samsung.com>
411
412         [EFL] Build break with latest EFL 1.8 libraries.
413         https://bugs.webkit.org/show_bug.cgi?id=123245
414
415         Reviewed by Gyuyoung Kim.
416
417         After fixed build break on EFL 1.8 at r138326, EFL libraries are changed
418         Eo typedef and splitted header files which contain version macro.
419
420         * platform/Widget.h: Changed Eo typedef.
421         * platform/efl/EflScreenUtilities.h: Ditto.
422         * platform/graphics/Image.h: Ditto.
423
424 2013-10-24  Andreas Kling  <akling@apple.com>
425
426         RenderSVGResource: Pass RenderElement to fill/strokePaintingResource.
427         <https://webkit.org/b/123242>
428
429         We never pass text renderers to these functions, so make them take
430         RenderElement instead.
431
432         Reviewed by Anders Carlsson.
433
434 2013-10-24  Carlos Garcia Campos  <cgarcia@igalia.com>
435
436         [GObject bindings] Make EventTarget interface introspectable
437         https://bugs.webkit.org/show_bug.cgi?id=77835
438
439         Reviewed by Gustavo Noronha Silva.
440
441         Add webkit_dom_event_target_add_event_listener_with_closure and
442         webkit_dom_event_target_remove_event_listener_with_closure to be
443         used by GObject instrospection bindings. Instead of receving a
444         GCallback, which makes the function not introspectable, they
445         receive a GClosure.
446
447         * bindings/gobject/GObjectEventListener.cpp:
448         (WebCore::GObjectEventListener::GObjectEventListener):
449         (WebCore::GObjectEventListener::~GObjectEventListener):
450         (WebCore::GObjectEventListener::gobjectDestroyed):
451         (WebCore::GObjectEventListener::handleEvent):
452         (WebCore::GObjectEventListener::operator==):
453         * bindings/gobject/GObjectEventListener.h:
454         (WebCore::GObjectEventListener::addEventListener):
455         (WebCore::GObjectEventListener::removeEventListener):
456         * bindings/gobject/WebKitDOMEventTarget.cpp:
457         (webkit_dom_event_target_dispatch_event):
458         (webkit_dom_event_target_add_event_listener):
459         (webkit_dom_event_target_remove_event_listener):
460         (webkit_dom_event_target_add_event_listener_with_closure):
461         (webkit_dom_event_target_remove_event_listener_with_closure):
462         * bindings/gobject/WebKitDOMEventTarget.h:
463         * bindings/scripts/CodeGeneratorGObject.pm:
464         (GenerateEventTargetIface):
465         * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.cpp:
466         (webkit_dom_test_event_target_dispatch_event):
467         (webkit_dom_test_event_target_add_event_listener):
468         (webkit_dom_test_event_target_remove_event_listener):
469         * bindings/scripts/test/GObject/WebKitDOMTestNode.cpp:
470         (webkit_dom_test_node_dispatch_event):
471         (webkit_dom_test_node_add_event_listener):
472         (webkit_dom_test_node_remove_event_listener):
473
474 2013-10-14  Sergio Villar Senin  <svillar@igalia.com>
475
476         Use a Vector instead of HashSet to computed the orderValues in RenderFlexibleBox
477         https://bugs.webkit.org/show_bug.cgi?id=118620
478
479         Reviewed by Antti Koivisto.
480
481         Turns out that order is extremelly uncommon so using a Vector is
482         much less expensive. This also special-cases the much common case
483         of only having order of value 0 by using Vectors with just one
484         preallocated member.
485
486         Also added the performance test that shows a ~1% win when using a
487         vector instead of the HashSet.
488
489         * rendering/RenderFlexibleBox.cpp:
490         (WebCore::RenderFlexibleBox::OrderIterator::setOrderValues):
491         (WebCore::RenderFlexibleBox::layoutBlock):
492         (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes):
493         * rendering/RenderFlexibleBox.h:
494
495 2013-10-23  ChangSeok Oh  <changseok.oh@collabora.com>
496
497         Unreviewed build fix since r157823.
498         FilterOperation::getOperationType() is renamed FilterOperation::type().
499
500         * platform/graphics/texmap/TextureMapperGL.cpp:
501         (WebCore::prepareFilterProgram):
502         (WebCore::TextureMapperGL::drawTexture):
503         (WebCore::TextureMapperGL::drawUsingCustomFilter):
504         (WebCore::TextureMapperGL::drawFiltered):
505         (WebCore::BitmapTextureGL::applyFilters):
506         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
507         (WebCore::CoordinatedGraphicsScene::injectCachedCustomFilterPrograms):
508
509 2013-10-23  Ryuan Choi  <ryuan.choi@samsung.com>
510
511         Unreviewed build fix on CMake based ports when CMAKE_BUILD_TYPE is not given.
512
513         When CMAKE_BUILD_TYPE is empty, FIND command will be failed.
514
515         * CMakeLists.txt:
516
517 2013-10-23  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
518
519         Integrate css3-images image-orientation with existing EXIF support
520         https://bugs.webkit.org/show_bug.cgi?id=91566
521
522         Reviewed by Beth Dakin.
523
524         Original patch by David Barr(davidbarr@chromium.org).
525
526         This patch passes an information of image orientation into existing EXIF support functions
527         (draw() functions of image classes mainly). We need to let the functions to know the information
528         in order to meet the image-orientation requirement.
529
530         Spec: http://dev.w3.org/csswg/css-images-3/#the-image-orientation
531         The css3-images module specification is at last call.
532
533         Test: fast/css/image-orientation/image-orientation.html
534         Image orientation test is to check if incorrect rotation value can be fixed with correct orientation.
535
536         * loader/cache/CachedImage.cpp:
537         (WebCore::CachedImage::imageSizeForRenderer):
538         * page/DragController.cpp:
539         (WebCore::DragController::doImageDrag):
540         * page/Frame.cpp:
541         (WebCore::Frame::nodeImage):
542         * platform/graphics/BitmapImage.cpp:
543         (WebCore::BitmapImage::updateSize):
544         (WebCore::BitmapImage::sizeRespectingOrientation):
545         (WebCore::BitmapImage::drawPattern):
546         * platform/graphics/BitmapImage.h:
547         * platform/graphics/CrossfadeGeneratedImage.cpp:
548         (WebCore::CrossfadeGeneratedImage::draw):
549         * platform/graphics/CrossfadeGeneratedImage.h:
550         * platform/graphics/GeneratedImage.h:
551         * platform/graphics/GradientImage.cpp:
552         (WebCore::GradientImage::draw):
553         * platform/graphics/GradientImage.h:
554         * platform/graphics/Image.cpp:
555         (WebCore::Image::draw):
556         (WebCore::Image::drawTiled):
557         * platform/graphics/Image.h:
558         * platform/graphics/blackberry/ImageBlackBerry.cpp:
559         * platform/graphics/cairo/BitmapImageCairo.cpp:
560         (WebCore::BitmapImage::draw):
561         * platform/graphics/cg/BitmapImageCG.cpp:
562         * platform/graphics/cg/PDFDocumentImage.cpp:
563         (WebCore::PDFDocumentImage::draw):
564         * platform/graphics/cg/PDFDocumentImage.h:
565         * platform/graphics/win/ImageCGWin.cpp:
566         (WebCore::BitmapImage::getHBITMAPOfSize):
567         (WebCore::BitmapImage::drawFrameMatchingSourceSize):
568         * platform/graphics/wince/ImageBufferWinCE.cpp:
569         (WebCore::BufferedImage::draw):
570         * platform/graphics/wince/ImageWinCE.cpp:
571         (WebCore::BitmapImage::draw):
572         * platform/mac/DragImageMac.mm:
573         (WebCore::createDragImageFromImage):
574         * rendering/RenderEmbeddedObject.cpp:
575         (WebCore::RenderEmbeddedObject::paintSnapshotImage):
576         * rendering/RenderImage.cpp:
577         (WebCore::RenderImage::styleDidChange):
578         * rendering/RenderSnapshottedPlugIn.cpp:
579         (WebCore::RenderSnapshottedPlugIn::paintSnapshot):
580         * rendering/style/RenderStyle.cpp:
581         (WebCore::RenderStyle::changeRequiresLayout):
582         * svg/graphics/SVGImage.cpp:
583         (WebCore::SVGImage::drawForContainer):
584         (WebCore::SVGImage::nativeImageForCurrentFrame):
585         (WebCore::SVGImage::draw):
586         * svg/graphics/SVGImage.h:
587         * svg/graphics/SVGImageForContainer.cpp:
588         (WebCore::SVGImageForContainer::draw):
589         * svg/graphics/SVGImageForContainer.h:
590
591 2013-10-23  Andreas Kling  <akling@apple.com>
592
593         Tighten typing in SVGInlineTextBox a bit.
594         <https://webkit.org/b/123238>
595
596         Use RenderBoxModelObject& instead of generic RenderObject* in some
597         places where it happens as a natural consequence of keeping the
598         original return type from InlineBox::parent()->renderer().
599
600         Reviewed by Anders Carlsson.
601
602 2013-10-23  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
603
604         Introduce RENDER_OBJECT_TYPE_CASTS to replace manual toFoo() in child render object
605         https://bugs.webkit.org/show_bug.cgi?id=123150
606
607         Reviewed by Andreas Kling.
608
609         As a step to let toFoo use TYPE_CASTS_BASE, toRenderFoo() can use it for child render object.
610         So, this patch introduces RENDER_OBJECT_TYPE_CASTS based on the TYPE_CASTS_BASE. This will
611         generate plenty more helper functions for render object type cast.
612
613         Some unnecessary type casts are fixed by this change.
614
615         No new tests, no behavior changes.
616
617         * rendering/RenderBlock.h:
618         * rendering/RenderBlockFlow.h:
619         * rendering/RenderBox.h:
620         * rendering/RenderBoxModelObject.h:
621         * rendering/RenderButton.h:
622         * rendering/RenderCounter.h:
623         * rendering/RenderElement.h:
624         (WebCore::RenderElement::generatingElement):
625         * rendering/RenderEmbeddedObject.h:
626         * rendering/RenderFieldset.h:
627         * rendering/RenderFileUploadControl.h:
628         * rendering/RenderFlexibleBox.h:
629         * rendering/RenderFlowThread.h:
630         * rendering/RenderFrame.h:
631         * rendering/RenderFrameSet.h:
632         * rendering/RenderFullScreen.h:
633         * rendering/RenderHTMLCanvas.h:
634         * rendering/RenderIFrame.h:
635         * rendering/RenderImage.h:
636         * rendering/RenderInline.h:
637         * rendering/RenderLayerModelObject.h:
638         * rendering/RenderLineBreak.h:
639         * rendering/RenderListBox.h:
640         * rendering/RenderListItem.h:
641         * rendering/RenderMedia.h:
642         * rendering/RenderMenuList.h:
643         * rendering/RenderMeter.h:
644         * rendering/RenderMultiColumnBlock.h:
645         * rendering/RenderMultiColumnSet.h:
646         * rendering/RenderNamedFlowFragment.h:
647         * rendering/RenderNamedFlowThread.h:
648         * rendering/RenderObject.h:
649         * rendering/RenderProgress.h:
650         * rendering/RenderQuote.h:
651         * rendering/RenderRegion.h:
652         * rendering/RenderReplaced.h:
653         * rendering/RenderRubyRun.h:
654         * rendering/RenderScrollbarPart.h:
655         * rendering/RenderSearchField.h:
656         * rendering/RenderSlider.h:
657         * rendering/RenderSnapshottedPlugIn.h:
658         * rendering/RenderTable.h:
659         * rendering/RenderTableCaption.h:
660         * rendering/RenderTableCell.h:
661         * rendering/RenderTableCol.h:
662         * rendering/RenderTableRow.h:
663         * rendering/RenderTableSection.h:
664         * rendering/RenderText.h:
665         * rendering/RenderTextControl.h:
666         * rendering/RenderTextControlMultiLine.h:
667         * rendering/RenderTextControlSingleLine.h:
668         * rendering/RenderWidget.h:
669         * rendering/mathml/RenderMathMLBlock.h:
670         * rendering/svg/RenderSVGContainer.h:
671         * rendering/svg/RenderSVGGradientStop.h:
672         * rendering/svg/RenderSVGImage.h:
673         * rendering/svg/RenderSVGInlineText.h:
674         * rendering/svg/RenderSVGPath.h:
675         * rendering/svg/RenderSVGResourceFilter.h:
676         * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
677         (WebCore::RenderSVGResourceFilterPrimitive::styleDidChange):
678         * rendering/svg/RenderSVGRoot.h:
679         * rendering/svg/RenderSVGShape.h:
680         * rendering/svg/RenderSVGText.h:
681         * rendering/svg/RenderSVGTextPath.h:
682         * rendering/svg/RenderSVGViewportContainer.h:
683         * rendering/svg/SVGInlineFlowBox.cpp:
684         (WebCore::SVGInlineFlowBox::paint):
685
686 2013-10-23  Myles C. Maxfield  <mmaxfield@apple.com>
687
688         Include misspelling dot gap width when centering misspelling dots
689         https://bugs.webkit.org/show_bug.cgi?id=122365
690
691         Reviewed by Simon Fraser.
692
693         When calculating where to place the misspelling dots, we find the
694         maximum number of full dots that can fit under the misspelled word,
695         and then center a run of that many dots. However, when we're
696         centering the run, we are only considering the size of the extra
697         fractional dot that we cut off. However, the dot image has a "gap"
698         of transparent pixels (which visually provide tracking for the dots)
699         which visually appears to be empty space. We should take this gap
700         space into consideration when centering the run of dots. We also
701         should make sure that our dots start on integral pixel boundaries
702         because otherwise we can't set the phase of the dot run properly.
703
704         Test: editing/spelling/centering-misspelling-dots.html
705
706         * platform/graphics/mac/GraphicsContextMac.mm:
707         (WebCore::GraphicsContext::drawLineForDocumentMarker):
708
709 2013-10-23  Andreas Kling  <akling@apple.com>
710
711         SVGFilterBuilder should not be ref-counted.
712         <https://webkit.org/b/123222>
713
714         These objects are singly-owned and do not need ref counting.
715
716         Reviewed by Anders Carlsson.
717
718 2013-10-23  Brady Eidson  <beidson@apple.com>
719
720         Remove unused IDBBackingStoreLevelDB default constructor.
721
722         Rubberstamped by Anders Carlsson.
723
724         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
725         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
726
727 2013-10-23  Alex Christensen  <achristensen@webkit.org>
728
729         Added Texture Mapper and Coordinated Graphics to Windows build for WinCairo.
730         https://bugs.webkit.org/show_bug.cgi?id=123215
731
732         Reviewed by Brent Fulgham.
733
734         * WebCore.vcxproj/WebCore.vcxproj:
735         * WebCore.vcxproj/WebCore.vcxproj.filters:
736         Added source files for Texture Mapper to Windows build.
737         * WebCore.vcxproj/WebCoreCairo.props:
738         Added Texture Mapper include directories for WinCairo.
739
740 2013-10-23  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
741
742         Adding mock class to test RTCDataChannelHandler
743         https://bugs.webkit.org/show_bug.cgi?id=123205
744
745         Reviewed by Eric Carlson.
746
747         Now RTCPeerConnectionHandler-datachannel LayouTest can run properly.
748         Also updated the expected file, removing the reliable property check (which was removed in the spec)
749
750         Existing tests updated.
751
752         * CMakeLists.txt:
753         * platform/mediastream/RTCDataChannelHandlerClient.h:
754         * platform/mock/RTCDataChannelHandlerMock.cpp: Added.
755         * platform/mock/RTCDataChannelHandlerMock.h: Added.
756         * platform/mock/RTCNotifiersMock.cpp:
757         (WebCore::RemoteDataChannelNotifier::RemoteDataChannelNotifier):
758         (WebCore::RemoteDataChannelNotifier::fire):
759         (WebCore::DataChannelStateNotifier::DataChannelStateNotifier):
760         (WebCore::DataChannelStateNotifier::fire):
761         * platform/mock/RTCNotifiersMock.h:
762         * platform/mock/RTCPeerConnectionHandlerMock.cpp:
763         (WebCore::RTCPeerConnectionHandlerMock::createDataChannel):
764
765 2013-10-23  Andreas Kling  <akling@apple.com>
766
767         Clock should not be ref-counted.
768         <https://webkit.org/b/123217>
769
770         The Clock object is only ever owned by the MediaController,
771         so remove the ref counting and store it in a std::unique_ptr.
772
773         Also slapped the Clock subclasses with FINAL and OVERRIDE.
774
775         Reviewed by Anders Carlsson.
776
777 2013-10-23  Mark Lam  <mark.lam@apple.com>
778
779         Fix assertion in DatabaseManager::detailsForNameAndOrigin() to be iOS friendly.
780         https://bugs.webkit.org/show_bug.cgi?id=123218.
781
782         Reviewed by Joseph Pecoraro.
783
784         No new tests.
785
786         * Modules/webdatabase/DatabaseManager.cpp:
787         (WebCore::DatabaseManager::detailsForNameAndOrigin):
788
789 2013-10-23  Alex Christensen  <achristensen@webkit.org>
790
791         Separated USE(CA) from USE(ACCELERATED_COMPOSITING) to prepare WinCairo for accelerated compositing.
792         https://bugs.webkit.org/show_bug.cgi?id=123214
793
794         Reviewed by Brent Fulgham.
795
796         * platform/graphics/PlatformLayer.h:
797         Added TextureMapperPlatformLayer PlatformLayer declaration for WinCairo.
798         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
799         (WebCore::MediaPlayerPrivateFullscreenWindow::createWindow):
800         (WebCore::MediaPlayerPrivateFullscreenWindow::wndProc):
801         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h:
802         Added USE(CA) where necessary to compile WinCairo with accelerated compositing.
803
804 2013-10-23  Myles C. Maxfield  <mmaxfield@apple.com>
805
806         Antialias underlines if they're not axis-aligned
807         https://bugs.webkit.org/show_bug.cgi?id=123004
808
809         Reviewed by Simon Fraser.
810
811         In order to make underlines crisp, GraphicsContext:drawLineForText
812         modifies the bounds of the underline rect in order to make the rect
813         device-pixel-aligned, and then turns off antialiasing when drawing
814         the line. This makes sense when the underline is axis-aligned, but
815         doesn't when the rect is rotated or skewed. Therefore, we should
816         only opt-in to this behavior if the underline we're about to draw
817         is axis-aligned. This requires figuring out whether or not the
818         current transformation is axis-aligned every time
819         GraphicsContext::drawLineForText is called, which will incur a small
820         performance hit. However, this is justified by underlines looking
821         much better (antialiased) when the context is rotated or skewed.
822
823         Tests: svg/custom/foreign-object-skew.html
824                svg/zoom/page/zoom-foreignObject.html
825                svg/zoom/text/zoom-foreignObject.html:
826
827         * platform/graphics/cg/GraphicsContextCG.cpp:
828         (WebCore::GraphicsContext::drawLineForText):
829
830 2013-10-23  Mark Lam  <mark.lam@apple.com>
831
832         Re-instate ProposedDatabases needed by detailsForNameAndOrigin().
833         https://bugs.webkit.org/show_bug.cgi?id=123131.
834
835         Reviewed by Geoffrey Garen.
836
837         Test: storage/websql/open-database-expand-quota.html
838
839         If a webpage tries to create a database that exceeds the database size
840         quota for that security origin, the WebKit1 quota request mechanism
841         uses detailsForNameAndOrigin() to get the requested size of the database
842         (that the webpage is attempting to open) in order to determine whether
843         to increase the quota or not.
844
845         Previously, detailsForNameAndOrigin() relies on the ProposedDatabase
846         mechanism to provide this size information. This change re-instates the
847         ProposedDatabase mechanism so that WebKit1 client code that relies on
848         this behavior will continue to work.
849
850         * Modules/webdatabase/DatabaseManager.cpp:
851         (WebCore::DatabaseManager::ProposedDatabase::ProposedDatabase):
852         (WebCore::DatabaseManager::ProposedDatabase::~ProposedDatabase):
853         (WebCore::DatabaseManager::DatabaseManager):
854         (WebCore::DatabaseManager::openDatabaseBackend):
855         (WebCore::DatabaseManager::fullPathForDatabase):
856         (WebCore::DatabaseManager::detailsForNameAndOrigin):
857         * Modules/webdatabase/DatabaseManager.h:
858         (WebCore::DatabaseManager::ProposedDatabase::origin):
859         (WebCore::DatabaseManager::ProposedDatabase::details):
860
861 2013-10-23  Tim Horton  <timothy_horton@apple.com>
862
863         [cg] Fix the capitalization of kCGImageSourceSkipMetaData (-> Metadata)
864         https://bugs.webkit.org/show_bug.cgi?id=122918
865
866         Reviewed by Anders Carlsson.
867
868         * platform/graphics/cg/ImageSourceCG.cpp:
869         (WebCore::imageSourceOptions):
870         The capitalization of kCGImageSourceSkipMetaData changed to
871         kCGImageSourceSkipMetadata in Mountain Lion.
872
873 2013-10-23  Brady Eidson  <beidson@apple.com>
874
875         Make IDBDatabaseBackendLevelDB.cpp be cross platform
876         https://bugs.webkit.org/show_bug.cgi?id=123027
877
878         Attentively reviewed by Dean Jackson.
879
880         Move it out of the indexeddb/leveldb directory, and rename it to IDBDatabaseBackendImpl.
881
882         Project files:
883         * CMakeLists.txt:
884         * GNUmakefile.list.am:
885         * WebCore.vcxproj/WebCore.vcxproj:
886         * WebCore.vcxproj/WebCore.vcxproj.filters:
887         * WebCore.xcodeproj/project.pbxproj:
888
889         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp: Renamed from Source/WebCore/Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp.
890         * Modules/indexeddb/IDBDatabaseBackendImpl.h: Renamed from Source/WebCore/Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.h.
891
892         * Modules/indexeddb/IDBDatabaseBackendInterface.h:
893         (WebCore::IDBDatabaseBackendInterface::isIDBDatabaseBackendImpl): Add to support a required cast in LevelDB code.
894
895         * Modules/indexeddb/IDBFactoryBackendInterface.h:
896
897         * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp:
898         * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h:
899
900         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
901         (WebCore::IDBFactoryBackendLevelDB::deleteDatabase):
902         (WebCore::IDBFactoryBackendLevelDB::open):
903         (WebCore::IDBFactoryBackendLevelDB::maybeCreateTransactionBackend):
904         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
905
906         * Modules/indexeddb/leveldb/IDBLevelDBCoding.cpp:
907         * Modules/indexeddb/leveldb/IDBLevelDBCoding.h:
908
909         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp:
910         (WebCore::IDBTransactionBackendLevelDB::create):
911         (WebCore::IDBTransactionBackendLevelDB::IDBTransactionBackendLevelDB):
912         (WebCore::IDBTransactionBackendLevelDB::scheduleVersionChangeOperation):
913         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:
914
915         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.cpp:
916         (WebCore::IDBDatabaseBackendImpl::VersionChangeOperation::perform):
917         (WebCore::IDBDatabaseBackendImpl::VersionChangeAbortOperation::perform):
918         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.h:
919
920 2013-10-23  Daniel Bates  <dabates@apple.com>
921
922         [iOS] Upstream more ARMv7s bits
923         https://bugs.webkit.org/show_bug.cgi?id=123052
924
925         Reviewed by Joseph Pecoraro.
926
927         Define exported symbol file for armv7s and arm64.
928
929         * Configurations/WebCore.xcconfig:
930
931 2013-10-23  Krzysztof Wolanski  <k.wolanski@samsung.com>
932
933         [GTK] accessibility/self-referencing-aria-labelledby.html is failing
934         https://bugs.webkit.org/show_bug.cgi?id=121594
935
936         Reviewed by Mario Sanchez Prada.
937
938         According to http://www.w3.org/TR/REC-html40/struct/objects.html#edef-IMG
939         description of image element should be determined by alt attribute, then
940         if it is empty by title attributte.
941
942         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
943         (webkitAccessibleGetDescription):
944
945 2013-10-15  Andreas Kling  <akling@apple.com>
946
947         Tighten animation-driven restyle to operate on Element only.
948         <https://webkit.org/b/122820>
949
950         Text nodes are never directly animated, so we can tighten this code
951         to work on Element only. This happens naturally since the code was
952         already working with RenderElement everywhere.
953
954         Reviewed by Antti Koivisto.
955
956 2013-10-22  Andreas Kling  <akling@apple.com>
957
958         Even more PassRef<RenderStyle>!
959         <https://webkit.org/b/123147>
960
961         Convert more of the WebCore code to use PassRef for RenderStyle
962         in places where they are known to be non-null.
963
964         Re-landing this without region styling since that caused some
965         assertions last time.
966
967         Reviewed by Antti Koivisto.
968
969 2013-10-22  Zoltan Horvath  <zoltan@webkit.org>
970
971         Refactor LineBreaker::nextSegmentBreak, add BreakingContext that holds all its state
972         https://bugs.webkit.org/show_bug.cgi?id=123038
973
974         Reviewed by David Hyatt.
975
976         I followed Levi's logic on Blink's nextSegmentBreak refactoring (https://chromiumcodereview.appspot.com/25054004). 
977         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
978         introduces BreakingContext as a separate class. I added new methods for each condition, which were originally located in
979         nextSegmentBreak. I also removed the goto-s from the code. All the new methods are inline in order to avoid introducing any
980         performance regression. The change makes the code so much cleaner and understandable.
981
982         This change would be the first step of the nextSegmentBreak refactoring, I wanted to keep things in place in RenderBlockLineLayout.cpp
983         for now, but I'm planning to separate BreakingContext into a new file and do additional changes to make things nicer. I'm tracking
984         the entire progress under http://webkit.org/b/121261 meta bug.
985
986         No new tests, covered by existing tests.
987         - I updated 1 expected result, because there was a 1 pixel difference on the result, which I believe comes from a rounding situation.
988
989         * rendering/RenderBlockFlow.h:
990         * rendering/RenderBlockLineLayout.cpp:
991         (WebCore::BreakingContext::BreakingContext):
992         (WebCore::BreakingContext::currentObject):
993         (WebCore::BreakingContext::lineBreak):
994         (WebCore::BreakingContext::lineBreakRef):
995         (WebCore::BreakingContext::lineWidth):
996         (WebCore::BreakingContext::atEnd):
997         (WebCore::BreakingContext::clearLineBreakIfFitsOnLine):
998         (WebCore::BreakingContext::commitLineBreakAtCurrentWidth):
999         (WebCore::BreakingContext::initializeForCurrentObject):
1000         (WebCore::BreakingContext::increment):
1001         (WebCore::BreakingContext::handleBR):
1002         (WebCore::BreakingContext::handleOutOfFlowPositioned):
1003         (WebCore::BreakingContext::handleFloat):
1004         (WebCore::BreakingContext::handleEmptyInline):
1005         (WebCore::BreakingContext::handleReplaced):
1006         (WebCore::nextCharacter):
1007         (WebCore::BreakingContext::handleText):
1008         (WebCore::textBeginsWithBreakablePosition):
1009         (WebCore::BreakingContext::canBreakAtThisPosition):
1010         (WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):
1011         (WebCore::BreakingContext::handleEndOfLine):
1012         (WebCore::LineBreaker::nextSegmentBreak):
1013
1014 2013-10-22  Commit Queue  <commit-queue@webkit.org>
1015
1016         Unreviewed, rolling out r157826.
1017         http://trac.webkit.org/changeset/157826
1018         https://bugs.webkit.org/show_bug.cgi?id=123197
1019
1020         Caused some regions tests to assert (Requested by smfr on
1021         #webkit).
1022
1023         * dom/Document.cpp:
1024         (WebCore::Document::styleForElementIgnoringPendingStylesheets):
1025         * dom/Document.h:
1026         * dom/Element.cpp:
1027         (WebCore::Element::styleForRenderer):
1028         * dom/Element.h:
1029         * dom/ElementRareData.h:
1030         (WebCore::ElementRareData::setComputedStyle):
1031         (WebCore::ElementRareData::resetComputedStyle):
1032         * html/HTMLTitleElement.cpp:
1033         (WebCore::HTMLTitleElement::textWithDirection):
1034         * page/animation/AnimationController.cpp:
1035         (WebCore::AnimationController::updateAnimations):
1036         * page/animation/CompositeAnimation.cpp:
1037         (WebCore::CompositeAnimation::animate):
1038         * page/animation/CompositeAnimation.h:
1039         * rendering/RenderElement.cpp:
1040         (WebCore::RenderElement::createFor):
1041         * rendering/RenderElement.h:
1042         (WebCore::RenderElement::setStyleInternal):
1043         * rendering/RenderRegion.cpp:
1044         (WebCore::RenderRegion::setRegionObjectsRegionStyle):
1045         (WebCore::RenderRegion::restoreRegionObjectsOriginalStyle):
1046         (WebCore::RenderRegion::computeStyleInRegion):
1047         (WebCore::RenderRegion::computeChildrenStyleInRegion):
1048         (WebCore::RenderRegion::setObjectStyleInRegion):
1049         * rendering/RenderRegion.h:
1050         * style/StyleResolveTree.cpp:
1051         (WebCore::Style::resolveLocal):
1052
1053 2013-10-22  Ryuan Choi  <ryuan.choi@samsung.com>
1054
1055         [EFL] Remove HAVE_GLX macro
1056         https://bugs.webkit.org/show_bug.cgi?id=123191
1057
1058         Reviewed by Gyuyoung Kim.
1059
1060         Since r138313, HAVE(GLX) was replaced to USE(GLX) except in GraphicsSurfaceToken.h.
1061
1062         * platform/graphics/surfaces/GraphicsSurfaceToken.h:
1063         Replace HAVE(GLX) to USE(GLX)
1064
1065 2013-10-22  Mark Lam  <mark.lam@apple.com>
1066
1067         Gardening: fix broken build on Windows.
1068         https://bugs.webkit.org/show_bug.cgi?id=123174.
1069
1070         Not reviewed.
1071
1072         No new tests.
1073
1074         * WebCore.vcxproj/WebCore.vcxproj:
1075         * WebCore.vcxproj/WebCore.vcxproj.filters:
1076
1077 2013-10-22  Brady Eidson  <beidson@apple.com>
1078
1079         Get rid of IDBObjectStoreBackendLevelDB
1080         https://bugs.webkit.org/show_bug.cgi?id=123174
1081
1082         Reviewed by Tim Horton.
1083
1084         This file was kind of a dumping ground.
1085         Its contents can be merged into IDBBackingStoreInterface and a new IDBIndexWriter class.
1086
1087         Also took the opportunity to do a little bit of RefPtr<> and pointer-vs-reference cleanup.
1088
1089         * CMakeLists.txt:
1090         * GNUmakefile.list.am:
1091         * WebCore.xcodeproj/project.pbxproj:
1092
1093         * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.cpp: Removed.
1094         * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.h: Removed.
1095
1096         * Modules/indexeddb/IDBIndexWriter.cpp: Added.
1097         (WebCore::IDBIndexWriter::IDBIndexWriter):
1098         (WebCore::IDBIndexWriter::writeIndexKeys):
1099         (WebCore::IDBIndexWriter::verifyIndexKeys):
1100         (WebCore::IDBIndexWriter::addingKeyAllowed):
1101         * Modules/indexeddb/IDBIndexWriter.h: Added.
1102         (WebCore::IDBIndexWriter::create):
1103
1104         * Modules/indexeddb/IDBBackingStoreInterface.h:
1105         * Modules/indexeddb/IDBDatabaseBackendInterface.h:
1106
1107         * Modules/indexeddb/IDBMetadata.h:
1108         * Modules/indexeddb/IDBTransactionBackendInterface.h:
1109
1110         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
1111         (WebCore::IDBBackingStoreLevelDB::makeIndexWriters):
1112         (WebCore::IDBBackingStoreLevelDB::generateKey):
1113         (WebCore::IDBBackingStoreLevelDB::updateKeyGenerator):
1114         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
1115
1116         * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp:
1117         (WebCore::IDBDatabaseBackendLevelDB::setIndexKeys):
1118         (WebCore::IDBDatabaseBackendLevelDB::setIndexesReady):
1119         * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.h:
1120
1121         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp:
1122         (WebCore::IDBTransactionBackendLevelDB::schedulePutOperation):
1123         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:
1124
1125         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.cpp:
1126         (WebCore::PutOperation::perform):
1127         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.h:
1128         (WebCore::PutOperation::create):
1129         (WebCore::PutOperation::PutOperation):
1130
1131 2013-10-22  Dean Jackson  <dino@apple.com>
1132
1133         [WebGL] Implement a software rendering option on Mac
1134         https://bugs.webkit.org/show_bug.cgi?id=123177
1135
1136         Reviewed by Tim Horton.
1137
1138         Implement a way to force software OpenGL rendering
1139         for WebGL, via a Setting/Preference.
1140
1141         No new tests. We intentionally hide the capabilities of
1142         the renderer from the content, so you can't test for
1143         this setting. However, manual inspection is pretty
1144         obvious. Just go to a page with a complex shader
1145         such as https://www.shadertoy.com/view/lss3WS.
1146
1147         * html/canvas/WebGLRenderingContext.cpp:
1148         (WebCore::WebGLRenderingContext::create): If we're forcing software
1149         rendering, mark the context attributes as such.
1150         * page/Settings.in: New setting key.
1151         * platform/graphics/GraphicsContext3D.h: New flag in Attributes.
1152         (WebCore::GraphicsContext3D::Attributes::Attributes):
1153         * platform/graphics/mac/GraphicsContext3DMac.mm:
1154         (WebCore::GraphicsContext3D::GraphicsContext3D): Slight update to the
1155         algorithm that sets a pixel format. If we're forcing software rendering,
1156         obviously we never want to create an accelerated pixel format.
1157         * platform/graphics/filters/CustomFilterGlobalContext.cpp:
1158         (WebCore::CustomFilterGlobalContext::prepareContextIfNeeded): Set the attribute
1159         here before trying to create the context.
1160         * platform/graphics/filters/CustomFilterGlobalContext.h: Add a forceSoftwareRendering
1161         flag to prepareContextIfNeeded.
1162         * rendering/FilterEffectRenderer.cpp:
1163         (WebCore::createCustomFilterEffect): Check the Setting before creating a custom
1164         filter context.
1165
1166 2013-10-22  Anders Carlsson  <andersca@apple.com>
1167
1168         Revert r157445 since it broke certificates on Mac.
1169         <rdar://problem/15246926&15254017&15269117>
1170
1171         * GNUmakefile.list.am:
1172         * PlatformEfl.cmake:
1173         * WebCore.exp.in:
1174         * WebCore.vcxproj/WebCore.vcxproj:
1175         * WebCore.vcxproj/WebCore.vcxproj.filters:
1176         * WebCore.xcodeproj/project.pbxproj:
1177         * platform/network/ResourceErrorBase.h:
1178         * platform/network/ResourceResponseBase.h:
1179         * platform/network/cf/CertificateInfoCFNet.cpp: Removed.
1180         * platform/network/cf/ResourceResponse.h:
1181         * platform/network/mac/ResourceResponseMac.mm:
1182         (WebCore::ResourceResponse::setCertificateChain):
1183         (WebCore::ResourceResponse::certificateChain):
1184         * platform/network/soup/ResourceError.h:
1185         (WebCore::ResourceError::ResourceError):
1186         (WebCore::ResourceError::tlsErrors):
1187         (WebCore::ResourceError::setTLSErrors):
1188         (WebCore::ResourceError::certificate):
1189         (WebCore::ResourceError::setCertificate):
1190         * platform/network/soup/ResourceErrorSoup.cpp:
1191         (WebCore::ResourceError::tlsError):
1192         (WebCore::ResourceError::platformCopy):
1193         (WebCore::ResourceError::platformCompare):
1194         * platform/network/soup/ResourceResponse.h:
1195         (WebCore::ResourceResponse::ResourceResponse):
1196         (WebCore::ResourceResponse::soupMessageCertificate):
1197         (WebCore::ResourceResponse::setSoupMessageCertificate):
1198         (WebCore::ResourceResponse::soupMessageTLSErrors):
1199         (WebCore::ResourceResponse::setSoupMessageTLSErrors):
1200         * platform/network/soup/ResourceResponseSoup.cpp:
1201         (WebCore::ResourceResponse::toSoupMessage):
1202         (WebCore::ResourceResponse::updateFromSoupMessage):
1203
1204 2013-10-22  Jer Noble  <jer.noble@apple.com>
1205
1206         [Media] Refactor supportsType() factory method to take a parameters object.
1207         https://bugs.webkit.org/show_bug.cgi?id=122489
1208
1209         Reviewed by Eric Carlson.
1210
1211         In order to support adding new conditional properties with which to decide
1212         what MediaPlayerPrivate subclass to create, replace the two versions of the
1213         supportsType() factory method with a single one taking a parameters object.
1214
1215         At the same time, add a 'isMediaSource' parameter to that object, allowing
1216         MediaPlayerPrivate subclasses which support the same type and codecs but
1217         which do not both support MediaSource to be distinguised.
1218
1219         * platform/graphics/MediaPlayer.cpp:
1220         (WebCore::bestMediaEngineForSupportParameters): Renamed from
1221             bestMediaEngineForTypeAndCodecs.
1222         (WebCore::MediaPlayer::nextBestMediaEngine): Added convenience function.
1223         (WebCore::MediaPlayer::loadWithNextMediaEngine): Call nextBestMediaEngine()
1224         (WebCore::MediaPlayer::supportsType): Pass parameter object.
1225         (WebCore::MediaPlayer::networkStateChanged): Call nextBestMediaEngine().
1226         * platform/graphics/MediaPlayer.h:
1227         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
1228         (WebCore::MediaPlayerPrivateAVFoundationCF::supportsType): Handle parameter object.
1229         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
1230         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
1231         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1232         (WebCore::MediaPlayerPrivateAVFoundationObjC::registerMediaEngine): Remove extraneous
1233             extendedSupportsType method.
1234         (WebCore::MediaPlayerPrivateAVFoundationObjC::supportsType): Handle parameter object.
1235         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
1236         (WebCore::MediaPlayerPrivate::supportsType): Ditto.
1237         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
1238         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1239         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
1240         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
1241         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1242         (WebCore::MediaPlayerPrivateQTKit::registerMediaEngine): Remove extraneous
1243             extendedSupportsType method.
1244         (WebCore::MediaPlayerPrivateQTKit::supportsType): Handle parameter object.
1245         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
1246         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::supportsType): Ditto.
1247         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
1248         * platform/graphics/wince/MediaPlayerPrivateWinCE.h:
1249
1250 2013-10-22  Andreas Kling  <akling@apple.com>
1251
1252         Merge SVGRenderBlock::styleWillChange() into styleDidChange().
1253         <https://webkit.org/b/123181>
1254
1255         I meant to do this one in r157787, but better late than never.
1256
1257         Reviewed by Geoffrey Garen.
1258
1259 2013-10-22  Sam Weinig  <sam@webkit.org>
1260
1261         CTTE: Modernize RenderBlock a bit
1262         https://bugs.webkit.org/show_bug.cgi?id=123162
1263
1264         Reviewed by Andreas Kling.
1265
1266         Start threading references through RenderBlock. While we 
1267         are here, do some selective modernization as well.
1268
1269 2013-10-22  Andreas Kling  <akling@apple.com>
1270
1271         Even more PassRef<RenderStyle>!
1272         <https://webkit.org/b/123147>
1273
1274         Convert the remaining WebCore code to use PassRef for RenderStyle
1275         wherever they are known to be non-null.
1276
1277         Reviewed by Antti Koivisto.
1278
1279 2013-10-22  Commit Queue  <commit-queue@webkit.org>
1280
1281         Unreviewed, rolling out r157819.
1282         http://trac.webkit.org/changeset/157819
1283         https://bugs.webkit.org/show_bug.cgi?id=123180
1284
1285         Broke 32-bit builds (Requested by smfr on #webkit).
1286
1287         * Configurations/WebCore.xcconfig:
1288
1289 2013-10-22  Antti Koivisto  <antti@apple.com>
1290
1291         Rename deleteLineBoxTree to deleteLines
1292         https://bugs.webkit.org/show_bug.cgi?id=123176
1293
1294         Reviewed by Andreas Kling.
1295
1296         RenderBlock::deleteLineBoxTree -> RenderBlock::deleteLines
1297         RenderInline::deleteLineBoxTree -> RenderInline::deleteLines
1298
1299 2013-10-22  Tim Horton  <timothy_horton@apple.com>
1300
1301         {ClipPathOperation, FilterOperation}::getOperationType() should not include 'get'
1302         https://bugs.webkit.org/show_bug.cgi?id=123172
1303
1304         Reviewed by Simon Fraser.
1305
1306         No new tests, just a rename.
1307
1308         "get" in WebCore tends to mean that the function has out arguments; these have no arguments.
1309         Rename FilterOperation::getOperationType() to FilterOperation::type().
1310         I noticed that ClipPathOperation had the same mistake, so I fixed it there too.
1311
1312         Removed long and useless list of files.
1313
1314 2013-10-22  Samuel White  <samuel_white@apple.com>
1315
1316         AX: Add paramAttrs to fetch start and end text markers in a given rect.
1317         https://bugs.webkit.org/show_bug.cgi?id=122164
1318
1319         Reviewed by Chris Fleizach.
1320
1321         Added ability to fetch end and start text markers inside a given bounds. This gives ScreenReaders
1322         like VoiceOver a way to retrieve the text markers for a specified column of page text.
1323
1324         Test: platform/mac/accessibility/text-marker-for-bounds.html
1325
1326         * accessibility/AccessibilityObject.cpp:
1327         (WebCore::AccessibilityObject::mainFrame):
1328         (WebCore::AccessibilityObject::topDocument):
1329         (WebCore::AccessibilityObject::visiblePositionForBounds):
1330         * accessibility/AccessibilityObject.h:
1331         * accessibility/AccessibilityRenderObject.cpp:
1332         * accessibility/AccessibilityRenderObject.h:
1333         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
1334         (-[WebAccessibilityObjectWrapper screenToContents:]):
1335         (-[WebAccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
1336         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
1337
1338 2013-10-22  Zoltan Horvath  <zoltan@webkit.org>
1339
1340         [CSS Shapes] Match adjustLogicalLineTopAndLogicalHeightIfNeeded's implementation with Blink's
1341         https://bugs.webkit.org/show_bug.cgi?id=123033
1342
1343         Reviewed by David Hyatt.
1344
1345         In Blink I made this function in a bit different way. This change modifies it
1346         to be identical, which helps a lot in the future cross-merging patches.
1347
1348         No new tests, covered by existing texts.
1349
1350         * rendering/RenderBlockLineLayout.cpp:
1351         (WebCore::RenderBlockFlow::adjustLogicalLineTopAndLogicalHeightIfNeeded):
1352
1353 2013-10-22  Daniel Bates  <dabates@apple.com>
1354
1355         [iOS] Upstream more ARMv7s bits
1356         https://bugs.webkit.org/show_bug.cgi?id=123052
1357
1358         Reviewed by Joseph Pecoraro.
1359
1360         * Configurations/WebCore.xcconfig:
1361
1362 2013-10-22  Simon Fraser  <simon.fraser@apple.com>
1363
1364         Try to fix Mavericks build; use <> for framework include.
1365
1366         * page/CaptionUserPreferencesMediaAF.cpp:
1367
1368 2013-10-22  Tim Horton  <timothy_horton@apple.com>
1369
1370         GammaFilterOperation seems to be dead code
1371         https://bugs.webkit.org/show_bug.cgi?id=123173
1372
1373         Reviewed by Simon Fraser.
1374
1375         * platform/graphics/filters/FilterOperation.cpp:
1376         * platform/graphics/filters/FilterOperation.h:
1377         Remove dead code.
1378
1379 2013-10-22  Antti Koivisto  <antti@apple.com>
1380
1381         Rename some line box functions to be just about lines
1382         https://bugs.webkit.org/show_bug.cgi?id=123168
1383
1384         Reviewed by Dave Hyatt.
1385
1386         firstLineBoxBaseline -> firstLineBaseline
1387         hasInlineBoxChildren -> hasLines
1388         
1389         Also use hasLines in a bunch of places where firstLineBox() was used.
1390
1391         * accessibility/AccessibilityRenderObject.cpp:
1392         (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
1393         
1394             Also use hasRenderedText() instead of firstTextBox()
1395
1396         * rendering/RenderFullScreen.cpp:
1397         
1398             Fix namespace.
1399
1400 2013-10-22  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
1401
1402         Adding Mock class to test RTCPeerConnection
1403         https://bugs.webkit.org/show_bug.cgi?id=122848
1404
1405         Reviewed by Eric Carlson.
1406
1407         The following tests can be run:
1408
1409             RTCPeerConnection-createAnswer.html
1410             RTCPeerConnection-createOffer.html
1411             RTCPeerConnection-ice.html
1412             RTCPeerConnection-localDescription.html
1413             RTCPeerConnection-remoteDescription.html
1414             RTCPeerConnection-state.html
1415
1416         Tests that require a MediaStream object, by invoking getUserMedia,
1417         are not ready to run yet.
1418
1419         No new tests needed.
1420
1421         * CMakeLists.txt:
1422         * platform/mediastream/RTCPeerConnectionHandler.cpp:
1423         (WebCore::createHandler):
1424         * platform/mediastream/RTCPeerConnectionHandler.h:
1425         * platform/mediastream/RTCPeerConnectionHandlerClient.h:
1426         * platform/mock/RTCNotifiersMock.cpp: Added.
1427         * platform/mock/RTCNotifiersMock.h: Added.
1428         * platform/mock/RTCPeerConnectionHandlerMock.cpp: Added.
1429         * platform/mock/RTCPeerConnectionHandlerMock.h: Copied from Source/WebCore/platform/mediastream/RTCPeerConnectionHandler.h.
1430         * platform/mock/TimerEventBasedMock.h: Added.
1431         * testing/Internals.cpp:
1432         (WebCore::Internals::Internals):
1433         (WebCore::Internals::enableMockRTCPeerConnectionHandler):
1434         * testing/Internals.h:
1435
1436 2013-10-22  Zan Dobersek  <zdobersek@igalia.com>
1437
1438         WebCore::fillWithEmptyClients adopts new empty clients before leaking their pointers
1439         https://bugs.webkit.org/show_bug.cgi?id=122945
1440
1441         Reviewed by Anders Carlsson.
1442
1443         * loader/EmptyClients.cpp:
1444         (WebCore::fillWithEmptyClients): Store the static empty clients as NeverDestroyed, rather than
1445         adopting the pointer of each heap-allocated object and then immediately leaking that pointer.
1446
1447 2013-10-22  Zan Dobersek  <zdobersek@igalia.com>
1448
1449         Simplify HRTFDatabaseLoader's load map
1450         https://bugs.webkit.org/show_bug.cgi?id=122944
1451
1452         Reviewed by Eric Carlson.
1453
1454         * platform/audio/HRTFDatabaseLoader.cpp:
1455         (WebCore::loaderMap): Return a reference to a NeverDestroyed HashMap that maps sample rates to loaders.
1456         (WebCore::HRTFDatabaseLoader::createAndLoadAsynchronouslyIfNecessary):
1457         (WebCore::HRTFDatabaseLoader::~HRTFDatabaseLoader):
1458         * platform/audio/HRTFDatabaseLoader.h: Remove the LoaderMap type definition, the private singleton of that type
1459         and the singleton's unused getter.
1460
1461 2013-10-22  Tim Horton  <timothy_horton@apple.com>
1462
1463         Remote Layer Tree: Support hardware accelerated filters
1464         https://bugs.webkit.org/show_bug.cgi?id=123139
1465
1466         Reviewed by Anders Carlsson.
1467
1468         * WebCore.exp.in:
1469         Export a variety of filter-related things.
1470
1471         * platform/graphics/ca/PlatformCAFilters.h:
1472         * platform/graphics/ca/mac/PlatformCAFiltersMac.mm:
1473         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
1474         (PlatformCALayerMac::setFilters):
1475         * platform/graphics/ca/win/PlatformCAFiltersWin.cpp:
1476         (PlatformCAFilters::setFiltersOnLayer):
1477         setFiltersOnLayer should take a PlatformLayer instead of a PlatformCALayer
1478         as its argument, because it doesn't need a PlatformCALayer, and this way
1479         we can share code with the RemoteLayerTreeHost, which only has PlatformLayers
1480         and not PlatformCALayers.
1481
1482 2013-10-22  Brendan Long  <b.long@cablelabs.com>
1483
1484         cue.text fails for some track element cues
1485         https://bugs.webkit.org/show_bug.cgi?id=81123
1486
1487         Reviewed by Eric Carlson.
1488
1489         Test: media/track/track-long-captions-file.html
1490
1491         * html/track/WebVTTParser.cpp:
1492         (WebCore::WebVTTParser::parseBytes): Use buffer when we don't have full lines.
1493         (WebCore::WebVTTParser::fileFinished): Force file to finish parsing.
1494         (WebCore::WebVTTParser::hasRequiredFileIdentifier): Simplify due to using String.
1495         (WebCore::WebVTTParser::collectCueText): Don't automatically create cues when we run out of data.
1496         (WebCore::WebVTTParser::collectNextLine): Use buffer.
1497         * html/track/WebVTTParser.h: Add m_buffer and Finished state.
1498         * loader/TextTrackLoader.cpp:
1499         (WebCore::TextTrackLoader::notifyFinished): Call m_parser->fileFinished() when done.
1500
1501 2013-10-22  peavo@outlook.com  <peavo@outlook.com>
1502
1503         [WinCairo] Compile error.
1504         https://bugs.webkit.org/show_bug.cgi?id=123161
1505
1506         Reviewed by Brent Fulgham.
1507
1508         * rendering/RenderFlowThread.h: Move USE(ACCELERATED_COMPOSITING) guard to expose needed type.
1509
1510 2013-10-21  Brady Eidson  <beidson@apple.com>
1511
1512         Add a cross-platform IDBRecordIdentifier
1513         https://bugs.webkit.org/show_bug.cgi?id=123138
1514
1515         Reviewed by Andreas Kling.
1516
1517         Add the cross-platform header:
1518         * Modules/indexeddb/IDBRecordIdentifier.h: Added.
1519         (WebCore::IDBRecordIdentifier::create):
1520         (WebCore::IDBRecordIdentifier::encodedPrimaryKey):
1521         (WebCore::IDBRecordIdentifier::version):
1522         (WebCore::IDBRecordIdentifier::reset):
1523         (WebCore::IDBRecordIdentifier::IDBRecordIdentifier):
1524         * WebCore.xcodeproj/project.pbxproj:
1525         * GNUmakefile.list.am:
1526
1527         Remove the old abstract and LevelDB classes:
1528         * Modules/indexeddb/IDBBackingStoreInterface.h:
1529         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
1530
1531         Use the cross-platform one everywhere:
1532         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
1533         (WebCore::IDBBackingStoreLevelDB::putRecord):
1534         (WebCore::IDBBackingStoreLevelDB::deleteRecord):
1535         (WebCore::IDBBackingStoreLevelDB::keyExistsInObjectStore):
1536         (WebCore::IDBBackingStoreLevelDB::putIndexDataForRecord):
1537         (WebCore::ObjectStoreKeyCursorImpl::loadCurrentRow):
1538         (WebCore::ObjectStoreCursorImpl::loadCurrentRow):
1539
1540         * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp:
1541         (WebCore::IDBDatabaseBackendLevelDB::setIndexKeys):
1542
1543         * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.cpp:
1544         (WebCore::IDBObjectStoreBackendLevelDB::IndexWriter::writeIndexKeys):
1545
1546         * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.h:
1547         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.cpp:
1548         (WebCore::PutOperation::perform):
1549
1550 2013-10-22  Andrei Bucur  <abucur@adobe.com>
1551
1552         [CSS Regions] Possible performance regression after r157567
1553         https://bugs.webkit.org/show_bug.cgi?id=123016
1554
1555         Reviewed by Andreas Kling.
1556
1557         The revision 157567 http://trac.webkit.org/changeset/157567 may have regressed
1558         Parser/html5-full-render by ~1.1% and Parser/html-parser by ~2%. These changes
1559         try to optimize the initial patch, based on Andreas Kling's review.
1560
1561         The patch also adds a couple of refactorings that should make the code easier to read:
1562         - the CSS Shapes functions are now wrapped in a single #if clause
1563         - the CSS Shapes and CSS Regions pre-layout preparations are wrapped in a helper function
1564
1565         The RenderFlowThread::logicalWidthChangedInRegionsForBlock function is optimized by passing
1566         it information about the state of the relayout children flag. If the flag is true already,
1567         some of the steps are skipped.
1568
1569         Tests: no new tests.
1570
1571         * dom/Element.cpp:
1572         (WebCore::Element::webkitGetRegionFlowRanges):
1573         * inspector/InspectorOverlay.cpp:
1574         (WebCore::buildObjectForElementInfo):
1575         * rendering/RenderBlock.cpp:
1576         (WebCore::shapeInfoRequiresRelayout):
1577         (WebCore::RenderBlock::updateShapesBeforeBlockLayout):
1578         (WebCore::RenderBlock::computeShapeSize):
1579         (WebCore::RenderBlock::prepareShapesAndPaginationBeforeBlockLayout):
1580         * rendering/RenderBlock.h:
1581         * rendering/RenderBlockFlow.cpp:
1582         (WebCore::RenderBlockFlow::layoutBlock):
1583         (WebCore::RenderBlockFlow::createRenderNamedFlowFragmentIfNeeded):
1584         (WebCore::RenderBlockFlow::setRenderNamedFlowFragment):
1585         (WebCore::RenderBlockFlow::ensureRareData):
1586         * rendering/RenderBlockFlow.h:
1587         (WebCore::RenderBlockFlow::RenderBlockFlowRareData::RenderBlockFlowRareData):
1588         (WebCore::RenderElement::isRenderNamedFlowFragmentContainer):
1589         * rendering/RenderDeprecatedFlexibleBox.cpp:
1590         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
1591         * rendering/RenderElement.h:
1592         (WebCore::RenderElement::generatingElement):
1593         * rendering/RenderFlexibleBox.cpp:
1594         (WebCore::RenderFlexibleBox::layoutBlock):
1595         * rendering/RenderFlowThread.cpp:
1596         (WebCore::RenderFlowThread::logicalWidthChangedInRegionsForBlock):
1597         * rendering/RenderFlowThread.h:
1598         * rendering/RenderGrid.cpp:
1599         (WebCore::RenderGrid::layoutBlock):
1600         * rendering/RenderNamedFlowFragment.h:
1601         * rendering/RenderObject.cpp:
1602         * rendering/RenderObject.h:
1603         * rendering/RenderTreeAsText.cpp:
1604         (WebCore::write):
1605         * style/StyleResolveTree.cpp:
1606         (WebCore::Style::elementInsideRegionNeedsRenderer):
1607
1608 2013-10-22  Andreas Kling  <akling@apple.com>
1609
1610         CSSStyleSheet constructor functions should return PassRef.
1611         <https://webkit.org/b/123156>
1612
1613         Make CSSStyleSheet::create*() return PassRef and tighten some call
1614         sites that were using them. Most callers didn't need any tweaks to
1615         take advantage of PassRef.
1616
1617         Reviewed by Antti Koivisto.
1618
1619 2013-10-22  Andreas Kling  <akling@apple.com>
1620
1621         CTTE: RenderMathMLFraction always has a MathMLInlineContainerElement.
1622         <https://webkit.org/b/123154>
1623
1624         This renderer is never anonymous and always has a corresponding
1625         MathMLInlineContainerElement. Overload element() with a tighter
1626         return type.
1627
1628         Also marked the class FINAL and made most member functions private.
1629
1630         Reviewed by Antti Koivisto.
1631
1632 2013-10-22  Andreas Kling  <akling@apple.com>
1633
1634         FontGlyphs constructor functions should return PassRef.
1635         <https://webkit.org/b/123159>
1636
1637         Made the two FontGlyphs creator functions return PassRef and tweaked
1638         the FontGlyphsCache in Font.cpp to make more efficient use of it.
1639
1640         Reviewed by Antti Koivisto.
1641
1642 2013-10-22  Andreas Kling  <akling@apple.com>
1643
1644         Fix some more code to use RenderElement instead of RenderObject.
1645         <https://webkit.org/b/123149>
1646
1647         Using RenderElement where possible lets us skip the isRenderElement()
1648         branch in RenderObject::style() and generates much tighter code.
1649
1650         Reviewed by Antti Koivisto.
1651
1652 2013-10-22  Andreas Kling  <akling@apple.com>
1653
1654         Merge SVG renderers' styleWillChange() into styleDidChange().
1655         <https://webkit.org/b/123108>
1656
1657         This work can just as well be done after setting the style.
1658         Three more styleWillChange() overloads gone.
1659
1660         Reviewed by Antti Koivisto.
1661
1662 2013-10-22  Andreas Kling  <akling@apple.com>
1663
1664         CSSValueList constructor functions should return PassRef.
1665         <https://webkit.org/b/123151>
1666
1667         These functions always return objects, and thus can return PassRef.
1668         Also made CSSValueList::createFromParserValueList() take a reference
1669         since that function is only ever called with a non-null value.
1670
1671         Reviewed by Antti Koivisto.
1672
1673 2013-10-22  Andreas Kling  <akling@apple.com>
1674
1675         Avoid parent style ref churn in createTextRendererIfNeeded().
1676         <https://webkit.org/b/123148>
1677
1678         There's no need to take a temporary ref on the parent's RenderStyle
1679         while creating a text renderer. It's not going away, and the text
1680         renderer is not going to participate in ownership afterwards.
1681
1682         Reviewed by Antti Koivisto.
1683
1684 2013-10-22  Andreas Kling  <akling@apple.com>
1685
1686         Remove some unnecessary null checks in RenderElement::setStyle().
1687         <https://webkit.org/b/123146>
1688
1689         After assigning the new style to RenderElement::m_style, we know that
1690         it'll be non-null, so remove all the checking for this.
1691
1692         Reviewed by Antti Koivisto.
1693
1694 2013-10-22  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1695
1696         Introduce ACCESSIBILITY_OBJECT_TYPE_CASTS to replace manual toFoo() in accessibility child class
1697         https://bugs.webkit.org/show_bug.cgi?id=123140
1698
1699         Reviewed by Andreas Kling.
1700
1701         As a step to let toFoo use TYPE_CASTS_BASE, DEFINE_TYPE_CASTS can be used for toFoo() in accessibility
1702         child class. The DEFINE_TYPE_CASTS will generate plenty more helper functions for accessibility type cast.
1703
1704         No new tests, no behavior changes.
1705
1706         * accessibility/AccessibilityList.h:
1707         * accessibility/AccessibilityMenuList.h:
1708         * accessibility/AccessibilityMockObject.h:
1709         * accessibility/AccessibilityNodeObject.h:
1710         * accessibility/AccessibilityObject.h:
1711         * accessibility/AccessibilityRenderObject.h:
1712         * accessibility/AccessibilitySVGRoot.h:
1713         * accessibility/AccessibilityScrollView.h:
1714         * accessibility/AccessibilitySpinButton.h:
1715         * accessibility/AccessibilityTable.h:
1716
1717 2013-10-22  Brian Holt  <brian.holt@samsung.com>
1718
1719         [GTK] Add WebKit2 API for TLS errors
1720         https://bugs.webkit.org/show_bug.cgi?id=120160
1721
1722         Reviewed by Carlos Garcia Campos.
1723
1724         Added a new constructor for CertificateInfo under Soup.
1725
1726         * platform/network/CertificateInfo.h:
1727         * platform/network/soup/CertificateInfoSoup.cpp:
1728         (WebCore::CertificateInfo::CertificateInfo): New constructor using
1729         GTlsCertificateFlags and GTlsCertificate.
1730
1731 2013-10-22  Mihnea Ovidenie  <mihnea@adobe.com>
1732
1733         [CSSRegions] Use RenderStyle::hasFlowFrom when needed
1734         https://bugs.webkit.org/show_bug.cgi?id=122543
1735
1736         Reviewed by David Hyatt.
1737
1738         Rename RenderStyle::hasStyleRegion -> RenderStyle::hasFlowFrom.
1739         Use RenderStyle::hasFlowFrom() helper function instead of directly
1740         checking the value of RenderStyle::regionThread().
1741
1742         No change of functionality, covered by existing tests.
1743
1744         * css/CSSComputedStyleDeclaration.cpp:
1745         (WebCore::contentToCSSValue):
1746         (WebCore::ComputedStyleExtractor::propertyValue):
1747         * css/StyleResolver.cpp:
1748         (WebCore::StyleResolver::adjustRenderStyle):
1749         * dom/PseudoElement.cpp:
1750         (WebCore::PseudoElement::didAttachRenderers):
1751         * dom/PseudoElement.h:
1752         (WebCore::pseudoElementRendererIsNeeded):
1753         * rendering/RenderBlockFlow.cpp:
1754         (WebCore::RenderBlockFlow::createRenderNamedFlowFragmentIfNeeded):
1755         * rendering/RenderLayer.cpp:
1756         (WebCore::RenderLayer::shouldBeNormalFlowOnly):
1757         * rendering/style/RenderStyle.h:
1758
1759 2013-10-21  Brent Fulgham  <bfulgham@apple.com>
1760
1761         [WIN] Properly support reverse animations without needing software fallback.
1762         https://bugs.webkit.org/show_bug.cgi?id=85121
1763
1764         Reviewed by Dean Jackson.
1765
1766         Testing is provided by existing animation tests.
1767
1768         * platform/animation/TimingFunction.h:
1769         (WebCore::CubicBezierTimingFunction::createReversed): Added.
1770         * platform/graphics/ca/GraphicsLayerCA.cpp:
1771         (WebCore::GraphicsLayerCA::addAnimation): The early return when performing a reverse or
1772         autoreverse animation is no longer needed.
1773         * platform/graphics/ca/PlatformCAAnimation.h:
1774         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
1775         (toCAMediaTimingFunction): Use new reversed function.
1776         * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
1777         (toCACFTimingFunction): Ditto.
1778         (PlatformCAAnimation::setTimingFunction): Pass 'reverse' flag.
1779         (PlatformCAAnimation::setTimingFunctions): Ditto.
1780
1781 2013-10-21  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1782
1783         Use TYPE_CASTS_BASE for CSS_VALUE_TYPE_CASTS
1784         https://bugs.webkit.org/show_bug.cgi?id=123126
1785
1786         Reviewed by Andreas Kling.
1787
1788         TYPE_CASTS_BASE was moved to common place to be used by all toFoo().
1789         CSS_VALUE_TYPE_CASTS starts to use it for CSS child value. This change
1790         generates plenty more helper functions for toCSSFooValue().
1791
1792         Additionally, this use support that toWebKitCSSFooValue, which couldn't
1793         use CSS_VALUE_TYPE_CASTS macro.
1794
1795         No new tests, no behavior change.
1796
1797         * css/CSSAspectRatioValue.h:
1798         * css/CSSBorderImageSliceValue.h:
1799         * css/CSSCalculationValue.h:
1800         * css/CSSCanvasValue.h:
1801         * css/CSSCrossfadeValue.h:
1802         * css/CSSCursorImageValue.h:
1803         * css/CSSFilterImageValue.h:
1804         * css/CSSFontFaceSrcValue.h:
1805         * css/CSSFontFeatureValue.h:
1806         * css/CSSFontValue.h:
1807         * css/CSSFunctionValue.h:
1808         * css/CSSGradientValue.h:
1809         * css/CSSGridTemplateValue.h:
1810         * css/CSSImageSetValue.h:
1811         * css/CSSImageValue.h:
1812         * css/CSSInheritedValue.h:
1813         * css/CSSInitialValue.h:
1814         * css/CSSLineBoxContainValue.h:
1815         * css/CSSPrimitiveValue.h:
1816         * css/CSSReflectValue.h:
1817         * css/CSSShadowValue.h:
1818         * css/CSSTimingFunctionValue.h:
1819         * css/CSSUnicodeRangeValue.h:
1820         * css/CSSValue.h:
1821         * css/CSSValueList.h:
1822         * css/CSSVariableValue.h:
1823         * css/WebKitCSSArrayFunctionValue.h:
1824         * css/WebKitCSSFilterValue.h:
1825         * css/WebKitCSSMatFunctionValue.h:
1826         * css/WebKitCSSMixFunctionValue.h:
1827         * css/WebKitCSSSVGDocumentValue.h:
1828         * css/WebKitCSSShaderValue.h:
1829
1830 2013-10-21  Joone Hur  <joone.hur@intel.com>
1831
1832         Bad cast with toRenderBoxModelObject in RenderBlock::updateFirstLetter()
1833         https://bugs.webkit.org/show_bug.cgi?id=123013
1834
1835         Reviewed by Andreas Kling.
1836
1837         No new tests because this was reported by Google ClusterFuzz.
1838         https://codereview.chromium.org/25713009/
1839
1840         There is a case that toRenderBoxModelObject causes a crash in RenderBlock::updateFirstLetter() 
1841         due to bad cast, so we need to check whether the RenderObject is a RenderBoxModelObject 
1842         by running isBoxModelObject() before calling toRenderBoxModelObject.  
1843
1844         * rendering/RenderBlock.cpp:
1845         (WebCore::RenderBlock::updateFirstLetter):
1846
1847 2013-10-21  Brady Eidson  <beidson@apple.com>
1848
1849         Make IDBTransactionCoordinatorLevelDB cross platform
1850         https://bugs.webkit.org/show_bug.cgi?id=123124
1851
1852         Enthusiastically reviewed by Tim Horton.
1853
1854         * CMakeLists.txt:
1855         * GNUmakefile.list.am:
1856         * WebCore.xcodeproj/project.pbxproj:
1857
1858         Make more methods pure virtual in the interface:
1859         * Modules/indexeddb/IDBTransactionBackendInterface.h:
1860         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp:
1861         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:
1862
1863         Update the name of the class, and use IDBTransactionBackendInterface instead of IDBTransactionBackendLeveDB:
1864         * Modules/indexeddb/IDBTransactionCoordinator.cpp: Renamed from Source/WebCore/Modules/indexeddb/leveldb/IDBTransactionCoordinatorLevelDB.cpp.
1865         (WebCore::IDBTransactionCoordinator::create):
1866         (WebCore::IDBTransactionCoordinator::IDBTransactionCoordinator):
1867         (WebCore::IDBTransactionCoordinator::~IDBTransactionCoordinator):
1868         (WebCore::IDBTransactionCoordinator::didCreateTransaction):
1869         (WebCore::IDBTransactionCoordinator::didStartTransaction):
1870         (WebCore::IDBTransactionCoordinator::didFinishTransaction):
1871         (WebCore::IDBTransactionCoordinator::isActive):
1872         (WebCore::IDBTransactionCoordinator::processStartedTransactions):
1873         (WebCore::doScopesOverlap):
1874         (WebCore::IDBTransactionCoordinator::canRunTransaction):
1875         * Modules/indexeddb/IDBTransactionCoordinator.h: Renamed from Source/WebCore/Modules/indexeddb/leveldb/IDBTransactionCoordinatorLevelDB.h.
1876
1877         Update the name of the class elsewhere:
1878         * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp:
1879         (WebCore::IDBDatabaseBackendLevelDB::IDBDatabaseBackendLevelDB):
1880         * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.h:
1881         (WebCore::IDBDatabaseBackendLevelDB::transactionCoordinator):
1882         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
1883
1884 2013-10-21  Daniel Bates  <dabates@apple.com>
1885
1886         [iOS] Upstream JSGlobalObject::shouldInterruptScriptBeforeTimeout()
1887         https://bugs.webkit.org/show_bug.cgi?id=123045
1888
1889         Reviewed by Joseph Pecoraro.
1890
1891         * bindings/js/JSDOMWindowBase.cpp:
1892         (WebCore::shouldInterruptScriptToPreventInfiniteRecursionWhenClosingPage): Added.
1893         (WebCore::JSDOMWindowBase::shouldInterruptScript): Extracted comment and assertion
1894         about null Page object into WebCore::shouldInterruptScriptToPreventInfiniteRecursionWhenClosingPage()
1895         so that it can be shared by both this function and JSDOMWindowBase::shouldInterruptScriptBeforeTimeout().
1896         (WebCore::JSDOMWindowBase::shouldInterruptScriptBeforeTimeout):
1897         * bindings/js/JSDOMWindowBase.h:
1898         * bindings/js/JSWorkerGlobalScopeBase.cpp:
1899         (WebCore::JSWorkerGlobalScopeBase::shouldInterruptScriptBeforeTimeout): Added.
1900         * bindings/js/JSWorkerGlobalScopeBase.h:
1901         * loader/EmptyClients.h: Added isStopping(). We'll land the iOS chrome client implementation
1902         in a subsequent patch.
1903         * page/ChromeClient.h: Added isStopping().
1904
1905 2013-10-21  Anders Carlsson  <andersca@apple.com>
1906
1907         Navigation policy callback not called when performing the same fragment navigation twice
1908         https://bugs.webkit.org/show_bug.cgi?id=123121
1909         <rdar://problem/15230466>
1910
1911         Reviewed by Beth Dakin.
1912
1913         There's code in PolicyChecker::checkNavigationPolicy that will call the decision function right away 
1914         if the requests are equal, without consulting any policy client. Because of this, make sure to empty out
1915         the last checked request of the document loader when doing a fragment navigation.
1916
1917         * loader/FrameLoader.cpp:
1918         (WebCore::FrameLoader::loadURL):
1919         (WebCore::FrameLoader::loadWithDocumentLoader):
1920
1921 2013-10-21  Jer Noble  <jer.noble@apple.com>
1922
1923         Unreviewed build fix; unprotect the declaration of updateSleepDisabling();
1924
1925         * html/HTMLMediaElement.h:
1926
1927 2013-10-20  Mark Lam  <mark.lam@apple.com>
1928
1929         Avoid JSC debugger overhead unless needed.
1930         https://bugs.webkit.org/show_bug.cgi?id=123084.
1931
1932         Reviewed by Geoffrey Garen.
1933
1934         No new tests.
1935
1936         - If no breakpoints are set, we now avoid calling the debug hook callbacks.
1937         - If no break on exception is set, we also avoid exception event debug callbacks.
1938         - When we return from the ScriptDebugServer to the JSC::Debugger, we may no
1939           longer call the debug hook callbacks if not needed. Hence, the m_currentCallFrame
1940           pointer in the ScriptDebugServer may become stale. To avoid this issue, before
1941           returning, the ScriptDebugServer will clear its m_currentCallFrame if
1942           needsOpDebugCallbacks() is false.
1943
1944         * bindings/js/ScriptDebugServer.cpp:
1945         (WebCore::ScriptDebugServer::setBreakpoint):
1946         (WebCore::ScriptDebugServer::removeBreakpoint):
1947         (WebCore::ScriptDebugServer::clearBreakpoints):
1948         (WebCore::ScriptDebugServer::setPauseOnExceptionsState):
1949         (WebCore::ScriptDebugServer::setPauseOnNextStatement):
1950         (WebCore::ScriptDebugServer::breakProgram):
1951         (WebCore::ScriptDebugServer::stepIntoStatement):
1952         (WebCore::ScriptDebugServer::dispatchDidContinue):
1953         (WebCore::ScriptDebugServer::exception):
1954         (WebCore::ScriptDebugServer::didReachBreakpoint):
1955         * inspector/InspectorDebuggerAgent.cpp:
1956         (WebCore::InspectorDebuggerAgent::reset):
1957
1958 2013-10-21  Myles C. Maxfield  <mmaxfield@apple.com>
1959
1960         Grammar markers are not updated when switching between 1x and 2x
1961         https://bugs.webkit.org/show_bug.cgi?id=122146
1962
1963         Reviewed by Dean Jackson.
1964
1965         When running editing/spelling/grammar-markers-hidpi.html, the 2x
1966         grammar/spelling dot resources are cached. If you then run
1967         editing/spelling/grammar-markers.html without tearing down WebKit,
1968         it re-uses the 2x dots. The difference between the two tests is a call
1969         to testRunner.setBackingScaleFactor().
1970
1971         We create a NSColor from an NSImage, and remember it in a static
1972         variable. However, NSColor inspects the current graphics context to
1973         determine which resolution to use, and then remembers that decision.
1974         Therefore, we want to recreate the NSColor whenever the device pixel
1975         ratio changes. This patch adds a new static function to GraphicsContext
1976         which recreates this NSColor every time the ratio changes.
1977
1978         Tests: editing/spelling/grammar-markers.html
1979                editing/spelling/inline_spelling_markers.html
1980
1981         * platform/graphics/mac/GraphicsContextMac.mm:
1982         (WebCore::makePattern):
1983         (WebCore::GraphicsContext::drawLineForDocumentMarker):
1984
1985 2013-10-21  Simon Fraser  <simon.fraser@apple.com>
1986
1987         Use pink layer borders for compositing layers with a contents layer
1988         https://bugs.webkit.org/show_bug.cgi?id=123118
1989
1990         Reviewed by Dean Jackson.
1991
1992         With the existing layer border colors, it's not possible to distinguish an empty
1993         layer from one with solid color, image or video contents. So use a pink color
1994         for those. This makes it easier to diagnose bugs like 122784.
1995
1996         * platform/graphics/GraphicsLayer.cpp:
1997         (WebCore::GraphicsLayer::getDebugBorderInfo):
1998
1999 2013-10-21  Jer Noble  <jer.noble@apple.com>
2000
2001         Limit use of display sleep assertion when <video> element is off-screen.
2002         https://bugs.webkit.org/show_bug.cgi?id=123041
2003
2004         Reviewed by Darin Adler.
2005
2006         Use page visibility changes to suspend and resume the use of sleep assertions in
2007         HTMLMediaElement.
2008
2009         Page will propogate the page visibility change notifications to its Documents, which
2010         will further propogate those notifications to registered elements.  Upon receiving
2011         these notifications, HTMLMediaElement will release or take a DisplaySleepDisabler
2012         token if necessary.
2013
2014         Also, rename HTMLMediaElement's updateDisableSleep() to updateSleepDisabling() and wrap
2015         the implementation in a PLATFORM(MAC) guard rather than at each call site.
2016
2017         * dom/Document.cpp:
2018         (WebCore::Document::registerForVisibilityStateCallbacks): Added registration method.
2019         (WebCore::Document::unregisterForVisibilityStateCallbacks): Added unregistration method.
2020         (WebCore::Document::visibilityStateChanged): Call all registered clients.
2021         * dom/Document.h:
2022         * dom/Element.h:
2023         (WebCore::Element::visibilityStateChanged): Added default virtual method to be overridden
2024             by subclasses.
2025         * html/HTMLMediaElement.cpp:
2026         (WebCore::HTMLMediaElement::HTMLMediaElement): Register for the notification, and check the
2027             current status of Document::hidden().
2028         (WebCore::HTMLMediaElement::~HTMLMediaElement): Unregister for the notification.
2029         (WebCore::HTMLMediaElement::visibilityStateChanged): Set m_displaySleepDisablingSuspended
2030             and call updateSleepDisabling().
2031         (WebCore::HTMLMediaElement::shouldDisableSleep): Add a check for m_displaySleepDisablingSuspended.
2032         * html/HTMLMediaElement.h:
2033         * page/Page.cpp:
2034         (WebCore::Page::setVisibilityState): Pass to every child document.
2035
2036         Rename updateDisableSleep() -> updateSleepDisabling():
2037         * html/HTMLMediaElement.cpp:
2038         (WebCore::HTMLMediaElement::HTMLMediaElement):
2039         (WebCore::HTMLMediaElement::~HTMLMediaElement):
2040         (WebCore::HTMLMediaElement::parseAttribute):
2041         (WebCore::HTMLMediaElement::mediaPlayerRateChanged):
2042         (WebCore::HTMLMediaElement::clearMediaPlayer):
2043         (WebCore::HTMLMediaElement::stop):
2044
2045 2013-10-21  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
2046
2047         MediaStreamTrack now tracks its own state
2048         https://bugs.webkit.org/show_bug.cgi?id=123025
2049
2050         Reviewed by Jer Noble.
2051
2052         The spec says that a MediaStreamSource can be shared by different tracks,
2053         so a track must have its own state tracking, synchronizing with its MediaStreamSource when
2054         the underlying MediaStreamSource changes the readyState.
2055         In the old implementation if a user invoked the stop method, its readyState method was still
2056         returning the MediaStreamSource state, which was wrong.
2057         This also adds a setEnabled method, which can be used to set the state of a track when a
2058         remote peer ends it, for instance.
2059
2060         No new tests needed.
2061
2062         * Modules/mediastream/MediaStreamTrack.cpp:
2063         (WebCore::MediaStreamTrack::readyState):
2064         (WebCore::MediaStreamTrack::setState):
2065         (WebCore::MediaStreamTrack::stopProducingData):
2066         (WebCore::MediaStreamTrack::ended):
2067         (WebCore::MediaStreamTrack::sourceStateChanged):
2068         (WebCore::MediaStreamTrack::trackDidEnd):
2069         * Modules/mediastream/MediaStreamTrack.h:
2070
2071 2013-10-21  Tim Horton  <timothy_horton@apple.com>
2072
2073         Remote Layer Tree: Clean up transaction logging
2074         https://bugs.webkit.org/show_bug.cgi?id=123116
2075
2076         Reviewed by Anders Carlsson.
2077
2078         * WebCore.exp.in:
2079         Export some TextStream functions.
2080
2081 2013-10-21  Brady Eidson  <beidson@apple.com>
2082
2083         Transition most use of IDBBackingStoreLevelDB to IDBBackingStoreInterface
2084         https://bugs.webkit.org/show_bug.cgi?id=123105
2085
2086         Reviewed by Anders Carlsson.
2087
2088         Export more required headers:
2089         * WebCore.xcodeproj/project.pbxproj:
2090
2091         Flesh out many of the pure virtual methods on IDBBackingStoreInterface, as well as
2092         the RecordIdentifier and Cursor classes:
2093
2094         * Modules/indexeddb/IDBBackingStoreInterface.h:
2095         (WebCore::IDBBackingStoreInterface::RecordIdentifier::~RecordIdentifier):
2096         (WebCore::IDBBackingStoreInterface::Cursor::~Cursor):
2097
2098         Use IDBBackingStoreInterface, IDBBackingStoreInterface::RecordIdentifier, and
2099         IDBBackingStoreInterface::Cursor wherever possible:
2100
2101         * Modules/indexeddb/IDBFactoryBackendInterface.cpp:
2102         * Modules/indexeddb/IDBFactoryBackendInterface.h:
2103
2104         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
2105         (WebCore::IDBBackingStoreLevelDB::putRecord):
2106         (WebCore::IDBBackingStoreLevelDB::deleteRecord):
2107         (WebCore::IDBBackingStoreLevelDB::keyExistsInObjectStore):
2108         (WebCore::IDBBackingStoreLevelDB::putIndexDataForRecord):
2109         (WebCore::ObjectStoreKeyCursorImpl::clone):
2110         (WebCore::ObjectStoreCursorImpl::clone):
2111         (WebCore::IndexKeyCursorImpl::clone):
2112         (WebCore::IndexCursorImpl::clone):
2113         (WebCore::IDBBackingStoreLevelDB::openObjectStoreCursor):
2114         (WebCore::IDBBackingStoreLevelDB::openObjectStoreKeyCursor):
2115         (WebCore::IDBBackingStoreLevelDB::openIndexKeyCursor):
2116         (WebCore::IDBBackingStoreLevelDB::openIndexCursor):
2117         (WebCore::IDBBackingStoreLevelDB::Transaction::Transaction):
2118         (WebCore::IDBBackingStoreLevelDB::Transaction::begin):
2119         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
2120         (WebCore::IDBBackingStoreLevelDB::RecordIdentifier::RecordIdentifier):
2121
2122         * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp:
2123         (WebCore::IDBCursorBackendLevelDB::IDBCursorBackendLevelDB):
2124         * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h:
2125
2126         (WebCore::IDBCursorBackendLevelDB::create):
2127         * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp:
2128         (WebCore::IDBDatabaseBackendLevelDB::create):
2129         (WebCore::IDBDatabaseBackendLevelDB::IDBDatabaseBackendLevelDB):
2130         (WebCore::IDBDatabaseBackendLevelDB::backingStore):
2131         (WebCore::IDBDatabaseBackendLevelDB::setIndexKeys):
2132         (WebCore::IDBDatabaseBackendLevelDB::createTransaction):
2133         * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.h:
2134
2135         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
2136         (WebCore::IDBFactoryBackendLevelDB::createTransactionBackend):
2137         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
2138
2139         * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.cpp:
2140         (WebCore::IDBObjectStoreBackendLevelDB::IndexWriter::verifyIndexKeys):
2141         (WebCore::IDBObjectStoreBackendLevelDB::IndexWriter::writeIndexKeys):
2142         (WebCore::IDBObjectStoreBackendLevelDB::IndexWriter::addingKeyAllowed):
2143         (WebCore::IDBObjectStoreBackendLevelDB::makeIndexWriters):
2144         (WebCore::IDBObjectStoreBackendLevelDB::generateKey):
2145         (WebCore::IDBObjectStoreBackendLevelDB::updateKeyGenerator):
2146         * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.h:
2147
2148         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp:
2149         (WebCore::IDBTransactionBackendLevelDB::create):
2150         (WebCore::IDBTransactionBackendLevelDB::IDBTransactionBackendLevelDB):
2151         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:
2152
2153         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.cpp:
2154         (WebCore::GetOperation::perform):
2155         (WebCore::OpenCursorOperation::perform):
2156         (WebCore::CountOperation::perform):
2157         (WebCore::DeleteRangeOperation::perform):
2158         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.h:
2159         (WebCore::CreateObjectStoreOperation::create):
2160         (WebCore::CreateObjectStoreOperation::CreateObjectStoreOperation):
2161         (WebCore::DeleteObjectStoreOperation::create):
2162         (WebCore::DeleteObjectStoreOperation::DeleteObjectStoreOperation):
2163         (WebCore::CreateIndexOperation::create):
2164         (WebCore::CreateIndexOperation::CreateIndexOperation):
2165         (WebCore::DeleteIndexOperation::create):
2166         (WebCore::DeleteIndexOperation::DeleteIndexOperation):
2167         (WebCore::GetOperation::create):
2168         (WebCore::GetOperation::GetOperation):
2169         (WebCore::PutOperation::create):
2170         (WebCore::PutOperation::PutOperation):
2171         (WebCore::OpenCursorOperation::create):
2172         (WebCore::OpenCursorOperation::OpenCursorOperation):
2173         (WebCore::CountOperation::create):
2174         (WebCore::CountOperation::CountOperation):
2175         (WebCore::DeleteRangeOperation::create):
2176         (WebCore::DeleteRangeOperation::DeleteRangeOperation):
2177         (WebCore::ClearOperation::create):
2178         (WebCore::ClearOperation::ClearOperation):
2179
2180 2013-10-21  Zoltan Horvath  <zoltan@webkit.org>
2181
2182         [CSS Shapes][CSS Regions] Don't apply shape-inside when we have multiple auto-height regions and the height is not resolved
2183         https://bugs.webkit.org/show_bug.cgi?id=123103
2184
2185         Reviewed by David Hyatt.
2186
2187         When we have multiple regions with auto-height, the region's height is not resolved from other elements we can't apply the
2188         the shape on the region. This patch prevents to apply the shape and fixes the behavior for these cases.
2189
2190         Test: fast/regions/shape-inside/shape-inside-on-multiple-autoheight-regions.html
2191
2192         * rendering/RenderBlock.cpp:
2193         (WebCore::RenderBlock::layoutShapeInsideInfo):
2194         * rendering/RenderBlockLineLayout.cpp:
2195         (WebCore::RenderBlockFlow::updateShapeAndSegmentsForCurrentLineInFlowThread):
2196
2197 2013-10-21  Tim Horton  <timothy_horton@apple.com>
2198
2199         Remote Layer Tree: Backing store should take contentsScale into account
2200         https://bugs.webkit.org/show_bug.cgi?id=123106
2201
2202         Reviewed by Simon Fraser.
2203
2204         * WebCore.exp.in:
2205         Export FloatRect::scale.
2206
2207 2013-10-21  Andreas Kling  <akling@apple.com>
2208
2209         RenderScrollbarPart doesn't need styleWillChange().
2210         <https://webkit.org/b/123113>
2211
2212         We will call setInline(false) in styleDidChange(), there's no need
2213         to override styleWillChange() just to do it twice.
2214
2215         Reviewed by Darin Adler.
2216
2217 2013-10-21  Mihai Maerean  <mmaerean@adobe.com>
2218
2219         [CSS Regions] The layers from the flow thread should be collected under the regions' layers.
2220         https://bugs.webkit.org/show_bug.cgi?id=120457
2221
2222         Reviewed by David Hyatt.
2223
2224         This patch is based on the work of Alexandru Chiculita at https://bugs.webkit.org/attachment.cgi?id=203872&action=review
2225
2226         The composited layers inside the named flow threads are collected as part of the regions (as children of the
2227         GraphicsLayer of the layer that corresponds to the region (which is attached to the parent renderer of
2228         RenderNameFlowFragment)).
2229         When a region displays a layer that needs accelerated compositing we activate the accelerated compositing for
2230         that region too (inside RenderLayerCompositor::computeRegionCompositingRequirements).
2231
2232         This patch has landed before (as http://trac.webkit.org/changeset/156451), but was reverted because
2233         fast/multicol/mixed-positioning-stacking-order.html failed. The fix is inside RenderLayerCompositor::canBeComposited
2234         that only enables compositing for layers inside flow threads that collect the graphics layers under the regions.
2235
2236         Another change from changeset #156451 is that now the region renderers are created as anonymous renderers under
2237         the element that has the flow-from property. When a composited layer is needed for the region, it sits in it's
2238         parent renderer, not in the region renderer (RenderNamedFlowFragment).
2239
2240         Tests: compositing/regions/crash-transform-inside-region.html
2241                compositing/regions/floated-region-with-transformed-child.html
2242                compositing/regions/move-layer-from-one-region-to-another.html
2243                compositing/regions/propagate-region-box-shadow-border-padding-for-video.html
2244                compositing/regions/propagate-region-box-shadow-border-padding.html
2245                compositing/regions/region-as-layer-in-another-flowthread.html
2246                compositing/regions/transform-transparent-positioned-video-inside-region.html
2247                compositing/regions/transformed-layer-inside-transformed-layer.html
2248                compositing/regions/z-index-update.html
2249                compositing/regions/z-index.html
2250
2251         * rendering/FlowThreadController.cpp:
2252         (WebCore::FlowThreadController::updateRenderFlowThreadLayersIfNeeded):
2253         * rendering/RenderElement.cpp:
2254         (WebCore::RenderElement::propagateStyleToAnonymousChildren): Not for RenderFlowThreads, as they are updated
2255         through the RenderView::styleDidChange function.
2256         * rendering/RenderFlowThread.cpp:
2257         (WebCore::RenderFlowThread::layout): When the layout of the flow thread is over (including the 2 phase layout),
2258         we update all the mappings between the layers inside the flow thread and the regions where those layers will be
2259         painted.
2260         (WebCore::RenderFlowThread::hasCompositingRegionDescendant): Whether any of the regions has a compositing descendant.
2261         (WebCore::RenderFlowThread::getLayerListForRegion):
2262         (WebCore::RenderFlowThread::regionForCompositedLayer):
2263         (WebCore::RenderFlowThread::cachedRegionForCompositedLayer):
2264         (WebCore::RenderFlowThread::collectsGraphicsLayersUnderRegions):
2265         (WebCore::RenderFlowThread::updateLayerToRegionMappings): Triggers an update of the layers if a layer has moved
2266         from a region to another since the last update.
2267         (WebCore::RenderFlowThread::updateAllLayerToRegionMappings):
2268         * rendering/RenderFlowThread.h:
2269         * rendering/RenderGeometryMap.cpp:
2270         (WebCore::RenderGeometryMap::pushRenderFlowThread):
2271         * rendering/RenderGeometryMap.h:
2272         * rendering/RenderLayer.cpp:
2273         (WebCore::RenderLayer::paintList):
2274         (WebCore::RenderLayer::enclosingFlowThreadAncestor):
2275         (WebCore::RenderLayer::isFlowThreadCollectingGraphicsLayersUnderRegions):
2276         (WebCore::RenderLayer::hitTestList):
2277         (WebCore::RenderLayer::calculateLayerBounds): When we calculate the bounds of the RenderView, we ignore those
2278         flow threads that collect the graphics layers under the regions.
2279         (WebCore::RenderLayer::dirtyZOrderLists):
2280         (WebCore::RenderLayer::dirtyNormalFlowList):
2281         * rendering/RenderLayer.h:
2282         * rendering/RenderLayerBacking.cpp:
2283         (WebCore::RenderLayerBacking::shouldClipCompositedBounds): Not if it's a flow thread that collects the graphics
2284         layers under the regions
2285         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Now adjusts the ancestorCompositingBounds for the FlowThread.
2286         (WebCore::RenderLayerBacking::adjustAncestorCompositingBoundsForFlowThread): Make sure that the region propagates
2287         its borders, paddings, outlines or box-shadows to layers inside it.
2288         (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):
2289         * rendering/RenderLayerBacking.h:
2290         * rendering/RenderLayerCompositor.cpp:
2291         (WebCore::RenderLayerCompositor::computeCompositingRequirements): Now calls computeRegionCompositingRequirements.
2292         (WebCore::RenderLayerCompositor::computeRegionCompositingRequirements):
2293         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Do not iterate the RenderFlowThread directly if
2294         we are going to collect the composited layers as part of regions.
2295         (WebCore::RenderLayerCompositor::rebuildRegionCompositingLayerTree):
2296         (WebCore::RenderLayerCompositor::canBeComposited): CSS Regions flow threads do not need to be composited as we
2297         use composited RenderRegions to render the background of the RenderFlowThread.
2298         (WebCore::RenderLayerCompositor::requiresCompositingForIndirectReason): If it's a container of a css region.
2299         * rendering/RenderLayerCompositor.h:
2300         * rendering/RenderMultiColumnSet.cpp:
2301         (WebCore::RenderMultiColumnSet::adjustRegionBoundsFromFlowThreadPortionRect):
2302         * rendering/RenderMultiColumnSet.h:
2303         * rendering/RenderNamedFlowFragment.h:
2304         (WebCore::RenderNamedFlowFragment::layerOwner): When the content inside the region requires the region to have a
2305         layer, the layer will be created on the region's parent renderer instead. This method returns that renderer
2306         holding the layer. The return value may be null.
2307         * rendering/RenderNamedFlowThread.cpp:
2308         (WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
2309         (WebCore::RenderNamedFlowThread::nextRendererForNode):
2310         (WebCore::RenderNamedFlowThread::previousRendererForNode):
2311         (WebCore::RenderNamedFlowThread::addFlowChild):
2312         (WebCore::RenderNamedFlowThread::removeFlowChild):
2313         (WebCore::RenderNamedFlowThread::collectsGraphicsLayersUnderRegions):
2314         * rendering/RenderNamedFlowThread.h: m_flowThreadChildList is now allocated through an OwnPtr to keep the render
2315         arena under the size limit.
2316         * rendering/RenderRegion.cpp:
2317         (WebCore::RenderRegion::adjustRegionBoundsFromFlowThreadPortionRect):
2318         * rendering/RenderRegion.h:
2319         (WebCore::toRenderRegion):
2320         * rendering/RenderTreeAsText.cpp:
2321         (WebCore::writeLayers):
2322         * WebCore.exp.in: WebCore::RenderLayer::isFlowThreadCollectingGraphicsLayersUnderRegions
2323
2324 2013-10-21  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
2325
2326         Fixing mediastream debug build
2327         https://bugs.webkit.org/show_bug.cgi?id=123104
2328
2329         Reviewed by Andreas Kling.
2330
2331         No new tests needed.
2332
2333         * Modules/mediastream/RTCDTMFToneChangeEvent.cpp:
2334         (WebCore::RTCDTMFToneChangeEvent::create):
2335
2336 2013-10-21  Andreas Kling  <akling@apple.com>
2337
2338         Merge RenderListMarker::styleWillChange() into styleDidChange().
2339         <https://webkit.org/b/123098>
2340
2341         If the marker's list-style-type or list-style-position changed, we
2342         need to dirty the layout. Move this logic to styleDidChange() so we
2343         can get rid of one styleWillChange() overload.
2344
2345         Reviewed by Antti Koivisto.
2346
2347 2013-10-21  Mihai Maerean  <mmaerean@adobe.com>
2348
2349         [CSS Regions] Fix WHITESPACE issues in the CSS grammar.
2350         https://bugs.webkit.org/show_bug.cgi?id=123082
2351
2352         Reviewed by Andreas Kling.
2353
2354         This is a port of Rune Lillesveen's patch from https://codereview.chromium.org/25607005
2355
2356         Fix WHITESPACE issues in the CSS grammar.
2357
2358         A single WHITESPACE token consumes consecutive spaces, but does not consume
2359         spaces separated by comments. That means S* and S+ in CSS grammars need to
2360         accept multiple WHITESPACE tokens. Additionally, white spaces are not
2361         mandatory to separate an @-symbol and the rest of the prelude.
2362
2363         Use space non-terminal instead of WHITESPACE for S+ in calc expressions.
2364
2365         Use maybe_space non-terminal instead of WHITESPACE for S* after @-webkit-filter
2366         and @-webkit-region.
2367
2368         Tests: fast/css/calc-comments-allowed.html
2369                fast/regions/webkit-region-syntax-space.html
2370
2371         * css/CSSGrammar.y.in:
2372
2373 2013-10-21  Anton Obzhirov  <a.obzhirov@samsung.com>
2374
2375         [ATK] Use atk_object_notify_state_change instead of manually emitting signals
2376         https://bugs.webkit.org/show_bug.cgi?id=122968
2377
2378         Reviewed by Mario Sanchez Prada.
2379
2380         Refactor emitting "state-change" event to use atk_object_notify_state_change
2381         instead of using g_signal_emit_by_name.
2382
2383         * accessibility/atk/AXObjectCacheAtk.cpp:
2384         (WebCore::notifyChildrenSelectionChange):
2385         (WebCore::AXObjectCache::postPlatformNotification):
2386         (WebCore::AXObjectCache::frameLoadingEventPlatformNotification):
2387         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
2388         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
2389         (webkitAccessibleDetach):
2390         * editing/atk/FrameSelectionAtk.cpp:
2391         (WebCore::maybeEmitTextFocusChange):
2392
2393 2013-10-21  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2394
2395         Make TYPE_CASTS_BASE more flexible
2396         https://bugs.webkit.org/show_bug.cgi?id=122951
2397
2398         Reviewed by Andreas Kling.
2399
2400         TYPE_CASTS_BASE is being used by node|element type casts. However, it is difficult
2401         to be used by other type casts. For instance, CSSValue, Accessibility and so on.
2402         This patch modifies TYPE_CASTS_BASE which can support other type casts.
2403
2404         Besides TYPE_CASTS_BASE body is moved from node.h to Assertions.h.
2405
2406         No new tests, no behavior changes.
2407
2408         * dom/Document.h:
2409         * dom/Node.h:
2410
2411 2013-10-21  Santosh Mahto  <santosh.ma@samsung.com>
2412
2413         ASSERTION FAILED: !style->propertyIsImportant(propertyID) in WebCore::setTextDecorationProperty
2414         https://bugs.webkit.org/show_bug.cgi?id=122097
2415
2416         Reviewed by Ryosuke Niwa.
2417
2418         When remove format command is called we pushdown the ancestor style
2419         down to its children. Currently applying inline style to iframe
2420         while pushing down style which causes iframe to be reinserted in tree and
2421         triggres again subframe loading which repeats everytime and finally
2422         crash happens. So we should avoid applying inline style to iframe
2423         element as it doesnot reflect in its content while pushing down style
2424         on it.
2425
2426         And ASSERT call has been removed from setTextDecoration property as
2427         the scenario is perfectly valid case.
2428
2429         Test: editing/execCommand/remove-format-textdecoration-in-iframe.html
2430
2431         * editing/ApplyStyleCommand.cpp:
2432         (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown): Return if
2433         element is iframe.
2434         * editing/EditingStyle.cpp:
2435         (WebCore::StyleChange::setTextDecorationProperty): Remove ASSERT.
2436
2437 2013-10-20  Sam Weinig  <sam@webkit.org>
2438
2439         Move m_lineBoxes from RenderBlock to RenderBlockFlow (Part 5)
2440         https://bugs.webkit.org/show_bug.cgi?id=122969
2441
2442         Reviewed by Antti Koivisto.
2443
2444         - Move m_lineBoxes to RenderBlockFlow.
2445
2446         * accessibility/AccessibilityRenderObject.cpp:
2447         (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
2448         * rendering/HitTestResult.cpp:
2449         (WebCore::HitTestResult::innerTextIfTruncated):
2450         * rendering/RenderBlock.cpp:
2451         (WebCore::RenderBlock::RenderBlock):
2452         (WebCore::RenderBlock::willBeDestroyed):
2453         (WebCore::RenderBlock::deleteLineBoxTree):
2454         (WebCore::RenderBlock::isSelfCollapsingBlock):
2455         (WebCore::RenderBlock::removeFromDelayedUpdateScrollInfoSet):
2456         (WebCore::RenderBlock::paintContents):
2457         (WebCore::blockDirectionOffset):
2458         (WebCore::inlineDirectionOffset):
2459         (WebCore::RenderBlock::inlineSelectionGaps):
2460         (WebCore::RenderBlock::hitTestContents):
2461         (WebCore::positionForPointRespectingEditingBoundaries):
2462         (WebCore::RenderBlock::positionForPointWithInlineChildren):
2463         (WebCore::RenderBlock::firstLineBoxBaseline):
2464         (WebCore::RenderBlock::inlineBlockBaseline):
2465         (WebCore::RenderBlock::addFocusRingRectsForInlineChildren):
2466         (WebCore::RenderBlock::addFocusRingRects):
2467         (WebCore::RenderBlock::showLineTreeAndMark):
2468         * rendering/RenderBlock.h:
2469         (WebCore::RenderBlock::addOverflowFromInlineChildren):
2470         (WebCore::RenderBlock::hasInlineBoxChildren):
2471         (WebCore::RenderBlock::paintInlineChildren):
2472         (WebCore::RenderBlock::hitTestInlineChildren):
2473         * rendering/RenderBlockFlow.cpp:
2474         (WebCore::RenderBlockFlow::RenderBlockFlow):
2475         (WebCore::RenderBlockFlow::willBeDestroyed):
2476         (WebCore::RenderBlockFlow::deleteLineBoxTree):
2477         (WebCore::RenderBlockFlow::hitTestInlineChildren):
2478         (WebCore::RenderBlockFlow::adjustForBorderFit):
2479         (WebCore::RenderBlockFlow::fitBorderToLinesIfNeeded):
2480         (WebCore::RenderBlockFlow::markLinesDirtyInBlockRange):
2481         (WebCore::RenderBlockFlow::firstLineBoxBaseline):
2482         (WebCore::RenderBlockFlow::inlineBlockBaseline):
2483         (WebCore::RenderBlockFlow::inlineSelectionGaps):
2484         (WebCore::RenderBlockFlow::positionForBox):
2485         (WebCore::RenderBlockFlow::positionForPointWithInlineChildren):
2486         (WebCore::RenderBlockFlow::addFocusRingRectsForInlineChildren):
2487         (WebCore::RenderBlockFlow::paintInlineChildren):
2488         (WebCore::RenderBlockFlow::relayoutForPagination):
2489         (WebCore::RenderBlockFlow::showLineTreeAndMark):
2490         * rendering/RenderBlockFlow.h:
2491         (WebCore::RenderBlockFlow::lineBoxes):
2492         (WebCore::RenderBlockFlow::firstLineBox):
2493         (WebCore::RenderBlockFlow::lastLineBox):
2494         (WebCore::RenderBlockFlow::firstRootBox):
2495         (WebCore::RenderBlockFlow::lastRootBox):
2496         * rendering/RenderBlockLineLayout.cpp:
2497         (WebCore::RenderBlockFlow::addOverflowFromInlineChildren):
2498         * rendering/RootInlineBox.cpp:
2499         (WebCore::RootInlineBox::selectionTopAdjustedForPrecedingBlock):
2500
2501 2013-10-20  Andreas Kling  <akling@apple.com>
2502
2503         Avoid unnecessary vector copy in AnimationController event dispatch.
2504         <https://webkit.org/b/122994>
2505
2506         Use Vector's move constructor instead of making a copy of the pending
2507         events queue and then clearing it.
2508
2509         Reviewed by Simon Fraser.
2510
2511 2013-10-19  Brady Eidson  <beidson@apple.com>
2512
2513         Add abstract IDBBackingStoreInterface, use it to get IDBDatabaseBackendLevelDB closer to going cross-platform
2514         https://bugs.webkit.org/show_bug.cgi?id=123074
2515
2516         Reviewed by Andreas Kling.
2517
2518         * Modules/indexeddb/IDBBackingStoreInterface.h: Added.
2519         (WebCore::IDBBackingStoreInterface::~IDBBackingStoreInterface):
2520         (WebCore::IDBBackingStoreInterface::Transaction::~Transaction):
2521
2522         * Modules/indexeddb/IDBTransactionBackendInterface.h:
2523
2524         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
2525         (WebCore::IDBBackingStoreLevelDB::updateIDBDatabaseIntVersion):
2526         (WebCore::IDBBackingStoreLevelDB::createObjectStore):
2527         (WebCore::IDBBackingStoreLevelDB::deleteObjectStore):
2528         (WebCore::IDBBackingStoreLevelDB::getRecord):
2529         (WebCore::IDBBackingStoreLevelDB::putRecord):
2530         (WebCore::IDBBackingStoreLevelDB::clearObjectStore):
2531         (WebCore::IDBBackingStoreLevelDB::deleteRecord):
2532         (WebCore::IDBBackingStoreLevelDB::getKeyGeneratorCurrentNumber):
2533         (WebCore::IDBBackingStoreLevelDB::maybeUpdateKeyGeneratorCurrentNumber):
2534         (WebCore::IDBBackingStoreLevelDB::keyExistsInObjectStore):
2535         (WebCore::IDBBackingStoreLevelDB::createIndex):
2536         (WebCore::IDBBackingStoreLevelDB::deleteIndex):
2537         (WebCore::IDBBackingStoreLevelDB::putIndexDataForRecord):
2538         (WebCore::IDBBackingStoreLevelDB::findKeyInIndex):
2539         (WebCore::IDBBackingStoreLevelDB::getPrimaryKeyViaIndex):
2540         (WebCore::IDBBackingStoreLevelDB::keyExistsInIndex):
2541         (WebCore::IDBBackingStoreLevelDB::openObjectStoreCursor):
2542         (WebCore::IDBBackingStoreLevelDB::openObjectStoreKeyCursor):
2543         (WebCore::IDBBackingStoreLevelDB::openIndexKeyCursor):
2544         (WebCore::IDBBackingStoreLevelDB::openIndexCursor):
2545         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
2546         (WebCore::IDBBackingStoreLevelDB::Transaction::reset):
2547         (WebCore::IDBBackingStoreLevelDB::Transaction::levelDBTransactionFrom):
2548
2549         * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp:
2550         (WebCore::IDBCursorBackendLevelDB::deleteFunction):
2551         * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h:
2552
2553         * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.cpp:
2554         (WebCore::IDBObjectStoreBackendLevelDB::IndexWriter::verifyIndexKeys):
2555         (WebCore::IDBObjectStoreBackendLevelDB::IndexWriter::writeIndexKeys):
2556         (WebCore::IDBObjectStoreBackendLevelDB::IndexWriter::addingKeyAllowed):
2557         * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.h:
2558
2559         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:
2560         (WebCore::IDBTransactionBackendLevelDB::backingStoreTransaction):
2561
2562         * WebCore.xcodeproj/project.pbxproj:
2563         * GNUmakefile.list.am:
2564
2565 2013-10-20  Andreas Kling  <akling@apple.com>
2566
2567         Use PassRef for StyleSheetContents.
2568         <https://webkit.org/b/123083>
2569
2570         Let functions that return newly-constructed StyleSheetContents
2571         objects vend PassRef<StyleSheetContents> instead of PassRefPtr.
2572
2573         Updated functions that take StyleSheetContents in arguments
2574         accordingly. And CSSStyleSheet now has a Ref internally. Woo!
2575
2576         Reviewed by Antti Koivisto.
2577
2578 2013-10-20  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
2579
2580         Removing "unused parameter" compiling warnings from WebKit2 and WebCore
2581         https://bugs.webkit.org/show_bug.cgi?id=123075
2582
2583         Reviewed by Andreas Kling.
2584
2585         No new tests needed.
2586
2587         * Modules/mediastream/RTCDTMFToneChangeEvent.cpp:
2588         (WebCore::RTCDTMFToneChangeEvent::create):
2589         * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
2590         (lineAtPositionForAtkBoundary):
2591         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2592         (WebCore::MediaPlayerPrivateGStreamer::processTableOfContentsEntry):
2593
2594 2013-10-19  Andreas Kling  <akling@apple.com>
2595
2596         Use PassRef for constructing StyleRules.
2597         <https://webkit.org/b/123072>
2598
2599         Let functions that return newly-constructed StyleRuleFoo objects
2600         vend PassRef<StyleRuleFoo> instead of PassRefPtr.
2601
2602         Since StyleRuleBase::copy() has to return something, we can't rely
2603         on ASSERT_NOT_REACHED() + return nullptr anymore, so I've replaced
2604         those with CRASH(). No call sites actually handled null anyway.
2605
2606         Reviewed by Sam Weinig.
2607
2608 2013-10-19  Jer Noble  <jer.noble@apple.com>
2609
2610         Unreviewed roll out of r157695; broke Mac builds.
2611
2612         * Configurations/FeatureDefines.xcconfig:
2613
2614 2013-10-07  Jer Noble  <jer.noble@apple.com>
2615
2616         [MSE] [Mac] Enable MediaSource on the Mac
2617         https://bugs.webkit.org/show_bug.cgi?id=122484
2618
2619         Reviewed by Darin Adler.
2620
2621         Enable ENABLE_MEDIA_SOURCE.
2622
2623         * Configurations/FeatureDefines.xcconfig:
2624
2625 2013-10-19  Sam Weinig  <sam@webkit.org>
2626
2627         CTTE: Tighten up type usage around InputType::innerTextElement()
2628         https://bugs.webkit.org/show_bug.cgi?id=123078
2629
2630         Reviewed by Anders Carlsson.
2631
2632         * editing/TextIterator.cpp:
2633         (WebCore::TextIterator::handleReplacedElement):
2634         * html/HTMLElement.h:
2635         (WebCore::HTMLElement::isTextControlInnerTextElement):
2636         * html/HTMLInputElement.cpp:
2637         (WebCore::HTMLInputElement::innerTextElement):
2638         * html/HTMLInputElement.h:
2639         * html/HTMLTextAreaElement.cpp:
2640         (WebCore::HTMLTextAreaElement::innerTextElement):
2641         * html/HTMLTextAreaElement.h:
2642         * html/HTMLTextFormControlElement.cpp:
2643         (WebCore::hasVisibleTextArea):
2644         (WebCore::HTMLTextFormControlElement::selection):
2645         (WebCore::HTMLTextFormControlElement::innerTextValue):
2646         (WebCore::HTMLTextFormControlElement::valueWithHardLineBreaks):
2647         * html/HTMLTextFormControlElement.h:
2648         * html/InputType.h:
2649         (WebCore::InputType::innerTextElement):
2650         * html/TextFieldInputType.cpp:
2651         (WebCore::TextFieldInputType::forwardEvent):
2652         (WebCore::TextFieldInputType::innerTextElement):
2653         * html/TextFieldInputType.h:
2654         * html/shadow/TextControlInnerElements.cpp:
2655         (WebCore::TextControlInnerTextElement::renderer):
2656         * html/shadow/TextControlInnerElements.h:
2657         (WebCore::isTextControlInnerTextElement):
2658         * rendering/RenderObject.h:
2659         (WebCore::RenderObject::isTextControlInnerBlock):
2660         * rendering/RenderTextControl.cpp:
2661         (WebCore::RenderTextControl::innerTextElement):
2662         (WebCore::RenderTextControl::styleDidChange):
2663         (WebCore::RenderTextControl::textBlockLogicalWidth):
2664         (WebCore::RenderTextControl::updateFromElement):
2665         (WebCore::RenderTextControl::computeLogicalHeight):
2666         (WebCore::RenderTextControl::hitInnerTextElement):
2667         * rendering/RenderTextControl.h:
2668         * rendering/RenderTextControlSingleLine.cpp:
2669         (WebCore::RenderTextControlSingleLine::layout):
2670         (WebCore::RenderTextControlSingleLine::styleDidChange):
2671         (WebCore::RenderTextControlSingleLine::autoscroll):
2672         (WebCore::RenderTextControlSingleLine::scroll):
2673         (WebCore::RenderTextControlSingleLine::logicalScroll):
2674         * rendering/RenderTextControlSingleLine.h:
2675         (WebCore::toRenderTextControlInnerBlock):
2676
2677 2013-10-19  Sam Weinig  <sam@webkit.org>
2678
2679         Move m_lineBoxes from RenderBlock to RenderBlockFlow (Part 4)
2680         https://bugs.webkit.org/show_bug.cgi?id=122969
2681
2682         Reviewed by Andreas Kling.
2683
2684         - Fix classes derived from RenderBlockFlow that were still calling
2685           up to RenderBlock rather than RenderBlockFlow.
2686
2687         * rendering/RenderDetailsMarker.cpp:
2688         (WebCore::RenderDetailsMarker::paint):
2689         * rendering/RenderFieldset.cpp:
2690         (WebCore::RenderFieldset::computePreferredLogicalWidths):
2691         (WebCore::RenderFieldset::paintBoxDecorations):
2692         (WebCore::RenderFieldset::paintMask):
2693         * rendering/RenderFileUploadControl.cpp:
2694         (WebCore::RenderFileUploadControl::paintObject):
2695         * rendering/RenderFlowThread.cpp:
2696         (WebCore::RenderFlowThread::styleDidChange):
2697         (WebCore::RenderFlowThread::layout):
2698         (WebCore::RenderFlowThread::nodeAtPoint):
2699         * rendering/RenderFullScreen.cpp:
2700         (RenderFullScreenPlaceholder::willBeDestroyed):
2701         * rendering/RenderListItem.cpp:
2702         (WebCore::RenderListItem::styleDidChange):
2703         * rendering/RenderMultiColumnBlock.cpp:
2704         (WebCore::RenderMultiColumnBlock::styleDidChange):
2705         (WebCore::RenderMultiColumnBlock::updateLogicalWidthAndColumnWidth):
2706         (WebCore::RenderMultiColumnBlock::addChild):
2707         * rendering/RenderProgress.cpp:
2708         (WebCore::RenderProgress::updateFromElement):
2709         * rendering/RenderRuby.cpp:
2710         (WebCore::RenderRubyAsBlock::styleDidChange):
2711         (WebCore::RenderRubyAsBlock::addChild):
2712         (WebCore::RenderRubyAsBlock::removeChild):
2713         * rendering/RenderRubyRun.cpp:
2714         (WebCore::RenderRubyRun::rubyBaseSafe):
2715         (WebCore::RenderRubyRun::addChild):
2716         (WebCore::RenderRubyRun::removeChild):
2717         (WebCore::RenderRubyRun::layout):
2718         * rendering/RenderRubyText.cpp:
2719         (WebCore::RenderRubyText::textAlignmentForLine):
2720         (WebCore::RenderRubyText::adjustInlineDirectionLineBounds):
2721         * rendering/RenderTableCaption.cpp:
2722         (WebCore::RenderTableCaption::willBeRemovedFromTree):
2723         * rendering/RenderTableCell.cpp:
2724         (WebCore::RenderTableCell::willBeRemovedFromTree):
2725         (WebCore::RenderTableCell::computePreferredLogicalWidths):
2726         (WebCore::RenderTableCell::offsetFromContainer):
2727         (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
2728         (WebCore::RenderTableCell::computeRectForRepaint):
2729         (WebCore::RenderTableCell::styleDidChange):
2730         (WebCore::RenderTableCell::borderLeft):
2731         (WebCore::RenderTableCell::borderRight):
2732         (WebCore::RenderTableCell::borderTop):
2733         (WebCore::RenderTableCell::borderBottom):
2734         (WebCore::RenderTableCell::borderStart):
2735         (WebCore::RenderTableCell::borderEnd):
2736         (WebCore::RenderTableCell::borderBefore):
2737         (WebCore::RenderTableCell::borderAfter):
2738         (WebCore::RenderTableCell::paint):
2739         * rendering/RenderTextControl.cpp:
2740         (WebCore::RenderTextControl::styleDidChange):
2741         * rendering/RenderTextControlSingleLine.cpp:
2742         (WebCore::RenderTextControlSingleLine::scrollWidth):
2743         (WebCore::RenderTextControlSingleLine::scrollHeight):
2744         (WebCore::RenderTextControlSingleLine::scrollLeft):
2745         (WebCore::RenderTextControlSingleLine::scrollTop):
2746         (WebCore::RenderTextControlSingleLine::scroll):
2747         (WebCore::RenderTextControlSingleLine::logicalScroll):
2748         * rendering/RenderTextTrackCue.cpp:
2749         (WebCore::RenderTextTrackCue::layout):
2750         * rendering/RenderView.cpp:
2751         (WebCore::RenderView::layoutContent):
2752         (WebCore::RenderView::addChild):
2753         (WebCore::RenderView::visualOverflowRect):
2754         (WebCore::RenderView::styleDidChange):
2755         * rendering/svg/RenderSVGBlock.cpp:
2756         (WebCore::RenderSVGBlock::setStyle):
2757         (WebCore::RenderSVGBlock::updateFromStyle):
2758         (WebCore::RenderSVGBlock::willBeDestroyed):
2759         (WebCore::RenderSVGBlock::styleWillChange):
2760         (WebCore::RenderSVGBlock::styleDidChange):
2761         * rendering/svg/SVGTextQuery.cpp:
2762         (WebCore::flowBoxForRenderer):
2763
2764 2013-10-19  Sam Weinig  <sam@webkit.org>
2765
2766         Move m_lineBoxes from RenderBlock to RenderBlockFlow (Part 3)
2767         https://bugs.webkit.org/show_bug.cgi?id=122969
2768
2769         Reviewed by Andreas Kling.
2770
2771         - Move containsNonZeroBidiLevel to RenderBlockFlow.
2772
2773         * editing/Editor.cpp:
2774         (WebCore::Editor::hasBidiSelection):
2775         * rendering/RenderBlock.cpp:
2776         * rendering/RenderBlock.h:
2777         * rendering/RenderBlockFlow.cpp:
2778         (WebCore::RenderBlockFlow::containsNonZeroBidiLevel):
2779         * rendering/RenderBlockFlow.h:
2780
2781 2013-10-18  Sam Weinig  <sam@webkit.org>
2782
2783         Move m_lineBoxes from RenderBlock to RenderBlockFlow (Part 2)
2784         https://bugs.webkit.org/show_bug.cgi?id=122969
2785
2786         Reviewed by Antti Koivisto.
2787
2788         - Move truncation (e.g. line clamp and ellipse) support to RenderBlockFlow.
2789
2790         * rendering/EllipsisBox.cpp:
2791         (WebCore::EllipsisBox::EllipsisBox):
2792         (WebCore::EllipsisBox::paint):
2793         (WebCore::EllipsisBox::markupBox):
2794         (WebCore::EllipsisBox::selectionRect):
2795         (WebCore::EllipsisBox::paintSelection):
2796         (WebCore::EllipsisBox::nodeAtPoint):
2797         * rendering/EllipsisBox.h:
2798         * rendering/RenderBlock.cpp:
2799         * rendering/RenderBlock.h:
2800         * rendering/RenderBlockFlow.cpp:
2801         (WebCore::shouldCheckLines):
2802         (WebCore::RenderBlockFlow::lineAtIndex):
2803         (WebCore::RenderBlockFlow::lineCount):
2804         (WebCore::getHeightForLineCount):
2805         (WebCore::RenderBlockFlow::heightForLineCount):
2806         (WebCore::RenderBlockFlow::clearTruncation):
2807         * rendering/RenderBlockFlow.h:
2808         * rendering/RenderDeprecatedFlexibleBox.cpp:
2809         (WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
2810         (WebCore::RenderDeprecatedFlexibleBox::clearLineClamp):
2811         * rendering/RootInlineBox.cpp:
2812         (WebCore::RootInlineBox::placeEllipsis):
2813
2814 2013-10-19  Andreas Kling  <akling@apple.com>
2815
2816         StyleResolver should deal in PassRef<RenderStyle> where possible.
2817         <https://webkit.org/b/123061>
2818
2819         Make StyleResolver functions that returned or took RenderStyles
2820         by PassRefPtr use PassRef instead where possible.
2821
2822         Reviewed by Anders Carlsson.
2823
2824 2013-10-19  Brady Eidson  <beidson@apple.com>
2825
2826         Global rename of the class "IDBBackingStore" to "IDBBackingStoreLevelDB"
2827
2828         Rubberstamped by Anders Carlsson (And Andreas Kling wanted to, but he wasn’t around)
2829
2830         * Modules/indexeddb/IDBTransactionBackendInterface.h:
2831         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
2832         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
2833         * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp:
2834         * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h:
2835         * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp:
2836         * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.h:
2837         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
2838         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
2839         * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.cpp:
2840         * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.h:
2841         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp:
2842         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:
2843         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.cpp:
2844         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.h:
2845
2846 2013-10-19  peavo@outlook.com  <peavo@outlook.com>
2847
2848         [WinCairo] Link fails.
2849         https://bugs.webkit.org/show_bug.cgi?id=123019
2850
2851         Reviewed by Darin Adler.
2852
2853         Added empty CertificateInfo implementation for Curl.
2854
2855         * WebCore.vcxproj/WebCore.vcxproj:
2856         * WebCore.vcxproj/WebCore.vcxproj.filters:
2857         * platform/network/curl/CertificateInfoCurl.cpp: Added.
2858         (WebCore::CertificateInfo::CertificateInfo):
2859         (WebCore::CertificateInfo::~CertificateInfo):
2860
2861 2013-10-19  Filip Pizlo  <fpizlo@apple.com>
2862
2863         libWebCoreTestSupport should have explicit exports
2864         https://bugs.webkit.org/show_bug.cgi?id=123053
2865
2866         Reviewed by Oliver Hunt.
2867
2868         No new tests because there is no change in behavior.
2869
2870         * Configurations/WebCoreTestSupport.xcconfig:
2871         * testing/js/WebCoreTestSupport.h:
2872
2873 2013-10-18  Andreas Kling  <akling@apple.com>
2874
2875         Start passing RenderStyle around with PassRef.
2876         <https://webkit.org/b/123051>
2877
2878         Made the RenderStyle::create methods return PassRef<RenderStyle>
2879         and RenderElement::setStyle take a PassRef<RenderStyle>.
2880
2881         Reviewed by Darin Adler.
2882
2883 2013-10-18  Sam Weinig  <sam@webkit.org>
2884
2885         Move m_lineBoxes from RenderBlock to RenderBlockFlow (Part 1)
2886         https://bugs.webkit.org/show_bug.cgi?id=122969
2887
2888         Reviewed by Dan Bernstein.
2889
2890         - Make the RootInlineBox constructor take a RenderBlockFlow.
2891         - Move createRootInlineBox, and createAndAppendRootInlineBox to RenderBlockFlow.
2892
2893         * editing/VisibleUnits.cpp:
2894         (WebCore::absoluteLineDirectionPointToLocalPointInBlock):
2895         * rendering/InlineBox.cpp:
2896         (WebCore::InlineBox::locationIncludingFlipping):
2897         (WebCore::InlineBox::flipForWritingMode):
2898         * rendering/InlineFlowBox.cpp:
2899         (WebCore::InlineFlowBox::placeBoxRangeInInlineDirection):
2900         * rendering/RenderBlock.cpp:
2901         * rendering/RenderBlock.h:
2902         * rendering/RenderBlockFlow.h:
2903         * rendering/RenderBlockLineLayout.cpp:
2904         (WebCore::RenderBlockFlow::createRootInlineBox):
2905         (WebCore::RenderBlockFlow::createAndAppendRootInlineBox):
2906         (WebCore::createInlineBoxForRenderer):
2907         (WebCore::RenderBlockFlow::createLineBoxes):
2908         * rendering/RenderBox.cpp:
2909         (WebCore::RenderBox::positionLineBox):
2910         * rendering/RenderListMarker.cpp:
2911         (WebCore::RenderListMarker::localSelectionRect):
2912         * rendering/RenderReplaced.cpp:
2913         (WebCore::RenderReplaced::localSelectionRect):
2914         * rendering/RootInlineBox.cpp:
2915         (WebCore::RootInlineBox::RootInlineBox):
2916         (WebCore::RootInlineBox::rendererLineBoxes):
2917         (WebCore::RootInlineBox::placeEllipsis):
2918         (WebCore::RootInlineBox::containingRegion):
2919         (WebCore::RootInlineBox::setContainingRegion):
2920         (WebCore::RootInlineBox::alignBoxesInBlockDirection):
2921         (WebCore::RootInlineBox::beforeAnnotationsAdjustment):
2922         (WebCore::RootInlineBox::lineSnapAdjustment):
2923         (WebCore::RootInlineBox::lineSelectionGap):
2924         (WebCore::RootInlineBox::computeCaretRect):
2925         (WebCore::RootInlineBox::selectionTop):
2926         (WebCore::RootInlineBox::selectionTopAdjustedForPrecedingBlock):
2927         (WebCore::RootInlineBox::selectionBottom):
2928         (WebCore::RootInlineBox::blockDirectionPointInLine):
2929         (WebCore::RootInlineBox::blockFlow):
2930         (WebCore::RootInlineBox::closestLeafChildForPoint):
2931         (WebCore::RootInlineBox::removeLineBoxFromRenderObject):
2932         (WebCore::RootInlineBox::extractLineBoxFromRenderObject):
2933         (WebCore::RootInlineBox::attachLineBoxToRenderObject):
2934         * rendering/RootInlineBox.h:
2935         * rendering/TrailingFloatsRootInlineBox.h:
2936         * rendering/svg/RenderSVGText.h:
2937         (WebCore::toRenderSVGText):
2938         * rendering/svg/SVGRootInlineBox.cpp:
2939         (WebCore::SVGRootInlineBox::SVGRootInlineBox):
2940         (WebCore::SVGRootInlineBox::renderSVGText):
2941         (WebCore::SVGRootInlineBox::paint):
2942         (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
2943         (WebCore::SVGRootInlineBox::layoutRootBox):
2944         * rendering/svg/SVGRootInlineBox.h:
2945
2946 2013-10-18  Tim Horton  <timothy_horton@apple.com>
2947
2948         Remote Layer Tree: Double-buffering and minimization of repaints
2949         https://bugs.webkit.org/show_bug.cgi?id=123043
2950
2951         Reviewed by Simon Fraser.
2952
2953         No new tests, not yet testable.
2954
2955         * WebCore.exp.in:
2956         Export one version of drawLayerContents and Region::contains.
2957
2958         * WebCore.xcodeproj/project.pbxproj:
2959         Expose WebLayer.h as a private header.
2960
2961         * platform/graphics/mac/WebLayer.h:
2962         Clean up this header, and add a new drawLayerContents that can operate without a CALayer.
2963
2964         * platform/graphics/mac/WebLayer.mm:
2965         (WebCore::drawLayerContents):
2966         Split drawLayerContents into one method that acquires properties CALayer,
2967         and one that just does the painting.
2968
2969 2013-10-18  Anders Carlsson  <andersca@apple.com>
2970
2971         Try to fix the Lion build.
2972
2973         * bindings/objc/ObjCNodeFilterCondition.h:
2974
2975 2013-10-18  Daniel Bates  <dabates@apple.com>
2976
2977         [iOS] Upstream WebSafe{GCActivityCallback, IncrementalSweeper}IOS
2978         https://bugs.webkit.org/show_bug.cgi?id=123049
2979
2980         Reviewed by Mark Hahnenberg.
2981
2982         * WebCore.xcodeproj/project.pbxproj:
2983         * platform/ios/WebSafeGCActivityCallbackIOS.h: Added.
2984         * platform/ios/WebSafeIncrementalSweeperIOS.h: Added.
2985
2986 2013-10-18  Anders Carlsson  <andersca@apple.com>
2987
2988         Remove spaces between template angle brackets
2989         https://bugs.webkit.org/show_bug.cgi?id=123040
2990
2991         Reviewed by Andreas Kling.
2992
2993         * Modules/encryptedmedia/MediaKeySession.h:
2994         * Modules/encryptedmedia/MediaKeys.h:
2995         * Modules/geolocation/Geolocation.h:
2996         * Modules/geolocation/GeolocationController.cpp:
2997         (WebCore::GeolocationController::positionChanged):
2998         (WebCore::GeolocationController::errorOccurred):
2999         * Modules/geolocation/GeolocationController.h:
3000         * Modules/indexeddb/IDBCallbacks.h:
3001         * Modules/indexeddb/IDBDatabase.h:
3002         * Modules/indexeddb/IDBDatabaseBackendInterface.h:
3003         * Modules/indexeddb/IDBEventDispatcher.cpp:
3004         (WebCore::IDBEventDispatcher::dispatch):
3005         * Modules/indexeddb/IDBEventDispatcher.h:
3006         * Modules/indexeddb/IDBKey.h:
3007         * Modules/indexeddb/IDBObjectStore.h:
3008         * Modules/indexeddb/IDBPendingTransactionMonitor.cpp:
3009         * Modules/indexeddb/IDBRequest.cpp:
3010         (WebCore::IDBRequest::dispatchEvent):
3011         * Modules/indexeddb/IDBRequest.h:
3012         (WebCore::IDBRequest::onSuccessWithPrefetch):
3013         * Modules/indexeddb/IDBTransaction.cpp:
3014         (WebCore::IDBTransaction::dispatchEvent):
3015         * Modules/indexeddb/IDBTransaction.h:
3016         * Modules/mediacontrols/MediaControlsHost.cpp:
3017         (WebCore::MediaControlsHost::sortedTrackListForMenu):
3018         * Modules/mediacontrols/MediaControlsHost.h:
3019         * Modules/mediasource/MediaSource.cpp:
3020         (WebCore::MediaSource::activeRanges):
3021         * Modules/mediasource/MediaSource.h:
3022         * Modules/mediasource/MediaSourceBase.cpp:
3023         (WebCore::MediaSourceBase::buffered):
3024         * Modules/mediasource/MediaSourceBase.h:
3025         * Modules/mediasource/MediaSourceRegistry.cpp:
3026         (WebCore::MediaSourceRegistry::unregisterURL):
3027         * Modules/mediasource/MediaSourceRegistry.h:
3028         * Modules/mediasource/SourceBufferList.h:
3029         * Modules/mediasource/WebKitMediaSource.cpp:
3030         (WebCore::WebKitMediaSource::activeRanges):
3031         * Modules/mediasource/WebKitMediaSource.h:
3032         * Modules/mediasource/WebKitSourceBufferList.h:
3033         * Modules/mediastream/MediaStream.cpp:
3034         (WebCore::MediaStream::scheduledEventTimerFired):
3035         * Modules/mediastream/MediaStream.h:
3036         * Modules/mediastream/MediaStreamRegistry.h:
3037         * Modules/mediastream/MediaStreamTrack.h:
3038         * Modules/mediastream/RTCDTMFSender.cpp:
3039         (WebCore::RTCDTMFSender::scheduledEventTimerFired):
3040         * Modules/mediastream/RTCDTMFSender.h:
3041         * Modules/mediastream/RTCDataChannel.cpp:
3042         (WebCore::RTCDataChannel::scheduledEventTimerFired):
3043         * Modules/mediastream/RTCDataChannel.h:
3044         * Modules/mediastream/RTCPeerConnection.cpp:
3045         (WebCore::RTCPeerConnection::stop):
3046         (WebCore::RTCPeerConnection::scheduledEventTimerFired):
3047         * Modules/mediastream/RTCPeerConnection.h:
3048         * Modules/mediastream/RTCStatsResponse.h:
3049         (WebCore::RTCStatsResponse::result):
3050         * Modules/notifications/Notification.h:
3051         * Modules/notifications/NotificationCenter.h:
3052         * Modules/speech/SpeechSynthesis.cpp:
3053         (WebCore::SpeechSynthesis::getVoices):
3054         * Modules/speech/SpeechSynthesis.h:
3055         * Modules/webaudio/AudioBuffer.h:
3056         * Modules/webaudio/AudioNode.h:
3057         * Modules/webaudio/AudioNodeOutput.h:
3058         * Modules/webaudio/MediaStreamAudioSource.cpp:
3059         (WebCore::MediaStreamAudioSource::setAudioFormat):
3060         (WebCore::MediaStreamAudioSource::consumeAudio):
3061         * Modules/webaudio/PeriodicWave.h:
3062         * Modules/webaudio/ScriptProcessorNode.h:
3063         * Modules/webdatabase/AbstractDatabaseServer.h:
3064         * Modules/webdatabase/DatabaseBackend.h:
3065         * Modules/webdatabase/DatabaseManager.cpp:
3066         (WebCore::DatabaseManager::origins):
3067         * Modules/webdatabase/DatabaseManager.h:
3068         * Modules/webdatabase/DatabaseServer.cpp:
3069         (WebCore::DatabaseServer::origins):
3070         * Modules/webdatabase/DatabaseServer.h:
3071         * Modules/webdatabase/DatabaseThread.h:
3072         * Modules/webdatabase/DatabaseTracker.cpp:
3073         (WebCore::DatabaseTracker::interruptAllDatabasesForContext):
3074         (WebCore::DatabaseTracker::origins):
3075         (WebCore::DatabaseTracker::getOpenDatabases):
3076         (WebCore::DatabaseTracker::deleteAllDatabases):
3077         (WebCore::DatabaseTracker::deleteDatabaseFile):
3078         * Modules/webdatabase/DatabaseTracker.h:
3079         * Modules/webdatabase/SQLStatementBackend.cpp:
3080         * Modules/webdatabase/SQLTransactionBackend.cpp:
3081         * Modules/webdatabase/SQLTransactionBackend.h:
3082         * Modules/webdatabase/SQLTransactionCoordinator.cpp:
3083         (WebCore::SQLTransactionCoordinator::shutdown):
3084         * Modules/webdatabase/SQLTransactionCoordinator.h:
3085         * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
3086         (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryData):
3087         (WebCore::ThreadableWebSocketChannelClientWrapper::processPendingTasks):
3088         (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryDataCallback):
3089         * Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
3090         * Modules/websockets/WebSocket.cpp:
3091         (WebCore::WebSocket::didReceiveBinaryData):
3092         * Modules/websockets/WebSocket.h:
3093         * Modules/websockets/WebSocketChannel.cpp:
3094         (WebCore::WebSocketChannel::processFrame):
3095         * Modules/websockets/WebSocketChannel.h:
3096         * Modules/websockets/WebSocketChannelClient.h:
3097         (WebCore::WebSocketChannelClient::didReceiveBinaryData):
3098         * Modules/websockets/WebSocketExtensionDispatcher.h:
3099         * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
3100         (WebCore::workerGlobalScopeDidReceiveBinaryData):
3101         (WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveBinaryData):
3102         (WebCore::WorkerThreadableWebSocketChannel::mainThreadSendArrayBuffer):
3103         (WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
3104         * Modules/websockets/WorkerThreadableWebSocketChannel.h:
3105         * accessibility/AXObjectCache.cpp:
3106         (WebCore::AXObjectCache::~AXObjectCache):
3107         * accessibility/AXObjectCache.h:
3108         * accessibility/AccessibilityNodeObject.cpp:
3109         (WebCore::AccessibilityNodeObject::ariaLabeledByText):
3110         * accessibility/AccessibilityObject.h:
3111         (WebCore::AccessibilityText::AccessibilityText):
3112         * bindings/js/DOMWrapperWorld.h:
3113         * bindings/js/JSDOMBinding.h:
3114         (WebCore::toRefPtrNativeArray):
3115         * bindings/js/JSDOMGlobalObject.h:
3116         * bindings/js/JSMutationCallback.cpp:
3117         (WebCore::JSMutationCallback::call):
3118         * bindings/js/JSMutationCallback.h:
3119         * bindings/js/JSWebGLRenderingContextCustom.cpp:
3120         (WebCore::JSWebGLRenderingContext::getAttachedShaders):
3121         * bindings/js/PageScriptDebugServer.h:
3122         * bindings/js/ScheduledAction.h:
3123         * bindings/js/ScriptController.cpp:
3124         (WebCore::ScriptController::collectIsolatedContexts):
3125         * bindings/js/ScriptController.h:
3126         * bindings/js/ScriptDebugServer.h:
3127         * bindings/js/ScriptProfile.cpp:
3128         (WebCore::buildInspectorObjectFor):
3129         * bindings/objc/ObjCNodeFilterCondition.h:
3130         * bridge/objc/objc_class.h:
3131         * bridge/runtime_root.cpp:
3132         (JSC::Bindings::RootObject::invalidate):
3133         * bridge/runtime_root.h:
3134         * css/BasicShapeFunctions.cpp:
3135         (WebCore::basicShapeForValue):
3136         * css/CSSBasicShapes.h:
3137         (WebCore::CSSBasicShapePolygon::values):
3138         * css/CSSComputedStyleDeclaration.cpp:
3139         (WebCore::ComputedStyleExtractor::valueForFilter):
3140         * css/CSSFontFace.h:
3141         * css/CSSFontFaceSource.h:
3142         * css/CSSFontSelector.cpp:
3143         (WebCore::CSSFontSelector::addFontFaceRule):
3144         (WebCore::CSSFontSelector::getFontFace):
3145         (WebCore::CSSFontSelector::beginLoadTimerFired):
3146         * css/CSSFontSelector.h:
3147         * css/CSSGroupingRule.h:
3148         * css/CSSImageGeneratorValue.h:
3149         * css/CSSParserValues.cpp:
3150         (WebCore::CSSParserSelector::adoptSelectorVector):
3151         * css/CSSParserValues.h:
3152         * css/CSSPropertySourceData.h:
3153         * css/CSSRuleList.h:
3154         (WebCore::StaticCSSRuleList::rules):
3155         * css/CSSSegmentedFontFace.cpp:
3156         (WebCore::CSSSegmentedFontFace::fontLoaded):
3157         * css/CSSSegmentedFontFace.h:
3158         * css/CSSSelectorList.cpp:
3159         (WebCore::CSSSelectorList::adoptSelectorVector):
3160         * css/CSSSelectorList.h:
3161         * css/CSSStyleSheet.h:
3162         * css/CSSValue.h:
3163         (WebCore::compareCSSValueVector):
3164         * css/CSSValuePool.h:
3165         * css/DocumentRuleSets.cpp:
3166         (WebCore::DocumentRuleSets::collectRulesFromUserStyleSheets):
3167         (WebCore::DocumentRuleSets::appendAuthorStyleSheets):
3168         * css/DocumentRuleSets.h:
3169         * css/ElementRuleCollector.cpp:
3170         (WebCore::ElementRuleCollector::matchedRuleList):
3171         * css/ElementRuleCollector.h:
3172         * css/FontLoader.h:
3173         * css/InspectorCSSOMWrappers.cpp:
3174         (WebCore::InspectorCSSOMWrappers::collectFromStyleSheetContents):
3175         (WebCore::InspectorCSSOMWrappers::collectFromStyleSheets):
3176         * css/InspectorCSSOMWrappers.h:
3177         * css/MediaList.cpp:
3178         (WebCore::MediaQuerySet::parse):
3179         (WebCore::MediaList::item):
3180         (WebCore::reportMediaQueryWarningIfNeeded):
3181         * css/MediaList.h:
3182         (WebCore::MediaQuerySet::queryVector):
3183         * css/MediaQueryEvaluator.cpp:
3184         (WebCore::MediaQueryEvaluator::eval):
3185         * css/MediaQueryMatcher.h:
3186         * css/PropertySetCSSStyleDeclaration.cpp:
3187         (WebCore::PropertySetCSSStyleDeclaration::cloneAndCacheForCSSOM):
3188         * css/PropertySetCSSStyleDeclaration.h:
3189         * css/RuleSet.cpp:
3190         (WebCore::RuleSet::addToRuleSet):
3191         (WebCore::RuleSet::addRegionRule):
3192         (WebCore::RuleSet::addChildRules):
3193         (WebCore::RuleSet::addRulesFromSheet):
3194         * css/RuleSet.h:
3195         * css/SelectorFilter.h:
3196         * css/StyleInvalidationAnalysis.cpp:
3197         (WebCore::StyleInvalidationAnalysis::analyzeStyleSheet):
3198         * css/StylePropertySet.cpp:
3199         (WebCore::StylePropertySet::getLayeredShorthandValue):
3200         * css/StyleResolver.cpp:
3201         (WebCore::StyleResolver::appendAuthorStyleSheets):
3202         (WebCore::StyleResolver::keyframeStylesForAnimation):
3203         (WebCore::StyleResolver::styleRulesForElement):
3204         (WebCore::StyleResolver::pseudoStyleRulesForElement):
3205         (WebCore::StyleResolver::resolveVariables):
3206         (WebCore::StyleResolver::applyProperty):
3207         (WebCore::StyleResolver::loadPendingSVGDocuments):
3208         (WebCore::StyleResolver::loadPendingShaders):
3209         * css/StyleResolver.h:
3210         * css/StyleRule.cpp:
3211         (WebCore::StyleRule::splitIntoMultipleRulesWithMaximumSelectorComponentCount):
3212         (WebCore::StyleRuleGroup::StyleRuleGroup):
3213         (WebCore::StyleRuleMedia::StyleRuleMedia):
3214         (WebCore::StyleRuleSupports::StyleRuleSupports):
3215         (WebCore::StyleRuleRegion::StyleRuleRegion):
3216         * css/StyleRule.h:
3217         (WebCore::StyleRule::parserAdoptSelectorVector):
3218         (WebCore::StyleRulePage::parserAdoptSelectorVector):
3219         (WebCore::StyleRuleGroup::childRules):
3220         (WebCore::StyleRuleMedia::create):
3221         (WebCore::StyleRuleSupports::create):
3222         (WebCore::StyleRuleRegion::create):
3223         (WebCore::StyleRuleHost::create):
3224         (WebCore::StyleRuleHost::StyleRuleHost):
3225         * css/StyleScopeResolver.h:
3226         * css/StyleSheetContents.cpp:
3227         (WebCore::StyleSheetContents::parserAppendRule):
3228         (WebCore::childRulesHaveFailedOrCanceledSubresources):
3229         * css/StyleSheetContents.h:
3230         (WebCore::StyleSheetContents::childRules):
3231         (WebCore::StyleSheetContents::importRules):
3232         * css/StyleSheetList.cpp:
3233         (WebCore::StyleSheetList::styleSheets):
3234         (WebCore::StyleSheetList::item):
3235         * css/StyleSheetList.h:
3236         * css/WebKitCSSKeyframesRule.h:
3237         (WebCore::StyleRuleKeyframes::keyframes):
3238         * dom/CheckedRadioButtons.h:
3239         * dom/ClientRectList.h:
3240         * dom/ContainerNode.h:
3241         (WebCore::ChildNodesLazySnapshot::nextNode):
3242         (WebCore::ChildNodesLazySnapshot::takeSnapshot):
3243         * dom/CrossThreadTask.h:
3244         * dom/Document.cpp:
3245         (WebCore::Document::webkitCancelFullScreen):
3246         (WebCore::Document::webkitExitFullscreen):
3247         (WebCore::Document::fullScreenChangeDelayTimerFired):
3248         (WebCore::Document::didAssociateFormControlsTimerFired):
3249         * dom/Document.h:
3250         * dom/DocumentMarkerController.cpp:
3251         (WebCore::DocumentMarkerController::removeMarkers):
3252         * dom/DocumentMarkerController.h:
3253         * dom/DocumentStyleSheetCollection.cpp:
3254         (WebCore::DocumentStyleSheetCollection::injectedUserStyleSheets):
3255         (WebCore::DocumentStyleSheetCollection::injectedAuthorStyleSheets):
3256         (WebCore::DocumentStyleSheetCollection::collectActiveStyleSheets):
3257         (WebCore::DocumentStyleSheetCollection::analyzeStyleSheetChange):
3258         (WebCore::styleSheetsUseRemUnits):
3259         (WebCore::filterEnabledNonemptyCSSStyleSheets):
3260         (WebCore::collectActiveCSSStyleSheetsFromSeamlessParents):
3261         (WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
3262         * dom/DocumentStyleSheetCollection.h:
3263         * dom/Element.cpp:
3264         (WebCore::Element::attrNodeList):
3265         (WebCore::Element::webkitGetRegionFlowRanges):
3266         * dom/Element.h:
3267         * dom/EventListenerMap.h:
3268         * dom/EventSender.h:
3269         (WebCore::EventSender::timerFired):
3270         * dom/IdTargetObserverRegistry.h:
3271         * dom/MutationCallback.h:
3272         * dom/MutationObserver.cpp:
3273         (WebCore::MutationObserver::takeRecords):
3274         (WebCore::MutationObserver::deliver):
3275         (WebCore::MutationObserver::deliverAllMutations):
3276         * dom/MutationObserver.h:
3277         * dom/MutationObserverRegistration.h:
3278         * dom/NamedFlowCollection.cpp:
3279         (WebCore::NamedFlowCollection::namedFlows):
3280         * dom/NamedFlowCollection.h:
3281         * dom/Node.cpp:
3282         (WebCore::Node::didMoveToNewDocument):
3283         (WebCore::Node::mutationObserverRegistry):
3284         (WebCore::Node::registerMutationObserver):
3285         (WebCore::Node::unregisterMutationObserver):
3286         (WebCore::Node::notifyMutationObserversNodeWillDetach):
3287         * dom/Node.h:
3288         * dom/NodeRareData.h:
3289         * dom/Range.cpp:
3290         (WebCore::Range::processContents):
3291         (WebCore::Range::processNodes):
3292         (WebCore::Range::processAncestorsAndTheirSiblings):
3293         * dom/Range.h:
3294         * dom/ScopedEventQueue.h:
3295         * dom/ScriptExecutionContext.cpp:
3296         (WebCore::ScriptExecutionContext::reportException):
3297         * dom/ScriptExecutionContext.h:
3298         * dom/ScriptedAnimationController.h:
3299         * editing/ApplyStyleCommand.cpp:
3300         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
3301         * editing/BreakBlockquoteCommand.cpp:
3302         (WebCore::BreakBlockquoteCommand::doApply):
3303         * editing/CompositeEditCommand.cpp:
3304         (WebCore::CompositeEditCommand::removeChildrenInRange):
3305         (WebCore::CompositeEditCommand::deleteInsignificantText):
3306         (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
3307         * editing/CompositeEditCommand.h:
3308         * editing/EditingStyle.cpp:
3309         (WebCore::htmlElementEquivalents):
3310         (WebCore::EditingStyle::conflictsWithImplicitStyleOfElement):
3311         (WebCore::htmlAttributeEquivalents):
3312         (WebCore::EditingStyle::conflictsWithImplicitStyleOfAttributes):
3313         (WebCore::EditingStyle::extractConflictingImplicitStyleOfAttributes):
3314         (WebCore::EditingStyle::elementIsStyledSpanOrHTMLEquivalent):
3315         (WebCore::EditingStyle::mergeInlineAndImplicitStyleOfElement):
3316         (WebCore::styleFromMatchedRulesForElement):
3317         * editing/Editor.cpp:
3318         (WebCore::Editor::countMatchesForText):
3319         * editing/Editor.h:
3320         * editing/InsertParagraphSeparatorCommand.cpp:
3321         (WebCore::InsertParagraphSeparatorCommand::getAncestorsInsideBlock):
3322         (WebCore::InsertParagraphSeparatorCommand::cloneHierarchyUnderNewBlock):
3323         (WebCore::InsertParagraphSeparatorCommand::doApply):
3324         * editing/InsertParagraphSeparatorCommand.h:
3325         * editing/MergeIdenticalElementsCommand.cpp:
3326         (WebCore::MergeIdenticalElementsCommand::doApply):
3327         (WebCore::MergeIdenticalElementsCommand::doUnapply):
3328         * editing/RemoveNodePreservingChildrenCommand.cpp:
3329         (WebCore::RemoveNodePreservingChildrenCommand::doApply):
3330         * editing/ReplaceSelectionCommand.cpp:
3331         (WebCore::ReplacementFragment::removeUnrenderedNodes):
3332         * editing/SimplifyMarkupCommand.cpp:
3333         (WebCore::SimplifyMarkupCommand::doApply):
3334         (WebCore::SimplifyMarkupCommand::pruneSubsequentAncestorsToRemove):
3335         * editing/SimplifyMarkupCommand.h:
3336         * editing/SpellChecker.h:
3337         * editing/SplitElementCommand.cpp:
3338         (WebCore::SplitElementCommand::executeApply):
3339         (WebCore::SplitElementCommand::doUnapply):
3340         * editing/WrapContentsInDummySpanCommand.cpp:
3341         (WebCore::WrapContentsInDummySpanCommand::executeApply):
3342         (WebCore::WrapContentsInDummySpanCommand::doUnapply):
3343         * editing/mac/AlternativeTextUIController.h:
3344         * fileapi/FileList.h:
3345         * history/BackForwardList.h:
3346         * history/HistoryItem.cpp:
3347         (WebCore::HistoryItem::setRedirectURLs):
3348         * history/HistoryItem.h:
3349         * history/mac/HistoryItemMac.mm:
3350         (WebCore::HistoryItem::setTransientProperty):
3351         * html/FormController.h:
3352         * html/HTMLAnchorElement.cpp:
3353         * html/HTMLCollection.cpp:
3354         (WebCore::HTMLCollection::append):
3355         * html/HTMLCollection.h:
3356         * html/HTMLFormControlElement.cpp:
3357         (WebCore::HTMLFormControlElement::checkValidity):
3358         * html/HTMLFormControlElement.h:
3359         * html/HTMLFormElement.cpp:
3360         (WebCore::HTMLFormElement::validateInteractively):
3361         (WebCore::HTMLFormElement::checkValidity):
3362         (WebCore::HTMLFormElement::checkInvalidControlsAndCollectUnhandled):
3363         * html/HTMLFormElement.h:
3364         * html/HTMLMediaElement.cpp:
3365         (WebCore::HTMLMediaElement::updateActiveTextTrackCues):
3366         (WebCore::HTMLMediaElement::platformTextTracks):
3367         (WebCore::HTMLMediaElement::configureTextTrackGroup):
3368         * html/HTMLMediaElement.h:
3369         * html/HTMLPlugInImageElement.cpp:
3370         * html/HTMLSelectElement.cpp:
3371         (WebCore::HTMLSelectElement::setLength):
3372         * html/MediaController.cpp:
3373         (MediaController::asyncEventTimerFired):
3374         * html/MediaController.h:
3375         * html/MediaFragmentURIParser.h:
3376         * html/ValidationMessage.h:
3377         * html/canvas/WebGLFramebuffer.h:
3378         * html/canvas/WebGLRenderingContext.cpp:
3379         (WebCore::WebGLRenderingContext::getAttachedShaders):
3380         * html/canvas/WebGLRenderingContext.h:
3381         * html/canvas/WebGLTexture.h:
3382         * html/parser/BackgroundHTMLParser.cpp:
3383         (WebCore::BackgroundHTMLParser::BackgroundHTMLParser):
3384         * html/parser/BackgroundHTMLParser.h:
3385         (WebCore::BackgroundHTMLParser::create):
3386         * html/parser/HTMLDocumentParser.cpp:
3387         (WebCore::HTMLDocumentParser::startBackgroundParser):
3388         * html/parser/HTMLDocumentParser.h:
3389         * html/parser/HTMLMetaCharsetParser.h:
3390         * html/parser/HTMLPreloadScanner.cpp:
3391         (WebCore::TokenPreloadScanner::scan):
3392         (WebCore::TokenPreloadScanner::scanCommon):
3393         * html/parser/HTMLResourcePreloader.h:
3394         * html/parser/XSSAuditor.h:
3395         * html/shadow/ContentDistributor.cpp:
3396         (WebCore::ContentDistributor::ensureInsertionPointList):
3397         (WebCore::ContentDistributor::distribute):
3398         (WebCore::ContentDistributor::invalidate):
3399         * html/shadow/ContentDistributor.h:
3400         * html/shadow/MediaControlElements.cpp:
3401         (WebCore::MediaControlClosedCaptionsTrackListElement::rebuildTrackListMenu):
3402         (WebCore::MediaControlTextTrackContainerElement::updateDisplay):
3403         * html/shadow/MediaControlElements.h:
3404         * html/track/InbandGenericTextTrack.h:
3405         * html/track/InbandWebVTTTextTrack.cpp:
3406         (WebCore::InbandWebVTTTextTrack::newCuesParsed):
3407         * html/track/LoadableTextTrack.cpp:
3408         (WebCore::LoadableTextTrack::newCuesAvailable):
3409         (WebCore::LoadableTextTrack::newRegionsAvailable):
3410         * html/track/TextTrackCueList.h:
3411         * html/track/TextTrackList.cpp:
3412         (TextTrackList::invalidateTrackIndexesAfterTrack):
3413         (TextTrackList::remove):
3414         (TextTrackList::contains):
3415         * html/track/TextTrackList.h:
3416         * html/track/TrackListBase.cpp:
3417         (TrackListBase::asyncEventTimerFired):
3418         * html/track/TrackListBase.h:
3419         * html/track/WebVTTParser.cpp:
3420         (WebCore::WebVTTParser::getNewCues):
3421         (WebCore::WebVTTParser::getNewRegions):
3422         * html/track/WebVTTParser.h:
3423         * inspector/ConsoleMessage.cpp:
3424         (WebCore::ConsoleMessage::addToFrontend):
3425         * inspector/ContentSearchUtils.cpp:
3426         (WebCore::ContentSearchUtils::getRegularExpressionMatchesByLines):
3427         (WebCore::ContentSearchUtils::lineEndings):
3428         (WebCore::ContentSearchUtils::searchInTextByLines):
3429         * inspector/ContentSearchUtils.h:
3430         * inspector/DOMPatchSupport.cpp:
3431         (WebCore::DOMPatchSupport::patchNode):
3432         (WebCore::DOMPatchSupport::diff):
3433         (WebCore::DOMPatchSupport::innerPatchChildren):
3434         * inspector/DOMPatchSupport.h:
3435         * inspector/InjectedScript.cpp:
3436         (WebCore::InjectedScript::getProperties):
3437         (WebCore::InjectedScript::getInternalProperties):
3438         (WebCore::InjectedScript::wrapCallFrames):
3439         * inspector/InjectedScript.h:
3440         * inspector/InjectedScriptHost.h:
3441         * inspector/InspectorAgent.cpp:
3442         (WebCore::InspectorAgent::enable):
3443         * inspector/InspectorApplicationCacheAgent.cpp:
3444         (WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
3445         (WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources):
3446         * inspector/InspectorApplicationCacheAgent.h:
3447         * inspector/InspectorBaseAgent.h:
3448         * inspector/InspectorCSSAgent.cpp:
3449         (WebCore::SelectorProfile::toInspectorObject):
3450         (WebCore::UpdateRegionLayoutTask::onTimer):
3451         (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
3452         (WebCore::InspectorCSSAgent::getComputedStyleForNode):
3453         (WebCore::InspectorCSSAgent::getAllStyleSheets):
3454         (WebCore::InspectorCSSAgent::getSupportedCSSProperties):
3455         (WebCore::InspectorCSSAgent::getNamedFlowCollection):
3456         (WebCore::InspectorCSSAgent::buildArrayForRuleList):
3457         (WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):
3458         (WebCore::InspectorCSSAgent::buildArrayForRegions):
3459         (WebCore::InspectorCSSAgent::buildObjectForNamedFlow):
3460         * inspector/InspectorCSSAgent.h:
3461         * inspector/InspectorConsoleAgent.h:
3462         * inspector/InspectorDOMAgent.cpp:
3463         (WebCore::RevalidateStyleAttributeTask::onTimer):
3464         (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
3465         (WebCore::InspectorDOMAgent::pushNodePathToFrontend):
3466         (WebCore::InspectorDOMAgent::getEventListenersForNode):
3467         (WebCore::InspectorDOMAgent::performSearch):
3468         (WebCore::InspectorDOMAgent::getSearchResults):
3469         (WebCore::InspectorDOMAgent::getAttributes):
3470         (WebCore::InspectorDOMAgent::buildObjectForNode):
3471         (WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
3472         (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
3473         (WebCore::InspectorDOMAgent::styleAttributeInvalidated):
3474         * inspector/InspectorDOMAgent.h:
3475         * inspector/InspectorDOMStorageAgent.cpp:
3476         (WebCore::InspectorDOMStorageAgent::getDOMStorageItems):
3477         * inspector/InspectorDOMStorageAgent.h:
3478         * inspector/InspectorDatabaseAgent.cpp:
3479         (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
3480         * inspector/InspectorDatabaseAgent.h:
3481         * inspector/InspectorDebuggerAgent.cpp:
3482         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
3483         (WebCore::InspectorDebuggerAgent::searchInContent):
3484         (WebCore::InspectorDebuggerAgent::setScriptSource):
3485         (WebCore::InspectorDebuggerAgent::currentCallFrames):
3486         * inspector/InspectorDebuggerAgent.h:
3487         * inspector/InspectorHeapProfilerAgent.cpp:
3488         (WebCore::InspectorHeapProfilerAgent::getProfileHeaders):
3489         * inspector/InspectorHeapProfilerAgent.h:
3490         * inspector/InspectorHistory.h:
3491         * inspector/InspectorIndexedDBAgent.cpp:
3492         * inspector/InspectorLayerTreeAgent.cpp:
3493         (WebCore::InspectorLayerTreeAgent::layersForNode):
3494         (WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderObjectHierarchy):
3495         (WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderLayerHierarchy):
3496         * inspector/InspectorLayerTreeAgent.h:
3497         * inspector/InspectorMemoryAgent.h:
3498         * inspector/InspectorPageAgent.cpp:
3499         (WebCore::buildArrayForCookies):
3500         (WebCore::InspectorPageAgent::getCookies):
3501         (WebCore::InspectorPageAgent::searchInResource):
3502         (WebCore::InspectorPageAgent::searchInResources):
3503         (WebCore::InspectorPageAgent::buildObjectForFrameTree):
3504         * inspector/InspectorPageAgent.h:
3505         * inspector/InspectorProfilerAgent.cpp:
3506         (WebCore::InspectorProfilerAgent::getProfileHeaders):
3507         * inspector/InspectorProfilerAgent.h:
3508         * inspector/InspectorResourceAgent.h:
3509         * inspector/InspectorRuntimeAgent.cpp:
3510         (WebCore::InspectorRuntimeAgent::getProperties):
3511         * inspector/InspectorRuntimeAgent.h:
3512         * inspector/InspectorState.h:
3513         * inspector/InspectorStyleSheet.cpp:
3514         (WebCore::asCSSRuleList):
3515         (WebCore::InspectorStyle::buildArrayForComputedStyle):
3516         (WebCore::InspectorStyle::styleWithProperties):
3517         (WebCore::selectorsFromSource):
3518         (WebCore::InspectorStyleSheet::buildObjectForSelectorList):
3519         (WebCore::InspectorStyleSheet::buildObjectForRule):
3520         (WebCore::InspectorStyleSheet::lineEndings):
3521         (WebCore::InspectorStyleSheet::buildArrayForRuleList):
3522         (WebCore::InspectorStyleSheetForInlineStyle::lineEndings):
3523         * inspector/InspectorStyleSheet.h:
3524         * inspector/InspectorValues.cpp:
3525         (WebCore::InspectorArrayBase::writeJSON):
3526         * inspector/InspectorValues.h:
3527         * inspector/PageRuntimeAgent.cpp:
3528         (WebCore::PageRuntimeAgent::reportExecutionContextCreation):
3529         * inspector/ScriptCallStack.cpp:
3530         (WebCore::ScriptCallStack::buildInspectorArray):
3531         * inspector/ScriptCallStack.h:
3532         * loader/CrossOriginPreflightResultCache.h:
3533         * loader/DocumentLoader.cpp:
3534         (WebCore::cancelAll):
3535         (WebCore::setAllDefersLoading):
3536         (WebCore::DocumentLoader::getSubresources):
3537         * loader/DocumentLoader.h:
3538         * loader/FormState.h:
3539         * loader/FormSubmission.cpp:
3540         (WebCore::FormSubmission::create):
3541         * loader/ProgressTracker.h:
3542         * loader/ResourceLoadScheduler.h:
3543         * loader/TextTrackLoader.cpp:
3544         (WebCore::TextTrackLoader::getNewCues):
3545         (WebCore::TextTrackLoader::getNewRegions):
3546         * loader/TextTrackLoader.h:
3547         * loader/WorkerThreadableLoader.cpp:
3548         (WebCore::workerGlobalScopeDidReceiveData):
3549         (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData):
3550         * loader/appcache/ApplicationCache.cpp:
3551         (WebCore::ApplicationCache::removeResource):
3552         (WebCore::ApplicationCache::dump):
3553         * loader/appcache/ApplicationCache.h:
3554         * loader/appcache/ApplicationCacheStorage.cpp:
3555         (WebCore::ApplicationCacheStorage::getOriginsWithCache):
3556         * loader/archive/Archive.cpp:
3557         (WebCore::Archive::clearAllSubframeArchives):
3558         (WebCore::Archive::clearAllSubframeArchivesImpl):
3559         * loader/archive/Archive.h:
3560         (WebCore::Archive::subresources):
3561         (WebCore::Archive::subframeArchives):
3562         * loader/archive/ArchiveResourceCollection.cpp:
3563         (WebCore::ArchiveResourceCollection::addAllResources):
3564         * loader/archive/ArchiveResourceCollection.h:
3565         * loader/archive/cf/LegacyWebArchive.cpp:
3566         (WebCore::LegacyWebArchive::createPropertyListRepresentation):
3567         (WebCore::LegacyWebArchive::create):
3568         (WebCore::LegacyWebArchive::createFromSelection):
3569         * loader/archive/cf/LegacyWebArchive.h:
3570         * loader/archive/mhtml/MHTMLParser.h:
3571         * loader/cache/CachedResource.h:
3572         * loader/cache/CachedResourceLoader.h:
3573         * loader/cache/MemoryCache.h:
3574         * loader/icon/IconDatabase.cpp:
3575         (WebCore::IconDatabase::notifyPendingLoadDecisions):
3576         * loader/icon/IconDatabase.h:
3577         * page/CaptionUserPreferencesMediaAF.cpp:
3578         (WebCore::CaptionUserPreferencesMediaAF::sortedTrackListForMenu):
3579         * page/CaptionUserPreferencesMediaAF.h:
3580         * page/ChromeClient.h:
3581         (WebCore::ChromeClient::didAssociateFormControls):
3582         * page/Console.h:
3583         * page/ContentSecurityPolicy.h:
3584         * page/DOMWindow.cpp:
3585         (WebCore::DOMWindow::getMatchedCSSRules):
3586         * page/DeviceController.cpp:
3587         (WebCore::DeviceController::dispatchDeviceEvent):
3588         (WebCore::DeviceController::fireDeviceEvent):
3589         * page/DeviceController.h:
3590         * page/EditorClient.h:
3591         * page/EventHandler.cpp:
3592         (WebCore::EventHandler::handleTouchEvent):
3593         * page/EventHandler.h:
3594         * page/FrameView.cpp:
3595         (WebCore::FrameView::serviceScriptedAnimations):
3596         * page/Page.cpp:
3597         (WebCore::Page::findStringMatchingRanges):
3598         * page/Page.h:
3599         * page/PageGroup.h:
3600         * page/Performance.cpp:
3601         (WebCore::Performance::webkitGetEntriesByType):
3602         (WebCore::Performance::webkitGetEntriesByName):
3603         * page/Performance.h:
3604         * page/PerformanceEntryList.cpp:
3605         (WebCore::PerformanceEntryList::appendAll):
3606         * page/PerformanceEntryList.h:
3607         * page/SecurityOriginHash.h:
3608         * page/SecurityPolicy.cpp:
3609         * page/SpeechInputResult.h:
3610         * page/animation/AnimationController.cpp:
3611         (WebCore::AnimationControllerPrivate::fireEventsAndUpdateStyle):
3612         * page/animation/AnimationControllerPrivate.h:
3613         * page/animation/CSSPropertyAnimation.cpp:
3614         (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
3615         * page/animation/CompositeAnimation.h:
3616         * page/scrolling/ScrollingStateNode.cpp:
3617         (WebCore::ScrollingStateNode::appendChild):
3618         * page/scrolling/ScrollingStateNode.h:
3619         (WebCore::ScrollingStateNode::children):
3620         * page/scrolling/ScrollingThread.cpp:
3621         (WebCore::ScrollingThread::dispatchFunctionsFromScrollingThread):
3622         * page/scrolling/ScrollingThread.h:
3623         * page/scrolling/ScrollingTree.cpp:
3624         (WebCore::ScrollingTree::updateTreeFromStateNode):
3625         * page/scrolling/ScrollingTreeNode.cpp:
3626         (WebCore::ScrollingTreeNode::appendChild):
3627         * page/scrolling/ScrollingTreeNode.h:
3628         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
3629         (WebCore::ScrollingCoordinatorMac::syncChildPositions):
3630         * platform/CrossThreadCopier.cpp:
3631         * platform/CrossThreadCopier.h:
3632         * platform/DragData.h:
3633         * platform/MainThreadTask.h:
3634         * platform/PODFreeListArena.h:
3635         (WebCore::PODFreeListArena::freeObject):
3636         (WebCore::PODFreeListArena::allocate):
3637         * platform/PODIntervalTree.h:
3638         * platform/PODRedBlackTree.h:
3639         (WebCore::PODRedBlackTree::PODRedBlackTree):
3640         * platform/PlatformSpeechSynthesizer.cpp:
3641         (WebCore::PlatformSpeechSynthesizer::voiceList):
3642         * platform/PlatformSpeechSynthesizer.h:
3643         * platform/RunLoop.h:
3644         * platform/ScrollView.cpp:
3645         (WebCore::ScrollView::frameRectsChanged):
3646         (WebCore::ScrollView::clipRectChanged):
3647         (WebCore::ScrollView::setParentVisible):
3648         (WebCore::ScrollView::show):
3649         (WebCore::ScrollView::hide):
3650         * platform/ScrollView.h:
3651         * platform/SharedBuffer.h:
3652         * platform/Supplementable.h:
3653         (WebCore::Supplement::provideTo):
3654         (WebCore::Supplementable::provideSupplement):
3655         * platform/URL.cpp:
3656         (WebCore::findHostnamesInMailToURL):
3657         (WebCore::encodeHostnames):
3658         * platform/audio/AudioBus.h:
3659         * platform/audio/AudioDSPKernelProcessor.h:
3660         * platform/audio/AudioResampler.h:
3661         * platform/audio/DynamicsCompressor.h:
3662         * platform/audio/DynamicsCompressorKernel.h:
3663         * platform/audio/HRTFDatabase.h:
3664         * platform/audio/HRTFKernel.h:
3665         * platform/audio/MultiChannelResampler.h:
3666         * platform/audio/Reverb.h:
3667         * platform/audio/ReverbConvolver.h:
3668         * platform/cf/SharedBufferCF.cpp:
3669         (WebCore::SharedBuffer::copyBufferAndClear):
3670         (WebCore::SharedBuffer::copySomeDataFromDataArray):
3671         * platform/graphics/FloatPolygon.cpp:
3672         (WebCore::FloatPolygon::FloatPolygon):
3673         * platform/graphics/FloatPolygon.h:
3674         * platform/graphics/FontCache.cpp:
3675         (WebCore::FontCache::getCachedFontData):
3676         (WebCore::FontCache::purgeInactiveFontData):
3677         * platform/graphics/GlyphMetricsMap.h:
3678         (WebCore::::locatePageSlowCase):
3679         * platform/graphics/GlyphPageTreeNode.h:
3680         * platform/graphics/GraphicsContext3D.h:
3681         * platform/graphics/GraphicsLayer.cpp:
3682         * platform/graphics/GraphicsLayer.h:
3683         * platform/graphics/PlatformTextTrackMenu.h:
3684         * platform/graphics/SimpleFontData.h:
3685         * platform/graphics/WidthCache.h:
3686         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h:
3687         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
3688         (WebCore::MediaPlayerPrivateAVFoundation::processNewAndRemovedTextTracks):
3689         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
3690         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
3691         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
3692         (WebCore::MediaPlayerPrivateAVFoundationObjC::processLegacyClosedCaptionsTracks):
3693         (WebCore::MediaPlayerPrivateAVFoundationObjC::processMediaSelectionOptions):
3694         * platform/graphics/ca/GraphicsLayerCA.cpp:
3695         (WebCore::GraphicsLayerCA::setFilterAnimationKeyframes):
3696         (WebCore::GraphicsLayerCA::fetchCloneLayers):
3697         * platform/graphics/ca/GraphicsLayerCA.h:
3698         * platform/graphics/ca/PlatformCAAnimation.h:
3699         * platform/graphics/ca/PlatformCALayer.h:
3700         * platform/graphics/ca/mac/LayerPool.h:
3701         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
3702         (PlatformCAAnimation::setValues):
3703         * platform/graphics/ca/mac/TileController.h:
3704         * platform/graphics/cg/SubimageCacheWithTimer.h:
3705         * platform/graphics/filters/CustomFilterParameterList.h:
3706         * platform/graphics/filters/FilterEffect.h:
3707         * platform/graphics/filters/FilterOperations.h:
3708         (WebCore::FilterOperations::operations):
3709         * platform/graphics/gpu/Texture.cpp:
3710         (WebCore::Texture::Texture):
3711         (WebCore::Texture::create):
3712         * platform/graphics/gpu/Texture.h:
3713         * platform/graphics/mac/ComplexTextController.h:
3714         * platform/graphics/mac/SimpleFontDataCoreText.cpp:
3715         (WebCore::SimpleFontData::getCFStringAttributes):
3716         * platform/graphics/transforms/TransformOperations.h:
3717         (WebCore::TransformOperations::operations):
3718         * platform/ios/PasteboardIOS.mm:
3719         (WebCore::documentFragmentWithRTF):
3720         * platform/mac/PlatformSpeechSynthesizerMac.mm:
3721         (-[WebSpeechSynthesisWrapper speakUtterance:WebCore::]):
3722         * platform/mediastream/MediaStreamDescriptor.h:
3723         * platform/mediastream/MediaStreamSource.h:
3724         * platform/mediastream/RTCConfiguration.h:
3725         * platform/network/BlobRegistryImpl.h:
3726         * platform/network/HTTPHeaderMap.h:
3727         * platform/network/ResourceResponseBase.cpp:
3728         (WebCore::ResourceResponseBase::parseCacheControlDirectives):
3729         (WebCore::parseCacheHeader):
3730         * platform/network/cf/ResourceHandleCFNet.cpp:
3731         (WebCore::clientCerts):
3732         (WebCore::ResourceHandle::createCFURLConnection):
3733         * platform/text/cf/HyphenationCF.cpp:
3734         (WebCore::::createValueForNullKey):
3735         (WebCore::::createValueForKey):
3736         (WebCore::cfLocaleCache):
3737         * plugins/PluginMainThreadScheduler.h:
3738         * rendering/HitTestResult.h:
3739         * rendering/InlineFlowBox.h:
3740         * rendering/RenderBlock.cpp:
3741         (WebCore::RenderBlock::paintContinuationOutlines):
3742         (WebCore::RenderBlock::removeFromTrackedRendererMaps):
3743         * rendering/RenderBlock.h:
3744         * rendering/RenderButton.h:
3745         * rendering/RenderCounter.cpp:
3746         * rendering/RenderGrid.cpp:
3747         (WebCore::RenderGrid::GridIterator::GridIterator):
3748         * rendering/RenderGrid.h:
3749         * rendering/RenderLayer.cpp:
3750         (WebCore::RenderLayer::updateDescendantsAreContiguousInStackingOrder):
3751         (WebCore::RenderLayer::rebuildZOrderLists):
3752         (WebCore::RenderLayer::collectLayers):
3753         * rendering/RenderLayer.h:
3754         * rendering/RenderNamedFlowThread.cpp:
3755         (WebCore::RenderNamedFlowThread::getRanges):
3756         * rendering/RenderNamedFlowThread.h:
3757         * rendering/RenderRegion.cpp:
3758         (WebCore::RenderRegion::getRanges):
3759         * rendering/RenderRegion.h:
3760         * rendering/RenderView.cpp:
3761         (WebCore::RenderView::selectionBounds):
3762         (WebCore::RenderView::setSelection):
3763         * rendering/RootInlineBox.h:
3764         * rendering/shapes/PolygonShape.cpp:
3765         (WebCore::computeShapePaddingBounds):
3766         (WebCore::computeShapeMarginBounds):
3767         * rendering/shapes/PolygonShape.h:
3768         (WebCore::PolygonShape::PolygonShape):
3769         * rendering/shapes/Shape.cpp:
3770         (WebCore::createPolygonShape):
3771         (WebCore::Shape::createShape):
3772         * rendering/shapes/ShapeInfo.h:
3773         * rendering/shapes/ShapeInterval.h:
3774         * rendering/style/QuotesData.cpp:
3775         (WebCore::QuotesData::create):
3776         (WebCore::QuotesData::QuotesData):
3777         * rendering/style/QuotesData.h:
3778         * rendering/style/RenderStyle.cpp:
3779         (WebCore::requireTransformOrigin):
3780         (WebCore::RenderStyle::applyTransform):
3781         * rendering/style/StyleGridData.h:
3782         * rendering/svg/RenderSVGResourceGradient.h:
3783         * rendering/svg/RenderSVGResourcePattern.h:
3784         * rendering/svg/SVGResourcesCache.h:
3785         * storage/StorageEventDispatcher.cpp:
3786         (WebCore::StorageEventDispatcher::dispatchSessionStorageEvents):
3787         (WebCore::StorageEventDispatcher::dispatchLocalStorageEvents):
3788         (WebCore::StorageEventDispatcher::dispatchSessionStorageEventsToFrames):
3789         (WebCore::StorageEventDispatcher::dispatchLocalStorageEventsToFrames):
3790         * storage/StorageEventDispatcher.h:
3791         * storage/StorageNamespaceImpl.h:
3792         * storage/StorageThread.h:
3793         * storage/StorageTracker.cpp:
3794         (WebCore::StorageTracker::origins):
3795         * storage/StorageTracker.h:
3796         * svg/SVGAnimatedPath.cpp:
3797         (WebCore::SVGAnimatedPathAnimator::startAnimValAnimation):
3798         * svg/SVGAnimatedTypeAnimator.cpp:
3799         (WebCore::SVGElementAnimatedProperties::SVGElementAnimatedProperties):
3800         (WebCore::SVGAnimatedTypeAnimator::findAnimatedPropertiesForAttributeName):
3801         * svg/SVGAnimatedTypeAnimator.h:
3802         * svg/SVGDocumentExtensions.cpp:
3803         (WebCore::SVGDocumentExtensions::startAnimations):
3804         (WebCore::SVGDocumentExtensions::dispatchSVGLoadEventToOutermostSVGElements):
3805         (WebCore::SVGDocumentExtensions::addPendingResource):
3806         (WebCore::SVGDocumentExtensions::isElementPendingResources):
3807         (WebCore::SVGDocumentExtensions::removeElementFromPendingResources):
3808         (WebCore::SVGDocumentExtensions::setOfElementsReferencingTarget):
3809         (WebCore::SVGDocumentExtensions::addElementReferencingTarget):
3810         (WebCore::SVGDocumentExtensions::rebuildAllElementReferencesForTarget):
3811         * svg/SVGDocumentExtensions.h:
3812         * svg/SVGFontElement.h:
3813         * svg/SVGGlyphMap.h:
3814         * svg/SVGMarkerElement.cpp:
3815         (WebCore::SVGMarkerElement::orientTypeAnimated):
3816         * svg/SVGMarkerElement.h:
3817         * svg/SVGPathSegList.h:
3818         * svg/animation/SMILTimeContainer.h:
3819         * svg/graphics/SVGImageCache.h:
3820         * svg/graphics/filters/SVGFilterBuilder.h:
3821         (WebCore::SVGFilterBuilder::addBuiltinEffects):
3822         * svg/properties/SVGAnimatedEnumerationPropertyTearOff.h:
3823         (WebCore::SVGAnimatedEnumerationPropertyTearOff::create):
3824         * svg/properties/SVGAnimatedListPropertyTearOff.h:
3825         (WebCore::SVGAnimatedListPropertyTearOff::create):
3826         * svg/properties/SVGAnimatedPropertyTearOff.h:
3827         (WebCore::SVGAnimatedPropertyTearOff::create):
3828         * svg/properties/SVGAnimatedStaticPropertyTearOff.h:
3829         (WebCore::SVGAnimatedStaticPropertyTearOff::create):
3830         * svg/properties/SVGAttributeToPropertyMap.cpp:
3831         (WebCore::SVGAttributeToPropertyMap::animatedPropertiesForAttribute):
3832         * svg/properties/SVGAttributeToPropertyMap.h:
3833         * svg/properties/SVGStaticListPropertyTearOff.h:
3834         (WebCore::SVGStaticListPropertyTearOff::create):
3835         * svg/properties/SVGTransformListPropertyTearOff.h:
3836         (WebCore::SVGTransformListPropertyTearOff::create):
3837         (WebCore::SVGTransformListPropertyTearOff::createSVGTransformFromMatrix):
3838         (WebCore::SVGTransformListPropertyTearOff::consolidate):
3839         * workers/DefaultSharedWorkerRepository.h:
3840         * workers/WorkerMessagingProxy.h:
3841         * xml/XMLHttpRequestProgressEventThrottle.cpp:
3842         (WebCore::XMLHttpRequestProgressEventThrottle::dispatchDeferredEvents):
3843         * xml/XMLHttpRequestProgressEventThrottle.h:
3844         * xml/XPathNodeSet.cpp:
3845         (WebCore::XPath::NodeSet::sort):
3846         (WebCore::XPath::NodeSet::traversalSort):
3847         * xml/XSLStyleSheet.h:
3848         * xml/parser/XMLDocumentParserLibxml2.cpp:
3849
3850 2013-10-18  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
3851
3852         Cleaning warning messages from StyleResolveTree
3853         https://bugs.webkit.org/show_bug.cgi?id=123030
3854
3855         Reviewed by Andreas Kling.
3856
3857         No new tests needed.
3858
3859         * style/StyleResolveTree.cpp:
3860         (WebCore::Style::elementInsideRegionNeedsRenderer):
3861         (WebCore::Style::createRendererIfNeeded):
3862
3863 2013-10-18  Brady Eidson  <beidson@apple.com>
3864
3865         Get rid of IDBFactoryBackendLevelDB and IDBTransactionBackendLevelDB in IDBDatabaseBackendLevelDB.
3866         https://bugs.webkit.org/show_bug.cgi?id=123039
3867
3868         Reviewed by Anders Carlsson.
3869
3870         Add a few concepts to the interfaces to make this work:
3871         * Modules/indexeddb/IDBFactoryBackendInterface.h:
3872         * Modules/indexeddb/IDBTransactionBackendInterface.h:
3873         (WebCore::IDBTransactionBackendInterface::id):
3874         (WebCore::IDBTransactionBackendInterface::IDBTransactionBackendInterface):
3875
3876         Adapt to using Interface ptr’s instead of LevelDB ptr’s:
3877         * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp:
3878         (WebCore::IDBDatabaseBackendLevelDB::create):
3879         (WebCore::IDBDatabaseBackendLevelDB::IDBDatabaseBackendLevelDB):
3880         (WebCore::IDBDatabaseBackendLevelDB::createObjectStore):
3881         (WebCore::IDBDatabaseBackendLevelDB::deleteObjectStore):
3882         (WebCore::IDBDatabaseBackendLevelDB::createIndex):
3883         (WebCore::IDBDatabaseBackendLevelDB::deleteIndex):
3884         (WebCore::IDBDatabaseBackendLevelDB::get):
3885         (WebCore::IDBDatabaseBackendLevelDB::put):
3886         (WebCore::IDBDatabaseBackendLevelDB::setIndexKeys):
3887         (WebCore::IDBDatabaseBackendLevelDB::setIndexesReady):
3888         (WebCore::IDBDatabaseBackendLevelDB::openCursor):
3889         (WebCore::IDBDatabaseBackendLevelDB::count):
3890         (WebCore::IDBDatabaseBackendLevelDB::deleteRange):
3891         (WebCore::IDBDatabaseBackendLevelDB::clear):
3892         (WebCore::IDBDatabaseBackendLevelDB::transactionStarted):
3893         (WebCore::IDBDatabaseBackendLevelDB::transactionFinished):
3894         (WebCore::IDBDatabaseBackendLevelDB::transactionFinishedAndAbortFired):
3895         (WebCore::IDBDatabaseBackendLevelDB::transactionFinishedAndCompleteFired):
3896         (WebCore::IDBDatabaseBackendLevelDB::runIntVersionChangeTransaction):
3897         * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.h:
3898
3899         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
3900
3901         * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.cpp:
3902         (WebCore::IDBObjectStoreBackendLevelDB::makeIndexWriters):
3903         * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.h:
3904
3905         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp:
3906         (WebCore::IDBTransactionBackendLevelDB::IDBTransactionBackendLevelDB):
3907         (WebCore::IDBTransactionBackendLevelDB::abort):
3908         (WebCore::IDBTransactionBackendLevelDB::commit):
3909         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:
3910
3911 2013-10-18  Dean Jackson  <dino@apple.com>
3912
3913         Unable to upload <img src="foo.svg"> as WebGL texture
3914         https://bugs.webkit.org/show_bug.cgi?id=123035
3915
3916         Reviewed by Tim Horton.
3917
3918         If the HTMLImageElement passed to texture2D is an SVG
3919         image, paint it first into a bitmap buffer and upload that.
3920         Note that the SVG image still needs to have an intrinsic
3921         or explicit size - see how the test case must set width and
3922         height.
3923
3924         I also renamed the cache of ImageBuffers since it is
3925         no longer only being used for video frames.
3926
3927         Test: fast/canvas/webgl/tex-image-and-sub-image-2d-with-svg-image.html
3928
3929         * html/canvas/WebGLRenderingContext.cpp:
3930         (WebCore::WebGLRenderingContext::WebGLRenderingContext): Rename m_videoCache to m_generatedImageCache.
3931         (WebCore::WebGLRenderingContext::drawImageIntoBuffer): New method that creates an ImageBuffer
3932         of the appropriate size and renders into that.
3933         (WebCore::WebGLRenderingContext::texImage2D): If we see an SVG image, render it first.
3934         (WebCore::WebGLRenderingContext::videoFrameToImage): Renamed m_generatedImageCache.
3935         (WebCore::WebGLRenderingContext::texSubImage2D): If we see an SVG image, render it first.
3936         * html/canvas/WebGLRenderingContext.h: Renaming.
3937
3938 2013-10-18  Brady Eidson  <beidson@apple.com>
3939
3940         Move IDBTransactionBackend operations to the IDBTransactionBackend itself..
3941         https://bugs.webkit.org/show_bug.cgi?id=123028
3942
3943         Reviewed by Alexey Proskuryakov.
3944
3945         This gets rid of a big blob of LevelDB specific code from IDBDatabaseBackendLevelDB.cpp,
3946         bringing us much closer to having it be cross platform.
3947
3948         * CMakeLists.txt:
3949         * GNUmakefile.list.am:
3950
3951         * Modules/indexeddb/IDBTransactionBackendInterface.h: Added.
3952         (WebCore::IDBTransactionBackendInterface::~IDBTransactionBackendInterface):
3953
3954         * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp:
3955         (WebCore::IDBCursorBackendLevelDB::CursorAdvanceOperation::perform): Update for new method signature.
3956         (WebCore::IDBCursorBackendLevelDB::CursorIterationOperation::perform): Ditto.
3957         (WebCore::IDBCursorBackendLevelDB::CursorPrefetchIterationOperation::perform): Ditto.
3958
3959         * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp: Move all operations into
3960           IDBTransactionBackendLevelDBOperations, then start scheduling them using the new
3961           IDBTransactionBackendInterface scheduling methods.
3962         (WebCore::IDBDatabaseBackendLevelDB::createObjectStore):
3963         (WebCore::IDBDatabaseBackendLevelDB::deleteObjectStore):
3964         (WebCore::IDBDatabaseBackendLevelDB::createIndex):
3965         (WebCore::IDBDatabaseBackendLevelDB::deleteIndex):
3966         (WebCore::IDBDatabaseBackendLevelDB::get):
3967         (WebCore::IDBDatabaseBackendLevelDB::put):
3968         (WebCore::IDBDatabaseBackendLevelDB::setIndexesReady):
3969         (WebCore::IDBDatabaseBackendLevelDB::openCursor):
3970         (WebCore::IDBDatabaseBackendLevelDB::count):
3971         (WebCore::IDBDatabaseBackendLevelDB::deleteRange):
3972         (WebCore::IDBDatabaseBackendLevelDB::clear):
3973         (WebCore::IDBDatabaseBackendLevelDB::createTransaction):
3974         (WebCore::IDBDatabaseBackendLevelDB::runIntVersionChangeTransaction):
3975         * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.h: Move definitions of PendingOpenCall and
3976           PendingDeleteCall to the header.
3977         (WebCore::IDBDatabaseBackendLevelDB::PendingOpenCall::create):
3978         (WebCore::IDBDatabaseBackendLevelDB::PendingOpenCall::callbacks):
3979         (WebCore::IDBDatabaseBackendLevelDB::PendingOpenCall::databaseCallbacks):
3980         (WebCore::IDBDatabaseBackendLevelDB::PendingOpenCall::version):
3981         (WebCore::IDBDatabaseBackendLevelDB::PendingOpenCall::transactionId):
3982         (WebCore::IDBDatabaseBackendLevelDB::PendingOpenCall::PendingOpenCall):
3983         (WebCore::IDBDatabaseBackendLevelDB::PendingDeleteCall::create):
3984         (WebCore::IDBDatabaseBackendLevelDB::PendingDeleteCall::callbacks):
3985         (WebCore::IDBDatabaseBackendLevelDB::PendingDeleteCall::PendingDeleteCall):
3986
3987         * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.cpp: Add a newly required include.
3988         * Modules/indexeddb/leveldb/IDBTransactionCoordinatorLevelDB.cpp: Ditto.
3989
3990         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp: Implement the new interface to
3991           handle scheduling of operations in a cross platform manner, then rely on the new
3992           IDBTransactionBackendLevelDBOperations classes for the actual operations.
3993         (WebCore::IDBTransactionBackendLevelDB::create):
3994         (WebCore::IDBTransactionBackendLevelDB::IDBTransactionBackendLevelDB):
3995         (WebCore::IDBTransactionBackendLevelDB::abort):
3996         (WebCore::IDBTransactionBackendLevelDB::taskTimerFired):
3997         (WebCore::IDBTransactionBackendLevelDB::scheduleCreateObjectStoreOperation):
3998         (WebCore::IDBTransactionBackendLevelDB::scheduleDeleteObjectStoreOperation):
3999         (WebCore::IDBTransactionBackendLevelDB::scheduleVersionChangeOperation):
4000         (WebCore::IDBTransactionBackendLevelDB::scheduleCreateIndexOperation):
4001         (WebCore::IDBTransactionBackendLevelDB::scheduleDeleteIndexOperation):
4002         (WebCore::IDBTransactionBackendLevelDB::scheduleGetOperation):
4003         (WebCore::IDBTransactionBackendLevelDB::schedulePutOperation):
4004         (WebCore::IDBTransactionBackendLevelDB::scheduleSetIndexesReadyOperation):
4005         (WebCore::IDBTransactionBackendLevelDB::scheduleOpenCursorOperation):
4006         (WebCore::IDBTransactionBackendLevelDB::scheduleCountOperation):
4007         (WebCore::IDBTransactionBackendLevelDB::scheduleDeleteRangeOperation):
4008         (WebCore::IDBTransactionBackendLevelDB::scheduleClearOperation):
4009         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:
4010
4011         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.cpp: Added.
4012           Move all the LevelDB transaction operations from IDBDatabaseBackendLevelDB to here.
4013         (WebCore::CreateObjectStoreOperation::perform):
4014         (WebCore::CreateIndexOperation::perform):
4015         (WebCore::CreateIndexAbortOperation::perform):
4016         (WebCore::DeleteIndexOperation::perform):
4017         (WebCore::DeleteIndexAbortOperation::perform):
4018         (WebCore::GetOperation::perform):
4019         (WebCore::PutOperation::perform):
4020         (WebCore::SetIndexesReadyOperation::perform):
4021         (WebCore::OpenCursorOperation::perform):
4022     &