Manage SVGPathByteStream through std::unique_ptr
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-10-31  Zan Dobersek  <zdobersek@igalia.com>
2
3         Manage SVGPathByteStream through std::unique_ptr
4         https://bugs.webkit.org/show_bug.cgi?id=123467
5
6         Reviewed by Anders Carlsson.
7
8         Manage SVGPathByteStream objects through std::unique_ptr. Constructors for the class are made public
9         so std::make_unique can be used with the class.
10
11         * svg/SVGAnimatedPath.cpp:
12         (WebCore::SVGAnimatedPathAnimator::constructFromString):
13         (WebCore::SVGAnimatedPathAnimator::startAnimValAnimation):
14         (WebCore::SVGAnimatedPathAnimator::calculateAnimatedValue):
15         * svg/SVGAnimatedType.cpp:
16         (WebCore::SVGAnimatedType::createPath):
17         * svg/SVGAnimatedType.h:
18         * svg/SVGPathByteStream.h:
19         (WebCore::SVGPathByteStream::SVGPathByteStream): Takes a const Data object that's then copied.
20         (WebCore::SVGPathByteStream::copy): Made const.
21         * svg/SVGPathByteStreamBuilder.cpp: Remove an unnecessary include.
22         * svg/SVGPathByteStreamBuilder.h: Ditto.
23         * svg/SVGPathElement.cpp:
24         (WebCore::SVGPathElement::SVGPathElement):
25         * svg/SVGPathElement.h:
26         * svg/SVGPathUtilities.cpp:
27         (WebCore::appendSVGPathByteStreamFromSVGPathSeg):
28         (WebCore::addToSVGPathByteStream):
29
30 2013-10-31  Marcin Bychawski  <m.bychawski@samsung.com>
31
32         Removing m_maxDeadCapacity condition in fast path in MemoryCache::prune().
33         https://bugs.webkit.org/show_bug.cgi?id=115631
34
35         Reviewed by Brent Fulgham.
36
37         If the m_maxDeadSize and m_deadSize are both 0, the method unnecessairly tries to prune resources.
38
39         No new tests, covered by existing ones.
40
41         * loader/cache/MemoryCache.cpp:
42         (WebCore::MemoryCache::prune):
43
44 2013-10-31  Joseph Pecoraro  <pecoraro@apple.com>
45
46         Web Inspector: Remove stale optional native memory instrumentation protocol params
47         https://bugs.webkit.org/show_bug.cgi?id=123552
48
49         Reviewed by Timothy Hatcher.
50
51         * inspector/Inspector.json:
52         * inspector/InspectorTimelineAgent.cpp:
53         (WebCore::InspectorTimelineAgent::start):
54         * inspector/InspectorTimelineAgent.h:
55
56 2013-10-31  Zan Dobersek  <zdobersek@igalia.com>
57
58         [GTK] Undefined references to RenderObject::style() when disabling video support
59         https://bugs.webkit.org/show_bug.cgi?id=123492
60
61         Reviewed by Carlos Garcia Campos.
62
63         * platform/gtk/RenderThemeGtk2.cpp: Disabling video support removes indirect inclusion of the RenderElement.h
64         header, causing undefined references to RenderObject::style(). The RenderElement.h header should be included
65         instead of RenderObject.h as the former defines the RenderObject::style() inline and also includes the latter.
66         * platform/gtk/RenderThemeGtk3.cpp: Ditto.
67
68 2013-10-31  Robert Plociennik  <r.plociennik@samsung.com>
69
70         [EFL] accessibility/textbox-role-reports-selection.html is failing
71         https://bugs.webkit.org/show_bug.cgi?id=112017
72
73         Reviewed by Mario Sanchez Prada.
74
75         getSelectionOffsetsForObject() now returns proper start/end offsets for
76         selections "touching" the object's front border.
77
78         No new tests, covered by existing ones.
79
80         * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
81         (getSelectionOffsetsForObject):
82
83 2013-10-31  Ryuan Choi  <ryuan.choi@samsung.com>
84
85         [EFL][GLES] OpenGL should be optional
86         https://bugs.webkit.org/show_bug.cgi?id=123399
87
88         Reviewed by Noam Rosenthal.
89
90         * CMakeLists.txt: Make OpenGL dependencies as optional.
91         * PlatformEfl.cmake:
92         Move OpenGL macro to OptionsEfl.cmake and make Xcomposite and XRender as optional.
93         * platform/graphics/OpenGLESShims.h:
94         Removed GL_COLOR_ATTACHMENT0_EXT because it was added to gl2ext.h since r153064
95         * platform/graphics/surfaces/GraphicsSurfaceToken.h:
96         Removed wrong GLX guard.
97         (WebCore::GraphicsSurfaceToken::GraphicsSurfaceToken):
98         (WebCore::GraphicsSurfaceToken::operator!=):
99         (WebCore::GraphicsSurfaceToken::isValid):
100         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
101         Removed unnecessary OpenGLShims.h
102
103 2013-10-30  Santosh Mahto  <santosh.ma@samsung.com>
104
105         [webcore/editing] remove extra header includes from cpp files.
106         https://bugs.webkit.org/show_bug.cgi?id=123524
107
108         Reviewed by Ryosuke Niwa.
109
110         Removing redundant header files.
111
112         * editing/AlternativeTextController.cpp:
113         * editing/ApplyBlockElementCommand.cpp:
114         * editing/ApplyStyleCommand.cpp:
115         * editing/BreakBlockquoteCommand.cpp:
116         * editing/DeleteButton.cpp:
117         * editing/DeleteButtonController.cpp:
118         * editing/DeleteSelectionCommand.cpp:
119         * editing/DictationCommand.cpp:
120         * editing/EditCommand.cpp:
121         * editing/EditingStyle.cpp:
122         * editing/EditorCommand.cpp:
123         * editing/FrameSelection.cpp:
124         * editing/IndentOutdentCommand.cpp:
125         * editing/InsertLineBreakCommand.cpp:
126         * editing/InsertParagraphSeparatorCommand.cpp:
127         * editing/MarkupAccumulator.h:
128         * editing/RemoveFormatCommand.cpp:
129         * editing/RenderedPosition.cpp:
130         * editing/ReplaceSelectionCommand.cpp:
131         * editing/SpellChecker.cpp:
132         * editing/SpellingCorrectionCommand.cpp:
133         * editing/SurroundingText.cpp:
134         * editing/TextCheckingHelper.cpp:
135         * editing/TextIterator.cpp:
136         * editing/TypingCommand.cpp:
137         * editing/VisibleSelection.cpp:
138         * editing/VisibleUnits.cpp:
139         * editing/WrapContentsInDummySpanCommand.cpp:
140         * editing/htmlediting.cpp:
141
142 2013-10-30  Brady Eidson  <beidson@apple.com>
143
144         IDB Database versions are uint64_t, not int64_t
145         https://bugs.webkit.org/show_bug.cgi?id=123556
146
147         Reviewed by Alexey Proskuryakov.
148
149         * Modules/indexeddb/IDBBackingStoreInterface.h:
150
151         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
152         (WebCore::IDBDatabaseBackendImpl::processPendingCalls):
153         (WebCore::IDBDatabaseBackendImpl::openConnection):
154         * Modules/indexeddb/IDBDatabaseBackendImpl.h:
155
156         * Modules/indexeddb/IDBFactoryBackendInterface.h:
157
158         * Modules/indexeddb/IDBPendingOpenCall.h:
159         (WebCore::IDBPendingOpenCall::create):
160         (WebCore::IDBPendingOpenCall::version):
161         (WebCore::IDBPendingOpenCall::IDBPendingOpenCall):
162
163         * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
164         (WebCore::IDBDatabaseBackendImpl::VersionChangeOperation::perform):
165
166         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
167         (WebCore::IDBBackingStoreLevelDB::updateIDBDatabaseVersion):
168         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
169
170         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
171         (WebCore::IDBFactoryBackendLevelDB::open):
172         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
173
174 2013-10-30  Brendan Long  <b.long@cablelabs.com>
175
176         [Gtk] Build is failing after r158317
177         https://bugs.webkit.org/show_bug.cgi?id=123544
178
179         Reviewed by Alexey Proskuryakov.
180
181         No new tests since this just fixes the build.
182
183         * GNUmakefile.list.am: Add JSCryptoKey.cpp and JSCryptoKey.h
184
185 2013-10-30  Andreas Kling  <akling@apple.com>
186
187         Manage EllipsisBox objects with unique_ptr.
188         <https://webkit.org/b/123554>
189
190         Use smart pointers to store ellipsis boxes instead of new/delete.
191
192         Reviewed by Anders Carlsson.
193
194 2013-10-30  Alexey Proskuryakov  <ap@apple.com>
195
196         [Gtk] Build is failing after r158317
197         https://bugs.webkit.org/show_bug.cgi?id=123544
198
199         Use a correct style for JSC includes.
200
201         * ForwardingHeaders/runtime/JSPromise.h: Added.
202         * ForwardingHeaders/runtime/JSPromiseResolver.h: Added.
203         * bindings/js/JSDOMPromise.h:
204
205 2013-10-30  Andreas Kling  <akling@apple.com>
206
207         Replace InlineBox::destroy() with regular virtual destruction.
208         <https://webkit.org/b/123550>
209
210         Move logic out of destroy() and its overloads into good ol' virtual
211         destructors instead.
212
213         Reviewed by Anders Carlsson.
214
215 2013-10-30  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
216
217         Simplifying MediaStream and MediStreamDescriptor creation
218         https://bugs.webkit.org/show_bug.cgi?id=123443
219
220         Reviewed by Eric Carlson.
221
222         The internal process of creating a MediaStream and MediaStreamDescriptor was quite confusing and spread.
223         We can take advantage of the platform implementation of MediaStreamTrack (aka MediaStreamTrackPrivate)
224         and simplify the whole process.
225         A new constructor that receives vectors of MediaStreamTrackPrivate objects were added, then the check
226         if a source already exists or if the tracks are all ended are now made in MediaStreamDescriptor.
227
228         No new tests needed.
229
230         * Modules/mediastream/MediaStream.cpp:
231         (WebCore::MediaStream::create): Removed unnecessary variables in one create method and using new
232         MediaStreamDescriptor::create method that receives vector of MediaStreamTrackPrivate objects as parameter.
233
234         * Modules/webaudio/MediaStreamAudioDestinationNode.cpp:
235         (WebCore::MediaStreamAudioDestinationNode::MediaStreamAudioDestinationNode): Removed passing flag to
236         MediaStreamDescriptor create.
237
238         * platform/mediastream/MediaStreamDescriptor.cpp:
239         (WebCore::MediaStreamDescriptor::create): Removed EndedAtCreationFlag parameter, because this is being
240         handled inside constructor by analyzing the tracks or sources passed.
241         (WebCore::MediaStreamDescriptor::MediaStreamDescriptor): Adding new constructor that receives vector of
242         MediaStreamTrackPrivate as parameter.
243
244         (WebCore::MediaStreamDescriptor::addTrack): Changed to store the track's source in the object.
245
246         (WebCore::MediaStreamDescriptor::removeTrack):
247         * platform/mediastream/MediaStreamDescriptor.h:
248         (WebCore::MediaStreamDescriptor::numberOfAudioTracks):
249         (WebCore::MediaStreamDescriptor::audioTracks):
250         (WebCore::MediaStreamDescriptor::numberOfVideoTracks):
251         (WebCore::MediaStreamDescriptor::videoTracks):
252         * platform/mock/MockMediaStreamCenter.cpp:
253         (WebCore::MockMediaStreamCenter::createMediaStream): Removing flag that is being passed to
254         MediaStreamDescriptor's create method.
255
256 2013-10-30  Brent Fulgham  <bfulgham@apple.com>
257
258         [Win] Legible Output callbacks should happen on notification queue
259         https://bugs.webkit.org/show_bug.cgi?id=123545
260
261         Reviewed by Eric Carlson.
262
263         Modify the callback creation for Legible Output items so that they
264         are made on our notification queue. The use of the main queue was a
265         holdover from some temporary code used during earlier development.
266
267         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
268         (WebCore::AVFWrapper::AVFWrapper): Assert this happens on the main thread.
269         (WebCore::AVFWrapper::~AVFWrapper): Ditto.
270         (WebCore::destroyAVFWrapper): Ditto.
271         (WebCore::AVFWrapper::createPlayer): Ditto.
272         (WebCore::AVFWrapper::createPlayerItem): Ditto.
273         Also, instruct LegibleOutput callbacks to happen on our notification
274         queue, rather than the main thread.
275         (WebCore::AVFWrapper::createAVCFVideoLayer): Assert this happens on the main thread.
276         (WebCore::AVFWrapper::destroyVideoLayer): Ditto.
277         (WebCore::AVFWrapper::createImageGenerator): Ditto.
278         (WebCore::AVFWrapper::destroyImageGenerator): Ditto.
279
280 2013-10-30  Alexey Proskuryakov  <ap@apple.com>
281
282         XHR.response is null when requesting empty file as arraybuffer
283         https://bugs.webkit.org/show_bug.cgi?id=123457
284
285         Reviewed by Sam Weinig.
286
287         Test: http/tests/xmlhttprequest/response-empty-arraybuffer.html
288
289         * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::responseArrayBuffer): Don't do this.
290
291 2013-10-30  Samuel White  <samuel_white@apple.com>
292
293         AX: AXFocused not exposed on ARIA menuitems
294         https://bugs.webkit.org/show_bug.cgi?id=123494
295
296         Reviewed by Chris Fleizach.
297
298         ARIA menuitems should expose AXFocused accessibility attribute.
299
300         Test: platform/mac/accessibility/aria-menuitem-focus.html
301
302         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
303         (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
304
305 2013-10-30  Joseph Pecoraro  <pecoraro@apple.com>
306
307         Web Inspector: Remove basic uses of InspectorState from agents
308         https://bugs.webkit.org/show_bug.cgi?id=123534
309
310         Reviewed by Timothy Hatcher.
311
312         * inspector/InspectorAgent.h:
313         * inspector/InspectorAgent.cpp:
314         (WebCore::InspectorAgent::InspectorAgent):
315         (WebCore::InspectorAgent::enable):
316         (WebCore::InspectorAgent::disable):
317         (WebCore::InspectorAgent::evaluateForTestInFrontend):
318         (WebCore::InspectorAgent::inspect):
319         InspectorAgentState::inspectorAgentEnabled -> m_enabled.
320
321         * inspector/InspectorApplicationCacheAgent.cpp:
322         (WebCore::InspectorApplicationCacheAgent::enable):
323         Remove unused state.
324
325         * inspector/InspectorCSSAgent.cpp:
326         (WebCore::InspectorCSSAgent::enable):
327         (WebCore::InspectorCSSAgent::disable):
328         (WebCore::InspectorCSSAgent::startSelectorProfiler):
329         (WebCore::InspectorCSSAgent::stopSelectorProfilerImpl):
330         Remove unused states. Make CSSAgentState::isSelectorProfiling check profile object exists or not.
331
332         * inspector/InspectorCanvasAgent.cpp:
333         (WebCore::InspectorCanvasAgent::enable):
334         (WebCore::InspectorCanvasAgent::disable):
335         Remove unused state, member variable already existed.
336
337         * inspector/InspectorConsoleAgent.h:
338         * inspector/InspectorConsoleAgent.cpp:
339         (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
340         (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
341         (WebCore::InspectorConsoleAgent::enable):
342         (WebCore::InspectorConsoleAgent::disable):
343         (WebCore::InspectorConsoleAgent::didFinishXHRLoading):
344         (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled):
345         ConsoleAgentState::consoleMessagesEnabled already had m_enabled.
346         ConsoleAgentState::monitoringXHR -> m_monitoringXHREnabled.
347         
348         * inspector/InspectorDOMAgent.h:
349         * inspector/InspectorDOMAgent.cpp:
350         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
351         (WebCore::InspectorDOMAgent::clearFrontend):
352         (WebCore::InspectorDOMAgent::setDocument):
353         (WebCore::InspectorDOMAgent::getDocument):
354         (WebCore::InspectorDOMAgent::mainFrameDOMContentLoaded):
355         DOMAgentState::documentRequested -> m_documentRequested.
356
357         * inspector/InspectorDOMDebuggerAgent.h:
358         * inspector/InspectorDOMDebuggerAgent.cpp:
359         (WebCore::InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent):
360         (WebCore::InspectorDOMDebuggerAgent::setXHRBreakpoint):
361         (WebCore::InspectorDOMDebuggerAgent::removeXHRBreakpoint):
362         (WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):
363         DOMDebuggerAgentState::pauseOnAllXHRs -> m_pauseOnAllXHRsEnabled.
364
365         * inspector/InspectorDOMStorageAgent.h:
366         * inspector/InspectorDOMStorageAgent.cpp:
367         (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
368         (WebCore::InspectorDOMStorageAgent::enable):
369         (WebCore::InspectorDOMStorageAgent::disable):
370         (WebCore::InspectorDOMStorageAgent::didDispatchDOMStorageEvent):
371         DOMStorageAgentState::domStorageAgentEnabled -> m_enabled.
372
373         * inspector/InspectorDatabaseAgent.cpp:
374         (WebCore::InspectorDatabaseAgent::enable):
375         (WebCore::InspectorDatabaseAgent::disable):
376         Remove unused state, m_enabled already existed.
377
378         * inspector/InspectorDebuggerAgent.h:
379         * inspector/InspectorDebuggerAgent.cpp:
380         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
381         (WebCore::InspectorDebuggerAgent::enable):
382         (WebCore::InspectorDebuggerAgent::disable):
383         (WebCore::InspectorDebuggerAgent::enabled):
384         (WebCore::InspectorDebuggerAgent::clearFrontend):
385         (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsImpl):
386         DebuggerAgentState::pauseOnExceptionsState removed, never read.
387         DebuggerAgentState::debuggerEnabled -> m_enabled.
388
389         * inspector/InspectorHeapProfilerAgent.h:
390         * inspector/InspectorHeapProfilerAgent.cpp:
391         (WebCore::InspectorHeapProfilerAgent::InspectorHeapProfilerAgent):
392         (WebCore::InspectorHeapProfilerAgent::resetFrontendProfiles):
393         (WebCore::InspectorHeapProfilerAgent::clearFrontend):
394         (WebCore::InspectorHeapProfilerAgent::getProfileHeaders):
395         HeapProfilerAgentState::profileHeadersRequested -> m_profileHeadersRequested.
396
397         * inspector/InspectorIndexedDBAgent.cpp:
398         (WebCore::InspectorIndexedDBAgent::enable):
399         (WebCore::InspectorIndexedDBAgent::disable):
400         Remove unused state, never read.
401
402         * inspector/InspectorLayerTreeAgent.cpp:
403         (WebCore::InspectorLayerTreeAgent::enable):
404         (WebCore::InspectorLayerTreeAgent::disable):
405         Remove unused state, did not need to be read.
406
407         * inspector/InspectorPageAgent.h:
408         * inspector/InspectorPageAgent.cpp:
409         (WebCore::InspectorPageAgent::InspectorPageAgent):
410         (WebCore::InspectorPageAgent::webViewResized):
411         (WebCore::InspectorPageAgent::enable):
412         (WebCore::InspectorPageAgent::disable):
413         (WebCore::InspectorPageAgent::setDeviceMetricsOverride):
414         (WebCore::InspectorPageAgent::deviceMetricsChanged):
415         (WebCore::InspectorPageAgent::setShowPaintRects):
416         (WebCore::InspectorPageAgent::setShowDebugBorders):
417         (WebCore::InspectorPageAgent::setShowFPSCounter):
418         (WebCore::InspectorPageAgent::setContinuousPaintingEnabled):
419         (WebCore::InspectorPageAgent::setScriptExecutionDisabled):
420         (WebCore::InspectorPageAgent::applyScreenWidthOverride):
421         (WebCore::InspectorPageAgent::applyScreenHeightOverride):
422         (WebCore::InspectorPageAgent::didPaint):
423         (WebCore::InspectorPageAgent::didLayout):
424         (WebCore::InspectorPageAgent::updateTouchEventEmulationInPage):
425         (WebCore::InspectorPageAgent::setTouchEmulationEnabled):
426         (WebCore::InspectorPageAgent::setEmulatedMedia):
427         (WebCore::InspectorPageAgent::applyEmulatedMedia):
428         PageAgentState::pageAgentScreenWidthOverride -> m_screenWidthOverride.
429         PageAgentState::pageAgentScreenHeightOverride -> m_screenHeightOverride.
430         PageAgentState::pageAgentFontScaleFactorOverride -> m_fontScaleFactorOverride.
431         PageAgentState::pageAgentFitWindow -> m_fitWindowOverride.
432         PageAgentState::pageAgentShowPaintRects -> m_showPaintRects.
433         PageAgentState::pageAgentEmulatedMedia -> m_emulatedMedia.
434         Remove other unused states.
435
436         * inspector/InspectorProfilerAgent.h:
437         * inspector/InspectorProfilerAgent.cpp:
438         (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
439         (WebCore::InspectorProfilerAgent::addProfile):
440         (WebCore::InspectorProfilerAgent::enable):
441         (WebCore::InspectorProfilerAgent::disable):
442         (WebCore::InspectorProfilerAgent::getProfileHeaders):
443         (WebCore::InspectorProfilerAgent::resetFrontendProfiles):
444         (WebCore::InspectorProfilerAgent::start):
445         (WebCore::InspectorProfilerAgent::stop):
446         (WebCore::InspectorProfilerAgent::enabled):
447         ProfilerAgentState::profileHeadersRequested -> m_profileHeadersRequested.
448         Remove other unused states.
449
450         * inspector/InspectorResourceAgent.h:
451         * inspector/InspectorResourceAgent.cpp:
452         (WebCore::InspectorResourceAgent::~InspectorResourceAgent):
453         (WebCore::InspectorResourceAgent::willSendRequest):
454         (WebCore::InspectorResourceAgent::applyUserAgentOverride):
455         (WebCore::InspectorResourceAgent::enable):
456         (WebCore::InspectorResourceAgent::disable):
457         (WebCore::InspectorResourceAgent::setUserAgentOverride):
458         (WebCore::InspectorResourceAgent::setCacheDisabled):
459         (WebCore::InspectorResourceAgent::mainFrameNavigated):
460         (WebCore::InspectorResourceAgent::InspectorResourceAgent):
461         ResourceAgentState::resourceAgentEnabled -> m_enabled.
462         ResourceAgentState::cacheDisabled -> m_cacheDisabled.
463         ResourceAgentState::userAgentOverride -> m_userAgentOverride (this already existed and was unused).
464
465         * inspector/InspectorTimelineAgent.h:
466         * inspector/InspectorTimelineAgent.cpp:
467         (WebCore::InspectorTimelineAgent::start):
468         (WebCore::InspectorTimelineAgent::stop):
469         (WebCore::InspectorTimelineAgent::setDOMCounters):
470         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
471         TimelineAgentState::timelineAgentEnabled -> m_enabled.
472         TimelineAgentState::includeDomCounters -> m_includeDOMCounters.
473         Remove other unused states.
474
475         * inspector/InspectorWorkerAgent.h:
476         * inspector/InspectorWorkerAgent.cpp:
477         (WebCore::InspectorWorkerAgent::InspectorWorkerAgent):
478         (WebCore::InspectorWorkerAgent::clearFrontend):
479         (WebCore::InspectorWorkerAgent::enable):
480         (WebCore::InspectorWorkerAgent::disable):
481         (WebCore::InspectorWorkerAgent::setAutoconnectToWorkers):
482         (WebCore::InspectorWorkerAgent::shouldPauseDedicatedWorkerOnStart):
483         (WebCore::InspectorWorkerAgent::didStartWorkerGlobalScope):
484         (WebCore::InspectorWorkerAgent::createWorkerFrontendChannel):
485         WorkerAgentState::workerInspectionEnabled -> m_enabled.
486         WorkerAgentState::autoconnectToWorkers -> m_shouldPauseDedicatedWorkerOnStart.
487
488         * inspector/PageRuntimeAgent.cpp:
489         (WebCore::PageRuntimeAgent::enable):
490         (WebCore::PageRuntimeAgent::disable):
491         Remove unused state, not read.
492
493 2013-10-30  Ryosuke Niwa  <rniwa@webkit.org>
494
495         Remove code for Mac Lion
496         https://bugs.webkit.org/show_bug.cgi?id=123542
497
498         Reviewed by Anders Carlsson.
499
500         Removed the code for Mac OS X 10.7.
501
502         * platform/graphics/ImageBuffer.h:
503         * platform/graphics/cg/ImageBufferCG.cpp:
504         (WebCore::ImageBuffer::ImageBuffer):
505         (WebCore::ImageBuffer::context):
506         (WebCore::ImageBuffer::flushContext):
507         * platform/graphics/cg/ImageBufferDataCG.h:
508         * platform/graphics/cg/ImageSourceCG.cpp:
509         (WebCore::imageSourceOptions):
510         * platform/graphics/mac/ComplexTextControllerCoreText.mm:
511         (WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
512         * platform/mac/ScrollAnimatorMac.mm:
513         (WebCore::scrollAnimationEnabledForSystem):
514         * platform/mac/ScrollElasticityController.mm:
515         (WebCore::reboundDeltaForElasticDelta):
516         * platform/mac/ThemeMac.mm:
517         (WebCore::updateStates):
518         (WebCore::paintCheckbox):
519         (WebCore::paintRadio):
520         (WebCore::paintButton):
521         * platform/mac/WebCoreNSCellExtras.h:
522         * platform/mac/WebCoreNSCellExtras.m:
523         * rendering/RenderThemeMac.mm:
524         (WebCore::RenderThemeMac::paintTextField):
525         (WebCore::RenderThemeMac::paintMenuList):
526         (WebCore::RenderThemeMac::setPopupButtonCellState):
527         (WebCore::RenderThemeMac::textField):
528
529 2013-10-30  Alexey Proskuryakov  <ap@apple.com>
530
531         85 inspector tests asserting in DrawingAreaProxyImpl::updateAcceleratedCompositingMode()
532         when there is a stale WebKitTestRunner preference
533         https://bugs.webkit.org/show_bug.cgi?id=115115
534
535         Reviewed by Darin Adler.
536
537         * page/Settings.cpp:
538         (WebCore::Settings::setMockScrollbarsEnabled):
539         (WebCore::Settings::setUsesOverlayScrollbars):
540         Added FIXMEs.
541
542 2013-10-30  Andreas Kling  <akling@apple.com>
543
544         Take line boxes out of the arena.
545         <https://webkit.org/b/123533>
546
547         Stop arena-allocating line boxes so we can move forward on improving
548         render tree memory management. This will also allow more rendering
549         code to take advantage of malloc optimizations.
550
551         This will likely regress performance on some micro-benchmarks, but
552         it's something we want to do sooner rather than later so we have time
553         to restabilize it. All improvements to the simple line layout's
554         coverage will help with recouping whatever is regressed.
555
556         BiDi runs are the only remaining user of the arena now.
557
558         Reviewed by Antti Koivisto
559
560 2013-10-30  Joseph Pecoraro  <pecoraro@apple.com>
561
562         Web Inspector: Remove InspectorAgent::restore functionality
563         https://bugs.webkit.org/show_bug.cgi?id=123525
564
565         Reviewed by Timothy Hatcher.
566
567         Remove unused InspectorAgent restore functionality.
568
569         * inspector/InspectorApplicationCacheAgent.cpp:
570         * inspector/InspectorApplicationCacheAgent.h:
571         * inspector/InspectorBaseAgent.cpp:
572         * inspector/InspectorBaseAgent.h:
573         * inspector/InspectorCSSAgent.cpp:
574         * inspector/InspectorCSSAgent.h:
575         * inspector/InspectorCanvasAgent.cpp:
576         * inspector/InspectorCanvasAgent.h:
577         * inspector/InspectorConsoleAgent.cpp:
578         * inspector/InspectorConsoleAgent.h:
579         * inspector/InspectorController.cpp:
580         * inspector/InspectorController.h:
581         * inspector/InspectorDOMAgent.cpp:
582         * inspector/InspectorDOMAgent.h:
583         * inspector/InspectorDatabaseAgent.cpp:
584         * inspector/InspectorDatabaseAgent.h:
585         * inspector/InspectorDebuggerAgent.cpp:
586         * inspector/InspectorDebuggerAgent.h:
587         * inspector/InspectorHeapProfilerAgent.cpp:
588         * inspector/InspectorHeapProfilerAgent.h:
589         * inspector/InspectorIndexedDBAgent.cpp:
590         * inspector/InspectorIndexedDBAgent.h:
591         * inspector/InspectorLayerTreeAgent.cpp:
592         * inspector/InspectorLayerTreeAgent.h:
593         * inspector/InspectorPageAgent.cpp:
594         * inspector/InspectorPageAgent.h:
595         * inspector/InspectorProfilerAgent.cpp:
596         * inspector/InspectorProfilerAgent.h:
597         * inspector/InspectorResourceAgent.cpp:
598         * inspector/InspectorResourceAgent.h:
599         * inspector/InspectorTimelineAgent.cpp:
600         * inspector/InspectorTimelineAgent.h:
601         * inspector/InspectorWorkerAgent.cpp:
602         * inspector/InspectorWorkerAgent.h:
603         * inspector/PageRuntimeAgent.cpp:
604         * inspector/PageRuntimeAgent.h:
605         * inspector/WorkerInspectorController.cpp:
606         * inspector/WorkerInspectorController.h:
607
608 2013-10-30  Jer Noble  <jer.noble@apple.com>
609
610         REGRESSION(r158288): media/media-can-play-mpeg4-video.html fails
611         https://bugs.webkit.org/show_bug.cgi?id=123530
612
613         Reviewed by Eric Carlson.
614
615         Lower case the mime type before passing it along to MediaPlayer.
616
617         * html/HTMLMediaElement.cpp:
618         (WebCore::HTMLMediaElement::canPlayType):
619         (WebCore::HTMLMediaElement::selectNextSourceChild):
620
621 2013-10-30  Alexey Proskuryakov  <ap@apple.com>
622
623         Add a way to fulfill promises from DOM code
624         https://bugs.webkit.org/show_bug.cgi?id=123466
625
626         Reviewed by Sam Weinig.
627
628         This is not perfect, as it strongly ties DOM code to JavaScript. In the future, we
629         can make it better e.g. by subclassing, so that only a base interface would be exposed.
630
631         * GNUmakefile.list.am:
632         * WebCore.vcxproj/WebCore.vcxproj:
633         * WebCore.vcxproj/WebCore.vcxproj.filters:
634         * bindings/js/JSBindingsAllInOne.cpp:
635         * WebCore.xcodeproj/project.pbxproj:
636         Added JSDOMPromise.
637
638         * bindings/js/JSDOMPromise.cpp: Added.
639
640         * bindings/js/JSDOMPromise.h: Added.
641         (WebCore::PromiseWrapper::create):
642         (WebCore::PromiseWrapper::fulfill): A random set of specializations that I needed
643         in WebCrypto code so far.
644         (WebCore::PromiseWrapper::reject): Ditto.
645
646 2013-10-30  Santosh Mahto  <santosh.ma@samsung.com>
647
648         contentEditable deleting lists when list items are block level
649         https://bugs.webkit.org/show_bug.cgi?id=122602
650
651         Reviewed by Ryosuke Niwa.
652
653         When listitems are styled with display:block/float then inserting paragraph
654         twice at end of listitem delete entire list. Generally when listitem is empty
655         then we delete the listitem on inserting paragraph. In this issue, on inserting
656         first paragraph one empty listitem is created, and on inserting second paragraph
657         we try to delete that empty listitem. but it misbehave becasue of incomplete 
658         definition of htmlediting::isLisItem() and entire list is deleted.
659
660         htmlediting::isListItem() check only render object to decide whether it is 
661         list or not, so if any LI element is block level then isListItem return false.
662         Now after this patch if parent of current node is list element then node is
663         treated as listItem.
664
665         Test: editing/execCommand/hit-enter-twice-atendof-block-styled-listitem.html
666
667         * editing/htmlediting.cpp:
668         (WebCore::isListItem): Modified condition to check if parent node is list;
669
670 2013-10-30  Jer Noble  <jer.noble@apple.com>
671
672         Unreviewed EFL build fix; give MediaEngineSupportParameters struct a default constructor.
673
674         * Modules/mediasource/MediaSource.cpp:
675         (WebCore::MediaSource::isTypeSupported):
676         * dom/DOMImplementation.cpp:
677         (WebCore::DOMImplementation::createDocument):
678         * html/HTMLMediaElement.cpp:
679         (WebCore::HTMLMediaElement::canPlayType):
680         (WebCore::HTMLMediaElement::selectNextSourceChild):
681         * platform/graphics/MediaPlayer.h:
682         (WebCore::MediaEngineSupportParameters::MediaEngineSupportParameters):
683
684 2013-10-30  Andreas Kling  <akling@apple.com>
685
686         Let Page::renderTreeSize() be the number of renderers.
687         <https://webkit.org/b/123518>
688         <rdar://problem/15348679>
689
690         The old metric was "number of bytes allocated in RenderArena" and
691         that was heading towards obsolescence, fast.
692
693         Instead, keep a count of RenderObjects instantiated on RenderView.
694         While a bit ugly, this lets us move forward with rendering memory
695         model improvements without breaking features.
696
697         Reviewed by Beth Dakin.
698
699 2013-10-30  Myles C. Maxfield  <mmaxfield@apple.com>
700
701         WebKit/win/WebKitGraphics.h:void WebDrawText(WebTextRenderInfo*); is never called
702         https://bugs.webkit.org/show_bug.cgi?id=123485
703
704         Reviewed by Brent Fulgham.
705
706         WebDrawText is the only caller of WebCoreDrawTextAtPoint, so we can
707         delete that as well.
708
709         Because there is no behavior difference, no new tests are necessary.
710
711         * platform/win/WebCoreTextRenderer.cpp:
712         * platform/win/WebCoreTextRenderer.h:
713
714 2013-10-30  Csaba Osztrogon√°c  <ossy@webkit.org>
715
716         URTBF after r158289.
717
718         * CMakeLists.txt:
719         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
720         (WebCore::IDBFactoryBackendLevelDB::createCursorBackend):
721
722 2013-10-30  Dong-Gwan Kim  <donggwan.kim@samsung.com>
723
724         Build fails with EGLConfigSelector.cpp when OpenGL ES is not used
725         https://bugs.webkit.org/show_bug.cgi?id=119037
726
727         Reviewed by Brent Fulgham.
728
729         Build fix for EGLConfigSelector.cpp
730
731         No new tests, no behavior change.
732
733         * platform/graphics/surfaces/egl/EGLConfigSelector.cpp:
734         (WebCore::EGLConfigSelector::createConfig):
735
736 2013-10-30  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
737
738         Explicitly initialize base class in MediStreamTrackPrivate copy constructor
739         https://bugs.webkit.org/show_bug.cgi?id=123473
740
741         Reviewed by Eric Carlson.
742
743         No new tests needed.
744
745         Ports that enable -Werror=extra must do that to compile.
746
747         * platform/mediastream/MediaStreamTrackPrivate.cpp:
748         (WebCore::MediaStreamTrackPrivate::MediaStreamTrackPrivate):
749
750 2013-10-30  Ryosuke Niwa  <rniwa@webkit.org>
751
752         Mac build fix after r158291.
753
754         * html/HTMLMediaElement.cpp:
755         (WebCore::HTMLMediaElement::canPlayType):
756
757 2013-10-30  Commit Queue  <commit-queue@webkit.org>
758
759         Unreviewed, rolling out r158243.
760         http://trac.webkit.org/changeset/158243
761         https://bugs.webkit.org/show_bug.cgi?id=123520
762
763         Change was wrong (Requested by smfr on #webkit).
764
765         * platform/graphics/GraphicsContext.h:
766         * platform/graphics/blackberry/PathBlackBerry.cpp:
767         (WebCore::GraphicsContext::drawLineForText):
768         * platform/graphics/cairo/GraphicsContextCairo.cpp:
769         (WebCore::GraphicsContext::drawLineForText):
770         * platform/graphics/cg/GraphicsContextCG.cpp:
771         (WebCore::GraphicsContext::drawLineForText):
772         * platform/graphics/wince/GraphicsContextWinCE.cpp:
773         (WebCore::GraphicsContext::drawLineForText):
774         * platform/win/WebCoreTextRenderer.cpp:
775         (WebCore::doDrawTextAtPoint):
776         * rendering/InlineTextBox.cpp:
777         (WebCore::InlineTextBox::paintDecoration):
778         (WebCore::InlineTextBox::paintCompositionUnderline):
779
780 2013-10-30  peavo@outlook.com  <peavo@outlook.com>
781
782         Favicons are flipped in vertical direction in WinCairo builds.
783         https://bugs.webkit.org/show_bug.cgi?id=102077
784
785         Reviewed by Brent Fulgham.
786
787         * platform/graphics/win/ImageCairoWin.cpp:
788         (WebCore::BitmapImage::getHBITMAPOfSize):
789
790 2013-10-30  Jer Noble  <jer.noble@apple.com>
791
792         [MSE] Add MediaSource compatable loading functions to MediaPlayer
793         https://bugs.webkit.org/show_bug.cgi?id=123353
794
795         Reviewed by Eric Carlson.
796
797         Add methods to MediaPlayer to allow it to select the correct MediaPlayerFactory
798         when attempting to load a MediaSource URL.
799
800         * Modules/mediasource/MediaSource.cpp:
801         (WebCore::MediaSource::addSourceBuffer):
802         (WebCore::MediaSource::isTypeSupported):
803         * html/HTMLMediaElement.cpp:
804         (WebCore::HTMLMediaElement::loadResource):
805         (WebCore::HTMLMediaElement::canPlayType):
806         (WebCore::HTMLMediaElement::selectNextSourceChild):
807         * platform/graphics/MediaPlayer.cpp:
808         (WebCore::MediaPlayer::load):
809         (WebCore::MediaPlayer::supportsType):
810         * platform/graphics/MediaPlayer.h:
811         * dom/DOMImplementation.cpp:
812         (WebCore::DOMImplementation::createDocument):
813
814         Remove the isSupportedMediaSourceMIMEType() method:
815         * platform/MIMETypeRegistry.h:
816         * platform/efl/MIMETypeRegistryEfl.cpp:
817         * platform/mac/MIMETypeRegistryMac.mm:
818
819
820 2013-10-30  Brady Eidson  <beidson@apple.com>
821
822         IDBCursorBackendLevelDB should be made cross-platform
823         https://bugs.webkit.org/show_bug.cgi?id=123513
824
825         Rubberstamped by Andreas Kling.
826
827         Because of all the already-done refactoring, this is basically a file-move and global rename.
828
829         * CMakeLists.txt:
830         * GNUmakefile.list.am:
831         * WebCore.xcodeproj/project.pbxproj:
832         * WebCore.vcxproj/WebCore.vcxproj:
833
834         * Modules/indexeddb/IDBCursorBackendImpl.cpp: Renamed from Source/WebCore/Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp.
835         * Modules/indexeddb/IDBCursorBackendImpl.h: Renamed from Source/WebCore/Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h.
836
837         * Modules/indexeddb/IDBCursorBackendInterface.h:
838
839         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
840
841 2013-10-29  Jer Noble  <jer.noble@apple.com>
842
843         [MSE] Remove legacy Media Source APIs (WebKitMediaSource, WebKitSourceBuffer, WebKitSourceBufferList)
844         https://bugs.webkit.org/show_bug.cgi?id=123463
845
846         Reviewed by Eric Carlson.
847
848         No new tests; updated test results.
849
850         Remove all reference to WebKitMediaSource, WebKitSourceBuffer, and WebKitSourceBufferList.
851
852         * CMakeLists.txt:
853         * DerivedSources.cpp:
854         * DerivedSources.make:
855         * GNUmakefile.list.am:
856         * Modules/mediasource/DOMURLMediaSource.idl:
857         * Modules/mediasource/WebKitMediaSource.cpp: Removed.
858         * Modules/mediasource/WebKitMediaSource.h: Removed.
859         * Modules/mediasource/WebKitMediaSource.idl: Removed.
860         * Modules/mediasource/WebKitSourceBuffer.cpp: Removed.
861         * Modules/mediasource/WebKitSourceBuffer.h: Removed.
862         * Modules/mediasource/WebKitSourceBuffer.idl: Removed.
863         * Modules/mediasource/WebKitSourceBufferList.cpp: Removed.
864         * Modules/mediasource/WebKitSourceBufferList.h: Removed.
865         * Modules/mediasource/WebKitSourceBufferList.idl: Removed.
866         * WebCore.xcodeproj/project.pbxproj:
867         * dom/EventTargetFactory.in:
868
869 2013-10-30  Antti Koivisto  <antti@apple.com>
870
871         Unbreak the release build.
872
873         * rendering/SimpleLineLayoutFunctions.cpp:
874
875 2013-10-30  Liangjun Zeng  <lizeng@blackberry.com>
876
877         Fix memory leaks in platform/image-encoders/JPEGImageEncoder.cpp
878         https://bugs.webkit.org/show_bug.cgi?id=118781
879
880         Reviewed by Brent Fulgham.
881
882         We can find the function "jpeg_finish_compress" call the function "jpeg_abort" at the end.
883         And the comments of "jpeg_abort" is "Abort processing of a JPEG compression operation,
884         but don't destroy the object itself". (We can find these in the "jcapimin.c" of jpeg)
885         So the compression object destroy need be called.
886         No new tests because this doesn't change functionality.
887
888         * platform/image-encoders/JPEGImageEncoder.cpp:
889         (WebCore::compressRGBABigEndianToJPEG):
890
891 2013-10-30  Antti Koivisto  <antti@apple.com>
892
893         Add debug settings for simple line layout
894         https://bugs.webkit.org/show_bug.cgi?id=123514
895
896         Reviewed by Andreas Kling.
897
898         * WebCore.exp.in:
899         * page/Settings.in:
900         
901             Add simpleLineLayoutEnabled and simpleLineLayoutDebugBordersEnabled.
902
903         * rendering/SimpleLineLayout.cpp:
904         (WebCore::SimpleLineLayout::canUseFor):
905         * rendering/SimpleLineLayoutFunctions.cpp:
906         (WebCore::SimpleLineLayout::paintDebugBorders):
907         (WebCore::SimpleLineLayout::paintFlow):
908
909 2013-10-30  peavo@outlook.com  <peavo@outlook.com>
910
911         [Curl] Cookies are sometimes not set in download request.
912         https://bugs.webkit.org/show_bug.cgi?id=123445
913
914         Reviewed by Brent Fulgham.
915
916         Sometimes cookies are not set in the download request because the cookie file cannot be opened,
917         it's already been opened by the ResourceHandleManager for writing.
918         This can be fixed by getting the cookie list from the share handle in ResourceHandleManager instead.
919         This will also improve performance, as there is no need to read and parse the cookie file for each download.
920
921         * platform/network/curl/CurlDownload.cpp:
922         (WebCore::CurlDownload::init): Use share handle to get cookie list.
923
924 2013-10-30  ChangSeok Oh  <changseok.oh@collabora.com>
925
926         Unguard Element::childShouldCreateRenderer
927         https://bugs.webkit.org/show_bug.cgi?id=123496
928
929         Reviewed by Andreas Kling.
930
931         Make Element::childShouldCreateRenderer normally accessible. Guarding it with flags
932         just leaves potential build issues.
933
934         No new tests since no functionality changed.
935
936         * dom/Element.cpp:
937         (WebCore::Element::childShouldCreateRenderer):
938         * dom/Element.h:
939
940 2013-10-30  Jer Noble  <jer.noble@apple.com>
941
942         [MSE] Make MediaSourcePrivate, SourceBufferPrivate classes RefCounted.
943         https://bugs.webkit.org/show_bug.cgi?id=123350
944
945         Reviewed by Darin Adler.
946
947         Make the MediaSourcePrivate and SourceBufferPrivate classes RefCounted so that
948         they can be referenced both by MediaSource/SourceBuffer, and by the MediaPlayerPrivate
949         which creates them.
950
951         Change OwnPtr -> RefPtr everywhere:
952         * Modules/mediasource/MediaSource.cpp:
953         (WebCore::MediaSource::addSourceBuffer):
954         * Modules/mediasource/MediaSourceBase.cpp:
955         (WebCore::MediaSourceBase::setPrivateAndOpen):
956         (WebCore::MediaSourceBase::createSourceBufferPrivate):
957         * Modules/mediasource/MediaSourceBase.h:
958         * Modules/mediasource/SourceBuffer.cpp:
959         (WebCore::SourceBuffer::create):
960         (WebCore::SourceBuffer::SourceBuffer):
961         * Modules/mediasource/SourceBuffer.h:
962         * Modules/mediasource/WebKitMediaSource.cpp:
963         (WebCore::WebKitMediaSource::addSourceBuffer):
964         * Modules/mediasource/WebKitSourceBuffer.cpp:
965         (WebCore::WebKitSourceBuffer::create):
966         (WebCore::WebKitSourceBuffer::WebKitSourceBuffer):
967         * Modules/mediasource/WebKitSourceBuffer.h:
968         * html/HTMLMediaSource.h:
969         * platform/graphics/MediaSourcePrivate.h:
970         * platform/graphics/SourceBufferPrivate.h:
971         (WebCore::SourceBufferPrivate::SourceBufferPrivate):
972
973 2013-10-30  Allan Sandfeld Jensen  <allan.jensen@digia.com>
974
975         Remove unused runtime enabled
976         https://bugs.webkit.org/show_bug.cgi?id=123509
977
978         Reviewed by Anders Carlsson.
979
980         Some of the runtime enabled features were only ever used by the V8 bindings
981         and can be removed as no WebKit code sets or reads them.
982
983         * bindings/generic/RuntimeEnabledFeatures.cpp:
984         (WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures):
985         * bindings/generic/RuntimeEnabledFeatures.h:
986
987 2013-10-30  Antti Koivisto  <antti@apple.com>
988
989         Make SimpleLineLayout::Layout a class
990         https://bugs.webkit.org/show_bug.cgi?id=123508
991
992         Reviewed by Mario Sanchez Prada.
993
994         Improve encapsulation.
995
996 2013-10-30  Antti Koivisto  <antti@apple.com>
997
998         REGRESSION(r158214): It made zillion tests crash on GTK and EFL
999         https://bugs.webkit.org/show_bug.cgi?id=123505
1000
1001         * rendering/SimpleLineLayout.h: Add WTF_MAKE_FAST_ALLOCATED
1002
1003 2013-10-29  Philippe Normand  <pnormand@igalia.com>
1004
1005         [GStreamer] Store video-sink in a bin
1006         https://bugs.webkit.org/show_bug.cgi?id=122831
1007
1008         Reviewed by Gustavo Noronha Silva.
1009
1010         For the upcoming mediastream playback support the player will
1011         handle a non-playbin-based pipeline that will require a slightly
1012         different video rendering chain. This patch generalizes the
1013         encapsulation of the video sink in a bin, just like the audio sink
1014         case.
1015
1016         No new tests, no change in functionality.
1017
1018 2013-10-29  Ryosuke Niwa  <rniwa@webkit.org>
1019
1020         REGRESSION(r154614): Opening and closing a picture on Facebook resets scroll position
1021         https://bugs.webkit.org/show_bug.cgi?id=122882
1022
1023         Reviewed by Anders Carlsson.
1024
1025         scrollLeft and scrollTop have to continue to function in the strict mode for the Web compatiblity.
1026         In particular, www.facebook.com and build.webkit.org depend on this behavior as of October 29th, 2013.
1027
1028         * html/HTMLBodyElement.cpp:
1029         (WebCore::HTMLBodyElement::scrollLeft):
1030         (WebCore::HTMLBodyElement::setScrollLeft):
1031         (WebCore::HTMLBodyElement::scrollTop):
1032         (WebCore::HTMLBodyElement::setScrollTop):
1033
1034 2013-10-29  Brady Eidson  <beidson@apple.com>
1035
1036         IDBTransactionBackend should be cross platform
1037         https://bugs.webkit.org/show_bug.cgi?id=123449
1038
1039         Reviewed by Beth Dakin.
1040
1041         - Rename IDBTransactionBackendLevelDB to IDBTransactionBackendImpl
1042         - Rename IDBTransactionBackendLevelDBOperations to IDBTransactionBackendOperations
1043         - Move their files from the leveldb subdirectory to the indexeddb directory
1044
1045         * CMakeLists.txt:
1046         * GNUmakefile.list.am:
1047         * WebCore.xcodeproj/project.pbxproj:
1048
1049         * Modules/indexeddb/IDBTransactionBackendImpl.cpp: Renamed from Source/WebCore/Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp.
1050         * Modules/indexeddb/IDBTransactionBackendImpl.h: Renamed from Source/WebCore/Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h.
1051         * Modules/indexeddb/IDBTransactionBackendOperations.cpp: Renamed from Source/WebCore/Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.cpp.
1052         * Modules/indexeddb/IDBTransactionBackendOperations.h: Renamed from Source/WebCore/Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.h.
1053
1054         * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp:
1055         * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h:
1056         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
1057         (WebCore::IDBFactoryBackendLevelDB::maybeCreateTransactionBackend):
1058
1059 2013-10-29  Sam Weinig  <sam@webkit.org>
1060
1061         Modernize DatasetDOMStringMap and ClassList a bit
1062         https://bugs.webkit.org/show_bug.cgi?id=123491
1063
1064         Reviewed by Andreas Kling.
1065
1066         * dom/DatasetDOMStringMap.cpp:
1067         * dom/DatasetDOMStringMap.h:
1068         * dom/Element.cpp:
1069         * dom/ElementRareData.h:
1070         * html/ClassList.cpp:
1071         * html/ClassList.h:
1072         Pass the owner Element by reference and store in a std::unique_ptr.
1073
1074 2013-10-29  Brady Eidson  <beidson@apple.com>
1075
1076         Attempted build-fix after http://trac.webkit.org/changeset/158234
1077
1078         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
1079         (WebCore::IDBBackingStoreLevelDB::createBackingStoreTransaction): Implement this!
1080
1081 2013-10-29  Andreas Kling  <akling@apple.com>
1082
1083         ElementData construction helpers should return PassRef.
1084         <https://webkit.org/b/123487>
1085
1086         Make functions that create new ElementData objects return appropriate
1087         PassRef pointers instead of PassRefPtr.
1088
1089         Reviewed by Anders Carlsson.
1090
1091 2013-10-29  Ryosuke Niwa  <rniwa@webkit.org>
1092
1093         GTK+ build fix attempt after r158220.
1094
1095         * GNUmakefile.list.am:
1096
1097 2013-10-29  Brady Eidson  <beidson@apple.com>
1098
1099         Move IDBTransactionBackendLevelDB to generic IDBBackingStoreInterface
1100         https://bugs.webkit.org/show_bug.cgi?id=123483
1101
1102         Reviewed by Andreas Kling.
1103
1104         * Modules/indexeddb/IDBCursorBackendInterface.h:
1105         * Modules/indexeddb/IDBDatabaseBackendImpl.h:
1106         * Modules/indexeddb/IDBDatabaseBackendInterface.h:
1107         * Modules/indexeddb/IDBFactoryBackendInterface.h:
1108         * Modules/indexeddb/IDBTransactionBackendInterface.h:
1109
1110         * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp:
1111         (WebCore::IDBCursorBackendLevelDB::IDBCursorBackendLevelDB):
1112         * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h:
1113         (WebCore::IDBCursorBackendLevelDB::create):
1114
1115         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
1116         (WebCore::IDBFactoryBackendLevelDB::createCursorBackend):
1117         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
1118
1119         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp:
1120         (WebCore::IDBTransactionBackendLevelDB::registerOpenCursor):
1121         (WebCore::IDBTransactionBackendLevelDB::unregisterOpenCursor):
1122         (WebCore::IDBTransactionBackendLevelDB::closeOpenCursors):
1123         (WebCore::IDBTransactionBackendLevelDB::createCursorBackend):
1124         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:
1125
1126         * WebCore.xcodeproj/project.pbxproj: Export a required header.
1127
1128 2013-10-29  Seokju Kwon  <seokju@webkit.org>
1129
1130         Remove mutable keyword from member variables of XMLHttpRequest
1131         https://bugs.webkit.org/show_bug.cgi?id=123481
1132
1133         Reviewed by Andreas Kling.
1134
1135         No new tests, no change in functionality.
1136
1137         * xml/XMLHttpRequest.h: Remove mutable keyword as these are no longer used in const functions.
1138
1139 2013-10-29  Myles C. Maxfield  <mmaxfield@apple.com>
1140
1141         Underline bounds cannot be queried before underline itself is drawn
1142         https://bugs.webkit.org/show_bug.cgi?id=123310
1143
1144         Reviewed by Simon Fraser
1145
1146         GraphicsContext's drawLineForText function is used to draw underlines,
1147         strikethroughs, and overlines. Before drawing the line, this function
1148         modifies the bounds given to it in order to make underlines crisp. However,  
1149         this means that it is impossible to know where an underline will be drawn
1150         before drawing it. This patch pulls out this adjustment computation into 
1151         InlineTextBox, then passes the result to drawLineForText.
1152
1153         Because there should be no observable difference, no tests need to be updated.
1154
1155         * platform/graphics/GraphicsContext.h: Changing the signature of drawLineForText
1156         so it can accept bounds from our helper function
1157         * platform/graphics/blackberry/PathBlackBerry.cpp:
1158         (WebCore::GraphicsContext::drawLineForText): Update to work with new
1159         signature of drawLineForText
1160         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1161         (WebCore::GraphicsContext::drawLineForText): Ditto
1162         * platform/graphics/cg/GraphicsContextCG.cpp:
1163         (WebCore::GraphicsContext::drawLineForText): Ditto
1164         * platform/graphics/wince/GraphicsContextWinCE.cpp:
1165         (WebCore::GraphicsContext::drawLineForText): Ditto
1166         * platform/win/WebCoreTextRenderer.cpp:
1167         (WebCore::doDrawTextAtPoint): Update the last call site of drawLineForText
1168         * rendering/InlineTextBox.cpp:
1169         (WebCore::computeBoundsForUnderline): Pure function that computes the adjusted
1170         bounds of the underline about to be drawn
1171         (WebCore::drawLineForText): calls computeBoundsForUnderline and then
1172         GraphicsContext::drawLineForText
1173         (WebCore::InlineTextBox::paintDecoration): Use new drawLineForText function
1174         (WebCore::InlineTextBox::paintCompositionUnderline): Ditto
1175
1176 2013-10-29  Alexey Proskuryakov  <ap@apple.com>
1177
1178         Beef up CryptoKey
1179         https://bugs.webkit.org/show_bug.cgi?id=123462
1180
1181         Fix a mismerge, remove duplicate CryptoKeyType declaration.
1182
1183         * crypto/CryptoKey.h:
1184
1185 2013-10-29  Alexey Proskuryakov  <ap@apple.com>
1186
1187         Beef up CryptoKey
1188         https://bugs.webkit.org/show_bug.cgi?id=123462
1189
1190         Reviewed by Sam Weinig.
1191
1192         * WebCore.xcodeproj/project.pbxproj: Added new files.
1193
1194         * crypto/CryptoAlgorithmIdentifier.h: Added an enum with all registered algorithms
1195         (they don't have to be all implemented in any port).
1196
1197         * crypto/CryptoKey.cpp:
1198         (WebCore::CryptoKey::CryptoKey): Initialize base class variables.
1199         (WebCore::CryptoKey::type): Convert internal representation for bindings use.
1200         (WebCore::CryptoKey::buildAlgorithmDescription): Ditto. This function is supposed
1201         to be called by derived classes before adding other keyes.
1202         (WebCore::CryptoKey::usages): Convert internal representation for bindings use.
1203
1204         * crypto/CryptoKey.h:
1205         (WebCore::CryptoKey::extractable): Expose for bindings.
1206         (WebCore::CryptoKey::allows): A faster way to check allowed key usage from C++ code.
1207
1208         * crypto/CryptoKey.idl: Added SkipVTableValidation, because validation doesn't work
1209         with derived classes. Corrected "usages" attribute name.
1210
1211         * crypto/CryptoKeyFormat.h: Added. 
1212         * crypto/CryptoKeyType.h: Added.
1213         * crypto/CryptoKeyUsage.h: Added.
1214         Added enums used by CryptoKey.
1215
1216 2013-10-29  Hugo Parente Lima  <hugo.lima@openbossa.org>
1217
1218         Adding Nix files in Source/Platform to trunk
1219         https://bugs.webkit.org/show_bug.cgi?id=118331
1220
1221         Reviewed by Benjamin Poulain.
1222
1223         Add Nix WebAudio implementation that just forward some calls to our API.
1224         This patch is part of the upstream process, tests will be landed by other patches.
1225
1226         * platform/audio/nix/AudioBusNix.cpp: Added.
1227         * platform/audio/nix/AudioDestinationNix.cpp: Added.
1228         * platform/audio/nix/AudioDestinationNix.h: Added.
1229         * platform/audio/nix/FFTFrameNix.cpp: Added.
1230         * platform/nix/support/MultiChannelPCMData.cpp: Added.
1231
1232 2013-10-29  Brady Eidson  <beidson@apple.com>
1233
1234         Move IDBTransactionBackendLevelDB to generic IDBBackingStoreInterface::Transaction.
1235         https://bugs.webkit.org/show_bug.cgi?id=123475
1236
1237         Reviewed by Tim Horton.
1238
1239         Currently it's using IDBBackingStoreLevelDB::Transaction, which hinders the goal of:
1240         https://bugs.webkit.org/show_bug.cgi?id=123449 - IDBTransactionBackend should be cross platform
1241
1242         * Modules/indexeddb/IDBBackingStoreInterface.h:
1243
1244         * Modules/indexeddb/IDBIndexWriter.cpp:
1245         (WebCore::IDBIndexWriter::writeIndexKeys):
1246         (WebCore::IDBIndexWriter::verifyIndexKeys):
1247         (WebCore::IDBIndexWriter::addingKeyAllowed):
1248         * Modules/indexeddb/IDBIndexWriter.h:
1249
1250         * Modules/indexeddb/IDBTransactionBackendInterface.h:
1251
1252         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
1253         (WebCore::IDBBackingStoreLevelDB::updateIDBDatabaseIntVersion):
1254         (WebCore::IDBBackingStoreLevelDB::updateIDBDatabaseMetaData):
1255         (WebCore::IDBBackingStoreLevelDB::createObjectStore):
1256         (WebCore::IDBBackingStoreLevelDB::deleteObjectStore):
1257         (WebCore::IDBBackingStoreLevelDB::getRecord):
1258         (WebCore::IDBBackingStoreLevelDB::putRecord):
1259         (WebCore::IDBBackingStoreLevelDB::clearObjectStore):
1260         (WebCore::IDBBackingStoreLevelDB::deleteRecord):
1261         (WebCore::IDBBackingStoreLevelDB::getKeyGeneratorCurrentNumber):
1262         (WebCore::IDBBackingStoreLevelDB::maybeUpdateKeyGeneratorCurrentNumber):
1263         (WebCore::IDBBackingStoreLevelDB::keyExistsInObjectStore):
1264         (WebCore::IDBBackingStoreLevelDB::createIndex):
1265         (WebCore::IDBBackingStoreLevelDB::deleteIndex):
1266         (WebCore::IDBBackingStoreLevelDB::putIndexDataForRecord):
1267         (WebCore::IDBBackingStoreLevelDB::findKeyInIndex):
1268         (WebCore::IDBBackingStoreLevelDB::getPrimaryKeyViaIndex):
1269         (WebCore::IDBBackingStoreLevelDB::keyExistsInIndex):
1270         (WebCore::IDBBackingStoreLevelDB::openObjectStoreCursor):
1271         (WebCore::IDBBackingStoreLevelDB::openObjectStoreKeyCursor):
1272         (WebCore::IDBBackingStoreLevelDB::openIndexKeyCursor):
1273         (WebCore::IDBBackingStoreLevelDB::openIndexCursor):
1274         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
1275
1276         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp:
1277         (WebCore::IDBTransactionBackendLevelDB::IDBTransactionBackendLevelDB):
1278         (WebCore::IDBTransactionBackendLevelDB::abort):
1279         (WebCore::IDBTransactionBackendLevelDB::commit):
1280         (WebCore::IDBTransactionBackendLevelDB::taskTimerFired):
1281         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:
1282
1283 2013-10-29  Dean Jackson  <dino@apple.com>
1284
1285         Move InlineTextBox's text painting to it's own class
1286         https://bugs.webkit.org/show_bug.cgi?id=123355
1287
1288         Reinstate the LGPL license. I incorrectly told Myles to
1289         use another license on these new files.
1290
1291         * rendering/TextPainter.cpp:
1292         * rendering/TextPainter.h:
1293
1294 2013-10-29  Myles C. Maxfield  <mmaxfield@apple.com>
1295
1296         Move InlineTextBox's text painting to it's own class
1297         https://bugs.webkit.org/show_bug.cgi?id=123355
1298
1299         Reviewed by Dean Jackson.
1300
1301         Implementing text-decoration-skip: ink requires drawing text
1302         twice (once regularly, and once with a thick outline into a mask).
1303         This patch pulls out the relevant text drawing code from
1304         InlineTextBox into a new class, called TextPainter, which can be re-used
1305         to draw text multiple times.
1306
1307         Because there should be no observable difference, no tests need to be updated.
1308
1309         * CMakeLists.txt: Adding new TextPainter class
1310         * GNUmakefile.list.am: Adding new TextPainter class
1311         * WebCore.vcxproj/WebCore.vcxproj: Adding new TextPainter class
1312         * WebCore.vcxproj/WebCore.vcxproj.filters: Adding new TextPainter
1313         class
1314         * WebCore.xcodeproj/project.pbxproj: Adding new TextPainter class
1315         * rendering/InlineTextBox.cpp:
1316         (WebCore::InlineTextBox::paint): Moving text drawing code from
1317         this function
1318         * rendering/RenderingAllInOne.cpp: Adding new TextPainter class
1319         * rendering/TextPainter.cpp: Added.
1320         (WebCore::TextPainter::TextPainter):
1321         (WebCore::drawTextOrEmphasisMarks):
1322         (WebCore::paintTextWithShadows):
1323         (WebCore::rotation):
1324         (WebCore::TextPainter::paintText): New location for text drawing
1325         code
1326         (WebCore::TextPainter::paintTextInContext):
1327         * rendering/TextPainter.h: Added.
1328         (WebCore::SavedDrawingStateForMask::SavedDrawingStateForMask):
1329         (WebCore::TextPainter::boxRect):
1330
1331 2013-10-29  Jer Noble  <jer.noble@apple.com>
1332
1333         [MSE] [Mac] Enable MediaSource on the Mac
1334         https://bugs.webkit.org/show_bug.cgi?id=122484
1335
1336         Reviewed by Darin Adler.
1337
1338         Enable ENABLE_MEDIA_SOURCE.
1339
1340         * Configurations/FeatureDefines.xcconfig:
1341
1342 2013-10-29  Tim Horton  <timothy_horton@apple.com>
1343
1344         Build fix after 158223; make TileController use float for scales.
1345
1346         This matches what we do in other places, and fixes the constant
1347         issue with exporting symbols that include CGFloat.
1348
1349         * WebCore.exp.in:
1350         * platform/graphics/ca/mac/TileController.h:
1351         (WebCore::TileController::scale):
1352         * platform/graphics/ca/mac/TileController.mm:
1353         (WebCore::TileController::setScale):
1354
1355 2013-10-29  Antti Koivisto  <antti@apple.com>
1356
1357         Try to keep MSVC happy.
1358
1359         * rendering/SimpleLineLayout.h:
1360         (WebCore::SimpleLineLayout::Run::Run):
1361
1362 2013-10-29  Tim Horton  <timothy_horton@apple.com>
1363
1364         More correct build fix after 158223.
1365
1366         Only fails in release because it's inline.
1367
1368         * WebCore.exp.in:
1369
1370 2013-10-29  Antti Koivisto  <antti@apple.com>
1371
1372         Use left/right instead of left/width for simple text runs
1373         https://bugs.webkit.org/show_bug.cgi?id=123465
1374
1375         Reviewed by Andreas Kling.
1376
1377         This simplifies the code a bit.
1378
1379         * rendering/SimpleLineLayout.cpp:
1380         (WebCore::SimpleLineLayout::adjustRunOffsets):
1381         (WebCore::SimpleLineLayout::create):
1382         * rendering/SimpleLineLayout.h:
1383         (WebCore::SimpleLineLayout::Run::Run):
1384         * rendering/SimpleLineLayoutResolver.h:
1385         (WebCore::SimpleLineLayout::RunResolver::Run::rect):
1386
1387 2013-10-29  Tim Horton  <timothy_horton@apple.com>
1388
1389         Try fixing the Mac build (though I have no idea why
1390         this wouldn't fail locally)...
1391
1392         * WebCore.exp.in:
1393
1394 2013-10-29  Tim Horton  <timothy_horton@apple.com>
1395
1396         Remote Layer Tree: Support tiled drawing and use it for the main frame
1397         https://bugs.webkit.org/show_bug.cgi?id=123422
1398
1399         Reviewed by Simon Fraser.
1400
1401         * WebCore.exp.in:
1402         * WebCore.xcodeproj/project.pbxproj:
1403
1404 2013-10-29  Eric Carlson  <eric.carlson@apple.com>
1405
1406         [Mac MediaStream] implement AVFoundation backed MediaStreamSource
1407         https://bugs.webkit.org/show_bug.cgi?id=123316
1408
1409         Reviewed by Jer Noble
1410
1411         No new tests, existing tests updated.
1412
1413         * CMakeLists.txt: Add MediaStreamSourceStates.cpp.
1414
1415         * Modules/mediastream/MediaSourceStates.cpp:
1416         (WebCore::MediaSourceStates::MediaSourceStates): m_SourceStates -> m_sourceStates.
1417         (WebCore::MediaSourceStates::sourceType): Ditto.
1418         (WebCore::MediaSourceStates::facingMode): Ditto.
1419         * Modules/mediastream/MediaSourceStates.h: Ditto.
1420         * Modules/mediastream/MediaSourceStates.idl: Mark some attributes as optional.
1421
1422         * Modules/mediastream/MediaStream.cpp:
1423         (WebCore::MediaStream::addTrack):
1424         (WebCore::MediaStream::removeTrack):
1425         (WebCore::MediaStream::addRemoteSource):
1426         (WebCore::MediaStream::removeRemoteSource):
1427
1428         * Modules/mediastream/MediaStreamCapabilities.cpp:
1429         (WebCore::MediaStreamCapabilities::sourceType): MediaSourceStates -> MediaStreamSourceStates
1430         (WebCore::MediaStreamCapabilities::facingMode): Ditto.
1431
1432         * Modules/mediastream/MediaStreamTrack.cpp:
1433         (WebCore::MediaStreamTrack::MediaStreamTrack): Don't observe source changes directly, let the
1434             private track do that. Change private track parameter to ref because it can't be NULL.
1435         (WebCore::MediaStreamTrack::~MediaStreamTrack): Ditto.
1436         (WebCore::MediaStreamTrack::setSource): Pass through to private track.
1437         (WebCore::MediaStreamTrack::stopped): Ditto.
1438         (WebCore::MediaStreamTrack::states): Ditto.
1439         (WebCore::MediaStreamTrack::capabilities): Ditto.
1440         (WebCore::MediaStreamTrack::applyConstraints): Ditto.
1441         (WebCore::MediaStreamTrack::stopProducingData): Ditto.
1442         (WebCore::MediaStreamTrack::trackReadyStateChanged): Renamed from sourceStateChanged. Don't
1443             schedule an 'ended' event if called as a side effect of the stop() method having been
1444             called as per spec.
1445         (WebCore::MediaStreamTrack::trackMutedChanged): Renamed from sourceMutedChanged.
1446         (WebCore::MediaStreamTrack::trackEnabledChanged): Renamed from sourceEnabledChanged.
1447         (WebCore::MediaStreamTrack::stop): Pass through to private track.
1448         * Modules/mediastream/MediaStreamTrack.h:
1449         (WebCore::MediaStreamTrack::Observer::~Observer): Add virtual destructor.
1450
1451         * Modules/mediastream/UserMediaRequest.cpp:
1452         (WebCore::UserMediaRequest::callSuccessHandler): Set track, not source, constraints.
1453
1454         * WebCore.xcodeproj/project.pbxproj: Add new files.
1455
1456         * bindings/js/JSMediaSourceStatesCustom.cpp:
1457         (WebCore::JSMediaSourceStates::facingMode): Return jsUndefined when the facing mode
1458             is Unknown.
1459
1460         * platform/mediastream/MediaStreamCenter.h: Remove unused class forward defines and
1461             undefined method prototype.
1462
1463         * platform/mediastream/MediaStreamDescriptor.cpp:
1464         (WebCore::MediaStreamDescriptor::addSource): ASSERT if source is kind None.
1465         (WebCore::MediaStreamDescriptor::removeSource): Ditto.
1466         (WebCore::MediaStreamDescriptor::MediaStreamDescriptor):
1467
1468         * platform/mediastream/MediaStreamSource.cpp:
1469         (WebCore::MediaStreamSource::setReadyState): Call startProducingData when readyState changes
1470             to Live, stopProducingData when it changes to Ended.
1471         (WebCore::MediaStreamSource::removeObserver): Call stop() when there are no more observers.
1472         (WebCore::MediaStreamSource::setEnabled): If passed false, do nothing unless all observers
1473             are disabled. Call startProducingData/stopProducingData when becoming enabled/disabled.
1474         (WebCore::MediaStreamSource::stop): Don't bother checking to see if other observers have
1475             stopped, the spec says that track.stop() should permanently stop the track's source.
1476         * platform/mediastream/MediaStreamSource.h:
1477         (WebCore::MediaStreamSource::name): Make virtual so derived classes can override.
1478         (WebCore::MediaStreamSource::setName): Ditto.
1479         (WebCore::MediaStreamSource::readyState): Ditto.
1480         (WebCore::MediaStreamSource::enabled): Ditto.
1481         (WebCore::MediaStreamSource::muted): Ditto.
1482         (WebCore::MediaStreamSource::setReadonly): Ditto.
1483         (WebCore::MediaStreamSource::remote): Ditto.
1484         (WebCore::MediaStreamSource::setRemote): Ditto.
1485         (WebCore::MediaStreamSource::startProducingData): Added.
1486         (WebCore::MediaStreamSource::stopProducingData): Added.
1487
1488         * platform/mediastream/MediaStreamSourceCapabilities.h: Move MediaStreamSourceStates to
1489             its own file.
1490
1491         * platform/mediastream/MediaStreamSourceStates.cpp: Added.
1492         (WebCore::MediaStreamSourceStates::facingMode): Moved here from MediaSourceStates so the 
1493             strings are available to platform code.
1494         (WebCore::MediaStreamSourceStates::sourceType): Ditto.
1495         * platform/mediastream/MediaStreamSourceStates.h: Added, moved from MediaStreamSourceCapabilities.h.
1496
1497         * platform/mediastream/MediaStreamTrackPrivate.cpp:
1498         (WebCore::MediaStreamTrackPrivate::create): Pass private track to constructor as PassRefPtr.
1499         (WebCore::MediaStreamTrackPrivate::MediaStreamTrackPrivate): Initialize member variables.
1500         (WebCore::MediaStreamTrackPrivate::~MediaStreamTrackPrivate): Unregister as source observer.
1501         (WebCore::MediaStreamTrackPrivate::setSource): Unregister/register as source observer.
1502         (WebCore::MediaStreamTrackPrivate::setEnabled): Enable/disable source, call client.
1503         (WebCore::MediaStreamTrackPrivate::stop): New. Set readyState to Ended, optionally stop source.
1504         (WebCore::MediaStreamTrackPrivate::setReadyState): Inline the logic from shouldFireTrackReadyStateChanged.
1505         (WebCore::MediaStreamTrackPrivate::constraints): New, passthrough to the source.
1506         (WebCore::MediaStreamTrackPrivate::states): Ditto.
1507         (WebCore::MediaStreamTrackPrivate::type): Ditto.
1508         (WebCore::MediaStreamTrackPrivate::capabilities): Ditto.
1509         (WebCore::MediaStreamTrackPrivate::applyConstraints): Ditto.
1510         (WebCore::MediaStreamTrackPrivate::sourceReadyStateChanged): React to source changes.
1511         (WebCore::MediaStreamTrackPrivate::sourceMutedChanged): Ditto.
1512         (WebCore::MediaStreamTrackPrivate::sourceEnabledChanged): Ditto.
1513         (WebCore::MediaStreamTrackPrivate::observerIsEnabled): Respond to source query.
1514         (WebCore::MediaStreamTrackPrivate::observerIsStopped): Ditto.
1515         * platform/mediastream/MediaStreamTrackPrivate.h:
1516
1517         * platform/mediastream/mac/AVAudioCaptureSource.h: Added.
1518         * platform/mediastream/mac/AVAudioCaptureSource.mm: Added.
1519
1520         * platform/mediastream/mac/AVCaptureDeviceManager.h: Added.
1521         * platform/mediastream/mac/AVCaptureDeviceManager.mm: Added.
1522
1523         * platform/mediastream/mac/AVMediaCaptureSource.h: Added.
1524         * platform/mediastream/mac/AVMediaCaptureSource.mm: Added.
1525
1526         * platform/mediastream/mac/AVVideoCaptureSource.h: Added.
1527         * platform/mediastream/mac/AVVideoCaptureSource.mm: Added.
1528
1529         * platform/mediastream/mac/MediaStreamCenterMac.cpp:
1530         (WebCore::MediaStreamCenterMac::validateRequestConstraints): Implement.
1531         (WebCore::MediaStreamCenterMac::createMediaStream): Ditto.
1532         (WebCore::MediaStreamCenterMac::getMediaStreamTrackSources): Ditto.
1533
1534         * platform/mock/MockMediaStreamCenter.cpp:
1535         (WebCore::initializeMockSources): Update for MediaStreamSourceStates changes.
1536         (WebCore::MockMediaStreamCenter::createMediaStream):
1537
1538 2013-10-29  Zoltan Horvath  <zoltan@webkit.org>
1539
1540         [CSS Regions][CSS Shapes] Layout error when the shape has negative top coordinate and it's applied on the second region
1541         <https://webkit.org/b/123346>
1542
1543         Reviewed by David Hyatt.
1544
1545         We have a layout error when there is a shape applied on the second region, and it has a negative 'top' coordinate.
1546         Since shapeInsideInfo::shapeLogicalTop() can return negative numbers, we need to check for it, when we're positioning
1547         the first line in the region.
1548
1549         Test: fast/regions/shape-inside/shape-inside-on-multiple-regions-with-negative-shape-top.html
1550
1551         * rendering/RenderBlockLineLayout.cpp:
1552         (WebCore::RenderBlockFlow::updateShapeAndSegmentsForCurrentLineInFlowThread):
1553
1554 2013-10-29  Brady Eidson  <beidson@apple.com>
1555
1556         Get IDBTransactionBackendLevelDBOperations *almost* ready to go cross platform.
1557         https://bugs.webkit.org/show_bug.cgi?id=123451
1558
1559         Reviewed by NOBODY (My bad, non-reviewed, non-building code got in there)
1560
1561         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
1562         (WebCore::IDBDatabaseBackendImpl::processPendingCalls): Remove the auto line I was trying from review feedback.
1563
1564 2013-10-29  Brady Eidson  <beidson@apple.com>
1565
1566         Get IDBTransactionBackendLevelDBOperations *almost* ready to go cross platform.
1567         https://bugs.webkit.org/show_bug.cgi?id=123451
1568
1569         Reviewed by Andreas Kling.
1570
1571         This involves:
1572         - Splitting out IDBTransactionBackendLevelDB::Operation into its own header
1573         - Splitting out IDBDatabaseBackendImpl::PendingOpenCall into its own header
1574         - Reworking the LevelDB Operations to handle the base class IDBTransactionBackendInterface
1575         - Adding virtual methods in a few of the *Interface classes to support the above
1576
1577         * GNUmakefile.list.am:
1578         * WebCore.xcodeproj/project.pbxproj:
1579
1580         * Modules/indexeddb/IDBCallbacks.h:
1581
1582         * Modules/indexeddb/IDBCursorBackendInterface.h:
1583
1584         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
1585         (WebCore::IDBDatabaseBackendImpl::setIndexKeys):
1586         (WebCore::IDBDatabaseBackendImpl::processPendingCalls):
1587         (WebCore::IDBDatabaseBackendImpl::openConnection):
1588         (WebCore::IDBDatabaseBackendImpl::runIntVersionChangeTransaction):
1589         * Modules/indexeddb/IDBDatabaseBackendImpl.h:
1590         * Modules/indexeddb/IDBDatabaseBackendInterface.h:
1591
1592         * Modules/indexeddb/IDBOperation.h: Added.
1593         (WebCore::IDBOperation::~IDBOperation):
1594
1595         * Modules/indexeddb/IDBPendingOpenCall.h: Added.
1596         (WebCore::IDBPendingOpenCall::create):
1597         (WebCore::IDBPendingOpenCall::callbacks):
1598         (WebCore::IDBPendingOpenCall::databaseCallbacks):
1599         (WebCore::IDBPendingOpenCall::version):
1600         (WebCore::IDBPendingOpenCall::transactionId):
1601         (WebCore::IDBPendingOpenCall::IDBPendingOpenCall):
1602
1603         * Modules/indexeddb/IDBRequest.h:
1604
1605         * Modules/indexeddb/IDBTransactionBackendInterface.h:
1606
1607         * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp:
1608         (WebCore::IDBCursorBackendLevelDB::CursorIterationOperation::create):
1609         (WebCore::IDBCursorBackendLevelDB::CursorAdvanceOperation::create):
1610         (WebCore::IDBCursorBackendLevelDB::CursorPrefetchIterationOperation::create):
1611         (WebCore::IDBCursorBackendLevelDB::IDBCursorBackendLevelDB):
1612         * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h:
1613
1614         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp:
1615         (WebCore::IDBTransactionBackendLevelDB::scheduleTask):
1616         (WebCore::IDBTransactionBackendLevelDB::abort):
1617         (WebCore::IDBTransactionBackendLevelDB::taskTimerFired):
1618         (WebCore::IDBTransactionBackendLevelDB::schedulePutOperation):
1619         (WebCore::IDBTransactionBackendLevelDB::scheduleOpenCursorOperation):
1620         (WebCore::IDBTransactionBackendLevelDB::scheduleCountOperation):
1621         (WebCore::IDBTransactionBackendLevelDB::scheduleDeleteRangeOperation):
1622         (WebCore::IDBTransactionBackendLevelDB::scheduleClearOperation):
1623         (WebCore::IDBTransactionBackendLevelDB::createCursorBackend):
1624         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:
1625
1626         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.cpp:
1627         (WebCore::CreateObjectStoreOperation::perform):
1628         (WebCore::CreateIndexOperation::perform):
1629         (WebCore::CreateIndexAbortOperation::perform):
1630         (WebCore::DeleteIndexOperation::perform):
1631         (WebCore::DeleteIndexAbortOperation::perform):
1632         (WebCore::OpenCursorOperation::perform):
1633         (WebCore::DeleteObjectStoreOperation::perform):
1634         (WebCore::IDBDatabaseBackendImpl::VersionChangeOperation::perform):
1635         (WebCore::CreateObjectStoreAbortOperation::perform):
1636         (WebCore::DeleteObjectStoreAbortOperation::perform):
1637         (WebCore::IDBDatabaseBackendImpl::VersionChangeAbortOperation::perform):
1638         * Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.h:
1639         (WebCore::CreateObjectStoreOperation::create):
1640         (WebCore::CreateObjectStoreOperation::CreateObjectStoreOperation):
1641         (WebCore::DeleteObjectStoreOperation::create):
1642         (WebCore::DeleteObjectStoreOperation::DeleteObjectStoreOperation):
1643         (WebCore::IDBDatabaseBackendImpl::VersionChangeOperation::create):
1644         (WebCore::IDBDatabaseBackendImpl::VersionChangeOperation::VersionChangeOperation):
1645         (WebCore::CreateObjectStoreAbortOperation::create):
1646         (WebCore::CreateObjectStoreAbortOperation::CreateObjectStoreAbortOperation):
1647         (WebCore::DeleteObjectStoreAbortOperation::create):
1648         (WebCore::DeleteObjectStoreAbortOperation::DeleteObjectStoreAbortOperation):
1649         (WebCore::IDBDatabaseBackendImpl::VersionChangeAbortOperation::create):
1650         (WebCore::IDBDatabaseBackendImpl::VersionChangeAbortOperation::VersionChangeAbortOperation):
1651         (WebCore::CreateIndexOperation::create):
1652         (WebCore::CreateIndexOperation::CreateIndexOperation):
1653         (WebCore::CreateIndexAbortOperation::create):
1654         (WebCore::CreateIndexAbortOperation::CreateIndexAbortOperation):
1655         (WebCore::DeleteIndexOperation::create):
1656         (WebCore::DeleteIndexOperation::DeleteIndexOperation):
1657         (WebCore::DeleteIndexAbortOperation::create):
1658         (WebCore::DeleteIndexAbortOperation::DeleteIndexAbortOperation):
1659         (WebCore::GetOperation::create):
1660         (WebCore::GetOperation::GetOperation):
1661         (WebCore::PutOperation::create):
1662         (WebCore::PutOperation::PutOperation):
1663         (WebCore::SetIndexesReadyOperation::create):
1664         (WebCore::SetIndexesReadyOperation::SetIndexesReadyOperation):
1665         (WebCore::OpenCursorOperation::create):
1666         (WebCore::OpenCursorOperation::OpenCursorOperation):
1667         (WebCore::CountOperation::create):
1668         (WebCore::CountOperation::CountOperation):
1669         (WebCore::DeleteRangeOperation::create):
1670         (WebCore::DeleteRangeOperation::DeleteRangeOperation):
1671         (WebCore::ClearOperation::create):
1672         (WebCore::ClearOperation::ClearOperation):
1673
1674 2013-10-29  Antti Koivisto  <antti@apple.com>
1675
1676         Make SimpleLineLayout::Layout a variable size object
1677         https://bugs.webkit.org/show_bug.cgi?id=123459
1678
1679         Reviewed by Andreas Kling.
1680
1681         Less memory, less indirection.
1682
1683         * rendering/SimpleLineLayout.cpp:
1684         (WebCore::SimpleLineLayout::canUseFor):
1685         (WebCore::SimpleLineLayout::create):
1686         (WebCore::SimpleLineLayout::Layout::create):
1687         (WebCore::SimpleLineLayout::Layout::Layout):
1688         * rendering/SimpleLineLayout.h:
1689         * rendering/SimpleLineLayoutFunctions.cpp:
1690         (WebCore::SimpleLineLayout::hitTestFlow):
1691         * rendering/SimpleLineLayoutFunctions.h:
1692         (WebCore::SimpleLineLayout::computeFlowFirstLineBaseline):
1693         (WebCore::SimpleLineLayout::computeFlowLastLineBaseline):
1694         (WebCore::SimpleLineLayout::findTextCaretMinimumOffset):
1695         (WebCore::SimpleLineLayout::findTextCaretMaximumOffset):
1696         (WebCore::SimpleLineLayout::containsTextCaretOffset):
1697         (WebCore::SimpleLineLayout::isTextRendered):
1698         * rendering/SimpleLineLayoutResolver.h:
1699         (WebCore::SimpleLineLayout::RunResolver::end):
1700
1701 2013-10-29  Andreas Kling  <akling@apple.com>
1702
1703         RenderObject::outlineStyleForRepaint() should return a reference.
1704         <https://webkit.org/b/123453>
1705
1706         Kill a FIXME and make outlineStyleForRepaint() return a RenderStyle&.
1707
1708         Reviewed by Antti Koivisto.
1709
1710 2013-10-29  Andreas Kling  <akling@apple.com>
1711
1712         Move more of SVG resources cache to using RenderElement.
1713         <https://webkit.org/b/123452>
1714
1715         Make some more RenderSVGResourcesCache methods take RenderElement&
1716         instead of RenderObject*.
1717
1718         Also removed a double hash lookup in removeResourcesFromRenderer().
1719
1720         Reviewed by Antti Koivisto.
1721
1722 2013-10-29  Joseph Pecoraro  <pecoraro@apple.com>
1723
1724         Web Inspector: Remove old Inspector.json version files and generators
1725         https://bugs.webkit.org/show_bug.cgi?id=123426
1726
1727         Reviewed by Timothy Hatcher.
1728
1729         * CMakeLists.txt:
1730         * DerivedSources.make:
1731         * GNUmakefile.am:
1732         * GNUmakefile.list.am:
1733         * WebCore.xcodeproj/project.pbxproj:
1734         * inspector/Inspector-0.1.json: Removed.
1735         * inspector/Inspector-1.0.json: Removed.
1736         * inspector/generate-inspector-protocol-version: Removed.
1737
1738 2013-10-29  Philippe Normand  <pnormand@igalia.com>
1739
1740         [GTK] DOM bindings documentation errors
1741         https://bugs.webkit.org/show_bug.cgi?id=123448
1742
1743         Reviewed by Carlos Garcia Campos.
1744
1745         * bindings/gobject/WebKitDOMCustom.h: Basic documentation for
1746         return types.
1747         * bindings/scripts/CodeGeneratorGObject.pm:
1748         (GenerateFunction): Generate Returns documentation tag for
1749         non-void return types and provide basic documentation.
1750         * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.h:
1751         Reset tests results.
1752         * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
1753         * bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.h:
1754         * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.h:
1755         * bindings/scripts/test/GObject/WebKitDOMTestException.h:
1756         * bindings/scripts/test/GObject/WebKitDOMTestInterface.h:
1757         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
1758         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
1759         * bindings/scripts/test/GObject/WebKitDOMTestTypedefs.h:
1760         * bindings/scripts/test/GObject/WebKitDOMattribute.h:
1761
1762 2013-10-24  Brent Fulgham  <bfulgham@apple.com>
1763
1764         Invalid cast in WebCore::toRenderMathMLBlock
1765         https://bugs.webkit.org/show_bug.cgi?id=121728
1766         rdar://problem/15046151
1767
1768         Reviewed by Dean Jackson.
1769
1770         Tested by: mathml/arbitrary-markup.html
1771
1772         * dom/Element.h: Expose childShouldCreateRenderer for
1773         MathML as well as SVG builds.
1774         * dom/Node.h: 
1775         (WebCore::Node::isMathMLElement): Added.
1776         * mathml/MathMLElement.cpp:
1777         (WebCore::MathMLElement::create): Create as MathML Element.
1778         (WebCore::MathMLElement::childShouldCreateRenderer):
1779         Only allow the child to emit a renderer if it is a
1780         MathML element.
1781         * mathml/MathMLElement.h:
1782
1783 2013-10-29  Andreas Kling  <akling@apple.com>
1784
1785         SVG: applyStrokeStyleToContext should take a RenderElement&.
1786         <https://webkit.org/b/123447>
1787
1788         ..and a RenderStyle& too, for that matter.
1789
1790         Reviewed by Anders Carlsson.
1791
1792         * rendering/svg/SVGRenderSupport.h:
1793         * rendering/svg/SVGRenderSupport.cpp:
1794         (WebCore::SVGRenderSupport::applyStrokeStyleToContext):
1795
1796             Have this take a RenderElement& and RenderStyle& instead of
1797             raw pointers. Tweaked a silly-looking loop.
1798
1799         * rendering/svg/RenderSVGShape.h:
1800         * rendering/svg/RenderSVGShape.cpp:
1801
1802             Moved BoundingRectStrokeStyleApplier helper class into the
1803             cpp file since it wasn't being used anywhere else.
1804
1805         * rendering/svg/RenderSVGResourceGradient.cpp:
1806         (WebCore::RenderSVGResourceGradient::applyResource):
1807         * rendering/svg/RenderSVGResourcePattern.cpp:
1808         (WebCore::RenderSVGResourcePattern::applyResource):
1809         * rendering/svg/RenderSVGResourceSolidColor.cpp:
1810         (WebCore::RenderSVGResourceSolidColor::applyResource):
1811
1812             Remove ampersands.
1813
1814 2013-10-29  Antti Koivisto  <antti@apple.com>
1815
1816         Multiple runs per line on simple line path
1817         https://bugs.webkit.org/show_bug.cgi?id=123446
1818
1819         Reviewed by Andreas Kling.
1820
1821         By allowing multiple runs per line we can support text flows with consecutive whitespaces in the middle.
1822
1823         * rendering/SimpleLineLayout.cpp:
1824         (WebCore::SimpleLineLayout::canUseFor):
1825         
1826             Remove space test.
1827             The improved test coverage found a few more cases that we need to disallow.
1828
1829         (WebCore::SimpleLineLayout::adjustRunOffsets):
1830             
1831             Round the run positions and widths so they match line boxes.
1832             Adjust for text-align.
1833
1834         (WebCore::SimpleLineLayout::create):
1835         
1836             Split lines with consecutive spaces into runs.
1837
1838         * rendering/SimpleLineLayout.h:
1839         (WebCore::SimpleLineLayout::Run::Run):
1840         * rendering/SimpleLineLayoutFunctions.cpp:
1841         (WebCore::SimpleLineLayout::hitTestFlow):
1842         (WebCore::SimpleLineLayout::collectFlowOverflow):
1843         (WebCore::SimpleLineLayout::computeTextBoundingBox):
1844         * rendering/SimpleLineLayoutResolver.h:
1845         (WebCore::SimpleLineLayout::RunResolver::Iterator::resolver):
1846         (WebCore::SimpleLineLayout::RunResolver::Iterator::lineIndex):
1847         (WebCore::SimpleLineLayout::RunResolver::Run::Run):
1848         (WebCore::SimpleLineLayout::RunResolver::Run::rect):
1849         (WebCore::SimpleLineLayout::RunResolver::Run::baseline):
1850         (WebCore::SimpleLineLayout::RunResolver::Run::text):
1851         (WebCore::SimpleLineLayout::RunResolver::Run::lineIndex):
1852         (WebCore::SimpleLineLayout::RunResolver::Iterator::Iterator):
1853         (WebCore::SimpleLineLayout::RunResolver::Iterator::operator++):
1854         
1855             Removed unnecessary operators.
1856
1857         (WebCore::SimpleLineLayout::RunResolver::Iterator::operator==):
1858         (WebCore::SimpleLineLayout::RunResolver::Iterator::operator!=):
1859         (WebCore::SimpleLineLayout::RunResolver::Iterator::operator*):
1860         (WebCore::SimpleLineLayout::RunResolver::Iterator::simpleRun):
1861         (WebCore::SimpleLineLayout::RunResolver::RunResolver):
1862         (WebCore::SimpleLineLayout::RunResolver::begin):
1863         (WebCore::SimpleLineLayout::RunResolver::end):
1864         
1865             Resolver -> RunResolver
1866
1867         (WebCore::SimpleLineLayout::LineResolver::Iterator::Iterator):
1868         (WebCore::SimpleLineLayout::LineResolver::Iterator::operator++):
1869         (WebCore::SimpleLineLayout::LineResolver::Iterator::operator==):
1870         (WebCore::SimpleLineLayout::LineResolver::Iterator::operator!=):
1871         (WebCore::SimpleLineLayout::LineResolver::Iterator::operator*):
1872         (WebCore::SimpleLineLayout::LineResolver::LineResolver):
1873         (WebCore::SimpleLineLayout::LineResolver::begin):
1874         (WebCore::SimpleLineLayout::LineResolver::end):
1875         
1876             Add LineResolver around RunResolver. It resolves the line rectangles.
1877
1878         (WebCore::SimpleLineLayout::runResolver):
1879         (WebCore::SimpleLineLayout::lineResolver):
1880
1881 2013-10-29  Chris Fleizach  <cfleizach@apple.com>
1882
1883         AX: elements with explicit tabindex should expose AXFocused as writable, since mouse clicks can focus it
1884         https://bugs.webkit.org/show_bug.cgi?id=121335
1885
1886         Reviewed by Mario Sanchez Prada.
1887
1888         Re-order logic that determines if a <span> should appear as an accessible element. 
1889         The change is that if an element canSetFocus() it should always be in the AX tree.
1890
1891         Test: accessibility/tabindex-elements-are-accessible.html
1892
1893         * accessibility/AccessibilityRenderObject.cpp:
1894         (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
1895         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
1896
1897 2013-10-29  Philippe Normand  <pnormand@igalia.com>
1898
1899         [GTK] enable media-stream in build-webkit
1900         https://bugs.webkit.org/show_bug.cgi?id=123144
1901
1902         Reviewed by Martin Robinson.
1903
1904         * GNUmakefile.list.am: Add new MediaStream files to the GTK port build.
1905
1906 2013-10-28  Chris Fleizach  <cfleizach@apple.com>
1907
1908         AX: Webkit does not expose AXRequired on input type=file
1909         https://bugs.webkit.org/show_bug.cgi?id=123376
1910
1911         Reviewed by Mario Sanchez Prada.
1912
1913         File upload buttons should expose AXRequired, since they take an input state.
1914
1915         * accessibility/AccessibilityNodeObject.cpp:
1916         (WebCore::AccessibilityNodeObject::supportsRequiredAttribute):
1917         (WebCore::AccessibilityNodeObject::alternativeText):
1918
1919 2013-10-29  Jinwoo Song  <jinwoo7.song@samsung.com>
1920
1921         Re-enable simple line layout for EFL
1922         https://bugs.webkit.org/show_bug.cgi?id=123402
1923
1924         Reviewed by Antti Koivisto.
1925
1926         * rendering/SimpleLineLayout.cpp:
1927         (WebCore::SimpleLineLayout::canUseFor): 8-bit TextRun support is now enabled for EFL port, so the port
1928         can use the simple line layout.
1929
1930 2013-10-29  Zan Dobersek  <zdobersek@igalia.com>
1931
1932         Unreviewed, follow-up to r158185. Export the required symbol.
1933         This should fix the Mac debug build.
1934
1935         * WebCore.exp.in:
1936
1937 2013-10-29  Santosh Mahto  <santosh.ma@samsung.com>
1938
1939         Text selected with double-click gets unselected after DOM modification
1940         https://bugs.webkit.org/show_bug.cgi?id=114227
1941
1942         Reviewed by Ryosuke Niwa.
1943
1944         Before this patch when selection is done by double-click (start and base remain
1945         same) and DOM is modified then selection gets vanished. This does not
1946         happen when selection is done by dragging mouse. This happens because
1947         on double-click base and extent remain the same and on DOM
1948         modification we update the selection with base and extent, so we loose
1949         the selection. Since in double-click case start/end contain the
1950         correct selection, same should be used after dom modification to
1951         update selection.
1952
1953         Test: editing/selection/double-click-selection-with-dom-mutation.html
1954
1955         * editing/FrameSelection.cpp:
1956         (WebCore::FrameSelection::textWasReplaced): use start/end to update
1957         selection in case double click selection. Added a check for base !=
1958         extent, if base != extent use base/extent to update the selection
1959         otherwise use start/end with directionality check.
1960
1961 2013-10-29  Mihnea Ovidenie  <mihnea@adobe.com>
1962
1963         [CSSRegions] Display anonymous regions in DRT
1964         https://bugs.webkit.org/show_bug.cgi?id=122963
1965
1966         Reviewed by Alexandru Chiculita.
1967
1968         After https://bugs.webkit.org/show_bug.cgi?id=119135, css regions are modelled using an anonymous
1969         RenderNamedFlowFragment object inside the block having a valid -webkit-flow-from.
1970         This patch changes the way elements | pseudo-elements with -webkit-flow-from are displayed
1971         in test dumps.
1972
1973         Before:
1974             RenderRegion {DIV} at (200,200) size 52x52 [border: (1px solid #000000)]
1975         After:
1976             RenderBlock (positioned) {DIV} at (200,200) size 52x52 [border: (1px solid #000000)]
1977                 RenderNamedFlowFragment at (1,1) size 50x50
1978
1979         Before:
1980             Flow Threads
1981                 Thread with flow-name 'article'
1982                 Regions for flow 'article'
1983                     RenderRegion {DIV} #region_1
1984                     RenderRegion {DIV} #region_2
1985         After:
1986             Named flows
1987                 Named flow 'article'
1988                 Regions for named flow 'article'
1989                     RenderNamedFlowFragment (anonymous child of {DIV::before} #region_1)
1990                     RenderNamedFlowFragment (anonymous child of {DIV} #region_2)
1991
1992         Changed existing tests based on the new dumps.
1993
1994         * rendering/RenderBlock.cpp:
1995         (WebCore::RenderBlock::renderName):
1996         * rendering/RenderNamedFlowFragment.h: Add a comment explaining the purpose of the class.
1997         * rendering/RenderRegion.h:
1998         * rendering/RenderTreeAsText.cpp:
1999         (WebCore::write):
2000         (WebCore::writeRenderRegionList): Adjust function to display info for anonymous regions too.
2001         (WebCore::writeRenderNamedFlowThreads): Separate dump of valid and invalid regions for a named flow.
2002
2003 2013-10-29  Zan Dobersek  <zdobersek@igalia.com>
2004
2005         Move writeIndent, overloaded << operators from RenderTreeAsText to TextStream
2006         https://bugs.webkit.org/show_bug.cgi?id=116012
2007
2008         Reviewed by Simon Fraser.
2009
2010         The writeIndent method and overloaded << operators for writing out vectors and points and rectangles
2011         of various types are not specific to the render tree nor do they depend on any rendering-specific interface.
2012
2013         * page/scrolling/ScrollingStateNode.cpp:
2014         * page/scrolling/ScrollingStateNode.h:
2015         (ScrollingStateNode): Remove the writeIndent declaration, it's functionally the same as the TextStream method.
2016         * platform/graphics/GraphicsLayer.cpp:
2017         * platform/graphics/GraphicsLayer.h:
2018         (GraphicsLayer): Ditto.
2019         * platform/graphics/filters/DistantLightSource.cpp: Remove the RenderTreeAsText.h inclusion or replace it with
2020         the inclusion of the TextStream.h header where required. The writeIndent method is now declared there.
2021         * platform/graphics/filters/FEBlend.cpp: Ditto.
2022         * platform/graphics/filters/FEColorMatrix.cpp: Ditto.
2023         * platform/graphics/filters/FEComponentTransfer.cpp: Ditto.
2024         * platform/graphics/filters/FEComposite.cpp: Ditto.
2025         * platform/graphics/filters/FEConvolveMatrix.cpp: Ditto.
2026         * platform/graphics/filters/FECustomFilter.cpp: Ditto.
2027         * platform/graphics/filters/FEDiffuseLighting.cpp: Ditto.
2028         * platform/graphics/filters/FEDisplacementMap.cpp: Ditto.
2029         * platform/graphics/filters/FEDropShadow.cpp: Ditto.
2030         * platform/graphics/filters/FEFlood.cpp: Ditto.
2031         * platform/graphics/filters/FEGaussianBlur.cpp: Ditto.
2032         * platform/graphics/filters/FEMerge.cpp: Ditto.
2033         * platform/graphics/filters/FEMorphology.cpp: Ditto.
2034         * platform/graphics/filters/FEOffset.cpp: Ditto.
2035         * platform/graphics/filters/FESpecularLighting.cpp: Ditto.
2036         * platform/graphics/filters/FETurbulence.cpp: Ditto.
2037         * platform/graphics/filters/SourceAlpha.cpp: Ditto.
2038         * platform/graphics/filters/SourceGraphic.cpp: Ditto.
2039         * platform/text/TextStream.cpp: Move the writeIndent and operators' definitions here.
2040         (WebCore::operator<<):
2041         (WebCore):
2042         (WebCore::writeIndent):
2043         * platform/text/TextStream.h: Move the writeIndent and operators' declarations here.
2044         (WebCore):
2045         (TextStream):
2046         (WebCore::TextStream::operator<<):
2047         * rendering/RenderTreeAsText.cpp: Move the writeIndent and operators' definitions into TextStream.
2048         (WebCore):
2049         * rendering/RenderTreeAsText.h: Move the writeIndent and operators' declarations into TextStream.
2050         (WebCore):
2051
2052 2013-10-28  Zan Dobersek  <zdobersek@igalia.com>
2053
2054         Clean up ScopedEventQueue
2055         https://bugs.webkit.org/show_bug.cgi?id=123408
2056
2057         Reviewed by Darin Adler.
2058
2059         Clean up the ScopedEventQueue implementation. ScopedEventQueue::instance() should return a reference to a
2060         NeverDestroyed<ScopedEventQueue> object. The static ScopedEventQueue::s_instance pointer is removed.
2061
2062         The ScopedEventQueue destructor, the dispatchAllEvents method and the scope level incrementation/decrementation
2063         methods are made private. NeverDestroyed<ScopedEventQueue> and EventQueueScope are made friends of the
2064         ScopedEventQueue class so they can access the constructor and the incrementation/decrementation methods, respectively.
2065
2066         ScopedEventQueue method definitions are reordered to follow the order of their declarations in the header file.
2067         ScopedEventQueue::dispatchAllEvents() now uses std::move to efficiently dispatch and clear all currently queued events.
2068
2069         * dom/EventDispatcher.cpp:
2070         (WebCore::EventDispatcher::dispatchScopedEvent):
2071         * dom/ScopedEventQueue.cpp:
2072         (WebCore::ScopedEventQueue::instance):
2073         (WebCore::ScopedEventQueue::dispatchAllEvents):
2074         * dom/ScopedEventQueue.h:
2075         (WebCore::EventQueueScope::EventQueueScope):
2076         (WebCore::EventQueueScope::~EventQueueScope):
2077
2078 2013-10-28  Andreas Kling  <akling@apple.com>
2079
2080         applyTextTransform() should take a const RenderStyle&.
2081         <https://webkit.org/b/123434>
2082
2083         This function is always called with an existing RenderStyle object.
2084
2085         Reviewed by Anders Carlsson.
2086
2087 2013-10-28  Andreas Kling  <akling@apple.com>
2088
2089         RenderSVGResource::applyResource() should take a const RenderStyle&.
2090         <https://webkit.org/b/123433>
2091
2092         These functions are always called with an existing RenderStyle object
2093         so let them take a const reference instead of a raw pointer.
2094         Also sprinkled some missing OVERRIDEs.
2095
2096         Reviewed by Anders Carlsson.
2097
2098 2013-10-28  Andreas Kling  <akling@apple.com>
2099
2100         Remove unused RenderTextControl::textBaseStyle().
2101         <https://webkit.org/b/123432>
2102
2103         Reviewed by Anders Carlsson.
2104
2105 2013-10-28  Zan Dobersek  <zdobersek@igalia.com>
2106
2107         HTML input type objects should be managed through std::unique_ptr
2108         https://bugs.webkit.org/show_bug.cgi?id=123160
2109
2110         Reviewed by Darin Adler.
2111
2112         Make the constructors of the InputType subclasses public. This makes it possible to use std::make_unique on these classes
2113         and makes the T::create() helpers redundant. New instances of these classes are now managed through std::unique_ptr.
2114
2115         InputType::create() now uses a NeverDestroyed InputTypeFactoryMap that maps type names to InputTypeFactoryFunctions and
2116         gets populated when the method is first called and the map is still empty. Certain types are not added to the factory map
2117         if they're disabled at runtime.
2118
2119         The factory is used to create the new InputType object if the requested type was found in the map, and TextInputType is used otherwise.
2120
2121         * html/ButtonInputType.cpp:
2122         * html/ButtonInputType.h:
2123         (WebCore::ButtonInputType::ButtonInputType):
2124         * html/CheckboxInputType.cpp:
2125         * html/CheckboxInputType.h:
2126         (WebCore::CheckboxInputType::CheckboxInputType):
2127         * html/ColorInputType.cpp:
2128         * html/ColorInputType.h:
2129         (WebCore::ColorInputType::ColorInputType):
2130         * html/DateInputType.cpp:
2131         * html/DateInputType.h:
2132         * html/DateTimeInputType.cpp:
2133         * html/DateTimeInputType.h:
2134         (WebCore::DateTimeInputType::DateTimeInputType):
2135         * html/DateTimeLocalInputType.cpp:
2136         * html/DateTimeLocalInputType.h:
2137         (WebCore::DateTimeLocalInputType::DateTimeLocalInputType):
2138         * html/EmailInputType.cpp:
2139         * html/EmailInputType.h:
2140         (WebCore::EmailInputType::EmailInputType):
2141         * html/FileInputType.cpp:
2142         * html/FileInputType.h:
2143         * html/HTMLInputElement.cpp:
2144         (WebCore::HTMLInputElement::updateType):
2145         * html/HTMLInputElement.h:
2146         * html/HiddenInputType.cpp:
2147         * html/HiddenInputType.h:
2148         (WebCore::HiddenInputType::HiddenInputType):
2149         * html/ImageInputType.cpp:
2150         (WebCore::ImageInputType::ImageInputType):
2151         * html/ImageInputType.h:
2152         * html/InputType.cpp:
2153         (WebCore::createInputType): A templated helper that constructs a new InputType subclass object through std::make_unique.
2154         (WebCore::populateInputTypeFactoryMap): Populates the passed-in map with type-createInputType<T> pairs.
2155         (WebCore::InputType::create): Get the InputTypeFactoryFunction for the specified type, or fall back to TextInputType.
2156         (WebCore::InputType::createText):
2157         * html/InputType.h:
2158         * html/MonthInputType.cpp:
2159         * html/MonthInputType.h:
2160         (WebCore::MonthInputType::MonthInputType):
2161         * html/NumberInputType.cpp:
2162         * html/NumberInputType.h:
2163         (WebCore::NumberInputType::NumberInputType):
2164         * html/PasswordInputType.cpp:
2165         * html/PasswordInputType.h:
2166         (WebCore::PasswordInputType::PasswordInputType):
2167         * html/RadioInputType.cpp:
2168         * html/RadioInputType.h:
2169         (WebCore::RadioInputType::RadioInputType):
2170         * html/RangeInputType.cpp:
2171         * html/RangeInputType.h:
2172         * html/ResetInputType.cpp:
2173         * html/ResetInputType.h:
2174         (WebCore::ResetInputType::ResetInputType):
2175         * html/SearchInputType.cpp:
2176         (WebCore::SearchInputType::SearchInputType):
2177         * html/SearchInputType.h:
2178         * html/SubmitInputType.cpp:
2179         * html/SubmitInputType.h:
2180         (WebCore::SubmitInputType::SubmitInputType):
2181         * html/TelephoneInputType.cpp:
2182         * html/TelephoneInputType.h:
2183         (WebCore::TelephoneInputType::TelephoneInputType):
2184         * html/TextInputType.cpp:
2185         * html/TextInputType.h:
2186         (WebCore::TextInputType::TextInputType):
2187         * html/TimeInputType.cpp:
2188         * html/TimeInputType.h:
2189         * html/URLInputType.cpp:
2190         * html/URLInputType.h:
2191         (WebCore::URLInputType::URLInputType):
2192         * html/WeekInputType.cpp:
2193         * html/WeekInputType.h:
2194         (WebCore::WeekInputType::WeekInputType):
2195
2196 2013-10-28  Brady Eidson  <beidson@apple.com>
2197
2198         Refactor IDB factory creation.
2199         https://bugs.webkit.org/show_bug.cgi?id=123347
2200
2201         Reviewed by Andreas Kling.
2202
2203         - Rework how database directory location is passed around.
2204         - Make (some) SecurityOrigin arguments be references instead of pointers.
2205         - Add two SecurityOrigin arguments to opening databases for future use.
2206
2207         * Modules/indexeddb/IDBFactory.cpp:
2208         (WebCore::IDBFactory::openInternal):
2209
2210         * Modules/indexeddb/IDBFactoryBackendInterface.cpp:
2211         (WebCore::IDBFactoryBackendInterface::create):
2212         * Modules/indexeddb/IDBFactoryBackendInterface.h:
2213
2214         * Modules/indexeddb/PageGroupIndexedDatabase.cpp:
2215         (WebCore::PageGroupIndexedDatabase::PageGroupIndexedDatabase):
2216         (WebCore::PageGroupIndexedDatabase::from):
2217         (WebCore::PageGroupIndexedDatabase::factoryBackend):
2218         * Modules/indexeddb/PageGroupIndexedDatabase.h:
2219
2220         * Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.cpp:
2221         (WebCore::WorkerGlobalScopeIndexedDatabase::WorkerGlobalScopeIndexedDatabase):
2222         (WebCore::WorkerGlobalScopeIndexedDatabase::from):
2223         (WebCore::WorkerGlobalScopeIndexedDatabase::indexedDB):
2224         * Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.h:
2225
2226         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
2227         (WebCore::IDBBackingStoreLevelDB::open):
2228         (WebCore::IDBBackingStoreLevelDB::openInMemory):
2229         * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
2230
2231         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
2232         (WebCore::computeFileIdentifier):
2233         (WebCore::computeUniqueIdentifier):
2234         (WebCore::IDBFactoryBackendLevelDB::IDBFactoryBackendLevelDB):
2235         (WebCore::IDBFactoryBackendLevelDB::getDatabaseNames):
2236         (WebCore::IDBFactoryBackendLevelDB::deleteDatabase):
2237         (WebCore::IDBFactoryBackendLevelDB::openBackingStore):
2238         (WebCore::IDBFactoryBackendLevelDB::open):
2239         * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
2240         (WebCore::IDBFactoryBackendLevelDB::create):
2241
2242         * WebCore.exp.in:
2243
2244         * platform/DatabaseStrategy.cpp:
2245         (WebCore::DatabaseStrategy::createIDBFactoryBackend):
2246         * platform/DatabaseStrategy.h:
2247
2248 2013-10-28  Andreas Kling  <akling@apple.com>
2249
2250         RenderElement::style() should return a reference.
2251         <https://webkit.org/b/123414>
2252
2253         Now that renderers always have style, go ahead and make style()
2254         return a RenderStyle&.
2255
2256         There are countless opportunities for further cleanup enabled by
2257         this change. I'm simply passing &style() in many cases where we
2258         can really do something nicer instead.
2259
2260         Reviewed by Anders Carlsson.
2261
2262 2013-10-28  Tim Horton  <timothy_horton@apple.com>
2263
2264         Make TileController create the appropriate PlatformCALayer subclasses
2265         https://bugs.webkit.org/show_bug.cgi?id=123418
2266
2267         Reviewed by Simon Fraser.
2268
2269         Add PlatformCALayer::createCompatibleLayer, which is overridden in
2270         each of the subclasses to create a PlatformCALayer instance of the same
2271         subclass. This is used in TileController to make bare PlatformCALayers
2272         of the correct type (Mac, Win, or Remote).
2273
2274         * platform/graphics/ca/PlatformCALayer.h:
2275         * platform/graphics/ca/mac/PlatformCALayerMac.h:
2276         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
2277         (PlatformCALayerMac::createCompatibleLayer):
2278         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
2279         (PlatformCALayerWin::createCompatibleLayer):
2280         * platform/graphics/ca/win/PlatformCALayerWin.h:
2281         Add createCompatibleLayer and implement it in the subclasses.
2282
2283         * platform/graphics/ca/mac/TileController.mm:
2284         (WebCore::TileController::TileController):
2285         (WebCore::TileController::tiledScrollingIndicatorLayer):
2286         (WebCore::TileController::createTileLayer):
2287         Make use of createCompatibleLayer when creating PlatformCALayers.
2288
2289 2013-10-28  Alexandru Chiculita  <achicu@adobe.com>
2290
2291         Web Inspector: CSS Regions: Add protocol API to expose content nodes addition/removal
2292         https://bugs.webkit.org/show_bug.cgi?id=123424
2293
2294         Reviewed by Timothy Hatcher.
2295
2296         Test: inspector-protocol/model/content-flow-content-nodes.html
2297
2298         Adding two new inspector-protocol APIs to handle the cases when new elements are
2299         added or removed from a named flow. These APIs will trigger even though there
2300         is no region associated with the named flow.
2301
2302         * inspector/Inspector.json:
2303         * inspector/InspectorCSSAgent.cpp:
2304         (WebCore::InspectorCSSAgent::didRegisterNamedFlowContentElement):
2305         (WebCore::InspectorCSSAgent::didUnregisterNamedFlowContentElement):
2306         * inspector/InspectorCSSAgent.h:
2307         * inspector/InspectorInstrumentation.cpp:
2308         (WebCore::InspectorInstrumentation::didRegisterNamedFlowContentElementImpl):
2309         (WebCore::InspectorInstrumentation::didUnregisterNamedFlowContentElementImpl):
2310         * inspector/InspectorInstrumentation.h:
2311         (WebCore::InspectorInstrumentation::didRegisterNamedFlowContentElement):
2312         (WebCore::InspectorInstrumentation::didUnregisterNamedFlowContentElement):
2313         * rendering/RenderNamedFlowThread.cpp:
2314         (WebCore::RenderNamedFlowThread::registerNamedFlowContentElement):
2315         (WebCore::RenderNamedFlowThread::unregisterNamedFlowContentElement):
2316
2317 2013-10-28  Joseph Pecoraro  <pecoraro@apple.com>
2318
2319         Web Inspector: Remove unused inspector/inline-javascript-imports.py
2320         https://bugs.webkit.org/show_bug.cgi?id=123425
2321
2322         Reviewed by Timothy Hatcher.
2323
2324         * inspector/inline-javascript-imports.py: Removed.
2325
2326 2013-10-28  Joseph Pecoraro  <pecoraro@apple.com>
2327
2328         Web Inspector: Remove unused "externs" files and generators
2329         https://bugs.webkit.org/show_bug.cgi?id=123427
2330
2331         Reviewed by Timothy Hatcher.
2332
2333         * inspector/InjectedScriptExterns.js: Removed.
2334         * inspector/generate_protocol_externs.py: Removed.
2335
2336 2013-10-28  Joseph Pecoraro  <pecoraro@apple.com>
2337
2338         Upstream remaining PLATFORM(IOS) and ENABLE(REMOTE_INSPECTOR) pieces
2339         https://bugs.webkit.org/show_bug.cgi?id=123411
2340
2341         Reviewed by Timothy Hatcher.
2342
2343         Include an InspectorClient hook for when node searching is enabled / disabled.
2344
2345         * inspector/InspectorClient.h:
2346         (WebCore::InspectorClient::didSetSearchingForNode):
2347         * inspector/InspectorDOMAgent.cpp:
2348         (WebCore::InspectorDOMAgent::setSearchingForNode):
2349         * inspector/InspectorOverlay.cpp:
2350         (WebCore::InspectorOverlay::didSetSearchingForNode):
2351         * inspector/InspectorOverlay.h:
2352
2353 2013-10-28  Benjamin Poulain  <benjamin@webkit.org>
2354
2355         Rename applyPageScaleFactorInCompositor to delegatesPageScaling
2356         https://bugs.webkit.org/show_bug.cgi?id=123417
2357
2358         Reviewed by Simon Fraser.
2359
2360         * page/Frame.cpp:
2361         (WebCore::Frame::frameScaleFactor):
2362         * page/FrameView.cpp:
2363         (WebCore::FrameView::visibleContentScaleFactor):
2364         * page/Page.cpp:
2365         (WebCore::Page::setPageScaleFactor):
2366         * page/Settings.in:
2367         * platform/ScrollView.h:
2368         * rendering/RenderLayerCompositor.cpp:
2369         (WebCore::RenderLayerCompositor::addToOverlapMap):
2370
2371 2013-10-28  Myles C. Maxfield  <mmaxfield@apple.com>
2372
2373         Parsing support for -webkit-text-decoration-skip: ink
2374         https://bugs.webkit.org/show_bug.cgi?id=123358
2375
2376         Reviewed by Dean Jackson.
2377
2378         Adds initial parsing support for parsing -webkit-text-decoration-skip with
2379         values of "none" and "ink". This work is behind the new
2380         ENABLE(CSS3_TEXT_DECORATION) compile-time flag.
2381
2382         Test: fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-roundtrip.html
2383
2384         * Configurations/FeatureDefines.xcconfig: Adding ENABLE(CSS3_TEXT_DECORATION)
2385         * css/CSSComputedStyleDeclaration.cpp: Mapping internal representation of text-decoration-skip
2386         to a CSSValue
2387         (WebCore::renderTextDecorationSkipFlagsToCSSValue):
2388         (WebCore::ComputedStyleExtractor::propertyValue):
2389         * css/CSSParser.cpp: Actually parsing tokens
2390         (WebCore::CSSParser::parseValue):
2391         (WebCore::CSSParser::parseTextDecorationSkip):
2392         * css/CSSParser.h:
2393         * css/CSSPropertyNames.in: adding -webkit-text-decoration-skip
2394         * css/CSSValueKeywords.in: adding ink
2395         * css/DeprecatedStyleBuilder.cpp: Mapping from CSSValue to internal representation
2396         (WebCore::ApplyPropertyTextDecorationSkip::valueToDecorationSkip):
2397         (WebCore::ApplyPropertyTextDecorationSkip::applyValue):
2398         (WebCore::ApplyPropertyTextDecorationSkip::createHandler):
2399         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
2400         * css/StyleResolver.cpp: decoration-skip uses DeprecatedStyleBuilder
2401         (WebCore::StyleResolver::applyProperty):
2402         * rendering/style/RenderStyle.h: Adding functions for modifying and accessing decoration-skip properties
2403         * rendering/style/RenderStyleConstants.h: Definition of internal representation
2404         * rendering/style/StyleRareInheritedData.cpp: Setting up constructors and comparators
2405         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
2406         (WebCore::StyleRareInheritedData::operator==):
2407         * rendering/style/StyleRareInheritedData.h: Holds actual value of internal representation
2408
2409 2013-10-28  Anders Carlsson  <andersca@apple.com>
2410
2411         RunLoop::dispatch should take an std::function
2412         https://bugs.webkit.org/show_bug.cgi?id=123407
2413
2414         Reviewed by Andreas Kling.
2415
2416         * WebCore.exp.in:
2417         * platform/RunLoop.cpp:
2418         (WebCore::RunLoop::performWork):
2419         (WebCore::RunLoop::dispatch):
2420         * platform/RunLoop.h:
2421
2422 2013-10-28  Tim Horton  <timothy_horton@apple.com>
2423
2424         Make TileController manipulate PlatformCALayers instead of CALayers
2425         https://bugs.webkit.org/show_bug.cgi?id=123279
2426
2427         Reviewed by Simon Fraser.
2428
2429         In the interest of making TileController more platform-independent
2430         (so that it can be used with the remote layer tree, and maybe Windows),
2431         move TileController onto our PlatformCALayer abstraction instead of
2432         direct manipulation of CALayers.
2433
2434         Some fallout from this includes getting rid of special Mac-specific
2435         TileController-specific CALayer subclasses, and reworking tile
2436         painting to work in a more generic way.
2437
2438         This is a first step, and doesn't get us all the way to a platform independent
2439         TileController, but more patches are forthcoming.
2440
2441         No new tests, just a (largeish) refactor.
2442
2443         * WebCore.exp.in:
2444         The signature of some methods has changed.
2445
2446         * WebCore.xcodeproj/project.pbxproj:
2447         Remove WebTileLayer.*
2448
2449         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
2450         (WebCore::ScrollingTreeScrollingNodeMac::logExposedUnfilledArea):
2451         Use the "isTile" key on the CALayer dictionary instead of the layer's
2452         class to determine if it's a tile. TileController will set this on a tile
2453         when it is created, for now.
2454
2455         * platform/graphics/TiledBacking.h:
2456         tiledScrollingIndicatorLayer() should return a PlatformCALayer.
2457
2458         * platform/graphics/ca/GraphicsLayerCA.cpp:
2459         (WebCore::GraphicsLayerCA::platformCALayerPaintContents):
2460         * platform/graphics/ca/GraphicsLayerCA.h:
2461         (WebCore::GraphicsLayerCA::platformCALayerIncrementRepaintCount):
2462         * platform/graphics/ca/PlatformCALayerClient.h:
2463         The PlatformCALayerClient paintContents and incrementRepaintCount callbacks
2464         should include the platformCALayer that caused the callback.
2465
2466         * platform/graphics/ca/PlatformCALayer.h:
2467         Add LayerTypeSimpleLayer, which is similar to LayerTypeWebLayer
2468         except it just calls back its client to paint, instead of doing
2469         complicated things with repaint rects. This is so that TileController
2470         doesn't re-enter drawLayerContents when asking its GraphicsLayer
2471         to paint for each PlatformCALayer (it will be entering drawLayerContents
2472         for the first time for each layer). It also happens to be useful
2473         for things like the tile controller overlay, which don't need
2474         all that complication.
2475
2476         Add LayerTypeTiledBackingTileLayer, which is used simply to distinguish
2477         TileController Tile layers from other LayerTypeSimpleLayers.
2478
2479         * platform/graphics/ca/mac/LayerPool.h:
2480         * platform/graphics/ca/mac/LayerPool.mm:
2481         (WebCore::LayerPool::addLayer):
2482         (WebCore::LayerPool::takeLayerWithSize):
2483         LayerPool should operate on PlatformCALayers now.
2484
2485         * platform/graphics/ca/mac/PlatformCALayerMac.h:
2486         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
2487         (PlatformCALayerMac::PlatformCALayerMac):
2488         Set the "isTile" key on the CALayer to true for TiledBackingTileLayers,
2489         so that the scrolling performance logging can tell a tile apart from
2490         any other layer, on the scrolling thread, without touching PlatformCALayers
2491         or the TileController or any other main-thread data structures.
2492
2493         (PlatformCALayerMac::setEdgeAntialiasingMask): Added.
2494         * platform/graphics/ca/mac/TileController.h:
2495         Remove references to Objective-C classes; instead use PlatformCALayer everywhere.
2496         TileController is now a PlatformCALayerClient, and the layers it owns are
2497         all PlatformCALayers (and it is constructed with a PlatformCALayer, etc.).
2498         Hand in the tile debug border color as a WebCore color, instead of a CGColorRef.
2499         blankPixelCountForTiles() now operates on a list of PlatformLayers instead of
2500         WebTileLayers specifically, since WebTileLayer is gone.
2501         Make drawTileMapContents private because WebTileCacheMapLayer no longer exists.
2502
2503         (WebCore::TileController::platformCALayerDrawsContent):
2504         All of the layers who have TileController as their client paint their contents.
2505
2506         (WebCore::TileController::platformCALayerContentsOpaque):
2507         This will only be called for layers which paint via drawLayerContents,
2508         so it's OK that we don't special-case the debugging overlay here.
2509
2510         (WebCore::TileController::owningGraphicsLayer):
2511         Return the GraphicsLayer that owns the TileController's main
2512         layer, via its conformance to PlatformCALayerClient. This is
2513         a bit strange (because it's not strictly a GraphicsLayer, despite
2514         always being so at the moment), but is done for clarity inside
2515         TileController itself.
2516
2517         * platform/graphics/ca/mac/TileController.mm:
2518         Remove CALayer (WebCALayerDetails), WebTiledScrollingIndicatorLayer,
2519         and a bunch of includes that we don't need anymore.
2520
2521         (WebCore::TileController::create):
2522         (WebCore::TileController::TileController):
2523         TileController is passed a PlatformCALayer for the tile cache root layer,
2524         instead of a WebTiledBackingLayer. It also creates a PlatformCALayer with
2525         LayerTypeLayer instead of a bare CALayer for the container layer.
2526         It's OK to remove the transaction because it was only used to stop
2527         the implicit animation, which PlatformCALayer will do for us.
2528
2529         (WebCore::TileController::~TileController):
2530         Clear the owner of the PlatformCALayers which the TileController previously owned,
2531         so they don't try to call back a destroyed TileController.
2532
2533         (WebCore::TileController::tileCacheLayerBoundsChanged):
2534         (WebCore::TileController::setNeedsDisplay):
2535         Straightforward adjustments towards use of PlatformCALayer.
2536
2537         (WebCore::TileController::setTileNeedsDisplayInRect):
2538         Adjustments towards use of PlatformCALayer; we need FloatRects so we can
2539         pass pointers to PlatformCALayer::setNeedsDisplay.
2540
2541         (WebCore::TileController::platformCALayerPaintContents):
2542         Replace drawLayer with platformCALayerPaintContents, which will be called
2543         back from our various WebSimpleLayers. If the PlatformCALayer is our
2544         tiled scrolling debug indicator, paint that. Otherwise, it's a tile.
2545         Make use of drawLayerContents() to paint the tile contents.
2546         Make use of drawRepaintIndicator() to paint the repaint indicator if needed.
2547         Move scrolling performance logging code that used to be in WebTileLayer here.
2548
2549         (WebCore::TileController::platformCALayerDeviceScaleFactor):
2550         (WebCore::TileController::platformCALayerShowDebugBorders):
2551         (WebCore::TileController::platformCALayerShowRepaintCounter):
2552         Forward these to the owning GraphicsLayerCA, because it will have the right answers.
2553
2554         (WebCore::TileController::setScale):
2555         Adjustments towards use of PlatformCALayer; remove some code that Simon
2556         caused to be unused in 156291 but did not remove.
2557
2558         (WebCore::TileController::setAcceleratesDrawing):
2559         (WebCore::TileController::setTilesOpaque):
2560         (WebCore::TileController::setVisibleRect):
2561         (WebCore::TileController::revalidateTiles):
2562         (WebCore::TileController::setTileDebugBorderWidth):
2563         (WebCore::TileController::setTileDebugBorderColor):
2564         (WebCore::TileController::bounds):
2565         (WebCore::TileController::blankPixelCount):
2566         (WebCore::TileController::blankPixelCountForTiles):
2567         (WebCore::queueTileForRemoval):
2568         (WebCore::TileController::setNeedsRevalidateTiles):
2569         (WebCore::TileController::ensureTilesForRect):
2570         (WebCore::TileController::retainedTileBackingStoreMemory):
2571         Straightforward adjustments towards use of PlatformCALayer.
2572
2573         (WebCore::TileController::updateTileCoverageMap):
2574         Adjustments towards use of PlatformCALayer; rename backgroundColor
2575         to visibleRectIndicatorColor, since it's actually a border, not a background.
2576
2577         (WebCore::TileController::tiledScrollingIndicatorLayer):
2578         Create a LayerTypeSimpleLayer PlatformCALayer for the tiled scrolling indicator.
2579         It will be asked to paint straightforwardly, like a CALayer would.
2580         Create a LayerTypeLayer PlatformCALayer for the visible rect indicator.
2581         It doesn't need to paint anything, so it doesn't get an owner.
2582
2583         (WebCore::TileController::createTileLayer):
2584         When creating a new tile layer, adopt it by setting its owner.
2585         Otherwise, straightforward adjustments towards use of PlatformCALayer.
2586
2587         (WebCore::TileController::platformCALayerIncrementRepaintCount):
2588         Manage repaint counts for tiles in TileController now.
2589
2590         (WebCore::TileController::drawTileMapContents):
2591         Adjustments towards use of PlatformCALayer.
2592
2593         * platform/graphics/ca/mac/WebTileLayer.h: Removed.
2594         * platform/graphics/ca/mac/WebTileLayer.mm: Removed.
2595         We don't need WebTileLayer anymore, tiles are now just WebSimpleLayers
2596         owned by TileController. Its behavior has been moved into TileController.
2597
2598         * platform/graphics/ca/mac/WebTiledBackingLayer.h:
2599         * platform/graphics/ca/mac/WebTiledBackingLayer.mm:
2600         (-[WebTiledBackingLayer createTileController:]):
2601         Add createTileController: so that the WebTiledBackingLayer's owner can
2602         hand the TileController the PlatformCALayer for the WebTiledBackingLayer
2603         without propagating additional usage of PlatformCALayer::platformCALayer(),
2604         which we need to remove in light of the remote layer tree work.
2605
2606         (-[WebTiledBackingLayer setBorderColor:]):
2607
2608         * platform/graphics/ca/win/PlatformCALayerWin.h:
2609         Add an empty implementation of setEdgeAntialiasingMask.
2610         We'll probably want to implement it before adopting TileController on Windows.
2611
2612         * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:
2613         (PlatformCALayerWinInternal::displayCallback):
2614         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
2615         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerPaintContents):
2616         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerIncrementRepaintCount):
2617         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
2618         (WebCore::LayerClient::platformCALayerPaintContents):
2619         (WebCore::LayerClient::platformCALayerIncrementRepaintCount):
2620         Adjust for new parameters on PlatformCALayerClient callbacks.
2621
2622         * platform/graphics/mac/WebLayer.h:
2623         Add WebSimpleLayer, which inherits directly from CALayer, and make
2624         our standard WebLayer (which is used for compositing layers in web content)
2625         inherit from that.
2626
2627         * platform/graphics/mac/WebLayer.mm:
2628         Move most of the behavior of WebLayer onto WebSimpleLayer, except for its
2629         complex painting code. That stays as an override on WebLayer.
2630
2631         (WebCore::drawLayerContents):
2632         Use the PlatformCALayer's PlatformLayer - if it exists - to extract
2633         fine-grained repaint rects. If it doesn't, we'll just use the CGContext's
2634         clip rect as our single repaint rect.
2635         Rename platformLayer to platformCALayer for accuracy.
2636         Remove special code for CATiledLayer since we ought not use it on Mac anymore.
2637
2638         (WebCore::drawRepaintIndicator):
2639         Factor repaint indicator code out into its own function so that TileController
2640         can use it. It can't be called from drawLayerContents for TileController, since
2641         the PlatformCALayer that TileController passes in to drawLayerContents is actually
2642         that of the tile cache's root layer, not the tile itself.
2643         Also, add a custom background color parameter so TileController can override
2644         the default green color with its own standard purple.
2645
2646         (-[WebLayer drawInContext:]):
2647         (-[WebSimpleLayer drawInContext:]):
2648         * platform/graphics/mac/WebTiledLayer.mm:
2649         (-[WebTiledLayer drawInContext:]):
2650         Removed a param from drawLayerContents because it's trivially acquirable
2651         from the PlatformCALayer.
2652
2653 2013-10-24  Sam Weinig  <sam@webkit.org>
2654
2655         Move RenderBlock functions only used by RenderBlockFlow to RenderBlockFlow
2656         https://bugs.webkit.org/show_bug.cgi?id=123318
2657
2658         Reviewed by David Hyatt.
2659
2660         * rendering/LineLayoutState.h:
2661         Move FloatWithRect from RenderBlock.
2662
2663         * rendering/RenderBlock.cpp:
2664         * rendering/RenderBlock.h:
2665         * rendering/RenderBlockFlow.cpp:
2666         * rendering/RenderBlockFlow.h:
2667         * rendering/RenderBlockLineLayout.cpp:
2668         Move pagination and float functions.
2669
2670 2013-10-28  Sergio Villar Senin  <svillar@igalia.com>
2671
2672         [CSS Grid Layout] Add support for order inside grid items
2673         https://bugs.webkit.org/show_bug.cgi?id=123208
2674
2675         Reviewed by Antti Koivisto.
2676
2677         Based on Blink r153457 and r153536 by <jchaffraix@chromium.org>
2678
2679         Added support for sorting grid items by using -webkit-order
2680         property. Used OrderIterator to implement it so it had to be moved
2681         out of RenderFlexibleBox to be shared with RenderGrid.
2682
2683         Tests: fast/css-grid-layout/grid-item-order-auto-flow-resolution.html
2684                fast/css-grid-layout/grid-item-order-paint-order.html
2685
2686         * CMakeLists.txt: Added new file.
2687         * GNUmakefile.list.am: Ditto.
2688         * WebCore.vcxproj/WebCore.vcxproj: Ditto.
2689         * WebCore.xcodeproj/project.pbxproj: Ditto.
2690         * rendering/OrderIterator.cpp: Added. Ripped out of RenderFlexibleBox.
2691         (WebCore::OrderIterator::OrderIterator):
2692         (WebCore::OrderIterator::setOrderValues): Use std::move semantics.
2693         (WebCore::OrderIterator::first): Use an integer as iterator.
2694         (WebCore::OrderIterator::next): Ditto.
2695         (WebCore::OrderIterator::reset): Ditto.
2696         * rendering/OrderIterator.h: Added.
2697         (WebCore::OrderIterator::currentChild):
2698         * rendering/RenderFlexibleBox.cpp:
2699         (WebCore::RenderFlexibleBox::RenderFlexibleBox):
2700         (WebCore::RenderFlexibleBox::layoutBlock):
2701         * rendering/RenderFlexibleBox.h:
2702         * rendering/RenderGrid.cpp:
2703         (WebCore::RenderGrid::RenderGrid):
2704         (WebCore::RenderGrid::placeItemsOnGrid):
2705         (WebCore::RenderGrid::populateExplicitGridAndOrderIterator):
2706         (WebCore::RenderGrid::paintChildren):
2707         * rendering/RenderGrid.h:
2708
2709 2013-10-28  Afonso R. Costa Jr.  <afonso.costa@samsung.com>
2710
2711         Methods on window.internals shouldn't pass a document.
2712         https://bugs.webkit.org/show_bug.cgi?id=107301
2713
2714         Reviewed by Alexey Proskuryakov.
2715
2716         Each 'Internals' instance is associated with a 'Document'. So, it
2717         is not necessary to pass a document as argument. Only nodesFromRect and
2718         layerTreeAsText methods were kept because, in some Layout Tests, the
2719         'Document' object is not the same used by Internals::contextDocument.
2720
2721         * testing/Internals.cpp: Removed 'document' parameter.
2722         (WebCore::Internals::animationsAreSuspended):
2723         (WebCore::Internals::suspendAnimations):
2724         (WebCore::Internals::resumeAnimations):
2725         (WebCore::Internals::inspectorHighlightRects):
2726         (WebCore::Internals::inspectorHighlightObject):
2727         (WebCore::Internals::setScrollViewPosition):
2728         (WebCore::Internals::setPagination):
2729         (WebCore::Internals::configurationForViewport):
2730         (WebCore::Internals::paintControlTints):
2731         (WebCore::Internals::setDelegatesScrolling):
2732         (WebCore::Internals::touchPositionAdjustedToBestClickableNode):
2733         (WebCore::Internals::touchNodeAdjustedToBestClickableNode):
2734         (WebCore::Internals::touchPositionAdjustedToBestContextMenuNode):
2735         (WebCore::Internals::touchNodeAdjustedToBestContextMenuNode):
2736         (WebCore::Internals::bestZoomableAreaForTouchPoint):
2737         (WebCore::Internals::lastSpellCheckRequestSequence):
2738         (WebCore::Internals::lastSpellCheckProcessedSequence):
2739         (WebCore::Internals::wheelEventHandlerCount):
2740         (WebCore::Internals::touchEventHandlerCount):
2741         (WebCore::Internals::setBatteryStatus):
2742         (WebCore::Internals::setNetworkInformation):
2743         (WebCore::Internals::setDeviceProximity):
2744         (WebCore::Internals::hasSpellingMarker):
2745         (WebCore::Internals::hasAutocorrectedMarker):
2746         (WebCore::Internals::isOverwriteModeEnabled):
2747         (WebCore::Internals::toggleOverwriteModeEnabled):
2748         (WebCore::Internals::consoleMessageArgumentCounts):
2749         (WebCore::Internals::hasGrammarMarker):
2750         (WebCore::Internals::numberOfScrollableAreas):
2751         (WebCore::Internals::isPageBoxVisible):
2752         (WebCore::Internals::repaintRectsAsText):
2753         (WebCore::Internals::scrollingStateTreeAsText):
2754         (WebCore::Internals::mainThreadScrollingReasons):
2755         (WebCore::Internals::nonFastScrollableRects):
2756         (WebCore::Internals::garbageCollectDocumentResources):
2757         (WebCore::Internals::insertAuthorCSS):
2758         (WebCore::Internals::insertUserCSS):
2759         (WebCore::Internals::shortcutIconURLs):
2760         (WebCore::Internals::allIconURLs):
2761         (WebCore::Internals::setHeaderHeight):
2762         (WebCore::Internals::setFooterHeight):
2763         (WebCore::Internals::webkitWillEnterFullScreenForElement):
2764         (WebCore::Internals::webkitDidEnterFullScreenForElement):
2765         (WebCore::Internals::webkitWillExitFullScreenForElement):
2766         (WebCore::Internals::webkitDidExitFullScreenForElement):
2767         (WebCore::Internals::startTrackingRepaints):
2768         (WebCore::Internals::stopTrackingRepaints):
2769         (WebCore::Internals::getCurrentCursorInfo):
2770         * testing/Internals.h:
2771         (WebCore::Internals::setPagination):
2772         * testing/Internals.idl:
2773
2774 2013-10-28  Xabier Rodriguez Calvar  <calvaris@igalia.com>
2775
2776         Remove HTMLMediaElement.startTime
2777         https://bugs.webkit.org/show_bug.cgi?id=123264
2778
2779         Reviewed by Eric Carlson.
2780
2781         Patch based on one by: philipj@opera.com
2782         Blink review URL: https://codereview.chromium.org/32583003
2783
2784         startTime has been removed from the HTMLMediaElement and its use
2785         in the rest of components.
2786
2787         * Modules/mediacontrols/mediaControlsApple.js:
2788         (Controller.prototype.handleRewindButtonClicked):
2789         (Controller.prototype.handleTimelineMouseMove):
2790         (Controller.prototype.updateDuration):
2791         (Controller.prototype.updateTime): Removed used of startTime().
2792         * bindings/gobject/WebKitDOMCustom.cpp:
2793         (webkit_dom_html_media_element_get_start_time):
2794         * bindings/gobject/WebKitDOMCustom.h:
2795         * bindings/gobject/WebKitDOMCustom.symbols: Added phony function.
2796         * html/HTMLMediaElement.cpp:
2797         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
2798         (WebCore::HTMLMediaElement::isBlockedOnMediaController): Removed
2799         use of startTime()
2800         * html/HTMLMediaElement.h:
2801         * html/HTMLMediaElement.idl: Removed startTime()
2802         * rendering/RenderThemeWinCE.cpp:
2803         (WebCore::RenderThemeWinCE::paintSliderThumb): Removed use of
2804         startTime()
2805
2806 2013-10-28  Andreas Kling  <akling@apple.com>
2807
2808         RenderElement::m_style should be a Ref.
2809         <https://webkit.org/b/123401>
2810
2811         Made RenderElement::m_style a Ref. This codifies the fact that it
2812         can never be null after construction.
2813
2814         Removed a couple of unnecessary null checks that were exposed as
2815         compilation failures.
2816
2817         Reviewed by Antti Koivisto.
2818
2819 2013-10-28  Bastien Nocera <hadess@hadess.net>
2820
2821         Name all the GLib timeout sources
2822         https://bugs.webkit.org/show_bug.cgi?id=123229
2823
2824         Reviewed by Anders Carlsson.
2825
2826         Give a name to GLib timeout sources, this is helpful when
2827         profiling WebKitGTK applications.
2828
2829         No new tests, no change in functionality.
2830
2831 2013-10-28  Philippe Normand  <pnormand@igalia.com>
2832
2833         MediaStreamTrackPrivate's m_client uninitialized
2834         https://bugs.webkit.org/show_bug.cgi?id=123403
2835
2836         Reviewed by Eric Carlson.
2837
2838         No new tests, no change in functionality.
2839
2840         * platform/mediastream/MediaStreamTrackPrivate.cpp:
2841         (WebCore::MediaStreamTrackPrivate::MediaStreamTrackPrivate):
2842         Initialize the m_client member variable.
2843
2844 2013-10-28  Carlos Garcia Campos  <cgarcia@igalia.com>
2845
2846         Unreviewed. Fix make distcheck.
2847
2848         * GNUmakefile.am: Add crypto idl files to EXTRA_DIST and remove
2849         css/fullscreenQuickTime.css that was removed.
2850
2851 2013-10-28  Antti Koivisto  <antti@apple.com>
2852
2853         Prepare simple line layout to support multiple runs per line
2854         https://bugs.webkit.org/show_bug.cgi?id=123400
2855
2856         Reviewed by Andreas Kling.
2857
2858         Bunch of renaming and some refactoring for future support for text runs.
2859
2860         SimpleLineLayout::Lines -> SimpleLineLayout::Layout and becomes a class instead of a typedef.
2861         SimpleLineLayout::Resolver::Line -> SimpleLineLayout::Resolver::Run
2862         SimpleLineLayout::createLines() -> SimpleLineLayout::create()
2863         RenderBlockFlow::simpleLines() -> RenderBlockFlow::simpleLineLayout()
2864         RenderText::simpleLines() -> RenderText::simpleLineLayout()
2865         
2866         Added resolver construction functions:
2867         
2868         SimpleLineLayout::runResolver()
2869         SimpleLineLayout::lineResolver()
2870
2871 2013-10-28  Mario Sanchez Prada  <mario.prada@samsung.com>
2872
2873         [GTK] Expose title and alternative text for links in image maps
2874         https://bugs.webkit.org/show_bug.cgi?id=84045
2875
2876         Reviewed by Chris Fleizach.
2877
2878         Change the way we decide when the title attribute should be
2879         used for the accessible description, by not relying in the
2880         titleTagShouldBeUsedInDescriptionField() helper function but
2881         in whether we have found a visible text for it or not.
2882
2883         This actually mimics what the Mac port does and so makes possible
2884         to share both the layout test and its expected results.
2885
2886         * accessibility/atk/WebKitAccessibleUtil.cpp:
2887         (accessibilityDescription): Update the method to determine
2888         whether the title attribute should be used for the description.
2889
2890 2013-10-28  Bastien Nocera <hadess@hadess.net>
2891
2892         Replace 0 timeouts g_timeout_add() by g_idle_add()
2893         https://bugs.webkit.org/show_bug.cgi?id=123260
2894
2895         Reviewed by Carlos Garcia Campos.
2896
2897         A zero timeout should be equivalent to using g_idle_add_full(G_PRIORITY_DEFAULT, ...)
2898         without the nagging feeling that the wrong API was used.
2899
2900         No new tests, no change in functionality.
2901
2902         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: Use g_idle_add() instead
2903         of 0-timer.
2904         (WebCore::MediaPlayerPrivateGStreamer::videoChanged):
2905         (WebCore::MediaPlayerPrivateGStreamer::audioChanged):
2906         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp: Ditto.
2907         (WebCore::MediaPlayerPrivateGStreamerBase::volumeChanged):
2908         (WebCore::MediaPlayerPrivateGStreamerBase::muteChanged):
2909         * platform/gtk/GtkDragAndDropHelper.cpp: Ditto.
2910         (WebCore::GtkDragAndDropHelper::handleDragLeave):
2911
2912 2013-10-28  Zan Dobersek  <zdobersek@igalia.com>
2913
2914         Re-enable simple line layout for GTK
2915         https://bugs.webkit.org/show_bug.cgi?id=123388
2916
2917         Reviewed by Andreas Kling.
2918
2919         * rendering/SimpleLineLayout.cpp:
2920         (WebCore::SimpleLineLayout::canUseFor): 8-bit TextRun support is now enabled for the GTK port, so the port
2921         can use the simple line layout.
2922
2923 2013-10-27  Andreas Kling  <akling@apple.com>
2924
2925         Fix 4 asserting SVG tests after r158097.
2926
2927         RenderElement::setStyle() is, quite surprisingly, a virtual function
2928         with a single override in RenderSVGBlock.
2929         To match the old behavior, we have to rewrite the display type from
2930         any inline type to block instead.
2931
2932         * rendering/RenderElement.cpp:
2933         (WebCore::RenderElement::initializeStyle):
2934
2935 2013-10-27  Andreas Kling  <akling@apple.com>
2936
2937         Tone down overzealous assertion from r158097.
2938
2939         RenderElement::initializeStyle() really only cares that there are no
2940         text renderers that we should be calling styleDidChange() on.
2941
2942         Tweak the code to only check that there are no text children.
2943
2944         * rendering/RenderElement.cpp:
2945         (WebCore::RenderElement::initializeStyle):
2946
2947 2013-10-27  Antti Koivisto  <antti@apple.com>
2948
2949         Enable center and right text alignment for simple lines
2950         https://bugs.webkit.org/show_bug.cgi?id=123398
2951
2952         Reviewed by Andreas Kling.
2953
2954         Support text-align:center and text-align:right on simple line layout path.
2955
2956         * rendering/SimpleLineLayout.cpp:
2957         (WebCore::SimpleLineLayout::canUseFor):
2958         
2959             text-align:justify is still not supported.
2960
2961         (WebCore::SimpleLineLayout::computeLineLeft):
2962         (WebCore::SimpleLineLayout::createLines):
2963         
2964             Do a rounding dance that matches the line boxes.
2965
2966         * rendering/SimpleLineLayout.h:
2967         
2968             Add left position to lines.
2969
2970         * rendering/SimpleLineLayoutResolver.h:
2971         (WebCore::SimpleLineLayout::Resolver::Line::rect):
2972         
2973             We now do rounding during layout.
2974
2975         (WebCore::SimpleLineLayout::Resolver::Line::baseline):
2976
2977 2013-10-27  Andreas Kling  <akling@apple.com>
2978
2979         Renderers should receive their style at construction.
2980         <https://webkit.org/b/123396>
2981
2982         Pass the RenderStyle to all non-text renderer constructors.
2983         After construction, initializeStyle() must be called (as a stopgap
2984         measure) until we are able to do style-derived initialization
2985         without virtual function calls.
2986
2987         With this change, RenderElement::m_style is never null. Subsequent
2988         patches will add enforcement for this and also make style() return
2989         a RenderStyle&.
2990
2991         I'm adding three FIXME's in this patch:
2992
2993             - createRendererIfNeeded() calls AnimationController to set up
2994               the initial style manually instead of asking RenderElement's
2995               setAnimatedStyle() to do it. This can probably be done in a
2996               nicer way, but it's not clear yet how.
2997
2998             - ImageContentData::createRenderer() does a bit of unnecessary
2999               work. This should be easy to clean up but got too distracting
3000               to be part of this patch.
3001
3002             - Document::createRenderTree() creates the RenderView with an
3003               initial dummy RenderStyle. I've done this because resolving
3004               the document style assumes we already have a RenderView.
3005
3006         For styleWillChange() implementations to detect that they are
3007         reacting to the initial style, I've added a hasInitializedStyle()
3008         function on RenderElement. This will return false until you've
3009         called initializeStyle() on the renderer. This should go away
3010         along with initializeStyle() eventually.
3011
3012         Reviewed by Antti Koivisto.
3013
3014 2013-10-26  Tim Horton  <timothy_horton@apple.com>
3015
3016         [mac] Remove WebTiledLayer
3017         https://bugs.webkit.org/show_bug.cgi?id=123395
3018
3019         Reviewed by Anders Carlsson.
3020
3021         Mac doesn't use CATiledLayer at all anymore. We have to keep
3022         LayerTypeTiledLayer around for Windows, for now, but we can
3023         get rid of WebTiledLayer and some related Mac-specific code.
3024
3025         No new tests, just removing dead code.
3026
3027         * WebCore.xcodeproj/project.pbxproj:
3028         Remove WebTiledLayer.*
3029
3030         * platform/graphics/ca/PlatformCALayer.h:
3031         * platform/graphics/ca/mac/PlatformCALayerMac.h:
3032         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
3033         (PlatformCALayerMac::PlatformCALayerMac):
3034         Remove synchronouslyDisplayTilesInRect, which was only used for WebTiledLayer on Mac.
3035         Remove WebTiledLayer instantiation and setup code.
3036
3037         * platform/graphics/mac/WebTiledLayer.h: Removed.
3038         * platform/graphics/mac/WebTiledLayer.mm: Removed.
3039
3040 2013-10-26  Andreas Kling  <akling@apple.com>
3041
3042         CTTE: RenderImageResourceStyleImage always has a StyleImage.
3043         <https://webkit.org/b/123390>
3044
3045         Codify the fact that RenderImageResourceStyleImage always wraps an
3046         existing StyleImage object.
3047
3048         Reviewed by Antti Koivisto.
3049
3050 2013-10-26  Antti Koivisto  <antti@apple.com>
3051
3052         Revert some accidental changes.
3053
3054         * css/CSSFontFaceSource.cpp:
3055         (WebCore::CSSFontFaceSource::getFontData):
3056         * css/CSSFontSelector.cpp:
3057         * css/CSSFontSelector.h:
3058
3059 2013-10-26  Mark Lam  <mark.lam@apple.com>
3060
3061         Gardening: fixed broken build.
3062         https://bugs.webkit.org/show_bug.cgi?id=123354.
3063
3064         * css/CSSFontSelector.h:
3065
3066 2013-10-26  Antti Koivisto  <antti@apple.com>
3067
3068         fast/frames/seamless/seamless-nested-crash.html asserts on wk2 only
3069         https://bugs.webkit.org/show_bug.cgi?id=123354
3070
3071         Reviewed by Andreas Kling.
3072
3073         * rendering/SimpleLineLayout.cpp:
3074         (WebCore::SimpleLineLayout::canUseFor):
3075         
3076             Don't enable simple line layout if the primary font is loading. The code expects
3077             to use the primary font metrics for all lines but those won't match the fallbacks
3078             when font is not loaded.
3079
3080 2013-10-26  Carlos Garcia Campos  <cgarcia@igalia.com>
3081
3082         [GTK] Deprecate public dispatch_event method in objects implementing EventTarget interface
3083         https://bugs.webkit.org/show_bug.cgi?id=123261
3084
3085         Reviewed by Gustavo Noronha Silva.
3086
3087         The interface function should be used instead.
3088
3089         * bindings/scripts/CodeGeneratorGObject.pm:
3090         (GetFunctionDeprecationInformation): Helper function to return the
3091         version when the function was deprecated and the function
3092         replacing the deprecated one.
3093         (GenerateFunction): Check if the function is deprecated to mark it
3094         as such in the header and API docs.
3095         * bindings/scripts/gobject-generate-headers.pl: Replace the unused
3096         WEBKIT_OBSOLETE_API macro with new macros to mark function as
3097         deprecated, using the glib macros so that we don't need checks for
3098         the platform.
3099         * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.h:
3100         * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
3101         * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.h:
3102         * bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.h:
3103         * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.h:
3104         * bindings/scripts/test/GObject/WebKitDOMTestException.h:
3105         * bindings/scripts/test/GObject/WebKitDOMTestInterface.h:
3106         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
3107         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
3108         * bindings/scripts/test/GObject/WebKitDOMTestTypedefs.h:
3109         * bindings/scripts/test/GObject/WebKitDOMattribute.h:
3110
3111 2013-10-25  Mark Lam  <mark.lam@apple.com>
3112
3113         DatabaseManager's ProposedDatabases need to be thread-safe.
3114         https://bugs.webkit.org/show_bug.cgi?id=123313.
3115
3116         Reviewed by Geoffrey Garen.
3117
3118         No new tests.
3119
3120         * Modules/webdatabase/DatabaseManager.cpp:
3121         (WebCore::DatabaseManager::DatabaseManager):
3122         (WebCore::DatabaseManager::existingDatabaseContextFor):
3123         (WebCore::DatabaseManager::registerDatabaseContext):
3124         (WebCore::DatabaseManager::unregisterDatabaseContext):
3125         (WebCore::DatabaseManager::didConstructDatabaseContext):
3126         (WebCore::DatabaseManager::didDestructDatabaseContext):
3127         (WebCore::DatabaseManager::openDatabaseBackend):
3128         (WebCore::DatabaseManager::addProposedDatabase):
3129         (WebCore::DatabaseManager::removeProposedDatabase):
3130         (WebCore::DatabaseManager::fullPathForDatabase):
3131         (WebCore::DatabaseManager::detailsForNameAndOrigin):
3132         * Modules/webdatabase/DatabaseManager.h:
3133
3134 2013-10-25  Joseph Pecoraro  <pecoraro@apple.com>
3135
3136         Upstream ENABLE(REMOTE_INSPECTOR) and enable on iOS and Mac
3137         https://bugs.webkit.org/show_bug.cgi?id=123111
3138
3139         Reviewed by Timothy Hatcher.
3140
3141         * Configurations/FeatureDefines.xcconfig:
3142         * WebCore.exp.in:
3143
3144 2013-10-25  Hans Muller  <hmuller@adobe.com>
3145
3146         [CSS Shapes] CORS-enabled fetch for shape image values
3147         https://bugs.webkit.org/show_bug.cgi?id=123114
3148
3149         Reviewed by Andreas Kling.
3150
3151         Access to shape images is now controlled by CORS CSS shape per
3152         http://dev.w3.org/csswg/css-shapes/#shape-outside-property.
3153         Previously shape images had to be same-origin.
3154
3155         Shape image URL access is defined by the same logic that defines
3156         canvas tainting: same-origin and data URLs are allowed and images
3157         with a "Access-Control-Allow-Origin:" header that's either "*" or
3158         that matches the document's origin.
3159
3160         A PotentiallyCrossOriginEnabled RequestOriginPolicy was added to
3161         ResourceLoaderOptions, to indicate that a "potentially CORS-enabled fetch"
3162         was to be undertaken. The CSSImageValue::cachedImage() method handles this
3163         option by effectively setting the "Origin:" request header (see
3164         updateRequestForAccessControl() in CrossOriginAccessControl.cpp).
3165         StyleResolver::loadPendingShapeImage() uses the new ResourceLoaderOption.
3166
3167         The static ShapeInsideInfo and ShapeOutsideInfo isEnabledFor() method
3168         now performs the CORS check for image valued shapes. The private
3169         isOriginClean() method from CanvasRenderingContext2D has been moved to
3170         the CachedImage class so that it can be shared by the Canvas and Shape
3171         implementations. It checks the response headers per the CORS spec.
3172
3173         Test: http/tests/security/shape-image-cors.html
3174
3175         * css/CSSImageValue.cpp:
3176         (WebCore::CSSImageValue::cachedImage): Handle the new ResourceLoaderOption.
3177         * css/StyleResolver.cpp:
3178         (WebCore::StyleResolver::loadPendingShapeImage): Set the new ResourceLoaderOption.
3179         * html/canvas/CanvasRenderingContext2D.cpp:
3180         (WebCore::CanvasRenderingContext2D::createPattern): Use the CachedImage::isOriginClean().
3181         * loader/ResourceLoaderOptions.h: Added PotentiallyCrossOriginEnabled to RequestOriginPolicy.
3182         * loader/cache/CachedImage.cpp:
3183         (WebCore::CachedImage::isOriginClean): Migrated from CanvasRenderingContext2D.
3184         * loader/cache/CachedImage.h:
3185         * rendering/shapes/ShapeInfo.cpp:
3186         (WebCore::::checkImageOrigin): Do the CORS check and log an error message if neccessary.
3187         * rendering/shapes/ShapeInfo.h:
3188         * rendering/shapes/ShapeInsideInfo.cpp:
3189         (WebCore::ShapeInsideInfo::isEnabledFor): Call checkImageOrigin() for images.
3190         * rendering/shapes/ShapeOutsideInfo.cpp:
3191         (WebCore::ShapeOutsideInfo::isEnabledFor): Ditto.
3192
3193 2013-10-25  Jer Noble  <jer.noble@apple.com>
3194
3195         [MSE] Fix runtime errors caused by mediasource IDL attributes.
3196         https://bugs.webkit.org/show_bug.cgi?id=123352
3197
3198         Reviewed by Eric Carlson.
3199
3200         Due to http://webkit.org/b/123178, MediaSource classes must add a GenerateIsReachable
3201         (and also a JSGenerateToJSObject) attribute to avoid runtime asserts and crashes.
3202
3203         * Modules/mediasource/MediaSource.idl:
3204         * Modules/mediasource/SourceBuffer.idl:
3205         * Modules/mediasource/SourceBufferList.idl:
3206         * Modules/mediasource/WebKitMediaSource.idl:
3207         * Modules/mediasource/WebKitSourceBufferList.idl:
3208
3209 2013-10-25  Jacky Jiang  <zhajiang@blackberry.com>
3210
3211         [BlackBerry] Browser crashed at PlatformGraphicsContext::addDrawLineForText() when trying to upload a video to youtube
3212         https://bugs.webkit.org/show_bug.cgi?id=123349
3213
3214         Reviewed by George Staikos.
3215         Internally reviewed by George Staikos, Konrad Piascik, Eli Fidler and Arvid Nilsson.
3216
3217         Browser crashed when dereferencing null PlatformGraphicsContext*.
3218         In FrameView::paintControlTints(), we intentionally constructed GraphicsContext
3219         with null PlatformGraphicsContext* and disabled painting by doing
3220         context.setUpdatingControlTints(true). So we should not go further in
3221         GraphicsContext::drawLineForText() if painting is disabled.
3222         Check paintingDisabled() for the other functions in PathBlackBerry.cpp
3223         as well; otherwise, it is likely we will crash at those places.
3224
3225         * platform/graphics/blackberry/PathBlackBerry.cpp:
3226         (WebCore::GraphicsContext::fillPath):
3227         (WebCore::GraphicsContext::strokePath):
3228         (WebCore::GraphicsContext::drawLine):
3229         (WebCore::GraphicsContext::drawLineForDocumentMarker):
3230         (WebCore::GraphicsContext::drawLineForText):
3231         (WebCore::GraphicsContext::clip):
3232         (WebCore::GraphicsContext::clipPath):
3233         (WebCore::GraphicsContext::canvasClip):
3234         (WebCore::GraphicsContext::clipOut):
3235
3236 2013-10-25  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
3237
3238         Adding platform implementation of MediaStreamTrack
3239         https://bugs.webkit.org/show_bug.cgi?id=123301
3240
3241         Reviewed by Eric Carlson.
3242
3243         No new tests needed.
3244
3245         * CMakeLists.txt:
3246         * Modules/mediastream/AudioStreamTrack.cpp:
3247         (WebCore::AudioStreamTrack::create): Create method now receives a MediaStreamTrackPrivate as parameter.
3248
3249         (WebCore::AudioStreamTrack::AudioStreamTrack):
3250         * Modules/mediastream/AudioStreamTrack.h:
3251         * Modules/mediastream/MediaStream.cpp:
3252         (WebCore::MediaStream::MediaStream): Constructor now iterates through a set of MediaStreamTrackPrivate
3253         instances to create each MediaStreamTrack of MediaStream.
3254
3255         (WebCore::MediaStream::addRemoteSource): Calling AudioStreamTrack and VideoStreamTrack with
3256         MediaStreamTrackPrivate as parameter.
3257
3258         * Modules/mediastream/MediaStreamTrack.cpp:
3259         (WebCore::MediaStreamTrack::MediaStreamTrack): Constructor now receives a MediaStreamTrackPrivate, instead of a
3260         MediaStreamSource.
3261
3262         (WebCore::MediaStreamTrack::~MediaStreamTrack):
3263         (WebCore::MediaStreamTrack::kind): Calling method from MediaStreamTrackPrivate.
3264
3265         (WebCore::MediaStreamTrack::setSource): Ditto.
3266
3267         (WebCore::MediaStreamTrack::id): Ditto.
3268
3269         (WebCore::MediaStreamTrack::label): Ditto.
3270
3271         (WebCore::MediaStreamTrack::enabled): Ditto.
3272
3273         (WebCore::MediaStreamTrack::setEnabled): Ditto.
3274
3275         (WebCore::MediaStreamTrack::muted): Ditto.
3276
3277         (WebCore::MediaStreamTrack::readonly): Ditto.
3278
3279         (WebCore::MediaStreamTrack::remote): Ditto.
3280
3281         (WebCore::MediaStreamTrack::readyState): Ditto.
3282
3283         (WebCore::MediaStreamTrack::states):
3284         (WebCore::MediaStreamTrack::capabilities):
3285         (WebCore::MediaStreamTrack::clone):
3286         (WebCore::MediaStreamTrack::stopProducingData):
3287         (WebCore::MediaStreamTrack::ended): Ditto.
3288
3289         (WebCore::MediaStreamTrack::sourceStateChanged): Ditto.
3290
3291         (WebCore::MediaStreamTrack::sourceMutedChanged): Ditto.
3292
3293         (WebCore::MediaStreamTrack::sourceEnabledChanged): Ditto.
3294         (WebCore::MediaStreamTrack::configureTrackRendering):
3295         (WebCore::MediaStreamTrack::stopped): Ditto.
3296
3297         (WebCore::MediaStreamTrack::trackDidEnd): Setting Ended ready state in MediaStreamTrackPrivate.
3298
3299         (WebCore::MediaStreamTrack::trackReadyStateChanged): Dispatches Live or Ended event.
3300
3301         (WebCore::MediaStreamTrack::trackMutedChanged): Dispatches Muted event.
3302
3303         * Modules/mediastream/MediaStreamTrack.h: Now inheriting from MediaStreamTrackPrivateClient.
3304
3305         (WebCore::MediaStreamTrack::source): Calling method from MediaStreamTrackPrivate.
3306         (WebCore::MediaStreamTrack::privateTrack):
3307         * Modules/mediastream/VideoStreamTrack.cpp:
3308         (WebCore::VideoStreamTrack::create):
3309         (WebCore::VideoStreamTrack::VideoStreamTrack): Create method now receives a MediaStreamTrackPrivate as parameter.
3310         * Modules/mediastream/VideoStreamTrack.h:
3311         * platform/mediastream/MediaStreamDescriptor.cpp:
3312         (WebCore::MediaStreamDescriptor::MediaStreamDescriptor): Stores the private tracks in a Vector (property of
3313         MediaStreamDescriptor class).
3314
3315         (WebCore::MediaStreamDescriptor::addTrack): Adds a private track to the tracks' Vector
3316
3317         (WebCore::MediaStreamDescriptor::removeTrack): Removes a private track from the tracks' Vector
3318
3319         * platform/mediastream/MediaStreamDescriptor.h:
3320         (WebCore::MediaStreamDescriptor::numberOfAudioSources): Renamed from numberOfAudioStreams.
3321
3322         (WebCore::MediaStreamDescriptor::audioSources): Renamed from audioStreams.
3323
3324         (WebCore::MediaStreamDescriptor::numberOfVideoSources): Renamed from numberOfVideoStreams.
3325
3326         (WebCore::MediaStreamDescriptor::videoSources): Renamed from videoStreams.
3327
3328         (WebCore::MediaStreamDescriptor::numberOfAudioTracks): Returns the number of audio tracks this MediaStreamDescriptor
3329         has.
3330
3331         (WebCore::MediaStreamDescriptor::audioTracks): Returns a audio track, given an index
3332
3333         (WebCore::MediaStreamDescriptor::numberOfVideoTracks): Returns the number of video tracks this MediaStreamDescriptor
3334         has.
3335         (WebCore::MediaStreamDescriptor::videoTracks): Returns a video track, given an index
3336         * platform/mediastream/MediaStreamTrackPrivate.cpp: Added.
3337         * platform/mediastream/MediaStreamTrackPrivate.h: Added.
3338
3339 2013-10-25  Zoltan Horvath  <zoltan@webkit.org>
3340
3341         [CSS Regions][CSS Shapes] Update updateShapeAndSegmentsForCurrentLineInFlowThread to deal better with multiple regions
3342         <https://webkit.org/b/123210>
3343
3344         Reviewed by David Hyatt.
3345
3346         I simplified the determination of the next region part of updateShapeAndSegmentsForCurrentLineInFlowThread's implementation
3347         in order to make the code more straightforward. I also tried to avoid using regionAtBlockOffset(...) function where it's possible,
3348         since it's not always that reliable, what I'll will report in a separate bug.
3349
3350         No new tests, covered by existing tests.
3351
3352         * rendering/RenderBlockLineLayout.cpp:
3353         (WebCore::RenderBlockFlow::updateShapeAndSegmentsForCurrentLineInFlowThread):
3354
3355 2013-10-25  Zoltan Horvath  <zoltan@webkit.org>
3356
3357         [CSS Regions][CSS Shapes] Update updateShapeAndSegmentsForCurrentLineInFlowThread to deal better with the first lines
3358         <https://bugs.webkit.org/show_bug.cgi?id=123275>
3359
3360         Reviewed by David Hyatt.
3361
3362         We have a complex condition in updateShapeAndSegmentsForCurrentLineInFlowThread, which is
3363         adjusting the first line to the shape's top. This patch adds two boolean to make that clear.
3364
3365         No new tests, no behavior change.
3366
3367         * rendering/RenderBlockLineLayout.cpp:
3368         (WebCore::RenderBlockFlow::updateShapeAndSegmentsForCurrentLineInFlowThread):
3369
3370 2013-10-25  Antti Koivisto  <antti@apple.com>
3371
3372         Faster way for simple line layout to check if text has fallback fonts
3373         https://bugs.webkit.org/show_bug.cgi?id=123342
3374
3375         Reviewed by Andreas Kling.
3376         
3377         Don't use RenderText::knownToHaveNoOverflowAndNoFallbackFonts as it is slow.
3378
3379         Simple text code path test already guarantees there is no overflow. Test for fallback
3380         fonts explicitly.
3381
3382         * platform/graphics/SimpleFontData.h:
3383         
3384             Make FINAL.
3385
3386         * rendering/RenderText.cpp:
3387         * rendering/RenderText.h:
3388         
3389             Remove knownToHaveNoOverflowAndNoFallbackFonts() as it has no clients.
3390
3391         * rendering/SimpleLineLayout.cpp:
3392         (WebCore::SimpleLineLayout::canUseFor):
3393         
3394             Check if all characters can be found from the primary font.
3395
3396 2013-10-25  Andreas Kling  <akling@apple.com>
3397
3398         SVGResourcesCache::clientDestroyed() should take a RenderElement&.
3399         <https://webkit.org/b/123339>
3400
3401         This function is always called with an object, and that object
3402         is guaranteed to never be a text renderer.
3403
3404         Reviewed by Antti Koivisto.
3405
3406 2013-10-25  Andreas Kling  <akling@apple.com>
3407
3408         SVGResourcesCache::clientLayoutChanged() should take a RenderElement&.
3409         <https://webkit.org/b/123336>
3410
3411         This function is always called with an object, and that object
3412         is guaranteed to never be a text renderer.
3413
3414         Reviewed by Antti Koivisto.
3415
3416 2013-10-25  Andreas Kling  <akling@apple.com>
3417
3418         SVGResourcesCache::clientStyleChanged() should take a RenderElement&.
3419         <https://webkit.org/b/123335>
3420
3421         This function is always called with an object, and that object
3422         is guaranteed to never be a text renderer.
3423
3424         Reviewed by Antti Koivisto.
3425
3426 2013-10-25  Andreas Kling  <akling@apple.com>
3427
3428         SVG: postApplyResource() should take a RenderElement&.
3429         <https://webkit.org/b/123334>
3430
3431         This function is always called with an object, and that object
3432         is guaranteed to never be a text renderer.
3433
3434         Reviewed by Antti Koivisto.
3435
3436 2013-10-25  Antti Koivisto  <antti@apple.com>
3437
3438         REGRESSION(r157950): It made many tests assert on Windows, EFL, GTK
3439         https://bugs.webkit.org/show_bug.cgi?id=123309
3440
3441         Reviewed by Andreas Kling.
3442
3443         Disable simple line layout on non-Mac plaforms for now.
3444
3445         * rendering/SimpleLineLayout.cpp:
3446         (WebCore::SimpleLineLayout::canUseFor):
3447
3448 2013-10-24  Andreas Kling  <akling@apple.com>
3449
3450         SVG: applyResource() should take a RenderElement&.
3451         <https://webkit.org/b/123286>
3452
3453         This function is always called with an object, and that object
3454         is guaranteed to never be a text renderer.
3455
3456         Reviewed by Antti Koivisto.
3457
3458 2013-10-25  Andreas Kling  <akling@apple.com>
3459
3460         RenderElement::styleWillChange() should pass newStyle as reference.
3461         <https://webkit.org/b/123332>
3462
3463         When styleWillChange() is called, there is always a new style getting
3464         set so there's no need to handle the null style case.
3465         This flushed out a couple of unnecessary checks.
3466
3467         Reviewed by Antti Koivisto.
3468
3469 2013-10-25  peavo@outlook.com  <peavo@outlook.com>
3470
3471         [WinCairo] Compile fixes.
3472         https://bugs.webkit.org/show_bug.cgi?id=123269
3473
3474         Reviewed by Csaba Osztrogon√°c.
3475
3476         * platform/graphics/win/ImageCairoWin.cpp: Added new parameter to BitmapImage::draw() calls.
3477         (WebCore::BitmapImage::getHBITMAPOfSize):
3478         (WebCore::BitmapImage::drawFrameMatchingSourceSize):
3479
3480 2013-10-25  Sergio Villar Senin  <svillar@igalia.com>
3481