1 2014-01-22 Myles C. Maxfield <mmaxfield@apple.com>
3 ASSERTION FAILED: v.isFixed() in WebCore::RenderStyle::setWordSpacing
4 https://bugs.webkit.org/show_bug.cgi?id=126987
6 Reviewed by Simon Fraser.
8 When "inherit" is specified and there is no parent, Length values have an "Auto" type
10 Test: fast/css3-text/css3-word-spacing-percentage/word-spacing-crash.html
12 * rendering/style/RenderStyle.cpp:
13 (WebCore::RenderStyle::setWordSpacing):
15 2014-01-22 Samuel White <samuel_white@apple.com>
17 AX: Can't always increment web sliders.
18 https://bugs.webkit.org/show_bug.cgi?id=127451
20 Reviewed by Chris Fleizach.
22 Clamping the decrement/increment amount to one when necessary (if a percent change would result in a change of less than one).
24 Test: accessibility/range-alter-by-percent.html
26 * accessibility/AccessibilityNodeObject.cpp:
27 (WebCore::AccessibilityNodeObject::changeValueByPercent):
29 2014-01-22 Myles C. Maxfield <mmaxfield@apple.com>
31 Remove CSS3_TEXT_DECORATION define
32 https://bugs.webkit.org/show_bug.cgi?id=127333
34 Reviewed by Simon Fraser.
36 This is required for unprefixing the text-decoration-* CSS properties.
38 No new tests are necessary becase the flag was already on by default.
40 * Configurations/FeatureDefines.xcconfig:
41 * css/CSSComputedStyleDeclaration.cpp:
42 (WebCore::renderTextDecorationSkipFlagsToCSSValue):
43 (WebCore::ComputedStyleExtractor::propertyValue):
45 (WebCore::isColorPropertyID):
46 (WebCore::CSSParser::parseValue):
47 (WebCore::CSSParser::addTextDecorationProperty):
48 (WebCore::CSSParser::parseTextUnderlinePosition):
50 * css/CSSPrimitiveValueMappings.h:
51 (WebCore::CSSPrimitiveValue::operator TextUnderlinePosition):
52 * css/CSSPropertyNames.in:
53 * css/CSSValueKeywords.in:
54 * css/DeprecatedStyleBuilder.cpp:
55 (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
56 * css/StylePropertyShorthand.cpp:
57 (WebCore::webkitTextDecorationShorthand):
58 (WebCore::shorthandForProperty):
59 (WebCore::matchingShorthandsForLonghand):
60 * css/StylePropertyShorthand.h:
61 * css/StyleResolver.cpp:
62 (WebCore::shouldApplyPropertyInParseOrder):
63 (WebCore::isValidVisitedLinkProperty):
64 (WebCore::StyleResolver::applyProperty):
65 * platform/graphics/GraphicsContext.h:
66 * platform/graphics/cairo/GraphicsContextCairo.cpp:
67 (WebCore::GraphicsContext::setPlatformStrokeStyle):
68 * platform/graphics/cg/GraphicsContextCG.cpp:
69 (WebCore::GraphicsContext::platformInit):
70 * platform/graphics/wince/GraphicsContextWinCE.cpp:
72 * rendering/InlineFlowBox.cpp:
73 (WebCore::InlineFlowBox::computeMaxLogicalTop):
74 * rendering/InlineFlowBox.h:
75 * rendering/InlineTextBox.cpp:
76 (WebCore::textDecorationStyleToStrokeStyle):
77 (WebCore::boundingBoxForAllActiveDecorations):
78 (WebCore::InlineTextBox::paintDecoration):
79 * rendering/RenderObject.cpp:
80 (WebCore::decorationColor):
81 * rendering/RootInlineBox.cpp:
82 (WebCore::RootInlineBox::maxLogicalTop):
83 * rendering/RootInlineBox.h:
84 * rendering/style/RenderStyle.cpp:
85 (WebCore::RenderStyle::changeRequiresRepaintIfTextOrBorderOrOutline):
86 (WebCore::RenderStyle::colorIncludingFallback):
87 (WebCore::RenderStyle::visitedDependentColor):
88 * rendering/style/RenderStyle.h:
89 * rendering/style/RenderStyleConstants.h:
90 * rendering/style/StyleRareInheritedData.cpp:
91 (WebCore::StyleRareInheritedData::StyleRareInheritedData):
92 (WebCore::StyleRareInheritedData::operator==):
93 * rendering/style/StyleRareInheritedData.h:
94 * rendering/style/StyleRareNonInheritedData.cpp:
95 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
96 (WebCore::StyleRareNonInheritedData::operator==):
97 * rendering/style/StyleRareNonInheritedData.h:
99 2014-01-22 Chris Fleizach <cfleizach@apple.com>
101 AX: Do not return an accessible name for an object just because it has tabindex=0
102 https://bugs.webkit.org/show_bug.cgi?id=126914
104 Reviewed by Mario Sanchez Prada.
106 WebKit has code to return an accessible name for any object that is "generically" focusable (ie. tabindex=0).
107 This behavior, which is not supported in ARIA, has caused many problems for VoiceOver. Often VoiceOver will
108 speak all the text underneath any type of group.
110 I think we need to revert this behavior and follow the ARIA spec more closely.
112 Test: accessibility/aria-describedby-ensures-visibility.html
114 * accessibility/AccessibilityNodeObject.cpp:
115 (WebCore::AccessibilityNodeObject::visibleText):
116 (WebCore::AccessibilityNodeObject::title):
118 2014-01-22 Brady Eidson <beidson@apple.com>
120 The IDB backing store get() method shouldn't call IDB callbacks directly
121 https://bugs.webkit.org/show_bug.cgi?id=127453
123 Reviewed by Beth Dakin.
125 * Modules/indexeddb/IDBServerConnection.h:
126 (WebCore::IDBGetResult::IDBGetResult): Add a new structure to hold all of the
127 possible results of a get() call.
129 * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
130 (WebCore::IDBServerConnectionLevelDB::get): Don't call IDBCallbacks directly.
131 Instead, return the GetResult to the GetOperation which will make IDBCallbacks.
132 * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
134 * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
135 (WebCore::GetOperation::perform): Get all of the IDBGetResults in the completion callback
136 make the appropriate IDBCallback.
137 * Modules/indexeddb/IDBTransactionBackendOperations.h:
139 2014-01-22 Dean Jackson <dino@apple.com>
141 Unreviewed attempt to fix 32-bit builds.
143 Use long long rather than GC3Dintptr.
145 * html/canvas/ANGLEInstancedArrays.cpp:
146 (WebCore::ANGLEInstancedArrays::drawElementsInstancedANGLE):
147 * html/canvas/ANGLEInstancedArrays.h:
148 * html/canvas/WebGLRenderingContext.cpp:
149 (WebCore::WebGLRenderingContext::drawElementsInstanced):
150 * html/canvas/WebGLRenderingContext.h:
152 2014-01-21 Brady Eidson <beidson@apple.com>
155 <rdar://problem/15779643> and https://bugs.webkit.org/show_bug.cgi?id=127401
157 Reviewed by Alexey Proskuryakov.
159 Add persistent encode/decode for storage to the database:
160 * Modules/indexeddb/IDBKey.cpp:
161 (WebCore::IDBKey::encode):
162 (WebCore::IDBKey::decode):
163 * Modules/indexeddb/IDBKey.h:
165 Add a data class to represent IDBKey suitable for crossing IPC:
166 * Modules/indexeddb/IDBKeyData.cpp: Added.
167 (WebCore::IDBKeyData::IDBKeyData):
168 (WebCore::IDBKeyData::maybeCreateIDBKey):
169 (WebCore::IDBKeyData::isolatedCopy):
170 * Modules/indexeddb/IDBKeyData.h: Added.
171 (WebCore::IDBKeyData::IDBKeyData):
173 * platform/CrossThreadCopier.cpp:
174 (WebCore::IDBKeyData>::copy):
175 * platform/CrossThreadCopier.h:
178 * WebCore.xcodeproj/project.pbxproj:
180 2014-01-22 Dean Jackson <dino@apple.com>
182 [WebGL] Implement ANGLE_instanced_arrays
183 https://bugs.webkit.org/show_bug.cgi?id=127257
185 Reviewed by Brent Fulgham.
187 Implement the instanced drawing WebGL extension,
188 ANGLE_instanced_arrays. This is currently Mac-only,
189 but should be portable to other platforms if their
190 OpenGL exposes the functions. It's also done in a way
191 that will make exposing it to WebGL2 simple.
193 Test: fast/canvas/webgl/angle-instanced-arrays.html
196 * DerivedSources.cpp:
197 * DerivedSources.make:
198 * GNUmakefile.list.am:
199 * WebCore.vcxproj/WebCore.vcxproj:
200 * WebCore.vcxproj/WebCore.vcxproj.filters:
201 * WebCore.xcodeproj/project.pbxproj:
202 Add the new files to all the build systems.
204 * bindings/js/JSWebGLRenderingContextCustom.cpp:
205 (WebCore::toJS): Link JS side to C++ side.
207 * html/canvas/ANGLEInstancedArrays.cpp: Added.
208 (WebCore::ANGLEInstancedArrays::ANGLEInstancedArrays):
209 * html/canvas/ANGLEInstancedArrays.h: Added.
210 * html/canvas/ANGLEInstancedArrays.idl: Added.
211 New boilerplate files that expose the extension methods.
213 * html/canvas/WebGLExtension.h: New extension enum.
215 * html/canvas/WebGLRenderingContext.cpp:
216 (WebCore::WebGLRenderingContext::validateVertexAttributes): Add an optional
217 parameter representing the number of instance primitives we are asked
218 to draw. Use that for the draw count if looking at an instanced attribute.
219 Also make sure we see at least one non-instanced attribute.
220 (WebCore::WebGLRenderingContext::validateDrawArrays): Update this so it could
221 be used from either drawArrays or drawArraysInstanced.
222 (WebCore::WebGLRenderingContext::drawArrays):
223 (WebCore::WebGLRenderingContext::validateDrawElements): Same here, now can be
224 used by the instanced and non-instanced versions.
225 (WebCore::WebGLRenderingContext::drawElements):
226 (WebCore::WebGLRenderingContext::getExtension): Create and return the new extension.
227 (WebCore::WebGLRenderingContext::getSupportedExtensions): Add new extension to the list.
228 (WebCore::WebGLRenderingContext::getVertexAttrib): Intercept a query to the divisor
229 attribute and return the value we kept in the state.
230 (WebCore::WebGLRenderingContext::drawArraysInstanced): Call the GC3D method.
231 (WebCore::WebGLRenderingContext::drawElementsInstanced): Ditto.
232 (WebCore::WebGLRenderingContext::vertexAttribDivisor): Ditto.
234 * html/canvas/WebGLRenderingContext.h: Define the new methods and parameters.
236 * html/canvas/WebGLVertexArrayObjectOES.cpp:
237 (WebCore::WebGLVertexArrayObjectOES::setVertexAttribDivisor): Keep a record of the
238 divisor if we set it.
239 * html/canvas/WebGLVertexArrayObjectOES.h:
240 (WebCore::WebGLVertexArrayObjectOES::VertexAttribState::VertexAttribState):
242 * platform/graphics/GraphicsContext3D.h: New enum.
243 * platform/graphics/mac/GraphicsContext3DMac.mm:
244 (WebCore::GraphicsContext3D::drawArraysInstanced): The actual calls into OpenGL.
245 (WebCore::GraphicsContext3D::drawElementsInstanced): Ditto.
246 (WebCore::GraphicsContext3D::vertexAttribDivisor): Ditto.
248 * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: Empty implementations
249 for non-mac platforms.
251 * platform/graphics/ios/GraphicsContext3DIOS.h: Define the iOS names for the
254 2014-01-22 Zalan Bujtas <zalan@apple.com>
256 [CSS Shapes] shape-inside rectangle layout can fail
257 https://bugs.webkit.org/show_bug.cgi?id=124784
259 Reviewed by Darin Adler.
261 Early subpixel rounding/flooring/ceiling can have unwanted
262 side effect on the final pixel value. Delay pixel
263 conversions as much as possible.
265 Existing test is changed to reflect subpixel functionality.
267 * rendering/shapes/RectangleShape.cpp:
268 (WebCore::RectangleShape::firstIncludedIntervalLogicalTop):
270 2014-01-22 Jochen Eisinger <jochen@chromium.org>
272 Add protocolIsInHTTPFamily for strings and use it where appropriate
273 https://bugs.webkit.org/show_bug.cgi?id=127336
275 Reviewed by Alexey Proskuryakov.
277 * html/HTMLAnchorElement.cpp:
278 (WebCore::HTMLAnchorElement::parseAttribute):
279 * page/ContentSecurityPolicy.cpp:
280 (WebCore::CSPSource::schemeMatches):
281 * page/SecurityPolicy.cpp:
282 (WebCore::SecurityPolicy::generateReferrerHeader):
284 (WebCore::protocolIsInHTTPFamily):
287 2014-01-22 Zalan Bujtas <zalan@apple.com>
289 Subpixel Layout: SimpleLineLayout needs more position rounding to match InlineFlowBox layout.
290 https://bugs.webkit.org/show_bug.cgi?id=127404
292 Reviewed by Antti Koivisto.
294 In order to produce a CSS pixel perfect layout, SimpleLineLayout needs to
295 round line positions to CSS (integral) position similarly to InlineFlowBox.
297 Existing tests cover it.
299 * rendering/SimpleLineLayoutResolver.h:
300 (WebCore::SimpleLineLayout::RunResolver::Run::rect):
301 (WebCore::SimpleLineLayout::RunResolver::Run::baseline):
303 2014-01-22 Joseph Pecoraro <pecoraro@apple.com>
305 Unreviewed rollout of r162534, this caused inspector test failures.
307 * bindings/js/PageScriptDebugServer.cpp:
308 (WebCore::PageScriptDebugServer::addListener):
309 (WebCore::PageScriptDebugServer::removeListener):
310 (WebCore::PageScriptDebugServer::recompileAllJSFunctions):
311 (WebCore::PageScriptDebugServer::didRemoveLastListener):
312 * bindings/js/PageScriptDebugServer.h:
313 * bindings/js/ScriptDebugServer.cpp:
314 (WebCore::ScriptDebugServer::ScriptDebugServer):
315 (WebCore::ScriptDebugServer::recompileAllJSFunctionsSoon):
316 (WebCore::ScriptDebugServer::recompileAllJSFunctionsTimerFired):
317 * bindings/js/ScriptDebugServer.h:
318 * bindings/js/WorkerScriptDebugServer.cpp:
319 (WebCore::WorkerScriptDebugServer::addListener):
320 (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
321 (WebCore::WorkerScriptDebugServer::removeListener):
322 * inspector/InspectorProfilerAgent.cpp:
324 2014-01-22 peavo@outlook.com <peavo@outlook.com>
326 Crashes in setTextForIterator
327 https://bugs.webkit.org/show_bug.cgi?id=127424
329 Reviewed by Brent Fulgham.
331 * platform/text/icu/UTextProviderLatin1.cpp:
332 (WebCore::uTextLatin1Clone): Provide correct buffer size in utext_setup function call.
333 (WebCore::uTextLatin1Access): Give correct buffer size to memset call.
334 (WebCore::openLatin1UTextProvider): Ditto.
336 2014-01-22 Jer Noble <jer.noble@apple.com>
338 [Mac] MediaPlayerPrivateMediaSourceAVFObjC::load ASSERTs on lots of tests
339 https://bugs.webkit.org/show_bug.cgi?id=127430
341 Reviewed by Eric Carlson.
343 When other registered media engines cannot load a URL, the engine selection
344 will eventually pick MediaPlayerPrivateMediaSourceAVFObjC and ask it to load
345 the URL. Instead of ASSERTing here, simply reject the URL by setting the
346 network state to FormatError.
348 * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
349 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::load):
351 2014-01-22 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org>
353 [EFL][GTK] Get EFL and GTK compiling with ACCESSIBILITY disabled
354 https://bugs.webkit.org/show_bug.cgi?id=127119
356 Reviewed by Mario Sanchez Prada.
358 At build time, the compiler was not able to determine which Timer's constructor to call in AXObjectCache when
359 ACCESSIBILITY is not enabled, fixing that.
360 Also guarding some members in AccessibilityObject that are only being used by EFL and GTK with ACCESSIBILITY.
362 * accessibility/AXObjectCache.h:
363 (WebCore::AXObjectCache::AXObjectCache):
364 * accessibility/AccessibilityObject.h:
366 2014-01-22 Peter Molnar <pmolnar.u-szeged@partner.samsung.com>
368 Refactor calculation of hasRx and hasRy values in SVGPathData
369 https://bugs.webkit.org/show_bug.cgi?id=127423
371 Reviewed by Darin Adler.
373 This is a follow-up on https://bugs.webkit.org/show_bug.cgi?id=127337
375 * rendering/svg/SVGPathData.cpp:
376 (WebCore::updatePathFromRectElement):
378 2014-01-21 Joseph Pecoraro <pecoraro@apple.com>
380 Web Inspector: Remove recompileAllJSFunctions timer in ScriptDebugServer
381 https://bugs.webkit.org/show_bug.cgi?id=127409
383 Reviewed by Timothy Hatcher.
385 * bindings/js/ScriptDebugServer.h:
386 * bindings/js/ScriptDebugServer.cpp:
387 (WebCore::ScriptDebugServer::ScriptDebugServer):
388 Remove m_recompileTimer and the recompile soon function.
389 We can just recompile immediately in all existing cases.
391 * bindings/js/PageScriptDebugServer.h:
392 * bindings/js/PageScriptDebugServer.cpp:
393 (WebCore::PageScriptDebugServer::addListener):
394 (WebCore::PageScriptDebugServer::removeListener):
395 (WebCore::PageScriptDebugServer::recompileAllJSFunctions):
396 (WebCore::PageScriptDebugServer::didAddFirstListener):
397 (WebCore::PageScriptDebugServer::didRemoveLastListener):
398 Add a "didAddFirstListener" to match "didRemoveLastListener".
399 Only recompile functions when we attach the debugger and when
400 we detach the last listener.
402 * bindings/js/WorkerScriptDebugServer.cpp:
403 (WebCore::WorkerScriptDebugServer::addListener):
404 (WebCore::WorkerScriptDebugServer::removeListener):
405 (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
406 Same thing. Also rearrange the functions to read better.
408 * inspector/InspectorProfilerAgent.cpp:
409 Use the direct recompile function instead of the removed "soon" version.
411 2014-01-22 Robert Sipka <sipka@inf.u-szeged.hu>
413 [curl] Improve detecting and handling of SSL client certificate
414 https://bugs.webkit.org/show_bug.cgi?id=125006
416 Reviewed by Brent Fulgham.
418 Add client certificate handling.
420 * platform/network/ResourceHandle.h:
421 * platform/network/curl/ResourceError.h:
422 (WebCore::ResourceError::hasSSLConnectError):
423 * platform/network/curl/ResourceHandleCurl.cpp:
424 (WebCore::ResourceHandle::setClientCertificateInfo):
425 * platform/network/curl/ResourceHandleManager.cpp:
426 (WebCore::ResourceHandleManager::initializeHandle):
427 * platform/network/curl/SSLHandle.cpp:
428 (WebCore::addAllowedClientCertificate):
429 (WebCore::setSSLClientCertificate):
430 * platform/network/curl/SSLHandle.h:
432 2014-01-22 Mihai Maerean <mmaerean@adobe.com>
434 [CSS Regions] layerOwner in RenderNamedFlowFragment cannot return null
435 https://bugs.webkit.org/show_bug.cgi?id=127343
437 Reviewed by Sam Weinig.
439 RenderNamedFlowFragment::layerOwner cannot return null because regions create stacking
440 contexts which create layers.
442 No new tests, no functional change.
444 * rendering/RenderFlowThread.cpp:
445 (WebCore::RenderFlowThread::hasCompositingRegionDescendant):
446 * rendering/RenderLayer.cpp:
447 (WebCore::RenderLayer::calculateClipRects):
448 * rendering/RenderLayerBacking.cpp:
449 (WebCore::RenderLayerBacking::adjustAncestorCompositingBoundsForFlowThread):
450 * rendering/RenderLayerCompositor.cpp:
451 (WebCore::RenderLayerCompositor::computeRegionCompositingRequirements):
452 * rendering/RenderNamedFlowFragment.h:
454 2014-01-22 Antti Koivisto <antti@apple.com>
456 Avoid unthrottled layer flushes triggered by RenderLayerCompositor::ensureRootLayer
457 https://bugs.webkit.org/show_bug.cgi?id=127426
459 Reviewed by Anders Carlsson.
461 * rendering/RenderLayerCompositor.cpp:
462 (WebCore::RenderLayerCompositor::updateScrollLayerPosition):
463 (WebCore::RenderLayerCompositor::frameViewDidScroll):
465 Factor scroll layer position update to a function.
467 (WebCore::RenderLayerCompositor::ensureRootLayer):
469 Stop calling frameViewDidChangeSize/frameViewDidScroll. Instead call the relevent functions
470 directly. This avoid unthrottled layer flush that is done when the view actually scrolls.
472 * rendering/RenderLayerCompositor.h:
474 2014-01-22 Mihai Tica <mitica@adobe.com>
476 [CSS Background Blending] -webkit-background-blend-mode fails for certain SVG files
477 https://bugs.webkit.org/show_bug.cgi?id=127350
479 Reviewed by Dirk Schulze.
481 The graphics context of the SVG inherits the blend mode set
482 on the background layer. Fix consists in drawing the SVG
483 in a transparency layer.
485 Test: css3/compositing/background-blend-mode-svg.html
487 * svg/graphics/SVGImage.cpp:
488 (WebCore::SVGImage::draw): Begin a transparency layer if a blend mode is set.
490 2014-01-22 Antti Koivisto <antti@apple.com>
492 Update overlay scrollbars in single pass
493 https://bugs.webkit.org/show_bug.cgi?id=127289
495 Reviewed by Anders Carlsson.
497 * platform/ScrollView.cpp:
498 (WebCore::ScrollView::updateScrollbars):
500 Multi-pass scrollbar resolution is only needed for traditional scrollbars. Overlay scrollbars don't affect layout.
502 2014-01-22 Mihnea Ovidenie <mihnea@adobe.com>
504 [CSSRegions] Incorrect layout of a region pseudo children
505 https://bugs.webkit.org/show_bug.cgi?id=126146
507 Reviewed by David Hyatt.
509 Test: fast/regions/collapse-anonymous-region.html
511 A region behaviour, styled using -webkit-flow-from, is modeled using an anonymous
512 block created to fragment the named flow content inside the region. We have to prevent
513 the behaviour of anonymous children collapsing for this block to make sure that the
514 region element children are still laid out properly when the region element becomes an ordinary
517 * rendering/RenderBlockFlow.h:
519 2014-01-21 Ryuan Choi <ryuan.choi@samsung.com>
521 Remove unused "acceleratedCompositingForScrollableFramesEnabled" setting
522 https://bugs.webkit.org/show_bug.cgi?id=127402
524 Reviewed by Anders Carlsson.
526 compositing/iframes/iframe-composited-scrolling.html is updated because
527 there are no usages in WebCore.
531 2014-01-21 Alex Christensen <achristensen@webkit.org>
533 Compile fix for using libsoup on Windows.
534 https://bugs.webkit.org/show_bug.cgi?id=127377
536 Reviewed by Daniel Bates.
538 * platform/network/soup/ProxyResolverSoup.cpp:
539 (soupProxyResolverWkSetProperty):
540 (soupProxyResolverWkGetProperty):
541 (soupProxyResolverWkGetProxyURISync):
542 Replaced uint with unsigned.
544 2014-01-21 Daniel Bates <dabates@apple.com>
546 Break up single assertion into two assertions in HTMLMediaElement::returnPlatformLayer()
548 Following up after <http://trac.webkit.org/changeset/162473>, we should break up
549 the assertion into two assertions as suggested by Darin Adler. Separating the single
550 assertion into two assertions makes it straightforward to determine the conjunct that
551 failed among other benefits.
553 * html/HTMLMediaElement.cpp:
554 (WebCore::HTMLMediaElement::parseAttribute):
556 2014-01-21 Brady Eidson <beidson@apple.com>
558 The IDB backing store put() method shouldn't call IDB callbacks directly
559 https://bugs.webkit.org/show_bug.cgi?id=127399
561 Reviewed by Beth Dakin.
563 Refactor the put() callback to take a resulting key or an error.
564 * Modules/indexeddb/IDBServerConnection.h:
566 * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
567 (WebCore::PutOperation::perform): Call to the backing store, then perform the
568 appropriate IDB callback whether a key or an error was returned.
569 * Modules/indexeddb/IDBTransactionBackendOperations.h:
571 * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
572 (WebCore::IDBServerConnectionLevelDB::put): Don’t call IDB callbacks directly.
573 Instead, pass the resulting key/error back to the PutOperation.
574 * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
576 2014-01-21 Jae Hyun Park <jae.park@company100.net>
578 Use nullptr in HTMLCanvasElement
579 https://bugs.webkit.org/show_bug.cgi?id=127388
581 Reviewed by Gyuyoung Kim.
583 * html/HTMLCanvasElement.cpp:
584 (WebCore::HTMLCanvasElement::getContext):
585 (WebCore::HTMLCanvasElement::drawingContext):
586 (WebCore::HTMLCanvasElement::existingDrawingContext):
588 2014-01-21 László Langó <llango.u-szeged@partner.samsung.com>
590 Assertion failure in Range::nodeWillBeRemoved
591 https://bugs.webkit.org/show_bug.cgi?id=121694
593 Reviewed by Ryosuke Niwa.
595 Based on Blink a change: https://chromium.googlesource.com/chromium/blink/+/407c1d7b2c45974aa614b3f847ffe9e8fce205fa
597 This patch fix an assertion failure. Range::nodeWillBeRemoved() might
598 be called with removed node in ContainerNode, when DOMNodeRemovedFromDocument
599 event handler calls removeChild(), for node being removed.
601 Test: fast/dom/Range/remove-twice-crash.html
603 * dom/ContainerNode.cpp:
604 (WebCore::ContainerNode::willRemoveChild):
605 * dom/ContainerNode.h:
607 2014-01-21 Tim Horton <timothy_horton@apple.com>
609 REGRESSION (r161580): Some PDFs render outside their <img>
610 https://bugs.webkit.org/show_bug.cgi?id=127381
611 <rdar://problem/15872168>
613 Reviewed by Simon Fraser.
615 * platform/graphics/cg/PDFDocumentImage.cpp:
616 (WebCore::transformContextForPainting):
617 Only try to make the scale uniform if it isn't already, and use the minimum
618 of the two original scales when doing so, so that it is absolutely certain
619 to fit inside space allocated for the image during layout.
621 2014-01-21 Simon Fraser <simon.fraser@apple.com>
623 Remove #if PLATFORM(IOS) in various places around customFixedPositionLayoutRect() code
624 https://bugs.webkit.org/show_bug.cgi?id=127373
626 Reviewed by Beth Dakin.
628 Instead of PLATFORM(IOS) #idefs at every call site for viewportConstrainedVisibleContentRect(),
629 move the #ifdef inside viewportConstrainedVisibleContentRect().
631 The one call site that needs special handling is RenderLayerBacking::updateCompositedBounds(),
632 which needs to avoid clipping fixed layers to the custom fixed position rect, but instead to
633 visibleContentRect() (which is really the document bounds on iOS). This ensures that the
634 fixed layers aren't clipped when zooming out.
636 * page/FrameView.cpp:
637 (WebCore::FrameView::viewportConstrainedVisibleContentRect):
638 * rendering/RenderBoxModelObject.cpp:
639 (WebCore::RenderBoxModelObject::stickyPositionOffset):
640 * rendering/RenderLayerBacking.cpp:
641 (WebCore::RenderLayerBacking::updateCompositedBounds):
642 * rendering/RenderLayerCompositor.cpp:
643 (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
644 (WebCore::RenderLayerCompositor::computeFixedViewportConstraints):
645 (WebCore::RenderLayerCompositor::computeStickyViewportConstraints):
647 2014-01-21 Andy Estes <aestes@apple.com>
649 [iOS] Allow all clients to link against WebCore
650 https://bugs.webkit.org/show_bug.cgi?id=127372
652 Reviewed by Dan Bernstein.
654 * Configurations/WebCore.xcconfig:
656 2014-01-21 Bear Travis <betravis@adobe.com>
658 [CSS Shapes] Preserve box-shape order when serializing shape values
659 https://bugs.webkit.org/show_bug.cgi?id=127200
661 Reviewed by Dirk Schulze.
663 Convert the parsed shape-box pair to a CSSValueList rather than directly
664 adding the box value to BasicShape. The CSSValueList preserves the
665 shape-box ordering, and cleans up a little bit of the code shared between
666 clip and shape values.
668 Modifying existing parsing tests.
670 * css/CSSComputedStyleDeclaration.cpp:
671 (WebCore::shapePropertyValue): Factor out code common to generating shape
673 (WebCore::ComputedStyleExtractor::propertyValue): Generate a CSSValueList when
674 you have both a shape and a box.
676 (WebCore::CSSParser::parseBasicShapeAndOrBox): Factor out code common to clip
677 paths and shape properties that parses the [basic-shape || box] syntax from
679 (WebCore::CSSParser::parseShapeProperty): Parse shape-box pairs as a CSSValueList.
680 * css/DeprecatedStyleBuilder.cpp:
681 (WebCore::ApplyPropertyShape::applyValue): Use the CSSValueList for shape-box pairs.
682 * css/CSSValueList.h:
683 (WebCore::CSSValueList::itemWithoutBoundsCheck): Add a const version.
684 * page/animation/CSSPropertyAnimation.cpp:
685 (WebCore::blendFunc): Specify a box when blending.
686 * rendering/style/ShapeValue.h:
687 (WebCore::ShapeValue::createShapeValue): Add a box parameter.
688 (WebCore::ShapeValue::ShapeValue): Ditto.
690 2014-01-21 Daniel Bates <dabates@apple.com>
692 Fix the iOS Simulator release build
694 Substitute ASSERT_UNUSED() for ASSERT() to resolve a compiler warning
695 that the argument platformLayer is unused. The argument platformLayer
696 is only used in the asserted condition, which isn't compiled in a
697 release build; => the argument is unused in a release build.
699 * html/HTMLMediaElement.cpp:
700 (WebCore::HTMLMediaElement::parseAttribute):
702 2014-01-21 Zoltan Horvath <zoltan@webkit.org>
704 Since MidpointState is a class, it should behave like a class
705 https://bugs.webkit.org/show_bug.cgi?id=127154
707 Reviewed by David Hyatt.
709 I modified MidpointState to behave like a class, updated the call sites also.
711 No new tests, no behavior change.
713 * platform/text/BidiResolver.h:
714 (WebCore::MidpointState::reset):
715 (WebCore::MidpointState::startIgnoringSpaces):
716 (WebCore::MidpointState::stopIgnoringSpaces):
717 (WebCore::MidpointState::midpoints):
718 (WebCore::MidpointState::numMidpoints):
719 (WebCore::MidpointState::currentMidpoint):
720 (WebCore::MidpointState::incrementCurrentMidpoint):
721 (WebCore::MidpointState::decreaseNumMidpoints):
722 (WebCore::MidpointState::betweenMidpoints):
723 (WebCore::MidpointState::setBetweenMidpoints):
724 (WebCore::MidpointState::addMidpoint): Renamed from deprecatedAddMidpoint, since now
725 its private, we no longer need to discourage callers from using it.
726 * rendering/InlineIterator.h:
727 (WebCore::IsolateTracker::addFakeRunIfNecessary):
728 * rendering/RenderBlockLineLayout.cpp:
729 (WebCore::RenderBlockFlow::appendRunsForObject):
730 (WebCore::constructBidiRunsForLine):
731 * rendering/line/BreakingContextInlineHeaders.h:
732 (WebCore::checkMidpoints):
733 * rendering/line/TrailingObjects.cpp:
734 (WebCore::TrailingObjects::updateMidpointsForTrailingBoxes):
736 2014-01-21 Commit Queue <commit-queue@webkit.org>
738 Unreviewed, rolling out r162452.
739 http://trac.webkit.org/changeset/162452
740 https://bugs.webkit.org/show_bug.cgi?id=127366
742 broke a few tests on all Mac WebKit1 bots (Requested by
746 * page/FocusController.cpp:
747 (WebCore::FocusController::FocusController):
748 (WebCore::FocusController::setFocused):
749 (WebCore::FocusController::setActive):
750 (WebCore::FocusController::setContentIsVisible):
751 * page/FocusController.h:
752 (WebCore::FocusController::isActive):
753 (WebCore::FocusController::isFocused):
755 (WebCore::Page::Page):
756 (WebCore::Page::setIsInWindow):
757 (WebCore::Page::setIsVisuallyIdle):
758 (WebCore::Page::setIsVisible):
759 (WebCore::Page::visibilityState):
760 (WebCore::Page::hiddenPageCSSAnimationSuspensionStateChanged):
762 (WebCore::Page::isVisible):
763 (WebCore::Page::isInWindow):
765 2014-01-21 Chris Fleizach <cfleizach@apple.com>
767 AX: Mac: Expose the visible text of a password field to AX
768 https://bugs.webkit.org/show_bug.cgi?id=127353
770 Reviewed by Brent Fulgham.
772 The Mac platform should now expose the rendered value of password fields through AX.
774 Test: accessibility/password-field-value.html
776 * accessibility/AccessibilityRenderObject.cpp:
777 (WebCore::AccessibilityRenderObject::textLength):
778 (WebCore::AccessibilityRenderObject::passwordFieldValue):
780 2014-01-21 Robert Sipka <sipka@inf.u-szeged.hu>
782 Support SSL error handling in case of synchronous job.
783 https://bugs.webkit.org/show_bug.cgi?id=125301
785 Reviewed by Brent Fulgham.
787 Set ssl error informations for the users.
789 * platform/network/curl/ResourceHandleManager.cpp:
790 (WebCore::ResourceHandleManager::dispatchSynchronousJob):
792 2014-01-21 Simon Fraser <simon.fraser@apple.com>
794 Export systemTotalMemory() and systemMemoryLevel() for MobileSafari
795 https://bugs.webkit.org/show_bug.cgi?id=127360
797 Reviewed by Andy Estes.
799 MobileSafari inappropriately calls these WebCore functions directly,
804 2014-01-21 Simon Fraser <simon.fraser@apple.com>
806 Clean up PLATFORM(IOS) code related to the custom fixed position layout rect
807 https://bugs.webkit.org/show_bug.cgi?id=127362
809 Reviewed by Dave Hyatt.
811 Various platforms customize the rect used to layout position:fixed elements,
812 and each modified RenderBox::availableLogicalHeight/WidthUsing() in different
815 Clean this up by adding RenderView::clientLogicalWidth/HeightForFixedPosition(),
816 and moving the platform hacks into it.
818 * rendering/RenderBox.cpp:
819 (WebCore::RenderBox::availableLogicalHeightUsing):
820 (WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
821 (WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
822 * rendering/RenderView.cpp:
823 (WebCore::RenderView::clientLogicalWidthForFixedPosition):
824 (WebCore::RenderView::clientLogicalHeightForFixedPosition):
825 * rendering/RenderView.h:
827 2014-01-21 Tamas Gergely <tgergely.u-szeged@partner.samsung.com>
829 ASSERT(time.isFinite()) in SVGSMILElement::createInstanceTimesFromSyncbase
830 <https://webkit.org/b/108184>
832 Reviewed by Philip Rogers.
834 In the case a SMILElement timing had a syncbase dependency on an indefinite value
835 the assert were raised. The assert has been removed and a check has been added
836 instead that prevents the addition of indefinite times to the time list.
838 Test: svg/animations/smil-syncbase-self-dependency.svg
840 * svg/animation/SVGSMILElement.cpp:
841 (WebCore::SVGSMILElement::createInstanceTimesFromSyncbase):
844 2014-01-21 Tim Horton <timothy_horton@apple.com>
846 Address late review naming comments after r162453.
848 * WebCore.xcodeproj/project.pbxproj:
849 * platform/graphics/ca/mac/PlatformCALayerMac.mm:
850 * platform/graphics/mac/CALayerWebAdditions.h: Removed.
851 * platform/graphics/mac/CALayerWebAdditions.mm: Removed.
852 * platform/graphics/mac/WebCoreCALayerExtras.h: Added.
853 * platform/graphics/mac/WebCoreCALayerExtras.mm: Added.
854 (-[CALayer web_disableAllActions]):
856 2014-01-21 Tim Horton <timothy_horton@apple.com>
858 Keep CALayer implicit animation disabling code in a single place
859 https://bugs.webkit.org/show_bug.cgi?id=127355
861 Reviewed by Simon Fraser.
863 * WebCore.xcodeproj/project.pbxproj:
864 Add CALayerWebAdditions.{h,mm}.
866 * platform/graphics/ca/mac/PlatformCALayerMac.mm:
867 (PlatformCALayerMac::commonInit):
868 Remove nullActionsDictionary() and use [CALayer(WebAdditions) web_disableAllActions] instead.
870 * platform/graphics/mac/CALayerWebAdditions.h: Added.
871 * platform/graphics/mac/CALayerWebAdditions.mm: Added.
872 (-[CALayer web_disableAllActions]):
873 Added. Disable all implicit actions on the layer.
875 2014-01-21 Gavin Barraclough <barraclough@apple.com>
877 Change Page, FocusController to use ViewState
878 https://bugs.webkit.org/show_bug.cgi?id=126533
880 Reviewed by Tim Horton.
882 These classes currently maintain a set of separate fields to represent the view state;
883 combine these into a single field, and allow WebPage to send the combined update rather
884 than individual changes.
886 Maintain existing interface for WebKit1 clients.
889 - Added WebCore::setViewState, removed WebCore::setIsVisuallyIdle.
890 * page/FocusController.cpp:
891 (WebCore::FocusController::FocusController):
892 - Initialize combined m_viewState.
893 (WebCore::FocusController::setFocused):
894 - Calls setViewState.
895 (WebCore::FocusController::setFocusedInternal):
896 - setFocused -> setFocusedInternal.
897 (WebCore::FocusController::setViewState):
898 - Added, update all ViewState flags.
899 (WebCore::FocusController::setActive):
900 - Calls setViewState.
901 (WebCore::FocusController::setActiveInternal):
902 - setActive -> setActiveInternal.
903 (WebCore::FocusController::setContentIsVisible):
904 - Calls setViewState.
905 (WebCore::FocusController::setContentIsVisibleInternal):
906 - setContentIsVisible -> setContentIsVisibleInternal.
907 * page/FocusController.h:
908 (WebCore::FocusController::isActive):
909 (WebCore::FocusController::isFocused):
910 (WebCore::FocusController::contentIsVisible):
911 - Implemented in terms of ViewState.
913 (WebCore::Page::Page):
914 - Initialize using PageInitialViewState.
915 (WebCore::Page::setIsInWindow):
916 - Calls setViewState.
917 (WebCore::Page::setIsInWindowInternal):
918 - setIsInWindow -> setIsInWindowInternal.
919 (WebCore::Page::setIsVisuallyIdleInternal):
920 - setIsVisuallyIdle -> setIsVisuallyIdleInternal.
921 (WebCore::Page::setViewState):
922 - Added, update all ViewState flags, including FocusController.
923 (WebCore::Page::setIsVisible):
924 - Calls setViewState.
925 (WebCore::Page::setIsVisibleInternal):
926 - setIsVisible -> setIsVisibleInternal.
927 (WebCore::Page::visibilityState):
928 - m_isVisible -> isVisible()
929 (WebCore::Page::hiddenPageCSSAnimationSuspensionStateChanged):
930 - m_isVisible -> isVisible()
932 (WebCore::Page::isVisible):
933 (WebCore::Page::isInWindow):
934 - Implemented in terms of ViewState.
935 (WebCore::Page::scriptedAnimationsSuspended):
936 - Combined member fields into ViewState::Flags.
938 2014-01-21 Lauro Neto <lauro.neto@openbossa.org>
940 Remove PLATFORM(NIX) from WebCore
941 https://bugs.webkit.org/show_bug.cgi?id=127299
943 Reviewed by Anders Carlsson.
945 * editing/Editor.cpp:
946 (WebCore::Editor::cut):
947 (WebCore::Editor::copy):
948 (WebCore::Editor::copyImage):
950 * html/HTMLCanvasElement.h:
951 * loader/EmptyClients.h:
952 * loader/FrameLoader.cpp:
953 (WebCore::FrameLoader::defaultObjectContentType):
954 * page/ChromeClient.h:
955 * page/DragController.cpp:
956 (WebCore::DragController::startDrag):
958 * platform/DragData.h:
959 * platform/DragImage.h:
960 * platform/FileSystem.h:
961 * platform/LocalizedStrings.h:
963 * platform/audio/FFTFrame.h:
964 * platform/audio/HRTFElevation.cpp:
965 * platform/cairo/WidgetBackingStore.h:
966 * platform/graphics/ANGLEWebKitBridge.h:
967 * platform/graphics/FontPlatformData.h:
968 * platform/graphics/GLContext.cpp:
969 (WebCore::GLContext::createContextForWindow):
970 * platform/graphics/GLContext.h:
971 * platform/graphics/GraphicsContext3D.h:
972 * platform/graphics/GraphicsContext3DPrivate.cpp:
973 (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
974 * platform/graphics/OpenGLESShims.h:
975 * platform/graphics/OpenGLShims.cpp:
976 (WebCore::getProcAddress):
977 * platform/graphics/OpenGLShims.h:
978 * platform/graphics/PlatformLayer.h:
979 * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
980 * platform/graphics/opengl/Extensions3DOpenGL.cpp:
981 (WebCore::Extensions3DOpenGL::createVertexArrayOES):
982 (WebCore::Extensions3DOpenGL::deleteVertexArrayOES):
983 (WebCore::Extensions3DOpenGL::isVertexArrayOES):
984 (WebCore::Extensions3DOpenGL::bindVertexArrayOES):
985 (WebCore::Extensions3DOpenGL::supportsExtension):
986 * platform/graphics/opengl/Extensions3DOpenGL.h:
987 * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
988 * platform/graphics/opengl/Extensions3DOpenGLES.h:
989 * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
990 * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
991 (WebCore::GraphicsContext3D::reshape):
992 * platform/graphics/opengl/TemporaryOpenGLSetting.cpp:
993 * platform/graphics/texmap/TextureMapper.h:
994 * platform/network/ResourceHandle.h:
995 * plugins/PluginPackage.cpp:
996 * plugins/PluginView.cpp:
997 (WebCore::PluginView::PluginView):
998 * plugins/PluginView.h:
999 * plugins/PluginViewNone.cpp:
1000 * rendering/SimpleLineLayout.cpp:
1001 (WebCore::SimpleLineLayout::canUseFor):
1003 2014-01-21 Eric Carlson <eric.carlson@apple.com>
1005 Add ‎ ‏ and to WebVTT parser
1006 https://bugs.webkit.org/show_bug.cgi?id=85112
1008 Reviewed by Jer Noble.
1010 No new tests, track-webvtt-tc022-entities.html was updated to test this.
1012 * html/track/WebVTTTokenizer.cpp:
1013 (WebCore::WebVTTTokenizer::nextToken): Support RLM, LRM, and NBSP entities.
1015 2014-01-21 Commit Queue <commit-queue@webkit.org>
1017 Unreviewed, rolling out r162354.
1018 http://trac.webkit.org/changeset/162354
1019 https://bugs.webkit.org/show_bug.cgi?id=127354
1021 Appears to have broken accessibility in a non-trivial way
1022 (Requested by ap on #webkit).
1024 * platform/ScrollView.cpp:
1025 (WebCore::ScrollView::updateScrollbars):
1027 2014-01-21 Commit Queue <commit-queue@webkit.org>
1029 Unreviewed, rolling out r162445.
1030 http://trac.webkit.org/changeset/162445
1031 https://bugs.webkit.org/show_bug.cgi?id=127351
1033 It broke the 32 bit GTK build (Requested by Ossy on #webkit).
1035 * rendering/style/StyleRareInheritedData.cpp:
1037 2014-01-21 László Langó <llango.u-szeged@partner.samsung.com>
1039 Wrong struct size when CSS_IMAGE_ORIENTATION and CSS3_TEXT_DECORATION are enabled.
1040 https://bugs.webkit.org/show_bug.cgi?id=127346
1044 Reviewed by Csaba Osztrogonác.
1046 * rendering/style/StyleRareInheritedData.cpp:
1048 2014-01-21 Antti Koivisto <antti@apple.com>
1050 Delay initial layer flush during loading on all platforms
1051 https://bugs.webkit.org/show_bug.cgi?id=127347
1053 Reviewed by Andreas Kling.
1055 To reduce unnecessary repaints enable the same behaviour as iOS already has.
1057 * rendering/RenderLayerCompositor.cpp:
1058 (WebCore::RenderLayerCompositor::RenderLayerCompositor):
1060 Set the initial state of m_layerFlushThrottlingEnabled correctly.
1062 (WebCore::RenderLayerCompositor::scheduleLayerFlush):
1063 (WebCore::RenderLayerCompositor::startInitialLayerFlushTimerIfNeeded):
1064 * rendering/RenderLayerCompositor.h:
1066 Enable initial layer flush delay on all platforms.
1068 2014-01-21 Mihai Tica <mitica@adobe.com>
1070 If you set a tiled cross-faded-image or a tiled gradient as
1071 a background layer, -webkit-background-blend-mode doesn't work.
1072 The problem consists in the blendMode parameter not being set
1073 for these specific drawing paths.
1075 https://bugs.webkit.org/show_bug.cgi?id=126888
1076 Reviewed by Dirk Schulze.
1078 Test: css3/compositing/background-blend-mode-tiled-layers.html
1080 * platform/graphics/CrossfadeGeneratedImage.cpp:
1081 (WebCore::CrossfadeGeneratedImage::drawPattern): Add the blendMode parameter and pass it to ImageBuffer::drawPattern.
1082 * platform/graphics/GradientImage.cpp:
1083 (WebCore::GradientImage::drawPattern): Add the blendMode parameter and pass it to ImageBuffer::drawPattern.
1084 * platform/graphics/ImageBuffer.h: Add a BlendMode parameter to the drawPattern method.
1085 * platform/graphics/cairo/ImageBufferCairo.cpp:
1086 (WebCore::ImageBuffer::drawPattern): Add the default BlendMode parameter to the method declaration.
1087 * platform/graphics/cg/ImageBufferCG.cpp:
1088 (WebCore::ImageBuffer::drawPattern): Add and use the blendMode parameter for all the code paths.
1089 * platform/graphics/wince/ImageBufferWinCE.cpp:
1090 (WebCore::BufferedImage::drawPattern): Add the default BlendMode parameter to the method declaration.
1092 2014-01-21 Gurpreet Kaur <k.gurpreet@samsung.com>
1094 The WebCore.vcxproj.filters doesnot apply
1095 https://bugs.webkit.org/show_bug.cgi?id=127338
1097 Reviewed by Csaba Osztrogonác.
1099 * WebCore.vcxproj/WebCore.vcxproj.filters:
1100 Modified the WebCore.vcxproj.filters so that it is applied when loading
1101 WebCore.vcxproj file.
1103 2014-01-21 Peter Molnar <pmolnar.u-szeged@partner.samsung.com>
1105 Fix SVG animations which set rx or ry attributes
1106 https://bugs.webkit.org/show_bug.cgi?id=127337
1108 Reviewed by Dirk Schulze.
1110 Test: svg/stroke/animated-non-scaling-rxry.html
1112 Merged from Blink: https://src.chromium.org/viewvc/blink?revision=152376&view=revision
1114 * rendering/svg/RenderSVGRect.cpp:
1115 (WebCore::RenderSVGRect::updateShapeFromElement):
1116 * rendering/svg/SVGPathData.cpp:
1117 (WebCore::updatePathFromRectElement):
1119 2014-01-21 Krzysztof Czech <k.czech@samsung.com>
1121 [ATK] Expose aria-flowto through ATK_RELATION_FLOWS_TO
1122 https://bugs.webkit.org/show_bug.cgi?id=127291
1124 Reviewed by Mario Sanchez Prada.
1126 Test: accessibility/aria-flowto.html
1128 Expose aria-flowto through ATK_RELATION_FLOWS_TO according to
1129 http://www.w3.org/TR/wai-aria-implementation/#mapping_state-property
1131 * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
1132 (setAtkRelationSetFromCoreObject):
1134 2014-01-20 Ryuan Choi <ryuan.choi@samsung.com>
1136 [CMAKE] Remove Nix from CMake scripts
1137 https://bugs.webkit.org/show_bug.cgi?id=127264
1139 Reviewed by Anders Carlsson.
1143 2014-01-20 Anders Carlsson <andersca@apple.com>
1145 Remove an unused PageGroup function
1146 https://bugs.webkit.org/show_bug.cgi?id=127327
1148 Reviewed by Andreas Kling.
1151 * page/PageGroup.cpp:
1154 2014-01-20 Anders Carlsson <andersca@apple.com>
1156 Move user style sheet handling to UserContentController
1157 https://bugs.webkit.org/show_bug.cgi?id=127322
1158 <rdar://problem/15861296>
1160 Reviewed by Andreas Kling.
1162 * dom/DocumentStyleSheetCollection.cpp:
1163 (WebCore::DocumentStyleSheetCollection::updateInjectedStyleSheetCache):
1164 * page/PageGroup.cpp:
1165 (WebCore::PageGroup::addUserStyleSheetToWorld):
1166 (WebCore::PageGroup::removeUserStyleSheetFromWorld):
1167 (WebCore::PageGroup::removeUserStyleSheetsFromWorld):
1168 (WebCore::PageGroup::removeAllUserContent):
1170 * page/UserContentController.cpp:
1171 (WebCore::UserContentController::addUserStyleSheet):
1172 (WebCore::UserContentController::removeUserStyleSheet):
1173 (WebCore::UserContentController::removeUserStyleSheets):
1174 (WebCore::UserContentController::removeAllUserContent):
1175 (WebCore::UserContentController::invalidateInjectedStyleSheetCacheInAllFrames):
1176 * page/UserContentController.h:
1177 (WebCore::UserContentController::userStyleSheets):
1179 2014-01-20 Benjamin Poulain <benjamin@webkit.org>
1181 Add a nicer way to iterate over all the attributes of an element
1182 https://bugs.webkit.org/show_bug.cgi?id=127266
1184 Reviewed by Geoffrey Garen.
1186 When using Element::attributeAt() in a loop, the compiler had to generate two kinds of
1188 -If the element data is unique, the length and data comes from the attribute Vector.
1189 -If the element data is shared, the data comes from the tail of elementData itself.
1191 The choice was done for every access, which caused the assembly to be a little
1193 This patch unify the data access by doing everything as a array pointer with offset (getting
1194 that data from Vector when necessary).
1196 To make it easier to do the right thing, a new iterator was added so that range-based loops
1197 can replace all the faulty cases.
1199 * css/SelectorChecker.cpp:
1200 (WebCore::anyAttributeMatches):
1201 * css/SelectorChecker.h:
1202 (WebCore::SelectorChecker::checkExactAttribute):
1203 * dom/DatasetDOMStringMap.cpp:
1204 (WebCore::DatasetDOMStringMap::getNames):
1205 (WebCore::DatasetDOMStringMap::item):
1206 (WebCore::DatasetDOMStringMap::contains):
1208 (WebCore::Element::normalizeAttributes):
1209 (WebCore::Element::detachAllAttrNodesFromElement):
1210 (WebCore::Element::cloneAttributesFromElement):
1212 (WebCore::Element::attributesIterator):
1213 * dom/ElementData.cpp:
1214 (WebCore::ElementData::isEquivalent):
1215 (WebCore::ElementData::findAttributeIndexByNameSlowCase):
1216 * dom/ElementData.h:
1217 (WebCore::AttributeConstIterator::AttributeConstIterator):
1218 (WebCore::AttributeConstIterator::operator*):
1219 (WebCore::AttributeConstIterator::operator->):
1220 (WebCore::AttributeConstIterator::operator++):
1221 (WebCore::AttributeConstIterator::operator==):
1222 (WebCore::AttributeConstIterator::operator!=):
1223 (WebCore::AttributeIteratorAccessor::AttributeIteratorAccessor):
1224 (WebCore::AttributeIteratorAccessor::begin):
1225 (WebCore::AttributeIteratorAccessor::end):
1226 (WebCore::ElementData::attributesIterator):
1228 (WebCore::Node::isDefaultNamespace):
1229 (WebCore::Node::lookupNamespaceURI):
1230 (WebCore::Node::lookupNamespacePrefix):
1231 (WebCore::Node::compareDocumentPosition):
1232 * dom/StyledElement.cpp:
1233 (WebCore::StyledElement::makePresentationAttributeCacheKey):
1234 (WebCore::StyledElement::rebuildPresentationAttributeStyle):
1235 * editing/MarkupAccumulator.cpp:
1236 (WebCore::MarkupAccumulator::appendElement):
1237 * editing/markup.cpp:
1238 (WebCore::completeURLs):
1239 (WebCore::StyledMarkupAccumulator::appendElement):
1240 * html/HTMLEmbedElement.cpp:
1241 (WebCore::HTMLEmbedElement::parametersForPlugin):
1242 * html/HTMLObjectElement.cpp:
1243 (WebCore::HTMLObjectElement::parametersForPlugin):
1244 * inspector/DOMPatchSupport.cpp:
1245 (WebCore::DOMPatchSupport::innerPatchNode):
1246 (WebCore::DOMPatchSupport::createDigest):
1247 * inspector/InspectorDOMAgent.cpp:
1248 (WebCore::InspectorDOMAgent::setAttributesAsText):
1249 (WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
1250 * inspector/InspectorNodeFinder.cpp:
1251 (WebCore::InspectorNodeFinder::matchesElement):
1252 * page/PageSerializer.cpp:
1253 (WebCore::isCharsetSpecifyingNode):
1254 * xml/XPathNodeSet.cpp:
1255 (WebCore::XPath::NodeSet::traversalSort):
1256 * xml/XPathStep.cpp:
1257 (WebCore::XPath::Step::nodesInAxis):
1258 * xml/parser/XMLDocumentParserLibxml2.cpp:
1259 (WebCore::XMLDocumentParser::XMLDocumentParser):
1261 2014-01-20 Gyuyoung Kim <gyuyoung.kim@samsung.com>
1263 Do refactor in collectGradientAttributes() and renderStyleForLengthResolve()
1264 https://bugs.webkit.org/show_bug.cgi?id=126869
1266 Reviewed by Dirk Schulze.
1268 Some SVG functions have done a first iteration by using a boolean flag. This is
1269 one of poor implementations. This patch fix it by extracting a logic into a new method.
1270 Additionally it would be good to use do-while() loop instead of using while() in
1271 renderStyleForLengthResolving() because a first condition is always true.
1273 Merge r165358 from blink.
1275 * svg/SVGLengthContext.cpp:
1276 (WebCore::renderStyleForLengthResolving):
1277 * svg/SVGLinearGradientElement.cpp:
1278 (WebCore::setGradientAttributes):
1279 (WebCore::SVGLinearGradientElement::collectGradientAttributes):
1280 * svg/SVGRadialGradientElement.cpp:
1281 (WebCore::setGradientAttributes):
1282 (WebCore::SVGRadialGradientElement::collectGradientAttributes):
1284 2014-01-20 Anders Carlsson <andersca@apple.com>
1286 UserContentController should keep track of user scripts
1287 https://bugs.webkit.org/show_bug.cgi?id=127317
1288 <rdar://problem/15861296>
1290 Reviewed by Andreas Kling.
1292 Move handling of user scripts from PageGroup to UserContentController.
1295 (WebCore::Frame::injectUserScripts):
1296 * page/PageGroup.cpp:
1297 (WebCore::PageGroup::addUserScriptToWorld):
1298 (WebCore::PageGroup::removeUserScriptFromWorld):
1299 (WebCore::PageGroup::removeUserScriptsFromWorld):
1300 (WebCore::PageGroup::removeAllUserContent):
1302 * page/UserContentController.cpp:
1303 (WebCore::UserContentController::addUserScript):
1304 (WebCore::UserContentController::removeUserScript):
1305 (WebCore::UserContentController::removeUserScripts):
1306 (WebCore::UserContentController::removeAllUserContent):
1307 * page/UserContentController.h:
1308 (WebCore::UserContentController::userScripts):
1310 2014-01-20 Anders Carlsson <andersca@apple.com>
1312 Give each page a UserContentController
1313 https://bugs.webkit.org/show_bug.cgi?id=127315
1314 <rdar://problem/15861296>
1316 Reviewed by Andreas Kling.
1318 Add a UserContentController object to PageGroup and have the page group set it on any
1319 pages that are added to the page group.
1321 This is another step towards moving handling of user content away from PageGroup and make it
1322 possible for each page to have different user content.
1325 (WebCore::Page::~Page):
1326 (WebCore::Page::setUserContentController):
1328 (WebCore::Page::userContentController):
1329 * page/PageGroup.cpp:
1330 (WebCore::PageGroup::PageGroup):
1331 (WebCore::PageGroup::addPage):
1332 (WebCore::PageGroup::removePage):
1334 * page/UserContentController.cpp:
1335 (WebCore::UserContentController::addPage):
1336 (WebCore::UserContentController::removePage):
1337 * page/UserContentController.h:
1339 2014-01-20 Jeremy Jones <jeremyj@apple.com>
1341 Add AVKit fullscreen video interface.
1342 https://bugs.webkit.org/show_bug.cgi?id=126818
1344 Reviewed by Eric Carlson.
1346 No new tests, no observable change in functionality.
1349 * WebCore.xcodeproj/project.pbxproj:
1350 * html/HTMLMediaElement.cpp:
1351 (WebCore::HTMLMediaElement::parseAttribute):
1352 * html/HTMLMediaElement.h:
1353 Add ability for fullscreen to borrow the AVPlayerLayer.
1354 * page/Settings.cpp:
1356 (WebCore::Settings::setMediaPlaybackFullscreenAVKit):
1357 (WebCore::Settings::mediaPlaybackFullscreenAVKit):
1358 Add a disabled setting.
1359 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
1360 (WebCore::MediaPlayerPrivateAVFoundation::supportsFullscreen):
1361 Enabled fullscreen for iOS.
1362 * platform/ios/WebVideoFullscreenControllerAVKit.h: Added.
1363 * platform/ios/WebVideoFullscreenControllerAVKit.mm: Added.
1364 (-[WebAVPlayerController init]):
1365 (-[WebAVPlayerController dealloc]):
1366 (-[WebAVPlayerController forwardingTargetForSelector:]):
1367 (-[WebAVPlayerController shouldDismissForDone]):
1368 (-[WebAVPlayerController play:]):
1369 (-[WebAVPlayerController pause:]):
1370 (-[WebAVPlayerController togglePlayback:]):
1371 (-[WebAVPlayerController isPlaying]):
1372 (-[WebAVPlayerController setPlaying:]):
1373 (+[WebAVPlayerController keyPathsForValuesAffectingPlaying]):
1374 (-[WebAVPlayerController seekToTime:]):
1375 (-[WebAVPlayerController updateTimingWithCurrentTime:]):
1376 (-[WebAVPlayerController effectiveRate]):
1377 (-[WebAVPlayerController setMediaElement:]):
1378 (-[WebAVPlayerController handleEvent:]):
1379 (-[WebVideoFullscreenController init]):
1380 (-[WebVideoFullscreenController dealloc]):
1381 (-[WebVideoFullscreenController setMediaElement:]):
1382 (-[WebVideoFullscreenController mediaElement]):
1383 (-[WebVideoFullscreenController enterFullscreen:]):
1384 (-[WebVideoFullscreenController exitFullscreen]):
1385 Add WebAVPlayerController for HTMLMediaElememt to interface with AVPlayerViewController.
1387 2014-01-20 Zan Dobersek <zdobersek@igalia.com>
1389 Replace uses of std::forward<T>(), std::unique_ptr<T>::clear() that landed in r162368
1390 https://bugs.webkit.org/show_bug.cgi?id=127306
1392 Reviewed by Darin Adler.
1394 Address the post-landing reviews of the r162368 commit that moved WebAudio source code to using std::unique_ptr.
1395 std::move() should be used instead of std::forward<T>() in HRTFKernel::create().
1396 Instead of calling std::unique_ptr<T>::reset(), nullptr should be assigned to that smart pointer to reset it.
1398 * Modules/webaudio/ConvolverNode.cpp:
1399 (WebCore::ConvolverNode::uninitialize):
1400 * Modules/webaudio/DynamicsCompressorNode.cpp:
1401 (WebCore::DynamicsCompressorNode::uninitialize):
1402 * Modules/webaudio/MediaElementAudioSourceNode.cpp:
1403 (WebCore::MediaElementAudioSourceNode::setFormat):
1404 * Modules/webaudio/PannerNode.cpp:
1405 (WebCore::PannerNode::uninitialize):
1406 * platform/audio/AudioChannel.h:
1407 (WebCore::AudioChannel::set):
1408 * platform/audio/HRTFDatabaseLoader.cpp:
1409 (WebCore::HRTFDatabaseLoader::~HRTFDatabaseLoader):
1410 * platform/audio/HRTFKernel.h:
1411 (WebCore::HRTFKernel::create):
1413 2014-01-20 Joseph Pecoraro <pecoraro@apple.com>
1415 Modernize WebCore/inspector with nullptr
1416 https://bugs.webkit.org/show_bug.cgi?id=127303
1418 Reviewed by Anders Carlsson.
1420 Ran clang-modernize -use-nullptr over WebCore/inspector.
1422 * inspector/ConsoleMessage.cpp:
1423 (WebCore::ConsoleMessage::ConsoleMessage):
1424 * inspector/ConsoleMessage.h:
1425 * inspector/ContentSearchUtils.cpp:
1426 (WebCore::ContentSearchUtils::findMagicComment):
1427 * inspector/DOMEditor.cpp:
1428 (WebCore::DOMEditor::SetOuterHTMLAction::SetOuterHTMLAction):
1429 * inspector/DOMPatchSupport.cpp:
1430 (WebCore::DOMPatchSupport::patchDocument):
1431 (WebCore::DOMPatchSupport::patchNode):
1432 (WebCore::DOMPatchSupport::diff):
1433 (WebCore::DOMPatchSupport::innerPatchChildren):
1434 * inspector/InspectorApplicationCacheAgent.cpp:
1435 (WebCore::InspectorApplicationCacheAgent::willDestroyFrontendAndBackend):
1436 (WebCore::InspectorApplicationCacheAgent::assertFrameWithDocumentLoader):
1437 * inspector/InspectorCanvasAgent.cpp:
1438 (WebCore::InspectorCanvasAgent::disable):
1439 (WebCore::InspectorCanvasAgent::notifyRenderingContextWasWrapped):
1440 (WebCore::InspectorCanvasAgent::frameNavigated):
1441 * inspector/InspectorConsoleAgent.cpp:
1442 (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
1443 (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
1444 (WebCore::InspectorConsoleAgent::clearMessages):
1445 (WebCore::InspectorConsoleAgent::didFinishXHRLoading):
1446 (WebCore::InspectorConsoleAgent::didReceiveResponse):
1447 (WebCore::InspectorConsoleAgent::didFailLoading):
1448 * inspector/InspectorConsoleAgent.h:
1449 * inspector/InspectorController.cpp:
1450 (WebCore::InspectorController::inspectedPageDestroyed):
1451 * inspector/InspectorDOMDebuggerAgent.cpp:
1452 (WebCore::InspectorDOMDebuggerAgent::disable):
1453 (WebCore::InspectorDOMDebuggerAgent::discardAgent):
1454 * inspector/InspectorDOMStorageAgent.cpp:
1455 (WebCore::InspectorDOMStorageAgent::~InspectorDOMStorageAgent):
1456 (WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
1457 (WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
1458 (WebCore::InspectorDOMStorageAgent::findStorageArea):
1459 * inspector/InspectorDatabaseAgent.cpp:
1460 (WebCore::InspectorDatabaseAgent::~InspectorDatabaseAgent):
1461 (WebCore::InspectorDatabaseAgent::findByFileName):
1462 (WebCore::InspectorDatabaseAgent::databaseForId):
1463 * inspector/InspectorDebuggerAgent.cpp:
1464 (WebCore::InspectorDebuggerAgent::addMessageToConsole):
1465 (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
1466 (WebCore::InspectorDebuggerAgent::didParseSource):
1467 (WebCore::InspectorDebuggerAgent::didContinue):
1468 (WebCore::InspectorDebuggerAgent::clearBreakDetails):
1469 * inspector/InspectorFrontendHost.cpp:
1470 (WebCore::FrontendMenuProvider::disconnect):
1471 (WebCore::InspectorFrontendHost::InspectorFrontendHost):
1472 (WebCore::InspectorFrontendHost::disconnectClient):
1473 * inspector/InspectorHeapProfilerAgent.cpp:
1474 (WebCore::InspectorHeapProfilerAgent::~InspectorHeapProfilerAgent):
1475 * inspector/InspectorIndexedDBAgent.cpp:
1476 (WebCore::assertDocument):
1477 (WebCore::assertIDBFactory):
1478 (WebCore::InspectorIndexedDBAgent::requestData):
1479 * inspector/InspectorInstrumentation.cpp:
1480 (WebCore::frameForScriptExecutionContext):
1481 (WebCore::InspectorInstrumentation::willDispatchEventOnWindowImpl):
1482 (WebCore::InspectorInstrumentation::didReceiveResourceResponseButCanceledImpl):
1483 (WebCore::InspectorInstrumentation::consoleAgentEnabled):
1484 (WebCore::InspectorInstrumentation::unregisterInstrumentingAgents):
1485 (WebCore::InspectorInstrumentation::retrieveTimelineAgent):
1486 (WebCore::InspectorInstrumentation::instrumentingAgentsForPage):
1487 (WebCore::InspectorInstrumentation::instrumentingAgentsForWorkerGlobalScope):
1488 (WebCore::InspectorInstrumentation::instrumentingAgentsForNonDocumentContext):
1489 * inspector/InspectorInstrumentation.h:
1490 (WebCore::InspectorInstrumentation::instrumentingAgentsForContext):
1491 (WebCore::InspectorInstrumentation::instrumentingAgentsForFrame):
1492 (WebCore::InspectorInstrumentation::instrumentingAgentsForDocument):
1493 * inspector/InspectorLayerTreeAgent.cpp:
1494 (WebCore::InspectorLayerTreeAgent::disable):
1495 * inspector/InspectorNodeFinder.cpp:
1496 (WebCore::InspectorNodeFinder::searchUsingXPath):
1497 * inspector/InspectorOverlay.cpp:
1498 (WebCore::buildObjectForElementInfo):
1499 * inspector/InspectorPageAgent.cpp:
1500 (WebCore::InspectorPageAgent::cachedResourceContent):
1501 (WebCore::InspectorPageAgent::sharedBufferContent):
1502 (WebCore::InspectorPageAgent::disable):
1503 (WebCore::InspectorPageAgent::frameForId):
1504 (WebCore::InspectorPageAgent::findFrameWithSecurityOrigin):
1505 * inspector/InspectorProfilerAgent.cpp:
1506 (WebCore::InspectorProfilerAgent::~InspectorProfilerAgent):
1507 * inspector/InspectorProfilerAgent.h:
1508 * inspector/InspectorResourceAgent.cpp:
1509 (WebCore::buildObjectForResourceResponse):
1510 (WebCore::InspectorResourceAgent::willSendRequest):
1511 (WebCore::InspectorResourceAgent::didReceiveResponse):
1512 (WebCore::InspectorResourceAgent::didFinishLoading):
1513 (WebCore::InspectorResourceAgent::didFailLoading):
1514 (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
1515 (WebCore::InspectorResourceAgent::disable):
1516 * inspector/InspectorRuntimeAgent.cpp:
1517 (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
1518 * inspector/InspectorStyleSheet.cpp:
1519 (ParsedStyleSheet::ruleSourceDataAt):
1520 (WebCore::buildSourceRangeObject):
1521 (WebCore::asCSSRuleList):
1522 (WebCore::fillMediaListChain):
1523 (WebCore::InspectorStyle::setPropertyText):
1524 (WebCore::InspectorStyle::populateAllProperties):
1525 (WebCore::InspectorStyle::extractSourceData):
1526 (WebCore::InspectorStyle::newLineAndWhitespaceDelimiters):
1527 (WebCore::InspectorStyleSheet::addRule):
1528 (WebCore::InspectorStyleSheet::ruleForId):
1529 (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
1530 (WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo):
1531 (WebCore::InspectorStyleSheet::buildObjectForRule):
1532 (WebCore::InspectorStyleSheet::styleForId):
1533 (WebCore::InspectorStyleSheet::inspectorStyleForId):
1534 (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
1535 * inspector/InspectorStyleSheet.h:
1536 (WebCore::InspectorCSSId::asProtocolValue):
1537 * inspector/InspectorTimelineAgent.cpp:
1538 (WebCore::InspectorTimelineAgent::stop):
1539 (WebCore::InspectorTimelineAgent::willComposite):
1540 (WebCore::InspectorTimelineAgent::page):
1541 * inspector/InspectorWorkerAgent.cpp:
1542 (WebCore::InspectorWorkerAgent::~InspectorWorkerAgent):
1543 * inspector/InstrumentingAgents.cpp:
1544 (WebCore::InstrumentingAgents::InstrumentingAgents):
1545 (WebCore::InstrumentingAgents::reset):
1546 * inspector/NetworkResourcesData.cpp:
1547 (WebCore::NetworkResourcesData::ResourceData::ResourceData):
1548 (WebCore::NetworkResourcesData::xhrReplayData):
1549 (WebCore::NetworkResourcesData::removeCachedResource):
1550 (WebCore::NetworkResourcesData::resourceDataForRequestId):
1551 * inspector/PageConsoleAgent.cpp:
1552 (WebCore::PageConsoleAgent::~PageConsoleAgent):
1553 * inspector/PageDebuggerAgent.cpp:
1554 (WebCore::PageDebuggerAgent::disable):
1555 * inspector/PageRuntimeAgent.cpp:
1556 (WebCore::PageRuntimeAgent::~PageRuntimeAgent):
1557 (WebCore::PageRuntimeAgent::didCreateMainWorldContext):
1558 (WebCore::PageRuntimeAgent::reportExecutionContextCreation):
1559 * inspector/ScriptArguments.cpp:
1560 (WebCore::ScriptArguments::globalState):
1561 * inspector/WorkerRuntimeAgent.cpp:
1562 (WebCore::WorkerRuntimeAgent::~WorkerRuntimeAgent):
1564 2014-01-20 Anders Carlsson <andersca@apple.com>
1566 Add empty UserContentController class
1567 https://bugs.webkit.org/show_bug.cgi?id=127300
1568 <rdar://problem/15861296>
1570 Reviewed by Dan Bernstein.
1572 This is the first step towards moving handling of user scripts and style sheets from
1573 the page group to a separate objects and ultimately make them be settable per page instead of per page group.
1576 * GNUmakefile.list.am:
1577 * WebCore.vcxproj/WebCore.vcxproj:
1578 * WebCore.vcxproj/WebCore.vcxproj.filters:
1579 * WebCore.xcodeproj/project.pbxproj:
1580 * page/UserContentController.cpp: Added.
1581 (WebCore::UserContentController::create):
1582 (WebCore::UserContentController::UserContentController):
1583 (WebCore::UserContentController::~UserContentController):
1584 * page/UserContentController.h: Added.
1586 2014-01-20 Joseph Pecoraro <pecoraro@apple.com>
1588 Run clang-modernize and let it add a bunch of missing overrides in WebCore/inspector
1589 https://bugs.webkit.org/show_bug.cgi?id=127206
1591 Reviewed by Anders Carlsson.
1593 Let clang-modernize add overrides.
1595 * inspector/DOMEditor.cpp:
1596 * inspector/InspectorApplicationCacheAgent.h:
1597 * inspector/InspectorCSSAgent.h:
1598 * inspector/InspectorCanvasAgent.h:
1599 * inspector/InspectorConsoleAgent.h:
1600 * inspector/InspectorDOMAgent.h:
1601 * inspector/InspectorDOMDebuggerAgent.h:
1602 * inspector/InspectorDOMStorageAgent.h:
1603 * inspector/InspectorDatabaseAgent.cpp:
1604 * inspector/InspectorDatabaseAgent.h:
1605 * inspector/InspectorDebuggerAgent.h:
1606 * inspector/InspectorFrontendHost.cpp:
1607 * inspector/InspectorHeapProfilerAgent.cpp:
1608 (WebCore::InspectorHeapProfilerAgent::getHeapSnapshot):
1609 (WebCore::InspectorHeapProfilerAgent::takeHeapSnapshot):
1610 * inspector/InspectorHeapProfilerAgent.h:
1611 * inspector/InspectorHistory.cpp:
1612 * inspector/InspectorIndexedDBAgent.cpp:
1613 * inspector/InspectorIndexedDBAgent.h:
1614 * inspector/InspectorInputAgent.h:
1615 * inspector/InspectorLayerTreeAgent.h:
1616 * inspector/InspectorMemoryAgent.h:
1617 * inspector/InspectorPageAgent.h:
1618 * inspector/InspectorProfilerAgent.cpp:
1619 * inspector/InspectorProfilerAgent.h:
1620 * inspector/InspectorResourceAgent.h:
1621 * inspector/InspectorRuntimeAgent.h:
1622 * inspector/InspectorStyleSheet.h:
1623 * inspector/InspectorTimelineAgent.h:
1624 * inspector/InspectorWorkerAgent.cpp:
1625 * inspector/InspectorWorkerAgent.h:
1626 * inspector/PageConsoleAgent.h:
1627 * inspector/PageDebuggerAgent.h:
1628 * inspector/PageRuntimeAgent.h:
1629 * inspector/WorkerConsoleAgent.h:
1630 * inspector/WorkerDebuggerAgent.cpp:
1631 * inspector/WorkerInspectorController.cpp:
1632 * inspector/WorkerRuntimeAgent.h:
1634 2014-01-20 Zan Dobersek <zdobersek@igalia.com>
1636 Move WebAudio source code to std::unique_ptr
1637 https://bugs.webkit.org/show_bug.cgi?id=127274
1639 Reviewed by Eric Carlson.
1641 Move from using OwnPtr and PassOwnPtr to using std::unique_ptr and move semantics
1642 in the WebAudio module and the WebAudio code in the platform layer.
1644 * Modules/webaudio/AsyncAudioDecoder.cpp:
1645 * Modules/webaudio/AsyncAudioDecoder.h:
1646 * Modules/webaudio/AudioBasicInspectorNode.cpp:
1647 (WebCore::AudioBasicInspectorNode::AudioBasicInspectorNode):
1648 * Modules/webaudio/AudioBasicProcessorNode.cpp:
1649 (WebCore::AudioBasicProcessorNode::AudioBasicProcessorNode):
1650 * Modules/webaudio/AudioBasicProcessorNode.h:
1651 * Modules/webaudio/AudioBufferSourceNode.cpp:
1652 (WebCore::AudioBufferSourceNode::AudioBufferSourceNode):
1653 * Modules/webaudio/AudioContext.cpp:
1654 * Modules/webaudio/AudioContext.h:
1655 * Modules/webaudio/AudioDestinationNode.cpp:
1656 (WebCore::AudioDestinationNode::AudioDestinationNode):
1657 * Modules/webaudio/AudioNode.cpp:
1658 (WebCore::AudioNode::addInput):
1659 (WebCore::AudioNode::addOutput):
1660 (WebCore::AudioNode::checkNumberOfChannelsForInput):
1661 * Modules/webaudio/AudioNode.h:
1662 * Modules/webaudio/BiquadFilterNode.cpp:
1663 (WebCore::BiquadFilterNode::BiquadFilterNode):
1664 * Modules/webaudio/BiquadProcessor.cpp:
1665 (WebCore::BiquadProcessor::createKernel):
1666 (WebCore::BiquadProcessor::getFrequencyResponse):
1667 * Modules/webaudio/BiquadProcessor.h:
1668 * Modules/webaudio/ChannelMergerNode.cpp:
1669 (WebCore::ChannelMergerNode::ChannelMergerNode):
1670 * Modules/webaudio/ChannelSplitterNode.cpp:
1671 (WebCore::ChannelSplitterNode::ChannelSplitterNode):
1672 * Modules/webaudio/ConvolverNode.cpp:
1673 (WebCore::ConvolverNode::ConvolverNode):
1674 (WebCore::ConvolverNode::uninitialize):
1675 (WebCore::ConvolverNode::setBuffer):
1676 * Modules/webaudio/ConvolverNode.h:
1677 * Modules/webaudio/DefaultAudioDestinationNode.h:
1678 * Modules/webaudio/DelayNode.cpp:
1679 (WebCore::DelayNode::DelayNode):
1680 * Modules/webaudio/DelayProcessor.cpp:
1681 (WebCore::DelayProcessor::createKernel):
1682 * Modules/webaudio/DelayProcessor.h:
1683 * Modules/webaudio/DynamicsCompressorNode.cpp:
1684 (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
1685 (WebCore::DynamicsCompressorNode::initialize):
1686 (WebCore::DynamicsCompressorNode::uninitialize):
1687 * Modules/webaudio/DynamicsCompressorNode.h:
1688 * Modules/webaudio/GainNode.cpp:
1689 (WebCore::GainNode::GainNode):
1690 * Modules/webaudio/MediaElementAudioSourceNode.cpp:
1691 (WebCore::MediaElementAudioSourceNode::MediaElementAudioSourceNode):
1692 (WebCore::MediaElementAudioSourceNode::setFormat):
1693 * Modules/webaudio/MediaElementAudioSourceNode.h:
1694 * Modules/webaudio/MediaStreamAudioDestinationNode.h:
1695 * Modules/webaudio/MediaStreamAudioSource.cpp:
1696 * Modules/webaudio/MediaStreamAudioSourceNode.cpp:
1697 (WebCore::MediaStreamAudioSourceNode::MediaStreamAudioSourceNode):
1698 * Modules/webaudio/MediaStreamAudioSourceNode.h:
1699 * Modules/webaudio/OscillatorNode.cpp:
1700 (WebCore::OscillatorNode::OscillatorNode):
1701 * Modules/webaudio/PannerNode.cpp:
1702 (WebCore::PannerNode::PannerNode):
1703 (WebCore::PannerNode::uninitialize):
1704 (WebCore::PannerNode::setPanningModel):
1705 * Modules/webaudio/PannerNode.h:
1706 * Modules/webaudio/PeriodicWave.cpp:
1707 (WebCore::PeriodicWave::createBandLimitedTables):
1708 * Modules/webaudio/PeriodicWave.h:
1709 * Modules/webaudio/RealtimeAnalyser.cpp:
1710 (WebCore::RealtimeAnalyser::RealtimeAnalyser):
1711 (WebCore::RealtimeAnalyser::setFftSize):
1712 * Modules/webaudio/RealtimeAnalyser.h:
1713 * Modules/webaudio/ScriptProcessorNode.cpp:
1714 (WebCore::ScriptProcessorNode::ScriptProcessorNode):
1715 * Modules/webaudio/WaveShaperDSPKernel.cpp:
1716 (WebCore::WaveShaperDSPKernel::lazyInitializeOversampling):
1717 * Modules/webaudio/WaveShaperDSPKernel.h:
1718 * Modules/webaudio/WaveShaperNode.cpp:
1719 (WebCore::WaveShaperNode::WaveShaperNode):
1720 * Modules/webaudio/WaveShaperProcessor.cpp:
1721 (WebCore::WaveShaperProcessor::createKernel):
1722 * Modules/webaudio/WaveShaperProcessor.h:
1723 * platform/audio/AudioBus.cpp:
1724 (WebCore::AudioBus::AudioBus):
1725 (WebCore::AudioBus::copyWithGainFrom):
1726 * platform/audio/AudioBus.h:
1727 * platform/audio/AudioChannel.cpp:
1728 * platform/audio/AudioChannel.h:
1729 (WebCore::AudioChannel::AudioChannel):
1730 (WebCore::AudioChannel::set):
1731 * platform/audio/AudioDSPKernelProcessor.h:
1732 * platform/audio/AudioDestination.h:
1733 * platform/audio/AudioResampler.cpp:
1734 (WebCore::AudioResampler::AudioResampler):
1735 (WebCore::AudioResampler::configureChannels):
1736 * platform/audio/AudioResampler.h:
1737 * platform/audio/AudioSession.h:
1738 * platform/audio/DynamicsCompressor.cpp:
1739 (WebCore::DynamicsCompressor::setNumberOfChannels):
1740 * platform/audio/DynamicsCompressor.h:
1741 * platform/audio/DynamicsCompressorKernel.cpp:
1742 (WebCore::DynamicsCompressorKernel::setNumberOfChannels):
1743 * platform/audio/DynamicsCompressorKernel.h:
1744 * platform/audio/FFTFrame.cpp:
1745 (WebCore::FFTFrame::createInterpolatedFrame):
1746 * platform/audio/FFTFrame.h:
1747 * platform/audio/HRTFDatabase.cpp:
1748 (WebCore::HRTFDatabase::HRTFDatabase):
1749 * platform/audio/HRTFDatabase.h:
1750 * platform/audio/HRTFDatabaseLoader.cpp:
1751 (WebCore::HRTFDatabaseLoader::~HRTFDatabaseLoader):
1752 (WebCore::HRTFDatabaseLoader::load):
1753 * platform/audio/HRTFDatabaseLoader.h:
1754 * platform/audio/HRTFElevation.cpp:
1755 (WebCore::HRTFElevation::createForSubject):
1756 (WebCore::HRTFElevation::createByInterpolatingSlices):
1757 * platform/audio/HRTFElevation.h:
1758 (WebCore::HRTFElevation::HRTFElevation):
1759 * platform/audio/HRTFKernel.cpp:
1760 (WebCore::HRTFKernel::HRTFKernel):
1761 (WebCore::HRTFKernel::createImpulseResponse):
1762 (WebCore::HRTFKernel::createInterpolatedKernel):
1763 * platform/audio/HRTFKernel.h:
1764 (WebCore::HRTFKernel::create):
1765 (WebCore::HRTFKernel::HRTFKernel):
1766 * platform/audio/MultiChannelResampler.cpp:
1767 (WebCore::MultiChannelResampler::MultiChannelResampler):
1768 * platform/audio/MultiChannelResampler.h:
1769 * platform/audio/Panner.cpp:
1770 (WebCore::Panner::create):
1771 * platform/audio/Panner.h:
1772 * platform/audio/Reverb.cpp:
1773 (WebCore::Reverb::initialize):
1774 * platform/audio/Reverb.h:
1775 * platform/audio/ReverbConvolver.h:
1776 * platform/audio/ReverbConvolverStage.cpp:
1777 (WebCore::ReverbConvolverStage::ReverbConvolverStage):
1778 * platform/audio/ReverbConvolverStage.h:
1779 * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
1780 (WebCore::AudioDestination::create):
1781 * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
1782 * platform/audio/ios/AudioDestinationIOS.cpp:
1783 (WebCore::AudioDestination::create):
1784 * platform/audio/ios/AudioSessionIOS.mm:
1785 (WebCore::AudioSession::AudioSession):
1786 * platform/audio/mac/AudioDestinationMac.cpp:
1787 (WebCore::AudioDestination::create):
1788 * platform/audio/mac/AudioDestinationMac.h:
1789 * platform/audio/mac/AudioSessionMac.cpp:
1790 (WebCore::AudioSession::AudioSession):
1792 2014-01-20 Morten Stenshorne <mstensho@opera.com>
1794 Region based multicol: support explicit column breaks
1795 https://bugs.webkit.org/show_bug.cgi?id=123993
1797 Reviewed by David Hyatt.
1799 Merely supporting insertion of explicit (forced) column breaks in
1800 the region based multicol implementation is really simple: just
1801 hook up with what the CSS regions code is already doing.
1803 However, there is one complication: column balancing. In order to
1804 balance columns as nicely as possible when there are explicit
1805 breaks, we need to figure out between which explicit breaks the
1806 implicit breaks will occur (if there's room for any at all).
1808 Tests: fast/multicol/newmulticol/break-after.html
1809 fast/multicol/newmulticol/break-before.html
1810 fast/multicol/newmulticol/breaks-2-columns-3-no-balancing.html
1811 fast/multicol/newmulticol/breaks-2-columns-3.html
1812 fast/multicol/newmulticol/breaks-3-columns-3.html
1813 fast/multicol/newmulticol/fixed-height-fill-balance-2.html
1815 * rendering/RenderBlockFlow.cpp:
1816 (WebCore::RenderBlockFlow::applyBeforeBreak):
1817 (WebCore::RenderBlockFlow::applyAfterBreak): Use the already
1818 existing region breaking code when inserting breaks in region
1820 * rendering/RenderFlowThread.h:
1821 * rendering/RenderMultiColumnBlock.cpp:
1822 (WebCore::RenderMultiColumnBlock::RenderMultiColumnBlock):
1823 (WebCore::RenderMultiColumnBlock::relayoutForPagination): Avoid
1824 re-balancing if the multicol's contents were not laid out. Apart
1825 from being good for performance, this is now necessary because of
1826 how explicit breaks are implemented.
1827 (WebCore::RenderMultiColumnBlock::layoutSpecialExcludedChild):
1828 Detect if the contents are going to be laid out, or skipped, so
1829 that we can tell if we need to (re-)balance the columns
1831 * rendering/RenderMultiColumnBlock.h:
1832 * rendering/RenderMultiColumnFlowThread.cpp:
1833 (WebCore::RenderMultiColumnFlowThread::addForcedRegionBreak):
1834 Locate the appropriate multi-column set and call its
1836 * rendering/RenderMultiColumnFlowThread.h:
1837 * rendering/RenderMultiColumnSet.cpp:
1838 (WebCore::RenderMultiColumnSet::RenderMultiColumnSet):
1839 (WebCore::RenderMultiColumnSet::findRunWithTallestColumns):
1840 (WebCore::RenderMultiColumnSet::distributeImplicitBreaks): Figure
1841 out how many implicit breaks each single "content run" should
1842 contain. The taller the content run, the more implicit breaks.
1843 (WebCore::RenderMultiColumnSet::calculateBalancedHeight): This is
1844 now a const method that only does half of what the old
1845 calculateBalancedHeight() did. The rest (such as actually storing
1846 the new column height) is done by recalculateBalancedHeight().
1847 (WebCore::RenderMultiColumnSet::clearForcedBreaks): Needs to be
1848 called between each layout pass, to clear the list of "content
1850 (WebCore::RenderMultiColumnSet::addForcedBreak): Only useful when
1851 columns are to be balanced. It receives explicit (forced) breaks
1852 and stores them as "content runs". When layout is done, we'll go
1853 through the list of content runs, and see where implicit breaks
1854 should be inserted (if there's room for any). The goal is to
1855 insert implicit breaks in such a way that the final columns become
1856 as short as possible.
1857 (WebCore::RenderMultiColumnSet::recalculateBalancedHeight):
1858 Calculates and sets a new balanced column height. This used to be
1859 done directly in calculateBalancedHeight(), but that method is now
1860 const and it now only calculates the new height and returns it.
1861 (WebCore::RenderMultiColumnSet::prepareForLayout):
1862 * rendering/RenderMultiColumnSet.h: Remove old data members
1863 intended for forced breaks (they were unused), and introduce a
1864 "content run" vector instead. A new content run is triggered by an
1865 explicit break. This is only used when column balancing is
1866 enabled. When not balanced, RenderMultiColumnSet doesn't need to
1867 do anything when explicit breaks are inserted.
1869 2014-01-20 Eric Carlson <eric.carlson@apple.com>
1871 Allow MediaSessionManager to restrict 'preload' behavior
1872 https://bugs.webkit.org/show_bug.cgi?id=127297
1874 Reviewed by Jer Noble.
1876 Tests: media/video-restricted-no-preload-auto.html
1877 media/video-restricted-no-preload-metadata.html
1879 * html/HTMLMediaElement.cpp:
1880 (WebCore::HTMLMediaElement::parseAttribute): Apply restrictions to preload attribute before
1881 passing to media engine.
1882 (WebCore::HTMLMediaElement::loadResource): Ditto.
1884 * html/HTMLMediaSession.cpp:
1885 (WebCore::HTMLMediaSession::effectivePreloadForElement): New, limit preload according to restrictions.
1886 * html/HTMLMediaSession.h:
1888 * platform/audio/MediaSessionManager.h:
1889 * platform/audio/ios/MediaSessionManagerIOS.mm:
1890 (WebCore::MediaSessionManageriOS::resetRestrictions): Limit preload to metadata only. Drive-by
1891 static deviceClass initialization cleanup.
1893 * testing/Internals.cpp:
1894 (WebCore::Internals::setMediaSessionRestrictions): Support MetadataPreloadingNotPermitted and
1895 AutoPreloadingNotPermitted.
1897 2014-01-20 Andreas Kling <akling@apple.com>
1899 Let RenderImage construct its RenderImageResource.
1900 <https://webkit.org/b/127290>
1902 Everyone who creates a RenderImage immediately follows up with
1903 creating a RenderImageResource and assigning it to the image.
1905 Let the RenderImage constructor do this instead, and make the
1906 imageResource() accessors return references. This exposed a
1907 number of unnecessary null checks.
1909 Also modernized the touched code with std::unique_ptr.
1911 Reviewed by Antti Koivisto.
1913 * html/HTMLImageElement.cpp:
1914 (WebCore::HTMLImageElement::createElementRenderer):
1915 (WebCore::HTMLImageElement::didAttachRenderers):
1916 * html/HTMLPlugInImageElement.cpp:
1917 (WebCore::HTMLPlugInImageElement::createElementRenderer):
1918 * html/HTMLVideoElement.cpp:
1919 (WebCore::HTMLVideoElement::didAttachRenderers):
1920 (WebCore::HTMLVideoElement::parseAttribute):
1921 * html/ImageInputType.cpp:
1922 (WebCore::ImageInputType::createInputRenderer):
1923 (WebCore::ImageInputType::attach):
1924 * loader/ImageLoader.cpp:
1925 (WebCore::ImageLoader::renderImageResource):
1926 * rendering/RenderElement.cpp:
1927 (WebCore::RenderElement::createFor):
1928 * rendering/RenderImage.cpp:
1929 (WebCore::RenderImage::RenderImage):
1930 (WebCore::RenderImage::~RenderImage):
1931 (WebCore::RenderImage::styleDidChange):
1932 (WebCore::RenderImage::imageChanged):
1933 (WebCore::RenderImage::updateIntrinsicSizeIfNeeded):
1934 (WebCore::RenderImage::updateInnerContentRect):
1935 (WebCore::RenderImage::imageDimensionsChanged):
1936 (WebCore::RenderImage::notifyFinished):
1937 (WebCore::RenderImage::paintReplaced):
1938 (WebCore::RenderImage::paintIntoRect):
1939 (WebCore::RenderImage::foregroundIsKnownToBeOpaqueInRect):
1940 (WebCore::RenderImage::minimumReplacedHeight):
1941 (WebCore::RenderImage::computeIntrinsicRatioInformation):
1942 (WebCore::RenderImage::embeddedContentBox):
1943 * rendering/RenderImage.h:
1944 (WebCore::RenderImage::imageResource):
1945 (WebCore::RenderImage::cachedImage):
1946 * rendering/RenderImageResource.h:
1947 * rendering/RenderImageResourceStyleImage.h:
1948 * rendering/RenderMedia.cpp:
1949 (WebCore::RenderMedia::RenderMedia):
1950 * rendering/RenderSnapshottedPlugIn.cpp:
1951 (WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn):
1952 * rendering/RenderSnapshottedPlugIn.h:
1953 * rendering/RenderVideo.cpp:
1954 (WebCore::RenderVideo::calculateIntrinsicSize):
1955 * rendering/style/ContentData.cpp:
1956 (WebCore::ImageContentData::createContentRenderer):
1957 * rendering/svg/RenderSVGImage.cpp:
1958 (WebCore::RenderSVGImage::RenderSVGImage):
1959 (WebCore::RenderSVGImage::~RenderSVGImage):
1960 (WebCore::RenderSVGImage::updateImageViewport):
1961 (WebCore::RenderSVGImage::paint):
1962 (WebCore::RenderSVGImage::paintForeground):
1963 * rendering/svg/RenderSVGImage.h:
1964 * svg/SVGImageElement.cpp:
1965 (WebCore::SVGImageElement::didAttachRenderers):
1967 2014-01-20 Antti Koivisto <antti@apple.com>
1969 Update overlay scrollbars in single pass
1970 https://bugs.webkit.org/show_bug.cgi?id=127289
1972 Reviewed by Anders Carlsson.
1974 * platform/ScrollView.cpp:
1975 (WebCore::ScrollView::updateScrollbars):
1977 Multi-pass scrollbar resolution is only needed for traditional scrollbars. Overlay scrollbars don't affect layout.
1979 2014-01-20 Jochen Eisinger <jochen@chromium.org>
1981 Never send a non-http(s) referrer header even with a referrer policy
1982 https://bugs.webkit.org/show_bug.cgi?id=127172
1984 Reviewed by Alexey Proskuryakov.
1986 This mirrors the code SecurityPolicy::shouldHideReferrer which is used
1987 for ReferrerPolicyDefault.
1989 No new tests, only affects an embedder that registers other schemes,
1992 * page/SecurityPolicy.cpp:
1993 (WebCore::SecurityPolicy::generateReferrerHeader):
1995 2014-01-20 Mihai Tica <mitica@adobe.com>
1997 [CSS Background Blending] Background layer with -webkit-cross-fade doesn't blend
1998 when having -webkit-background-blending applied. Turns out the problem was
1999 the blending parameter not being passed to WebCore::CrossfadeGeneratedImage::draw
2001 https://bugs.webkit.org/show_bug.cgi?id=126887
2003 Reviewed by Dirk Schulze.
2005 Test: css3/compositing/background-blend-mode-crossfade-image.html
2007 * platform/graphics/CrossfadeGeneratedImage.cpp:
2008 (WebCore::CrossfadeGeneratedImage::draw): set blendMode on context.
2010 2013-11-22 Sergio Villar Senin <svillar@igalia.com>
2012 Null-pointer dereference in WebCore::CSSValue::isPrimitiveValue
2013 https://bugs.webkit.org/show_bug.cgi?id=124769
2015 Reviewed by Andreas Kling.
2017 Test: fast/gradients/crash-on-no-position-separator.html
2019 The function parseFillPosition() may not return valid values for
2020 centerX and centerY if the input data is malformed. We need to
2021 check that we get a valid pair of positions before checking that
2022 they're actually valid primitive values in the assertions.
2024 * css/CSSParser.cpp:
2025 (WebCore::CSSParser::parseRadialGradient):
2027 2014-01-20 Mihai Tica <mitica@adobe.com>
2029 Background-blend-mode doesn't work for an element with an
2030 SVG image as background and border-style or padding set.
2031 The problem consisted in the drawing path using the default
2032 blending parameter at all times.
2033 https://bugs.webkit.org/show_bug.cgi?id=118894
2035 Reviewed by Dirk Schulze.
2037 Test: css3/compositing/background-blend-mode-data-uri-svg-image.html
2039 * svg/graphics/SVGImage.cpp:
2040 (WebCore::SVGImage::drawPatternForContainer): Pass blendMode to Image::drawPattern.
2041 * svg/graphics/SVGImage.h: Add a blendMode parameter to drawPatternForContainer.
2042 * svg/graphics/SVGImageForContainer.cpp:
2043 (WebCore::SVGImageForContainer::drawPattern): Pass blendMode to drawPatternForContainer call.
2045 2014-01-20 Zalan Bujtas <zalan@apple.com>
2047 Subpixel layout: setSimpleLineLayoutEnabled() produces different layout when line position has CSS px fractions.
2048 https://bugs.webkit.org/show_bug.cgi?id=126892
2050 Reviewed by Antti Koivisto.
2052 SimpleLineLayout needs to copy normal linebox layout's subpixel rounding strategy to produce
2055 Covered by existing tests.
2057 * rendering/SimpleLineLayoutFunctions.cpp:
2058 (WebCore::SimpleLineLayout::paintFlow):
2060 2014-01-20 Gurpreet Kaur <k.gurpreet@samsung.com>
2062 Col width is not honored when dynamically updated and it would make table narrower
2063 https://bugs.webkit.org/show_bug.cgi?id=104711
2065 Reviewed by Antti Koivisto.
2067 Increasing the table width by increasing the colgroup width
2068 was working but decreasing the table width by decreasing the
2069 colgroup width is not working.
2071 Test: fast/dom/HTMLTableColElement/resize-table-width-using-col-width.html
2073 * rendering/RenderTableCol.cpp:
2074 (WebCore::RenderTableCol::styleDidChange):
2075 When colgroup width is defined table cell should adjust according to
2076 that. On decreasing colgroup width the cells maxPreferredLogicalWidth
2077 was still set to the earlier value. Setting the
2078 setPreferredLogicalWidthsDirty to true so that cells pref width is
2081 2014-01-20 Edit Balint <edbalint@inf.u-szeged.hu>
2083 [CoordinatedGraphics] Segmentation fault at CoordinatedGraphicsScene::clearImageBackingContents
2085 https://bugs.webkit.org/show_bug.cgi?id=125776
2087 Reviewed by Csaba Osztrogonác.
2089 Unexpected behavior occurs in some test cases which leads to segmentation fault.
2091 * platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:
2092 (WebCore::CompositingCoordinator::removeImageBacking):
2094 2014-01-20 Morten Stenshorne <mstensho@opera.com>
2096 Region based multicol: tall line causes taller multicol container than necessary
2097 https://bugs.webkit.org/show_bug.cgi?id=122550
2099 Detect and report all column breaks, also when there's no pagination strut involved.
2101 This may end up becoming the overall smallest space shortage in some cases,
2102 so we need to report it, to avoid column height over-stretching.
2104 Reviewed by David Hyatt.
2106 Test: fast/multicol/newmulticol/balance10.html
2108 * rendering/RenderBlockFlow.cpp:
2109 (WebCore::RenderBlockFlow::adjustLinePositionForPagination):
2111 2014-01-19 Carlos Garcia Campos <cgarcia@igalia.com>
2113 [GLIB] GVariant floating references are not correctly handled by GRefPtr
2114 https://bugs.webkit.org/show_bug.cgi?id=127246
2116 Reviewed by Martin Robinson.
2118 Do not adopt GVariant floating references, they will be converted
2119 to a full reference by GRefPtr.
2121 * platform/gtk/PasteboardHelper.cpp:
2122 (WebCore::PasteboardHelper::fillSelectionData):
2123 (WebCore::PasteboardHelper::fillDataObjectFromDropData):
2125 2014-01-19 Jinwoo Song <jinwoo7.song@samsung.com>
2127 Use unsigned type for the size of CSSParserValueList
2128 https://bugs.webkit.org/show_bug.cgi?id=127211
2130 Reviewed by Andreas Kling.
2132 * css/CSSParser.cpp: Changed variable type from int to unsigned.
2133 (WebCore::CSSParser::parseValue):
2135 2014-01-19 Jaehun Lim <ljaehun.lim@samsung.com>
2137 Unreviewed build fix after r162293
2141 [ 13%] Building CXX object Source/WebCore/CMakeFiles/WebCore.dir/html/parser/HTMLTreeBuilder.cpp.o
2142 /source/WebKit/Source/WebCore/html/parser/HTMLTreeBuilder.cpp: In member function ‘void WebCore::HTMLTreeBuilder::processStartTagForInTable(WebCore::AtomicHTMLToken*)’:
2143 /source/WebKit/Source/WebCore/html/parser/HTMLTreeBuilder.cpp:1037:40: error: no match for ‘operator!’ in ‘!(WebCore::HTMLTreeBuilder::InsertionMode)12’
2144 /source/WebKit/Source/WebCore/html/parser/HTMLTreeBuilder.cpp:1037:40: note: candidate is:
2145 /source/WebKit/Source/WebCore/html/parser/HTMLTreeBuilder.cpp:1037:40: note: operator!(bool) <built-in>
2146 /source/WebKit/Source/WebCore/html/parser/HTMLTreeBuilder.cpp:1037:40: note: no known conversion for argument 1 from ‘WebCore::HTMLTreeBuilder::InsertionMode’ to ‘bool’
2147 make[2]: *** [Source/WebCore/CMakeFiles/WebCore.dir/html/parser/HTMLTreeBuilder.cpp.o] Error 1
2148 make[1]: *** [Source/WebCore/CMakeFiles/WebCore.dir/all] Error 2
2149 make: *** [all] Error 2
2151 * html/parser/HTMLTreeBuilder.cpp:
2152 (WebCore::HTMLTreeBuilder::processStartTagForInTable): Fix ASSERT.
2154 2014-01-19 Anders Carlsson <andersca@apple.com>
2156 Stop using MutexTryLocker in WebCore
2157 https://bugs.webkit.org/show_bug.cgi?id=127254
2159 Reviewed by Andreas Kling.
2161 Instead use std::mutex and std::unique_lock with the std::try_to_lock constructor.
2163 * Modules/webaudio/AudioBufferSourceNode.cpp:
2164 (WebCore::AudioBufferSourceNode::process):
2165 (WebCore::AudioBufferSourceNode::setBuffer):
2166 * Modules/webaudio/AudioBufferSourceNode.h:
2167 * Modules/webaudio/AudioParamTimeline.cpp:
2168 (WebCore::AudioParamTimeline::insertEvent):
2169 (WebCore::AudioParamTimeline::cancelScheduledValues):
2170 (WebCore::AudioParamTimeline::valueForContextTime):
2171 (WebCore::AudioParamTimeline::valuesForTimeRange):
2172 (WebCore::AudioParamTimeline::valuesForTimeRangeImpl):
2173 * Modules/webaudio/AudioParamTimeline.h:
2174 * Modules/webaudio/ConvolverNode.cpp:
2175 (WebCore::ConvolverNode::process):
2176 (WebCore::ConvolverNode::reset):
2177 (WebCore::ConvolverNode::setBuffer):
2178 * Modules/webaudio/ConvolverNode.h:
2179 * Modules/webaudio/MediaElementAudioSourceNode.cpp:
2180 (WebCore::MediaElementAudioSourceNode::setFormat):
2181 (WebCore::MediaElementAudioSourceNode::process):
2182 (WebCore::MediaElementAudioSourceNode::lock):
2183 (WebCore::MediaElementAudioSourceNode::unlock):
2184 * Modules/webaudio/MediaElementAudioSourceNode.h:
2185 * Modules/webaudio/MediaStreamAudioSourceNode.cpp:
2186 (WebCore::MediaStreamAudioSourceNode::setFormat):
2187 (WebCore::MediaStreamAudioSourceNode::process):
2188 * Modules/webaudio/MediaStreamAudioSourceNode.h:
2189 * Modules/webaudio/OscillatorNode.cpp:
2190 (WebCore::OscillatorNode::process):
2191 (WebCore::OscillatorNode::setPeriodicWave):
2192 * Modules/webaudio/OscillatorNode.h:
2193 * Modules/webaudio/PannerNode.cpp:
2194 (WebCore::PannerNode::process):
2195 (WebCore::PannerNode::setPanningModel):
2196 * Modules/webaudio/PannerNode.h:
2197 * Modules/webaudio/WaveShaperProcessor.cpp:
2198 (WebCore::WaveShaperProcessor::setCurve):
2199 (WebCore::WaveShaperProcessor::setOversample):
2200 (WebCore::WaveShaperProcessor::process):
2201 * Modules/webaudio/WaveShaperProcessor.h:
2203 2014-01-19 Alberto Garcia <berto@igalia.com>
2205 Does not build with SVG disabled
2206 https://bugs.webkit.org/show_bug.cgi?id=127248
2208 Reviewed by Sam Weinig.
2210 Add missing #if ENABLE(SVG) guard.
2212 * dom/ElementData.h:
2214 2014-01-19 Anders Carlsson <andersca@apple.com>
2216 Use a strong enum for HTMLTreeBuilder::InsertionMode
2217 https://bugs.webkit.org/show_bug.cgi?id=127252
2219 Reviewed by Antti Koivisto.
2221 * html/parser/HTMLTreeBuilder.cpp:
2222 (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
2223 (WebCore::HTMLTreeBuilder::constructTree):
2224 (WebCore::HTMLTreeBuilder::processDoctypeToken):
2225 (WebCore::HTMLTreeBuilder::processStartTagForInBody):
2226 (WebCore::HTMLTreeBuilder::processTemplateStartTag):
2227 (WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup):
2228 (WebCore::HTMLTreeBuilder::closeTheCell):
2229 (WebCore::HTMLTreeBuilder::processStartTagForInTable):
2230 (WebCore::HTMLTreeBuilder::processStartTag):
2231 (WebCore::HTMLTreeBuilder::processBodyEndTagForInBody):
2232 (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
2233 (WebCore::HTMLTreeBuilder::processEndTagForInTableBody):
2234 (WebCore::HTMLTreeBuilder::processEndTagForInRow):
2235 (WebCore::HTMLTreeBuilder::processEndTagForInCell):
2236 (WebCore::HTMLTreeBuilder::processCaptionEndTagForInCaption):
2237 (WebCore::HTMLTreeBuilder::processTrEndTagForInRow):
2238 (WebCore::HTMLTreeBuilder::processEndTag):
2239 (WebCore::HTMLTreeBuilder::processComment):
2240 (WebCore::HTMLTreeBuilder::processCharacterBuffer):
2241 (WebCore::HTMLTreeBuilder::processEndOfFile):
2242 (WebCore::HTMLTreeBuilder::defaultForInitial):
2243 (WebCore::HTMLTreeBuilder::defaultForBeforeHTML):
2244 (WebCore::HTMLTreeBuilder::processStartTagForInHead):
2245 (WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag):
2246 (WebCore::HTMLTreeBuilder::processGenericRawTextStartTag):
2247 (WebCore::HTMLTreeBuilder::processScriptStartTag):
2248 * html/parser/HTMLTreeBuilder.h:
2250 2014-01-19 Anders Carlsson <andersca@apple.com>
2252 Convert LoaderRunLoopCF.cpp and WebCoreThreadRun.cpp over to modern threading primitives
2253 https://bugs.webkit.org/show_bug.cgi?id=127251
2255 Reviewed by Antti Koivisto.
2257 Also add a condition to the loaderRunLoop() function to protect against spurious wake-ups.
2259 * platform/ios/wak/WebCoreThreadRun.cpp:
2260 * platform/network/cf/LoaderRunLoopCF.cpp:
2261 (WebCore::loaderRunLoopMutex):
2262 (WebCore::loaderRunLoopConditionVariable):
2263 (WebCore::runLoaderThread):
2264 (WebCore::loaderRunLoop):
2266 2014-01-19 Anders Carlsson <andersca@apple.com>
2268 Modernize ReverbConvolver
2269 https://bugs.webkit.org/show_bug.cgi?id=127250
2271 Reviewed by Andreas Kling.
2273 Use std::unique_ptr instead of OwnPtr and the STL threading primitives instead of the WTF ones.
2275 * platform/audio/ReverbConvolver.cpp:
2276 (WebCore::ReverbConvolver::ReverbConvolver):
2277 (WebCore::ReverbConvolver::~ReverbConvolver):
2278 (WebCore::ReverbConvolver::backgroundThreadEntry):
2279 (WebCore::ReverbConvolver::process):
2280 * platform/audio/ReverbConvolver.h:
2282 2014-01-18 Andy Estes <aestes@apple.com>
2284 [iOS] Rename GestureEventIOS.{cpp,h} to GestureEvent.{cpp,h} to fix the build
2286 InFilesCompiler.pm assumes that <interface name>.h exists for each
2287 interface it processes. We renamed GestureEvent.h to GestureEventIOS.h
2288 but kept the interface named GestureEvent, so a non-existant file was
2289 being referenced by InFilesCompiler.pm (this was hard to detect since
2290 GestureEvent.h still existed in the SDK due to not having submitted
2291 WebKitAdditions recently).
2293 Since we cannot rename the GestureEvent interface, and since there is
2294 no conflicting GestureEvent in open source, we can just rename
2295 GestureEventIOS.{cpp,h} back to GestureEvent.{cpp,h}.
2297 * dom/ios/TouchEvents.cpp: Updated to include GestureEvent.cpp.
2299 2014-01-18 Alexey Proskuryakov <ap@apple.com>
2301 Memory leak in JSSubtleCrypto::wrapKey
2302 https://bugs.webkit.org/show_bug.cgi?id=127241
2304 Reviewed by Sam Weinig.
2306 * bindings/js/JSSubtleCryptoCustom.cpp: (WebCore::JSSubtleCrypto::wrapKey):
2307 Delete algorithmPtr and parametersPtr that aren't smart pointers because of lambdas.
2309 2014-01-18 Andy Estes <aestes@apple.com>
2311 Fix the iOS Production build.
2313 * Configurations/WebCore.xcconfig:
2315 2014-01-18 Alberto Garcia <berto@igalia.com>
2317 [CodeGeneratorJS] Sort output of StructureFlags and function parameters
2319 https://bugs.webkit.org/show_bug.cgi?id=127226
2321 Reviewed by Alexey Proskuryakov.
2323 The order of the keys in a hash is undefined and subject to change
2324 between different Perl versions, so we have to sort them to make
2325 sure that the output is always the same.
2327 * bindings/scripts/CodeGeneratorJS.pm:
2329 (GenerateParametersCheckExpression):
2330 * bindings/scripts/test/JS/JSTestActiveDOMObject.h:
2331 * bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
2332 * bindings/scripts/test/JS/JSTestEventConstructor.h:
2333 * bindings/scripts/test/JS/JSTestEventTarget.h:
2334 * bindings/scripts/test/JS/JSTestException.h:
2335 * bindings/scripts/test/JS/JSTestGenerateIsReachable.h:
2336 * bindings/scripts/test/JS/JSTestInterface.h:
2337 * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
2338 * bindings/scripts/test/JS/JSTestNamedConstructor.h:
2339 * bindings/scripts/test/JS/JSTestNode.h:
2340 * bindings/scripts/test/JS/JSTestObj.cpp:
2341 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
2342 * bindings/scripts/test/JS/JSTestObj.h:
2343 * bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
2344 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
2345 * bindings/scripts/test/JS/JSTestTypedefs.h:
2346 * bindings/scripts/test/JS/JSattribute.h:
2347 * bindings/scripts/test/JS/JSreadonly.h:
2349 2014-01-18 Anders Carlsson <andersca@apple.com>
2351 Replace a couple of uses of WTF::Function with std::function
2352 https://bugs.webkit.org/show_bug.cgi?id=127218
2354 Reviewed by Andreas Kling.
2357 * page/scrolling/ScrollingThread.cpp:
2358 (WebCore::ScrollingThread::dispatch):
2359 (WebCore::ScrollingThread::dispatchBarrier):
2360 (WebCore::ScrollingThread::shared):
2361 (WebCore::ScrollingThread::createThreadIfNeeded):
2362 (WebCore::ScrollingThread::dispatchFunctionsFromScrollingThread):
2363 * page/scrolling/ScrollingThread.h:
2364 * page/scrolling/mac/ScrollingThreadMac.mm:
2365 (WebCore::ScrollingThread::initializeRunLoop):
2367 2014-01-18 Anders Carlsson <andersca@apple.com>
2369 Modernize HTML parser code
2370 https://bugs.webkit.org/show_bug.cgi?id=127236
2372 Reviewed by Andreas Kling.
2374 * html/parser/AtomicHTMLToken.h:
2375 * html/parser/CSSPreloadScanner.cpp:
2376 (WebCore::CSSPreloadScanner::emitRule):
2377 * html/parser/HTMLDocumentParser.cpp:
2378 (WebCore::HTMLDocumentParser::HTMLDocumentParser):
2379 (WebCore::HTMLDocumentParser::detach):
2380 (WebCore::HTMLDocumentParser::stopParsing):
2381 (WebCore::HTMLDocumentParser::pumpTokenizer):
2382 (WebCore::HTMLDocumentParser::insert):
2383 (WebCore::HTMLDocumentParser::append):
2384 (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
2385 * html/parser/HTMLDocumentParser.h:
2386 * html/parser/HTMLElementStack.cpp:
2387 (WebCore::HTMLElementStack::ElementRecord::ElementRecord):
2388 (WebCore::HTMLElementStack::insertAbove):
2389 (WebCore::HTMLElementStack::pushCommon):
2390 * html/parser/HTMLElementStack.h:
2391 (WebCore::HTMLElementStack::ElementRecord::releaseNext):
2392 (WebCore::HTMLElementStack::ElementRecord::setNext):
2393 * html/parser/HTMLMetaCharsetParser.cpp:
2394 (WebCore::HTMLMetaCharsetParser::HTMLMetaCharsetParser):
2395 * html/parser/HTMLMetaCharsetParser.h:
2396 * html/parser/HTMLParserScheduler.h:
2397 * html/parser/HTMLPreloadScanner.cpp:
2398 (WebCore::TokenPreloadScanner::StartTagScanner::createPreloadRequest):
2399 (WebCore::TokenPreloadScanner::scan):
2400 (WebCore::HTMLPreloadScanner::HTMLPreloadScanner):
2401 * html/parser/HTMLPreloadScanner.h:
2402 * html/parser/HTMLResourcePreloader.cpp:
2403 (WebCore::HTMLResourcePreloader::takeAndPreload):
2404 (WebCore::HTMLResourcePreloader::preload):
2405 * html/parser/HTMLResourcePreloader.h:
2406 (WebCore::PreloadRequest::PreloadRequest):
2407 * html/parser/HTMLScriptRunner.h:
2408 * html/parser/HTMLToken.h:
2409 (WebCore::HTMLToken::beginDOCTYPE):
2410 (WebCore::HTMLToken::releaseDoctypeData):
2411 * html/parser/HTMLTokenizer.h:
2412 * html/parser/HTMLTreeBuilder.h:
2413 * html/parser/HTMLViewSourceParser.cpp:
2414 (WebCore::HTMLViewSourceParser::HTMLViewSourceParser):
2415 * html/parser/HTMLViewSourceParser.h:
2416 * html/parser/XSSAuditor.cpp:
2417 (WebCore::XSSAuditor::init):
2418 (WebCore::XSSAuditor::filterToken):
2419 * html/parser/XSSAuditor.h:
2420 * html/parser/XSSAuditorDelegate.h:
2421 (WebCore::XSSInfo::XSSInfo):
2422 * loader/TextResourceDecoder.cpp:
2423 (WebCore::TextResourceDecoder::checkForHeadCharset):
2424 (WebCore::TextResourceDecoder::checkForMetaCharset):
2425 * loader/TextResourceDecoder.h:
2427 2014-01-18 Benjamin Poulain <benjamin@webkit.org>
2429 Make ElementData JIT friendly
2430 https://bugs.webkit.org/show_bug.cgi?id=127209
2432 Reviewed by Geoffrey Garen.
2434 The offsets of ElementData's flags were not accessible by the JIT. This patch
2435 refactor ElementData to use explicit flags so that they can be used from
2436 the code generators.
2439 (WebCore::Element::synchronizeAllAttributes):
2440 (WebCore::Element::synchronizeAttribute):
2441 (WebCore::Element::attributeChanged):
2442 (WebCore::Element::removeAttribute):
2443 * dom/ElementData.cpp:
2444 (WebCore::ElementData::destroy):
2445 (WebCore::ElementData::ElementData):
2446 (WebCore::ShareableElementData::ShareableElementData):
2447 (WebCore::ShareableElementData::~ShareableElementData):
2448 (WebCore::ElementData::arraySizeAndFlagsFromOther):
2449 * dom/ElementData.h:
2450 (WebCore::ElementData::hasName):
2451 (WebCore::ElementData::isUnique):
2452 (WebCore::ElementData::updateFlag):
2453 (WebCore::ElementData::arraySize):
2454 (WebCore::ElementData::setHasNameAttribute):
2455 (WebCore::ElementData::styleAttributeIsDirty):
2456 (WebCore::ElementData::setStyleAttributeIsDirty):
2457 (WebCore::ElementData::presentationAttributeStyleIsDirty):
2458 (WebCore::ElementData::setPresentationAttributeStyleIsDirty):
2459 (WebCore::ElementData::animatedSVGAttributesAreDirty):
2460 (WebCore::ElementData::setAnimatedSVGAttributesAreDirty):
2461 (WebCore::ElementData::length):
2462 (WebCore::ElementData::attributeBase):
2463 (WebCore::ElementData::presentationAttributeStyle):
2464 * dom/StyledElement.cpp:
2465 (WebCore::StyledElement::synchronizeStyleAttributeInternal):
2466 (WebCore::StyledElement::attributeChanged):
2467 (WebCore::StyledElement::styleAttributeChanged):
2468 (WebCore::StyledElement::inlineStyleChanged):
2469 (WebCore::StyledElement::rebuildPresentationAttributeStyle):
2470 * dom/StyledElement.h:
2471 (WebCore::StyledElement::invalidateStyleAttribute):
2472 (WebCore::StyledElement::presentationAttributeStyle):
2473 * svg/SVGElement.cpp:
2474 (WebCore::SVGElement::synchronizeAnimatedSVGAttribute):
2476 (WebCore::SVGElement::invalidateSVGAttributes):
2478 2014-01-18 Zalan Bujtas <zalan@apple.com>
2480 Subpixel layout: IntRect::infiniteRect() overflows when subpixel layout is enabled.
2481 https://bugs.webkit.org/show_bug.cgi?id=126899
2483 Reviewed by Tim Horton.
2485 Use LayoutUnits when setting the infinite values on IntRect::infiniteRect() to ensure
2486 it won't overflow later when the IntRect gets converted to LayoutRect.
2488 Covered by existing tests.
2490 * platform/graphics/IntRect.h:
2491 (WebCore::IntRect::infiniteRect):
2493 2014-01-18 Anders Carlsson <andersca@apple.com>
2495 Remove support for the viewsource attribute
2496 https://bugs.webkit.org/show_bug.cgi?id=127232
2498 Reviewed by Andreas Kling.
2500 The 'viewsource' attribute on frames is nonstandard, not used by anyone (the inspector has
2501 its own syntax highlighting) and not audited.
2503 This patch removes parsing of the viewsource attribute and the associated tests. A subsequent
2504 patch will remove the code as well.
2506 * html/HTMLFrameElementBase.cpp:
2507 (WebCore::HTMLFrameElementBase::parseAttribute):
2509 2014-01-18 Anders Carlsson <andersca@apple.com>
2511 XMLTreeViewer shouldn't use the view source mode
2512 https://bugs.webkit.org/show_bug.cgi?id=127229
2514 Reviewed by Andreas Kling.
2516 Add the relevant styles from view-source.css to XMLViewer.css.
2518 * xml/XMLTreeViewer.cpp:
2519 (WebCore::XMLTreeViewer::transformDocumentToTreeView):
2520 * xml/XMLViewer.css:
2531 2014-01-18 Andreas Kling <akling@apple.com>
2533 Remove unused "touchDragDropEnabled" setting.
2534 <https://webkit.org/b/127227>
2536 Reviewed by Sam Weinig.
2540 2014-01-18 Brian Burg <bburg@apple.com>
2542 Web Inspector: Page should use std::unique_ptr for InspectorController
2543 https://bugs.webkit.org/show_bug.cgi?id=127068
2545 Reviewed by Joseph Pecoraro.
2547 Make Page and WorkerGlobalScope keep a std::unique_ptr to InspectorController
2548 and WorkerInspectorController. Store page references and return controller
2549 references where possible.
2551 Convert call sites to use an InspectorController reference.
2552 Convert instantiations of InspectorFrontendClient to use std::unique_ptr.
2553 Convert InspectorOverlay to keep Page references.
2556 * bindings/js/JSDOMWindowBase.cpp:
2557 (WebCore::JSDOMWindowBase::supportsProfiling):
2558 (WebCore::JSDOMWindowBase::supportsRichSourceInfo):
2560 (WebCore::Node::inspect):
2561 * inspector/InspectorController.cpp:
2562 (WebCore::InspectorController::InspectorController):
2563 (WebCore::InspectorController::inspectedPageDestroyed):
2564 (WebCore::InspectorController::setInspectorFrontendClient):
2565 (WebCore::InspectorController::hasInspectorFrontendClient):
2566 (WebCore::InspectorController::connectFrontend):
2567 (WebCore::InspectorController::disconnectFrontend):
2568 (WebCore::InspectorController::inspectedPage):
2569 (WebCore::InspectorController::developerExtrasEnabled):
2570 * inspector/InspectorController.h:
2571 * inspector/InspectorFrontendClientLocal.cpp:
2572 (WebCore::InspectorFrontendClientLocal::canAttachWindow):
2573 (WebCore::InspectorFrontendClientLocal::changeAttachedWindowHeight):
2574 (WebCore::InspectorFrontendClientLocal::changeAttachedWindowWidth):
2575 (WebCore::InspectorFrontendClientLocal::openInNewTab):
2576 (WebCore::InspectorFrontendClientLocal::restoreAttachedWindowHeight):
2577 * inspector/InspectorOverlay.cpp:
2578 (WebCore::InspectorOverlay::InspectorOverlay):
2579 (WebCore::InspectorOverlay::getHighlight):
2580 (WebCore::InspectorOverlay::highlightQuad):
2581 (WebCore::InspectorOverlay::update):
2582 (WebCore::InspectorOverlay::buildObjectForHighlightedNode):
2583 (WebCore::InspectorOverlay::drawQuadHighlight):
2584 (WebCore::InspectorOverlay::overlayPage):
2585 (WebCore::InspectorOverlay::reset):
2586 * inspector/InspectorOverlay.h:
2587 * inspector/InstrumentingAgents.cpp:
2588 (WebCore::instrumentationForPage): remove null checks.
2589 (WebCore::instrumentationForWorkerGlobalScope): remove null checks.
2590 * inspector/WorkerInspectorController.cpp:
2591 (WebCore::WorkerInspectorController::WorkerInspectorController):
2592 (WebCore::WorkerInspectorController::connectFrontend):
2593 (WebCore::WorkerInspectorController::disconnectFrontend):
2594 * inspector/WorkerInspectorController.h:
2595 * loader/FrameLoader.cpp:
2596 (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
2597 (WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld):
2598 * page/ContextMenuController.cpp:
2599 (WebCore::ContextMenuController::showContextMenu):
2600 (WebCore::ContextMenuController::contextMenuItemSelected):
2601 (WebCore::ContextMenuController::populate):
2602 (WebCore::ContextMenuController::addInspectElementItem):
2603 * page/FrameView.cpp:
2604 (WebCore::FrameView::sendResizeEventIfNeeded):
2606 (WebCore::Page::Page):
2608 (WebCore::Page::inspectorController):
2609 * page/PageDebuggable.cpp:
2610 (WebCore::PageDebuggable::hasLocalDebugger):
2611 (WebCore::PageDebuggable::parentProcessIdentifier):
2612 (WebCore::PageDebuggable::connect):
2613 (WebCore::PageDebuggable::disconnect):
2614 (WebCore::PageDebuggable::dispatchMessageFromRemoteFrontend):
2615 (WebCore::PageDebuggable::setIndicating):
2616 * platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:
2617 (WebCore::CompositingCoordinator::syncDisplayState):
2618 * testing/Internals.cpp:
2619 (WebCore::Internals::resetToConsistentState):
2620 (WebCore::Internals::inspectorHighlightRects):
2621 (WebCore::Internals::inspectorHighlightObject):
2622 (WebCore::Internals::emitInspectorDidBeginFrame):
2623 (WebCore::Internals::emitInspectorDidCancelFrame):
2624 (WebCore::Internals::openDummyInspectorFrontend):
2625 (WebCore::Internals::closeDummyInspectorFrontend):
2626 (WebCore::Internals::setInspectorResourcesDataSizeLimits):
2627 (WebCore::Internals::setJavaScriptProfilingEnabled):
2628 * workers/WorkerGlobalScope.cpp:
2629 (WebCore::WorkerGlobalScope::WorkerGlobalScope):
2630 * workers/WorkerGlobalScope.h: remove clearInspector().
2631 (WebCore::WorkerGlobalScope::workerInspectorController):
2632 * workers/WorkerMessagingProxy.cpp:
2633 (WebCore::connectToWorkerGlobalScopeInspectorTask):
2634 (WebCore::disconnectFromWorkerGlobalScopeInspectorTask):
2635 (WebCore::dispatchOnInspectorBackendTask):
2636 * workers/WorkerThread.cpp:
2637 (WebCore::WorkerThreadShutdownFinishTask::performTask):
2639 2014-01-18 Anders Carlsson <andersca@apple.com>
2641 Remove ENABLE_THREADED_HTML_PARSER defines everywhere
2642 https://bugs.webkit.org/show_bug.cgi?id=127225
2644 Reviewed by Andreas Kling.
2646 This concludes the removal of over 8.8 million lines of threaded parser code.
2648 * Configurations/FeatureDefines.xcconfig:
2650 2014-01-18 Anders Carlsson <andersca@apple.com>
2652 Remove the remaining threaded parser code
2653 https://bugs.webkit.org/show_bug.cgi?id=127224
2655 Reviewed by Andreas Kling.
2658 (WebCore::Document::decrementActiveParserCount):
2659 * html/parser/AtomicHTMLToken.h:
2660 * html/parser/HTMLDocumentParser.cpp:
2661 (WebCore::HTMLDocumentParser::HTMLDocumentParser):
2662 (WebCore::HTMLDocumentParser::detach):
2663 (WebCore::HTMLDocumentParser::stopParsing):
2664 (WebCore::HTMLDocumentParser::prepareToStopParsing):
2665 (WebCore::HTMLDocumentParser::resumeParsingAfterYield):
2666 (WebCore::HTMLDocumentParser::forcePlaintextForTextDocument):
2667 (WebCore::HTMLDocumentParser::insert):
2668 (WebCore::HTMLDocumentParser::append):
2669 (WebCore::HTMLDocumentParser::end):
2670 (WebCore::HTMLDocumentParser::finish):
2671 (WebCore::HTMLDocumentParser::textPosition):
2672 (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
2673 * html/parser/HTMLDocumentParser.h:
2674 * html/parser/HTMLParserIdioms.cpp:
2675 * html/parser/HTMLParserIdioms.h:
2676 * html/parser/HTMLTokenizer.cpp:
2677 * html/parser/HTMLTokenizer.h:
2678 * loader/DocumentLoader.cpp:
2679 (WebCore::DocumentLoader::isLoading):
2680 (WebCore::DocumentLoader::checkLoadComplete):
2683 2014-01-18 Anders Carlsson <andersca@apple.com>
2685 Remove threaded parser code from the preload scanners
2686 https://bugs.webkit.org/show_bug.cgi?id=127222
2688 Reviewed by Andreas Kling.
2690 * html/parser/CSSPreloadScanner.cpp:
2691 (WebCore::CSSPreloadScanner::CSSPreloadScanner):
2694 (WebCore::CSSPreloadScanner::scan):
2695 Move scanCommon here and simplify the code.
2697 * html/parser/CSSPreloadScanner.h:
2700 * html/parser/HTMLPreloadScanner.cpp:
2701 (WebCore::TokenPreloadScanner::tagIdFor):
2702 TagId is a strong enum now, update enum values.
2704 (WebCore::TokenPreloadScanner::initiatorFor):
2707 (WebCore::TokenPreloadScanner::StartTagScanner::processAttributes):
2710 (WebCore::TokenPreloadScanner::StartTagScanner::match):
2713 (WebCore::TokenPreloadScanner::StartTagScanner::processAttribute):
2714 TagId is a strong enum now, update enum values.
2716 (WebCore::TokenPreloadScanner::StartTagScanner::charset):
2719 (WebCore::TokenPreloadScanner::StartTagScanner::resourceType):
2722 (WebCore::TokenPreloadScanner::StartTagScanner::shouldPreload):
2725 (WebCore::TokenPreloadScanner::scan):
2726 Merge scan and scanCommon.
2728 * html/parser/HTMLPreloadScanner.h:
2730 2014-01-18 Lauro Neto <lauro.neto@openbossa.org>
2732 Remove Nix files from WebCore
2733 https://bugs.webkit.org/show_bug.cgi?id=127176
2735 Reviewed by Anders Carlsson.
2737 * PlatformNix.cmake: Removed.
2738 * css/mediaControlsNix.css: Removed.
2739 * css/mediaControlsNixFullscreen.css: Removed.
2740 * editing/nix/EditorNix.cpp: Removed.
2741 * page/nix/EventHandlerNix.cpp: Removed.
2742 * platform/audio/nix/AudioBusNix.cpp: Removed.
2743 * platform/audio/nix/AudioDestinationNix.cpp: Removed.
2744 * platform/audio/nix/AudioDestinationNix.h: Removed.
2745 * platform/audio/nix/FFTFrameNix.cpp: Removed.
2746 * platform/graphics/nix/IconNix.cpp: Removed.
2747 * platform/graphics/nix/ImageNix.cpp: Removed.
2748 * platform/nix/CursorNix.cpp: Removed.
2749 * platform/nix/DragDataNix.cpp: Removed.
2750 * platform/nix/DragImageNix.cpp: Removed.
2751 * platform/nix/ErrorsNix.cpp: Removed.
2752 * platform/nix/ErrorsNix.h: Removed.
2753 * platform/nix/FileSystemNix.cpp: Removed.
2754 * platform/nix/GamepadsNix.cpp: Removed.
2755 * platform/nix/LanguageNix.cpp: Removed.
2756 * platform/nix/LocalizedStringsNix.cpp: Removed.
2757 * platform/nix/MIMETypeRegistryNix.cpp: Removed.
2758 * platform/nix/NixKeyboardUtilities.cpp: Removed.
2759 * platform/nix/NixKeyboardUtilities.h: Removed.
2760 * platform/nix/PasteboardNix.cpp: Removed.
2761 * platform/nix/PlatformKeyboardEventNix.cpp: Removed.
2762 * platform/nix/PlatformScreenNix.cpp: Removed.
2763 * platform/nix/RenderThemeNix.cpp: Removed.
2764 * platform/nix/RenderThemeNix.h: Removed.
2765 * platform/nix/ScrollbarThemeNix.cpp: Removed.
2766 * platform/nix/ScrollbarThemeNix.h: Removed.
2767 * platform/nix/SharedTimerNix.cpp: Removed.
2768 * platform/nix/SoundNix.cpp: Removed.
2769 * platform/nix/TemporaryLinkStubs.cpp: Removed.
2770 * platform/nix/WidgetNix.cpp: Removed.
2771 * platform/nix/support/MultiChannelPCMData.cpp: Removed.
2772 * platform/text/nix/TextBreakIteratorInternalICUNix.cpp: Removed.
2774 2014-01-18 Anders Carlsson <andersca@apple.com>
2776 Remove DocumentParser::pinToMainThread() and related code
2777 https://bugs.webkit.org/show_bug.cgi?id=127221
2779 Reviewed by Andreas Kling.
2782 (WebCore::Document::setContent):
2783 * dom/DocumentParser.h:
2784 * html/parser/HTMLDocumentParser.cpp:
2785 (WebCore::HTMLDocumentParser::HTMLDocumentParser):
2786 * html/parser/HTMLDocumentParser.h:
2787 * html/parser/HTMLParserOptions.cpp:
2788 (WebCore::HTMLParserOptions::HTMLParserOptions):
2789 * html/parser/HTMLParserOptions.h:
2790 * html/parser/HTMLTreeBuilder.cpp:
2791 (WebCore::HTMLTreeBuilder::processEndTag):
2792 * loader/DocumentWriter.cpp:
2793 (WebCore::DocumentWriter::replaceDocument):
2795 2014-01-18 Anders Carlsson <andersca@apple.com>
2797 Remove HTMLParserThread
2798 https://bugs.webkit.org/show_bug.cgi?id=127220
2800 Reviewed by Andreas Kling.
2803 * GNUmakefile.list.am:
2804 * WebCore.vcxproj/WebCore.vcxproj:
2805 * WebCore.vcxproj/WebCore.vcxproj.filters:
2806 * WebCore.xcodeproj/project.pbxproj:
2807 * html/parser/HTMLDocumentParser.cpp:
2808 * html/parser/HTMLParserThread.cpp: Removed.
2809 * html/parser/HTMLParserThread.h: Removed.
2811 2014-01-17 Andreas Kling <akling@apple.com>
2813 GC soon after responding to fake memory pressure.
2814 <https://webkit.org/b/127210>
2816 Ask JSC to garbage collect "soon" after handling the fake memory
2817 pressure signal on Mac. This seems to stabilize the post-pressure
2818 numbers on Membuster3 a bit on my laptop. The difference is mostly
2819 made up of JSC::CodeBlock objects.
2821 Reviewed by Geoffrey Garen.
2823 * platform/mac/MemoryPressureHandlerMac.mm:
2824 (WebCore::MemoryPressureHandler::install):
2826 2014-01-18 Anders Carlsson <andersca@apple.com>
2828 Remove files only used by the threaded HTML parser
2829 https://bugs.webkit.org/show_bug.cgi?id=127219
2830 <rdar://problem/13331277>
2832 Reviewed by Andreas Kling.
2835 * GNUmakefile.list.am:
2836 * WebCore.vcxproj/WebCore.vcxproj:
2837 * WebCore.vcxproj/WebCore.vcxproj.filters:
2838 * WebCore.xcodeproj/project.pbxproj:
2839 * html/parser/AtomicHTMLToken.h:
2840 * html/parser/BackgroundHTMLInputStream.cpp: Removed.
2841 * html/parser/BackgroundHTMLInputStream.h: Removed.
2842 * html/parser/BackgroundHTMLParser.cpp: Removed.
2843 * html/parser/BackgroundHTMLParser.h: Removed.
2844 * html/parser/CompactHTMLToken.cpp: Removed.
2845 * html/parser/CompactHTMLToken.h: Removed.
2846 * html/parser/HTMLDocumentParser.cpp:
2847 * html/parser/HTMLDocumentParser.h:
2848 * html/parser/HTMLIdentifier.cpp: Removed.
2849 * html/parser/HTMLIdentifier.h: Removed.
2850 * html/parser/HTMLParserIdioms.h:
2851 * html/parser/HTMLPreloadScanner.h:
2852 * html/parser/HTMLTreeBuilderSimulator.cpp: Removed.
2853 * html/parser/HTMLTreeBuilderSimulator.h: Removed.
2855 2014-01-17 Andreas Kling <akling@apple.com>
2857 Micro-optimize RenderBoxModelObject::computedCSSPadding().
2858 <https://webkit.org/b/127208>
2860 Make computedCSSPadding() take the Length as a const reference
2861 to avoid creating a temporary copy. This was showing up (0.2%)
2864 Reviewed by Anders Carlsson.
2866 * rendering/RenderBoxModelObject.h:
2867 * rendering/RenderBoxModelObject.cpp:
2868 (WebCore::RenderBoxModelObject::computedCSSPadding):
2870 2014-01-17 Anders Carlsson <andersca@apple.com>
2872 Add a callOnMainThreadAndWait variant in SocketStreamHandle
2873 https://bugs.webkit.org/show_bug.cgi?id=127180
2875 Reviewed by Geoffrey Garen.
2877 WTF::callOnMainThreadAndWait was only used inside SocketStreamHandleCFNet.cpp,
2878 so add an improved version there which is implemented in terms of callOnMainThread and
2879 with the bonus of handling spurious wake-ups correctly (the old version didn't).
2881 * platform/network/cf/SocketStreamHandle.h:
2882 * platform/network/cf/SocketStreamHandleCFNet.cpp:
2883 (WebCore::callOnMainThreadAndWait):
2884 (WebCore::SocketStreamHandle::pacExecutionCallback):
2885 (WebCore::SocketStreamHandle::readStreamCallback):
2886 (WebCore::SocketStreamHandle::writeStreamCallback):
2888 2014-01-17 Anders Carlsson <andersca@apple.com>
2890 Clean up PageCache classes
2891 https://bugs.webkit.org/show_bug.cgi?id=127202
2893 Reviewed by Andreas Kling.
2896 * history/CachedFrame.cpp:
2897 (WebCore::CachedFrameBase::~CachedFrameBase):
2898 (WebCore::CachedFrame::CachedFrame):
2899 (WebCore::CachedFrame::clear):
2900 (WebCore::CachedFrame::setCachedFramePlatformData):
2901 * history/CachedFrame.h:
2902 * history/CachedPage.cpp:
2903 (WebCore::CachedPage::CachedPage):
2904 * history/CachedPage.h:
2905 * history/HistoryItem.h:
2906 (WebCore::HistoryItem::isInPageCache):
2907 * history/PageCache.cpp:
2908 (WebCore::PageCache::add):
2909 (WebCore::PageCache::take):
2910 (WebCore::PageCache::remove):
2911 * history/PageCache.h:
2912 * loader/FrameLoader.cpp:
2913 (WebCore::FrameLoader::commitProvisionalLoad):
2914 * loader/HistoryController.cpp:
2915 (WebCore::HistoryController::invalidateCurrentItemCachedPage):
2917 2014-01-17 Andy Estes <aestes@apple.com>
2919 Work around a preprocessor warning in mediaControlsApple.js
2920 https://bugs.webkit.org/show_bug.cgi?id=127204
2922 Reviewed by Dan Bernstein.
2924 * Modules/mediacontrols/mediaControlsApple.js: Changed '' to String().
2926 2014-01-17 Daniel Bates <dabates@apple.com>
2928 Fix the iOS build after <http://trac.webkit.org/changeset/162184>
2929 (https://bugs.webkit.org/show_bug.cgi?id=126856)
2931 Remove symbol for WebCore::NonSharedCharacterBreakIterator::NonSharedCharacterBreakIterator(unsigned short const*, int).
2932 Add symbol for WebCore::NonSharedCharacterBreakIterator::NonSharedCharacterBreakIterator(WTF::StringView).
2936 2014-01-17 Andreas Kling <akling@apple.com>
2938 Remove unused TOUCH_ADJUSTMENT code.
2939 <https://webkit.org/b/127181>
2941 There are no ports using the ENABLE(TOUCH_ADJUSTMENT) feature
2942 anymore, so nuke it from orbit.
2944 Reviewed by Anders Carlsson.
2946 * page/EventHandler.cpp:
2947 * page/EventHandler.h:
2949 * page/TouchAdjustment.cpp: Removed.
2950 * page/TouchAdjustment.h: Removed.
2951 * testing/Internals.cpp:
2952 * testing/Internals.h:
2953 * testing/Internals.idl:
2955 2014-01-17 Beth Dakin <bdakin@apple.com>
2957 Need a way to test the tile cache with margins enabled
2958 https://bugs.webkit.org/show_bug.cgi?id=127194
2960 <rdar://problem/15571327>
2962 Reviewed by Tim Horton.
2964 This patch adds a new function to InternalSettings that will allow layout tests to
2965 flip the setting Settings::setBackgroundShouldExtendBeyondPage(). This patch also
2966 makes changing that setting take effect immediately.
2968 To make this setting dynamic, we can no longer generate the Setting function, so
2969 we have to export the symbol manually.
2972 This new function on FrameView will call into RenderLayerBacking to add or remove
2974 * page/FrameView.cpp:
2975 (WebCore::FrameView::setBackgroundExtendsBeyondPage):
2978 Again, we’re no longer using the boiler-plate generated Setting functions, so now
2979 we can call into FrameView to make the background extend.
2980 * page/Settings.cpp:
2981 (WebCore::Settings::Settings):
2982 (WebCore::Settings::setBackgroundShouldExtendBeyondPage):
2984 (WebCore::Settings::backgroundShouldExtendBeyondPage):
2987 Whenever tile margins are set, call setNeedsRevalidateTiles() to make the change
2989 * platform/graphics/ca/mac/TileController.mm:
2990 (WebCore::TileController::setTileMargins):
2992 Move the call to TiledBacking::setTileMargins() into a helper function so that the
2993 same code can be used for FrameView.
2994 * rendering/RenderLayerBacking.cpp:
2995 (WebCore::RenderLayerBacking::RenderLayerBacking):
2996 (WebCore::RenderLayerBacking::setTiledBackingHasMargins):
2997 * rendering/RenderLayerBacking.h:
2999 New InternalSetting.
3000 * testing/InternalSettings.cpp:
3001 (WebCore::InternalSettings::setBackgroundShouldExtendBeyondPage):
3002 * testing/InternalSettings.h:
3003 * testing/InternalSettings.idl:
3005 2014-01-17 Anders Carlsson <andersca@apple.com>
3007 Remove another unused FrameLoaderClient callback
3008 https://bugs.webkit.org/show_bug.cgi?id=127192
3010 Reviewed by Dan Bernstein.
3012 FrameLoaderClient::dispatchDocumentElementAvailable() was only used by the Chromium port, so remove it.
3014 * html/ImageDocument.cpp:
3015 (WebCore::ImageDocument::createDocumentStructure):
3016 * html/MediaDocument.cpp:
3017 (WebCore::MediaDocumentParser::createDocumentStructure):
3018 * html/PluginDocument.cpp:
3019 (WebCore::PluginDocumentParser::createDocumentStructure):
3020 * html/parser/HTMLConstructionSite.cpp:
3021 (WebCore::HTMLConstructionSite::dispatchDocumentElementAvailableIfNeeded):
3022 * loader/EmptyClients.h:
3023 * loader/FrameLoader.cpp:
3024 * loader/FrameLoader.h:
3025 * loader/FrameLoaderClient.h:
3026 * xml/parser/XMLDocumentParserLibxml2.cpp:
3027 (WebCore::XMLDocumentParser::startElementNs):
3029 2014-01-17 Anders Carlsson <andersca@apple.com>
3031 Remove FrameLoaderClient::didPerformFirstNavigation()
3032 https://bugs.webkit.org/show_bug.cgi?id=127191
3034 Reviewed by Dan Bernstein.
3036 * loader/EmptyClients.h:
3037 * loader/FrameLoader.cpp:
3038 (WebCore::FrameLoader::FrameLoader):
3039 * loader/FrameLoader.h:
3040 * loader/FrameLoaderClient.h:
3041 * loader/HistoryController.cpp:
3042 (WebCore::HistoryController::updateBackForwardListClippedAtTarget):
3044 2014-01-17 Anders Carlsson <andersca@apple.com>
3046 Move didPerformFirstNavigation() logic to -[WebView _didCommitLoadForFrame:]
3047 https://bugs.webkit.org/show_bug.cgi?id=127189
3049 Reviewed by Dan Bernstein.
3051 * loader/FrameLoaderClient.h:
3052 (WebCore::FrameLoaderClient::didPerformFirstNavigation):
3053 Add an empty implementation of didPerformFirstNavigation() to make it easier to remove it from subclasses.
3055 2014-01-17 Eric Carlson <eric.carlson@apple.com>
3057 [iOS] HTMLMediaSession should set AudioSession category
3058 https://bugs.webkit.org/show_bug.cgi?id=127137
3060 Reviewed by Sam Weinig.
3062 * html/HTMLMediaSession.cpp:
3063 (WebCore::initializeAudioSession): New, set the audio session to "media" on iOS.
3064 (WebCore::HTMLMediaSession::HTMLMediaSession): Call initializeAudioSession.
3066 2014-01-17 Daniel Bates <dabates@apple.com>
3068 Fix the iOS build after <http://trac.webkit.org/changeset/162178>
3069 (https://bugs.webkit.org/show_bug.cgi?id=127147)
3071 Declare WebMediaSessionHelper outside of namespace WebCore to resolve error that
3072 "Objective-C declarations may only appear in global scope".
3074 * platform/audio/ios/MediaSessionManagerIOS.mm:
3076 2014-01-17 Bem Jones-Bey <bjonesbe@adobe.com>
3078 [CSS Shapes] Stacked floats with shape-outside should allow inline content to interact with the non-outermost float
3079 https://bugs.webkit.org/show_bug.cgi?id=122576
3081 Reviewed by David Hyatt.
3083 Make inline content interact with stacked floats with shape-outside
3084 per the spec. This means that content can interact with floats on the
3085 line that are not the outermost float.
3087 This refactors ComputeFloatOffsetAdapter into a superclass and two
3088 subclasses: one adaptor for determining the offset for float layout,
3089 and one for determining the offset for inline layout.
3091 The logic in LineWidth::shrinkAvailableWidthForNewFloatIfNeeded has
3092 been updated to handle stacked floats with shape-outside properly and
3093 has been considerably simplified in the process. It was previously
3094 doing a whole bunch of unnecessary work.
3096 Tests: fast/shapes/shape-outside-floats/shape-outside-floats-stacked-000.html
3097 fast/shapes/shape-outside-floats/shape-outside-floats-stacked-001.html
3098 fast/shapes/shape-outside-floats/shape-outside-floats-stacked-002.html
3100 * rendering/FloatingObjects.cpp:
3101 (WebCore::ComputeFloatOffsetAdapter::~ComputeFloatOffsetAdapter):
3102 (WebCore::ComputeFloatOffsetForFloatLayoutAdapter::ComputeFloatOffsetForFloatLayoutAdapter):
3103 (WebCore::ComputeFloatOffsetForFloatLayoutAdapter::~ComputeFloatOffsetForFloatLayoutAdapter):
3104 (WebCore::ComputeFloatOffsetForLineLayoutAdapter::ComputeFloatOffsetForLineLayoutAdapter):
3105 (WebCore::ComputeFloatOffsetForLineLayoutAdapter::~ComputeFloatOffsetForLineLayoutAdapter):
3106 (WebCore::FloatingObjects::logicalLeftOffsetForPositioningFloat):
3107 (WebCore::FloatingObjects::logicalRightOffsetForPositioningFloat):
3108 (WebCore::FloatingObjects::logicalLeftOffset):
3109 (WebCore::FloatingObjects::logicalRightOffset):
3110 (WebCore::ComputeFloatOffsetForFloatLayoutAdapter<FloatingObject::FloatLeft>::updateOffsetIfNeeded):
3111 (WebCore::ComputeFloatOffsetForFloatLayoutAdapter<FloatingObject::FloatRight>::updateOffsetIfNeeded):
3112 (WebCore::ComputeFloatOffsetForFloatLayoutAdapter<FloatTypeValue>::heightRemaining):
3113 (WebCore::shapeInfoForFloat):
3114 (WebCore::ComputeFloatOffsetForLineLayoutAdapter<FloatingObject::FloatLeft>::updateOffsetIfNeeded):
3115 (WebCore::ComputeFloatOffsetForLineLayoutAdapter<FloatingObject::FloatRight>::updateOffsetIfNeeded):
3116 * rendering/line/LineWidth.cpp:
3117 (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
3118 * rendering/shapes/ShapeOutsideInfo.cpp:
3119 (WebCore::ShapeOutsideInfo::updateDeltasForContainingBlockLine):
3120 * rendering/shapes/ShapeOutsideInfo.h:
3122 2014-01-17 Zoltan Horvath <zoltan@webkit.org>
3124 [CSS3] Add rendering support for -webkit-text-align-last
3125 https://bugs.webkit.org/show_bug.cgi?id=99584
3127 Reviewed by David Hyatt.
3129 Add support for the text-align-last CSS3 property, according to the latest specification:
3130 http://dev.w3.org/csswg/css-text-3/#text-align-last-property
3132 Tests: fast/css3-text/css3-text-align-last/text-align-last-with-text-align-justify.html
3133 fast/css3-text/css3-text-align-last/text-align-last-with-text-align-non-justify.html
3135 * rendering/RenderBlockLineLayout.cpp:
3136 (WebCore::RenderBlockFlow::textAlignmentForLine):
3137 * rendering/style/RenderStyle.cpp:
3138 (WebCore::RenderStyle::changeRequiresLayout):
3140 2014-01-17 Daniel Bates <dabates@apple.com>
3142 Fix the iOS build after <http://trac.webkit.org/changeset/162208>
3143 (https://bugs.webkit.org/show_bug.cgi?id=127139)
3145 __MAC_OS_X_VERSION_MIN_REQUIRED isn't defined when building for iOS. Instead, explicitly
3146 check that we're not PLATFORM(IOS) to avoid defining the enum value CFHTTPCookieStorageAcceptPolicyExclusivelyFromMainDocumentDomain.
3148 * platform/network/cf/CookieJarCFNet.cpp:
3150 2014-01-17 Bear Travis <betravis@adobe.com>
3152 [CSS Shapes] Basic shapes' computed position should be a horizontal and vertical offset
3153 https://bugs.webkit.org/show_bug.cgi?id=127010
3155 Reviewed by Rob Buis.
3157 This patch updates the computed position values used for blending to be a horizontal
3158 left offset and a vertical top offset. When positions include a center, bottom, or
3159 right position offset, it is converted to the appropriate top/left coordinate as
3160 a calc expression. Serialized values still use the original bottom/right directions
3161 when present, and also omit the top/left keywords where possible.
3163 Updated parsing and animation tests.
3165 * css/BasicShapeFunctions.cpp:
3166 (WebCore::valueForCenterCoordinate): Use the simplified BasicShapeCenterCoordinate,
3167 which includes an offset and whether the direction is from the top/left or bottom/right.
3168 (WebCore::valueForBasicShape): Ditto.
3169 (WebCore::convertToCenterCoordinate): Ditto.
3170 (WebCore::basicShapeForValue): Ditto.
3171 (WebCore::floatValueForCenterCoordinate): Ditto.
3172 * page/animation/CSSPropertyAnimation.cpp:
3173 (WebCore::blendFunc): Remove the RenderBox parameter, which is no longer needed.
3174 * rendering/style/BasicShapes.cpp:
3175 (WebCore::BasicShapeCenterCoordinate::updateComputedLength): Calculate the computed
3176 position offset for this center coordinate.
3177 (WebCore::BasicShapeRectangle::blend): Remove the RenderBox parameter.
3178 (WebCore::DeprecatedBasicShapeCircle::blend): Ditto.
3179 (WebCore::BasicShapeCircle::blend): Ditto.
3180 (WebCore::DeprecatedBasicShapeEllipse::blend): Ditto.
3181 (WebCore::BasicShapeEllipse::blend): Ditto.
3182 (WebCore::BasicShapePolygon::blend): Ditto.
3183 (WebCore::BasicShapeInsetRectangle::blend): Ditto.
3184 (WebCore::BasicShapeInset::blend): Ditto.
3185 * rendering/style/BasicShapes.h:
3186 (WebCore::BasicShapeCenterCoordinate::BasicShapeCenterCoordinate): Simplify
3187 BasicShapeCenterCoordinate to contain an offset and a direction. Also add a
3188 computed length, which is an offset from the top/left direction.
3189 (WebCore::BasicShapeCenterCoordinate::direction):
3190 (WebCore::BasicShapeCenterCoordinate::computedLength):
3191 (WebCore::BasicShapeCenterCoordinate::blend):
3193 2014-01-17 Alexey Proskuryakov <ap@apple.com>
3195 More non-Mac build fix.
3197 * platform/network/cf/CookieJarCFNet.cpp:
3199 2014-01-16 Myles C. Maxfield <mmaxfield@apple.com>
3201 Unprefix text-emphasis CSS properties
3202 https://bugs.webkit.org/show_bug.cgi?id=127160
3204 Reviewed by Sam Weinig.
3206 Add synonym CSS properties. We don't want to delete the old ones because
3207 we've shipped with them included.
3209 Test: fast/css3-text/css3-text-decoration/text-decoration-unprefix.html
3211 * css/CSSPropertyNames.in:
3213 2014-01-17 Alberto Garcia <berto@igalia.com>
3215 [GTK] WebKitGtk/testcopyandpaste fails in debug builds
3216 https://bugs.webkit.org/show_bug.cgi?id=127173
3218 Reviewed by Carlos Garcia Campos.
3220 Remove duplicate "PasteGlobalSelection" entry.
3222 * editing/EditorCommand.cpp:
3223 (WebCore::createCommandMap):
3225 2014-01-14 Andreas Kling <akling@apple.com>
3227 Pack ResourceRequest harder.
3228 <https://webkit.org/b/126982>
3230 Re-arrange the members of ResourceRequest to reduce padding,
3231 shrinking it by 8 bytes.
3233 Reviewed by Anders Carlsson.
3235 * platform/network/ResourceRequestBase.h:
3236 (WebCore::ResourceRequestBase::ResourceRequestBase):
3238 2014-01-17 Peter Molnar <pmolnar.u-szeged@partner.samsung.com>
3240 Remove workaround for compilers not supporting deleted functions
3241 https://bugs.webkit.org/show_bug.cgi?id=127166
3243 Reviewed by Andreas Kling.
3245 * bindings/js/JSLazyEventListener.h:
3246 * dom/ContainerNode.h:
3249 * rendering/InlineFlowBox.h:
3250 * rendering/InlineTextBox.h:
3251 * rendering/RenderButton.h:
3252 * rendering/RenderCombineText.h:
3253 * rendering/RenderElement.h:
3254 * rendering/RenderFieldset.h:
3255 * rendering/RenderFileUploadControl.h:
3256 * rendering/RenderFrame.h:
3257 * rendering/RenderFrameBase.h:
3258 * rendering/RenderFrameSet.h:
3259 * rendering/RenderHTMLCanvas.h:
3260 * rendering/RenderIFrame.h:
3261 * rendering/RenderLineBreak.h:
3262 * rendering/RenderListBox.h:
3263 * rendering/RenderListMarker.h:
3264 * rendering/RenderMedia.h:
3265 * rendering/RenderMenuList.h:
3266 * rendering/RenderSnapshottedPlugIn.h:
3267 * rendering/RenderTableCell.h:
3268 * rendering/RenderTableRow.h:
3269 * rendering/RenderTableSection.h:
3270 * rendering/RenderText.h:
3271 * rendering/RenderTextControl.h:
3272 * rendering/RenderTextControlMultiLine.h:
3273 * rendering/RenderTextControlSingleLine.h:
3274 * rendering/RenderVideo.h:
3275 * rendering/RenderWidget.h:
3276 * rendering/svg/RenderSVGBlock.h:
3277 * rendering/svg/RenderSVGForeignObject.h:
3278 * rendering/svg/RenderSVGImage.h:
3279 * rendering/svg/RenderSVGInline.h:
3280 * rendering/svg/RenderSVGRect.h:
3281 * rendering/svg/RenderSVGResourceClipper.h:
3282 * rendering/svg/RenderSVGResourceFilter.h:
3283 * rendering/svg/RenderSVGResourceFilterPrimitive.h:
3284 * rendering/svg/RenderSVGResourceGradient.h:
3285 * rendering/svg/RenderSVGResourceLinearGradient.h:
3286 * rendering/svg/RenderSVGResourceMarker.h:
3287 * rendering/svg/RenderSVGResourceMasker.h:
3288 * rendering/svg/RenderSVGResourcePattern.h:
3289 * rendering/svg/RenderSVGResourceRadialGradient.h:
3290 * rendering/svg/RenderSVGRoot.h:
3291 * rendering/svg/RenderSVGShape.h:
3292 * rendering/svg/RenderSVGTSpan.h:
3293 * rendering/svg/RenderSVGText.h:
3294 * rendering/svg/RenderSVGTextPath.h:
3295 * rendering/svg/RenderSVGTransformableContainer.h:
3296 * rendering/svg/RenderSVGViewportContainer.h:
3299 2014-01-17 Zan Dobersek <zdobersek@igalia.com>
3301 [ATK] Modernize the for loops in ATK AX code
3302 https://bugs.webkit.org/show_bug.cgi?id=127120
3304 Reviewed by Mario Sanchez Prada.
3306 Update the for loops to be range-based in ATK accessibility code.
3307 This work is complementary to r161979.
3309 * accessibility/atk/WebKitAccessibleInterfaceHypertext.cpp:
3310 (webkitAccessibleHypertextGetLink):
3311 * accessibility/atk/WebKitAccessibleInterfaceTable.cpp:
3312 (webkitAccessibleTableGetColumnHeader):
3313 (webkitAccessibleTableGetRowHeader):
3314 * accessibility/atk/WebKitAccessibleUtil.cpp:
3315 (accessibilityTitle):
3316 (accessibilityDescription):
3317 * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
3318 (getNChildrenForTable):
3320 (getIndexInParentForCellInRow):
3322 2014-01-17 Zan Dobersek <zdobersek@igalia.com>
3324 [Soup] Remove unnecessary using-directives for the std namespace
3325 https://bugs.webkit.org/show_bug.cgi?id=127122
3327 Reviewed by Martin Robinson.
3329 * platform/network/soup/ResourceRequestSoup.cpp: Remove the unnecessary using-directive for the std namespace
3330 as no symbols from that namespace are in use in this implementation file.
3331 * platform/network/soup/ResourceResponseSoup.cpp: Ditto.
3333 2014-01-16 Tim Horton <timothy_horton@apple.com>
3335 On iOS, zooming in with a TileController-backed main frame makes hundreds of tiles
3336 https://bugs.webkit.org/show_bug.cgi?id=126531
3337 <rdar://problem/15745862>
3339 Reviewed by Anders Carlsson.
3341 * platform/graphics/ca/mac/TileController.h:
3342 * platform/graphics/ca/mac/TileController.mm:
3343 (WebCore::TileController::tilesWouldChangeForVisibleRect):
3344 (WebCore::TileController::scaledExposedRect):
3345 (WebCore::TileController::computeTileCoverageRect):
3346 (WebCore::TileController::revalidateTiles):
3347 (WebCore::TileController::updateTileCoverageMap):
3348 Scale the FrameView-space exposedRect into document space, to match the visibleRect.
3350 Flipping on WKView's clipsToExposedRect now works correctly even in Safari
3351 or MiniBrowser with zooming.
3353 2014-01-15 Sam Weinig <sam@webkit.org>
3355 TextBreakIterator's should support Latin-1 for all iterator types (Part 3)
3356 https://bugs.webkit.org/show_bug.cgi?id=126856
3358 Reviewed by Ryosuke Niwa.
3360 Change all the TextBreakIterator creation functions to take StringViews. Remove a few
3361 now unnecessary up-conversions to UTF-16 in the process.
3363 * dom/CharacterData.cpp:
3364 * editing/TextCheckingHelper.cpp:
3365 * editing/VisibleUnits.cpp:
3366 * platform/graphics/StringTruncator.cpp:
3367 * platform/graphics/mac/ComplexTextController.cpp:
3368 * platform/text/TextBoundaries.cpp:
3369 * platform/text/TextBreakIterator.cpp:
3370 * platform/text/TextBreakIterator.h:
3371 * rendering/RenderText.cpp:
3373 2014-01-16 Anders Carlsson <andersca@apple.com>
3375 Run clang-modernize and let it add a bunch of missing overrides.
3377 Rubber-stamped by Sam Weinig.
3379 * dom/BeforeLoadEvent.h:
3380 * dom/ClassNodeList.h:
3382 * dom/CompositionEvent.h:
3383 * dom/DecodedDataDocumentParser.h:
3384 * dom/DeviceMotionEvent.h:
3385 * dom/DeviceOrientationEvent.h:
3386 * dom/DocumentMarker.cpp:
3387 * dom/DocumentType.h:
3388 * dom/EntityReference.h:
3390 * dom/HashChangeEvent.h:
3391 * dom/MessageEvent.h:
3393 * dom/MouseRelatedEvent.h:
3394 * dom/MutationEvent.h:
3395 * dom/NameNodeList.h:
3397 * dom/OverflowEvent.h:
3398 * dom/PendingScript.h:
3399 * dom/PopStateEvent.h:
3400 * dom/ProcessingInstruction.h:
3401 * dom/ScriptElement.h:
3402 * dom/ScriptExecutionContext.cpp:
3403 * dom/ScriptableDocumentParser.h:
3404 * dom/ScriptedAnimationController.h:
3405 * dom/StringCallback.cpp:
3407 * html/FTPDirectoryDocument.h:
3408 * html/FileInputType.cpp:
3409 * html/HTMLAppletElement.h:
3410 * html/HTMLBRElement.h:
3411 * html/HTMLBaseElement.h:
3412 * html/HTMLBodyElement.h:
3413 * html/HTMLButtonElement.h:
3414 * html/HTMLDocument.h:
3415 * html/HTMLEmbedElement.h:
3416 * html/HTMLFormControlsCollection.h:
3417 * html/HTMLFrameElement.h:
3418 * html/HTMLFrameSetElement.h:
3419 * html/HTMLHRElement.h:
3420 * html/HTMLIFrameElement.h:
3421 * html/HTMLKeygenElement.cpp:
3422 * html/HTMLKeygenElement.h:
3423 * html/HTMLLinkElement.h:
3424 * html/HTMLMarqueeElement.h:
3425 * html/HTMLObjectElement.h:
3426 * html/HTMLOutputElement.h:
3427 * html/HTMLParamElement.h:
3428 * html/HTMLScriptElement.h:
3429 * html/HTMLStyleElement.h:
3430 * html/HTMLSummaryElement.h:
3431 * html/HTMLTrackElement.h:
3432 * html/HTMLViewSourceDocument.h:
3433 * html/ImageDocument.cpp:
3434 * html/ImageDocument.h:
3435 * html/MediaDocument.cpp:
3436 * html/MediaDocument.h:
3437 * html/MediaKeyEvent.h:
3438 * html/PluginDocument.cpp:
3439 * html/RadioNodeList.h:
3440 * html/TextDocument.h:
3441 * html/canvas/EXTDrawBuffers.h:
3442 * html/canvas/EXTTextureFilterAnisotropic.h:
3443 * html/canvas/OESElementIndexUint.h:
3444 * html/canvas/OESStandardDerivatives.h:
3445 * html/canvas/OESTextureFloat.h:
3446 * html/canvas/OESTextureFloatLinear.h:
3447 * html/canvas/OESTextureHalfFloat.h:
3448 * html/canvas/OESTextureHalfFloatLinear.h:
3449 * html/canvas/OESVertexArrayObject.h:
3450 * html/canvas/WebGLBuffer.h:
3451 * html/canvas/WebGLCompressedTextureATC.h:
3452 * html/canvas/WebGLCompressedTexturePVRTC.h:
3453 * html/canvas/WebGLCompressedTextureS3TC.h:
3454 * html/canvas/WebGLContextEvent.h:
3455 * html/canvas/WebGLContextObject.h:
3456 * html/canvas/WebGLDebugRendererInfo.h:
3457 * html/canvas/WebGLDebugShaders.h:
3458 * html/canvas/WebGLDepthTexture.h:
3459 * html/canvas/WebGLFramebuffer.cpp:
3460 * html/canvas/WebGLFramebuffer.h:
3461 * html/canvas/WebGLLoseContext.h:
3462 * html/canvas/WebGLProgram.h:
3463 * html/canvas/WebGLRenderbuffer.h:
3464 * html/canvas/WebGLRenderingContext.cpp:
3465 * html/canvas/WebGLRenderingContext.h:
3466 * html/canvas/WebGLShader.h:
3467 * html/canvas/WebGLSharedObject.h:
3468 * html/canvas/WebGLTexture.h:
3469 * html/canvas/WebGLVertexArrayObjectOES.h:
3470 * html/parser/HTMLDocumentParser.h:
3471 * html/parser/HTMLViewSourceParser.h:
3472 * html/shadow/DetailsMarkerControl.h:
3473 * html/shadow/MediaControls.h:
3474 * html/shadow/MediaControlsApple.h:
3475 * html/shadow/MeterShadowElement.h:
3476 * html/shadow/ProgressShadowElement.h:
3477 * html/shadow/SliderThumbElement.h:
3478 * html/track/LoadableTextTrack.h:
3479 * html/track/TrackEvent.h:
3480 * svg/SVGAElement.h:
3481 * svg/SVGAnimateColorElement.h:
3482 * svg/SVGAnimateElement.h:
3483 * svg/SVGAnimateMotionElement.h:
3484 * svg/SVGAnimateTransformElement.h:
3485 * svg/SVGAnimationElement.h:
3486 * svg/SVGCircleElement.h:
3487 * svg/SVGClipPathElement.h:
3488 * svg/SVGComponentTransferFunctionElement.h:
3489 * svg/SVGCursorElement.h:
3490 * svg/SVGDefsElement.h:
3491 * svg/SVGDescElement.h:
3492 * svg/SVGEllipseElement.h:
3493 * svg/SVGFEBlendElement.h:
3494 * svg/SVGFEColorMatrixElement.h:
3495 * svg/SVGFEComponentTransferElement.h:
3496 * svg/SVGFECompositeElement.h:
3497 * svg/SVGFEConvolveMatrixElement.h: