1 2014-01-24 Brent Fulgham <bfulgham@apple.com>
3 [Win] Convert some NMake files to MSBuild project files
4 https://bugs.webkit.org/show_bug.cgi?id=127579
6 Reviewed by Tim Horton.
8 * WebCore.vcxproj/WebCore.make: Removed.
9 * WebCore.vcxproj/WebCore.proj: Added.
11 2014-01-24 Joseph Pecoraro <pecoraro@apple.com>
13 fast/profiler tests ASSERTing after moving recompileAllJSFunctions off a timer
14 https://bugs.webkit.org/show_bug.cgi?id=127566
16 Reviewed by Oliver Hunt.
18 Covered by existing tests.
20 * testing/Internals.cpp:
21 (WebCore::Internals::closeDummyInspectorFrontend):
22 Now that we don't have to fake that this is a page being destroyed to
23 avoid recompilation. Use the InspectorDestroyed reason.
25 2014-01-24 Anders Carlsson <andersca@apple.com>
27 Get rid of monotonicallyIncreasingTimeMS and start using std::chrono instead
28 https://bugs.webkit.org/show_bug.cgi?id=127571
30 Reviewed by Antti Koivisto.
36 (WebCore::Document::Document):
37 (WebCore::Document::implicitClose):
38 (WebCore::Document::setParsing):
39 (WebCore::Document::isLayoutTimerActive):
40 (WebCore::Document::minimumLayoutDelay):
41 (WebCore::Document::elapsedTime):
42 (WebCore::Document::write):
43 (WebCore::Document::styleResolverChanged):
45 Use std::chrono instead of doubles for the times and durations.
47 * fileapi/FileReader.cpp:
48 (WebCore::FileReader::FileReader):
49 (WebCore::FileReader::didReceiveData):
50 * fileapi/FileReader.h:
51 Switch over to std::chrono.
54 (WebCore::FrameView::layout):
55 (WebCore::FrameView::layoutTimerFired):
56 (WebCore::FrameView::scheduleRelayout):
57 (WebCore::FrameView::scheduleRelayoutOfSubtree):
58 Update for Document::elapsedTime() changes.
61 (WebCore::Settings::setLayoutInterval):
63 (WebCore::Settings::layoutInterval):
64 Change layoutInterval to be std::chrono::milliseconds instead of int.
67 (WebCore::TimerBase::startOneShot):
68 Add an overload that takes std::chrono::milliseconds.
70 2014-01-24 Oliver Hunt <oliver@apple.com>
72 Generic JSObject::put should handle static properties in the classinfo hierarchy
73 https://bugs.webkit.org/show_bug.cgi?id=127523
75 Reviewed by Geoffrey Garen.
77 Update the bindings generator to emit the flag indicating the presence
78 of setters, and remove the many (now unnecessary) put overrides.
79 Tested with run-jsc-benchmarks and shows neutral performance. A few of the
80 micro benchmarks actually get a significant performance increase which
83 * bindings/js/JSDOMWindowCustom.cpp:
84 (WebCore::JSDOMWindow::put):
85 We still need a custom call to lookupPut here in order
86 to get the magic security semantics of the window object.
87 * bindings/scripts/CodeGeneratorJS.pm:
89 (prototypeHashTableAccessor):
90 (constructorHashTableAccessor):
91 (GenerateImplementation):
93 (GenerateConstructorHelperMethods):
95 * bindings/js/JSDOMWindowCustom.cpp:
96 (WebCore::JSDOMWindow::put):
97 * bindings/scripts/CodeGeneratorJS.pm:
99 (prototypeHashTableAccessor):
100 (constructorHashTableAccessor):
101 (InstanceOverridesPutImplementation):
102 (InstanceOverridesPutDeclaration):
104 (GenerateImplementation):
106 (GenerateConstructorHelperMethods):
107 * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
108 * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
109 * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
110 * bindings/scripts/test/JS/JSTestEventTarget.cpp:
111 * bindings/scripts/test/JS/JSTestException.cpp:
112 * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
113 * bindings/scripts/test/JS/JSTestInterface.cpp:
114 (WebCore::JSTestInterface::put):
115 * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
116 * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
117 * bindings/scripts/test/JS/JSTestNode.cpp:
118 * bindings/scripts/test/JS/JSTestObj.cpp:
119 * bindings/scripts/test/JS/JSTestObj.h:
120 * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
121 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
122 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
123 * bindings/scripts/test/JS/JSTestTypedefs.cpp:
124 * bindings/scripts/test/JS/JSTestTypedefs.h:
125 * bindings/scripts/test/JS/JSattribute.cpp:
126 * bindings/scripts/test/JS/JSreadonly.cpp:
127 * html/canvas/WebGLRenderingContext.idl:
128 Remove bogus attribute, as it has never been in the spec and should not
131 2014-01-24 David Hyatt <hyatt@apple.com>
133 [New Multicolumn] Eliminate RenderMultiColumnBlock
134 https://bugs.webkit.org/show_bug.cgi?id=127565
136 Reviewed by Antti Koivisto.
138 This patch eliminates RenderMultiColumnBlock and folds all of its remaining code
139 back into RenderBlockFlow. This allows all block flows to support multi-column
140 layout, including table cells, list items, and the RenderView itself.
144 * WebCore.vcxproj/WebCore.vcxproj:
145 * WebCore.vcxproj/WebCore.vcxproj.filters:
146 * WebCore.xcodeproj/project.pbxproj:
147 Remove RenderMultiColumnBlock from the makefiles.
149 * rendering/RenderBlock.cpp:
150 (WebCore::RenderBlock::adjustIntrinsicLogicalWidthsForColumns):
151 Tweak the comment, since it was no longer accurate.
153 * rendering/RenderBlock.h:
154 Move some functions down into RenderBlockFlow.
156 * rendering/RenderBlockFlow.cpp:
157 (WebCore::RenderBlockFlow::RenderBlockFlow):
158 (WebCore::RenderBlockFlow::createMultiColumnFlowThreadIfNeeded):
159 (WebCore::RenderBlockFlow::styleDidChange):
160 (WebCore::RenderBlockFlow::relayoutForPagination):
161 (WebCore::RenderBlockFlow::layoutSpecialExcludedChild):
162 (WebCore::RenderBlockFlow::updateLogicalWidthAndColumnWidth):
163 (WebCore::RenderBlockFlow::addChild):
164 (WebCore::RenderBlockFlow::checkForPaginationLogicalHeightChange):
165 * rendering/RenderBlockFlow.h:
166 Move a bunch of functions from RenderMultiColumnBlock up into RenderBlockFlow.
168 * rendering/RenderBox.cpp:
169 (WebCore::RenderBox::isUnsplittableForPagination):
170 Calls isMultiColumnBlockFlow() now instead of testing for a specific renderer type.
172 * rendering/RenderElement.cpp:
173 (WebCore::RenderElement::createFor):
174 Remove the multicolumn block creation code, since we always make a block flow now.
176 * rendering/RenderMultiColumnBlock.cpp: Removed.
177 * rendering/RenderMultiColumnBlock.h: Removed.
180 * rendering/RenderMultiColumnFlowThread.cpp:
181 (WebCore::RenderMultiColumnFlowThread::initialLogicalWidth):
182 (WebCore::RenderMultiColumnFlowThread::autoGenerateRegionsToBlockOffset):
183 * rendering/RenderMultiColumnSet.cpp:
184 (WebCore::RenderMultiColumnSet::heightAdjustedForSetOffset):
185 (WebCore::RenderMultiColumnSet::addForcedBreak):
186 (WebCore::RenderMultiColumnSet::recalculateBalancedHeight):
187 (WebCore::RenderMultiColumnSet::updateLogicalWidth):
188 (WebCore::RenderMultiColumnSet::prepareForLayout):
189 (WebCore::RenderMultiColumnSet::columnGap):
190 (WebCore::RenderMultiColumnSet::paintColumnRules):
191 Change all of the functions in the multicolumnset and multicolumnflowthread classes
192 to cast the parent to a RenderBlockFlow now instead of a RenderMultiColumnBlock.
193 Change the code to call through to multiColumnFlowThread() for column-specific information
194 for that parent block.
196 * rendering/RenderObject.h:
197 (WebCore::RenderObject::isMultiColumnBlockFlow):
198 Remove isRenderMultiColumnBlock() and replace with isMultiColumnBlockFlow().
200 * rendering/RenderingAllInOne.cpp:
201 Remove RenderMultiColumnBlock include.
203 2014-01-24 Brady Eidson <beidson@apple.com>
205 IDB: support createIndex/deleteIndex messaging
206 https://bugs.webkit.org/show_bug.cgi?id=127546
208 Reviewed by Tim Horton.
210 * WebCore.exp.in: Export a needed CrossThreadCopier
212 2014-01-24 Daniel Bates <dabates@apple.com>
214 Fix the Windows build after <http://trac.webkit.org/changeset/162704>
215 (https://bugs.webkit.org/show_bug.cgi?id=127293)
217 Only include TargetConditionals.h when building on a Darwin-based OS.
218 Also, check that TARGET_OS_IPHONE is defined before referencing its value
219 since it will be undefined when building on Windows.
221 * bindings/objc/PublicDOMInterfaces.h:
223 2014-01-24 Daniel Bates <dabates@apple.com>
225 Bindings generation tests hit an error trying to include wtf/Platform.h after r161638
226 https://bugs.webkit.org/show_bug.cgi?id=127293
228 Reviewed by Alexey Proskuryakov.
230 Include TargetConditionals.h instead of wtf/Platform.h as the latter isn't available
233 As a side effect of this change, replace usage of PLATFORM(IOS) with TARGET_OS_IPHONE.
235 * bindings/objc/PublicDOMInterfaces.h:
237 2014-01-21 David Hyatt <hyatt@apple.com>
239 [New Multicolumn] Table cells and list items need to work as multicolumn blocks.
240 https://bugs.webkit.org/show_bug.cgi?id=127365
242 This patch is a first step towards eliminating RenderMultiColumnBlock and moving
243 all its functionality into RenderBlockFlow. Doing so will allow table cells, list
244 items and the RenderView to use the new multi-column layout.
246 Reviewed by Simon Fraser.
248 * rendering/RenderBlockFlow.cpp:
249 (WebCore::RenderBlockFlow::setMultiColumnFlowThread):
250 * rendering/RenderBlockFlow.h:
251 (WebCore::RenderBlockFlow::RenderBlockFlowRareData::RenderBlockFlowRareData):
252 (WebCore::RenderBlockFlow::multiColumnFlowThread):
253 Add the flow thread pointer to the multi-column flow thread to RenderBlockFlow's
254 rare data. This lets us use only one pointer in the rare data to point to an object
255 that can hold all of the rest of the multi-column info.
257 * rendering/RenderMultiColumnBlock.cpp:
258 (WebCore::RenderMultiColumnBlock::RenderMultiColumnBlock):
259 Move the construction of the flow thread to the constructor. This ensures we
260 never have a null flow thread and lets us avoid having to null check it for
261 empty multi-column blocks.
263 (WebCore::RenderMultiColumnBlock::columnHeightAvailable):
264 (WebCore::RenderMultiColumnBlock::columnWidth):
265 (WebCore::RenderMultiColumnBlock::columnCount):
266 (WebCore::RenderMultiColumnBlock::updateLogicalWidthAndColumnWidth):
267 The above functions now call through to the multi-column flow thread for results.
269 (WebCore::RenderMultiColumnBlock::checkForPaginationLogicalHeightChange):
270 Set the column height available on the flow thread.
272 (WebCore::RenderMultiColumnBlock::relayoutForPagination):
273 The balancing pass and guard is in the multi-column flow thread now.
275 (WebCore::RenderMultiColumnBlock::addChild):
276 Don't have to create the flow thread here any longer, since we do it up front
277 in the constructor of RenderMultiColumnBlock.
279 (WebCore::RenderMultiColumnBlock::layoutSpecialExcludedChild):
280 Don't need the null check of the flow thread any more.
282 * rendering/RenderMultiColumnBlock.h:
283 Change the inlined functions to not be inlined, since they need to call
284 RenderMultiColumnFlowThread functions now.
286 * rendering/RenderMultiColumnFlowThread.cpp:
287 (WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread):
288 Init the new member variables we moved here from RenderMultiColumnBlock.
290 (WebCore::RenderMultiColumnFlowThread::computeColumnCountAndWidth):
291 Moved from RenderMultiColumnBlock.
293 * rendering/RenderMultiColumnFlowThread.h:
294 Add public getters/setters to the member variables so that RenderMultiColumnBlock can
295 still see them. Move the member variables here from RenderMultiColumnBlock.
297 * rendering/RenderMultiColumnSet.cpp:
298 (WebCore::RenderMultiColumnSet::calculateBalancedHeight):
299 (WebCore::RenderMultiColumnSet::prepareForLayout):
300 (WebCore::RenderMultiColumnSet::columnCount):
301 Call through to the flow thread instead.
303 2014-01-24 Zan Dobersek <zdobersek@igalia.com>
305 Unreviewed GTK build fix after r162663.
307 * platform/gtk/ScrollViewGtk.cpp:
308 (WebCore::ScrollView::visibleContentRectInternal): Renamed from visibleContentRect.
310 2014-01-24 Zan Dobersek <zdobersek@igalia.com>
312 Move HistoryItem to std::unique_ptr
313 https://bugs.webkit.org/show_bug.cgi?id=127275
315 Reviewed by Darin Adler.
317 Replace the uses of OwnPtr and PassOwnPtr in the HistoryItem class with std::unique_ptr.
319 * history/HistoryItem.cpp:
320 (WebCore::HistoryItem::HistoryItem):
321 (WebCore::HistoryItem::reset):
322 (WebCore::HistoryItem::addRedirectURL):
323 (WebCore::HistoryItem::setRedirectURLs):
324 * history/HistoryItem.h:
325 * history/mac/HistoryItemMac.mm:
326 (WebCore::HistoryItem::setTransientProperty):
327 WebCore.exp.in: Update the symbol.
329 2014-01-23 Morten Stenshorne <mstensho@opera.com>
331 Region based multicol: unresolvable percent height results in 1px tall multicol
332 https://bugs.webkit.org/show_bug.cgi?id=122826
334 Reviewed by David Hyatt.
336 If a box has a percentage height, but the computed height of its
337 containing block is auto, the computed height of the box also becomes
338 auto. computeContentLogicalHeight() returns -1 if the height isn't
339 resolvable, and we need to make sure that such a value doesn't
340 constrain the height of the multicol container.
342 Tests: fast/multicol/newmulticol/unresolvable-percent-height-2.html
343 fast/multicol/newmulticol/unresolvable-percent-height.html
344 fast/multicol/newmulticol/unresolvable-percent-max-height-2.html
345 fast/multicol/newmulticol/unresolvable-percent-max-height.html
347 * rendering/RenderMultiColumnSet.cpp:
348 (WebCore::RenderMultiColumnSet::RenderMultiColumnSet):
349 (WebCore::RenderMultiColumnSet::calculateBalancedHeight):
350 (WebCore::RenderMultiColumnSet::recalculateBalancedHeight):
351 (WebCore::RenderMultiColumnSet::prepareForLayout):
353 2014-01-23 Joseph Pecoraro <pecoraro@apple.com>
355 Move ContentSearchUtils, ScriptBreakpoint, and ScriptDebugListener into JavaScriptCore for inspector
356 https://bugs.webkit.org/show_bug.cgi?id=127537
358 Reviewed by Timothy Hatcher.
360 - Rename ContentSearchUtils => ContentSearchUtilities and move to JavaScriptCore.
361 - Move ScriptBreakpoint and ScriptDebugListener to JavaScriptCore.
362 - Move them all to namespace Inspector.
363 - Update build files and users to the new names.
365 No change in functionality, just moving code.
368 * ForwardingHeaders/inspector/ContentSearchUtilities.h: Added.
369 * ForwardingHeaders/inspector/ScriptBreakpoint.h: Added.
370 * ForwardingHeaders/inspector/ScriptDebugListener.h: Added.
371 * GNUmakefile.list.am:
372 * WebCore.vcxproj/WebCore.vcxproj:
373 * WebCore.vcxproj/WebCore.vcxproj.filters:
374 * WebCore.xcodeproj/project.pbxproj:
375 * bindings/js/PageScriptDebugServer.cpp:
376 * bindings/js/PageScriptDebugServer.h:
377 * bindings/js/ScriptDebugServer.cpp:
378 * bindings/js/ScriptDebugServer.h:
379 * bindings/js/WorkerScriptDebugServer.cpp:
380 * bindings/js/WorkerScriptDebugServer.h:
381 * inspector/InspectorAllInOne.cpp:
382 * inspector/InspectorDebuggerAgent.cpp:
383 (WebCore::InspectorDebuggerAgent::searchInContent):
384 (WebCore::InspectorDebuggerAgent::sourceMapURLForScript):
385 (WebCore::InspectorDebuggerAgent::didParseSource):
386 * inspector/InspectorDebuggerAgent.h:
387 * inspector/InspectorPageAgent.cpp:
388 (WebCore::InspectorPageAgent::sourceMapURLForResource):
389 (WebCore::InspectorPageAgent::searchInResource):
390 (WebCore::InspectorPageAgent::searchInResources):
391 * inspector/InspectorStyleSheet.cpp:
392 (WebCore::buildSourceRangeObject):
393 (WebCore::InspectorStyleSheet::lineEndings):
394 (WebCore::InspectorStyleSheetForInlineStyle::lineEndings):
396 2014-01-23 Joseph Pecoraro <pecoraro@apple.com>
398 Move RegularExpression into JavaScriptCore for inspector
399 https://bugs.webkit.org/show_bug.cgi?id=127526
401 Reviewed by Geoffrey Garen.
403 Update as appropriate for the moved file and namespace
404 change for class RegularExpression.
407 * ForwardingHeaders/yarr/RegularExpression.h: Added.
408 * GNUmakefile.list.am:
410 * WebCore.vcxproj/WebCore.vcxproj:
411 * WebCore.vcxproj/WebCore.vcxproj.filters:
412 * WebCore.xcodeproj/project.pbxproj:
413 * dom/DOMImplementation.h:
414 * html/BaseCheckableInputType.cpp:
415 * html/BaseTextInputType.cpp:
416 (WebCore::BaseTextInputType::patternMismatch):
417 * html/EmailInputType.cpp:
418 (WebCore::isValidEmailAddress):
419 * html/InputType.cpp:
420 * inspector/ContentSearchUtils.cpp:
421 (WebCore::ContentSearchUtils::getRegularExpressionMatchesByLines):
422 (WebCore::ContentSearchUtils::createSearchRegex):
423 (WebCore::ContentSearchUtils::countRegularExpressionMatches):
424 (WebCore::ContentSearchUtils::searchInTextByLines):
425 * inspector/ContentSearchUtils.h:
426 * inspector/InspectorDebuggerAgent.cpp:
428 (WebCore::InspectorDebuggerAgent::breakpointActionLog):
429 (WebCore::InspectorDebuggerAgent::breakpointActionSound):
430 * inspector/InspectorDebuggerAgent.h:
431 * inspector/InspectorPageAgent.cpp:
432 (WebCore::InspectorPageAgent::searchInResources):
433 * inspector/InspectorPageAgent.h:
434 * inspector/InspectorRuntimeAgent.cpp:
435 * inspector/InspectorRuntimeAgent.h:
436 * inspector/InspectorStyleSheet.cpp:
437 (WebCore::selectorsFromSource):
438 * inspector/WorkerDebuggerAgent.cpp:
440 (WebCore::createRegExpForLabels):
441 (WebCore::Frame::searchForLabelsAboveCell):
442 (WebCore::Frame::searchForLabelsBeforeElement):
443 (WebCore::matchLabelsAgainstString):
445 * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
446 (WebCore::GraphicsContext3D::getUnmangledInfoLog):
448 2014-01-23 Brady Eidson <beidson@apple.com>
450 IDB: Support IDBObjectStore.clear()
451 https://bugs.webkit.org/show_bug.cgi?id=127541
453 Reviewed by Anders Carlsson.
455 The backing store should never be performing callbacks directly:
456 * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
457 (WebCore::IDBServerConnectionLevelDB::clearObjectStore):
459 Instead, the transaction operations should do that themselves:
460 * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
461 (WebCore::ClearObjectStoreOperation::perform):
462 * Modules/indexeddb/IDBTransactionBackendOperations.h:
463 (WebCore::ClearObjectStoreOperation::transaction):
465 2014-01-23 Dan Bernstein <mitz@apple.com>
467 <rdar://problem/15875326> REGRESSION (r162257): Assertion failure (should not be reached) in CSSPreloadScanner::tokenize()
468 https://bugs.webkit.org/show_bug.cgi?id=127540
470 Reviewed by Anders Carlsson.
472 No new tests, because I could not reproduce the bug reliably and I don’t know how to trigger
475 * html/parser/CSSPreloadScanner.cpp:
476 (WebCore::CSSPreloadScanner::scan): Check for the DoneParsingImportRules before tokenizing
477 a character, not after. This restores the logic from before r162257.
479 2014-01-23 Jer Noble <jer.noble@apple.com>
481 [iOS] Protect against possbile deadlock by delaying video layer creation
482 https://bugs.webkit.org/show_bug.cgi?id=127505
484 Reviewed by Eric Carlson.
486 Work around a possible deadlock on iOS when creating a media element
487 backed by AVFoundation by delaying creation of the AVPlayerLayer.
488 The deadlock can occur when the web thread is doing CALayer layout
489 while taking the web thread lock, while CoreMedia is doing property
490 access on an async thread while taking the CM lock, and each is waiting
491 for the other's lock to be released.
493 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
494 (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer):
496 2014-01-23 Jer Noble <jer.noble@apple.com>
498 [MSE][Mac] Crash when reloading a page during playback
499 https://bugs.webkit.org/show_bug.cgi?id=126903
501 Reviewed by Eric Carlson.
503 Periodic time observers added to AVSampleBufferRenderSynchronizer will execute their
504 callback block even after being removed with -removeTimeObserver:, which is tracked by
505 <rdar://problem/15798050>. Work around this problem by passing a WeakPtr into the block
506 and bail early if the owning media player has been destroyed.
508 * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
509 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::createWeakPtr):
510 * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
511 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::MediaPlayerPrivateMediaSourceAVFObjC):
513 2014-01-23 ChangSeok Oh <changseok.oh@collabora.com>
515 Dragging from inner side of video to outside causes a crash
516 https://bugs.webkit.org/show_bug.cgi?id=126338
518 Reviewed by Jer Noble.
520 The crash happens while dragging mouse cursor through timeline control to outside
521 of video region. This is beacause media controls are selected with the drag.
522 The media controls disappear when mouse cursor goes outside of video though
523 the dragging/selection proceeds. If once media controls are hidden, related element
524 lose their renderers. However the drag is still under going. it requires shadowPseudoId
525 of the selected controls. Untorntunately, SliderThumbElement/SliderContainerElement
526 don't return a static value for the shadowPseudoId unlike other media controls,
527 but they need a renderer to determine it. This is the reason of crash.
529 Test: media/media-controller-drag-crash.html
531 * html/shadow/SliderThumbElement.cpp:
532 (WebCore::SliderThumbElement::shadowPseudoId):
533 (WebCore::SliderContainerElement::shadowPseudoId):
535 2014-01-23 Brady Eidson <beidson@apple.com>
537 IDB: Implement SQLite backing store 'get' support
538 https://bugs.webkit.org/show_bug.cgi?id=127502
540 Reviewed by Tim Horton.
542 Get a KeyRange from a KeyRangeData:
543 * Modules/indexeddb/IDBKeyRangeData.cpp:
544 (WebCore::IDBKeyRangeData::maybeCreateIDBKeyRange):
545 * Modules/indexeddb/IDBKeyRangeData.h:
547 Add collation function support to SQLiteDatabase:
548 * platform/sql/SQLiteDatabase.cpp:
549 (WebCore::destroyCollationFunction):
550 (WebCore::callCollationFunction):
551 (WebCore::SQLiteDatabase::setCollationFunction):
552 (WebCore::SQLiteDatabase::removeCollationFunction):
553 * platform/sql/SQLiteDatabase.h:
557 2014-01-23 Jon Honeycutt <jhoneycutt@apple.com>
559 Assertion failure in WebCore::PseudoElement::didRecalcStyle()
560 <https://bugs.webkit.org/show_bug.cgi?id=126761>
561 <rdar://problem/15793540>
563 Reviewed by Andy Estes.
565 Test: fast/images/animate-list-item-image-assertion.html
567 * dom/PseudoElement.cpp:
568 (WebCore::PseudoElement::didRecalcStyle):
569 Check isRenderImage() rather than isImage() before casting to
572 * editing/ios/EditorIOS.mm:
576 * editing/mac/EditorMac.mm:
580 * html/HTMLImageElement.cpp:
581 (WebCore::HTMLImageElement::parseAttribute):
582 (WebCore::HTMLImageElement::didAttachRenderers):
585 * loader/ImageLoader.cpp:
586 (WebCore::ImageLoader::renderImageResource):
589 * page/DragController.cpp:
590 (WebCore::getCachedImage):
593 * rendering/RenderLayerBacking.cpp:
594 (WebCore::RenderLayerBacking::isDirectlyCompositedImage):
595 (WebCore::RenderLayerBacking::updateImageContents):
598 2014-01-23 Joseph Pecoraro <pecoraro@apple.com>
600 Web Inspector: Remove recompileAllJSFunctions timer in ScriptDebugServer
601 https://bugs.webkit.org/show_bug.cgi?id=127409
603 Reviewed by Geoffrey Garen.
605 Covered by existing tests.
607 * bindings/js/ScriptDebugServer.h:
608 * bindings/js/ScriptDebugServer.cpp:
609 (WebCore::ScriptDebugServer::ScriptDebugServer):
610 Remove m_recompileTimer and the recompile soon function.
611 We can just recompile immediately in all existing cases.
613 * bindings/js/PageScriptDebugServer.h:
614 * bindings/js/PageScriptDebugServer.cpp:
615 (WebCore::PageScriptDebugServer::addListener):
616 (WebCore::PageScriptDebugServer::removeListener):
617 (WebCore::PageScriptDebugServer::recompileAllJSFunctions):
618 (WebCore::PageScriptDebugServer::didAddFirstListener):
619 (WebCore::PageScriptDebugServer::didRemoveLastListener):
620 Add a "didAddFirstListener" to match "didRemoveLastListener".
621 Only recompile functions when we attach the debugger and when
622 we detach the last listener.
624 * bindings/js/WorkerScriptDebugServer.cpp:
625 (WebCore::WorkerScriptDebugServer::addListener):
626 (WebCore::WorkerScriptDebugServer::removeListener):
627 (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
628 Same thing. Also rearrange the functions to read better.
630 * inspector/InspectorProfilerAgent.cpp:
631 Use the direct recompile function instead of the removed "soon" version.
634 Update disconnectFrontend symbol.
636 * page/PageDebuggable.cpp:
637 (WebCore::PageDebuggable::disconnect):
638 * testing/Internals.cpp:
639 (WebCore::Internals::closeDummyInspectorFrontend):
640 * workers/WorkerMessagingProxy.cpp:
641 (WebCore::disconnectFromWorkerGlobalScopeInspectorTask):
642 Include an InspectorDisconnectReason when calling disconnectFrontend.
644 * inspector/InspectorDatabaseAgent.h:
645 * inspector/InspectorDebuggerAgent.cpp:
646 (WebCore::InspectorDebuggerAgent::disable):
647 (WebCore::InspectorDebuggerAgent::willDestroyFrontendAndBackend):
648 If the disconnect reason is the page will be destroyed, don't recompile when disconnecting.
650 * inspector/InspectorProfilerAgent.h:
651 * inspector/InspectorProfilerAgent.cpp:
652 (WebCore::InspectorProfilerAgent::enable):
653 (WebCore::InspectorProfilerAgent::disable):
654 (WebCore::InspectorProfilerAgent::willDestroyFrontendAndBackend):
655 If the disconnect reason is the page will be destroyed, don't recompile when disconnecting.
657 * inspector/InspectorController.h:
658 * inspector/InspectorController.cpp:
659 (WebCore::InspectorController::inspectedPageDestroyed):
660 (WebCore::InspectorController::disconnectFrontend):
661 (WebCore::InspectorController::close):
662 Pass different reasons for the different disconnect reasons.
664 * inspector/WorkerInspectorController.h:
665 * inspector/WorkerInspectorController.cpp:
666 (WebCore::WorkerInspectorController::~WorkerInspectorController):
667 (WebCore::WorkerInspectorController::disconnectFrontend):
668 Pass different reasons for the different disconnect reasons.
670 * inspector/InspectorApplicationCacheAgent.cpp:
671 (WebCore::InspectorApplicationCacheAgent::willDestroyFrontendAndBackend):
672 * inspector/InspectorApplicationCacheAgent.h:
673 * inspector/InspectorCSSAgent.cpp:
674 (WebCore::InspectorCSSAgent::willDestroyFrontendAndBackend):
675 * inspector/InspectorCSSAgent.h:
676 * inspector/InspectorCanvasAgent.cpp:
677 (WebCore::InspectorCanvasAgent::willDestroyFrontendAndBackend):
678 * inspector/InspectorCanvasAgent.h:
679 * inspector/InspectorConsoleAgent.cpp:
680 (WebCore::InspectorConsoleAgent::willDestroyFrontendAndBackend):
681 * inspector/InspectorConsoleAgent.h:
682 * inspector/InspectorDOMAgent.cpp:
683 (WebCore::InspectorDOMAgent::willDestroyFrontendAndBackend):
684 * inspector/InspectorDOMAgent.h:
685 * inspector/InspectorDOMDebuggerAgent.cpp:
686 (WebCore::InspectorDOMDebuggerAgent::willDestroyFrontendAndBackend):
687 * inspector/InspectorDOMDebuggerAgent.h:
688 * inspector/InspectorDOMStorageAgent.cpp:
689 (WebCore::InspectorDOMStorageAgent::willDestroyFrontendAndBackend):
690 * inspector/InspectorDOMStorageAgent.h:
691 * inspector/InspectorDatabaseAgent.cpp:
692 (WebCore::InspectorDatabaseAgent::willDestroyFrontendAndBackend):
693 * inspector/InspectorDebuggerAgent.h:
694 * inspector/InspectorHeapProfilerAgent.cpp:
695 (WebCore::InspectorHeapProfilerAgent::willDestroyFrontendAndBackend):
696 * inspector/InspectorHeapProfilerAgent.h:
697 * inspector/InspectorIndexedDBAgent.cpp:
698 (WebCore::InspectorIndexedDBAgent::willDestroyFrontendAndBackend):
699 * inspector/InspectorIndexedDBAgent.h:
700 * inspector/InspectorInputAgent.cpp:
701 (WebCore::InspectorInputAgent::willDestroyFrontendAndBackend):
702 * inspector/InspectorInputAgent.h:
703 * inspector/InspectorLayerTreeAgent.cpp:
704 (WebCore::InspectorLayerTreeAgent::willDestroyFrontendAndBackend):
705 * inspector/InspectorLayerTreeAgent.h:
706 * inspector/InspectorMemoryAgent.cpp:
707 (WebCore::InspectorMemoryAgent::willDestroyFrontendAndBackend):
708 * inspector/InspectorMemoryAgent.h:
709 * inspector/InspectorPageAgent.cpp:
710 (WebCore::InspectorPageAgent::willDestroyFrontendAndBackend):
711 * inspector/InspectorPageAgent.h:
712 * inspector/InspectorResourceAgent.cpp:
713 (WebCore::InspectorResourceAgent::willDestroyFrontendAndBackend):
714 * inspector/InspectorResourceAgent.h:
715 * inspector/InspectorTimelineAgent.cpp:
716 (WebCore::InspectorTimelineAgent::willDestroyFrontendAndBackend):
717 * inspector/InspectorTimelineAgent.h:
718 * inspector/InspectorWorkerAgent.cpp:
719 (WebCore::InspectorWorkerAgent::willDestroyFrontendAndBackend):
720 * inspector/InspectorWorkerAgent.h:
721 * inspector/PageDebuggerAgent.cpp:
722 (WebCore::PageDebuggerAgent::disable):
723 (WebCore::PageDebuggerAgent::stopListeningScriptDebugServer):
724 * inspector/PageDebuggerAgent.h:
725 * inspector/PageRuntimeAgent.cpp:
726 (WebCore::PageRuntimeAgent::willDestroyFrontendAndBackend):
727 * inspector/PageRuntimeAgent.h:
728 * inspector/WorkerDebuggerAgent.cpp:
729 (WebCore::WorkerDebuggerAgent::stopListeningScriptDebugServer):
730 * inspector/WorkerDebuggerAgent.h:
731 * inspector/WorkerRuntimeAgent.cpp:
732 (WebCore::WorkerRuntimeAgent::willDestroyFrontendAndBackend):
733 * inspector/WorkerRuntimeAgent.h:
734 Include InspectorDisconnectReason param.
736 2014-01-23 Simon Fraser <simon.fraser@apple.com>
738 Another Windows fix: include <algorithm> for std::min and std::max.
740 * platform/graphics/IntSize.h:
742 2014-01-23 Simon Fraser <simon.fraser@apple.com>
744 Try to fix Windows build.
746 * platform/win/PopupMenuWin.cpp:
747 (WebCore::PopupMenuWin::visibleSize):
748 * platform/win/PopupMenuWin.h:
750 2014-01-23 Simon Fraser <simon.fraser@apple.com>
752 Make visibleContentRect() return actualVisibleContentRect() on iOS most of the time
753 https://bugs.webkit.org/show_bug.cgi?id=127456
755 Reviewed by Antti Koivisto.
757 On iOS, visibleContentRect() returns the entire document rect for historical
758 reasons, and actualVisibleContentRect() returns what visibleContentRect()
759 returns on other platforms.
761 In addition, actualVisibleContentRect() was returning an empty rect in WK2.
763 Reduce the confusion of #ifdefs by making visibleContentRect() behave like
764 actualVisibleContentRect() by default on iOS. Where it needs the old behavior,
765 an optional parameter, LegacyIOSDocumentVisibleRect, provides this.
767 Achieve this by having the virtual ScrollableArea::visibleContentRectInternal(),
768 which is called by non-virtual visibleContentRect() and visibleContentRectIncludingScrollbars().
770 Similarly clean up visibleHeight/visibleWidth functions by having visibleSize() be virtual,
771 with non-virtual visibleHeight() and visibleWidth().
773 ScrollableArea subclasses override visibleContentRectInternal() and visibleSize() where necessary.
775 Mechanically change all the call sites of actualVisibleContentRect() to
776 use visibleContentRect(), and the call sites of visibleContentRect()
777 to visibleContentRect(..., LegacyIOSDocumentVisibleRect), adding comments
778 where this may not be appropriate.
780 Change callers of visibleContentRect(IncludeScrollbars...) to visibleContentRectIncludingScrollbars().
782 Also add actualScrollPosition(), and clean up some actualScroll* call sites.
787 * accessibility/AccessibilityObject.cpp:
788 (WebCore::AccessibilityObject::isOnscreen):
789 (WebCore::AccessibilityObject::scrollToMakeVisibleWithSubFocus):
790 * accessibility/AccessibilityRenderObject.cpp:
791 (WebCore::AccessibilityRenderObject::isOffScreen):
793 (WebCore::Document::adjustFloatQuadsForScrollAndAbsoluteZoomAndFrameScale):
794 (WebCore::Document::adjustFloatRectForScrollAndAbsoluteZoomAndFrameScale):
795 * dom/MouseRelatedEvent.cpp:
796 (WebCore::MouseRelatedEvent::MouseRelatedEvent):
797 * editing/Editor.cpp:
798 (WebCore::Editor::countMatchesForText):
799 * editing/FrameSelection.cpp:
800 (WebCore::FrameSelection::bounds):
801 (WebCore::FrameSelection::getClippedVisibleTextRectangles):
802 * html/HTMLBodyElement.cpp:
803 (WebCore::HTMLBodyElement::scrollLeft):
804 (WebCore::HTMLBodyElement::scrollTop):
805 * html/ImageDocument.cpp:
806 (WebCore::ImageDocument::imageFitsInWindow):
807 (WebCore::ImageDocument::windowSizeChanged):
808 * inspector/InspectorOverlay.cpp:
809 (WebCore::InspectorOverlay::update):
810 * page/DOMWindow.cpp:
811 (WebCore::DOMWindow::innerHeight):
812 (WebCore::DOMWindow::innerWidth):
813 (WebCore::DOMWindow::scrollX):
814 (WebCore::DOMWindow::scrollY):
815 (WebCore::DOMWindow::scrollBy):
816 * page/FrameView.cpp:
817 (WebCore::FrameView::calculateScrollbarModesForLayout):
818 (WebCore::FrameView::layout):
819 (WebCore::FrameView::scrollContentsSlowPath):
820 (WebCore::FrameView::repaintContentRectangle):
821 (WebCore::FrameView::sendResizeEventIfNeeded):
822 (WebCore::FrameView::windowClipRect):
823 (WebCore::FrameView::isScrollable):
824 (WebCore::FrameView::paintControlTints):
825 * page/SpatialNavigation.cpp:
826 (WebCore::canScrollInDirection):
827 * platform/ScrollView.cpp:
828 (WebCore::ScrollView::unscaledVisibleContentSize):
829 (WebCore::ScrollView::visibleContentRectInternal):
830 (WebCore::ScrollView::updateScrollbars):
831 (WebCore::ScrollView::paint):
832 * platform/ScrollView.h:
833 (WebCore::ScrollView::scrollOffset):
834 (WebCore::ScrollView::actualScrollX):
835 (WebCore::ScrollView::actualScrollY):
836 (WebCore::ScrollView::actualScrollPosition):
837 * platform/ScrollableArea.cpp:
838 (WebCore::ScrollableArea::visibleContentRect):
839 (WebCore::ScrollableArea::visibleContentRectIncludingScrollbars):
840 (WebCore::ScrollableArea::visibleContentRectInternal):
841 * platform/ScrollableArea.h:
842 (WebCore::ScrollableArea::visibleWidth):
843 (WebCore::ScrollableArea::visibleHeight):
844 * platform/graphics/IntSize.h:
845 (WebCore::IntSize::expandedTo): Drive-by cleanup.
846 (WebCore::IntSize::shrunkTo):
847 * platform/gtk/ScrollViewGtk.cpp:
848 (WebCore::ScrollView::visibleContentRect):
849 * rendering/RenderLayer.cpp:
850 (WebCore::RenderLayer::scrollRectToVisible):
851 (WebCore::RenderLayer::maximumScrollPosition):
852 (WebCore::RenderLayer::visibleContentRectInternal):
853 (WebCore::RenderLayer::hitTest):
854 * rendering/RenderLayer.h:
855 * rendering/RenderLayerBacking.cpp:
856 (WebCore::RenderLayerBacking::updateCompositedBounds):
857 * rendering/RenderListBox.cpp:
858 * rendering/RenderListBox.h:
859 * rendering/RenderView.cpp:
860 (WebCore::RenderView::viewRect):
861 (WebCore::RenderView::viewportSize):
863 2014-01-20 Myles C. Maxfield <mmaxfield@apple.com>
865 Turn text-decoration-skip: ink on for all underlines
866 https://bugs.webkit.org/show_bug.cgi?id=127331
868 Reviewed by Antti Koivisto.
870 No new tests are necessary because tests already exist
872 * rendering/style/RenderStyle.h:
874 2014-01-23 Hans Muller <hmuller@adobe.com>
876 [CSS Shapes] Image valued shape size and position should conform to the spec
877 https://bugs.webkit.org/show_bug.cgi?id=123295
879 Reviewed by Andreas Kling.
881 Implement image valued shape-outside scaling and translation per the spec,
882 http://dev.w3.org/csswg/css-shapes/#shapes-from-image:
884 "The image is sized and positioned as if it were a replaced element whose
885 specified width and height are the same as the element’s used content box size."
887 This change doesn't completely fulfill the spec, it's limited to image elements
890 Tests: fast/shapes/shape-outside-floats/shape-outside-image-fit-001.html
891 fast/shapes/shape-outside-floats/shape-outside-image-fit-002.html
892 fast/shapes/shape-outside-floats/shape-outside-image-fit-003.html
893 fast/shapes/shape-outside-floats/shape-outside-image-fit-004.html
895 * rendering/shapes/Shape.h:
896 * rendering/shapes/Shape.cpp:
897 (WebCore::Shape::createRasterShape):
898 Added an imageRect parameter which specifies where the shape image is to
899 appear relative to the content box. The imageRect implies both scaling and
900 translation of the shape image.
902 * rendering/shapes/ShapeInfo.cpp:
903 (WebCore::ShapeInfo<RenderType>::computedShape):
904 (WebCore::getShapeImageRect):
905 For replaced elements, compute the shape's imageRect with
906 RenderReplaced::replacedContentRect().
909 2014-01-23 Max Vujovic <mvujovic@adobe.com>
911 Remove CSS Custom Filters code and tests
912 https://bugs.webkit.org/show_bug.cgi?id=127382
914 Reviewed by Simon Fraser.
916 No new tests. Removing functionality.
919 * Configurations/FeatureDefines.xcconfig:
920 * DerivedSources.cpp:
921 * DerivedSources.make:
922 * GNUmakefile.list.am:
924 * WebCore.vcxproj/WebCore.vcxproj:
925 * WebCore.vcxproj/WebCore.vcxproj.filters:
926 * WebCore.xcodeproj/project.pbxproj:
927 * bindings/js/JSCSSRuleCustom.cpp:
929 * bindings/js/JSCSSValueCustom.cpp:
931 * bindings/objc/DOMCSS.mm:
933 * css/CSSComputedStyleDeclaration.cpp:
934 (WebCore::ComputedStyleExtractor::valueForFilter):
935 (WebCore::ComputedStyleExtractor::propertyValue):
936 * css/CSSComputedStyleDeclaration.h:
937 * css/CSSGrammar.y.in:
939 (WebCore::CSSParserContext::CSSParserContext):
940 (WebCore::operator==):
941 (WebCore::CSSParser::CSSParser):
942 (WebCore::CSSParser::parseValue):
943 (WebCore::filterInfoForName):
944 (WebCore::CSSParser::parseFilter):
945 (WebCore::CSSParser::detectAtToken):
947 * css/CSSParserMode.h:
948 * css/CSSPropertyNames.in:
949 * css/CSSPropertySourceData.h:
953 (WebCore::CSSValue::equals):
954 (WebCore::CSSValue::cssText):
955 (WebCore::CSSValue::destroy):
956 (WebCore::CSSValue::cloneForCSSOM):
958 * css/CSSValueKeywords.in:
959 * css/StyleResolver.cpp:
960 (WebCore::StyleResolver::State::clear):
961 (WebCore::StyleResolver::applyProperty):
962 (WebCore::filterOperationForType):
963 (WebCore::StyleResolver::createFilterOperations):
964 (WebCore::StyleResolver::loadPendingResources):
965 * css/StyleResolver.h:
966 (WebCore::StyleResolver::State::State):
968 (WebCore::StyleRuleBase::destroy):
969 (WebCore::StyleRuleBase::copy):
970 (WebCore::StyleRuleBase::createCSSOMWrapper):
972 * css/StyleSheetContents.cpp:
973 (WebCore::childRulesHaveFailedOrCanceledSubresources):
974 * css/WebKitCSSArrayFunctionValue.cpp: Removed.
975 * css/WebKitCSSArrayFunctionValue.h: Removed.
976 * css/WebKitCSSFilterRule.cpp: Removed.
977 * css/WebKitCSSFilterRule.h: Removed.
978 * css/WebKitCSSFilterRule.idl: Removed.
979 * css/WebKitCSSFilterValue.cpp:
980 (WebCore::WebKitCSSFilterValue::WebKitCSSFilterValue):
981 (WebCore::WebKitCSSFilterValue::customCSSText):
982 * css/WebKitCSSFilterValue.h:
983 * css/WebKitCSSFilterValue.idl:
984 * css/WebKitCSSMatFunctionValue.cpp: Removed.
985 * css/WebKitCSSMatFunctionValue.h: Removed.
986 * css/WebKitCSSMixFunctionValue.cpp: Removed.
987 * css/WebKitCSSMixFunctionValue.h: Removed.
988 * css/WebKitCSSMixFunctionValue.idl: Removed.
989 * css/WebKitCSSShaderValue.cpp: Removed.
990 * css/WebKitCSSShaderValue.h: Removed.
991 * loader/cache/CachedResource.cpp:
992 (WebCore::defaultPriorityForResourceType):
993 * loader/cache/CachedResource.h:
994 * loader/cache/CachedResourceLoader.cpp:
995 (WebCore::createResource):
996 (WebCore::CachedResourceLoader::checkInsecureContent):
997 (WebCore::CachedResourceLoader::canRequest):
998 * loader/cache/CachedResourceLoader.h:
999 * loader/cache/CachedShader.cpp: Removed.
1000 * loader/cache/CachedShader.h: Removed.
1001 * page/Settings.cpp:
1002 (WebCore::Settings::Settings):
1004 * page/animation/CSSPropertyAnimation.cpp:
1005 (WebCore::blendFilter):
1006 * platform/graphics/ca/mac/PlatformCALayerMac.mm:
1007 (PlatformCALayerMac::filtersCanBeComposited):
1008 * platform/graphics/filters/CustomFilterArrayParameter.h: Removed.
1009 * platform/graphics/filters/CustomFilterColorParameter.h: Removed.
1010 * platform/graphics/filters/CustomFilterCompiledProgram.cpp: Removed.
1011 * platform/graphics/filters/CustomFilterCompiledProgram.h: Removed.
1012 * platform/graphics/filters/CustomFilterConstants.h: Removed.
1013 * platform/graphics/filters/CustomFilterGlobalContext.cpp: Removed.
1014 * platform/graphics/filters/CustomFilterGlobalContext.h: Removed.
1015 * platform/graphics/filters/CustomFilterMesh.cpp: Removed.
1016 * platform/graphics/filters/CustomFilterMesh.h: Removed.
1017 * platform/graphics/filters/CustomFilterMeshGenerator.cpp: Removed.
1018 * platform/graphics/filters/CustomFilterMeshGenerator.h: Removed.
1019 * platform/graphics/filters/CustomFilterNumberParameter.h: Removed.
1020 * platform/graphics/filters/CustomFilterOperation.cpp: Removed.
1021 * platform/graphics/filters/CustomFilterOperation.h: Removed.
1022 * platform/graphics/filters/CustomFilterParameter.h: Removed.
1023 * platform/graphics/filters/CustomFilterParameterList.cpp: Removed.
1024 * platform/graphics/filters/CustomFilterParameterList.h: Removed.
1025 * platform/graphics/filters/CustomFilterProgram.cpp: Removed.
1026 * platform/graphics/filters/CustomFilterProgram.h: Removed.
1027 * platform/graphics/filters/CustomFilterProgramClient.h: Removed.
1028 * platform/graphics/filters/CustomFilterProgramInfo.cpp: Removed.
1029 * platform/graphics/filters/CustomFilterProgramInfo.h: Removed.
1030 * platform/graphics/filters/CustomFilterRenderer.cpp: Removed.
1031 * platform/graphics/filters/CustomFilterRenderer.h: Removed.
1032 * platform/graphics/filters/CustomFilterTransformParameter.h: Removed.
1033 * platform/graphics/filters/CustomFilterValidatedProgram.cpp: Removed.
1034 * platform/graphics/filters/CustomFilterValidatedProgram.h: Removed.
1035 * platform/graphics/filters/FECustomFilter.cpp: Removed.
1036 * platform/graphics/filters/FECustomFilter.h: Removed.
1037 * platform/graphics/filters/FilterOperation.h:
1038 * platform/graphics/filters/FilterOperations.cpp:
1039 (WebCore::FilterOperations::outsets):
1040 * platform/graphics/filters/FilterOperations.h:
1041 * platform/graphics/filters/ValidatedCustomFilterOperation.cpp: Removed.
1042 * platform/graphics/filters/ValidatedCustomFilterOperation.h: Removed.
1043 * platform/graphics/filters/texmap/CustomFilterValidatedProgramTextureMapper.cpp: Removed.
1044 * platform/graphics/filters/texmap/TextureMapperPlatformCompiledProgram.h: Removed.
1045 * platform/graphics/gpu/Texture.cpp:
1046 * platform/graphics/texmap/TextureMapper.h:
1047 * platform/graphics/texmap/TextureMapperGL.cpp:
1048 (WebCore::getPassesRequiredForFilter):
1049 (WebCore::BitmapTextureGL::applyFilters):
1050 * platform/graphics/texmap/TextureMapperGL.h:
1051 * platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:
1052 (WebCore::CompositingCoordinator::clearPendingStateChanges):
1053 (WebCore::CompositingCoordinator::syncLayerState):
1054 * platform/graphics/texmap/coordinated/CompositingCoordinator.h:
1055 * platform/graphics/texmap/coordinated/CoordinatedCustomFilterOperation.h: Removed.
1056 * platform/graphics/texmap/coordinated/CoordinatedCustomFilterProgram.h: Removed.
1057 * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
1058 (WebCore::CoordinatedGraphicsScene::setLayerFiltersIfNeeded):
1059 (WebCore::CoordinatedGraphicsScene::commitSceneState):
1060 (WebCore::CoordinatedGraphicsScene::setLayerAnimationsIfNeeded):
1061 * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
1062 * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:
1063 * rendering/FilterEffectRenderer.cpp:
1064 (WebCore::FilterEffectRenderer::FilterEffectRenderer):
1065 (WebCore::FilterEffectRenderer::build):
1066 (WebCore::FilterEffectRenderer::computeSourceImageRectForDirtyRect):
1067 * rendering/FilterEffectRenderer.h:
1068 * rendering/RenderLayer.cpp:
1069 (WebCore::RenderLayer::setFilterBackendNeedsRepaintingInRect):
1070 (WebCore::RenderLayer::calculateClipRects):
1071 * rendering/RenderLayer.h:
1072 * rendering/RenderLayerBacking.cpp:
1073 (WebCore::RenderLayerBacking::updateFilters):
1074 * rendering/RenderLayerFilterInfo.cpp:
1075 (WebCore::RenderLayer::FilterInfo::~FilterInfo):
1076 * rendering/RenderLayerFilterInfo.h:
1077 * rendering/RenderView.cpp:
1078 * rendering/RenderView.h:
1079 * rendering/style/StyleCachedShader.cpp: Removed.
1080 * rendering/style/StyleCachedShader.h: Removed.
1081 * rendering/style/StyleCustomFilterProgram.cpp: Removed.
1082 * rendering/style/StyleCustomFilterProgram.h: Removed.
1083 * rendering/style/StyleCustomFilterProgramCache.cpp: Removed.
1084 * rendering/style/StyleCustomFilterProgramCache.h: Removed.
1085 * rendering/style/StylePendingShader.h: Removed.
1086 * rendering/style/StyleShader.h: Removed.
1088 2014-01-22 Jon Honeycutt <jhoneycutt@apple.com>
1090 REGRESSION(r161967): Crash in WebCore::CachedSVGDocumentReference::load
1091 <https://webkit.org/b/127151>
1092 <rdar://problem/15840760>
1094 There were two issues introduced here; the first is a use-after-free of
1095 CachedSVGDocumentReference objects.
1097 The previous code kept a map from FilterOperation ->
1098 RefPtr<WebKitCSSSVGDocumentValue>, which retained the
1099 CachedSVGDocument. In r161967, this was changed to use a weak HashSet,
1100 which allows stale CachedSVGDocumentReferences in the pending document
1101 set if the owning FilterOperation is deleted. To fix this, we'll keep a
1102 vector of RefPtr<FilterOperation> with pending SVG documents.
1104 The second issue is a null deref in CachedSVGDocumentReference::load();
1105 CachedResourceLoader::requestSVGDocument() can return 0 if (for
1106 example) an invalid URL is passed. r161967 removed a null check as part
1109 Reviewed by Dirk Schulze.
1111 Tests: css3/filters/crash-filter-animation-invalid-url.html
1112 css3/filters/crash-invalid-url.html
1114 * css/StyleResolver.cpp:
1115 (WebCore::StyleResolver::State::clear):
1116 Use new member var name.
1117 (WebCore::StyleResolver::loadPendingSVGDocuments):
1118 For each FilterOperation with a pending SVG document, get or create a
1119 CachedSVGDocumentReference, and tell it to load. Changed to use new
1121 (WebCore::StyleResolver::createFilterOperations):
1122 Append the FilterOperation to the list of FilterOperations with
1123 unloaded SVG documents.
1125 * css/StyleResolver.h:
1126 Changed from using PendingSVGDocumentSet, a weak set, to
1127 a Vector<RefPtr<ReferenceFilterOperation>>.
1128 (WebCore::StyleResolver::State::filtersWithPendingSVGDocuments):
1131 * loader/cache/CachedSVGDocumentReference.cpp:
1132 (WebCore::CachedSVGDocumentReference::~CachedSVGDocumentReference):
1133 Null check m_document rather than checking m_loadRequested.
1134 m_loadRequested may be true when m_document is 0.
1135 (WebCore::CachedSVGDocumentReference::load):
1136 Null check the result of CachedResourceLoader::requestSVGDocument().
1138 * platform/graphics/filters/FilterOperation.cpp:
1139 (WebCore::ReferenceFilterOperation::getOrCreateCachedSVGDocumentReference):
1140 Create, if necessary, and return the CachedSVGDocumentReference.
1142 * platform/graphics/filters/FilterOperation.h:
1143 Replaced createCachedSVGDocumentReference() with
1144 getOrCreateCachedSVGDocumentReference(), which makes for slightly
1147 2014-01-23 Antti Koivisto <antti@apple.com>
1149 Don't enable speculative tiles immediately after main load stops progressing
1150 https://bugs.webkit.org/show_bug.cgi?id=127507
1152 Reviewed by Andreas Kling.
1154 It is common for timers and events to trigger more loading after the initial main frame loading
1155 has completed. We should delay a bit before enabling speculative tiles and keep them disabled
1156 if loading still continues.
1158 * page/FrameView.cpp:
1159 (WebCore::FrameView::FrameView):
1160 (WebCore::FrameView::adjustTiledBackingCoverage):
1161 (WebCore::shouldEnableSpeculativeTilingDuringLoading):
1162 (WebCore::FrameView::enableSpeculativeTilingIfNeeded):
1164 When load progression stops wait 0.5s before enabling speculative tiles.
1166 (WebCore::FrameView::speculativeTilingEnableTimerFired):
1168 Don't enable speculative tiles if the progression has started again. Instead restart the timer.
1171 * rendering/RenderLayerBacking.cpp:
1172 (WebCore::RenderLayerBacking::RenderLayerBacking):
1173 (WebCore::computeTileCoverage):
1175 Move the FrameView level code to FrameView (so we don't need to add a timer to every RenderLayerBacking).
1177 * rendering/RenderLayerBacking.h:
1179 2014-01-23 Antti Koivisto <antti@apple.com>
1181 Loads started soon after main frame completion should be considered part of the main load
1182 https://bugs.webkit.org/show_bug.cgi?id=127504
1184 Reviewed by Andreas Kling.
1186 ProgressTracker currently decides that main load is complete when the main frame stops loading.
1187 However it is common that timers and onload events trigger more loads immediately (for example
1188 by inserting iframes) and loading continues visually. These should be considered as part of the
1189 main load for paint throttling and speculative tiling coverage purposes.
1191 * loader/ProgressTracker.cpp:
1192 (WebCore::ProgressTracker::ProgressTracker):
1193 (WebCore::ProgressTracker::progressStarted):
1195 Track whether this is considered part of the main load or not with a boolean.
1196 It is set for subframe loads too if they start loading soon (within 1s) after the main frame load completes.
1198 (WebCore::ProgressTracker::finalProgressComplete):
1202 (WebCore::ProgressTracker::isMainLoadProgressing):
1204 New definition of "main load".
1206 * loader/ProgressTracker.h:
1208 2014-01-23 peavo@outlook.com <peavo@outlook.com>
1210 [WinCairo] Compile error.
1211 https://bugs.webkit.org/show_bug.cgi?id=127499
1213 Reviewed by Brent Fulgham.
1215 * platform/network/curl/ResourceError.h: Include <winsock2.h> before <curl/curl.h>.
1217 2014-01-23 Brady Eidson <beidson@apple.com>
1219 IDB: Implement cross-thread and IPC plumbing for 'get' support
1220 https://bugs.webkit.org/show_bug.cgi?id=127501
1222 Reviewed by Anders Carlsson.
1224 Add isolatedCopy to the IDBGetResult object:
1225 * Modules/indexeddb/IDBGetResult.h:
1226 (WebCore::IDBGetResult::isolatedCopy):
1228 Add a cross-thread and cross-IPC appropriate object for IDBKeyRanges:
1229 * Modules/indexeddb/IDBKeyRangeData.cpp: Copied from Source/WebCore/Modules/indexeddb/IDBGetResult.h.
1230 (WebCore::IDBKeyRangeData::isolatedCopy):
1231 * Modules/indexeddb/IDBKeyRangeData.h: Copied from Source/WebCore/Modules/indexeddb/IDBGetResult.h.
1232 (WebCore::IDBKeyRangeData::IDBKeyRangeData):
1234 Add a few more cross-thread copiers:
1235 * platform/CrossThreadCopier.cpp:
1236 (WebCore::IDBGetResult>::copy):
1237 (WebCore::IDBKeyRangeData>::copy):
1238 * platform/CrossThreadCopier.h:
1242 * GNUmakefile.list.am:
1244 * WebCore.xcodeproj/project.pbxproj:
1246 2014-01-23 Jer Noble <jer.noble@apple.com>
1248 [MSE][Mac] Adopt new AVStreamDataParser delegate API
1249 https://bugs.webkit.org/show_bug.cgi?id=127498
1251 Reviewed by Eric Carlson.
1253 Adopt a new delegate API which passes in whether or not the new AVAsset
1254 is discontinuous, implying the AVAsset is entirely new rather than
1255 just updated with new information.
1257 * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
1258 (-[WebAVStreamDataParserListener streamDataParser:didParseStreamDataAsAsset:withDiscontinuity:]):
1260 2014-01-23 Tim Horton <timothy_horton@apple.com>
1262 PDFPlugin: Use PDFPlugin even if there's an external plugin installed, if it's blocked
1263 https://bugs.webkit.org/show_bug.cgi?id=127415
1264 <rdar://problem/12482452>
1266 Reviewed by Sam Weinig.
1268 * English.lproj/Localizable.strings:
1270 * platform/LocalizedStrings.cpp:
1271 (WebCore::useBlockedPlugInContextMenuTitle):
1272 * platform/LocalizedStrings.h:
1273 Add a localizable string for the generic case, where the client
1274 didn't provide a more specific string for the context menu item.
1276 2014-01-23 peavo@outlook.com <peavo@outlook.com>
1278 [Curl] There is no way to specify cache folder.
1279 https://bugs.webkit.org/show_bug.cgi?id=125028
1281 Reviewed by Brent Fulgham.
1283 Fixed logical test, disc cache should be disabled if creating cache folder fails.
1285 * platform/network/curl/CurlCacheManager.cpp:
1286 (WebCore::CurlCacheManager::setCacheDirectory):
1288 2014-01-23 Brady Eidson <beidson@apple.com>
1290 Unreviewed build fix.
1292 * WebCore.xcodeproj/project.pbxproj: Export the new header so WebKit can see it
1294 2014-01-22 Brent Fulgham <bfulgham@apple.com>
1296 [Win] Update project and solution files for 64-bit builds
1297 https://bugs.webkit.org/show_bug.cgi?id=127457
1299 Reviewed by Eric Carlson.
1301 * WebCore.vcxproj/QTMovieWin/QTMovieWin.vcxproj: Update for VS2013
1302 * WebCore.vcxproj/WebCore.submit.sln: Add x64 targets
1303 * WebCore.vcxproj/WebCore.vcxproj: Update for VS2013. Also exclude 32-bit specific
1304 assembly when building 64-bit target.
1305 * WebCore.vcxproj/WebCore.vcxproj.filters: Update for VS2013
1306 * config.h: Handle 64-bit type definitions.
1307 * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
1308 (PlatformCAAnimation::setFromValue): Use CGFloat to support 64-bit builds
1309 (PlatformCAAnimation::setToValue): Ditto
1310 (PlatformCAAnimation::setValues): Ditto
1311 * platform/graphics/win/FontCustomPlatformData.cpp:
1312 (WebCore::FontCustomPlatformData::fontPlatformData): Add cast to
1313 support 32- and 64-bit targets.
1314 * platform/graphics/win/GraphicsContextCGWin.cpp:
1315 (WebCore::GraphicsContext::drawLineForDocumentMarker): Use CGFloat to
1316 support 64-bit builds.
1317 * platform/win/PasteboardWin.cpp:
1318 (WebCore::Pasteboard::writeURLToDataObject): Specialize std::min to
1319 work on 32- and 64-bit code.
1320 (WebCore::createGlobalImageFileDescriptor): Ditto
1321 * platform/win/StructuredExceptionHandlerSuppressor.cpp:
1322 (WebCore::StructuredExceptionHandlerSuppressor::StructuredExceptionHandlerSuppressor):
1323 Comment out 32-bit inline assembly.
1324 (WebCore::StructuredExceptionHandlerSuppressor::~StructuredExceptionHandlerSuppressor):
1327 2014-01-23 Brady Eidson <beidson@apple.com>
1329 Make IDBGetResult work with IDBKeyData instead of IDBKey.
1330 https://bugs.webkit.org/show_bug.cgi?id=127493
1332 Reviewed by Eric Carlson.
1334 Also break it into its own header to work better with IPC messages.
1336 * Modules/indexeddb/IDBGetResult.h: Added.
1337 (WebCore::IDBGetResult::IDBGetResult):
1339 * Modules/indexeddb/IDBServerConnection.h:
1341 * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
1342 (WebCore::GetOperation::perform):
1344 * WebCore.xcodeproj/project.pbxproj:
1346 2014-01-23 Mátyás Mustoha <mmatyas@inf.u-szeged.hu>
1348 [curl] Add storage limit to cache manager
1349 https://bugs.webkit.org/show_bug.cgi?id=125779
1351 Reviewed by Brent Fulgham.
1353 Sets a local disc storage size limit for the cache manager
1354 used by the curl network backend.
1356 * platform/network/curl/CurlCacheEntry.cpp:
1357 (WebCore::CurlCacheEntry::CurlCacheEntry):
1358 (WebCore::CurlCacheEntry::isCached):
1359 (WebCore::CurlCacheEntry::saveCachedData):
1360 (WebCore::CurlCacheEntry::readCachedData):
1361 (WebCore::CurlCacheEntry::didFail):
1362 (WebCore::CurlCacheEntry::didFinishLoading):
1363 (WebCore::CurlCacheEntry::loadFileToBuffer):
1364 (WebCore::CurlCacheEntry::parseResponseHeaders):
1365 (WebCore::CurlCacheEntry::entrySize):
1366 * platform/network/curl/CurlCacheEntry.h:
1367 (WebCore::CurlCacheEntry::requestHeaders):
1368 * platform/network/curl/CurlCacheManager.cpp:
1369 (WebCore::CurlCacheManager::CurlCacheManager):
1370 (WebCore::CurlCacheManager::setStorageSizeLimit):
1371 (WebCore::CurlCacheManager::loadIndex):
1372 (WebCore::CurlCacheManager::saveIndex):
1373 (WebCore::CurlCacheManager::makeRoomForNewEntry):
1374 (WebCore::CurlCacheManager::didReceiveResponse):
1375 (WebCore::CurlCacheManager::didReceiveData):
1376 (WebCore::CurlCacheManager::invalidateCacheEntry):
1377 (WebCore::CurlCacheManager::readCachedData):
1378 * platform/network/curl/CurlCacheManager.h:
1379 (WebCore::CurlCacheManager::cacheDirectory):
1381 2014-01-23 Carlos Garcia Campos <cgarcia@igalia.com>
1383 Unreviewed. Fix automake warning.
1385 * GNUmakefile.list.am: Remove trailing whitespaces.
1387 2014-01-23 Mihai Maerean <mmaerean@adobe.com>
1389 [CSS Regions] Fix positioning composited layers when the region has overflow:hidden
1390 https://bugs.webkit.org/show_bug.cgi?id=124042
1392 Reviewed by Mihnea Ovidenie.
1394 If there's a clipping GraphicsLayer on the hierarchy, substract its offset, since it's its
1395 parent that positions us.
1397 Tests: compositing/regions/position-layer-inside-region-overflow-hidden.html
1398 compositing/regions/position-layer-inside-overflow-hidden.html
1399 compositing/regions/position-layers-inside-region-overflow-hidden.html
1400 compositing/regions/position-layers-inside-regions-overflow-hidden.html
1402 * rendering/RenderLayerBacking.cpp:
1403 (WebCore::RenderLayerBacking::adjustAncestorCompositingBoundsForFlowThread): The position
1404 must also be correct when the region has box-shadow that inflates the region's layer. The
1405 composited layers from the flow thread should be rendered in the same position whether the
1406 associated region has clipping or not.
1407 Using the position of the clipping layer instead of the location of the clipbox makes it
1408 also work with box-shadow that inflates the region's graphics layer.
1410 2014-01-23 Andrei Bucur <abucur@adobe.com>
1412 [CSS Regions] Convert regions iterator loops to range-based loops
1413 https://bugs.webkit.org/show_bug.cgi?id=127464
1415 Reviewed by Antti Koivisto.
1417 Replace most of the iterator loops in the region implementation with
1418 range based for loops. The for loops that iterate only over subsets
1419 of collections have not been changed.
1421 Tests: no new tests, this is a refactoring patch.
1423 * dom/WebKitNamedFlow.cpp:
1424 (WebCore::WebKitNamedFlow::firstEmptyRegionIndex):
1425 (WebCore::WebKitNamedFlow::getRegionsByContent):
1426 (WebCore::WebKitNamedFlow::getRegions):
1427 (WebCore::WebKitNamedFlow::getContent):
1428 * inspector/InspectorOverlay.cpp:
1429 (WebCore::buildObjectForCSSRegionsHighlight):
1430 * rendering/RenderFlowThread.cpp:
1431 (WebCore::RenderFlowThread::validateRegions):
1432 (WebCore::RenderFlowThread::updateLogicalWidth):
1433 (WebCore::RenderFlowThread::computeLogicalHeight):
1434 (WebCore::RenderFlowThread::repaintRectangleInRegions):
1435 (WebCore::RenderFlowThread::removeRenderBoxRegionInfo):
1436 (WebCore::RenderFlowThread::logicalWidthChangedInRegionsForBlock):
1437 (WebCore::RenderFlowThread::clearRenderBoxRegionInfoAndCustomStyle):
1438 (WebCore::RenderFlowThread::isAutoLogicalHeightRegionsCountConsistent):
1439 (WebCore::RenderFlowThread::markAutoLogicalHeightRegionsForLayout):
1440 (WebCore::RenderFlowThread::markRegionsForOverflowLayoutIfNeeded):
1441 (WebCore::RenderFlowThread::updateRegionsFlowThreadPortionRect):
1442 (WebCore::RenderFlowThread::collectLayerFragments):
1443 (WebCore::RenderFlowThread::fragmentsBoundingBox):
1444 * rendering/RenderNamedFlowFragment.cpp:
1445 (WebCore::RenderNamedFlowFragment::setRegionObjectsRegionStyle):
1446 (WebCore::RenderNamedFlowFragment::restoreRegionObjectsOriginalStyle):
1447 * rendering/RenderNamedFlowThread.cpp:
1448 (WebCore::RenderNamedFlowThread::clearContentElements):
1449 (WebCore::RenderNamedFlowThread::nextRendererForNode):
1450 (WebCore::RenderNamedFlowThread::dependsOn):
1451 (WebCore::RenderNamedFlowThread::computeOversetStateForRegions):
1452 (WebCore::RenderNamedFlowThread::checkInvalidRegions):
1453 (WebCore::RenderNamedFlowThread::pushDependencies):
1454 (WebCore::RenderNamedFlowThread::registerNamedFlowContentElement):
1455 (WebCore::isContainedInElements):
1456 (WebCore::RenderNamedFlowThread::getRanges):
1457 (WebCore::RenderNamedFlowThread::checkRegionsWithStyling):
1458 (WebCore::RenderNamedFlowThread::clearRenderObjectCustomStyle):
1459 * rendering/RenderTreeAsText.cpp:
1460 (WebCore::writeRenderRegionList):
1462 2014-01-23 László Langó <llango.u-szeged@partner.samsung.com>
1464 Range should be constructable.
1465 https://bugs.webkit.org/show_bug.cgi?id=115639
1467 Reviewed by Ryosuke Niwa.
1469 http://www.w3.org/TR/2013/WD-dom-20131107/#interface-range
1470 Now we can do `new Range()` instead of `document.createRange()`.
1472 Backported from Blink: https://chromium.googlesource.com/chromium/blink/+/47ca40efdf58a4787aa33aa75a35778899b1c002%5E%21
1474 Test: fast/dom/Range/range-constructor.html
1477 (WebCore::Range::create):
1481 2014-01-23 ChangSeok Oh <changseok.oh@collabora.com>
1483 Unreviewed build fix for gles after r162565. Add missing definitions.
1485 * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
1486 (WebCore::GraphicsContext3D::drawArraysInstanced):
1487 (WebCore::GraphicsContext3D::drawElementsInstanced):
1488 (WebCore::GraphicsContext3D::vertexAttribDivisor):
1490 2014-01-22 Carlos Garcia Campos <cgarcia@igalia.com>
1492 [GLIB] Use GUniquePtr instead of GOwnPtr
1493 https://bugs.webkit.org/show_bug.cgi?id=127431
1495 Reviewed by Martin Robinson.
1497 GUniquePtr is a template alias of std::unique_ptr with a custom
1498 deleter that replaces GOwnPtr. GOwnPtr is still used for the cases
1499 where the output pointer is needed, but it will also be replaced soon.
1501 * GNUmakefile.list.am:
1502 * PlatformGTK.cmake:
1503 * accessibility/atk/AXObjectCacheAtk.cpp:
1504 * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
1505 (getAttributeSetForAccessibilityObject):
1506 (accessibilityObjectLength):
1508 (webkitAccessibleTextGetChar):
1509 (numberOfReplacedElementsBeforeOffset):
1510 * page/ContextMenuController.cpp:
1511 * platform/SharedBuffer.h:
1512 * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
1513 (webKitWebAudioSrcConstructed):
1514 (webKitWebAudioSrcLoop):
1515 * platform/audio/gtk/AudioBusGtk.cpp:
1516 (WebCore::AudioBus::loadPlatformResource):
1517 * platform/geoclue/GeolocationProviderGeoclue.cpp:
1518 * platform/graphics/gstreamer/ImageGStreamerCairo.cpp:
1519 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1520 (WebCore::MediaPlayerPrivateGStreamer::setAudioStreamProperties):
1521 (WebCore::MediaPlayerPrivateGStreamer::handleMessage):
1522 * platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp:
1523 (webKitMediaSrcAddSrc):
1524 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
1525 (webKitWebSrcStart):
1526 (ResourceHandleStreamingClient::wasBlocked):
1527 (ResourceHandleStreamingClient::cannotShowURL):
1528 * platform/graphics/gtk/ImageBufferGtk.cpp:
1529 (WebCore::encodeImage):
1530 (WebCore::ImageBuffer::toDataURL):
1531 * platform/graphics/gtk/ImageGtk.cpp:
1532 (WebCore::getThemeIconFileName):
1533 (WebCore::Image::loadPlatformResource):
1534 * platform/gtk/ContextMenuGtk.cpp:
1535 (WebCore::ContextMenu::itemCount):
1536 (WebCore::contextMenuItemVector):
1537 * platform/gtk/ContextMenuItemGtk.cpp:
1538 (WebCore::createPlatformMenuItemDescription):
1539 * platform/gtk/DataObjectGtk.cpp:
1540 (WebCore::DataObjectGtk::setURIList):
1541 (WebCore::DataObjectGtk::setURL):
1542 * platform/gtk/FileSystemGtk.cpp:
1543 (WebCore::filenameToString):
1544 (WebCore::fileSystemRepresentation):
1545 (WebCore::filenameForDisplay):
1546 (WebCore::pathGetFileName):
1547 (WebCore::applicationDirectoryPath):
1548 (WebCore::sharedResourcesPath):
1549 (WebCore::directoryName):
1550 (WebCore::listDirectory):
1551 (WebCore::openTemporaryFile):
1552 * platform/gtk/GOwnPtrGtk.cpp: Removed.
1553 * platform/gtk/GOwnPtrGtk.h: Removed.
1554 * platform/gtk/GUniquePtrGtk.h: Added.
1555 * platform/gtk/GamepadsGtk.cpp:
1556 (WebCore::GamepadsGtk::GamepadsGtk):
1557 * platform/gtk/GtkClickCounter.cpp:
1558 (WebCore::GtkClickCounter::shouldProcessButtonEvent):
1559 * platform/gtk/GtkInputMethodFilter.cpp:
1560 (WebCore::GtkInputMethodFilter::sendCompositionAndPreeditWithFakeKeyEvents):
1561 * platform/gtk/GtkPopupMenu.cpp:
1562 (WebCore::GtkPopupMenu::popUp):
1563 (WebCore::GtkPopupMenu::typeAheadFind):
1564 * platform/gtk/LanguageGtk.cpp:
1565 (WebCore::platformLanguage):
1566 * platform/gtk/LocalizedStringsGtk.cpp:
1567 (WebCore::imageTitle):
1568 (WebCore::localizedMediaTimeDescription):
1569 * platform/gtk/PasteboardHelper.cpp:
1570 (WebCore::selectionDataToUTF8String):
1571 (WebCore::PasteboardHelper::getClipboardContents):
1572 (WebCore::PasteboardHelper::fillSelectionData):
1573 * platform/gtk/PopupMenuGtk.cpp:
1574 (WebCore::PopupMenuGtk::createGtkActionForMenuItem):
1575 (WebCore::PopupMenuGtk::show):
1576 * platform/gtk/WebKitAuthenticationWidget.cpp:
1577 (webkitAuthenticationWidgetInitialize):
1578 * platform/network/ResourceHandleInternal.h:
1579 * platform/network/gtk/CredentialBackingStore.cpp:
1580 (WebCore::credentialForChallengeAsyncReadyCallback):
1581 * platform/network/soup/CookieJarSoup.cpp:
1582 (WebCore::setCookiesFromDOM):
1583 (WebCore::cookiesForSession):
1584 (WebCore::getRawCookies):
1585 (WebCore::deleteCookie):
1586 (WebCore::getHostnamesWithCookies):
1587 (WebCore::deleteCookiesForHostname):
1588 (WebCore::deleteAllCookies):
1589 * platform/network/soup/DNSSoup.cpp:
1590 * platform/network/soup/GUniquePtrSoup.h: Added.
1591 * platform/network/soup/ResourceErrorSoup.cpp:
1592 (WebCore::failingURI):
1593 * platform/network/soup/ResourceHandleSoup.cpp:
1594 (WebCore::ResourceHandle::ensureReadBuffer):
1595 (WebCore::cleanupSoupRequestOperation):
1596 (WebCore::createSoupRequestAndMessageForHandle):
1597 * platform/network/soup/ResourceRequestSoup.cpp:
1598 (WebCore::ResourceRequest::updateSoupMessageMembers):
1599 (WebCore::ResourceRequest::updateSoupMessage):
1600 * platform/network/soup/ResourceResponseSoup.cpp:
1601 * platform/network/soup/SoupURIUtils.cpp:
1602 (WebCore::soupURIToKURL):
1603 * platform/soup/SharedBufferSoup.cpp:
1604 (WebCore::SharedBuffer::SharedBuffer):
1605 (WebCore::SharedBuffer::clearPlatformData):
1606 (WebCore::SharedBuffer::maybeTransferPlatformData):
1607 (WebCore::SharedBuffer::hasPlatformData):
1608 * plugins/gtk/PluginPackageGtk.cpp:
1609 (WebCore::PluginPackage::fetchInfo):
1610 (WebCore::PluginPackage::load):
1612 2014-01-22 Simon Fraser <simon.fraser@apple.com>
1614 Surround fixedVisibleContentRect code with USE(TILED_BACKING_STORE)
1615 https://bugs.webkit.org/show_bug.cgi?id=127461
1617 Reviewed by Andreas Kling.
1619 The "fixedVisibleContentRect" code path is only used by platforms
1620 which enabled TILED_BACKING_STORE, so to reduce confusion, surround
1621 this code with #if USE(TILED_BACKING_STORE).
1624 (WebCore::Frame::createView):
1625 * page/FrameView.cpp:
1627 * platform/ScrollView.cpp:
1628 (WebCore::ScrollView::unscaledVisibleContentSize):
1629 (WebCore::ScrollView::visibleContentRect):
1630 * platform/ScrollView.h:
1631 (WebCore::ScrollView::visibleSize):
1633 2014-01-22 Myles C. Maxfield <mmaxfield@apple.com>
1635 ASSERTION FAILED: v.isFixed() in WebCore::RenderStyle::setWordSpacing
1636 https://bugs.webkit.org/show_bug.cgi?id=126987
1638 Reviewed by Simon Fraser.
1640 When "inherit" is specified and there is no parent, Length values have an "Auto" type
1642 Test: fast/css3-text/css3-word-spacing-percentage/word-spacing-crash.html
1644 * rendering/style/RenderStyle.cpp:
1645 (WebCore::RenderStyle::setWordSpacing):
1647 2014-01-22 Samuel White <samuel_white@apple.com>
1649 AX: Can't always increment web sliders.
1650 https://bugs.webkit.org/show_bug.cgi?id=127451
1652 Reviewed by Chris Fleizach.
1654 Clamping the decrement/increment amount to one when necessary (if a percent change would result in a change of less than one).
1656 Test: accessibility/range-alter-by-percent.html
1658 * accessibility/AccessibilityNodeObject.cpp:
1659 (WebCore::AccessibilityNodeObject::changeValueByPercent):
1661 2014-01-22 Myles C. Maxfield <mmaxfield@apple.com>
1663 Remove CSS3_TEXT_DECORATION define
1664 https://bugs.webkit.org/show_bug.cgi?id=127333
1666 Reviewed by Simon Fraser.
1668 This is required for unprefixing the text-decoration-* CSS properties.
1670 No new tests are necessary becase the flag was already on by default.
1672 * Configurations/FeatureDefines.xcconfig:
1673 * css/CSSComputedStyleDeclaration.cpp:
1674 (WebCore::renderTextDecorationSkipFlagsToCSSValue):
1675 (WebCore::ComputedStyleExtractor::propertyValue):
1676 * css/CSSParser.cpp:
1677 (WebCore::isColorPropertyID):
1678 (WebCore::CSSParser::parseValue):
1679 (WebCore::CSSParser::addTextDecorationProperty):
1680 (WebCore::CSSParser::parseTextUnderlinePosition):
1682 * css/CSSPrimitiveValueMappings.h:
1683 (WebCore::CSSPrimitiveValue::operator TextUnderlinePosition):
1684 * css/CSSPropertyNames.in:
1685 * css/CSSValueKeywords.in:
1686 * css/DeprecatedStyleBuilder.cpp:
1687 (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
1688 * css/StylePropertyShorthand.cpp:
1689 (WebCore::webkitTextDecorationShorthand):
1690 (WebCore::shorthandForProperty):
1691 (WebCore::matchingShorthandsForLonghand):
1692 * css/StylePropertyShorthand.h:
1693 * css/StyleResolver.cpp:
1694 (WebCore::shouldApplyPropertyInParseOrder):
1695 (WebCore::isValidVisitedLinkProperty):
1696 (WebCore::StyleResolver::applyProperty):
1697 * platform/graphics/GraphicsContext.h:
1698 * platform/graphics/cairo/GraphicsContextCairo.cpp:
1699 (WebCore::GraphicsContext::setPlatformStrokeStyle):
1700 * platform/graphics/cg/GraphicsContextCG.cpp:
1701 (WebCore::GraphicsContext::platformInit):
1702 * platform/graphics/wince/GraphicsContextWinCE.cpp:
1703 (WebCore::createPen):
1704 * rendering/InlineFlowBox.cpp:
1705 (WebCore::InlineFlowBox::computeMaxLogicalTop):
1706 * rendering/InlineFlowBox.h:
1707 * rendering/InlineTextBox.cpp:
1708 (WebCore::textDecorationStyleToStrokeStyle):
1709 (WebCore::boundingBoxForAllActiveDecorations):
1710 (WebCore::InlineTextBox::paintDecoration):
1711 * rendering/RenderObject.cpp:
1712 (WebCore::decorationColor):
1713 * rendering/RootInlineBox.cpp:
1714 (WebCore::RootInlineBox::maxLogicalTop):
1715 * rendering/RootInlineBox.h:
1716 * rendering/style/RenderStyle.cpp:
1717 (WebCore::RenderStyle::changeRequiresRepaintIfTextOrBorderOrOutline):
1718 (WebCore::RenderStyle::colorIncludingFallback):
1719 (WebCore::RenderStyle::visitedDependentColor):
1720 * rendering/style/RenderStyle.h:
1721 * rendering/style/RenderStyleConstants.h:
1722 * rendering/style/StyleRareInheritedData.cpp:
1723 (WebCore::StyleRareInheritedData::StyleRareInheritedData):
1724 (WebCore::StyleRareInheritedData::operator==):
1725 * rendering/style/StyleRareInheritedData.h:
1726 * rendering/style/StyleRareNonInheritedData.cpp:
1727 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
1728 (WebCore::StyleRareNonInheritedData::operator==):
1729 * rendering/style/StyleRareNonInheritedData.h:
1731 2014-01-22 Chris Fleizach <cfleizach@apple.com>
1733 AX: Do not return an accessible name for an object just because it has tabindex=0
1734 https://bugs.webkit.org/show_bug.cgi?id=126914
1736 Reviewed by Mario Sanchez Prada.
1738 WebKit has code to return an accessible name for any object that is "generically" focusable (ie. tabindex=0).
1739 This behavior, which is not supported in ARIA, has caused many problems for VoiceOver. Often VoiceOver will
1740 speak all the text underneath any type of group.
1742 I think we need to revert this behavior and follow the ARIA spec more closely.
1744 Test: accessibility/aria-describedby-ensures-visibility.html
1746 * accessibility/AccessibilityNodeObject.cpp:
1747 (WebCore::AccessibilityNodeObject::visibleText):
1748 (WebCore::AccessibilityNodeObject::title):
1750 2014-01-22 Brady Eidson <beidson@apple.com>
1752 The IDB backing store get() method shouldn't call IDB callbacks directly
1753 https://bugs.webkit.org/show_bug.cgi?id=127453
1755 Reviewed by Beth Dakin.
1757 * Modules/indexeddb/IDBServerConnection.h:
1758 (WebCore::IDBGetResult::IDBGetResult): Add a new structure to hold all of the
1759 possible results of a get() call.
1761 * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
1762 (WebCore::IDBServerConnectionLevelDB::get): Don't call IDBCallbacks directly.
1763 Instead, return the GetResult to the GetOperation which will make IDBCallbacks.
1764 * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
1766 * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
1767 (WebCore::GetOperation::perform): Get all of the IDBGetResults in the completion callback
1768 make the appropriate IDBCallback.
1769 * Modules/indexeddb/IDBTransactionBackendOperations.h:
1771 2014-01-22 Dean Jackson <dino@apple.com>
1773 Unreviewed attempt to fix 32-bit builds.
1775 Use long long rather than GC3Dintptr.
1777 * html/canvas/ANGLEInstancedArrays.cpp:
1778 (WebCore::ANGLEInstancedArrays::drawElementsInstancedANGLE):
1779 * html/canvas/ANGLEInstancedArrays.h:
1780 * html/canvas/WebGLRenderingContext.cpp:
1781 (WebCore::WebGLRenderingContext::drawElementsInstanced):
1782 * html/canvas/WebGLRenderingContext.h:
1784 2014-01-21 Brady Eidson <beidson@apple.com>
1787 <rdar://problem/15779643> and https://bugs.webkit.org/show_bug.cgi?id=127401
1789 Reviewed by Alexey Proskuryakov.
1791 Add persistent encode/decode for storage to the database:
1792 * Modules/indexeddb/IDBKey.cpp:
1793 (WebCore::IDBKey::encode):
1794 (WebCore::IDBKey::decode):
1795 * Modules/indexeddb/IDBKey.h:
1797 Add a data class to represent IDBKey suitable for crossing IPC:
1798 * Modules/indexeddb/IDBKeyData.cpp: Added.
1799 (WebCore::IDBKeyData::IDBKeyData):
1800 (WebCore::IDBKeyData::maybeCreateIDBKey):
1801 (WebCore::IDBKeyData::isolatedCopy):
1802 * Modules/indexeddb/IDBKeyData.h: Added.
1803 (WebCore::IDBKeyData::IDBKeyData):
1805 * platform/CrossThreadCopier.cpp:
1806 (WebCore::IDBKeyData>::copy):
1807 * platform/CrossThreadCopier.h:
1810 * WebCore.xcodeproj/project.pbxproj:
1812 2014-01-22 Dean Jackson <dino@apple.com>
1814 [WebGL] Implement ANGLE_instanced_arrays
1815 https://bugs.webkit.org/show_bug.cgi?id=127257
1817 Reviewed by Brent Fulgham.
1819 Implement the instanced drawing WebGL extension,
1820 ANGLE_instanced_arrays. This is currently Mac-only,
1821 but should be portable to other platforms if their
1822 OpenGL exposes the functions. It's also done in a way
1823 that will make exposing it to WebGL2 simple.
1825 Test: fast/canvas/webgl/angle-instanced-arrays.html
1828 * DerivedSources.cpp:
1829 * DerivedSources.make:
1830 * GNUmakefile.list.am:
1831 * WebCore.vcxproj/WebCore.vcxproj:
1832 * WebCore.vcxproj/WebCore.vcxproj.filters:
1833 * WebCore.xcodeproj/project.pbxproj:
1834 Add the new files to all the build systems.
1836 * bindings/js/JSWebGLRenderingContextCustom.cpp:
1837 (WebCore::toJS): Link JS side to C++ side.
1839 * html/canvas/ANGLEInstancedArrays.cpp: Added.
1840 (WebCore::ANGLEInstancedArrays::ANGLEInstancedArrays):
1841 * html/canvas/ANGLEInstancedArrays.h: Added.
1842 * html/canvas/ANGLEInstancedArrays.idl: Added.
1843 New boilerplate files that expose the extension methods.
1845 * html/canvas/WebGLExtension.h: New extension enum.
1847 * html/canvas/WebGLRenderingContext.cpp:
1848 (WebCore::WebGLRenderingContext::validateVertexAttributes): Add an optional
1849 parameter representing the number of instance primitives we are asked
1850 to draw. Use that for the draw count if looking at an instanced attribute.
1851 Also make sure we see at least one non-instanced attribute.
1852 (WebCore::WebGLRenderingContext::validateDrawArrays): Update this so it could
1853 be used from either drawArrays or drawArraysInstanced.
1854 (WebCore::WebGLRenderingContext::drawArrays):
1855 (WebCore::WebGLRenderingContext::validateDrawElements): Same here, now can be
1856 used by the instanced and non-instanced versions.
1857 (WebCore::WebGLRenderingContext::drawElements):
1858 (WebCore::WebGLRenderingContext::getExtension): Create and return the new extension.
1859 (WebCore::WebGLRenderingContext::getSupportedExtensions): Add new extension to the list.
1860 (WebCore::WebGLRenderingContext::getVertexAttrib): Intercept a query to the divisor
1861 attribute and return the value we kept in the state.
1862 (WebCore::WebGLRenderingContext::drawArraysInstanced): Call the GC3D method.
1863 (WebCore::WebGLRenderingContext::drawElementsInstanced): Ditto.
1864 (WebCore::WebGLRenderingContext::vertexAttribDivisor): Ditto.
1866 * html/canvas/WebGLRenderingContext.h: Define the new methods and parameters.
1868 * html/canvas/WebGLVertexArrayObjectOES.cpp:
1869 (WebCore::WebGLVertexArrayObjectOES::setVertexAttribDivisor): Keep a record of the
1870 divisor if we set it.
1871 * html/canvas/WebGLVertexArrayObjectOES.h:
1872 (WebCore::WebGLVertexArrayObjectOES::VertexAttribState::VertexAttribState):
1874 * platform/graphics/GraphicsContext3D.h: New enum.
1875 * platform/graphics/mac/GraphicsContext3DMac.mm:
1876 (WebCore::GraphicsContext3D::drawArraysInstanced): The actual calls into OpenGL.
1877 (WebCore::GraphicsContext3D::drawElementsInstanced): Ditto.
1878 (WebCore::GraphicsContext3D::vertexAttribDivisor): Ditto.
1880 * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: Empty implementations
1881 for non-mac platforms.
1883 * platform/graphics/ios/GraphicsContext3DIOS.h: Define the iOS names for the
1886 2014-01-22 Zalan Bujtas <zalan@apple.com>
1888 [CSS Shapes] shape-inside rectangle layout can fail
1889 https://bugs.webkit.org/show_bug.cgi?id=124784
1891 Reviewed by Darin Adler.
1893 Early subpixel rounding/flooring/ceiling can have unwanted
1894 side effect on the final pixel value. Delay pixel
1895 conversions as much as possible.
1897 Existing test is changed to reflect subpixel functionality.
1899 * rendering/shapes/RectangleShape.cpp:
1900 (WebCore::RectangleShape::firstIncludedIntervalLogicalTop):
1902 2014-01-22 Jochen Eisinger <jochen@chromium.org>
1904 Add protocolIsInHTTPFamily for strings and use it where appropriate
1905 https://bugs.webkit.org/show_bug.cgi?id=127336
1907 Reviewed by Alexey Proskuryakov.
1909 * html/HTMLAnchorElement.cpp:
1910 (WebCore::HTMLAnchorElement::parseAttribute):
1911 * page/ContentSecurityPolicy.cpp:
1912 (WebCore::CSPSource::schemeMatches):
1913 * page/SecurityPolicy.cpp:
1914 (WebCore::SecurityPolicy::generateReferrerHeader):
1916 (WebCore::protocolIsInHTTPFamily):
1919 2014-01-22 Zalan Bujtas <zalan@apple.com>
1921 Subpixel Layout: SimpleLineLayout needs more position rounding to match InlineFlowBox layout.
1922 https://bugs.webkit.org/show_bug.cgi?id=127404
1924 Reviewed by Antti Koivisto.
1926 In order to produce a CSS pixel perfect layout, SimpleLineLayout needs to
1927 round line positions to CSS (integral) position similarly to InlineFlowBox.
1929 Existing tests cover it.
1931 * rendering/SimpleLineLayoutResolver.h:
1932 (WebCore::SimpleLineLayout::RunResolver::Run::rect):
1933 (WebCore::SimpleLineLayout::RunResolver::Run::baseline):
1935 2014-01-22 Joseph Pecoraro <pecoraro@apple.com>
1937 Unreviewed rollout of r162534, this caused inspector test failures.
1939 * bindings/js/PageScriptDebugServer.cpp:
1940 (WebCore::PageScriptDebugServer::addListener):
1941 (WebCore::PageScriptDebugServer::removeListener):
1942 (WebCore::PageScriptDebugServer::recompileAllJSFunctions):
1943 (WebCore::PageScriptDebugServer::didRemoveLastListener):
1944 * bindings/js/PageScriptDebugServer.h:
1945 * bindings/js/ScriptDebugServer.cpp:
1946 (WebCore::ScriptDebugServer::ScriptDebugServer):
1947 (WebCore::ScriptDebugServer::recompileAllJSFunctionsSoon):
1948 (WebCore::ScriptDebugServer::recompileAllJSFunctionsTimerFired):
1949 * bindings/js/ScriptDebugServer.h:
1950 * bindings/js/WorkerScriptDebugServer.cpp:
1951 (WebCore::WorkerScriptDebugServer::addListener):
1952 (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
1953 (WebCore::WorkerScriptDebugServer::removeListener):
1954 * inspector/InspectorProfilerAgent.cpp:
1956 2014-01-22 peavo@outlook.com <peavo@outlook.com>
1958 Crashes in setTextForIterator
1959 https://bugs.webkit.org/show_bug.cgi?id=127424
1961 Reviewed by Brent Fulgham.
1963 * platform/text/icu/UTextProviderLatin1.cpp:
1964 (WebCore::uTextLatin1Clone): Provide correct buffer size in utext_setup function call.
1965 (WebCore::uTextLatin1Access): Give correct buffer size to memset call.
1966 (WebCore::openLatin1UTextProvider): Ditto.
1968 2014-01-22 Jer Noble <jer.noble@apple.com>
1970 [Mac] MediaPlayerPrivateMediaSourceAVFObjC::load ASSERTs on lots of tests
1971 https://bugs.webkit.org/show_bug.cgi?id=127430
1973 Reviewed by Eric Carlson.
1975 When other registered media engines cannot load a URL, the engine selection
1976 will eventually pick MediaPlayerPrivateMediaSourceAVFObjC and ask it to load
1977 the URL. Instead of ASSERTing here, simply reject the URL by setting the
1978 network state to FormatError.
1980 * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
1981 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::load):
1983 2014-01-22 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org>
1985 [EFL][GTK] Get EFL and GTK compiling with ACCESSIBILITY disabled
1986 https://bugs.webkit.org/show_bug.cgi?id=127119
1988 Reviewed by Mario Sanchez Prada.
1990 At build time, the compiler was not able to determine which Timer's constructor to call in AXObjectCache when
1991 ACCESSIBILITY is not enabled, fixing that.
1992 Also guarding some members in AccessibilityObject that are only being used by EFL and GTK with ACCESSIBILITY.
1994 * accessibility/AXObjectCache.h:
1995 (WebCore::AXObjectCache::AXObjectCache):
1996 * accessibility/AccessibilityObject.h:
1998 2014-01-22 Peter Molnar <pmolnar.u-szeged@partner.samsung.com>
2000 Refactor calculation of hasRx and hasRy values in SVGPathData
2001 https://bugs.webkit.org/show_bug.cgi?id=127423
2003 Reviewed by Darin Adler.
2005 This is a follow-up on https://bugs.webkit.org/show_bug.cgi?id=127337
2007 * rendering/svg/SVGPathData.cpp:
2008 (WebCore::updatePathFromRectElement):
2010 2014-01-21 Joseph Pecoraro <pecoraro@apple.com>
2012 Web Inspector: Remove recompileAllJSFunctions timer in ScriptDebugServer
2013 https://bugs.webkit.org/show_bug.cgi?id=127409
2015 Reviewed by Timothy Hatcher.
2017 * bindings/js/ScriptDebugServer.h:
2018 * bindings/js/ScriptDebugServer.cpp:
2019 (WebCore::ScriptDebugServer::ScriptDebugServer):
2020 Remove m_recompileTimer and the recompile soon function.
2021 We can just recompile immediately in all existing cases.
2023 * bindings/js/PageScriptDebugServer.h:
2024 * bindings/js/PageScriptDebugServer.cpp:
2025 (WebCore::PageScriptDebugServer::addListener):
2026 (WebCore::PageScriptDebugServer::removeListener):
2027 (WebCore::PageScriptDebugServer::recompileAllJSFunctions):
2028 (WebCore::PageScriptDebugServer::didAddFirstListener):
2029 (WebCore::PageScriptDebugServer::didRemoveLastListener):
2030 Add a "didAddFirstListener" to match "didRemoveLastListener".
2031 Only recompile functions when we attach the debugger and when
2032 we detach the last listener.
2034 * bindings/js/WorkerScriptDebugServer.cpp:
2035 (WebCore::WorkerScriptDebugServer::addListener):
2036 (WebCore::WorkerScriptDebugServer::removeListener):
2037 (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
2038 Same thing. Also rearrange the functions to read better.
2040 * inspector/InspectorProfilerAgent.cpp:
2041 Use the direct recompile function instead of the removed "soon" version.
2043 2014-01-22 Robert Sipka <sipka@inf.u-szeged.hu>
2045 [curl] Improve detecting and handling of SSL client certificate
2046 https://bugs.webkit.org/show_bug.cgi?id=125006
2048 Reviewed by Brent Fulgham.
2050 Add client certificate handling.
2052 * platform/network/ResourceHandle.h:
2053 * platform/network/curl/ResourceError.h:
2054 (WebCore::ResourceError::hasSSLConnectError):
2055 * platform/network/curl/ResourceHandleCurl.cpp:
2056 (WebCore::ResourceHandle::setClientCertificateInfo):
2057 * platform/network/curl/ResourceHandleManager.cpp:
2058 (WebCore::ResourceHandleManager::initializeHandle):
2059 * platform/network/curl/SSLHandle.cpp:
2060 (WebCore::addAllowedClientCertificate):
2061 (WebCore::setSSLClientCertificate):
2062 * platform/network/curl/SSLHandle.h:
2064 2014-01-22 Mihai Maerean <mmaerean@adobe.com>
2066 [CSS Regions] layerOwner in RenderNamedFlowFragment cannot return null
2067 https://bugs.webkit.org/show_bug.cgi?id=127343
2069 Reviewed by Sam Weinig.
2071 RenderNamedFlowFragment::layerOwner cannot return null because regions create stacking
2072 contexts which create layers.
2074 No new tests, no functional change.
2076 * rendering/RenderFlowThread.cpp:
2077 (WebCore::RenderFlowThread::hasCompositingRegionDescendant):
2078 * rendering/RenderLayer.cpp:
2079 (WebCore::RenderLayer::calculateClipRects):
2080 * rendering/RenderLayerBacking.cpp:
2081 (WebCore::RenderLayerBacking::adjustAncestorCompositingBoundsForFlowThread):
2082 * rendering/RenderLayerCompositor.cpp:
2083 (WebCore::RenderLayerCompositor::computeRegionCompositingRequirements):
2084 * rendering/RenderNamedFlowFragment.h:
2086 2014-01-22 Antti Koivisto <antti@apple.com>
2088 Avoid unthrottled layer flushes triggered by RenderLayerCompositor::ensureRootLayer
2089 https://bugs.webkit.org/show_bug.cgi?id=127426
2091 Reviewed by Anders Carlsson.
2093 * rendering/RenderLayerCompositor.cpp:
2094 (WebCore::RenderLayerCompositor::updateScrollLayerPosition):
2095 (WebCore::RenderLayerCompositor::frameViewDidScroll):
2097 Factor scroll layer position update to a function.
2099 (WebCore::RenderLayerCompositor::ensureRootLayer):
2101 Stop calling frameViewDidChangeSize/frameViewDidScroll. Instead call the relevent functions
2102 directly. This avoid unthrottled layer flush that is done when the view actually scrolls.
2104 * rendering/RenderLayerCompositor.h:
2106 2014-01-22 Mihai Tica <mitica@adobe.com>
2108 [CSS Background Blending] -webkit-background-blend-mode fails for certain SVG files
2109 https://bugs.webkit.org/show_bug.cgi?id=127350
2111 Reviewed by Dirk Schulze.
2113 The graphics context of the SVG inherits the blend mode set
2114 on the background layer. Fix consists in drawing the SVG
2115 in a transparency layer.
2117 Test: css3/compositing/background-blend-mode-svg.html
2119 * svg/graphics/SVGImage.cpp:
2120 (WebCore::SVGImage::draw): Begin a transparency layer if a blend mode is set.
2122 2014-01-22 Antti Koivisto <antti@apple.com>
2124 Update overlay scrollbars in single pass
2125 https://bugs.webkit.org/show_bug.cgi?id=127289
2127 Reviewed by Anders Carlsson.
2129 * platform/ScrollView.cpp:
2130 (WebCore::ScrollView::updateScrollbars):
2132 Multi-pass scrollbar resolution is only needed for traditional scrollbars. Overlay scrollbars don't affect layout.
2134 2014-01-22 Mihnea Ovidenie <mihnea@adobe.com>
2136 [CSSRegions] Incorrect layout of a region pseudo children
2137 https://bugs.webkit.org/show_bug.cgi?id=126146
2139 Reviewed by David Hyatt.
2141 Test: fast/regions/collapse-anonymous-region.html
2143 A region behaviour, styled using -webkit-flow-from, is modeled using an anonymous
2144 block created to fragment the named flow content inside the region. We have to prevent
2145 the behaviour of anonymous children collapsing for this block to make sure that the
2146 region element children are still laid out properly when the region element becomes an ordinary
2149 * rendering/RenderBlockFlow.h:
2151 2014-01-21 Ryuan Choi <ryuan.choi@samsung.com>
2153 Remove unused "acceleratedCompositingForScrollableFramesEnabled" setting
2154 https://bugs.webkit.org/show_bug.cgi?id=127402
2156 Reviewed by Anders Carlsson.
2158 compositing/iframes/iframe-composited-scrolling.html is updated because
2159 there are no usages in WebCore.
2163 2014-01-21 Alex Christensen <achristensen@webkit.org>
2165 Compile fix for using libsoup on Windows.
2166 https://bugs.webkit.org/show_bug.cgi?id=127377
2168 Reviewed by Daniel Bates.
2170 * platform/network/soup/ProxyResolverSoup.cpp:
2171 (soupProxyResolverWkSetProperty):
2172 (soupProxyResolverWkGetProperty):
2173 (soupProxyResolverWkGetProxyURISync):
2174 Replaced uint with unsigned.
2176 2014-01-21 Daniel Bates <dabates@apple.com>
2178 Break up single assertion into two assertions in HTMLMediaElement::returnPlatformLayer()
2180 Following up after <http://trac.webkit.org/changeset/162473>, we should break up
2181 the assertion into two assertions as suggested by Darin Adler. Separating the single
2182 assertion into two assertions makes it straightforward to determine the conjunct that
2183 failed among other benefits.
2185 * html/HTMLMediaElement.cpp:
2186 (WebCore::HTMLMediaElement::parseAttribute):
2188 2014-01-21 Brady Eidson <beidson@apple.com>
2190 The IDB backing store put() method shouldn't call IDB callbacks directly
2191 https://bugs.webkit.org/show_bug.cgi?id=127399
2193 Reviewed by Beth Dakin.
2195 Refactor the put() callback to take a resulting key or an error.
2196 * Modules/indexeddb/IDBServerConnection.h:
2198 * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
2199 (WebCore::PutOperation::perform): Call to the backing store, then perform the
2200 appropriate IDB callback whether a key or an error was returned.
2201 * Modules/indexeddb/IDBTransactionBackendOperations.h:
2203 * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
2204 (WebCore::IDBServerConnectionLevelDB::put): Don’t call IDB callbacks directly.
2205 Instead, pass the resulting key/error back to the PutOperation.
2206 * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
2208 2014-01-21 Jae Hyun Park <jae.park@company100.net>
2210 Use nullptr in HTMLCanvasElement
2211 https://bugs.webkit.org/show_bug.cgi?id=127388
2213 Reviewed by Gyuyoung Kim.
2215 * html/HTMLCanvasElement.cpp:
2216 (WebCore::HTMLCanvasElement::getContext):
2217 (WebCore::HTMLCanvasElement::drawingContext):
2218 (WebCore::HTMLCanvasElement::existingDrawingContext):
2220 2014-01-21 László Langó <llango.u-szeged@partner.samsung.com>
2222 Assertion failure in Range::nodeWillBeRemoved
2223 https://bugs.webkit.org/show_bug.cgi?id=121694
2225 Reviewed by Ryosuke Niwa.
2227 Based on Blink a change: https://chromium.googlesource.com/chromium/blink/+/407c1d7b2c45974aa614b3f847ffe9e8fce205fa
2229 This patch fix an assertion failure. Range::nodeWillBeRemoved() might
2230 be called with removed node in ContainerNode, when DOMNodeRemovedFromDocument
2231 event handler calls removeChild(), for node being removed.
2233 Test: fast/dom/Range/remove-twice-crash.html
2235 * dom/ContainerNode.cpp:
2236 (WebCore::ContainerNode::willRemoveChild):
2237 * dom/ContainerNode.h:
2239 2014-01-21 Tim Horton <timothy_horton@apple.com>
2241 REGRESSION (r161580): Some PDFs render outside their <img>
2242 https://bugs.webkit.org/show_bug.cgi?id=127381
2243 <rdar://problem/15872168>
2245 Reviewed by Simon Fraser.
2247 * platform/graphics/cg/PDFDocumentImage.cpp:
2248 (WebCore::transformContextForPainting):
2249 Only try to make the scale uniform if it isn't already, and use the minimum
2250 of the two original scales when doing so, so that it is absolutely certain
2251 to fit inside space allocated for the image during layout.
2253 2014-01-21 Simon Fraser <simon.fraser@apple.com>
2255 Remove #if PLATFORM(IOS) in various places around customFixedPositionLayoutRect() code
2256 https://bugs.webkit.org/show_bug.cgi?id=127373
2258 Reviewed by Beth Dakin.
2260 Instead of PLATFORM(IOS) #idefs at every call site for viewportConstrainedVisibleContentRect(),
2261 move the #ifdef inside viewportConstrainedVisibleContentRect().
2263 The one call site that needs special handling is RenderLayerBacking::updateCompositedBounds(),
2264 which needs to avoid clipping fixed layers to the custom fixed position rect, but instead to
2265 visibleContentRect() (which is really the document bounds on iOS). This ensures that the
2266 fixed layers aren't clipped when zooming out.
2268 * page/FrameView.cpp:
2269 (WebCore::FrameView::viewportConstrainedVisibleContentRect):
2270 * rendering/RenderBoxModelObject.cpp:
2271 (WebCore::RenderBoxModelObject::stickyPositionOffset):
2272 * rendering/RenderLayerBacking.cpp:
2273 (WebCore::RenderLayerBacking::updateCompositedBounds):
2274 * rendering/RenderLayerCompositor.cpp:
2275 (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
2276 (WebCore::RenderLayerCompositor::computeFixedViewportConstraints):
2277 (WebCore::RenderLayerCompositor::computeStickyViewportConstraints):
2279 2014-01-21 Andy Estes <aestes@apple.com>
2281 [iOS] Allow all clients to link against WebCore
2282 https://bugs.webkit.org/show_bug.cgi?id=127372
2284 Reviewed by Dan Bernstein.
2286 * Configurations/WebCore.xcconfig:
2288 2014-01-21 Bear Travis <betravis@adobe.com>
2290 [CSS Shapes] Preserve box-shape order when serializing shape values
2291 https://bugs.webkit.org/show_bug.cgi?id=127200
2293 Reviewed by Dirk Schulze.
2295 Convert the parsed shape-box pair to a CSSValueList rather than directly
2296 adding the box value to BasicShape. The CSSValueList preserves the
2297 shape-box ordering, and cleans up a little bit of the code shared between
2298 clip and shape values.
2300 Modifying existing parsing tests.
2302 * css/CSSComputedStyleDeclaration.cpp:
2303 (WebCore::shapePropertyValue): Factor out code common to generating shape
2305 (WebCore::ComputedStyleExtractor::propertyValue): Generate a CSSValueList when
2306 you have both a shape and a box.
2307 * css/CSSParser.cpp:
2308 (WebCore::CSSParser::parseBasicShapeAndOrBox): Factor out code common to clip
2309 paths and shape properties that parses the [basic-shape || box] syntax from
2310 the CSS Shapes spec.
2311 (WebCore::CSSParser::parseShapeProperty): Parse shape-box pairs as a CSSValueList.
2312 * css/DeprecatedStyleBuilder.cpp:
2313 (WebCore::ApplyPropertyShape::applyValue): Use the CSSValueList for shape-box pairs.
2314 * css/CSSValueList.h:
2315 (WebCore::CSSValueList::itemWithoutBoundsCheck): Add a const version.
2316 * page/animation/CSSPropertyAnimation.cpp:
2317 (WebCore::blendFunc): Specify a box when blending.
2318 * rendering/style/ShapeValue.h:
2319 (WebCore::ShapeValue::createShapeValue): Add a box parameter.
2320 (WebCore::ShapeValue::ShapeValue): Ditto.
2322 2014-01-21 Daniel Bates <dabates@apple.com>
2324 Fix the iOS Simulator release build
2326 Substitute ASSERT_UNUSED() for ASSERT() to resolve a compiler warning
2327 that the argument platformLayer is unused. The argument platformLayer
2328 is only used in the asserted condition, which isn't compiled in a
2329 release build; => the argument is unused in a release build.
2331 * html/HTMLMediaElement.cpp:
2332 (WebCore::HTMLMediaElement::parseAttribute):
2334 2014-01-21 Zoltan Horvath <zoltan@webkit.org>
2336 Since MidpointState is a class, it should behave like a class
2337 https://bugs.webkit.org/show_bug.cgi?id=127154
2339 Reviewed by David Hyatt.
2341 I modified MidpointState to behave like a class, updated the call sites also.
2343 No new tests, no behavior change.
2345 * platform/text/BidiResolver.h:
2346 (WebCore::MidpointState::reset):
2347 (WebCore::MidpointState::startIgnoringSpaces):
2348 (WebCore::MidpointState::stopIgnoringSpaces):
2349 (WebCore::MidpointState::midpoints):
2350 (WebCore::MidpointState::numMidpoints):
2351 (WebCore::MidpointState::currentMidpoint):
2352 (WebCore::MidpointState::incrementCurrentMidpoint):
2353 (WebCore::MidpointState::decreaseNumMidpoints):
2354 (WebCore::MidpointState::betweenMidpoints):
2355 (WebCore::MidpointState::setBetweenMidpoints):
2356 (WebCore::MidpointState::addMidpoint): Renamed from deprecatedAddMidpoint, since now
2357 its private, we no longer need to discourage callers from using it.
2358 * rendering/InlineIterator.h:
2359 (WebCore::IsolateTracker::addFakeRunIfNecessary):
2360 * rendering/RenderBlockLineLayout.cpp:
2361 (WebCore::RenderBlockFlow::appendRunsForObject):
2362 (WebCore::constructBidiRunsForLine):
2363 * rendering/line/BreakingContextInlineHeaders.h:
2364 (WebCore::checkMidpoints):
2365 * rendering/line/TrailingObjects.cpp:
2366 (WebCore::TrailingObjects::updateMidpointsForTrailingBoxes):
2368 2014-01-21 Commit Queue <commit-queue@webkit.org>
2370 Unreviewed, rolling out r162452.
2371 http://trac.webkit.org/changeset/162452
2372 https://bugs.webkit.org/show_bug.cgi?id=127366
2374 broke a few tests on all Mac WebKit1 bots (Requested by
2375 thorton on #webkit).
2378 * page/FocusController.cpp:
2379 (WebCore::FocusController::FocusController):
2380 (WebCore::FocusController::setFocused):
2381 (WebCore::FocusController::setActive):
2382 (WebCore::FocusController::setContentIsVisible):
2383 * page/FocusController.h:
2384 (WebCore::FocusController::isActive):
2385 (WebCore::FocusController::isFocused):
2387 (WebCore::Page::Page):
2388 (WebCore::Page::setIsInWindow):
2389 (WebCore::Page::setIsVisuallyIdle):
2390 (WebCore::Page::setIsVisible):
2391 (WebCore::Page::visibilityState):
2392 (WebCore::Page::hiddenPageCSSAnimationSuspensionStateChanged):
2394 (WebCore::Page::isVisible):
2395 (WebCore::Page::isInWindow):
2397 2014-01-21 Chris Fleizach <cfleizach@apple.com>
2399 AX: Mac: Expose the visible text of a password field to AX
2400 https://bugs.webkit.org/show_bug.cgi?id=127353
2402 Reviewed by Brent Fulgham.
2404 The Mac platform should now expose the rendered value of password fields through AX.
2406 Test: accessibility/password-field-value.html
2408 * accessibility/AccessibilityRenderObject.cpp:
2409 (WebCore::AccessibilityRenderObject::textLength):
2410 (WebCore::AccessibilityRenderObject::passwordFieldValue):
2412 2014-01-21 Robert Sipka <sipka@inf.u-szeged.hu>
2414 Support SSL error handling in case of synchronous job.
2415 https://bugs.webkit.org/show_bug.cgi?id=125301
2417 Reviewed by Brent Fulgham.
2419 Set ssl error informations for the users.
2421 * platform/network/curl/ResourceHandleManager.cpp:
2422 (WebCore::ResourceHandleManager::dispatchSynchronousJob):
2424 2014-01-21 Simon Fraser <simon.fraser@apple.com>
2426 Export systemTotalMemory() and systemMemoryLevel() for MobileSafari
2427 https://bugs.webkit.org/show_bug.cgi?id=127360
2429 Reviewed by Andy Estes.
2431 MobileSafari inappropriately calls these WebCore functions directly,
2436 2014-01-21 Simon Fraser <simon.fraser@apple.com>
2438 Clean up PLATFORM(IOS) code related to the custom fixed position layout rect
2439 https://bugs.webkit.org/show_bug.cgi?id=127362
2441 Reviewed by Dave Hyatt.
2443 Various platforms customize the rect used to layout position:fixed elements,
2444 and each modified RenderBox::availableLogicalHeight/WidthUsing() in different
2447 Clean this up by adding RenderView::clientLogicalWidth/HeightForFixedPosition(),
2448 and moving the platform hacks into it.
2450 * rendering/RenderBox.cpp:
2451 (WebCore::RenderBox::availableLogicalHeightUsing):
2452 (WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
2453 (WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
2454 * rendering/RenderView.cpp:
2455 (WebCore::RenderView::clientLogicalWidthForFixedPosition):
2456 (WebCore::RenderView::clientLogicalHeightForFixedPosition):
2457 * rendering/RenderView.h:
2459 2014-01-21 Tamas Gergely <tgergely.u-szeged@partner.samsung.com>
2461 ASSERT(time.isFinite()) in SVGSMILElement::createInstanceTimesFromSyncbase
2462 <https://webkit.org/b/108184>
2464 Reviewed by Philip Rogers.
2466 In the case a SMILElement timing had a syncbase dependency on an indefinite value
2467 the assert were raised. The assert has been removed and a check has been added
2468 instead that prevents the addition of indefinite times to the time list.
2470 Test: svg/animations/smil-syncbase-self-dependency.svg
2472 * svg/animation/SVGSMILElement.cpp:
2473 (WebCore::SVGSMILElement::createInstanceTimesFromSyncbase):
2476 2014-01-21 Tim Horton <timothy_horton@apple.com>
2478 Address late review naming comments after r162453.
2480 * WebCore.xcodeproj/project.pbxproj:
2481 * platform/graphics/ca/mac/PlatformCALayerMac.mm:
2482 * platform/graphics/mac/CALayerWebAdditions.h: Removed.
2483 * platform/graphics/mac/CALayerWebAdditions.mm: Removed.
2484 * platform/graphics/mac/WebCoreCALayerExtras.h: Added.
2485 * platform/graphics/mac/WebCoreCALayerExtras.mm: Added.
2486 (-[CALayer web_disableAllActions]):
2488 2014-01-21 Tim Horton <timothy_horton@apple.com>
2490 Keep CALayer implicit animation disabling code in a single place
2491 https://bugs.webkit.org/show_bug.cgi?id=127355
2493 Reviewed by Simon Fraser.
2495 * WebCore.xcodeproj/project.pbxproj:
2496 Add CALayerWebAdditions.{h,mm}.
2498 * platform/graphics/ca/mac/PlatformCALayerMac.mm:
2499 (PlatformCALayerMac::commonInit):
2500 Remove nullActionsDictionary() and use [CALayer(WebAdditions) web_disableAllActions] instead.
2502 * platform/graphics/mac/CALayerWebAdditions.h: Added.
2503 * platform/graphics/mac/CALayerWebAdditions.mm: Added.
2504 (-[CALayer web_disableAllActions]):
2505 Added. Disable all implicit actions on the layer.
2507 2014-01-21 Gavin Barraclough <barraclough@apple.com>
2509 Change Page, FocusController to use ViewState
2510 https://bugs.webkit.org/show_bug.cgi?id=126533
2512 Reviewed by Tim Horton.
2514 These classes currently maintain a set of separate fields to represent the view state;
2515 combine these into a single field, and allow WebPage to send the combined update rather
2516 than individual changes.
2518 Maintain existing interface for WebKit1 clients.
2521 - Added WebCore::setViewState, removed WebCore::setIsVisuallyIdle.
2522 * page/FocusController.cpp:
2523 (WebCore::FocusController::FocusController):
2524 - Initialize combined m_viewState.
2525 (WebCore::FocusController::setFocused):
2526 - Calls setViewState.
2527 (WebCore::FocusController::setFocusedInternal):
2528 - setFocused -> setFocusedInternal.
2529 (WebCore::FocusController::setViewState):
2530 - Added, update all ViewState flags.
2531 (WebCore::FocusController::setActive):
2532 - Calls setViewState.
2533 (WebCore::FocusController::setActiveInternal):
2534 - setActive -> setActiveInternal.
2535 (WebCore::FocusController::setContentIsVisible):
2536 - Calls setViewState.
2537 (WebCore::FocusController::setContentIsVisibleInternal):
2538 - setContentIsVisible -> setContentIsVisibleInternal.
2539 * page/FocusController.h:
2540 (WebCore::FocusController::isActive):
2541 (WebCore::FocusController::isFocused):
2542 (WebCore::FocusController::contentIsVisible):
2543 - Implemented in terms of ViewState.
2545 (WebCore::Page::Page):
2546 - Initialize using PageInitialViewState.
2547 (WebCore::Page::setIsInWindow):
2548 - Calls setViewState.
2549 (WebCore::Page::setIsInWindowInternal):
2550 - setIsInWindow -> setIsInWindowInternal.
2551 (WebCore::Page::setIsVisuallyIdleInternal):
2552 - setIsVisuallyIdle -> setIsVisuallyIdleInternal.
2553 (WebCore::Page::setViewState):
2554 - Added, update all ViewState flags, including FocusController.
2555 (WebCore::Page::setIsVisible):
2556 - Calls setViewState.
2557 (WebCore::Page::setIsVisibleInternal):
2558 - setIsVisible -> setIsVisibleInternal.
2559 (WebCore::Page::visibilityState):
2560 - m_isVisible -> isVisible()
2561 (WebCore::Page::hiddenPageCSSAnimationSuspensionStateChanged):
2562 - m_isVisible -> isVisible()
2564 (WebCore::Page::isVisible):
2565 (WebCore::Page::isInWindow):
2566 - Implemented in terms of ViewState.
2567 (WebCore::Page::scriptedAnimationsSuspended):
2568 - Combined member fields into ViewState::Flags.
2570 2014-01-21 Lauro Neto <lauro.neto@openbossa.org>
2572 Remove PLATFORM(NIX) from WebCore
2573 https://bugs.webkit.org/show_bug.cgi?id=127299
2575 Reviewed by Anders Carlsson.
2577 * editing/Editor.cpp:
2578 (WebCore::Editor::cut):
2579 (WebCore::Editor::copy):
2580 (WebCore::Editor::copyImage):
2582 * html/HTMLCanvasElement.h:
2583 * loader/EmptyClients.h:
2584 * loader/FrameLoader.cpp:
2585 (WebCore::FrameLoader::defaultObjectContentType):
2586 * page/ChromeClient.h:
2587 * page/DragController.cpp:
2588 (WebCore::DragController::startDrag):
2589 * platform/Cursor.h:
2590 * platform/DragData.h:
2591 * platform/DragImage.h:
2592 * platform/FileSystem.h:
2593 * platform/LocalizedStrings.h:
2594 * platform/Widget.h:
2595 * platform/audio/FFTFrame.h:
2596 * platform/audio/HRTFElevation.cpp:
2597 * platform/cairo/WidgetBackingStore.h:
2598 * platform/graphics/ANGLEWebKitBridge.h:
2599 * platform/graphics/FontPlatformData.h:
2600 * platform/graphics/GLContext.cpp:
2601 (WebCore::GLContext::createContextForWindow):
2602 * platform/graphics/GLContext.h:
2603 * platform/graphics/GraphicsContext3D.h:
2604 * platform/graphics/GraphicsContext3DPrivate.cpp:
2605 (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
2606 * platform/graphics/OpenGLESShims.h:
2607 * platform/graphics/OpenGLShims.cpp:
2608 (WebCore::getProcAddress):
2609 * platform/graphics/OpenGLShims.h:
2610 * platform/graphics/PlatformLayer.h:
2611 * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
2612 * platform/graphics/opengl/Extensions3DOpenGL.cpp:
2613 (WebCore::Extensions3DOpenGL::createVertexArrayOES):
2614 (WebCore::Extensions3DOpenGL::deleteVertexArrayOES):
2615 (WebCore::Extensions3DOpenGL::isVertexArrayOES):
2616 (WebCore::Extensions3DOpenGL::bindVertexArrayOES):
2617 (WebCore::Extensions3DOpenGL::supportsExtension):
2618 * platform/graphics/opengl/Extensions3DOpenGL.h:
2619 * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
2620 * platform/graphics/opengl/Extensions3DOpenGLES.h:
2621 * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
2622 * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
2623 (WebCore::GraphicsContext3D::reshape):
2624 * platform/graphics/opengl/TemporaryOpenGLSetting.cpp:
2625 * platform/graphics/texmap/TextureMapper.h:
2626 * platform/network/ResourceHandle.h:
2627 * plugins/PluginPackage.cpp:
2628 * plugins/PluginView.cpp:
2629 (WebCore::PluginView::PluginView):
2630 * plugins/PluginView.h:
2631 * plugins/PluginViewNone.cpp:
2632 * rendering/SimpleLineLayout.cpp:
2633 (WebCore::SimpleLineLayout::canUseFor):
2635 2014-01-21 Eric Carlson <eric.carlson@apple.com>
2637 Add ‎ ‏ and to WebVTT parser
2638 https://bugs.webkit.org/show_bug.cgi?id=85112
2640 Reviewed by Jer Noble.
2642 No new tests, track-webvtt-tc022-entities.html was updated to test this.
2644 * html/track/WebVTTTokenizer.cpp:
2645 (WebCore::WebVTTTokenizer::nextToken): Support RLM, LRM, and NBSP entities.
2647 2014-01-21 Commit Queue <commit-queue@webkit.org>
2649 Unreviewed, rolling out r162354.
2650 http://trac.webkit.org/changeset/162354
2651 https://bugs.webkit.org/show_bug.cgi?id=127354
2653 Appears to have broken accessibility in a non-trivial way
2654 (Requested by ap on #webkit).
2656 * platform/ScrollView.cpp:
2657 (WebCore::ScrollView::updateScrollbars):
2659 2014-01-21 Commit Queue <commit-queue@webkit.org>
2661 Unreviewed, rolling out r162445.
2662 http://trac.webkit.org/changeset/162445
2663 https://bugs.webkit.org/show_bug.cgi?id=127351
2665 It broke the 32 bit GTK build (Requested by Ossy on #webkit).
2667 * rendering/style/StyleRareInheritedData.cpp:
2669 2014-01-21 László Langó <llango.u-szeged@partner.samsung.com>
2671 Wrong struct size when CSS_IMAGE_ORIENTATION and CSS3_TEXT_DECORATION are enabled.
2672 https://bugs.webkit.org/show_bug.cgi?id=127346
2676 Reviewed by Csaba Osztrogonác.
2678 * rendering/style/StyleRareInheritedData.cpp:
2680 2014-01-21 Antti Koivisto <antti@apple.com>
2682 Delay initial layer flush during loading on all platforms
2683 https://bugs.webkit.org/show_bug.cgi?id=127347
2685 Reviewed by Andreas Kling.
2687 To reduce unnecessary repaints enable the same behaviour as iOS already has.
2689 * rendering/RenderLayerCompositor.cpp:
2690 (WebCore::RenderLayerCompositor::RenderLayerCompositor):
2692 Set the initial state of m_layerFlushThrottlingEnabled correctly.
2694 (WebCore::RenderLayerCompositor::scheduleLayerFlush):
2695 (WebCore::RenderLayerCompositor::startInitialLayerFlushTimerIfNeeded):
2696 * rendering/RenderLayerCompositor.h:
2698 Enable initial layer flush delay on all platforms.
2700 2014-01-21 Mihai Tica <mitica@adobe.com>
2702 If you set a tiled cross-faded-image or a tiled gradient as
2703 a background layer, -webkit-background-blend-mode doesn't work.
2704 The problem consists in the blendMode parameter not being set
2705 for these specific drawing paths.
2707 https://bugs.webkit.org/show_bug.cgi?id=126888
2708 Reviewed by Dirk Schulze.
2710 Test: css3/compositing/background-blend-mode-tiled-layers.html
2712 * platform/graphics/CrossfadeGeneratedImage.cpp:
2713 (WebCore::CrossfadeGeneratedImage::drawPattern): Add the blendMode parameter and pass it to ImageBuffer::drawPattern.
2714 * platform/graphics/GradientImage.cpp:
2715 (WebCore::GradientImage::drawPattern): Add the blendMode parameter and pass it to ImageBuffer::drawPattern.
2716 * platform/graphics/ImageBuffer.h: Add a BlendMode parameter to the drawPattern method.
2717 * platform/graphics/cairo/ImageBufferCairo.cpp:
2718 (WebCore::ImageBuffer::drawPattern): Add the default BlendMode parameter to the method declaration.
2719 * platform/graphics/cg/ImageBufferCG.cpp:
2720 (WebCore::ImageBuffer::drawPattern): Add and use the blendMode parameter for all the code paths.
2721 * platform/graphics/wince/ImageBufferWinCE.cpp:
2722 (WebCore::BufferedImage::drawPattern): Add the default BlendMode parameter to the method declaration.
2724 2014-01-21 Gurpreet Kaur <k.gurpreet@samsung.com>
2726 The WebCore.vcxproj.filters doesnot apply
2727 https://bugs.webkit.org/show_bug.cgi?id=127338
2729 Reviewed by Csaba Osztrogonác.
2731 * WebCore.vcxproj/WebCore.vcxproj.filters:
2732 Modified the WebCore.vcxproj.filters so that it is applied when loading
2733 WebCore.vcxproj file.
2735 2014-01-21 Peter Molnar <pmolnar.u-szeged@partner.samsung.com>
2737 Fix SVG animations which set rx or ry attributes
2738 https://bugs.webkit.org/show_bug.cgi?id=127337
2740 Reviewed by Dirk Schulze.
2742 Test: svg/stroke/animated-non-scaling-rxry.html
2744 Merged from Blink: https://src.chromium.org/viewvc/blink?revision=152376&view=revision
2746 * rendering/svg/RenderSVGRect.cpp:
2747 (WebCore::RenderSVGRect::updateShapeFromElement):
2748 * rendering/svg/SVGPathData.cpp:
2749 (WebCore::updatePathFromRectElement):
2751 2014-01-21 Krzysztof Czech <k.czech@samsung.com>
2753 [ATK] Expose aria-flowto through ATK_RELATION_FLOWS_TO
2754 https://bugs.webkit.org/show_bug.cgi?id=127291
2756 Reviewed by Mario Sanchez Prada.
2758 Test: accessibility/aria-flowto.html
2760 Expose aria-flowto through ATK_RELATION_FLOWS_TO according to
2761 http://www.w3.org/TR/wai-aria-implementation/#mapping_state-property
2763 * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
2764 (setAtkRelationSetFromCoreObject):
2766 2014-01-20 Ryuan Choi <ryuan.choi@samsung.com>
2768 [CMAKE] Remove Nix from CMake scripts
2769 https://bugs.webkit.org/show_bug.cgi?id=127264
2771 Reviewed by Anders Carlsson.
2775 2014-01-20 Anders Carlsson <andersca@apple.com>
2777 Remove an unused PageGroup function
2778 https://bugs.webkit.org/show_bug.cgi?id=127327
2780 Reviewed by Andreas Kling.
2783 * page/PageGroup.cpp:
2786 2014-01-20 Anders Carlsson <andersca@apple.com>
2788 Move user style sheet handling to UserContentController
2789 https://bugs.webkit.org/show_bug.cgi?id=127322
2790 <rdar://problem/15861296>
2792 Reviewed by Andreas Kling.
2794 * dom/DocumentStyleSheetCollection.cpp:
2795 (WebCore::DocumentStyleSheetCollection::updateInjectedStyleSheetCache):
2796 * page/PageGroup.cpp:
2797 (WebCore::PageGroup::addUserStyleSheetToWorld):
2798 (WebCore::PageGroup::removeUserStyleSheetFromWorld):
2799 (WebCore::PageGroup::removeUserStyleSheetsFromWorld):
2800 (WebCore::PageGroup::removeAllUserContent):
2802 * page/UserContentController.cpp:
2803 (WebCore::UserContentController::addUserStyleSheet):
2804 (WebCore::UserContentController::removeUserStyleSheet):
2805 (WebCore::UserContentController::removeUserStyleSheets):
2806 (WebCore::UserContentController::removeAllUserContent):
2807 (WebCore::UserContentController::invalidateInjectedStyleSheetCacheInAllFrames):
2808 * page/UserContentController.h:
2809 (WebCore::UserContentController::userStyleSheets):
2811 2014-01-20 Benjamin Poulain <benjamin@webkit.org>
2813 Add a nicer way to iterate over all the attributes of an element
2814 https://bugs.webkit.org/show_bug.cgi?id=127266
2816 Reviewed by Geoffrey Garen.
2818 When using Element::attributeAt() in a loop, the compiler had to generate two kinds of
2820 -If the element data is unique, the length and data comes from the attribute Vector.
2821 -If the element data is shared, the data comes from the tail of elementData itself.
2823 The choice was done for every access, which caused the assembly to be a little
2825 This patch unify the data access by doing everything as a array pointer with offset (getting
2826 that data from Vector when necessary).
2828 To make it easier to do the right thing, a new iterator was added so that range-based loops
2829 can replace all the faulty cases.
2831 * css/SelectorChecker.cpp:
2832 (WebCore::anyAttributeMatches):
2833 * css/SelectorChecker.h:
2834 (WebCore::SelectorChecker::checkExactAttribute):
2835 * dom/DatasetDOMStringMap.cpp:
2836 (WebCore::DatasetDOMStringMap::getNames):
2837 (WebCore::DatasetDOMStringMap::item):
2838 (WebCore::DatasetDOMStringMap::contains):
2840 (WebCore::Element::normalizeAttributes):
2841 (WebCore::Element::detachAllAttrNodesFromElement):
2842 (WebCore::Element::cloneAttributesFromElement):
2844 (WebCore::Element::attributesIterator):
2845 * dom/ElementData.cpp:
2846 (WebCore::ElementData::isEquivalent):
2847 (WebCore::ElementData::findAttributeIndexByNameSlowCase):
2848 * dom/ElementData.h:
2849 (WebCore::AttributeConstIterator::AttributeConstIterator):
2850 (WebCore::AttributeConstIterator::operator*):
2851 (WebCore::AttributeConstIterator::operator->):
2852 (WebCore::AttributeConstIterator::operator++):
2853 (WebCore::AttributeConstIterator::operator==):
2854 (WebCore::AttributeConstIterator::operator!=):
2855 (WebCore::AttributeIteratorAccessor::AttributeIteratorAccessor):
2856 (WebCore::AttributeIteratorAccessor::begin):
2857 (WebCore::AttributeIteratorAccessor::end):
2858 (WebCore::ElementData::attributesIterator):
2860 (WebCore::Node::isDefaultNamespace):
2861 (WebCore::Node::lookupNamespaceURI):
2862 (WebCore::Node::lookupNamespacePrefix):
2863 (WebCore::Node::compareDocumentPosition):
2864 * dom/StyledElement.cpp:
2865 (WebCore::StyledElement::makePresentationAttributeCacheKey):
2866 (WebCore::StyledElement::rebuildPresentationAttributeStyle):
2867 * editing/MarkupAccumulator.cpp:
2868 (WebCore::MarkupAccumulator::appendElement):
2869 * editing/markup.cpp:
2870 (WebCore::completeURLs):
2871 (WebCore::StyledMarkupAccumulator::appendElement):
2872 * html/HTMLEmbedElement.cpp:
2873 (WebCore::HTMLEmbedElement::parametersForPlugin):
2874 * html/HTMLObjectElement.cpp:
2875 (WebCore::HTMLObjectElement::parametersForPlugin):
2876 * inspector/DOMPatchSupport.cpp:
2877 (WebCore::DOMPatchSupport::innerPatchNode):
2878 (WebCore::DOMPatchSupport::createDigest):
2879 * inspector/InspectorDOMAgent.cpp:
2880 (WebCore::InspectorDOMAgent::setAttributesAsText):
2881 (WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
2882 * inspector/InspectorNodeFinder.cpp:
2883 (WebCore::InspectorNodeFinder::matchesElement):
2884 * page/PageSerializer.cpp:
2885 (WebCore::isCharsetSpecifyingNode):
2886 * xml/XPathNodeSet.cpp:
2887 (WebCore::XPath::NodeSet::traversalSort):
2888 * xml/XPathStep.cpp:
2889 (WebCore::XPath::Step::nodesInAxis):
2890 * xml/parser/XMLDocumentParserLibxml2.cpp:
2891 (WebCore::XMLDocumentParser::XMLDocumentParser):
2893 2014-01-20 Gyuyoung Kim <gyuyoung.kim@samsung.com>
2895 Do refactor in collectGradientAttributes() and renderStyleForLengthResolve()
2896 https://bugs.webkit.org/show_bug.cgi?id=126869
2898 Reviewed by Dirk Schulze.
2900 Some SVG functions have done a first iteration by using a boolean flag. This is
2901 one of poor implementations. This patch fix it by extracting a logic into a new method.
2902 Additionally it would be good to use do-while() loop instead of using while() in
2903 renderStyleForLengthResolving() because a first condition is always true.
2905 Merge r165358 from blink.
2907 * svg/SVGLengthContext.cpp:
2908 (WebCore::renderStyleForLengthResolving):
2909 * svg/SVGLinearGradientElement.cpp:
2910 (WebCore::setGradientAttributes):
2911 (WebCore::SVGLinearGradientElement::collectGradientAttributes):
2912 * svg/SVGRadialGradientElement.cpp:
2913 (WebCore::setGradientAttributes):
2914 (WebCore::SVGRadialGradientElement::collectGradientAttributes):
2916 2014-01-20 Anders Carlsson <andersca@apple.com>
2918 UserContentController should keep track of user scripts
2919 https://bugs.webkit.org/show_bug.cgi?id=127317
2920 <rdar://problem/15861296>
2922 Reviewed by Andreas Kling.
2924 Move handling of user scripts from PageGroup to UserContentController.
2927 (WebCore::Frame::injectUserScripts):
2928 * page/PageGroup.cpp:
2929 (WebCore::PageGroup::addUserScriptToWorld):
2930 (WebCore::PageGroup::removeUserScriptFromWorld):
2931 (WebCore::PageGroup::removeUserScriptsFromWorld):
2932 (WebCore::PageGroup::removeAllUserContent):
2934 * page/UserContentController.cpp:
2935 (WebCore::UserContentController::addUserScript):
2936 (WebCore::UserContentController::removeUserScript):
2937 (WebCore::UserContentController::removeUserScripts):
2938 (WebCore::UserContentController::removeAllUserContent):
2939 * page/UserContentController.h:
2940 (WebCore::UserContentController::userScripts):
2942 2014-01-20 Anders Carlsson <andersca@apple.com>
2944 Give each page a UserContentController
2945 https://bugs.webkit.org/show_bug.cgi?id=127315
2946 <rdar://problem/15861296>
2948 Reviewed by Andreas Kling.
2950 Add a UserContentController object to PageGroup and have the page group set it on any
2951 pages that are added to the page group.
2953 This is another step towards moving handling of user content away from PageGroup and make it
2954 possible for each page to have different user content.
2957 (WebCore::Page::~Page):
2958 (WebCore::Page::setUserContentController):
2960 (WebCore::Page::userContentController):
2961 * page/PageGroup.cpp:
2962 (WebCore::PageGroup::PageGroup):
2963 (WebCore::PageGroup::addPage):
2964 (WebCore::PageGroup::removePage):
2966 * page/UserContentController.cpp:
2967 (WebCore::UserContentController::addPage):
2968 (WebCore::UserContentController::removePage):
2969 * page/UserContentController.h:
2971 2014-01-20 Jeremy Jones <jeremyj@apple.com>
2973 Add AVKit fullscreen video interface.
2974 https://bugs.webkit.org/show_bug.cgi?id=126818
2976 Reviewed by Eric Carlson.
2978 No new tests, no observable change in functionality.
2981 * WebCore.xcodeproj/project.pbxproj:
2982 * html/HTMLMediaElement.cpp:
2983 (WebCore::HTMLMediaElement::parseAttribute):
2984 * html/HTMLMediaElement.h:
2985 Add ability for fullscreen to borrow the AVPlayerLayer.
2986 * page/Settings.cpp:
2988 (WebCore::Settings::setMediaPlaybackFullscreenAVKit):
2989 (WebCore::Settings::mediaPlaybackFullscreenAVKit):
2990 Add a disabled setting.
2991 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
2992 (WebCore::MediaPlayerPrivateAVFoundation::supportsFullscreen):
2993 Enabled fullscreen for iOS.
2994 * platform/ios/WebVideoFullscreenControllerAVKit.h: Added.
2995 * platform/ios/WebVideoFullscreenControllerAVKit.mm: Added.
2996 (-[WebAVPlayerController init]):
2997 (-[WebAVPlayerController dealloc]):
2998 (-[WebAVPlayerController forwardingTargetForSelector:]):
2999 (-[WebAVPlayerController shouldDismissForDone]):
3000 (-[WebAVPlayerController play:]):
3001 (-[WebAVPlayerController pause:]):
3002 (-[WebAVPlayerController togglePlayback:]):
3003 (-[WebAVPlayerController isPlaying]):
3004 (-[WebAVPlayerController setPlaying:]):
3005 (+[WebAVPlayerController keyPathsForValuesAffectingPlaying]):
3006 (-[WebAVPlayerController seekToTime:]):
3007 (-[WebAVPlayerController updateTimingWithCurrentTime:]):
3008 (-[WebAVPlayerController effectiveRate]):
3009 (-[WebAVPlayerController setMediaElement:]):
3010 (-[WebAVPlayerController handleEvent:]):
3011 (-[WebVideoFullscreenController init]):
3012 (-[WebVideoFullscreenController dealloc]):
3013 (-[WebVideoFullscreenController setMediaElement:]):
3014 (-[WebVideoFullscreenController mediaElement]):
3015 (-[WebVideoFullscreenController enterFullscreen:]):
3016 (-[WebVideoFullscreenController exitFullscreen]):
3017 Add WebAVPlayerController for HTMLMediaElememt to interface with AVPlayerViewController.
3019 2014-01-20 Zan Dobersek <zdobersek@igalia.com>
3021 Replace uses of std::forward<T>(), std::unique_ptr<T>::clear() that landed in r162368
3022 https://bugs.webkit.org/show_bug.cgi?id=127306
3024 Reviewed by Darin Adler.
3026 Address the post-landing reviews of the r162368 commit that moved WebAudio source code to using std::unique_ptr.
3027 std::move() should be used instead of std::forward<T>() in HRTFKernel::create().
3028 Instead of calling std::unique_ptr<T>::reset(), nullptr should be assigned to that smart pointer to reset it.
3030 * Modules/webaudio/ConvolverNode.cpp:
3031 (WebCore::ConvolverNode::uninitialize):
3032 * Modules/webaudio/DynamicsCompressorNode.cpp:
3033 (WebCore::DynamicsCompressorNode::uninitialize):
3034 * Modules/webaudio/MediaElementAudioSourceNode.cpp:
3035 (WebCore::MediaElementAudioSourceNode::setFormat):
3036 * Modules/webaudio/PannerNode.cpp:
3037 (WebCore::PannerNode::uninitialize):
3038 * platform/audio/AudioChannel.h:
3039 (WebCore::AudioChannel::set):
3040 * platform/audio/HRTFDatabaseLoader.cpp:
3041 (WebCore::HRTFDatabaseLoader::~HRTFDatabaseLoader):
3042 * platform/audio/HRTFKernel.h:
3043 (WebCore::HRTFKernel::create):
3045 2014-01-20 Joseph Pecoraro <pecoraro@apple.com>
3047 Modernize WebCore/inspector with nullptr
3048 https://bugs.webkit.org/show_bug.cgi?id=127303
3050 Reviewed by Anders Carlsson.
3052 Ran clang-modernize -use-nullptr over WebCore/inspector.
3054 * inspector/ConsoleMessage.cpp:
3055 (WebCore::ConsoleMessage::ConsoleMessage):
3056 * inspector/ConsoleMessage.h:
3057 * inspector/ContentSearchUtils.cpp:
3058 (WebCore::ContentSearchUtils::findMagicComment):
3059 * inspector/DOMEditor.cpp:
3060 (WebCore::DOMEditor::SetOuterHTMLAction::SetOuterHTMLAction):
3061 * inspector/DOMPatchSupport.cpp:
3062 (WebCore::DOMPatchSupport::patchDocument):
3063 (WebCore::DOMPatchSupport::patchNode):
3064 (WebCore::DOMPatchSupport::diff):
3065 (WebCore::DOMPatchSupport::innerPatchChildren):
3066 * inspector/InspectorApplicationCacheAgent.cpp:
3067 (WebCore::InspectorApplicationCacheAgent::willDestroyFrontendAndBackend):
3068 (WebCore::InspectorApplicationCacheAgent::assertFrameWithDocumentLoader):
3069 * inspector/InspectorCanvasAgent.cpp:
3070 (WebCore::InspectorCanvasAgent::disable):
3071 (WebCore::InspectorCanvasAgent::notifyRenderingContextWasWrapped):
3072 (WebCore::InspectorCanvasAgent::frameNavigated):
3073 * inspector/InspectorConsoleAgent.cpp:
3074 (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
3075 (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
3076 (WebCore::InspectorConsoleAgent::clearMessages):
3077 (WebCore::InspectorConsoleAgent::didFinishXHRLoading):
3078 (WebCore::InspectorConsoleAgent::didReceiveResponse):
3079 (WebCore::InspectorConsoleAgent::didFailLoading):
3080 * inspector/InspectorConsoleAgent.h:
3081 * inspector/InspectorController.cpp:
3082 (WebCore::InspectorController::inspectedPageDestroyed):
3083 * inspector/InspectorDOMDebuggerAgent.cpp:
3084 (WebCore::InspectorDOMDebuggerAgent::disable):
3085 (WebCore::InspectorDOMDebuggerAgent::discardAgent):
3086 * inspector/InspectorDOMStorageAgent.cpp:
3087 (WebCore::InspectorDOMStorageAgent::~InspectorDOMStorageAgent):
3088 (WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
3089 (WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
3090 (WebCore::InspectorDOMStorageAgent::findStorageArea):
3091 * inspector/InspectorDatabaseAgent.cpp:
3092 (WebCore::InspectorDatabaseAgent::~InspectorDatabaseAgent):
3093 (WebCore::InspectorDatabaseAgent::findByFileName):
3094 (WebCore::InspectorDatabaseAgent::databaseForId):
3095 * inspector/InspectorDebuggerAgent.cpp:
3096 (WebCore::InspectorDebuggerAgent::addMessageToConsole):
3097 (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
3098 (WebCore::InspectorDebuggerAgent::didParseSource):
3099 (WebCore::InspectorDebuggerAgent::didContinue):
3100 (WebCore::InspectorDebuggerAgent::clearBreakDetails):
3101 * inspector/InspectorFrontendHost.cpp:
3102 (WebCore::FrontendMenuProvider::disconnect):
3103 (WebCore::InspectorFrontendHost::InspectorFrontendHost):
3104 (WebCore::InspectorFrontendHost::disconnectClient):
3105 * inspector/InspectorHeapProfilerAgent.cpp:
3106 (WebCore::InspectorHeapProfilerAgent::~InspectorHeapProfilerAgent):
3107 * inspector/InspectorIndexedDBAgent.cpp:
3108 (WebCore::assertDocument):
3109 (WebCore::assertIDBFactory):
3110 (WebCore::InspectorIndexedDBAgent::requestData):
3111 * inspector/InspectorInstrumentation.cpp:
3112 (WebCore::frameForScriptExecutionContext):
3113 (WebCore::InspectorInstrumentation::willDispatchEventOnWindowImpl):
3114 (WebCore::InspectorInstrumentation::didReceiveResourceResponseButCanceledImpl):
3115 (WebCore::InspectorInstrumentation::consoleAgentEnabled):
3116 (WebCore::InspectorInstrumentation::unregisterInstrumentingAgents):
3117 (WebCore::InspectorInstrumentation::retrieveTimelineAgent):
3118 (WebCore::InspectorInstrumentation::instrumentingAgentsForPage):
3119 (WebCore::InspectorInstrumentation::instrumentingAgentsForWorkerGlobalScope):
3120 (WebCore::InspectorInstrumentation::instrumentingAgentsForNonDocumentContext):
3121 * inspector/InspectorInstrumentation.h:
3122 (WebCore::InspectorInstrumentation::instrumentingAgentsForContext):
3123 (WebCore::InspectorInstrumentation::instrumentingAgentsForFrame):
3124 (WebCore::InspectorInstrumentation::instrumentingAgentsForDocument):
3125 * inspector/InspectorLayerTreeAgent.cpp:
3126 (WebCore::InspectorLayerTreeAgent::disable):
3127 * inspector/InspectorNodeFinder.cpp:
3128 (WebCore::InspectorNodeFinder::searchUsingXPath):
3129 * inspector/InspectorOverlay.cpp:
3130 (WebCore::buildObjectForElementInfo):
3131 * inspector/InspectorPageAgent.cpp:
3132 (WebCore::InspectorPageAgent::cachedResourceContent):
3133 (WebCore::InspectorPageAgent::sharedBufferContent):
3134 (WebCore::InspectorPageAgent::disable):
3135 (WebCore::InspectorPageAgent::frameForId):
3136 (WebCore::InspectorPageAgent::findFrameWithSecurityOrigin):
3137 * inspector/InspectorProfilerAgent.cpp:
3138 (WebCore::InspectorProfilerAgent::~InspectorProfilerAgent):
3139 * inspector/InspectorProfilerAgent.h:
3140 * inspector/InspectorResourceAgent.cpp:
3141 (WebCore::buildObjectForResourceResponse):
3142 (WebCore::InspectorResourceAgent::willSendRequest):
3143 (WebCore::InspectorResourceAgent::didReceiveResponse):
3144 (WebCore::InspectorResourceAgent::didFinishLoading):
3145 (WebCore::InspectorResourceAgent::didFailLoading):
3146 (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
3147 (WebCore::InspectorResourceAgent::disable):
3148 * inspector/InspectorRuntimeAgent.cpp:
3149 (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
3150 * inspector/InspectorStyleSheet.cpp:
3151 (ParsedStyleSheet::ruleSourceDataAt):
3152 (WebCore::buildSourceRangeObject):
3153 (WebCore::asCSSRuleList):
3154 (WebCore::fillMediaListChain):
3155 (WebCore::InspectorStyle::setPropertyText):
3156 (WebCore::InspectorStyle::populateAllProperties):
3157 (WebCore::InspectorStyle::extractSourceData):
3158 (WebCore::InspectorStyle::newLineAndWhitespaceDelimiters):
3159 (WebCore::InspectorStyleSheet::addRule):
3160 (WebCore::InspectorStyleSheet::ruleForId):
3161 (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
3162 (WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo):
3163 (WebCore::InspectorStyleSheet::buildObjectForRule):
3164 (WebCore::InspectorStyleSheet::styleForId):
3165 (WebCore::InspectorStyleSheet::inspectorStyleForId):
3166 (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
3167 * inspector/InspectorStyleSheet.h:
3168 (WebCore::InspectorCSSId::asProtocolValue):
3169 * inspector/InspectorTimelineAgent.cpp:
3170 (WebCore::InspectorTimelineAgent::stop):
3171 (WebCore::InspectorTimelineAgent::willComposite):
3172 (WebCore::InspectorTimelineAgent::page):
3173 * inspector/InspectorWorkerAgent.cpp:
3174 (WebCore::InspectorWorkerAgent::~InspectorWorkerAgent):
3175 * inspector/InstrumentingAgents.cpp:
3176 (WebCore::InstrumentingAgents::InstrumentingAgents):
3177 (WebCore::InstrumentingAgents::reset):
3178 * inspector/NetworkResourcesData.cpp:
3179 (WebCore::NetworkResourcesData::ResourceData::ResourceData):
3180 (WebCore::NetworkResourcesData::xhrReplayData):
3181 (WebCore::NetworkResourcesData::removeCachedResource):
3182 (WebCore::NetworkResourcesData::resourceDataForRequestId):
3183 * inspector/PageConsoleAgent.cpp:
3184 (WebCore::PageConsoleAgent::~PageConsoleAgent):
3185 * inspector/PageDebuggerAgent.cpp:
3186 (WebCore::PageDebuggerAgent::disable):
3187 * inspector/PageRuntimeAgent.cpp:
3188 (WebCore::PageRuntimeAgent::~PageRuntimeAgent):
3189 (WebCore::PageRuntimeAgent::didCreateMainWorldContext):
3190 (WebCore::PageRuntimeAgent::reportExecutionContextCreation):
3191 * inspector/ScriptArguments.cpp:
3192 (WebCore::ScriptArguments::globalState):
3193 * inspector/WorkerRuntimeAgent.cpp:
3194 (WebCore::WorkerRuntimeAgent::~WorkerRuntimeAgent):
3196 2014-01-20 Anders Carlsson <andersca@apple.com>
3198 Add empty UserContentController class
3199 https://bugs.webkit.org/show_bug.cgi?id=127300
3200 <rdar://problem/15861296>
3202 Reviewed by Dan Bernstein.
3204 This is the first step towards moving handling of user scripts and style sheets from
3205 the page group to a separate objects and ultimately make them be settable per page instead of per page group.
3208 * GNUmakefile.list.am:
3209 * WebCore.vcxproj/WebCore.vcxproj:
3210 * WebCore.vcxproj/WebCore.vcxproj.filters:
3211 * WebCore.xcodeproj/project.pbxproj:
3212 * page/UserContentController.cpp: Added.
3213 (WebCore::UserContentController::create):
3214 (WebCore::UserContentController::UserContentController):
3215 (WebCore::UserContentController::~UserContentController):
3216 * page/UserContentController.h: Added.
3218 2014-01-20 Joseph Pecoraro <pecoraro@apple.com>
3220 Run clang-modernize and let it add a bunch of missing overrides in WebCore/inspector
3221 https://bugs.webkit.org/show_bug.cgi?id=127206
3223 Reviewed by Anders Carlsson.
3225 Let clang-modernize add overrides.
3227 * inspector/DOMEditor.cpp:
3228 * inspector/InspectorApplicationCacheAgent.h:
3229 * inspector/InspectorCSSAgent.h:
3230 * inspector/InspectorCanvasAgent.h:
3231 * inspector/InspectorConsoleAgent.h:
3232 * inspector/InspectorDOMAgent.h:
3233 * inspector/InspectorDOMDebuggerAgent.h:
3234 * inspector/InspectorDOMStorageAgent.h:
3235 * inspector/InspectorDatabaseAgent.cpp:
3236 * inspector/InspectorDatabaseAgent.h:
3237 * inspector/InspectorDebuggerAgent.h:
3238 * inspector/InspectorFrontendHost.cpp:
3239 * inspector/InspectorHeapProfilerAgent.cpp:
3240 (WebCore::InspectorHeapProfilerAgent::getHeapSnapshot):
3241 (WebCore::InspectorHeapProfilerAgent::takeHeapSnapshot):
3242 * inspector/InspectorHeapProfilerAgent.h:
3243 * inspector/InspectorHistory.cpp:
3244 * inspector/InspectorIndexedDBAgent.cpp:
3245 * inspector/InspectorIndexedDBAgent.h:
3246 * inspector/InspectorInputAgent.h:
3247 * inspector/InspectorLayerTreeAgent.h:
3248 * inspector/InspectorMemoryAgent.h:
3249 * inspector/InspectorPageAgent.h:
3250 * inspector/InspectorProfilerAgent.cpp:
3251 * inspector/InspectorProfilerAgent.h:
3252 * inspector/InspectorResourceAgent.h:
3253 * inspector/InspectorRuntimeAgent.h:
3254 * inspector/InspectorStyleSheet.h:
3255 * inspector/InspectorTimelineAgent.h:
3256 * inspector/InspectorWorkerAgent.cpp:
3257 * inspector/InspectorWorkerAgent.h:
3258 * inspector/PageConsoleAgent.h:
3259 * inspector/PageDebuggerAgent.h:
3260 * inspector/PageRuntimeAgent.h:
3261 * inspector/WorkerConsoleAgent.h:
3262 * inspector/WorkerDebuggerAgent.cpp:
3263 * inspector/WorkerInspectorController.cpp:
3264 * inspector/WorkerRuntimeAgent.h:
3266 2014-01-20 Zan Dobersek <zdobersek@igalia.com>
3268 Move WebAudio source code to std::unique_ptr
3269 https://bugs.webkit.org/show_bug.cgi?id=127274
3271 Reviewed by Eric Carlson.
3273 Move from using OwnPtr and PassOwnPtr to using std::unique_ptr and move semantics
3274 in the WebAudio module and the WebAudio code in the platform layer.
3276 * Modules/webaudio/AsyncAudioDecoder.cpp:
3277 * Modules/webaudio/AsyncAudioDecoder.h:
3278 * Modules/webaudio/AudioBasicInspectorNode.cpp:
3279 (WebCore::AudioBasicInspectorNode::AudioBasicInspectorNode):
3280 * Modules/webaudio/AudioBasicProcessorNode.cpp:
3281 (WebCore::AudioBasicProcessorNode::AudioBasicProcessorNode):
3282 * Modules/webaudio/AudioBasicProcessorNode.h:
3283 * Modules/webaudio/AudioBufferSourceNode.cpp:
3284 (WebCore::AudioBufferSourceNode::AudioBufferSourceNode):
3285 * Modules/webaudio/AudioContext.cpp:
3286 * Modules/webaudio/AudioContext.h:
3287 * Modules/webaudio/AudioDestinationNode.cpp:
3288 (WebCore::AudioDestinationNode::AudioDestinationNode):
3289 * Modules/webaudio/AudioNode.cpp:
3290 (WebCore::AudioNode::addInput):
3291 (WebCore::AudioNode::addOutput):
3292 (WebCore::AudioNode::checkNumberOfChannelsForInput):
3293 * Modules/webaudio/AudioNode.h:
3294 * Modules/webaudio/BiquadFilterNode.cpp:
3295 (WebCore::BiquadFilterNode::BiquadFilterNode):
3296 * Modules/webaudio/BiquadProcessor.cpp:
3297 (WebCore::BiquadProcessor::createKernel):
3298 (WebCore::BiquadProcessor::getFrequencyResponse):
3299 * Modules/webaudio/BiquadProcessor.h:
3300 * Modules/webaudio/ChannelMergerNode.cpp:
3301 (WebCore::ChannelMergerNode::ChannelMergerNode):
3302 * Modules/webaudio/ChannelSplitterNode.cpp:
3303 (WebCore::ChannelSplitterNode::ChannelSplitterNode):
3304 * Modules/webaudio/ConvolverNode.cpp:
3305 (WebCore::ConvolverNode::ConvolverNode):
3306 (WebCore::ConvolverNode::uninitialize):
3307 (WebCore::ConvolverNode::setBuffer):
3308 * Modules/webaudio/ConvolverNode.h:
3309 * Modules/webaudio/DefaultAudioDestinationNode.h:
3310 * Modules/webaudio/DelayNode.cpp:
3311 (WebCore::DelayNode::DelayNode):
3312 * Modules/webaudio/DelayProcessor.cpp:
3313 (WebCore::DelayProcessor::createKernel):
3314 * Modules/webaudio/DelayProcessor.h:
3315 * Modules/webaudio/DynamicsCompressorNode.cpp:
3316 (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
3317 (WebCore::DynamicsCompressorNode::initialize):
3318 (WebCore::DynamicsCompressorNode::uninitialize):
3319 * Modules/webaudio/DynamicsCompressorNode.h:
3320 * Modules/webaudio/GainNode.cpp:
3321 (WebCore::GainNode::GainNode):
3322 * Modules/webaudio/MediaElementAudioSourceNode.cpp:
3323 (WebCore::MediaElementAudioSourceNode::MediaElementAudioSourceNode):
3324 (WebCore::MediaElementAudioSourceNode::setFormat):
3325 * Modules/webaudio/MediaElementAudioSourceNode.h:
3326 * Modules/webaudio/MediaStreamAudioDestinationNode.h:
3327 * Modules/webaudio/MediaStreamAudioSource.cpp:
3328 * Modules/webaudio/MediaStreamAudioSourceNode.cpp:
3329 (WebCore::MediaStreamAudioSourceNode::MediaStreamAudioSourceNode):
3330 * Modules/webaudio/MediaStreamAudioSourceNode.h:
3331 * Modules/webaudio/OscillatorNode.cpp:
3332 (WebCore::OscillatorNode::OscillatorNode):
3333 * Modules/webaudio/PannerNode.cpp:
3334 (WebCore::PannerNode::PannerNode):
3335 (WebCore::PannerNode::uninitialize):
3336 (WebCore::PannerNode::setPanningModel):
3337 * Modules/webaudio/PannerNode.h:
3338 * Modules/webaudio/PeriodicWave.cpp:
3339 (WebCore::PeriodicWave::createBandLimitedTables):
3340 * Modules/webaudio/PeriodicWave.h:
3341 * Modules/webaudio/RealtimeAnalyser.cpp:
3342 (WebCore::RealtimeAnalyser::RealtimeAnalyser):
3343 (WebCore::RealtimeAnalyser::setFftSize):
3344 * Modules/webaudio/RealtimeAnalyser.h:
3345 * Modules/webaudio/ScriptProcessorNode.cpp:
3346 (WebCore::ScriptProcessorNode::ScriptProcessorNode):
3347 * Modules/webaudio/WaveShaperDSPKernel.cpp:
3348 (WebCore::WaveShaperDSPKernel::lazyInitializeOversampling):
3349 * Modules/webaudio/WaveShaperDSPKernel.h:
3350 * Modules/webaudio/WaveShaperNode.cpp:
3351 (WebCore::WaveShaperNode::WaveShaperNode):
3352 * Modules/webaudio/WaveShaperProcessor.cpp:
3353 (WebCore::WaveShaperProcessor::createKernel):
3354 * Modules/webaudio/WaveShaperProcessor.h:
3355 * platform/audio/AudioBus.cpp:
3356 (WebCore::AudioBus::AudioBus):
3357 (WebCore::AudioBus::copyWithGainFrom):
3358 * platform/audio/AudioBus.h:
3359 * platform/audio/AudioChannel.cpp:
3360 * platform/audio/AudioChannel.h:
3361 (WebCore::AudioChannel::AudioChannel):
3362 (WebCore::AudioChannel::set):
3363 * platform/audio/AudioDSPKernelProcessor.h:
3364 * platform/audio/AudioDestination.h:
3365 * platform/audio/AudioResampler.cpp:
3366 (WebCore::AudioResampler::AudioResampler):
3367 (WebCore::AudioResampler::configureChannels):
3368 * platform/audio/AudioResampler.h:
3369 * platform/audio/AudioSession.h:
3370 * platform/audio/DynamicsCompressor.cpp:
3371 (WebCore::DynamicsCompressor::setNumberOfChannels):
3372 * platform/audio/DynamicsCompressor.h:
3373 * platform/audio/DynamicsCompressorKernel.cpp:
3374 (WebCore::DynamicsCompressorKernel::setNumberOfChannels):
3375 * platform/audio/DynamicsCompressorKernel.h:
3376 * platform/audio/FFTFrame.cpp:
3377 (WebCore::FFTFrame::createInterpolatedFrame):
3378 * platform/audio/FFTFrame.h:
3379 * platform/audio/HRTFDatabase.cpp:
3380 (WebCore::HRTFDatabase::HRTFDatabase):
3381 * platform/audio/HRTFDatabase.h:
3382 * platform/audio/HRTFDatabaseLoader.cpp:
3383 (WebCore::HRTFDatabaseLoader::~HRTFDatabaseLoader):
3384 (WebCore::HRTFDatabaseLoader::load):
3385 * platform/audio/HRTFDatabaseLoader.h:
3386 * platform/audio/HRTFElevation.cpp:
3387 (WebCore::HRTFElevation::createForSubject):
3388 (WebCore::HRTFElevation::createByInterpolatingSlices):
3389 * platform/audio/HRTFElevation.h:
3390 (WebCore::HRTFElevation::HRTFElevation):
3391 * platform/audio/HRTFKernel.cpp:
3392 (WebCore::HRTFKernel::HRTFKernel):
3393 (WebCore::HRTFKernel::createImpulseResponse):
3394 (WebCore::HRTFKernel::createInterpolatedKernel):
3395 * platform/audio/HRTFKernel.h:
3396 (WebCore::HRTFKernel::create):
3397 (WebCore::HRTFKernel::HRTFKernel):
3398 * platform/audio/MultiChannelResampler.cpp:
3399 (WebCore::MultiChannelResampler::MultiChannelResampler):
3400 * platform/audio/MultiChannelResampler.h:
3401 * platform/audio/Panner.cpp:
3402 (WebCore::Panner::create):
3403 * platform/audio/Panner.h:
3404 * platform/audio/Reverb.cpp:
3405 (WebCore::Reverb::initialize):
3406 * platform/audio/Reverb.h:
3407 * platform/audio/ReverbConvolver.h:
3408 * platform/audio/ReverbConvolverStage.cpp:
3409 (WebCore::ReverbConvolverStage::ReverbConvolverStage):
3410 * platform/audio/ReverbConvolverStage.h:
3411 * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
3412 (WebCore::AudioDestination::create):
3413 * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
3414 * platform/audio/ios/AudioDestinationIOS.cpp:
3415 (WebCore::AudioDestination::create):
3416 * platform/audio/ios/AudioSessionIOS.mm:
3417 (WebCore::AudioSession::AudioSession):
3418 * platform/audio/mac/AudioDestinationMac.cpp:
3419 (WebCore::AudioDestination::create):
3420 * platform/audio/mac/AudioDestinationMac.h:
3421 * platform/audio/mac/AudioSessionMac.cpp:
3422 (WebCore::AudioSession::AudioSession):
3424 2014-01-20 Morten Stenshorne <mstensho@opera.com>
3426 Region based multicol: support explicit column breaks
3427 https://bugs.webkit.org/show_bug.cgi?id=123993
3429 Reviewed by David Hyatt.
3431 Merely supporting insertion of explicit (forced) column breaks in
3432 the region based multicol implementation is really simple: just
3433 hook up with what the CSS regions code is already doing.
3435 However, there is one complication: column balancing. In order to
3436 balance columns as nicely as possible when there are explicit
3437 breaks, we need to figure out between which explicit breaks the
3438 implicit breaks will occur (if there's room for any at all).
3440 Tests: fast/multicol/newmulticol/break-after.html
3441 fast/multicol/newmulticol/break-before.html
3442 fast/multicol/newmulticol/breaks-2-columns-3-no-balancing.html
3443 fast/multicol/newmulticol/breaks-2-columns-3.html
3444 fast/multicol/newmulticol/breaks-3-columns-3.html
3445 fast/multicol/newmulticol/fixed-height-fill-balance-2.html
3447 * rendering/RenderBlockFlow.cpp:
3448 (WebCore::RenderBlockFlow::applyBeforeBreak):
3449 (WebCore::RenderBlockFlow::applyAfterBreak): Use the already
3450 existing region breaking code when inserting breaks in region
3452 * rendering/RenderFlowThread.h:
3453 * rendering/RenderMultiColumnBlock.cpp:
3454 (WebCore::RenderMultiColumnBlock::RenderMultiColumnBlock):
3455 (WebCore::RenderMultiColumnBlock::relayoutForPagination): Avoid
3456 re-balancing if the multicol's contents were not laid out. Apart
3457 from being good for performance, this is now necessary because of
3458 how explicit breaks are implemented.
3459 (WebCore::RenderMultiColumnBlock::layoutSpecialExcludedChild):
3460 Detect if the contents are going to be laid out, or skipped, so
3461 that we can tell if we need to (re-)balance the columns
3463 * rendering/RenderMultiColumnBlock.h:
3464 * rendering/RenderMultiColumnFlowThread.cpp:
3465 (WebCore::RenderMultiColumnFlowThread::addForcedRegionBreak):
3466 Locate the appropriate multi-column set and call its
3468 * rendering/RenderMultiColumnFlowThread.h:
3469 * rendering/RenderMultiColumnSet.cpp:
3470 (WebCore::RenderMultiColumnSet::RenderMultiColumnSet):
3471 (WebCore::RenderMultiColumnSet::findRunWithTallestColumns):