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