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