3cb73943a25fd52c81fe868c2ec2100908ef4512
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-09-24  Sam Weinig  <sam@webkit.org>
2
3         CTTE: More Document references please
4         https://bugs.webkit.org/show_bug.cgi?id=121893
5
6         Reviewed by Anders Carlsson.
7
8         * Thread even more Document&s around. *
9
10 2013-09-25  Anders Carlsson  <andersca@apple.com>
11
12         HasMemoryCostMemberFunction should work for final classes
13         https://bugs.webkit.org/show_bug.cgi?id=121747
14
15         Reviewed by Sam Weinig.
16
17         Use decltype to check for the memoryCost() member function. This doesn't check that the return type is size_t, but
18         the build will fail anyway if that's the case (or if the return type is not convertible to size_t).
19
20         * bindings/js/JSDOMBinding.h:
21
22 2013-09-25  Brady Eidson  <beidson@apple.com>
23
24         More refactoring to make the LevelDB dependencies of IDB more obvious.
25         https://bugs.webkit.org/show_bug.cgi?id=121880
26
27         Reviewed by Alexey Proskuryakov.
28
29         This patch does three things:
30         1 - Moves some files to the indexeddb/leveldb subdirectory, renaming them in the process.
31         2 - Renames some classes.
32         3 - Adds "USE(LEVELDB)" guards in addition to the ENABLE(INDEXED_DATABASE) guard for those files.
33
34         Project file updates:
35         * GNUmakefile.am:
36         * GNUmakefile.list.am:
37         * Target.pri:
38         * WebCore.xcodeproj/project.pbxproj:
39         * WebCore.vcxproj/WebCore.vcxproj:
40
41         File renames, class renames, and USE(LEVELDB) guards:
42         * Modules/indexeddb/IDBBackingStore.cpp: Removed.
43         * Modules/indexeddb/IDBFactoryBackendInterface.cpp:
44         (WebCore::IDBFactoryBackendInterface::create): Add a null return if USE(LEVELDB) is disabled as a stop gap measure until
45           there is a non-LevelDB impl.
46         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
47         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h: Renamed from Source/WebCore/Modules/indexeddb/IDBBackingStore.h.
48         * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp: Renamed from Source/WebCore/Modules/indexeddb/IDBCursorBackendImpl.cpp.
49         * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h: Renamed from Source/WebCore/Modules/indexeddb/IDBCursorBackendImpl.h.
50         * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp: Renamed from Source/WebCore/Modules/indexeddb/IDBDatabaseBackendImpl.cpp.
51         * Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.h: Renamed from Source/WebCore/Modules/indexeddb/IDBDatabaseBackendImpl.h.
52         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp: Renamed from Source/WebCore/Modules/indexeddb/IDBFactoryBackendImpl.cpp.
53         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h: Renamed from Source/WebCore/Modules/indexeddb/IDBFactoryBackendImpl.h.
54         * Modules/indexeddb/leveldb/IDBLevelDBCoding.cpp:
55         * Modules/indexeddb/leveldb/IDBLevelDBCoding.h:
56         * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.cpp: Renamed from Source/WebCore/Modules/indexeddb/IDBObjectStoreBackendImpl.cpp.
57         * Modules/indexeddb/leveldb/IDBObjectStoreBackendLevelDB.h: Renamed from Source/WebCore/Modules/indexeddb/IDBObjectStoreBackendImpl.h.
58         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp: Renamed from Source/WebCore/Modules/indexeddb/IDBTransactionBackendImpl.cpp.
59         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h: Renamed from Source/WebCore/Modules/indexeddb/IDBTransactionBackendImpl.h.
60         * Modules/indexeddb/leveldb/IDBTransactionCoordinatorLevelDB.cpp: Renamed from Source/WebCore/Modules/indexeddb/IDBTransactionCoordinator.cpp.
61         * Modules/indexeddb/leveldb/IDBTransactionCoordinatorLevelDB.h: Renamed from Source/WebCore/Modules/indexeddb/IDBTransactionCoordinator.h.
62
63
64 2013-09-25  Antti Koivisto  <antti@apple.com>
65
66         REGRESSION (r156355) Links / interactive elements inside nested tables are unclickable
67         https://bugs.webkit.org/show_bug.cgi?id=121904
68
69         Reviewed by Andreas Kling.
70
71         Test: fast/table/hittest-self-painting.html
72         
73         Original reduction by Philippe Wittenbergh.
74
75         * rendering/RenderTableRow.cpp:
76         (WebCore::RenderTableRow::styleDidChange):
77         
78             Tighten a bit.
79
80         (WebCore::RenderTableRow::nodeAtPoint):
81         * rendering/RenderTableSection.cpp:
82         (WebCore::RenderTableSection::nodeAtPoint):
83         
84             These flipped accidentally in r156355.
85
86 2013-09-25  Alberto Garcia  <berto@igalia.com>
87
88         Fix warning in makeprop.pl
89         https://bugs.webkit.org/show_bug.cgi?id=121900
90
91         Reviewed by Ryosuke Niwa.
92
93         %nameIsInherited and %nameToId were incorrectly initialized using
94         references instead of lists.
95
96         Anyway there's no need to initialize those variables explicitly,
97         they're already empty by default.
98
99         * css/makeprop.pl:
100
101 2013-09-25  Allan Sandfeld Jensen  <allan.jensen@digia.com>
102
103         REGRESSION(r156393): Build with !ENABLE(SVG_FONTS) broken
104
105         Unreviewed build-fix.
106
107         Protect SVG font code with #ifdef ENABLE(SVG_FONTS).
108
109         * platform/graphics/WidthIterator.cpp:
110         (WebCore::applyFontTransforms):
111
112 2013-09-25  Commit Queue  <commit-queue@webkit.org>
113
114         Unreviewed, rolling out r156272.
115         http://trac.webkit.org/changeset/156272
116         https://bugs.webkit.org/show_bug.cgi?id=121909
117
118         Has no real effect (Requested by carewolf on #webkit).
119
120         * platform/graphics/qt/TileQt.cpp:
121         (WebCore::TileQt::updateBackBuffer):
122
123 2013-09-25  Andreas Kling  <akling@apple.com>
124
125         Move wheel event dispatch from Node to Element.
126         <https://webkit.org/b/121908>
127
128         Reviewed by Anders Carlsson.
129
130         Wheel events are only ever dispatched on Elements, so move the logic out of Node.
131
132         Had to make RenderBox::scroll() and friends return a stopElement instead of a
133         stopNode (out argument) to make this work, though it was only ever returning
134         Elements there anyway.
135
136 2013-09-25  Allan Sandfeld Jensen  <allan.jensen@digia.com>
137
138         [Qt] Fix build with !ENABLE(BLOB) after r156330
139
140         Unreviewed build-fix.
141
142         * platform/network/qt/ResourceRequestQt.cpp:
143         (WebCore::ResourceRequest::toNetworkRequest):
144
145 2013-09-25  Allan Sandfeld Jensen  <allan.jensen@digia.com>
146
147         Support kerning with SVG web fonts
148         https://bugs.webkit.org/show_bug.cgi?id=117540
149
150         Reviewed by Stephen Chenney.
151
152         Adds the glue to WidthIterator to take advantage of kerning in SVG web fonts.
153         To supply SVG font kerning with its required text input, the signature of
154         applyFontTransforms has been extended.
155
156         Since SVG font kerning was extremely slow, it has been sped up by replacing
157         the iteration over all possible kerning definitions with a hash-map based
158         lookup of the leading symbol to be kerned. The new algorithm provides a
159         roughly 100x speed-up in SVG font kerning.
160
161         Test: fast/text/svg-font-face-with-kerning.html
162
163         * platform/graphics/TextRun.h:
164         (WebCore::TextRun::string):
165         * platform/graphics/WidthIterator.cpp:
166         (WebCore::applyFontTransforms):
167         (WebCore::WidthIterator::advanceInternal):
168         * rendering/svg/SVGTextRunRenderingContext.cpp:
169         (WebCore::SVGTextRunRenderingContext::applySVGKerning):
170         * rendering/svg/SVGTextRunRenderingContext.h:
171         * svg/SVGFontElement.cpp:
172         (WebCore::SVGFontElement::invalidateGlyphCache):
173         (WebCore::SVGFontElement::ensureGlyphCache):
174         (WebCore::SVGKerningMap::clear):
175         (WebCore::SVGKerningMap::insert):
176         (WebCore::stringMatchesUnicodeRange):
177         (WebCore::stringMatchesGlyphName):
178         (WebCore::stringMatchesUnicodeName):
179         (WebCore::matches):
180         (WebCore::kerningForPairOfStringsAndGlyphs):
181         (WebCore::SVGFontElement::horizontalKerningForPairOfStringsAndGlyphs):
182         (WebCore::SVGFontElement::verticalKerningForPairOfStringsAndGlyphs):
183         * svg/SVGFontElement.h:
184         (WebCore::SVGKerning::SVGKerning):
185         (WebCore::SVGKerningMap::isEmpty):
186         * svg/SVGHKernElement.cpp:
187         (WebCore::SVGHKernElement::buildHorizontalKerningPair):
188         * svg/SVGHKernElement.h:
189         * svg/SVGVKernElement.cpp:
190         (WebCore::SVGVKernElement::buildVerticalKerningPair):
191         * svg/SVGVKernElement.h:
192
193 2013-09-25  Andrei Parvu  <parvu@adobe.com>
194
195         <https://webkit.org/b/120476> [CSS Masking] Implement luminance masking
196
197         Added implementation for luminance masking. A luminance mask is applied by transforming its RGB values into
198         an alpha value, using luminance-to-alpha coefficients. Because this conversion is already implemented in
199         the ImageBuffer class, we used it in our implementation.
200
201         Reviewed by Dirk Schulze.
202
203         Tests: css3/masking/mask-luminance-gradient.html
204                css3/masking/mask-luminance-png.html
205                css3/masking/mask-luminance-svg.html
206
207         * platform/graphics/BitmapImage.cpp: Add a drawPattern method, in which an ImageBuffer is created and converted from alpha to luminance, if there is a luminance mask.
208         (WebCore::BitmapImage::BitmapImage):
209         (WebCore::BitmapImage::drawPattern):
210         * platform/graphics/BitmapImage.h:
211         * platform/graphics/GeneratorGeneratedImage.cpp: Convert the ImageBuffer to luminance, if necessary.
212         (WebCore::GeneratorGeneratedImage::drawPattern):
213         * platform/graphics/GraphicsContext.cpp: Add methods which set and check if a luminance mask is drawn.
214         (WebCore::GraphicsContext::setDrawLuminanceMask):
215         (WebCore::GraphicsContext::drawLuminanceMask):
216         * platform/graphics/GraphicsContext.h: Add property to ContextState for luminance drawing.
217         (WebCore::GraphicsContextState::GraphicsContextState):
218         * rendering/RenderBoxModelObject.cpp: Set the luminance property of the mask, if the layer has a mask source type of luminance.
219         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
220         * svg/graphics/SVGImage.cpp: Convert the ImageBuffer to luminance, if necessary.
221         (WebCore::SVGImage::drawPatternForContainer):
222         * svg/graphics/SVGImageForContainer.cpp: Pass the luminance property to the SVG image.
223         (WebCore::SVGImageForContainer::drawPattern):
224
225 2013-09-25  Andreas Kling  <akling@apple.com>
226
227         Remove EventPathWalker.
228         <https://webkit.org/b/121890>
229
230         Reviewed by Antti Koivisto.
231
232         Purge some more leftover Shadow DOM code.
233
234         * dom/EventPathWalker.cpp:
235         * dom/EventPathWalker.h:
236
237             Removed.
238
239         * dom/EventRetargeter.cpp:
240         (WebCore::nodeOrHostIfPseudoElement):
241         (WebCore::EventRetargeter::calculateEventPath):
242         (WebCore::EventRetargeter::buildRelatedNodeMap):
243
244             If starting at a pseudo element, e.g for events originating from
245             a transition on :before/:after, retarget to the pseudo element's
246             host as appropriate. This was the only real "feature" we were
247             using in EventPathWalker.
248
249         * page/EventHandler.cpp:
250         (WebCore::EventHandler::handleMouseDraggedEvent):
251         (WebCore::EventHandler::updateDragAndDrop):
252         (WebCore::EventHandler::updateMouseEventTargetNode):
253         (WebCore::EventHandler::handleWheelEvent):
254         (WebCore::EventHandler::handleTouchEvent):
255
256             Replace use of EventPathWalker with parentOrShadowHostElement()
257             parent chain climbing.
258
259 2013-09-25  Gurpreet Kaur  <k.gurpreet@samsung.com>
260
261         :read-write pseudo-class should not be applied on <input type="text" disabled>
262         https://bugs.webkit.org/show_bug.cgi?id=118236
263
264         Reviewed by Darin Adler.
265
266         The :read-write pseudo-class must match any element falling into one
267         of the following categories i.e
268         input elements to which the readonly attribute applies, and that are mutable
269         (i.e. that do not have the readonly attribute specified and that are not disabled)
270         textarea elements that do not have a readonly attribute, and that are not disabled
271         elements that are editing hosts or editable and are neither input elements nor
272         textarea elements.
273
274         Test: fast/css/readwrite-pseudoclass-input.html
275
276         * html/HTMLInputElement.cpp:
277         (WebCore::HTMLInputElement::matchesReadWritePseudoClass):
278         * html/HTMLTextAreaElement.cpp:
279         (WebCore::HTMLTextAreaElement::matchesReadWritePseudoClass):
280         Checking for both readonly and disabled attribute on input ane textarea element.
281
282 2013-09-25  Krzysztof Czech  <k.czech@samsung.com>
283
284         [EFL] accessibility/loading-iframe-sends-notification.html is failing
285         https://bugs.webkit.org/show_bug.cgi?id=112003
286
287         Reviewed by Mario Sanchez Prada.
288
289         Enabled AXLayoutComplete on EFL platform.
290
291         * dom/Document.cpp:
292         (WebCore::Document::implicitClose):
293         * page/FrameView.cpp:
294         (WebCore::FrameView::layout):
295
296 2013-09-24  Commit Queue  <commit-queue@webkit.org>
297
298         Unreviewed, rolling out r156379.
299         http://trac.webkit.org/changeset/156379
300         https://bugs.webkit.org/show_bug.cgi?id=121894
301
302         Caused many assertion failures (Requested by ap on #webkit).
303
304         * css/CSSValue.cpp:
305         (WebCore::CSSValue::destroy):
306         * css/StyleResolver.cpp:
307         (WebCore::StyleResolver::createCustomFilterOperationWithInlineSyntax):
308         (WebCore::StyleResolver::createFilterOperations):
309         * css/TransformFunctions.cpp:
310         (WebCore::transformsForValue):
311         * css/WebKitCSSArrayFunctionValue.h:
312         * css/WebKitCSSFilterValue.h:
313         * css/WebKitCSSMatFunctionValue.h:
314         * css/WebKitCSSMixFunctionValue.h:
315         * css/WebKitCSSSVGDocumentValue.h:
316         * css/WebKitCSSShaderValue.h:
317         (WebCore::toWebKitCSSShaderValue):
318         * css/WebKitCSSTransformValue.h:
319
320 2013-09-24  Ryosuke Niwa  <rniwa@webkit.org>
321
322         Crash in Document::setFocusedElement
323         https://bugs.webkit.org/show_bug.cgi?id=121888
324
325         Reviewed by Andreas Kling.
326
327         Merge https://chromium.googlesource.com/chromium/blink/+/4a594a3de7d9761462b55fb27a6850d767419af2
328
329         The crash was caused by attempting to call Chrome:focusedNodeChanged() after m_page had already
330         been cleared. This could happen when blur's event handler removes the iframe from which
331         the focus had been moved. Fixed the bug by adding a null pointer check.
332
333         Test: fast/events/blur-remove-parent-crash.html
334
335         * dom/Document.cpp:
336         (WebCore::Document::setFocusedElement):
337
338 2013-09-24  Antti Koivisto  <antti@apple.com>
339
340         Remove HTMLContentElement
341         https://bugs.webkit.org/show_bug.cgi?id=121891
342
343         Reviewed by Andreas Kling.
344
345         Remove an unsused Shadow DOM type.
346
347         * DerivedSources.make:
348         * WebCore.exp.in:
349         * WebCore.xcodeproj/project.pbxproj:
350         * html/HTMLDetailsElement.cpp:
351         * html/HTMLSummaryElement.cpp:
352         * html/HTMLTagNames.in:
353         * html/shadow/ContentDistributor.cpp:
354         * html/shadow/HTMLContentElement.cpp: Removed.
355         * html/shadow/HTMLContentElement.h: Removed.
356         * html/shadow/HTMLContentElement.idl: Removed.
357         * html/shadow/InsertionPoint.h:
358         (WebCore::InsertionPoint::matchTypeFor):
359         * testing/Internals.cpp:
360         * testing/Internals.h:
361         * testing/Internals.idl:
362
363 2013-09-24  Benjamin Poulain  <benjamin@webkit.org>
364
365         Remove a contradiction from SelectorChecker
366         https://bugs.webkit.org/show_bug.cgi?id=121881
367
368         Reviewed by Andreas Kling.
369
370         The matching code for PseudoHover and PseudoActive is done on the current
371         selector pseudo type. The current selector match type must be CSSSelector::PseudoClass
372         in order to reach this code. Consequently, selector->m_match == CSSSelector::Tag can
373         never be true.
374
375         * css/SelectorChecker.cpp:
376         (WebCore::SelectorChecker::checkOne):
377
378 2013-09-24  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
379
380         Add toWebKitCSS*Value functions to cast from CSSValue
381         https://bugs.webkit.org/show_bug.cgi?id=121776
382
383         Reviewed by Darin Adler.
384
385         CSS_VALUE_TYPE_CASTS can't cover WebKitCSS*Value classes. So, this patch adds toWebKitCSS*Value manually.
386
387         No new tests, no behavior change.
388
389         * css/CSSValue.cpp:
390         (WebCore::CSSValue::destroy):
391         * css/StyleResolver.cpp:
392         (WebCore::StyleResolver::createCustomFilterOperationWithInlineSyntax):
393         (WebCore::StyleResolver::createFilterOperations):
394         * css/TransformFunctions.cpp:
395         (WebCore::transformsForValue):
396         * css/WebKitCSSArrayFunctionValue.h:
397         (WebCore::toWebKitCSSArrayFunctionValue):
398         * css/WebKitCSSFilterValue.h:
399         (WebCore::toWebKitCSSFilterValue):
400         * css/WebKitCSSMatFunctionValue.h:
401         (WebCore::toWebKitCSSMatFunctionValue):
402         * css/WebKitCSSMixFunctionValue.h:
403         (WebCore::toWebKitCSSMixFunctionValue):
404         * css/WebKitCSSSVGDocumentValue.h:
405         (WebCore::toWebKitCSSSVGDocumentValue):
406         * css/WebKitCSSShaderValue.h:
407         (WebCore::toWebKitCSSShaderValue):
408         * css/WebKitCSSTransformValue.h:
409         (WebCore::toWebKitCSSTransformValue):
410
411 2013-09-24  Antti Koivisto  <antti@apple.com>
412
413         Clean up some uses of first/lastChildSlow
414         https://bugs.webkit.org/show_bug.cgi?id=121882
415
416         Reviewed by Andreas Kling.
417
418         Tighten typing and use first/lastChild instead.
419
420         * dom/Position.cpp:
421         (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight):
422         (WebCore::Position::isCandidate):
423         (WebCore::Position::getInlineBoxAndOffset):
424         * dom/Position.h:
425         * dom/PositionIterator.cpp:
426         (WebCore::PositionIterator::isCandidate):
427         * editing/CompositeEditCommand.cpp:
428         (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
429         * rendering/RenderBlock.cpp:
430         (WebCore::canMergeAnonymousBlock):
431         (WebCore::canMergeContiguousAnonymousBlocks):
432         (WebCore::RenderBlock::firstLineBlock):
433         (WebCore::RenderBlock::updateFirstLetter):
434         * rendering/RenderRegion.cpp:
435         (WebCore::RenderRegion::setRegionObjectsRegionStyle):
436         (WebCore::RenderRegion::computeChildrenStyleInRegion):
437         * rendering/RenderRegion.h:
438         * rendering/RenderRuby.cpp:
439         (WebCore::rubyBeforeBlock):
440         (WebCore::rubyAfterBlock):
441         (WebCore::lastRubyRun):
442         * rendering/RenderTreeAsText.cpp:
443         (WebCore::write):
444         (WebCore::writeCounterValuesFromChildren):
445         * rendering/svg/RenderSVGText.cpp:
446         (WebCore::findPreviousAndNextAttributes):
447         * style/StyleResolveTree.cpp:
448         (WebCore::Style::textRendererIsNeeded):
449
450 2013-09-24  Mark Lam  <mark.lam@apple.com>
451
452         Change JSC debug hooks to pass a CallFrame* instead of a DebuggerCallFrame.
453         https://bugs.webkit.org/show_bug.cgi?id=121867.
454
455         Reviewed by Geoffrey Garen.
456
457         No new tests.
458
459         * bindings/js/ScriptDebugServer.cpp:
460         (WebCore::ScriptDebugServer::createCallFrame):
461         (WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded):
462         (WebCore::ScriptDebugServer::callEvent):
463         (WebCore::ScriptDebugServer::atStatement):
464         (WebCore::ScriptDebugServer::returnEvent):
465         (WebCore::ScriptDebugServer::exception):
466         (WebCore::ScriptDebugServer::willExecuteProgram):
467         (WebCore::ScriptDebugServer::didExecuteProgram):
468         (WebCore::ScriptDebugServer::didReachBreakpoint):
469         * bindings/js/ScriptDebugServer.h:
470         * bindings/js/WorkerScriptDebugServer.cpp:
471         (WebCore::WorkerScriptDebugServer::willExecuteProgram):
472         * bindings/js/WorkerScriptDebugServer.h:
473
474 2013-09-24  Andreas Kling  <akling@apple.com>
475
476         Move keyboard event dispatch from Node to Element.
477         <https://webkit.org/b/121873>
478
479         Reviewed by Antti Koivisto.
480
481         We only dispatch keyboard events on Elements so that logic shouldn't be in Node.
482
483         * dom/Document.cpp:
484         (WebCore::eventTargetElementForDocument):
485
486             Reworked to return Element instead of Node.
487
488         * dom/Document.h:
489         * dom/Element.h:
490         * dom/Element.cpp:
491         (WebCore::Element::dispatchKeyEvent):
492
493             Moved from Node to Element.
494
495         * editing/AlternativeTextController.cpp:
496         (WebCore::AlternativeTextController::insertDictatedText):
497         * page/EventHandler.cpp:
498         (WebCore::EventHandler::keyEvent):
499         (WebCore::EventHandler::handleTextInputEvent):
500
501             Adjusted for above changes.
502
503 2013-09-24  Zoltan Horvath  <zoltan@webkit.org>
504
505         [CSS Shapes] Modify updateSegmentsForShapes function to use logical coordinates
506         https://bugs.webkit.org/show_bug.cgi?id=121864
507
508         Reviewed by David Hyatt.
509
510         When I landed updateSegmentsForShapes in r156022, I didn't use logical coordinates. This change modifies the
511         code to use coordinates for positioning the float and the content around the float in a shape-inside. Now I
512         added only one writing mode tests, but I will add more later in bug #121866.
513
514         Test: fast/shapes/shape-inside/shape-inside-left-float-in-upper-left-triangle-vertical-lr-inline-content.html
515
516         * rendering/FloatingObjects.h:
517         (WebCore::FloatingObject::logicalHeight):
518         * rendering/RenderBlock.cpp:
519         (WebCore::RenderBlock::computeLogicalLocationForFloat):
520         * rendering/RenderBlockLineLayout.cpp:
521         (WebCore::updateSegmentsForShapes):
522
523 2013-09-24  Brady Eidson  <beidson@apple.com>
524
525         Remove IDBTransactionCallbacks.h from the .xcodeproj, as it's gone from the repository.
526
527         Rubberstamped by Anders Carlsson and Alexey Proskuryakov.
528
529         * WebCore.xcodeproj/project.pbxproj:
530
531 2013-09-24  Antti Koivisto  <antti@apple.com>
532
533         Tighten table rendering code
534         https://bugs.webkit.org/show_bug.cgi?id=121860
535
536         Reviewed by Andreas Kling.
537
538         Hide firstChild/lastChild/nextSibling/previousSibling in table renderers, 
539         expose correctly typed firstRow/nextCell etc instead.
540
541 2013-09-24  Dean Jackson  <dino@apple.com>
542
543         Implement symbol name hashing for WebGL shaders
544         https://bugs.webkit.org/show_bug.cgi?id=121849
545
546         Reviewed by Anders Carlsson.
547
548         Turn on ANGLE's symbol name mapping for shader programs.
549         This avoids compilation failures (or worse, crashers)
550         on some hardware that doesn't like it when shaders redefine
551         symbols like "sin", even though that is valid.
552
553         The way ANGLE exposes this is via setting a pointer
554         to a char* -> uint64_t hash function. Since we only have
555         a 32-bit hash in WebKit, I combine the 32-bit value with
556         a counter value that exists over the lifetime of a GC3D context.
557         Before calling ANGLE, I point the global hash map to the local
558         hash map, and then clean up after we're done. This introduces
559         a memory hit, in that the symbol table will build up until
560         the context is released.
561
562         Covered by Khronos WebGL tests, including
563         conformance/glsl/misc/shader-with-non-reserved-words.html
564
565         * platform/graphics/GraphicsContext3D.h: Define a ShaderNameHash type,
566         and add an OwnPtr to one as a member variable.
567         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
568         (WebCore::nameHashForShader): Global function used for ANGLE hashing.
569         (WebCore::GraphicsContext3D::compileShader): Set up the ANGLE properties,
570         point to the local hash map, and call compile/translate.
571
572 2013-09-24  Dean Jackson  <dino@apple.com>
573
574         Use mapped name in attribute location binding
575         https://bugs.webkit.org/show_bug.cgi?id=121847
576         <rdar://problem/15067526>
577
578         Reviewed by Eric Carlson.
579
580         The shader that we send down to OpenGL to compile
581         may have been translated by ANGLE, so we keep a
582         table around that maps input symbols to output symbols.
583         We used the table when binding to and looking up
584         uniforms, and when looking up attributes, but not
585         when actually binding to attribute locations.
586
587         Test: fast/canvas/webgl/gl-bind-attrib-mapped-names.html
588
589         * platform/graphics/ANGLEWebKitBridge.cpp:
590         (WebCore::getSymbolInfo): Add logging of symbol mapping.
591         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
592         (WebCore::GraphicsContext3D::bindAttribLocation): Used the mapped name.
593         (WebCore::GraphicsContext3D::getAttribLocation): Remove comment since
594         we do the lookup everywhere.
595         (WebCore::GraphicsContext3D::getUniformLocation): Ditto.
596
597 2013-09-24  Enrica Casucci  <enrica@apple.com>
598
599         Upstream changes to Pasteboard implementation for iOS.
600         https://bugs.webkit.org/show_bug.cgi?id=121818
601
602         Reviewed by Darin Adler.
603
604         * WebCore.xcodeproj/project.pbxproj:
605         * editing/Editor.cpp:
606         (WebCore::Editor::cut):
607         (WebCore::Editor::copyImage):
608         * editing/ios/EditorIOS.mm:
609         (WebCore::attributedStringForRange):
610         (WebCore::dataInRTFDFormat):
611         (WebCore::dataInRTFFormat):
612         (WebCore::Editor::stringSelectionForPasteboardWithImageAltText):
613         (WebCore::Editor::selectionInWebArchiveFormat):
614         (WebCore::Editor::writeSelectionToPasteboard):
615         (WebCore::getImage):
616         (WebCore::Editor::writeImageToPasteboard):
617         * platform/Pasteboard.h:
618         * platform/PasteboardStrategy.h:
619         * platform/PlatformPasteboard.h:
620         * platform/ios/PasteboardIOS.mm:
621         * platform/ios/PlatformPasteboardIOS.mm: Added.
622         (WebCore::PlatformPasteboard::PlatformPasteboard):
623         (WebCore::PlatformPasteboard::getTypes):
624         (WebCore::PlatformPasteboard::bufferForType):
625         (WebCore::PlatformPasteboard::getPathnamesForType):
626         (WebCore::PlatformPasteboard::stringForType):
627         (WebCore::PlatformPasteboard::color):
628         (WebCore::PlatformPasteboard::url):
629         (WebCore::PlatformPasteboard::copy):
630         (WebCore::PlatformPasteboard::addTypes):
631         (WebCore::PlatformPasteboard::setTypes):
632         (WebCore::PlatformPasteboard::setBufferForType):
633         (WebCore::PlatformPasteboard::setPathnamesForType):
634         (WebCore::PlatformPasteboard::setStringForType):
635         (WebCore::PlatformPasteboard::changeCount):
636         (WebCore::PlatformPasteboard::uniqueName):
637         (WebCore::PlatformPasteboard::write):
638
639 2013-09-24  Mark Rowe  <mrowe@apple.com>
640
641         <rdar://problem/14971518> WebKit should build against the Xcode default toolchain when targeting OS X 10.8
642
643         Reviewed by Dan Bernstein.
644
645         * Configurations/Base.xcconfig:
646
647 2013-09-24  Daniel Bates  <dabates@apple.com>
648
649         [iOS] Upstream -webkit-touch-callout
650         https://bugs.webkit.org/show_bug.cgi?id=121507
651
652         Reviewed by Antti Koivisto.
653
654         * css/CSSComputedStyleDeclaration.cpp:
655         (WebCore::ComputedStyleExtractor::propertyValue):
656         * css/CSSParser.cpp:
657         (WebCore::CSSParser::parseValue):
658         * css/CSSPropertyNames.in: Added -webkit-touch-callout.
659         * css/StyleResolver.cpp:
660         (WebCore::StyleResolver::applyProperty):
661         * html/HTMLImageElement.cpp:
662         (WebCore::HTMLImageElement::willRespondToMouseClickEvents): Added.
663         * html/HTMLImageElement.h:
664         * rendering/style/RenderStyle.h:
665         * rendering/style/StyleRareInheritedData.cpp:
666         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
667         (WebCore::StyleRareInheritedData::operator==):
668         * rendering/style/StyleRareInheritedData.h:
669
670 2013-09-24  Bem Jones-Bey  <bjonesbe@adobe.com>
671
672         Properly handle bottom margin on float with shape-outside
673         https://bugs.webkit.org/show_bug.cgi?id=121808
674
675         Reviewed by David Hyatt.
676
677         When a float has a shape-outside, inline content must conform to the
678         shape, not to the margin box. Thus, if a float with shape-outside has
679         a bottom margin and the shape does not intrude into that margin, then
680         the inline content should ignore the margin. Before this patch, inline
681         content would drop below the margin box instead of obeying the shape.
682         
683         Note that content that should clear the float still clears the margin
684         box, not the shape's contour.
685
686         Tests: csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-002.html
687                csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-003.html
688                csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-004.html
689
690         * rendering/LineWidth.cpp:
691         (WebCore::LineWidth::fitBelowFloats): Compute the logical bottom based
692         on the shape.
693         * rendering/RenderBlock.cpp:
694         (WebCore::RenderBlock::nextFloatLogicalBottomBelow): Add option to
695         compute the logical bottom based on the shape instead of on the margin
696         box.
697         * rendering/RenderBlock.h:
698
699 2013-09-24  Lorenzo Tilve  <ltilve@igalia.com>
700
701         [GTK] Fix compilation problems when setting ENABLE_DRAG_SUPPORT = FALSE
702         https://bugs.webkit.org/show_bug.cgi?id=121782
703
704         Reviewed by Martin Robinson.
705
706         Disabled drag functions.
707
708         * page/gtk/EventHandlerGtk.cpp:
709         * platform/gtk/PasteboardGtk.cpp:
710
711 2013-09-24  Samuel White  <samuel_white@apple.com>
712
713         AX: Replace AXObjectCache postNotification method boolean arguments with enum values.
714         https://bugs.webkit.org/show_bug.cgi?id=121504
715
716         Reviewed by Chris Fleizach.
717
718         No new tests, no functional changes. Changed argument type from bool
719         to enum per "Names" rule #10 in the WebKit coding style guidelines.
720
721         * accessibility/AXObjectCache.cpp:
722         (WebCore::AXObjectCache::textChanged):
723         (WebCore::AXObjectCache::postNotification):
724         (WebCore::AXObjectCache::checkedStateChanged):
725         (WebCore::AXObjectCache::selectedChildrenChanged):
726         (WebCore::AXObjectCache::handleAttributeChanged):
727         * accessibility/AXObjectCache.h:
728         (WebCore::AXObjectCache::postNotification):
729         * accessibility/AccessibilityMenuList.cpp:
730         (WebCore::AccessibilityMenuList::didUpdateActiveOption):
731         * accessibility/AccessibilityMenuListPopup.cpp:
732         (WebCore::AccessibilityMenuListPopup::didUpdateActiveOption):
733         * accessibility/AccessibilityNodeObject.cpp:
734         (WebCore::AccessibilityNodeObject::childrenChanged):
735         (WebCore::AccessibilityNodeObject::changeValueByStep):
736         (WebCore::AccessibilityNodeObject::changeValueByPercent):
737         * accessibility/AccessibilityRenderObject.cpp:
738         (WebCore::AccessibilityRenderObject::handleAriaExpandedChanged):
739         (WebCore::AccessibilityRenderObject::handleActiveDescendantChanged):
740         (WebCore::AccessibilityRenderObject::textChanged):
741         * dom/Document.cpp:
742         (WebCore::Document::implicitClose):
743         * editing/Editor.cpp:
744         (WebCore::Editor::respondToChangedContents):
745         (WebCore::Editor::markAndReplaceFor):
746         * editing/mac/FrameSelectionMac.mm:
747         (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
748         * html/HTMLTextFormControlElement.cpp:
749         (WebCore::HTMLTextFormControlElement::setInnerTextValue):
750         * html/InputType.cpp:
751         (WebCore::InputType::applyStep):
752         * html/RangeInputType.cpp:
753         (WebCore::RangeInputType::handleKeydownEvent):
754         * page/FocusController.cpp:
755         (WebCore::FocusController::setInitialFocus):
756         * page/FrameView.cpp:
757         (WebCore::FrameView::layout):
758
759 2013-09-24  Andreas Kling  <akling@apple.com>
760
761         Make hoverAncestor() a RenderElement concept.
762         <https://webkit.org/b/121845>
763
764         Reviewed by Antti Koivisto.
765
766         The hover ancestor renderer is always a RenderElement, we only ever
767         ask RenderElements for their hover ancestors.
768
769         Updated Document::updateHoverActiveState() to take advantage of the
770         tighter typing, removing a few isElementNode() checks.
771
772 2013-09-24  Daniel Bates  <dabates@apple.com>
773
774         [iOS] Initialize settings mediaPlayback{AllowsInline, RequiresUserGesture} and
775         shouldRespectImageOrientation as appropriate
776         https://bugs.webkit.org/show_bug.cgi?id=121792
777
778         Reviewed by Darin Adler.
779
780         On iOS we explicitly want to disable mediaPlaybackAllowsInline, and enable
781         mediaPlaybackRequiresUserGesture and shouldRespectImageOrientation by default.
782         This differs from other platforms. We need to extract the initialization logic
783         for these settings into constants whose definition is conditioned on the platform.
784
785         * page/Settings.cpp:
786         * page/Settings.in:
787
788 2013-09-24  peavo@outlook.com  <peavo@outlook.com>
789
790         [WinCairo] Compile error.
791         https://bugs.webkit.org/show_bug.cgi?id=121839
792
793         Reviewed by Brent Fulgham.
794
795         * platform/graphics/GraphicsContext3DPrivate.cpp:
796         (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate): Added missing guard.
797
798 2013-09-24  Andreas Kling  <akling@apple.com>
799
800         Cache continuation() in a local to avoid repeat hash lookups.
801         <https://webkit.org/b/121840>
802
803         Reviewed by Geoffrey Garen.
804
805         RenderBoxModelObject::continuation() does a hash lookup every time.
806         Cache the result in a local instead of calling it repeatedly.
807
808         * rendering/RenderBlock.h:
809         (WebCore::RenderBlock::isAnonymousBlockContinuation):
810
811             Reorder to check bitfield before hash map.
812
813         * rendering/RenderBlock.cpp:
814         (WebCore::RenderBlock::updateDragState):
815         * rendering/RenderInline.cpp:
816         (WebCore::RenderInline::absoluteRects):
817         (WebCore::RenderInline::absoluteQuads):
818         (WebCore::RenderInline::clippedOverflowRectForRepaint):
819         (WebCore::RenderInline::updateDragState):
820         (WebCore::RenderInline::addFocusRingRects):
821
822             Cache continuation() in locals where it's used more than once.
823
824 2013-09-24  Allan Sandfeld Jensen  <allan.jensen@digia.com>
825
826         [Qt] Crash when trying to download blob url
827         https://bugs.webkit.org/show_bug.cgi?id=121681
828
829         Reviewed by Simon Hausmann.
830
831         Resolve any blob URLs before creating a QUrl.
832
833         * platform/network/qt/ResourceRequestQt.cpp:
834         (WebCore::appendBlobResolved):
835         (WebCore::resolveBlobUrl):
836         (WebCore::ResourceRequest::toNetworkRequest):
837
838 2013-09-23  Antti Koivisto  <antti@apple.com>
839
840         Move more style change code from RenderObject to RenderElement
841         https://bugs.webkit.org/show_bug.cgi?id=121822
842
843         Reviewed by Darin Adler.
844
845         * rendering/RenderElement.cpp:
846         (WebCore::RenderElement::~RenderElement):
847         
848             RenderTexts are no longer registered as image clients. They don't need be unregistered either.
849
850         (WebCore::RenderElement::adjustStyleDifference):
851         (WebCore::RenderElement::hasImmediateNonWhitespaceTextChild):
852         (WebCore::RenderElement::shouldRepaintForStyleDifference):
853         (WebCore::RenderElement::updateFillImages):
854         (WebCore::RenderElement::updateImage):
855         (WebCore::RenderElement::updateShapeImage):
856         (WebCore::RenderElement::setStyle):
857         
858             Move from RenderObject and remove the text specific bits.
859
860         * rendering/RenderElement.h:
861         * rendering/RenderObject.cpp:
862         (WebCore::RenderObject::setStyle):
863         (WebCore::RenderObject::arenaDelete):
864         * rendering/RenderObject.h:
865         
866             Remove styleWill/DidChange which move to subclasses.
867
868         * rendering/RenderText.cpp:
869         (WebCore::RenderText::setStyle):
870         
871             Add simple text specific setStyle.
872
873         * rendering/RenderText.h:
874
875 2013-09-24  Andrei Parvu  <parvu@adobe.com>
876
877         [CSS Background] repeat: round should round the number of tiles to the nearest natural number
878         https://bugs.webkit.org/show_bug.cgi?id=120668
879
880         Reviewed by Darin Adler.
881
882         Tests already available in css3/masking and css3/background
883
884         * rendering/RenderBoxModelObject.cpp: Rounded the number of tiles to the nearest natural number.
885         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
886
887 2013-09-24  Ryuan Choi  <ryuan.choi@samsung.com>
888
889         Remove ScrollView::platformInit() and ScrollView::platformDestroy()
890         https://bugs.webkit.org/show_bug.cgi?id=121824
891
892         Reviewed by Darin Adler.
893
894         ScrollView::platformInit() and ScrollView::platformDestroy() are just
895         empty functions for all ports after removed WX port at r149186.
896
897         * PlatformEfl.cmake: Removed ScrollViewEfl.cpp from source list.
898         * platform/ScrollView.cpp: Removed platformInit and PlatformDestroy.
899         (WebCore::ScrollView::ScrollView):
900         (WebCore::ScrollView::~ScrollView):
901         * platform/ScrollView.h: Ditto.
902         * platform/efl/ScrollViewEfl.cpp: Removed.
903
904 2013-09-23  Darin Adler  <darin@apple.com>
905
906         Use unique_ptr instead of deleteAllValues in FloatingObject code
907         https://bugs.webkit.org/show_bug.cgi?id=121823
908
909         Reviewed by Sam Weinig.
910
911         * rendering/FloatingObjects.cpp:
912         (WebCore::FloatingObject::create): Return a unique_ptr instead of PassOwnPtr.
913         Use auto and a word for the local variable instead of an abbreviation. Also
914         changed to take a reference instead of a pointer.
915         (WebCore::FloatingObject::copyToNewContainer): Ditto.
916         (WebCore::FloatingObject::unsafeClone): Ditto.
917         (WebCore::FloatingObjects::~FloatingObjects): Removed call to deleteAllValues.
918         (WebCore::FloatingObjects::clearLineBoxTreePointers): Use auto to make this
919         read clearly.
920         (WebCore::FloatingObjects::clear): Removed call to deleteAllValues.
921         (WebCore::FloatingObjects::moveAllToFloatInfoMap): Use std::move to move values
922         out of the set, into the map. Removed code to clear the set, since it was a
923         trick to prevent the values from being deleted when they were not moved.
924         (WebCore::FloatingObjects::add): Changed to take a unique_ptr and to move the
925         pointer into the set instead of using leakPtr.
926         (WebCore::FloatingObjects::remove): Rearranged code so that the remove is at
927         the end of the function rather than the beginning. Also had to use a hash
928         translator and a find/remove combo since we don't have hash translator version
929         of the remove function.
930         (WebCore::FloatingObjects::computePlacedFloatsTree): Updated for changes to
931         the types.
932         (WebCore::FloatingObjects::placedFloatsTree): Moved this function here instead
933         of having it in the header, since it's only used within the file.
934
935         * rendering/FloatingObjects.h: Changed functions to take references instead
936         of pointers and return unique_ptr instead of PassOwnPtr. Also made
937         constructors public so we can use them with make_unique. Changed types to
938         use unique_ptr instead of raw pointers, and made the FloatingObjectHashTranslator
939         work for both RenderBox& and FloatingObject&.
940
941         * rendering/LineWidth.cpp:
942         (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
943         Updated for changes to types.
944
945         * rendering/RenderBlock.cpp:
946         (WebCore::RenderBlock::styleDidChange):
947         (WebCore::RenderBlock::moveAllChildrenIncludingFloatsTo):
948         (WebCore::RenderBlock::addOverflowFromFloats):
949         (WebCore::RenderBlock::repaintOverhangingFloats):
950         (WebCore::RenderBlock::paintFloats):
951         (WebCore::RenderBlock::selectionGaps):
952         (WebCore::RenderBlock::insertFloatingObject):
953         (WebCore::RenderBlock::removeFloatingObject):
954         (WebCore::RenderBlock::removeFloatingObjectsBelow):
955         (WebCore::RenderBlock::positionNewFloats):
956         (WebCore::RenderBlock::nextFloatLogicalBottomBelow):
957         (WebCore::RenderBlock::lowestFloatLogicalBottom):
958         (WebCore::RenderBlock::addOverhangingFloats):
959         (WebCore::RenderBlock::hasOverhangingFloat):
960         (WebCore::RenderBlock::addIntrudingFloats):
961         (WebCore::RenderBlock::containsFloat):
962         (WebCore::RenderBlock::markSiblingsWithFloatsForLayout):
963         (WebCore::RenderBlock::updateLocalFloatingObjectsForPaintingContainer):
964         (WebCore::RenderBlock::hitTestFloats):
965         (WebCore::RenderBlock::adjustForBorderFit):
966         Updated for changes to types.
967
968         * rendering/RenderBlockFlow.cpp:
969         (WebCore::RenderBlockFlow::clearFloats): Updated to use take instead of
970         a combination of remove and delete.
971
972         * rendering/RenderBlockLineLayout.cpp:
973         (WebCore::RenderBlock::layoutRunsAndFloats):
974         (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
975         (WebCore::RenderBlock::linkToEndLineIfNeeded):
976         (WebCore::RenderBlock::checkPaginationAndFloatsAtEndLine):
977         (WebCore::RenderBlock::positionNewFloatOnLine):
978         Updated for changes to types.
979
980 2013-09-23  Gurpreet Kaur  <k.gurpreet@samsung.com>
981
982         CSS Unit vh, vw, vmin and vmax in box-shadow are not applied.
983         https://bugs.webkit.org/show_bug.cgi?id=121422
984
985         Reviewed by Darin Adler.
986
987         Box-shadow properties were not applied incase its values
988         were given in vh, vw, vmax, vmin unit.
989
990         Tests: fast/css/box-shadow-negative-viewportlength.html
991                fast/css/box-shadow-viewport-height.html
992                fast/css/box-shadow-viewport-vmax.html
993                fast/css/box-shadow-viewport-vmin.html
994                fast/css/box-shadow-viewport-width.html
995
996         * css/CSSParser.cpp:
997         (WebCore::CSSParser::parseShadow):
998         * css/StyleResolver.cpp:
999         (WebCore::StyleResolver::applyProperty):
1000         (WebCore::StyleResolver::MatchedProperties::~MatchedProperties):
1001         (WebCore::StyleResolver::viewportPercentageHeight):
1002         (WebCore::StyleResolver::viewportPercentageWidth):
1003         (WebCore::StyleResolver::viewportPercentageMax):
1004         (WebCore::StyleResolver::viewportPercentageMin):
1005         * css/StyleResolver.h:
1006         Parsing and calculating the shadow values which has been specified
1007         in viewport units.The vh/vw units are calcultated as percent of
1008         viewport height and viewport width respectively. 1vmax: 1vw or 1vh,
1009         whatever is largest.1vmin: 1vw or 1vh, whatever is smallest.
1010
1011 2013-09-23  Ryuan Choi  <ryuan.choi@samsung.com>
1012
1013         Unreviewed build fix for CMake ports with INDEXED_DATABASE after r156296
1014
1015         * CMakeLists.txt: Removed IDBBackingStore.cpp from source list.
1016
1017 2013-09-23  Anders Carlsson  <andersca@apple.com>
1018
1019         Remove WTF_USE_SCROLLBAR_PAINTER #define
1020         https://bugs.webkit.org/show_bug.cgi?id=121819
1021
1022         Reviewed by Sam Weinig.
1023
1024         Remove unnecessary if checks and dead code.
1025
1026         * platform/mac/NSScrollerImpDetails.h:
1027         * platform/mac/ScrollAnimatorMac.mm:
1028         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
1029         (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
1030         (WebCore::ScrollAnimatorMac::contentAreaWillPaint):
1031         (WebCore::ScrollAnimatorMac::mouseEnteredContentArea):
1032         (WebCore::ScrollAnimatorMac::mouseExitedContentArea):
1033         (WebCore::ScrollAnimatorMac::mouseMovedInContentArea):
1034         (WebCore::ScrollAnimatorMac::mouseEnteredScrollbar):
1035         (WebCore::ScrollAnimatorMac::mouseExitedScrollbar):
1036         (WebCore::ScrollAnimatorMac::willStartLiveResize):
1037         (WebCore::ScrollAnimatorMac::contentsResized):
1038         (WebCore::ScrollAnimatorMac::willEndLiveResize):
1039         (WebCore::ScrollAnimatorMac::contentAreaDidShow):
1040         (WebCore::ScrollAnimatorMac::contentAreaDidHide):
1041         (WebCore::ScrollAnimatorMac::didBeginScrollGesture):
1042         (WebCore::ScrollAnimatorMac::didEndScrollGesture):
1043         (WebCore::ScrollAnimatorMac::mayBeginScrollGesture):
1044         (WebCore::ScrollAnimatorMac::finishCurrentScrollAnimations):
1045         (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
1046         (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
1047         (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
1048         (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
1049         (WebCore::ScrollAnimatorMac::shouldScrollbarParticipateInHitTesting):
1050         (WebCore::ScrollAnimatorMac::notifyContentAreaScrolled):
1051         (WebCore::ScrollAnimatorMac::cancelAnimations):
1052         (WebCore::ScrollAnimatorMac::setIsActive):
1053         (WebCore::ScrollAnimatorMac::updateScrollerStyle):
1054         (WebCore::ScrollAnimatorMac::initialScrollbarPaintTimerFired):
1055         * platform/mac/ScrollViewMac.mm:
1056         (WebCore::toNSScrollerKnobStyle):
1057         (WebCore::ScrollView::platformSetScrollbarOverlayStyle):
1058         * platform/mac/ScrollbarThemeMac.mm:
1059         (WebCore::updateArrowPlacement):
1060         (WebCore::ScrollbarThemeMac::registerScrollbar):
1061         (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
1062         (WebCore::ScrollbarThemeMac::scrollbarThickness):
1063         (WebCore::ScrollbarThemeMac::usesOverlayScrollbarsChanged):
1064         (WebCore::ScrollbarThemeMac::hasThumb):
1065         (WebCore::ScrollbarThemeMac::minimumThumbLength):
1066         (WebCore::ScrollbarThemeMac::updateEnabledState):
1067         (WebCore::ScrollbarThemeMac::paint):
1068
1069 2013-09-23  Brent Fulgham  <bfulgham@apple.com>
1070
1071         [Windows] Moving back in history from a page with <video>, then moving forward causes crash.
1072         https://bugs.webkit.org/show_bug.cgi?id=120475
1073
1074         Reviewed by Anders Carlsson.
1075
1076         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
1077         (WebCore::AVFWrapper::AVFWrapper): Add assertion that creation is on main thread.
1078         (WebCore::AVFWrapper::~AVFWrapper): Add assertion that destruction is on main thread.
1079         (WebCore::destroyAVFWrapper): Helper function to dispatch on main queue.
1080         (WebCore::AVFWrapper::disconnectAndDeleteAVFWrapper): Spawn AVFoundationCF destruction to
1081         main queue.
1082
1083 2013-09-23  Andreas Kling  <akling@apple.com>
1084
1085         RenderTextControlSingleLine::updateFromElement() override not needed.
1086         <https://webkit.org/b/121815>
1087
1088         Reviewed by Anders Carlsson.
1089
1090         * rendering/RenderTextControlSingleLine.cpp:
1091         * rendering/RenderTextControlSingleLine.h:
1092
1093 2013-09-23  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1094
1095         Introduce CSS_VALUE_TYPE_CASTS macro in order to cast CSSValue type
1096         https://bugs.webkit.org/show_bug.cgi?id=121462
1097
1098         Reviewed by Darin Adler.
1099
1100         As r155429 introduced ELEMENT_TYPE_CASTS, CSS_VALUE_TYPE_CASTS can be used
1101         by css value type casting as well. This type cast macros will help to detect
1102         bad-cast bugs as well as improve a code readibility.
1103
1104         This patch adds the following methods,
1105
1106         - CSSFooValue* toCSSFooValue(CSSValue*)
1107         - const CSSFooValue* toCSSFooValue(const CSSValue*)
1108
1109         This patch support CSSImageSetValue and CSSReflectValue first. Other CSS*Values
1110         will use this macro step by step.
1111
1112         Besides this patch will remove unnecessary local variables.
1113
1114         No new tests, no behavior change.
1115
1116         * css/CSSCursorImageValue.cpp:
1117         (WebCore::CSSCursorImageValue::cachedImage):
1118         (WebCore::CSSCursorImageValue::cachedOrPendingImage):
1119         * css/CSSImageSetValue.h:
1120         * css/CSSReflectValue.h:
1121         * css/CSSValue.cpp:
1122         (WebCore::CSSValue::destroy):
1123         * css/CSSValue.h:
1124         * css/StyleResolver.cpp:
1125         (WebCore::hasVariableReference):
1126         (WebCore::StyleResolver::applyProperty):
1127         (WebCore::StyleResolver::styleImage):
1128         * rendering/style/StylePendingImage.h:
1129         (WebCore::StylePendingImage::cssImageSetValue):
1130
1131 2013-09-23  Antti Koivisto  <antti@apple.com>
1132
1133         Move style change analysis code to RenderElement
1134         https://bugs.webkit.org/show_bug.cgi?id=121812
1135
1136         Reviewed by Andreas Kling.
1137
1138         Text renderers don't need this. There is no text renderer specific invalidation and text
1139         style never changes independent from the containing RenderElement.
1140
1141 2013-09-23  Commit Queue  <commit-queue@webkit.org>
1142
1143         Unreviewed, rolling out r156307.
1144         http://trac.webkit.org/changeset/156307
1145         https://bugs.webkit.org/show_bug.cgi?id=121817
1146
1147         Broke the build, and crashes the compiler (Requested by ap on
1148         #webkit).
1149
1150         * css/MediaQuery.cpp:
1151         (WebCore::expressionCompare):
1152         (WebCore::MediaQuery::MediaQuery):
1153         * dom/MutationObserver.cpp:
1154         (WebCore::MutationObserver::ObserverLessThan::operator()):
1155         (WebCore::MutationObserver::deliverAllMutations):
1156         * page/CaptionUserPreferences.cpp:
1157         (WebCore::textTrackCompare):
1158         (WebCore::CaptionUserPreferences::sortedTrackListForMenu):
1159
1160 2013-09-23  Andreas Kling  <akling@apple.com>
1161
1162         Move rendererForRootBackground() to RenderElement.
1163         <http://webkit.org/b/121813>
1164
1165         Reviewed by Antti Koivisto.
1166
1167         Move this to RenderElement (and make it return one, too) since the
1168         document element renderer will always be a RenderElement.
1169
1170 2013-09-23  Brady Eidson  <beidson@apple.com>
1171
1172         Make the Mac build work with IndexedDB enabled.
1173         https://bugs.webkit.org/show_bug.cgi?id=121814
1174
1175         Reviewed by Alexey Proskuryakov.
1176
1177         This patch makes the Mac build work if one were to enable the IndexedDB feature flag.
1178         This patch does not actually enable the flag for everyone.
1179
1180         * DerivedSources.make:
1181         * WebCore.xcodeproj/project.pbxproj:
1182
1183         * Modules/indexeddb/IDBBackingStore.cpp: Added.
1184         (WebCore::IDBBackingStore::open):
1185         (WebCore::IDBBackingStore::openInMemory):
1186         (WebCore::IDBBackingStore::getObjectStores):
1187         (WebCore::IDBBackingStore::Cursor::advance):
1188         (WebCore::IDBBackingStore::Cursor::continueFunction):
1189         (WebCore::IDBBackingStore::Transaction::Transaction):
1190         (WebCore::IDBBackingStore::Transaction::begin):
1191         (WebCore::IDBBackingStore::Transaction::commit):
1192         (WebCore::IDBBackingStore::Transaction::rollback):
1193         * Modules/indexeddb/IDBBackingStore.h:
1194         (WebCore::LevelDBFactory::~LevelDBFactory):
1195         (WebCore::IDBBackingStore::Transaction::reset):
1196         (WebCore::IDBBackingStore::Transaction::levelDBTransactionFrom):
1197
1198         * Modules/indexeddb/IDBKeyPath.cpp:
1199         (WebCore::IDBIsValidKeyPath):
1200
1201         * bindings/js/IDBBindingUtilities.cpp:
1202         (WebCore::createIDBKeyFromValue):
1203
1204         * bindings/js/JSIDBAnyCustom.cpp:
1205         (WebCore::toJS):
1206
1207 2013-09-23  Andreas Kling  <akling@apple.com>
1208
1209         CTTE: RenderObject::container() should return a RenderElement*.
1210         <https://webkit.org/b/121811>
1211
1212         Reviewed by Antti Koivisto.
1213
1214         The containing renderer is always a RenderElement.
1215
1216 2013-09-23  Anders Carlsson  <andersca@apple.com>
1217
1218         Test the waters and begin using lambdas
1219         https://bugs.webkit.org/show_bug.cgi?id=121809
1220
1221         Reviewed by Andreas Kling.
1222
1223         Use lambdas instead of static functions and function objects.
1224         
1225         * css/MediaQuery.cpp:
1226         (WebCore::MediaQuery::MediaQuery):
1227         * dom/MutationObserver.cpp:
1228         (WebCore::MutationObserver::deliverAllMutations):
1229         * page/CaptionUserPreferences.cpp:
1230         (WebCore::CaptionUserPreferences::sortedTrackListForMenu):
1231
1232 2013-09-23  Patrick Gansterer  <paroga@webkit.org>
1233
1234         [WIN] Add implementation for WebCore::readFromFile()
1235         https://bugs.webkit.org/show_bug.cgi?id=119210
1236
1237         Reviewed by Brent Fulgham.
1238
1239         * platform/win/FileSystemWin.cpp:
1240         (WebCore::readFromFile):
1241
1242 2013-09-23  Patrick Gansterer  <paroga@webkit.org>
1243
1244         [WIN] Implement WebMutableURLRequest::setHTTPBody()
1245         https://bugs.webkit.org/show_bug.cgi?id=91920
1246
1247         Reviewed by Brent Fulgham.
1248
1249         Add a method to FormData for growing the internal buffer with a given size.
1250
1251         * platform/network/FormData.cpp:
1252         (WebCore::FormData::appendData):
1253         (WebCore::FormData::expandDataStore):
1254         * platform/network/FormData.h:
1255
1256 2013-09-23  Patrick Gansterer  <paroga@webkit.org>
1257
1258         use NOMINMAX instead of #define min min
1259         https://bugs.webkit.org/show_bug.cgi?id=73563
1260
1261         Reviewed by Brent Fulgham.
1262
1263         Use NOMINMAX instead of #define min/max as a cleaner
1264         way of ensuring that Windows system header files don't
1265         define min/max as macro in the first place.
1266
1267         * WebCorePrefix.h:
1268         * config.h:
1269
1270 2013-09-23  Simon Fraser  <simon.fraser@apple.com>
1271
1272         REGRESSION (r155998): when zooming in, tiles are too small
1273         https://bugs.webkit.org/show_bug.cgi?id=121765
1274
1275         Reviewed by Dean Jackson.
1276
1277         In r155998 I made GraphicsLayerCA take root-relative transforms
1278         into account when computing contentsScale, and landed a bunch of
1279         new results which should actually have told me that I broke page
1280         scaling.
1281         
1282         We don't want to take page scale into account when computing contentsScale,
1283         because we already do so, so ignore the transform on the layer that
1284         applies page scale (the only transform it should ever has is the page scale).
1285
1286         * platform/graphics/ca/GraphicsLayerCA.cpp:
1287         (WebCore::GraphicsLayerCA::updateRootRelativeScale):
1288
1289 2013-09-23  Antonio Gomes  <a1.gomes@sisa.samsung.com>
1290
1291         iframe and scrollbar with "overflow:auto" should support autoscroll with mousedrag
1292         https://bugs.webkit.org/show_bug.cgi?id=40981
1293
1294         Reviewed by Darin Adler.
1295
1296         RenderBox::calculateAutoscrollDirection does not properly translate
1297         inner frames' coordinates in order to determine its auto-scrollability.
1298         By coincidence, if the inner frame box it placed near to page's 0, 0 position
1299         (upper left corner), it might work.
1300
1301         Patch fixes it by changing ::calculateAutoscrollDirection algorithm to operate
1302         with window coordinates, taking inner frames offset and scroll position into account.
1303         The behavior of auto-scrollable non-frame overflow boxes, including divs, still works
1304         as it is used to.
1305
1306         Test: fast/events/drag-and-drop-autoscroll-inner-frame.html
1307
1308         * rendering/RenderBox.cpp:
1309         (WebCore::RenderBox::calculateAutoscrollDirection):
1310
1311 2013-09-23  Brady Eidson  <beidson@apple.com>
1312
1313         Move LevelDB specific IDB files into their own subdirectory.
1314         https://bugs.webkit.org/show_bug.cgi?id=121804
1315
1316         Rubberstamped by Alexey Proskuryakov.
1317
1318         * CMakeLists.txt:
1319         * GNUmakefile.list.am:
1320         * WebCore.xcodeproj/project.pbxproj:
1321
1322         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp: Renamed from Source/WebCore/Modules/indexeddb/IDBBackingStore.cpp.
1323         (WebCore::recordInternalError):
1324         (WebCore::putBool):
1325         (WebCore::getInt):
1326         (WebCore::putInt):
1327         (WebCore::getVarInt):
1328         (WebCore::putVarInt):
1329         (WebCore::getString):
1330         (WebCore::putString):
1331         (WebCore::putIDBKeyPath):
1332         (WebCore::compareKeys):
1333         (WebCore::compareIndexKeys):
1334         (WebCore::Comparator::compare):
1335         (WebCore::Comparator::name):
1336         (WebCore::isSchemaKnown):
1337         (WebCore::setUpMetadata):
1338         (WebCore::getMaxObjectStoreId):
1339         (WebCore::DefaultLevelDBFactory::openLevelDB):
1340         (WebCore::DefaultLevelDBFactory::destroyLevelDB):
1341         (WebCore::IDBBackingStore::IDBBackingStore):
1342         (WebCore::IDBBackingStore::~IDBBackingStore):
1343         (WebCore::IDBBackingStore::open):
1344         (WebCore::IDBBackingStore::openInMemory):
1345         (WebCore::IDBBackingStore::create):
1346         (WebCore::IDBBackingStore::getDatabaseNames):
1347         (WebCore::IDBBackingStore::getIDBDatabaseMetaData):
1348         (WebCore::getNewDatabaseId):
1349         (WebCore::IDBBackingStore::createIDBDatabaseMetaData):
1350         (WebCore::IDBBackingStore::updateIDBDatabaseIntVersion):
1351         (WebCore::IDBBackingStore::updateIDBDatabaseMetaData):
1352         (WebCore::deleteRange):
1353         (WebCore::IDBBackingStore::deleteDatabase):
1354         (WebCore::checkObjectStoreAndMetaDataType):
1355         (WebCore::IDBBackingStore::getObjectStores):
1356         (WebCore::setMaxObjectStoreId):
1357         (WebCore::IDBBackingStore::createObjectStore):
1358         (WebCore::IDBBackingStore::deleteObjectStore):
1359         (WebCore::IDBBackingStore::getRecord):
1360         (WebCore::getNewVersionNumber):
1361         (WebCore::IDBBackingStore::putRecord):
1362         (WebCore::IDBBackingStore::clearObjectStore):
1363         (WebCore::IDBBackingStore::deleteRecord):
1364         (WebCore::IDBBackingStore::getKeyGeneratorCurrentNumber):
1365         (WebCore::IDBBackingStore::maybeUpdateKeyGeneratorCurrentNumber):
1366         (WebCore::IDBBackingStore::keyExistsInObjectStore):
1367         (WebCore::checkIndexAndMetaDataKey):
1368         (WebCore::IDBBackingStore::getIndexes):
1369         (WebCore::setMaxIndexId):
1370         (WebCore::IDBBackingStore::createIndex):
1371         (WebCore::IDBBackingStore::deleteIndex):
1372         (WebCore::IDBBackingStore::putIndexDataForRecord):
1373         (WebCore::findGreatestKeyLessThanOrEqual):
1374         (WebCore::versionExists):
1375         (WebCore::IDBBackingStore::findKeyInIndex):
1376         (WebCore::IDBBackingStore::getPrimaryKeyViaIndex):
1377         (WebCore::IDBBackingStore::keyExistsInIndex):
1378         (WebCore::IDBBackingStore::Cursor::Cursor):
1379         (WebCore::IDBBackingStore::Cursor::firstSeek):
1380         (WebCore::IDBBackingStore::Cursor::advance):
1381         (WebCore::IDBBackingStore::Cursor::continueFunction):
1382         (WebCore::IDBBackingStore::Cursor::haveEnteredRange):
1383         (WebCore::IDBBackingStore::Cursor::isPastBounds):
1384         (WebCore::ObjectStoreKeyCursorImpl::create):
1385         (WebCore::ObjectStoreKeyCursorImpl::clone):
1386         (WebCore::ObjectStoreKeyCursorImpl::value):
1387         (WebCore::ObjectStoreKeyCursorImpl::encodeKey):
1388         (WebCore::ObjectStoreKeyCursorImpl::ObjectStoreKeyCursorImpl):
1389         (WebCore::ObjectStoreKeyCursorImpl::loadCurrentRow):
1390         (WebCore::ObjectStoreCursorImpl::create):
1391         (WebCore::ObjectStoreCursorImpl::clone):
1392         (WebCore::ObjectStoreCursorImpl::value):
1393         (WebCore::ObjectStoreCursorImpl::encodeKey):
1394         (WebCore::ObjectStoreCursorImpl::ObjectStoreCursorImpl):
1395         (WebCore::ObjectStoreCursorImpl::loadCurrentRow):
1396         (WebCore::IndexKeyCursorImpl::create):
1397         (WebCore::IndexKeyCursorImpl::clone):
1398         (WebCore::IndexKeyCursorImpl::value):
1399         (WebCore::IndexKeyCursorImpl::primaryKey):
1400         (WebCore::IndexKeyCursorImpl::recordIdentifier):
1401         (WebCore::IndexKeyCursorImpl::encodeKey):
1402         (WebCore::IndexKeyCursorImpl::IndexKeyCursorImpl):
1403         (WebCore::IndexKeyCursorImpl::loadCurrentRow):
1404         (WebCore::IndexCursorImpl::create):
1405         (WebCore::IndexCursorImpl::clone):
1406         (WebCore::IndexCursorImpl::value):
1407         (WebCore::IndexCursorImpl::primaryKey):
1408         (WebCore::IndexCursorImpl::recordIdentifier):
1409         (WebCore::IndexCursorImpl::encodeKey):
1410         (WebCore::IndexCursorImpl::IndexCursorImpl):
1411         (WebCore::IndexCursorImpl::loadCurrentRow):
1412         (WebCore::objectStoreCursorOptions):
1413         (WebCore::indexCursorOptions):
1414         (WebCore::IDBBackingStore::openObjectStoreCursor):
1415         (WebCore::IDBBackingStore::openObjectStoreKeyCursor):
1416         (WebCore::IDBBackingStore::openIndexKeyCursor):
1417         (WebCore::IDBBackingStore::openIndexCursor):
1418         (WebCore::IDBBackingStore::Transaction::Transaction):
1419         (WebCore::IDBBackingStore::Transaction::begin):
1420         (WebCore::IDBBackingStore::Transaction::commit):
1421         (WebCore::IDBBackingStore::Transaction::rollback):
1422         * Modules/indexeddb/leveldb/IDBLevelDBCoding.cpp: Renamed from Source/WebCore/Modules/indexeddb/IDBLevelDBCoding.cpp.
1423         (WebCore::IDBLevelDBCoding::encodeByte):
1424         (WebCore::IDBLevelDBCoding::decodeByte):
1425         (WebCore::IDBLevelDBCoding::maxIDBKey):
1426         (WebCore::IDBLevelDBCoding::minIDBKey):
1427         (WebCore::IDBLevelDBCoding::encodeBool):
1428         (WebCore::IDBLevelDBCoding::decodeBool):
1429         (WebCore::IDBLevelDBCoding::encodeInt):
1430         (WebCore::IDBLevelDBCoding::decodeInt):
1431         (WebCore::IDBLevelDBCoding::compareInts):
1432         (WebCore::IDBLevelDBCoding::encodeVarInt):
1433         (WebCore::IDBLevelDBCoding::decodeVarInt):
1434         (WebCore::IDBLevelDBCoding::encodeString):
1435         (WebCore::IDBLevelDBCoding::decodeString):
1436         (WebCore::IDBLevelDBCoding::encodeStringWithLength):
1437         (WebCore::IDBLevelDBCoding::decodeStringWithLength):
1438         (WebCore::IDBLevelDBCoding::compareEncodedStringsWithLength):
1439         (WebCore::IDBLevelDBCoding::encodeDouble):
1440         (WebCore::IDBLevelDBCoding::decodeDouble):
1441         (WebCore::IDBLevelDBCoding::encodeIDBKey):
1442         (WebCore::IDBLevelDBCoding::decodeIDBKey):
1443         (WebCore::IDBLevelDBCoding::extractEncodedIDBKey):
1444         (WebCore::IDBLevelDBCoding::keyTypeByteToKeyType):
1445         (WebCore::IDBLevelDBCoding::compareEncodedIDBKeys):
1446         (WebCore::IDBLevelDBCoding::encodeIDBKeyPath):
1447         (WebCore::IDBLevelDBCoding::decodeIDBKeyPath):
1448         (WebCore::IDBLevelDBCoding::compare):
1449         (WebCore::IDBLevelDBCoding::KeyPrefix::KeyPrefix):
1450         (WebCore::IDBLevelDBCoding::KeyPrefix::createWithSpecialIndex):
1451         (WebCore::IDBLevelDBCoding::KeyPrefix::isValidDatabaseId):
1452         (WebCore::IDBLevelDBCoding::KeyPrefix::isValidObjectStoreId):
1453         (WebCore::IDBLevelDBCoding::KeyPrefix::isValidIndexId):
1454         (WebCore::IDBLevelDBCoding::KeyPrefix::decode):
1455         (WebCore::IDBLevelDBCoding::KeyPrefix::encodeEmpty):
1456         (WebCore::IDBLevelDBCoding::KeyPrefix::encode):
1457         (WebCore::IDBLevelDBCoding::KeyPrefix::encodeInternal):
1458         (WebCore::IDBLevelDBCoding::KeyPrefix::compare):
1459         (WebCore::IDBLevelDBCoding::KeyPrefix::type):
1460         (WebCore::IDBLevelDBCoding::SchemaVersionKey::encode):
1461         (WebCore::IDBLevelDBCoding::MaxDatabaseIdKey::encode):
1462         (WebCore::IDBLevelDBCoding::DataVersionKey::encode):
1463         (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::DatabaseFreeListKey):
1464         (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::decode):
1465         (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::encode):
1466         (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::encodeMaxKey):
1467         (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::databaseId):
1468         (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::compare):
1469         (WebCore::IDBLevelDBCoding::DatabaseNameKey::decode):
1470         (WebCore::IDBLevelDBCoding::DatabaseNameKey::encode):
1471         (WebCore::IDBLevelDBCoding::DatabaseNameKey::encodeMinKeyForOrigin):
1472         (WebCore::IDBLevelDBCoding::DatabaseNameKey::encodeStopKeyForOrigin):
1473         (WebCore::IDBLevelDBCoding::DatabaseNameKey::compare):
1474         (WebCore::IDBLevelDBCoding::DatabaseMetaDataKey::encode):
1475         (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::ObjectStoreMetaDataKey):
1476         (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::decode):
1477         (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::encode):
1478         (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::encodeMaxKey):
1479         (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::objectStoreId):
1480         (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::metaDataType):
1481         (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::compare):
1482         (WebCore::IDBLevelDBCoding::IndexMetaDataKey::IndexMetaDataKey):
1483         (WebCore::IDBLevelDBCoding::IndexMetaDataKey::decode):
1484         (WebCore::IDBLevelDBCoding::IndexMetaDataKey::encode):
1485         (WebCore::IDBLevelDBCoding::IndexMetaDataKey::encodeMaxKey):
1486         (WebCore::IDBLevelDBCoding::IndexMetaDataKey::compare):
1487         (WebCore::IDBLevelDBCoding::IndexMetaDataKey::indexId):
1488         (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::ObjectStoreFreeListKey):
1489         (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::decode):
1490         (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::encode):
1491         (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::encodeMaxKey):
1492         (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::objectStoreId):
1493         (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::compare):
1494         (WebCore::IDBLevelDBCoding::IndexFreeListKey::IndexFreeListKey):
1495         (WebCore::IDBLevelDBCoding::IndexFreeListKey::decode):
1496         (WebCore::IDBLevelDBCoding::IndexFreeListKey::encode):
1497         (WebCore::IDBLevelDBCoding::IndexFreeListKey::encodeMaxKey):
1498         (WebCore::IDBLevelDBCoding::IndexFreeListKey::compare):
1499         (WebCore::IDBLevelDBCoding::IndexFreeListKey::objectStoreId):
1500         (WebCore::IDBLevelDBCoding::IndexFreeListKey::indexId):
1501         (WebCore::IDBLevelDBCoding::ObjectStoreNamesKey::decode):
1502         (WebCore::IDBLevelDBCoding::ObjectStoreNamesKey::encode):
1503         (WebCore::IDBLevelDBCoding::ObjectStoreNamesKey::compare):
1504         (WebCore::IDBLevelDBCoding::IndexNamesKey::IndexNamesKey):
1505         (WebCore::IDBLevelDBCoding::IndexNamesKey::decode):
1506         (WebCore::IDBLevelDBCoding::IndexNamesKey::encode):
1507         (WebCore::IDBLevelDBCoding::IndexNamesKey::compare):
1508         (WebCore::IDBLevelDBCoding::ObjectStoreDataKey::decode):
1509         (WebCore::IDBLevelDBCoding::ObjectStoreDataKey::encode):
1510         (WebCore::IDBLevelDBCoding::ObjectStoreDataKey::compare):
1511         (WebCore::IDBLevelDBCoding::ObjectStoreDataKey::userKey):
1512         (WebCore::IDBLevelDBCoding::ExistsEntryKey::decode):
1513         (WebCore::IDBLevelDBCoding::ExistsEntryKey::encode):
1514         (WebCore::IDBLevelDBCoding::ExistsEntryKey::compare):
1515         (WebCore::IDBLevelDBCoding::ExistsEntryKey::userKey):
1516         (WebCore::IDBLevelDBCoding::IndexDataKey::IndexDataKey):
1517         (WebCore::IDBLevelDBCoding::IndexDataKey::decode):
1518         (WebCore::IDBLevelDBCoding::IndexDataKey::encode):
1519         (WebCore::IDBLevelDBCoding::IndexDataKey::encodeMinKey):
1520         (WebCore::IDBLevelDBCoding::IndexDataKey::encodeMaxKey):
1521         (WebCore::IDBLevelDBCoding::IndexDataKey::compare):
1522         (WebCore::IDBLevelDBCoding::IndexDataKey::databaseId):
1523         (WebCore::IDBLevelDBCoding::IndexDataKey::objectStoreId):
1524         (WebCore::IDBLevelDBCoding::IndexDataKey::indexId):
1525         (WebCore::IDBLevelDBCoding::IndexDataKey::userKey):
1526         (WebCore::IDBLevelDBCoding::IndexDataKey::primaryKey):
1527         * Modules/indexeddb/leveldb/IDBLevelDBCoding.h: Renamed from Source/WebCore/Modules/indexeddb/IDBLevelDBCoding.h.
1528         (WebCore::IDBLevelDBCoding::encodeIntSafely):
1529         (WebCore::IDBLevelDBCoding::KeyPrefix::validIds):
1530         (WebCore::IDBLevelDBCoding::DatabaseNameKey::origin):
1531         (WebCore::IDBLevelDBCoding::DatabaseNameKey::databaseName):
1532         (WebCore::IDBLevelDBCoding::IndexMetaDataKey::metaDataType):
1533         (WebCore::IDBLevelDBCoding::ObjectStoreNamesKey::objectStoreName):
1534         (WebCore::IDBLevelDBCoding::IndexNamesKey::indexName):
1535
1536 2013-09-23  Antti Koivisto  <antti@apple.com>
1537
1538         Try to fix GTK build.
1539         
1540         Not reviewed.
1541
1542         * accessibility/atk/AccessibilityObjectAtk.cpp:
1543         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
1544         * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
1545         (textForRenderer):
1546
1547 2013-09-23  Alexandru Chiculita  <achicu@adobe.com>
1548
1549         Web Inspector: [CSS Regions] Display CSS Regions flow name in the inspector overlay
1550         https://bugs.webkit.org/show_bug.cgi?id=121794
1551
1552         Reviewed by Joseph Pecoraro.
1553
1554         No new tests, the previous test for CSS Regions highlighting covers the flow name.
1555
1556         This patch adds the "Flow" property in the inspector overlay. The region
1557         chain is already displayed with numbers, so it makes sense to have the flow 
1558         name around when a CSS region is highlighted.
1559
1560         I've consolidated the flow information into "elementInfo.flowInfo". 
1561         Flow info has two properties: "name" and "regions".
1562
1563         * inspector/InspectorOverlay.cpp:
1564         (WebCore::buildObjectForCSSRegionsHighlight):
1565         (WebCore::InspectorOverlay::buildObjectForHighlightedNode):
1566         * inspector/InspectorOverlayPage.css:
1567         (.css-property): Added the CSS property font color that the Inspector uses.
1568         * inspector/InspectorOverlayPage.html: Added a new element to be used to display the flow-from property.
1569         * inspector/InspectorOverlayPage.js:
1570         (_drawElementTitle):
1571         (drawNodeHighlight):
1572
1573 2013-09-23  Simon Fraser  <simon.fraser@apple.com>
1574
1575         Rapidly loading pages can result in !needsLayout() assertions in FrameView::paintContents() and RenderView::paint()
1576         https://bugs.webkit.org/show_bug.cgi?id=121725
1577         <rdar://problem/13982161> ASSERT(!needsLayout()) in WebCore::RenderView::paint (121196)
1578
1579         Reviewed by Dean Jackson.
1580         
1581         Layout has to be up-to-date before we paint, and when composited we rely on a
1582         CFRunLoopObserver owned by LayerFlushScheduler to enforce this. The contract is
1583         that changes to GraphicsLayers accumulate in those layers, and are all pushed to
1584         CALayers only inside of flushCompositingState(). CALayers must not be touched
1585         directly outside of flushCompositingState(), since this may trigger a CA commit
1586         and resultant painting without us having updated layout.
1587         
1588         In addition, we rely on the CA commits only happening after our runloop observer
1589         has fired in order for LayerFlushScheduler's suspend/resume to work (these are used
1590         for freezing the layer tree during page transitions).
1591         
1592         However, TileController was violating this contract. It called revalidateTiles()
1593         at random times, and on a timer. This would result in CA commits happening when
1594         layer flushing was suspended at the LayerFlushScheduler level, and thus before
1595         we'd had a chance to do layout.
1596         
1597         Fix by only ever revalidatingTiles inside of flushCompositingState(). Calls
1598         that used to result in revalidateTiles() at other times now just set a bit
1599         on GraphicsLayerCA to indicate that revalidation is required, and this triggers
1600         a later flush like any other GraphicsLayerCA change.
1601         
1602         There is one exception to the revalidate-inside-flush rule: when purging
1603         files for background tabs on a timer, we are only dealing with an unparented
1604         layer tree, so CALayer manipulation is safe at any time.
1605
1606         Very timing dependent, so hard to test.
1607
1608         * platform/graphics/TiledBacking.h: Expose revalidateTiles()
1609         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp: Remove
1610         platformCALayerDidCreateTiles() override.
1611         * platform/graphics/ca/GraphicsLayerCA.h: Keep track of m_isCommittingChanges
1612         so we can assert. Add TilingAreaChanged flag.
1613         * platform/graphics/ca/GraphicsLayerCA.cpp:
1614         (WebCore::GraphicsLayerCA::GraphicsLayerCA):
1615         (WebCore::GraphicsLayerCA::recursiveCommitChanges): noteSublayersChanged() is
1616         used inside of a commit in some cases to trigger a parent layer to update
1617         children after the children have been processed. To avoid trying to pointlessly
1618         schedule the flusher inside a flush, and for strong assertions, use a new flag
1619         that indicates that flushing is not required in this situation.
1620         Set the m_isCommittingChanges flag around committing state.
1621         (WebCore::GraphicsLayerCA::platformCALayerSetNeedsToRevalidateTiles): We used
1622         to use platformCALayerDidCreateTiles() to ensure that we would flush after adding
1623         new tiles to avoid garbage flashes. Now that we only ever create tiles inside
1624         a flush, this is no longer necessary.
1625         The new platformCALayerSetNeedsToRevalidateTiles() function just sets the
1626         TilingAreaChanged flag and triggers a flush.
1627         (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): After updating
1628         visible rect, we look for the TilingAreaChanged flag to tell us whether to
1629         revalidate TiledBacking tiles.
1630         (WebCore::GraphicsLayerCA::ensureStructuralLayer): Use DontScheduleFlush when 
1631         telling a parent layer that it needs to reconsider sublayers.
1632         (WebCore::GraphicsLayerCA::updateTiles): The caller of revalidateTiles().
1633         (WebCore::GraphicsLayerCA::updateContentsRects): DontScheduleFlush again.
1634         (WebCore::GraphicsLayerCA::noteSublayersChanged): Pass scheduleFlush along.
1635         (WebCore::GraphicsLayerCA::noteLayerPropertyChanged): Handle scheduleFlush.
1636         * platform/graphics/ca/PlatformCALayerClient.h:
1637         (WebCore::PlatformCALayerClient::platformCALayerSetNeedsToRevalidateTiles): Added
1638         so that TileController can call back out to GraphicsLayerCA.
1639         (WebCore::PlatformCALayerClient::isCommittingChanges):
1640         * platform/graphics/ca/mac/TileController.h: Need to keep track of secondary
1641         coverage rects in m_secondaryTileCoverageRects.
1642         * platform/graphics/ca/mac/TileController.mm:
1643         (WebCore::TileController::tileCacheLayerBoundsChanged): Just trigger a tile revalidate,
1644         which will happen later in this same commit.
1645         (WebCore::TileController::setScale): This is called inside the commit. Does an extra
1646         revalidate, which is needed to prune tiles. This could be optimized in future.
1647         (WebCore::TileController::setVisibleRect): Assert that we're inside a commit,
1648         and trigger a revalidate.
1649         (WebCore::TileController::setExposedRect): Trigger a revalidate.
1650         (WebCore::TileController::setClipsToExposedRect): Ditto.
1651         (WebCore::TileController::prepopulateRect): Save the rect and trigger a revalidate.
1652         (WebCore::TileController::setIsInWindow): If we're in the window, trigger a revalidate
1653         otherwise schedule the timer.
1654         (WebCore::TileController::revalidateTiles): Wrapper for the real revalidateTiles().
1655         (WebCore::TileController::tileRevalidationTimerFired): If we're in the window,
1656         schedule a revalidate. Otherwise our layer tree is disconnected, and it's OK to call revalidateTiles().
1657         (WebCore::TileController::setNeedsRevalidateTiles): Call through the client to GraphicsLayerCA
1658         which will schedule a layer tree flush.
1659         (WebCore::TileController::revalidateTiles):
1660         (WebCore::TileController::ensureTilesForRect): Move code from prepopulateRect
1661         into here; ensureTilesForRect() for each secondary rect, then clear the rects.
1662         No need to call platformCALayerDidCreateTiles() at the end.
1663         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: Remove
1664         platformCALayerDidCreateTiles() override.
1665         * rendering/RenderLayerCompositor.cpp:
1666         (WebCore::RenderLayerCompositor::scheduleLayerFlush): This should only be
1667         called when we're not inside a flush, otherwise it will fail to schedule
1668         another one.
1669
1670 2013-09-23  Sam Weinig  <sam@webkit.org>
1671
1672         CTTE: htmlediting.h Element creation function should take a Document&
1673         https://bugs.webkit.org/show_bug.cgi?id=121800
1674
1675         Reviewed by Antti Koivisto.
1676
1677         Thread the Document&!
1678
1679 2013-09-23  Jacky Jiang  <zhajiang@blackberry.com>
1680
1681         [BlackBerry] Poor rendering opening a Google map short link
1682         https://bugs.webkit.org/show_bug.cgi?id=121687
1683
1684         Reviewed by Yong Li.
1685         Internally reviewed by Liam Quinn and Joe Mason.
1686
1687         Fix a regression. It turns out that LayerCompositingThread already has
1688         an API named isVisible() which by default returns false. So rename the
1689         one in the LayerData to isLayerVisible().
1690
1691         * platform/graphics/blackberry/LayerData.h:
1692         (WebCore::LayerData::isLayerVisible):
1693         * platform/graphics/blackberry/LayerRenderer.cpp:
1694         (WebCore::LayerRenderer::compositeLayersRecursive):
1695
1696 2013-09-23  Antti Koivisto  <antti@apple.com>
1697
1698         Rename RenderObject::first/lastChild to RenderObject::first/lastChildSlow
1699         https://bugs.webkit.org/show_bug.cgi?id=121784
1700
1701         Reviewed by Andreas Kling.
1702
1703         This will make it obvious in code where typing should be tightened.
1704         Handled some simple cases by tightening the code instead of renaming.
1705
1706 2013-09-23  ChangSeok Oh  <changseok.oh@collabora.com>
1707
1708         [Texmap] Reloading a webgl page doesn't work
1709         https://bugs.webkit.org/show_bug.cgi?id=120593
1710
1711         Reviewed by Noam Rosenthal.
1712
1713         Let GraphicsLayerTextureMapper know it needs to detach the platform layer when a GraphicsContext3D is destroyed.
1714
1715         Test: fast/canvas/webgl/webgl-reload-crash.html
1716
1717         * platform/graphics/GraphicsContext3DPrivate.cpp:
1718         (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
1719         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
1720         * platform/graphics/texmap/TextureMapperPlatformLayer.h:
1721
1722 2013-09-23  Antti Koivisto  <antti@apple.com>
1723
1724         Remove RenderObjectChildList
1725         https://bugs.webkit.org/show_bug.cgi?id=121771
1726
1727         Reviewed by Darin Adler.
1728
1729         Most RenderElement subclasses have m_children member (>90% of instances on typical page). It is not worth optimising
1730         for memory for the few cases that don't (RenderImage, RenderLineBreak mostly) in expense of performance.
1731         
1732         This patch moves child handling to RenderElement. This gets rid of virtual children() calls and simplifies the code.
1733
1734 2013-09-23  Andreas Kling  <akling@apple.com>
1735
1736         Document::destroyRenderTree() shouldn't do anything but.
1737         <https://webkit.org/b/121786>
1738
1739         Reviewed by Anders Carlsson.
1740
1741         Move everything in destroyRenderTree() that doesn't actually destroy
1742         render trees to prepareForDestruction() instead.
1743
1744         Destroying the render tree is now a reparable operation.
1745
1746 2013-09-23  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1747
1748         [Qt] Tiled backing-store causes wrong translation
1749         https://bugs.webkit.org/show_bug.cgi?id=121789
1750
1751         Reviewed by Noam Rosenthal.
1752
1753         Move the translation inside save/restore of the GraphicsContext.
1754
1755         * platform/graphics/qt/TileQt.cpp:
1756         (WebCore::TileQt::updateBackBuffer):
1757
1758 2013-09-23  Andreas Kling  <akling@apple.com>
1759
1760         Unify code paths leading to render tree teardown.
1761         <https://webkit.org/b/121785>
1762
1763         Reviewed by Antti Koivisto.
1764
1765         Make Document::prepareForDestruction() fit all the call sites that were
1766         doing destroyRenderTree() + disconnectFromFrame().
1767
1768         - disconnectDescendantFrames() is already a no-op if there are no frames.
1769         - willDetachDocumentFromFrame() will only run if there is a frame.
1770
1771         This is another step towards making tree rebuild possible.
1772
1773         Removed some age-old FIXMEs about why we aren't calling willRemove(),
1774         a long-gone function.
1775
1776 2013-09-23  Patrick Gansterer  <paroga@webkit.org>
1777
1778         Cleanup CMake files in WebCore
1779         https://bugs.webkit.org/show_bug.cgi?id=119262
1780
1781         Reviewed by Gyuyoung Kim.
1782
1783         Sort files and unify style.
1784
1785         * CMakeLists.txt:
1786         * PlatformBlackBerry.cmake:
1787         * PlatformEfl.cmake:
1788         * PlatformGTK.cmake:
1789         * PlatformWin.cmake:
1790         * PlatformWinCE.cmake:
1791
1792 2013-09-22  Commit Queue  <commit-queue@webkit.org>
1793
1794         Unreviewed, rolling out r156254.
1795         http://trac.webkit.org/changeset/156254
1796         https://bugs.webkit.org/show_bug.cgi?id=121779
1797
1798         Caused assertions in fast/regions tests (Requested by ap on
1799         #webkit).
1800
1801         * CMakeLists.txt:
1802         * GNUmakefile.list.am:
1803         * Target.pri:
1804         * WebCore.vcxproj/WebCore.vcxproj:
1805         * WebCore.xcodeproj/project.pbxproj:
1806         * rendering/AutoTableLayout.cpp:
1807         (WebCore::AutoTableLayout::recalcColumn):
1808         * rendering/RenderBlock.cpp:
1809         (WebCore::RenderBlock::willBeDestroyed):
1810         (WebCore::RenderBlock::addChildToAnonymousColumnBlocks):
1811         (WebCore::RenderBlock::splitBlocks):
1812         (WebCore::RenderBlock::splitFlow):
1813         (WebCore::RenderBlock::makeChildrenAnonymousColumnBlocks):
1814         (WebCore::RenderBlock::makeChildrenNonInline):
1815         (WebCore::RenderBlock::removeLeftoverAnonymousBlock):
1816         (WebCore::RenderBlock::collapseAnonymousBoxChild):
1817         (WebCore::RenderBlock::removeChild):
1818         (WebCore::RenderBlock::updateFirstLetterStyle):
1819         * rendering/RenderBlock.h:
1820         (WebCore::RenderBlock::firstChild):
1821         (WebCore::RenderBlock::lastChild):
1822         * rendering/RenderBox.cpp:
1823         (WebCore::RenderBox::splitAnonymousBoxesAroundChild):
1824         * rendering/RenderBoxModelObject.cpp:
1825         (WebCore::RenderBoxModelObject::moveChildTo):
1826         * rendering/RenderElement.cpp:
1827         (WebCore::RenderElement::RenderElement):
1828         (WebCore::RenderElement::addChild):
1829         (WebCore::RenderElement::removeChild):
1830         * rendering/RenderElement.h:
1831         * rendering/RenderEmbeddedObject.cpp:
1832         (WebCore::RenderEmbeddedObject::layout):
1833         * rendering/RenderEmbeddedObject.h:
1834         * rendering/RenderFrameSet.h:
1835         * rendering/RenderInline.cpp:
1836         (WebCore::RenderInline::willBeDestroyed):
1837         (WebCore::RenderInline::splitInlines):
1838         (WebCore::RenderInline::splitFlow):
1839         (WebCore::RenderInline::childBecameNonInline):
1840         * rendering/RenderInline.h:
1841         (WebCore::RenderInline::firstChild):
1842         (WebCore::RenderInline::lastChild):
1843         * rendering/RenderLayerModelObject.cpp:
1844         (WebCore::RenderLayerModelObject::willBeDestroyed):
1845         * rendering/RenderLineBreak.h:
1846         * rendering/RenderListMarker.h:
1847         * rendering/RenderMedia.cpp:
1848         (WebCore::RenderMedia::layout):
1849         * rendering/RenderMedia.h:
1850         (WebCore::RenderMedia::firstChild):
1851         (WebCore::RenderMedia::lastChild):
1852         * rendering/RenderObject.cpp:
1853         (WebCore::RenderObject::handleDynamicFloatPositionChange):
1854         (WebCore::RenderObject::willBeDestroyed):
1855         (WebCore::RenderObject::removeFromRenderFlowThreadRecursive):
1856         * rendering/RenderObject.h:
1857         (WebCore::RenderObject::firstChild):
1858         (WebCore::RenderObject::lastChild):
1859         (WebCore::RenderObject::children):
1860         (WebCore::RenderObject::canHaveChildren):
1861         * rendering/RenderObjectChildList.cpp: Added.
1862         (WebCore::RenderObjectChildList::destroyLeftoverChildren):
1863         (WebCore::RenderObjectChildList::removeChildNode):
1864         (WebCore::RenderObjectChildList::insertChildNode):
1865         * rendering/RenderObjectChildList.h: Copied from Source/WebCore/rendering/RenderMedia.h.
1866         (WebCore::RenderObjectChildList::RenderObjectChildList):
1867         (WebCore::RenderObjectChildList::firstChild):
1868         (WebCore::RenderObjectChildList::lastChild):
1869         (WebCore::RenderObjectChildList::setFirstChild):
1870         (WebCore::RenderObjectChildList::setLastChild):
1871         (WebCore::RenderObjectChildList::appendChildNode):
1872         * rendering/RenderReplaced.h:
1873         (WebCore::RenderReplaced::canHaveChildren):
1874         * rendering/RenderReplica.h:
1875         * rendering/RenderRubyBase.cpp:
1876         (WebCore::RenderRubyBase::moveInlineChildren):
1877         (WebCore::RenderRubyBase::moveBlockChildren):
1878         * rendering/RenderTableCol.h:
1879         * rendering/RenderTableRow.h:
1880         * rendering/RenderTableSection.h:
1881         * rendering/RenderText.h:
1882         * rendering/RenderingAllInOne.cpp:
1883         * rendering/mathml/RenderMathMLOperator.cpp:
1884         (WebCore::RenderMathMLOperator::updateFromElement):
1885         * rendering/svg/RenderSVGContainer.h:
1886         (WebCore::RenderSVGContainer::firstChild):
1887         (WebCore::RenderSVGContainer::lastChild):
1888         * rendering/svg/RenderSVGGradientStop.h:
1889         * rendering/svg/RenderSVGImage.h:
1890         * rendering/svg/RenderSVGModelObject.cpp:
1891         (WebCore::RenderSVGModelObject::willBeDestroyed):
1892         * rendering/svg/RenderSVGRoot.h:
1893         * rendering/svg/RenderSVGShape.h:
1894
1895 2013-09-22  Commit Queue  <commit-queue@webkit.org>
1896
1897         Unreviewed, rolling out r156253.
1898         http://trac.webkit.org/changeset/156253
1899         https://bugs.webkit.org/show_bug.cgi?id=121778
1900
1901         Caused >20 tests to crash with assertion failures (Requested
1902         by ap on #webkit).
1903
1904         * css/CSSAspectRatioValue.h:
1905         * css/CSSBorderImageSliceValue.h:
1906         * css/CSSCalculationValue.cpp:
1907         (WebCore::CSSCalcExpressionNodeParser::parseValue):
1908         * css/CSSCalculationValue.h:
1909         * css/CSSCrossfadeValue.cpp:
1910         (WebCore::subimageKnownToBeOpaque):
1911         * css/CSSCrossfadeValue.h:
1912         (WebCore::toCSSCrossfadeValue):
1913         * css/CSSCursorImageValue.cpp:
1914         (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
1915         (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
1916         (WebCore::CSSCursorImageValue::cachedImage):
1917         (WebCore::CSSCursorImageValue::cachedOrPendingImage):
1918         (WebCore::CSSCursorImageValue::isSVGCursor):
1919         * css/CSSCursorImageValue.h:
1920         * css/CSSFilterImageValue.h:
1921         (WebCore::toCSSFilterImageValue):
1922         * css/CSSFontSelector.cpp:
1923         (WebCore::CSSFontSelector::addFontFaceRule):
1924         * css/CSSGradientValue.h:
1925         * css/CSSImageGeneratorValue.cpp:
1926         (WebCore::CSSImageGeneratorValue::image):
1927         (WebCore::CSSImageGeneratorValue::fixedSize):
1928         (WebCore::CSSImageGeneratorValue::loadSubimages):
1929         (WebCore::CSSImageGeneratorValue::subimageIsPending):
1930         (WebCore::CSSImageGeneratorValue::cachedImageForCSSValue):
1931         * css/CSSImageGeneratorValue.h:
1932         * css/CSSImageSetValue.cpp:
1933         (WebCore::CSSImageSetValue::fillImageSet):
1934         * css/CSSImageSetValue.h:
1935         * css/CSSImageValue.h:
1936         * css/CSSInheritedValue.h:
1937         * css/CSSInitialValue.h:
1938         * css/CSSLineBoxContainValue.h:
1939         * css/CSSParser.cpp:
1940         (WebCore::CSSParser::parseColor):
1941         (WebCore::CSSParser::addProperty):
1942         (WebCore::CSSParser::parse3ValuesFillPosition):
1943         (WebCore::CSSParser::parseFillPosition):
1944         (WebCore::CSSParser::parseFillRepeat):
1945         (WebCore::CSSParser::parseDeprecatedRadialGradient):
1946         (WebCore::CSSParser::parseRadialGradient):
1947         * css/CSSPrimitiveValue.h:
1948         * css/CSSReflectValue.h:
1949         * css/CSSToStyleMap.cpp:
1950         (WebCore::CSSToStyleMap::mapFillAttachment):
1951         (WebCore::CSSToStyleMap::mapFillClip):
1952         (WebCore::CSSToStyleMap::mapFillComposite):
1953         (WebCore::CSSToStyleMap::mapFillBlendMode):
1954         (WebCore::CSSToStyleMap::mapFillOrigin):
1955         (WebCore::CSSToStyleMap::mapFillRepeatX):
1956         (WebCore::CSSToStyleMap::mapFillRepeatY):
1957         (WebCore::CSSToStyleMap::mapFillSize):
1958         (WebCore::CSSToStyleMap::mapFillXPosition):
1959         (WebCore::CSSToStyleMap::mapFillYPosition):
1960         (WebCore::CSSToStyleMap::mapFillMaskSourceType):
1961         (WebCore::CSSToStyleMap::mapAnimationDelay):
1962         (WebCore::CSSToStyleMap::mapAnimationDirection):
1963         (WebCore::CSSToStyleMap::mapAnimationDuration):
1964         (WebCore::CSSToStyleMap::mapAnimationFillMode):
1965         (WebCore::CSSToStyleMap::mapAnimationIterationCount):
1966         (WebCore::CSSToStyleMap::mapAnimationName):
1967         (WebCore::CSSToStyleMap::mapAnimationPlayState):
1968         (WebCore::CSSToStyleMap::mapAnimationProperty):
1969         (WebCore::CSSToStyleMap::mapAnimationTimingFunction):
1970         (WebCore::CSSToStyleMap::mapNinePieceImageSlice):
1971         (WebCore::CSSToStyleMap::mapNinePieceImageQuad):
1972         (WebCore::CSSToStyleMap::mapNinePieceImageRepeat):
1973         * css/CSSValue.cpp:
1974         (WebCore::CSSValue::destroy):
1975         * css/CSSValue.h:
1976         (WebCore::CSSValue::isCSSLineBoxContainValue):
1977         (WebCore::CSSValue::isCalculationValue):
1978         * css/CSSValueList.h:
1979         * css/CSSVariableValue.h:
1980         * css/DeprecatedStyleBuilder.cpp:
1981         (WebCore::ApplyPropertyDefault::applyValue):
1982         (WebCore::ApplyPropertyNumber::applyValue):
1983         (WebCore::ApplyPropertyAuto::applyValue):
1984         (WebCore::ApplyPropertyClip::applyValue):
1985         (WebCore::ApplyPropertyColor::applyValue):
1986         (WebCore::ApplyPropertyLength::applyValue):
1987         (WebCore::ApplyPropertyString::applyValue):
1988         (WebCore::ApplyPropertyBorderRadius::applyValue):
1989         (WebCore::ApplyPropertyComputeLength::applyValue):
1990         (WebCore::ApplyPropertyFont::applyValue):
1991         (WebCore::ApplyPropertyFontFamily::applyValue):
1992         (WebCore::ApplyPropertyFontSize::applyValue):
1993         (WebCore::ApplyPropertyFontWeight::applyValue):
1994         (WebCore::ApplyPropertyFontVariantLigatures::applyValue):
1995         (WebCore::ApplyPropertyCounter::applyValue):
1996         (WebCore::ApplyPropertyCursor::applyValue):
1997         (WebCore::ApplyPropertyTextAlign::applyValue):
1998         (WebCore::ApplyPropertyTextDecoration::applyValue):
1999         (WebCore::ApplyPropertyMarqueeIncrement::applyValue):
2000         (WebCore::ApplyPropertyMarqueeRepetition::applyValue):
2001         (WebCore::ApplyPropertyMarqueeSpeed::applyValue):
2002         (WebCore::ApplyPropertyTextUnderlinePosition::applyValue):
2003         (WebCore::ApplyPropertyLineHeight::applyValue):
2004         (WebCore::ApplyPropertyLineHeightForIOSTextAutosizing::applyValue):
2005         (WebCore::ApplyPropertyPageSize::applyValue):
2006         (WebCore::ApplyPropertyTextEmphasisStyle::applyValue):
2007         (WebCore::ApplyPropertyResize::applyValue):
2008         (WebCore::ApplyPropertyVerticalAlign::applyValue):
2009         (WebCore::ApplyPropertyAspectRatio::applyValue):
2010         (WebCore::ApplyPropertyZoom::applyValue):
2011         (WebCore::ApplyPropertyDisplay::applyValue):
2012         (WebCore::ApplyPropertyClipPath::applyValue):
2013         (WebCore::ApplyPropertyShape::applyValue):
2014         (WebCore::ApplyPropertyImageResolution::applyValue):
2015         (WebCore::ApplyPropertyTextIndent::applyValue):
2016         * css/FontFeatureValue.h:
2017         * css/FontValue.h:
2018         * css/MediaList.cpp:
2019         (WebCore::reportMediaQueryWarningIfNeeded):
2020         * css/MediaQueryEvaluator.cpp:
2021         (WebCore::compareAspectRatioValue):
2022         (WebCore::numberValue):
2023         (WebCore::orientationMediaFeatureEval):
2024         (WebCore::evalResolution):
2025         (WebCore::device_pixel_ratioMediaFeatureEval):
2026         (WebCore::resolutionMediaFeatureEval):
2027         (WebCore::computeLength):
2028         (WebCore::view_modeMediaFeatureEval):
2029         (WebCore::pointerMediaFeatureEval):
2030         * css/SVGCSSStyleSelector.cpp:
2031         (WebCore::StyleResolver::applySVGProperty):
2032         * css/ShadowValue.h:
2033         * css/StylePropertySet.cpp:
2034         (WebCore::StylePropertySet::getLayeredShorthandValue):
2035         * css/StyleResolver.cpp:
2036         (WebCore::createGridTrackSize):
2037         (WebCore::createGridTrackList):
2038         (WebCore::createGridPosition):
2039         (WebCore::hasVariableReference):
2040         (WebCore::StyleResolver::applyProperty):
2041         (WebCore::StyleResolver::styleImage):
2042         (WebCore::StyleResolver::generatedOrPendingFromValue):
2043         (WebCore::StyleResolver::styleShader):
2044         (WebCore::StyleResolver::parseCustomFilterArrayParameter):
2045         (WebCore::StyleResolver::parseCustomFilterColorParameter):
2046         (WebCore::StyleResolver::parseCustomFilterNumberParameter):
2047         (WebCore::StyleResolver::parseCustomFilterParameter):
2048         (WebCore::StyleResolver::parseCustomFilterParameterList):
2049         (WebCore::StyleResolver::createCustomFilterOperationWithInlineSyntax):
2050         (WebCore::StyleResolver::createFilterOperations):
2051         * css/TransformFunctions.cpp:
2052         (WebCore::transformsForValue):
2053         * css/ViewportStyleResolver.cpp:
2054         (WebCore::ViewportStyleResolver::getViewportArgumentValue):
2055         * css/WebKitCSSMatrix.cpp:
2056         (WebCore::WebKitCSSMatrix::setMatrixValue):
2057         * editing/ApplyStyleCommand.cpp:
2058         (WebCore::ApplyStyleCommand::computedFontSize):
2059         * editing/EditingStyle.cpp:
2060         (WebCore::identifierForStyleProperty):
2061         (WebCore::HTMLElementEquivalent::valueIsPresentInStyle):
2062         (WebCore::cssValueToRGBA):
2063         (WebCore::EditingStyle::extractFontSizeDelta):
2064         (WebCore::EditingStyle::textDirection):
2065         (WebCore::EditingStyle::prepareToApplyAt):
2066         (WebCore::EditingStyle::mergeStyleFromRulesForSerialization):
2067         (WebCore::EditingStyle::legacyFontSize):
2068         (WebCore::EditingStyle::textDirectionForSelection):
2069         (WebCore::StyleChange::extractTextStyles):
2070         (WebCore::fontWeightIsBold):
2071         (WebCore::isTransparentColorValue):
2072         * editing/markup.cpp:
2073         (WebCore::propertyMissingOrEqualToNone):
2074         * page/PageSerializer.cpp:
2075         (WebCore::PageSerializer::retrieveResourcesForProperties):
2076         * rendering/style/StylePendingImage.h:
2077         (WebCore::StylePendingImage::data):
2078         (WebCore::StylePendingImage::cssImageValue):
2079         (WebCore::StylePendingImage::cssImageGeneratorValue):
2080         (WebCore::StylePendingImage::cssCursorImageValue):
2081         (WebCore::StylePendingImage::cssImageSetValue):
2082
2083 2013-09-22  Commit Queue  <commit-queue@webkit.org>
2084
2085         Unreviewed, rolling out r156257.
2086         http://trac.webkit.org/changeset/156257
2087         https://bugs.webkit.org/show_bug.cgi?id=121777
2088
2089         The test from this patch fails (Requested by ap on #webkit).
2090
2091         * rendering/RenderBox.cpp:
2092         (WebCore::RenderBox::calculateAutoscrollDirection):
2093
2094 2013-09-22  Antonio Gomes  <a1.gomes@sisa.samsung.com>
2095
2096         iframe and scrollbar with "overflow:auto" should support autoscroll with mousedrag
2097         https://bugs.webkit.org/show_bug.cgi?id=40981
2098
2099         Reviewed by Darin Adler.
2100
2101         RenderBox::calculateAutoscrollDirection does not properly translate
2102         inner frames' coordinates in order to determine its auto-scrollability.
2103         By coincidence, if the inner frame box it placed near to page's 0, 0 position
2104         (upper left corner), it might work.
2105
2106         Patch fixes it by changing ::calculateAutoscrollDirection algorithm to operate
2107         with window coordinates, taking inner frames offset and scroll position into account.
2108         The behavior of auto-scrollable non-frame overflow boxes, including divs, still works
2109         as it is used to.
2110
2111         Test: fast/events/drag-and-drop-autoscroll-inner-frame.html
2112
2113         * rendering/RenderBox.cpp:
2114         (WebCore::RenderBox::calculateAutoscrollDirection):
2115
2116 2013-09-22  Sam Weinig  <sam@webkit.org>
2117
2118         CTTE: Use references more in ContainerNode, ContainerNodeAlgorithms and related classes
2119         https://bugs.webkit.org/show_bug.cgi?id=121772
2120
2121         Reviewed by Andreas Kling.
2122
2123         Use references for never null Nodes in ContainerNode and related classes.
2124
2125 2013-09-22  Antti Koivisto  <antti@apple.com>
2126
2127         Fix functions calling to RenderObject superclass to call RenderElement instead
2128         https://bugs.webkit.org/show_bug.cgi?id=121773
2129
2130         Reviewed by Andreas Kling.
2131
2132         The class hierarchy has a new class. Superclass calls should be pointed there instead to
2133         avoid future bugs.
2134
2135         * rendering/RenderBoxModelObject.cpp:
2136         (WebCore::RenderBoxModelObject::setSelectionState):
2137         * rendering/RenderLayerModelObject.cpp:
2138         (WebCore::RenderLayerModelObject::styleWillChange):
2139         (WebCore::RenderLayerModelObject::styleDidChange):
2140         * rendering/svg/RenderSVGGradientStop.cpp:
2141         (WebCore::RenderSVGGradientStop::styleDidChange):
2142         * rendering/svg/RenderSVGModelObject.cpp:
2143         (WebCore::RenderSVGModelObject::styleWillChange):
2144         (WebCore::RenderSVGModelObject::styleDidChange):
2145
2146 2013-09-22  Antti Koivisto  <antti@apple.com>
2147
2148         Remove RenderObjectChildList
2149         https://bugs.webkit.org/show_bug.cgi?id=121771
2150
2151         Reviewed by Darin Adler.
2152
2153         Most RenderElement subclasses have m_children member (>90% of instances on typical page). It is not worth optimising
2154         for memory for the few cases that don't (RenderImage, RenderLineBreak mostly) in expense of performance.
2155         
2156         This patch moves child handling to RenderElement. This gets rid of virtual children() calls and simplifies the code.
2157
2158 2013-09-22  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2159
2160         Introduce CSS_VALUE_TYPE_CASTS macro in order to cast CSSValue type
2161         https://bugs.webkit.org/show_bug.cgi?id=121462
2162
2163         Reviewed by Andreas Kling.
2164
2165         As r155429 introduced ELEMENT_TYPE_CASTS, CSS_VALUE_TYPE_CASTS can be used
2166         by css value type casting as well. This type cast macros will help to detect
2167         bad-cast bugs as well as improve a code readibility.
2168
2169         This patch adds the following methods,
2170
2171         - CSSFooValue* toCSSFooValue(CSSValue*)
2172         - const CSSFooValue* toCSSFooValue(const CSSValue*)
2173
2174         To be consistent with other is*Value() naming style, isCSSLineBoxContainValue() and isCalculationValue()
2175         are changed with isLineBoxContainValue() and isCalcValue().
2176
2177         FontValue, FontFeatureValue, ShadowValue have a manual type case function because of different
2178         class naming style. So, toFontValue(), toFontFeatureValue() and toShadowValue() are added manually.
2179
2180         This patch removes unnecessary local variables.
2181
2182         No new tests, no behavior change.
2183
2184         * css/CSSAspectRatioValue.h:
2185         * css/CSSBorderImageSliceValue.h:
2186         * css/CSSCalculationValue.cpp:
2187         (WebCore::CSSCalcExpressionNodeParser::parseValue):
2188         * css/CSSCalculationValue.h:
2189         * css/CSSCrossfadeValue.cpp:
2190         (WebCore::subimageKnownToBeOpaque):
2191         * css/CSSCrossfadeValue.h:
2192         * css/CSSCursorImageValue.cpp:
2193         (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
2194         (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
2195         (WebCore::CSSCursorImageValue::cachedImage):
2196         (WebCore::CSSCursorImageValue::cachedOrPendingImage):
2197         (WebCore::CSSCursorImageValue::isSVGCursor):
2198         * css/CSSCursorImageValue.h:
2199         * css/CSSFilterImageValue.h:
2200         * css/CSSFontSelector.cpp:
2201         (WebCore::CSSFontSelector::addFontFaceRule):
2202         * css/CSSGradientValue.h:
2203         * css/CSSImageGeneratorValue.cpp:
2204         (WebCore::CSSImageGeneratorValue::image):
2205         (WebCore::CSSImageGeneratorValue::fixedSize):
2206         (WebCore::CSSImageGeneratorValue::loadSubimages):
2207         (WebCore::CSSImageGeneratorValue::subimageIsPending):
2208         (WebCore::CSSImageGeneratorValue::cachedImageForCSSValue):
2209         * css/CSSImageGeneratorValue.h:
2210         * css/CSSImageSetValue.cpp:
2211         (WebCore::CSSImageSetValue::fillImageSet):
2212         * css/CSSImageSetValue.h:
2213         * css/CSSImageValue.h:
2214         * css/CSSInheritedValue.h:
2215         * css/CSSInitialValue.h:
2216         * css/CSSLineBoxContainValue.h:
2217         * css/CSSParser.cpp:
2218         (WebCore::CSSParser::parseColor):
2219         (WebCore::CSSParser::addProperty):
2220         (WebCore::CSSParser::parse3ValuesFillPosition):
2221         (WebCore::CSSParser::parseFillPosition):
2222         (WebCore::CSSParser::parseFillRepeat):
2223         (WebCore::CSSParser::parseDeprecatedRadialGradient):
2224         (WebCore::CSSParser::parseRadialGradient):
2225         * css/CSSPrimitiveValue.h:
2226         * css/CSSReflectValue.h:
2227         * css/CSSToStyleMap.cpp:
2228         (WebCore::CSSToStyleMap::mapFillAttachment):
2229         (WebCore::CSSToStyleMap::mapFillClip):
2230         (WebCore::CSSToStyleMap::mapFillComposite):
2231         (WebCore::CSSToStyleMap::mapFillBlendMode):
2232         (WebCore::CSSToStyleMap::mapFillOrigin):
2233         (WebCore::CSSToStyleMap::mapFillRepeatX):
2234         (WebCore::CSSToStyleMap::mapFillRepeatY):
2235         (WebCore::CSSToStyleMap::mapFillSize):
2236         (WebCore::CSSToStyleMap::mapFillXPosition):
2237         (WebCore::CSSToStyleMap::mapFillYPosition):
2238         (WebCore::CSSToStyleMap::mapFillMaskSourceType):
2239         (WebCore::CSSToStyleMap::mapAnimationDelay):
2240         (WebCore::CSSToStyleMap::mapAnimationDirection):
2241         (WebCore::CSSToStyleMap::mapAnimationDuration):
2242         (WebCore::CSSToStyleMap::mapAnimationFillMode):
2243         (WebCore::CSSToStyleMap::mapAnimationIterationCount):
2244         (WebCore::CSSToStyleMap::mapAnimationName):
2245         (WebCore::CSSToStyleMap::mapAnimationPlayState):
2246         (WebCore::CSSToStyleMap::mapAnimationProperty):
2247         (WebCore::CSSToStyleMap::mapAnimationTimingFunction):
2248         (WebCore::CSSToStyleMap::mapNinePieceImageSlice):
2249         (WebCore::CSSToStyleMap::mapNinePieceImageQuad):
2250         (WebCore::CSSToStyleMap::mapNinePieceImageRepeat):
2251         * css/CSSValue.cpp:
2252         (WebCore::CSSValue::destroy):
2253         * css/CSSValue.h:
2254         (WebCore::CSSValue::isLineBoxContainValue):
2255         (WebCore::CSSValue::isCalcValue):
2256         * css/CSSValueList.h:
2257         * css/CSSVariableValue.h:
2258         * css/DeprecatedStyleBuilder.cpp:
2259         (WebCore::ApplyPropertyDefault::applyValue):
2260         (WebCore::ApplyPropertyNumber::applyValue):
2261         (WebCore::ApplyPropertyAuto::applyValue):
2262         (WebCore::ApplyPropertyClip::applyValue):
2263         (WebCore::ApplyPropertyColor::applyValue):
2264         (WebCore::ApplyPropertyLength::applyValue):
2265         (WebCore::ApplyPropertyString::applyValue):
2266         (WebCore::ApplyPropertyBorderRadius::applyValue):
2267         (WebCore::ApplyPropertyComputeLength::applyValue):
2268         (WebCore::ApplyPropertyFont::applyValue):
2269         (WebCore::ApplyPropertyFontFamily::applyValue):
2270         (WebCore::ApplyPropertyFontSize::applyValue):
2271         (WebCore::ApplyPropertyFontWeight::applyValue):
2272         (WebCore::ApplyPropertyFontVariantLigatures::applyValue):
2273         (WebCore::ApplyPropertyCounter::applyValue):
2274         (WebCore::ApplyPropertyCursor::applyValue):
2275         (WebCore::ApplyPropertyTextAlign::applyValue):
2276         (WebCore::ApplyPropertyTextDecoration::applyValue):
2277         (WebCore::ApplyPropertyMarqueeIncrement::applyValue):
2278         (WebCore::ApplyPropertyMarqueeRepetition::applyValue):
2279         (WebCore::ApplyPropertyMarqueeSpeed::applyValue):
2280         (WebCore::ApplyPropertyTextUnderlinePosition::applyValue):
2281         (WebCore::ApplyPropertyLineHeight::applyValue):
2282         (WebCore::ApplyPropertyLineHeightForIOSTextAutosizing::applyValue):
2283         (WebCore::ApplyPropertyPageSize::applyValue):
2284         (WebCore::ApplyPropertyTextEmphasisStyle::applyValue):
2285         (WebCore::ApplyPropertyResize::applyValue):
2286         (WebCore::ApplyPropertyVerticalAlign::applyValue):
2287         (WebCore::ApplyPropertyAspectRatio::applyValue):
2288         (WebCore::ApplyPropertyZoom::applyValue):
2289         (WebCore::ApplyPropertyDisplay::applyValue):
2290         (WebCore::ApplyPropertyClipPath::applyValue):
2291         (WebCore::ApplyPropertyShape::applyValue):
2292         (WebCore::ApplyPropertyImageResolution::applyValue):
2293         (WebCore::ApplyPropertyTextIndent::applyValue):
2294         * css/FontFeatureValue.h:
2295         (WebCore::toFontFeatureValue):
2296         * css/FontValue.h:
2297         (WebCore::toFontValue):
2298         * css/MediaList.cpp:
2299         (WebCore::reportMediaQueryWarningIfNeeded):
2300         * css/MediaQueryEvaluator.cpp:
2301         (WebCore::compareAspectRatioValue):
2302         (WebCore::numberValue):
2303         (WebCore::orientationMediaFeatureEval):
2304         (WebCore::evalResolution):
2305         (WebCore::device_pixel_ratioMediaFeatureEval):
2306         (WebCore::resolutionMediaFeatureEval):
2307         (WebCore::computeLength):
2308         (WebCore::view_modeMediaFeatureEval):
2309         (WebCore::pointerMediaFeatureEval):
2310         * css/SVGCSSStyleSelector.cpp:
2311         (WebCore::StyleResolver::applySVGProperty):
2312         * css/ShadowValue.h:
2313         (WebCore::toShadowValue):
2314         * css/StylePropertySet.cpp:
2315         (WebCore::StylePropertySet::getLayeredShorthandValue):
2316         * css/StyleResolver.cpp:
2317         (WebCore::createGridTrackSize):
2318         (WebCore::createGridTrackList):
2319         (WebCore::createGridPosition):
2320         (WebCore::hasVariableReference):
2321         (WebCore::StyleResolver::applyProperty):
2322         (WebCore::StyleResolver::styleImage):
2323         (WebCore::StyleResolver::generatedOrPendingFromValue):
2324         (WebCore::StyleResolver::styleShader):
2325         (WebCore::StyleResolver::parseCustomFilterArrayParameter):
2326         (WebCore::StyleResolver::parseCustomFilterColorParameter):
2327         (WebCore::StyleResolver::parseCustomFilterNumberParameter):
2328         (WebCore::StyleResolver::parseCustomFilterParameter):
2329         (WebCore::StyleResolver::parseCustomFilterParameterList):
2330         (WebCore::StyleResolver::createCustomFilterOperationWithInlineSyntax):
2331         (WebCore::StyleResolver::createFilterOperations):
2332         * css/TransformFunctions.cpp:
2333         (WebCore::transformsForValue):
2334         * css/ViewportStyleResolver.cpp:
2335         (WebCore::ViewportStyleResolver::getViewportArgumentValue):
2336         * css/WebKitCSSMatrix.cpp:
2337         (WebCore::WebKitCSSMatrix::setMatrixValue):
2338         * css/WebKitCSSShaderValue.h:
2339         (WebCore::toWebKitCSSShaderValue):
2340         * editing/ApplyStyleCommand.cpp:
2341         (WebCore::ApplyStyleCommand::computedFontSize):
2342         * editing/EditingStyle.cpp:
2343         (WebCore::identifierForStyleProperty):
2344         (WebCore::HTMLElementEquivalent::valueIsPresentInStyle):
2345         (WebCore::cssValueToRGBA):
2346         (WebCore::EditingStyle::extractFontSizeDelta):
2347         (WebCore::EditingStyle::textDirection):
2348         (WebCore::EditingStyle::prepareToApplyAt):
2349         (WebCore::EditingStyle::mergeStyleFromRulesForSerialization):
2350         (WebCore::EditingStyle::legacyFontSize):
2351         (WebCore::EditingStyle::textDirectionForSelection):
2352         (WebCore::StyleChange::extractTextStyles):
2353         (WebCore::fontWeightIsBold):
2354         (WebCore::isTransparentColorValue):
2355         * editing/markup.cpp:
2356         (WebCore::propertyMissingOrEqualToNone):
2357         * page/PageSerializer.cpp:
2358         (WebCore::PageSerializer::retrieveResourcesForProperties):
2359         * rendering/style/StylePendingImage.h:
2360         (WebCore::StylePendingImage::data):
2361         (WebCore::StylePendingImage::cssImageValue):
2362         (WebCore::StylePendingImage::cssImageGeneratorValue):
2363         (WebCore::StylePendingImage::cssCursorImageValue):
2364         (WebCore::StylePendingImage::cssImageSetValue):
2365
2366 2013-09-22  Arunprasad Rajkumar  <ararunprasad@gmail.com>
2367
2368         Hiding a focused element should unfocus it and fire a blur event
2369         https://bugs.webkit.org/show_bug.cgi?id=29241
2370
2371         Reviewed by Darin Adler.
2372
2373         Test: fast/dom/HTMLDocument/active-element-gets-unfocusable.html
2374
2375         We check whether the current focus element is really focusable after
2376         the style recalculation and layout change. If it is not focusable then schedule a
2377         timer to reset it asynchronously.
2378
2379         * dom/Document.cpp:
2380         (WebCore::Document::Document):
2381         (WebCore::Document::recalcStyle): Check isFocusable() on the focus element after
2382         style recalculation.
2383         (WebCore::Document::updateLayout): Check isFocusable() on the focus element after
2384         layout.
2385         (WebCore::Document::resetHiddenFocusElementSoon):
2386         (WebCore::Document::resetHiddenFocusElementTimer):
2387         * dom/Document.h:
2388
2389 2013-09-22  Sam Weinig  <sam@webkit.org>
2390
2391         CTTE: StaticNodeLists often contain only Elements, we shouldn't store them as Vector<RefPtr<Node>> in those cases
2392         https://bugs.webkit.org/show_bug.cgi?id=121769
2393
2394         Reviewed by Andreas Kling.
2395
2396         Introduces StaticElementList and uses it.
2397
2398         * accessibility/AccessibilityRenderObject.cpp:
2399         (WebCore::AccessibilityRenderObject::addRadioButtonGroupMembers):
2400         * bindings/js/JSHTMLAllCollectionCustom.cpp:
2401         (WebCore::getNamedItems):
2402         * bindings/js/JSHTMLCollectionCustom.cpp:
2403         * bindings/js/JSHTMLFormControlsCollectionCustom.cpp:
2404         (WebCore::getNamedItems):
2405         * bindings/js/JSHTMLFormElementCustom.cpp:
2406         (WebCore::JSHTMLFormElement::nameGetter):
2407         * dom/SelectorQuery.cpp:
2408         (WebCore::AllElementExtractorSelectorQueryTrait::appendOutputForElement):
2409         (WebCore::SelectorDataList::queryAll):
2410         * dom/StaticNodeList.cpp:
2411         (WebCore::StaticElementList::length):
2412         (WebCore::StaticElementList::item):
2413         (WebCore::StaticElementList::namedItem):
2414         * dom/StaticNodeList.h:
2415         * dom/WebKitNamedFlow.cpp:
2416         (WebCore::WebKitNamedFlow::getRegionsByContent):
2417         (WebCore::WebKitNamedFlow::getRegions):
2418         (WebCore::WebKitNamedFlow::getContent):
2419         (WebCore::WebKitNamedFlow::dispatchRegionLayoutUpdateEvent):
2420         (WebCore::WebKitNamedFlow::dispatchRegionOversetChangeEvent):
2421         * html/HTMLCollection.cpp:
2422         (WebCore::HTMLCollection::namedItems):
2423         * html/HTMLCollection.h:
2424         * html/HTMLFormElement.cpp:
2425         (WebCore::HTMLFormElement::getNamedElements):
2426         * html/HTMLFormElement.h:
2427         * svg/SVGSVGElement.cpp:
2428         (WebCore::SVGSVGElement::collectIntersectionOrEnclosureList):
2429
2430 2013-09-22  Sam Weinig  <sam@webkit.org>
2431
2432         CTTE: RenderNamedFlowThread and FlowThreadController should operate on Elements, not Nodes
2433         https://bugs.webkit.org/show_bug.cgi?id=121768
2434
2435         Reviewed by Andreas Kling.
2436
2437         * dom/Element.cpp:
2438         (WebCore::Element::unregisterNamedFlowContentElement):
2439         (WebCore::Element::shouldMoveToFlowThread):
2440         (WebCore::Element::clearStyleDerivedDataBeforeDetachingRenderer):
2441         * dom/Element.h:
2442         Update to new names and to pass this as a reference to the FlowThreadController.
2443
2444         * dom/Node.cpp:
2445         * dom/Node.h:
2446         Move isRegisteredWithNamedFlow() to Element.
2447
2448         * dom/WebKitNamedFlow.cpp:
2449         (WebCore::WebKitNamedFlow::getRegionsByContent):
2450         (WebCore::WebKitNamedFlow::getRegions):
2451         (WebCore::WebKitNamedFlow::getContent):
2452         Update for contentNodes() -> contentElements() name change. Modernize the code a bit
2453         as well.
2454
2455         * rendering/FlowThreadController.cpp:
2456         (WebCore::FlowThreadController::registerNamedFlowContentElement):
2457         (WebCore::FlowThreadController::unregisterNamedFlowContentElement):
2458         (WebCore::FlowThreadController::isContentElementRegisteredWithAnyNamedFlow):
2459         * rendering/FlowThreadController.h:
2460         Change the Node* -> RenderNamedFlowThread* map to a Element* -> RenderNamedFlowThread*. Update
2461         functions taking Node*s to take Element&s.
2462
2463         * rendering/RenderNamedFlowThread.cpp:
2464         (WebCore::RenderNamedFlowThread::~RenderNamedFlowThread):
2465         (WebCore::RenderNamedFlowThread::clearContentElements):
2466         (WebCore::RenderNamedFlowThread::registerNamedFlowContentElement):
2467         (WebCore::RenderNamedFlowThread::unregisterNamedFlowContentElement):
2468         (WebCore::RenderNamedFlowThread::hasContentElement):
2469         (WebCore::isContainedInElements):
2470         (WebCore::nextNodeInsideContentElement):
2471         (WebCore::RenderNamedFlowThread::getRanges):
2472         * rendering/RenderNamedFlowThread.h:
2473         Change the NamedFlowContent set to store Elements rather than Nodes. Like with FlowThreadController,
2474         update registration functions to take Element&s instead of Node*s, removing asserts.
2475         
2476         * rendering/RenderRegion.cpp:
2477         (WebCore::RenderRegion::setRegionObjectsRegionStyle):
2478         Update for new names.
2479
2480         * style/StyleResolveTree.cpp:
2481         (WebCore::Style::moveToFlowThreadIfNeeded):
2482         Pass the Element and RenderNamedFlowThread as references.
2483
2484 2013-09-22  Andreas Kling  <akling@apple.com>
2485
2486         Give purity hints to compiler to avoid penalizing repeated calls to some functions.
2487         <https://webkit.org/b/121744>
2488
2489         Reviewed by Darin Adler.
2490
2491         Mark the following functions pure:
2492
2493             - gcController()
2494             - cssValuePool()
2495             - threadGlobalData()
2496
2497         I had this idea when I saw Darin's patch to cache cssValuePool() in a local.
2498         We know that this function will always return the same value, so we should just
2499         share this knowledge with the compiler and let it do the cleverness instead.
2500
2501 2013-09-21  Darin Adler  <darin@apple.com>
2502
2503         Fix too-strict type error exceptions introduced in WebGL bindings
2504         https://bugs.webkit.org/show_bug.cgi?id=121759
2505
2506         Reviewed by Alexey Proskuryakov.
2507
2508         * bindings/js/JSWebGLRenderingContextCustom.cpp:
2509         (WebCore::JSWebGLRenderingContext::getAttachedShaders): Allow undefined
2510         or null without throwing type error.
2511         (WebCore::JSWebGLRenderingContext::getProgramParameter): Ditto.
2512         (WebCore::JSWebGLRenderingContext::getUniform): Ditto.
2513         (WebCore::dataFunctionf): Ditto.
2514         (WebCore::dataFunctioni): Ditto.
2515         (WebCore::dataFunctionMatrix): Ditto.
2516
2517 2013-09-21  Sam Weinig  <sam@webkit.org>
2518
2519         Event and EventTarget interfaces don't need to be store as AtomicStrings
2520         https://bugs.webkit.org/show_bug.cgi?id=121751
2521
2522         Reviewed by Andreas Kling.
2523
2524         Convert the Event and EventTarget interface identifiers from AtomicStrings to enums. They
2525         are not extensible and not exposed as Strings anywhere.
2526
2527         * Files elided *
2528
2529 2013-09-21  Darin Adler  <darin@apple.com>
2530
2531         Add ExecState::uncheckedArgument and use where possible to shrink a bit
2532         https://bugs.webkit.org/show_bug.cgi?id=121750
2533
2534         Reviewed by Andreas Kling.
2535
2536         * bindings/js/JSHTMLCanvasElementCustom.cpp:
2537         (WebCore::JSHTMLCanvasElement::probablySupportsContext): Already checked count.
2538         (WebCore::JSHTMLCanvasElement::toDataURL): Ditto.
2539         * bindings/js/JSHTMLDocumentCustom.cpp:
2540         (WebCore::documentWrite): In a loop.
2541         * bindings/js/JSInjectedScriptHostCustom.cpp:
2542         (WebCore::JSInjectedScriptHost::inspectedObject): Already checked count.
2543         (WebCore::JSInjectedScriptHost::internalConstructorName): Ditto.
2544         (WebCore::JSInjectedScriptHost::isHTMLAllCollection): Ditto.
2545         (WebCore::JSInjectedScriptHost::type): Ditto.
2546         (WebCore::JSInjectedScriptHost::functionDetails): Ditto.
2547         (WebCore::JSInjectedScriptHost::getEventListeners): Ditto.
2548         (WebCore::JSInjectedScriptHost::inspect): Ditto.
2549         (WebCore::JSInjectedScriptHost::databaseId): Ditto.
2550         (WebCore::JSInjectedScriptHost::storageId): Ditto.
2551         * bindings/js/JSSQLTransactionSyncCustom.cpp:
2552         (WebCore::JSSQLTransactionSync::executeSql): Ditto.
2553         * bindings/js/JSSVGLengthCustom.cpp:
2554         (WebCore::JSSVGLength::convertToSpecifiedUnits): Ditto.
2555         * bindings/js/JSSharedWorkerCustom.cpp:
2556         (WebCore::JSSharedWorkerConstructor::constructJSSharedWorker): Ditto.
2557
2558         * bindings/js/JSWebGLRenderingContextCustom.cpp:
2559         (WebCore::getObjectParameter): Already checked count.
2560         (WebCore::JSWebGLRenderingContext::getAttachedShaders): Removed tortured code
2561         to triply do the checking that the toWebGLProgram function already does, including
2562         spurious exception checking in code that can't create an exception. Also count is
2563         already checked.
2564         (WebCore::JSWebGLRenderingContext::getExtension): More of the same.
2565         (WebCore::JSWebGLRenderingContext::getFramebufferAttachmentParameter): Ditto.
2566         (WebCore::JSWebGLRenderingContext::getParameter): Ditto.
2567         (WebCore::JSWebGLRenderingContext::getProgramParameter): Ditto.
2568         (WebCore::JSWebGLRenderingContext::getShaderParameter): Ditto.
2569         (WebCore::JSWebGLRenderingContext::getUniform): Ditto.
2570         (WebCore::dataFunctionf): Ditto.
2571         (WebCore::dataFunctioni): Ditto.
2572         (WebCore::dataFunctionMatrix): Ditto.
2573
2574         * bindings/js/JSWorkerGlobalScopeCustom.cpp:
2575         (WebCore::JSWorkerGlobalScope::importScripts): In a loop.
2576         * bindings/js/JSXMLHttpRequestCustom.cpp:
2577         (WebCore::JSXMLHttpRequest::open): Already checked. Also removed some unneeded
2578         argument count checks.
2579         (WebCore::JSXMLHttpRequest::send): Removed unneeded special case for 0 argument
2580         count that does the same thing as the undefined case, since asking for an
2581         argument past the count yields undefined.
2582
2583         * bindings/js/JSXSLTProcessorCustom.cpp:
2584         (WebCore::JSXSLTProcessor::setParameter): Already checked.
2585         (WebCore::JSXSLTProcessor::getParameter): Already checked.
2586         (WebCore::JSXSLTProcessor::removeParameter): Already checked.
2587
2588         * bindings/js/ScheduledAction.cpp:
2589         (WebCore::ScheduledAction::ScheduledAction): In a loop.
2590         * bindings/js/ScriptCallStackFactory.cpp:
2591         (WebCore::createScriptArguments): Ditto.
2592
2593         * bindings/scripts/CodeGeneratorJS.pm:
2594         (GenerateParametersCheck): Removed some excess argumentCount checks.
2595         Used uncheckedArgument in a few places. More needs to be done, especially for
2596         overloaded functions.
2597
2598         * bridge/c/c_instance.cpp:
2599         (JSC::Bindings::CInstance::invokeMethod): In a loop.
2600         (JSC::Bindings::CInstance::invokeDefaultMethod): Ditto.
2601         * bridge/objc/objc_instance.mm:
2602         (ObjcInstance::invokeObjcMethod): Ditto.
2603         (ObjcInstance::invokeDefaultMethod): Ditto.
2604
2605         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
2606         * bindings/scripts/test/JS/JSTestObj.cpp:
2607         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
2608         Updated.
2609
2610 2013-09-21  Jon Lee  <jonlee@apple.com>
2611
2612         Fix Obj-C bindings test expectations.
2613         Unreviewed.
2614
2615         Bindings tests failed with r156232, from https://bugs.webkit.org/show_bug.cgi?id=121745.
2616
2617         * bindings/scripts/test/ObjC/DOMTestObj.mm:
2618         (-[DOMTestObj reflectedStringAttr]): Update test expectations.
2619
2620 2013-09-21  Andreas Kling  <akling@apple.com>
2621
2622         Node: FINAL-ize EventTarget overrides.
2623         <https://webkit.org/b/121748>
2624
2625         Reviewed by Darin Adler.
2626
2627         Mark the following Node functions FINAL:
2628
2629             - scriptExecutionContext()
2630             - eventTargetData()
2631             - ensureEventTargetData()
2632
2633         This devirtualizes a myriad of generated calls in the JSC bindings.
2634
2635 2013-09-21  Andreas Kling  <akling@apple.com>
2636
2637         Don't bloat Obj-C bindings with inlined attribute retrieval.
2638         <https://webkit.org/b/121745>
2639
2640         Reviewed by Anders Carlsson.
2641
2642         Hack bindings generator to always use getAttribute() for Objective-C.
2643         Reduces WebCore binary size by 25120 bytes.
2644
2645 2013-09-20  Darin Adler  <darin@apple.com>
2646
2647         Shink attribute event listener code
2648         https://bugs.webkit.org/show_bug.cgi?id=121735
2649
2650         Reviewed by Antti Koivisto.
2651
2652         * GNUmakefile.list.am: Eliminate ScriptEventListener source files.
2653         * Target.pri: Ditto.
2654         * UseJSC.cmake: Ditto.
2655         * WebCore.vcxproj/WebCore.vcxproj: Ditto.
2656         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
2657         * WebCore.xcodeproj/project.pbxproj: Ditto.
2658         * bindings/js/JSBindingsAllInOne.cpp: Ditto.
2659
2660         * bindings/js/JSDOMGlobalObject.h: Removed unneeded forward declarations
2661         of JSEventListener and JSLazyEventListener.
2662
2663         * bindings/js/JSLazyEventListener.cpp:
2664         (WebCore::JSLazyEventListener::JSLazyEventListener): Changed type to
2665         ContainerNode because the node pointer is only ever used for elements
2666         and documents.
2667         (WebCore::eventParameterName): Moved this function here from
2668         ScriptEventListener.cpp, but also rewrote to use NeverDestroyed.
2669         (WebCore::JSLazyEventListener::createForNode): Moved this function
2670         here from ScriptEventListener.cpp, cleaned up a bit.
2671         (WebCore::JSLazyEventListener::createForDOMWindow): Ditto.
2672
2673         * bindings/js/JSLazyEventListener.h: Replaced the old create function
2674         with two new create functions we can use directly. Also used some
2675         OVERRIDE, some FINAL, and a bit of WTF_DELETED_FUNCTION so we don't
2676         accidentally call create and create a non-lazy listener.
2677
2678         * bindings/js/ScriptEventListener.cpp: Removed.
2679         * bindings/js/ScriptEventListener.h: Removed.
2680
2681         * dom/ContainerNode.cpp:
2682         (WebCore::ContainerNode::setAttributeEventListener): Added.
2683         Calls JSLazyEventListener::createForNode and then calls the other
2684         overload of setAttributeEventListener, to obviate having more code
2685         at the call site.
2686         * dom/ContainerNode.h: Added overload of setAttributeEventListener
2687         for convenient use in Document and Element implementations.
2688
2689         * dom/Document.cpp:
2690         (WebCore::Document::prepareForDestruction): Use m_domWindow instead
2691         of the domWindow() function.
2692         (WebCore::Document::removeAllEventListeners): Ditto.
2693         (WebCore::Document::errorEventTarget): Ditto.
2694         (WebCore::Document::takeDOMWindowFrom): Ditto.
2695         (WebCore::Document::setWindowAttributeEventListener): Ditto. Also
2696         added an overload that calls JSLazyEventListener::createForDOMWindow.
2697         (WebCore::Document::getWindowAttributeEventListener): Use m_domWindow.
2698         (WebCore::Document::dispatchWindowEvent): Ditto.
2699         (WebCore::Document::dispatchWindowLoadEvent): Ditto.
2700         (WebCore::Document::enqueueWindowEvent): Ditto.
2701         (WebCore::Document::enqueuePopstateEvent): Ditto.
2702         * dom/Document.h: Added overload of setWindowAttributeEventListener.
2703
2704         * html/HTMLBodyElement.cpp: Removed unnneded include.
2705         (WebCore::HTMLBodyElement::parseAttribute): Removed all the calls to
2706         createAttributeEventListener, and use the setAttributeEventListener
2707         overloads instead.
2708         * html/HTMLButtonElement.cpp: Ditto.
2709         * html/HTMLElement.cpp:
2710         (WebCore::HTMLElement::parseAttribute): Ditto.
2711         * html/HTMLFormControlElement.cpp: Ditto.
2712         * html/HTMLFormElement.cpp: Ditto.
2713         * html/HTMLFrameElementBase.cpp:
2714         (WebCore::HTMLFrameElementBase::parseAttribute): Ditto.
2715         * html/HTMLFrameSetElement.cpp:
2716         (WebCore::HTMLFrameSetElement::parseAttribute): Ditto.
2717         * html/HTMLImageElement.cpp:
2718         (WebCore::HTMLImageElement::parseAttribute): Ditto.
2719         * html/HTMLInputElement.cpp:
2720         (WebCore::HTMLInputElement::parseAttribute): Ditto.
2721         * html/HTMLLinkElement.cpp:
2722         (WebCore::HTMLLinkElement::parseAttribute): Ditto.
2723         * html/HTMLMediaElement.cpp:
2724         (WebCore::HTMLMediaElement::parseAttribute): Ditto.
2725         * html/HTMLObjectElement.cpp:
2726         (WebCore::HTMLObjectElement::parseAttribute): Ditto.
2727         * html/HTMLScriptElement.cpp:
2728         (WebCore::HTMLScriptElement::parseAttribute): Ditto.
2729         * html/HTMLSelectElement.cpp: Ditto.
2730         * html/HTMLStyleElement.cpp: Ditto.
2731         * html/HTMLTextFormControlElement.cpp: Ditto.
2732         * html/HTMLTrackElement.cpp: Ditto.
2733         * html/track/LoadableTextTrack.cpp: Ditto.
2734         * svg/SVGElement.cpp:
2735         (WebCore::SVGElement::parseAttribute): Ditto.
2736         * svg/SVGSVGElement.cpp:
2737         (WebCore::SVGSVGElement::parseAttribute): Ditto.
2738         * svg/SVGScriptElement.cpp:
2739         (WebCore::SVGScriptElement::parseAttribute): Ditto.
2740
2741         * inspector/InspectorDOMAgent.cpp:
2742         (WebCore::InspectorDOMAgent::buildObjectForEventListener):
2743         Moved the code here to dig inside a JSEventListener for things like
2744         the source location. This used to be spread across multiple function
2745         calls in ScriptEventListener.h, which were doing and redoing the same
2746         things, so better to just get it all at once.
2747
2748         * html/parser/XSSAuditor.cpp:
2749         (WebCore::XSSAuditor::init): Fixed "minium" typo.
2750
2751 2013-09-21  Anders Carlsson  <andersca@apple.com>
2752
2753         Don't store the "processing-instruction" string for PI tokens in the XPath parser
2754         https://bugs.webkit.org/show_bug.cgi?id=121746
2755
2756         Reviewed by Antti Koivisto.
2757
2758         For PI tokens, the string is always going to be "processing-instruction", and it's never used so we don't need to save it.
2759
2760         * xml/XPathGrammar.y:
2761         * xml/XPathParser.cpp:
2762         (Parser::nextTokenInternal):
2763         (Parser::lex):
2764
2765 2013-09-21  Patrick Gansterer  <paroga@webkit.org>
2766
2767         Handle windows lineendings in makeprop.pl after r155511
2768         https://bugs.webkit.org/show_bug.cgi?id=121740
2769
2770         Reviewed by Ryosuke Niwa.
2771
2772         Check for an optinal \r at the end of a line in regular expressions
2773         to make it work again on native windows machines which use CRLF.
2774
2775         * css/makeprop.pl:
2776
2777 2013-09-21  Andreas Kling  <akling@apple.com>
2778
2779         Re-inline some hot ElementData functions.
2780         <https://webkit.org/b/121743>
2781
2782         Reviewed by Antti Koivisto.
2783
2784         Make the following functions inline again:
2785
2786             - deref()
2787             - addAttribute()
2788             - removeAttribute()
2789             - attributeAt()
2790
2791         They were out-of-lined in r154249 and perf.webkit.org reports a 1.4%
2792         regression on the html5 spec for that revision. This'll hopefully steer
2793         the graph back in the right direction.
2794
2795 2013-09-21  Tim Horton  <timothy_horton@apple.com>
2796
2797         GeneratorGeneratedImage should be called GradientImage
2798         https://bugs.webkit.org/show_bug.cgi?id=121085
2799
2800         Reviewed by Simon Fraser.
2801
2802         No new tests, just a refactor.
2803
2804         r150053 removed the concept of a Generator, making GeneratorGeneratedImage
2805         take a Gradient. This leaves GeneratorGeneratedImage's name not making a
2806         whole lot of sense, so let's rename it to GradientImage.
2807
2808         * CMakeLists.txt:
2809         * GNUmakefile.list.am:
2810         * Target.pri:
2811         * WebCore.vcxproj/WebCore.vcxproj:
2812         * WebCore.vcxproj/WebCore.vcxproj.filters:
2813         * WebCore.xcodeproj/project.pbxproj:
2814         * css/CSSGradientValue.cpp:
2815         (WebCore::CSSGradientValue::image):
2816         * platform/graphics/BitmapImage.h:
2817         * platform/graphics/GradientImage.cpp: Renamed from Source/WebCore/platform/graphics/GeneratorGeneratedImage.cpp.
2818         (WebCore::GradientImage::draw):
2819         (WebCore::GradientImage::drawPattern):
2820         * platform/graphics/GradientImage.h: Renamed from Source/WebCore/platform/graphics/GeneratorGeneratedImage.h.
2821         * platform/graphics/Image.h:
2822         * platform/graphics/ImageBuffer.h:
2823         Rename.
2824
2825         * css/CSSImageGeneratorValue.cpp:
2826         (WebCore::CSSImageGeneratorValue::cachedImageForSize):
2827         (WebCore::CSSImageGeneratorValue::saveCachedImageForSize):
2828         (WebCore::CSSImageGeneratorValue::CachedGeneratedImage::CachedGeneratedImage):
2829         * css/CSSImageGeneratorValue.h:
2830         (WebCore::CSSImageGeneratorValue::CachedGeneratedImage::image):
2831         Drive-by, the CSSImageGeneratorValue generated image cache should be
2832         in terms of GeneratedImage, not a random subclass, regardless
2833         of the fact that it's only used for GradientImage as of yet.
2834
2835 2013-09-21  Darin Adler  <darin@apple.com>
2836
2837         Shrink valueForBasicShape by removing repeated calls to cssValuePool()
2838         https://bugs.webkit.org/show_bug.cgi?id=121736
2839
2840         Reviewed by Sam Weinig.
2841
2842         * css/BasicShapeFunctions.cpp:
2843         (WebCore::valueForBasicShape): Put the pool into a local variable and use that.
2844
2845 2013-09-20  Darin Adler  <darin@apple.com>
2846
2847         Another CSS parser leak fix
2848         https://bugs.webkit.org/show_bug.cgi?id=121730
2849
2850         Reviewed by Alexey Proskuryakov.
2851
2852         * css/CSSGrammar.y.in: Added a missing adoptPtr.
2853
2854 2013-09-20  Alexey Proskuryakov  <ap@apple.com>
2855
2856         Handle panning gestures messages properly on Windows
2857         https://bugs.webkit.org/show_bug.cgi?id=121711
2858
2859         Follow-up fix: five regression tests started to crash on Mac.
2860
2861         Reviewed by Anders Carlsson.
2862
2863         * rendering/RenderLayer.cpp: (WebCore::RenderLayer::scrollByRecursively):
2864         Added null checks, not all callers are interested in scrolled view pointer.
2865
2866 2013-09-20  Ryosuke Niwa  <rniwa@webkit.org>
2867
2868         Bad cast from CSSInitialValue to CSSValueList
2869         https://bugs.webkit.org/show_bug.cgi?id=121729
2870
2871         Reviewed by Beth Dakin.
2872
2873         Merge https://chromium.googlesource.com/chromium/blink/+/fcfaa51f9207b32cffe751c1a1380a921e464cbb
2874
2875         The issue was that we would cast to CSSValueList without checking
2876         the type of the CSSValue. After this change, we use the ASSERT'ing
2877         cast and explicitly check the type of the CSSValue before the cast.
2878
2879         Test: fast/css/crash-inherit-value-font-family.html
2880
2881         * css/CSSParser.cpp:
2882         (WebCore::CSSParser::parseFontFaceValue):
2883
2884 2013-09-20  Zoltan Horvath  <zoltan@webkit.org>
2885
2886         Remove includes from LineWidth.h
2887         https://bugs.webkit.org/show_bug.cgi?id=121716
2888
2889         Reviewed by Darin Adler.
2890
2891         In r156197 I removed logicalLineHeight from LineWidth.h, so we don't need to include RenderBlock.h
2892         and RenderRubyRun.h anymore in LineWidth.h.
2893
2894         No new tests, no behavior change.
2895
2896         * rendering/LineWidth.cpp:
2897         * rendering/LineWidth.h:
2898
2899 2013-09-20  Roger Fong  <roger_fong@apple.com>
2900
2901         Handle panning gestures messages properly on Windows.
2902         https://bugs.webkit.org/show_bug.cgi?id=121711.
2903
2904         Reviewed by Brent Fulgham.
2905
2906         This is needed by the Windows port to keep track to determine whether or not
2907         we need to overpan.
2908
2909         No new functionality added.
2910
2911         * rendering/RenderLayer.cpp:
2912         (WebCore::RenderLayer::scrollByRecursively):
2913         * rendering/RenderLayer.h: 
2914         Added an argument to keep track of which scrollview was actually scrolled
2915
2916 2013-09-20  Alexandru Chiculita  <achicu@adobe.com>
2917
2918         Web Inspector: [CSS Regions] Display CSS Regions chain when highlighting a CSS Region node
2919         https://bugs.webkit.org/show_bug.cgi?id=121719
2920
2921         Reviewed by Joseph Pecoraro.
2922
2923         Test: inspector/elements/highlight-node-regions.html
2924
2925         When a CSS Region node is highlighted through the WebInspector, it will also lookup all the regions
2926         that are part of the same flow and inject enough information into InspectorOverlayPage.js to get the other
2927         CSS Regions highlighted as well. A chain will also link the regions and a number will display the ordering
2928         of the content.
2929
2930         * WebCore.exp.in:
2931         * inspector/InspectorController.cpp:
2932         (WebCore::InspectorController::buildObjectForHighlightedNode):
2933         * inspector/InspectorController.h:
2934         * inspector/InspectorOverlay.cpp:
2935         (WebCore::buildObjectForRegionHighlight):
2936         (WebCore::buildObjectForCSSRegionsHighlight):
2937         (WebCore::InspectorOverlay::buildObjectForHighlightedNode):
2938         (WebCore::InspectorOverlay::drawNodeHighlight): Separated the InspectorObject building part out of this function,
2939         so that we can call buildObjectForHighlightedNode from the Internals APIs for testing.
2940         * inspector/InspectorOverlay.h:
2941         * inspector/InspectorOverlayPage.js:
2942         (_drawRegionNumber):
2943         (_quadMidPoint):
2944         (_drawRegionLink):
2945         (_fixQuadScrollPosition):
2946         (_drawRegionsHighlight):
2947         (drawNodeHighlight):
2948         * testing/Internals.cpp: Exposed the generated InspectorObject to the layout test.
2949         (WebCore::Internals::inspectorHighlightObject):
2950         * testing/Internals.h:
2951         * testing/Internals.idl:
2952
2953 2013-09-20  Commit Queue  <commit-queue@webkit.org>
2954
2955         Unreviewed, rolling out r156185.
2956         http://trac.webkit.org/changeset/156185
2957         https://bugs.webkit.org/show_bug.cgi?id=121727
2958
2959         Caused a lot of crashes in tests (Requested by ap on #webkit).
2960
2961         * dom/Document.cpp:
2962         (WebCore::Document::Document):
2963         (WebCore::Document::recalcStyle):
2964         (WebCore::Document::updateLayout):
2965         * dom/Document.h:
2966
2967 2013-09-20  Dean Jackson  <dino@apple.com>
2968
2969         Shaders that fail to compile should be marked as such
2970         https://bugs.webkit.org/show_bug.cgi?id=121721
2971
2972         Reviewed by Simon Fraser.
2973
2974         1. Add a new logging channel for WebGL.
2975
2976         2. If a translated shader fails to compile (technically
2977         this should never happen), mark it as invalid.
2978
2979         Test: https://www.khronos.org/registry/webgl/sdk/tests/conformance/glsl/misc/shader-with-non-reserved-words.html
2980
2981         * platform/Logging.h: New WebGL channel.
2982         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
2983         (WebCore::GraphicsContext3D::compileShader): Log the raw and translated
2984         input to glCompileShader, but mark the entry as invalid.
2985
2986 2013-09-20  Mario Sanchez Prada  <mario.prada@samsung.com>
2987
2988         [ATK] Do not expose aria-help in ATK based platforms
2989         https://bugs.webkit.org/show_bug.cgi?id=121675
2990
2991         Reviewed by Chris Fleizach.
2992
2993         Stop exposing the value for the 'aria-help' attribute as an
2994         AtkObject attribute, based in AccessibilityObject::helpText().
2995
2996         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
2997         (webkitAccessibleGetAttributes): Remove the mapping.
2998
2999 2013-09-20  Simon Fraser  <simon.fraser@apple.com>
3000
3001         Scrollbars don't appear on long pages after r155660
3002         https://bugs.webkit.org/show_bug.cgi?id=121714
3003         <rdar://problem/15042478>
3004
3005         Reviewed by Beth Dakin.
3006         
3007         After r155660, we don't do any additional layouts when scrollbars are 
3008         added or removed. That caused us to not enter the code that creates or
3009         destroys composting layers for scrollbars in RenderLayerCompositor, resulting
3010         in missing scrollbars.
3011         
3012         Fix by having ScrollView::updateScrollbars() call addedOrRemovedScrollbar()
3013         when a scrollbar was added or removed, which is overridden in FrameView
3014         to call through to RenderLayerCompositor::frameViewDidAddOrRemoveScrollbars().
3015
3016         Not testable since scrollbar layers aren't contained in layer tree dumps
3017         (to reduce diffs between platforms).
3018
3019         * page/FrameView.cpp:
3020         (WebCore::FrameView::addedOrRemovedScrollbar): New function to tell the compositor
3021         that scrollbars changed.
3022         * page/FrameView.h:
3023         * platform/ScrollView.cpp:
3024         (WebCore::ScrollView::setHasHorizontalScrollbar): Change the meaning of the return
3025         value to say if the scrollbar was added or removed. Add an out param that indicates
3026         whether the scrollbar change affects content size (not true for overlay scrollbars).
3027         (WebCore::ScrollView::setHasVerticalScrollbar): Ditto.
3028         (WebCore::ScrollView::updateScrollbars): Keep track of whether scrollbars were
3029         added or removed, and call addedOrRemovedScrollbar() if true.
3030         * platform/ScrollView.h:
3031         * rendering/RenderLayerCompositor.cpp:
3032         (WebCore::RenderLayerCompositor::frameViewDidAddOrRemoveScrollbars): Call updateOverflowControlsLayers().
3033         (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
3034         * rendering/RenderLayerCompositor.h:
3035
3036 2013-09-20  Simon Fraser  <simon.fraser@apple.com>
3037
3038         Ensure that TileController tile coverage is updated on scrolling even when we don't have scrollbars
3039         https://bugs.webkit.org/show_bug.cgi?id=121700
3040         <rdar://problem/15030589>
3041
3042         Reviewed by Dean Jackson.
3043
3044         r155660 introduced a bug where we wouldn't make scrollbars on long pages. However,
3045         that revealed a fundamental flaw in the TiledBacking update logic; it relied on the
3046         GraphicsLayer flushes triggered by scrollbars updates in order to update the main
3047         TileController's tile coverage. No scrollbars meant no tile coverage updates.
3048         
3049         Fix by explicitly triggering a flush when the FrameView is scrolled (we get
3050         notified about this on the main thread after the scrolling thread has moved
3051         layers around).
3052         
3053         No test since this will only be exposed for a short time while scrollbars are
3054         broken.
3055
3056         * rendering/RenderLayerCompositor.cpp:
3057         (WebCore::RenderLayerCompositor::frameViewDidScroll):
3058
3059 2013-09-20  Zoltan Horvath  <zoltan@webkit.org>
3060
3061         Refactoring LineBreaker and RenderTextInfo out of RenderBlock.h
3062         https://bugs.webkit.org/show_bug.cgi?id=121707
3063
3064         Reviewed by David Hyatt.
3065
3066         LineBreaker and RenderTextInfo are defined in RenderBlock.h, but only used in RenderBlockLineLayout.cpp.
3067         Moving them there (LineBreaker needs to be a friend class of RenderBlock) in the first step in the process
3068         of refactoring LineBreaker::NextSegmentBreak into more manageable chunks.
3069
3070         This change was reviewed and landed in Blink:
3071         https://src.chromium.org/viewvc/blink?revision=157402&view=revision
3072
3073         No new tests.
3074
3075         * rendering/RenderBlock.h:
3076         * rendering/RenderBlockLineLayout.cpp:
3077         (WebCore::LineBreaker::LineBreaker):
3078         (WebCore::LineBreaker::lineWasHyphenated):
3079         (WebCore::LineBreaker::positionedObjects):
3080         (WebCore::LineBreaker::clear):
3081         (WebCore::RenderTextInfo::RenderTextInfo):
3082         (WebCore::RenderTextInfo::~RenderTextInfo):
3083         (WebCore::LineBreaker::skipTrailingWhitespace):
3084         (WebCore::LineBreaker::skipLeadingWhitespace):
3085         (WebCore::LineBreaker::reset):
3086         (WebCore::LineBreaker::nextLineBreak):
3087         (WebCore::LineBreaker::nextSegmentBreak):
3088
3089 2013-09-20  Zoltan Horvath  <zoltan@webkit.org>
3090
3091         Move logicalHeightForLine out of LineWidth.h
3092         https://bugs.webkit.org/show_bug.cgi?id=121575
3093
3094         Reviewed by David Hyatt.
3095
3096         In bug #121107 (r155565), I moved logicalHeightForLine into LineWidth.h as part of LineWidth
3097         refactoring. LogicalHeightForLine without passing the second parameter uses RenderBlock::lineHeight
3098         anyway, except it doesn't take -line-box-contain CSS property into account. For Shapes we don't
3099         have implementation for variable-height lines (https://bugs.webkit.org/show_bug.cgi?id=95361) yet, so
3100         so I modified the affected functions to call lineHeight directly. I renamed logicalHeightForLine
3101         to minLineHeightForReplacedRenderer, and I made the second parameter a mandatory for that function.
3102
3103         No new tests, no behavior change.
3104
3105         * rendering/LineWidth.cpp:
3106         (WebCore::LineWidth::updateAvailableWidth):
3107         (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
3108         * rendering/LineWidth.h:
3109         * rendering/RenderBlock.cpp: Move the definition here.
3110         (WebCore::RenderBlock::minLineHeightForReplacedRenderer):
3111         * rendering/RenderBlock.h: Move the function here and rename it.
3112         * rendering/RenderBlockLineLayout.cpp:
3113         (WebCore::RenderBlock::layoutShapeInsideInfo):
3114         (WebCore::updateLogicalInlinePositions):
3115         (WebCore::updateSegmentsForShapes):
3116
3117 2013-09-20  Alexey Proskuryakov  <ap@apple.com>
3118
3119         -[WebHTMLConveter _getFloat:forNode:property:] leaks
3120         https://bugs.webkit.org/show_bug.cgi?id=121709
3121
3122         Reviewed by Enrica Casucci.
3123
3124         * platform/mac/HTMLConverter.mm:
3125         (-[WebHTMLConverter _getFloat:forNode:property:]): Don't leak.
3126
3127 2013-09-20  Yongjun Zhang  <yongjun_zhang@apple.com>
3128
3129         Add an argument to ImageSource::createFrameAtIndex to hint a decoder that we expect a scaled image.
3130         https://bugs.webkit.org/show_bug.cgi?id=121696
3131
3132         Reviewed by Antti Koivisto.
3133
3134         Add an argument to ImageSource::createFrameAtIndex.  A platform image decoder can decide the optimal
3135         scale based on the hint and pass the real scale it used for decoding.
3136
3137         No new tests, no behavior change.
3138
3139         * platform/graphics/ImageSource.cpp:
3140         (WebCore::ImageSource::createFrameAtIndex):
3141         * platform/graphics/ImageSource.h:
3142         * platform/graphics/cg/ImageSourceCG.cpp:
3143         (WebCore::ImageSource::createFrameAtIndex):
3144
3145 2013-09-20  Andreas Kling  <akling@apple.com>
3146
3147         Make JSMainThreadNullState noncopyable.
3148
3149         Blindly rubber-stamped by Antti Koivisto.
3150
3151         * bindings/js/JSMainThreadExecState.h:
3152
3153 2013-09-20  Dan Bernstein  <mitz@apple.com>
3154
3155         Make extract-localizable-strings available to WebCore clients
3156         https://bugs.webkit.org/show_bug.cgi?id=121699
3157
3158         Reviewed by Darin Adler.
3159
3160         * WebCore.xcodeproj/project.pbxproj: Added a Scripts group with a reference to
3161         extract-localizable-strings.pl. Added a Copy Scripts build phase to the WebCore target that
3162         copies the script into PrivateHeaders/Scripts in the framework.
3163         * extract-localizable-strings.pl: Copied from Tools/Scripts/extract-localizable-strings.
3164
3165 2013-09-20  Antti Koivisto  <antti@apple.com>
3166
3167         Move layer hierarchy functions from RenderObject to RenderElement
3168         https://bugs.webkit.org/show_bug.cgi?id=121692
3169
3170         Reviewed by Andreas Kling.
3171
3172         * rendering/RenderElement.cpp:
3173         (WebCore::RenderElement::addLayers):
3174         (WebCore::RenderElement::removeLayers):
3175         (WebCore::RenderElement::moveLayers):
3176         (WebCore::RenderElement::findNextLayer):
3177         (WebCore::RenderElement::layerCreationAllowedForSubtree):
3178         
3179             Move these from RenderObject.
3180
3181         (WebCore::RenderElement::insertedIntoTree):
3182         (WebCore::RenderElement::willBeRemovedFromTree):
3183         
3184             Factor the layer related portion of these virtuals here.
3185
3186 2013-09-20  Benjamin Poulain  <benjamin@webkit.org>
3187
3188         Start cleaning the API of SelectorChecker
3189         https://bugs.webkit.org/show_bug.cgi?id=121654
3190
3191         Reviewed by Antti Koivisto.
3192
3193         Make the matching mode internal.
3194         Remove unused accessors.
3195         Make isFrameFocused() internal.
3196
3197         * css/ElementRuleCollector.cpp:
3198         (WebCore::ElementRuleCollector::ruleMatches):
3199         * css/SelectorChecker.cpp:
3200         (WebCore::SelectorChecker::matchRecursively):
3201         (WebCore::SelectorChecker::checkOne):
3202         (WebCore::isFrameFocused):
3203         * css/SelectorChecker.h:
3204         (WebCore::SelectorChecker::match):
3205         * css/StyleResolver.h:
3206         (WebCore::checkRegionSelector):
3207         * dom/SelectorQuery.cpp:
3208         (WebCore::SelectorDataList::selectorMatches):
3209
3210 2013-09-20  Benjamin Poulain  <benjamin@webkit.org>
3211
3212         Remove SelectorChecker's CrossesBoundary boundary mode
3213         https://bugs.webkit.org/show_bug.cgi?id=121653
3214
3215         Reviewed by Antti Koivisto.
3216
3217         This mode is an ancient vestige of shadow dom.
3218
3219         * css/SelectorChecker.cpp:
3220         (WebCore::SelectorChecker::match):
3221         (WebCore::SelectorChecker::checkOne):
3222         * css/SelectorChecker.h:
3223
3224 2013-09-20  Benjamin Poulain  <benjamin@webkit.org>
3225
3226         Move the SharingRules mode outside of SelectorChecker
3227         https://bugs.webkit.org/show_bug.cgi?id=121652
3228
3229         Reviewed by Antti Koivisto.
3230
3231         The SharingRules handling inside SelectorChecker is a weird hack
3232         to hit a specific branch of ElementRuleCollector.
3233
3234         This patch moves the exception to ElementRuleCollector, where it is easier
3235         to understand what it is for.
3236
3237         * css/ElementRuleCollector.cpp:
3238         (WebCore::ElementRuleCollector::doCollectMatchingRulesForList):
3239         * css/SelectorChecker.cpp:
3240         (WebCore::SelectorChecker::match):
3241
3242 2013-09-20  Yoav Weiss  <yoav@yoav.ws>
3243
3244         Fixed img src URLS with multiple spaces
3245         https://bugs.webkit.org/show_bug.cgi?id=121592
3246
3247         Reviewed by Darin Adler.
3248
3249         Test: fast/loader/image-src-multiple-space.html
3250
3251         I've removed the simplifyWhiteSpace step from HTMLImageElement's src attribute during the srcset selection algorithm.
3252         That step prevented URLs with multiple spaces from being loaded as images, minimizing the multiple spaces into a single one.
3253
3254         * html/parser/HTMLParserIdioms.cpp:
3255         (WebCore::bestFitSourceForImageAttributes):
3256
3257 2013-09-20  Arunprasad Rajkumar  <ararunprasad@gmail.com>
3258
3259         Hiding a focused element should unfocus it and fire a blur event
3260         https://bugs.webkit.org/show_bug.cgi?id=29241
3261
3262         Reviewed by Darin Adler.
3263
3264         Test: fast/dom/HTMLDocument/active-element-gets-unfocusable.html
3265
3266         We check whether the current focus element is really focusable after
3267         the style recalculation and layout change. If it is not focusable then schedule a
3268         timer to reset it asynchronously.
3269
3270         * dom/Document.cpp:
3271         (WebCore::Document::Document):
3272         (WebCore::Document::recalcStyle): Check isFocusable() on the focus element after
3273         style recalculation.
3274         (WebCore::Document::updateLayout): Check isFocusable() on the focus element after
3275         layout.
3276         (WebCore::Document::resetHiddenFocusElementSoon):
3277         (WebCore::Document::resetHiddenFocusElementTimer):
3278         * dom/Document.h:
3279
3280 2013-09-20  Alexey Proskuryakov  <ap@apple.com>
3281
3282         REGRESSION (r156140): Srcset tests are frequently crashing
3283         https://bugs.webkit.org/show_bug.cgi?id=121695
3284
3285         Reviewed by Dean Jackson.
3286
3287         Returning a string created without copying bytes is not safe. It used to be OK
3288         because a new string was immediately created by decodeURLEscapeSequences().
3289         But even that was not great, because decodeURLEscapeSequences() could potentially
3290         return the same string, not a deep copy, if we decided to optimize it like that.
3291
3292         Also made a number of drive-by style fixes.
3293         - It's URL, not Url.
3294         - It's srcset, not srcSet.
3295         -  We don't add ".0" in floating point value initializers. It's particularly misleading
3296         to initialize a float with 1.0, which is a double value.
3297         - Renamed srcSetLength to srcsetAttributeLength to match srcsetAttribute variable
3298         whose length it caches.
3299
3300         * html/parser/HTMLParserIdioms.cpp:
3301         (WebCore::parseImagesWithScaleFromSrcsetAttribute):
3302         (WebCore::bestFitSourceForImageAttributes):
3303
3304 2013-09-19  Martin Robinson  <mrobinson@igalia.com>
3305
3306         [GTK] Clean up the Skip* functions in the GObject DOM bindings code generator
3307         https://bugs.webkit.org/show_bug.cgi?id=121633
3308
3309         Reviewed by Gustavo Noronha Silva.
3310
3311         * bindings/scripts/CodeGeneratorGObject.pm:
3312         (SkipAttribute): Fold in some skipping checks that are used by all callers.
3313         (SkipFunction): Ditto.
3314         (GenerateProperties): Rely on SkipAttribute more thoroughly.
3315         (GenerateFunction): Rely on SkipFunction more thoroughly.
3316         (GenerateFunctions): Rely on SkipAttribute more thoroughly.
3317
3318 2013-09-20  Patrick Gansterer  <paroga@webkit.org>
3319
3320         Fix the build after r156144
3321
3322         * html/canvas/CanvasRenderingContext2D.cpp: Added missing include.
3323
3324 2013-09-20  Ryosuke Niwa  <rniwa@webkit.org>
3325
3326         renderStyleOfEnclosingTextNode should update style before using a renderer
3327         https://bugs.webkit.org/show_bug.cgi?id=121690
3328
3329         Reviewed by Enrica Casucci.
3330
3331         Merge https://chromium.googlesource.com/chromium/blink/+/65f089545e8c18cb268dfcbe56cba1cd8045527a
3332
3333         When accessing a renderer editing should always make sure that the style has been updated for the node.
3334         Editing calls splitTextNode in a number of places and then accesses the renderer later. This patch is
3335         the first of many to make sure editing always updates the style before attempting to access the renderer
3336         (or style) of a node after calling a mutation method.
3337
3338         * editing/ApplyBlockElementCommand.cpp:
3339         (WebCore::ApplyBlockElementCommand::renderStyleOfEnclosingTextNode):
3340         * editing/ApplyBlockElementCommand.h:
3341
3342 2013-09-20  Darin Adler  <darin@apple.com>
3343
3344         Fix a couple more CSS leaks
3345         https://bugs.webkit.org/show_bug.cgi?id=121683
3346
3347         Reviewed by Alexey Proskuryakov.
3348
3349         * css/CSSDefaultStyleSheets.cpp:
3350         (WebCore::CSSDefaultStyleSheets::viewSourceStyle): Put the result of the
3351         parseUASheet into a global variable so it doesn't show up as a storage leak.
3352
3353         * css/CSSGrammar.y.in: Added a missing adoptRef. This was leaking any rule
3354         we parsed individually.
3355
3356 2013-09-20  Bem Jones-Bey  <bjonesbe@adobe.com>
3357
3358         Simplify the ShapeOutsideInfo and ShapeInfo interfaces
3359         https://bugs.webkit.org/show_bug.cgi?id=121685
3360
3361         Reviewed by Darin Adler.
3362
3363         With the creation ShapeInfo::computeSegmentsForLine, it became possible to
3364         simplify the ShapeInfo classes. ShapeOutsideInfo has no need to save the
3365         segments, and now that segment creation is in its own method, it doesn't have
3366         to save the segments anymore. This also simplifies the public interface of
3367         ShapeOutsideInfo, as it only has one method to do the computation.
3368
3369         Also, the methods in ShapeOutsideInfo have been renamed to reflect the fact
3370         that ShapeOutsideInfo isn't really interested in segments.
3371
3372         No new tests, no new behavior.
3373
3374         * rendering/FloatingObjects.cpp:
3375         (WebCore::FloatingObjects::logicalLeftOffset):
3376         (WebCore::FloatingObjects::logicalRightOffset):
3377         * rendering/LineWidth.cpp:
3378         (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
3379         * rendering/shapes/ShapeInfo.cpp:
3380         * rendering/shapes/ShapeInfo.h:
3381         * rendering/shapes/ShapeInsideInfo.h:
3382         * rendering/shapes/ShapeOutsideInfo.cpp:
3383         (WebCore::ShapeOutsideInfo::updateDeltasForContainingBlockLine):
3384         * rendering/shapes/ShapeOutsideInfo.h:
3385
3386 2013-09-20  Antonio Gomes  <a1.gomes@sisa.samsung.com>
3387
3388         Making tests added in r156157 JS-only, given that other
3389         code generators are still broken.
3390
3391         Original bug 121305 (StrictTypeChecking extended attribute fails for methods with sequence<T>).
3392         https://bugs.webkit.org/show_bug.cgi?id=121305
3393
3394         Rubber stamped by Alexey Proskuryakov.
3395
3396         * bindings/scripts/test/TestObj.idl:
3397
3398 2013-09-20  Jacky Jiang  <zhajiang@blackberry.com>
3399
3400         [BlackBerry] Poor rendering opening a Google map short link
3401         https://bugs.webkit.org/show_bug.cgi?id=121687
3402
3403         Reviewed by Yong Li.
3404         Internally reviewed by Arvid Nilsson.
3405
3406         JIRA 495023
3407         Route lines on google map were shown even they were on a hidden canvas.
3408         Include visibility on LayerWebKitThread if it's a canvas layer and respect
3409         the visibility when compositing layers in LayerRenderer.
3410
3411         * platform/graphics/blackberry/LayerData.h:
3412         (WebCore::LayerData::isCanvasLayer):
3413         (WebCore::LayerData::isVisible):
3414         (WebCore::LayerData::includeVisibility):
3415         * platform/graphics/blackberry/LayerRenderer.cpp:
3416         (WebCore::LayerRenderer::compositeLayersRecursive):
3417
3418 2013-09-20  Sam White  <samuel_white@apple.com>
3419
3420         AX: WebArea claims to have a subrole, but always returns nil.
3421         https://bugs.webkit.org/show_bug.cgi?id=121658
3422
3423         Reviewed by Chris Fleizach.
3424
3425         No new tests, updated existing AXWebArea related test to reflect unused attribute removal.
3426
3427         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
3428         (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
3429
3430 2013-09-20  Andreas Kling  <akling@apple.com>
3431
3432         Add valueForLength/minimumValueForLength wrappers to RenderElement.
3433         <https://webkit.org/b/121676>
3434
3435         Reviewed by Antti Koivisto.
3436
3437         Add two inline wrappers for these functions so we don't have to pass
3438         the RenderView everywhere.
3439
3440 2013-09-20  Martin Robinson  <mrobinson@igalia.com>
3441
3442         [GTK] Fix some small style issues in the bindings
3443         https://bugs.webkit.org/show_bug.cgi?id=121613
3444
3445         Reviewed by Carlos Garcia Campos.
3446
3447         * bindings/scripts/CodeGeneratorGObject.pm: When printing the license
3448         header use the more common comment style within the WebKit project.
3449         (GenerateProperty): Indent property definitions according to WebKit style, improve
3450         the nick and blurb properties, and improve the various parameter spec argument layout.
3451         (GenerateFunction): Remove the newline from function signatures to match WebKit style.
3452         * bindings/scripts/test/GObject: Update bindings test results.
3453
3454 2013-09-20  Patrick Gansterer  <paroga@webkit.org>
3455
3456         [CMake] Use COMPILE_DEFINITIONS target property for setting BUILDING_* defines
3457         https://bugs.webkit.org/show_bug.cgi?id=121672
3458
3459         Reviewed by Gyuyoung Kim.
3460
3461         Since the scope of add_definitions() is always a whole file, we need to use
3462         target properties instead to set definitions only for specific targets.
3463
3464         * CMakeLists.txt:
3465
3466 2013-09-18  Antonio Gomes  <a1.gomes@sisa.samsung.com>
3467
3468         Make "autoscroll for drag'n drop" a setting
3469         https://bugs.webkit.org/show_bug.cgi?id=121559
3470
3471         Reviewed by Ryosuke Niwa.
3472
3473         Currently, there is a ChromeClient hook to make the
3474         feature opt'ed-in or out. That makes it harder to test the
3475        &nb