1 2013-10-31 Zan Dobersek <zdobersek@igalia.com>
3 Manage SVGPathByteStream through std::unique_ptr
4 https://bugs.webkit.org/show_bug.cgi?id=123467
6 Reviewed by Anders Carlsson.
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.
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):
30 2013-10-31 Marcin Bychawski <m.bychawski@samsung.com>
32 Removing m_maxDeadCapacity condition in fast path in MemoryCache::prune().
33 https://bugs.webkit.org/show_bug.cgi?id=115631
35 Reviewed by Brent Fulgham.
37 If the m_maxDeadSize and m_deadSize are both 0, the method unnecessairly tries to prune resources.
39 No new tests, covered by existing ones.
41 * loader/cache/MemoryCache.cpp:
42 (WebCore::MemoryCache::prune):
44 2013-10-31 Joseph Pecoraro <pecoraro@apple.com>
46 Web Inspector: Remove stale optional native memory instrumentation protocol params
47 https://bugs.webkit.org/show_bug.cgi?id=123552
49 Reviewed by Timothy Hatcher.
51 * inspector/Inspector.json:
52 * inspector/InspectorTimelineAgent.cpp:
53 (WebCore::InspectorTimelineAgent::start):
54 * inspector/InspectorTimelineAgent.h:
56 2013-10-31 Zan Dobersek <zdobersek@igalia.com>
58 [GTK] Undefined references to RenderObject::style() when disabling video support
59 https://bugs.webkit.org/show_bug.cgi?id=123492
61 Reviewed by Carlos Garcia Campos.
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.
68 2013-10-31 Robert Plociennik <r.plociennik@samsung.com>
70 [EFL] accessibility/textbox-role-reports-selection.html is failing
71 https://bugs.webkit.org/show_bug.cgi?id=112017
73 Reviewed by Mario Sanchez Prada.
75 getSelectionOffsetsForObject() now returns proper start/end offsets for
76 selections "touching" the object's front border.
78 No new tests, covered by existing ones.
80 * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
81 (getSelectionOffsetsForObject):
83 2013-10-31 Ryuan Choi <ryuan.choi@samsung.com>
85 [EFL][GLES] OpenGL should be optional
86 https://bugs.webkit.org/show_bug.cgi?id=123399
88 Reviewed by Noam Rosenthal.
90 * CMakeLists.txt: Make OpenGL dependencies as optional.
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
103 2013-10-30 Santosh Mahto <santosh.ma@samsung.com>
105 [webcore/editing] remove extra header includes from cpp files.
106 https://bugs.webkit.org/show_bug.cgi?id=123524
108 Reviewed by Ryosuke Niwa.
110 Removing redundant header files.
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:
142 2013-10-30 Brady Eidson <beidson@apple.com>
144 IDB Database versions are uint64_t, not int64_t
145 https://bugs.webkit.org/show_bug.cgi?id=123556
147 Reviewed by Alexey Proskuryakov.
149 * Modules/indexeddb/IDBBackingStoreInterface.h:
151 * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
152 (WebCore::IDBDatabaseBackendImpl::processPendingCalls):
153 (WebCore::IDBDatabaseBackendImpl::openConnection):
154 * Modules/indexeddb/IDBDatabaseBackendImpl.h:
156 * Modules/indexeddb/IDBFactoryBackendInterface.h:
158 * Modules/indexeddb/IDBPendingOpenCall.h:
159 (WebCore::IDBPendingOpenCall::create):
160 (WebCore::IDBPendingOpenCall::version):
161 (WebCore::IDBPendingOpenCall::IDBPendingOpenCall):
163 * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
164 (WebCore::IDBDatabaseBackendImpl::VersionChangeOperation::perform):
166 * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
167 (WebCore::IDBBackingStoreLevelDB::updateIDBDatabaseVersion):
168 * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
170 * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
171 (WebCore::IDBFactoryBackendLevelDB::open):
172 * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
174 2013-10-30 Brendan Long <b.long@cablelabs.com>
176 [Gtk] Build is failing after r158317
177 https://bugs.webkit.org/show_bug.cgi?id=123544
179 Reviewed by Alexey Proskuryakov.
181 No new tests since this just fixes the build.
183 * GNUmakefile.list.am: Add JSCryptoKey.cpp and JSCryptoKey.h
185 2013-10-30 Andreas Kling <akling@apple.com>
187 Manage EllipsisBox objects with unique_ptr.
188 <https://webkit.org/b/123554>
190 Use smart pointers to store ellipsis boxes instead of new/delete.
192 Reviewed by Anders Carlsson.
194 2013-10-30 Alexey Proskuryakov <ap@apple.com>
196 [Gtk] Build is failing after r158317
197 https://bugs.webkit.org/show_bug.cgi?id=123544
199 Use a correct style for JSC includes.
201 * ForwardingHeaders/runtime/JSPromise.h: Added.
202 * ForwardingHeaders/runtime/JSPromiseResolver.h: Added.
203 * bindings/js/JSDOMPromise.h:
205 2013-10-30 Andreas Kling <akling@apple.com>
207 Replace InlineBox::destroy() with regular virtual destruction.
208 <https://webkit.org/b/123550>
210 Move logic out of destroy() and its overloads into good ol' virtual
213 Reviewed by Anders Carlsson.
215 2013-10-30 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org>
217 Simplifying MediaStream and MediStreamDescriptor creation
218 https://bugs.webkit.org/show_bug.cgi?id=123443
220 Reviewed by Eric Carlson.
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.
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.
234 * Modules/webaudio/MediaStreamAudioDestinationNode.cpp:
235 (WebCore::MediaStreamAudioDestinationNode::MediaStreamAudioDestinationNode): Removed passing flag to
236 MediaStreamDescriptor create.
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.
244 (WebCore::MediaStreamDescriptor::addTrack): Changed to store the track's source in the object.
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.
256 2013-10-30 Brent Fulgham <bfulgham@apple.com>
258 [Win] Legible Output callbacks should happen on notification queue
259 https://bugs.webkit.org/show_bug.cgi?id=123545
261 Reviewed by Eric Carlson.
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.
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.
280 2013-10-30 Alexey Proskuryakov <ap@apple.com>
282 XHR.response is null when requesting empty file as arraybuffer
283 https://bugs.webkit.org/show_bug.cgi?id=123457
285 Reviewed by Sam Weinig.
287 Test: http/tests/xmlhttprequest/response-empty-arraybuffer.html
289 * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::responseArrayBuffer): Don't do this.
291 2013-10-30 Samuel White <samuel_white@apple.com>
293 AX: AXFocused not exposed on ARIA menuitems
294 https://bugs.webkit.org/show_bug.cgi?id=123494
296 Reviewed by Chris Fleizach.
298 ARIA menuitems should expose AXFocused accessibility attribute.
300 Test: platform/mac/accessibility/aria-menuitem-focus.html
302 * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
303 (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
305 2013-10-30 Joseph Pecoraro <pecoraro@apple.com>
307 Web Inspector: Remove basic uses of InspectorState from agents
308 https://bugs.webkit.org/show_bug.cgi?id=123534
310 Reviewed by Timothy Hatcher.
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.
321 * inspector/InspectorApplicationCacheAgent.cpp:
322 (WebCore::InspectorApplicationCacheAgent::enable):
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.
332 * inspector/InspectorCanvasAgent.cpp:
333 (WebCore::InspectorCanvasAgent::enable):
334 (WebCore::InspectorCanvasAgent::disable):
335 Remove unused state, member variable already existed.
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.
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.
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.
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.
373 * inspector/InspectorDatabaseAgent.cpp:
374 (WebCore::InspectorDatabaseAgent::enable):
375 (WebCore::InspectorDatabaseAgent::disable):
376 Remove unused state, m_enabled already existed.
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.
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.
397 * inspector/InspectorIndexedDBAgent.cpp:
398 (WebCore::InspectorIndexedDBAgent::enable):
399 (WebCore::InspectorIndexedDBAgent::disable):
400 Remove unused state, never read.
402 * inspector/InspectorLayerTreeAgent.cpp:
403 (WebCore::InspectorLayerTreeAgent::enable):
404 (WebCore::InspectorLayerTreeAgent::disable):
405 Remove unused state, did not need to be read.
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.
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.
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).
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.
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.
488 * inspector/PageRuntimeAgent.cpp:
489 (WebCore::PageRuntimeAgent::enable):
490 (WebCore::PageRuntimeAgent::disable):
491 Remove unused state, not read.
493 2013-10-30 Ryosuke Niwa <rniwa@webkit.org>
495 Remove code for Mac Lion
496 https://bugs.webkit.org/show_bug.cgi?id=123542
498 Reviewed by Anders Carlsson.
500 Removed the code for Mac OS X 10.7.
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):
529 2013-10-30 Alexey Proskuryakov <ap@apple.com>
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
535 Reviewed by Darin Adler.
538 (WebCore::Settings::setMockScrollbarsEnabled):
539 (WebCore::Settings::setUsesOverlayScrollbars):
542 2013-10-30 Andreas Kling <akling@apple.com>
544 Take line boxes out of the arena.
545 <https://webkit.org/b/123533>
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.
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.
556 BiDi runs are the only remaining user of the arena now.
558 Reviewed by Antti Koivisto
560 2013-10-30 Joseph Pecoraro <pecoraro@apple.com>
562 Web Inspector: Remove InspectorAgent::restore functionality
563 https://bugs.webkit.org/show_bug.cgi?id=123525
565 Reviewed by Timothy Hatcher.
567 Remove unused InspectorAgent restore functionality.
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:
608 2013-10-30 Jer Noble <jer.noble@apple.com>
610 REGRESSION(r158288): media/media-can-play-mpeg4-video.html fails
611 https://bugs.webkit.org/show_bug.cgi?id=123530
613 Reviewed by Eric Carlson.
615 Lower case the mime type before passing it along to MediaPlayer.
617 * html/HTMLMediaElement.cpp:
618 (WebCore::HTMLMediaElement::canPlayType):
619 (WebCore::HTMLMediaElement::selectNextSourceChild):
621 2013-10-30 Alexey Proskuryakov <ap@apple.com>
623 Add a way to fulfill promises from DOM code
624 https://bugs.webkit.org/show_bug.cgi?id=123466
626 Reviewed by Sam Weinig.
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.
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:
638 * bindings/js/JSDOMPromise.cpp: Added.
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.
646 2013-10-30 Santosh Mahto <santosh.ma@samsung.com>
648 contentEditable deleting lists when list items are block level
649 https://bugs.webkit.org/show_bug.cgi?id=122602
651 Reviewed by Ryosuke Niwa.
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.
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
665 Test: editing/execCommand/hit-enter-twice-atendof-block-styled-listitem.html
667 * editing/htmlediting.cpp:
668 (WebCore::isListItem): Modified condition to check if parent node is list;
670 2013-10-30 Jer Noble <jer.noble@apple.com>
672 Unreviewed EFL build fix; give MediaEngineSupportParameters struct a default constructor.
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):
684 2013-10-30 Andreas Kling <akling@apple.com>
686 Let Page::renderTreeSize() be the number of renderers.
687 <https://webkit.org/b/123518>
688 <rdar://problem/15348679>
690 The old metric was "number of bytes allocated in RenderArena" and
691 that was heading towards obsolescence, fast.
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.
697 Reviewed by Beth Dakin.
699 2013-10-30 Myles C. Maxfield <mmaxfield@apple.com>
701 WebKit/win/WebKitGraphics.h:void WebDrawText(WebTextRenderInfo*); is never called
702 https://bugs.webkit.org/show_bug.cgi?id=123485
704 Reviewed by Brent Fulgham.
706 WebDrawText is the only caller of WebCoreDrawTextAtPoint, so we can
709 Because there is no behavior difference, no new tests are necessary.
711 * platform/win/WebCoreTextRenderer.cpp:
712 * platform/win/WebCoreTextRenderer.h:
714 2013-10-30 Csaba Osztrogonác <ossy@webkit.org>
719 * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
720 (WebCore::IDBFactoryBackendLevelDB::createCursorBackend):
722 2013-10-30 Dong-Gwan Kim <donggwan.kim@samsung.com>
724 Build fails with EGLConfigSelector.cpp when OpenGL ES is not used
725 https://bugs.webkit.org/show_bug.cgi?id=119037
727 Reviewed by Brent Fulgham.
729 Build fix for EGLConfigSelector.cpp
731 No new tests, no behavior change.
733 * platform/graphics/surfaces/egl/EGLConfigSelector.cpp:
734 (WebCore::EGLConfigSelector::createConfig):
736 2013-10-30 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org>
738 Explicitly initialize base class in MediStreamTrackPrivate copy constructor
739 https://bugs.webkit.org/show_bug.cgi?id=123473
741 Reviewed by Eric Carlson.
745 Ports that enable -Werror=extra must do that to compile.
747 * platform/mediastream/MediaStreamTrackPrivate.cpp:
748 (WebCore::MediaStreamTrackPrivate::MediaStreamTrackPrivate):
750 2013-10-30 Ryosuke Niwa <rniwa@webkit.org>
752 Mac build fix after r158291.
754 * html/HTMLMediaElement.cpp:
755 (WebCore::HTMLMediaElement::canPlayType):
757 2013-10-30 Commit Queue <commit-queue@webkit.org>
759 Unreviewed, rolling out r158243.
760 http://trac.webkit.org/changeset/158243
761 https://bugs.webkit.org/show_bug.cgi?id=123520
763 Change was wrong (Requested by smfr on #webkit).
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):
780 2013-10-30 peavo@outlook.com <peavo@outlook.com>
782 Favicons are flipped in vertical direction in WinCairo builds.
783 https://bugs.webkit.org/show_bug.cgi?id=102077
785 Reviewed by Brent Fulgham.
787 * platform/graphics/win/ImageCairoWin.cpp:
788 (WebCore::BitmapImage::getHBITMAPOfSize):
790 2013-10-30 Jer Noble <jer.noble@apple.com>
792 [MSE] Add MediaSource compatable loading functions to MediaPlayer
793 https://bugs.webkit.org/show_bug.cgi?id=123353
795 Reviewed by Eric Carlson.
797 Add methods to MediaPlayer to allow it to select the correct MediaPlayerFactory
798 when attempting to load a MediaSource URL.
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):
814 Remove the isSupportedMediaSourceMIMEType() method:
815 * platform/MIMETypeRegistry.h:
816 * platform/efl/MIMETypeRegistryEfl.cpp:
817 * platform/mac/MIMETypeRegistryMac.mm:
820 2013-10-30 Brady Eidson <beidson@apple.com>
822 IDBCursorBackendLevelDB should be made cross-platform
823 https://bugs.webkit.org/show_bug.cgi?id=123513
825 Rubberstamped by Andreas Kling.
827 Because of all the already-done refactoring, this is basically a file-move and global rename.
830 * GNUmakefile.list.am:
831 * WebCore.xcodeproj/project.pbxproj:
832 * WebCore.vcxproj/WebCore.vcxproj:
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.
837 * Modules/indexeddb/IDBCursorBackendInterface.h:
839 * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
841 2013-10-29 Jer Noble <jer.noble@apple.com>
843 [MSE] Remove legacy Media Source APIs (WebKitMediaSource, WebKitSourceBuffer, WebKitSourceBufferList)
844 https://bugs.webkit.org/show_bug.cgi?id=123463
846 Reviewed by Eric Carlson.
848 No new tests; updated test results.
850 Remove all reference to WebKitMediaSource, WebKitSourceBuffer, and WebKitSourceBufferList.
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:
869 2013-10-30 Antti Koivisto <antti@apple.com>
871 Unbreak the release build.
873 * rendering/SimpleLineLayoutFunctions.cpp:
875 2013-10-30 Liangjun Zeng <lizeng@blackberry.com>
877 Fix memory leaks in platform/image-encoders/JPEGImageEncoder.cpp
878 https://bugs.webkit.org/show_bug.cgi?id=118781
880 Reviewed by Brent Fulgham.
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.
888 * platform/image-encoders/JPEGImageEncoder.cpp:
889 (WebCore::compressRGBABigEndianToJPEG):
891 2013-10-30 Antti Koivisto <antti@apple.com>
893 Add debug settings for simple line layout
894 https://bugs.webkit.org/show_bug.cgi?id=123514
896 Reviewed by Andreas Kling.
901 Add simpleLineLayoutEnabled and simpleLineLayoutDebugBordersEnabled.
903 * rendering/SimpleLineLayout.cpp:
904 (WebCore::SimpleLineLayout::canUseFor):
905 * rendering/SimpleLineLayoutFunctions.cpp:
906 (WebCore::SimpleLineLayout::paintDebugBorders):
907 (WebCore::SimpleLineLayout::paintFlow):
909 2013-10-30 peavo@outlook.com <peavo@outlook.com>
911 [Curl] Cookies are sometimes not set in download request.
912 https://bugs.webkit.org/show_bug.cgi?id=123445
914 Reviewed by Brent Fulgham.
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.
921 * platform/network/curl/CurlDownload.cpp:
922 (WebCore::CurlDownload::init): Use share handle to get cookie list.
924 2013-10-30 ChangSeok Oh <changseok.oh@collabora.com>
926 Unguard Element::childShouldCreateRenderer
927 https://bugs.webkit.org/show_bug.cgi?id=123496
929 Reviewed by Andreas Kling.
931 Make Element::childShouldCreateRenderer normally accessible. Guarding it with flags
932 just leaves potential build issues.
934 No new tests since no functionality changed.
937 (WebCore::Element::childShouldCreateRenderer):
940 2013-10-30 Jer Noble <jer.noble@apple.com>
942 [MSE] Make MediaSourcePrivate, SourceBufferPrivate classes RefCounted.
943 https://bugs.webkit.org/show_bug.cgi?id=123350
945 Reviewed by Darin Adler.
947 Make the MediaSourcePrivate and SourceBufferPrivate classes RefCounted so that
948 they can be referenced both by MediaSource/SourceBuffer, and by the MediaPlayerPrivate
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):
973 2013-10-30 Allan Sandfeld Jensen <allan.jensen@digia.com>
975 Remove unused runtime enabled
976 https://bugs.webkit.org/show_bug.cgi?id=123509
978 Reviewed by Anders Carlsson.
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.
983 * bindings/generic/RuntimeEnabledFeatures.cpp:
984 (WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures):
985 * bindings/generic/RuntimeEnabledFeatures.h:
987 2013-10-30 Antti Koivisto <antti@apple.com>
989 Make SimpleLineLayout::Layout a class
990 https://bugs.webkit.org/show_bug.cgi?id=123508
992 Reviewed by Mario Sanchez Prada.
994 Improve encapsulation.
996 2013-10-30 Antti Koivisto <antti@apple.com>
998 REGRESSION(r158214): It made zillion tests crash on GTK and EFL
999 https://bugs.webkit.org/show_bug.cgi?id=123505
1001 * rendering/SimpleLineLayout.h: Add WTF_MAKE_FAST_ALLOCATED
1003 2013-10-29 Philippe Normand <pnormand@igalia.com>
1005 [GStreamer] Store video-sink in a bin
1006 https://bugs.webkit.org/show_bug.cgi?id=122831
1008 Reviewed by Gustavo Noronha Silva.
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
1016 No new tests, no change in functionality.
1018 2013-10-29 Ryosuke Niwa <rniwa@webkit.org>
1020 REGRESSION(r154614): Opening and closing a picture on Facebook resets scroll position
1021 https://bugs.webkit.org/show_bug.cgi?id=122882
1023 Reviewed by Anders Carlsson.
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.
1028 * html/HTMLBodyElement.cpp:
1029 (WebCore::HTMLBodyElement::scrollLeft):
1030 (WebCore::HTMLBodyElement::setScrollLeft):
1031 (WebCore::HTMLBodyElement::scrollTop):
1032 (WebCore::HTMLBodyElement::setScrollTop):
1034 2013-10-29 Brady Eidson <beidson@apple.com>
1036 IDBTransactionBackend should be cross platform
1037 https://bugs.webkit.org/show_bug.cgi?id=123449
1039 Reviewed by Beth Dakin.
1041 - Rename IDBTransactionBackendLevelDB to IDBTransactionBackendImpl
1042 - Rename IDBTransactionBackendLevelDBOperations to IDBTransactionBackendOperations
1043 - Move their files from the leveldb subdirectory to the indexeddb directory
1046 * GNUmakefile.list.am:
1047 * WebCore.xcodeproj/project.pbxproj:
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.
1054 * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp:
1055 * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h:
1056 * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
1057 (WebCore::IDBFactoryBackendLevelDB::maybeCreateTransactionBackend):
1059 2013-10-29 Sam Weinig <sam@webkit.org>
1061 Modernize DatasetDOMStringMap and ClassList a bit
1062 https://bugs.webkit.org/show_bug.cgi?id=123491
1064 Reviewed by Andreas Kling.
1066 * dom/DatasetDOMStringMap.cpp:
1067 * dom/DatasetDOMStringMap.h:
1069 * dom/ElementRareData.h:
1070 * html/ClassList.cpp:
1072 Pass the owner Element by reference and store in a std::unique_ptr.
1074 2013-10-29 Brady Eidson <beidson@apple.com>
1076 Attempted build-fix after http://trac.webkit.org/changeset/158234
1078 * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
1079 (WebCore::IDBBackingStoreLevelDB::createBackingStoreTransaction): Implement this!
1081 2013-10-29 Andreas Kling <akling@apple.com>
1083 ElementData construction helpers should return PassRef.
1084 <https://webkit.org/b/123487>
1086 Make functions that create new ElementData objects return appropriate
1087 PassRef pointers instead of PassRefPtr.
1089 Reviewed by Anders Carlsson.
1091 2013-10-29 Ryosuke Niwa <rniwa@webkit.org>
1093 GTK+ build fix attempt after r158220.
1095 * GNUmakefile.list.am:
1097 2013-10-29 Brady Eidson <beidson@apple.com>
1099 Move IDBTransactionBackendLevelDB to generic IDBBackingStoreInterface
1100 https://bugs.webkit.org/show_bug.cgi?id=123483
1102 Reviewed by Andreas Kling.
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:
1110 * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp:
1111 (WebCore::IDBCursorBackendLevelDB::IDBCursorBackendLevelDB):
1112 * Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h:
1113 (WebCore::IDBCursorBackendLevelDB::create):
1115 * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
1116 (WebCore::IDBFactoryBackendLevelDB::createCursorBackend):
1117 * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:
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:
1126 * WebCore.xcodeproj/project.pbxproj: Export a required header.
1128 2013-10-29 Seokju Kwon <seokju@webkit.org>
1130 Remove mutable keyword from member variables of XMLHttpRequest
1131 https://bugs.webkit.org/show_bug.cgi?id=123481
1133 Reviewed by Andreas Kling.
1135 No new tests, no change in functionality.
1137 * xml/XMLHttpRequest.h: Remove mutable keyword as these are no longer used in const functions.
1139 2013-10-29 Myles C. Maxfield <mmaxfield@apple.com>
1141 Underline bounds cannot be queried before underline itself is drawn
1142 https://bugs.webkit.org/show_bug.cgi?id=123310
1144 Reviewed by Simon Fraser
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.
1153 Because there should be no observable difference, no tests need to be updated.
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
1176 2013-10-29 Alexey Proskuryakov <ap@apple.com>
1179 https://bugs.webkit.org/show_bug.cgi?id=123462
1181 Fix a mismerge, remove duplicate CryptoKeyType declaration.
1183 * crypto/CryptoKey.h:
1185 2013-10-29 Alexey Proskuryakov <ap@apple.com>
1188 https://bugs.webkit.org/show_bug.cgi?id=123462
1190 Reviewed by Sam Weinig.
1192 * WebCore.xcodeproj/project.pbxproj: Added new files.
1194 * crypto/CryptoAlgorithmIdentifier.h: Added an enum with all registered algorithms
1195 (they don't have to be all implemented in any port).
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.
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.
1208 * crypto/CryptoKey.idl: Added SkipVTableValidation, because validation doesn't work
1209 with derived classes. Corrected "usages" attribute name.
1211 * crypto/CryptoKeyFormat.h: Added.
1212 * crypto/CryptoKeyType.h: Added.
1213 * crypto/CryptoKeyUsage.h: Added.
1214 Added enums used by CryptoKey.
1216 2013-10-29 Hugo Parente Lima <hugo.lima@openbossa.org>
1218 Adding Nix files in Source/Platform to trunk
1219 https://bugs.webkit.org/show_bug.cgi?id=118331
1221 Reviewed by Benjamin Poulain.
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.
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.
1232 2013-10-29 Brady Eidson <beidson@apple.com>
1234 Move IDBTransactionBackendLevelDB to generic IDBBackingStoreInterface::Transaction.
1235 https://bugs.webkit.org/show_bug.cgi?id=123475
1237 Reviewed by Tim Horton.
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
1242 * Modules/indexeddb/IDBBackingStoreInterface.h:
1244 * Modules/indexeddb/IDBIndexWriter.cpp:
1245 (WebCore::IDBIndexWriter::writeIndexKeys):
1246 (WebCore::IDBIndexWriter::verifyIndexKeys):
1247 (WebCore::IDBIndexWriter::addingKeyAllowed):
1248 * Modules/indexeddb/IDBIndexWriter.h:
1250 * Modules/indexeddb/IDBTransactionBackendInterface.h:
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:
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:
1283 2013-10-29 Dean Jackson <dino@apple.com>
1285 Move InlineTextBox's text painting to it's own class
1286 https://bugs.webkit.org/show_bug.cgi?id=123355
1288 Reinstate the LGPL license. I incorrectly told Myles to
1289 use another license on these new files.
1291 * rendering/TextPainter.cpp:
1292 * rendering/TextPainter.h:
1294 2013-10-29 Myles C. Maxfield <mmaxfield@apple.com>
1296 Move InlineTextBox's text painting to it's own class
1297 https://bugs.webkit.org/show_bug.cgi?id=123355
1299 Reviewed by Dean Jackson.
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.
1307 Because there should be no observable difference, no tests need to be updated.
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
1314 * WebCore.xcodeproj/project.pbxproj: Adding new TextPainter class
1315 * rendering/InlineTextBox.cpp:
1316 (WebCore::InlineTextBox::paint): Moving text drawing code from
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
1326 (WebCore::TextPainter::paintTextInContext):
1327 * rendering/TextPainter.h: Added.
1328 (WebCore::SavedDrawingStateForMask::SavedDrawingStateForMask):
1329 (WebCore::TextPainter::boxRect):
1331 2013-10-29 Jer Noble <jer.noble@apple.com>
1333 [MSE] [Mac] Enable MediaSource on the Mac
1334 https://bugs.webkit.org/show_bug.cgi?id=122484
1336 Reviewed by Darin Adler.
1338 Enable ENABLE_MEDIA_SOURCE.
1340 * Configurations/FeatureDefines.xcconfig:
1342 2013-10-29 Tim Horton <timothy_horton@apple.com>
1344 Build fix after 158223; make TileController use float for scales.
1346 This matches what we do in other places, and fixes the constant
1347 issue with exporting symbols that include CGFloat.
1350 * platform/graphics/ca/mac/TileController.h:
1351 (WebCore::TileController::scale):
1352 * platform/graphics/ca/mac/TileController.mm:
1353 (WebCore::TileController::setScale):
1355 2013-10-29 Antti Koivisto <antti@apple.com>
1357 Try to keep MSVC happy.
1359 * rendering/SimpleLineLayout.h:
1360 (WebCore::SimpleLineLayout::Run::Run):
1362 2013-10-29 Tim Horton <timothy_horton@apple.com>
1364 More correct build fix after 158223.
1366 Only fails in release because it's inline.
1370 2013-10-29 Antti Koivisto <antti@apple.com>
1372 Use left/right instead of left/width for simple text runs
1373 https://bugs.webkit.org/show_bug.cgi?id=123465
1375 Reviewed by Andreas Kling.
1377 This simplifies the code a bit.
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):
1387 2013-10-29 Tim Horton <timothy_horton@apple.com>
1389 Try fixing the Mac build (though I have no idea why
1390 this wouldn't fail locally)...
1394 2013-10-29 Tim Horton <timothy_horton@apple.com>
1396 Remote Layer Tree: Support tiled drawing and use it for the main frame
1397 https://bugs.webkit.org/show_bug.cgi?id=123422
1399 Reviewed by Simon Fraser.
1402 * WebCore.xcodeproj/project.pbxproj:
1404 2013-10-29 Eric Carlson <eric.carlson@apple.com>
1406 [Mac MediaStream] implement AVFoundation backed MediaStreamSource
1407 https://bugs.webkit.org/show_bug.cgi?id=123316
1409 Reviewed by Jer Noble
1411 No new tests, existing tests updated.
1413 * CMakeLists.txt: Add MediaStreamSourceStates.cpp.
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.
1422 * Modules/mediastream/MediaStream.cpp:
1423 (WebCore::MediaStream::addTrack):
1424 (WebCore::MediaStream::removeTrack):
1425 (WebCore::MediaStream::addRemoteSource):
1426 (WebCore::MediaStream::removeRemoteSource):
1428 * Modules/mediastream/MediaStreamCapabilities.cpp:
1429 (WebCore::MediaStreamCapabilities::sourceType): MediaSourceStates -> MediaStreamSourceStates
1430 (WebCore::MediaStreamCapabilities::facingMode): Ditto.
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
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.
1451 * Modules/mediastream/UserMediaRequest.cpp:
1452 (WebCore::UserMediaRequest::callSuccessHandler): Set track, not source, constraints.
1454 * WebCore.xcodeproj/project.pbxproj: Add new files.
1456 * bindings/js/JSMediaSourceStatesCustom.cpp:
1457 (WebCore::JSMediaSourceStates::facingMode): Return jsUndefined when the facing mode
1460 * platform/mediastream/MediaStreamCenter.h: Remove unused class forward defines and
1461 undefined method prototype.
1463 * platform/mediastream/MediaStreamDescriptor.cpp:
1464 (WebCore::MediaStreamDescriptor::addSource): ASSERT if source is kind None.
1465 (WebCore::MediaStreamDescriptor::removeSource): Ditto.
1466 (WebCore::MediaStreamDescriptor::MediaStreamDescriptor):
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.
1488 * platform/mediastream/MediaStreamSourceCapabilities.h: Move MediaStreamSourceStates to
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.
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:
1517 * platform/mediastream/mac/AVAudioCaptureSource.h: Added.
1518 * platform/mediastream/mac/AVAudioCaptureSource.mm: Added.
1520 * platform/mediastream/mac/AVCaptureDeviceManager.h: Added.
1521 * platform/mediastream/mac/AVCaptureDeviceManager.mm: Added.
1523 * platform/mediastream/mac/AVMediaCaptureSource.h: Added.
1524 * platform/mediastream/mac/AVMediaCaptureSource.mm: Added.
1526 * platform/mediastream/mac/AVVideoCaptureSource.h: Added.
1527 * platform/mediastream/mac/AVVideoCaptureSource.mm: Added.
1529 * platform/mediastream/mac/MediaStreamCenterMac.cpp:
1530 (WebCore::MediaStreamCenterMac::validateRequestConstraints): Implement.
1531 (WebCore::MediaStreamCenterMac::createMediaStream): Ditto.
1532 (WebCore::MediaStreamCenterMac::getMediaStreamTrackSources): Ditto.
1534 * platform/mock/MockMediaStreamCenter.cpp:
1535 (WebCore::initializeMockSources): Update for MediaStreamSourceStates changes.
1536 (WebCore::MockMediaStreamCenter::createMediaStream):
1538 2013-10-29 Zoltan Horvath <zoltan@webkit.org>
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>
1543 Reviewed by David Hyatt.
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.
1549 Test: fast/regions/shape-inside/shape-inside-on-multiple-regions-with-negative-shape-top.html
1551 * rendering/RenderBlockLineLayout.cpp:
1552 (WebCore::RenderBlockFlow::updateShapeAndSegmentsForCurrentLineInFlowThread):
1554 2013-10-29 Brady Eidson <beidson@apple.com>
1556 Get IDBTransactionBackendLevelDBOperations *almost* ready to go cross platform.
1557 https://bugs.webkit.org/show_bug.cgi?id=123451
1559 Reviewed by NOBODY (My bad, non-reviewed, non-building code got in there)
1561 * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
1562 (WebCore::IDBDatabaseBackendImpl::processPendingCalls): Remove the auto line I was trying from review feedback.
1564 2013-10-29 Brady Eidson <beidson@apple.com>
1566 Get IDBTransactionBackendLevelDBOperations *almost* ready to go cross platform.
1567 https://bugs.webkit.org/show_bug.cgi?id=123451
1569 Reviewed by Andreas Kling.
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
1577 * GNUmakefile.list.am:
1578 * WebCore.xcodeproj/project.pbxproj:
1580 * Modules/indexeddb/IDBCallbacks.h:
1582 * Modules/indexeddb/IDBCursorBackendInterface.h:
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:
1592 * Modules/indexeddb/IDBOperation.h: Added.
1593 (WebCore::IDBOperation::~IDBOperation):
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):
1603 * Modules/indexeddb/IDBRequest.h:
1605 * Modules/indexeddb/IDBTransactionBackendInterface.h:
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:
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:
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):
1674 2013-10-29 Antti Koivisto <antti@apple.com>
1676 Make SimpleLineLayout::Layout a variable size object
1677 https://bugs.webkit.org/show_bug.cgi?id=123459
1679 Reviewed by Andreas Kling.
1681 Less memory, less indirection.
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):
1701 2013-10-29 Andreas Kling <akling@apple.com>
1703 RenderObject::outlineStyleForRepaint() should return a reference.
1704 <https://webkit.org/b/123453>
1706 Kill a FIXME and make outlineStyleForRepaint() return a RenderStyle&.
1708 Reviewed by Antti Koivisto.
1710 2013-10-29 Andreas Kling <akling@apple.com>
1712 Move more of SVG resources cache to using RenderElement.
1713 <https://webkit.org/b/123452>
1715 Make some more RenderSVGResourcesCache methods take RenderElement&
1716 instead of RenderObject*.
1718 Also removed a double hash lookup in removeResourcesFromRenderer().
1720 Reviewed by Antti Koivisto.
1722 2013-10-29 Joseph Pecoraro <pecoraro@apple.com>
1724 Web Inspector: Remove old Inspector.json version files and generators
1725 https://bugs.webkit.org/show_bug.cgi?id=123426
1727 Reviewed by Timothy Hatcher.
1730 * DerivedSources.make:
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.
1738 2013-10-29 Philippe Normand <pnormand@igalia.com>
1740 [GTK] DOM bindings documentation errors
1741 https://bugs.webkit.org/show_bug.cgi?id=123448
1743 Reviewed by Carlos Garcia Campos.
1745 * bindings/gobject/WebKitDOMCustom.h: Basic documentation for
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:
1762 2013-10-24 Brent Fulgham <bfulgham@apple.com>
1764 Invalid cast in WebCore::toRenderMathMLBlock
1765 https://bugs.webkit.org/show_bug.cgi?id=121728
1766 rdar://problem/15046151
1768 Reviewed by Dean Jackson.
1770 Tested by: mathml/arbitrary-markup.html
1772 * dom/Element.h: Expose childShouldCreateRenderer for
1773 MathML as well as SVG builds.
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
1781 * mathml/MathMLElement.h:
1783 2013-10-29 Andreas Kling <akling@apple.com>
1785 SVG: applyStrokeStyleToContext should take a RenderElement&.
1786 <https://webkit.org/b/123447>
1788 ..and a RenderStyle& too, for that matter.
1790 Reviewed by Anders Carlsson.
1792 * rendering/svg/SVGRenderSupport.h:
1793 * rendering/svg/SVGRenderSupport.cpp:
1794 (WebCore::SVGRenderSupport::applyStrokeStyleToContext):
1796 Have this take a RenderElement& and RenderStyle& instead of
1797 raw pointers. Tweaked a silly-looking loop.
1799 * rendering/svg/RenderSVGShape.h:
1800 * rendering/svg/RenderSVGShape.cpp:
1802 Moved BoundingRectStrokeStyleApplier helper class into the
1803 cpp file since it wasn't being used anywhere else.
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):
1814 2013-10-29 Antti Koivisto <antti@apple.com>
1816 Multiple runs per line on simple line path
1817 https://bugs.webkit.org/show_bug.cgi?id=123446
1819 Reviewed by Andreas Kling.
1821 By allowing multiple runs per line we can support text flows with consecutive whitespaces in the middle.
1823 * rendering/SimpleLineLayout.cpp:
1824 (WebCore::SimpleLineLayout::canUseFor):
1827 The improved test coverage found a few more cases that we need to disallow.
1829 (WebCore::SimpleLineLayout::adjustRunOffsets):
1831 Round the run positions and widths so they match line boxes.
1832 Adjust for text-align.
1834 (WebCore::SimpleLineLayout::create):
1836 Split lines with consecutive spaces into runs.
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++):
1855 Removed unnecessary operators.
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):
1865 Resolver -> RunResolver
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):
1876 Add LineResolver around RunResolver. It resolves the line rectangles.
1878 (WebCore::SimpleLineLayout::runResolver):
1879 (WebCore::SimpleLineLayout::lineResolver):
1881 2013-10-29 Chris Fleizach <cfleizach@apple.com>
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
1886 Reviewed by Mario Sanchez Prada.
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.
1891 Test: accessibility/tabindex-elements-are-accessible.html
1893 * accessibility/AccessibilityRenderObject.cpp:
1894 (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
1895 (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
1897 2013-10-29 Philippe Normand <pnormand@igalia.com>
1899 [GTK] enable media-stream in build-webkit
1900 https://bugs.webkit.org/show_bug.cgi?id=123144
1902 Reviewed by Martin Robinson.
1904 * GNUmakefile.list.am: Add new MediaStream files to the GTK port build.
1906 2013-10-28 Chris Fleizach <cfleizach@apple.com>
1908 AX: Webkit does not expose AXRequired on input type=file
1909 https://bugs.webkit.org/show_bug.cgi?id=123376
1911 Reviewed by Mario Sanchez Prada.
1913 File upload buttons should expose AXRequired, since they take an input state.
1915 * accessibility/AccessibilityNodeObject.cpp:
1916 (WebCore::AccessibilityNodeObject::supportsRequiredAttribute):
1917 (WebCore::AccessibilityNodeObject::alternativeText):
1919 2013-10-29 Jinwoo Song <jinwoo7.song@samsung.com>
1921 Re-enable simple line layout for EFL
1922 https://bugs.webkit.org/show_bug.cgi?id=123402
1924 Reviewed by Antti Koivisto.
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.
1930 2013-10-29 Zan Dobersek <zdobersek@igalia.com>
1932 Unreviewed, follow-up to r158185. Export the required symbol.
1933 This should fix the Mac debug build.
1937 2013-10-29 Santosh Mahto <santosh.ma@samsung.com>
1939 Text selected with double-click gets unselected after DOM modification
1940 https://bugs.webkit.org/show_bug.cgi?id=114227
1942 Reviewed by Ryosuke Niwa.
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
1953 Test: editing/selection/double-click-selection-with-dom-mutation.html
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.
1961 2013-10-29 Mihnea Ovidenie <mihnea@adobe.com>
1963 [CSSRegions] Display anonymous regions in DRT
1964 https://bugs.webkit.org/show_bug.cgi?id=122963
1966 Reviewed by Alexandru Chiculita.
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
1974 RenderRegion {DIV} at (200,200) size 52x52 [border: (1px solid #000000)]
1976 RenderBlock (positioned) {DIV} at (200,200) size 52x52 [border: (1px solid #000000)]
1977 RenderNamedFlowFragment at (1,1) size 50x50
1981 Thread with flow-name 'article'
1982 Regions for flow 'article'
1983 RenderRegion {DIV} #region_1
1984 RenderRegion {DIV} #region_2
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)
1992 Changed existing tests based on the new dumps.
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:
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.
2003 2013-10-29 Zan Dobersek <zdobersek@igalia.com>
2005 Move writeIndent, overloaded << operators from RenderTreeAsText to TextStream
2006 https://bugs.webkit.org/show_bug.cgi?id=116012
2008 Reviewed by Simon Fraser.
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.
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<<):
2042 (WebCore::writeIndent):
2043 * platform/text/TextStream.h: Move the writeIndent and operators' declarations here.
2046 (WebCore::TextStream::operator<<):
2047 * rendering/RenderTreeAsText.cpp: Move the writeIndent and operators' definitions into TextStream.
2049 * rendering/RenderTreeAsText.h: Move the writeIndent and operators' declarations into TextStream.
2052 2013-10-28 Zan Dobersek <zdobersek@igalia.com>
2054 Clean up ScopedEventQueue
2055 https://bugs.webkit.org/show_bug.cgi?id=123408
2057 Reviewed by Darin Adler.
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.
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.
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.
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):
2078 2013-10-28 Andreas Kling <akling@apple.com>
2080 applyTextTransform() should take a const RenderStyle&.
2081 <https://webkit.org/b/123434>
2083 This function is always called with an existing RenderStyle object.
2085 Reviewed by Anders Carlsson.
2087 2013-10-28 Andreas Kling <akling@apple.com>
2089 RenderSVGResource::applyResource() should take a const RenderStyle&.
2090 <https://webkit.org/b/123433>
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.
2096 Reviewed by Anders Carlsson.
2098 2013-10-28 Andreas Kling <akling@apple.com>
2100 Remove unused RenderTextControl::textBaseStyle().
2101 <https://webkit.org/b/123432>
2103 Reviewed by Anders Carlsson.
2105 2013-10-28 Zan Dobersek <zdobersek@igalia.com>
2107 HTML input type objects should be managed through std::unique_ptr
2108 https://bugs.webkit.org/show_bug.cgi?id=123160
2110 Reviewed by Darin Adler.
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.
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.
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.
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):
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):
2196 2013-10-28 Brady Eidson <beidson@apple.com>
2198 Refactor IDB factory creation.
2199 https://bugs.webkit.org/show_bug.cgi?id=123347
2201 Reviewed by Andreas Kling.
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.
2207 * Modules/indexeddb/IDBFactory.cpp:
2208 (WebCore::IDBFactory::openInternal):
2210 * Modules/indexeddb/IDBFactoryBackendInterface.cpp:
2211 (WebCore::IDBFactoryBackendInterface::create):
2212 * Modules/indexeddb/IDBFactoryBackendInterface.h:
2214 * Modules/indexeddb/PageGroupIndexedDatabase.cpp:
2215 (WebCore::PageGroupIndexedDatabase::PageGroupIndexedDatabase):
2216 (WebCore::PageGroupIndexedDatabase::from):
2217 (WebCore::PageGroupIndexedDatabase::factoryBackend):
2218 * Modules/indexeddb/PageGroupIndexedDatabase.h:
2220 * Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.cpp:
2221 (WebCore::WorkerGlobalScopeIndexedDatabase::WorkerGlobalScopeIndexedDatabase):
2222 (WebCore::WorkerGlobalScopeIndexedDatabase::from):
2223 (WebCore::WorkerGlobalScopeIndexedDatabase::indexedDB):
2224 * Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.h:
2226 * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
2227 (WebCore::IDBBackingStoreLevelDB::open):
2228 (WebCore::IDBBackingStoreLevelDB::openInMemory):
2229 * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
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):
2244 * platform/DatabaseStrategy.cpp:
2245 (WebCore::DatabaseStrategy::createIDBFactoryBackend):
2246 * platform/DatabaseStrategy.h:
2248 2013-10-28 Andreas Kling <akling@apple.com>
2250 RenderElement::style() should return a reference.
2251 <https://webkit.org/b/123414>
2253 Now that renderers always have style, go ahead and make style()
2254 return a RenderStyle&.
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.
2260 Reviewed by Anders Carlsson.
2262 2013-10-28 Tim Horton <timothy_horton@apple.com>
2264 Make TileController create the appropriate PlatformCALayer subclasses
2265 https://bugs.webkit.org/show_bug.cgi?id=123418
2267 Reviewed by Simon Fraser.
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).
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.
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.
2289 2013-10-28 Alexandru Chiculita <achicu@adobe.com>
2291 Web Inspector: CSS Regions: Add protocol API to expose content nodes addition/removal
2292 https://bugs.webkit.org/show_bug.cgi?id=123424
2294 Reviewed by Timothy Hatcher.
2296 Test: inspector-protocol/model/content-flow-content-nodes.html
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.
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):
2317 2013-10-28 Joseph Pecoraro <pecoraro@apple.com>
2319 Web Inspector: Remove unused inspector/inline-javascript-imports.py
2320 https://bugs.webkit.org/show_bug.cgi?id=123425
2322 Reviewed by Timothy Hatcher.
2324 * inspector/inline-javascript-imports.py: Removed.
2326 2013-10-28 Joseph Pecoraro <pecoraro@apple.com>
2328 Web Inspector: Remove unused "externs" files and generators
2329 https://bugs.webkit.org/show_bug.cgi?id=123427
2331 Reviewed by Timothy Hatcher.
2333 * inspector/InjectedScriptExterns.js: Removed.
2334 * inspector/generate_protocol_externs.py: Removed.
2336 2013-10-28 Joseph Pecoraro <pecoraro@apple.com>
2338 Upstream remaining PLATFORM(IOS) and ENABLE(REMOTE_INSPECTOR) pieces
2339 https://bugs.webkit.org/show_bug.cgi?id=123411
2341 Reviewed by Timothy Hatcher.
2343 Include an InspectorClient hook for when node searching is enabled / disabled.
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:
2353 2013-10-28 Benjamin Poulain <benjamin@webkit.org>
2355 Rename applyPageScaleFactorInCompositor to delegatesPageScaling
2356 https://bugs.webkit.org/show_bug.cgi?id=123417
2358 Reviewed by Simon Fraser.
2361 (WebCore::Frame::frameScaleFactor):
2362 * page/FrameView.cpp:
2363 (WebCore::FrameView::visibleContentScaleFactor):
2365 (WebCore::Page::setPageScaleFactor):
2367 * platform/ScrollView.h:
2368 * rendering/RenderLayerCompositor.cpp:
2369 (WebCore::RenderLayerCompositor::addToOverlapMap):
2371 2013-10-28 Myles C. Maxfield <mmaxfield@apple.com>
2373 Parsing support for -webkit-text-decoration-skip: ink
2374 https://bugs.webkit.org/show_bug.cgi?id=123358
2376 Reviewed by Dean Jackson.
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.
2382 Test: fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-roundtrip.html
2384 * Configurations/FeatureDefines.xcconfig: Adding ENABLE(CSS3_TEXT_DECORATION)
2385 * css/CSSComputedStyleDeclaration.cpp: Mapping internal representation of text-decoration-skip
2387 (WebCore::renderTextDecorationSkipFlagsToCSSValue):
2388 (WebCore::ComputedStyleExtractor::propertyValue):
2389 * css/CSSParser.cpp: Actually parsing tokens
2390 (WebCore::CSSParser::parseValue):
2391 (WebCore::CSSParser::parseTextDecorationSkip):
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
2409 2013-10-28 Anders Carlsson <andersca@apple.com>
2411 RunLoop::dispatch should take an std::function
2412 https://bugs.webkit.org/show_bug.cgi?id=123407
2414 Reviewed by Andreas Kling.
2417 * platform/RunLoop.cpp:
2418 (WebCore::RunLoop::performWork):
2419 (WebCore::RunLoop::dispatch):
2420 * platform/RunLoop.h:
2422 2013-10-28 Tim Horton <timothy_horton@apple.com>
2424 Make TileController manipulate PlatformCALayers instead of CALayers
2425 https://bugs.webkit.org/show_bug.cgi?id=123279
2427 Reviewed by Simon Fraser.
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.
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.
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.
2441 No new tests, just a (largeish) refactor.
2444 The signature of some methods has changed.
2446 * WebCore.xcodeproj/project.pbxproj:
2447 Remove WebTileLayer.*
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.
2455 * platform/graphics/TiledBacking.h:
2456 tiledScrollingIndicatorLayer() should return a PlatformCALayer.
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.
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.
2476 Add LayerTypeTiledBackingTileLayer, which is used simply to distinguish
2477 TileController Tile layers from other LayerTypeSimpleLayers.
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.
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.
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.
2503 (WebCore::TileController::platformCALayerDrawsContent):
2504 All of the layers who have TileController as their client paint their contents.
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.
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.
2517 * platform/graphics/ca/mac/TileController.mm:
2518 Remove CALayer (WebCALayerDetails), WebTiledScrollingIndicatorLayer,
2519 and a bunch of includes that we don't need anymore.
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.
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.
2533 (WebCore::TileController::tileCacheLayerBoundsChanged):
2534 (WebCore::TileController::setNeedsDisplay):
2535 Straightforward adjustments towards use of PlatformCALayer.
2537 (WebCore::TileController::setTileNeedsDisplayInRect):
2538 Adjustments towards use of PlatformCALayer; we need FloatRects so we can
2539 pass pointers to PlatformCALayer::setNeedsDisplay.
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.
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.
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.
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.
2573 (WebCore::TileController::updateTileCoverageMap):
2574 Adjustments towards use of PlatformCALayer; rename backgroundColor
2575 to visibleRectIndicatorColor, since it's actually a border, not a background.
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.
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.
2587 (WebCore::TileController::platformCALayerIncrementRepaintCount):
2588 Manage repaint counts for tiles in TileController now.
2590 (WebCore::TileController::drawTileMapContents):
2591 Adjustments towards use of PlatformCALayer.
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.
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.
2606 (-[WebTiledBackingLayer setBorderColor:]):
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.
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.
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)
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.
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.
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.
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.
2653 2013-10-24 Sam Weinig <sam@webkit.org>
2655 Move RenderBlock functions only used by RenderBlockFlow to RenderBlockFlow
2656 https://bugs.webkit.org/show_bug.cgi?id=123318
2658 Reviewed by David Hyatt.
2660 * rendering/LineLayoutState.h:
2661 Move FloatWithRect from RenderBlock.
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.
2670 2013-10-28 Sergio Villar Senin <svillar@igalia.com>
2672 [CSS Grid Layout] Add support for order inside grid items
2673 https://bugs.webkit.org/show_bug.cgi?id=123208
2675 Reviewed by Antti Koivisto.
2677 Based on Blink r153457 and r153536 by <jchaffraix@chromium.org>
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.
2683 Tests: fast/css-grid-layout/grid-item-order-auto-flow-resolution.html
2684 fast/css-grid-layout/grid-item-order-paint-order.html
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:
2709 2013-10-28 Afonso R. Costa Jr. <afonso.costa@samsung.com>
2711 Methods on window.internals shouldn't pass a document.
2712 https://bugs.webkit.org/show_bug.cgi?id=107301
2714 Reviewed by Alexey Proskuryakov.
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.
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:
2774 2013-10-28 Xabier Rodriguez Calvar <calvaris@igalia.com>
2776 Remove HTMLMediaElement.startTime
2777 https://bugs.webkit.org/show_bug.cgi?id=123264
2779 Reviewed by Eric Carlson.
2781 Patch based on one by: philipj@opera.com
2782 Blink review URL: https://codereview.chromium.org/32583003
2784 startTime has been removed from the HTMLMediaElement and its use
2785 in the rest of components.
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
2800 * html/HTMLMediaElement.h:
2801 * html/HTMLMediaElement.idl: Removed startTime()
2802 * rendering/RenderThemeWinCE.cpp:
2803 (WebCore::RenderThemeWinCE::paintSliderThumb): Removed use of
2806 2013-10-28 Andreas Kling <akling@apple.com>
2808 RenderElement::m_style should be a Ref.
2809 <https://webkit.org/b/123401>
2811 Made RenderElement::m_style a Ref. This codifies the fact that it
2812 can never be null after construction.
2814 Removed a couple of unnecessary null checks that were exposed as
2815 compilation failures.
2817 Reviewed by Antti Koivisto.
2819 2013-10-28 Bastien Nocera <hadess@hadess.net>
2821 Name all the GLib timeout sources
2822 https://bugs.webkit.org/show_bug.cgi?id=123229
2824 Reviewed by Anders Carlsson.
2826 Give a name to GLib timeout sources, this is helpful when
2827 profiling WebKitGTK applications.
2829 No new tests, no change in functionality.
2831 2013-10-28 Philippe Normand <pnormand@igalia.com>
2833 MediaStreamTrackPrivate's m_client uninitialized
2834 https://bugs.webkit.org/show_bug.cgi?id=123403
2836 Reviewed by Eric Carlson.
2838 No new tests, no change in functionality.
2840 * platform/mediastream/MediaStreamTrackPrivate.cpp:
2841 (WebCore::MediaStreamTrackPrivate::MediaStreamTrackPrivate):
2842 Initialize the m_client member variable.
2844 2013-10-28 Carlos Garcia Campos <cgarcia@igalia.com>
2846 Unreviewed. Fix make distcheck.
2848 * GNUmakefile.am: Add crypto idl files to EXTRA_DIST and remove
2849 css/fullscreenQuickTime.css that was removed.
2851 2013-10-28 Antti Koivisto <antti@apple.com>
2853 Prepare simple line layout to support multiple runs per line
2854 https://bugs.webkit.org/show_bug.cgi?id=123400
2856 Reviewed by Andreas Kling.
2858 Bunch of renaming and some refactoring for future support for text runs.
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()
2866 Added resolver construction functions:
2868 SimpleLineLayout::runResolver()
2869 SimpleLineLayout::lineResolver()
2871 2013-10-28 Mario Sanchez Prada <mario.prada@samsung.com>
2873 [GTK] Expose title and alternative text for links in image maps
2874 https://bugs.webkit.org/show_bug.cgi?id=84045
2876 Reviewed by Chris Fleizach.
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.
2883 This actually mimics what the Mac port does and so makes possible
2884 to share both the layout test and its expected results.
2886 * accessibility/atk/WebKitAccessibleUtil.cpp:
2887 (accessibilityDescription): Update the method to determine
2888 whether the title attribute should be used for the description.
2890 2013-10-28 Bastien Nocera <hadess@hadess.net>
2892 Replace 0 timeouts g_timeout_add() by g_idle_add()
2893 https://bugs.webkit.org/show_bug.cgi?id=123260
2895 Reviewed by Carlos Garcia Campos.
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.
2900 No new tests, no change in functionality.
2902 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: Use g_idle_add() instead
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):
2912 2013-10-28 Zan Dobersek <zdobersek@igalia.com>
2914 Re-enable simple line layout for GTK
2915 https://bugs.webkit.org/show_bug.cgi?id=123388
2917 Reviewed by Andreas Kling.
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.
2923 2013-10-27 Andreas Kling <akling@apple.com>
2925 Fix 4 asserting SVG tests after r158097.
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.
2932 * rendering/RenderElement.cpp:
2933 (WebCore::RenderElement::initializeStyle):
2935 2013-10-27 Andreas Kling <akling@apple.com>
2937 Tone down overzealous assertion from r158097.
2939 RenderElement::initializeStyle() really only cares that there are no
2940 text renderers that we should be calling styleDidChange() on.
2942 Tweak the code to only check that there are no text children.
2944 * rendering/RenderElement.cpp:
2945 (WebCore::RenderElement::initializeStyle):
2947 2013-10-27 Antti Koivisto <antti@apple.com>
2949 Enable center and right text alignment for simple lines
2950 https://bugs.webkit.org/show_bug.cgi?id=123398
2952 Reviewed by Andreas Kling.
2954 Support text-align:center and text-align:right on simple line layout path.
2956 * rendering/SimpleLineLayout.cpp:
2957 (WebCore::SimpleLineLayout::canUseFor):
2959 text-align:justify is still not supported.
2961 (WebCore::SimpleLineLayout::computeLineLeft):
2962 (WebCore::SimpleLineLayout::createLines):
2964 Do a rounding dance that matches the line boxes.
2966 * rendering/SimpleLineLayout.h:
2968 Add left position to lines.
2970 * rendering/SimpleLineLayoutResolver.h:
2971 (WebCore::SimpleLineLayout::Resolver::Line::rect):
2973 We now do rounding during layout.
2975 (WebCore::SimpleLineLayout::Resolver::Line::baseline):
2977 2013-10-27 Andreas Kling <akling@apple.com>
2979 Renderers should receive their style at construction.
2980 <https://webkit.org/b/123396>
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.
2987 With this change, RenderElement::m_style is never null. Subsequent
2988 patches will add enforcement for this and also make style() return
2991 I'm adding three FIXME's in this patch:
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.
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.
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.
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.
3012 Reviewed by Antti Koivisto.
3014 2013-10-26 Tim Horton <timothy_horton@apple.com>
3016 [mac] Remove WebTiledLayer
3017 https://bugs.webkit.org/show_bug.cgi?id=123395
3019 Reviewed by Anders Carlsson.
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.
3025 No new tests, just removing dead code.
3027 * WebCore.xcodeproj/project.pbxproj:
3028 Remove WebTiledLayer.*
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.
3037 * platform/graphics/mac/WebTiledLayer.h: Removed.
3038 * platform/graphics/mac/WebTiledLayer.mm: Removed.
3040 2013-10-26 Andreas Kling <akling@apple.com>
3042 CTTE: RenderImageResourceStyleImage always has a StyleImage.
3043 <https://webkit.org/b/123390>
3045 Codify the fact that RenderImageResourceStyleImage always wraps an
3046 existing StyleImage object.
3048 Reviewed by Antti Koivisto.
3050 2013-10-26 Antti Koivisto <antti@apple.com>
3052 Revert some accidental changes.
3054 * css/CSSFontFaceSource.cpp:
3055 (WebCore::CSSFontFaceSource::getFontData):
3056 * css/CSSFontSelector.cpp:
3057 * css/CSSFontSelector.h:
3059 2013-10-26 Mark Lam <mark.lam@apple.com>
3061 Gardening: fixed broken build.
3062 https://bugs.webkit.org/show_bug.cgi?id=123354.
3064 * css/CSSFontSelector.h:
3066 2013-10-26 Antti Koivisto <antti@apple.com>
3068 fast/frames/seamless/seamless-nested-crash.html asserts on wk2 only
3069 https://bugs.webkit.org/show_bug.cgi?id=123354
3071 Reviewed by Andreas Kling.
3073 * rendering/SimpleLineLayout.cpp:
3074 (WebCore::SimpleLineLayout::canUseFor):
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.
3080 2013-10-26 Carlos Garcia Campos <cgarcia@igalia.com>
3082 [GTK] Deprecate public dispatch_event method in objects implementing EventTarget interface
3083 https://bugs.webkit.org/show_bug.cgi?id=123261
3085 Reviewed by Gustavo Noronha Silva.
3087 The interface function should be used instead.
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
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:
3111 2013-10-25 Mark Lam <mark.lam@apple.com>
3113 DatabaseManager's ProposedDatabases need to be thread-safe.
3114 https://bugs.webkit.org/show_bug.cgi?id=123313.
3116 Reviewed by Geoffrey Garen.
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:
3134 2013-10-25 Joseph Pecoraro <pecoraro@apple.com>
3136 Upstream ENABLE(REMOTE_INSPECTOR) and enable on iOS and Mac
3137 https://bugs.webkit.org/show_bug.cgi?id=123111
3139 Reviewed by Timothy Hatcher.
3141 * Configurations/FeatureDefines.xcconfig:
3144 2013-10-25 Hans Muller <hmuller@adobe.com>
3146 [CSS Shapes] CORS-enabled fetch for shape image values
3147 https://bugs.webkit.org/show_bug.cgi?id=123114
3149 Reviewed by Andreas Kling.
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.
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.
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.
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.
3173 Test: http/tests/security/shape-image-cors.html
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.
3193 2013-10-25 Jer Noble <jer.noble@apple.com>
3195 [MSE] Fix runtime errors caused by mediasource IDL attributes.
3196 https://bugs.webkit.org/show_bug.cgi?id=123352
3198 Reviewed by Eric Carlson.
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.
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:
3209 2013-10-25 Jacky Jiang <zhajiang@blackberry.com>
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
3214 Reviewed by George Staikos.
3215 Internally reviewed by George Staikos, Konrad Piascik, Eli Fidler and Arvid Nilsson.
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.
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):
3236 2013-10-25 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org>
3238 Adding platform implementation of MediaStreamTrack
3239 https://bugs.webkit.org/show_bug.cgi?id=123301
3241 Reviewed by Eric Carlson.
3243 No new tests needed.
3246 * Modules/mediastream/AudioStreamTrack.cpp:
3247 (WebCore::AudioStreamTrack::create): Create method now receives a MediaStreamTrackPrivate as parameter.
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.
3255 (WebCore::MediaStream::addRemoteSource): Calling AudioStreamTrack and VideoStreamTrack with
3256 MediaStreamTrackPrivate as parameter.
3258 * Modules/mediastream/MediaStreamTrack.cpp:
3259 (WebCore::MediaStreamTrack::MediaStreamTrack): Constructor now receives a MediaStreamTrackPrivate, instead of a
3262 (WebCore::MediaStreamTrack::~MediaStreamTrack):
3263 (WebCore::MediaStreamTrack::kind): Calling method from MediaStreamTrackPrivate.
3265 (WebCore::MediaStreamTrack::setSource): Ditto.
3267 (WebCore::MediaStreamTrack::id): Ditto.
3269 (WebCore::MediaStreamTrack::label): Ditto.
3271 (WebCore::MediaStreamTrack::enabled): Ditto.
3273 (WebCore::MediaStreamTrack::setEnabled): Ditto.
3275 (WebCore::MediaStreamTrack::muted): Ditto.
3277 (WebCore::MediaStreamTrack::readonly): Ditto.
3279 (WebCore::MediaStreamTrack::remote): Ditto.
3281 (WebCore::MediaStreamTrack::readyState): Ditto.
3283 (WebCore::MediaStreamTrack::states):
3284 (WebCore::MediaStreamTrack::capabilities):
3285 (WebCore::MediaStreamTrack::clone):
3286 (WebCore::MediaStreamTrack::stopProducingData):
3287 (WebCore::MediaStreamTrack::ended): Ditto.
3289 (WebCore::MediaStreamTrack::sourceStateChanged): Ditto.
3291 (WebCore::MediaStreamTrack::sourceMutedChanged): Ditto.
3293 (WebCore::MediaStreamTrack::sourceEnabledChanged): Ditto.
3294 (WebCore::MediaStreamTrack::configureTrackRendering):
3295 (WebCore::MediaStreamTrack::stopped): Ditto.
3297 (WebCore::MediaStreamTrack::trackDidEnd): Setting Ended ready state in MediaStreamTrackPrivate.
3299 (WebCore::MediaStreamTrack::trackReadyStateChanged): Dispatches Live or Ended event.
3301 (WebCore::MediaStreamTrack::trackMutedChanged): Dispatches Muted event.
3303 * Modules/mediastream/MediaStreamTrack.h: Now inheriting from MediaStreamTrackPrivateClient.
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).
3315 (WebCore::MediaStreamDescriptor::addTrack): Adds a private track to the tracks' Vector
3317 (WebCore::MediaStreamDescriptor::removeTrack): Removes a private track from the tracks' Vector
3319 * platform/mediastream/MediaStreamDescriptor.h:
3320 (WebCore::MediaStreamDescriptor::numberOfAudioSources): Renamed from numberOfAudioStreams.
3322 (WebCore::MediaStreamDescriptor::audioSources): Renamed from audioStreams.
3324 (WebCore::MediaStreamDescriptor::numberOfVideoSources): Renamed from numberOfVideoStreams.
3326 (WebCore::MediaStreamDescriptor::videoSources): Renamed from videoStreams.
3328 (WebCore::MediaStreamDescriptor::numberOfAudioTracks): Returns the number of audio tracks this MediaStreamDescriptor
3331 (WebCore::MediaStreamDescriptor::audioTracks): Returns a audio track, given an index
3333 (WebCore::MediaStreamDescriptor::numberOfVideoTracks): Returns the number of video tracks this MediaStreamDescriptor
3335 (WebCore::MediaStreamDescriptor::videoTracks): Returns a video track, given an index
3336 * platform/mediastream/MediaStreamTrackPrivate.cpp: Added.
3337 * platform/mediastream/MediaStreamTrackPrivate.h: Added.
3339 2013-10-25 Zoltan Horvath <zoltan@webkit.org>
3341 [CSS Regions][CSS Shapes] Update updateShapeAndSegmentsForCurrentLineInFlowThread to deal better with multiple regions
3342 <https://webkit.org/b/123210>
3344 Reviewed by David Hyatt.
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.
3350 No new tests, covered by existing tests.
3352 * rendering/RenderBlockLineLayout.cpp:
3353 (WebCore::RenderBlockFlow::updateShapeAndSegmentsForCurrentLineInFlowThread):
3355 2013-10-25 Zoltan Horvath <zoltan@webkit.org>
3357 [CSS Regions][CSS Shapes] Update updateShapeAndSegmentsForCurrentLineInFlowThread to deal better with the first lines
3358 <https://bugs.webkit.org/show_bug.cgi?id=123275>
3360 Reviewed by David Hyatt.
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.
3365 No new tests, no behavior change.
3367 * rendering/RenderBlockLineLayout.cpp:
3368 (WebCore::RenderBlockFlow::updateShapeAndSegmentsForCurrentLineInFlowThread):
3370 2013-10-25 Antti Koivisto <antti@apple.com>
3372 Faster way for simple line layout to check if text has fallback fonts
3373 https://bugs.webkit.org/show_bug.cgi?id=123342
3375 Reviewed by Andreas Kling.
3377 Don't use RenderText::knownToHaveNoOverflowAndNoFallbackFonts as it is slow.
3379 Simple text code path test already guarantees there is no overflow. Test for fallback
3382 * platform/graphics/SimpleFontData.h:
3386 * rendering/RenderText.cpp:
3387 * rendering/RenderText.h:
3389 Remove knownToHaveNoOverflowAndNoFallbackFonts() as it has no clients.
3391 * rendering/SimpleLineLayout.cpp:
3392 (WebCore::SimpleLineLayout::canUseFor):
3394 Check if all characters can be found from the primary font.
3396 2013-10-25 Andreas Kling <akling@apple.com>
3398 SVGResourcesCache::clientDestroyed() should take a RenderElement&.
3399 <https://webkit.org/b/123339>
3401 This function is always called with an object, and that object
3402 is guaranteed to never be a text renderer.
3404 Reviewed by Antti Koivisto.
3406 2013-10-25 Andreas Kling <akling@apple.com>
3408 SVGResourcesCache::clientLayoutChanged() should take a RenderElement&.
3409 <https://webkit.org/b/123336>
3411 This function is always called with an object, and that object
3412 is guaranteed to never be a text renderer.
3414 Reviewed by Antti Koivisto.
3416 2013-10-25 Andreas Kling <akling@apple.com>
3418 SVGResourcesCache::clientStyleChanged() should take a RenderElement&.
3419 <https://webkit.org/b/123335>
3421 This function is always called with an object, and that object
3422 is guaranteed to never be a text renderer.
3424 Reviewed by Antti Koivisto.
3426 2013-10-25 Andreas Kling <akling@apple.com>
3428 SVG: postApplyResource() should take a RenderElement&.
3429 <https://webkit.org/b/123334>
3431 This function is always called with an object, and that object
3432 is guaranteed to never be a text renderer.
3434 Reviewed by Antti Koivisto.
3436 2013-10-25 Antti Koivisto <antti@apple.com>
3438 REGRESSION(r157950): It made many tests assert on Windows, EFL, GTK
3439 https://bugs.webkit.org/show_bug.cgi?id=123309
3441 Reviewed by Andreas Kling.
3443 Disable simple line layout on non-Mac plaforms for now.
3445 * rendering/SimpleLineLayout.cpp:
3446 (WebCore::SimpleLineLayout::canUseFor):
3448 2013-10-24 Andreas Kling <akling@apple.com>
3450 SVG: applyResource() should take a RenderElement&.
3451 <https://webkit.org/b/123286>
3453 This function is always called with an object, and that object
3454 is guaranteed to never be a text renderer.
3456 Reviewed by Antti Koivisto.
3458 2013-10-25 Andreas Kling <akling@apple.com>
3460 RenderElement::styleWillChange() should pass newStyle as reference.
3461 <https://webkit.org/b/123332>
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.
3467 Reviewed by Antti Koivisto.
3469 2013-10-25 peavo@outlook.com <peavo@outlook.com>
3471 [WinCairo] Compile fixes.
3472 https://bugs.webkit.org/show_bug.cgi?id=123269
3474 Reviewed by Csaba Osztrogonác.
3476 * platform/graphics/win/ImageCairoWin.cpp: Added new parameter to BitmapImage::draw() calls.
3477 (WebCore::BitmapImage::getHBITMAPOfSize):
3478 (WebCore::BitmapImage::drawFrameMatchingSourceSize):
3480 2013-10-25 Sergio Villar Senin <svillar@igalia.com>