1 2013-12-01 Andreas Kling <akling@apple.com>
3 Make more computed style helpers return PassRef.
4 <https://webkit.org/b/125043>
6 Reduce branchiness in computed style code by making more of the
7 file-local helpers return PassRef instead of PassRefPtr.
9 Reviewed by Anders Carlsson.
11 2013-11-30 Ryuan Choi <ryuan.choi@samsung.com>
13 [EFL] Implement scrollbarThickness for opaque scrollbar
14 https://bugs.webkit.org/show_bug.cgi?id=125034
16 Reviewed by Gyuyoung Kim.
18 Implemented scrollbarThickness to support opaque scrollbar.
19 Now, edj can decide whether to support opaque scrollbar by adding scrollbar.thickness.
20 In addition, added OVERRIDE/FINAL keyword and removed unnecessary destructor
21 in ScrollbarThemeEfl.cpp.
23 No new tests, no behavior changes with default theme.
25 * platform/efl/RenderThemeEfl.cpp:
26 (WebCore::RenderThemeEfl::loadTheme):
27 Update thickness of scrollbar when theme was loaded.
28 * platform/efl/ScrollbarThemeEfl.cpp:
29 * platform/efl/ScrollbarThemeEfl.h:
30 (WebCore::ScrollbarThemeEfl::setScrollbarThickness):
31 (WebCore::ScrollbarThemeEfl::scrollbarThickness):
32 (WebCore::ScrollbarThemeEfl::registerScrollbar):
33 (WebCore::ScrollbarThemeEfl::unregisterScrollbar):
35 2013-11-29 Tamas Gergely <tgergely.u-szeged@partner.samsung.com>
37 Remove Symbian specific code.
38 https://bugs.webkit.org/show_bug.cgi?id=124939
40 Reviewed by Zoltan Herczeg.
42 Symbian is not supported, remove leftover code.
46 2013-11-28 Gyuyoung Kim <gyuyoung.kim@samsung.com>
48 Rename InlineIterator::m_obj and make it private
49 https://bugs.webkit.org/show_bug.cgi?id=124837
51 Reviewed by Antti Koivisto.
53 InlineIterator has been exported m_obj as public though there is a getter function.
54 Besides *object* name isn't ambigious. So, changed it with m_renderer and renderer().
55 Additionally, setRenderer() is added as well.
57 No new tests, no behavior changes.
59 * rendering/InlineIterator.h:
60 (WebCore::InlineIterator::setObject):
61 (WebCore::operator==):
62 (WebCore::operator!=):
63 (WebCore::InlineBidiResolver::appendRun):
64 * rendering/RenderBlockLineLayout.cpp:
65 (WebCore::RenderBlockFlow::appendRunsForObject):
66 (WebCore::constructBidiRunsForLine):
67 (WebCore::RenderBlockFlow::createLineBoxesFromBidiRuns):
68 (WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):
69 (WebCore::RenderBlockFlow::matchedEndLine):
70 * rendering/line/BreakingContextInlineHeaders.h:
71 (WebCore::TrailingObjects::updateMidpointsForTrailingBoxes):
72 (WebCore::BreakingContext::BreakingContext):
73 (WebCore::BreakingContext::currentObject):
74 (WebCore::BreakingContext::initializeForCurrentObject):
75 (WebCore::BreakingContext::handleBR):
76 (WebCore::BreakingContext::handleOutOfFlowPositioned):
77 (WebCore::BreakingContext::handleFloat):
78 (WebCore::BreakingContext::handleEmptyInline):
79 (WebCore::BreakingContext::handleReplaced):
80 (WebCore::iteratorIsBeyondEndOfRenderCombineText):
81 (WebCore::ensureCharacterGetsLineBox):
82 (WebCore::BreakingContext::handleText):
83 (WebCore::BreakingContext::canBreakAtThisPosition):
84 (WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):
85 (WebCore::checkMidpoints):
86 (WebCore::BreakingContext::handleEndOfLine):
87 * rendering/line/LineBreaker.cpp:
88 (WebCore::LineBreaker::skipTrailingWhitespace):
89 (WebCore::LineBreaker::skipLeadingWhitespace):
90 * rendering/line/LineInlineHeaders.h:
91 (WebCore::skipNonBreakingSpace):
92 (WebCore::requiresLineBox):
94 2013-11-28 Antti Koivisto <antti@apple.com>
96 Rename StylePropertySet to StyleProperties
97 https://bugs.webkit.org/show_bug.cgi?id=124990
99 Reviewed by Andreas Kling.
101 "Set" does not add useful information here. Use less clunky plural name.
103 2013-11-28 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org>
105 Nix Upstream: Adding EditorNix to WebCore
106 https://bugs.webkit.org/show_bug.cgi?id=124984
108 Reviewed by Csaba Osztrogonác.
113 * editing/nix/EditorNix.cpp: Added.
115 2013-11-28 Zoltan Horvath <zoltan@webkit.org>
117 [Win] Update vcxproj.filters, since LineInfo.h and LineLayoutState.h have been moved to rendering/line
118 https://bugs.webkit.org/show_bug.cgi?id=124959
120 Reviewed by Brent Fulgham.
122 Update WebCore.vcxproj.filters, since LineInfo.h (r155628) and LineLayoutState.h (158121) have been moved to rendering/line.
124 No new tests, no behavior change.
126 * WebCore.vcxproj/WebCore.vcxproj.filters:
128 2013-11-28 Laszlo Vidacs <lac@inf.u-szeged.hu>
130 RenderTableSection Blink merge asserting
131 https://bugs.webkit.org/show_bug.cgi?id=124857
133 Reviewed by Csaba Osztrogonác.
135 Use border spacing at the end of all sections.
137 * rendering/RenderTableSection.cpp:
138 (WebCore::RenderTableSection::calcRowLogicalHeight):
140 2013-11-28 Antti Koivisto <antti@apple.com>
142 Remove feature: CSS variables
143 https://bugs.webkit.org/show_bug.cgi?id=114119
145 Reviewed by Andreas Kling.
147 The feature is unmaintained and it is getting in the way of refactoring. Code quality is not up to
148 WebKit standards either.
150 * Configurations/FeatureDefines.xcconfig:
151 * GNUmakefile.list.am:
152 * WebCore.xcodeproj/project.pbxproj:
153 * css/CSSBasicShapes.cpp:
154 * css/CSSBasicShapes.h:
155 * css/CSSCalculationValue.cpp:
156 (WebCore::unitCategory):
157 (WebCore::hasDoubleValue):
158 (WebCore::CSSCalcPrimitiveValue::toCalcValue):
159 (WebCore::CSSCalcPrimitiveValue::computeLengthPx):
160 (WebCore::determineCategory):
161 (WebCore::CSSCalcBinaryOperation::primitiveType):
162 * css/CSSCalculationValue.h:
163 * css/CSSComputedStyleDeclaration.cpp:
164 (WebCore::ComputedStyleExtractor::propertyValue):
165 * css/CSSGrammar.y.in:
167 (WebCore::CSSParserContext::CSSParserContext):
168 (WebCore::operator==):
169 (WebCore::filterProperties):
170 (WebCore::CSSParser::createStylePropertySet):
171 (WebCore::CSSParser::addProperty):
172 (WebCore::CSSParser::validCalculationUnit):
173 (WebCore::CSSParser::validUnit):
174 (WebCore::CSSParser::createPrimitiveNumericValue):
175 (WebCore::CSSParser::parseValidPrimitive):
176 (WebCore::CSSParser::parseValue):
177 (WebCore::CSSParser::parseReflect):
178 (WebCore::CSSParser::detectDashToken):
179 (WebCore::CSSParser::realLex):
181 * css/CSSParserMode.h:
182 * css/CSSParserValues.cpp:
183 (WebCore::CSSParserValue::createCSSValue):
184 * css/CSSParserValues.h:
185 * css/CSSPrimitiveValue.cpp:
186 (WebCore::isValidCSSUnitTypeForDoubleConversion):
187 (WebCore::CSSPrimitiveValue::primitiveType):
188 (WebCore::CSSPrimitiveValue::cleanup):
189 (WebCore::CSSPrimitiveValue::getStringValue):
190 (WebCore::CSSPrimitiveValue::customCSSText):
191 (WebCore::CSSPrimitiveValue::equals):
192 * css/CSSPrimitiveValue.h:
193 * css/CSSPrimitiveValueMappings.h:
194 (WebCore::CSSPrimitiveValue::convertToLength):
195 * css/CSSProperty.cpp:
197 (WebCore::CSSProperty::CSSProperty):
198 * css/CSSReflectValue.cpp:
199 * css/CSSReflectValue.h:
201 (WebCore::CSSValue::equals):
202 (WebCore::CSSValue::cssText):
203 (WebCore::CSSValue::destroy):
205 (WebCore::CSSValue::setCssText):
206 * css/CSSValueList.cpp:
207 * css/CSSValueList.h:
208 * css/CSSVariableValue.h: Removed.
211 * css/StylePropertySet.cpp:
212 (WebCore::StylePropertySet::asText):
213 (WebCore::StylePropertySet::PropertyReference::cssName):
214 * css/StyleResolver.cpp:
215 (WebCore::StyleResolver::styleForPage):
216 (WebCore::StyleResolver::applyProperties):
217 (WebCore::StyleResolver::applyMatchedProperties):
218 (WebCore::StyleResolver::applyProperty):
219 * css/StyleResolver.h:
220 * css/WebKitCSSTransformValue.cpp:
221 * css/WebKitCSSTransformValue.h:
222 (WebCore::WebKitCSSTransformValue::equals):
225 (WebCore::Settings::Settings):
227 * rendering/style/RenderStyle.h:
228 * rendering/style/StyleRareInheritedData.cpp:
229 (WebCore::StyleRareInheritedData::StyleRareInheritedData):
230 (WebCore::StyleRareInheritedData::operator==):
231 * rendering/style/StyleRareInheritedData.h:
232 * rendering/style/StyleVariableData.h: Removed.
233 * testing/InternalSettings.cpp:
234 (WebCore::InternalSettings::Backup::Backup):
235 (WebCore::InternalSettings::Backup::restoreTo):
236 * testing/InternalSettings.h:
237 * testing/InternalSettings.idl:
239 2013-11-28 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org>
241 Updating RTCPeerConnectionHandlerMock after r159769
242 https://bugs.webkit.org/show_bug.cgi?id=124947
244 Reviewed by Philippe Normand.
246 Adding its create function back, in order to run RTCPeerConnection LayoutTests.
250 * platform/mock/RTCPeerConnectionHandlerMock.cpp:
251 (WebCore::RTCPeerConnectionHandlerMock::create):
252 * platform/mock/RTCPeerConnectionHandlerMock.h:
254 2013-11-27 Gustavo Noronha Silva <gustavo.noronha@collabora.com>
256 [GTK] Support custom types for drag and drop data
257 https://bugs.webkit.org/show_bug.cgi?id=124659
259 Reviewed by Martin Robinson.
261 Covered by fast/events/drag-customData.html.
263 * platform/gtk/DataObjectGtk.cpp:
264 (WebCore::DataObjectGtk::unknownTypes): returns a hash map with all custom types set.
265 (WebCore::DataObjectGtk::clearAllExceptFilenames): clear custom types.
266 * platform/gtk/DataObjectGtk.h:
267 (WebCore::DataObjectGtk::hasUnknownTypeData): returns whether custom types are set.
268 (WebCore::DataObjectGtk::unknownTypeData): returns the data for a custom type.
269 (WebCore::DataObjectGtk::setUnknownTypeData): sets the data for a custom type.
270 * platform/gtk/PasteboardGtk.cpp:
271 (WebCore::Pasteboard::writeString): handle unknown types as custom.
272 (WebCore::Pasteboard::writePasteboard): ditto.
273 (WebCore::Pasteboard::hasData): also check for custom types.
274 (WebCore::Pasteboard::types): also obtain the list of custom types.
275 (WebCore::Pasteboard::readString): handle unknown types as custom.
276 * platform/gtk/PasteboardHelper.cpp:
277 (WebCore::initGdkAtoms): new unknown atom.
278 (WebCore::PasteboardHelper::PasteboardHelper): add custom type to the list of targets.
279 (WebCore::PasteboardHelper::fillSelectionData): turns any custom types' data into a GVariant, which
280 is in turn serialized to a single string for GtkSelectionData to hold.
281 (WebCore::PasteboardHelper::targetListForDataObject): add custom data to the target list if any is
283 (WebCore::PasteboardHelper::fillDataObjectFromDropData): retrieve the custom types and their data
284 from the serialized GVariant string held by GtkSelectionData.
285 (WebCore::PasteboardHelper::dropAtomsForContext): handle custom types.
287 2013-11-27 Eric Carlson <eric.carlson@apple.com>
289 Allow the QuickTime plug-in to be replaced by script in an isolated word
290 https://bugs.webkit.org/show_bug.cgi?id=124900
292 Reviewed by Dean Jackson.
294 Test: plugins/quicktime-plugin-replacement.html
296 * CMakeLists.txt: Add new Modules path.
297 * DerivedSources.make: Add new files.
298 * GNUmakefile.am: Add new Modules path.
299 * GNUmakefile.list.am: Add new header.
300 * WebCore.vcxproj/WebCore.vcxproj: Add new header.
301 * WebCore.vcxproj/WebCoreCommon.props: Add new Modules path.
302 * WebCore.xcodeproj/project.pbxproj: Add new files.
304 * Modules/plugins: Added.
305 * Modules/plugins/PluginReplacement.h: Added. Defines the interface for a plug-in replacement.
307 Create a replacement for the QuickTime plug-in.
308 * Modules/plugins/QuickTimePluginReplacement.cpp: Added.
309 * Modules/plugins/QuickTimePluginReplacement.css: Added.
310 * Modules/plugins/QuickTimePluginReplacement.h: Added.
311 * Modules/plugins/QuickTimePluginReplacement.idl: Added.
312 * Modules/plugins/QuickTimePluginReplacement.js: Added.
314 Allow plug-in replacement to be enabled at runtime.
315 * bindings/generic/RuntimeEnabledFeatures.h:
316 (WebCore::RuntimeEnabledFeatures::setPluginReplacementEnabled):
317 (WebCore::RuntimeEnabledFeatures::pluginReplacementEnabled):
319 * bindings/js/JSDOMBinding.h:
320 (WebCore::toJS): Add toJS(... const String& ...).
322 * bindings/js/JSPluginElementFunctions.cpp:
323 (WebCore::pluginScriptObject): Give a plug-in replacement a first shot at defining the
326 * html/HTMLEmbedElement.cpp:
327 (WebCore::HTMLEmbedElement::updateWidget): Call base class requestObject.
329 * html/HTMLMediaElement.cpp:
330 (HTMLMediaElement::fileSize): New, passthrough to media engine.
331 * html/HTMLMediaElement.h:
333 * html/HTMLObjectElement.cpp:
334 (WebCore::HTMLObjectElement::updateWidget): Call base class requestObject.
336 Moved some logic that was previously used only for creating a plug-in snapshot to the base
337 class so it can be shared by a plug-in replacement.
338 * html/HTMLPlugInElement.cpp:
339 (WebCore::HTMLPlugInElement::HTMLPlugInElement): Initialize timer used to swap renderers.
340 (WebCore::HTMLPlugInElement::createRenderer): Allow plug-in replacement to create the renderer.
341 (WebCore::HTMLPlugInElement::swapRendererTimerFired): Create a shadow root.
342 (WebCore::HTMLPlugInElement::setDisplayState): Set the new state, prime the swap renderer
344 (WebCore::HTMLPlugInElement::didAddUserAgentShadowRoot): Tell the plug-in replacement to
345 install itself in the new shadow DOM.
346 (WebCore::registeredPluginReplacements): Return vector of all registered plug-in replacements.
347 (WebCore::registerPluginReplacement): Add a plug-in replacement.
348 (WebCore::pluginReplacementForType): Find a plug-in replacement for a MIME type.
349 (WebCore::HTMLPlugInElement::requestObject): If there is a plug-in replacement for the MIME type,
350 create it and set the display state.
351 (WebCore::HTMLPlugInElement::scriptObjectForPluginReplacement): Return the script object for
352 the current plug-in replacement, if any.
353 * html/HTMLPlugInElement.h:
355 Move some plug-in snapshot code into the base class.
356 * html/HTMLPlugInImageElement.cpp:
357 (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): No need to initialize timer.
358 (WebCore::HTMLPlugInImageElement::setDisplayState): Call base class.
359 (WebCore::HTMLPlugInImageElement::createRenderer): Ditto.
360 (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): Ditto.
361 (WebCore::HTMLPlugInImageElement::userDidClickSnapshot): Remove unnecessary class name.
362 (WebCore::HTMLPlugInImageElement::requestObject): New.
363 * html/HTMLPlugInImageElement.h:
365 * html/HTMLVideoElement.h: Make createRenderer public so the QuickTime plug-in replacement can
368 * platform/graphics/MediaPlayer.cpp:
369 (WebCore::MediaPlayer::fileSize): New.
370 * platform/graphics/MediaPlayer.h:
371 * platform/graphics/MediaPlayerPrivate.h:
373 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
374 (WebCore::MediaPlayerPrivateAVFoundation::extraMemoryCost): totalBytes returns an unsigned long long.
375 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
376 (WebCore::MediaPlayerPrivateAVFoundation::fileSize):
378 * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
379 (WebCore::MediaPlayerPrivateAVFoundationCF::totalBytes): Return an unsigned long long.
380 * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
382 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
383 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
384 (WebCore::MediaPlayerPrivateAVFoundationObjC::totalBytes): Ditto.
386 * testing/InternalSettings.cpp:
387 (WebCore::InternalSettings::Backup::Backup): Backup the plug-in replacement runtime setting.
388 (WebCore::InternalSettings::Backup::restoreTo): Restore it.
389 (WebCore::InternalSettings::setPluginReplacementEnabled): Set it.
390 * testing/InternalSettings.h:
391 * testing/InternalSettings.idl:
393 2013-11-27 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org>
395 Adding MediaConstraintsMock class
396 https://bugs.webkit.org/show_bug.cgi?id=124902
398 Reviewed by Eric Carlson.
400 Validate constraints used in RTCPeerConnection LayoutTests
402 Existing test was updated.
405 * GNUmakefile.list.am:
406 * platform/mock/MediaConstraintsMock.cpp: Added.
407 * platform/mock/MediaConstraintsMock.h: Added.
408 * platform/mock/MockMediaStreamCenter.cpp:
409 (WebCore::MockMediaStreamCenter::validateRequestConstraints): Now using MediaConstraintsMock
410 (WebCore::MockMediaStreamCenter::createMediaStream): Ditto.
411 * platform/mock/RTCPeerConnectionHandlerMock.cpp:
412 (WebCore::RTCPeerConnectionHandlerMock::initialize): Ditto.
414 2013-11-27 Bear Travis <betravis@adobe.com>
416 [CSS Shapes] Shape-Inside Should Default to 'auto'
417 https://bugs.webkit.org/show_bug.cgi?id=124851
419 Reviewed by Alexandru Chiculita.
421 The current shape-inside specification has the property default to the 'auto'
422 value, not 'outside-shape'.
424 Updated tests are under fast/shapes.
426 * rendering/style/RenderStyle.cpp:
427 * rendering/style/RenderStyle.h:
429 2013-11-27 Hans Muller <hmuller@adobe.com>
431 [CSS Shapes] shape-inside rectangle layout can fail
432 https://bugs.webkit.org/show_bug.cgi?id=124784
434 Reviewed by Andreas Kling.
436 Apply LayoutUnit::fromFloatCeil() consistently in RectangleShape::firstIncludedIntervalLogicalTop().
438 Test: fast/shapes/shape-inside/shape-inside-subpixel-rectangle-top.html
440 * rendering/shapes/RectangleShape.cpp:
441 (WebCore::RectangleShape::firstIncludedIntervalLogicalTop):
443 2013-11-27 Nick Diego Yamane <nick.yamane@openbossa.org>
445 Remove Qt-specific .qrc files
446 https://bugs.webkit.org/show_bug.cgi?id=124944
448 Reviewed by Andreas Kling.
452 * WebCore.qrc: Removed.
454 2013-11-27 Xabier Rodriguez Calvar <calvaris@igalia.com>
456 [GStreamer] Invalid command line error when visiting www.chessbase.com
457 https://bugs.webkit.org/show_bug.cgi?id=124715
459 Reviewed by Philippe Normand.
461 We were not handling the HTTP errors in the WebKit GStreamer
462 source and therefore the 404 error page was being 'decoded'. As no
463 decoder could be found (for obvious reasons), playback failed, but
464 it should be failing for the source not being found instead of the
467 Test: http/tests/media/video-error-does-not-exist.html
469 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
470 (StreamingClient::handleResponseReceived): Handle HTTP errors in
471 the source and raise a GStreamer error to the pipeline.
473 2013-11-14 Sergio Villar Senin <svillar@igalia.com>
475 [CSS Grid Layout] Fix positioning of grid items with margins
476 https://bugs.webkit.org/show_bug.cgi?id=124345
478 Reviewed by David Hyatt.
480 From Blink r157925 and r158041 by <jchaffraix@chromium.org>
482 Test: fast/css-grid-layout/grid-item-margin-resolution.html
484 Adds margin start/before to the positions of grid items (removing
485 several FIXME's in the current code). This means calling
486 findChildLogicalPosition() after the layout in order to have the
487 right values for the margins.
489 In order to match flexbox and author's intents we're also
490 including the margins of grid items in the intrinsic size of the
491 grid. That's why flexbox's marginLogicalPositionForChild() is
492 moved up to RenderBlock in order to share it with RenderGrid.
494 * rendering/RenderBlock.cpp:
495 (WebCore::RenderBlock::marginIntrinsicLogicalWidthForChild): Moved
496 from RenderFlexibleBox::marginLogicalWidthForChild().
497 * rendering/RenderBlock.h:
498 * rendering/RenderFlexibleBox.cpp:
499 (WebCore::RenderFlexibleBox::computeIntrinsicLogicalWidths):
500 * rendering/RenderGrid.cpp:
501 (WebCore::RenderGrid::computePreferredTrackWidth):
502 (WebCore::RenderGrid::layoutGridItems):
503 (WebCore::RenderGrid::findChildLogicalPosition):
505 2013-11-26 Sergio Villar Senin <svillar@igalia.com>
507 [CSS Grid Layout] Support grid-definition-{rows|columns} repeat() syntax
508 https://bugs.webkit.org/show_bug.cgi?id=103312
510 Reviewed by Andreas Kling.
512 Added support for the repeat() syntax inside
513 grid-definition-{rows|columns} by just adding the repeated values
514 to our list of column|row definitions.
516 The parsing of <track-name> was refactored in a new function as
517 it's used now in three different places. The <track-size> parsing
518 was also refactored to share it with the repeat() parsing.
520 Test: fast/css-grid-layout/grid-element-repeat-get-set.html
523 (WebCore::CSSParser::parseValue):
524 (WebCore::CSSParser::parseGridTrackNames):
525 (WebCore::CSSParser::parseGridTrackList):
526 (WebCore::CSSParser::parseGridTrackRepeatFunction):
527 (WebCore::CSSParser::parseGridTrackSize):
530 2013-11-26 Marcelo Lira <marcelo.lira@openbossa.org>
532 Nix upstreaming - Adding build files and supporting scripts
533 https://bugs.webkit.org/show_bug.cgi?id=118367
535 Reviewed by Ryosuke Niwa.
540 * PlatformNix.cmake: Added.
542 2013-11-26 Tim Horton <timothy_horton@apple.com>
544 Don't parent the TileController root layer in two places
545 https://bugs.webkit.org/show_bug.cgi?id=124873
547 Reviewed by Brent Fulgham.
549 * platform/graphics/ca/mac/TileController.mm:
550 (WebCore::TileController::TileController):
551 The TileController's layer is already parented by callers of
552 TileController::create, and in a special way. TileController
553 shouldn't parent itself, anyway...
555 2013-11-26 Nick Diego Yamane <nick.yamane@openbossa.org>
557 [MediaStream API] HTMLMediaElement should be able to use MediaStream as source
558 https://bugs.webkit.org/show_bug.cgi?id=121943
560 Reviewed by Eric Carlson.
562 Implement MediaStream direct assignment to Media Elements using the new 'srcObject'
563 attribute: http://www.w3.org/TR/mediacapture-streams/#direct-assignment-to-media-elements
565 Test: fast/mediastream/MediaStream-MediaElement-srcObject.html
567 * CMakeLists.txt: Added new HTMLMediaElementMediaStream.h and .cpp to cmake build.
568 * DerivedSources.make: Added HTMLMediaElementMediaStream.idl.
569 * GNUmakefile.list.am: Added new HTMLMediaElementMediaStream* to autotools build.
570 * WebCore.xcodeproj/project.pbxproj: Added new files.
571 * Modules/mediastream/HTMLMediaElementMediaStream.cpp: Added.
572 (WebCore::HTMLMediaElementMediaStream::srcObject): implements srcObject getter.
573 (WebCore::HTMLMediaElementMediaStream::setSrcObject): implements srcObject setter.
574 * Modules/mediastream/HTMLMediaElementMediaStream.h: Added.
575 * Modules/mediastream/HTMLMediaElementMediaStream.idl: Added.
576 * html/HTMLMediaElement.cpp:
577 (WebCore::HTMLMediaElement::setSrcObject): This is an initial implementation, and
578 is still incomplete, that will be addressed in a separate bug: https://webkit.org/b/124896
579 * html/HTMLMediaElement.h: Added m_mediaStreamSrcObject class variable
580 and its corresponding getter.
582 2013-11-26 Andreas Kling <akling@apple.com>
584 Use child iterator to find operators in RenderMathMLRow::layout().
585 <https://webkit.org/b/124108>
587 Replace manual children walk with childrenOfType<RenderMathMLBlock>.
588 Minor update to fix build.
590 Reviewed by Martin Robinson.
592 2013-11-26 Andreas Kling <akling@apple.com>
594 RenderObject: Inline isBody() and isHR().
595 <https://webkit.org/b/124901>
597 Together these account for ~0.3% of samples on HTML5-8266.
598 Almost all of it is call overhead.
600 Reviewed by Anders Carlsson.
602 2013-11-26 Bear Travis <betravis@adobe.com>
604 [CSS Shapes] Layout using [<box> || <shape>] value
605 https://bugs.webkit.org/show_bug.cgi?id=124428
607 Reviewed by David Hyatt.
609 When a box value is supplied, use it to size and position the shape. Otherwise,
610 use a default value (content-box for shape-inside, margin-box for shape-outside).
611 This patch extends the sizing and positioning code used for the box patch (Bug 124227)
612 to also apply to shapes. With this patch, we also no longer use the box-sizing
613 property to size and position shapes.
615 Tests: fast/shapes/shape-outside-floats/shape-outside-shape-boxes-001.html
616 fast/shapes/shape-outside-floats/shape-outside-shape-boxes-002.html
617 fast/shapes/shape-outside-floats/shape-outside-shape-boxes-003.html
619 * css/CSSComputedStyleDeclaration.cpp:
620 (WebCore::ComputedStyleExtractor::propertyValue): Adjust for ShapeValues storing
621 BasicShape::ReferenceBox as their box value, rather than a CSSValueID.
622 * css/DeprecatedStyleBuilder.cpp:
623 (WebCore::ApplyPropertyShape::applyValue): Ditto.
624 * rendering/shapes/ShapeInfo.h:
625 (WebCore::ShapeInfo::setShapeSize): Adjust for BasicShapes with reference boxes
626 as well as plain box values. Also, remove old box-sizing code.
627 (WebCore::ShapeInfo::logicalTopOffset): Ditto.
628 (WebCore::ShapeInfo::logicalLeftOffset): Ditto.
629 * rendering/shapes/ShapeInsideInfo.h:
630 * rendering/shapes/ShapeOutsideInfo.h:
631 * rendering/style/ShapeValue.h:
632 (WebCore::ShapeValue::createBoxValue): Adjust for boxes being stored as
633 BasicShape::ReferenceBoxes.
634 (WebCore::ShapeValue::box): Ditto.
635 (WebCore::ShapeValue::ShapeValue): Ditto.
637 2013-11-26 Brian J. Burg <burg@cs.washington.edu>
639 ImageBuffer::create should return a std::unique_ptr instead of OwnPtr.
640 https://bugs.webkit.org/show_bug.cgi?id=124822
642 Reviewed by Andreas Kling.
644 Replace all uses of OwnPtr<ImageBuffer> and PassOwnPtr<ImageBuffer> with
645 std::unique_ptr<ImageBuffer>. Replace calls to OwnPtr::clear() and
646 OwnPtr::release() with reset() and std::move(). Remove unnecessary includes.
648 No new tests. This is a mechanical refactoring.
650 * css/CSSFilterImageValue.cpp:
651 (WebCore::CSSFilterImageValue::image):
652 * html/HTMLCanvasElement.cpp:
653 (WebCore::HTMLCanvasElement::setSurfaceSize):
654 * html/HTMLCanvasElement.h:
655 * html/canvas/CanvasRenderingContext2D.cpp:
656 (WebCore::CanvasRenderingContext2D::createCompositingBuffer):
657 (WebCore::CanvasRenderingContext2D::fullCanvasCompositedDrawImage):
658 (WebCore::CanvasRenderingContext2D::fullCanvasCompositedFill):
659 (WebCore::CanvasRenderingContext2D::drawTextInternal):
660 * html/canvas/CanvasRenderingContext2D.h:
661 * html/canvas/WebGLRenderingContext.cpp:
662 (WebCore::WebGLRenderingContext::LRUImageBufferCache::LRUImageBufferCache):
663 (WebCore::WebGLRenderingContext::LRUImageBufferCache::imageBuffer):
664 * html/canvas/WebGLRenderingContext.h:
665 * html/shadow/MediaControlElements.cpp:
666 (WebCore::MediaControlTextTrackContainerElement::createTextTrackRepresentationImage):
668 (WebCore::Frame::nodeImage):
669 (WebCore::Frame::dragImageForSelection):
670 * platform/graphics/BitmapImage.cpp:
671 (WebCore::BitmapImage::drawPattern):
672 * platform/graphics/CrossfadeGeneratedImage.cpp:
673 (WebCore::CrossfadeGeneratedImage::drawPattern):
674 * platform/graphics/GradientImage.h:
675 * platform/graphics/GraphicsContext.cpp:
676 (WebCore::GraphicsContext::createCompatibleBuffer):
677 * platform/graphics/GraphicsContext.h:
678 * platform/graphics/ImageBuffer.cpp:
679 (WebCore::ImageBuffer::createCompatibleBuffer):
680 * platform/graphics/ImageBuffer.h:
681 (WebCore::ImageBuffer::create):
682 * platform/graphics/ShadowBlur.cpp:
683 * platform/graphics/cg/ImageBufferCG.cpp:
684 (WebCore::ImageBuffer::putByteArray):
685 * platform/graphics/cg/PDFDocumentImage.h:
686 * platform/graphics/filters/FETile.cpp:
687 (WebCore::FETile::platformApplySoftware):
688 * platform/graphics/filters/Filter.h:
689 (WebCore::Filter::setSourceImage):
690 * platform/graphics/filters/FilterEffect.cpp:
691 (WebCore::FilterEffect::clearResult):
692 * platform/graphics/filters/FilterEffect.h:
693 * platform/graphics/texmap/TextureMapper.cpp:
694 (WebCore::BitmapTexture::updateContents):
695 * platform/graphics/texmap/TextureMapperImageBuffer.h:
696 * rendering/InlineTextBox.cpp:
697 (WebCore::InlineTextBox::paintDecoration):
698 * rendering/RenderBoxModelObject.cpp:
699 (WebCore::RenderBoxModelObject::paintFillLayerExtended):
700 * rendering/RenderThemeMac.mm:
701 (WebCore::RenderThemeMac::paintProgressBar):
702 * rendering/shapes/Shape.cpp:
703 (WebCore::Shape::createShape):
704 * rendering/svg/RenderSVGImage.cpp:
705 (WebCore::RenderSVGImage::invalidateBufferedForeground):
706 * rendering/svg/RenderSVGImage.h:
707 * rendering/svg/RenderSVGResourceClipper.cpp:
708 (WebCore::RenderSVGResourceClipper::applyClippingToContext):
709 * rendering/svg/RenderSVGResourceClipper.h:
710 * rendering/svg/RenderSVGResourceFilter.cpp:
711 (WebCore::RenderSVGResourceFilter::applyResource):
712 (WebCore::RenderSVGResourceFilter::postApplyResource):
713 * rendering/svg/RenderSVGResourceFilter.h:
714 * rendering/svg/RenderSVGResourceGradient.cpp: Remove method parameter wrapping/indentation.
715 (WebCore::createMaskAndSwapContextForTextGradient):
716 (WebCore::clipToTextMask):
717 (WebCore::RenderSVGResourceGradient::applyResource):
718 * rendering/svg/RenderSVGResourceGradient.h:
719 * rendering/svg/RenderSVGResourceMasker.cpp:
720 (WebCore::RenderSVGResourceMasker::applyResource):
721 * rendering/svg/RenderSVGResourceMasker.h:
722 * rendering/svg/RenderSVGResourcePattern.cpp: Remove method parameter wrapping/indentation.
723 (WebCore::RenderSVGResourcePattern::buildPattern):
724 (WebCore::RenderSVGResourcePattern::createTileImage):
725 * rendering/svg/RenderSVGResourcePattern.h: Remove method parameter wrapping/indentation.
726 * rendering/svg/SVGRenderingContext.cpp:
727 (WebCore::SVGRenderingContext::createImageBuffer):
728 (WebCore::SVGRenderingContext::createImageBufferForPattern):
729 (WebCore::SVGRenderingContext::clipToImageBuffer):
730 (WebCore::SVGRenderingContext::bufferForeground):
731 * rendering/svg/SVGRenderingContext.h:
732 * svg/graphics/SVGImage.cpp:
733 (WebCore::SVGImage::nativeImageForCurrentFrame):
734 (WebCore::SVGImage::drawPatternForContainer):
736 2013-11-26 Eric Carlson <eric.carlson@apple.com>
738 video.currentSrc should return empty when no resource is loaded
739 https://bugs.webkit.org/show_bug.cgi?id=124898
741 Reviewed by Dan Bernstein.
743 Test: media/video-currentsrc-cleared.html
745 * html/HTMLMediaElement.cpp:
746 (WebCore::HTMLMediaElement::prepareForLoad): Set m_currentSrc to empty in
747 preparation for attempting to load a new url.
749 2013-11-26 Hans Muller <hmuller@adobe.com>
751 [CSS Shapes] Support for shape-margin in BoxShape
752 https://bugs.webkit.org/show_bug.cgi?id=124788
754 Reviewed by Andreas Kling.
756 Corrected BoxShape's internal shape-margin/padding bounds FloatRoundedRect
757 initialization. Tests for the padding bounds will be added when the rest of
758 shape-padding for box shapes implementation is ready.
760 Tests: fast/shapes/shape-outside-floats/shape-outside-margin-boxes-001.html
761 fast/shapes/shape-outside-floats/shape-outside-margin-boxes-002.html
763 * rendering/shapes/BoxShape.cpp: Use constructor shape-margin,shape-padding parameters.
764 (WebCore::BoxShape::BoxShape):
765 * rendering/shapes/BoxShape.h:
766 * rendering/shapes/Shape.cpp:
767 (WebCore::createBoxShape): Pass the shape-margin and shape-padding values along to the BoxShape constructor.
768 (WebCore::Shape::createShape): Ditto.
770 2013-11-26 Nick Diego Yamane <nick.yamane@openbossa.org>
772 Remove unnecessary webaudio include from MediaStreamSource header
773 https://bugs.webkit.org/show_bug.cgi?id=124897
775 Reviewed by Eric Carlson.
777 AudioDestinationConsumer.h is included but not used anywhere in
778 MediaStreamSource implementation.
780 * platform/mediastream/MediaStreamSource.h:
782 2013-11-26 Andreas Kling <akling@apple.com>
784 Avoid unnecessary copy-on-write in FillLayer style application.
785 <https://webkit.org/b/124878>
787 We ended up with a lot of cloned StyleBackgroundData objects on
788 HTML5-8266. This happened because we always forced a copy-on-write
789 when applying background-image:inherit / background-image:initial.
791 This patch adds early returns to both functions. In the "inherit"
792 case, we bail early if the target style already has the same fill
793 layer data as its parent style.
795 In the "initial" case, we optimize for the single-FillLayer case
796 and add an early return if the relevant value is either unset or
797 equal to the templatized initial value.
799 2.46 MB progression on HTML5-8266 locally.
801 Reviewed by Antti Koivisto.
803 2013-11-26 Antoine Quint <graouts@apple.com>
805 Web Inspector: Allow showing a context menu on all mouse events.
806 https://bugs.webkit.org/show_bug.cgi?id=124747
808 Reviewed by Joseph Pecoraro.
810 Add a new InspectorFrontendHost::dispatchEventAsContextMenuEvent(Event*) method
811 to let the inspector front-end dispatch a native contextmenu event that will allow
812 for a context menu to be shown from within a non-contextmenu event handler.
814 * inspector/InspectorFrontendHost.cpp:
815 (WebCore::InspectorFrontendHost::dispatchEventAsContextMenuEvent):
816 Check that we're dealing with a mouse event, get the frame for the event target
817 and the event's location to call ContextMenuController::showContextMenuAt()
818 which will handle the new contextmenu event dispatch to the original event target.
820 * inspector/InspectorFrontendHost.h:
821 * inspector/InspectorFrontendHost.idl:
823 2013-11-25 Sam Weinig <sam@webkit.org>
825 Convert some Shape code to use references
826 https://bugs.webkit.org/show_bug.cgi?id=124876
828 Reviewed by Andreas Kling.
830 * inspector/InspectorOverlay.cpp:
831 * rendering/FloatingObjects.cpp:
832 * rendering/LayoutState.cpp:
833 * rendering/RenderBlock.cpp:
834 * rendering/RenderBlock.h:
835 * rendering/RenderBlockLineLayout.cpp:
836 * rendering/RenderBox.cpp:
837 * rendering/RenderBox.h:
838 * rendering/line/BreakingContextInlineHeaders.h:
839 * rendering/line/LineWidth.cpp:
840 * rendering/shapes/ShapeInfo.cpp:
841 * rendering/shapes/ShapeInfo.h:
842 * rendering/shapes/ShapeInsideInfo.cpp:
843 * rendering/shapes/ShapeInsideInfo.h:
844 * rendering/shapes/ShapeOutsideInfo.cpp:
845 * rendering/shapes/ShapeOutsideInfo.h:
846 Replace yet more pointers with references.
848 2013-11-25 Simon Pena <simon.pena@samsung.com>
850 [EFL] X11Helper::createPixmap doesn't initialise out value handleId
851 https://bugs.webkit.org/show_bug.cgi?id=124722
853 Reviewed by Gyuyoung Kim.
855 The overloaded functions X11Helper::createPixmap don't initialise out
856 value handleId, and they do early returns on error situations. Since
857 the functions are void and they don't communicate their failure in any
858 way, returning an out value without initialising it could make the
859 error go farther unnoticed. With the variable being initialised, it can
860 be reliably checked for errors when the function returns.
862 * platform/graphics/surfaces/glx/X11Helper.cpp:
863 (WebCore::X11Helper::createPixmap): Initialise handleId to 0.
865 2013-11-25 Nick Diego Yamane <nick.yamane@openbossa.org>
867 Mark URLRegistry's lookup() as const and its child classes as final
868 https://bugs.webkit.org/show_bug.cgi?id=124865
870 Reviewed by Eric Carlson.
872 No new tests needed. No behavior changes.
874 * Modules/mediasource/MediaSourceRegistry.cpp:
875 (WebCore::MediaSourceRegistry::lookup): marked as const.
876 * Modules/mediasource/MediaSourceRegistry.h: MediaSourceRegistry
878 * Modules/mediastream/MediaStreamRegistry.cpp:
879 (WebCore::MediaStreamRegistry::lookup): marked as const.
880 * Modules/mediastream/MediaStreamRegistry.h: MediaStreamRegistry
883 * html/URLRegistry.h: lookup() marked as const.
884 (WebCore::URLRegistry::lookup): marked as const.
886 2013-11-25 Sergio Correia <sergio.correia@openbossa.org>
888 [MediaStream] Use std::unique_ptr instead of OwnPtr/PassOwnPtr
889 https://bugs.webkit.org/show_bug.cgi?id=124858
891 Reviewed by Eric Carlson.
893 Another step of the OwnPtr/PassOwnPtr => std::unique_ptr conversion,
894 now targeting mediastream-related code.
896 No new tests, covered by existing ones.
898 * Modules/mediastream/RTCDTMFSender.cpp:
899 * Modules/mediastream/RTCDTMFSender.h:
900 * Modules/mediastream/RTCDataChannel.cpp:
901 * Modules/mediastream/RTCDataChannel.h:
902 * Modules/mediastream/RTCPeerConnection.cpp:
903 * Modules/mediastream/RTCPeerConnection.h:
904 * platform/mediastream/MediaStreamSource.cpp:
905 * platform/mediastream/RTCPeerConnectionHandler.cpp:
906 * platform/mediastream/RTCPeerConnectionHandler.h:
907 * platform/mediastream/RTCPeerConnectionHandlerClient.h:
908 * platform/mock/RTCNotifiersMock.cpp:
909 * platform/mock/RTCPeerConnectionHandlerMock.cpp:
910 * platform/mock/RTCPeerConnectionHandlerMock.h:
912 2013-11-25 Nick Diego Yamane <nick.yamane@openbossa.org>
914 MediaStreamRegistry should store MediaStreams instead of MediaStreamPrivates
915 https://bugs.webkit.org/show_bug.cgi?id=124860
917 Reviewed by Eric Carlson.
919 MediaStreamRegistry::lookup() should return a MediaStream instead of MediaStreamPrivate.
921 No new tests needed. No behavior changes.
923 * Modules/mediastream/MediaStreamRegistry.cpp:
924 (WebCore::MediaStreamRegistry::registerURL): m_privateStreams -> m_mediaStreams
925 (WebCore::MediaStreamRegistry::unregisterURL): Ditto.
926 (WebCore::MediaStreamRegistry::lookup): Override URLRegistry::lookup() instead of add a
927 new method MediaStream::lookupMediaStreamPrivate().
928 * Modules/mediastream/MediaStreamRegistry.h:
929 * html/HTMLMediaElement.cpp:
930 (HTMLMediaElement::loadResource): call lookup() instead of lookupMediaStreamPrivate()
932 2013-11-25 peavo@outlook.com <peavo@outlook.com>
934 [WinCairo] Compile fails when GSTREAMER is not used.
935 https://bugs.webkit.org/show_bug.cgi?id=124853
937 Reviewed by Philippe Normand.
939 * platform/graphics/gstreamer/GStreamerUtilities.cpp: Don't include GStreamerUtilities.h when GSTREAMER is not used.
941 2013-11-25 Andreas Kling <akling@apple.com>
943 Deduplicate shortish Text node strings during tree construction.
944 <https://webkit.org/b/124855>
946 Let HTMLConstructionSite keep a hash set of already seen strings over
947 its lifetime. Use this to deduplicate the strings inside Text nodes
948 for any string up to 64 characters of length.
950 This optimization already sort-of existed for whitespace-only Texts,
951 but those are laundered in the AtomicString table which we definitely
952 don't want to pollute with every single Text. It might be a good idea
953 to stop using the AtomicString table for all-whitespace Text too.
955 3.82 MB progression on HTML5-8266 locally.
957 Reviewed by Anders Carlsson.
959 2013-11-25 Nick Diego Yamane <nick.yamane@openbossa.org>
961 Remove unnecessary MediaStreamTrackDescriptor forward declaration
962 https://bugs.webkit.org/show_bug.cgi?id=124854
964 Reviewed by Eric Carlson.
966 No new tests needed. No behavior changed.
968 * Modules/mediastream/VideoStreamTrack.h:
970 2013-11-25 Robert Hogan <robert@webkit.org>
972 Remove code now unnecessary after r159575
973 https://bugs.webkit.org/show_bug.cgi?id=124809
975 Reviewed by Antti Koivisto.
977 Covered by existing tests fast/block/margin-collapse/self-collapsing-block-with-float*
979 * rendering/line/LineBreaker.cpp:
980 (WebCore::LineBreaker::skipLeadingWhitespace):
982 2013-11-25 Laszlo Vidacs <lac@inf.u-szeged.hu>
984 Vertical border spacing is doubled between table row groups
985 https://bugs.webkit.org/show_bug.cgi?id=20040
987 Reviewed by Csaba Osztrogonác.
989 Based on Chromium fix https://chromium.googlesource.com/chromium/blink/+/eb615069267f895c59bc576f9d65b3fa5add41e9
991 Rebaseline needed for table related tests (100+).
993 * rendering/RenderTableSection.cpp:
994 (WebCore::RenderTableSection::calcRowLogicalHeight):
996 2013-11-25 Andres Gomez <agomez@igalia.com>
998 [GStreamer] Seeking fails on media content provided by servers not supporting Range requests
999 https://bugs.webkit.org/show_bug.cgi?id=85994
1001 Reviewed by Philippe Normand.
1003 Based on the patch written by Andre Moreira Magalhaes.
1005 When the GStreamer web source was doing a "Range" request we were
1006 expecting to receive a 206 status reply with the "Content-Range"
1007 header and just the requested data. Supporting "Range" requests is
1008 not mandatory so, for the servers not supporting it they will be
1009 replying with a 200 status and the whole content of the media
1010 element. Now, we are properly handling these replies too.
1012 Test: http/tests/media/media-seeking-no-ranges-server.html
1014 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
1015 (StreamingClient::handleResponseReceived): Do not fail when
1016 receiving 200 as response for HTTP range requests.
1017 (StreamingClient::handleDataReceived): Manually seek on stream
1018 when receiving the full data after a seek.
1020 2013-11-25 Radu Stavila <stavila@adobe.com>
1022 Removed obsolete FIXME after the landing of visual overflow patch (https://bugs.webkit.org/show_bug.cgi?id=118665).
1023 https://bugs.webkit.org/show_bug.cgi?id=124833
1025 Reviewed by Mihnea Ovidenie.
1027 * rendering/RenderRegion.cpp:
1028 (WebCore::RenderRegion::layoutBlock):
1030 2013-11-18 Sergio Villar Senin <svillar@igalia.com>
1032 [CSS Grid Layout] Cache several vectors to avoid malloc/free churn
1033 https://bugs.webkit.org/show_bug.cgi?id=123995
1035 Reviewed by Dean Jackson.
1037 From Blink r158228 by <jchaffraix@chromium.org>
1039 Laying-out the grid items means a lot of calls to
1040 distributeSpaceToTracks() and
1041 resolveContentBasedTrackSizingFunctionsForItems() as they're
1042 called in a loop. This means that there is a lot of malloc/free
1043 going on there. By moving the vectors used by these methods to a
1044 new class which is kept during the whole layout process we save a
1047 This obviously mean that the price we pay for a significant
1048 perfomance improvement is that we keep the maximum allocation till
1049 the end of each layout, but it's an amount of memory that we have
1050 to allocate anyway. The improvement in the
1051 auto-grid-lots-of-data.html perf test is ~24% (165 runs/s vs 207
1054 No new tests required as we're just refactoring code to a new
1055 helper class. Nevertheless the performance improvement is backed
1056 by the perf test mentioned above.
1058 * rendering/RenderGrid.cpp:
1059 (WebCore::RenderGrid::GridSizingData::GridSizingData):
1060 (WebCore::RenderGrid::computedUsedBreadthOfGridTracks):
1061 (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions):
1062 (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForItems):
1063 (WebCore::RenderGrid::distributeSpaceToTracks):
1064 (WebCore::RenderGrid::layoutGridItems):
1065 (WebCore::RenderGrid::findChildLogicalPosition):
1066 * rendering/RenderGrid.h:
1068 2013-11-24 Brady Eidson <beidson@apple.com>
1070 DatabaseProcess: Add "UniqueIDBDatabase" that multiple WebProcesses can connect to
1071 https://bugs.webkit.org/show_bug.cgi?id=124819
1073 Reviewed by Dan Bernstein.
1075 * Modules/indexeddb/IDBDatabaseBackend.cpp:
1076 (WebCore::IDBDatabaseBackend::~IDBDatabaseBackend): Unregister from the IDBFactory.
1078 2013-11-24 Gyuyoung Kim <gyuyoung.kim@samsung.com>
1080 Generate toHTMLMarquee|OListElement() to cleanup static_cast<>
1081 https://bugs.webkit.org/show_bug.cgi?id=124707
1083 Reviewed by Darin Adler.
1085 As a step to use toFoo(), we need to generate toHTMLMarquee|OListElement().
1086 Besides this patch cleans up remaining static_cast<> usage.
1088 No new tests, no behavior changes.
1090 * css/StyleResolver.cpp:
1091 (WebCore::StyleResolver::State::initElement):
1092 (WebCore::StyleResolver::locateCousinList):
1093 (WebCore::StyleResolver::findSiblingForStyleSharing):
1095 (WebCore::Attr::style):
1097 (WebCore::Element::removeAttribute):
1098 * editing/ApplyStyleCommand.cpp:
1099 (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
1100 (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode):
1101 * editing/EditingStyle.cpp:
1102 (WebCore::EditingStyle::wrappingStyleForSerialization):
1103 * editing/Editor.cpp:
1104 (WebCore::Editor::applyEditingStyleToElement):
1105 * editing/ReplaceSelectionCommand.cpp:
1106 (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
1107 * html/HTMLMarqueeElement.h:
1108 * html/HTMLOListElement.h:
1109 * html/HTMLTagNames.in:
1110 * inspector/InspectorCSSAgent.cpp:
1111 (WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):
1112 * inspector/InspectorOverlay.cpp:
1113 (WebCore::buildObjectForElementInfo):
1114 * page/PageSerializer.cpp:
1115 (WebCore::PageSerializer::serializeFrame):
1116 * rendering/RenderCounter.cpp:
1117 (WebCore::planCounter):
1118 * rendering/RenderLayer.cpp:
1119 (WebCore::RenderLayer::resize):
1120 * rendering/RenderListItem.cpp:
1121 (WebCore::RenderListItem::calcValue):
1122 (WebCore::RenderListItem::updateListMarkerNumbers):
1123 * rendering/RenderMarquee.cpp:
1124 (WebCore::RenderMarquee::marqueeSpeed):
1126 2013-11-24 Tim Horton <timothy_horton@apple.com>
1128 REGRESSION (r156291): TileController tiles don't always repaint when they resize
1129 https://bugs.webkit.org/show_bug.cgi?id=124796
1131 Reviewed by Simon Fraser.
1133 In removing platformCALayerDidCreateTiles, r156291 also removed
1134 the call to setNeedsDisplay when tiles are resized, without
1135 putting it somewhere else.
1137 * platform/graphics/ca/mac/TileController.mm:
1138 (WebCore::TileController::setNeedsDisplay):
1139 Use hasStaleContent when invalidating a whole tile, just
1140 like we do for partial tile repaints.
1142 (WebCore::TileController::setTileNeedsDisplayInRect):
1143 Mark hasStaleContent for any unparented layers, so they'll be painted
1144 when they are reparented.
1146 (WebCore::TileController::ensureTilesForRect):
1147 Invalidate the whole tile when it changes size.
1149 2013-11-23 Xabier Rodriguez Calvar <calvaris@igalia.com>
1151 [GStreamer] Remove 0.10 codepath
1152 https://bugs.webkit.org/show_bug.cgi?id=124534
1154 Reviewed by Philippe Normand.
1156 All GStreamer ports are using 1.0 now so we remove the 0.10
1159 * GNUmakefile.list.am:
1160 * PlatformEfl.cmake:
1161 * PlatformGTK.cmake:
1162 * WebCore.vcxproj/WebCore.vcxproj:
1163 * WebCore.vcxproj/WebCore.vcxproj.filters: Removed
1164 GStreamerVersioning.
1165 * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
1166 (onGStreamerWavparsePadAddedCallback): Removed.
1167 (WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):
1168 Replaced webkitGstPipelineGetBus and removed 0.10 codepath.
1169 (WebCore::AudioDestinationGStreamer::~AudioDestinationGStreamer):
1170 Replaced webkitGstPipelineGetBus.
1171 * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
1172 (WebCore::copyGstreamerBuffersToAudioChannel):
1173 (WebCore::onAppsinkPullRequiredCallback): Removed 0.10 codepath.
1174 (WebCore::AudioFileReader::~AudioFileReader): Replaced
1175 webkitGstPipelineGetBus and removed 0.10 codepath.
1176 (WebCore::AudioFileReader::handleSample): Left as only codepath.
1177 (WebCore::AudioFileReader::handleBuffer): Removed.
1178 (WebCore::AudioFileReader::handleNewDeinterleavePad): Removed 0.10
1180 (WebCore::AudioFileReader::plugDeinterleave): Replaced
1182 (WebCore::AudioFileReader::decodeAudioForBusCreation): Replaced
1183 webkitGstPipelineGetBus.
1184 (WebCore::AudioFileReader::createBus): Removed 0.10 codepath.
1185 * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
1186 (getGStreamerMonoAudioCaps):
1187 (webKitWebAudioGStreamerChannelPosition): Removed 0.10 codepath.
1188 (webkit_web_audio_src_class_init): Replaced
1189 setGstElementClassMetadata.
1190 (webkit_web_audio_src_init):
1191 (webKitWebAudioSrcConstructed):
1192 (webKitWebAudioSrcFinalize):
1193 (webKitWebAudioSrcLoop): Removed 0.10 codepath.
1194 * platform/graphics/gstreamer/AudioTrackPrivateGStreamer.cpp:
1195 * platform/graphics/gstreamer/AudioTrackPrivateGStreamer.h:
1196 Removed checks for 1.0 as it is the only codepath now.
1197 * platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
1200 (WTF::GstPadTemplate):
1203 (WTF::GstElementFactory):
1204 (WTF::adoptGRef): Replaced gstObjectIsFloating.
1205 (WTF::refGRef): Replaced webkitGstObjectRefSink.
1207 (WTF::GstSample): Removed checks for 1.0 as it is the only
1209 * platform/graphics/gstreamer/GRefPtrGStreamer.h: Removed checks
1210 for 1.0 as it is the only codepath now.
1211 * platform/graphics/gstreamer/GStreamerUtilities.cpp:
1212 (WebCore::webkitGstGhostPadFromStaticTemplate):
1213 (WebCore::getVideoSizeAndFormatFromCaps):
1214 (WebCore::createGstBuffer):
1215 (WebCore::createGstBufferForData):
1216 (WebCore::getGstBufferDataPointer):
1217 (WebCore::mapGstBuffer):
1218 (WebCore::unmapGstBuffer): Moved here from GstVersioning and added
1219 to WebCore namespace.
1220 * platform/graphics/gstreamer/GStreamerUtilities.h:
1221 (WebCore::webkitGstCheckVersion): Moved here from GstVersioning
1222 and added to WebCore namespace.
1223 * platform/graphics/gstreamer/GStreamerVersioning.cpp: Removed.
1224 * platform/graphics/gstreamer/GStreamerVersioning.h: Removed.
1225 * platform/graphics/gstreamer/ImageGStreamer.h: Removed checks for
1226 1.0 as it is the only codepath now.
1227 * platform/graphics/gstreamer/ImageGStreamerCairo.cpp:
1228 (ImageGStreamer::ImageGStreamer): Removed 0.10 codepath.
1229 (ImageGStreamer::~ImageGStreamer): Removed checks for 1.0 as it is
1230 the only codepath now.
1231 * platform/graphics/gstreamer/InbandMetadataTextTrackPrivateGStreamer.h:
1232 * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp:
1233 * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.h:
1234 Removed checks for 1.0 as it is the only codepath now.
1235 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1236 (WebCore::setAudioStreamPropertiesCallback): Removed 0.10 codepath.
1237 (WebCore::mediaPlayerPrivateTextChangedCallback): Removed checks
1238 for 1.0 as it is the only codepath now.
1239 (WebCore::MediaPlayerPrivateGStreamer::isAvailable): Replaced
1241 (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
1242 Removed checks for 1.0 and replaced webkitGstPipelineGetBus.
1243 (WebCore::MediaPlayerPrivateGStreamer::duration): Removed 0.10
1245 (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideo):
1246 (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfAudio):
1247 (WebCore::MediaPlayerPrivateGStreamer::textChanged):
1248 Removed checks for 1.0 as it is the only codepath now.
1249 (WebCore::MediaPlayerPrivateGStreamer::buffered): Replaced
1251 (WebCore::MediaPlayerPrivateGStreamer::handleMessage): Removed
1253 (WebCore::MediaPlayerPrivateGStreamer::processTableOfContents):
1254 Removed checks for 1.0 as it is the only codepath now.
1255 (WebCore::MediaPlayerPrivateGStreamer::totalBytes): Removed 0.10
1257 (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin): Replaced
1258 gPlaybinName and webkitGstPipelineGetBus and removed checks for
1260 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
1261 Removed checks for 1.0 as it is the only codepath now.
1262 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
1263 (WebCore::MediaPlayerPrivateGStreamerBase::naturalSize):
1264 (WebCore::MediaPlayerPrivateGStreamerBase::updateTexture):
1265 (WebCore::MediaPlayerPrivateGStreamerBase::paint): Removed 0.10
1267 * platform/graphics/gstreamer/TextCombinerGStreamer.cpp:
1268 * platform/graphics/gstreamer/TextCombinerGStreamer.h:
1269 * platform/graphics/gstreamer/TextSinkGStreamer.cpp:
1270 * platform/graphics/gstreamer/TextSinkGStreamer.h:
1271 * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
1272 * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h: Removed
1273 checks for 1.0 as it is the only codepath now.
1274 * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
1275 (webkitVideoSinkRender): Removed 0.10 codepath and added WebCore
1276 as createGstBuffer namespace.
1277 (webkitVideoSinkSetCaps): Removed 0.10 codepath.
1278 (webkitVideoSinkProposeAllocation): Removed checks for 1.0 as it
1279 is the only codepath now.
1280 (webkitVideoSinkMarshalVoidAndMiniObject): Removed as it was 0.10.
1281 (webkit_video_sink_class_init): Removed 0.10 codepath and replaced
1282 setGstElementClassMetadata.
1283 * platform/graphics/gstreamer/VideoTrackPrivateGStreamer.cpp:
1284 * platform/graphics/gstreamer/VideoTrackPrivateGStreamer.h:
1285 Removed checks for 1.0 as it is the only codepath now.
1286 * platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp:
1287 (webkit_media_src_class_init): Replaced
1288 setGstElementClassMetadata.
1289 (webKitMediaSrcAddSrc): Added WebCore namespace to
1290 webkitGstGhostPadFromStaticTemplate.
1291 (MediaSourceClientGstreamer::didReceiveData): Added WebCore
1292 namespace to createGstBufferForData.
1293 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
1294 Removed 0.10 codepath.
1295 (webKitWebSrcQuery): Removed as it was 0.10 only.
1296 (void webkit_web_src_class_init): Replaced setGstElementClassMetadata.
1297 (webkit_web_src_init): Removed haveAppSrc27 private attribute and
1299 (webKitWebSrcStop): Removed checks for 1.0 as it is the only
1301 (webKitWebSrcSetProperty):
1302 (webKitWebSrcUriGetType):
1303 (webKitWebSrcGetProtocols):
1304 (webKitWebSrcGetUri):
1305 (webKitWebSrcSetUri): Removed 0.10 codepath.
1306 (StreamingClient::createReadBuffer): Removed checks for 1.0 and
1307 replaced getGstBufferSize.
1308 (StreamingClient::handleResponseReceived): Removed 0.10 codepath
1309 and replaced notifyGstTagsOnPad.
1310 (StreamingClient::handleDataReceived): Removed 0.10 codepath and
1311 replaced setGstBufferSize and gst_buffer_get_size.
1313 2013-11-22 Jer Noble <jer.noble@apple.com>
1315 [Mac] Can't drag full-screen video to another monitor
1316 https://bugs.webkit.org/show_bug.cgi?id=124798
1318 Reviewed by Geoffrey Garen.
1320 Make full screen windows movable by default. Previously, we wanted non-movable full screen
1321 windows since they were in the same space and were just placed atop non-full screen windows.
1322 Now that all our supported Mac platforms have explicit full screen support, we can remove this
1323 non-movable restriction.
1325 * platform/mac/WebCoreFullScreenWindow.mm:
1326 (-[WebCoreFullScreenWindow initWithContentRect:styleMask:backing:defer:]):
1328 2013-11-22 Brent Fulgham <bfulgham@apple.com>
1330 [Win] Clean up ColorSpace handling in Windows code
1331 https://bugs.webkit.org/show_bug.cgi?id=124795
1333 Reviewed by Tim Horton.
1335 Functionality covered by existing fast/css/color test suite.
1337 * platform/graphics/cg/GraphicsContextCG.cpp:
1338 (WebCore::safeRGBColorSpaceRef): Handle case of Windows CG implementation not
1339 handling sRGB correctly.
1340 (WebCore::sRGBColorSpaceRef): Use new helper function.
1341 * platform/graphics/win/FontCGWin.cpp:
1342 (WebCore::Font::drawGlyphs): Pass correct color space to fill functions.
1343 * platform/graphics/win/GraphicsContextCGWin.cpp:
1344 (WebCore::GraphicsContext::platformInit): Initialize color space to value passed
1345 via the style to the constructor.
1347 2013-11-22 Alexey Proskuryakov <ap@apple.com>
1349 WebCrypto algorithms should check that key algorithm matches
1350 https://bugs.webkit.org/show_bug.cgi?id=123628
1352 Reviewed by Anders Carlsson.
1354 No change in behavior yet, because we have one algorithm per key class.
1355 Will be tested once more algorithms are added.
1357 * WebCore.xcodeproj/project.pbxproj: Updated for file renames.
1359 * bindings/js/JSCryptoAlgorithmDictionary.cpp:
1360 (WebCore::createRsaKeyParamsWithHash):
1361 (WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey):
1362 * bindings/js/JSCryptoKeySerializationJWK.cpp:
1363 (WebCore::createRSAKeyParametersWithHash):
1364 (WebCore::JSCryptoKeySerializationJWK::reconcileAlgorithm):
1365 * crypto/CryptoAlgorithmParameters.h:
1366 (WebCore::CryptoAlgorithmParameters::ENUM_CLASS):
1367 * crypto/parameters/CryptoAlgorithmRsaKeyParamsWithHash.h: Copied from Source/WebCore/crypto/parameters/CryptoAlgorithmRsaSsaKeyParams.h.
1368 * crypto/parameters/CryptoAlgorithmRsaSsaKeyParams.h: Removed.
1369 Renamed RsaSsaKeyParams to RsaKeyParamsWithHash, because other algorithms (like RSA-OAEP)
1370 are in the same boat. Depending on where the spec goes, we might need to introduce
1371 algorithm specific RSA parameter classes later, but let's reduce copy/pasted code at
1374 * crypto/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp: Moved to the correct directory.
1375 * crypto/mac/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp: Copied from Source/WebCore/crypto/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp.
1376 (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformSign): Factored out Mac specific
1377 code, leaving type casting to cross-platform files.
1378 (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformVerify): Ditto.
1380 * crypto/CryptoAlgorithmRegistry.h:
1381 (WebCore::CryptoAlgorithmRegistry::registerAlgorithm):
1382 * crypto/mac/CryptoAlgorithmRegistryMac.cpp:
1383 (WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms):
1384 Reduce copy/pasting in registration code.
1386 * crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:
1387 (WebCore::CryptoAlgorithmAES_CBC::keyAlgorithmMatches): Check key type and algorithm.
1388 (WebCore::CryptoAlgorithmAES_CBC::encrypt): Cross platform type casting code.
1389 Maybe we'll find a way to autogenerate or eliminate it one day.
1390 (WebCore::CryptoAlgorithmAES_CBC::decrypt): Ditto.
1392 * crypto/algorithms/CryptoAlgorithmAES_CBC.h:
1393 * crypto/algorithms/CryptoAlgorithmHMAC.cpp:
1394 (WebCore::CryptoAlgorithmHMAC::keyAlgorithmMatches):
1395 (WebCore::CryptoAlgorithmHMAC::sign):
1396 (WebCore::CryptoAlgorithmHMAC::verify):
1397 * crypto/algorithms/CryptoAlgorithmHMAC.h:
1398 * crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:
1399 (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::keyAlgorithmMatches):
1400 (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::sign):
1401 (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::verify):
1402 (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::importKey):
1403 * crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.h:
1404 * crypto/mac/CryptoAlgorithmAES_CBCMac.cpp:
1405 (WebCore::CryptoAlgorithmAES_CBC::platformEncrypt):
1406 (WebCore::CryptoAlgorithmAES_CBC::platformDecrypt):
1407 * crypto/mac/CryptoAlgorithmHMACMac.cpp:
1408 (WebCore::CryptoAlgorithmHMAC::platformSign):
1409 (WebCore::CryptoAlgorithmHMAC::platformVerify):
1410 Same changes for all algorithms that have keys.
1412 2013-11-22 Brendan Long <b.long@cablelabs.com>
1414 Fire "change" event on TextTrackList when a TextTrack's mode changes
1415 https://bugs.webkit.org/show_bug.cgi?id=124789
1417 Reviewed by Eric Carlson.
1419 Since AudioTrackList and VideoTrackList already have this event, the
1420 interesting bits are in TrackListBase::scheduleChangeEvent(), and we
1421 just need to call it for TextTrackList changes.
1423 Test: media/track/track-change-event.html
1425 * html/HTMLMediaElement.cpp:
1426 (HTMLMediaElement::textTrackModeChanged): Call TrackListBase::scheduleChangeEvent().
1427 * html/track/TextTrackList.idl: Add onchange event listener.
1429 2013-11-22 Brendan Long <b.long@cablelabs.com>
1431 Add TextTrackList::getTrackById().
1432 https://bugs.webkit.org/show_bug.cgi?id=124785
1434 Reviewed by Eric Carlson.
1436 Test: media/track/track-id.html
1438 * html/track/TextTrackList.cpp: Add getTrackById()
1439 (TextTrackList::getTrackById):
1440 * html/track/TextTrackList.h: Same.
1441 * html/track/TextTrackList.idl: Same.
1443 2013-11-22 Hans Muller <hmuller@adobe.com>
1445 [CSS Shapes] When the <box> value is set, derive radii from border-radius
1446 https://bugs.webkit.org/show_bug.cgi?id=124228
1448 Reviewed by Dean Jackson.
1450 Add support for BoxShape elliptical corners.
1452 Tests: fast/shapes/shape-outside-floats/shape-outside-rounded-boxes-001.html
1453 fast/shapes/shape-outside-floats/shape-outside-rounded-boxes-002.html
1455 * platform/graphics/FloatRoundedRect.h:
1456 (WebCore::FloatRoundedRect::bottomLeftCorner): Corrected a copy-and-pasteO.
1457 * rendering/shapes/BoxShape.cpp:
1458 (WebCore::BoxShape::getExcludedIntervals): Returned interval now depends on the top and bottom of the line.
1459 * rendering/shapes/Shape.cpp:
1460 (WebCore::Shape::createShape): Rounded rect parameters are now specified with a RoundedRect parameter.
1461 * rendering/shapes/Shape.h:
1462 * rendering/shapes/ShapeInfo.cpp:
1463 (WebCore::::computedShape): Pass style's rounded border to createShape().
1465 2013-11-22 Andres Gomez <agomez@igalia.com>
1467 Several missing/incorrect guards for LOG_DISABLED=0 against Release build (Mac)
1468 https://bugs.webkit.org/show_bug.cgi?id=78735
1470 Reviewed by Mario Sanchez Prada.
1472 In a "Debug" build the CString.h header comes from another
1473 indirect dependency. Now, we explicitly add this missing include.
1475 * page/CaptionUserPreferencesMediaAF.cpp: Explicitly adding
1478 2013-11-22 Robert Sipka <sipka@inf.u-szeged.hu>
1480 [curl] Fix of SSL certificate chain storage
1481 https://bugs.webkit.org/show_bug.cgi?id=124768
1483 Reviewed by Brent Fulgham.
1485 Change the certificates storage type into ListHashSet
1486 from HashSet to keep the chain order in each case.
1487 This ensures that there is no difference between the stored
1488 and the recieved certificate chain.
1490 * platform/network/curl/SSLHandle.cpp:
1491 (WebCore::allowsAnyHTTPSCertificateHosts):
1492 (WebCore::sslIgnoreHTTPSCertificate):
1494 (WebCore::certVerifyCallback):
1496 2013-11-22 Brent Fulgham <bfulgham@apple.com>
1498 [Win] Avoid deadlock when interacting with some AVFoundationCF content
1499 <rdar://problem/15482977> and https://bugs.webkit.org/show_bug.cgi?id=124752
1501 Prevent deadlock caused by conflict over the "mapLock" mutex. Notification handling in the file,
1502 which modify assets and make other changes, are required to happen on the main thread. This
1503 patch enforces this requirement.
1505 Reviewed by Eric Carlson.
1507 * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
1508 (WebCore::NotificationCallbackData::NotificationCallbackData): Added
1509 (WebCore::AVFWrapper::processNotification): Moved logic from 'notificationCallback', which was
1510 sometimes happening on a background thread.
1511 (WebCore::AVFWrapper::notificationCallback): Dispatch calls to main thread.
1513 2013-11-22 peavo@outlook.com <peavo@outlook.com>
1515 [WinCairo] Compile error when ACCELERATED_COMPOSITING is not used.
1516 https://bugs.webkit.org/show_bug.cgi?id=124773
1518 Reviewed by Brent Fulgham.
1520 * rendering/RenderView.cpp:
1521 (WebCore::RenderView::paintBoxDecorations): Added USE(ACCELERATED_COMPOSITING) guard.
1523 2013-11-18 Sergio Villar Senin <svillar@igalia.com>
1525 [CSS Grid Layout] Improve content-sized track layout
1526 https://bugs.webkit.org/show_bug.cgi?id=124408
1528 Reviewed by Dean Jackson.
1530 Test: fast/css-grid-layout/grid-item-with-percent-min-max-height-dynamic.html
1532 From Blink r156122 & r157633 by <jchaffraix@chromium.org>
1534 Added a couple of optimizations to speed up the layout of content
1535 based tracks. The idea is to narrow down the conditions for
1536 relayouting when the height of a grid area changes. We basically
1537 just need to layout tracks with percentage heights as they're the
1538 only ones that change.
1540 A new performance test is attached to demonstrate the effect of
1541 these optimizations. We get a ~1000% improvement on a i7 M620
1542 going from 14.5 runs/s to 165 runs/s.
1544 * rendering/RenderGrid.cpp:
1545 (WebCore::RenderGrid::logicalContentHeightForChild):
1546 (WebCore::RenderGrid::layoutGridItems):
1548 2013-11-08 Sergio Villar Senin <svillar@igalia.com>
1550 [CSS Grid Layout] Run the content-sized tracks sizing algorithm only when required
1551 https://bugs.webkit.org/show_bug.cgi?id=124039
1553 Reviewed by Dean Jackson.
1555 The current code runs the content sized track sizing algorithm all
1556 the time, which forces a layout even when the track is not
1557 content-sized. This change improves the situation by applying two
1558 optimizations. In the first one, we bail out the algorithm if we
1559 detect that we don't need to run it. And by the second one we
1560 reduce the amount of recomputations by only iterating over the
1561 content sized tracks instead of all of them. Both changes follow
1562 the ideas introduced in Blink r156028 and r156168 by
1563 <jchaffraix@chromium.org>.
1565 As we changed the way we iterate over children (we use the
1566 GridIterator now) the way they're stored in the RenderGrid changes
1567 too. If a item spans through several "cells" inside the grid, we
1568 will have a reference to it on each of them.
1570 These two changes account for a ~3200% improvement on a i7 M620 in
1571 the test that accompanies this change (15.5 vs 520 run/s).
1573 New perf test: PerformanceTests/Layout/fixed-grid-lots-of-data.html
1575 * rendering/RenderGrid.cpp:
1576 (WebCore::RenderGrid::computedUsedBreadthOfGridTracks): Keep track
1577 of content sized tracks and only iterate over them.
1578 (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions):
1579 (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForItems):
1580 Early return if there are no tracks to pass to the algorithm.
1581 * rendering/RenderGrid.h:
1582 * rendering/style/GridLength.h:
1583 (WebCore::GridLength::isContentSized):
1584 * rendering/style/GridTrackSize.h:
1585 (WebCore::GridTrackSize::isContentSized):
1587 2013-11-22 Manuel Rego Casasnovas <rego@igalia.com>
1589 [CSS Regions] Move code after early break in RenderRegion::repaintFlowThreadContentRectangle
1590 https://bugs.webkit.org/show_bug.cgi?id=124743
1592 Reviewed by Mihnea Ovidenie.
1594 No new tests, covered by existing tests.
1596 * rendering/RenderRegion.cpp:
1597 (WebCore::RenderRegion::repaintFlowThreadContentRectangle): Variable
1598 flippedFlowThreadPortionRect is not used before the early break, so we
1599 can move it after and save some unneeded operations.
1601 2013-11-22 Manuel Rego Casasnovas <rego@igalia.com>
1603 [CSS Regions] Use hasOverflowClip() in RenderRegion
1604 https://bugs.webkit.org/show_bug.cgi?id=124746
1606 Reviewed by Mihnea Ovidenie.
1608 Implement the suggested FIXME in RenderRegion using hasOverflowClip().
1610 No new tests, covered by existing tests.
1612 * rendering/RenderRegion.cpp:
1613 (WebCore::RenderRegion::overflowRectForFlowThreadPortion): Use
1615 (WebCore::RenderRegion::rectFlowPortionForBox): Ditto.
1617 2013-11-21 Frédéric Wang <fred.wang@free.fr>
1619 Map the dir attribute to the CSS direction property.
1620 https://bugs.webkit.org/show_bug.cgi?id=124572.
1622 Reviewed by Darin Adler.
1624 Test: mathml/presentation/mstyle-css-attributes.html
1626 * mathml/MathMLElement.cpp:
1627 (WebCore::MathMLElement::isPresentationAttribute): reorder attributes
1628 (WebCore::MathMLElement::collectStyleForPresentationAttribute): reorder tags that accept dir
1629 (WebCore::MathMLElement::isMathMLToken): add an inline function to test that a tag corresponds to a MathML Token Element.
1630 * mathml/MathMLElement.h:
1632 Follow-up work to address Darin's comments.
1634 2013-11-21 Peter Molnar <pmolnar.u-szeged@partner.samsung.com>
1636 Remove ENABLE_WORKERS
1637 https://bugs.webkit.org/show_bug.cgi?id=105784
1639 Reviewed by Darin Adler.
1641 2013-11-21 Alex Christensen <achristensen@webkit.org>
1643 [Win] Unreviewed build fix after r159632.
1645 * platform/network/curl/SSLHandle.cpp:
1646 (WebCore::certVerifyCallback):
1647 Fixed template syntax.
1649 2013-11-21 Bear Travis <betravis@adobe.com>
1651 Web Inspector: [CSS Shapes] Refactor highlighting code to decrease Shapes API surface
1652 https://bugs.webkit.org/show_bug.cgi?id=124737
1654 Reviewed by Timothy Hatcher.
1656 Add a virtual method to Shapes, buildPath, that can be used to build the
1657 path (in the Shape coordinate system) for display in the Inspector. This allows us
1658 to remove methods such as type(), polygon(), and logicalRx/Ry() which exposed the
1659 inner workings of the Shapes classes. Also covers the addition of the BoxShape type.
1661 Refactoring, existing test is inspector-protocol/model/highlight-shape-outside.html.
1663 * inspector/InspectorOverlay.cpp:
1664 (WebCore::appendPathCommandAndPoints): Points need to be translated from shape space
1665 to renderer space using ShapeInfo.
1666 (WebCore::buildObjectForShapeOutside): Add the ShapeOutsideInfo to the path info struct.
1667 * rendering/shapes/BoxShape.cpp:
1668 (WebCore::BoxShape::buildPath): Build the path for a BoxShape.
1669 * rendering/shapes/BoxShape.h:
1670 * rendering/shapes/PolygonShape.cpp:
1671 (WebCore::PolygonShape::buildPath): Build the path for a PolygonShape.
1672 * rendering/shapes/PolygonShape.h:
1673 * rendering/shapes/RasterShape.h:
1674 * rendering/shapes/RectangleShape.cpp:
1675 (WebCore::RectangleShape::buildPath): Build the path for a RectangleShape.
1676 * rendering/shapes/RectangleShape.h:
1677 * rendering/shapes/Shape.h:
1679 2013-11-21 Mark Rowe <mrowe@apple.com>
1681 <https://webkit.org/b/124702> Stop overriding VALID_ARCHS.
1683 All modern versions of Xcode set it appropriately for our needs.
1685 Reviewed by Alexey Proskuryakov.
1687 * Configurations/Base.xcconfig:
1689 2013-11-21 Gwang Yoon Hwang <ryumiel@company100.net>
1691 [GTK] Unreviewed buildfix after r159614 and r159656.
1693 * bindings/gobject/WebKitDOMCustom.cpp: Add missing header
1695 2013-11-21 Laszlo Vidacs <lac@inf.u-szeged.hu>
1697 Fix WinCairo unreachable code warnings in SimpleLineLayout.cpp
1698 https://bugs.webkit.org/show_bug.cgi?id=124704
1700 Reviewed by Antti Koivisto.
1702 Fix unreachable code warnings using conditional directives.
1704 * rendering/SimpleLineLayout.cpp:
1705 (WebCore::SimpleLineLayout::canUseFor):
1707 2013-11-21 Mark Rowe <mrowe@apple.com>
1709 <https://webkit.org/b/124701> Fix an error in a few Xcode configuration setting files.
1711 Reviewed by Alexey Proskuryakov.
1713 * Configurations/Base.xcconfig:
1715 2013-11-21 Mark Rowe <mrowe@apple.com>
1717 <https://webkit.org/b/124700> Fix some deprecation warnings.
1719 Reviewed by Anders Carlsson.
1721 * platform/mac/HTMLConverter.mm:
1722 (fileWrapperForURL): Move off a deprecated NSFileWrapper method.
1724 2013-11-21 Daniel Bates <dabates@apple.com>
1726 [iOS] Build fix; export symbol for WebCore::provideDeviceOrientationTo()
1728 Add the symbol __ZN7WebCore26provideDeviceOrientationToEPNS_4PageEPNS_23DeviceOrientationClientE.
1732 2013-11-21 Daniel Bates <dabates@apple.com>
1734 Add !USE(NETWORK_CFDATA_ARRAY_CALLBACK)-guard
1735 https://bugs.webkit.org/show_bug.cgi?id=124741
1737 Reviewed by Alexey Proskuryakov.
1739 Add !USE(NETWORK_CFDATA_ARRAY_CALLBACK)-guard around code that is unused
1740 when building with feature NETWORK_CFDATA_ARRAY_CALLBACK.
1742 Additionally, add a declaration for allocateSegment() with attribute WARN_UNUSED_RETURN
1743 to have the compiler warn when the return value of this function is unused. Together with
1744 warnings treated as errors this change will prevent a memory leak.
1746 * platform/SharedBuffer.cpp:
1748 2013-11-21 Daniel Bates <dabates@apple.com>
1750 Remove unused functions from WebCore and WebKit2
1751 https://bugs.webkit.org/show_bug.cgi?id=124739
1753 Reviewed by Alexey Proskuryakov.
1755 * editing/markup.cpp: Remove unused functions isHTMLBlockElement and
1756 ancestorToRetainStructureAndAppearanceWithNoRenderer.
1757 * rendering/InlineElementBox.cpp: Append newline to the end of the file.
1759 2013-11-21 Daniel Bates <dabates@apple.com>
1761 Only generate isObservable() when IDL specifies GenerateIsReachable
1762 https://bugs.webkit.org/show_bug.cgi?id=124729
1764 Reviewed by Geoffrey Garen.
1766 We should only generate the static inline function isObservable() when the IDL
1767 specifies GenerateIsReachable. Otherwise, this function is unused.
1769 Added a new test IDL TestGenerateIsReachable.idl and expected results to test that
1770 we generate isObservable() when an IDL specifies GenerateIsReachable. Additionally,
1771 rebased existing test results.
1773 * bindings/scripts/CodeGeneratorJS.pm:
1774 (GenerateImplementation):
1775 * bindings/scripts/test/CPP/WebDOMTestGenerateIsReachable.cpp: Added.
1776 * bindings/scripts/test/CPP/WebDOMTestGenerateIsReachable.h: Added.
1777 * bindings/scripts/test/GObject/WebKitDOMTestGenerateIsReachable.cpp: Added.
1778 * bindings/scripts/test/GObject/WebKitDOMTestGenerateIsReachable.h: Added.
1779 * bindings/scripts/test/GObject/WebKitDOMTestGenerateIsReachablePrivate.h: Added.
1780 * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp: Removed unused function isObservable().
1781 * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp: Ditto.
1782 * bindings/scripts/test/JS/JSTestEventConstructor.cpp: Ditto.
1783 * bindings/scripts/test/JS/JSTestEventTarget.cpp: Ditto.
1784 * bindings/scripts/test/JS/JSTestException.cpp: Ditto.
1785 * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp: Added.
1786 * bindings/scripts/test/JS/JSTestGenerateIsReachable.h: Added.
1787 * bindings/scripts/test/JS/JSTestInterface.cpp: Removed unused function isObservable().
1788 * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: Ditto.
1789 * bindings/scripts/test/JS/JSTestNamedConstructor.cpp: Ditto.
1790 * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
1791 * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp: Ditto.
1792 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: Ditto.
1793 * bindings/scripts/test/JS/JSTestTypedefs.cpp: Ditto.
1794 * bindings/scripts/test/JS/JSattribute.cpp: Ditto.
1795 * bindings/scripts/test/JS/JSreadonly.cpp: Ditto.
1796 * bindings/scripts/test/ObjC/DOMTestGenerateIsReachable.h: Added.
1797 * bindings/scripts/test/ObjC/DOMTestGenerateIsReachable.mm: Added.
1798 * bindings/scripts/test/ObjC/DOMTestGenerateIsReachableInternal.h: Added.
1799 * bindings/scripts/test/TestGenerateIsReachable.idl: Added.
1801 2013-11-21 Beth Dakin <bdakin@apple.com>
1803 Add a new mode to extend the tile cache beyond the page
1804 https://bugs.webkit.org/show_bug.cgi?id=124216
1806 Reviewed by Simon Fraser.
1808 This patch makes it possible to give the tile cache a margin of tiles. If there is
1809 a margin of tiles, this patch paints those tiles with the background color. Note
1810 that this patch does not actually give the tile cache a margin at this time.
1812 You opt into a margined tiled cache by called setTileMargins() with number of
1813 pixels that the margin on that side should be.
1814 * platform/graphics/TiledBacking.h:
1815 * platform/graphics/ca/mac/TileController.h:
1816 * platform/graphics/ca/mac/TileController.mm:
1817 (WebCore::TileController::TileController):
1818 (WebCore::TileController::tilesWouldChangeForVisibleRect):
1820 TileController::bounds() now computes the bounds INCLUDING the margin.
1821 (WebCore::TileController::bounds):
1823 adjustRectAtTileIndexForMargin() is a new function that is required to get the
1824 rect size for tiles in the margin right. rectForTileIndex() assumes all tiles
1825 strive to be the size of m_tileSize, but now margin tiles will be whatever the
1826 margin sizes were set to.
1827 (WebCore::TileController::adjustRectAtTileIndexForMargin):
1828 (WebCore::TileController::rectForTileIndex):
1830 This is another instance where m_tileSize is not always the right size to use.
1831 (WebCore::TileController::getTileIndexRangeForRect):
1833 The tile coverage rect now might include the margin tiles. Only include them in
1834 slow-scrolling mode if the current position is within one tile of the edge.
1835 (WebCore::TileController::computeTileCoverageRect):
1837 tileSizeForCoverageRect() does not make sense in a world where the coverage rect
1838 will include margin. Instead, this patch implements the current strategy more
1839 explicitly by returning the visibleRect in the slow scrolling case, and in the
1840 process this patch also re-names tileSizeForCoverageRect() to computeTileSize()
1841 since it no longer takes a coverageRect.
1842 (WebCore::TileController::computeTileSize):
1843 (WebCore::TileController::revalidateTiles):
1845 New setters and getters for the tile margins on each side.
1846 (WebCore::TileController::setTileMargins):
1847 (WebCore::TileController::hasMargins):
1848 (WebCore::TileController::topMarginHeight):
1849 (WebCore::TileController::bottomMarginHeight):
1850 (WebCore::TileController::leftMarginWidth):
1851 (WebCore::TileController::rightMarginWidth):
1853 New function to add margin onto the composited bounds if there is one.
1854 * rendering/RenderLayerBacking.cpp:
1855 (WebCore::RenderLayerBacking::tiledBackingHasMargin):
1856 (WebCore::RenderLayerBacking::paintContents):
1857 (WebCore::RenderLayerBacking::compositedBoundsIncludingMargin):
1858 * rendering/RenderLayerBacking.h:
1860 Do not set masks to bounds if there is a margin on the root layer.
1861 * rendering/RenderLayerCompositor.cpp:
1862 (WebCore::RenderLayerCompositor::updateBacking):
1863 (WebCore::RenderLayerCompositor::mainFrameBackingIsTiledWithMargin):
1864 * rendering/RenderLayerCompositor.h:
1866 Allow background color to paint into the margin tiles.
1867 * rendering/RenderView.cpp:
1868 (WebCore::RenderView::paintBoxDecorations):
1870 2013-11-21 Alexey Proskuryakov <ap@apple.com>
1872 Implement WebCrypto wrapKey
1873 https://bugs.webkit.org/show_bug.cgi?id=124738
1875 Reviewed by Anders Carlsson.
1877 Tests: crypto/subtle/aes-cbc-wrap-rsa-non-extractable.html
1878 crypto/subtle/aes-cbc-wrap-rsa.html
1880 * bindings/js/JSSubtleCryptoCustom.cpp:
1881 (WebCore::exportKey): Factored out the actual operation that can be chained with
1882 encryption for wrapKey.
1883 (WebCore::JSSubtleCrypto::exportKey):
1884 (WebCore::JSSubtleCrypto::wrapKey):
1885 (WebCore::JSSubtleCrypto::unwrapKey): Fixed a memory leak in failure code path.
1887 * crypto/SubtleCrypto.idl: Added wrapKey.
1889 2013-11-21 Alexey Proskuryakov <ap@apple.com>
1891 Implement WebCrypto unwrapKey
1892 https://bugs.webkit.org/show_bug.cgi?id=124725
1894 Reviewed by Anders Carlsson.
1896 Tests: crypto/subtle/aes-cbc-unwrap-failure.html
1897 crypto/subtle/aes-cbc-unwrap-rsa.html
1899 * bindings/js/JSCryptoAlgorithmDictionary.cpp:
1900 * bindings/js/JSCryptoAlgorithmDictionary.h:
1901 Removed calls for wrap/unwrap parameter parsing, these are just the same as encrypt/decrypt.
1903 * bindings/js/JSCryptoOperationData.cpp:
1904 (WebCore::cryptoOperationDataFromJSValue):
1905 * bindings/js/JSCryptoOperationData.h:
1906 * crypto/CryptoKeySerialization.h:
1907 More Vector<char> elimination.
1909 * bindings/js/JSDOMPromise.cpp:
1910 * bindings/js/JSDOMPromise.h:
1911 Removed unneccessary copy constructor and assignment operator, they are no diffdrent
1912 than compiler generated ones.
1914 * bindings/js/JSSubtleCryptoCustom.cpp:
1915 (WebCore::cryptoKeyUsagesFromJSValue): Minor style fixes.
1916 (WebCore::JSSubtleCrypto::encrypt): Ditto.
1917 (WebCore::JSSubtleCrypto::decrypt): Ditto.
1918 (WebCore::JSSubtleCrypto::sign): Ditto.
1919 (WebCore::JSSubtleCrypto::verify): Ditto.
1920 (WebCore::JSSubtleCrypto::generateKey): Ditto.
1921 (WebCore::importKey): Separated actual import operation and the parts that read
1922 arguments from ExecState, and call the promise. Logically, this should be outside
1923 of bindings code even, but JWK makes that quite challenging.
1924 (WebCore::JSSubtleCrypto::importKey): This only does the more mundane arguments
1925 and return parts now.
1926 (WebCore::JSSubtleCrypto::exportKey): Minor style fixes.
1927 (WebCore::JSSubtleCrypto::unwrapKey): Chain decrypt and import.
1929 * crypto/CryptoAlgorithm.cpp:
1930 (WebCore::CryptoAlgorithm::encryptForWrapKey):
1931 (WebCore::CryptoAlgorithm::decryptForUnwrapKey):
1932 * crypto/CryptoAlgorithm.h:
1933 There are algorithms that expose wrap/unwrap, but not encrypt/decrypt. These will
1934 override these new functions, and leave encrypt/decrypt to raise NOT_SUPPORTED_ERR.
1936 * crypto/SubtleCrypto.idl: Added unwrapKey.
1938 2013-11-21 Robert Sipka <sipka@inf.u-szeged.hu>
1940 [curl]Improve ssl certificate storage and check
1941 https://bugs.webkit.org/show_bug.cgi?id=124569
1943 Reviewed by Brent Fulgham.
1945 Storage and check the whole certificate chain, not just the root certificate.
1947 * platform/network/curl/SSLHandle.cpp:
1948 (WebCore::allowsAnyHTTPSCertificateHosts):
1949 (WebCore::sslIgnoreHTTPSCertificate):
1951 (WebCore::certVerifyCallback):
1953 2013-11-21 Mihai Maerean <mmaerean@adobe.com>
1955 Fix hover area for divs with css transforms
1956 https://bugs.webkit.org/show_bug.cgi?id=124647
1958 Reviewed by Allan Sandfeld Jensen.
1960 Non transformed layers are now being hit last, not through or in-between transformed layers.
1961 The paint order says that the divs creating stacking contexts (including transforms) are painted after the
1962 other siblings so they should be hit tested in the reverse order. Also, a rotated div in a non-rotated parent
1963 should be hit in its entire area, not hit its parent's background, even if the z-coordinate is negative where
1964 the mouse is located.
1966 Test: transforms/3d/hit-testing/hover-rotated-negative-z.html
1968 * rendering/RenderLayer.cpp:
1969 (WebCore::computeZOffset):
1971 2013-11-21 Andres Gomez <agomez@igalia.com>
1973 [GTK] Release compilation fails when defining "LOG_DISABLED=0"
1974 https://bugs.webkit.org/show_bug.cgi?id=124661
1976 Reviewed by Mario Sanchez Prada.
1978 In a "Debug" build the CString.h header comes from another
1979 indirect dependency. Now, we explicitly add this missing include.
1981 * html/HTMLTrackElement.cpp: Explicitly adding missing include.
1983 2013-11-21 Ryosuke Niwa <rniwa@webkit.org>
1985 Fix Range.insertNode when the inserted node is in the same container as the Range
1986 https://bugs.webkit.org/show_bug.cgi?id=123957
1988 Reviewed by Antti Koivisto.
1990 Inspired by https://chromium.googlesource.com/chromium/blink/+/fb6ca1f488703e8d4f20ce6449cc8ea210be6edb
1992 When a node from the same container is inserted, we can't simply adjust m_end with the offset.
1993 Compute m_start and m_end from the inserted nodes instead.
1995 Also, don't adjust m_start and m_end to nodes outside of the document if the inserted nodes had been
1996 removed by mutation events.
1998 Test: fast/dom/Range/range-insertNode-same-container.html
2001 (WebCore::Range::insertNode):
2003 2013-11-21 Ryosuke Niwa <rniwa@webkit.org>
2005 nextBoundary and previousBoundary are very slow when there is a password field
2006 https://bugs.webkit.org/show_bug.cgi?id=123973
2008 Reviewed by Antti Koivisto.
2010 Merge https://chromium.googlesource.com/chromium/blink/+/57366eec5e3edea54062d4e74c0e047f8681dbad
2012 When iterating through DOM nodes nextBoundary and previousBoundary convert the contents of nodes using
2013 text security to a sequence of 'x' characters. The SimplifiedBackwardsTextIterator and TextIterator
2014 may iterate past node boundaries. Before this patch, the transformation was done looking at the starting
2015 node rather than the current node. In some situations, this replaced all boundaries with 'x' and caused
2016 the text iterator to continue iterating and transforming until the extent of the document.
2018 Test: editing/deleting/password-delete-performance.html
2020 * editing/TextIterator.h:
2021 (WebCore::SimplifiedBackwardsTextIterator::node):
2022 * editing/VisibleUnits.cpp:
2023 (WebCore::previousBoundary):
2024 (WebCore::nextBoundary):
2026 2013-11-21 Ryosuke Niwa <rniwa@webkit.org>
2028 HTML parser should not associate elements inside templates with forms
2029 https://bugs.webkit.org/show_bug.cgi?id=117779
2031 Reviewed by Antti Koivisto.
2033 Merge https://chromium.googlesource.com/chromium/blink/+/45aadf7ee7ee010327eb692066cf013315ef3ed7
2035 When parsing <form><template><input>, the previous behavior was to associate the <input> with the <form>,
2036 even though they're not in the same tree (or even the same document).
2038 This patch changes that by checking, prior to creating a form control element, whether the element to be
2039 created lives in a document with a browsing context.
2041 We don't update m_form as needed to faithfully match the HTML5 specification's form element pointer
2042 http://www.whatwg.org/specs/web-apps/current-work/multipage/parsing.html#form-element-pointer
2043 and its algorithm for creating and inserting nodes:
2044 http://www.whatwg.org/specs/web-apps/current-work/multipage/tree-construction.html#creating-and-inserting-nodes
2046 While this leaves isindex's reference to form element pointer stale:
2047 http://www.whatwg.org/specs/web-apps/current-work/multipage/tree-construction.html#isindex
2048 The HTML5 specification matches the behaviors of Chrome and Firefox so we leave it as is.
2050 Test: fast/dom/HTMLTemplateElement/no-form-association.html
2052 * html/parser/HTMLConstructionSite.cpp:
2053 (WebCore::HTMLConstructionSite::createHTMLElement):
2055 2013-11-21 Carlos Garcia Campos <cgarcia@igalia.com>
2057 [GTK] Cannot scroll in option menu when it larger than the screen
2058 https://bugs.webkit.org/show_bug.cgi?id=124671
2060 Reviewed by Martin Robinson.
2062 The problem is that the popup menu is not resized to fit in the
2063 screen, so it doesn't scroll and some of the items are offscreen
2064 so they can't be selected either. GTK+ automatically resizes the
2065 popup menus to fit in the work area, but only when the menu is
2068 * platform/gtk/GtkPopupMenu.cpp:
2069 (WebCore::GtkPopupMenu::popUp): Schedule a resize of the popup
2070 menu right after showing it once it has a position.
2072 2013-11-21 Carlos Garcia Campos <cgarcia@igalia.com>
2074 [GTK] Mark all deprecated symbols in GObject DOM bindings
2075 https://bugs.webkit.org/show_bug.cgi?id=124406
2077 Reviewed by Gustavo Noronha Silva.
2079 Move deprecated API from WebKitDOMCustom to a new file
2080 WebKitDOMDeprecated leaving in WebKitDOMCustom only the
2081 non-deprecated API that is not autogenerated. Also added the
2082 deprecation decorations and tags in the documentation.
2084 * bindings/gobject/GNUmakefile.am:
2085 * bindings/gobject/WebKitDOMCustom.cpp:
2086 * bindings/gobject/WebKitDOMCustom.h:
2087 * bindings/gobject/WebKitDOMCustom.symbols:
2088 * bindings/gobject/WebKitDOMDeprecated.cpp: Copied from Source/WebCore/bindings/gobject/WebKitDOMCustom.cpp.
2089 (webkit_dom_blob_webkit_slice):
2090 (webkit_dom_html_element_get_id):
2091 (webkit_dom_html_element_set_id):
2092 (webkit_dom_html_element_get_class_name):
2093 (webkit_dom_html_element_set_class_name):
2094 (webkit_dom_html_element_get_class_list):
2095 (webkit_dom_html_form_element_dispatch_form_change):
2096 (webkit_dom_html_form_element_dispatch_form_input):
2097 (webkit_dom_webkit_named_flow_get_overflow):
2098 (webkit_dom_element_get_webkit_region_overflow):
2099 (webkit_dom_webkit_named_flow_get_content_nodes):
2100 (webkit_dom_webkit_named_flow_get_regions_by_content_node):
2101 (webkit_dom_bar_info_get_property):
2102 (webkit_dom_bar_info_class_init):
2103 (webkit_dom_bar_info_init):
2104 (webkit_dom_bar_info_get_visible):
2105 (webkit_dom_console_get_memory):
2106 (webkit_dom_css_style_declaration_get_property_css_value):
2107 (webkit_dom_document_get_webkit_hidden):
2108 (webkit_dom_document_get_webkit_visibility_state):
2109 (webkit_dom_html_document_open):
2110 (webkit_dom_html_element_set_item_id):
2111 (webkit_dom_html_element_get_item_id):
2112 (webkit_dom_html_element_get_item_ref):
2113 (webkit_dom_html_element_get_item_prop):
2114 (webkit_dom_html_element_set_item_scope):
2115 (webkit_dom_html_element_get_item_scope):
2116 (webkit_dom_html_element_get_item_type):
2117 (webkit_dom_html_style_element_set_scoped):
2118 (webkit_dom_html_style_element_get_scoped):
2119 (webkit_dom_html_properties_collection_get_property):
2120 (webkit_dom_html_properties_collection_class_init):
2121 (webkit_dom_html_properties_collection_init):
2122 (webkit_dom_html_properties_collection_item):
2123 (webkit_dom_html_properties_collection_named_item):
2124 (webkit_dom_html_properties_collection_get_length):
2125 (webkit_dom_html_properties_collection_get_names):
2126 (webkit_dom_node_get_attributes):
2127 (webkit_dom_node_has_attributes):
2128 (webkit_dom_memory_info_get_property):
2129 (webkit_dom_memory_info_class_init):
2130 (webkit_dom_memory_info_init):
2131 (webkit_dom_memory_info_get_total_js_heap_size):
2132 (webkit_dom_memory_info_get_used_js_heap_size):
2133 (webkit_dom_memory_info_get_js_heap_size_limit):
2134 (webkit_dom_micro_data_item_value_class_init):
2135 (webkit_dom_micro_data_item_value_init):
2136 (webkit_dom_performance_get_memory):
2137 (webkit_dom_property_node_list_get_property):
2138 (webkit_dom_property_node_list_class_init):
2139 (webkit_dom_property_node_list_init):
2140 (webkit_dom_property_node_list_item):
2141 (webkit_dom_property_node_list_get_length):
2142 (webkit_dom_html_media_element_get_start_time):
2143 (webkit_dom_html_media_element_get_initial_time):
2144 (webkit_dom_html_head_element_get_profile):
2145 (webkit_dom_html_head_element_set_profile):
2146 (webkit_dom_processing_instruction_get_data):
2147 (webkit_dom_processing_instruction_set_data):
2148 * bindings/gobject/WebKitDOMDeprecated.h: Copied from Source/WebCore/bindings/gobject/WebKitDOMCustom.h.
2149 * bindings/gobject/WebKitDOMDeprecated.symbols: Copied from Source/WebCore/bindings/gobject/WebKitDOMCustom.symbols.
2150 * bindings/scripts/CodeGeneratorGObject.pm:
2151 (GenerateFunction): Do not include deprecation guards in the cpp file.
2152 * bindings/scripts/gobject-generate-headers.pl: Do not create
2153 fordward declarations for non-existent classes like Custom and
2155 * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.cpp:
2156 (webkit_dom_test_event_target_dispatch_event):
2158 2013-11-20 Jae Hyun Park <jae.park@company100.net>
2160 [CoordinatedGraphics] Use std::unique_ptrs rather than OwnPtrs
2161 https://bugs.webkit.org/show_bug.cgi?id=124692
2163 Reviewed by Noam Rosenthal.
2165 No new tests, covered by existing ones.
2167 * platform/graphics/TiledBackingStore.cpp:
2168 (WebCore::TiledBackingStore::TiledBackingStore):
2169 * platform/graphics/TiledBackingStore.h:
2170 * platform/graphics/TiledBackingStoreBackend.h:
2171 * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
2172 (WebCore::CoordinatedGraphicsLayer::createBackingStore):
2173 * platform/graphics/texmap/coordinated/CoordinatedTile.h:
2175 2013-11-20 Brady Eidson <beidson@apple.com>
2177 Add more infrastructure for ServerConnection communication between Web and Database processes
2178 https://bugs.webkit.org/show_bug.cgi?id=124693
2180 Reviewed by Anders Carlsson.
2184 2013-11-20 Ryosuke Niwa <rniwa@webkit.org>
2186 Hoist <template> to head when found between </head> and <body> for consistency with <script>
2187 https://bugs.webkit.org/show_bug.cgi?id=123949
2189 Reviewed by Antti Koivisto.
2191 Merge https://chromium.googlesource.com/chromium/blink/+/835fb468fd211054a920fb7612a6dc5043662495
2193 Move template elements between head and body elements into the head to be consistent with script elements.
2194 The HTML5 specification was changed in http://html5.org/tools/web-apps-tracker?from=8217&to=8218.
2196 Inline comments below are cited from https://www.w3.org/Bugs/Public/show_bug.cgi?id=23002
2197 and https://codereview.chromium.org/25900003 for clarity.
2199 * html/parser/HTMLTreeBuilder.cpp:
2200 (WebCore::HTMLTreeBuilder::processStartTag): Add the template element to the list of elements to be hoisted into
2202 (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
2204 Replace the assertion that isParsingFragment is true when item->node() == m_tree.openElements()->rootNode() since,
2205 with this change, we can now invoke resetInsertionMode when parsing a normal document (not fragment) and there is
2206 only the html element on the stack of open elements.
2208 For the second change, consider: <head></head><template>
2210 This example breaks in the old HTML parser because the template element is handled by "after head" state which
2211 pushes the head element back on, processes the template element for "in head", then pops the head element off.
2212 EOF is reached, which processes a fake close tag for the template element, which pops the template element off
2213 and resets the insertion mode appropriately
2215 The problem here is that "reset the insertion mode" is going to inspect the bottom-most element on the stack which
2216 is now the html element and it will set the mode to "before head". Nothing good happens after this.
2218 We fix this problem by having the reset algorithm check if the head element pointer is set, and if so, go to after
2219 head instead of before head.
2221 2013-11-20 Radu Stavila <stavila@adobe.com>
2223 [CSS Regions] Implement visual overflow for first & last regions
2224 https://bugs.webkit.org/show_bug.cgi?id=118665
2226 In order to properly propagate the visual overflow of elements flowed inside regions,
2227 the responsiblity of painting and hit-testing content inside flow threads has been
2228 moved to the flow thread layer's level.
2229 Each region keeps the associated overflow with each box in the RenderBoxRegionInfo
2230 structure, including one for the flow thread itself. This data is used during
2231 painting and hit-testing.
2233 Reviewed by David Hyatt.
2235 Tests: fast/regions/overflow-first-and-last-regions-in-container-hidden.html
2236 fast/regions/overflow-first-and-last-regions.html
2237 fast/regions/overflow-nested-regions.html
2238 fast/regions/overflow-region-float.html
2239 fast/regions/overflow-region-inline.html
2240 fast/regions/overflow-region-transform.html
2242 * rendering/InlineFlowBox.cpp:
2243 (WebCore::InlineFlowBox::setLayoutOverflow):
2244 (WebCore::InlineFlowBox::setVisualOverflow):
2245 * rendering/InlineFlowBox.h:
2246 * rendering/RenderBlock.cpp:
2247 (WebCore::RenderBlock::addOverflowFromChildren):
2248 (WebCore::RenderBlock::paint):
2249 (WebCore::RenderBlock::paintObject):
2250 (WebCore::RenderBlock::estimateRegionRangeForBoxChild):
2251 (WebCore::RenderBlock::updateRegionRangeForBoxChild):
2252 * rendering/RenderBlockFlow.cpp:
2253 (WebCore::RenderBlockFlow::hasNextPage):
2254 (WebCore::RenderBlockFlow::relayoutForPagination):
2255 * rendering/RenderBlockLineLayout.cpp:
2256 (WebCore::RenderBlockFlow::positionNewFloatOnLine):
2257 * rendering/RenderBox.cpp:
2258 (WebCore::RenderBox::borderBoxRectInRegion):
2259 (WebCore::RenderBox::computeRectForRepaint):
2260 (WebCore::RenderBox::addLayoutOverflow):
2261 (WebCore::RenderBox::addVisualOverflow):
2262 (WebCore::RenderBox::isUnsplittableForPagination):
2263 (WebCore::RenderBox::overflowRectForPaintRejection):
2264 * rendering/RenderBox.h:
2265 (WebCore::RenderBox::canHaveOutsideRegionRange):
2266 * rendering/RenderBoxModelObject.cpp:
2267 (WebCore::RenderBoxModelObject::paintMaskForTextFillBox):
2268 (WebCore::RenderBoxModelObject::paintFillLayerExtended):
2269 * rendering/RenderBoxModelObject.h:
2270 * rendering/RenderBoxRegionInfo.h:
2271 (WebCore::RenderBoxRegionInfo::createOverflow):
2272 * rendering/RenderFlowThread.cpp:
2273 (WebCore::RenderFlowThread::objectShouldPaintInFlowRegion):
2274 (WebCore::RenderFlowThread::mapFromLocalToFlowThread):
2275 (WebCore::RenderFlowThread::mapFromFlowThreadToLocal):
2276 (WebCore::RenderFlowThread::decorationsClipRectForBoxInRegion):
2277 (WebCore::RenderFlowThread::flipForWritingModeLocalCoordinates):
2278 (WebCore::RenderFlowThread::addRegionsOverflowFromChild):
2279 (WebCore::RenderFlowThread::addRegionsVisualOverflow):
2280 (WebCore::CurrentRenderFlowThreadMaintainer::CurrentRenderFlowThreadMaintainer):
2281 * rendering/RenderFlowThread.h:
2282 * rendering/RenderLayer.cpp:
2283 (WebCore::RenderLayer::updateLayerPositions):
2284 (WebCore::expandClipRectForRegionAndReflection):
2285 (WebCore::expandClipRectForDescendantsAndReflection):
2286 (WebCore::RenderLayer::paintLayer):
2287 (WebCore::RenderLayer::paintLayerContents):
2288 (WebCore::RenderLayer::updatePaintingInfoForFragments):
2289 (WebCore::RenderLayer::paintForegroundForFragments):
2290 (WebCore::RenderLayer::hitTest):
2291 (WebCore::RenderLayer::hitTestLayer):
2292 (WebCore::RenderLayer::mapLayerClipRectsToFragmentationLayer):
2293 (WebCore::RenderLayer::calculateClipRects):
2294 (WebCore::RenderLayer::parentClipRects):
2295 (WebCore::RenderLayer::calculateRects):
2296 (WebCore::RenderLayer::intersectsDamageRect):
2297 (WebCore::RenderLayer::updateDescendantsLayerListsIfNeeded):
2298 (WebCore::RenderLayer::repaintIncludingDescendants):
2299 (WebCore::RenderLayer::paintNamedFlowThreadInsideRegion):
2300 (WebCore::RenderLayer::paintFlowThreadIfRegion):
2301 (WebCore::RenderLayer::hitTestFlowThreadIfRegion):
2302 * rendering/RenderLayer.h:
2303 (WebCore::ClipRect::inflateX):
2304 (WebCore::ClipRect::inflateY):
2305 (WebCore::ClipRect::inflate):
2306 * rendering/RenderLayerCompositor.cpp:
2307 (WebCore::RenderLayerCompositor::computeCompositingRequirements):
2308 * rendering/RenderListItem.cpp:
2309 (WebCore::RenderListItem::addOverflowFromChildren):
2310 * rendering/RenderMultiColumnSet.cpp:
2311 (WebCore::RenderMultiColumnSet::flowThreadPortionOverflowRect):
2312 (WebCore::RenderMultiColumnSet::repaintFlowThreadContent):
2313 * rendering/RenderMultiColumnSet.h:
2314 * rendering/RenderNamedFlowFragment.cpp:
2315 (WebCore::RenderNamedFlowFragment::createStyle):
2316 (WebCore::RenderNamedFlowFragment::namedFlowThread):
2317 * rendering/RenderNamedFlowFragment.h:
2318 * rendering/RenderOverflow.h:
2319 * rendering/RenderRegion.cpp:
2320 (WebCore::RenderRegion::flowThreadPortionOverflowRect):
2321 (WebCore::RenderRegion::flowThreadPortionLocation):
2322 (WebCore::RenderRegion::regionContainerLayer):
2323 (WebCore::RenderRegion::overflowRectForFlowThreadPortion):
2324 (WebCore::RenderRegion::computeOverflowFromFlowThread):
2325 (WebCore::RenderRegion::repaintFlowThreadContent):
2326 (WebCore::RenderRegion::repaintFlowThreadContentRectangle):
2327 (WebCore::RenderRegion::insertedIntoTree):
2328 (WebCore::RenderRegion::ensureOverflowForBox):
2329 (WebCore::RenderRegion::rectFlowPortionForBox):
2330 (WebCore::RenderRegion::addLayoutOverflowForBox):
2331 (WebCore::RenderRegion::addVisualOverflowForBox):
2332 (WebCore::RenderRegion::layoutOverflowRectForBox):
2333 (WebCore::RenderRegion::visualOverflowRectForBox):
2334 (WebCore::RenderRegion::visualOverflowRectForBoxForPropagation):
2335 * rendering/RenderRegion.h:
2336 * rendering/RenderReplaced.cpp:
2337 (WebCore::RenderReplaced::shouldPaint):
2338 * rendering/RootInlineBox.cpp:
2339 (WebCore::RootInlineBox::paint):
2341 2013-11-20 Ryosuke Niwa <rniwa@webkit.org>
2343 [HTML parser] reset insertion mode appropriate must check for "in select in table" mode
2344 https://bugs.webkit.org/show_bug.cgi?id=123850
2346 Reviewed by Antti Koivisto.
2348 Merge https://chromium.googlesource.com/chromium/blink/+/2cb7523df57dfb48111f6aa16b7138cd54024ba7
2350 The HTML specification has been updated to detect encountering a template element inside of a select element,
2351 which in turn is inside of a table element. In this case, the select element will cause the parser to be in
2352 "InSelectInTable" mode. Thus when the template element closes, it should return to that mode.
2354 The fix here is that resetInsertionModeAppropriately must continue looking up the stack if the first node is
2355 select element to see whether the select element is inside of a table element.
2357 See also: http://www.whatwg.org/specs/web-apps/current-work/multipage/parsing.html#reset-the-insertion-mode-appropriately
2359 Test: html5lib/resources/template.dat
2361 * html/parser/HTMLTreeBuilder.cpp:
2362 (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
2364 2013-11-20 Mark Lam <mark.lam@apple.com>
2366 Build fix for last commit.
2367 https://bugs.webkit.org/show_bug.cgi?id=124634.
2373 * bindings/js/JSCryptoAlgorithmBuilder.cpp:
2375 2013-11-20 Mark Lam <mark.lam@apple.com>
2377 Introducing VMEntryScope to update the VM stack limit.
2378 https://bugs.webkit.org/show_bug.cgi?id=124634.
2380 Reviewed by Geoffrey Garen.
2384 Renamed dynamicGlobalObject() to vmEntryGlobalObject().
2385 Replaced uses of DynamicGlobalObjectScope with VMEntryScope.
2387 * ForwardingHeaders/runtime/VMEntryScope.h: Added.
2388 * WebCore.vcxproj/WebCore.vcxproj:
2389 * WebCore.vcxproj/WebCore.vcxproj.filters:
2390 * bindings/js/JSCryptoAlgorithmBuilder.cpp:
2391 (WebCore::JSCryptoAlgorithmBuilder::add):
2392 * bindings/js/JSCustomXPathNSResolver.cpp:
2393 (WebCore::JSCustomXPathNSResolver::create):
2394 * bindings/js/JSDOMBinding.cpp:
2395 (WebCore::firstDOMWindow):
2396 * bindings/js/JSErrorHandler.cpp:
2397 (WebCore::JSErrorHandler::handleEvent):
2398 * bindings/js/JSEventListener.cpp:
2399 (WebCore::JSEventListener::handleEvent):
2400 * bindings/js/JavaScriptCallFrame.h:
2401 (WebCore::JavaScriptCallFrame::vmEntryGlobalObject):
2402 * bindings/js/PageScriptDebugServer.cpp:
2403 (WebCore::PageScriptDebugServer::recompileAllJSFunctions):
2404 * bindings/js/ScriptDebugServer.cpp:
2405 (WebCore::ScriptDebugServer::evaluateBreakpointAction):
2406 (WebCore::ScriptDebugServer::handlePause):
2407 * bindings/js/WorkerScriptDebugServer.cpp:
2408 (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
2409 * bindings/objc/WebScriptObject.mm:
2410 (WebCore::addExceptionToConsole):
2411 * bridge/c/c_utility.cpp:
2412 (JSC::Bindings::convertValueToNPVariant):
2413 * bridge/objc/objc_instance.mm:
2414 (ObjcInstance::moveGlobalExceptionToExecState):
2415 * bridge/objc/objc_runtime.mm:
2416 (JSC::Bindings::convertValueToObjcObject):
2417 * bridge/objc/objc_utility.mm:
2418 (JSC::Bindings::convertValueToObjcValue):
2420 2013-11-20 Gyuyoung Kim <gyuyoung.kim@samsung.com>
2422 Generate toHTMLFooElement() to clean up static_cast<>
2423 https://bugs.webkit.org/show_bug.cgi?id=124571
2425 Reviewed by Ryosuke Niwa.
2427 Though there are a lot of clean up commits before, there are still
2428 use of static_cast<HTMLFooElement*>. To clean up them, we need to generate
2429 toHTMLDetails|Meta|Summary|TableCaptionElement().
2431 Additionally, other static_cast<> are removed as well.
2433 No new tests, no behavior changes.
2435 * html/HTMLDetailsElement.h:
2436 * html/HTMLMediaElement.cpp:
2437 (HTMLMediaElement::selectNextSourceChild):
2438 * html/HTMLMetaElement.h:
2439 * html/HTMLObjectElement.cpp:
2440 (WebCore::HTMLObjectElement::shouldAllowQuickTimeClassIdQuirk):
2441 * html/HTMLOptionElement.cpp:
2442 (WebCore::HTMLOptionElement::isDisabledFormControl):
2443 * html/HTMLPlugInImageElement.cpp:
2444 (WebCore::HTMLPlugInImageElement::updateWidgetCallback):
2445 * html/HTMLSummaryElement.cpp:
2446 (WebCore::HTMLSummaryElement::detailsElement):
2447 * html/HTMLSummaryElement.h:
2448 * html/HTMLTableCaptionElement.h:
2449 * html/HTMLTableElement.cpp:
2450 (WebCore::HTMLTableElement::caption):
2451 * html/HTMLTagNames.in:
2452 * html/MediaDocument.cpp:
2453 (WebCore::MediaDocumentParser::createDocumentStructure):
2454 * html/shadow/DetailsMarkerControl.cpp:
2455 (WebCore::DetailsMarkerControl::summaryElement):
2456 * loader/FrameLoader.cpp:
2457 (WebCore::FrameLoader::handleFallbackContent):
2458 * loader/ImageLoader.cpp:
2459 (WebCore::ImageLoader::dispatchPendingBeforeLoadEvent):
2460 * page/DragController.cpp:
2461 (WebCore::DragController::canProcessDrag):
2463 (WebCore::Frame::searchForLabelsBeforeElement):
2464 * page/SpatialNavigation.cpp:
2465 (WebCore::frameOwnerElement):
2467 2013-11-20 Ryosuke Niwa <rniwa@webkit.org>
2469 Clear TemplateContentDocumentFragment::m_host when HTMLTemplateElement is destroyed
2470 https://bugs.webkit.org/show_bug.cgi?id=122806
2472 Reviewed by Antti Koivisto.
2474 Merge https://chromium.googlesource.com/chromium/blink/+/858ed5f6341de9d900768c1f4668fcfce870c52e
2476 The document fragment of a template element outlives the element itself.
2477 Clear the host property on the document fragment when that happens.
2479 Test: fast/dom/HTMLTemplateElement/content-outlives-template-crash.html
2481 * dom/TemplateContentDocumentFragment.h:
2482 * html/HTMLTemplateElement.cpp:
2483 (WebCore::HTMLTemplateElement::~HTMLTemplateElement):
2484 * html/HTMLTemplateElement.h:
2486 2013-11-20 Chris Fleizach <cfleizach@apple.com>
2488 AX: Implement CSS -webkit-alt property (text alternative for generated content pseudo-elements ::before and ::after)
2489 https://bugs.webkit.org/show_bug.cgi?id=120188
2491 Reviewed by Dean Jackson.
2493 Add a -webkit-alt CSS property that can be used to label Image content or Text content for accessibility clients.
2495 To accomplish this, it sets the string in the RenderStyle. Then when the ContentData creates an anonymous renderer,
2496 it sets that string on the TextFragment or RenderImage, which can be queried by accessibility code.
2498 Test: platform/mac/accessibility/webkit-alt-for-css-content.html
2500 * accessibility/AccessibilityNodeObject.cpp:
2501 (WebCore::AccessibilityNodeObject::alternativeText):
2502 * accessibility/AccessibilityRenderObject.cpp:
2503 (WebCore::AccessibilityRenderObject::textUnderElement):
2504 (WebCore::objectInclusionFromAltText):
2505 (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
2506 * css/CSSComputedStyleDeclaration.cpp:
2507 (WebCore::altTextToCSSValue):
2508 (WebCore::ComputedStyleExtractor::propertyValue):
2509 * css/CSSParser.cpp:
2510 (WebCore::CSSParser::parseValue):
2511 (WebCore::CSSParser::parseAlt):
2513 * css/CSSPropertyNames.in:
2514 * css/StyleResolver.cpp:
2515 (WebCore::StyleResolver::applyProperty):
2516 * rendering/RenderImage.h:
2517 (WebCore::RenderImage::altText):
2518 (WebCore::RenderImage::setAltText):
2519 * rendering/RenderTextFragment.h:
2520 * rendering/style/ContentData.cpp:
2521 (WebCore::ImageContentData::createRenderer):
2522 (WebCore::TextContentData::createRenderer):
2523 * rendering/style/ContentData.h:
2524 (WebCore::ContentData::setAltText):
2525 (WebCore::ContentData::altText):
2526 * rendering/style/RenderStyle.cpp:
2527 (WebCore::RenderStyle::setContent):
2528 (WebCore::RenderStyle::setContentAltText):
2529 (WebCore::RenderStyle::contentAltText):
2530 * rendering/style/RenderStyle.h:
2531 * rendering/style/StyleRareNonInheritedData.h:
2533 2013-11-20 Roger Fong <roger_fong@apple.com>
2535 Use compile flag SH_UNFOLD_SHORT_CIRCUIT when compiling shaders.
2536 https://bugs.webkit.org/show_bug.cgi?id=124684.
2538 Reviewed by Brent Fulgham.
2540 Existing test webgl/1.0.2/conformance/glsl/misc/shader-with-short-circuiting-operators.html
2542 * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
2543 (WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE):
2545 2013-11-20 Robert Sipka <sipka@inf.u-szeged.hu>
2547 [curl] Improve detecting and handling of SSL related errors
2548 https://bugs.webkit.org/show_bug.cgi?id=119436
2550 Reviewed by Brent Fulgham.
2552 Set the exact SSL verification error on CURL
2553 and store the enabled domain with certificate.
2555 * WebCore.vcxproj/WebCore.vcxproj:
2556 * WebCore.vcxproj/WebCore.vcxproj.filters:
2557 * platform/network/ResourceHandle.h:
2558 * platform/network/ResourceHandleInternal.h:
2559 (WebCore::ResourceHandleInternal::ResourceHandleInternal):
2560 * platform/network/curl/ResourceError.h:
2561 (WebCore::ResourceError::ResourceError):
2562 (WebCore::ResourceError::sslErrors):
2563 (WebCore::ResourceError::setSSLErrors):
2564 * platform/network/curl/ResourceHandleCurl.cpp:
2565 (WebCore::ResourceHandle::setHostAllowsAnyHTTPSCertificate):
2566 * platform/network/curl/ResourceHandleManager.cpp:
2567 (WebCore::ResourceHandleManager::downloadTimerCallback):
2568 (WebCore::ResourceHandleManager::initializeHandle):
2569 * platform/network/curl/SSLHandle.cpp: Added.
2570 (WebCore::allowsAnyHTTPSCertificateHosts):
2571 (WebCore::sslIgnoreHTTPSCertificate):
2572 (WebCore::sslCertificateFlag):
2574 (WebCore::certVerifyCallback):
2575 (WebCore::sslctxfun):
2576 (WebCore::setSSLVerifyOptions):
2577 * platform/network/curl/SSLHandle.h: Added.
2579 2013-11-20 Bem Jones-Bey <bjonesbe@adobe.com>
2581 [css shapes] Parse new circle shape syntax
2582 https://bugs.webkit.org/show_bug.cgi?id=124618
2584 Reviewed by Antti Koivisto.
2586 Implement parsing of the new cicle shape syntax. The implementation of
2587 the old syntax has been move aside as deprecated, and will be removed
2588 once the new syntax is stable.
2590 Updated existing parsing tests to cover this.
2592 * css/BasicShapeFunctions.cpp:
2593 (WebCore::valueForCenterCoordinate): Create a CSSPrimitiveValue from a
2594 BasicShapeCenterCoordinate.
2595 (WebCore::valueForBasicShape): Convert new basic shape and rename old
2597 (WebCore::convertToCenterCoordinate): Create a
2598 BasicShapeCenterCoordinate from a CSSPrimitiveValue.
2599 (WebCore::basicShapeForValue): Convert new shape value and rename old
2601 * css/CSSBasicShapes.cpp:
2602 (WebCore::buildCircleString): Build a new circle string.
2603 (WebCore::CSSBasicShapeCircle::cssText): Serialize the new circle
2605 (WebCore::CSSBasicShapeCircle::equals): Compare new circle shapes.
2606 (WebCore::CSSBasicShapeCircle::serializeResolvingVariables):
2607 * css/CSSBasicShapes.h:
2608 (WebCore::CSSBasicShapeCircle::CSSBasicShapeCircle): Add class for new
2610 (WebCore::CSSDeprecatedBasicShapeCircle::create): Renamed to move out
2611 of the way of the new circle implementation.
2612 (WebCore::CSSDeprecatedBasicShapeCircle::centerX): Ditto.
2613 (WebCore::CSSDeprecatedBasicShapeCircle::centerY): Ditto.
2614 (WebCore::CSSDeprecatedBasicShapeCircle::radius): Ditto.
2615 (WebCore::CSSDeprecatedBasicShapeCircle::setCenterX): Ditto.
2616 (WebCore::CSSDeprecatedBasicShapeCircle::setCenterY): Ditto.
2617 (WebCore::CSSDeprecatedBasicShapeCircle::setRadius): Ditto.
2618 (WebCore::CSSDeprecatedBasicShapeCircle::CSSDeprecatedBasicShapeCircle): Ditto.
2619 * css/CSSParser.cpp:
2620 (WebCore::CSSParser::parseShapeRadius): Parse the radius for the new
2621 circle syntax. Will also be used by the new ellipse syntax.
2622 (WebCore::CSSParser::parseBasicShapeCircle): Parse the new circle
2624 (WebCore::CSSParser::parseDeprecatedBasicShapeCircle): Rename to make
2625 way for the new implementation.
2626 (WebCore::isDeprecatedBasicShape): Check if we have a new circle or an
2628 (WebCore::CSSParser::parseBasicShape): Update to parse the new circle
2631 * css/CSSValueKeywords.in: Add support for the new circle keywords.
2632 * rendering/shapes/Shape.cpp:
2633 (WebCore::Shape::createShape):
2634 * rendering/style/BasicShapes.cpp: Deprecate old circle and add stub
2636 (WebCore::DeprecatedBasicShapeCircle::path): Rename to make way for
2637 the new implementation.
2638 (WebCore::DeprecatedBasicShapeCircle::blend): Rename to make way for
2639 the new implementation.
2640 (WebCore::BasicShapeCircle::path): Create path for new circle shape.
2641 (WebCore::BasicShapeCircle::blend): Interpolate the new circle shape.
2642 * rendering/style/BasicShapes.h:
2643 (WebCore::BasicShapeCenterCoordinate::BasicShapeCenterCoordinate):
2644 Represent an x or y coordinate for the center of a new circle,
2645 since it can be either a keyword along with an offset that cannot
2646 be resolved until layout time or an ordinary Length. This will
2647 also be used by the new ellipse implementation.
2648 (WebCore::BasicShapeCenterCoordinate::keyword):
2649 (WebCore::BasicShapeCenterCoordinate::length):
2650 (WebCore::BasicShapeCenterCoordinate::blend): Interpolate.
2651 (WebCore::BasicShapeRadius::BasicShapeRadius): Represent the radius of
2652 a new circle shape since it can either be a straightforward Length or
2653 a keyword that cannot be resolved until layout time.
2654 (WebCore::BasicShapeRadius::value):
2655 (WebCore::BasicShapeRadius::type):
2656 (WebCore::BasicShapeRadius::blend): Interpolate.
2657 (WebCore::BasicShapeCircle::centerX):
2658 (WebCore::BasicShapeCircle::centerY):
2659 (WebCore::BasicShapeCircle::radius):
2660 (WebCore::BasicShapeCircle::setCenterX):
2661 (WebCore::BasicShapeCircle::setCenterY):
2662 (WebCore::BasicShapeCircle::setRadius):
2663 (WebCore::BasicShapeCircle::BasicShapeCircle): New circle class.
2664 (WebCore::DeprecatedBasicShapeCircle::create): Rename to make room for
2665 new circle implementation.
2666 (WebCore::DeprecatedBasicShapeCircle::DeprecatedBasicShapeCircle): Ditto.
2668 2013-11-20 Hans Muller <hmuller@adobe.com>
2670 [CSS Shapes] Add BoxShape and FloatRoundingRect classes
2671 https://bugs.webkit.org/show_bug.cgi?id=124368
2673 Reviewed by Dean Jackson.
2675 Added the BoxShape class. It's now used to represent shape-outside box
2676 values: [margin/border/padding/content]-box. BoxShape depends on a new
2677 FloatRoundedRect class, which is a float analog of the existing (int)
2678 RoundedRect class. The FloatRoundedRect class contains the same basic
2679 methods and accessors as BorderRect and adds a set of four methods,
2680 for example topLeftCorner(), that return a FloatRect that represents the
2681 bounds of one elliptical corner. I also added a method, xInterceptsAtY()
2682 that returns two X coordinates of the intersection between a horizontal
2683 line and the rounded rectangle.
2685 No new tests, this is just an internal refactoring.
2688 * GNUmakefile.list.am:
2689 * WebCore.vcxproj/WebCore.vcxproj:
2690 * WebCore.vcxproj/WebCore.vcxproj.filters:
2691 * WebCore.xcodeproj/project.pbxproj:
2692 * platform/graphics/FloatRoundedRect.cpp: Added.
2693 (WebCore::FloatRoundedRect::FloatRoundedRect):
2694 (WebCore::FloatRoundedRect::Radii::isZero):
2695 (WebCore::FloatRoundedRect::Radii::scale):
2696 (WebCore::FloatRoundedRect::Radii::expand):
2697 (WebCore::cornerRectIntercept):
2698 (WebCore::FloatRoundedRect::xInterceptsAtY):
2699 * platform/graphics/FloatRoundedRect.h: Added.
2700 (WebCore::FloatRoundedRect::Radii::Radii):
2701 (WebCore::FloatRoundedRect::Radii::setTopLeft):
2702 (WebCore::FloatRoundedRect::Radii::setTopRight):
2703 (WebCore::FloatRoundedRect::Radii::setBottomLeft):
2704 (WebCore::FloatRoundedRect::Radii::setBottomRight):
2705 (WebCore::FloatRoundedRect::Radii::topLeft):
2706 (WebCore::FloatRoundedRect::Radii::topRight):
2707 (WebCore::FloatRoundedRect::Radii::bottomLeft):
2708 (WebCore::FloatRoundedRect::Radii::bottomRight):
2709 (WebCore::FloatRoundedRect::Radii::expand):
2710 (WebCore::FloatRoundedRect::Radii::shrink):
2711 (WebCore::FloatRoundedRect::rect):
2712 (WebCore::FloatRoundedRect::radii):
2713 (WebCore::FloatRoundedRect::isRounded):
2714 (WebCore::FloatRoundedRect::isEmpty):
2715 (WebCore::FloatRoundedRect::setRect):
2716 (WebCore::FloatRoundedRect::setRadii):
2717 (WebCore::FloatRoundedRect::move):
2718 (WebCore::FloatRoundedRect::inflate):
2719 (WebCore::FloatRoundedRect::expandRadii):
2720 (WebCore::FloatRoundedRect::shrinkRadii):
2721 (WebCore::FloatRoundedRect::topLeftCorner):
2722 (WebCore::FloatRoundedRect::topRightCorner):
2723 (WebCore::FloatRoundedRect::bottomLeftCorner):
2724 (WebCore::FloatRoundedRect::bottomRightCorner):
2725 (WebCore::operator==):
2726 * rendering/shapes/BoxShape.cpp: Added.
2727 (WebCore::BoxShape::BoxShape):
2728 (WebCore::BoxShape::getExcludedIntervals):
2729 (WebCore::BoxShape::getIncludedIntervals):
2730 (WebCore::BoxShape::firstIncludedIntervalLogicalTop):
2731 * rendering/shapes/BoxShape.h: Added.
2732 * rendering/shapes/Shape.cpp:
2733 (WebCore::createBoxShape):
2734 (WebCore::Shape::createShape):
2736 2013-11-20 Antti Koivisto <antti@apple.com>
2738 Simple line layout should support floats
2739 https://bugs.webkit.org/show_bug.cgi?id=124666
2741 Reviewed by Dave Hyatt.
2743 Tests: fast/text/simple-lines-float-compare.html
2744 fast/text/simple-lines-float.html
2746 * rendering/line/LineWidth.h:
2747 (WebCore::LineWidth::logicalLeftOffset):
2749 Expose the left offset so we don't need to recompute it.
2751 * rendering/SimpleLineLayout.cpp:
2752 (WebCore::SimpleLineLayout::canUseFor):
2753 (WebCore::SimpleLineLayout::computeLineLeft):
2755 Include the left offset from floats.
2757 (WebCore::SimpleLineLayout::createTextRuns):
2759 Keep the flow height updated during the loop as LineWidth reads the current position from there.
2761 * rendering/SimpleLineLayoutResolver.h:
2762 (WebCore::SimpleLineLayout::RunResolver::Run::rect):
2763 (WebCore::SimpleLineLayout::RunResolver::Run::baseline):
2764 (WebCore::SimpleLineLayout::RunResolver::RunResolver):
2765 (WebCore::SimpleLineLayout::RunResolver::lineIndexForHeight):
2767 We now bake the border and the padding to the line left offset. No need to add it during resolve.
2769 2013-11-20 Alexey Proskuryakov <ap@apple.com>
2771 Use std::function callbacks in CryptoAlgorithm instead of JS promises
2772 https://bugs.webkit.org/show_bug.cgi?id=124673
2774 Reviewed by Anders Carlsson.
2776 To implement key wrapping/unwrapping, we'll need to chain existing operations.
2777 It's much easier to do with C++ callbacks than with functions fulfilling JS
2780 Also, this will decouple CryptoAlgorithm from JS, which is nice.
2782 SubtleCrypto IDL says that all functions return Promise<any>, but in reality,
2783 there is very little polymorphism, the only function whose return type depends
2784 on algorithm is generateKey (it can create a Key or a KeyPair).
2786 * bindings/js/JSDOMPromise.cpp:
2787 (WebCore::PromiseWrapper::PromiseWrapper):
2788 (WebCore::PromiseWrapper::operator=):
2789 * bindings/js/JSDOMPromise.h:
2790 Made it copyable, as each crypto function wraps the promise in success and failure
2791 functional objects now.
2793 * bindings/js/JSSubtleCryptoCustom.cpp:
2794 (WebCore::JSSubtleCrypto::encrypt):
2795 (WebCore::JSSubtleCrypto::decrypt):
2796 (WebCore::JSSubtleCrypto::sign):
2797 (WebCore::JSSubtleCrypto::verify):
2798 (WebCore::JSSubtleCrypto::digest):
2799 (WebCore::JSSubtleCrypto::generateKey):
2800 (WebCore::JSSubtleCrypto::importKey):
2801 (WebCore::JSSubtleCrypto::exportKey):
2802 * crypto/CryptoAlgorithm.cpp:
2803 (WebCore::CryptoAlgorithm::encrypt):
2804 (WebCore::CryptoAlgorithm::decrypt):
2805 (WebCore::CryptoAlgorithm::sign):
2806 (WebCore::CryptoAlgorithm::verify):
2807 (WebCore::CryptoAlgorithm::digest):
2808 (WebCore::CryptoAlgorithm::generateKey):
2809 (WebCore::CryptoAlgorithm::deriveKey):
2810 (WebCore::CryptoAlgorithm::deriveBits):
2811 (WebCore::CryptoAlgorithm::importKey):
2812 * crypto/CryptoAlgorithm.h:
2813 * crypto/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp:
2814 (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::sign):
2815 (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::verify):
2816 * crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:
2817 (WebCore::CryptoAlgorithmAES_CBC::generateKey):
2818 (WebCore::CryptoAlgorithmAES_CBC::importKey):
2819 * crypto/algorithms/CryptoAlgorithmAES_CBC.h:
2820 * crypto/algorithms/CryptoAlgorithmHMAC.cpp:
2821 (WebCore::CryptoAlgorithmHMAC::generateKey):
2822 (WebCore::CryptoAlgorithmHMAC::importKey):
2823 * crypto/algorithms/CryptoAlgorithmHMAC.h:
2824 * crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:
2825 (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::generateKey):
2826 (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::importKey):
2827 * crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.h:
2828 * crypto/algorithms/CryptoAlgorithmSHA1.cpp:
2829 (WebCore::CryptoAlgorithmSHA1::digest):
2830 * crypto/algorithms/CryptoAlgorithmSHA1.h:
2831 * crypto/algorithms/CryptoAlgorithmSHA224.cpp:
2832 (WebCore::CryptoAlgorithmSHA224::digest):
2833 * crypto/algorithms/CryptoAlgorithmSHA224.h:
2834 * crypto/algorithms/CryptoAlgorithmSHA256.cpp:
2835 (WebCore::CryptoAlgorithmSHA256::digest):
2836 * crypto/algorithms/CryptoAlgorithmSHA256.h:
2837 * crypto/algorithms/CryptoAlgorithmSHA384.cpp:
2838 (WebCore::CryptoAlgorithmSHA384::digest):
2839 * crypto/algorithms/CryptoAlgorithmSHA384.h:
2840 * crypto/algorithms/CryptoAlgorithmSHA512.cpp:
2841 (WebCore::CryptoAlgorithmSHA512::digest):
2842 * crypto/algorithms/CryptoAlgorithmSHA512.h:
2843 * crypto/keys/CryptoKeyRSA.h:
2844 * crypto/mac/CryptoAlgorithmAES_CBCMac.cpp:
2845 (WebCore::transformAES_CBC):
2846 (WebCore::CryptoAlgorithmAES_CBC::encrypt):
2847 (WebCore::CryptoAlgorithmAES_CBC::decrypt):
2848 * crypto/mac/CryptoAlgorithmHMACMac.cpp:
2849 (WebCore::CryptoAlgorithmHMAC::sign):
2850 (WebCore::CryptoAlgorithmHMAC::verify):
2851 * crypto/mac/CryptoKeyRSAMac.cpp:
2852 (WebCore::CryptoKeyRSA::generatePair):
2854 2013-11-20 Robert Hogan <robert@webkit.org>
2856 REGRESSION(r127163): Respect clearance set on ancestors when placing floats
2857 https://bugs.webkit.org/show_bug.cgi?id=119979
2859 Reviewed by David Hyatt.
2861 Refactor the way self-collapsing blocks with clearance are positioned so that they
2862 get the correct logical-top position during margin-collapsing.
2864 Test: fast/block/margin-collapse/self-collapsing-block-with-float-descendants.html
2866 * rendering/RenderBlockFlow.cpp:
2867 (WebCore::RenderBlockFlow::clearFloats):
2868 (WebCore::RenderBlockFlow::marginOffsetForSelfCollapsingBlock):
2869 (WebCore::RenderBlockFlow::collapseMargins):
2870 (WebCore::RenderBlockFlow::clearFloatsIfNeeded):
2871 (WebCore::RenderBlockFlow::handleAfterSideOfBlock):
2872 * rendering/RenderBlockFlow.h:
2874 2013-11-20 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2876 [GTK] Remove Chromium as user agent and claim to be Safari in OS X
2877 https://bugs.webkit.org/show_bug.cgi?id=124229
2879 Reviewed by Martin Robinson.
2881 http://www.duolingo.com/ doesn't get render correctly because it uses
2882 Chrome/Chromium specific variables, added after it was forked. Because
2883 of this, it is necessary to remove the Chrome/Chromium identification
2884 in the user agent. Also, from now on, by default, The GTK+ port will
2885 claim to be Safari in OS X to avoid loading wrong resources.
2887 * platform/gtk/UserAgentGtk.cpp:
2888 (WebCore::standardUserAgent):
2890 2013-11-20 Commit Queue <commit-queue@webkit.org>
2892 Unreviewed, rolling out r159551.
2893 http://trac.webkit.org/changeset/159551
2894 https://bugs.webkit.org/show_bug.cgi?id=124669
2896 made many tests asserts (Requested by anttik on #webkit).
2898 * html/HTMLDetailsElement.h:
2899 * html/HTMLMediaElement.cpp:
2900 (HTMLMediaElement::selectNextSourceChild):
2901 * html/HTMLMetaElement.h:
2902 * html/HTMLObjectElement.cpp:
2903 (WebCore::HTMLObjectElement::shouldAllowQuickTimeClassIdQuirk):
2904 * html/HTMLOptionElement.cpp:
2905 (WebCore::HTMLOptionElement::isDisabledFormControl):
2906 * html/HTMLPlugInImageElement.cpp:
2907 (WebCore::HTMLPlugInImageElement::updateWidgetCallback):
2908 * html/HTMLSummaryElement.cpp:
2909 (WebCore::HTMLSummaryElement::detailsElement):
2910 * html/HTMLSummaryElement.h:
2911 * html/HTMLTableCaptionElement.h:
2912 * html/HTMLTableElement.cpp:
2913 (WebCore::HTMLTableElement::caption):
2914 (WebCore::HTMLTableElement::tHead):
2915 (WebCore::HTMLTableElement::tFoot):
2916 (WebCore::HTMLTableElement::lastBody):
2917 * html/HTMLTableRowElement.cpp:
2918 (WebCore::HTMLTableRowElement::rowIndex):
2919 * html/HTMLTableSectionElement.h:
2920 * html/HTMLTagNames.in:
2921 * html/MediaDocument.cpp:
2922 (WebCore::MediaDocumentParser::createDocumentStructure):
2923 * html/shadow/DetailsMarkerControl.cpp:
2924 (WebCore::DetailsMarkerControl::summaryElement):
2925 * loader/FrameLoader.cpp:
2926 (WebCore::FrameLoader::handleFallbackContent):
2927 * loader/ImageLoader.cpp:
2928 (WebCore::ImageLoader::dispatchPendingBeforeLoadEvent):
2929 * page/DragController.cpp:
2930 (WebCore::DragController::canProcessDrag):
2932 (WebCore::Frame::searchForLabelsBeforeElement):
2933 * page/SpatialNavigation.cpp:
2934 (WebCore::frameOwnerElement):
2936 2013-11-20 Zoltan Horvath <zoltan@webkit.org>
2938 Move LineWidth.{h,cpp} into rendering/line
2939 <https://webkit.org/b/124448>
2941 Reviewed by David Hyatt.
2943 In r159354 I introduced line directory. Now it's time to move the helper classes of RenderBlockLineLayout into 'line' subdirectory.
2945 No new tests, no behavior change.
2948 * GNUmakefile.list.am:
2949 * WebCore.vcxproj/WebCore.vcxproj:
2950 * WebCore.vcxproj/WebCore.vcxproj.filters:
2951 * WebCore.xcodeproj/project.pbxproj:
2952 * rendering/line/LineWidth.cpp: Renamed from Source/WebCore/rendering/LineWidth.cpp.
2953 (WebCore::LineWidth::LineWidth):
2954 (WebCore::LineWidth::fitsOnLine):
2955 (WebCore::LineWidth::fitsOnLineIncludingExtraWidth):
2956 (WebCore::LineWidth::fitsOnLineExcludingTrailingWhitespace):
2957 (WebCore::LineWidth::updateAvailableWidth):
2958 (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
2959 (WebCore::LineWidth::commit):
2960 (WebCore::LineWidth::applyOverhang):
2961 (WebCore::LineWidth::fitBelowFloats):
2962 (WebCore::LineWidth::setTrailingWhitespaceWidth):
2963 (WebCore::LineWidth::updateCurrentShapeSegment):
2964 (WebCore::LineWidth::computeAvailableWidthFromLeftAndRight):
2965 (WebCore::LineWidth::fitsOnLineExcludingTrailingCollapsedWhitespace):
2966 * rendering/line/LineWidth.h: Renamed from Source/WebCore/rendering/LineWidth.h.
2967 (WebCore::LineWidth::currentWidth):
2968 (WebCore::LineWidth::uncommittedWidth):
2969 (WebCore::LineWidth::committedWidth):
2970 (WebCore::LineWidth::availableWidth):
2971 (WebCore::LineWidth::addUncommittedWidth):
2972 (WebCore::LineWidth::shouldIndentText):
2974 2013-11-20 Brady Eidson <beidson@apple.com>
2976 Alphabetization followup to r159567
2978 Reviewed by style-bot :(
2980 * Modules/indexeddb/IDBDatabaseBackend.h:
2981 * Modules/indexeddb/IDBIndex.h:
2982 * Modules/indexeddb/IDBObjectStore.h:
2983 * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
2984 * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
2985 * inspector/InspectorIndexedDBAgent.cpp:
2987 2013-11-20 Brady Eidson <beidson@apple.com>
2989 Rename IDBMetadata.h to IDBDatabaseMetadata.h
2990 https://bugs.webkit.org/show_bug.cgi?id=124668
2992 Reviewed by Dean Jackson.
2994 * GNUmakefile.list.am:
2995 * WebCore.xcodeproj/project.pbxproj:
2997 * Modules/indexeddb/IDBDatabase.h:
2998 * Modules/indexeddb/IDBDatabaseBackend.h:
3000 * Modules/indexeddb/IDBDatabaseMetadata.h: Renamed from Source/WebCore/Modules/indexeddb/IDBMetadata.h.
3001 (WebCore::IDBIndexMetadata::IDBIndexMetadata):
3002 (WebCore::IDBObjectStoreMetadata::IDBObjectStoreMetadata):
3003 (WebCore::IDBDatabaseMetadata::IDBDatabaseMetadata):
3005 * Modules/indexeddb/IDBIndex.h:
3006 * Modules/indexeddb/IDBObjectStore.h:
3007 * Modules/indexeddb/IDBServerConnection.h:
3008 * Modules/indexeddb/IDBTransaction.h:
3009 * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:
3010 * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
3011 * Modules/indexeddb/leveldb/IDBIndexWriterLevelDB.h:
3012 * inspector/InspectorIndexedDBAgent.cpp:
3014 2013-11-20 Ryosuke Niwa <rniwa@webkit.org>
3016 Remove bogus assertions in updateNameForTreeScope and updateNameForDocument
3017 https://bugs.webkit.org/show_bug.cgi?id=124639
3019 Reviewed by Darin Adler.
3021 Removed assertions. We can't assert that the element in a tree scope or a document
3022 since these two functions are called from removedFrom.
3025 (WebCore::Element::updateNameForTreeScope):
3026 (WebCore::Element::updateNameForDocument):
3028 2013-11-20 Brady Eidson <beidson@apple.com>
3030 Cleanup getOrEstablishIDBDatabaseMetadata and stub it out in WK2
3031 https://bugs.webkit.org/show_bug.cgi?id=124635
3033 Reviewed by Tim Horton.
3035 getOrEstablishIDBDatabaseMetadata() should not have to take a database name parameter because the
3036 server connection should already know what database name it represents.
3038 * Modules/indexeddb/IDBDatabaseBackend.cpp:
3039 (WebCore::IDBDatabaseBackend::openInternalAsync):
3041 * Modules/indexeddb/IDBServerConnection.h:
3042 * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
3043 (WebCore::IDBServerConnectionLevelDB::IDBServerConnectionLevelDB):
3044 (WebCore::IDBServerConnectionLevelDB::getOrEstablishIDBDatabaseMetadata):
3045 * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
3047 * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
3048 (WebCore::IDBFactoryBackendLevelDB::deleteDatabase):
3049 (WebCore::IDBFactoryBackendLevelDB::open):
3051 2013-11-20 Andrzej Badowski <a.badowski@samsung.com>
3053 [EFL] <video> and <audio> should be accessible.
3054 https://bugs.webkit.org/show_bug.cgi?id=124494
3056 Reviewed by Gyuyoung Kim.
3058 Adding descriptions of media-element controls.
3060 * platform/efl/LocalizedStringsEfl.cpp:
3061 (WebCore::localizedMediaControlElementString):
3063 2013-11-20 Antti Koivisto <antti@apple.com>
3065 Don't paint simple text runs outside the paint rect
3066 https://bugs.webkit.org/show_bug.cgi?id=124651
3068 Reviewed by Anders Carlsson.
3070 This speeds up partial paints for long text paragraphs.
3071 Also add the same optimization for hit testing.
3073 * rendering/SimpleLineLayoutFunctions.cpp:
3074 (WebCore::SimpleLineLayout::paintFlow):
3076 Iterate over the run range that needs painting.
3078 (WebCore::SimpleLineLayout::hitTestFlow):
3080 Iterate over the line range that needs painting.
3082 * rendering/SimpleLineLayoutResolver.h:
3083 (WebCore::SimpleLineLayout::Range::Range):
3084 (WebCore::SimpleLineLayout::Range::begin):
3085 (WebCore::SimpleLineLayout::Range::end):
3089 (WebCore::SimpleLineLayout::RunResolver::Iterator::Iterator):
3090 (WebCore::SimpleLineLayout::RunResolver::Iterator::operator++):
3091 (WebCore::SimpleLineLayout::RunResolver::Iterator::advance):
3092 (WebCore::SimpleLineLayout::RunResolver::Iterator::advanceLines):
3094 Optimize case where runCount==lineCount. In this case we can just directly jump
3095 to the right run/line.
3097 (WebCore::SimpleLineLayout::RunResolver::begin):
3098 (WebCore::SimpleLineLayout::RunResolver::end):
3099 (WebCore::SimpleLineLayout::RunResolver::lineIndexForHeight):
3100 (WebCore::SimpleLineLayout::RunResolver::rangeForRect):
3102 Get the range corresponding to a rect. This currently cares about y coordinates only.
3104 (WebCore::SimpleLineLayout::LineResolver::Iterator::operator++):
3105 (WebCore::SimpleLineLayout::LineResolver::Iterator::operator*):
3106 (WebCore::SimpleLineLayout::LineResolver::rangeForRect):
3108 2013-11-20 Antoine Quint <graouts@apple.com>
3110 Cannot animate "points" attribute for <svg:polygon>
3111 https://bugs.webkit.org/show_bug.cgi?id=21371
3113 Reviewed by Antti Koivisto.
3115 Ensure we use animated list of points for SVG <polygon> and <polyline> elements
3116 when we build the path used to draw them, otherwise the animated changes won't
3117 be rendered and the base value will be used.
3119 Tests: svg/animations/polygon-set.svg
3120 svg/animations/polyline-set.svg
3122 * rendering/svg/SVGPathData.cpp:
3123 (WebCore::updatePathFromPolygonElement):
3124 (WebCore::updatePathFromPolylineElement):
3126 2013-11-20 Andrei Bucur <abucur@adobe.com>
3128 [CSSRegions] Move region styling code into RenderNamedFlowFragment
3129 https://bugs.webkit.org/show_bug.cgi?id=122957
3131 Reviewed by Mihnea Ovidenie.
3133 The patch moves all the region styling functionality outside of RenderRegion
3134 to RenderNamedFlowFragment and outside of RenderFlowThread to RenderNamedFlowThread.
3135 This generates a couple of undesired casts that will be removed in later patches
3136 when everything CSS Regions specific will be located inside RenderNamedFlowThread
3137 and RenderNamedFlowFragment (e.g. the move of the isValid flag, the auto-height
3140 The painting function was also moved from RenderRegion to RenderNamedFlowFragment. It
3141 was only used by the CSS Regions code. The new multi-column implementation has its own
3144 Tests: No changed functionality, just refactorings.
3146 * rendering/RenderFlowThread.cpp:
3147 (WebCore::RenderFlowThread::RenderFlowThread):
3148 (WebCore::RenderFlowThread::removeFlowChildInfo):
3149 (WebCore::RenderFlowThread::clearRenderBoxRegionInfoAndCustomStyle):
3150 * rendering/RenderFlowThread.h:
3151 * rendering/RenderInline.cpp:
3152 (WebCore::RenderInline::updateAlwaysCreateLineBoxes):
3153 * rendering/RenderNamedFlowFragment.cpp:
3154 (WebCore::RenderNamedFlowFragment::RenderNamedFlowFragment):
3155 (WebCore::RenderNamedFlowFragment::styleDidChange):
3156 (WebCore::RenderNamedFlowFragment::checkRegionStyle):
3157 (WebCore::RenderNamedFlowFragment::computeStyleInRegion):
3158 (WebCore::RenderNamedFlowFragment::computeChildrenStyleInRegion):
3159 (WebCore::RenderNamedFlowFragment::setObjectStyleInRegion):
3160 (WebCore::RenderNamedFlowFragment::clearObjectStyleInRegion):
3161 (WebCore::RenderNamedFlowFragment::setRegionObjectsRegionStyle):
3162 (WebCore::RenderNamedFlowFragment::restoreRegionObjectsOriginalStyle):
3163 (WebCore::shouldPaintRegionContentsInPhase):
3164 (WebCore::RenderNamedFlowFragment::paintObject):
3165 * rendering/RenderNamedFlowFragment.h:
3166 * rendering/RenderNamedFlowThread.cpp:
3167 (WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
3168 (WebCore::RenderNamedFlowThread::checkRegionsWithStyling):
3169 (WebCore::RenderNamedFlowThread::clearRenderObjectCustomStyle):
3170 (WebCore::RenderNamedFlowThread::removeFlowChildInfo):
3171 * rendering/RenderNamedFlowThread.h:
3172 * rendering/RenderRegion.cpp:
3173 (WebCore::RenderRegion::RenderRegion):
3174 (WebCore::RenderRegion::styleDidChange):
3175 (WebCore::RenderRegion::attachRegion):
3176 * rendering/RenderRegion.h:
3177 * rendering/RenderTreeAsText.cpp:
3178 (WebCore::writeRenderRegionList):
3180 2013-11-19 Gyuyoung Kim <gyuyoung.kim@samsung.com>
3182 Generate toHTMLFooElement() to clean up static_cast<>
3183 https://bugs.webkit.org/show_bug.cgi?id=124571
3185 Reviewed by Darin Adler.
3187 Though there are a lot of clean up commits before, there are still
3188 use of static_cast<HTMLFooElement*>. To clean up them, we need to generate
3189 toHTMLDetails|Meta|Summary|TableSection|TableCaptionElement().
3191 Additionally, other static_cast<> are removed as well.
3193 No new tests, no behavior changes.
3195 * html/HTMLDetailsElement.h:
3196 * html/HTMLMediaElement.cpp:
3197 (HTMLMediaElement::selectNextSourceChild):
3198 * html/HTMLMetaElement.h:
3199 * html/HTMLObjectElement.cpp:
3200 (WebCore::HTMLObjectElement::shouldAllowQuickTimeClassIdQuirk):
3201 * html/HTMLOptionElement.cpp:
3202 (WebCore::HTMLOptionElement::isDisabledFormControl):
3203 * html/HTMLPlugInImageElement.cpp:
3204 (WebCore::HTMLPlugInImageElement::updateWidgetCallback):
3205 * html/HTMLSummaryElement.cpp:
3206 (WebCore::HTMLSummaryElement::detailsElement):
3207 * html/HTMLSummaryElement.h:
3208 * html/HTMLTableCaptionElement.h:
3209 * html/HTMLTableElement.cpp:
3210 (WebCore::HTMLTableElement::caption):
3211 (WebCore::HTMLTableElement::tHead):
3212 (WebCore::HTMLTableElement::tFoot):
3213 (WebCore::HTMLTableElement::lastBody):
3214 * html/HTMLTableRowElement.cpp:
3215 (WebCore::HTMLTableRowElement::rowIndex):
3216 * html/HTMLTableSectionElement.h:
3217 * html/HTMLTagNames.in:
3218 * html/MediaDocument.cpp:
3219 (WebCore::MediaDocumentParser::createDocumentStructure):
3220 * html/shadow/DetailsMarkerControl.cpp:
3221 (WebCore::DetailsMarkerControl::summaryElement):
3222 * loader/FrameLoader.cpp:
3223 (WebCore::FrameLoader::handleFallbackContent):
3224 * loader/ImageLoader.cpp:
3225 (WebCore::ImageLoader::dispatchPendingBeforeLoadEvent):
3226 * page/DragController.cpp:
3227 (WebCore::DragController::canProcessDrag):
3229 (WebCore::Frame::searchForLabelsBeforeElement):
3230 * page/SpatialNavigation.cpp:
3231 (WebCore::frameOwnerElement):
3233 2013-11-19 Ryosuke Niwa <rniwa@webkit.org>
3235 Enable HTMLTemplateElement on Mac port
3236 https://bugs.webkit.org/show_bug.cgi?id=124637
3238 Reviewed by Tim Horton.
3240 Enabled the feature.
3242 * Configurations/FeatureDefines.xcconfig:
3244 2013-11-19 Jinwoo Song <jinwoo7.song@samsung.com>
3246 Remove unused member function declaration in DocumentOrderedMap.h
3247 https://bugs.webkit.org/show_bug.cgi?id=124629
3249 Reviewed by Ryosuke Niwa.
3251 checkConsistency() is not used anywhere.
3253 * dom/DocumentOrderedMap.h:
3255 2013-11-19 Seokju Kwon <seokju@webkit.org>
3257 Removal of redundant function call in Editor::insertTextWithoutSendingTextEvent
3258 https://bugs.webkit.org/show_bug.cgi?id=124563
3260 Reviewed by Brent Fulgham.
3262 No new tests needed, no behavior change.
3264 * editing/Editor.cpp:
3265 (WebCore::Editor::insertTextWithoutSendingTextEvent):
3267 2013-11-19 Gyuyoung Kim <gyuyoung.kim@samsung.com>
3269 Fix build break after r159533.
3271 * CMakeLists.txt: Update ANGLE files.
3273 2013-11-19 Zhuang Zhigang <zhuangzg@cn.fujitsu.com>
3275 Implement spin control on WinCE port.
3276 https://bugs.webkit.org/show_bug.cgi?id=123254
3278 Reviewed by Brent Fulgham.
3280 * rendering/RenderThemeWinCE.cpp:
3281 (WebCore::RenderThemeWinCE::adjustInnerSpinButtonStyle):
3282 (WebCore::RenderThemeWinCE::paintInnerSpinButton):
3283 * rendering/RenderThemeWinCE.h:
3285 2013-11-19 Roger Fong <roger_fong@apple.com>
3287 Update ANGLE sources.
3288 https://bugs.webkit.org/show_bug.cgi?id=124615.
3290 Reviewed by Dean Jackson.
3292 Tests covered by Khronos WebGL conformance tests.
3294 * platform/graphics/ANGLEWebKitBridge.cpp: Resolve a build error that resulted from updating ANGLE.
3295 (WebCore::getSymbolInfo):
3296 (WebCore::ANGLEWebKitBridge::compileShaderSource):
3298 2013-11-19 Filip Pizlo <fpizlo@apple.com>
3300 Rename WatchpointSet::notifyWrite() should be renamed to WatchpointSet::fireAll()
3301 https://bugs.webkit.org/show_bug.cgi?id=124609
3303 Rubber stamped by Mark Lam.
3305 No new tests because no new behavior.
3307 * bindings/scripts/CodeGeneratorJS.pm:
3309 * bindings/scripts/test/JS/JSTestEventTarget.h:
3310 (WebCore::JSTestEventTarget::create):
3312 2013-11-19 Bear Travis <betravis@adobe.com>
3314 [CSS Shapes] Parse [<box> || <shape>] values
3315 https://bugs.webkit.org/show_bug.cgi?id=124426
3317 Reviewed by Dirk Schulze.
3319 Shape values can now have an optional box specifying the coordinate sytem to use
3320 for sizing and positioning the shape. This patch adds the functionality to support
3321 parsing these new values.
3323 * css/BasicShapeFunctions.cpp:
3324 (WebCore::valueForBox): Added function to convert between BasicShape::ReferenceBox
3325 and CSSPrimitiveValue (which wraps a CSSValueID).
3326 (WebCore::boxForValue): Ditto.
3327 (WebCore::valueForBasicShape): Translations between CSSBasicShape and BasicShape
3328 must now include the reference box.
3329 (WebCore::basicShapeForValue): Ditto.
3330 * css/BasicShapeFunctions.h:
3331 * css/CSSBasicShapes.cpp:
3332 (WebCore::buildRectangleString): Include the box in the built CSS string.
3333 (WebCore::CSSBasicShapeRectangle::cssText): Ditto.
3334 (WebCore::CSSBasicShapeRectangle::equals): Include the box in comparisions.
3335 (WebCore::buildCircleString):
3336 (WebCore::CSSBasicShapeCircle::cssText):
3337 (WebCore::CSSBasicShapeCircle::equals):
3338 (WebCore::buildEllipseString):
3339 (WebCore::CSSBasicShapeEllipse::cssText):
3340 (WebCore::CSSBasicShapeEllipse::equals):
3341 (WebCore::buildPolygonString):
3342 (WebCore::CSSBasicShapePolygon::cssText):
3343 (WebCore::CSSBasicShapePolygon::equals):
3344 (WebCore::buildInsetRectangleString):
3345 (WebCore::CSSBasicShapeInsetRectangle::cssText):
3346 (WebCore::CSSBasicShapeInsetRectangle::equals):
3347 * css/CSSBasicShapes.h:
3348 (WebCore::CSSBasicShape::box): BasicShapes now have an reference box.
3349 (WebCore::CSSBasicShape::setBox): Ditto.
3350 * css/CSSComputedStyleDeclaration.cpp:
3351 (WebCore::ComputedStyleExtractor::propertyValue): Shape-inside can also
3352 parse the box values.
3353 * css/CSSParser.cpp:
3354 (WebCore::CSSParser::parseValue): The shape properties use parseShapeProperty,
3355 while minor adjustments were made to parseBasicShape's return type.
3356 (WebCore::isBoxValue): Is the CSSValueID one of the box values.
3357 (WebCore::CSSParser::parseShapeProperty): Parse one of the shape properties
3358 and return an appropriate CSSValue.
3359 (WebCore::CSSParser::parseBasicShape): Return a CSSBasicShape rather than
3360 adding a ShapeValue to the style.
3362 * rendering/style/BasicShapes.h:
3363 (WebCore::BasicShape::box): Add a box to BasicShape and getters/setters.
3364 (WebCore::BasicShape::setBox): Ditto.
3365 (WebCore::BasicShape::BasicShape): Ditto.
3367 2013-11-19 Jer Noble <jer.noble@apple.com>
3369 [Mac] 9 WebGL conformance failures after r159518.
3370 https://bugs.webkit.org/show_bug.cgi?id=124608
3372 Reviewed by Dean Jackson.
3374 Once we removed the CIImage drawing path, there was no longer any reason to flip the
3375 CGImageRef before drawing to the provided GraphicsContext.
3377 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
3378 (WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput):
3380 2013-11-19 Chris Fleizach <cfleizach@apple.com>
3382 Web Speech API crashes onboundary event handling with reload
3383 https://bugs.webkit.org/show_bug.cgi?id=124607
3385 Reviewed by Tim Horton.
3387 If the page goes away, we need to cleanup the Mac platform synthesizer object, because
3388 NSSpeechSynthesizer is retained elsewhere to handle the callbacks (so it doesn't automatically
3391 The layout tests for speech rely on a Mock synthesizer, so there is no good way to test this
3392 Mac platform specific behavior.
3394 * platform/mac/PlatformSpeechSynthesizerMac.mm:
3395 (-[WebSpeechSynthesisWrapper invalidate]):
3396 (WebCore::PlatformSpeechSynthesizer::~PlatformSpeechSynthesizer):
3398 2013-11-19 Mark Lam <mark.lam@apple.com>
3400 Add tracking of endColumn for Executables.
3401 https://bugs.webkit.org/show_bug.cgi?id=124245.
3403 Reviewed by Geoffrey Garen.
3405 Test: js/dom/script-start-end-locations.html
3407 * ForwardingHeaders/bytecode: Added.
3408 * ForwardingHeaders/bytecode/CodeBlock.h: Added.
3410 * testing/Internals.cpp:
3411 (WebCore::GetCallerCodeBlockFunctor::GetCallerCodeBlockFunctor):
3412 (WebCore::GetCallerCodeBlockFunctor::operator()):
3413 (WebCore::GetCallerCodeBlockFunctor::codeBlock):
3414 (WebCore::Internals::parserMetaData):
3415 * testing/Internals.h:
3416 * testing/Internals.idl:
3418 2013-11-15 Jer Noble <jer.noble@apple.com>
3420 [MSE] Support fastSeek() in MediaSource.
3421 https://bugs.webkit.org/show_bug.cgi?id=124422
3423 Reviewed by Eric Carlson.
3425 Test: media/media-source/media-source-fastseek.html
3427 * Modules/mediasource/MediaSource.cpp:
3428 * Modules/mediasource/MediaSource.h:
3430 Add support for "seek to the next fastest time" in MediaSource by
3431 returning the time of the nearest Sync sample.
3433 Move the data structure logic out of SourceBuffer and into it's own
3435 * Modules/mediasource/SampleMap.cpp: Added.
3436 (WebCore::SampleIsLessThanMediaTimeComparator::operator()):
3437 (WebCore::SampleIsGreaterThanMediaTimeComparator::operator()):
3438 (WebCore::SampleIsRandomAccess::operator()):
3439 (WebCore::SamplePresentationTimeIsWithinRangeComparator::operator()):
3440 (WebCore::SampleMap::addSample):
3441 (WebCore::SampleMap::removeSample):
3442 (WebCore::SampleMap::findSampleContainingPresentationTime):
3443 (WebCore::SampleMap::findSampleAfterPresentationTime):
3444 (WebCore::SampleMap::findSampleWithDecodeTime):
3445 (WebCore::SampleMap::reverseFindSampleContainingPresentationTime):
3446 (WebCore::SampleMap::reverseFindSampleBeforePresentationTime):
3447 (WebCore::SampleMap::reverseFindSampleWithDecodeTime):
3448 (WebCore::SampleMap::findSyncSamplePriorToPresentationTime):
3449 (WebCore::SampleMap::findSyncSamplePriorToDecodeIterator):
3450 (WebCore::SampleMap::findSyncSampleAfterPresentationTime):
3451 (WebCore::SampleMap::findSyncSampleAfterDecodeIterator):
3452 (WebCore::SampleMap::findSamplesBetweenPresentationTimes):
3453 (WebCore::SampleMap::findDependentSamples):
3454 * Modules/mediasource/SampleMap.h: Added.
3455 (WebCore::SampleMap::presentationBegin):