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