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