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