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