913c81de72596833254b1c30701ea1ab3f773b2a
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-11-05  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2
3         [CSS] Enable css-image-orientation on EFL and GTK ports.
4         https://bugs.webkit.org/show_bug.cgi?id=123698
5
6         Reviewed by Beth Dakin.
7
8         r157909 added wrong early return for css-image-orientation. It causes about 20 regressions in layout test
9         when enabling css-image-orientation. This fixes those wrong implementation as well as enables it on EFL
10         and GTK ports by default.
11
12         Test: fast/css/image-orientation/image-orientation.html
13
14         * loader/cache/CachedImage.cpp:
15         (WebCore::CachedImage::imageSizeForRenderer):
16         * platform/graphics/BitmapImage.cpp:
17         (WebCore::BitmapImage::updateSize):
18
19 2013-11-05  Andreas Kling  <akling@apple.com>
20
21         RenderEmbeddedObject shouldn't know about fallback content.
22         <https://webkit.org/b/123781>
23
24         Stop caching the presence of fallback (DOM) content in a flag on
25         RenderEmbeddedObject and have SubframeLoader fetch it directly from
26         HTMLObjectElement instead.
27
28         Also made SubframeLoader::requestObject() take the owner element
29         by reference since we don't support owner-less embedded objects.
30
31         Reviewed by Antti Koivisto.
32
33 2013-11-05  Xabier Rodriguez Calvar  <calvaris@igalia.com>
34
35         [GStreamer] Remove NATIVE_FULLSCREEN_VIDEO support
36         https://bugs.webkit.org/show_bug.cgi?id=123437
37
38         Reviewed by Philippe Normand.
39
40         Removed some dead code as no GStreamer port is using the native
41         fullscreen video support.
42
43         * GNUmakefile.list.am:
44         * PlatformEfl.cmake:
45         * PlatformGTK.cmake: Removed compilation of deleted files.
46         * platform/graphics/MediaPlayer.h: Removed structures related to
47         GStreamer and NATIVE_FULLSCREEN_VIDEO.
48         * platform/graphics/gstreamer/FullscreenVideoControllerGStreamer.cpp: Removed.
49         * platform/graphics/gstreamer/FullscreenVideoControllerGStreamer.h: Removed.
50         * platform/graphics/gstreamer/GStreamerGWorld.cpp: Removed.
51         * platform/graphics/gstreamer/GStreamerGWorld.h: Removed.
52         * platform/graphics/gstreamer/ImageGStreamerCairo.cpp: Removed
53         gst/video/video.h include.
54         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
55         (WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase):
56         (WebCore::MediaPlayerPrivateGStreamerBase::platformMedia):
57         (WebCore::MediaPlayerPrivateGStreamerBase::createVideoSink):
58         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
59         Removed code related to GStreamer and NATIVE_FULLSCREEN_VIDEO.
60         * platform/graphics/gstreamer/PlatformVideoWindow.h: Removed.
61         * platform/graphics/gstreamer/PlatformVideoWindowEfl.cpp: Removed.
62         * platform/graphics/gstreamer/PlatformVideoWindowGtk.cpp: Removed.
63         * platform/graphics/gstreamer/PlatformVideoWindowMac.mm: Removed.
64         * platform/graphics/gstreamer/PlatformVideoWindowNix.cpp: Removed.
65         * platform/graphics/gstreamer/PlatformVideoWindowPrivate.h: Removed.
66         * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
67         (webkitVideoSinkRender):
68         (webkitVideoSinkNew):
69         * platform/graphics/gstreamer/VideoSinkGStreamer.h: Removed code
70         related to GStreamer and NATIVE_FULLSCREEN_VIDEO.
71         * platform/graphics/gtk/FullscreenVideoControllerGtk.cpp: Removed.
72         * platform/graphics/gtk/FullscreenVideoControllerGtk.h: Removed.
73
74 2013-11-05  Andreas Kling  <akling@apple.com>
75
76         Remove RenderWidget::viewCleared().
77         <https://webkit.org/b/123777>
78
79         This was some ancient hand-waving code from the KHTML era.
80
81         It was obviously confused (e.g RenderEmbeddedObject trying to handle
82         iframe owners, even though that setup is impossible.)
83
84         Reviewed by Anders Carlsson.
85
86 2013-11-04  Brady Eidson  <beidson@apple.com>
87
88         IDB: Split backend Cursors and Transactions into their own files
89         https://bugs.webkit.org/show_bug.cgi?id=123789
90
91         Reviewed by Alexey Proskuryakov.
92
93         No new tests (Rename, no change in behavior).
94
95         * CMakeLists.txt:
96         * GNUmakefile.list.am:
97         * WebCore.xcodeproj/project.pbxproj:
98
99         * Modules/indexeddb/IDBBackingStoreCursorInterface.h:
100         (WebCore::IDBBackingStoreCursorInterface::~IDBBackingStoreCursorInterface):
101
102         * Modules/indexeddb/IDBBackingStoreInterface.h:
103
104         * Modules/indexeddb/IDBBackingStoreTransactionInterface.h: Added.
105         (WebCore::IDBBackingStoreTransactionInterface::~IDBBackingStoreTransactionInterface):
106
107         * Modules/indexeddb/IDBCursorBackendImpl.cpp:
108         (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
109         * Modules/indexeddb/IDBCursorBackendImpl.h:
110         (WebCore::IDBCursorBackendImpl::create):
111
112         * Modules/indexeddb/IDBFactoryBackendInterface.h:
113
114         * Modules/indexeddb/IDBIndexWriter.cpp:
115         (WebCore::IDBIndexWriter::writeIndexKeys):
116         (WebCore::IDBIndexWriter::verifyIndexKeys):
117         (WebCore::IDBIndexWriter::addingKeyAllowed):
118         * Modules/indexeddb/IDBIndexWriter.h:
119
120         * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
121         (WebCore::IDBTransactionBackendImpl::createCursorBackend):
122         * Modules/indexeddb/IDBTransactionBackendImpl.h:
123         * Modules/indexeddb/IDBTransactionBackendInterface.h:
124
125         * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
126         (WebCore::GetOperation::perform):
127         (WebCore::OpenCursorOperation::perform):
128         (WebCore::CountOperation::perform):
129         (WebCore::DeleteRangeOperation::perform):
130
131         * Modules/indexeddb/leveldb/IDBBackingStoreCursorLevelDB.cpp: Added.
132         (WebCore::IDBBackingStoreCursorLevelDB::IDBBackingStoreCursorLevelDB):
133         (WebCore::IDBBackingStoreCursorLevelDB::firstSeek):
134         (WebCore::IDBBackingStoreCursorLevelDB::advance):
135         (WebCore::IDBBackingStoreCursorLevelDB::continueFunction):
136         (WebCore::IDBBackingStoreCursorLevelDB::haveEnteredRange):
137         (WebCore::IDBBackingStoreCursorLevelDB::isPastBounds):
138         * Modules/indexeddb/leveldb/IDBBackingStoreCursorLevelDB.h: Added.
139         (WebCore::IDBBackingStoreCursorLevelDB::~IDBBackingStoreCursorLevelDB):
140         (WebCore::IDBBackingStoreCursorLevelDB::IDBBackingStoreCursorLevelDB):
141
142         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
143         (WebCore::IDBBackingStoreLevelDB::compareIndexKeys):
144         (WebCore::IDBBackingStoreLevelDB::updateIDBDatabaseVersion):
145         (WebCore::IDBBackingStoreLevelDB::createObjectStore):
146         (WebCore::IDBBackingStoreLevelDB::deleteObjectStore):
147         (WebCore::IDBBackingStoreLevelDB::getRecord):
148         (WebCore::IDBBackingStoreLevelDB::putRecord):
149         (WebCore::IDBBackingStoreLevelDB::clearObjectStore):
150         (WebCore::IDBBackingStoreLevelDB::deleteRecord):
151         (WebCore::IDBBackingStoreLevelDB::getKeyGeneratorCurrentNumber):
152         (WebCore::IDBBackingStoreLevelDB::maybeUpdateKeyGeneratorCurrentNumber):
153         (WebCore::IDBBackingStoreLevelDB::keyExistsInObjectStore):
154         (WebCore::IDBBackingStoreLevelDB::createIndex):
155         (WebCore::IDBBackingStoreLevelDB::deleteIndex):
156         (WebCore::IDBBackingStoreLevelDB::putIndexDataForRecord):
157         (WebCore::findGreatestKeyLessThanOrEqual):
158         (WebCore::IDBBackingStoreLevelDB::findKeyInIndex):
159         (WebCore::IDBBackingStoreLevelDB::getPrimaryKeyViaIndex):
160         (WebCore::IDBBackingStoreLevelDB::keyExistsInIndex):
161         (WebCore::ObjectStoreKeyCursorImpl::create):
162         (WebCore::ObjectStoreKeyCursorImpl::clone):
163         (WebCore::ObjectStoreKeyCursorImpl::ObjectStoreKeyCursorImpl):
164         (WebCore::ObjectStoreCursorImpl::create):
165         (WebCore::ObjectStoreCursorImpl::clone):
166         (WebCore::ObjectStoreCursorImpl::ObjectStoreCursorImpl):
167         (WebCore::objectStoreCursorOptions):
168         (WebCore::indexCursorOptions):
169         (WebCore::IDBBackingStoreLevelDB::openObjectStoreCursor):
170         (WebCore::IDBBackingStoreLevelDB::openObjectStoreKeyCursor):
171         (WebCore::IDBBackingStoreLevelDB::openIndexKeyCursor):
172         (WebCore::IDBBackingStoreLevelDB::openIndexCursor):
173         (WebCore::IDBBackingStoreLevelDB::createBackingStoreTransaction):
174         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
175  
176        * Modules/indexeddb/leveldb/IDBBackingStoreTransactionLevelDB.cpp: Added.
177         (WebCore::IDBBackingStoreTransactionLevelDB::IDBBackingStoreTransactionLevelDB):
178         (WebCore::IDBBackingStoreTransactionLevelDB::begin):
179         (WebCore::IDBBackingStoreTransactionLevelDB::commit):
180         (WebCore::IDBBackingStoreTransactionLevelDB::rollback):
181         * Modules/indexeddb/leveldb/IDBBackingStoreTransactionLevelDB.h:
182
183         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
184         (WebCore::IDBFactoryBackendLevelDB::createCursorBackend):
185         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
186
187 2013-11-04  Zalan Bujtas  <zalan@apple.com>
188
189         Do not call setFrameRect on Widget unless its boundaries changed.
190         https://bugs.webkit.org/show_bug.cgi?id=123781
191
192         Reviewed by Andreas Kling.
193
194         Call Widget:setFrameRect only when the frame's rect actually changes. It also
195         cleans up the related weak reference code a bit.
196         
197         Covered by existing tests.
198
199         * rendering/RenderWidget.cpp:
200         (WebCore::RenderWidget::setWidgetGeometry): 
201
202 2013-11-04  Santosh Mahto  <santosh.ma@samsung.com>
203
204         [webcore/html] remove extra header includes from cpp files.
205         https://bugs.webkit.org/show_bug.cgi?id=123740
206
207         Reviewed by Darin Adler.
208
209         Removing redundant headers.
210
211         * html/BaseDateAndTimeInputType.cpp:
212         * html/ColorInputType.cpp:
213         * html/DOMFormData.cpp:
214         * html/DOMURL.cpp:
215         * html/DateInputType.cpp:
216         * html/DateTimeInputType.cpp:
217         * html/DateTimeLocalInputType.cpp:
218         * html/FTPDirectoryDocument.cpp:
219         * html/FileInputType.cpp:
220         * html/FormController.cpp:
221         * html/HTMLAnchorElement.cpp:
222         * html/HTMLAreaElement.cpp:
223         * html/HTMLCanvasElement.cpp:
224         * html/HTMLCollection.cpp:
225         * html/HTMLDetailsElement.cpp:
226         * html/HTMLDocument.cpp:
227         * html/HTMLElement.cpp:
228         * html/HTMLFormControlsCollection.cpp:
229         * html/HTMLFormElement.cpp:
230         * html/HTMLImageElement.cpp:
231         * html/HTMLInputElement.cpp:
232         * html/HTMLLegendElement.cpp:
233         * html/HTMLMapElement.cpp:
234         * html/HTMLMediaElement.cpp:
235         * html/HTMLOptionElement.cpp:
236         * html/HTMLOptionsCollection.cpp:
237         * html/HTMLPlugInImageElement.cpp:
238         * html/HTMLProgressElement.cpp:
239         * html/HTMLSummaryElement.cpp:
240         * html/HTMLTemplateElement.cpp:
241         * html/HTMLVideoElement.cpp:
242         * html/HTMLViewSourceDocument.cpp:
243         * html/MediaController.cpp:
244         * html/MediaKeyEvent.cpp:
245         * html/MonthInputType.cpp:
246         * html/RangeInputType.cpp:
247         * html/StepRange.cpp:
248         * html/TextFieldInputType.cpp:
249         * html/TimeInputType.cpp:
250         * html/WeekInputType.cpp:
251         * html/canvas/CanvasRenderingContext.cpp:
252         * html/canvas/CanvasRenderingContext2D.cpp:
253         * html/canvas/CanvasStyle.cpp:
254         * html/canvas/OESVertexArrayObject.cpp:
255         * html/parser/BackgroundHTMLParser.cpp:
256         * html/parser/CSSPreloadScanner.cpp:
257         * html/parser/CompactHTMLToken.cpp:
258         * html/parser/HTMLConstructionSite.cpp:
259         * html/parser/HTMLDocumentParser.cpp:
260         * html/parser/HTMLElementStack.cpp:
261         * html/parser/HTMLFormattingElementList.cpp:
262         * html/parser/HTMLMetaCharsetParser.cpp:
263         * html/parser/HTMLParserIdioms.cpp:
264         * html/parser/HTMLPreloadScanner.cpp:
265         * html/parser/HTMLTokenizer.cpp:
266         * html/parser/HTMLTreeBuilder.cpp:
267         * html/parser/HTMLTreeBuilderSimulator.cpp:
268         * html/parser/HTMLViewSourceParser.cpp:
269         * html/parser/TextDocumentParser.cpp:
270         * html/parser/XSSAuditor.cpp:
271         * html/shadow/ContentDistributor.cpp:
272         * html/shadow/InsertionPoint.cpp:
273         * html/shadow/MediaControlElements.cpp:
274         * html/shadow/MediaControlsApple.cpp:
275         * html/shadow/MediaControlsBlackBerry.cpp:
276         * html/shadow/MediaControlsGtk.cpp:
277         * html/shadow/SliderThumbElement.cpp:
278         * html/track/AudioTrack.cpp:
279         * html/track/InbandGenericTextTrack.cpp:
280         * html/track/InbandTextTrack.cpp:
281         * html/track/InbandWebVTTTextTrack.cpp:
282         * html/track/TextTrack.cpp:
283         * html/track/TextTrackCueGeneric.cpp:
284         * html/track/TextTrackList.cpp:
285         * html/track/TextTrackRegion.cpp:
286         * html/track/TrackListBase.cpp:
287         * html/track/VideoTrack.cpp:
288         * html/track/WebVTTParser.cpp:
289
290 2013-11-04  Brady Eidson  <beidson@apple.com>
291
292         IDB: deleteDatabase() interface should be asynchronous
293         https://bugs.webkit.org/show_bug.cgi?id=123787
294
295         Reviewed by Tim Horton.
296
297         No new tests (No behavior change for a tested port).
298
299         deleteDatabase now has no return value, but calls back to a bool function:
300         * Modules/indexeddb/IDBBackingStoreInterface.h:
301         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
302         (WebCore::IDBBackingStoreLevelDB::deleteDatabase):
303         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
304
305         Refactor to account for the new async deleteDatabase:
306         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
307         (WebCore::IDBDatabaseBackendImpl::processPendingCalls):
308         (WebCore::IDBDatabaseBackendImpl::deleteDatabase):
309         (WebCore::IDBDatabaseBackendImpl::deleteDatabaseAsync):
310         * Modules/indexeddb/IDBDatabaseBackendImpl.h:
311
312 2013-11-04  Brady Eidson  <beidson@apple.com>
313
314         Add Modules/indexeddb/leveldb to the WebCore.xcodeproj
315
316         Rubberstamped by Andreas Kling.
317
318         This will make hacking on IDB much easier for Mac developers as they won’t have
319         to constantly add and then subtract the leveldb subdirectory.
320
321         The USE(LEVELDB) flag is still disabled so these files won’t actually build by default.
322
323         * WebCore.xcodeproj/project.pbxproj:
324
325 2013-11-04  Brady Eidson  <beidson@apple.com>
326
327         Address review feedback I forgot to commit in r158641
328
329         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
330         (WebCore::IDBDatabaseBackendImpl::processPendingOpenCalls):
331
332 2013-11-04  Brady Eidson  <beidson@apple.com>
333
334         IDB: Make opening/establishing a database asynchronous.
335         https://bugs.webkit.org/show_bug.cgi?id=123775
336
337         Reviewed by Andreas Kling.
338
339         No new tests (No behavior change for a tested port).
340
341         * Modules/indexeddb/IDBBackingStoreInterface.h: Add getOrEstablishIDBDatabaseMetadata with a callback,
342           removing getIDBDatabaseMetaData, getObjectStores, and createIDBDatabaseMetaData in the process.
343
344         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
345         (WebCore::IDBBackingStoreLevelDB::getOrEstablishIDBDatabaseMetadata): Adapted from getIDBDatabaseMetaData,
346           implement the asynchronous interface in terms of other LevelDB methods, always calling back synchronously.
347         (WebCore::IDBBackingStoreLevelDB::createIDBDatabaseMetaData):
348         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
349
350         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
351         (WebCore::IDBDatabaseBackendImpl::create):
352         (WebCore::IDBDatabaseBackendImpl::openInternalAsync): Broken off from openInternal.
353         (WebCore::IDBDatabaseBackendImpl::didOpenInternalAsync): Broken off from openInternal.
354         (WebCore::IDBDatabaseBackendImpl::processPendingCalls):
355         (WebCore::IDBDatabaseBackendImpl::processPendingOpenCalls): Broken off to allow didOpenInternalAsync
356           to perform open callbacks in the failure case.
357         (WebCore::IDBDatabaseBackendImpl::openConnection): Always queue open connection calls, then immediately processPendingCalls.
358         (WebCore::IDBDatabaseBackendImpl::openConnectionInternal): Actually perform open connection calls.
359         * Modules/indexeddb/IDBDatabaseBackendImpl.h:
360
361
362 2013-11-04  Andreas Kling  <akling@apple.com>
363
364         CTTE: RenderFrameBase's widget is always a FrameView.
365         <https://webkit.org/b/123771>
366
367         Delete widget() from RenderFrameBase and supplant a childView()
368         that returns FrameView*. Strip away unnecessary casts and asserts.
369
370         Reviewed by Antti Koivisto.
371
372 2013-11-04  Zoltan Horvath  <zoltan@webkit.org>
373
374         [CSS Regions][CSS Shapes] Content in region doesn't respect shape-outside after initial layout pass
375         <https://webkit.org/b/114829>
376
377         Although we set the size of a shape for shape-outside in RenderBlockFlow::insertFloatingObject based on the
378         float's size, the actual height of the float is not always resolved at that point. (Look at cases when the shape
379         has percentage based height or percentage based radius.) ShapeInfo::setShapeSize triggers a layout for 0 height
380         value, which will be overriden later, when RenderBlockFlow::positionNewFloats sets the actual size of the float (shape).
381         Thus it doesn't make sense to set the shape's size in insertFloatingObject and run those extra unnecessary layout passes,
382         since it'll be overriden anyways. I moved the shape size setting logic into RenderBlockFlow::positionNewFloats.
383
384         The problem showed up when we had a shape-outside ellipse with percentage based radius, and we inserted the content
385         with JavaScript into a region flow. The content has been layed out based on the 0 border radius, and relayout hasn't been
386         triggered when it flew into the flow. This change sets the shape size only when we already have the height of the float,
387         so the radius(es) can be resolved correctly, thus no unnecessary layout passes will happen and the layout will be correct as well.
388
389         Reviewed by David Hyatt.
390
391         Test: fast/shapes/shape-outside-floats/shape-outside-floats-layout-after-initial-layout-pass.html
392
393         * rendering/RenderBlockFlow.cpp:
394         (WebCore::RenderBlockFlow::insertFloatingObject): Remove setting the size of the shape.
395         (WebCore::RenderBlockFlow::positionNewFloats): Set the size of the shape here.
396
397 2013-11-04  Samuel White  <samuel_white@apple.com>
398
399         AX: AXShowMenu doesn't always work.
400         https://bugs.webkit.org/show_bug.cgi?id=123649
401
402         Reviewed by Chris Fleizach.
403
404         No new tests, the change occurs in a code path that forces the context menu to show which
405         locks up DRT if we try to test it (platform menu is shown). The change itself gives the mouse
406         event handler a chance to handle our platform mouse event BEFORE the event ends up in the show
407         context menu machinery. This is necessary because without it, the element will not become
408         focused. Without focus, accessibility shows different/less menu items than a mouse click. The
409         end result is that context menus shown via accessibility are consistent with menus shown via click.
410
411         * page/ContextMenuController.cpp:
412         (WebCore::ContextMenuController::showContextMenuAt):
413
414 2013-11-04  Jeffrey Pfau  <jpfau@apple.com>
415
416         SMIL timers can still fire after the containing document has been torn down
417         <https://webkit.org/b/123291>
418
419         Reviewed by Darin Adler.
420
421         Ensure that the timers get paused when the document is preparing to be torn down.
422
423         Test: svg/animations/smil-timers-not-disabled-crash.html
424
425         * dom/Document.cpp:
426         (WebCore::Document::dropChildren):
427         (WebCore::Document::commonTeardown):
428         (WebCore::Document::prepareForDestruction):
429         * dom/Document.h:
430
431 2013-11-04  Brendan Long  <b.long@cablelabs.com>
432
433         Move duplicate code in TrackPrivate classes to a common base class
434         https://bugs.webkit.org/show_bug.cgi?id=123619
435
436         Reviewed by Darin Adler.
437
438         No new tests because this is just refactoring.
439
440         * GNUmakefile.list.am: Add TrackPrivateBase.
441         * WebCore.vcxproj/WebCore.vcxproj: Same.
442         * WebCore.vcxproj/WebCore.vcxproj.filters: Same.
443         * WebCore.xcodeproj/project.pbxproj: Same.
444         * html/track/AudioTrack.cpp:
445         (WebCore::AudioTrack::inbandTrackIndex): Renamed audioTrackIndex() to trackIndex().
446         (WebCore::AudioTrack::labelChanged): First argument is now a TrackPrivateBase*.
447         (WebCore::AudioTrack::languageChanged): Same.
448         (WebCore::AudioTrack::willRemove): Same.
449         * html/track/AudioTrack.h: Update TrackPrivateBaseClient function signatures.
450         * html/track/InbandTextTrack.cpp:
451         (WebCore::InbandTextTrack::inbandTrackIndex): Renamed textTrackIndex() to trackIndex().
452         (WebCore::InbandTextTrack::labelChanged): First argument is now a TrackPrivateBase*.
453         (WebCore::InbandTextTrack::languageChanged): Same.
454         (WebCore::InbandTextTrack::willRemove): Same.
455         * html/track/InbandTextTrack.h: Update TrackPrivateBaseClient function signatures.
456         * html/track/VideoTrack.cpp:
457         (WebCore::VideoTrack::inbandTrackIndex): Renamed videoTrackIndex() to trackIndex().
458         (WebCore::VideoTrack::labelChanged): First argument is now a TrackPrivateBase*.
459         (WebCore::VideoTrack::languageChanged): Same.
460         (WebCore::VideoTrack::willRemove): Same.
461         * html/track/VideoTrack.h: Update TrackPrivateBaseClient function signatures.
462         * platform/graphics/AudioTrackPrivate.h: Remove code that was moved to TrackPrivateBase.
463         * platform/graphics/InbandTextTrackPrivate.h: Same.
464         * platform/graphics/InbandTextTrackPrivateClient.h: Same.
465         * platform/graphics/VideoTrackPrivate.h: Same.
466         * platform/graphics/TrackPrivateBase.h: Refactored out duplicate code in AudioTrackPrivate, InbandTextTrackPrivate and VideoTrackPrivate.
467         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h: Renamed textTrackIndex() to trackIndex().
468         * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.h: Same.
469         * platform/graphics/gstreamer/AudioTrackPrivateGStreamer.h: Renamed audioTrackIndex() to trackIndex().
470         * platform/graphics/gstreamer/VideoTrackPrivateGStreamer.h: Renamed videoTrackIndex() to trackIndex90.
471
472 2013-11-04  Andreas Kling  <akling@apple.com>
473
474         FrameView destructor is worried about being retained by a renderer.
475         <https://webkit.org/b/123763>
476
477         There's no way we can be in ~FrameView() while also being owned by
478         a RenderWidget. Remove some overly paranoid code that was making sure
479         the renderer didn't have a reference on us.
480
481         Reviewed by Anders Carlsson.
482
483 2013-11-04  Eric Carlson  <eric.carlson@apple.com>
484
485         REGRESSION(r158311): media/media-fragments/TC0054.html and TC0061.html hit assertions
486         https://bugs.webkit.org/show_bug.cgi?id=123555
487
488         Reviewed by Darin Adler.
489
490         No new tests, covered by existing tests.
491
492         * html/MediaFragmentURIParser.cpp:
493         (WebCore::MediaFragmentURIParser::parseFragments): Don't add a fragment with empty key or value as
494             they will not processed.
495         (WebCore::MediaFragmentURIParser::parseNPTFragment): Remove excess whitespace.
496
497 2013-11-04  Patrick Gansterer  <paroga@webkit.org>
498
499         Remove code duplications in createFontCustomPlatformData()
500         https://bugs.webkit.org/show_bug.cgi?id=123706
501
502         Reviewed by Darin Adler.
503
504         Move OpenTypeSanitizer and WOFF handling from the port specific
505         implementations in createFontCustomPlatformData() into the only
506         caller of this function CachedFont::ensureCustomFontData().
507         Also change the parameter passing the SharedBuffer from a
508         pointer to a reference since it is never null.
509
510         * loader/cache/CachedFont.cpp:
511         (WebCore::CachedFont::ensureCustomFontData):
512         * platform/graphics/blackberry/FontCustomPlatformData.h:
513         * platform/graphics/blackberry/FontCustomPlatformDataBlackBerry.cpp:
514         (WebCore::FontCustomPlatformData::FontCustomPlatformData):
515         (WebCore::createFontCustomPlatformData):
516         * platform/graphics/cairo/FontCustomPlatformData.h:
517         * platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp:
518         (WebCore::FontCustomPlatformData::FontCustomPlatformData):
519         (WebCore::createFontCustomPlatformData):
520         * platform/graphics/mac/FontCustomPlatformData.cpp:
521         (WebCore::createFontCustomPlatformData):
522         * platform/graphics/mac/FontCustomPlatformData.h:
523         * platform/graphics/win/FontCustomPlatformData.cpp:
524         (WebCore::createFontCustomPlatformData):
525         * platform/graphics/win/FontCustomPlatformData.h:
526         * platform/graphics/win/FontCustomPlatformDataCairo.cpp:
527         (WebCore::createFontCustomPlatformData):
528         * platform/graphics/wince/FontCustomPlatformData.cpp:
529         (WebCore::createFontCustomPlatformData):
530         * platform/graphics/wince/FontCustomPlatformData.h:
531
532 2013-11-04  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
533
534         Fixing MediaStreamDescriptor addSource and addTrack methods
535         https://bugs.webkit.org/show_bug.cgi?id=123755
536
537         Reviewed by Eric Carlson.
538
539         We must store the track and source that is passed as parameter in a RefPtr,
540         otherwise we will refer to a null pointer.
541
542         No new tests needed.
543
544         * platform/mediastream/MediaStreamDescriptor.cpp:
545         (WebCore::MediaStreamDescriptor::addSource):
546         (WebCore::MediaStreamDescriptor::addTrack):
547
548 2013-11-04  Tim Horton  <timothy_horton@apple.com>
549
550         Remove PlatformCALayer::playerLayer
551         https://bugs.webkit.org/show_bug.cgi?id=123764
552
553         Reviewed by Sam Weinig.
554
555         * platform/graphics/ca/PlatformCALayer.h:
556         * platform/graphics/ca/mac/PlatformCALayerMac.h:
557         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
558         (PlatformCALayerMac::clone):
559         Remove playerLayer(), fold it into clone().
560
561 2013-11-04  Chris Fleizach  <cfleizach@apple.com>
562
563         AX: Mail attachments at the start of an email are not output by VoiceOver
564         https://bugs.webkit.org/show_bug.cgi?id=123697
565
566         Reviewed by Ryosuke Niwa.
567
568         VoiceOver is expecting that "replaced elements" (attachments in a Mail message in this case) to be
569         represented by the replacement character when asking for a stringForRange.
570
571         However, when that replaced element is at the beginning of the document, the logic does not work because
572         there is a few code places that will take that first Position and advance it forward, not accounting for replaced elements.
573         When using the TextIterator normally, it does account for these, so that's why it's only affecting as at the beginning of the document.
574
575         Also a "replaced element" can be more than just renderer->isReplaced(), hence the externing of the isRendererReplacedElement method
576         and using that it in pertinent places.
577
578         Tests: platform/mac/accessibility/object-replacement-with-no-rendered-children-at-node-start.html
579                platform/mac/accessibility/object-replacement-with-rendered-children-at-node-start.html
580
581         * accessibility/AccessibilityObject.cpp:
582         (WebCore::replacedNodeNeedsCharacter):
583         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
584         (nsStringForReplacedNode):
585         * dom/Position.cpp:
586         (WebCore::Position::isCandidate):
587         * dom/PositionIterator.cpp:
588         * dom/Range.cpp:
589         (WebCore::Range::firstNode):
590         * editing/TextIterator.cpp:
591         (WebCore::isRendererReplacedElement):
592         * editing/TextIterator.h:
593
594 2013-11-04  Andreas Kling  <akling@apple.com>
595
596         Use RenderAncestorIterator in a couple of places.
597         <https://webkit.org/b/123725>
598
599         Take the ancestorsOfType<RenderMoo>() thingy out for a spin.
600
601         Found a bunch of parent chain walking loops that were really just
602         looking for the first ancestor renderer of a certain type.
603         They were a perfect fit for this pattern:
604
605             if (auto svgRoot = ancestorsOfType<RenderSVGRoot>(renderer).first())
606                 svgRoot->shakeMoneyMaker();
607
608         Quite a bit clearer than the previous:
609
610             for (auto ancestor = renderer.parent(); ancestor; ancestor = ancestor->parent()) {
611                 if (ancestor->isSVGRoot())
612                     toRenderSVGRoot(ancestor)->makeMoneyShaker();
613             }
614
615         Reviewed by Antti Koivisto.
616
617 2013-10-25  Jer Noble  <jer.noble@apple.com>
618
619         [MSE] Add a SourceBufferPrivateClient interface for platform -> html communication.
620         https://bugs.webkit.org/show_bug.cgi?id=123373
621
622         Reviewed by Eric Carlson.
623
624         To enable communication between SourceBuffer and SourceBufferPrivate without introducing
625         layering violations, add a new interface class SourceBufferPrivateInterface from which
626         SourceBuffer will inherit.
627
628         * Modules/mediasource/SourceBuffer.cpp:
629         (WebCore::SourceBuffer::SourceBuffer): Set the private's client.
630         (WebCore::SourceBuffer::~SourceBuffer): Clear the private's client.
631         (WebCore::SourceBuffer::sourceBufferPrivateDidEndStream): Added stub.
632         (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveInitializationSegment): Hinno.
633         (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample): Ditto.
634         (WebCore::SourceBuffer::sourceBufferPrivateHasAudio): Ditto.
635         (WebCore::SourceBuffer::sourceBufferPrivateHasVideo): Ditto.
636         * Modules/mediasource/SourceBuffer.h:
637         * WebCore.xcodeproj/project.pbxproj: Add new files to project.
638         * platform/graphics/SourceBufferPrivate.h:
639         * platform/graphics/SourceBufferPrivateClient.h: Added.
640         (WebCore::SourceBufferPrivateClient::~SourceBufferPrivateClient): Empty destructor.
641
642 2013-11-01  Jer Noble  <jer.noble@apple.com>
643
644         [PluginProxy] Add a setting to disable video plugin proxy support in HTMLMediaElement.
645         https://bugs.webkit.org/show_bug.cgi?id=123621
646
647         Reviewed by Eric Carlson.
648
649         Add a new Setting which will disable the video plugin proxy. Enable support for AVFoundation
650         in iOS (which requries fixing a few compile errors resulting from classes and methods which
651         are not available on iOS.
652
653         * WebCore.exp.in: Export wkAVAssetResolvedURL.
654         * css/StyleResolver.cpp:
655         (WebCore::StyleResolver::canShareStyleWithElement): Make conditional upon
656             new isVideoPluginProxyEnabled() setting.
657         * html/HTMLMediaElement.cpp:
658         (WebCore::HTMLMediaElement::parseAttribute): Ditto.
659         * html/HTMLMediaElement.h:
660         * html/HTMLVideoElement.cpp:
661         (WebCore::HTMLVideoElement::createRenderer): Ditto.
662         (WebCore::HTMLVideoElement::attach): Ditto.
663         (WebCore::HTMLVideoElement::parseAttribute): Ditto.
664         (HTMLVideoElement::setDisplayMode): Ditto.
665         * html/HTMLVideoElement.h:
666         * page/Settings.cpp:
667         (WebCore::Settings::setVideoPluginProxyEnabled): Simple setter.
668         * page/Settings.h:
669         (WebCore::Settings::isVideoPluginProxyEnabled): Simple getter.
670         * platform/graphics/MediaPlayer.cpp:
671         (WebCore::installedMediaEngines): Conditionally add MediaPlayerPrivateIOS and always add
672             MediaPlayerPriateAVFoundationObjC.
673         * platform/graphics/MediaPlayerPrivate.h:
674         (WebCore::MediaPlayerPrivateInterface::deliverNotification): Add default implementation.
675         (WebCore::MediaPlayerPrivateInterface::setMediaPlayerProxy): Ditto.
676         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
677         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
678         (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC): Use new
679             HAS_ and USE_ macros instead of __MAC_OS_MIN_VERNSION_REQUIRED.
680         (WebCore::MediaPlayerPrivateAVFoundationObjC::~MediaPlayerPrivateAVFoundationObjC): Ditto.
681         (WebCore::MediaPlayerPrivateAVFoundationObjC::hasContextRenderer): Ditto.
682         (WebCore::MediaPlayerPrivateAVFoundationObjC::createContextVideoRenderer): Ditto.
683         (WebCore::MediaPlayerPrivateAVFoundationObjC::destroyContextVideoRenderer): Ditto.
684         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Ditto.
685         (WebCore::MediaPlayerPrivateAVFoundationObjC::paint): Ditto.
686         (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer): Use cachedCGColor instead
687             of CGColorGetConstantColor.
688         (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoOutput): Use CVPixelBuffer pixel
689             format constant instead of QuickDraw constant.
690         (WebCore::MediaPlayerPrivateAVFoundationObjC::createPixelBuffer): Ditto.
691         (WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput): Draw to intermediary
692             CGImage on iOS.
693         * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h:
694         * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:
695         * platform/ios/WebCoreSystemInterfaceIOS.mm:
696         * platform/mac/WebCoreSystemInterface.h:
697
698 2013-11-04  Andreas Kling  <akling@apple.com>
699
700         REGRESSION(r158561): fast/block/float/float-append-child-crash.html asserting.
701
702         The non-const ancestor iterator was walking siblings, not ancestors.
703
704         Rubber-stamped by Antti Koivisto.
705
706 2013-10-31  Jer Noble  <jer.noble@apple.com>
707
708         [MSE] [Mac] Disclaim support for MSE in AVFoundation and QTKit engines
709         https://bugs.webkit.org/show_bug.cgi?id=123593
710
711         Reviewed by Eric Carlson.
712
713         Immediately fail if asked to load a Media Source in engines which do not support
714         them.
715
716         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
717         (WebCore::MediaPlayerPrivateAVFoundation::load):
718         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
719         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
720         (WebCore::MediaPlayerPrivateAVFoundationObjC::supportsType):
721         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
722         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
723         (WebCore::MediaPlayerPrivateQTKit::load):
724         (WebCore::MediaPlayerPrivateQTKit::supportsType):
725
726 2013-11-04  Hans Muller  <hmuller@adobe.com>
727
728         [CSS Shapes] image valued shape element margin can cause an ASSERT fail
729         https://bugs.webkit.org/show_bug.cgi?id=123743
730
731         Reviewed by Andreas Kling.
732
733         When margin-top is specified for a shape's element, the Y coordinates passed
734         to RasterShapeIntervals::getExcludedIntervals() may be negative. This is
735         because the incoming logical coordinates are relative to the content or
736         padding box, depending on the box-sizing property. The RasterShape::getExcludedIntervals()
737         method now clips the incoming Y coordinates to the shape's bounds before
738         accessing the shape's intervals.
739
740         Test: fast/shapes/shape-outside-floats/shape-outside-floats-margin-crash.html
741
742         * rendering/shapes/RasterShape.cpp:
743         (WebCore::RasterShapeIntervals::getExcludedIntervals):
744
745 2013-11-04  Antti Koivisto  <antti@apple.com>
746
747         Make LiveNodeListBase use Elements instead of Nodes
748         https://bugs.webkit.org/show_bug.cgi?id=123745
749
750         Reviewed by Anders Carlsson.
751
752         * WebCore.exp.in:
753         * dom/Element.cpp:
754         (WebCore::Element::firstElementChild):
755         (WebCore::Element::lastElementChild):
756         
757             Switch to correct calls. ElementTraversal::previous and previousChild are no longer equivalent.
758
759         * dom/ElementTraversal.h:
760         (WebCore::::lastWithinTemplate):
761         (WebCore::::previousTemplate):
762         
763             Fix ElementTraversal::lastWithin and previous. They had no real clients and didn't work correctly.
764             With LiveNodeListBase starting to use these they get excellent test coverage.
765
766         * dom/LiveNodeList.cpp:
767         (WebCore::LiveNodeListBase::invalidateCache):
768         * dom/LiveNodeList.h:
769         (WebCore::LiveNodeListBase::LiveNodeListBase):
770         (WebCore::LiveNodeListBase::isElementCacheValid):
771         (WebCore::LiveNodeListBase::cachedElement):
772         (WebCore::LiveNodeListBase::cachedElementOffset):
773         (WebCore::LiveNodeListBase::setCachedElement):
774         
775             Make the cache Element based.
776             Switch to Elements in all helpers.
777             Rename item -> element for clarity.
778
779         * dom/NodeIterator.cpp:
780         (WebCore::NodeIterator::NodePointer::moveToPrevious):
781         (WebCore::NodeIterator::updateForNodeRemoval):
782         
783             This code expected the old inconsistent NodeTraversal::previous behavior where the traversal includes
784             the root as the last item. Drop the stayWithin parameter and handle the one case where it is needed here.
785
786         * dom/NodeTraversal.cpp:
787         (WebCore::NodeTraversal::last):
788         (WebCore::NodeTraversal::deepLastChild):
789         * dom/NodeTraversal.h:
790         
791             Support ElementTraversal::previous/lastWithin.
792
793         (WebCore::NodeTraversal::previous):
794         
795             This was slightly wrong too.
796
797         * html/HTMLCollection.cpp:
798         (WebCore::previousElement):
799         (WebCore::lastElement):
800         (WebCore::LiveNodeListBase::iterateForPreviousElement):
801         (WebCore::LiveNodeListBase::itemBefore):
802         (WebCore::LiveNodeListBase::isLastItemCloserThanLastOrCachedItem):
803         (WebCore::LiveNodeListBase::isFirstItemCloserThanCachedItem):
804         (WebCore::LiveNodeListBase::setCachedElement):
805         (WebCore::LiveNodeListBase::item):
806         (WebCore::LiveNodeListBase::elementBeforeOrAfterCachedElement):
807         * html/HTMLCollection.h:
808         (WebCore::HTMLCollection::isEmpty):
809         (WebCore::HTMLCollection::hasExactlyOneItem):
810
811 2013-11-04  Michael Saboff  <msaboff@apple.com>
812
813         Eliminate HostCall bit from JSC Stack CallerFrame
814         https://bugs.webkit.org/show_bug.cgi?id=123642
815
816         Reviewed by Geoffrey Garen.
817
818         Updated JavaScript stack walking as a result of the corresponding changes made in
819         JavaScriptCore.
820
821         * bindings/js/ScriptController.cpp:
822         (WebCore::ScriptController::shouldBypassMainWorldContentSecurityPolicy):
823         * bindings/js/ScriptDebugServer.cpp:
824         (WebCore::ScriptDebugServer::stepOutOfFunction):
825         (WebCore::ScriptDebugServer::returnEvent):
826         (WebCore::ScriptDebugServer::didExecuteProgram):
827
828 2013-11-04  Bem Jones-Bey  <bjonesbe@adobe.com>
829
830         [css shapes] Fix support for shape-outside on a float with padding
831         https://bugs.webkit.org/show_bug.cgi?id=123590
832
833         Reviewed by Alexandru Chiculita.
834
835         The line top was being improperly converted to the coordinates of the
836         shape, causing the shape to be positioned incorrectly when the float
837         had padding. This fixes that problem.
838
839         No new tests, covered by updates to existing ones.
840
841         * rendering/shapes/ShapeOutsideInfo.cpp:
842         (WebCore::ShapeOutsideInfo::updateDeltasForContainingBlockLine):
843
844 2013-11-04  Alexey Proskuryakov  <ap@apple.com>
845
846         Implement generateKey for HMAC and AES-CBC
847         https://bugs.webkit.org/show_bug.cgi?id=123669
848
849         Reviewed by Dan Bernstein.
850
851         Tests: crypto/subtle/aes-cbc-generate-key.html
852                crypto/subtle/hmac-generate-key.html
853
854         * WebCore.xcodeproj/project.pbxproj: Added new files.
855
856         * bindings/js/JSCryptoAlgorithmDictionary.cpp:
857         (WebCore::createAesKeyGenParams): Added bindings for AesKeyGenParams.
858         (WebCore::JSCryptoAlgorithmDictionary::createParametersForGenerateKey): Handle
859         algorithms that generate AES and HMAC keys.
860
861         * bindings/js/JSSubtleCryptoCustom.cpp: (WebCore::JSSubtleCrypto::generateKey): Added.
862
863         * crypto/CryptoAlgorithmAesKeyGenParams.h: Added.
864
865         * crypto/CryptoKey.cpp: (WebCore::CryptoKey::randomData):
866         * crypto/CryptoKey.h:
867         * crypto/CryptoKeyMac.cpp: Added
868         Expose a function that produces random data for symmetric crypto keys. Cross-platform
869         implementation uses ARC4 code from WTF, while Mac uses a system function that
870         provides a FIPS validated random number generator.
871
872         * crypto/CryptoKeyAES.cpp: (WebCore::CryptoKeyAES::generate):
873         * crypto/CryptoKeyAES.h:
874         Added a function that creates AES keys.
875
876         * crypto/SubtleCrypto.idl: Added generateKey.
877
878         * crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:
879         (WebCore::CryptoAlgorithmAES_CBC::generateKey): Added.
880
881         * crypto/algorithms/CryptoAlgorithmHMAC.cpp:
882         (WebCore::CryptoAlgorithmHMAC::generateKey): Added.
883
884         * crypto/keys/CryptoKeyHMAC.cpp: (WebCore::CryptoKeyHMAC::generate):
885         * crypto/keys/CryptoKeyHMAC.h:
886         Added a function that creates HMAC keys.
887
888         * crypto/mac/CryptoAlgorithmAES_CBCMac.cpp: Removed generateKey stub, the implementation
889         ended up in cross-platform file.
890
891         * crypto/mac/CryptoAlgorithmHMACMac.cpp: Ditto.
892
893 2013-11-04  Daniel Bates  <dabates@apple.com>
894
895         Revert SetCGFontRenderingMode() build fix for Chromium Mac
896         https://bugs.webkit.org/show_bug.cgi?id=123633
897
898         Reviewed by Darin Adler.
899
900         Reverts <http://trac.webkit.org/changeset/134380>, which
901         was a Chromium Mac build fix for <http://trac.webkit.org/changeset/134348>
902         (https://bugs.webkit.org/show_bug.cgi?id=101787). Chromium doesn't
903         build against top-of-tree WebKit.
904
905         * platform/graphics/mac/FontMac.mm:
906         (WebCore::Font::drawGlyphs):
907         * platform/mac/WebCoreSystemInterface.h:
908         * platform/mac/WebCoreSystemInterface.mm:
909
910 2013-11-04  Commit Queue  <commit-queue@webkit.org>
911
912         Unreviewed, rolling out r158526.
913         http://trac.webkit.org/changeset/158526
914         https://bugs.webkit.org/show_bug.cgi?id=123744
915
916         it broke the build (Requested by jessieberlin on #webkit).
917
918         * WebCore.xcodeproj/project.pbxproj:
919         * bindings/js/JSCryptoAlgorithmDictionary.cpp:
920         (WebCore::createAesCbcParams):
921         (WebCore::createHmacParams):
922         (WebCore::createHmacKeyParams):
923         (WebCore::JSCryptoAlgorithmDictionary::createParametersForGenerateKey):
924         * bindings/js/JSSubtleCryptoCustom.cpp:
925         * crypto/CryptoAlgorithmAesKeyGenParams.h: Removed.
926         * crypto/CryptoKey.cpp:
927         * crypto/CryptoKey.h:
928         * crypto/CryptoKeyAES.cpp:
929         * crypto/CryptoKeyAES.h:
930         * crypto/CryptoKeyMac.cpp: Removed.
931         * crypto/SubtleCrypto.idl:
932         * crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:
933         * crypto/algorithms/CryptoAlgorithmHMAC.cpp:
934         * crypto/keys/CryptoKeyHMAC.cpp:
935         * crypto/keys/CryptoKeyHMAC.h:
936         * crypto/mac/CryptoAlgorithmAES_CBCMac.cpp:
937         (WebCore::CryptoAlgorithmAES_CBC::generateKey):
938         * crypto/mac/CryptoAlgorithmHMACMac.cpp:
939         (WebCore::CryptoAlgorithmHMAC::generateKey):
940
941 2013-11-04  Przemyslaw Szymanski  <p.szymanski3@samsung.com>
942
943         [Texmap] Remove redundant calls in CoordinatedGraphicsScene
944         https://bugs.webkit.org/show_bug.cgi?id=123737
945
946         Reviewed by Noam Rosenthal.
947
948         Removing unused code left after few refactoring patches.
949
950         No new tests. Covered by existing ones.
951
952         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
953         (WebCore::CoordinatedGraphicsScene::paintToCurrentGLContext):
954
955 2013-11-04  Andreas Kling  <akling@apple.com>
956
957         CSSPrimitiveValue color constructors should return PassRef.
958         <https://webkit.org/b/123728>
959
960         Make CSSPrimitiveValue::createColor() and the corresponding
961         CSSValuePool helper functions return PassRef<CSSPrimitiveValue>.
962
963         Also made CSSValuePool slightly less stupid when hitting the upper
964         size limit on the color value cache: instead of throwing out cache
965         and rebuilding it from scratch, just remove one value at random.
966
967         Reviewed by Antti Koivisto.
968
969 2013-11-04  Andreas Kling  <akling@apple.com>
970
971         Some more RenderChildIterator deployment.
972         <https://webkit.org/b/123735>
973
974         Convert another handful of loops to use childrenOfType<RenderFoo>
975         iterators, mostly for skipping over uninteresting text renderers.
976
977         Reviewed by Antti Koivisto.
978
979 2013-11-04  Andreas Kling  <akling@apple.com>
980
981         LabelsNodeList always is always rooted at a LabelableElement.
982         <https://webkit.org/b/123730>
983
984         Tighten up LabelsNodeList by enforcing that it's only rooted to
985         a LabelableElement. Also marked the class FINAL and made its
986         create() helper return PassRef.
987
988         Reviewed by Antti Koivisto.
989
990 2013-11-04  Andreas Kling  <akling@apple.com>
991
992         REGRESSION: RenderStyle is leaked when not creating renderer for display:none
993         <https://webkit.org/b/123726>
994
995         Explicitly drop the RenderStyle reference in RenderElement::createFor
996         if we decide to not create any renderer.
997
998         Reviewed by Antti Koivisto.
999
1000         Test: fast/css/renderstyle-leak-with-display-none.html
1001
1002         * rendering/RenderElement.cpp:
1003         (WebCore::RenderElement::createFor):
1004
1005 2013-11-04  Santosh Mahto  <santosh.ma@samsung.com>
1006
1007         [webcore/dom] Remove extra header includes from cpp files.
1008         https://bugs.webkit.org/show_bug.cgi?id=123720
1009
1010         Reviewed by Andreas Kling.
1011
1012         Removing redundant headers from dom related cpp files.
1013
1014         * dom/Attr.cpp:
1015         * dom/CharacterData.cpp:
1016         * dom/ChildListMutationScope.cpp:
1017         * dom/ChildNodeList.cpp:
1018         * dom/ContainerNode.cpp:
1019         * dom/ContainerNodeAlgorithms.cpp:
1020         * dom/DOMNamedFlowCollection.cpp:
1021         * dom/DatasetDOMStringMap.cpp:
1022         * dom/Document.cpp:
1023         * dom/DocumentEventQueue.cpp:
1024         * dom/DocumentMarkerController.cpp:
1025         * dom/DocumentOrderedMap.cpp:
1026         * dom/DocumentStyleSheetCollection.cpp:
1027         * dom/Element.cpp:
1028         * dom/ElementRareData.cpp:
1029         * dom/Event.cpp:
1030         * dom/EventContext.cpp:
1031         * dom/EventDispatcher.cpp:
1032         * dom/EventTarget.cpp:
1033         * dom/ExceptionBase.cpp:
1034         * dom/FocusEvent.cpp:
1035         * dom/InlineStyleSheetOwner.cpp:
1036         * dom/KeyboardEvent.cpp:
1037         * dom/LiveNodeList.cpp:
1038         * dom/MessageEvent.cpp:
1039         * dom/MessagePort.cpp:
1040         * dom/MouseRelatedEvent.cpp:
1041         * dom/MutationEvent.cpp:
1042         * dom/MutationObserver.cpp:
1043         * dom/MutationObserverInterestGroup.cpp:
1044         * dom/MutationObserverRegistration.cpp:
1045         * dom/MutationRecord.cpp:
1046         * dom/NameNodeList.cpp:
1047         * dom/NamedFlowCollection.cpp:
1048         * dom/NamedNodeMap.cpp:
1049         * dom/Node.cpp:
1050         * dom/NodeIterator.cpp:
1051         * dom/NodeTraversal.cpp:
1052         * dom/PositionIterator.cpp:
1053         * dom/ProcessingInstruction.cpp:
1054         * dom/Range.cpp:
1055         * dom/RegisteredEventListener.cpp:
1056         * dom/ScopedEventQueue.cpp:
1057         * dom/ScriptElement.cpp:
1058         * dom/ScriptRunner.cpp:
1059         * dom/SelectorQuery.cpp:
1060         * dom/ShadowRoot.cpp:
1061         * dom/StyledElement.cpp:
1062         * dom/TagNodeList.cpp:
1063         * dom/Text.cpp:
1064         * dom/TextEvent.cpp:
1065         * dom/TouchEvent.cpp:
1066         * dom/TreeScope.cpp:
1067         * dom/TreeScopeAdopter.cpp:
1068         * dom/TreeWalker.cpp:
1069         * dom/UIEvent.cpp:
1070         * dom/UserActionElementSet.cpp:
1071         * dom/UserTypingGestureIndicator.cpp:
1072         * dom/VisitedLinkState.cpp:
1073         * dom/WebKitNamedFlow.cpp:
1074
1075 2013-11-04  Andreas Kling  <akling@apple.com>
1076
1077         HTMLAllCollection is always rooted at a Document.
1078         <https://webkit.org/b/123724>
1079
1080         Tighten up HTMLAllCollection by making the constructor take a
1081         Document& instead of a ContainerNode&. Drive-by application of
1082         FINAL and PassRef also happened.
1083
1084         Reviewed by Antti Koivisto.
1085
1086 2013-11-04  Andreas Kling  <akling@apple.com>
1087
1088         Make more CSSValue subclass constructors return PassRef.
1089         <https://webkit.org/b/123731>
1090
1091         Make the constructor helpers for the following classes return
1092         PassRef instead of PassRefPtr:
1093
1094             - CSSFontValue
1095             - CSSImageSetValue
1096             - CSSUnicodeRangeValue
1097             - WebKitCSSArrayFunctionValue
1098             - WebKitCSSFilterValue
1099             - WebKitCSSMatFunctionValue
1100             - WebKitCSSMixFunctionValue
1101             - WebKitCSSShaderValue
1102             - WebKitCSSTransformValue
1103
1104         Reviewed by Antti Koivisto.
1105
1106 2013-11-04  Jozsef Berta  <jberta@inf.u-szeged.hu>
1107
1108         Buildfix after r158182 for GCC 4.6
1109         https://bugs.webkit.org/show_bug.cgi?id=123442
1110
1111         Reviewed by Csaba Osztrogonác.
1112
1113         Added explicit "friend class", because  GCC 4.6 doesn't support extended friend declaration (c++11)
1114
1115         * dom/ScopedEventQueue.h:
1116
1117 2013-11-04  Andreas Kling  <akling@apple.com>
1118
1119         HTMLTableRowsCollection is always rooted at a HTMLTableElement.
1120         <https://webkit.org/b/123721>
1121
1122         Tighten up HTMLTableRowsCollection by making the create() helper
1123         take a HTMLTableElement& and adding a HTMLSelectElement& getter.
1124
1125         Reviewed by Antti Koivisto.
1126
1127 2013-11-04  Andreas Kling  <akling@apple.com>
1128
1129         HTMLNameCollection and friends are always rooted at a Document.
1130         <https://webkit.org/b/123722>
1131
1132         Tighten WindowNameCollection and DocumentNameCollection by making
1133         their constructors take a Document&, and add a slightly better
1134         document() than the one we inherit from LiveNodeListBase.
1135
1136         Also marked the classes FINAL and made create() helpers return
1137         PassRef instead of PassRefPtr.
1138
1139         Reviewed by Antti Koivisto.
1140
1141 2013-11-04  Andreas Kling  <akling@apple.com>
1142
1143         Add an ancestor renderer iterator.
1144         <https://webkit.org/b/123718>
1145
1146         Add ancestor iterators for renderers, analogous to element ancestor
1147         iterators. They walk the chain of parent renderers, stopping at each
1148         ancestor of a certain type.
1149
1150         Just like child renderer iterators, this requires isRendererOfType()
1151         to be implemented for the targeted renderer class.
1152
1153         You use them like this:
1154
1155         auto frameSets = ancestorsOfType<RenderFrameSet>(*this);
1156         for (auto frameSet = frameSets.begin(), end = frameSets.end(); frameSet != end; ++frameSet)
1157             frameSet->thisOrThat();
1158
1159         To complete the patch, I put them to use in a couple of random places.
1160
1161         Reviewed by Antti Koivisto.
1162
1163 2013-11-04  Mihnea Ovidenie  <mihnea@adobe.com>
1164
1165         [CSSRegions] Use auto keyword to clean-up for loops
1166         https://bugs.webkit.org/show_bug.cgi?id=123699
1167
1168         Reviewed by Anders Carlsson.
1169
1170         Start using auto keyword for loops.
1171         Also, since region breaks (forced breaks) can be added only on boxes,
1172         i changed RenderFlowThread::addForcedRegionBreak to use a RenderBox* instead of RenderObject*.
1173
1174         No change in functionality, no new tests.
1175
1176         * dom/WebKitNamedFlow.cpp:
1177         (WebCore::WebKitNamedFlow::firstEmptyRegionIndex):
1178         * rendering/FlowThreadController.cpp:
1179         (WebCore::FlowThreadController::ensureRenderFlowThreadWithName):
1180         (WebCore::FlowThreadController::styleDidChange):
1181         (WebCore::FlowThreadController::layoutRenderNamedFlowThreads):
1182         (WebCore::FlowThreadController::updateFlowThreadsChainIfNecessary):
1183         (WebCore::FlowThreadController::updateFlowThreadsNeedingLayout):
1184         (WebCore::FlowThreadController::updateFlowThreadsNeedingTwoStepLayout):
1185         (WebCore::FlowThreadController::resetFlowThreadsWithAutoHeightRegions):
1186         (WebCore::FlowThreadController::updateFlowThreadsIntoConstrainedPhase):
1187         (WebCore::FlowThreadController::updateFlowThreadsIntoOverflowPhase):
1188         (WebCore::FlowThreadController::updateFlowThreadsIntoMeasureContentPhase):
1189         (WebCore::FlowThreadController::updateFlowThreadsIntoFinalPhase):
1190         (WebCore::FlowThreadController::updateRenderFlowThreadLayersIfNeeded):
1191         (WebCore::FlowThreadController::collectFixedPositionedLayers):
1192         (WebCore::FlowThreadController::isAutoLogicalHeightRegionsCountConsistent):
1193         * rendering/RenderFlowThread.cpp:
1194         (WebCore::RenderFlowThread::validateRegions):
1195         (WebCore::RenderFlowThread::hasCompositingRegionDescendant):
1196         (WebCore::RenderFlowThread::getLayerListForRegion):
1197         (WebCore::RenderFlowThread::updateLayerToRegionMappings):
1198         (WebCore::RenderFlowThread::updateLogicalWidth):
1199         (WebCore::RenderFlowThread::computeLogicalHeight):
1200         (WebCore::RenderFlowThread::repaintRectangleInRegions):
1201         (WebCore::RenderFlowThread::removeRenderBoxRegionInfo):
1202         (WebCore::RenderFlowThread::logicalWidthChangedInRegionsForBlock):
1203         (WebCore::RenderFlowThread::clearRenderObjectCustomStyle):
1204         (WebCore::RenderFlowThread::clearRenderBoxRegionInfoAndCustomStyle):
1205         (WebCore::RenderFlowThread::setRegionRangeForBox):
1206         (WebCore::RenderFlowThread::getRegionRangeForBox):
1207         (WebCore::RenderFlowThread::regionInRange):
1208         (WebCore::RenderFlowThread::checkRegionsWithStyling):
1209         (WebCore::RenderFlowThread::objectInFlowRegion):
1210         (WebCore::RenderFlowThread::isAutoLogicalHeightRegionsCountConsistent):
1211         (WebCore::RenderFlowThread::initializeRegionsComputedAutoHeight):
1212         (WebCore::RenderFlowThread::markAutoLogicalHeightRegionsForLayout):
1213         (WebCore::RenderFlowThread::markRegionsForOverflowLayoutIfNeeded):
1214         (WebCore::RenderFlowThread::updateRegionsFlowThreadPortionRect):
1215         (WebCore::RenderFlowThread::addForcedRegionBreak):
1216         (WebCore::RenderFlowThread::collectLayerFragments):
1217         (WebCore::RenderFlowThread::fragmentsBoundingBox):
1218         (WebCore::RenderFlowThread::addRegionsVisualEffectOverflow):
1219         (WebCore::RenderFlowThread::addRegionsVisualOverflowFromTheme):
1220         (WebCore::RenderFlowThread::addRegionsOverflowFromChild):
1221         (WebCore::RenderFlowThread::addRegionsLayoutOverflow):
1222         (WebCore::RenderFlowThread::clearRegionsOverflow):
1223         * rendering/RenderFlowThread.h:
1224         * rendering/RenderNamedFlowThread.cpp:
1225         (WebCore::RenderNamedFlowThread::nextRendererForNode):
1226         (WebCore::RenderNamedFlowThread::previousRendererForNode):
1227         (WebCore::RenderNamedFlowThread::dependsOn):
1228         (WebCore::addRegionToList):
1229         (WebCore::RenderNamedFlowThread::computeOversetStateForRegions):
1230         (WebCore::RenderNamedFlowThread::checkInvalidRegions):
1231         (WebCore::RenderNamedFlowThread::pushDependencies):
1232         * rendering/RenderRegion.cpp:
1233         (WebCore::RenderRegion::setRegionObjectsRegionStyle):
1234         (WebCore::RenderRegion::restoreRegionObjectsOriginalStyle):
1235         (WebCore::RenderRegion::computeChildrenStyleInRegion):
1236
1237 2013-11-03  Zan Dobersek  <zdobersek@igalia.com>
1238
1239         PingLoader objects unnecessarily pass through OwnPtr
1240         https://bugs.webkit.org/show_bug.cgi?id=122942
1241
1242         Reviewed by Darin Adler.
1243
1244         There's no need to store new PingLoader objects into an OwnPtr just to leak them out a few lines later
1245         into an unused variable. New objects are created through a new helper method and then left unmanaged as
1246         they're guaranteed to destroy themselves when they receive a response of any kind.
1247
1248         * loader/PingLoader.cpp:
1249         (WebCore::PingLoader::loadImage): Call the new createPingLoader method to spawn the PingLoader.
1250         (WebCore::PingLoader::sendPing): Ditto.
1251         (WebCore::PingLoader::sendViolationReport): Ditto.
1252         (WebCore::PingLoader::createPingLoader): A helper method that creates a new PingLoader object
1253         * loader/PingLoader.h: Declare the new PingLoader::createPingLoader method.
1254
1255 2013-11-03  Andreas Kling  <akling@apple.com>
1256
1257         HTMLOptionsCollection is always rooted at a HTMLSelectElement.
1258         <https://webkit.org/b/123719>
1259
1260         Tighten up HTMLOptionsCollection by making the constructor take
1261         a HTMLSelectElement& and adding a HTMLSelectElement& getter instead
1262         of casting all over the place. Removed now-pointless assertions.
1263
1264         Reviewed by Sam Weinig.
1265
1266 2013-11-03  Andreas Kling  <akling@apple.com>
1267
1268         RenderTextFragment: Tighten first-letter logic.
1269         <https://webkit.org/b/123714>
1270
1271         Reviewed by Antti Koivisto.
1272
1273         * editing/TextIterator.cpp:
1274         (WebCore::firstRenderTextInFirstLetter):
1275
1276             Use iterator helper to find first RenderText child.
1277
1278         (WebCore::TextIterator::handleTextNodeFirstLetter):
1279
1280             Tightening through type inference.
1281
1282         * rendering/RenderBlock.cpp:
1283         (WebCore::RenderBlock::updateFirstLetterStyle):
1284         (WebCore::RenderBlock::createFirstLetterRenderer):
1285         * rendering/RenderTextFragment.h:
1286
1287             The first letter renderer is always a RenderBoxModelObject,
1288             so make the code deal in that instead of RenderObject.
1289
1290         * rendering/RenderChildIterator.h:
1291         (WebCore::RenderChildIteratorAdapter::first):
1292         (WebCore::RenderChildIteratorAdapter::last):
1293
1294             Remove excess ampersands that were keeping this from building.
1295
1296 2013-11-03  Andreas Kling  <akling@apple.com>
1297
1298         CSSPrimitiveValue identifier constructors should return PassRef.
1299         <https://webkit.org/b/123712>
1300
1301         Make CSSPrimitiveValue::createIdentifier() and the corresponding
1302         CSSValuePool helper return PassRef<CSSPrimitiveValue>.
1303
1304         Reviewed by Antti Koivisto.
1305
1306 2013-11-03  Andreas Kling  <akling@apple.com>
1307
1308         Use RenderChildIterator in two more loops.
1309         <https://webkit.org/b/123713>
1310
1311         Switch two more renderer child traversal loops to childrenOfType.
1312
1313         Reviewed by Antti Koivisto.
1314
1315 2013-11-03  Andreas Kling  <akling@apple.com>
1316
1317         CSSShadowValue constructor should return PassRef.
1318         <https://webkit.org/b/123711>
1319
1320         Make CSSShadowValue::create() return a PassRef since it will never
1321         return null.
1322
1323         Reviewed by Sam Weinig.
1324
1325 2013-11-03  Andreas Kling  <akling@apple.com>
1326
1327         CSSLineBoxContainValue constructor should return PassRef.
1328         <https://webkit.org/b/123710>
1329
1330         Make CSSLineBoxContainValue::create() return a PassRef since it
1331         will never return null.
1332
1333         Reviewed by Sam Weinig.
1334
1335 2013-11-03  Antti Koivisto  <antti@apple.com>
1336
1337         LiveNodeLists should have non-null ContainerNode as root
1338         https://bugs.webkit.org/show_bug.cgi?id=123709
1339
1340         Reviewed by Andreas Kling.
1341
1342         After moving ChildNodeList off from LiveNodeList the root is now always at least a ContainerNode.
1343
1344         * dom/ContainerNode.cpp:
1345         (WebCore::ContainerNode::getElementsByTagName):
1346         (WebCore::ContainerNode::getElementsByTagNameNS):
1347         (WebCore::ContainerNode::getElementsByName):
1348         (WebCore::ContainerNode::getElementsByClassName):
1349         (WebCore::ContainerNode::radioNodeList):
1350         
1351             Also these move from Node to ContainerNode to make tighter typing work.
1352
1353 2013-11-03  Antti Koivisto  <antti@apple.com>
1354
1355         Switch createContextualFragment to element iterator
1356         https://bugs.webkit.org/show_bug.cgi?id=123704
1357
1358         Reviewed by Andreas Kling.
1359
1360         * editing/FrameSelection.cpp:
1361         (WebCore::scanForForm):
1362         
1363             Use type helpers instead of hasTagName
1364
1365         * editing/markup.cpp:
1366         (WebCore::collectElementsToRemoveFromFragment):
1367         (WebCore::removeElementFromFragmentPreservingChildren):
1368         (WebCore::createContextualFragment):
1369         * html/HTMLFormElement.cpp:
1370         (WebCore::HTMLFormElement::formElementIndex):
1371         
1372             Use type helpers instead of hasTagName
1373
1374         * html/HTMLTagNames.in:
1375         
1376             Generate type helpers for <html>.
1377
1378 2013-11-03  Antti Koivisto  <antti@apple.com>
1379
1380         ChildNodeList should not be LiveNodeList
1381         https://bugs.webkit.org/show_bug.cgi?id=123708
1382
1383         Reviewed by Sam Weinig.
1384
1385         ChildNodeList is a poor fit to be a LiveNodeList. It is heavily special-cased. It is also
1386         the only subtype that returns non-Elements thus preventing tightening.
1387
1388         * bindings/js/JSNodeListCustom.cpp:
1389         (WebCore::JSNodeListOwner::isReachableFromOpaqueRoots):
1390         
1391             Support new types.
1392
1393         * dom/ChildNodeList.cpp:
1394         (WebCore::EmptyNodeList::~EmptyNodeList):
1395         (WebCore::ChildNodeList::ChildNodeList):
1396         (WebCore::ChildNodeList::~ChildNodeList):
1397         (WebCore::ChildNodeList::length):
1398         (WebCore::childFromFirst):
1399         (WebCore::childFromLast):
1400         (WebCore::ChildNodeList::nodeBeforeCached):
1401         (WebCore::ChildNodeList::nodeAfterCached):
1402         (WebCore::ChildNodeList::item):
1403         (WebCore::ChildNodeList::namedItem):
1404         (WebCore::ChildNodeList::invalidateCache):
1405         
1406             Implement the same caching optimizations as LiveNodeList with tighter, less generic code.
1407
1408         * dom/ChildNodeList.h:
1409         
1410             Inherit ChildNodeList directly from NodeList.
1411
1412             Add new EmptyNodeList type. This is only ever used if NodeList is requested for a non-container node.
1413             It allows tighter typing in ChildNodeList.
1414
1415         * dom/LiveNodeList.cpp:
1416         (WebCore::LiveNodeList::namedItem):
1417         * dom/LiveNodeList.h:
1418         (WebCore::LiveNodeListBase::LiveNodeListBase):
1419         (WebCore::LiveNodeListBase::~LiveNodeListBase):
1420         (WebCore::LiveNodeList::LiveNodeList):
1421         
1422             Remove ChildNodeList specific code and branches.
1423
1424         * dom/Node.cpp:
1425         (WebCore::Node::childNodes):
1426         
1427             Return EmptyNodeList for non-containers.
1428
1429         * dom/NodeList.h:
1430         (WebCore::NodeList::~NodeList):
1431         (WebCore::NodeList::isLiveNodeList):
1432         (WebCore::NodeList::isChildNodeList):
1433         (WebCore::NodeList::isEmptyNodeList):
1434         
1435             For isReachableFromOpaqueRoots.
1436
1437         * dom/NodeRareData.h:
1438         (WebCore::NodeListsNodeData::ensureChildNodeList):
1439         (WebCore::NodeListsNodeData::removeChildNodeList):
1440         (WebCore::NodeListsNodeData::ensureEmptyChildNodeList):
1441         (WebCore::NodeListsNodeData::removeEmptyChildNodeList):
1442         (WebCore::NodeListsNodeData::NodeListsNodeData):
1443         (WebCore::NodeListsNodeData::deleteThisAndUpdateNodeRareDataIfAboutToRemoveLastList):
1444         
1445             EmptyNodeList support.
1446
1447         * html/CollectionType.h:
1448         * html/HTMLCollection.cpp:
1449         (WebCore::shouldOnlyIncludeDirectChildren):
1450         (WebCore::rootTypeFromCollectionType):
1451         (WebCore::invalidationTypeExcludingIdAndNameAttributes):
1452         (WebCore::isMatchingElement):
1453         (WebCore::LiveNodeListBase::itemBefore):
1454         (WebCore::LiveNodeListBase::traverseLiveNodeListFirstElement):
1455         (WebCore::LiveNodeListBase::traverseLiveNodeListForwardToOffset):
1456         (WebCore::LiveNodeListBase::item):
1457         (WebCore::LiveNodeListBase::itemBeforeOrAfterCachedItem):
1458         
1459             Remove ChildNodeList specific code and branches.
1460
1461 2013-11-03  Patrick Gansterer  <paroga@webkit.org>
1462
1463         [WINCE] Replace OwnPtr with GDIObject
1464         https://bugs.webkit.org/show_bug.cgi?id=123670
1465
1466         Reviewed by Anders Carlsson.
1467
1468         * page/win/FrameGdiWin.cpp:
1469         (WebCore::imageFromRect):
1470         * platform/graphics/wince/FontPlatformData.cpp:
1471         (WebCore::FixedSizeFontData::create):
1472         (WebCore::FontPlatformData::hfont):
1473         (WebCore::FontPlatformData::getScaledFontHandle):
1474         * platform/graphics/wince/GraphicsContextWinCE.cpp:
1475         (WebCore::createPen):
1476         (WebCore::createBrush):
1477         (WebCore::GraphicsContext::drawRect):
1478         (WebCore::GraphicsContext::drawLine):
1479         (WebCore::GraphicsContext::drawEllipse):
1480         (WebCore::GraphicsContext::drawConvexPolygon):
1481         (WebCore::GraphicsContext::fillRect):
1482         (WebCore::GraphicsContext::clip):
1483         (WebCore::GraphicsContext::strokeRect):
1484         (WebCore::GraphicsContext::fillRoundedRect):
1485         (WebCore::GraphicsContext::drawRoundCorner):
1486         (WebCore::GraphicsContext::fillPath):
1487         (WebCore::GraphicsContext::strokePath):
1488         (WebCore::GraphicsContext::drawText):
1489         * platform/graphics/wince/ImageWinCE.cpp:
1490         (WebCore::BitmapImage::getHBITMAPOfSize):
1491         * platform/graphics/wince/SharedBitmap.cpp:
1492         (WebCore::SharedBitmap::createHandle):
1493         (WebCore::SharedBitmap::draw):
1494         (WebCore::SharedBitmap::clipBitmap):
1495         (WebCore::drawPatternSimple):
1496         (WebCore::SharedBitmap::drawPattern):
1497         (WebCore::SharedBitmap::DCProvider::getDC):
1498         * platform/graphics/wince/SharedBitmap.h:
1499
1500 2013-11-03  Antti Koivisto  <antti@apple.com>
1501
1502         Add helpers for partial descendant traversal to element iterators
1503         https://bugs.webkit.org/show_bug.cgi?id=123703
1504
1505         Reviewed by Andreas Kling.
1506
1507         * dom/ElementAncestorIterator.h:
1508         (WebCore::lineageOfType):
1509         
1510             lineageOfType definition didn't match the declaration.
1511
1512         * dom/ElementDescendantIterator.h:
1513         (WebCore::::find):
1514         (WebCore::::from):
1515         
1516             Add find and from for getting begin iterator for partial traversals.
1517
1518         * editing/FrameSelection.cpp:
1519         (WebCore::scanForForm):
1520         (WebCore::FrameSelection::currentForm):
1521         * html/HTMLFormElement.cpp:
1522         (WebCore::HTMLFormElement::formElementIndex):
1523         (WebCore::HTMLFormElement::findClosestFormAncestor):
1524         
1525             Use them in a few places.
1526
1527 2013-11-03  Andreas Kling  <akling@apple.com>
1528
1529         Inline RenderStyle functions for getting/setting pseudo style bits.
1530         <https://webkit.org/b/123702>
1531
1532         hasPseudoStyle() actually shows up on html5-full-render.html,
1533         and it's pretty crazy to eat the cost of a function call just
1534         to do some basic bit twiddling.
1535
1536         Reviewed by Antti Koivisto.
1537
1538 2013-11-03  Xabier Rodriguez Calvar  <calvaris@igalia.com>
1539
1540         Remove HTMLMediaElement.initialTime
1541         https://bugs.webkit.org/show_bug.cgi?id=123572
1542
1543         Reviewed by Eric Carlson.
1544
1545         Patch based on one by: philipj@opera.com
1546         Blink review URL: https://codereview.chromium.org/35033002
1547
1548         initialTime has been removed from the HTMLMediaElement.
1549
1550         * bindings/gobject/WebKitDOMCustom.cpp:
1551         (webkit_dom_html_media_element_get_initial_time):
1552         * bindings/gobject/WebKitDOMCustom.h:
1553         * bindings/gobject/WebKitDOMCustom.symbols: Added phony function.
1554         * html/HTMLMediaElement.cpp:
1555         * html/HTMLMediaElement.h:
1556         * html/HTMLMediaElement.idl: Removed HTMLMediaElement::initialTime.
1557
1558 2013-11-02  Alexey Proskuryakov  <ap@apple.com>
1559
1560         Implement generateKey for HMAC and AES-CBC
1561         https://bugs.webkit.org/show_bug.cgi?id=123669
1562
1563         Reviewed by Dan Bernstein.
1564
1565         Tests: crypto/subtle/aes-cbc-generate-key.html
1566                crypto/subtle/hmac-generate-key.html
1567
1568         * WebCore.xcodeproj/project.pbxproj: Added new files.
1569
1570         * bindings/js/JSCryptoAlgorithmDictionary.cpp:
1571         (WebCore::createAesKeyGenParams): Added bindings for AesKeyGenParams.
1572         (WebCore::JSCryptoAlgorithmDictionary::createParametersForGenerateKey): Handle
1573         algorithms that generate AES and HMAC keys.
1574
1575         * bindings/js/JSSubtleCryptoCustom.cpp: (WebCore::JSSubtleCrypto::generateKey): Added.
1576
1577         * crypto/CryptoAlgorithmAesKeyGenParams.h: Added.
1578
1579         * crypto/CryptoKey.cpp: (WebCore::CryptoKey::randomData):
1580         * crypto/CryptoKey.h:
1581         * crypto/CryptoKeyMac.cpp: Added
1582         Expose a function that produces random data for symmetric crypto keys. Cross-platform
1583         implementation uses ARC4 code from WTF, while Mac uses a system function that
1584         provides a FIPS validated random number generator.
1585
1586         * crypto/CryptoKeyAES.cpp: (WebCore::CryptoKeyAES::generate):
1587         * crypto/CryptoKeyAES.h:
1588         Added a function that creates AES keys.
1589
1590         * crypto/SubtleCrypto.idl: Added generateKey.
1591
1592         * crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:
1593         (WebCore::CryptoAlgorithmAES_CBC::generateKey): Added.
1594
1595         * crypto/algorithms/CryptoAlgorithmHMAC.cpp:
1596         (WebCore::CryptoAlgorithmHMAC::generateKey): Added.
1597
1598         * crypto/keys/CryptoKeyHMAC.cpp: (WebCore::CryptoKeyHMAC::generate):
1599         * crypto/keys/CryptoKeyHMAC.h:
1600         Added a function that creates HMAC keys.
1601
1602         * crypto/mac/CryptoAlgorithmAES_CBCMac.cpp: Removed generateKey stub, the implementation
1603         ended up in cross-platform file.
1604
1605         * crypto/mac/CryptoAlgorithmHMACMac.cpp: Ditto.
1606
1607 2013-11-02  Christophe Dumez  <ch.dumez@samsung.com>
1608
1609         EnforceRange doesn't enforce range of a short
1610         https://bugs.webkit.org/show_bug.cgi?id=123661
1611
1612         Reviewed by Alexey Proskuryakov.
1613
1614         Handle Web IDL short / unsigned short types as per the
1615         specification:
1616         - http://www.w3.org/TR/WebIDL/#es-short
1617         - http://www.w3.org/TR/WebIDL/#es-unsigned-short
1618
1619         Specifically, we used to treat short / unsigned short as 32bit
1620         integers, which was wrong. We now properly handle them as 16bit
1621         integers.
1622
1623         No new tests, added test cases to js/dom/webidl-type-mapping.html.
1624
1625         * WebCore.exp.in:
1626         * bindings/js/JSDOMBinding.cpp:
1627         (WebCore::toSmallerInt):
1628         (WebCore::toSmallerUInt):
1629         (WebCore::toInt8):
1630         (WebCore::toUInt8):
1631         (WebCore::toInt16):
1632         (WebCore::toUInt16):
1633         * bindings/js/JSDOMBinding.h:
1634         * bindings/scripts/CodeGeneratorJS.pm:
1635         (JSValueToNative):
1636         * bindings/scripts/test/JS/JSTestObj.cpp:
1637         (WebCore::setJSTestObjShortAttr):
1638         (WebCore::setJSTestObjUnsignedShortAttr):
1639         * testing/TypeConversions.h:
1640         (WebCore::TypeConversions::testShort):
1641         (WebCore::TypeConversions::setTestShort):
1642         (WebCore::TypeConversions::testEnforceRangeShort):
1643         (WebCore::TypeConversions::setTestEnforceRangeShort):
1644         (WebCore::TypeConversions::testUnsignedShort):
1645         (WebCore::TypeConversions::setTestUnsignedShort):
1646         (WebCore::TypeConversions::testEnforceRangeUnsignedShort):
1647         (WebCore::TypeConversions::setTestEnforceRangeUnsignedShort):
1648         * testing/TypeConversions.idl:
1649
1650 2013-11-02  Patrick Gansterer  <paroga@webkit.org>
1651
1652         Cleanup OpenTypeUtilities
1653         https://bugs.webkit.org/show_bug.cgi?id=123686
1654
1655         Reviewed by Darin Adler.
1656
1657         Merge the WinCE specific code into the general Windows code to
1658         make the compilation of WinCE port on WinNT easier.
1659
1660         * platform/graphics/opentype/OpenTypeUtilities.cpp:
1661         (WebCore::renameFont):
1662         (WebCore::renameAndActivateFont):
1663         * platform/graphics/opentype/OpenTypeUtilities.h:
1664         * platform/graphics/win/FontCustomPlatformData.cpp:
1665         (WebCore::createFontCustomPlatformData):
1666         * platform/graphics/win/FontCustomPlatformDataCairo.cpp:
1667         (WebCore::createFontCustomPlatformData):
1668         * platform/graphics/wince/FontCustomPlatformData.cpp:
1669         (WebCore::createFontCustomPlatformData):
1670
1671 2013-11-02  Andreas Kling  <akling@apple.com>
1672
1673         CSSFontFaceSrcValue constructors should return PassRef.
1674         <https://webkit.org/b/123692>
1675
1676         Make functions that return non-null CSSFontFaceSrcValues return
1677         PassRef instead of PassRefPtr. Tweak some call sites to be
1678         slightly more efficient.
1679
1680         Reviewed by Anders Carlsson.
1681
1682 2013-11-02  Andreas Kling  <akling@apple.com>
1683
1684         CSSStyleSheet::contents() should return a reference.
1685         <https://webkit.org/b/123689>
1686
1687         Make CSSStyleSheet::contents() return a StyleSheetContents& instead
1688         of a pointer. The object was already stored in a Ref.
1689
1690         Reviewed by Anders Carlsson.
1691
1692 2013-11-02  Andreas Kling  <akling@apple.com>
1693
1694         CSSReflectValue constructor should return PassRef.
1695         <https://webkit.org/b/123963>
1696
1697         Make CSSReflectValue::create() return a PassRef. Tweak one call
1698         site to be slightly more efficient.
1699
1700         Reviewed by Anders Carlsson.
1701
1702 2013-11-02  Andreas Kling  <akling@apple.com>
1703
1704         CSSFontFeatureValue constructor should return PassRef.
1705         <https://webkit.org/b/123691>
1706
1707         Make CSSFontFeatureValue::create() return PassRef, since it never
1708         returns null. Tweak one call site to be slightly more efficient.
1709
1710         Reviewed by Anders Carlsson.
1711
1712 2013-11-02  Andreas Kling  <akling@apple.com>
1713
1714         Tighten typing in SVGResources::buildCachedResources().
1715         <https://webkit.org/b/123690>
1716
1717         Make this function take a RenderElement&/SVGRenderStyle& pair instead
1718         of a RenderObject*/SVGRenderStyle* pair. Also tweaked the code a bit,
1719         removing ampersands and asserts as appropriate.
1720
1721         Reviewed by Anders Carlsson.
1722
1723 2013-11-02  Andreas Kling  <akling@apple.com>
1724
1725         CSSImageValue constructors should return PassRef.
1726         <https://webkit.org/b/123688>
1727
1728         Make the CSSImageValue::create() helpers return PassRef.
1729         Tightened call sites to avoid null checks and destructor calls.
1730
1731         Reviewed by Anders Carlsson.
1732
1733 2013-11-02  Patrick Gansterer  <paroga@webkit.org>
1734
1735         Fix compilation of SynchronousLoaderClient
1736         https://bugs.webkit.org/show_bug.cgi?id=123676
1737
1738         Reviewed by Darin Adler.
1739
1740         Assign a ResourceRequest varibale an empty ResourceRequest instead of 0.
1741         The current solution only works for ports which can create a
1742         ResourceRequest from a pointer, which might not be true for all ports.
1743
1744         * platform/network/SynchronousLoaderClient.cpp:
1745         (WebCore::SynchronousLoaderClient::willSendRequest):
1746
1747 2013-11-02  Patrick Gansterer  <paroga@webkit.org>
1748
1749         Port LoggingWin.cpp to WinCE
1750         https://bugs.webkit.org/show_bug.cgi?id=123678
1751
1752         Reviewed by Darin Adler.
1753
1754         This makes it easier to use a common list of files
1755         for the different Windows ports later.
1756
1757         * PlatformWin.cmake:
1758         * platform/win/LoggingWin.cpp:
1759         (WebCore::logLevelString):
1760
1761 2013-11-02  Patrick Gansterer  <paroga@webkit.org>
1762
1763         Fix UnicodeWchar after r157330.
1764         https://bugs.webkit.org/show_bug.cgi?id=123668
1765
1766         Reviewed by Darin Adler.
1767
1768         * editing/TextIterator.cpp:
1769         (WebCore::SearchBuffer::append):
1770         * platform/graphics/wince/FontWinCE.cpp:
1771         (WebCore::generateComponents):
1772         * platform/graphics/wince/GraphicsContextWinCE.cpp:
1773         (WebCore::GraphicsContext::drawText):
1774         * platform/text/wchar/TextBreakIteratorWchar.cpp:
1775         (WebCore::isCharStop):
1776         (WebCore::isLineStop):
1777         (WebCore::isSentenceStop):
1778         (WebCore::WordBreakIterator::next):
1779         (WebCore::WordBreakIterator::previous):
1780
1781 2013-11-02  Andreas Kling  <akling@apple.com>
1782
1783         Use RenderChildIterator in a couple of places.
1784         <https://webkit.org/b/123684>
1785
1786         Added isRendererOfType() for RenderBox and RenderBlock and switch
1787         some loops over to using childrenOfType<>. Also sprinkled const
1788         and references on touched code.
1789
1790         Reviewed by Antti Koivisto.
1791
1792 2013-11-02  Zan Dobersek  <zdobersek@igalia.com>
1793
1794         Manage FileReaderLoader through std::unique_ptr
1795         https://bugs.webkit.org/show_bug.cgi?id=123666
1796
1797         Reviewed by Anders Carlsson.
1798
1799         Construct FileReaderLoader objects through std::make_unique and store them in std::unique_ptr.
1800
1801         * fileapi/FileReader.cpp:
1802         (WebCore::FileReader::readInternal):
1803         * fileapi/FileReader.h:
1804
1805 2013-11-02  Andreas Kling  <akling@apple.com>
1806
1807         Add a child renderer iterator.
1808         <https://webkit.org/b/123662>
1809
1810         Introduce an ElementIterator-style iterator for renderers and put
1811         it to use in a childrenOfType() implementation.
1812
1813         It's used just like the Element iterators:
1814
1815         auto sections = childrenOfType<RenderTableSection>(*this);
1816         for (auto section = sections.begin(), section = sections.end(); section != sections.end(); ++section)
1817             section->thisOrThat();
1818
1819         Just like the DOM counterpart, it relies on a templatized helper:
1820
1821             bool isRendererOfType<T>(const RenderObject&)
1822
1823         This patch puts the iterator to use in a couple of random places.
1824
1825         Reviewed by Antti Koivisto.
1826
1827 2013-11-02  Alexey Proskuryakov  <ap@apple.com>
1828
1829         Implement remaining SHA variations for WebCrypto
1830         https://bugs.webkit.org/show_bug.cgi?id=123659
1831
1832         Reviewed by Anders Carlsson.
1833
1834         Tests: crypto/subtle/sha-224.html
1835                crypto/subtle/sha-256.html
1836                crypto/subtle/sha-384.html
1837                crypto/subtle/sha-512.html
1838
1839         * WebCore.xcodeproj/project.pbxproj:
1840         * crypto/algorithms/CryptoAlgorithmSHA224.cpp: Added.
1841         (WebCore::CryptoAlgorithmSHA224::CryptoAlgorithmSHA224):
1842         (WebCore::CryptoAlgorithmSHA224::~CryptoAlgorithmSHA224):
1843         (WebCore::CryptoAlgorithmSHA224::create):
1844         (WebCore::CryptoAlgorithmSHA224::identifier):
1845         * crypto/algorithms/CryptoAlgorithmSHA224.h: Added.
1846         * crypto/algorithms/CryptoAlgorithmSHA256.cpp: Added.
1847         (WebCore::CryptoAlgorithmSHA256::CryptoAlgorithmSHA256):
1848         (WebCore::CryptoAlgorithmSHA256::~CryptoAlgorithmSHA256):
1849         (WebCore::CryptoAlgorithmSHA256::create):
1850         (WebCore::CryptoAlgorithmSHA256::identifier):
1851         * crypto/algorithms/CryptoAlgorithmSHA256.h: Added.
1852         * crypto/algorithms/CryptoAlgorithmSHA384.cpp: Added.
1853         (WebCore::CryptoAlgorithmSHA384::CryptoAlgorithmSHA384):
1854         (WebCore::CryptoAlgorithmSHA384::~CryptoAlgorithmSHA384):
1855         (WebCore::CryptoAlgorithmSHA384::create):
1856         (WebCore::CryptoAlgorithmSHA384::identifier):
1857         * crypto/algorithms/CryptoAlgorithmSHA384.h: Added.
1858         * crypto/algorithms/CryptoAlgorithmSHA512.cpp: Added.
1859         (WebCore::CryptoAlgorithmSHA512::CryptoAlgorithmSHA512):
1860         (WebCore::CryptoAlgorithmSHA512::~CryptoAlgorithmSHA512):
1861         (WebCore::CryptoAlgorithmSHA512::create):
1862         (WebCore::CryptoAlgorithmSHA512::identifier):
1863         * crypto/algorithms/CryptoAlgorithmSHA512.h: Added.
1864         * crypto/mac/CryptoAlgorithmRegistryMac.cpp:
1865         (WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms):
1866         * crypto/mac/CryptoAlgorithmSHA224Mac.cpp: Added.
1867         (WebCore::CryptoAlgorithmSHA224::digest):
1868         * crypto/mac/CryptoAlgorithmSHA256Mac.cpp: Added.
1869         (WebCore::CryptoAlgorithmSHA256::digest):
1870         * crypto/mac/CryptoAlgorithmSHA384Mac.cpp: Added.
1871         (WebCore::CryptoAlgorithmSHA384::digest):
1872         * crypto/mac/CryptoAlgorithmSHA512Mac.cpp: Added.
1873         (WebCore::CryptoAlgorithmSHA512::digest):
1874
1875 2013-11-02  Patrick Gansterer  <paroga@webkit.org>
1876
1877         Various small WinCE build fixes
1878
1879         * editing/TextIterator.cpp:
1880         (WebCore::SearchBuffer::append):
1881         * platform/graphics/BitmapImage.h:
1882         * platform/graphics/wince/ImageWinCE.cpp:
1883         (WebCore::BitmapImage::getHBITMAPOfSize):
1884         (WebCore::BitmapImage::drawFrameMatchingSourceSize):
1885         * platform/graphics/wince/PlatformPathWinCE.h:
1886         * platform/win/PopupMenuWin.h:
1887         * rendering/RenderThemeWinCE.cpp:
1888         (WebCore::RenderThemeWinCE::adjustMenuListButtonStyle):
1889
1890 2013-11-01  Alexey Proskuryakov  <ap@apple.com>
1891
1892         Add WebCrypto AES-CBC
1893         https://bugs.webkit.org/show_bug.cgi?id=123647
1894
1895         Reviewed by Anders Carlsson.
1896
1897         Tests: crypto/subtle/aes-cbc-192-encrypt-decrypt.html
1898                crypto/subtle/aes-cbc-256-encrypt-decrypt.html
1899                crypto/subtle/aes-cbc-encrypt-decrypt-with-padding.html
1900                crypto/subtle/aes-cbc-encrypt-decrypt.html
1901                crypto/subtle/aes-cbc-invalid-length.html
1902                crypto/subtle/aes-cbc-wrong-key-class.html
1903
1904         * WebCore.xcodeproj/project.pbxproj: Added new files.
1905         * bindings/js/JSCryptoAlgorithmDictionary.cpp:
1906         (WebCore::getProperty): Factored out a function to get a property as JSValue.
1907         (WebCore::getHashAlgorithm): Use it.
1908         (WebCore::createAesCbcParams): Added converter for AesCbcParams.
1909         (WebCore::JSCryptoAlgorithmDictionary::createParametersForEncrypt): Support AES_CBC.
1910         (WebCore::JSCryptoAlgorithmDictionary::createParametersForDecrypt): Ditto.
1911         (WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey): Support all
1912         algorithms, all the new ones just have trivial dictionaries.
1913         (WebCore::JSCryptoAlgorithmDictionary::createParametersForExportKey): Ditto.
1914
1915         * bindings/js/JSCryptoOperationData.cpp: Added.
1916         (WebCore::sequenceOfCryptoOperationDataFromJSValue):
1917         (WebCore::cryptoOperationDataFromJSValue):
1918         * bindings/js/JSCryptoOperationData.h: Added.
1919         Moved CryptoOperationData bindings out of JSSubtleCryptoCustom.cpp, so that we
1920         could use them in JSCryptoAlgorithmDictionary.cpp.
1921
1922         * bindings/js/JSDOMPromise.h: (WebCore::PromiseWrapper::reject): Added a specialization
1923         to reject with null result. The spec doesn't actually say how algorithms fail.
1924
1925         * bindings/js/JSSubtleCryptoCustom.cpp:
1926         (WebCore::JSSubtleCrypto::encrypt): Added.
1927         (WebCore::JSSubtleCrypto::decrypt): Ditto.
1928         (WebCore::JSSubtleCrypto::sign): Style fix.
1929
1930         * crypto/CryptoAlgorithmAesCbcParams.h: Added.
1931
1932         * crypto/CryptoKey.h:
1933         (WebCore::CryptoKeyClass):
1934         * crypto/keys/CryptoKeyHMAC.h:
1935         (WebCore::asCryptoKeyHMAC):
1936         Added poor man's RTTI, so that we can safely upcast Keys passed fro JavaScript code.
1937
1938         * crypto/CryptoKeyAES.cpp: Added.
1939         (WebCore::CryptoKeyAES::CryptoKeyAES):
1940         (WebCore::CryptoKeyAES::~CryptoKeyAES):
1941         (WebCore::CryptoKeyAES::buildAlgorithmDescription):
1942         * crypto/CryptoKeyAES.h: Added.
1943         (WebCore::asCryptoKeyAES):
1944         AES keys are the same for all algorithms, but they still need to remember the algorithm.
1945
1946         * crypto/SubtleCrypto.idl: Added encrypt/decrypt.
1947
1948         * crypto/algorithms/CryptoAlgorithmAES_CBC.cpp: Added.
1949         (WebCore::CryptoAlgorithmAES_CBC::CryptoAlgorithmAES_CBC):
1950         (WebCore::CryptoAlgorithmAES_CBC::~CryptoAlgorithmAES_CBC):
1951         (WebCore::CryptoAlgorithmAES_CBC::create):
1952         (WebCore::CryptoAlgorithmAES_CBC::identifier):
1953         (WebCore::CryptoAlgorithmAES_CBC::importKey):
1954         (WebCore::CryptoAlgorithmAES_CBC::exportKey):
1955         * crypto/algorithms/CryptoAlgorithmAES_CBC.h: Added.
1956         * crypto/mac/CryptoAlgorithmAES_CBCMac.cpp: Added.
1957         (WebCore::transformAES_CBC):
1958         (WebCore::CryptoAlgorithmAES_CBC::encrypt):
1959         (WebCore::CryptoAlgorithmAES_CBC::decrypt):
1960         (WebCore::CryptoAlgorithmAES_CBC::generateKey):
1961         Added.
1962
1963         * crypto/mac/CryptoAlgorithmHMACMac.cpp:
1964         (WebCore::CryptoAlgorithmHMAC::sign):
1965         (WebCore::CryptoAlgorithmHMAC::verify):
1966         Check key class before casting it to CryptoKeyHMAC.
1967
1968         * crypto/mac/CryptoAlgorithmRegistryMac.cpp:
1969         (WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms): Register AES-CBC
1970         on Mac, so that it can be used.
1971
1972 2013-11-01  Andreas Kling  <akling@apple.com>
1973
1974         SVGRenderStyle accessors should return references.
1975         <https://webkit.org/b/123656>
1976
1977         RenderStyle::svgStyle() and accessSVGStyle() never return null,
1978         so make them return references instead.
1979         
1980         This flushed out a myriad of pointless null checks and assertions.
1981
1982         Reviewed by Anders Carlsson.
1983
1984 2013-11-01  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
1985
1986         Removing MediaStreamTrackVector and MediaStreamSourceVector typedefs
1987         https://bugs.webkit.org/show_bug.cgi?id=123648
1988
1989         Reviewed by Eric Carlson.
1990
1991         No new tests needed.
1992
1993         * Modules/mediastream/MediaStream.cpp:
1994         (WebCore::MediaStream::create):
1995         (WebCore::MediaStream::clone):
1996         (WebCore::MediaStream::cloneMediaStreamTrackVector):
1997         (WebCore::MediaStream::addTrack):
1998         (WebCore::MediaStream::removeTrack):
1999         (WebCore::MediaStream::haveTrackWithSource):
2000         (WebCore::MediaStream::getTrackById):
2001         (WebCore::MediaStream::trackVectorForType):
2002         * Modules/mediastream/MediaStream.h:
2003         * Modules/mediastream/MediaStreamTrack.h:
2004         * Modules/mediastream/UserMediaRequest.cpp:
2005         (WebCore::UserMediaRequest::callSuccessHandler):
2006         * Modules/webaudio/AudioContext.cpp:
2007         (WebCore::AudioContext::createMediaStreamSource):
2008         * Modules/webaudio/MediaStreamAudioDestinationNode.cpp:
2009         (WebCore::MediaStreamAudioDestinationNode::MediaStreamAudioDestinationNode):
2010         * platform/mediastream/MediaStreamDescriptor.cpp:
2011         (WebCore::MediaStreamDescriptor::create):
2012         (WebCore::MediaStreamDescriptor::MediaStreamDescriptor):
2013         * platform/mediastream/MediaStreamDescriptor.h:
2014         * platform/mediastream/MediaStreamSource.h:
2015
2016 2013-11-01  Andreas Kling  <akling@apple.com>
2017
2018         createFontFaceValue() should be smarter about overgrown cache.
2019         <https://webkit.org/b/123643>
2020
2021         Instead of clearing the whole font-face value cache when it passes
2022         128 entries, just delete one entry at random.
2023
2024         Reviewed by Geoffrey Garen.
2025
2026 2013-11-01  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
2027
2028         Fixing mac code to use new MediaStreamDescriptor create method
2029         https://bugs.webkit.org/show_bug.cgi?id=123653
2030
2031         Reviewed by Eric Carlson.
2032
2033         No new tests needed.
2034
2035         * platform/mediastream/mac/MediaStreamCenterMac.cpp:
2036         (WebCore::MediaStreamCenterMac::createMediaStream):
2037
2038 2013-11-01  Andreas Kling  <akling@apple.com>
2039
2040         Re-use existing RenderStyle local in textWidth().
2041         <https://webkit.org/b/123392>
2042
2043         We already have the RenderStyle cached in a local here, so avoid
2044         getting it from RenderText since that has to go via the parent.
2045
2046         Reviewed by Antti Koivisto.
2047
2048 2013-11-01  Andreas Kling  <akling@apple.com>
2049
2050         Neuter WTF_MAKE_FAST_ALLOCATED in GLOBAL_FASTMALLOC_NEW builds.
2051         <https://webkit.org/b/123639>
2052
2053         WebCore::TimerBase really needed to have the new/delete operators
2054         overridden, in order for WebCore::SuspendableTimer to be able to
2055         choose that "operator new" out of the two it inherits.
2056
2057         Reviewed by Anders Carlsson.
2058
2059 2013-11-01  Andreas Kling  <akling@apple.com>
2060
2061         CSSCanvasValue construction helper should return PassRef.
2062         <https://webkit.org/b/123650>
2063
2064         Return PassRef instead of PassRefPtr from functions that return
2065         ownership-passing pointers that are known to be non-null.
2066
2067         Reviewed by Anders Carlsson.
2068
2069 2013-11-01  Joseph Pecoraro  <pecoraro@apple.com>
2070
2071         Move CF/Mac WTF String implementations down into WTF
2072         https://bugs.webkit.org/show_bug.cgi?id=123635
2073
2074         Reviewed by Sam Weinig.
2075
2076         * WebCore.vcxproj/WebCore.vcxproj:
2077         * WebCore.vcxproj/WebCore.vcxproj.filters:
2078         * WebCore.xcodeproj/project.pbxproj:
2079
2080 2013-11-01  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
2081
2082         Removing unnecessary early returns in addTrack, removeTrack and removeRemoteSource methods
2083         https://bugs.webkit.org/show_bug.cgi?id=123644
2084
2085         Reviewed by Eric Carlson.
2086
2087         No new tests needed.
2088
2089         * Modules/mediastream/MediaStream.cpp:
2090         (WebCore::MediaStream::addTrack):
2091         (WebCore::MediaStream::removeTrack):
2092         (WebCore::MediaStream::removeRemoteSource):
2093         (WebCore::MediaStream::trackVectorForType):
2094         * Modules/mediastream/MediaStream.h:
2095
2096 2013-11-01  Andreas Kling  <akling@apple.com>
2097
2098         CSSAspectRatioValue construction helper should return PassRef.
2099         <https://webkit.org/b/123645>
2100
2101         Return PassRef instead of PassRefPtr from functions that return
2102         ownership-passing pointers that are known to be non-null.
2103
2104         Reviewed by Darin Adler.
2105
2106 2013-11-01  Myles C. Maxfield  <mmaxfield@apple.com>
2107
2108         Initial implementation of text-decoration-skip ink
2109         https://bugs.webkit.org/show_bug.cgi?id=121806
2110
2111         Reviewed by Darin Adler.
2112
2113         text-decoration-skip: ink is implemented by the following steps:
2114         1. Before drawing any decorations, figure out the bounding box for the decorations that will be drawn
2115         2. Create an ImageBuffer with these dimensions
2116         3. Draw text into this ImageBuffer with a thicker stroke
2117         4. Apply the ImageBuffer as a mask to the context
2118         5. Draw decorations like normal
2119         6. Clean up
2120
2121         Test: fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-ink.html
2122
2123         * platform/graphics/cg/GraphicsContextCG.cpp:
2124         (WebCore::computeLineBoundsAndAntialiasingModeForText): Don't call GraphicsContext::roundToDevicePixels
2125         when painting is disabled
2126         * rendering/InlineTextBox.cpp:
2127         (WebCore::InlineTextBox::paint): Pass the TextPainter to paintDecoration
2128         (WebCore::computeUnderlineOffset): Small cleanup
2129         (WebCore::getWavyStrokeControlPointDistance): Pulling out of strokeWavyTextDecoration()
2130         (WebCore::getWavyStrokeStep): Ditto
2131         (WebCore::strokeWavyTextDecoration): Use the previous 2 functions
2132         (WebCore::getSingleDecorationBoundingBox): Pulling out repeated code into a function
2133         (WebCore::getDecorationBoundingBox): Compute the bounding box for an underline which
2134         hasn't been drawn yet
2135         (WebCore::InlineTextBox::paintDecoration): Construct a mask and apply it to the GraphicsContext
2136         * rendering/InlineTextBox.h: paintDecoration needs the TextPainter
2137         * rendering/style/RenderStyle.cpp:
2138         (WebCore::RenderStyle::changeRequiresRepaintIfTextOrBorderOrOutline): Redraw the underline when
2139         text-decoration-skip changes
2140
2141 2013-11-01  Andreas Kling  <akling@apple.com>
2142
2143         CSS 'initial' and 'inherit' value constructors should return PassRef.
2144         <https://webkit.org/b/123641>
2145
2146         Make the helpers involved in constructing CSS{Initial,Inherited}Value
2147         all return PassRef instead of PassRefPtr. This avoids generating
2148         pointless null checks at the call sites.
2149
2150         Reviewed by Darin Adler.
2151
2152 2013-11-01  Andreas Kling  <akling@apple.com>
2153
2154         Kill RenderArena.
2155         <https://webkit.org/b/123634>
2156
2157         There are no remaining users of the RenderArena allocator.
2158
2159         Reviewed by Geoffrey Garen.
2160
2161 2013-11-01  James Craig  <jcraig@apple.com>
2162
2163         AX: Regression: media controls are no longer accessible
2164         https://bugs.webkit.org/show_bug.cgi?id=121990
2165
2166         Reviewed by Jer Noble.
2167
2168         Updated existing test coverage.
2169         Added ARIA roles, attrs, and labels to the new media controls shadow DOM.
2170         Localization will be handled in http://webkit.org/b/120956
2171
2172         * Modules/mediacontrols/mediaControlsApple.js:
2173         (Controller.prototype.UIString):
2174         (Controller.prototype.createControls):
2175         (Controller.prototype.handleLoadStart):
2176         (Controller.prototype.handleError):
2177         (Controller.prototype.handleAbort):
2178         (Controller.prototype.handleSuspend):
2179         (Controller.prototype.handleStalled):
2180         (Controller.prototype.handleWaiting):
2181         (Controller.prototype.handleFullscreenChange):
2182         (Controller.prototype.handleMuteButtonClicked):
2183         (Controller.prototype.handleMinButtonClicked):
2184         (Controller.prototype.handleMaxButtonClicked):
2185         (Controller.prototype.handleVolumeSliderChange):
2186         (Controller.prototype.updatePlaying):
2187
2188 2013-11-01  Andreas Kling  <akling@apple.com>
2189
2190         Take BidiRuns out of the arena.
2191         <https://webkit.org/b/123630>
2192
2193         Stop arena-allocating BidiRun objects and use regular new/delete.
2194
2195         With this, there are no remaining clients of RenderArena.
2196         It will be removed in a subsequent patch.
2197
2198         Reviewed by Anders Carlsson.
2199
2200 2013-11-01  Afonso R. Costa Jr.  <afonso.costa@samsung.com>
2201
2202         Expose setApplicationCacheOriginQuota via window.internals
2203         https://bugs.webkit.org/show_bug.cgi?id=87838
2204
2205         Reviewed by Joseph Pecoraro.
2206
2207         Also reset the default origin quota in resetToConsistentState().
2208
2209         * testing/Internals.cpp: Add setApplicationCacheOriginQuota.
2210         (WebCore::Internals::resetToConsistentState): Reset the default origin
2211         quota.
2212         (WebCore::Internals::setApplicationCacheOriginQuota): Added.
2213         * testing/Internals.h: Add setApplicationCacheOriginQuota.
2214         * testing/Internals.idl: Ditto.
2215
2216 2013-11-01  Nick Diego Yamane  <nick.yamane@openbossa.org>
2217
2218         Explicitly initialize RefCounted base class in MediaStreamTrack's constructors
2219         https://bugs.webkit.org/show_bug.cgi?id=123620
2220
2221         Reviewed by Andreas Kling.
2222
2223         No new tests needed.
2224
2225         * Modules/mediastream/MediaStreamTrack.cpp:
2226         (WebCore::MediaStreamTrack::MediaStreamTrack):
2227
2228 2013-11-01  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
2229
2230         Adding addRemoteTrack and removeRemoteTrack functions to MediaStreamDescriptor and MediaStream
2231         https://bugs.webkit.org/show_bug.cgi?id=123477
2232
2233         Reviewed by Eric Carlson.
2234
2235         When the backend report that a remote track has been added or removed by a remote peer, we must be able to add
2236         it to its MediaStream
2237
2238         No new tests needed.
2239
2240         * Modules/mediastream/MediaStream.cpp:
2241         (WebCore::MediaStream::addTrack): Splitted in two parts that can be used by old addTrack and new addRemoteTrack.
2242         (WebCore::MediaStream::removeTrack): Splitted in two parts that can be used by old removeTrack and new
2243         removeRemoteTrack.
2244         (WebCore::MediaStream::addRemoteSource): Reusing code in new addTrack method.
2245         (WebCore::MediaStream::removeRemoteSource): Refactored.
2246         (WebCore::MediaStream::addRemoteTrack): Added.
2247         (WebCore::MediaStream::removeRemoteTrack): Added.
2248         (WebCore::MediaStream::getTrackVectorForType): Helper method that returns a vector of tracks according to
2249         track's type (Audio or Video).
2250
2251         * Modules/mediastream/MediaStream.h:
2252         * Modules/mediastream/MediaStreamTrack.cpp:
2253         (WebCore::MediaStreamTrack::MediaStreamTrack):
2254         * platform/mediastream/MediaStreamDescriptor.cpp:
2255         (WebCore::MediaStreamDescriptor::addRemoteTrack): Added.
2256         (WebCore::MediaStreamDescriptor::removeRemoteTrack): Added.
2257         * platform/mediastream/MediaStreamDescriptor.h:
2258
2259 2013-11-01  Brendan Long  <b.long@cablelabs.com>
2260
2261         [GStreamer] Support audio and video tracks
2262         https://bugs.webkit.org/show_bug.cgi?id=117039
2263
2264         Reviewed by Philippe Normand.
2265
2266         Tests: media/track/audio/audio-track-mkv-vorbis-addtrack.html
2267                media/track/audio/audio-track-mkv-vorbis-enabled.html
2268                media/track/audio/audio-track-mkv-vorbis-language.html
2269                media/track/in-band/track-in-band-kate-ogg-addtrack.html
2270                media/track/in-band/track-in-band-srt-mkv-addtrack.html
2271                media/track/video/video-track-mkv-theora-addtrack.html
2272                media/track/video/video-track-mkv-theora-language.html
2273                media/track/video/video-track-mkv-theora-selected.html
2274
2275         * GNUmakefile.list.am: Add audio and video track files.
2276         * PlatformEfl.cmake: Same.
2277         * html/HTMLMediaElement.cpp:
2278         (WebCore::HTMLMediaElement::audioTrackEnabledChanged): Schedule "change" event.
2279         (WebCore::HTMLMediaElement::videoTrackSelectedChanged): Same.
2280         * html/track/AudioTrack.cpp:
2281         (WebCore::AudioTrack::setEnabled): Call m_private->setEnabled
2282         (WebCore::AudioTrack::enabledChanged): Added callback.
2283         (WebCore::AudioTrack::labelChanged): Same.
2284         (WebCore::AudioTrack::languageChanged): Same.
2285         (WebCore::AudioTrack::willRemoveAudioTrackPrivate): Use ASSERT_UNUSED for consistence.
2286         * html/track/AudioTrack.h: Add new enabled, label and language callbacks.
2287         * html/track/VideoTrack.cpp:
2288         (WebCore::VideoTrack::setSelected): Call m_private->setEnabled
2289         (WebCore::VideoTrack::selectedChanged): Added callback.
2290         (WebCore::VideoTrack::labelChanged): Same.
2291         (WebCore::VideoTrack::languageChanged): Same.
2292         (WebCore::VideoTrack::willRemoveVideoTrackPrivate): Use ASSERT_UNUSED for consistence.
2293         * html/track/VideoTrack.h: Add new selected, label and language callbacks.
2294         * platform/graphics/AudioTrackPrivate.h:
2295         (WebCore::AudioTrackPrivate::setEnabled): Call m_client->enabledChanged
2296         * platform/graphics/VideoTrackPrivate.h:
2297         (WebCore::VideoTrackPrivate::setSelected): Call m_client->selectedChanged
2298         * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp:
2299         (WebCore::InbandTextTrackPrivateGStreamer::InbandTextTrackPrivateGStreamer): Add ASSERT(m_pad)
2300         (WebCore::InbandTextTrackPrivateGStreamer::notifyTrackOfTagsChanged): Look at all tag events instead of just the first one.
2301         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2302         (WebCore::mediaPlayerPrivateVideoSinkCapsChangedCallback): Separated callback when caps change from callback when number of videos change.
2303         (WebCore::mediaPlayerPrivateVideoCapsChangeTimeoutCallback): Same.
2304         (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer): Initialize m_videoCapsTimerHandler.
2305         (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer): Disconnect audio and video tracks and remove callbacks.
2306         (WebCore::MediaPlayerPrivateGStreamer::videoCapsChanged): Separated callback when caps change from callback when number of videos change.
2307         (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideo): Create video tracks for each stream.
2308         (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideoCaps): Separated callback when caps change from callback when number of videos change.
2309         (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfAudio): Create audio tracks for each stream.
2310         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: Add audio and video tracks, and a pointer to keep track of the default audio stream.
2311         * platform/graphics/gstreamer/AudioTrackPrivateGStreamer.cpp: Added.
2312         * platform/graphics/gstreamer/AudioTrackPrivateGStreamer.h: Added.
2313         * platform/graphics/gstreamer/GRefPtrGStreamer.cpp: Add GRefPtr<GstTagList>
2314         * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp: Added, handles tags and "active" property of audio and video tracks.
2315         * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h: Added.
2316         * platform/graphics/gstreamer/VideoTrackPrivateGStreamer.cpp: Added.
2317         * platform/graphics/gstreamer/VideoTrackPrivateGStreamer.h: Added.
2318
2319 2013-11-01  Patrick Gansterer  <paroga@webkit.org>
2320
2321         Buildfix for !ENABLE(INSPECTOR) after 157288.
2322
2323         * inspector/InspectorInstrumentation.h:
2324         (WebCore::InspectorInstrumentation::willDispatchEvent):
2325
2326 2013-11-01  Mario Sanchez Prada  <mario.prada@samsung.com>
2327
2328         [ATK] Avoid explicit traversal of text controls and the render tree in AtkText implementation
2329         https://bugs.webkit.org/show_bug.cgi?id=123153
2330
2331         Reviewed by Chris Fleizach.
2332
2333         Remove functions from the AtkText implementation that manually
2334         walk the render tree to compose the text for a exposed objects in
2335         certain cases (e.g. anonymous blocks, text controls).
2336
2337         The reason for this change is that the current implementation
2338         follows an error-prone approach, since by doing things like
2339         manually walking the render tree from here we are not properly
2340         considering all the possible scenarios that might happen when
2341         traversing text. This, however, is a task that is better suited
2342         for the TextIterator, which is already written to consider all
2343         those cases and to emit the proper character in every single
2344         situation: text nodes, replaced objects and so on.
2345
2346         So, by removing all that too specific code (textForObject() and
2347         textForRenderer() mainly) from WebKitAccessibleInterfaceText.cpp
2348         and relying in AccessibilityObject::textUnderElement(), which it
2349         ends up using the TextIterator for certain cases, we have a much
2350         better and robust method of retrieving the text associated with an
2351         instance of AtkObject implementing the AtkText interface.
2352
2353         * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
2354         (webkitAccessibleTextGetText): Removed call to textForObject(), now that
2355         we have just removed that function, together with textForRenderer().
2356
2357         Make AccessibilityRenderObject::textUnderElement() able to deal with
2358         anonymous blocks directly, by creating a range based in the boundaries
2359         defined by the first and last child renderers for that block. This will
2360         make possible to treat an anonymous block as a whole instead of having
2361         to rely in the concatenation of each of its children, as it does now.
2362
2363         * accessibility/AccessibilityRenderObject.cpp:
2364         (WebCore::AccessibilityRenderObject::textUnderElement): Added a new code
2365         path to deal with anonymous blocks for text renderers, or when including
2366         all the children is explicitly requested.
2367
2368         Modified TextIterator so text for children of replaced objects are
2369         ignored if we are emmiting the special character for those objects.
2370
2371         * editing/TextIterator.cpp:
2372         (WebCore::TextIterator::handleReplacedElement): Make sure no children are
2373         handled a replaced object if m_emitsObjectReplacementCharacters is set.
2374         * editing/TextIterator.h: Updated m_emitsObjectReplacementCharacters
2375         description to reflect the new behavior.
2376
2377 2013-11-01  Alexey Proskuryakov  <ap@apple.com>
2378
2379         Add a Mac WebCrypto implementation of HMAC importKey/sign/verify
2380         https://bugs.webkit.org/show_bug.cgi?id=123598
2381
2382         Reviewed by Anders Carlsson.
2383
2384         Test: crypto/subtle/hmac-sign-verify.html
2385
2386         * WebCore.xcodeproj/project.pbxproj:
2387         * bindings/js/JSSubtleCryptoCustom.cpp: Added property svn:eol-style.
2388         (WebCore::createAlgorithmFromJSValue):
2389         (WebCore::cryptoOperationDataFromJSValue):
2390         (WebCore::cryptoKeyFormatFromJSValue):
2391         (WebCore::cryptoKeyUsagesFromJSValue):
2392         (WebCore::JSSubtleCrypto::sign):
2393         (WebCore::JSSubtleCrypto::verify):
2394         (WebCore::JSSubtleCrypto::digest):
2395         (WebCore::JSSubtleCrypto::importKey):
2396         * crypto/SubtleCrypto.idl:
2397         * crypto/algorithms/CryptoAlgorithmHMAC.cpp: Added.
2398         (WebCore::CryptoAlgorithmHMAC::CryptoAlgorithmHMAC):
2399         (WebCore::CryptoAlgorithmHMAC::~CryptoAlgorithmHMAC):
2400         (WebCore::CryptoAlgorithmHMAC::create):
2401         (WebCore::CryptoAlgorithmHMAC::identifier):
2402         (WebCore::CryptoAlgorithmHMAC::importKey):
2403         (WebCore::CryptoAlgorithmHMAC::exportKey):
2404         * crypto/algorithms/CryptoAlgorithmHMAC.h: Added.
2405         * crypto/keys: Added.
2406         * crypto/keys/CryptoKeyHMAC.cpp: Added.
2407         (WebCore::CryptoKeyHMAC::CryptoKeyHMAC):
2408         (WebCore::CryptoKeyHMAC::~CryptoKeyHMAC):
2409         (WebCore::CryptoKeyHMAC::buildAlgorithmDescription):
2410         * crypto/keys/CryptoKeyHMAC.h: Added.
2411         * crypto/mac/CryptoAlgorithmHMACMac.cpp: Added.
2412         (WebCore::getCommonCryptoAlgorithm):
2413         (WebCore::calculateSignature):
2414         (WebCore::CryptoAlgorithmHMAC::sign):
2415         (WebCore::CryptoAlgorithmHMAC::verify):
2416         (WebCore::CryptoAlgorithmHMAC::generateKey):
2417         * crypto/mac/CryptoAlgorithmRegistryMac.cpp:
2418         (WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms):
2419
2420 2013-10-31  Joseph Pecoraro  <pecoraro@apple.com>
2421
2422         Web Inspector: Clean up a few Inspector interfaces
2423         https://bugs.webkit.org/show_bug.cgi?id=123594
2424
2425         Reviewed by Timothy Hatcher.
2426
2427         * WebCore.exp.in:
2428         * inspector/InjectedScriptHost.cpp:
2429         * inspector/InspectorBaseAgent.h:
2430         (WebCore::InspectorBaseAgentInterface::name):
2431         * inspector/InspectorConsoleAgent.cpp:
2432         * inspector/InspectorConsoleAgent.h:
2433         (WebCore::InspectorConsoleAgent::enabled):
2434         * inspector/InspectorController.cpp:
2435         (WebCore::InspectorController::profilerEnabled):
2436         * inspector/InspectorController.h:
2437         * inspector/InspectorDebuggerAgent.cpp:
2438         * inspector/InspectorDebuggerAgent.h:
2439         (WebCore::InspectorDebuggerAgent::enabled):
2440         * inspector/InspectorRuntimeAgent.h:
2441         (WebCore::InspectorRuntimeAgent::enabled):
2442
2443 2013-10-31  Tim Horton  <timothy_horton@apple.com>
2444
2445         Remote Layer Tree: Vend layer contents via IOSurfaces
2446         https://bugs.webkit.org/show_bug.cgi?id=123600
2447
2448         Reviewed by Anders Carlsson.
2449
2450         * WebCore.exp.in:
2451         Export sRGBColorSpaceRef.
2452
2453         * WebCore.xcodeproj/project.pbxproj:
2454         Expose GraphicsContextCG.h.
2455
2456 2013-10-31  Joseph Pecoraro  <pecoraro@apple.com>
2457
2458         Remove unused Page::setDebuggerForAllPages
2459         https://bugs.webkit.org/show_bug.cgi?id=123602
2460
2461         Reviewed by Timothy Hatcher.
2462
2463         * page/Page.cpp:
2464         * page/Page.h:
2465
2466 2013-10-31  Joseph Pecoraro  <pecoraro@apple.com>
2467
2468         Web Inspector: Remove InspectorState
2469         https://bugs.webkit.org/show_bug.cgi?id=123547
2470
2471         Reviewed by Timothy Hatcher.
2472
2473         * CMakeLists.txt:
2474         * GNUmakefile.list.am:
2475         * WebCore.vcxproj/WebCore.vcxproj:
2476         * WebCore.vcxproj/WebCore.vcxproj.filters:
2477         * WebCore.xcodeproj/project.pbxproj:
2478         * inspector/InspectorAgent.cpp:
2479         (WebCore::InspectorAgent::InspectorAgent):
2480         * inspector/InspectorAgent.h:
2481         (WebCore::InspectorAgent::create):
2482         * inspector/InspectorAllInOne.cpp:
2483         * inspector/InspectorApplicationCacheAgent.cpp:
2484         (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
2485         * inspector/InspectorApplicationCacheAgent.h:
2486         (WebCore::InspectorApplicationCacheAgent::create):
2487         * inspector/InspectorBaseAgent.cpp:
2488         (WebCore::InspectorBaseAgentInterface::InspectorBaseAgentInterface):
2489         * inspector/InspectorBaseAgent.h:
2490         (WebCore::InspectorBaseAgent::InspectorBaseAgent):
2491         * inspector/InspectorCSSAgent.cpp:
2492         (WebCore::InspectorCSSAgent::InspectorCSSAgent):
2493         * inspector/InspectorCSSAgent.h:
2494         (WebCore::InspectorCSSAgent::create):
2495         * inspector/InspectorCanvasAgent.cpp:
2496         (WebCore::InspectorCanvasAgent::InspectorCanvasAgent):
2497         * inspector/InspectorCanvasAgent.h:
2498         (WebCore::InspectorCanvasAgent::create):
2499         * inspector/InspectorClient.h:
2500         * inspector/InspectorConsoleAgent.cpp:
2501         (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
2502         * inspector/InspectorConsoleAgent.h:
2503         * inspector/InspectorController.cpp:
2504         (WebCore::InspectorController::InspectorController):
2505         (WebCore::InspectorController::connectFrontend):
2506         (WebCore::InspectorController::disconnectFrontend):
2507         * inspector/InspectorController.h:
2508         * inspector/InspectorDOMAgent.cpp:
2509         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
2510         * inspector/InspectorDOMAgent.h:
2511         (WebCore::InspectorDOMAgent::create):
2512         * inspector/InspectorDOMDebuggerAgent.cpp:
2513         (WebCore::InspectorDOMDebuggerAgent::create):
2514         (WebCore::InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent):
2515         * inspector/InspectorDOMDebuggerAgent.h:
2516         * inspector/InspectorDOMStorageAgent.cpp:
2517         (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
2518         * inspector/InspectorDOMStorageAgent.h:
2519         (WebCore::InspectorDOMStorageAgent::create):
2520         * inspector/InspectorDatabaseAgent.cpp:
2521         (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
2522         * inspector/InspectorDatabaseAgent.h:
2523         (WebCore::InspectorDatabaseAgent::create):
2524         * inspector/InspectorDebuggerAgent.cpp:
2525         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
2526         * inspector/InspectorDebuggerAgent.h:
2527         * inspector/InspectorHeapProfilerAgent.cpp:
2528         (WebCore::InspectorHeapProfilerAgent::create):
2529         (WebCore::InspectorHeapProfilerAgent::InspectorHeapProfilerAgent):
2530         * inspector/InspectorHeapProfilerAgent.h:
2531         * inspector/InspectorIndexedDBAgent.cpp:
2532         (WebCore::InspectorIndexedDBAgent::InspectorIndexedDBAgent):
2533         * inspector/InspectorIndexedDBAgent.h:
2534         (WebCore::InspectorIndexedDBAgent::create):
2535         * inspector/InspectorInputAgent.cpp:
2536         (WebCore::InspectorInputAgent::InspectorInputAgent):
2537         * inspector/InspectorInputAgent.h:
2538         (WebCore::InspectorInputAgent::create):
2539         * inspector/InspectorLayerTreeAgent.cpp:
2540         (WebCore::InspectorLayerTreeAgent::InspectorLayerTreeAgent):
2541         * inspector/InspectorLayerTreeAgent.h:
2542         (WebCore::InspectorLayerTreeAgent::create):
2543         * inspector/InspectorMemoryAgent.cpp:
2544         (WebCore::InspectorMemoryAgent::InspectorMemoryAgent):
2545         (WebCore::InspectorMemoryAgent::create):
2546         * inspector/InspectorMemoryAgent.h:
2547         * inspector/InspectorPageAgent.cpp:
2548         (WebCore::InspectorPageAgent::create):
2549         (WebCore::InspectorPageAgent::InspectorPageAgent):
2550         * inspector/InspectorPageAgent.h:
2551         * inspector/InspectorProfilerAgent.cpp:
2552         (WebCore::PageProfilerAgent::PageProfilerAgent):
2553         (WebCore::InspectorProfilerAgent::create):
2554         (WebCore::WorkerProfilerAgent::WorkerProfilerAgent):
2555         (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
2556         * inspector/InspectorProfilerAgent.h:
2557         * inspector/InspectorResourceAgent.cpp:
2558         (WebCore::InspectorResourceAgent::InspectorResourceAgent):
2559         * inspector/InspectorResourceAgent.h:
2560         (WebCore::InspectorResourceAgent::create):
2561         * inspector/InspectorRuntimeAgent.cpp:
2562         (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
2563         * inspector/InspectorRuntimeAgent.h:
2564         * inspector/InspectorState.cpp: Removed.
2565         * inspector/InspectorState.h: Removed.
2566         * inspector/InspectorStateClient.h: Removed.
2567         * inspector/InspectorTimelineAgent.cpp:
2568         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
2569         * inspector/InspectorTimelineAgent.h:
2570         (WebCore::InspectorTimelineAgent::create):
2571         * inspector/InspectorWorkerAgent.cpp:
2572         (WebCore::InspectorWorkerAgent::create):
2573         (WebCore::InspectorWorkerAgent::InspectorWorkerAgent):
2574         * inspector/InspectorWorkerAgent.h:
2575         * inspector/PageConsoleAgent.cpp:
2576         (WebCore::PageConsoleAgent::PageConsoleAgent):
2577         * inspector/PageConsoleAgent.h:
2578         (WebCore::PageConsoleAgent::create):
2579         * inspector/PageDebuggerAgent.cpp:
2580         (WebCore::PageDebuggerAgent::create):
2581         (WebCore::PageDebuggerAgent::PageDebuggerAgent):
2582         * inspector/PageDebuggerAgent.h:
2583         * inspector/PageRuntimeAgent.cpp:
2584         (WebCore::PageRuntimeAgent::PageRuntimeAgent):
2585         * inspector/PageRuntimeAgent.h:
2586         (WebCore::PageRuntimeAgent::create):
2587         * inspector/WorkerConsoleAgent.cpp:
2588         (WebCore::WorkerConsoleAgent::WorkerConsoleAgent):
2589         * inspector/WorkerConsoleAgent.h:
2590         (WebCore::WorkerConsoleAgent::create):
2591         * inspector/WorkerDebuggerAgent.cpp:
2592         (WebCore::WorkerDebuggerAgent::create):
2593         (WebCore::WorkerDebuggerAgent::WorkerDebuggerAgent):
2594         * inspector/WorkerDebuggerAgent.h:
2595         * inspector/WorkerInspectorController.cpp:
2596         (WebCore::WorkerInspectorController::WorkerInspectorController):
2597         (WebCore::WorkerInspectorController::connectFrontend):
2598         (WebCore::WorkerInspectorController::disconnectFrontend):
2599         * inspector/WorkerInspectorController.h:
2600         * inspector/WorkerRuntimeAgent.cpp:
2601         (WebCore::WorkerRuntimeAgent::WorkerRuntimeAgent):
2602         * inspector/WorkerRuntimeAgent.h:
2603         (WebCore::WorkerRuntimeAgent::create):
2604         * workers/DefaultSharedWorkerRepository.cpp:
2605         (WebCore::SharedWorkerProxy::postMessageToPageInspector):
2606         * workers/WorkerMessagingProxy.cpp:
2607         (WebCore::WorkerMessagingProxy::postMessageToPageInspector):
2608         * workers/WorkerMessagingProxy.h:
2609         * workers/WorkerReportingProxy.h:
2610
2611 2013-10-31  Brady Eidson  <beidson@apple.com>
2612
2613         Split PendingDeleteCall into its own header
2614         https://bugs.webkit.org/show_bug.cgi?id=123597
2615
2616         Reviewed by Beth “Okay I guess so, bro” Dakin.
2617
2618         * GNUmakefile.list.am:
2619         * WebCore.xcodeproj/project.pbxproj:
2620
2621         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
2622         (WebCore::IDBDatabaseBackendImpl::processPendingCalls):
2623         (WebCore::IDBDatabaseBackendImpl::deleteDatabase):
2624         * Modules/indexeddb/IDBDatabaseBackendImpl.h:
2625
2626         * Modules/indexeddb/IDBPendingDeleteCall.h: Added.
2627         (WebCore::IDBPendingDeleteCall::create):
2628         (WebCore::IDBPendingDeleteCall::callbacks):
2629         (WebCore::IDBPendingDeleteCall::IDBPendingDeleteCall):
2630
2631 2013-10-31  Joseph Pecoraro  <pecoraro@apple.com>
2632
2633         Web Inspector: Convert some InspectorObject member variables to HashSet/HashMap
2634         https://bugs.webkit.org/show_bug.cgi?id=123579
2635
2636         Reviewed by Timothy Hatcher.
2637
2638         * inspector/InspectorDOMDebuggerAgent.h:
2639         * inspector/InspectorDOMDebuggerAgent.cpp:
2640         (WebCore::InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent):
2641         (WebCore::InspectorDOMDebuggerAgent::setBreakpoint):
2642         (WebCore::InspectorDOMDebuggerAgent::removeBreakpoint):
2643         (WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
2644         (WebCore::InspectorDOMDebuggerAgent::setXHRBreakpoint):
2645         (WebCore::InspectorDOMDebuggerAgent::removeXHRBreakpoint):
2646         (WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):
2647         Make m_eventListenerBreakpoints and m_xhrBreakpoints HashSet.
2648
2649         * inspector/InspectorDebuggerAgent.h:
2650         * inspector/InspectorDebuggerAgent.cpp:
2651         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
2652         (WebCore::InspectorDebuggerAgent::disable):
2653         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
2654         (WebCore::InspectorDebuggerAgent::removeBreakpoint):
2655         (WebCore::InspectorDebuggerAgent::didParseSource):
2656         Make m_javaScriptBreakpoints a HashMap.
2657
2658 2013-10-31  Youenn Fablet  <youennf@gmail.com>
2659
2660         Correct the elapsedTime calculation in SVG animations
2661         https://bugs.webkit.org/show_bug.cgi?id=119289
2662
2663         Reviewed by Brent Fulgham.
2664
2665         Merged from Blink: https://chromium.googlesource.com/chromium/blink/+/338f9badca7fb7880abdb0cecd5f02493c1f7d2e
2666
2667         Test: svg/animations/getCurrentTime-pause-unpause.html
2668
2669         * svg/animation/SMILTimeContainer.cpp:
2670         (WebCore::SMILTimeContainer::SMILTimeContainer):
2671         (WebCore::SMILTimeContainer::elapsed):
2672         (WebCore::SMILTimeContainer::begin):
2673         (WebCore::SMILTimeContainer::pause):
2674         (WebCore::SMILTimeContainer::resume):
2675         (WebCore::SMILTimeContainer::setElapsed):
2676         * svg/animation/SMILTimeContainer.h:
2677
2678 2013-10-31  Andreas Kling  <akling@apple.com>
2679
2680         Manage line-grid RootInlineBox with unique_ptr.
2681         <https://webkit.org/b/123583>
2682
2683         Use smart pointers for the RenderBlockFlow's optional line-grid box
2684         instead of manual new/delete.
2685
2686         Reviewed by Antti Koivisto.
2687
2688 2013-10-31  Alexey Proskuryakov  <ap@apple.com>
2689
2690         Enable WebCrypto on Mac
2691         https://bugs.webkit.org/show_bug.cgi?id=123587
2692
2693         Reviewed by Anders Carlsson.
2694
2695         * Configurations/FeatureDefines.xcconfig: Enable it.
2696
2697         * bindings/js/JSCryptoAlgorithmDictionary.cpp: Build fix.
2698
2699         * crypto/CryptoAlgorithmRegistry.cpp: (WebCore::CryptoAlgorithmRegistry::getIdentifierForName):
2700         Special case empty keys to avoid upsetting HashMap.
2701
2702         * crypto/algorithms/CryptoAlgorithmSHA1.cpp: (WebCore::CryptoAlgorithmSHA1::create):
2703         Build fix. Can't use make_unique, because constructor is private.
2704
2705 2013-10-31  Myles C. Maxfield  <mmaxfield@apple.com>
2706
2707         Underline bounds cannot be queried before underline itself is drawn
2708         https://bugs.webkit.org/show_bug.cgi?id=123310
2709
2710         Reviewed by Dean Jackson.
2711
2712         GraphicsContext's drawLineForText function is used to draw underlines,
2713         strikethroughs, and overlines. Before drawing the line, this function
2714         modifies the bounds given to it in order to make underlines crisp. However,
2715         this means that it is impossible to know where an underline will be drawn
2716         before drawing it. This patch pulls out this adjustment computation into
2717         GraphicsContext::computeLineBoundsForText, then passes the result to
2718         drawLineForText
2719
2720         Because there should be no observable difference, no tests need to be updated.
2721
2722         * platform/graphics/GraphicsContext.h: Signature of new computeLineBoundsForText
2723         function
2724         * platform/graphics/blackberry/PathBlackBerry.cpp:
2725         (WebCore::GraphicsContext::computeLineBoundsForText): Implement new function
2726         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2727         (WebCore::GraphicsContext::computeLineBoundsForText): Ditto
2728         (WebCore::GraphicsContext::drawLineForText): Use computeLineBoundsForText
2729         * platform/graphics/cg/GraphicsContextCG.cpp:
2730         (WebCore::computeLineBoundsAndAntialiasingModeForText): Static function that
2731         performs the actual bounds computation
2732         (WebCore::GraphicsContext::computeLineBoundsForText): Calls
2733         computeLineBoundsAndAntialiasingModeForText
2734         (WebCore::GraphicsContext::drawLineForText): Use new function
2735         * platform/graphics/wince/GraphicsContextWinCE.cpp:
2736         (WebCore::GraphicsContext::computeLineBoundsForText): Implement new function
2737
2738 2013-10-31  Beth Dakin  <bdakin@apple.com>
2739
2740         Repro scrolling crash with scrollbars that use setPresentationValue on the 
2741         scrolling thread
2742         https://bugs.webkit.org/show_bug.cgi?id=123549
2743         -and corresponding-
2744         <rdar://problem/15246606>
2745
2746         Reviewed by Brady Eidson.
2747
2748         Here's another speculative fix. If a scrollbar was removed, we would not properly 
2749         inform the scrolling thread. Instead of checking supportsUpdateOnSecondaryThread() 
2750         before calling setScrollbarPaintersFromScrollbars(), check it from within 
2751         setScrollbarPaintersFromScrollbars(), and this will allow the ScrollbarPainter to 
2752         be properly updated.
2753
2754         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
2755         (WebCore::ScrollingCoordinatorMac::frameViewLayoutUpdated):
2756         * page/scrolling/mac/ScrollingStateScrollingNodeMac.mm:
2757         (WebCore::ScrollingStateScrollingNode::setScrollbarPaintersFromScrollbars):
2758
2759 2013-10-31  Csaba Osztrogonác  <ossy@webkit.org>
2760
2761         Unreviewed typo fix after 158386. (buildfix after r158365)
2762
2763         * Modules/mediastream/UserMediaRequest.cpp:
2764         (WebCore::UserMediaRequest::callSuccessHandler):
2765
2766 2013-10-31  Myles C. Maxfield  <mmaxfield@apple.com>
2767
2768         Move CSS3 text decoration implementation behind ENABLE(CSS3_TEXT_DECORATION)
2769         https://bugs.webkit.org/show_bug.cgi?id=123541
2770
2771         Reviewed by Tim Horton.
2772
2773         Enabled CSS3 text decoration tests
2774
2775         * css/CSSComputedStyleDeclaration.cpp:
2776         (WebCore::renderTextDecorationStyleFlagsToCSSValue): Mapping internal
2777         representation to a CSSValue
2778         (WebCore::ComputedStyleExtractor::propertyValue): Ditto
2779         * css/CSSParser.cpp: Moving parsing functions behind new flag
2780         (WebCore::isColorPropertyID):
2781         (WebCore::CSSParser::parseValue):
2782         (WebCore::CSSParser::addTextDecorationProperty):
2783         (WebCore::CSSParser::parseTextDecorationSkip):
2784         (WebCore::CSSParser::parseTextUnderlinePosition):
2785         * css/CSSParser.h:
2786         * css/CSSPrimitiveValueMappings.h:
2787         * css/CSSPropertyNames.in: Marking the new properties behind new flag
2788         * css/CSSValueKeywords.in: Marking new values behind new flag
2789         * css/DeprecatedStyleBuilder.cpp:
2790         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
2791         * css/StylePropertyShorthand.cpp:
2792         (WebCore::shorthandForProperty): Move text decoration shorthand
2793         (WebCore::matchingShorthandsForLonghand):
2794         * css/StylePropertyShorthand.h:
2795         * css/StyleResolver.cpp:
2796         (WebCore::isValidVisitedLinkProperty):
2797         (WebCore::StyleResolver::applyProperty):
2798         * platform/graphics/GraphicsContext.h:
2799         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2800         (WebCore::GraphicsContext::setPlatformStrokeStyle):
2801         * platform/graphics/cg/GraphicsContextCG.cpp:
2802         (WebCore::GraphicsContext::drawLine):
2803         * platform/graphics/wince/GraphicsContextWinCE.cpp:
2804         (WebCore::createPen):
2805         * rendering/InlineFlowBox.cpp:
2806         * rendering/InlineFlowBox.h:
2807         * rendering/InlineTextBox.cpp:
2808         (WebCore::textDecorationStyleToStrokeStyle):
2809         (WebCore::computeUnderlineOffset):
2810         (WebCore::InlineTextBox::paintDecoration):
2811         * rendering/RenderObject.cpp:
2812         (WebCore::decorationColor):
2813         * rendering/RootInlineBox.cpp:
2814         * rendering/RootInlineBox.h:
2815         * rendering/style/RenderStyle.cpp:
2816         (WebCore::RenderStyle::changeRequiresRepaintIfTextOrBorderOrOutline):
2817         (WebCore::RenderStyle::colorIncludingFallback):
2818         (WebCore::RenderStyle::visitedDependentColor):
2819         * rendering/style/RenderStyle.h:
2820         * rendering/style/RenderStyleConstants.h:
2821         * rendering/style/StyleRareInheritedData.cpp:
2822         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
2823         (WebCore::StyleRareInheritedData::operator==):
2824         * rendering/style/StyleRareInheritedData.h:
2825         * rendering/style/StyleRareNonInheritedData.cpp:
2826         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
2827         (WebCore::StyleRareNonInheritedData::operator==):
2828         * rendering/style/StyleRareNonInheritedData.h:
2829
2830 2013-10-31  Alexey Proskuryakov  <ap@apple.com>
2831
2832         [WebCrypto] Add SHA-1
2833         https://bugs.webkit.org/show_bug.cgi?id=123582
2834
2835         Reviewed by Anders Carlsson.
2836
2837         Tests: security/crypto-subtle-arguments.html
2838                security/crypto-subtle-sha1.html
2839
2840         * WebCore.xcodeproj/project.pbxproj: Added new files.
2841
2842         * bindings/js/JSSubtleCryptoCustom.cpp:
2843         (WebCore::createAlgorithmFromJSValue):
2844         (WebCore::sequenceOfCryptoOperationDataFromJSValue):
2845         (WebCore::JSSubtleCrypto::digest):
2846         * crypto/SubtleCrypto.idl:
2847         Added bindings for crypto.digest.
2848
2849         * crypto/algorithms: Added.
2850         * crypto/algorithms/CryptoAlgorithmSHA1.cpp: Added.
2851         * crypto/algorithms/CryptoAlgorithmSHA1.h: Added.
2852         * crypto/mac/CryptoAlgorithmRegistryMac.cpp:
2853         (WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms): Register SHA-1.
2854
2855         * crypto/mac/CryptoAlgorithmSHA1Mac.cpp: Added.
2856         (WebCore::CryptoAlgorithmSHA1::digest): Performs the work synchronously, because
2857         otherwise we'd have to copy the data first, which is crazy for something as simple
2858         as hashing. We can change to a dispatch queue later if we find that it's actually
2859         better to copy and do the work asynchronously.
2860
2861 2013-10-31  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
2862
2863         REGRESSION(r158348): Breaks Debug build
2864         https://bugs.webkit.org/show_bug.cgi?id=123562
2865
2866         Reviewed by Brady Eidson.
2867
2868         Remove an unnecessary check that cause compilation failure.
2869
2870         No new tests since this just fixes the build failure.
2871
2872         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
2873         (WebCore::IDBBackingStoreLevelDB::updateIDBDatabaseVersion):
2874
2875 2013-10-31  Csaba Osztrogonác  <ossy@webkit.org>
2876
2877         One more speculative buildfix after r158365.
2878
2879         * Modules/mediastream/UserMediaRequest.cpp:
2880         (WebCore::UserMediaRequest::callSuccessHandler):
2881
2882 2013-10-31  Csaba Osztrogonác  <ossy@webkit.org>
2883
2884         One more speculative buildfix after r158365.
2885
2886         * Modules/mediastream/RTCPeerConnection.cpp:
2887         (WebCore::RTCPeerConnection::didAddRemoteStream):
2888
2889 2013-10-31  Csaba Osztrogonác  <ossy@webkit.org>
2890
2891         Speculative buildfix after r158365.
2892
2893         * Modules/mediastream/VideoStreamTrack.cpp:
2894         (WebCore::VideoStreamTrack::create):
2895         (WebCore::VideoStreamTrack::VideoStreamTrack):
2896         * Modules/mediastream/VideoStreamTrack.h:
2897
2898 2013-10-31  Myles C. Maxfield  <mmaxfield@apple.com>
2899
2900         Decorated text sometimes does not draw its decorations
2901         https://bugs.webkit.org/show_bug.cgi?id=123539
2902
2903         Reviewed by Antti Koivisto.
2904
2905         Decorated text should opt-out of the simple line layout, because
2906         SimpleLineLayout::paintFlow doesn't draw decorations
2907
2908         Fixes fast/css3-text/css3-text-decoration/text-decoration-color.html
2909
2910         * rendering/SimpleLineLayout.cpp:
2911         (WebCore::SimpleLineLayout::canUseFor):
2912
2913 2013-10-31  Joseph Pecoraro  <pecoraro@apple.com>
2914
2915         Web Inspector: Remove last member variable uses of InspectorState from Agents
2916         https://bugs.webkit.org/show_bug.cgi?id=123540
2917
2918         Reviewed by Timothy Hatcher.
2919
2920         * inspector/InspectorDOMDebuggerAgent.h:
2921         * inspector/InspectorDOMDebuggerAgent.cpp:
2922         (WebCore::InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent):
2923         (WebCore::InspectorDOMDebuggerAgent::setBreakpoint):
2924         (WebCore::InspectorDOMDebuggerAgent::removeBreakpoint):
2925         (WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
2926         (WebCore::InspectorDOMDebuggerAgent::setXHRBreakpoint):
2927         (WebCore::InspectorDOMDebuggerAgent::removeXHRBreakpoint):
2928         (WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):
2929         DOMDebuggerAgentState::eventListenerBreakpoints -> m_eventListenerBreakpoints.
2930         DOMDebuggerAgentState::xhrBreakpoints -> m_xhrBreakpoints.
2931
2932         * inspector/InspectorDebuggerAgent.h:
2933         * inspector/InspectorDebuggerAgent.cpp:
2934         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
2935         (WebCore::InspectorDebuggerAgent::disable):
2936         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
2937         (WebCore::InspectorDebuggerAgent::removeBreakpoint):
2938         (WebCore::InspectorDebuggerAgent::didParseSource):
2939         DebuggerAgentState::javaScriptBreakpoints -> m_javaScriptBreakpoints.
2940
2941         * inspector/InspectorPageAgent.h:
2942         * inspector/InspectorPageAgent.cpp:
2943         (WebCore::InspectorPageAgent::disable):
2944         (WebCore::InspectorPageAgent::addScriptToEvaluateOnLoad):
2945         (WebCore::InspectorPageAgent::removeScriptToEvaluateOnLoad):
2946         (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
2947         PageAgentState::pageAgentScriptsToEvaluateOnLoad -> m_scriptsToEvaluateOnLoad.
2948         This is a lazily created InspectorObject member variable.
2949
2950         * inspector/InspectorResourceAgent.h:
2951         * inspector/InspectorResourceAgent.cpp:
2952         (WebCore::InspectorResourceAgent::willSendRequest):
2953         (WebCore::InspectorResourceAgent::disable):
2954         (WebCore::InspectorResourceAgent::setExtraHTTPHeaders):
2955         ResourceAgentState::extraRequestHeaders -> m_extraRequestHeaders.
2956         This is a lazily created InspectorObject member variable.
2957
2958 2013-10-31  Philippe Normand  <pnormand@igalia.com>
2959
2960         Unreviewed, one more build fix after r158365.
2961
2962         * Modules/webaudio/MediaStreamAudioDestinationNode.cpp:
2963         (WebCore::MediaStreamAudioDestinationNode::MediaStreamAudioDestinationNode):
2964
2965 2013-10-31  Beth Dakin  <bdakin@apple.com>
2966
2967         Repro scrolling crash with scrollbars that use setPresentationValue on the 
2968         scrolling thread
2969         https://bugs.webkit.org/show_bug.cgi?id=123549
2970         -and corresponding-
2971         <rdar://problem/15246606>
2972
2973         Reviewed by Darin Adler.
2974
2975         Speculative fix. I think if we retain the ScrollbarPainters, we should avoid this 
2976         crash.
2977
2978         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
2979
2980 2013-10-31  Philippe Normand  <pnormand@igalia.com>
2981
2982         Unreviewed, MediaStream build fix after r158365.
2983
2984         * Modules/mediastream/MediaStream.cpp:
2985         (WebCore::MediaStream::clone):
2986
2987 2013-10-31  Sam Weinig  <sam@webkit.org>
2988
2989         Pass an Element by reference to the PseudoElement constructor
2990         https://bugs.webkit.org/show_bug.cgi?id=123576
2991
2992         Reviewed by Andreas Kling.
2993
2994         * dom/Element.cpp:
2995         (WebCore::Element::createPseudoElementIfNeeded):
2996         * dom/PseudoElement.cpp:
2997         (WebCore::PseudoElement::PseudoElement):
2998         * dom/PseudoElement.h:
2999
3000 2013-10-31  Alexey Proskuryakov  <ap@apple.com>
3001
3002         Fix a mis-merge.
3003
3004         * WebCore.xcodeproj/project.pbxproj: Remove duplicate CryptoAlgorithmRegistryMac.cpp.
3005
3006 2013-10-31  Alexey Proskuryakov  <ap@apple.com>
3007
3008         Add bindings code for crypto algorithm dictionaries
3009         https://bugs.webkit.org/show_bug.cgi?id=123476
3010
3011         Reviewed by Sam Weinig.
3012
3013         JSCryptoAlgorithmDictionary reads the Algorithm, much like JSDictionary does in
3014         simpler cases. We should see about bringing them closer together (perhaps replacing
3015         with autogenerated code).
3016
3017         * crypto/parameters: Added.
3018         * crypto/parameters/CryptoAlgorithmHmacKeyParams.h: Added.
3019         * crypto/parameters/CryptoAlgorithmHmacParams.h: Added.
3020         Added a couple specific dictionaries as an example.
3021
3022         * WebCore.xcodeproj/project.pbxproj: Added JSCryptoAlgorithmDictionary.
3023         * bindings/js/JSCryptoAlgorithmDictionary.cpp: Added.
3024         (WebCore::JSCryptoAlgorithmDictionary::getAlgorithmIdentifier):
3025         (WebCore::getHashAlgorithm):
3026         (WebCore::createHmacParams):
3027         (WebCore::createHmacKeyParams):
3028         (WebCore::JSCryptoAlgorithmDictionary::createParametersForSign):
3029         (WebCore::JSCryptoAlgorithmDictionary::createParametersForVerify):
3030         (WebCore::JSCryptoAlgorithmDictionary::createParametersForDigest):
3031         (WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey):
3032         * bindings/js/JSCryptoAlgorithmDictionary.h: Added.
3033
3034 2013-10-31  Sam Weinig  <sam@webkit.org>
3035
3036         Pass ScriptExecutionContext by reference to from the bindings constructors
3037         https://bugs.webkit.org/show_bug.cgi?id=123575
3038
3039         Reviewed by Andreas Kling.
3040
3041         Since we null check the ScriptExecutionContext before creating the c++ class,
3042         we should be passing by reference.
3043
3044 2013-10-31  Zhuang Zhigang  <zhuangzg@cn.fujitsu.com>
3045
3046         Paint the input tag of range type on WinCE port.
3047         https://bugs.webkit.org/show_bug.cgi?id=123199
3048
3049         Reviewed by Brent Fulgham.        
3050
3051         * rendering/RenderThemeWinCE.cpp:
3052         (WebCore::RenderThemeWinCE::paintSliderTrack):
3053         (WebCore::RenderThemeWinCE::paintSliderThumb):
3054
3055 2013-10-31  Alexey Proskuryakov  <ap@apple.com>
3056
3057         Add a crypto algorithm abstraction
3058         https://bugs.webkit.org/show_bug.cgi?id=123474
3059
3060         Reviewed by Sam Weinig.
3061
3062         This works slightly differently than WebCrypto implies. We have separate classes
3063         for algorithm and its parameters, while WebCrypto puts them in the same dictionary.
3064
3065         * WebCore.xcodeproj/project.pbxproj: Added new files.
3066
3067         * crypto/CryptoAlgorithm.cpp: Added. As most algorithms don't implement most
3068         operations, default implementations just raise an exception.
3069         * crypto/CryptoAlgorithm.h: Added.
3070
3071         * crypto/CryptoAlgorithmParameters.h: Added. Base class for numerous future parameter
3072         dictionaries, such as HmacParams or HmacKeyParams.
3073
3074         * crypto/CryptoAlgorithmRegistry.cpp: Added.
3075         * crypto/CryptoAlgorithmRegistry.h: Added.
3076         The registry decouples universal bindings code from algorithms that may or may not
3077         be implemented on each platform.
3078
3079         * crypto/mac: Added.
3080         * crypto/mac/CryptoAlgorithmRegistryMac.cpp: Added.
3081         (WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms): Algorithms implemented
3082         on Mac will be registered by this function.
3083
3084 2013-10-31  Alexey Proskuryakov  <ap@apple.com>
3085
3086         REGRESSION(r158333): http/tests/xmlhttprequest/response-encoding.html and xmlhttprequest-overridemimetype-content-type-header.html are failing
3087         https://bugs.webkit.org/show_bug.cgi?id=123548
3088
3089         Reviewed by Brady Eidson.
3090
3091         We had code that made sure that cached 200 responses weren't used for conditional
3092         requests. But it didn't work the other way - cached 304 responses got reused for
3093         subsequent unconditional requests!
3094
3095         Adding the test uncovered this bug.
3096
3097         * loader/cache/CachedRawResource.cpp: (WebCore::shouldIgnoreHeaderForCacheReuse):
3098         Should never ignore conditional headers. Code in determineRevalidationPolicy
3099         was already undoing this for conditional requests, but we also shouldn't use
3100         WebCore cache if it holds a 304 response to conditional request.
3101
3102         * loader/cache/CachedResourceLoader.cpp: (WebCore::CachedResourceLoader::determineRevalidationPolicy):
3103         Even though the changed code is only for raw resources, I think that we can never
3104         get a conditional request here any more.
3105
3106 2013-10-30  Alexey Proskuryakov  <ap@apple.com>
3107
3108         CryptoAlgorithmDescriptionBuilder should support producing nested algorithms
3109         https://bugs.webkit.org/show_bug.cgi?id=123461
3110
3111         Reviewed by Darin Adler.
3112
3113         To add a nested algorithm, clone a builder with createEmptyClone(), fill it,
3114         and add it using add().
3115
3116         * bindings/js/JSCryptoAlgorithmBuilder.h:
3117         * crypto/CryptoAlgorithmDescriptionBuilder.h:
3118         * bindings/js/JSCryptoAlgorithmBuilder.cpp:
3119         (WebCore::JSCryptoAlgorithmBuilder::createEmptyClone):
3120         (WebCore::JSCryptoAlgorithmBuilder::add): Keep VM in a local variable for marginally
3121         better performance.
3122
3123 2013-10-31  Philippe Normand  <pnormand@igalia.com>
3124
3125         [WK2][GTK] enable-media-stream Setting
3126         https://bugs.webkit.org/show_bug.cgi?id=123145
3127
3128         Reviewed by Anders Carlsson.
3129
3130         * page/Settings.in: new mediaStreamEnabled setting.
3131
3132 2013-10-31  Zan Dobersek  <zdobersek@igalia.com>
3133
3134         Manage SVGPathByteStream through std::unique_ptr
3135         https://bugs.webkit.org/show_bug.cgi?id=123467
3136
3137         Reviewed by Anders Carlsson.
3138
3139         Manage SVGPathByteStream objects through std::unique_ptr. Constructors for the class are made public
3140         so std::make_unique can be used with the class.
3141
3142         * svg/SVGAnimatedPath.cpp:
3143         (WebCore::SVGAnimatedPathAnimator::constructFromString):
3144         (WebCore::SVGAnimatedPathAnimator::startAnimValAnimation):
3145         (WebCore::SVGAnimatedPathAnimator::calculateAnimatedValue):
3146         * svg/SVGAnimatedType.cpp:
3147         (WebCore::SVGAnimatedType::createPath):
3148         * svg/SVGAnimatedType.h:
3149         * svg/SVGPathByteStream.h:
3150         (WebCore::SVGPathByteStream::SVGPathByteStream): Takes a const Data object that's then copied.
3151         (WebCore::SVGPathByteStream::copy): Made const.
3152         * svg/SVGPathByteStreamBuilder.cpp: Remove an unnecessary include.
3153         * svg/SVGPathByteStreamBuilder.h: Ditto.
3154         * svg/SVGPathElement.cpp:
3155         (WebCore::SVGPathElement::SVGPathElement):
3156         * svg/SVGPathElement.h:
3157         * svg/SVGPathUtilities.cpp:
3158         (WebCore::appendSVGPathByteStreamFromSVGPathSeg):
3159         (WebCore::addToSVGPathByteStream):
3160
3161 2013-10-31  Marcin Bychawski  <m.bychawski@samsung.com>
3162
3163         Removing m_maxDeadCapacity condition in fast path in MemoryCache::prune().
3164         https://bugs.webkit.org/show_bug.cgi?id=115631
3165
3166         Reviewed by Brent Fulgham.
3167
3168         If the m_maxDeadSize and m_deadSize are both 0, the method unnecessairly tries to prune resources.
3169
3170         No new tests, covered by existing ones.
3171
3172         * loader/cache/MemoryCache.cpp:
3173         (WebCore::MemoryCache::prune):
3174
3175 2013-10-31  Joseph Pecoraro  <pecoraro@apple.com>
3176
3177         Web Inspector: Remove stale optional native memory instrumentation protocol params
3178         https://bugs.webkit.org/show_bug.cgi?id=123552
3179
3180         Reviewed by Timothy Hatcher.
3181
3182         * inspector/Inspector.json:
3183         * inspector/InspectorTimelineAgent.cpp:
3184         (WebCore::InspectorTimelineAgent::start):
3185         * inspector/InspectorTimelineAgent.h:
3186
3187 2013-10-31  Zan Dobersek  <zdobersek@igalia.com>
3188
3189         [GTK] Undefined references to RenderObject::style() when disabling video support
3190         https://bugs.webkit.org/show_bug.cgi?id=123492
3191
3192         Reviewed by Carlos Garcia Campos.
3193
3194         * platform/gtk/RenderThemeGtk2.cpp: Disabling video support removes indirect inclusion of the RenderElement.h
3195         header, causing undefined references to RenderObject::style(). The RenderElement.h header should be included
3196         instead of RenderObject.h as the former defines the RenderObject::style() inline and also includes the latter.
3197         * platform/gtk/RenderThemeGtk3.cpp: Ditto.
3198
3199 2013-10-31  Robert Plociennik  <r.plociennik@samsung.com>
3200
3201         [EFL] accessibility/textbox-role-reports-selection.html is failing
3202         https://bugs.webkit.org/show_bug.cgi?id=112017
3203
3204         Reviewed by Mario Sanchez Prada.
3205
3206         getSelectionOffsetsForObject() now returns proper start/end offsets for
3207         selections "touching" the object's front border.
3208
3209         No new tests, covered by existing ones.
3210
3211         * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
3212         (getSelectionOffsetsForObject):
3213
3214 2013-10-31  Ryuan Choi  <ryuan.choi@samsung.com>
3215
3216         [EFL][GLES] OpenGL should be optional
3217         https://bugs.webkit.org/show_bug.cgi?id=123399
3218
3219         Reviewed by Noam Rosenthal.
3220
3221         * CMakeLists.txt: Make OpenGL dependencies as optional.
3222         * PlatformEfl.cmake:
3223         Move OpenGL macro to OptionsEfl.cmake and make Xcomposite and XRender as optional.
3224         * platform/graphics/OpenGLESShims.h:
3225         Removed GL_COLOR_ATTACHMENT0_EXT because it was added to gl2ext.h since r153064
3226         * platform/graphics/surfaces/GraphicsSurfaceToken.h:
3227         Removed wrong GLX guard.
3228         (WebCore::GraphicsSurfaceToken::GraphicsSurfaceToken):
3229         (WebCore::GraphicsSurfaceToken::operator!=):
3230         (WebCore::GraphicsSurfaceToken::isValid):
3231         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
3232         Removed unnecessary OpenGLShims.h
3233
3234 2013-10-30  Santosh Mahto  <santosh.ma@samsung.com>
3235
3236         [webcore/editing] remove extra header includes from cpp files.
3237         https://bugs.webkit.org/show_bug.cgi?id=123524
3238
3239         Reviewed by Ryosuke Niwa.
3240
3241         Removing redundant header files.
3242
3243         * editing/AlternativeTextController.cpp:
3244         * editing/ApplyBlockElementCommand.cpp:
3245         * editing/ApplyStyleCommand.cpp:
3246         * editing/BreakBlockquoteCommand.cpp:
3247         * editing/DeleteButton.cpp:
3248         * editing/DeleteButtonController.cpp:
3249         * editing/DeleteSelectionCommand.cpp:
3250         * editing/DictationCommand.cpp:
3251         * editing/EditCommand.cpp:
3252         * editing/EditingStyle.cpp:
3253         * editing/EditorCommand.cpp:
3254         * editing/FrameSelection.cpp:
3255         * editing/IndentOutdentCommand.cpp:
3256         * editing/InsertLineBreakCommand.cpp:
3257         * editing/InsertParagraphSeparatorCommand.cpp:
3258         * editing/MarkupAccumulator.h:
3259         * editing/RemoveFormatCommand.cpp:
3260         * editing/RenderedPosition.cpp:
3261         * editing/ReplaceSelectionCommand.cpp:
3262         * editing/SpellChecker.cpp:
3263         * editing/SpellingCorrectionCommand.cpp:
3264         * editing/SurroundingText.cpp:
3265         * editing/TextCheckingHelper.cpp:
3266         * editing/TextIterator.cpp:
3267         * editing/TypingCommand.cpp:
3268         * editing/VisibleSelection.cpp:
3269         * editing/VisibleUnits.cpp:
3270         * editing/WrapContentsInDummySpanCommand.cpp:
3271         * editing/htmlediting.cpp:
3272
3273 2013-10-30  Brady Eidson  <beidson@apple.com>
3274
3275         IDB Database versions are uint64_t, not int64_t
3276         https://bugs.webkit.org/show_bug.cgi?id=123556
3277
3278         Reviewed by Alexey Proskuryakov.
3279
3280         * Modules/indexeddb/IDBBackingStoreInterface.h:
3281
3282         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
3283         (WebCore::IDBDatabaseBackendImpl::processPendingCalls):
3284         (WebCore::IDBDatabaseBackendImpl::openConnection):
3285         * Modules/indexeddb/IDBDatabaseBackendImpl.h:
3286
3287         * Modules/indexeddb/IDBFactoryBackendInterface.h:
3288
3289         * Modules/indexeddb/IDBPendingOpenCall.h:
3290         (WebCore::IDBPendingOpenCall::create):
3291         (WebCore::IDBPendingOpenCall::version):
3292         (WebCore::IDBPendingOpenCall::IDBPendingOpenCall):
3293
3294         * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
3295         (WebCore::IDBDatabaseBackendImpl::VersionChangeOperation::perform):
3296
3297         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
3298         (WebCore::IDBBackingStoreLevelDB::updateIDBDatabaseVersion):
3299         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
3300
3301         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
3302         (WebCore::IDBFactoryBackendLevelDB::open):
3303         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
3304
3305 2013-10-30  Brendan Long  <b.long@cablelabs.com>
3306
3307         [Gtk] Build is failing after r158317
3308         https://bugs.webkit.org/show_bug.cgi?id=123544
3309
3310         Reviewed by Alexey Proskuryakov.
3311
3312         No new tests since this just fixes the build.
3313
3314         * GNUmakefile.list.am: Add JSCryptoKey.cpp and JSCryptoKey.h
3315
3316 2013-10-30  Andreas Kling  <akling@apple.com>
3317
3318         Manage EllipsisBox objects with unique_ptr.
3319         <https://webkit.org/b/123554>
3320
3321         Use smart pointers to store ellipsis boxes instead of new/delete.
3322
3323         Reviewed by Anders Carlsson.
3324
3325 2013-10-30  Alexey Proskuryakov  <ap@apple.com>
3326
3327         [Gtk] Build is failing after r158317
3328         https://bugs.webkit.org/show_bug.cgi?id=123544
3329
3330         Use a correct style for JSC includes.
3331
3332         * ForwardingHeaders/runtime/JSPromise.h: Added.
3333         * ForwardingHeaders/runtime/JSPromiseResolver.h: Added.
3334         * bindings/js/JSDOMPromise.h:
3335
3336 2013-10-30  Andreas Kling  <akling@apple.com>
3337
3338         Replace InlineBox::destroy() with regular virtual destruction.
3339         <https://webkit.org/b/123550>
3340
3341         Move logic out of destroy() and its overloads into good ol' virtual
3342         destructors instead.
3343
3344         Reviewed by Anders Carlsson.
3345
3346 2013-10-30  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
3347
3348         Simplifying MediaStream and MediStreamDescriptor creation
3349         https://bugs.webkit.org/show_bug.cgi?id=123443
3350
3351         Reviewed by Eric Carlson.
3352
3353         The internal process of creating a MediaStream and MediaStreamDescriptor was quite confusing and spread.
3354         We can take advantage of the platform implementation of MediaStreamTrack (aka MediaStreamTrackPrivate)
3355         and simplify the whole process.
3356         A new constructor that receives vectors of MediaStreamTrackPrivate objects were added, then the check
3357         if a source already exists or if the tracks are all ended are now made in MediaStreamDescriptor.
3358
3359         No new tests needed.
3360
3361         * Modules/mediastream/MediaStream.cpp:
3362         (WebCore::MediaStream::create): Removed unnecessary variables in one create method and using new
3363         MediaStreamDescriptor::create method that receives vector of MediaStreamTrackPrivate objects as parameter.
3364
3365         * Modules/webaudio/MediaStreamAudioDestinationNode.cpp:
3366         (WebCore::MediaStreamAudioDestinationNode::MediaStreamAudioDestinationNode): Removed passing flag to
3367         MediaStreamDescriptor create.
3368
3369         * platform/mediastream/MediaStreamDescriptor.cpp:
3370         (WebCore::MediaStreamDescriptor::create): Removed EndedAtCreationFlag parameter, because this is being
3371         handled inside constructor by analyzing the tracks or sources passed.
3372         (WebCore::MediaStreamDescriptor::MediaStreamDescriptor): Adding new constructor that receives vector of
3373         MediaStreamTrackPrivate as parameter.
3374
3375         (WebCore::MediaStreamDescriptor::addTrack): Changed to store the track's source in the object.
3376
3377         (WebCore::MediaStreamDescriptor::removeTrack):
3378         * platform/mediastream/MediaStreamDescriptor.h:
3379         (WebCore::MediaStreamDescriptor::numberOfAudioTracks):
3380         (WebCore::MediaStreamDescriptor::audioTracks):
3381         (WebCore::MediaStreamDescriptor::numberOfVideoTracks):
3382         (WebCore::MediaStreamDescriptor::videoTracks):
3383         * platform/mock/MockMediaStreamCenter.cpp:
3384         (WebCore::MockMediaStreamCenter::createMediaStream): Removing flag that is being passed to
3385         MediaStreamDescriptor's create method.
3386
3387 2013-10-30  Brent Fulgham  <bfulgham@apple.com>
3388
3389         [Win] Legible Output callbacks should happen on notification queue
3390         https://bugs.webkit.org/show_bug.cgi?id=123545
3391
3392         Reviewed by Eric Carlson.
3393
3394         Modify the callback creation for Legible Output items so that they
3395         are made on our notification queue. The use of the main queue was a
3396         holdover from some temporary code used during earlier development.
3397
3398         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
3399         (WebCore::AVFWrapper::AVFWrapper): Assert this happens on the main thread.
3400         (WebCore::AVFWrapper::~AVFWrapper): Ditto.
3401         (WebCore::destroyAVFWrapper): Ditto.
3402         (WebCore::AVFWrapper::createPlayer): Ditto.
3403         (WebCore::AVFWrapper::createPlayerItem): Ditto.
3404         Also, instruct LegibleOutput callbacks to happen on our notification
3405         queue, rather than the main thread.
3406         (WebCore::AVFWrapper::createAVCFVideoLayer): Assert this happens on the main thread.
3407         (WebCore::AVFWrapper::destroyVideoLayer): Ditto.
3408         (WebCore::AVFWrapper::createImageGenerator): Ditto.
3409         (WebCore::AVFWrapper::destroyImageGenerator): Ditto.
3410
3411 2013-10-30  Alexey Proskuryakov  <ap@apple.com>
3412
3413         XHR.response is null when requesting empty file as arraybuffer
3414         https://bugs.webkit.org/show_bug.cgi?id=123457
3415
3416         Reviewed by Sam Weinig.
3417
3418         Test: http/tests/xmlhttprequest/response-empty-arraybuffer.html
3419
3420         * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::responseArrayBuffer): Don't do this.
3421
3422 2013-10-30  Samuel White  <samuel_white@apple.com>
3423
3424         AX: AXFocused not exposed on ARIA menuitems
3425         https://bugs.webkit.org/show_bug.cgi?id=123494
3426
3427         Reviewed by Chris Fleizach.
3428
3429         ARIA menuitems should expose AXFocused accessibility attribute.
3430
3431         Test: platform/mac/accessibility/aria-menuitem-focus.html
3432
3433         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
3434         (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
3435
3436 2013-10-30  Joseph Pecoraro  <pecoraro@apple.com>
3437
3438         Web Inspector: Remove basic uses of InspectorState from agents
3439         https://bugs.webkit.org/show_bug.cgi?id=123534
3440
3441         Reviewed by Timothy Hatcher.
3442
3443         * inspector/InspectorAgent.h:
3444         * inspector/InspectorAgent.cpp:
3445         (WebCore::InspectorAgent::InspectorAgent):
3446         (WebCore::InspectorAgent::enable):
3447         (WebCore::InspectorAgent::disable):
3448         (WebCore::InspectorAgent::evaluateForTestInFrontend):
3449         (WebCore::InspectorAgent::inspect):
3450         InspectorAgentState::inspectorAgentEnabled -> m_enabled.
3451
3452         * inspector/InspectorApplicationCacheAgent.cpp:
3453         (WebCore::InspectorApplicationCacheAgent::enable):
3454         Remove unused state.
3455
3456         * inspector/InspectorCSSAgent.cpp:
3457         (WebCore::InspectorCSSAgent::enable):
3458         (WebCore::InspectorCSSAgent::disable):
3459         (WebCore::InspectorCSSAgent::startSelectorProfiler):
3460         (WebCore::InspectorCSSAgent::stopSelectorProfilerImpl):
3461         Remove unused states. Make CSSAgentState::isSelectorProfiling check profile object exists or not.
3462
3463         * inspector/InspectorCanvasAgent.cpp:
3464         (WebCore::InspectorCanvasAgent::enable):
3465         (WebCore::InspectorCanvasAgent::disable):
3466         Remove unused state, member variable already existed.
3467
3468         * inspector/InspectorConsoleAgent.h:
3469         * inspector/InspectorConsoleAgent.cpp:
3470         (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
3471         (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
3472         (WebCore::InspectorConsoleAgent::enable):
3473         (WebCore::InspectorConsoleAgent::disable):
3474         (WebCore::InspectorConsoleAgent::didFinishXHRLoading):
3475         (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled):
3476         ConsoleAgentState::consoleMessagesEnabled already had m_enabled.
3477         ConsoleAgentState::monitoringXHR -> m_monitoringXHREnabled.
3478         
3479         * inspector/InspectorDOMAgent.h:
3480         * inspector/InspectorDOMAgent.cpp:
3481         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
3482         (WebCore::InspectorDOMAgent::clearFrontend):
3483         (WebCore::InspectorDOMAgent::setDocument):
3484         (WebCore::InspectorDOMAgent::getDocument):
3485         (WebCore::InspectorDOMAgent::mainFrameDOMContentLoaded):
3486         DOMAgentState::documentRequested -> m_documentRequested.
3487
3488         * inspector/InspectorDOMDebuggerAgent.h:
3489         * inspector/InspectorDOMDebuggerAgent.cpp:
3490         (WebCore::InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent):
3491         (WebCore::InspectorDOMDebuggerAgent::setXHRBreakpoint):
3492         (WebCore::InspectorDOMDebuggerAgent::removeXHRBreakpoint):
3493         (WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):
3494         DOMDebuggerAgentState::pauseOnAllXHRs -> m_pauseOnAllXHRsEnabled.
3495
3496         * inspector/InspectorDOMStorageAgent.h:
3497         * inspector/InspectorDOMStorageAgent.cpp:
3498         (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
3499         (WebCore::InspectorDOMStorageAgent::enable):
3500         (WebCore::InspectorDOMStorageAgent::disable):
3501         (WebCore::InspectorDOMStorageAgent::didDispatchDOMStorageEvent):
3502         DOMStorageAgentState::domStorageAgentEnabled -> m_enabled.
3503
3504         * inspector/InspectorDatabaseAgent.cpp:
3505         (WebCore::InspectorDatabaseAgent::enable):
3506         (WebCore::InspectorDatabaseAgent::disable):
3507         Remove unused state, m_enabled already existed.
3508
3509         * inspector/InspectorDebuggerAgent.h:
3510         * inspector/InspectorDebuggerAgent.cpp:
3511         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
3512         (WebCore::InspectorDebuggerAgent::enable):
3513         (WebCore::InspectorDebuggerAgent::disable):
3514         (WebCore::InspectorDebuggerAgent::enabled):
3515         (WebCore::InspectorDebuggerAgent::clearFrontend):
3516         (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsImpl):
3517         DebuggerAgentState::pauseOnExceptionsState removed, never read.
3518         DebuggerAgentState::debuggerEnabled -> m_enabled.
3519
3520         * inspector/InspectorHeapProfilerAgent.h:
3521         * inspector/InspectorHeapProfilerAgent.cpp:
3522         (WebCore::InspectorHeapProfilerAgent::InspectorHeapProfilerAgent):
3523         (WebCore::InspectorHeapProfilerAgent::resetFrontendProfiles):
3524         (WebCore::InspectorHeapProfilerAgent::clearFrontend):
3525         (WebCore::InspectorHeapProfilerAgent::getProfileHeaders):
3526         HeapProfilerAgentState::profileHeadersRequested -> m_profileHeadersRequested.
3527
3528         * inspector/InspectorIndexedDBAgent.cpp:
3529         (WebCore::InspectorIndexedDBAgent::enable):
3530         (WebCore::InspectorIndexedDBAgent::disable):
3531         Remove unused state, never read.
3532
3533         * inspector/InspectorLayerTreeAgent.cpp:
3534         (WebCore::InspectorLayerTreeAgent::enable):
3535         (WebCore::InspectorLayerTreeAgent::disable):
3536         Remove unused state, did not need to be read.
3537
3538         * inspector/InspectorPageAgent.h:
3539         * inspector/InspectorPageAgent.cpp:
3540         (WebCore::InspectorPageAgent::InspectorPageAgent):
3541         (WebCore::InspectorPageAgent::webViewResized):
3542         (WebCore::InspectorPageAgent::enable):
3543         (WebCore::InspectorPageAgent::disable):
3544         (WebCore::InspectorPageAgent::setDeviceMetricsOverride):
3545         (WebCore::InspectorPageAgent::deviceMetricsChanged):
3546         (WebCore::InspectorPageAgent::setShowPaintRects):
3547         (WebCore::InspectorPageAgent::setShowDebugBorders):
3548         (WebCore::InspectorPageAgent::setShowFPSCounter):
3549         (WebCore::InspectorPageAgent::setContinuousPaintingEnabled):
3550         (WebCore::InspectorPageAgent::setScriptExecutionDisabled):
3551         (WebCore::InspectorPageAgent::applyScreenWidthOverride):
3552         (WebCore::InspectorPageAgent::applyScreenHeightOverride):
3553         (WebCore::InspectorPageAgent::didPaint):
3554         (WebCore::InspectorPageAgent::didLayout):
3555         (WebCore::InspectorPageAgent::updateTouchEventEmulationInPage):
3556         (WebCore::InspectorPageAgent::setTouchEmulationEnabled):
3557         (WebCore::InspectorPageAgent::setEmulatedMedia):
3558         (WebCore::InspectorPageAgent::applyEmulatedMedia):
3559         PageAgentState::pageAgentScreenWidthOverride -> m_screenWidthOverride.
3560         PageAgentState::pageAgentScreenHeightOverride -> m_screenHeightOverride.
3561         PageAgentState::pageAgentFontScaleFactorOverride -> m_fontScaleFactorOverride.
3562         PageAgentState::pageAgentFitWindow -> m_fitWindowOverride.
3563         PageAgentState::pageAgentShowPaintRects -> m_showPaintRects.
3564         PageAgentState::pageAgentEmulatedMedia -> m_emulatedMedia.
3565         Remove other unused states.
3566
3567         * inspector/InspectorProfilerAgent.h:
3568         * inspector/InspectorProfilerAgent.cpp:
3569         (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
3570         (WebCore::InspectorProfilerAgent::addProfile):
3571         (WebCore::InspectorProfilerAgent::enable):
3572         (WebCore::InspectorProfilerAgent::disable):
3573         (WebCore::InspectorProfilerAgent::getProfileHeaders):
3574         (WebCore::InspectorProfilerAgent::resetFrontendProfiles):
3575         (WebCore::InspectorProfilerAgent::start):
3576         (WebCore::InspectorProfilerAgent::stop):
3577         (WebCore::InspectorProfilerAgent::enabled):
3578         ProfilerAgentState::profileHeadersRequested -> m_profileHeadersRequested.
3579         Remove other unused states.
3580
3581         * inspector/InspectorResourceAgent.h:
3582         * inspector/InspectorResourceAgent.cpp:
3583         (WebCore::InspectorResourceAgent::~InspectorResourceAgent):
3584         (WebCore::InspectorResourceAgent::willSendRequest):
3585         (WebCore::InspectorResourceAgent::applyUserAgentOverride):
3586         (WebCore::InspectorResourceAgent::enable):
3587         (WebCore::InspectorResourceAgent::disable):
3588         (WebCore::InspectorResourceAgent::setUserAgentOverride):
3589         (WebCore::InspectorResourceAgent::setCacheDisabled):
3590         (WebCore::InspectorResourceAgent::mainFrameNavigated):
3591         (WebCore::InspectorResourceAgent::InspectorResourceAgent):
3592         ResourceAgentState::resourceAgentEnabled -> m_enabled.
3593         ResourceAgentState::cacheDisabled -> m_cacheDisabled.
3594         ResourceAgentState::userAgentOverride -> m_userAgentOverride (this already existed and was unused).
3595
3596         * inspector/InspectorTimelineAgent.h:
3597         * inspector/InspectorTimelineAgent.cpp:
3598         (WebCore::InspectorTimelineAgent::start):
3599         (WebCore::InspectorTimelineAgent::stop):
3600         (WebCore::InspectorTimelineAgent::setDOMCounters):
3601         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
3602         TimelineAgentState::timelineAgentEnabled -> m_enabled.
3603         TimelineAgentState::includeDomCounters -> m_includeDOMCounters.
3604         Remove other unused states.
3605
3606         * inspector/InspectorWorkerAgent.h:
3607         * inspector/InspectorWorkerAgent.cpp:
3608         (WebCore::InspectorWorkerAgent::InspectorWorkerAgent):
3609         (WebCore::InspectorWorkerAgent::clearFrontend):
3610         (WebCore::InspectorWorkerAgent::enable):
3611         (WebCore::InspectorWorkerAgent::disable):
3612         (WebCore::InspectorWorkerAgent::setAutoconnectToWorkers):
3613         (WebCore::InspectorWorkerAgent::shouldPauseDedicatedWorkerOnStart):
3614         (WebCore::InspectorWorkerAgent::didStartWorkerGlobalScope):
3615         (WebCore::InspectorWorkerAgent::createWorkerFrontendChannel):
3616         WorkerAgentState::workerInspectionEnabled -> m_enabled.
3617         WorkerAgentState::autoconnectToWorkers -> m_shouldPauseDedicatedWorkerOnStart.
3618
3619         * inspector/PageRuntimeAgent.cpp:
3620         (WebCore::PageRuntimeAgent::enable):
3621         (WebCore::PageRuntimeAgent::disable):
3622         Remove unused state, not read.
3623
3624 2013-10-30  Ryosuke Niwa  <rniwa@webkit.org>
3625
3626         Remove code for Mac Lion
3627         https://bugs.webkit.org/show_bug.cgi?id=123542
3628
3629         Reviewed by Anders Carlsson.
3630
3631         Removed the code for Mac OS X 10.7.
3632
3633         * platform/graphics/ImageBuffer.h:
3634         * platform/graphics/cg/ImageBufferCG.cpp:
3635         (WebCore::ImageBuffer::ImageBuffer):
3636         (WebCore::ImageBuffer::context):
3637         (WebCore::ImageBuffer::flushContext):
3638         * platform/graphics/cg/ImageBufferDataCG.h:
3639         * platform/graphics/cg/ImageSourceCG.cpp:
3640         (WebCore::imageSourceOptions):
3641         * platform/graphics/mac/ComplexTextControllerCoreText.mm:
3642         (WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
3643         * platform/mac/ScrollAnimatorMac.mm:
3644         (WebCore::scrollAnimationEnabledForSystem):
3645         * platform/mac/ScrollElasticityController.mm:
3646         (WebCore::reboundDeltaForElasticDelta):
3647         * platform/mac/ThemeMac.mm:
3648         (WebCore::updateStates):
3649         (WebCore::paintCheckbox):
3650         (WebCore::paintRadio):
3651         (WebCore::paintButton):
3652         * platform/mac/WebCoreNSCellExtras.h:
3653         * platform/mac/WebCoreNSCellExtras.m:
3654         * rendering/RenderThemeMac.mm:
3655         (WebCore::RenderThemeMac::paintTextField):
3656         (WebCore::RenderThemeMac::paintMenuList):
3657         (WebCore::RenderThemeMac::setPopupButtonCellState):
3658         (WebCore::RenderThemeMac::textField):
3659
3660 2013-10-30  Alexey Proskuryakov  <ap@apple.com>
3661
3662         85 inspector tests asserting in DrawingAreaProxyImpl::updateAcceleratedCompositingMode()
3663         when there is a stale WebKitTestRunner preference
3664         https://bugs.webkit.org/show_bug.cgi?id=115115
3665
3666         Reviewed by Darin Adler.
3667
3668         * page/Settings.cpp:
3669         (WebCore::Settings::setMockScrollbarsEnabled):
3670         (WebCore::Settings::setUsesOverlayScrollbars):
3671         Added FIXMEs.
3672
3673 2013-10-30  Andreas Kling  <akling@apple.com>
3674
3675         Take line boxes out of the arena.
3676         <https://webkit.org/b/123533>
3677
3678         Stop arena-allocating line boxes so we can move forward on improving
3679         render tree memory management. This will also allow more rendering
3680         code to take advantage of malloc optimizations.
3681
3682         This will likely regress performance on some micro-benchmarks, but
3683         it's something we want to do sooner rather than later so we have time
3684         to restabilize it. All improvements to the simple line layout's
3685         coverage will help with recouping whatever is regressed.
3686
3687         BiDi runs are the only remaining user of the arena now.
3688
3689         Reviewed by Antti Koivisto
3690
3691 2013-10-30  Joseph Pecoraro  <pecoraro@apple.com>
3692
3693         Web Inspector: Remove InspectorAgent::restore functionality
3694         https://bugs.webkit.org/show_bug.cgi?id=123525
3695
3696         Reviewed by Timothy Hatcher.
3697
3698         Remove unused InspectorAgent restore functionality.
3699
3700         * inspector/InspectorApplicationCacheAgent.cpp:
3701         * inspector/InspectorApplicationCacheAgent.h:
3702         * inspector/InspectorBaseAgent.cpp:
3703         * inspector/InspectorBaseAgent.h:
3704         * inspector/InspectorCSSAgent.cpp:
3705         * inspector/InspectorCSSAgent.h:
3706         * inspector/InspectorCanvasAgent.cpp:
3707         * inspector/InspectorCanvasAgent.h:
3708         * inspector/InspectorConsoleAgent.cpp:
3709         * inspector/InspectorConsoleAgent.h:
3710         * inspector/InspectorController.cpp:
3711         * inspector/InspectorController.h:
3712         * inspector/InspectorDOMAgent.cpp:
3713         * inspector/InspectorDOMAgent.h:
3714         * inspector/InspectorDatabaseAgent.cpp:
3715         * inspector/InspectorDatabaseAgent.h:
3716         * inspector/InspectorDebuggerAgent.cpp:
3717         * inspector/InspectorDebuggerAgent.h:
3718         * inspector/InspectorHeapProfilerAgent.cpp:
3719         * inspector/InspectorHeapProfilerAgent.h:
3720         * inspector/InspectorIndexedDBAgent.cpp:
3721         * inspector/InspectorIndexedDBAgent.h:
3722         * inspector/InspectorLayerTreeAgent.cpp:
3723         * inspector/InspectorLayerTreeAgent.h:
3724         * inspector/InspectorPageAgent.cpp:
3725         * inspector/InspectorPageAgent.h:
3726         * inspector/InspectorProfilerAgent.cpp:
3727         * inspector/InspectorProfilerAgent.h:
3728         * inspector/InspectorResourceAgent.cpp:
3729         * inspector/InspectorResourceAgent.h:
3730         * inspector/InspectorTimelineAgent.cpp:
3731         * inspector/InspectorTimelineAgent.h:
3732         * inspector/InspectorWorkerAgent.cpp:
3733         * inspector/InspectorWorkerAgent.h:
3734         * inspector/PageRuntimeAgent.cpp:
3735         * inspector/PageRuntimeAgent.h:
3736         * inspector/WorkerInspectorController.cpp:
3737         * inspector/WorkerInspectorController.h:
3738
3739 2013-10-30  Jer Noble  <jer.noble@apple.com>
3740
3741         REGRESSION(r158288): media/media-can-play-mpeg4-video.html fails
3742         https://bugs.webkit.org/show_bug.cgi?id=123530
3743
3744         Reviewed by Eric Carlson.
3745
3746         Lower case the mime type before passing it along to MediaPlayer.
3747
3748         * html/HTMLMediaElement.cpp:
3749         (WebCore::HTMLMediaElement::canPlayType):
3750         (WebCore::HTMLMediaElement::selectNextSourceChild):
3751
3752 2013-10-30  Alexey Proskuryakov  <ap@apple.com>
3753
3754         Add a way to fulfill promises from DOM code
3755         https://bugs.webkit.org/show_bug.cgi?id=123466
3756
3757         Reviewed by Sam Weinig.
3758
3759         This is not perfect, as it strongly ties DOM code to JavaScript. In the future, we
3760         can make it better e.g. by subclassing, so that only a base interface would be exposed.
3761
3762         * GNUmakefile.list.am:
3763         * WebCore.vcxproj/WebCore.vcxproj:
3764         * WebCore.vcxproj/WebCore.vcxproj.filters:
3765         * bindings/js/JSBindingsAllInOne.cpp:
3766         * WebCore.xcodeproj/project.pbxproj:
3767         Added JSDOMPromise.
3768
3769         * bindings/js/JSDOMPromise.cpp: Added.
3770
3771         * bindings/js/JSDOMPromise.h: Added.
3772         (WebCore::PromiseWrapper::create):
3773         (WebCore::PromiseWrapper::fulfill): A random set of specializations that I needed
3774         in WebCrypto code so far.
3775         (WebCore::PromiseWrapper::reject): Ditto.
3776
3777 2013-10-30  Santosh Mahto  <santosh.ma@samsung.com>
3778
3779         contentEditable deleting lists when list items are block level
3780         https://bugs.webkit.org/show_bug.cgi?id=122602
3781
3782         Reviewed by Ryosuke Niwa.
3783
3784         When listitems are styled with display:block/float then inserting paragraph
3785         twice at end of listitem delete entire list. Generally when listitem is empty
3786         then we delete the listitem on inserting paragraph. In this issue, on inserting
3787         first paragraph one empty listitem is created, and on inserting second paragraph
3788         we try to delete that empty listitem. but it misbehave becasue of incomplete 
3789         definition of htmlediting::isLisItem() and entire list is deleted.
3790
3791         htmlediting::isListItem() check only render object to decide whether it is 
3792         list or not, so if any LI element is block level then isListItem return false.
3793         Now after this patch if parent of current node is list element then node is
3794         treated as listItem.
3795
3796         Test: editing/execCommand/hit-enter-twice-atendof-block-styled-listitem.html
3797
3798         * editing/htmlediting.cpp:
3799         (WebCore::isListItem): Modified condition to check if parent node is list;
3800
3801 2013-10-30  Jer Noble  <jer.noble@apple.com>
3802
3803         Unreviewed EFL build fix; give MediaEngineSupportParameters struct a default constructor.
3804
3805         * Modules/mediasource/MediaSource.cpp:
3806         (WebCore::MediaSource::isTypeSupported):
3807         * dom/DOMImplementation.cpp:
3808         (WebCore::DOMImplementation::createDocument):
3809         * html/HTMLMediaElement.cpp:
3810         (WebCore::HTMLMediaElement::canPlayType):
3811         (WebCore::HTMLMediaElement::selectNextSourceChild):
3812         * platform/graphics/MediaPlayer.h:
3813         (WebCore::MediaEngineSupportParameters::MediaEngineSupportParameters):
3814
3815 2013-10-30  Andreas Kling  <akling@apple.com>
3816
3817         Let Page::renderTreeSize() be the number of renderers.
3818         <https://webkit.org/b/123518>
3819         <rdar://problem/15348679>
3820
3821         The old metric was "number of bytes allocated in RenderArena" and
3822         that was heading towards obsolescence, fast.
3823
3824         Instead, keep a count of RenderObjects instantiated on RenderView.
3825         While a bit ugly, this lets us move forward with rendering memory
3826         model improvements without breaking features.
3827
3828         Reviewed by Beth Dakin.
3829
3830 2013-10-30  Myles C. Maxfield  <mmaxfield@apple.com>
3831
3832         WebKit/win/WebKitGraphics.h:void WebDrawText(WebTextRenderInfo*); is never called
3833         https://bugs.webkit.org/show_bug.cgi?id=123485
3834
3835         Reviewed by Brent Fulgham.
3836
3837         WebDrawText is the only caller of WebCoreDrawTextAtPoint, so we can
3838         delete that as well.
3839
3840         Because there is no behavior difference, no new tests are necessary.
3841
3842         * platform/win/WebCoreTextRenderer.cpp:
3843         * platform/win/WebCoreTextRenderer.h:
3844
3845 2013-10-30  Csaba Osztrogonác  <ossy@webkit.org>
3846
3847         URTBF after r158289.
3848
3849         * CMakeLists.txt:
3850         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
3851         (WebCore::IDBFactoryBackendLevelDB::createCursorBackend):
3852
3853 2013-10-30  Dong-Gwan Kim  <donggwan.kim@samsung.com>
3854
3855         Build fails with EGLConfigSelector.cpp when OpenGL ES is not used
3856         https://bugs.webkit.org/show_bug.cgi?id=119037
3857
3858         Reviewed by Brent Fulgham.
3859
3860         Build fix for EGLConfigSelector.cpp
3861
3862         No new tests, no behavior change.
3863
3864         * platform/graphics/surfaces/egl/EGLConfigSelector.cpp:
3865         (WebCore::EGLConfigSelector::createConfig):
3866
3867 2013-10-30  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
3868
3869         Explicitly initialize base class in MediStreamTrackPrivate copy constructor
3870         https://bugs.webkit.org/show_bug.cgi?id=123473
3871
3872         Reviewed by Eric Carlson.
3873
3874         No new tests needed.
3875
3876         Ports that enable -Werror=extra must do that to compile.
3877
3878         * platform/mediastream/MediaStreamTrackPrivate.cpp:
3879         (WebCore::MediaStreamTrackPrivate::MediaStreamTrackPrivate):
3880
3881 2013-10-30  Ryosuke Niwa  <rniwa@webkit.org>
3882
3883         Mac build fix after r158291.
3884
3885         * html/HTMLMediaElement.cpp:
3886         (WebCore::HTMLMediaElement::canPlayType):
3887
3888 2013-10-30  Commit Queue  <commit-queue@webkit.org>
3889
3890         Unreviewed, rolling out r158243.
3891         http://trac.webkit.org/changeset/158243
3892         https://bugs.webkit.org/show_bug.cgi?id=123520
3893
3894         Change was wrong (Requested by smfr on #webkit).
3895
3896         * platform/graphics/GraphicsContext.h:
3897         * platform/graphics/blackberry/PathBlackBerry.cpp:
3898         (WebCore::GraphicsContext::drawLineForText):
3899         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3900         (WebCore::GraphicsContext::drawLineForText):
3901         * platform/graphics/cg/GraphicsContextCG.cpp:
3902         (WebCore::GraphicsContext::drawLineForText):
3903         * platform/graphics/wince/GraphicsContextWinCE.cpp:
3904         (WebCore::GraphicsContext::drawLineForText):
3905         * platform/win/WebCoreTextRenderer.cpp:
3906         (WebCore::doDrawTextAtPoint):
3907         * rendering/InlineTextBox.cpp:
3908         (WebCore::InlineTextBox::paintDecoration):
3909         (WebCore::InlineTextBox::paintCompositionUnderline):
3910
3911 2013-10-30  peavo@outlook.com  <peavo@outlook.com>
3912
3913         Favicons are flipped in vertical direction in WinCairo builds.
3914         https://bugs.webkit.org/show_bug.cgi?id=102077
3915
3916         Reviewed by Brent Fulgham.
3917
3918         * platform/graphics/win/ImageCairoWin.cpp:
3919         (WebCore::BitmapImage::getHBITMAPOfSize):
3920
3921 2013-10-30  Jer Noble  <jer.noble@apple.com>
3922
3923         [MSE] Add MediaSource compatable loading functions to MediaPlayer
3924         https://bugs.webkit.org/show_bug.cgi?id=123353
3925
3926         Reviewed by Eric Carlson.
3927
3928         Add methods to MediaPlayer to allow it to select the correct MediaPlayerFactory
3929         when attempting to load a MediaSource URL.
3930
3931         * Modules/mediasource/MediaSource.cpp:
3932         (WebCore::MediaSource::addSourceBuffer):
3933         (WebCore::MediaSource::isTypeSupported):
3934         * html/HTMLMediaElement.cpp:
3935         (WebCore::HTMLMediaElement::loadResource):
3936         (WebCore::HTMLMediaElement::canPlayType):
3937         (WebCore::HTMLMediaElement::selectNextSourceChild):
3938         * platform/graphics/MediaPlayer.cpp:
3939         (WebCore::MediaPlayer::load):
3940         (WebCore::MediaPlayer::supportsType):
3941         * platform/graphics/MediaPlayer.h:
3942         * dom/DOMImplementation.cpp:
3943         (WebCore::DOMImplementation::createDocument):
3944
3945         Remove the isSupportedMediaSourceMIMEType() method:
3946         * platform/MIMETypeRegistry.h:
3947         * platform/efl/MIMETypeRegistryEfl.cpp:
3948         * platform/mac/MIMETypeRegistryMac.mm:
3949
3950
3951 2013-10-30  Brady Eidson  <beidson@apple.com>
3952
3953         IDBCursorBackendLevelDB should be made cross-platform
3954         https://bugs.webkit.org/show_bug.cgi?id=123513
3955
3956         Rubberstamped by Andreas Kling.
3957
3958         Because of all the already-done refactoring, this is basically a file-move and global rename.
3959
3960         * CMakeLists.txt:
3961         * GNUmakefile.list.am:
3962         * WebCore.xcodeproj/project.pbxproj:
3963         * WebCore.vcxproj/WebCore.vcxproj:
3964
3965         * Modules/indexeddb/IDBCursorBackendImpl.cpp: Renamed from Source/WebCore/Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp.
3966         * Modules/indexeddb/IDBCursorBackendImpl.h: Renamed from Source/WebCore/Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h.
3967
3968         * Modules/indexeddb/IDBCursorBackendInterface.h:
3969
3970         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
3971
3972 2013-10-29  Jer Noble  <jer.noble@apple.com>
3973
3974         [MSE] Remove legacy Media Source APIs (WebKitMediaSource, WebKitSourceBuffer, WebKitSourceBufferList)
3975         https://bugs.webkit.org/show_bug.cgi?id=123463
3976
3977         Reviewed by Eric Carlson.
3978
3979         No new tests; updated test results.
3980
3981         Remove all reference to WebKitMediaSource, WebKitSourceBuffer, and WebKitSourceBufferList.
3982
3983         * CMakeLists.txt:
3984         * DerivedSources.cpp:
3985         * DerivedSources.make:
3986         * GNUmakefile.list.am:
3987         * Modules/mediasource/DOMURLMediaSource.idl:
3988         * Modules/mediasource/WebKitMediaSource.cpp: Removed.
3989         * Modules/mediasource/WebKitMediaSource.h: Removed.
3990         * Modules/mediasource/WebKitMediaSource.idl: Removed.
3991         * Modules/mediasource/WebKitSourceBuffer.cpp: Removed.
3992         * Modules/mediasource/WebKitSourceBuffer.h: Removed.
3993         * Modules/mediasource/WebKitSourceBuffer.idl: Removed.
3994         * Modules/mediasource/WebKitSourceBufferList.cpp: Removed.
3995         * Modules/mediasource/WebKitSourceBufferList.h: Removed.
3996         * Modules/mediasource/WebKitSourceBufferList.idl: Removed.
3997         * WebCore.xcodeproj/project.pbxproj:
3998         * dom/EventTargetFactory.in:
3999
4000 2013-10-30  Antti Koivisto  <antti@apple.com>
4001
4002         Unbreak the release build.
4003
4004         * rendering/SimpleLineLayoutFunctions.cpp:
4005
4006 2013-10-30  Liangjun Zeng  <lizeng@blackberry.com>
4007
4008         Fix memory leaks in platform/image-encoders/JPEGImageEncoder.cpp
4009         https://bugs.webkit.org/show_bug.cgi?id=118781
4010
4011         Reviewed by Brent Fulgham.
4012
4013         We can find the function "jpeg_finish_compress" call the function "jpeg_abort" at the end.
4014         And the comments of "jpeg_abort" is "Abort processing of a JPEG compression operation,
4015         but don't destroy the object itself". (We can find these in the "jcapimin.c" of jpeg)
4016         So the compression object destroy need be called.
4017         No new tests because this doesn't change functionality.
4018
4019         * platform/image-encoders/JPEGImageEncoder.cpp:
4020         (WebCore::compressRGBABigEndianToJPEG):
4021
4022 2013-10-30  Antti Koivisto  <antti@apple.com>
4023
4024         Add debug settings for simple line layout
4025         https://bugs.webkit.org/show_bug.cgi?id=123514
4026
4027         Reviewed by Andreas Kling.
4028
4029         * WebCore.exp.in:
4030         * page/Settings.in:
4031         
4032             Add simpleLineLayoutEnabled and simpleLineLayoutDebugBordersEnabled.
4033
4034         * rendering/SimpleLineLayout.cpp:
4035         (WebCore::SimpleLineLayout::canUseFor):
4036         * rendering/SimpleLineLayoutFunctions.cpp:
4037         (WebCore::SimpleLineLayout::paintDebugBorders):
4038         (WebCore::SimpleLineLayout::paintFlow):
4039
4040 2013-10-30  peavo@outlook.com  <peavo@outlook.com>
4041
4042         [Curl] Cookies are sometimes not set in download request.
4043         https://bugs.webkit.org/show_bug.cgi?id=123445
4044
4045         Reviewed by Brent Fulgham.
4046
4047         Sometimes cookies are not set in the download request because the cookie file cannot be opened,
4048         it's already been opened by the ResourceHandleManager for writing.
4049         This can be fixed by getting the cookie list from the share handle in ResourceHandleManager instead.
4050         This will also improve performance, as there is no need to read and parse the cookie file for each download.
4051
4052         * platform/network/curl/CurlDownload.cpp:
4053         (WebCore::CurlDownload::init): Use share handle to get cookie list.
4054
4055 2013-10-30  ChangSeok Oh  <changseok.oh@collabora.com>
4056
4057         Unguard Element::childShouldCreateRenderer
4058         https://bugs.webkit.org/show_bug.cgi?id=123496
4059
4060         Reviewed by Andreas Kling.
4061
4062         Make Element::childShouldCreateRenderer normally accessible. Guarding it with flags
4063         just leaves potential build issues.
4064
4065         No new tests since no functionality changed.
4066
4067         * dom/Element.cpp:
4068         (WebCore::Element::childShouldCreateRenderer):
4069         * dom/Element.h:
4070
4071 2013-10-30  Jer Noble  <jer.noble@apple.com>
4072
4073         [MSE] Make MediaSourcePrivate, SourceBufferPrivate classes RefCounted.
4074         https://bugs.webkit.org/show_bug.cgi?id=123350
4075
4076         Reviewed by Darin Adler.
4077
4078         Make the MediaSourcePrivate and SourceBufferPrivate classes RefCounted so that
4079         they can be referenced both by MediaSource/SourceBuffer, and by the MediaPlayerPrivate
4080         which creates them.
4081
4082         Change OwnPtr -> RefPtr everywhere:
4083         * Modules/mediasource/MediaSource.cpp:
4084         (WebCore::MediaSource::addSourceBuffer):
4085         * Modules/mediasource/MediaSourceBase.cpp:
4086         (WebCore::MediaSourceBase::setPrivateAndOpen):
4087         (WebCore::MediaSourceBase::createSourceBufferPrivate):
4088         * Modules/mediasource/MediaSourceBase.h:
4089         * Modules/mediasource/SourceBuffer.cpp:
4090         (WebCore::SourceBuffer::create):
4091         (WebCore::SourceBuffer::SourceBuffer):
4092         * Modules/mediasource/SourceBuffer.h:
4093         * Modules/mediasource/WebKitMediaSource.cpp:
4094         (WebCore::WebKitMediaSource::addSourceBuffer):
4095         * Modules/mediasource/WebKitSourceBuffer.cpp:
4096         (WebCore::WebKitSourceBuffer::create):
4097         (WebCore::WebKitSourceBuffer::WebKitSourceBuffer):
4098         * Modules/mediasource/WebKitSourceBuffer.h:
4099         * html/HTMLMediaSource.h:
4100         * platform/graphics/MediaSourcePrivate.h:
4101         * platform/graphics/SourceBufferPrivate.h:
4102         (WebCore::SourceBufferPrivate::SourceBufferPrivate):
4103
4104 2013-10-30  Allan Sandfeld Jensen  <allan.jensen@digia.com>
4105
4106         Remove unused runtime enabled
4107         https://bugs.webkit.org/show_bug.cgi?id=123509
4108
4109         Reviewed by Anders Carlsson.
4110
4111         Some of the runtime enabled features were only ever used by the V8 bindings