1 2013-12-03 Andreas Kling <akling@apple.com>
3 Add a CSSProperty::isDirectionAwareProperty() helper.
4 <https://webkit.org/b/125202>
6 Move the block of case labels for checking whether a CSS property ID
7 is a directional property into a separate function. Also removed an
8 outdated comment about CSS variables.
10 Reviewed by Antti Koivisto.
12 2013-12-03 Ryosuke Niwa <rniwa@webkit.org>
14 Revert the inadvertently committed change.
16 * html/HTMLElement.idl:
18 2013-12-03 Ryosuke Niwa <rniwa@webkit.org>
20 Remove nodeIsDetachedFromDocument and visualWordMovementEnabled in FrameSelection
21 https://bugs.webkit.org/show_bug.cgi?id=125210
23 Reviewed by Antti Koivisto.
25 Inspired by https://chromium.googlesource.com/chromium/blink/+/92409870f0ff8fafe31217830db0838a9e1ffb98
27 Removed some unused code.
29 * editing/FrameSelection.cpp:
30 (WebCore::FrameSelection::textWasReplaced):
31 * editing/FrameSelection.h:
34 2013-12-03 Ryosuke Niwa <rniwa@webkit.org>
36 Potential crash in RenderView::selectionBounds and RenderView::repaintSelection
37 https://bugs.webkit.org/show_bug.cgi?id=125207
39 Reviewed by Simon Fraser.
41 Merge https://chromium.googlesource.com/chromium/blink/+/f9e6e288a5aa959f05c374806121aaf0fc52d440
43 Update style in FrameSelection instead of RenderView's member functions. These are the last two
44 member functions of RenderView that updates the style.
46 * editing/FrameSelection.cpp:
47 (WebCore::FrameSelection::focusedOrActiveStateChanged):
48 (WebCore::FrameSelection::bounds):
49 * rendering/RenderView.cpp:
50 (WebCore::RenderView::selectionBounds):
51 (WebCore::RenderView::repaintSelection):
53 2013-12-03 Mark Rowe <mrowe@apple.com>
55 <https://webkit.org/b/125143> Improve the formatting in the generated Objective-C headers.
57 Add a space between @property and any parenthesized attributes.
58 Prefer strong over retain when specifying memory management semantics.
60 Reviewed by Darin Adler.
62 * bindings/objc/PublicDOMInterfaces.h:
63 * bindings/scripts/CodeGeneratorObjC.pm:
64 (GetPropertyAttributes): Generate strong instead of retain. Include a
65 space before the parenthesis.
66 * bindings/scripts/test/ObjC/DOMTestActiveDOMObject.h:
67 * bindings/scripts/test/ObjC/DOMTestEventConstructor.h:
68 * bindings/scripts/test/ObjC/DOMTestException.h:
69 * bindings/scripts/test/ObjC/DOMTestInterface.h:
70 * bindings/scripts/test/ObjC/DOMTestObj.h:
71 * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h:
72 * bindings/scripts/test/ObjC/DOMTestTypedefs.h:
73 * bindings/scripts/test/ObjC/DOMattribute.h:
75 2013-12-03 Alexey Proskuryakov <ap@apple.com>
77 Update WebCrypto JWK mapping to newer proposal
78 https://bugs.webkit.org/show_bug.cgi?id=124218
80 Reviewed by Anders Carlsson.
82 Tests: crypto/subtle/jwk-export-use-values.html
83 crypto/subtle/jwk-import-use-values.html
85 1. "extractable" renamed to "ext" in JWK.
86 2. New values for "use" mapping, which can now be combined into comma separated lists,
87 and cover all possible WebCrypto usages.
89 * bindings/js/JSCryptoKeySerializationJWK.cpp:
90 (WebCore::JSCryptoKeySerializationJWK::reconcileUsages):
91 (WebCore::JSCryptoKeySerializationJWK::reconcileExtractable):
92 (WebCore::JSCryptoKeySerializationJWK::addJWKAlgorithmToJSON):
93 (WebCore::processUseValue):
94 (WebCore::JSCryptoKeySerializationJWK::addJWKUseToJSON):
95 (WebCore::JSCryptoKeySerializationJWK::serialize):
97 2013-12-03 Simon Fraser <simon.fraser@apple.com>
99 Remove some iOS-related documentScale code
100 https://bugs.webkit.org/show_bug.cgi?id=125194
102 Reviewed by Enrica Casucci.
104 Remove exports of nonexistent documentScale-related functions on Frame.
108 2013-12-03 Eric Carlson <eric.carlson@apple.com>
110 Fix regression caused by r158599
111 https://bugs.webkit.org/show_bug.cgi?id=125188
113 Reviewed by Jer Noble.
115 * html/HTMLMediaElement.cpp:
116 (HTMLMediaElement::clearMediaPlayer): Do not clear m_player when PLUGIN_PROXY_FOR_VIDEO
119 2013-12-03 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org>
121 Nix Upstream: Updating WebCore files
122 https://bugs.webkit.org/show_bug.cgi?id=124981
124 Reviewed by Benjamin Poulain.
126 Just to sync our github repo files and the trunk, as part of the upstream process
131 * css/mediaControlsNix.css:
133 (video::-webkit-media-controls):
134 (audio::-webkit-media-controls-enclosure, video::-webkit-media-controls-enclosure):
135 (video::-webkit-media-controls-enclosure):
136 (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
137 (video:-webkit-full-page-media):
138 (audio:-webkit-full-page-media, video:-webkit-full-page-media):
139 (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
140 (audio::-webkit-media-controls-overlay-play-button, video::-webkit-media-controls-overlay-play-button):
141 (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
142 (audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container):
143 (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):
144 (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
145 (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
146 (input[type="range"]::-webkit-media-slider-container):
147 (input[type="range"]::-webkit-media-slider-container > div):
148 (input[type="range"]::-webkit-media-slider-thumb):
149 (audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button):
150 (audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button):
151 (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button):
152 (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button):
153 (audio::-webkit-media-controls-fullscreen-volume-slider, video::-webkit-media-controls-fullscreen-volume-slider):
154 (audio::-webkit-media-controls-fullscreen-volume-min-button, video::-webkit-media-controls-fullscreen-volume-min-button):
155 (audio::-webkit-media-controls-fullscreen-volume-max-button, video::-webkit-media-controls-fullscreen-volume-max-button):
156 (video::-webkit-media-text-track-container):
158 (video::-webkit-media-text-track-region):
159 (video::-webkit-media-text-track-region-container):
160 (video::-webkit-media-text-track-region-container.scrolling):
161 (video::-webkit-media-text-track-display):
162 (video::cue(:future)):
163 (video::-webkit-media-text-track-container b):
164 (video::-webkit-media-text-track-container u):
165 (video::-webkit-media-text-track-container i):
166 * editing/Editor.cpp:
167 (WebCore::Editor::cut):
168 (WebCore::Editor::copy):
169 (WebCore::Editor::copyImage):
171 * html/HTMLCanvasElement.h:
173 * platform/audio/FFTFrame.h:
174 * platform/audio/nix/AudioBusNix.cpp:
175 (WebCore::AudioBus::loadPlatformResource):
176 * platform/graphics/GLContext.h:
177 * platform/nix/CursorNix.cpp:
178 (WebCore::Cursor::ensurePlatformCursor):
179 * platform/nix/GamepadsNix.cpp:
180 (WebCore::sampleGamepads):
181 * platform/nix/RenderThemeNix.cpp:
182 (WebCore::toIntSize):
183 (WebCore::toNixRect):
184 (WebCore::RenderThemeNix::platformActiveSelectionBackgroundColor):
185 (WebCore::RenderThemeNix::platformInactiveSelectionBackgroundColor):
186 (WebCore::RenderThemeNix::platformActiveSelectionForegroundColor):
187 (WebCore::RenderThemeNix::platformInactiveSelectionForegroundColor):
188 (WebCore::RenderThemeNix::platformActiveListBoxSelectionBackgroundColor):
189 (WebCore::RenderThemeNix::platformInactiveListBoxSelectionBackgroundColor):
190 (WebCore::RenderThemeNix::platformActiveListBoxSelectionForegroundColor):
191 (WebCore::RenderThemeNix::platformInactiveListBoxSelectionForegroundColor):
192 (WebCore::RenderThemeNix::platformActiveTextSearchHighlightColor):
193 (WebCore::RenderThemeNix::platformInactiveTextSearchHighlightColor):
194 (WebCore::RenderThemeNix::platformFocusRingColor):
195 (WebCore::RenderThemeNix::platformTapHighlightColor):
196 (WebCore::RenderThemeNix::paintButton):
197 (WebCore::RenderThemeNix::paintTextField):
198 (WebCore::RenderThemeNix::paintCheckbox):
199 (WebCore::RenderThemeNix::setCheckboxSize):
200 (WebCore::RenderThemeNix::paintRadio):
201 (WebCore::RenderThemeNix::setRadioSize):
202 (WebCore::RenderThemeNix::paintMenuList):
203 (WebCore::RenderThemeNix::paintProgressBar):
204 (WebCore::RenderThemeNix::paintSliderTrack):
205 (WebCore::RenderThemeNix::paintSliderThumb):
206 (WebCore::RenderThemeNix::paintInnerSpinButton):
207 (WebCore::RenderThemeNix::paintMeter):
208 (WebCore::RenderThemeNix::extraMediaControlsStyleSheet):
209 (WebCore::RenderThemeNix::paintMediaPlayButton):
210 (WebCore::RenderThemeNix::paintMediaMuteButton):
211 (WebCore::RenderThemeNix::paintMediaSeekBackButton):
212 (WebCore::RenderThemeNix::paintMediaSeekForwardButton):
213 (WebCore::RenderThemeNix::paintMediaSliderTrack):
214 (WebCore::RenderThemeNix::paintMediaVolumeSliderContainer):
215 (WebCore::RenderThemeNix::paintMediaVolumeSliderTrack):
216 (WebCore::RenderThemeNix::paintMediaRewindButton):
217 * platform/nix/RenderThemeNix.h:
218 * rendering/SimpleLineLayout.cpp:
219 (WebCore::SimpleLineLayout::canUseFor):
221 2013-12-03 Ralph Thomas <ralpht@gmail.com>
223 Typo: FixedPositionConstaint -> FixedPositionConstraint
224 https://bugs.webkit.org/show_bug.cgi?id=125171
226 Reviewed by Simon Fraser.
228 No new tests, no change in behavior.
230 * page/scrolling/ScrollingConstraints.h:
231 * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp:
232 (WebCore::ScrollingCoordinatorCoordinatedGraphics::updateViewportConstrainedNode):
233 * page/scrolling/mac/ScrollingCoordinatorMac.mm:
234 (WebCore::ScrollingCoordinatorMac::updateViewportConstrainedNode):
236 2013-12-03 Samuel White <samuel_white@apple.com>
238 AXPress event coordinates are always sent as (0, 0)
239 https://bugs.webkit.org/show_bug.cgi?id=76677
241 Reviewed by Simon Fraser.
243 Set the coordinates of a simulated press equal to the center of the target
244 element when the simulated press does not have a related mouse event.
246 Test: accessibility/press-targets-center-point.html
249 (WebCore::Element::clientRect):
250 (WebCore::Element::screenRect):
252 * dom/EventDispatcher.cpp:
253 (WebCore::EventDispatcher::dispatchSimulatedClick):
254 * dom/MouseEvent.cpp:
255 (WebCore::SimulatedMouseEvent::create):
256 (WebCore::SimulatedMouseEvent::SimulatedMouseEvent):
259 2013-12-03 Dean Jackson <dino@apple.com>
261 [WebGL] Implement OES texture float linear
262 https://bugs.webkit.org/show_bug.cgi?id=124871
264 Reviewed by Brent Fulgham.
266 Implement the OES_texture_float_linear extension. Generally
267 we'd also enable OES_texture_half_float_linear at the same
268 time, but that's blocked on webkit.org/b/110936.
270 Test: fast/canvas/webgl/oes-texture-float-linear.html
272 * CMakeLists.txt: Add new files.
273 * DerivedSources.cpp: Ditto.
274 * DerivedSources.make: Generate new file from IDL.
275 * GNUmakefile.list.am: Add new files.
276 * WebCore.vcxproj/WebCore.vcxproj: Ditto.
277 * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
278 * WebCore.xcodeproj/project.pbxproj: New files for OESTextureFloatLinear.
280 * bindings/js/JSWebGLRenderingContextCustom.cpp:
281 (WebCore::toJS): Map the new name into the appropriate type.
283 * html/canvas/OESTextureFloatLinear.cpp: Added. This is a very simple class
285 (WebCore::OESTextureFloatLinear::OESTextureFloatLinear):
286 (WebCore::OESTextureFloatLinear::~OESTextureFloatLinear):
287 (WebCore::OESTextureFloatLinear::getName):
288 (WebCore::OESTextureFloatLinear::create):
289 * html/canvas/OESTextureFloatLinear.h: Added.
290 * html/canvas/OESTextureFloatLinear.idl: Added.
292 * html/canvas/WebGLExtension.h: Declare the new name in the enum of extensions.
294 * html/canvas/WebGLRenderingContext.cpp:
295 (WebCore::WebGLRenderingContext::drawArrays): Call new name.
296 (WebCore::WebGLRenderingContext::drawElements): Call new name.
297 (WebCore::WebGLRenderingContext::getExtension): Create the new extension if asked.
298 (WebCore::WebGLRenderingContext::checkTextureCompleteness): Renamed from handleNPOTTextures. Now
299 checks for the type of the texture too.
300 * html/canvas/WebGLRenderingContext.h: Member variable for new extension.
302 * html/canvas/WebGLTexture.cpp:
303 (WebCore::WebGLTexture::WebGLTexture):
304 (WebCore::WebGLTexture::needToUseBlackTexture): Takes an extra parameter which indicates
305 if it has an extension enabled.
306 (WebCore::WebGLTexture::update): Note it is a float type when updating.
307 * html/canvas/WebGLTexture.h: New flag to indicate float type.
309 * platform/graphics/Extensions3D.h: New flag type.
310 * platform/graphics/opengl/Extensions3DOpenGL.cpp:
311 (WebCore::Extensions3DOpenGL::supportsExtension): Add a comment about the extension.
313 2013-12-03 Alexey Proskuryakov <ap@apple.com>
315 Support exporting private WebCrypto RSA keys
316 https://bugs.webkit.org/show_bug.cgi?id=124483
318 Reviewed by Anders Carlsson.
320 Test: crypto/subtle/rsa-export-private-key.html
322 It might be better to have our own bignum implementation in WTF, but we currently
323 don't, and the need for this computation is Common Crypto specific anyway.
325 * crypto/CommonCryptoUtilities.h:
326 * crypto/CommonCryptoUtilities.cpp:
327 (WebCore::CCBigNum::CCBigNum):
328 (WebCore::CCBigNum::~CCBigNum):
329 (WebCore::CCBigNum::operator=):
330 (WebCore::CCBigNum::data):
331 (WebCore::CCBigNum::operator-):
332 (WebCore::CCBigNum::operator%):
333 (WebCore::CCBigNum::inverse):
334 Added a minimal wrapper around CommonCrypto BigNum.
336 * crypto/mac/CryptoKeyRSAMac.cpp:
337 (WebCore::getPrivateKeyComponents): Compute missing parts using CCBigNum.
338 (WebCore::CryptoKeyRSA::exportData): Implemented private key case.
340 2013-12-03 Ryosuke Niwa <rniwa@webkit.org>
342 XML fragment parsing algorithm doesn't use the context element's default namespace URI
343 https://bugs.webkit.org/show_bug.cgi?id=125132
345 Reviewed by Darin Adler.
347 Always use the context element's namespace as the default namespace URI when one is not specified by xmlns.
349 The new behavior matches that of Internet Explorer and the specified behavior in HTML5:
350 http://www.w3.org/TR/2013/CR-html5-20130806/the-xhtml-syntax.html#parsing-xhtml-fragments
352 "The default namespace is the namespace for which the DOM isDefaultNamespace() method on the element would
355 Test: fast/parser/fragment-parsing-in-document-without-xmlns.html
357 * xml/parser/XMLDocumentParserLibxml2.cpp:
358 (WebCore::XMLDocumentParser::XMLDocumentParser):
360 2013-12-03 Nick Diego Yamane <nick.yamane@openbossa.org>
362 Remove some CSS Variables leftovers
363 https://bugs.webkit.org/show_bug.cgi?id=125167
365 Reviewed by Darin Adler.
367 No new tests needed. Only removing leftover code.
369 * css/CSSBasicShapes.cpp:
370 * css/CSSBasicShapes.h:
372 2013-12-03 Myles C. Maxfield <mmaxfield@apple.com>
374 Checking second-to-last bit in address is a typo
375 https://bugs.webkit.org/show_bug.cgi?id=125162
377 Reviewed by Darin Adler.
379 After talking with the original author of this line,
380 is was a typo to make sure that the second-to-last bit
381 in an address is 0. Instead, we want to make sure that
382 the address is aligned to a 4-byte boundary
384 No behavior change, so no test is necessary
386 * platform/graphics/cg/ImageBufferCG.cpp:
387 (WebCore::ImageBuffer::ImageBuffer):
389 2013-12-03 Radu Stavila <stavila@adobe.com>
391 The overflow border of a relatively positioned element inside a region is not painted
392 https://bugs.webkit.org/show_bug.cgi?id=124919
394 Relative positioned elements have self-painting layers that don't propagate the visual overflow
395 so the layer's position should be used when determining the clipping rectangle for box decorations.
397 Reviewed by Mihnea Ovidenie.
399 Test: fast/regions/relative-borders-overflow.html
401 * rendering/RenderFlowThread.cpp:
402 (WebCore::RenderFlowThread::decorationsClipRectForBoxInRegion):
404 2013-12-03 Seokju Kwon <seokju@webkit.org>
406 Web Inspector: Get rid of 'hasFrontend()' in InspectorController and WorkerInspectorController
407 https://bugs.webkit.org/show_bug.cgi?id=125135
409 Reviewed by Darin Adler.
411 Remove 'hasFrontend()' from InspectorController and WorkerInspectorController
412 as it's never called.
414 No new tests, no behavior changes.
416 * inspector/InspectorController.h:
417 * inspector/WorkerInspectorController.h:
419 2013-12-03 Seokju Kwon <seokju@webkit.org>
421 Web Inspector: webViewResized() is not used anywhere in WebInspectorUI
422 https://bugs.webkit.org/show_bug.cgi?id=125137
424 Reviewed by Darin Adler.
426 Remove leftover code.
428 No new tests, no behavior changes.
430 * inspector/InspectorController.cpp:
431 * inspector/InspectorController.h:
432 * inspector/InspectorOverlay.cpp:
433 * inspector/InspectorOverlay.h:
434 * inspector/InspectorPageAgent.cpp:
435 * inspector/InspectorPageAgent.h:
437 2013-12-03 László Langó <lango@inf.u-szeged.hu>
439 ASSERTION FAILED: !value || (value->isPrimitiveValue()) in WebCore::StyleProperties::getLayeredShorthandValue.
440 https://bugs.webkit.org/show_bug.cgi?id=125146
442 Reviewed by Darin Adler.
444 Do not presume that |yValue| is primitive if |value| is implicit in StylePropertySerializer.
445 An implicit y-value can become explicit if specified as a separate longhand.
446 At the same time, its new value can be non-primitive.
448 Backported from Blink:
449 http://src.chromium.org/viewvc/blink?view=rev&rev=153678
451 Test: fast/css/webkit-mask-crash-implicit.html
453 * css/StyleProperties.cpp:
454 (WebCore::StyleProperties::getLayeredShorthandValue):
456 2013-12-03 Rob Buis <rob.buis@samsung.com>
458 Fix build break after r160007.
460 * rendering/style/BasicShapes.cpp:
461 (WebCore::BasicShape::canBlend):
463 2013-12-03 Rob Buis <rob.buis@samsung.com>
465 [css shapes] layout for new ellipse syntax
466 https://bugs.webkit.org/show_bug.cgi?id=124621
468 Reviewed by Dirk Schulze.
470 Implement support for doing layout with the new ellipse shape syntax,
471 including basic animation support.
473 Test: fast/shapes/shape-outside-floats/shape-outside-floats-ellipse-000.html
475 * rendering/shapes/Shape.cpp:
476 (WebCore::Shape::createShape): Convert new ellipse to a layout shape.
477 * rendering/style/BasicShapes.cpp:
478 (WebCore::BasicShape::canBlend): Ignore ellipses with values that
479 cannot be interpolated.
480 (WebCore::BasicShapeEllipse::floatValueForRadiusInBox): Helper function to calculate
481 either radiusX or radiusY, shared by clip-path and shape code paths.
482 (WebCore::BasicShapeEllipse::path):
483 * rendering/style/BasicShapes.h:
485 2013-12-03 Frédéric Wang <fred.wang@free.fr>
487 Add an MathMLSelectElement class to implement <maction> and <semantics>.
488 <https://webkit.org/b/120058>
490 Reviewed by Chris Fleizach.
492 Tests: mathml/presentation/maction-dynamic.html
493 mathml/presentation/maction.html
494 mathml/presentation/semantics.html
496 This adds a new MathMLSelectElement class to prepare the implementation
497 of the <maction> and <semantics> elements, for which only one "selected"
498 child is visible. We now simply display the first child of the
499 <semantics> element instead of hiding the annotations and this allows to
500 handle the use case of SVG-in-MathML as generated by Instiki when
501 bug 124128 is fixed ; Gecko's selection algorithm will be implemented
502 later (bug 100626). We now also rely on the @actiontype and @selection
503 attributes to select the visible <maction> child ; It remains to deal
504 with the user interaction (bug 85734).
506 * CMakeLists.txt: add the new files.
507 * GNUmakefile.list.am: ditto
509 * WebCore.vcxproj/WebCore.vcxproj: ditto
510 * WebCore.vcxproj/WebCore.vcxproj.filters: ditto
511 * WebCore.xcodeproj/project.pbxproj: ditto
512 * css/mathml.css: remove the CSS rule for annotation/annotation-xml.
513 * mathml/MathMLAllInOne.cpp: add the new cpp file.
514 * mathml/MathMLSelectElement.cpp: Added.
515 (WebCore::MathMLSelectElement::MathMLSelectElement):
516 (WebCore::MathMLSelectElement::create):
517 (WebCore::MathMLSelectElement::createRenderer):
518 (WebCore::MathMLSelectElement::childShouldCreateRenderer):
519 (WebCore::MathMLSelectElement::finishParsingChildren):
520 (WebCore::MathMLSelectElement::childrenChanged):
521 (WebCore::MathMLSelectElement::attributeChanged):
522 (WebCore::MathMLSelectElement::updateSelectedChild): basic implementation for maction, semantics, maction@actiontype and maction@selection.
523 * mathml/MathMLSelectElement.h: Added.
524 * mathml/mathattrs.in: add actiontype and selection attributes.
525 * mathml/mathtags.in: set element classes for maction, semantics, annotation and annotation-xml.
527 2013-12-03 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org>
529 Nix Upstream: Adding missing nix new files to WebCore
530 https://bugs.webkit.org/show_bug.cgi?id=124987
532 Reviewed by Benjamin Poulain.
537 * platform/nix/ErrorsNix.cpp: Added.
538 * platform/nix/ErrorsNix.h: Added.
539 * platform/nix/FileSystemNix.cpp: Added.
540 * platform/nix/MIMETypeRegistryNix.cpp: Added.
541 * platform/nix/SharedTimerNix.cpp: Added.
542 * platform/nix/TemporaryLinkStubs.cpp: Added.
544 2013-12-03 Tamas Gergely <gertom@inf.u-szeged.hu>
546 Correct broken build on efl port with --no-netscape-plugin-api
548 https://bugs.webkit.org/show_bug.cgi?id=123997
550 Reviewed by Zoltan Herczeg.
552 Build failed on efl port with --no-netscape-plugin-api configuration
553 as ld did not found some methods. The configuration uses a minimal
554 empty implementation of the class, which is now extended with empty
555 method implementations.
557 * plugins/PluginPackageNone.cpp:
558 (WebCore::PluginPackage::createPackage):
559 Returns NULL pointer.
560 (WebCore::PluginPackage::hash):
562 (WebCore::PluginPackage::equal):
563 Returns true (equals).
564 (WebCore::PluginPackage::compare):
566 (WebCore::PluginPackage::~PluginPackage):
569 2013-12-02 Andreas Kling <akling@apple.com>
571 Avoid setting style twice for generated image content.
572 <https://webkit.org/b/125128>
574 Take care of a FIXME I added in r158097 and avoid redundant work in
575 ImageContentData::createRenderer().
577 I changed the inheritance helper RenderImage::setPseudoStyle() into
578 a new createStyleInheritingFromPseudoStyle() function instead so it
579 can be used from both PseudoElement and ImageContentData.
581 Reviewed by Antti Koivisto.
583 2013-12-02 Samuel White <samuel_white@apple.com>
585 AX: Add AXUIElementCountForSearchPredicate parameterized attribute.
586 https://bugs.webkit.org/show_bug.cgi?id=124561
588 Reviewed by Chris Fleizach.
590 Added ability to fetch the number of elements that match a specific criteria. This will enable VoiceOver
591 to interface with WebKit much more dynamically. We can now get an idea of how many interesting elements
592 exist on a page, and then fetch them in chunks as needed.
594 Test: platform/mac/accessibility/search-predicate-element-count.html
596 * accessibility/AccessibilityObject.cpp:
597 (WebCore::AccessibilityObject::isAccessibilityTextSearchMatch):
598 * accessibility/AccessibilityObject.h:
599 (WebCore::AccessibilitySearchCriteria::AccessibilitySearchCriteria):
600 * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
601 (accessibilitySearchCriteriaForSearchPredicateParameterizedAttribute):
602 (-[WebAccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
603 (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
605 2013-12-02 Bem Jones-Bey <bjonesbe@adobe.com>
607 [css shapes] Layout support for new circle shape syntax
608 https://bugs.webkit.org/show_bug.cgi?id=124619
610 Reviewed by Dirk Schulze.
612 Implement support for doing layout with the new circle shape syntax,
613 inclduing basic animation support.
615 Tests: fast/shapes/shape-outside-floats/shape-outside-floats-circle-000.html
616 fast/shapes/shape-outside-floats/shape-outside-floats-circle-001.html
617 fast/shapes/shape-outside-floats/shape-outside-floats-circle-002.html
618 fast/shapes/shape-outside-floats/shape-outside-floats-circle-003.html
619 fast/shapes/shape-outside-floats/shape-outside-floats-circle-004.html
620 fast/shapes/shape-outside-floats/shape-outside-floats-circle-005.html
622 * css/BasicShapeFunctions.cpp:
623 (WebCore::floatValueForCenterCoordinate): Used by both the CSS Shapes
624 layout code and the clip path code.
625 * css/BasicShapeFunctions.h:
626 * css/CSSBasicShapes.cpp:
627 (WebCore::buildCircleString): Update to use appendLiteral, and remove
628 call to reserveCapacity - if we find that it's actually slow when
629 doing performance tests, we can hopefully do something smarter and
632 (WebCore::CSSParser::parseShapeRadius): Fix a logic error that caused
633 the radius keywords not to work properly.
634 * rendering/shapes/Shape.cpp:
635 (WebCore::Shape::createShape): Convert new circle to a layout shape.
636 * rendering/style/BasicShapes.cpp:
637 (WebCore::BasicShape::canBlend): Ignore circles with values that
638 cannot be interpolated.
639 (WebCore::BasicShapeCircle::floatValueForRadiusInBox): Convert circle
640 radius keywords to a float value.
641 (WebCore::BasicShapeCircle::path):
642 (WebCore::BasicShapeCircle::blend):
643 * rendering/style/BasicShapes.h:
644 (WebCore::BasicShapeCenterCoordinate::canBlend):
645 (WebCore::BasicShapeRadius::canBlend):
647 2013-12-02 Alexey Proskuryakov <ap@apple.com>
649 WebCrypto HMAC doesn't check key algorithm's hash
650 https://bugs.webkit.org/show_bug.cgi?id=125114
652 Reviewed by Anders Carlsson.
654 Test: crypto/subtle/hmac-check-algorithm.html
656 * crypto/algorithms/CryptoAlgorithmHMAC.cpp:
657 (WebCore::CryptoAlgorithmHMAC::keyAlgorithmMatches): Check it.
659 2013-12-02 Brady Eidson <beidson@apple.com>
661 Possible crash in ProgressTracker::progressHeartbeatTimerFired(Timer<ProgressTracker>*)
662 https://bugs.webkit.org/show_bug.cgi?id=125110
664 Reviewed by Darin Adler.
666 FrameLoader::loadProgressingStatusChanged() might be called while the Frame has a null FrameView.
668 It’s unclear how to reproduce, but there’s no harm in a null check.
670 * loader/FrameLoader.cpp:
671 (WebCore::FrameLoader::loadProgressingStatusChanged):
673 2013-12-02 Brady Eidson <beidson@apple.com>
675 Possible crash in ProgressTracker::progressHeartbeatTimerFired(Timer<ProgressTracker>*)
676 https://bugs.webkit.org/show_bug.cgi?id=125110
678 Reviewed by Darin Adler.
680 It’s possible to have a null m_originatingProgressFrame when the heartbeat timer fires.
682 On the surface this seems impossible because the only time m_originatingProgressFrame is cleared
683 out the heartbeat timer is also stopped.
685 But there’s likely still a race condition in multi-threaded environments.
687 There’s no harm in null-checking m_originatingProgressFrame before accessing its loader.
689 * loader/ProgressTracker.cpp:
690 (WebCore::ProgressTracker::progressHeartbeatTimerFired):
692 2013-12-02 Brady Eidson <beidson@apple.com>
694 Add more CachedPage null checks
695 https://bugs.webkit.org/show_bug.cgi?id=125106
697 Reviewed by Sam Weinig.
699 Only some functions in PageCache.cpp null-check the CachedPages in HistoryItems.
701 Every part that manipulates the CachedPage should.
703 * history/PageCache.cpp:
704 (WebCore::PageCache::markPagesForVistedLinkStyleRecalc):
705 (WebCore::PageCache::markPagesForFullStyleRecalc):
706 (WebCore::PageCache::markPagesForDeviceScaleChanged):
707 (WebCore::PageCache::markPagesForCaptionPreferencesChanged):
709 2013-12-02 Zoltan Horvath <zoltan@webkit.org>
711 [CSS Shapes] Support inset parsing
712 https://bugs.webkit.org/show_bug.cgi?id=124903
714 Reviewed by David Hyatt.
716 In this patch I added support for inset shape parsing for CSS Shapes. Inset is defined
717 by CSS Shapes Level 1 (http://dev.w3.org/csswg/css-shapes-1/#supported-basic-shapes).
718 Inset is going to be used by shape-outside (bug #124905), and eventually by shape-inside.
720 No new tests, I updated existing tests to cover the changes.
722 * css/BasicShapeFunctions.cpp:
723 (WebCore::valueForBasicShape): Add support for inset.
724 (WebCore::basicShapeForValue): Add support for inset.
725 * css/CSSBasicShapes.cpp:
726 (WebCore::buildInsetString): Create inset css string.
727 (WebCore::CSSBasicShapeInset::cssText): Convert inset shape to a CSS string.
728 (WebCore::CSSBasicShapeInset::equals): Compare two inset rectangles.
729 (WebCore::CSSBasicShapeInset::serializeResolvingVariables): Create an inset string, with CSS variables resolved.
730 (WebCore::CSSBasicShapeInset::hasVariableReference): Determine if this inset has any CSS Variable references.
731 * css/CSSBasicShapes.h: Add inset class.
732 (WebCore::CSSBasicShapeInset::create):
733 (WebCore::CSSBasicShapeInset::top):
734 (WebCore::CSSBasicShapeInset::right):
735 (WebCore::CSSBasicShapeInset::bottom):
736 (WebCore::CSSBasicShapeInset::left):
737 (WebCore::CSSBasicShapeInset::topLeftRadius):
738 (WebCore::CSSBasicShapeInset::topRightRadius):
739 (WebCore::CSSBasicShapeInset::bottomRightRadius):
740 (WebCore::CSSBasicShapeInset::bottomLeftRadius):
741 (WebCore::CSSBasicShapeInset::setTop):
742 (WebCore::CSSBasicShapeInset::setRight):
743 (WebCore::CSSBasicShapeInset::setBottom):
744 (WebCore::CSSBasicShapeInset::setLeft):
745 (WebCore::CSSBasicShapeInset::setTopLeftRadius):
746 (WebCore::CSSBasicShapeInset::setTopRightRadius):
747 (WebCore::CSSBasicShapeInset::setBottomRightRadius):
748 (WebCore::CSSBasicShapeInset::setBottomLeftRadius):
749 (WebCore::CSSBasicShapeInset::CSSBasicShapeInset):
751 (WebCore::completeBorderRadii): Move static function before parseInsetBorderRadius.
752 (WebCore::CSSParser::parseInsetRoundedCorners): I added this helper function for parsing the rounded corners
753 (WebCore::CSSParser::parseBasicShapeInset): Parse inset.
754 (WebCore::CSSParser::parseBasicShape): Add call to parse inset.
756 * css/CSSPrimitiveValue.cpp:
757 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Add constructor for LengthSize.
758 (WebCore::CSSPrimitiveValue::init): Initialize LengthSize.
759 * css/CSSPrimitiveValue.h:
760 (WebCore::CSSPrimitiveValue::create): Add support for creating PrimitiveValue from LengthSize.
761 * css/CSSValuePool.h:
762 (WebCore::CSSValuePool::createValue): Add support for LengthSize.
763 * platform/LengthSize.h:
764 (WebCore::LengthSize::blend): Add blend for LengthSize.
765 * rendering/shapes/ShapeInsideInfo.cpp:
766 (WebCore::ShapeInsideInfo::isEnabledFor): Keep inset disabled for shape-inside now.
767 * rendering/style/BasicShapes.cpp:
768 (WebCore::BasicShapeInset::path): Calculate path for an inset.
769 (WebCore::BasicShapeInset::blend): Blend two insets.
770 * rendering/style/BasicShapes.h: Add higher level inset.
771 (WebCore::BasicShapeInset::create):
772 (WebCore::BasicShapeInset::top):
773 (WebCore::BasicShapeInset::right):
774 (WebCore::BasicShapeInset::bottom):
775 (WebCore::BasicShapeInset::left):
776 (WebCore::BasicShapeInset::topLeftRadius):
777 (WebCore::BasicShapeInset::topRightRadius):
778 (WebCore::BasicShapeInset::bottomRightRadius):
779 (WebCore::BasicShapeInset::bottomLeftRadius):
780 (WebCore::BasicShapeInset::setTop):
781 (WebCore::BasicShapeInset::setRight):
782 (WebCore::BasicShapeInset::setBottom):
783 (WebCore::BasicShapeInset::setLeft):
784 (WebCore::BasicShapeInset::setTopLeftRadius):
785 (WebCore::BasicShapeInset::setTopRightRadius):
786 (WebCore::BasicShapeInset::setBottomRightRadius):
787 (WebCore::BasicShapeInset::setBottomLeftRadius):
788 (WebCore::BasicShapeInset::BasicShapeInset):
790 2013-12-02 Alexey Proskuryakov <ap@apple.com>
792 Support WebCrypto AES-KW
793 https://bugs.webkit.org/show_bug.cgi?id=125105
795 Reviewed by Sam Weinig.
797 Tests: crypto/subtle/aes-kw-key-manipulation.html
798 crypto/subtle/aes-kw-wrap-unwrap-aes.html
800 * WebCore.xcodeproj/project.pbxproj: Added new files.
802 * crypto/CryptoAlgorithmIdentifier.h: (WebCore::CryptoAlgorithmIdentifier): Added AES-KW.
803 It's not standardized yet, but there appears to be a consensus that it will be specified.
805 * bindings/js/JSCryptoAlgorithmDictionary.cpp:
806 (WebCore::JSCryptoAlgorithmDictionary::createParametersForEncrypt):
807 (WebCore::JSCryptoAlgorithmDictionary::createParametersForDecrypt):
808 (WebCore::JSCryptoAlgorithmDictionary::createParametersForSign):
809 (WebCore::JSCryptoAlgorithmDictionary::createParametersForVerify):
810 (WebCore::JSCryptoAlgorithmDictionary::createParametersForDigest):
811 (WebCore::JSCryptoAlgorithmDictionary::createParametersForGenerateKey):
812 (WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveKey):
813 (WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveBits):
814 (WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey):
815 (WebCore::JSCryptoAlgorithmDictionary::createParametersForExportKey):
816 Added AES-KW cases everywhere.
818 * bindings/js/JSCryptoKeySerializationJWK.cpp:
819 (WebCore::JSCryptoKeySerializationJWK::reconcileAlgorithm):
820 (WebCore::JSCryptoKeySerializationJWK::keySizeIsValid):
821 (WebCore::JSCryptoKeySerializationJWK::addJWKAlgorithmToJSON):
822 Support importing/exporting AES-KW keys in JWK.
824 * bindings/js/JSSubtleCryptoCustom.cpp:
825 (WebCore::JSSubtleCrypto::importKey):
826 (WebCore::JSSubtleCrypto::exportKey):
827 (WebCore::JSSubtleCrypto::wrapKey):
828 (WebCore::JSSubtleCrypto::unwrapKey):
829 Added some accidentally forgotten std::moves.
831 * crypto/algorithms/CryptoAlgorithmAES_KW.cpp: Added.
832 * crypto/algorithms/CryptoAlgorithmAES_KW.h: Added.
833 * crypto/mac/CryptoAlgorithmAES_KWMac.cpp: Added.
835 * crypto/keys/CryptoKeyAES.cpp: (WebCore::CryptoKeyAES::CryptoKeyAES): Allow AES-KW
836 as valid algorithm for AES keys.
838 * crypto/mac/CryptoAlgorithmRegistryMac.cpp:
839 (WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms): Register AES-KW.
841 2013-12-02 Beth Dakin <bdakin@apple.com>
843 Add a setting to opt into a mode where the background extends and fixed elements
844 don't move on rubber-band
845 https://bugs.webkit.org/show_bug.cgi?id=124745
847 Reviewed by Tim Horton.
849 New setting backgroundShouldExtendBeyondPage() will cause the tile cache to have a
850 margin, and it will also cause fixed elements and backgrounds to stick to the
851 viewport on scroll instead of sticking to the document.
854 * page/FrameView.cpp:
855 (WebCore::FrameView::scrollBehaviorForFixedElements):
857 * rendering/RenderLayerBacking.cpp:
858 (WebCore::RenderLayerBacking::RenderLayerBacking):
860 2013-12-02 Roger Zanoni <rogerzanoni@gmail.com>
862 [MediaStream] Use iterator-based loops instead of index-based loops
863 https://bugs.webkit.org/show_bug.cgi?id=125021
865 Reviewed by Eric Carlson.
867 Also, changing iterator variable names from iter to it and
868 initializing an 'end' variable in each loop instead of evaluating
869 'collection.end()' multiple times.
871 No new tests, covered by existing ones.
873 * Modules/mediastream/MediaStream.cpp:
874 (WebCore::MediaStream::cloneMediaStreamTrackVector):
875 (WebCore::MediaStream::haveTrackWithSource):
876 (WebCore::MediaStream::getTrackById):
877 (WebCore::MediaStream::trackDidEnd):
878 (WebCore::MediaStream::scheduledEventTimerFired):
880 2013-12-02 Rob Buis <rob.buis@samsung.com>
882 [css shapes] Parse new ellipse shape syntax
883 https://bugs.webkit.org/show_bug.cgi?id=124620
885 Reviewed by Dirk Schulze.
887 Implement parsing of the new ellipse shape syntax. This closely follows the patch
888 for the new circle syntax (https://bugs.webkit.org/show_bug.cgi?id=124618), with
889 some refactoring of functionality shared by both.
891 Updated existing parsing tests to cover this.
893 * css/BasicShapeFunctions.cpp:
894 (WebCore::BasicShapeRadiusToCSSValue):
895 (WebCore::valueForBasicShape):
896 (WebCore::CSSValueToBasicShapeRadius):
897 (WebCore::basicShapeForValue):
898 * css/CSSBasicShapes.cpp:
899 (WebCore::buildEllipseString):
900 (WebCore::CSSBasicShapeEllipse::cssText):
901 (WebCore::CSSBasicShapeEllipse::equals):
902 (WebCore::buildDeprecatedEllipseString):
903 (WebCore::CSSDeprecatedBasicShapeEllipse::cssText):
904 (WebCore::CSSDeprecatedBasicShapeEllipse::equals):
905 * css/CSSBasicShapes.h:
906 (WebCore::CSSDeprecatedBasicShapeEllipse::create):
907 (WebCore::CSSDeprecatedBasicShapeEllipse::centerX):
908 (WebCore::CSSDeprecatedBasicShapeEllipse::centerY):
909 (WebCore::CSSDeprecatedBasicShapeEllipse::radiusX):
910 (WebCore::CSSDeprecatedBasicShapeEllipse::radiusY):
911 (WebCore::CSSDeprecatedBasicShapeEllipse::setCenterX):
912 (WebCore::CSSDeprecatedBasicShapeEllipse::setCenterY):
913 (WebCore::CSSDeprecatedBasicShapeEllipse::setRadiusX):
914 (WebCore::CSSDeprecatedBasicShapeEllipse::setRadiusY):
915 (WebCore::CSSDeprecatedBasicShapeEllipse::CSSDeprecatedBasicShapeEllipse):
917 (WebCore::CSSParser::parseBasicShapeEllipse):
918 (WebCore::CSSParser::parseDeprecatedBasicShapeEllipse):
919 (WebCore::CSSParser::parseBasicShape):
921 * rendering/shapes/Shape.cpp:
922 (WebCore::Shape::createShape):
923 * rendering/style/BasicShapes.cpp:
924 (WebCore::DeprecatedBasicShapeEllipse::path):
925 (WebCore::DeprecatedBasicShapeEllipse::blend):
926 (WebCore::BasicShapeEllipse::path):
927 (WebCore::BasicShapeEllipse::blend):
928 * rendering/style/BasicShapes.h:
929 (WebCore::BasicShapeEllipse::centerX):
930 (WebCore::BasicShapeEllipse::centerY):
931 (WebCore::BasicShapeEllipse::radiusX):
932 (WebCore::BasicShapeEllipse::radiusY):
933 (WebCore::BasicShapeEllipse::setCenterX):
934 (WebCore::BasicShapeEllipse::setCenterY):
935 (WebCore::BasicShapeEllipse::setRadiusX):
936 (WebCore::BasicShapeEllipse::setRadiusY):
937 (WebCore::BasicShapeEllipse::BasicShapeEllipse):
938 (WebCore::DeprecatedBasicShapeEllipse::create):
939 (WebCore::DeprecatedBasicShapeEllipse::DeprecatedBasicShapeEllipse):
941 2013-12-02 Alexey Proskuryakov <ap@apple.com>
943 Add support for WebCrypto RSA-OAEP
944 https://bugs.webkit.org/show_bug.cgi?id=125084
948 * crypto/CommonCryptoUtilities.h:
949 * crypto/mac/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp:
950 * crypto/mac/CryptoKeyRSAMac.cpp:
952 2013-12-02 Brendan Long <b.long@cablelabs.com>
954 Use GenericEventQueue in TrackListBase and reduce code duplication with scheduleTrackEvent()
955 https://bugs.webkit.org/show_bug.cgi?id=124811
957 Reviewed by Eric Carlson.
959 No new tests because this is just refactoring.
961 * html/track/TrackListBase.cpp:
962 (TrackListBase::TrackListBase): Replace event code with a GenericEventQueue.
963 (TrackListBase::scheduleTrackEvent): Factor out duplicate code in schedule{Add,Remove}TrackEvent functions.
964 (TrackListBase::scheduleAddTrackEvent): Same.
965 (TrackListBase::scheduleRemoveTrackEvent): Same.
966 (TrackListBase::scheduleChangeEvent): Use GenericEventQueue.
967 * html/track/TrackListBase.h: Replace event code with GenericEventQueue.
969 2013-12-02 Alexey Proskuryakov <ap@apple.com>
971 Add support for WebCrypto RSA-OAEP
972 https://bugs.webkit.org/show_bug.cgi?id=125084
976 * WebCore.xcodeproj/project.pbxproj: Fix an automatic merge failure by re-adding
977 CryptoAlgorithmRsaOaepParams.h.
979 2013-12-02 Victor Jaquez <vjaquez@igalia.com>
981 [Gstreamer] update webkitvideosink metadata
982 https://bugs.webkit.org/show_bug.cgi?id=125082
984 Reviewed by Philippe Normand.
986 No new tests, no behavior changes.
988 * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
989 (webkit_video_sink_class_init):
991 2013-12-02 VÃctor Manuel Jáquez Leal <vjaquez@igalia.com>
993 Simplify MediaPlayerPrivateGStreamerBase::createVideoSink()
994 https://bugs.webkit.org/show_bug.cgi?id=125077
996 Remove the method's unused parameter.
997 Remove the GStreamer 0.10.22 run-time validation, since we are using
998 GStreamer 1.0 officially.
999 Remove the creation of a spurious Bin for the video sink, since
1000 either the fpssink or the webkitsink are valid sink elements.
1001 Change fpsink to a GRefPtr.
1003 Now, createVideoSink() returns a simple pointer to the created sink
1006 Reviewed by Philippe Normand.
1008 No new tests, no behavior changes.
1010 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1011 (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
1012 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
1013 (WebCore::MediaPlayerPrivateGStreamerBase::createVideoSink):
1014 (WebCore::MediaPlayerPrivateGStreamerBase::decodedFrameCount):
1015 (WebCore::MediaPlayerPrivateGStreamerBase::droppedFrameCount):
1016 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
1018 2013-12-02 Alexey Proskuryakov <ap@apple.com>
1020 Add support for WebCrypto RSA-OAEP
1021 https://bugs.webkit.org/show_bug.cgi?id=125084
1023 Reviewed by Sam Weinig.
1025 Tests: crypto/subtle/rsa-oaep-key-manipulation.html
1026 crypto/subtle/rsa-oaep-plaintext-length.html
1027 crypto/subtle/rsa-oaep-wrap-unwrap-aes.html
1029 * WebCore.xcodeproj/project.pbxproj: Added new files.
1031 * bindings/js/JSCryptoAlgorithmDictionary.cpp:
1032 (WebCore::createRsaOaepParams):
1033 (WebCore::JSCryptoAlgorithmDictionary::createParametersForEncrypt):
1034 (WebCore::JSCryptoAlgorithmDictionary::createParametersForDecrypt):
1035 (WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey):
1036 Added RSA-OAEP parameters.
1038 * bindings/js/JSCryptoKeySerializationJWK.cpp:
1039 (WebCore::JSCryptoKeySerializationJWK::reconcileAlgorithm):
1040 (WebCore::JSCryptoKeySerializationJWK::keySizeIsValid):
1041 (WebCore::JSCryptoKeySerializationJWK::addJWKAlgorithmToJSON):
1042 Support RSA-OAEP in JWK. It is more limited than general WebCrypto, as JWK only
1043 allows SHA-1 as hash.
1045 * crypto/CommonCryptoUtilities.cpp: Added. (WebCore::getCommonCryptoDigestAlgorithm):
1046 * crypto/CommonCryptoUtilities.h: Added.
1047 Extracted some shared code and forward declarations for CommonCrypto.
1049 * crypto/CryptoAlgorithmParameters.h: (WebCore::CryptoAlgorithmParameters::Class):
1050 * crypto/parameters/CryptoAlgorithmRsaOaepParams.h: Added.
1051 Added RsaOaepParams.
1053 * crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp: Added.
1054 * crypto/algorithms/CryptoAlgorithmRSA_OAEP.h: Added.
1055 * crypto/mac/CryptoAlgorithmRSA_OAEPMac.cpp: Added.
1057 * crypto/mac/CryptoAlgorithmHMACMac.cpp:
1058 (WebCore::getCommonCryptoHMACAlgorithm):
1059 (WebCore::CryptoAlgorithmHMAC::platformSign):
1060 (WebCore::CryptoAlgorithmHMAC::platformVerify):
1061 * crypto/mac/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp:
1062 * crypto/mac/CryptoKeyMac.cpp:
1063 * crypto/mac/CryptoKeyRSAMac.cpp:
1064 Use CommonCryptoUtilities.
1066 * crypto/mac/CryptoAlgorithmRegistryMac.cpp:
1067 (WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms): Register RSA-OAEP.
1069 2013-12-02 Andres Gomez <agomez@igalia.com>
1071 [GTK] Fails to build with freetype 2.5.1
1072 https://bugs.webkit.org/show_bug.cgi?id=125074
1074 Reviewed by Carlos Garcia Campos.
1076 FreeType specifies a canonical way of including their own
1077 headers. Now, we are following this recommendation so the
1078 compilation won't be broken again due to an upgrade in FeeType's
1081 * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
1082 * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
1083 * platform/graphics/harfbuzz/HarfBuzzFaceCairo.cpp:
1085 2013-12-02 Chris Fleizach <cfleizach@apple.com>
1087 AX: Crash at WebCore::commonTreeScope
1088 https://bugs.webkit.org/show_bug.cgi?id=125042
1090 Reviewed by Mario Sanchez Prada.
1092 When an AX text marker that references a node in a detached document is used to create a text marker range, a crash occurs
1093 because the method to determine commonTreeScopes does not account for when there are no common tree scopes.
1095 Test: platform/mac/accessibility/ordered-textmarker-crash.html
1097 * accessibility/AccessibilityObject.cpp:
1098 (WebCore::AccessibilityObject::visiblePositionRangeForUnorderedPositions):
1099 * dom/TreeScope.cpp:
1100 (WebCore::commonTreeScope):
1102 2013-12-02 Nick Diego Yamane <nick.yamane@openbossa.org>
1104 Fix a crash in the webaudio source provider when the audio track is going away.
1105 https://bugs.webkit.org/show_bug.cgi?id=124975
1107 Reviewed by Philippe Normand.
1109 Merged https://chromium.googlesource.com/chromium/blink/+/b21838b32bf11b1a972dfc449ddde71115490c23
1111 Before this patch, it was hitting a use-after-free crash when the audio
1112 track in the media stream is going away and the webaudio mediastreamsourcenode
1115 * Modules/webaudio/AudioContext.cpp:
1116 (WebCore::AudioContext::createMediaStreamSource): Passing audio track
1117 pointer to MediaStreamAudioSourceNode constructor.
1118 * Modules/webaudio/MediaStreamAudioSourceNode.cpp:
1119 (WebCore::MediaStreamAudioSourceNode::create):
1120 (WebCore::MediaStreamAudioSourceNode::MediaStreamAudioSourceNode):
1121 * Modules/webaudio/MediaStreamAudioSourceNode.h: Added
1122 MediaStreamTrack class variable and change the constructor to receive
1125 2013-12-02 Andrzej Badowski <a.badowski@samsung.com>
1127 [ATK] Support active state for listbox elements.
1128 https://bugs.webkit.org/show_bug.cgi?id=125009
1130 Reviewed by Chris Fleizach.
1132 Added support for ATK_STATE_ACTIVE for listbox elements.
1134 * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
1135 (setAtkStateSetFromCoreObject):
1137 2013-12-02 Seokju Kwon <seokju@webkit.org>
1139 Web Inspector: Remove unused functions from InspectorAgent
1140 https://bugs.webkit.org/show_bug.cgi?id=125061
1142 Reviewed by Antoine Quint.
1144 Get rid of unused functions, redundant inclusion and forward declaration.
1146 No new tests, no behavior changes.
1148 * inspector/InspectorAgent.cpp:
1149 * inspector/InspectorAgent.h:
1151 2013-12-02 Tibor Meszaros <mtibor@inf.u-szeged.hu>
1153 Fix build warning in EventHandler.cpp
1154 https://bugs.webkit.org/show_bug.cgi?id=125010
1156 Reviewed by Csaba Osztrogonác.
1158 * page/EventHandler.cpp:
1159 (WebCore::EventHandler::eventInvertsTabsToLinksClientCallResult):
1161 2013-12-02 Attila Dusnoki <adusnoki@inf.u-szeged.hu>
1163 HTML5 required attribute validation messages implemented.
1164 https://bugs.webkit.org/show_bug.cgi?id=125003
1166 Reviewed by Gyuyoung Kim.
1168 * platform/efl/LocalizedStringsEfl.cpp:
1169 (WebCore::validationMessagePatternMismatchText):
1170 (WebCore::validationMessageValueMissingText):
1171 (WebCore::validationMessageValueMissingForCheckboxText):
1172 (WebCore::validationMessageValueMissingForFileText):
1173 (WebCore::validationMessageValueMissingForMultipleFileText):
1174 (WebCore::validationMessageValueMissingForRadioText):
1175 (WebCore::validationMessageValueMissingForSelectText):
1176 (WebCore::validationMessageBadInputForNumberText):
1178 2013-12-01 Andreas Kling <akling@apple.com>
1180 SVG: Intersection/enclosure checks should use RenderElement.
1181 <https://webkit.org/b/125058>
1183 Make RenderSVGModelObject's checkIntersection() and checkEnclosure()
1184 take RenderElement* instead of RenderObject*. They are only ever
1185 called with SVGElement's renderers.
1187 Reviewed by Sam Weinig.
1189 2013-12-01 Andreas Kling <akling@apple.com>
1191 Remove unreachable labels for -webkit-margin-*-collapse properties.
1192 <https://webkit.org/b/125057>
1194 The following properties are implemented in DeprecatedStyleBuilder
1195 and should not have case labels in the applyProperty() switch:
1197 -webkit-margin-before-collapse
1198 -webkit-margin-top-collapse
1199 -webkit-margin-after-collapse
1200 -webkit-margin-bottom-collapse
1202 This seems counter-intuitive, but they are actually *not* like other
1203 directional properties. In this case, before/after are only aliases
1204 for top/bottom, and do not depend on writing-mode or text-direction.
1205 See also r68561, where the aliases were originally added.
1207 Reviewed by Anders Carlsson.
1209 2013-12-01 Andreas Kling <akling@apple.com>
1211 CSSFunctionValue constructors should return PassRef.
1212 <https://webkit.org/b/125054>
1214 Make CSSFunctionValue::create() helpers return PassRef instead of
1215 PassRefPtr since they will never return null.
1217 Reviewed by Anders Carlsson.
1219 2013-12-01 Commit Queue <commit-queue@webkit.org>
1221 Unreviewed, rolling out r159764.
1222 http://trac.webkit.org/changeset/159764
1223 https://bugs.webkit.org/show_bug.cgi?id=125055
1225 appears to hurt html5-full-render times (Requested by kling on
1228 * html/parser/HTMLConstructionSite.cpp:
1229 (WebCore::HTMLConstructionSite::insertTextNode):
1230 * html/parser/HTMLConstructionSite.h:
1232 2013-12-01 Andreas Kling <akling@apple.com>
1234 Make more computed style helpers return PassRef.
1235 <https://webkit.org/b/125043>
1237 Reduce branchiness in computed style code by making more of the
1238 file-local helpers return PassRef instead of PassRefPtr.
1240 Reviewed by Anders Carlsson.
1242 2013-11-30 Ryuan Choi <ryuan.choi@samsung.com>
1244 [EFL] Implement scrollbarThickness for opaque scrollbar
1245 https://bugs.webkit.org/show_bug.cgi?id=125034
1247 Reviewed by Gyuyoung Kim.
1249 Implemented scrollbarThickness to support opaque scrollbar.
1250 Now, edj can decide whether to support opaque scrollbar by adding scrollbar.thickness.
1251 In addition, added OVERRIDE/FINAL keyword and removed unnecessary destructor
1252 in ScrollbarThemeEfl.cpp.
1254 No new tests, no behavior changes with default theme.
1256 * platform/efl/RenderThemeEfl.cpp:
1257 (WebCore::RenderThemeEfl::loadTheme):
1258 Update thickness of scrollbar when theme was loaded.
1259 * platform/efl/ScrollbarThemeEfl.cpp:
1260 * platform/efl/ScrollbarThemeEfl.h:
1261 (WebCore::ScrollbarThemeEfl::setScrollbarThickness):
1262 (WebCore::ScrollbarThemeEfl::scrollbarThickness):
1263 (WebCore::ScrollbarThemeEfl::registerScrollbar):
1264 (WebCore::ScrollbarThemeEfl::unregisterScrollbar):
1266 2013-11-29 Tamas Gergely <tgergely.u-szeged@partner.samsung.com>
1268 Remove Symbian specific code.
1269 https://bugs.webkit.org/show_bug.cgi?id=124939
1271 Reviewed by Zoltan Herczeg.
1273 Symbian is not supported, remove leftover code.
1277 2013-11-28 Gyuyoung Kim <gyuyoung.kim@samsung.com>
1279 Rename InlineIterator::m_obj and make it private
1280 https://bugs.webkit.org/show_bug.cgi?id=124837
1282 Reviewed by Antti Koivisto.
1284 InlineIterator has been exported m_obj as public though there is a getter function.
1285 Besides *object* name isn't ambigious. So, changed it with m_renderer and renderer().
1286 Additionally, setRenderer() is added as well.
1288 No new tests, no behavior changes.
1290 * rendering/InlineIterator.h:
1291 (WebCore::InlineIterator::setObject):
1292 (WebCore::operator==):
1293 (WebCore::operator!=):
1294 (WebCore::InlineBidiResolver::appendRun):
1295 * rendering/RenderBlockLineLayout.cpp:
1296 (WebCore::RenderBlockFlow::appendRunsForObject):
1297 (WebCore::constructBidiRunsForLine):
1298 (WebCore::RenderBlockFlow::createLineBoxesFromBidiRuns):
1299 (WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):
1300 (WebCore::RenderBlockFlow::matchedEndLine):
1301 * rendering/line/BreakingContextInlineHeaders.h:
1302 (WebCore::TrailingObjects::updateMidpointsForTrailingBoxes):
1303 (WebCore::BreakingContext::BreakingContext):
1304 (WebCore::BreakingContext::currentObject):
1305 (WebCore::BreakingContext::initializeForCurrentObject):
1306 (WebCore::BreakingContext::handleBR):
1307 (WebCore::BreakingContext::handleOutOfFlowPositioned):
1308 (WebCore::BreakingContext::handleFloat):
1309 (WebCore::BreakingContext::handleEmptyInline):
1310 (WebCore::BreakingContext::handleReplaced):
1311 (WebCore::iteratorIsBeyondEndOfRenderCombineText):
1312 (WebCore::ensureCharacterGetsLineBox):
1313 (WebCore::BreakingContext::handleText):
1314 (WebCore::BreakingContext::canBreakAtThisPosition):
1315 (WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):
1316 (WebCore::checkMidpoints):
1317 (WebCore::BreakingContext::handleEndOfLine):
1318 * rendering/line/LineBreaker.cpp:
1319 (WebCore::LineBreaker::skipTrailingWhitespace):
1320 (WebCore::LineBreaker::skipLeadingWhitespace):
1321 * rendering/line/LineInlineHeaders.h:
1322 (WebCore::skipNonBreakingSpace):
1323 (WebCore::requiresLineBox):
1325 2013-11-28 Antti Koivisto <antti@apple.com>
1327 Rename StylePropertySet to StyleProperties
1328 https://bugs.webkit.org/show_bug.cgi?id=124990
1330 Reviewed by Andreas Kling.
1332 "Set" does not add useful information here. Use less clunky plural name.
1334 2013-11-28 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org>
1336 Nix Upstream: Adding EditorNix to WebCore
1337 https://bugs.webkit.org/show_bug.cgi?id=124984
1339 Reviewed by Csaba Osztrogonác.
1341 No new tests needed.
1343 * PlatformNix.cmake:
1344 * editing/nix/EditorNix.cpp: Added.
1346 2013-11-28 Zoltan Horvath <zoltan@webkit.org>
1348 [Win] Update vcxproj.filters, since LineInfo.h and LineLayoutState.h have been moved to rendering/line
1349 https://bugs.webkit.org/show_bug.cgi?id=124959
1351 Reviewed by Brent Fulgham.
1353 Update WebCore.vcxproj.filters, since LineInfo.h (r155628) and LineLayoutState.h (158121) have been moved to rendering/line.
1355 No new tests, no behavior change.
1357 * WebCore.vcxproj/WebCore.vcxproj.filters:
1359 2013-11-28 Laszlo Vidacs <lac@inf.u-szeged.hu>
1361 RenderTableSection Blink merge asserting
1362 https://bugs.webkit.org/show_bug.cgi?id=124857
1364 Reviewed by Csaba Osztrogonác.
1366 Use border spacing at the end of all sections.
1368 * rendering/RenderTableSection.cpp:
1369 (WebCore::RenderTableSection::calcRowLogicalHeight):
1371 2013-11-28 Antti Koivisto <antti@apple.com>
1373 Remove feature: CSS variables
1374 https://bugs.webkit.org/show_bug.cgi?id=114119
1376 Reviewed by Andreas Kling.
1378 The feature is unmaintained and it is getting in the way of refactoring. Code quality is not up to
1379 WebKit standards either.
1381 * Configurations/FeatureDefines.xcconfig:
1382 * GNUmakefile.list.am:
1383 * WebCore.xcodeproj/project.pbxproj:
1384 * css/CSSBasicShapes.cpp:
1385 * css/CSSBasicShapes.h:
1386 * css/CSSCalculationValue.cpp:
1387 (WebCore::unitCategory):
1388 (WebCore::hasDoubleValue):
1389 (WebCore::CSSCalcPrimitiveValue::toCalcValue):
1390 (WebCore::CSSCalcPrimitiveValue::computeLengthPx):
1391 (WebCore::determineCategory):
1392 (WebCore::CSSCalcBinaryOperation::primitiveType):
1393 * css/CSSCalculationValue.h:
1394 * css/CSSComputedStyleDeclaration.cpp:
1395 (WebCore::ComputedStyleExtractor::propertyValue):
1396 * css/CSSGrammar.y.in:
1397 * css/CSSParser.cpp:
1398 (WebCore::CSSParserContext::CSSParserContext):
1399 (WebCore::operator==):
1400 (WebCore::filterProperties):
1401 (WebCore::CSSParser::createStylePropertySet):
1402 (WebCore::CSSParser::addProperty):
1403 (WebCore::CSSParser::validCalculationUnit):
1404 (WebCore::CSSParser::validUnit):
1405 (WebCore::CSSParser::createPrimitiveNumericValue):
1406 (WebCore::CSSParser::parseValidPrimitive):
1407 (WebCore::CSSParser::parseValue):
1408 (WebCore::CSSParser::parseReflect):
1409 (WebCore::CSSParser::detectDashToken):
1410 (WebCore::CSSParser::realLex):
1412 * css/CSSParserMode.h:
1413 * css/CSSParserValues.cpp:
1414 (WebCore::CSSParserValue::createCSSValue):
1415 * css/CSSParserValues.h:
1416 * css/CSSPrimitiveValue.cpp:
1417 (WebCore::isValidCSSUnitTypeForDoubleConversion):
1418 (WebCore::CSSPrimitiveValue::primitiveType):
1419 (WebCore::CSSPrimitiveValue::cleanup):
1420 (WebCore::CSSPrimitiveValue::getStringValue):
1421 (WebCore::CSSPrimitiveValue::customCSSText):
1422 (WebCore::CSSPrimitiveValue::equals):
1423 * css/CSSPrimitiveValue.h:
1424 * css/CSSPrimitiveValueMappings.h:
1425 (WebCore::CSSPrimitiveValue::convertToLength):
1426 * css/CSSProperty.cpp:
1427 * css/CSSProperty.h:
1428 (WebCore::CSSProperty::CSSProperty):
1429 * css/CSSReflectValue.cpp:
1430 * css/CSSReflectValue.h:
1432 (WebCore::CSSValue::equals):
1433 (WebCore::CSSValue::cssText):
1434 (WebCore::CSSValue::destroy):
1436 (WebCore::CSSValue::setCssText):
1437 * css/CSSValueList.cpp:
1438 * css/CSSValueList.h:
1439 * css/CSSVariableValue.h: Removed.
1442 * css/StylePropertySet.cpp:
1443 (WebCore::StylePropertySet::asText):
1444 (WebCore::StylePropertySet::PropertyReference::cssName):
1445 * css/StyleResolver.cpp:
1446 (WebCore::StyleResolver::styleForPage):
1447 (WebCore::StyleResolver::applyProperties):
1448 (WebCore::StyleResolver::applyMatchedProperties):
1449 (WebCore::StyleResolver::applyProperty):
1450 * css/StyleResolver.h:
1451 * css/WebKitCSSTransformValue.cpp:
1452 * css/WebKitCSSTransformValue.h:
1453 (WebCore::WebKitCSSTransformValue::equals):
1455 * page/Settings.cpp:
1456 (WebCore::Settings::Settings):
1458 * rendering/style/RenderStyle.h:
1459 * rendering/style/StyleRareInheritedData.cpp:
1460 (WebCore::StyleRareInheritedData::StyleRareInheritedData):
1461 (WebCore::StyleRareInheritedData::operator==):
1462 * rendering/style/StyleRareInheritedData.h:
1463 * rendering/style/StyleVariableData.h: Removed.
1464 * testing/InternalSettings.cpp:
1465 (WebCore::InternalSettings::Backup::Backup):
1466 (WebCore::InternalSettings::Backup::restoreTo):
1467 * testing/InternalSettings.h:
1468 * testing/InternalSettings.idl:
1470 2013-11-28 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org>
1472 Updating RTCPeerConnectionHandlerMock after r159769
1473 https://bugs.webkit.org/show_bug.cgi?id=124947
1475 Reviewed by Philippe Normand.
1477 Adding its create function back, in order to run RTCPeerConnection LayoutTests.
1479 No new tests needed.
1481 * platform/mock/RTCPeerConnectionHandlerMock.cpp:
1482 (WebCore::RTCPeerConnectionHandlerMock::create):
1483 * platform/mock/RTCPeerConnectionHandlerMock.h:
1485 2013-11-27 Gustavo Noronha Silva <gustavo.noronha@collabora.com>
1487 [GTK] Support custom types for drag and drop data
1488 https://bugs.webkit.org/show_bug.cgi?id=124659
1490 Reviewed by Martin Robinson.
1492 Covered by fast/events/drag-customData.html.
1494 * platform/gtk/DataObjectGtk.cpp:
1495 (WebCore::DataObjectGtk::unknownTypes): returns a hash map with all custom types set.
1496 (WebCore::DataObjectGtk::clearAllExceptFilenames): clear custom types.
1497 * platform/gtk/DataObjectGtk.h:
1498 (WebCore::DataObjectGtk::hasUnknownTypeData): returns whether custom types are set.
1499 (WebCore::DataObjectGtk::unknownTypeData): returns the data for a custom type.
1500 (WebCore::DataObjectGtk::setUnknownTypeData): sets the data for a custom type.
1501 * platform/gtk/PasteboardGtk.cpp:
1502 (WebCore::Pasteboard::writeString): handle unknown types as custom.
1503 (WebCore::Pasteboard::writePasteboard): ditto.
1504 (WebCore::Pasteboard::hasData): also check for custom types.
1505 (WebCore::Pasteboard::types): also obtain the list of custom types.
1506 (WebCore::Pasteboard::readString): handle unknown types as custom.
1507 * platform/gtk/PasteboardHelper.cpp:
1508 (WebCore::initGdkAtoms): new unknown atom.
1509 (WebCore::PasteboardHelper::PasteboardHelper): add custom type to the list of targets.
1510 (WebCore::PasteboardHelper::fillSelectionData): turns any custom types' data into a GVariant, which
1511 is in turn serialized to a single string for GtkSelectionData to hold.
1512 (WebCore::PasteboardHelper::targetListForDataObject): add custom data to the target list if any is
1514 (WebCore::PasteboardHelper::fillDataObjectFromDropData): retrieve the custom types and their data
1515 from the serialized GVariant string held by GtkSelectionData.
1516 (WebCore::PasteboardHelper::dropAtomsForContext): handle custom types.
1518 2013-11-27 Eric Carlson <eric.carlson@apple.com>
1520 Allow the QuickTime plug-in to be replaced by script in an isolated word
1521 https://bugs.webkit.org/show_bug.cgi?id=124900
1523 Reviewed by Dean Jackson.
1525 Test: plugins/quicktime-plugin-replacement.html
1527 * CMakeLists.txt: Add new Modules path.
1528 * DerivedSources.make: Add new files.
1529 * GNUmakefile.am: Add new Modules path.
1530 * GNUmakefile.list.am: Add new header.
1531 * WebCore.vcxproj/WebCore.vcxproj: Add new header.
1532 * WebCore.vcxproj/WebCoreCommon.props: Add new Modules path.
1533 * WebCore.xcodeproj/project.pbxproj: Add new files.
1535 * Modules/plugins: Added.
1536 * Modules/plugins/PluginReplacement.h: Added. Defines the interface for a plug-in replacement.
1538 Create a replacement for the QuickTime plug-in.
1539 * Modules/plugins/QuickTimePluginReplacement.cpp: Added.
1540 * Modules/plugins/QuickTimePluginReplacement.css: Added.
1541 * Modules/plugins/QuickTimePluginReplacement.h: Added.
1542 * Modules/plugins/QuickTimePluginReplacement.idl: Added.
1543 * Modules/plugins/QuickTimePluginReplacement.js: Added.
1545 Allow plug-in replacement to be enabled at runtime.
1546 * bindings/generic/RuntimeEnabledFeatures.h:
1547 (WebCore::RuntimeEnabledFeatures::setPluginReplacementEnabled):
1548 (WebCore::RuntimeEnabledFeatures::pluginReplacementEnabled):
1550 * bindings/js/JSDOMBinding.h:
1551 (WebCore::toJS): Add toJS(... const String& ...).
1553 * bindings/js/JSPluginElementFunctions.cpp:
1554 (WebCore::pluginScriptObject): Give a plug-in replacement a first shot at defining the
1557 * html/HTMLEmbedElement.cpp:
1558 (WebCore::HTMLEmbedElement::updateWidget): Call base class requestObject.
1560 * html/HTMLMediaElement.cpp:
1561 (HTMLMediaElement::fileSize): New, passthrough to media engine.
1562 * html/HTMLMediaElement.h:
1564 * html/HTMLObjectElement.cpp:
1565 (WebCore::HTMLObjectElement::updateWidget): Call base class requestObject.
1567 Moved some logic that was previously used only for creating a plug-in snapshot to the base
1568 class so it can be shared by a plug-in replacement.
1569 * html/HTMLPlugInElement.cpp:
1570 (WebCore::HTMLPlugInElement::HTMLPlugInElement): Initialize timer used to swap renderers.
1571 (WebCore::HTMLPlugInElement::createRenderer): Allow plug-in replacement to create the renderer.
1572 (WebCore::HTMLPlugInElement::swapRendererTimerFired): Create a shadow root.
1573 (WebCore::HTMLPlugInElement::setDisplayState): Set the new state, prime the swap renderer
1575 (WebCore::HTMLPlugInElement::didAddUserAgentShadowRoot): Tell the plug-in replacement to
1576 install itself in the new shadow DOM.
1577 (WebCore::registeredPluginReplacements): Return vector of all registered plug-in replacements.
1578 (WebCore::registerPluginReplacement): Add a plug-in replacement.
1579 (WebCore::pluginReplacementForType): Find a plug-in replacement for a MIME type.
1580 (WebCore::HTMLPlugInElement::requestObject): If there is a plug-in replacement for the MIME type,
1581 create it and set the display state.
1582 (WebCore::HTMLPlugInElement::scriptObjectForPluginReplacement): Return the script object for
1583 the current plug-in replacement, if any.
1584 * html/HTMLPlugInElement.h:
1586 Move some plug-in snapshot code into the base class.
1587 * html/HTMLPlugInImageElement.cpp:
1588 (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): No need to initialize timer.
1589 (WebCore::HTMLPlugInImageElement::setDisplayState): Call base class.
1590 (WebCore::HTMLPlugInImageElement::createRenderer): Ditto.
1591 (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): Ditto.
1592 (WebCore::HTMLPlugInImageElement::userDidClickSnapshot): Remove unnecessary class name.
1593 (WebCore::HTMLPlugInImageElement::requestObject): New.
1594 * html/HTMLPlugInImageElement.h:
1596 * html/HTMLVideoElement.h: Make createRenderer public so the QuickTime plug-in replacement can
1599 * platform/graphics/MediaPlayer.cpp:
1600 (WebCore::MediaPlayer::fileSize): New.
1601 * platform/graphics/MediaPlayer.h:
1602 * platform/graphics/MediaPlayerPrivate.h:
1604 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
1605 (WebCore::MediaPlayerPrivateAVFoundation::extraMemoryCost): totalBytes returns an unsigned long long.
1606 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
1607 (WebCore::MediaPlayerPrivateAVFoundation::fileSize):
1609 * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
1610 (WebCore::MediaPlayerPrivateAVFoundationCF::totalBytes): Return an unsigned long long.
1611 * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
1613 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
1614 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1615 (WebCore::MediaPlayerPrivateAVFoundationObjC::totalBytes): Ditto.
1617 * testing/InternalSettings.cpp:
1618 (WebCore::InternalSettings::Backup::Backup): Backup the plug-in replacement runtime setting.
1619 (WebCore::InternalSettings::Backup::restoreTo): Restore it.
1620 (WebCore::InternalSettings::setPluginReplacementEnabled): Set it.
1621 * testing/InternalSettings.h:
1622 * testing/InternalSettings.idl:
1624 2013-11-27 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org>
1626 Adding MediaConstraintsMock class
1627 https://bugs.webkit.org/show_bug.cgi?id=124902
1629 Reviewed by Eric Carlson.
1631 Validate constraints used in RTCPeerConnection LayoutTests
1633 Existing test was updated.
1636 * GNUmakefile.list.am:
1637 * platform/mock/MediaConstraintsMock.cpp: Added.
1638 * platform/mock/MediaConstraintsMock.h: Added.
1639 * platform/mock/MockMediaStreamCenter.cpp:
1640 (WebCore::MockMediaStreamCenter::validateRequestConstraints): Now using MediaConstraintsMock
1641 (WebCore::MockMediaStreamCenter::createMediaStream): Ditto.
1642 * platform/mock/RTCPeerConnectionHandlerMock.cpp:
1643 (WebCore::RTCPeerConnectionHandlerMock::initialize): Ditto.
1645 2013-11-27 Bear Travis <betravis@adobe.com>
1647 [CSS Shapes] Shape-Inside Should Default to 'auto'
1648 https://bugs.webkit.org/show_bug.cgi?id=124851
1650 Reviewed by Alexandru Chiculita.
1652 The current shape-inside specification has the property default to the 'auto'
1653 value, not 'outside-shape'.
1655 Updated tests are under fast/shapes.
1657 * rendering/style/RenderStyle.cpp:
1658 * rendering/style/RenderStyle.h:
1660 2013-11-27 Hans Muller <hmuller@adobe.com>
1662 [CSS Shapes] shape-inside rectangle layout can fail
1663 https://bugs.webkit.org/show_bug.cgi?id=124784
1665 Reviewed by Andreas Kling.
1667 Apply LayoutUnit::fromFloatCeil() consistently in RectangleShape::firstIncludedIntervalLogicalTop().
1669 Test: fast/shapes/shape-inside/shape-inside-subpixel-rectangle-top.html
1671 * rendering/shapes/RectangleShape.cpp:
1672 (WebCore::RectangleShape::firstIncludedIntervalLogicalTop):
1674 2013-11-27 Nick Diego Yamane <nick.yamane@openbossa.org>
1676 Remove Qt-specific .qrc files
1677 https://bugs.webkit.org/show_bug.cgi?id=124944
1679 Reviewed by Andreas Kling.
1681 No new tests needed.
1683 * WebCore.qrc: Removed.
1685 2013-11-27 Xabier Rodriguez Calvar <calvaris@igalia.com>
1687 [GStreamer] Invalid command line error when visiting www.chessbase.com
1688 https://bugs.webkit.org/show_bug.cgi?id=124715
1690 Reviewed by Philippe Normand.
1692 We were not handling the HTTP errors in the WebKit GStreamer
1693 source and therefore the 404 error page was being 'decoded'. As no
1694 decoder could be found (for obvious reasons), playback failed, but
1695 it should be failing for the source not being found instead of the
1698 Test: http/tests/media/video-error-does-not-exist.html
1700 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
1701 (StreamingClient::handleResponseReceived): Handle HTTP errors in
1702 the source and raise a GStreamer error to the pipeline.
1704 2013-11-14 Sergio Villar Senin <svillar@igalia.com>
1706 [CSS Grid Layout] Fix positioning of grid items with margins
1707 https://bugs.webkit.org/show_bug.cgi?id=124345
1709 Reviewed by David Hyatt.
1711 From Blink r157925 and r158041 by <jchaffraix@chromium.org>
1713 Test: fast/css-grid-layout/grid-item-margin-resolution.html
1715 Adds margin start/before to the positions of grid items (removing
1716 several FIXME's in the current code). This means calling
1717 findChildLogicalPosition() after the layout in order to have the
1718 right values for the margins.
1720 In order to match flexbox and author's intents we're also
1721 including the margins of grid items in the intrinsic size of the
1722 grid. That's why flexbox's marginLogicalPositionForChild() is
1723 moved up to RenderBlock in order to share it with RenderGrid.
1725 * rendering/RenderBlock.cpp:
1726 (WebCore::RenderBlock::marginIntrinsicLogicalWidthForChild): Moved
1727 from RenderFlexibleBox::marginLogicalWidthForChild().
1728 * rendering/RenderBlock.h:
1729 * rendering/RenderFlexibleBox.cpp:
1730 (WebCore::RenderFlexibleBox::computeIntrinsicLogicalWidths):
1731 * rendering/RenderGrid.cpp:
1732 (WebCore::RenderGrid::computePreferredTrackWidth):
1733 (WebCore::RenderGrid::layoutGridItems):
1734 (WebCore::RenderGrid::findChildLogicalPosition):
1736 2013-11-26 Sergio Villar Senin <svillar@igalia.com>
1738 [CSS Grid Layout] Support grid-definition-{rows|columns} repeat() syntax
1739 https://bugs.webkit.org/show_bug.cgi?id=103312
1741 Reviewed by Andreas Kling.
1743 Added support for the repeat() syntax inside
1744 grid-definition-{rows|columns} by just adding the repeated values
1745 to our list of column|row definitions.
1747 The parsing of <track-name> was refactored in a new function as
1748 it's used now in three different places. The <track-size> parsing
1749 was also refactored to share it with the repeat() parsing.
1751 Test: fast/css-grid-layout/grid-element-repeat-get-set.html
1753 * css/CSSParser.cpp:
1754 (WebCore::CSSParser::parseValue):
1755 (WebCore::CSSParser::parseGridTrackNames):
1756 (WebCore::CSSParser::parseGridTrackList):
1757 (WebCore::CSSParser::parseGridTrackRepeatFunction):
1758 (WebCore::CSSParser::parseGridTrackSize):
1761 2013-11-26 Marcelo Lira <marcelo.lira@openbossa.org>
1763 Nix upstreaming - Adding build files and supporting scripts
1764 https://bugs.webkit.org/show_bug.cgi?id=118367
1766 Reviewed by Ryosuke Niwa.
1768 No new tests needed.
1771 * PlatformNix.cmake: Added.
1773 2013-11-26 Tim Horton <timothy_horton@apple.com>
1775 Don't parent the TileController root layer in two places
1776 https://bugs.webkit.org/show_bug.cgi?id=124873
1778 Reviewed by Brent Fulgham.
1780 * platform/graphics/ca/mac/TileController.mm:
1781 (WebCore::TileController::TileController):
1782 The TileController's layer is already parented by callers of
1783 TileController::create, and in a special way. TileController
1784 shouldn't parent itself, anyway...
1786 2013-11-26 Nick Diego Yamane <nick.yamane@openbossa.org>
1788 [MediaStream API] HTMLMediaElement should be able to use MediaStream as source
1789 https://bugs.webkit.org/show_bug.cgi?id=121943
1791 Reviewed by Eric Carlson.
1793 Implement MediaStream direct assignment to Media Elements using the new 'srcObject'
1794 attribute: http://www.w3.org/TR/mediacapture-streams/#direct-assignment-to-media-elements
1796 Test: fast/mediastream/MediaStream-MediaElement-srcObject.html
1798 * CMakeLists.txt: Added new HTMLMediaElementMediaStream.h and .cpp to cmake build.
1799 * DerivedSources.make: Added HTMLMediaElementMediaStream.idl.
1800 * GNUmakefile.list.am: Added new HTMLMediaElementMediaStream* to autotools build.
1801 * WebCore.xcodeproj/project.pbxproj: Added new files.
1802 * Modules/mediastream/HTMLMediaElementMediaStream.cpp: Added.
1803 (WebCore::HTMLMediaElementMediaStream::srcObject): implements srcObject getter.
1804 (WebCore::HTMLMediaElementMediaStream::setSrcObject): implements srcObject setter.
1805 * Modules/mediastream/HTMLMediaElementMediaStream.h: Added.
1806 * Modules/mediastream/HTMLMediaElementMediaStream.idl: Added.
1807 * html/HTMLMediaElement.cpp:
1808 (WebCore::HTMLMediaElement::setSrcObject): This is an initial implementation, and
1809 is still incomplete, that will be addressed in a separate bug: https://webkit.org/b/124896
1810 * html/HTMLMediaElement.h: Added m_mediaStreamSrcObject class variable
1811 and its corresponding getter.
1813 2013-11-26 Andreas Kling <akling@apple.com>
1815 Use child iterator to find operators in RenderMathMLRow::layout().
1816 <https://webkit.org/b/124108>
1818 Replace manual children walk with childrenOfType<RenderMathMLBlock>.
1819 Minor update to fix build.
1821 Reviewed by Martin Robinson.
1823 2013-11-26 Andreas Kling <akling@apple.com>
1825 RenderObject: Inline isBody() and isHR().
1826 <https://webkit.org/b/124901>
1828 Together these account for ~0.3% of samples on HTML5-8266.
1829 Almost all of it is call overhead.
1831 Reviewed by Anders Carlsson.
1833 2013-11-26 Bear Travis <betravis@adobe.com>
1835 [CSS Shapes] Layout using [<box> || <shape>] value
1836 https://bugs.webkit.org/show_bug.cgi?id=124428
1838 Reviewed by David Hyatt.
1840 When a box value is supplied, use it to size and position the shape. Otherwise,
1841 use a default value (content-box for shape-inside, margin-box for shape-outside).
1842 This patch extends the sizing and positioning code used for the box patch (Bug 124227)
1843 to also apply to shapes. With this patch, we also no longer use the box-sizing
1844 property to size and position shapes.
1846 Tests: fast/shapes/shape-outside-floats/shape-outside-shape-boxes-001.html
1847 fast/shapes/shape-outside-floats/shape-outside-shape-boxes-002.html
1848 fast/shapes/shape-outside-floats/shape-outside-shape-boxes-003.html
1850 * css/CSSComputedStyleDeclaration.cpp:
1851 (WebCore::ComputedStyleExtractor::propertyValue): Adjust for ShapeValues storing
1852 BasicShape::ReferenceBox as their box value, rather than a CSSValueID.
1853 * css/DeprecatedStyleBuilder.cpp:
1854 (WebCore::ApplyPropertyShape::applyValue): Ditto.
1855 * rendering/shapes/ShapeInfo.h:
1856 (WebCore::ShapeInfo::setShapeSize): Adjust for BasicShapes with reference boxes
1857 as well as plain box values. Also, remove old box-sizing code.
1858 (WebCore::ShapeInfo::logicalTopOffset): Ditto.
1859 (WebCore::ShapeInfo::logicalLeftOffset): Ditto.
1860 * rendering/shapes/ShapeInsideInfo.h:
1861 * rendering/shapes/ShapeOutsideInfo.h:
1862 * rendering/style/ShapeValue.h:
1863 (WebCore::ShapeValue::createBoxValue): Adjust for boxes being stored as
1864 BasicShape::ReferenceBoxes.
1865 (WebCore::ShapeValue::box): Ditto.
1866 (WebCore::ShapeValue::ShapeValue): Ditto.
1868 2013-11-26 Brian J. Burg <burg@cs.washington.edu>
1870 ImageBuffer::create should return a std::unique_ptr instead of OwnPtr.
1871 https://bugs.webkit.org/show_bug.cgi?id=124822
1873 Reviewed by Andreas Kling.
1875 Replace all uses of OwnPtr<ImageBuffer> and PassOwnPtr<ImageBuffer> with
1876 std::unique_ptr<ImageBuffer>. Replace calls to OwnPtr::clear() and
1877 OwnPtr::release() with reset() and std::move(). Remove unnecessary includes.
1879 No new tests. This is a mechanical refactoring.
1881 * css/CSSFilterImageValue.cpp:
1882 (WebCore::CSSFilterImageValue::image):
1883 * html/HTMLCanvasElement.cpp:
1884 (WebCore::HTMLCanvasElement::setSurfaceSize):
1885 * html/HTMLCanvasElement.h:
1886 * html/canvas/CanvasRenderingContext2D.cpp:
1887 (WebCore::CanvasRenderingContext2D::createCompositingBuffer):
1888 (WebCore::CanvasRenderingContext2D::fullCanvasCompositedDrawImage):
1889 (WebCore::CanvasRenderingContext2D::fullCanvasCompositedFill):
1890 (WebCore::CanvasRenderingContext2D::drawTextInternal):
1891 * html/canvas/CanvasRenderingContext2D.h:
1892 * html/canvas/WebGLRenderingContext.cpp:
1893 (WebCore::WebGLRenderingContext::LRUImageBufferCache::LRUImageBufferCache):
1894 (WebCore::WebGLRenderingContext::LRUImageBufferCache::imageBuffer):
1895 * html/canvas/WebGLRenderingContext.h:
1896 * html/shadow/MediaControlElements.cpp:
1897 (WebCore::MediaControlTextTrackContainerElement::createTextTrackRepresentationImage):
1899 (WebCore::Frame::nodeImage):
1900 (WebCore::Frame::dragImageForSelection):
1901 * platform/graphics/BitmapImage.cpp:
1902 (WebCore::BitmapImage::drawPattern):
1903 * platform/graphics/CrossfadeGeneratedImage.cpp:
1904 (WebCore::CrossfadeGeneratedImage::drawPattern):
1905 * platform/graphics/GradientImage.h:
1906 * platform/graphics/GraphicsContext.cpp:
1907 (WebCore::GraphicsContext::createCompatibleBuffer):
1908 * platform/graphics/GraphicsContext.h:
1909 * platform/graphics/ImageBuffer.cpp:
1910 (WebCore::ImageBuffer::createCompatibleBuffer):
1911 * platform/graphics/ImageBuffer.h:
1912 (WebCore::ImageBuffer::create):
1913 * platform/graphics/ShadowBlur.cpp:
1914 * platform/graphics/cg/ImageBufferCG.cpp:
1915 (WebCore::ImageBuffer::putByteArray):
1916 * platform/graphics/cg/PDFDocumentImage.h:
1917 * platform/graphics/filters/FETile.cpp:
1918 (WebCore::FETile::platformApplySoftware):
1919 * platform/graphics/filters/Filter.h:
1920 (WebCore::Filter::setSourceImage):
1921 * platform/graphics/filters/FilterEffect.cpp:
1922 (WebCore::FilterEffect::clearResult):
1923 * platform/graphics/filters/FilterEffect.h:
1924 * platform/graphics/texmap/TextureMapper.cpp:
1925 (WebCore::BitmapTexture::updateContents):
1926 * platform/graphics/texmap/TextureMapperImageBuffer.h:
1927 * rendering/InlineTextBox.cpp:
1928 (WebCore::InlineTextBox::paintDecoration):
1929 * rendering/RenderBoxModelObject.cpp:
1930 (WebCore::RenderBoxModelObject::paintFillLayerExtended):
1931 * rendering/RenderThemeMac.mm:
1932 (WebCore::RenderThemeMac::paintProgressBar):
1933 * rendering/shapes/Shape.cpp:
1934 (WebCore::Shape::createShape):
1935 * rendering/svg/RenderSVGImage.cpp:
1936 (WebCore::RenderSVGImage::invalidateBufferedForeground):
1937 * rendering/svg/RenderSVGImage.h:
1938 * rendering/svg/RenderSVGResourceClipper.cpp:
1939 (WebCore::RenderSVGResourceClipper::applyClippingToContext):
1940 * rendering/svg/RenderSVGResourceClipper.h:
1941 * rendering/svg/RenderSVGResourceFilter.cpp:
1942 (WebCore::RenderSVGResourceFilter::applyResource):
1943 (WebCore::RenderSVGResourceFilter::postApplyResource):
1944 * rendering/svg/RenderSVGResourceFilter.h:
1945 * rendering/svg/RenderSVGResourceGradient.cpp: Remove method parameter wrapping/indentation.
1946 (WebCore::createMaskAndSwapContextForTextGradient):
1947 (WebCore::clipToTextMask):
1948 (WebCore::RenderSVGResourceGradient::applyResource):
1949 * rendering/svg/RenderSVGResourceGradient.h:
1950 * rendering/svg/RenderSVGResourceMasker.cpp:
1951 (WebCore::RenderSVGResourceMasker::applyResource):
1952 * rendering/svg/RenderSVGResourceMasker.h:
1953 * rendering/svg/RenderSVGResourcePattern.cpp: Remove method parameter wrapping/indentation.
1954 (WebCore::RenderSVGResourcePattern::buildPattern):
1955 (WebCore::RenderSVGResourcePattern::createTileImage):
1956 * rendering/svg/RenderSVGResourcePattern.h: Remove method parameter wrapping/indentation.
1957 * rendering/svg/SVGRenderingContext.cpp:
1958 (WebCore::SVGRenderingContext::createImageBuffer):
1959 (WebCore::SVGRenderingContext::createImageBufferForPattern):
1960 (WebCore::SVGRenderingContext::clipToImageBuffer):
1961 (WebCore::SVGRenderingContext::bufferForeground):
1962 * rendering/svg/SVGRenderingContext.h:
1963 * svg/graphics/SVGImage.cpp:
1964 (WebCore::SVGImage::nativeImageForCurrentFrame):
1965 (WebCore::SVGImage::drawPatternForContainer):
1967 2013-11-26 Eric Carlson <eric.carlson@apple.com>
1969 video.currentSrc should return empty when no resource is loaded
1970 https://bugs.webkit.org/show_bug.cgi?id=124898
1972 Reviewed by Dan Bernstein.
1974 Test: media/video-currentsrc-cleared.html
1976 * html/HTMLMediaElement.cpp:
1977 (WebCore::HTMLMediaElement::prepareForLoad): Set m_currentSrc to empty in
1978 preparation for attempting to load a new url.
1980 2013-11-26 Hans Muller <hmuller@adobe.com>
1982 [CSS Shapes] Support for shape-margin in BoxShape
1983 https://bugs.webkit.org/show_bug.cgi?id=124788
1985 Reviewed by Andreas Kling.
1987 Corrected BoxShape's internal shape-margin/padding bounds FloatRoundedRect
1988 initialization. Tests for the padding bounds will be added when the rest of
1989 shape-padding for box shapes implementation is ready.
1991 Tests: fast/shapes/shape-outside-floats/shape-outside-margin-boxes-001.html
1992 fast/shapes/shape-outside-floats/shape-outside-margin-boxes-002.html
1994 * rendering/shapes/BoxShape.cpp: Use constructor shape-margin,shape-padding parameters.
1995 (WebCore::BoxShape::BoxShape):
1996 * rendering/shapes/BoxShape.h:
1997 * rendering/shapes/Shape.cpp:
1998 (WebCore::createBoxShape): Pass the shape-margin and shape-padding values along to the BoxShape constructor.
1999 (WebCore::Shape::createShape): Ditto.
2001 2013-11-26 Nick Diego Yamane <nick.yamane@openbossa.org>
2003 Remove unnecessary webaudio include from MediaStreamSource header
2004 https://bugs.webkit.org/show_bug.cgi?id=124897
2006 Reviewed by Eric Carlson.
2008 AudioDestinationConsumer.h is included but not used anywhere in
2009 MediaStreamSource implementation.
2011 * platform/mediastream/MediaStreamSource.h:
2013 2013-11-26 Andreas Kling <akling@apple.com>
2015 Avoid unnecessary copy-on-write in FillLayer style application.
2016 <https://webkit.org/b/124878>
2018 We ended up with a lot of cloned StyleBackgroundData objects on
2019 HTML5-8266. This happened because we always forced a copy-on-write
2020 when applying background-image:inherit / background-image:initial.
2022 This patch adds early returns to both functions. In the "inherit"
2023 case, we bail early if the target style already has the same fill
2024 layer data as its parent style.
2026 In the "initial" case, we optimize for the single-FillLayer case
2027 and add an early return if the relevant value is either unset or
2028 equal to the templatized initial value.
2030 2.46 MB progression on HTML5-8266 locally.
2032 Reviewed by Antti Koivisto.
2034 2013-11-26 Antoine Quint <graouts@apple.com>
2036 Web Inspector: Allow showing a context menu on all mouse events.
2037 https://bugs.webkit.org/show_bug.cgi?id=124747
2039 Reviewed by Joseph Pecoraro.
2041 Add a new InspectorFrontendHost::dispatchEventAsContextMenuEvent(Event*) method
2042 to let the inspector front-end dispatch a native contextmenu event that will allow
2043 for a context menu to be shown from within a non-contextmenu event handler.
2045 * inspector/InspectorFrontendHost.cpp:
2046 (WebCore::InspectorFrontendHost::dispatchEventAsContextMenuEvent):
2047 Check that we're dealing with a mouse event, get the frame for the event target
2048 and the event's location to call ContextMenuController::showContextMenuAt()
2049 which will handle the new contextmenu event dispatch to the original event target.
2051 * inspector/InspectorFrontendHost.h:
2052 * inspector/InspectorFrontendHost.idl:
2054 2013-11-25 Sam Weinig <sam@webkit.org>
2056 Convert some Shape code to use references
2057 https://bugs.webkit.org/show_bug.cgi?id=124876
2059 Reviewed by Andreas Kling.
2061 * inspector/InspectorOverlay.cpp:
2062 * rendering/FloatingObjects.cpp:
2063 * rendering/LayoutState.cpp:
2064 * rendering/RenderBlock.cpp:
2065 * rendering/RenderBlock.h:
2066 * rendering/RenderBlockLineLayout.cpp:
2067 * rendering/RenderBox.cpp:
2068 * rendering/RenderBox.h:
2069 * rendering/line/BreakingContextInlineHeaders.h:
2070 * rendering/line/LineWidth.cpp:
2071 * rendering/shapes/ShapeInfo.cpp:
2072 * rendering/shapes/ShapeInfo.h:
2073 * rendering/shapes/ShapeInsideInfo.cpp:
2074 * rendering/shapes/ShapeInsideInfo.h:
2075 * rendering/shapes/ShapeOutsideInfo.cpp:
2076 * rendering/shapes/ShapeOutsideInfo.h:
2077 Replace yet more pointers with references.
2079 2013-11-25 Simon Pena <simon.pena@samsung.com>
2081 [EFL] X11Helper::createPixmap doesn't initialise out value handleId
2082 https://bugs.webkit.org/show_bug.cgi?id=124722
2084 Reviewed by Gyuyoung Kim.
2086 The overloaded functions X11Helper::createPixmap don't initialise out
2087 value handleId, and they do early returns on error situations. Since
2088 the functions are void and they don't communicate their failure in any
2089 way, returning an out value without initialising it could make the
2090 error go farther unnoticed. With the variable being initialised, it can
2091 be reliably checked for errors when the function returns.
2093 * platform/graphics/surfaces/glx/X11Helper.cpp:
2094 (WebCore::X11Helper::createPixmap): Initialise handleId to 0.
2096 2013-11-25 Nick Diego Yamane <nick.yamane@openbossa.org>
2098 Mark URLRegistry's lookup() as const and its child classes as final
2099 https://bugs.webkit.org/show_bug.cgi?id=124865
2101 Reviewed by Eric Carlson.
2103 No new tests needed. No behavior changes.
2105 * Modules/mediasource/MediaSourceRegistry.cpp:
2106 (WebCore::MediaSourceRegistry::lookup): marked as const.
2107 * Modules/mediasource/MediaSourceRegistry.h: MediaSourceRegistry
2109 * Modules/mediastream/MediaStreamRegistry.cpp:
2110 (WebCore::MediaStreamRegistry::lookup): marked as const.
2111 * Modules/mediastream/MediaStreamRegistry.h: MediaStreamRegistry
2114 * html/URLRegistry.h: lookup() marked as const.
2115 (WebCore::URLRegistry::lookup): marked as const.
2117 2013-11-25 Sergio Correia <sergio.correia@openbossa.org>
2119 [MediaStream] Use std::unique_ptr instead of OwnPtr/PassOwnPtr
2120 https://bugs.webkit.org/show_bug.cgi?id=124858
2122 Reviewed by Eric Carlson.
2124 Another step of the OwnPtr/PassOwnPtr => std::unique_ptr conversion,
2125 now targeting mediastream-related code.
2127 No new tests, covered by existing ones.
2129 * Modules/mediastream/RTCDTMFSender.cpp:
2130 * Modules/mediastream/RTCDTMFSender.h:
2131 * Modules/mediastream/RTCDataChannel.cpp:
2132 * Modules/mediastream/RTCDataChannel.h:
2133 * Modules/mediastream/RTCPeerConnection.cpp:
2134 * Modules/mediastream/RTCPeerConnection.h:
2135 * platform/mediastream/MediaStreamSource.cpp:
2136 * platform/mediastream/RTCPeerConnectionHandler.cpp:
2137 * platform/mediastream/RTCPeerConnectionHandler.h:
2138 * platform/mediastream/RTCPeerConnectionHandlerClient.h:
2139 * platform/mock/RTCNotifiersMock.cpp:
2140 * platform/mock/RTCPeerConnectionHandlerMock.cpp:
2141 * platform/mock/RTCPeerConnectionHandlerMock.h:
2143 2013-11-25 Nick Diego Yamane <nick.yamane@openbossa.org>
2145 MediaStreamRegistry should store MediaStreams instead of MediaStreamPrivates
2146 https://bugs.webkit.org/show_bug.cgi?id=124860
2148 Reviewed by Eric Carlson.
2150 MediaStreamRegistry::lookup() should return a MediaStream instead of MediaStreamPrivate.
2152 No new tests needed. No behavior changes.
2154 * Modules/mediastream/MediaStreamRegistry.cpp:
2155 (WebCore::MediaStreamRegistry::registerURL): m_privateStreams -> m_mediaStreams
2156 (WebCore::MediaStreamRegistry::unregisterURL): Ditto.
2157 (WebCore::MediaStreamRegistry::lookup): Override URLRegistry::lookup() instead of add a
2158 new method MediaStream::lookupMediaStreamPrivate().
2159 * Modules/mediastream/MediaStreamRegistry.h:
2160 * html/HTMLMediaElement.cpp:
2161 (HTMLMediaElement::loadResource): call lookup() instead of lookupMediaStreamPrivate()
2163 2013-11-25 peavo@outlook.com <peavo@outlook.com>
2165 [WinCairo] Compile fails when GSTREAMER is not used.
2166 https://bugs.webkit.org/show_bug.cgi?id=124853
2168 Reviewed by Philippe Normand.
2170 * platform/graphics/gstreamer/GStreamerUtilities.cpp: Don't include GStreamerUtilities.h when GSTREAMER is not used.
2172 2013-11-25 Andreas Kling <akling@apple.com>
2174 Deduplicate shortish Text node strings during tree construction.
2175 <https://webkit.org/b/124855>
2177 Let HTMLConstructionSite keep a hash set of already seen strings over
2178 its lifetime. Use this to deduplicate the strings inside Text nodes
2179 for any string up to 64 characters of length.
2181 This optimization already sort-of existed for whitespace-only Texts,
2182 but those are laundered in the AtomicString table which we definitely
2183 don't want to pollute with every single Text. It might be a good idea
2184 to stop using the AtomicString table for all-whitespace Text too.
2186 3.82 MB progression on HTML5-8266 locally.
2188 Reviewed by Anders Carlsson.
2190 2013-11-25 Nick Diego Yamane <nick.yamane@openbossa.org>
2192 Remove unnecessary MediaStreamTrackDescriptor forward declaration
2193 https://bugs.webkit.org/show_bug.cgi?id=124854
2195 Reviewed by Eric Carlson.
2197 No new tests needed. No behavior changed.
2199 * Modules/mediastream/VideoStreamTrack.h:
2201 2013-11-25 Robert Hogan <robert@webkit.org>
2203 Remove code now unnecessary after r159575
2204 https://bugs.webkit.org/show_bug.cgi?id=124809
2206 Reviewed by Antti Koivisto.
2208 Covered by existing tests fast/block/margin-collapse/self-collapsing-block-with-float*
2210 * rendering/line/LineBreaker.cpp:
2211 (WebCore::LineBreaker::skipLeadingWhitespace):
2213 2013-11-25 Laszlo Vidacs <lac@inf.u-szeged.hu>
2215 Vertical border spacing is doubled between table row groups
2216 https://bugs.webkit.org/show_bug.cgi?id=20040
2218 Reviewed by Csaba Osztrogonác.
2220 Based on Chromium fix https://chromium.googlesource.com/chromium/blink/+/eb615069267f895c59bc576f9d65b3fa5add41e9
2222 Rebaseline needed for table related tests (100+).
2224 * rendering/RenderTableSection.cpp:
2225 (WebCore::RenderTableSection::calcRowLogicalHeight):
2227 2013-11-25 Andres Gomez <agomez@igalia.com>
2229 [GStreamer] Seeking fails on media content provided by servers not supporting Range requests
2230 https://bugs.webkit.org/show_bug.cgi?id=85994
2232 Reviewed by Philippe Normand.
2234 Based on the patch written by Andre Moreira Magalhaes.
2236 When the GStreamer web source was doing a "Range" request we were
2237 expecting to receive a 206 status reply with the "Content-Range"
2238 header and just the requested data. Supporting "Range" requests is
2239 not mandatory so, for the servers not supporting it they will be
2240 replying with a 200 status and the whole content of the media
2241 element. Now, we are properly handling these replies too.
2243 Test: http/tests/media/media-seeking-no-ranges-server.html
2245 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2246 (StreamingClient::handleResponseReceived): Do not fail when
2247 receiving 200 as response for HTTP range requests.
2248 (StreamingClient::handleDataReceived): Manually seek on stream
2249 when receiving the full data after a seek.
2251 2013-11-25 Radu Stavila <stavila@adobe.com>
2253 Removed obsolete FIXME after the landing of visual overflow patch (https://bugs.webkit.org/show_bug.cgi?id=118665).
2254 https://bugs.webkit.org/show_bug.cgi?id=124833
2256 Reviewed by Mihnea Ovidenie.
2258 * rendering/RenderRegion.cpp:
2259 (WebCore::RenderRegion::layoutBlock):
2261 2013-11-18 Sergio Villar Senin <svillar@igalia.com>
2263 [CSS Grid Layout] Cache several vectors to avoid malloc/free churn
2264 https://bugs.webkit.org/show_bug.cgi?id=123995
2266 Reviewed by Dean Jackson.
2268 From Blink r158228 by <jchaffraix@chromium.org>
2270 Laying-out the grid items means a lot of calls to
2271 distributeSpaceToTracks() and
2272 resolveContentBasedTrackSizingFunctionsForItems() as they're
2273 called in a loop. This means that there is a lot of malloc/free
2274 going on there. By moving the vectors used by these methods to a
2275 new class which is kept during the whole layout process we save a
2278 This obviously mean that the price we pay for a significant
2279 perfomance improvement is that we keep the maximum allocation till
2280 the end of each layout, but it's an amount of memory that we have
2281 to allocate anyway. The improvement in the
2282 auto-grid-lots-of-data.html perf test is ~24% (165 runs/s vs 207
2285 No new tests required as we're just refactoring code to a new
2286 helper class. Nevertheless the performance improvement is backed
2287 by the perf test mentioned above.
2289 * rendering/RenderGrid.cpp:
2290 (WebCore::RenderGrid::GridSizingData::GridSizingData):
2291 (WebCore::RenderGrid::computedUsedBreadthOfGridTracks):
2292 (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions):
2293 (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForItems):
2294 (WebCore::RenderGrid::distributeSpaceToTracks):
2295 (WebCore::RenderGrid::layoutGridItems):
2296 (WebCore::RenderGrid::findChildLogicalPosition):
2297 * rendering/RenderGrid.h:
2299 2013-11-24 Brady Eidson <beidson@apple.com>
2301 DatabaseProcess: Add "UniqueIDBDatabase" that multiple WebProcesses can connect to
2302 https://bugs.webkit.org/show_bug.cgi?id=124819
2304 Reviewed by Dan Bernstein.
2306 * Modules/indexeddb/IDBDatabaseBackend.cpp:
2307 (WebCore::IDBDatabaseBackend::~IDBDatabaseBackend): Unregister from the IDBFactory.
2309 2013-11-24 Gyuyoung Kim <gyuyoung.kim@samsung.com>
2311 Generate toHTMLMarquee|OListElement() to cleanup static_cast<>
2312 https://bugs.webkit.org/show_bug.cgi?id=124707
2314 Reviewed by Darin Adler.
2316 As a step to use toFoo(), we need to generate toHTMLMarquee|OListElement().
2317 Besides this patch cleans up remaining static_cast<> usage.
2319 No new tests, no behavior changes.
2321 * css/StyleResolver.cpp:
2322 (WebCore::StyleResolver::State::initElement):
2323 (WebCore::StyleResolver::locateCousinList):
2324 (WebCore::StyleResolver::findSiblingForStyleSharing):
2326 (WebCore::Attr::style):
2328 (WebCore::Element::removeAttribute):
2329 * editing/ApplyStyleCommand.cpp:
2330 (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
2331 (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode):
2332 * editing/EditingStyle.cpp:
2333 (WebCore::EditingStyle::wrappingStyleForSerialization):
2334 * editing/Editor.cpp:
2335 (WebCore::Editor::applyEditingStyleToElement):
2336 * editing/ReplaceSelectionCommand.cpp:
2337 (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
2338 * html/HTMLMarqueeElement.h:
2339 * html/HTMLOListElement.h:
2340 * html/HTMLTagNames.in:
2341 * inspector/InspectorCSSAgent.cpp:
2342 (WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):
2343 * inspector/InspectorOverlay.cpp:
2344 (WebCore::buildObjectForElementInfo):
2345 * page/PageSerializer.cpp:
2346 (WebCore::PageSerializer::serializeFrame):
2347 * rendering/RenderCounter.cpp:
2348 (WebCore::planCounter):
2349 * rendering/RenderLayer.cpp:
2350 (WebCore::RenderLayer::resize):
2351 * rendering/RenderListItem.cpp:
2352 (WebCore::RenderListItem::calcValue):
2353 (WebCore::RenderListItem::updateListMarkerNumbers):
2354 * rendering/RenderMarquee.cpp:
2355 (WebCore::RenderMarquee::marqueeSpeed):
2357 2013-11-24 Tim Horton <timothy_horton@apple.com>
2359 REGRESSION (r156291): TileController tiles don't always repaint when they resize
2360 https://bugs.webkit.org/show_bug.cgi?id=124796
2362 Reviewed by Simon Fraser.
2364 In removing platformCALayerDidCreateTiles, r156291 also removed
2365 the call to setNeedsDisplay when tiles are resized, without
2366 putting it somewhere else.
2368 * platform/graphics/ca/mac/TileController.mm:
2369 (WebCore::TileController::setNeedsDisplay):
2370 Use hasStaleContent when invalidating a whole tile, just
2371 like we do for partial tile repaints.
2373 (WebCore::TileController::setTileNeedsDisplayInRect):
2374 Mark hasStaleContent for any unparented layers, so they'll be painted
2375 when they are reparented.
2377 (WebCore::TileController::ensureTilesForRect):
2378 Invalidate the whole tile when it changes size.
2380 2013-11-23 Xabier Rodriguez Calvar <calvaris@igalia.com>
2382 [GStreamer] Remove 0.10 codepath
2383 https://bugs.webkit.org/show_bug.cgi?id=124534
2385 Reviewed by Philippe Normand.
2387 All GStreamer ports are using 1.0 now so we remove the 0.10
2390 * GNUmakefile.list.am:
2391 * PlatformEfl.cmake:
2392 * PlatformGTK.cmake:
2393 * WebCore.vcxproj/WebCore.vcxproj:
2394 * WebCore.vcxproj/WebCore.vcxproj.filters: Removed
2395 GStreamerVersioning.
2396 * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
2397 (onGStreamerWavparsePadAddedCallback): Removed.
2398 (WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):
2399 Replaced webkitGstPipelineGetBus and removed 0.10 codepath.
2400 (WebCore::AudioDestinationGStreamer::~AudioDestinationGStreamer):
2401 Replaced webkitGstPipelineGetBus.
2402 * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
2403 (WebCore::copyGstreamerBuffersToAudioChannel):
2404 (WebCore::onAppsinkPullRequiredCallback): Removed 0.10 codepath.
2405 (WebCore::AudioFileReader::~AudioFileReader): Replaced
2406 webkitGstPipelineGetBus and removed 0.10 codepath.
2407 (WebCore::AudioFileReader::handleSample): Left as only codepath.
2408 (WebCore::AudioFileReader::handleBuffer): Removed.
2409 (WebCore::AudioFileReader::handleNewDeinterleavePad): Removed 0.10
2411 (WebCore::AudioFileReader::plugDeinterleave): Replaced
2413 (WebCore::AudioFileReader::decodeAudioForBusCreation): Replaced
2414 webkitGstPipelineGetBus.
2415 (WebCore::AudioFileReader::createBus): Removed 0.10 codepath.
2416 * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
2417 (getGStreamerMonoAudioCaps):
2418 (webKitWebAudioGStreamerChannelPosition): Removed 0.10 codepath.
2419 (webkit_web_audio_src_class_init): Replaced
2420 setGstElementClassMetadata.
2421 (webkit_web_audio_src_init):
2422 (webKitWebAudioSrcConstructed):
2423 (webKitWebAudioSrcFinalize):
2424 (webKitWebAudioSrcLoop): Removed 0.10 codepath.
2425 * platform/graphics/gstreamer/AudioTrackPrivateGStreamer.cpp:
2426 * platform/graphics/gstreamer/AudioTrackPrivateGStreamer.h:
2427 Removed checks for 1.0 as it is the only codepath now.
2428 * platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
2431 (WTF::GstPadTemplate):
2434 (WTF::GstElementFactory):
2435 (WTF::adoptGRef): Replaced gstObjectIsFloating.
2436 (WTF::refGRef): Replaced webkitGstObjectRefSink.
2438 (WTF::GstSample): Removed checks for 1.0 as it is the only
2440 * platform/graphics/gstreamer/GRefPtrGStreamer.h: Removed checks
2441 for 1.0 as it is the only codepath now.
2442 * platform/graphics/gstreamer/GStreamerUtilities.cpp:
2443 (WebCore::webkitGstGhostPadFromStaticTemplate):
2444 (WebCore::getVideoSizeAndFormatFromCaps):
2445 (WebCore::createGstBuffer):
2446 (WebCore::createGstBufferForData):
2447 (WebCore::getGstBufferDataPointer):
2448 (WebCore::mapGstBuffer):
2449 (WebCore::unmapGstBuffer): Moved here from GstVersioning and added
2450 to WebCore namespace.
2451 * platform/graphics/gstreamer/GStreamerUtilities.h:
2452 (WebCore::webkitGstCheckVersion): Moved here from GstVersioning
2453 and added to WebCore namespace.
2454 * platform/graphics/gstreamer/GStreamerVersioning.cpp: Removed.
2455 * platform/graphics/gstreamer/GStreamerVersioning.h: Removed.
2456 * platform/graphics/gstreamer/ImageGStreamer.h: Removed checks for
2457 1.0 as it is the only codepath now.
2458 * platform/graphics/gstreamer/ImageGStreamerCairo.cpp:
2459 (ImageGStreamer::ImageGStreamer): Removed 0.10 codepath.
2460 (ImageGStreamer::~ImageGStreamer): Removed checks for 1.0 as it is
2461 the only codepath now.
2462 * platform/graphics/gstreamer/InbandMetadataTextTrackPrivateGStreamer.h:
2463 * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp:
2464 * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.h:
2465 Removed checks for 1.0 as it is the only codepath now.
2466 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2467 (WebCore::setAudioStreamPropertiesCallback): Removed 0.10 codepath.
2468 (WebCore::mediaPlayerPrivateTextChangedCallback): Removed checks
2469 for 1.0 as it is the only codepath now.
2470 (WebCore::MediaPlayerPrivateGStreamer::isAvailable): Replaced
2472 (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
2473 Removed checks for 1.0 and replaced webkitGstPipelineGetBus.
2474 (WebCore::MediaPlayerPrivateGStreamer::duration): Removed 0.10
2476 (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideo):
2477 (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfAudio):
2478 (WebCore::MediaPlayerPrivateGStreamer::textChanged):
2479 Removed checks for 1.0 as it is the only codepath now.
2480 (WebCore::MediaPlayerPrivateGStreamer::buffered): Replaced
2482 (WebCore::MediaPlayerPrivateGStreamer::handleMessage): Removed
2484 (WebCore::MediaPlayerPrivateGStreamer::processTableOfContents):
2485 Removed checks for 1.0 as it is the only codepath now.
2486 (WebCore::MediaPlayerPrivateGStreamer::totalBytes): Removed 0.10
2488 (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin): Replaced
2489 gPlaybinName and webkitGstPipelineGetBus and removed checks for
2491 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
2492 Removed checks for 1.0 as it is the only codepath now.
2493 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
2494 (WebCore::MediaPlayerPrivateGStreamerBase::naturalSize):
2495 (WebCore::MediaPlayerPrivateGStreamerBase::updateTexture):
2496 (WebCore::MediaPlayerPrivateGStreamerBase::paint): Removed 0.10
2498 * platform/graphics/gstreamer/TextCombinerGStreamer.cpp:
2499 * platform/graphics/gstreamer/TextCombinerGStreamer.h:
2500 * platform/graphics/gstreamer/TextSinkGStreamer.cpp:
2501 * platform/graphics/gstreamer/TextSinkGStreamer.h:
2502 * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
2503 * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h: Removed
2504 checks for 1.0 as it is the only codepath now.
2505 * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
2506 (webkitVideoSinkRender): Removed 0.10 codepath and added WebCore
2507 as createGstBuffer namespace.
2508 (webkitVideoSinkSetCaps): Removed 0.10 codepath.
2509 (webkitVideoSinkProposeAllocation): Removed checks for 1.0 as it
2510 is the only codepath now.
2511 (webkitVideoSinkMarshalVoidAndMiniObject): Removed as it was 0.10.
2512 (webkit_video_sink_class_init): Removed 0.10 codepath and replaced
2513 setGstElementClassMetadata.
2514 * platform/graphics/gstreamer/VideoTrackPrivateGStreamer.cpp:
2515 * platform/graphics/gstreamer/VideoTrackPrivateGStreamer.h:
2516 Removed checks for 1.0 as it is the only codepath now.
2517 * platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp:
2518 (webkit_media_src_class_init): Replaced
2519 setGstElementClassMetadata.
2520 (webKitMediaSrcAddSrc): Added WebCore namespace to
2521 webkitGstGhostPadFromStaticTemplate.
2522 (MediaSourceClientGstreamer::didReceiveData): Added WebCore
2523 namespace to createGstBufferForData.
2524 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2525 Removed 0.10 codepath.
2526 (webKitWebSrcQuery): Removed as it was 0.10 only.
2527 (void webkit_web_src_class_init): Replaced setGstElementClassMetadata.
2528 (webkit_web_src_init): Removed haveAppSrc27 private attribute and
2530 (webKitWebSrcStop): Removed checks for 1.0 as it is the only
2532 (webKitWebSrcSetProperty):
2533 (webKitWebSrcUriGetType):
2534 (webKitWebSrcGetProtocols):
2535 (webKitWebSrcGetUri):
2536 (webKitWebSrcSetUri): Removed 0.10 codepath.
2537 (StreamingClient::createReadBuffer): Removed checks for 1.0 and
2538 replaced getGstBufferSize.
2539 (StreamingClient::handleResponseReceived): Removed 0.10 codepath
2540 and replaced notifyGstTagsOnPad.
2541 (StreamingClient::handleDataReceived): Removed 0.10 codepath and
2542 replaced setGstBufferSize and gst_buffer_get_size.
2544 2013-11-22 Jer Noble <jer.noble@apple.com>
2546 [Mac] Can't drag full-screen video to another monitor
2547 https://bugs.webkit.org/show_bug.cgi?id=124798
2549 Reviewed by Geoffrey Garen.
2551 Make full screen windows movable by default. Previously, we wanted non-movable full screen
2552 windows since they were in the same space and were just placed atop non-full screen windows.
2553 Now that all our supported Mac platforms have explicit full screen support, we can remove this
2554 non-movable restriction.
2556 * platform/mac/WebCoreFullScreenWindow.mm:
2557 (-[WebCoreFullScreenWindow initWithContentRect:styleMask:backing:defer:]):
2559 2013-11-22 Brent Fulgham <bfulgham@apple.com>
2561 [Win] Clean up ColorSpace handling in Windows code
2562 https://bugs.webkit.org/show_bug.cgi?id=124795
2564 Reviewed by Tim Horton.
2566 Functionality covered by existing fast/css/color test suite.
2568 * platform/graphics/cg/GraphicsContextCG.cpp:
2569 (WebCore::safeRGBColorSpaceRef): Handle case of Windows CG implementation not
2570 handling sRGB correctly.
2571 (WebCore::sRGBColorSpaceRef): Use new helper function.
2572 * platform/graphics/win/FontCGWin.cpp:
2573 (WebCore::Font::drawGlyphs): Pass correct color space to fill functions.
2574 * platform/graphics/win/GraphicsContextCGWin.cpp:
2575 (WebCore::GraphicsContext::platformInit): Initialize color space to value passed
2576 via the style to the constructor.
2578 2013-11-22 Alexey Proskuryakov <ap@apple.com>
2580 WebCrypto algorithms should check that key algorithm matches
2581 https://bugs.webkit.org/show_bug.cgi?id=123628
2583 Reviewed by Anders Carlsson.
2585 No change in behavior yet, because we have one algorithm per key class.
2586 Will be tested once more algorithms are added.
2588 * WebCore.xcodeproj/project.pbxproj: Updated for file renames.
2590 * bindings/js/JSCryptoAlgorithmDictionary.cpp:
2591 (WebCore::createRsaKeyParamsWithHash):
2592 (WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey):
2593 * bindings/js/JSCryptoKeySerializationJWK.cpp:
2594 (WebCore::createRSAKeyParametersWithHash):
2595 (WebCore::JSCryptoKeySerializationJWK::reconcileAlgorithm):
2596 * crypto/CryptoAlgorithmParameters.h:
2597 (WebCore::CryptoAlgorithmParameters::ENUM_CLASS):
2598 * crypto/parameters/CryptoAlgorithmRsaKeyParamsWithHash.h: Copied from Source/WebCore/crypto/parameters/CryptoAlgorithmRsaSsaKeyParams.h.
2599 * crypto/parameters/CryptoAlgorithmRsaSsaKeyParams.h: Removed.
2600 Renamed RsaSsaKeyParams to RsaKeyParamsWithHash, because other algorithms (like RSA-OAEP)
2601 are in the same boat. Depending on where the spec goes, we might need to introduce
2602 algorithm specific RSA parameter classes later, but let's reduce copy/pasted code at
2605 * crypto/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp: Moved to the correct directory.
2606 * crypto/mac/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp: Copied from Source/WebCore/crypto/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp.
2607 (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformSign): Factored out Mac specific
2608 code, leaving type casting to cross-platform files.
2609 (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformVerify): Ditto.
2611 * crypto/CryptoAlgorithmRegistry.h:
2612 (WebCore::CryptoAlgorithmRegistry::registerAlgorithm):
2613 * crypto/mac/CryptoAlgorithmRegistryMac.cpp:
2614 (WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms):
2615 Reduce copy/pasting in registration code.
2617 * crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:
2618 (WebCore::CryptoAlgorithmAES_CBC::keyAlgorithmMatches): Check key type and algorithm.
2619 (WebCore::CryptoAlgorithmAES_CBC::encrypt): Cross platform type casting code.
2620 Maybe we'll find a way to autogenerate or eliminate it one day.
2621 (WebCore::CryptoAlgorithmAES_CBC::decrypt): Ditto.
2623 * crypto/algorithms/CryptoAlgorithmAES_CBC.h:
2624 * crypto/algorithms/CryptoAlgorithmHMAC.cpp:
2625 (WebCore::CryptoAlgorithmHMAC::keyAlgorithmMatches):
2626 (WebCore::CryptoAlgorithmHMAC::sign):
2627 (WebCore::CryptoAlgorithmHMAC::verify):
2628 * crypto/algorithms/CryptoAlgorithmHMAC.h:
2629 * crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:
2630 (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::keyAlgorithmMatches):
2631 (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::sign):
2632 (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::verify):
2633 (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::importKey):
2634 * crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.h:
2635 * crypto/mac/CryptoAlgorithmAES_CBCMac.cpp:
2636 (WebCore::CryptoAlgorithmAES_CBC::platformEncrypt):
2637 (WebCore::CryptoAlgorithmAES_CBC::platformDecrypt):
2638 * crypto/mac/CryptoAlgorithmHMACMac.cpp:
2639 (WebCore::CryptoAlgorithmHMAC::platformSign):
2640 (WebCore::CryptoAlgorithmHMAC::platformVerify):
2641 Same changes for all algorithms that have keys.
2643 2013-11-22 Brendan Long <b.long@cablelabs.com>
2645 Fire "change" event on TextTrackList when a TextTrack's mode changes
2646 https://bugs.webkit.org/show_bug.cgi?id=124789
2648 Reviewed by Eric Carlson.
2650 Since AudioTrackList and VideoTrackList already have this event, the
2651 interesting bits are in TrackListBase::scheduleChangeEvent(), and we
2652 just need to call it for TextTrackList changes.
2654 Test: media/track/track-change-event.html
2656 * html/HTMLMediaElement.cpp:
2657 (HTMLMediaElement::textTrackModeChanged): Call TrackListBase::scheduleChangeEvent().
2658 * html/track/TextTrackList.idl: Add onchange event listener.
2660 2013-11-22 Brendan Long <b.long@cablelabs.com>
2662 Add TextTrackList::getTrackById().
2663 https://bugs.webkit.org/show_bug.cgi?id=124785
2665 Reviewed by Eric Carlson.
2667 Test: media/track/track-id.html
2669 * html/track/TextTrackList.cpp: Add getTrackById()
2670 (TextTrackList::getTrackById):
2671 * html/track/TextTrackList.h: Same.
2672 * html/track/TextTrackList.idl: Same.
2674 2013-11-22 Hans Muller <hmuller@adobe.com>
2676 [CSS Shapes] When the <box> value is set, derive radii from border-radius
2677 https://bugs.webkit.org/show_bug.cgi?id=124228
2679 Reviewed by Dean Jackson.
2681 Add support for BoxShape elliptical corners.
2683 Tests: fast/shapes/shape-outside-floats/shape-outside-rounded-boxes-001.html
2684 fast/shapes/shape-outside-floats/shape-outside-rounded-boxes-002.html
2686 * platform/graphics/FloatRoundedRect.h:
2687 (WebCore::FloatRoundedRect::bottomLeftCorner): Corrected a copy-and-pasteO.
2688 * rendering/shapes/BoxShape.cpp:
2689 (WebCore::BoxShape::getExcludedIntervals): Returned interval now depends on the top and bottom of the line.
2690 * rendering/shapes/Shape.cpp:
2691 (WebCore::Shape::createShape): Rounded rect parameters are now specified with a RoundedRect parameter.
2692 * rendering/shapes/Shape.h:
2693 * rendering/shapes/ShapeInfo.cpp:
2694 (WebCore::::computedShape): Pass style's rounded border to createShape().
2696 2013-11-22 Andres Gomez <agomez@igalia.com>
2698 Several missing/incorrect guards for LOG_DISABLED=0 against Release build (Mac)
2699 https://bugs.webkit.org/show_bug.cgi?id=78735
2701 Reviewed by Mario Sanchez Prada.
2703 In a "Debug" build the CString.h header comes from another
2704 indirect dependency. Now, we explicitly add this missing include.
2706 * page/CaptionUserPreferencesMediaAF.cpp: Explicitly adding
2709 2013-11-22 Robert Sipka <sipka@inf.u-szeged.hu>
2711 [curl] Fix of SSL certificate chain storage
2712 https://bugs.webkit.org/show_bug.cgi?id=124768
2714 Reviewed by Brent Fulgham.
2716 Change the certificates storage type into ListHashSet
2717 from HashSet to keep the chain order in each case.
2718 This ensures that there is no difference between the stored
2719 and the recieved certificate chain.
2721 * platform/network/curl/SSLHandle.cpp:
2722 (WebCore::allowsAnyHTTPSCertificateHosts):
2723 (WebCore::sslIgnoreHTTPSCertificate):
2725 (WebCore::certVerifyCallback):
2727 2013-11-22 Brent Fulgham <bfulgham@apple.com>
2729 [Win] Avoid deadlock when interacting with some AVFoundationCF content
2730 <rdar://problem/15482977> and https://bugs.webkit.org/show_bug.cgi?id=124752
2732 Prevent deadlock caused by conflict over the "mapLock" mutex. Notification handling in the file,
2733 which modify assets and make other changes, are required to happen on the main thread. This
2734 patch enforces this requirement.
2736 Reviewed by Eric Carlson.
2738 * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
2739 (WebCore::NotificationCallbackData::NotificationCallbackData): Added
2740 (WebCore::AVFWrapper::processNotification): Moved logic from 'notificationCallback', which was
2741 sometimes happening on a background thread.
2742 (WebCore::AVFWrapper::notificationCallback): Dispatch calls to main thread.
2744 2013-11-22 peavo@outlook.com <peavo@outlook.com>
2746 [WinCairo] Compile error when ACCELERATED_COMPOSITING is not used.
2747 https://bugs.webkit.org/show_bug.cgi?id=124773
2749 Reviewed by Brent Fulgham.
2751 * rendering/RenderView.cpp:
2752 (WebCore::RenderView::paintBoxDecorations): Added USE(ACCELERATED_COMPOSITING) guard.
2754 2013-11-18 Sergio Villar Senin <svillar@igalia.com>
2756 [CSS Grid Layout] Improve content-sized track layout
2757 https://bugs.webkit.org/show_bug.cgi?id=124408
2759 Reviewed by Dean Jackson.
2761 Test: fast/css-grid-layout/grid-item-with-percent-min-max-height-dynamic.html
2763 From Blink r156122 & r157633 by <jchaffraix@chromium.org>
2765 Added a couple of optimizations to speed up the layout of content
2766 based tracks. The idea is to narrow down the conditions for
2767 relayouting when the height of a grid area changes. We basically
2768 just need to layout tracks with percentage heights as they're the
2769 only ones that change.
2771 A new performance test is attached to demonstrate the effect of
2772 these optimizations. We get a ~1000% improvement on a i7 M620
2773 going from 14.5 runs/s to 165 runs/s.
2775 * rendering/RenderGrid.cpp:
2776 (WebCore::RenderGrid::logicalContentHeightForChild):
2777 (WebCore::RenderGrid::layoutGridItems):
2779 2013-11-08 Sergio Villar Senin <svillar@igalia.com>
2781 [CSS Grid Layout] Run the content-sized tracks sizing algorithm only when required
2782 https://bugs.webkit.org/show_bug.cgi?id=124039
2784 Reviewed by Dean Jackson.
2786 The current code runs the content sized track sizing algorithm all
2787 the time, which forces a layout even when the track is not
2788 content-sized. This change improves the situation by applying two
2789 optimizations. In the first one, we bail out the algorithm if we
2790 detect that we don't need to run it. And by the second one we
2791 reduce the amount of recomputations by only iterating over the
2792 content sized tracks instead of all of them. Both changes follow
2793 the ideas introduced in Blink r156028 and r156168 by
2794 <jchaffraix@chromium.org>.
2796 As we changed the way we iterate over children (we use the
2797 GridIterator now) the way they're stored in the RenderGrid changes
2798 too. If a item spans through several "cells" inside the grid, we
2799 will have a reference to it on each of them.
2801 These two changes account for a ~3200% improvement on a i7 M620 in
2802 the test that accompanies this change (15.5 vs 520 run/s).
2804 New perf test: PerformanceTests/Layout/fixed-grid-lots-of-data.html
2806 * rendering/RenderGrid.cpp:
2807 (WebCore::RenderGrid::computedUsedBreadthOfGridTracks): Keep track
2808 of content sized tracks and only iterate over them.
2809 (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions):
2810 (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForItems):
2811 Early return if there are no tracks to pass to the algorithm.
2812 * rendering/RenderGrid.h:
2813 * rendering/style/GridLength.h:
2814 (WebCore::GridLength::isContentSized):
2815 * rendering/style/GridTrackSize.h:
2816 (WebCore::GridTrackSize::isContentSized):
2818 2013-11-22 Manuel Rego Casasnovas <rego@igalia.com>
2820 [CSS Regions] Move code after early break in RenderRegion::repaintFlowThreadContentRectangle
2821 https://bugs.webkit.org/show_bug.cgi?id=124743
2823 Reviewed by Mihnea Ovidenie.
2825 No new tests, covered by existing tests.
2827 * rendering/RenderRegion.cpp:
2828 (WebCore::RenderRegion::repaintFlowThreadContentRectangle): Variable
2829 flippedFlowThreadPortionRect is not used before the early break, so we
2830 can move it after and save some unneeded operations.
2832 2013-11-22 Manuel Rego Casasnovas <rego@igalia.com>
2834 [CSS Regions] Use hasOverflowClip() in RenderRegion
2835 https://bugs.webkit.org/show_bug.cgi?id=124746
2837 Reviewed by Mihnea Ovidenie.
2839 Implement the suggested FIXME in RenderRegion using hasOverflowClip().
2841 No new tests, covered by existing tests.
2843 * rendering/RenderRegion.cpp:
2844 (WebCore::RenderRegion::overflowRectForFlowThreadPortion): Use
2846 (WebCore::RenderRegion::rectFlowPortionForBox): Ditto.
2848 2013-11-21 Frédéric Wang <fred.wang@free.fr>
2850 Map the dir attribute to the CSS direction property.
2851 https://bugs.webkit.org/show_bug.cgi?id=124572.
2853 Reviewed by Darin Adler.
2855 Test: mathml/presentation/mstyle-css-attributes.html
2857 * mathml/MathMLElement.cpp:
2858 (WebCore::MathMLElement::isPresentationAttribute): reorder attributes
2859 (WebCore::MathMLElement::collectStyleForPresentationAttribute): reorder tags that accept dir
2860 (WebCore::MathMLElement::isMathMLToken): add an inline function to test that a tag corresponds to a MathML Token Element.
2861 * mathml/MathMLElement.h:
2863 Follow-up work to address Darin's comments.
2865 2013-11-21 Peter Molnar <pmolnar.u-szeged@partner.samsung.com>
2867 Remove ENABLE_WORKERS
2868 https://bugs.webkit.org/show_bug.cgi?id=105784
2870 Reviewed by Darin Adler.
2872 2013-11-21 Alex Christensen <achristensen@webkit.org>
2874 [Win] Unreviewed build fix after r159632.
2876 * platform/network/curl/SSLHandle.cpp:
2877 (WebCore::certVerifyCallback):
2878 Fixed template syntax.
2880 2013-11-21 Bear Travis <betravis@adobe.com>
2882 Web Inspector: [CSS Shapes] Refactor highlighting code to decrease Shapes API surface
2883 https://bugs.webkit.org/show_bug.cgi?id=124737
2885 Reviewed by Timothy Hatcher.
2887 Add a virtual method to Shapes, buildPath, that can be used to build the
2888 path (in the Shape coordinate system) for display in the Inspector. This allows us
2889 to remove methods such as type(), polygon(), and logicalRx/Ry() which exposed the
2890 inner workings of the Shapes classes. Also covers the addition of the BoxShape type.
2892 Refactoring, existing test is inspector-protocol/model/highlight-shape-outside.html.
2894 * inspector/InspectorOverlay.cpp:
2895 (WebCore::appendPathCommandAndPoints): Points need to be translated from shape space
2896 to renderer space using ShapeInfo.
2897 (WebCore::buildObjectForShapeOutside): Add the ShapeOutsideInfo to the path info struct.
2898 * rendering/shapes/BoxShape.cpp:
2899 (WebCore::BoxShape::buildPath): Build the path for a BoxShape.
2900 * rendering/shapes/BoxShape.h:
2901 * rendering/shapes/PolygonShape.cpp:
2902 (WebCore::PolygonShape::buildPath): Build the path for a PolygonShape.
2903 * rendering/shapes/PolygonShape.h:
2904 * rendering/shapes/RasterShape.h:
2905 * rendering/shapes/RectangleShape.cpp:
2906 (WebCore::RectangleShape::buildPath): Build the path for a RectangleShape.
2907 * rendering/shapes/RectangleShape.h:
2908 * rendering/shapes/Shape.h:
2910 2013-11-21 Mark Rowe <mrowe@apple.com>
2912 <https://webkit.org/b/124702> Stop overriding VALID_ARCHS.
2914 All modern versions of Xcode set it appropriately for our needs.
2916 Reviewed by Alexey Proskuryakov.
2918 * Configurations/Base.xcconfig:
2920 2013-11-21 Gwang Yoon Hwang <ryumiel@company100.net>
2922 [GTK] Unreviewed buildfix after r159614 and r159656.
2924 * bindings/gobject/WebKitDOMCustom.cpp: Add missing header
2926 2013-11-21 Laszlo Vidacs <lac@inf.u-szeged.hu>
2928 Fix WinCairo unreachable code warnings in SimpleLineLayout.cpp
2929 https://bugs.webkit.org/show_bug.cgi?id=124704
2931 Reviewed by Antti Koivisto.
2933 Fix unreachable code warnings using conditional directives.
2935 * rendering/SimpleLineLayout.cpp:
2936 (WebCore::SimpleLineLayout::canUseFor):
2938 2013-11-21 Mark Rowe <mrowe@apple.com>
2940 <https://webkit.org/b/124701> Fix an error in a few Xcode configuration setting files.
2942 Reviewed by Alexey Proskuryakov.
2944 * Configurations/Base.xcconfig:
2946 2013-11-21 Mark Rowe <mrowe@apple.com>
2948 <https://webkit.org/b/124700> Fix some deprecation warnings.
2950 Reviewed by Anders Carlsson.
2952 * platform/mac/HTMLConverter.mm:
2953 (fileWrapperForURL): Move off a deprecated NSFileWrapper method.
2955 2013-11-21 Daniel Bates <dabates@apple.com>
2957 [iOS] Build fix; export symbol for WebCore::provideDeviceOrientationTo()
2959 Add the symbol __ZN7WebCore26provideDeviceOrientationToEPNS_4PageEPNS_23DeviceOrientationClientE.
2963 2013-11-21 Daniel Bates <dabates@apple.com>
2965 Add !USE(NETWORK_CFDATA_ARRAY_CALLBACK)-guard
2966 https://bugs.webkit.org/show_bug.cgi?id=124741
2968 Reviewed by Alexey Proskuryakov.
2970 Add !USE(NETWORK_CFDATA_ARRAY_CALLBACK)-guard around code that is unused
2971 when building with feature NETWORK_CFDATA_ARRAY_CALLBACK.
2973 Additionally, add a declaration for allocateSegment() with attribute WARN_UNUSED_RETURN
2974 to have the compiler warn when the return value of this function is unused. Together with
2975 warnings treated as errors this change will prevent a memory leak.
2977 * platform/SharedBuffer.cpp:
2979 2013-11-21 Daniel Bates <dabates@apple.com>
2981 Remove unused functions from WebCore and WebKit2
2982 https://bugs.webkit.org/show_bug.cgi?id=124739
2984 Reviewed by Alexey Proskuryakov.
2986 * editing/markup.cpp: Remove unused functions isHTMLBlockElement and
2987 ancestorToRetainStructureAndAppearanceWithNoRenderer.
2988 * rendering/InlineElementBox.cpp: Append newline to the end of the file.
2990 2013-11-21 Daniel Bates <dabates@apple.com>
2992 Only generate isObservable() when IDL specifies GenerateIsReachable
2993 https://bugs.webkit.org/show_bug.cgi?id=124729
2995 Reviewed by Geoffrey Garen.
2997 We should only generate the static inline function isObservable() when the IDL
2998 specifies GenerateIsReachable. Otherwise, this function is unused.
3000 Added a new test IDL TestGenerateIsReachable.idl and expected results to test that
3001 we generate isObservable() when an IDL specifies GenerateIsReachable. Additionally,
3002 rebased existing test results.
3004 * bindings/scripts/CodeGeneratorJS.pm:
3005 (GenerateImplementation):
3006 * bindings/scripts/test/CPP/WebDOMTestGenerateIsReachable.cpp: Added.
3007 * bindings/scripts/test/CPP/WebDOMTestGenerateIsReachable.h: Added.
3008 * bindings/scripts/test/GObject/WebKitDOMTestGenerateIsReachable.cpp: Added.
3009 * bindings/scripts/test/GObject/WebKitDOMTestGenerateIsReachable.h: Added.
3010 * bindings/scripts/test/GObject/WebKitDOMTestGenerateIsReachablePrivate.h: Added.
3011 * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp: Removed unused function isObservable().
3012 * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp: Ditto.
3013 * bindings/scripts/test/JS/JSTestEventConstructor.cpp: Ditto.
3014 * bindings/scripts/test/JS/JSTestEventTarget.cpp: Ditto.
3015 * bindings/scripts/test/JS/JSTestException.cpp: Ditto.
3016 * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp: Added.
3017 * bindings/scripts/test/JS/JSTestGenerateIsReachable.h: Added.
3018 * bindings/scripts/test/JS/JSTestInterface.cpp: Removed unused function isObservable().
3019 * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: Ditto.
3020 * bindings/scripts/test/JS/JSTestNamedConstructor.cpp: Ditto.
3021 * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
3022 * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp: Ditto.
3023 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: Ditto.
3024 * bindings/scripts/test/JS/JSTestTypedefs.cpp: Ditto.
3025 * bindings/scripts/test/JS/JSattribute.cpp: Ditto.
3026 * bindings/scripts/test/JS/JSreadonly.cpp: Ditto.
3027 * bindings/scripts/test/ObjC/DOMTestGenerateIsReachable.h: Added.
3028 * bindings/scripts/test/ObjC/DOMTestGenerateIsReachable.mm: Added.
3029 * bindings/scripts/test/ObjC/DOMTestGenerateIsReachableInternal.h: Added.
3030 * bindings/scripts/test/TestGenerateIsReachable.idl: Added.
3032 2013-11-21 Beth Dakin <bdakin@apple.com>
3034 Add a new mode to extend the tile cache beyond the page
3035 https://bugs.webkit.org/show_bug.cgi?id=124216
3037 Reviewed by Simon Fraser.
3039 This patch makes it possible to give the tile cache a margin of tiles. If there is
3040 a margin of tiles, this patch paints those tiles with the background color. Note
3041 that this patch does not actually give the tile cache a margin at this time.
3043 You opt into a margined tiled cache by called setTileMargins() with number of
3044 pixels that the margin on that side should be.
3045 * platform/graphics/TiledBacking.h:
3046 * platform/graphics/ca/mac/TileController.h:
3047 * platform/graphics/ca/mac/TileController.mm:
3048 (WebCore::TileController::TileController):
3049 (WebCore::TileController::tilesWouldChangeForVisibleRect):
3051 TileController::bounds() now computes the bounds INCLUDING the margin.
3052 (WebCore::TileController::bounds):
3054 adjustRectAtTileIndexForMargin() is a new function that is required to get the
3055 rect size for tiles in the margin right. rectForTileIndex() assumes all tiles
3056 strive to be the size of m_tileSize, but now margin tiles will be whatever the
3057 margin sizes were set to.
3058 (WebCore::TileController::adjustRectAtTileIndexForMargin):
3059 (WebCore::TileController::rectForTileIndex):
3061 This is another instance where m_tileSize is not always the right size to use.
3062 (WebCore::TileController::getTileIndexRangeForRect):
3064 The tile coverage rect now might include the margin tiles. Only include them in
3065 slow-scrolling mode if the current position is within one tile of the edge.
3066 (WebCore::TileController::computeTileCoverageRect):
3068 tileSizeForCoverageRect() does not make sense in a world where the coverage rect
3069 will include margin. Instead, this patch implements the current strategy more
3070 explicitly by returning the visibleRect in the slow scrolling case, and in the
3071 process this patch also re-names tileSizeForCoverageRect() to computeTileSize()
3072 since it no longer takes a coverageRect.
3073 (WebCore::TileController::computeTileSize):
3074 (WebCore::TileController::revalidateTiles):
3076 New setters and getters for the tile margins on each side.
3077 (WebCore::TileController::setTileMargins):
3078 (WebCore::TileController::hasMargins):
3079 (WebCore::TileController::topMarginHeight):
3080 (WebCore::TileController::bottomMarginHeight):
3081 (WebCore::TileController::leftMarginWidth):
3082 (WebCore::TileController::rightMarginWidth):
3084 New function to add margin onto the composited bounds if there is one.
3085 * rendering/RenderLayerBacking.cpp:
3086 (WebCore::RenderLayerBacking::tiledBackingHasMargin):
3087 (WebCore::RenderLayerBacking::paintContents):
3088 (WebCore::RenderLayerBacking::compositedBoundsIncludingMargin):
3089 * rendering/RenderLayerBacking.h:
3091 Do not set masks to bounds if there is a margin on the root layer.
3092 * rendering/RenderLayerCompositor.cpp:
3093 (WebCore::RenderLayerCompositor::updateBacking):
3094 (WebCore::RenderLayerCompositor::mainFrameBackingIsTiledWithMargin):
3095 * rendering/RenderLayerCompositor.h:
3097 Allow background color to paint into the margin tiles.
3098 * rendering/RenderView.cpp:
3099 (WebCore::RenderView::paintBoxDecorations):
3101 2013-11-21 Alexey Proskuryakov <ap@apple.com>
3103 Implement WebCrypto wrapKey
3104 https://bugs.webkit.org/show_bug.cgi?id=124738
3106 Reviewed by Anders Carlsson.
3108 Tests: crypto/subtle/aes-cbc-wrap-rsa-non-extractable.html
3109 crypto/subtle/aes-cbc-wrap-rsa.html
3111 * bindings/js/JSSubtleCryptoCustom.cpp:
3112 (WebCore::exportKey): Factored out the actual operation that can be chained with
3113 encryption for wrapKey.
3114 (WebCore::JSSubtleCrypto::exportKey):
3115 (WebCore::JSSubtleCrypto::wrapKey):
3116 (WebCore::JSSubtleCrypto::unwrapKey): Fixed a memory leak in failure code path.
3118 * crypto/SubtleCrypto.idl: Added wrapKey.
3120 2013-11-21 Alexey Proskuryakov <ap@apple.com>
3122 Implement WebCrypto unwrapKey
3123 https://bugs.webkit.org/show_bug.cgi?id=124725
3125 Reviewed by Anders Carlsson.
3127 Tests: crypto/subtle/aes-cbc-unwrap-failure.html
3128 crypto/subtle/aes-cbc-unwrap-rsa.html
3130 * bindings/js/JSCryptoAlgorithmDictionary.cpp:
3131 * bindings/js/JSCryptoAlgorithmDictionary.h:
3132 Removed calls for wrap/unwrap parameter parsing, these are just the same as encrypt/decrypt.
3134 * bindings/js/JSCryptoOperationData.cpp:
3135 (WebCore::cryptoOperationDataFromJSValue):
3136 * bindings/js/JSCryptoOperationData.h:
3137 * crypto/CryptoKeySerialization.h:
3138 More Vector<char> elimination.
3140 * bindings/js/JSDOMPromise.cpp:
3141 * bindings/js/JSDOMPromise.h:
3142 Removed unneccessary copy constructor and assignment operator, they are no diffdrent
3143 than compiler generated ones.
3145 * bindings/js/JSSubtleCryptoCustom.cpp:
3146 (WebCore::cryptoKeyUsagesFromJSValue): Minor style fixes.
3147 (WebCore::JSSubtleCrypto::encrypt): Ditto.
3148 (WebCore::JSSubtleCrypto::decrypt): Ditto.
3149 (WebCore::JSSubtleCrypto::sign): Ditto.
3150 (WebCore::JSSubtleCrypto::verify): Ditto.
3151 (WebCore::JSSubtleCrypto::generateKey): Ditto.
3152 (WebCore::importKey): Separated actual import operation and the parts that read
3153 arguments from ExecState, and call the promise. Logically, this should be outside
3154 of bindings code even, but JWK makes that quite challenging.
3155 (WebCore::JSSubtleCrypto::importKey): This only does the more mundane arguments
3156 and return parts now.
3157 (WebCore::JSSubtleCrypto::exportKey): Minor style fixes.
3158 (WebCore::JSSubtleCrypto::unwrapKey): Chain decrypt and import.
3160 * crypto/CryptoAlgorithm.cpp:
3161 (WebCore::CryptoAlgorithm::encryptForWrapKey):
3162 (WebCore::CryptoAlgorithm::decryptForUnwrapKey):
3163 * crypto/CryptoAlgorithm.h:
3164 There are algorithms that expose wrap/unwrap, but not encrypt/decrypt. These will
3165 override these new functions, and leave encrypt/decrypt to raise NOT_SUPPORTED_ERR.
3167 * crypto/SubtleCrypto.idl: Added unwrapKey.
3169 2013-11-21 Robert Sipka <sipka@inf.u-szeged.hu>
3171 [curl]Improve ssl certificate storage and check
3172 https://bugs.webkit.org/show_bug.cgi?id=124569
3174 Reviewed by Brent Fulgham.
3176 Storage and check the whole certificate chain, not just the root certificate.
3178 * platform/network/curl/SSLHandle.cpp:
3179 (WebCore::allowsAnyHTTPSCertificateHosts):
3180 (WebCore::sslIgnoreHTTPSCertificate):
3182 (WebCore::certVerifyCallback):
3184 2013-11-21 Mihai Maerean <mmaerean@adobe.com>
3186 Fix hover area for divs with css transforms
3187 https://bugs.webkit.org/show_bug.cgi?id=124647
3189 Reviewed by Allan Sandfeld Jensen.
3191 Non transformed layers are now being hit last, not through or in-between transformed layers.
3192 The paint order says that the divs creating stacking contexts (including transforms) are painted after the
3193 other siblings so they should be hit tested in the reverse order. Also, a rotated div in a non-rotated parent
3194 should be hit in its entire area, not hit its parent's background, even if the z-coordinate is negative where
3195 the mouse is located.
3197 Test: transforms/3d/hit-testing/hover-rotated-negative-z.html
3199 * rendering/RenderLayer.cpp:
3200 (WebCore::computeZOffset):
3202 2013-11-21 Andres Gomez <agomez@igalia.com>
3204 [GTK] Release compilation fails when defining "LOG_DISABLED=0"
3205 https://bugs.webkit.org/show_bug.cgi?id=124661
3207 Reviewed by Mario Sanchez Prada.
3209 In a "Debug" build the CString.h header comes from another
3210 indirect dependency. Now, we explicitly add this missing include.
3212 * html/HTMLTrackElement.cpp: Explicitly adding missing include.
3214 2013-11-21 Ryosuke Niwa <rniwa@webkit.org>
3216 Fix Range.insertNode when the inserted node is in the same container as the Range
3217 https://bugs.webkit.org/show_bug.cgi?id=123957
3219 Reviewed by Antti Koivisto.
3221 Inspired by https://chromium.googlesource.com/chromium/blink/+/fb6ca1f488703e8d4f20ce6449cc8ea210be6edb
3223 When a node from the same container is inserted, we can't simply adjust m_end with the offset.
3224 Compute m_start and m_end from the inserted nodes instead.
3226 Also, don't adjust m_start and m_end to nodes outside of the document if the inserted nodes had been
3227 removed by mutation events.
3229 Test: fast/dom/Range/range-insertNode-same-container.html
3232 (WebCore::Range::insertNode):
3234 2013-11-21 Ryosuke Niwa <rniwa@webkit.org>
3236 nextBoundary and previousBoundary are very slow when there is a password field
3237 https://bugs.webkit.org/show_bug.cgi?id=123973
3239 Reviewed by Antti Koivisto.
3241 Merge https://chromium.googlesource.com/chromium/blink/+/57366eec5e3edea54062d4e74c0e047f8681dbad
3243 When iterating through DOM nodes nextBoundary and previousBoundary convert the contents of nodes using
3244 text security to a sequence of 'x' characters. The SimplifiedBackwardsTextIterator and TextIterator
3245 may iterate past node boundaries. Before this patch, the transformation was done looking at the starting
3246 node rather than the current node. In some situations, this replaced all boundaries with 'x' and caused
3247 the text iterator to continue iterating and transforming until the extent of the document.
3249 Test: editing/deleting/password-delete-performance.html
3251 * editing/TextIterator.h:
3252 (WebCore::SimplifiedBackwardsTextIterator::node):
3253 * editing/VisibleUnits.cpp:
3254 (WebCore::previousBoundary):
3255 (WebCore::nextBoundary):
3257 2013-11-21 Ryosuke Niwa <rniwa@webkit.org>
3259 HTML parser should not associate elements inside templates with forms
3260 https://bugs.webkit.org/show_bug.cgi?id=117779
3262 Reviewed by Antti Koivisto.
3264 Merge https://chromium.googlesource.com/chromium/blink/+/45aadf7ee7ee010327eb692066cf013315ef3ed7
3266 When parsing <form><template><input>, the previous behavior was to associate the <input> with the <form>,
3267 even though they're not in the same tree (or even the same document).
3269 This patch changes that by checking, prior to creating a form control element, whether the element to be
3270 created lives in a document with a browsing context.
3272 We don't update m_form as needed to faithfully match the HTML5 specification's form element pointer
3273 http://www.whatwg.org/specs/web-apps/current-work/multipage/parsing.html#form-element-pointer
3274 and its algorithm for creating and inserting nodes:
3275 http://www.whatwg.org/specs/web-apps/current-work/multipage/tree-construction.html#creating-and-inserting-nodes
3277 While this leaves isindex's reference to form element pointer stale:
3278 http://www.whatwg.org/specs/web-apps/current-work/multipage/tree-construction.html#isindex
3279 The HTML5 specification matches the behaviors of Chrome and Firefox so we leave it as is.
3281 Test: fast/dom/HTMLTemplateElement/no-form-association.html
3283 * html/parser/HTMLConstructionSite.cpp:
3284 (WebCore::HTMLConstructionSite::createHTMLElement):
3286 2013-11-21 Carlos Garcia Campos <cgarcia@igalia.com>
3288 [GTK] Cannot scroll in option menu when it larger than the screen
3289 https://bugs.webkit.org/show_bug.cgi?id=124671
3291 Reviewed by Martin Robinson.
3293 The problem is that the popup menu is not resized to fit in the
3294 screen, so it doesn't scroll and some of the items are offscreen
3295 so they can't be selected either. GTK+ automatically resizes the
3296 popup menus to fit in the work area, but only when the menu is
3299 * platform/gtk/GtkPopupMenu.cpp:
3300 (WebCore::GtkPopupMenu::popUp): Schedule a resize of the popup
3301 menu right after showing it once it has a position.
3303 2013-11-21 Carlos Garcia Campos <cgarcia@igalia.com>
3305 [GTK] Mark all deprecated symbols in GObject DOM bindings
3306 https://bugs.webkit.org/show_bug.cgi?id=124406
3308 Reviewed by Gustavo Noronha Silva.
3310 Move deprecated API from WebKitDOMCustom to a new file
3311 WebKitDOMDeprecated leaving in WebKitDOMCustom only the
3312 non-deprecated API that is not autogenerated. Also added the
3313 deprecation decorations and tags in the documentation.
3315 * bindings/gobject/GNUmakefile.am:
3316 * bindings/gobject/WebKitDOMCustom.cpp:
3317 * bindings/gobject/WebKitDOMCustom.h:
3318 * bindings/gobject/WebKitDOMCustom.symbols:
3319 * bindings/gobject/WebKitDOMDeprecated.cpp: Copied from Source/WebCore/bindings/gobject/WebKitDOMCustom.cpp.
3320 (webkit_dom_blob_webkit_slice):
3321 (webkit_dom_html_element_get_id):
3322 (webkit_dom_html_element_set_id):
3323 (webkit_dom_html_element_get_class_name):
3324 (webkit_dom_html_element_set_class_name):
3325 (webkit_dom_html_element_get_class_list):
3326 (webkit_dom_html_form_element_dispatch_form_change):
3327 (webkit_dom_html_form_element_dispatch_form_input):
3328 (webkit_dom_webkit_named_flow_get_overflow):
3329 (webkit_dom_element_get_webkit_region_overflow):
3330 (webkit_dom_webkit_named_flow_get_content_nodes):
3331 (webkit_dom_webkit_named_flow_get_regions_by_content_node):
3332 (webkit_dom_bar_info_get_property):
3333 (webkit_dom_bar_info_class_init):
3334 (webkit_dom_bar_info_init):
3335 (webkit_dom_bar_info_get_visible):
3336 (webkit_dom_console_get_memory):
3337 (webkit_dom_css_style_declaration_get_property_css_value):
3338 (webkit_dom_document_get_webkit_hidden):
3339 (webkit_dom_document_get_webkit_visibility_state):
3340 (webkit_dom_html_document_open):
3341 (webkit_dom_html_element_set_item_id):
3342 (webkit_dom_html_element_get_item_id):
3343 (webkit_dom_html_element_get_item_ref):
3344 (webkit_dom_html_element_get_item_prop):
3345 (webkit_dom_html_element_set_item_scope):
3346 (webkit_dom_html_element_get_item_scope):
3347 (webkit_dom_html_element_get_item_type):
3348 (webkit_dom_html_style_element_set_scoped):
3349 (webkit_dom_html_style_element_get_scoped):
3350 (webkit_dom_html_properties_collection_get_property):
3351 (webkit_dom_html_properties_collection_class_init):
3352 (webkit_dom_html_properties_collection_init):
3353 (webkit_dom_html_properties_collection_item):
3354 (webkit_dom_html_properties_collection_named_item):
3355 (webkit_dom_html_properties_collection_get_length):
3356 (webkit_dom_html_properties_collection_get_names):
3357 (webkit_dom_node_get_attributes):
3358 (webkit_dom_node_has_attributes):
3359 (webkit_dom_memory_info_get_property):
3360 (webkit_dom_memory_info_class_init):
3361 (webkit_dom_memory_info_init):
3362 (webkit_dom_memory_info_get_total_js_heap_size):
3363 (webkit_dom_memory_info_get_used_js_heap_size):
3364 (webkit_dom_memory_info_get_js_heap_size_limit):
3365 (webkit_dom_micro_data_item_value_class_init):
3366 (webkit_dom_micro_data_item_value_init):
3367 (webkit_dom_performance_get_memory):
3368 (webkit_dom_property_node_list_get_property):
3369 (webkit_dom_property_node_list_class_init):
3370 (webkit_dom_property_node_list_init):
3371 (webkit_dom_property_node_list_item):
3372 (webkit_dom_property_node_list_get_length):
3373 (webkit_dom_html_media_element_get_start_time):
3374 (webkit_dom_html_media_element_get_initial_time):
3375 (webkit_dom_html_head_element_get_profile):
3376 (webkit_dom_html_head_element_set_profile):
3377 (webkit_dom_processing_instruction_get_data):
3378 (webkit_dom_processing_instruction_set_data):
3379 * bindings/gobject/WebKitDOMDeprecated.h: Copied from Source/WebCore/bindings/gobject/WebKitDOMCustom.h.
3380 * bindings/gobject/WebKitDOMDeprecated.symbols: Copied from Source/WebCore/bindings/gobject/WebKitDOMCustom.symbols.
3381 * bindings/scripts/CodeGeneratorGObject.pm:
3382 (GenerateFunction): Do not include deprecation guards in the cpp file.
3383 * bindings/scripts/gobject-generate-headers.pl: Do not create
3384 fordward declarations for non-existent classes like Custom and
3386 * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.cpp:
3387 (webkit_dom_test_event_target_dispatch_event):
3389 2013-11-20 Jae Hyun Park <jae.park@company100.net>
3391 [CoordinatedGraphics] Use std::unique_ptrs rather than OwnPtrs
3392 https://bugs.webkit.org/show_bug.cgi?id=124692
3394 Reviewed by Noam Rosenthal.
3396 No new tests, covered by existing ones.
3398 * platform/graphics/TiledBackingStore.cpp:
3399 (WebCore::TiledBackingStore::TiledBackingStore):
3400 * platform/graphics/TiledBackingStore.h:
3401 * platform/graphics/TiledBackingStoreBackend.h:
3402 * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
3403 (WebCore::CoordinatedGraphicsLayer::createBackingStore):
3404 * platform/graphics/texmap/coordinated/CoordinatedTile.h:
3406 2013-11-20 Brady Eidson <beidson@apple.com>
3408 Add more infrastructure for ServerConnection communication between Web and Database processes
3409 https://bugs.webkit.org/show_bug.cgi?id=124693
3411 Reviewed by Anders Carlsson.
3415 2013-11-20 Ryosuke Niwa <rniwa@webkit.org>
3417 Hoist <template> to head when found between </head> and <body> for consistency with <script>
3418 https://bugs.webkit.org/show_bug.cgi?id=123949
3420 Reviewed by Antti Koivisto.
3422 Merge https://chromium.googlesource.com/chromium/blink/+/835fb468fd211054a920fb7612a6dc5043662495
3424 Move template elements between head and body elements into the head to be consistent with script elements.
3425 The HTML5 specification was changed in http://html5.org/tools/web-apps-tracker?from=8217&to=8218.
3427 Inline comments below are cited from https://www.w3.org/Bugs/Public/show_bug.cgi?id=23002
3428 and https://codereview.chromium.org/25900003 for clarity.
3430 * html/parser/HTMLTreeBuilder.cpp:
3431 (WebCore::HTMLTreeBuilder::processStartTag): Add the template element to the list of elements to be hoisted into
3433 (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
3435 Replace the assertion that isParsingFragment is true when item->node() == m_tree.openElements()->rootNode() since,
3436 with this change, we can now invoke resetInsertionMode when parsing a normal document (not fragment) and there is
3437 only the html element on the stack of open elements.
3439 For the second change, consider: <head></head><template>
3441 This example breaks in the old HTML parser because the template element is handled by "after head" state which
3442 pushes the head element back on, processes the template element for "in head", then pops the head element off.
3443 EOF is reached, which processes a fake close tag for the template element, which pops the template element off
3444 and resets the insertion mode appropriately
3446 The problem here is that "reset the insertion mode" is going to inspect the bottom-most element on the stack which
3447 is now the html element and it will set the mode to "before head". Nothing good happens after this.
3449 We fix this problem by having the reset algorithm check if the head element pointer is set, and if so, go to after
3450 head instead of before head.
3452 2013-11-20 Radu Stavila <stavila@adobe.com>
3454 [CSS Regions] Implement visual overflow for first & last regions
3455 https://bugs.webkit.org/show_bug.cgi?id=118665
3457 In order to properly propagate the visual overflow of elements flowed inside regions,
3458 the responsiblity of painting and hit-testing content inside flow threads has been
3459 moved to the flow thread layer's level.
3460 Each region keeps the associated overflow with each box in the RenderBoxRegionInfo
3461 structure, including one for the flow thread itself. This data is used during
3462 painting and hit-testing.
3464 Reviewed by David Hyatt.
3466 Tests: fast/regions/overflow-first-and-last-regions-in-container-hidden.html
3467 fast/regions/overflow-first-and-last-regions.html