1 2013-05-22 Ryosuke Niwa <rniwa@webkit.org>
6 (WebCore::dispatchEditableContentChangedEvents):
8 2013-05-22 Ryosuke Niwa <rniwa@webkit.org>
10 REGRESSION: ASSERTION FAILED: obj->isRenderInline() || obj == this, Bad cast in WebCore::RenderBlock::createLineBoxes
11 https://bugs.webkit.org/show_bug.cgi?id=110622
13 Reviewed by David Hyatt.
15 Merge https://chromium.googlesource.com/chromium/blink/+/998ad358eed702b873dd54697b3fa3f952e0feb7
17 Inserting an element before the fullscreened element could crash if it caused a containing inline to be split,
18 since the splitting logic doesn't expect the fullscreened element to be wrapped in a RenderFullScreen. This patch changes
19 inline splitting to be aware of RenderFullScreen.
21 Test: fullscreen/full-screen-inline-split-crash.html
23 * rendering/RenderInline.cpp:
24 (WebCore::RenderInline::splitInlines):
26 2013-05-22 Simon Fraser <simon.fraser@apple.com>
28 Fix issues with focus rings on search fields
29 https://bugs.webkit.org/show_bug.cgi?id=116591
31 Reviewed by Darin Adler.
33 On a future OS, the rect returned by _focusRingVisibleRect should
34 be in the coordinate system of the that NSView, not the base
35 coordinate system, so fix the code that sets and reads the global
36 focusRingClipRect variable accordingly.
38 * platform/graphics/mac/WebLayer.mm:
40 * platform/mac/ThemeMac.mm:
41 (-[WebCoreFlippedView _focusRingVisibleRect]):
43 2013-05-22 Simon Fraser <simon.fraser@apple.com>
45 New Flickr doesn't get fast scrolling but should
46 https://bugs.webkit.org/show_bug.cgi?id=116514
48 Reviewed by Darin Adler.
50 RenderObject increments and decrements a counter of slow repaint objects on
51 FrameView when it sees style changes related to background-attachment:fixed.
52 However, it omitted to decrement the count when a renderer with a fixed background
55 This caused Flickr to never fall into fast scrolling mode, since it toggled
56 display:none on an element with a fixed background during loading, then removed
59 Did some minor cleanup of #ENABLE(FAST_MOBILE_SCROLLING) crap.
61 Tests: platform/mac-wk2/tiled-drawing/slow-scrolling-background-toggle.html
62 platform/mac-wk2/tiled-drawing/slow-scrolling-hidden-background-toggle.html
63 platform/mac-wk2/tiled-drawing/slow-scrolling.html
65 * rendering/RenderObject.cpp:
66 (WebCore::shouldRepaintFixedBackgroundsOnScroll):
67 (WebCore::RenderObject::styleWillChange):
68 (WebCore::RenderObject::willBeRemovedFromTree):
70 2013-05-22 Robert Hogan <robert@webkit.org>
72 Need to Remove Anonymous Wrappers When All Children Become Inline
73 https://bugs.webkit.org/show_bug.cgi?id=115687
75 Reviewed by David Hyatt.
77 Remove a simple subset of anonymous wrappers, i.e. anonymous blocks without continuations,
78 when a block becoming float or positioned removes the need for them.
80 Test: fast/block/remove-anonymous-wrappers-when-element-changes-to-float-or-positioned.html
82 * rendering/RenderBlock.h:
84 * rendering/RenderObject.cpp:
86 (WebCore::RenderObject::removeAnonymousWrappersFromLineIfNecessary):
87 (WebCore::RenderObject::styleWillChange):
88 (WebCore::RenderObject::styleDidChange):
89 * rendering/RenderObject.h:
92 2013-05-22 Bruno de Oliveira Abinader <bruno.abinader@basyskom.com>
94 [css] Update ETextDecorations enum to TextDecorations
95 https://bugs.webkit.org/show_bug.cgi?id=116581
97 Reviewed by Andreas Kling.
99 Currently, ETextDecorations enum uses a C-like coding style for its
100 enumeration values, as well as a 'E' prefix that surely had some meaning
101 in the past, but not nowadays.
103 No behavior changes, covered by existing tests.
105 * accessibility/AccessibilityRenderObject.cpp:
106 (WebCore::AccessibilityRenderObject::hasPlainText):
107 (WebCore::AccessibilityRenderObject::hasUnderline):
108 * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
109 (getAttributeSetForAccessibilityObject):
110 * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
111 (AXAttributeStringSetStyle):
112 * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
113 (AXAttributeStringSetStyle):
114 * css/CSSComputedStyleDeclaration.cpp:
115 (WebCore::renderTextDecorationFlagsToCSSValue):
116 * css/CSSPrimitiveValueMappings.h:
117 (WebCore::CSSPrimitiveValue::operator TextDecoration):
118 * css/DeprecatedStyleBuilder.cpp:
119 (WebCore::ApplyPropertyTextDecoration::applyValue):
120 (WebCore::ApplyPropertyTextDecoration::createHandler):
121 * editing/mac/EditorMac.mm:
122 (WebCore::Editor::fontAttributesForSelectionStart):
123 * platform/mac/HTMLConverter.mm:
124 (+[WebHTMLConverter editingAttributedStringFromRange:]):
125 * rendering/InlineTextBox.cpp:
126 (WebCore::InlineTextBox::paint):
127 (WebCore::InlineTextBox::paintDecoration):
128 * rendering/InlineTextBox.h:
129 * rendering/RenderObject.cpp:
130 (WebCore::RenderObject::getTextDecorationColors):
131 * rendering/style/RenderStyle.h:
132 * rendering/style/RenderStyleConstants.h:
133 (WebCore::operator|):
134 (WebCore::operator|=):
135 * rendering/style/StyleVisualData.h:
137 * rendering/svg/SVGInlineTextBox.cpp:
138 (WebCore::SVGInlineTextBox::paint):
139 (WebCore::positionOffsetForDecoration):
140 (WebCore::thicknessForDecoration):
141 (WebCore::findRenderObjectDefininingTextDecoration):
142 (WebCore::SVGInlineTextBox::paintDecoration):
143 (WebCore::SVGInlineTextBox::paintDecorationWithStyle):
144 * rendering/svg/SVGInlineTextBox.h:
146 2013-05-22 Lori Anderson <lori@rkymtnhi.com>
148 [GStreamer] Allow multiple log levels in media player
149 https://bugs.webkit.org/show_bug.cgi?id=116618
151 Reviewed by Philippe Normand.
153 No new tests, just changing logging.
155 * platform/graphics/gstreamer/GStreamerUtilities.h:
156 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
157 (WebCore::MediaPlayerPrivateGStreamer::load):
158 (WebCore::MediaPlayerPrivateGStreamer::pause):
159 (WebCore::MediaPlayerPrivateGStreamer::seek):
160 (WebCore::MediaPlayerPrivateGStreamer::setRate):
161 (WebCore::MediaPlayerPrivateGStreamer::handleMessage):
163 2013-05-22 Beth Dakin <bdakin@apple.com>
165 The LayoutMilestones didLayout callback sometimes fires with a milestone value of 0
166 https://bugs.webkit.org/show_bug.cgi?id=116623
168 Reviewed by Geoffrey Garen.
170 Make sure we have actually achieved some milestones before calling didLayout().
171 * page/FrameView.cpp:
172 (WebCore::FrameView::performPostLayoutTasks):
174 2013-05-22 Mario Sanchez Prada <mario.prada@samsung.com>
176 [GTK] Reimplement atk_text_get_text_*_offset for CHAR boundary
177 https://bugs.webkit.org/show_bug.cgi?id=114870
179 Reviewed by Martin Robinson.
181 Re-implement this functions without using GailTextUtil nor Pango.
183 * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
184 (webkitAccessibleTextGetChar): New function.
185 (webkitAccessibleTextGetTextForOffset): Call the new function for CHAR.
187 2013-05-22 Antoine Quint <graouts@apple.com>
189 [Mac] Captions menu isn't internationalized, doesn't use rtl layout for rtl languages
190 https://bugs.webkit.org/show_bug.cgi?id=116605
192 Reviewed by Eric Carlson.
194 Ensure that rtl languages are properly recognized by the captions menu such that text
195 layout and alignment is natural.
197 * css/mediaControls.css:
198 (::-webkit-media-controls):
199 Remove the forced "direction: ltr" property which was forcing all layout to be
202 * css/mediaControlsQuickTime.css:
203 (video::-webkit-media-controls-closed-captions-track-list):
204 Remove the forced "text-align: left" property which was forcing all caption
205 titles to be left-aligned.
207 (video::-webkit-media-controls-closed-captions-track-list h3):
208 Use "-webkit-margin-start" instead of "padding-left" to position the heading
209 such that it adds the margin on the left for ltr languages and on the right
212 (video::-webkit-media-controls-closed-captions-track-list li):
213 Set "position: relative" such that the ::before pseudo-class can use "position: absolute"
214 to position itself relative to the caption title rather than the list element.
216 (video::-webkit-media-controls-closed-captions-track-list li.selected::before):
217 (video::-webkit-media-controls-closed-captions-track-list li.selected:hover::before):
218 Make the checkmarks a ::before pseudo-class rather than a background-image such that
219 we may control its positioning using the internationlization-friendly "-webkit-margin-start"
222 * html/shadow/MediaControlElements.cpp:
223 (WebCore::MediaControlClosedCaptionsContainerElement::create):
224 Set the "dir" attribute to "auto" such that rtl languages are correctly handled. This
225 means that the first string displayed within the captions container, currently the
226 "Subtitles" <h3> element, defines the direction for the whole container. It is therefore
227 crucial that this string is properly localized in rtl languages as falling back to
228 english would mean the entire caption container is using ltr.
230 2013-05-22 Hugo Parente Lima <hugo.lima@openbossa.org>
232 WebCore fails to compile with -Werror=maybe-uninitialized on GCC 4.8.0
233 https://bugs.webkit.org/show_bug.cgi?id=116340
235 Reviewed by Christophe Dumez.
237 No new tests, just a simple build fix.
239 * inspector/InspectorDOMStorageAgent.cpp:
240 (WebCore::InspectorDOMStorageAgent::setDOMStorageItem): Init frame variable.
241 (WebCore::InspectorDOMStorageAgent::removeDOMStorageItem): Init frame variable.
243 2013-05-22 Christophe Dumez <ch.dumez@sisa.samsung.com>
245 Have IDL interface names match their global constructor
246 https://bugs.webkit.org/show_bug.cgi?id=116520
248 Reviewed by Kentaro Hara.
250 Have IDL interface names match their global constructor name on DOMWindow.idl
251 using [InterfaceName] extended attribute. This affects in particular webkit
252 prefixed constructors. This is mandated by Web IDL specification:
253 http://dev.w3.org/2006/webapi/WebIDL/#es-interfaces
255 As a consequence, we can now get rid of [NoInterfaceObject] extended attribute
256 for those interfaces and have their global constructors automatically generated
257 by the bindings generator.
259 No new tests, no behavior change for layout tests.
261 * Modules/mediasource/MediaSource.idl:
262 * Modules/mediasource/SourceBuffer.idl:
263 * Modules/mediasource/SourceBufferList.idl:
264 * Modules/mediastream/MediaStream.idl:
265 * Modules/mediastream/RTCPeerConnection.idl:
266 * Modules/speech/SpeechGrammar.idl:
267 * Modules/speech/SpeechGrammarList.idl:
268 * Modules/speech/SpeechRecognition.idl:
269 * Modules/speech/SpeechRecognitionError.idl:
270 * Modules/speech/SpeechRecognitionEvent.idl:
271 * Modules/webaudio/OfflineAudioContext.idl:
272 * Modules/webaudio/PannerNode.idl:
273 * dom/ShadowRoot.idl:
274 * page/DOMWindow.idl:
276 2013-05-21 Mihai Tica <mitica@adobe.com>
278 Update the background blending implementation to match the changes done
279 in the spec. This implies that background color blending is removed and
280 the background layers won't blend with the content behind the element
282 https://bugs.webkit.org/show_bug.cgi?id=116212
284 Reviewed by Dean Jackson.
286 * rendering/RenderBox.cpp:
287 (WebCore::RenderBox::paintFillLayers):
288 * rendering/RenderBoxModelObject.cpp:
289 (WebCore::RenderBoxModelObject::paintFillLayerExtended):
291 2013-05-21 Ryosuke Niwa <rniwa@webkit.org>
293 Use-after-free in DOMSelection::containsNode
294 https://bugs.webkit.org/show_bug.cgi?id=116468
296 Reviewed by Andreas Kling.
298 Retain the node pointer. Also bail out early if the node was not in the document
299 since Range::compareBoundaryPoints sets ec to WRONG_DOCUMENT_ERR otherwise.
301 Test: editing/selection/contains-node-crash.html
303 * page/DOMSelection.cpp:
304 (WebCore::DOMSelection::containsNode):
305 * page/DOMSelection.h:
308 2013-05-21 Joseph Pecoraro <pecoraro@apple.com>
310 Web Inspector: InspectorFrontendHost::loadResourceSynchronously() builds ASCII-only results
311 https://bugs.webkit.org/show_bug.cgi?id=116569
313 Merge: https://chromium.googlesource.com/chromium/blink/+/7f1cfecfe34f4dbc6ce1ef0250b13f2058128eeb
315 Reviewed by Timothy Hatcher.
317 Test: inspector/load-resource-synchronously-utf8.html
319 * inspector/InspectorFrontendHost.cpp:
320 (WebCore::InspectorFrontendHost::loadResourceSynchronously):
322 2013-05-21 Andy Estes <aestes@apple.com>
324 Allow session storage for third-party origins even if third-party data access is blocked.
325 https://bugs.webkit.org/show_bug.cgi?id=116532
327 Reviewed by Anders Carlsson.
329 In http://trac.webkit.org/changeset/149326 we relaxed our policy for
330 localStorage when third-party data blocking is enabled to create a
331 transient, session-scoped storage area for the third-party origin
332 instead of throwing an exception. Since this gives essentially the same
333 behavior as sessionStorage, we might as well also allow sessionStorage
334 for third-party origins.
336 Test: http/tests/security/cross-origin-session-storage-third-party-blocked.html
338 * WebCore.exp.in: Updated the symbol for
339 SecurityOrigin::canAccessStorage.
340 * page/DOMWindow.cpp:
341 (WebCore::DOMWindow::sessionStorage): Called canAccessSessionStorage()
342 rather than canAccessLocalStorage().
343 * page/SecurityOrigin.cpp:
344 (WebCore::SecurityOrigin::canAccessStorage): Passed in an enum
345 indicating if access should be allowed from third-party origins.
346 * page/SecurityOrigin.h:
347 (WebCore::SecurityOrigin::canAccessSessionStorage): Called
348 canAccessStorage() with AlwaysAllowFromThirdParty.
351 2013-05-21 Hugo Parente Lima <hugo.lima@openbossa.org>
353 [EFL] Add missing #if guards on drag support methods
354 https://bugs.webkit.org/show_bug.cgi?id=116574
356 Reviewed by Christophe Dumez.
358 * platform/efl/PasteboardEfl.cpp:
361 2013-05-21 Antti Koivisto <antti@apple.com>
363 Remove stub HTMLContentElement
364 https://bugs.webkit.org/show_bug.cgi?id=116580
366 Reviewed by Andreas Kling.
368 Inherit DetailsContentElement and DetailsSummaryElement directly from InsertionPoint instead.
370 * html/HTMLDetailsElement.cpp:
371 (WebCore::DetailsContentElement::DetailsContentElement):
372 (WebCore::DetailsSummaryElement::DetailsSummaryElement):
373 * html/HTMLSummaryElement.cpp:
374 (WebCore::SummaryContentElement::SummaryContentElement):
375 * html/shadow/HTMLContentElement.cpp:
376 (WebCore::HTMLContentElement::contentTagName):
377 * html/shadow/HTMLContentElement.h:
378 (WebCore::isHTMLContentElement):
379 * html/shadow/InsertionPoint.cpp:
380 (WebCore::InsertionPoint::setResetStyleInheritance):
381 * html/shadow/InsertionPoint.h:
383 Also remove some leftover selector code.
385 (WebCore::InsertionPoint::insertionPointType):
387 2013-05-21 Andreas Kling <akling@apple.com>
389 Robustify repaint of previous caret node when moving FrameSelection.
390 <http://webkit.org/b/116558>
392 Reviewed by Ryosuke Niwa.
394 As a follow-up to r150396, also repaint the caret rects if the previous node is contenteditable.
396 * editing/FrameSelection.cpp:
397 (WebCore::FrameSelection::recomputeCaretRect):
399 2013-05-21 Ryosuke Niwa <rniwa@webkit.org>
401 Unreviewed build fix after r150469. We need to bail out here when DOM is mutated by an event listener such that
402 the split text nodes no longer exist right next to each other.
404 * editing/InsertParagraphSeparatorCommand.cpp:
405 (WebCore::InsertParagraphSeparatorCommand::doApply):
407 2013-05-21 Antti Koivisto <antti@apple.com>
409 Remove ScopeContentDistribution
410 https://bugs.webkit.org/show_bug.cgi?id=116576
412 Reviewed by Andreas Kling.
414 With maximum one ShadowRoot per Element this can be smashed into ContentDistributor.
416 * dom/ShadowRoot.cpp:
420 * html/shadow/ContentDistributor.cpp:
421 (WebCore::ContentDistributor::ContentDistributor):
423 (WebCore::ContentDistributor::~ContentDistributor):
424 (WebCore::ContentDistributor::invalidateInsertionPointList):
425 (WebCore::ContentDistributor::ensureInsertionPointList):
426 (WebCore::ContentDistributor::distribute):
427 (WebCore::ContentDistributor::invalidate):
428 * html/shadow/ContentDistributor.h:
430 (ContentDistributor):
431 * html/shadow/InsertionPoint.cpp:
432 (WebCore::InsertionPoint::InsertionPoint):
433 (WebCore::InsertionPoint::insertedInto):
434 (WebCore::InsertionPoint::removedFrom):
436 Simplify insertion point list invalidation.
438 * html/shadow/InsertionPoint.h:
440 2013-05-21 Zoltan Horvath <zoltan@webkit.org>
442 [CSS Regions][CSS Exclusions] Multiple regions with shape-insides should respect positioned shapes and overflow
443 https://bugs.webkit.org/show_bug.cgi?id=115001
445 Reviewed by David Hyatt.
447 In r150375 I implemented the new overflow behavior for shape-inside on regions, but it covered only the simple cases
448 when you had only one region. This patch adds support for the new overflow behavior for multiple regions with multiple
449 positioned shape-insides and overflow.
451 Tests: fast/regions/shape-inside/shape-inside-on-regions-block-content-overflow-multiple-shapes.html
452 fast/regions/shape-inside/shape-inside-on-regions-inline-content-overflow-multiple-shapes.html
454 * rendering/RenderBlockLineLayout.cpp:
455 (WebCore::RenderBlock::updateLineBoundariesForExclusions): Cover cases when content flows into the next region, update the
456 line segments for the overflow.
457 (WebCore::RenderBlock::adjustLogicalLineTopAndLogicalHeightIfNeeded): In flow thread case we don't want to adjust the height
460 2013-05-21 Commit Queue <commit-queue@webkit.org>
462 Unreviewed, rolling out r150425.
463 http://trac.webkit.org/changeset/150425
464 https://bugs.webkit.org/show_bug.cgi?id=116573
466 Not the right fix for WebKit2 (Requested by rniwa on #webkit).
468 * testing/Internals.cpp:
469 (WebCore::Internals::resetToConsistentState):
471 2013-05-20 Ryosuke Niwa <rniwa@webkit.org>
473 dispatchEvent call can execute javascript and blow away endRoot from underneath
474 https://bugs.webkit.org/show_bug.cgi?id=116483
476 Reviewed by Andreas Kling.
478 Merge https://chromium.googlesource.com/chromium/blink/+/798cba0af9b2aff21e475e2e08ea3ca5e97dfc2c.
480 Test: editing/undo/undo-after-event-edited.html
482 * editing/Editor.cpp:
483 (WebCore::dispatchEditableContentChangedEvents):
485 2013-05-21 Antti Koivisto <antti@apple.com>
487 Remove ContentDistribution
488 https://bugs.webkit.org/show_bug.cgi?id=116527
490 Reviewed by Andreas Kling.
492 Resolving distribution on traversal is simpler.
495 * dom/ComposedShadowTreeWalker.cpp:
496 (WebCore::ComposedShadowTreeWalker::traverseNode):
497 (WebCore::ComposedShadowTreeWalker::traverseDistributedNodes):
498 (WebCore::ComposedShadowTreeWalker::traverseSiblingOrBackToInsertionPoint):
499 * html/HTMLDetailsElement.cpp:
500 * html/shadow/ContentDistributor.cpp:
501 (WebCore::ContentDistributor::distributeSelectionsTo):
502 * html/shadow/ContentDistributor.h:
503 * html/shadow/HTMLContentElement.idl:
505 Remove getDistributedNodes().
507 * html/shadow/InsertionPoint.cpp:
508 (WebCore::InsertionPoint::InsertionPoint):
509 (WebCore::InsertionPoint::attach):
510 (WebCore::InsertionPoint::detach):
512 (WebCore::InsertionPoint::firstDistributed):
513 (WebCore::InsertionPoint::lastDistributed):
514 (WebCore::InsertionPoint::nextDistributedTo):
515 (WebCore::InsertionPoint::previousDistributedTo):
519 * html/shadow/InsertionPoint.h:
520 (WebCore::InsertionPoint::hasDistribution):
521 (WebCore::InsertionPoint::setHasDistribution):
522 (WebCore::InsertionPoint::clearDistribution):
523 (WebCore::InsertionPoint::matchTypeFor):
526 2013-05-21 Martin Robinson <mrobinson@igalia.com>
528 [GTK] [CMake] Add support for building WebKit2
529 https://bugs.webkit.org/show_bug.cgi?id=116372
531 Reviewed by Gustavo Noronha Silva.
533 * PlatformGTK.cmake: Add missing source files, include directories, and WebP properties.
535 2013-05-21 Jer Noble <jer.noble@apple.com>
537 REGRESSION(r101810): Media controls status text missing for live-stream videos.
538 https://bugs.webkit.org/show_bug.cgi?id=116547
540 Reviewed by Eric Carlson.
542 Un-reverse the logic in loadedMetadata() so that the status text isn't
543 hidden (when it should be shown) for live-stream videos.
545 * html/shadow/MediaControlsApple.cpp:
546 (WebCore::MediaControlsApple::loadedMetadata):
548 2013-05-21 Jer Noble <jer.noble@apple.com>
550 Implement overlap-avoidance for in-band text track cues.
551 https://bugs.webkit.org/show_bug.cgi?id=116540
553 Reviewed by Eric Carlson.
555 In-band (or Generic) cues need special casing for certain features
556 present in in-band tracks, like paint-on and roll-up modes. To avoid
557 the problem of overlap avoidance forcing a caption meant to appear
558 below a cue to appear above it when a larger font size is selected,
559 impose an additional sort ordering for "generic cues". Instead of
560 cues being ordered by the order they appear in the track, "generic
561 cues" further sorted by their position within the video area, such
562 that cues at the bottom of the video area appear first, and later
563 cues are pushed up to avoid them, preserving the desired apparent
566 * html/HTMLMediaElement.cpp:
567 (WebCore::compareCueInterval): Added; wrapper around
568 TextTrackCue::isOrderedBefore.
569 (WebCore::HTMLMediaElement::updateActiveTextTrackCues):
570 After creating the list of current cues, sort them.
571 * html/track/TextTrackCue.cpp:
572 (WebCore::TextTrackCue::isOrderedBefore): Added; implementation moved
573 from TextTrackCueList::add().
574 * html/track/TextTrackCue.h:
575 * html/track/TextTrackCueGeneric.cpp:
576 (WebCore::TextTrackCueGeneric::isOrderedBefore): Added override;
577 impose additional oredring on generic cues.
578 * html/track/TextTrackCueGeneric.h:
579 * html/track/TextTrackCueList.cpp:
580 (WebCore::TextTrackCueList::add): Moved ordering test into
582 * rendering/RenderTextTrackCue.cpp:
583 (WebCore::RenderTextTrackCue::repositionGenericCue):
584 Call repositionCueSnapToLinesNotSet() after positioning the cue.
586 2013-05-20 Jer Noble <jer.noble@apple.com>
588 Implement overlap avoidance for cues with snap-to-lines flag not set
589 https://bugs.webkit.org/show_bug.cgi?id=84296
591 Reviewed by Eric Carlson.
593 Test: media/track/track-cue-overlap-snap-to-lines-not-set.html
595 Support overlap avoidance for the non-snap-to-lines part of the WebVTT spec.
597 * rendering/RenderTextTrackCue.cpp:
598 (WebCore::RenderTextTrackCue::isOutside): Split implementation into rectIsWithinContainer().
599 (WebCore::RenderTextTrackCue::rectIsWithinContainer): Ditto.
600 (WebCore::RenderTextTrackCue::isOverlapping): Split into overlappingObject() and overlappingObjectForRect().
601 (WebCore::RenderTextTrackCue::overlappingObject): Ditto.
602 (WebCore::RenderTextTrackCue::overlappingObjectForRect): Ditto.
603 (WebCore::RenderTextTrackCue::moveIfNecessaryToKeepWithinContainer): Added.
604 (WebCore::RenderTextTrackCue::findNonOverlappingPosition): When an overlapping object is found, move the
605 cue to just above or below that object and try again.
606 (WebCore::RenderTextTrackCue::repositionCueSnapToLinesSet): Move implementation into moveIfNecessaryToKeepWithinContainer().
607 (WebCore::RenderTextTrackCue::repositionCueSnapToLinesNotSet): Add implementanton based on above.
608 * rendering/RenderTextTrackCue.h:
610 2013-05-21 Alberto Garcia <agarcia@igalia.com>
612 Remove GraphicsLayerClient::contentsVisible()
613 https://bugs.webkit.org/show_bug.cgi?id=116523
615 Reviewed by Darin Adler.
617 This is dead code from the BlackBerry port.
619 * platform/graphics/GraphicsLayerClient.h:
620 * rendering/RenderLayerBacking.cpp:
622 2013-05-21 Zan Dobersek <zdobersek@igalia.com>
624 PLATFORM(*) macros used in Source/WebCore/loader/archive/ArchiveFactory.cpp
625 https://bugs.webkit.org/show_bug.cgi?id=116453
627 Reviewed by Alexey Proskuryakov.
629 * loader/archive/ArchiveFactory.cpp: Remove a redundant PLATFORM(QT) macro when checking whether
630 to include the LegacyWebArchive.h header that's specific to the WebArchive support. The Qt port
631 does not enable the WebArchive feature at all (which is enabled only on AppleMac, AppleWin and iOS
632 platforms) so there's no reason to additionally condition the header include with building on
635 2013-05-21 Alberto Garcia <agarcia@igalia.com>
637 Add BlackBerry definition of NativeImagePtr
638 https://bugs.webkit.org/show_bug.cgi?id=116526
640 Reviewed by Darin Adler.
642 * platform/graphics/NativeImagePtr.h:
646 2013-05-21 Alberto Garcia <agarcia@igalia.com>
648 [BlackBerry] FontCache::getFontDataForCharacters() returns nullptr
649 https://bugs.webkit.org/show_bug.cgi?id=116529
651 Reviewed by Andreas Kling.
653 This cannot be converted to a PassRefPtr and breaks the build.
655 * platform/graphics/blackberry/FontCacheBlackBerry.cpp:
656 (WebCore::FontCache::getFontDataForCharacters):
658 2013-05-21 Iago Toral Quiroga <itoral@igalia.com>
660 [GTK] Always use EGL to create the GL context when running on Wayland
661 https://bugs.webkit.org/show_bug.cgi?id=115721
663 Reviewed by Martin Robinson.
665 * platform/graphics/cairo/GLContext.cpp:
666 (WebCore::GLContext::createContextForWindow):
667 (WebCore::GLContext::createOffscreenContext): Always use EGL to create the GL context
668 instead of GLX when running on Wayland and make createOffScreenContext reuse the code
669 in createContextWindow.
671 2013-05-21 Alberto Garcia <agarcia@igalia.com>
673 Add FloatRect::normalized() for BlackBerry
674 https://bugs.webkit.org/show_bug.cgi?id=116531
676 Reviewed by Carlos Garcia Campos.
678 This was added to FloatRectBlackBerry.cpp in r111072 when the
679 graphics platform code was upstreamed, but this change was
682 * platform/graphics/FloatRect.h:
685 2013-05-21 Balazs Kelemen <kbalazs@webkit.org>
687 [GStreamer] cleanup duration query
688 https://bugs.webkit.org/show_bug.cgi?id=116228
690 Reviewed by Philippe Normand.
692 Covered by existing tests.
694 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
695 (WebCore::MediaPlayerPrivateGStreamer::duration):
696 We can also cache the duration here if the query succeeds.
697 (MediaPlayerPrivateGStreamer::updateStates):
698 Don't query when we are in GST_STATE_READY state because it never succeeds.
699 Do it instead when we reached a stable state.
700 (MediaPlayerPrivateGStreamer::cacheDuration): Return early if it is already
701 cached. Recaching is not necessary and now we call it a lot of times.
702 Only look into the state if the query failed.
703 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
704 (MediaPlayerPrivateGStreamer): Made m_mediaDuration mutable to be
705 able to cache it in duration(). Internal cached values is one of
706 the sensible uses of mutable.
708 2013-05-21 Patrick Gansterer <paroga@webkit.org>
710 Build fix for !USE(ACCELERATED_COMPOSITING) after r150307.
712 * rendering/RenderLayerCompositor.h: Added missing #if USE(ACCELERATED_COMPOSITING).
714 2013-05-20 Antti Koivisto <antti@apple.com>
716 Simplify Shadow DOM distribution code
717 https://bugs.webkit.org/show_bug.cgi?id=116454
719 Reviewed by Andreas Kling.
721 Remove code supporting nested insertion points and distributing to multiple insertion points.
723 * html/HTMLDetailsElement.cpp:
724 (DetailsContentElement):
726 Make distribution to <details> and <summary> mutually exclusive.
728 * html/shadow/ContentDistributor.cpp:
730 (WebCore::ContentDistributor::distribute):
731 (WebCore::ContentDistributor::invalidate):
732 (WebCore::ContentDistributor::distributeSelectionsTo):
733 * html/shadow/ContentDistributor.h:
734 * html/shadow/InsertionPoint.cpp:
735 (WebCore::resolveReprojection):
737 2013-05-21 Mihnea Ovidenie <mihnea@adobe.com>
739 [CSSRegions] Constrain auto-height region computation in a different way
740 https://bugs.webkit.org/show_bug.cgi?id=116310
742 Reviewed by Alexandru Chiculita.
744 After https://bugs.webkit.org/show_bug.cgi?id=74132, the region is a render block. We can use RenderBox::constrainContentBoxLogicalHeightByMinMax
745 instead of RenderBox::computeReplacedLogicalHeightRespectingMinMaxHeight to better reflect the fact that the region is not a replaced element.
746 Covered by existing regions tests, since when replaced-based the region had an intrinsic height of 0 and now, block-based, it does not have any children.
748 * rendering/RenderFlowThread.cpp:
749 (WebCore::RenderFlowThread::addForcedRegionBreak):
751 2013-05-21 Ryosuke Niwa <rniwa@webkit.org>
753 REGRESSION(r150393): editing/inserting/typing-at-end-of-line.html fails
754 https://bugs.webkit.org/show_bug.cgi?id=116516
756 Reviewed by Antti Koivisto.
758 The bug was caused by DRT not resetting various auto correction states.
759 Do that in Internals::resetToConsistentState.
761 * testing/Internals.cpp:
762 (WebCore::Internals::resetToConsistentState):
764 2013-05-20 Zan Dobersek <zdobersek@igalia.com>
766 [GTK] Fix concatenations of string literals that are not C++11-compliant
767 https://bugs.webkit.org/show_bug.cgi?id=116449
769 Reviewed by Martin Robinson.
771 Fix the problematic concatenations of string literals so they are compilable under the C++11 standard. This
772 is simply a matter of separating the string and the string literal that are being concatenated with a space.
774 * platform/graphics/gtk/FullscreenVideoControllerGtk.cpp:
775 * platform/gtk/FileSystemGtk.cpp:
776 (WebCore::sharedResourcesPath):
778 2013-05-20 Zan Dobersek <zdobersek@igalia.com>
780 [GTK] Support application/x-mimearchive mimetype for MHTML archives instead of message/rfc822
781 https://bugs.webkit.org/show_bug.cgi?id=116442
783 Reviewed by Martin Robinson.
785 * loader/archive/ArchiveFactory.cpp:
786 (WebCore::archiveMIMETypes): Like EFL and Qt, register the application/x-mimearchive mime type as a MHTML archive type
787 and stop propagating the message/rfc822 mime type as such. This also removes a couple of PLATFORM ifdefs.
789 2013-05-20 Benjamin Poulain <bpoulain@apple.com>
791 Minor String fixes in CSS
792 https://bugs.webkit.org/show_bug.cgi?id=116291
794 Reviewed by Darin Adler.
796 Some trival changes to make up for a bad day :)
798 * css/CSSImageSetValue.cpp:
799 (WebCore::CSSImageSetValue::customCssText):
800 * css/CSSImageValue.cpp:
801 (WebCore::CSSImageValue::customCssText):
802 * css/CSSImportRule.cpp:
803 (WebCore::CSSImportRule::cssText):
804 * css/CSSInheritedValue.cpp:
805 (WebCore::CSSInheritedValue::customCssText):
806 * css/CSSInitialValue.cpp:
807 (WebCore::CSSInitialValue::customCssText):
808 * css/CSSPrimitiveValue.cpp:
809 (WebCore::CSSPrimitiveValue::customCssText):
810 * css/CSSPropertySourceData.cpp:
811 (WebCore::CSSPropertySourceData::toString):
812 * css/CSSSelector.cpp:
813 (WebCore::CSSSelector::selectorText):
814 * css/CSSStyleRule.cpp:
815 (WebCore::CSSStyleRule::generateSelectorText):
816 * css/CSSStyleSheet.h:
817 (WebCore::CSSStyleSheet::type):
818 * css/CSSTimingFunctionValue.cpp:
819 (WebCore::CSSLinearTimingFunctionValue::customCssText):
820 (WebCore::CSSCubicBezierTimingFunctionValue::customCssText):
821 * css/CSSValueList.cpp:
822 (WebCore::CSSValueList::customCssText):
823 (WebCore::CSSValueList::customSerializeResolvingVariables):
824 * css/MediaQueryExp.cpp:
825 (WebCore::MediaQueryExp::serialize):
826 * css/WebKitCSSFilterValue.cpp:
827 (WebCore::WebKitCSSFilterValue::customCssText):
828 * css/WebKitCSSKeyframesRule.cpp:
829 (WebCore::StyleRuleKeyframes::findKeyframeIndex):
830 (WebCore::WebKitCSSKeyframesRule::cssText):
831 * css/WebKitCSSMatFunctionValue.cpp:
832 (WebCore::WebKitCSSMatFunctionValue::customCssText):
833 * css/WebKitCSSMixFunctionValue.cpp:
834 (WebCore::WebKitCSSMixFunctionValue::customCssText):
836 2013-05-20 Ryosuke Niwa <rniwa@webkit.org>
838 Null pointer deference in WebCore::AppendNodeCommand::create
839 https://bugs.webkit.org/show_bug.cgi?id=116479
841 Reviewed by Andreas Kling.
843 Merge https://chromium.googlesource.com/chromium/blink/+/5cb43002a44f67a60ecf5a7ed76de2d0bcf89eb2
845 DeleteSelection::makeStylingElementsDirectChildrenOfEditableRootToPreventStyleLoss() make style and link elements
846 to be the direct children of the editable root. However, these style and link elements are not necessary editable
847 and WebKit crashes when they are not.
849 Test: editing/deleting/delete-uneditable-style.html
851 * editing/DeleteSelectionCommand.cpp:
852 (WebCore::DeleteSelectionCommand::makeStylingElementsDirectChildrenOfEditableRootToPreventStyleLoss):
854 2013-05-20 Beth Dakin <bdakin@apple.com>
856 Scrollbars still show sometimes even when WKPageSetSuppressScrollbarAnimations()
858 https://bugs.webkit.org/show_bug.cgi?id=116493
860 <rdar://problem/13912871>
862 Reviewed by Dean Jackson.
864 We need to be more aggressive with our approach since AppKit may still ask the
865 scrollbars to paint here.
867 scrollbarAnimationsAreSuppressed() will allow us to find out if the setting has
869 * page/FrameView.cpp:
870 (WebCore::FrameView::scrollbarAnimationsAreSuppressed):
872 * platform/ScrollableArea.h:
873 (WebCore::ScrollableArea::scrollbarAnimationsAreSuppressed):
874 * rendering/RenderLayer.cpp:
875 (WebCore::RenderLayer::scrollbarAnimationsAreSuppressed):
876 * rendering/RenderLayer.h:
878 * rendering/RenderListBox.cpp:
879 (WebCore::RenderListBox::scrollbarAnimationsAreSuppressed):
880 * rendering/RenderListBox.h:
882 Don’t allow animations if scrollbars are suppressed.
883 * platform/mac/ScrollAnimatorMac.mm:
884 (-[WebScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
886 Call cancelAnimations() to prevent a just-started animation from continuing.
887 (WebCore::ScrollAnimatorMac::finishCurrentScrollAnimations):
889 2013-05-20 Andreas Kling <akling@apple.com>
891 Avoid caret repaints if we're not showing carets anyway.
892 <http://webkit.org/b/116489>
894 Reviewed by Simon Fraser.
896 When moving the selection, check if we're inside a contenteditable element (or in caret browsing mode)
897 before repainting the caret's previous location.
899 * editing/FrameSelection.cpp:
900 (WebCore::FrameSelection::recomputeCaretRect):
902 2013-05-20 Simon Fraser <simon.fraser@apple.com>
904 position:sticky should stick for the enclosing overflow ancestor
905 https://bugs.webkit.org/show_bug.cgi?id=100054
907 Reviewed by Beth Dakin.
909 Make position: -webkit-sticky be constrained by an enclosing ancestor
910 with non-visible overflow if there is one, rather than being constained
911 always by the viewport.
913 Test: fast/css/sticky/sticky-top-overflow.html
915 * rendering/RenderBoxModelObject.cpp:
916 (WebCore::RenderBoxModelObject::computeStickyPositionConstraints): Rename
917 viewportRect to constrainingRect, since it isn't just about the viewport any more.
918 Fix an issue where just adding stickyLocation to absContainerFrame.location() was
919 incorrect when the container is scrolled; we also have to take the scroll offset
920 into account, and that offset is stored in the layer tree.
921 (WebCore::RenderBoxModelObject::stickyPositionOffset):
922 Look for an enclosing layer with overflow clipping, and, if found, use it to
923 compute the sticky constraint rect.
924 * rendering/RenderLayer.h: Add a helpful IncludeSelfOrNot, and fix several member functions
925 to use it place of hard-to-read boolean arguments.
926 Add enclosingOverflowClipLayer(IncludeSelfOrNot).
927 (WebCore::RenderLayer::ancestorCompositingLayer):
928 * rendering/RenderLayer.cpp:
929 (WebCore::RenderLayer::enclosingOverflowClipLayer): New function, finds the enclosing
930 layer with overflow clip.
931 (WebCore::RenderLayer::enclosingCompositingLayer): Use IncludeSelfOrNot.
932 (WebCore::RenderLayer::enclosingCompositingLayerForRepaint): Ditto.
933 (WebCore::RenderLayer::enclosingFilterLayer): Ditto.
934 * rendering/RenderLayerCompositor.cpp:
935 (WebCore::RenderLayerCompositor::repaintInCompositedAncestor): Use IncludeSelfOrNot.
936 (WebCore::isViewportConstrainedFixedOrStickyLayer): Renamed from isRootmostFixedOrStickyLayer
937 and moved up so we can use it in requiresCompositingForPosition().
938 (WebCore::RenderLayerCompositor::requiresCompositingForPosition): Only make sticky composited if
939 it's viewport-constrained.
940 (WebCore::RenderLayerCompositor::updateViewportConstraintStatus):
941 (WebCore::RenderLayerCompositor::computeStickyViewportConstraints): Declare StickyPositionViewportConstraints
942 one line down to just before it gets used.
944 2013-05-20 Jeff Rogers <jrogers@blackberry.com>
946 Remove DISABLE_ROUNDED_CORNER_CLIPPING
947 https://bugs.webkit.org/show_bug.cgi?id=115531
949 Reviewed by Andreas Kling.
951 BlackBerry port is no longer using this.
953 * rendering/RenderLayer.cpp:
954 (WebCore::inContainingBlockChain):
955 (WebCore::RenderLayer::clipToRect):
957 2013-05-20 Tim Horton <timothy_horton@apple.com>
959 Clients should have a way to extend rendering suppression
960 https://bugs.webkit.org/show_bug.cgi?id=116463
961 <rdar://problem/13738496>
963 Reviewed by Andy Estes.
966 Export FrameView::setVisualUpdatesAllowedByClient.
969 (WebCore::Document::setVisualUpdatesAllowed):
970 Move rendering-suppression watchdog into setVisualUpdatesAllowed(bool).
971 setVisualUpdatesAllowed(ReadyState) should not re-enable visual updates
972 if the client is itself disabling visual updates.
974 (WebCore::Document::visualUpdatesSuppressionTimerFired):
975 If the watchdog fires and the client is still disabling visual
976 updates, we should not re-enable visual updates, but instead
979 (WebCore::Document::setVisualUpdatesAllowedByClient):
980 Actually re-enable visual updates if we deferred the re-enabling above
981 (when the page finishes loading, but the client had them disabled).
984 (Document): Add setVisualUpdatesAllowedByClient.
985 * page/FrameView.cpp:
986 (WebCore::FrameView::FrameView): Visual updates are allowed by default.
987 (WebCore::FrameView::setVisualUpdatesAllowedByClient):
988 Forward through to the document, but we also need to persist the state
989 here in FrameView so that it survives through navigation.
992 (WebCore::FrameView::setVisualUpdatesAllowedByClient): Added.
993 (WebCore::FrameView::visualUpdatesAllowedByClient): Added.
994 Added storage for m_visualUpdatesAllowedByClient.
996 2013-05-20 Hans Muller <hmuller@adobe.com>
998 [CSS Exclusions] Add CSS parsing support for image URI shape-inside and shape-outside values
999 https://bugs.webkit.org/show_bug.cgi?id=116349
1001 Reviewed by Alexandru Chiculita.
1003 Add support for parsing image URI values for the shape-inside and shape-outside CSS properties.
1004 Extended the ExclusionShapeValue class to support tracking the property's StyleImage value.
1006 The ExclusionShapeValue::type enums were changed from all upper case to "Intercase" by order
1009 The existing CSS parsing tests were extended to check URI values.
1011 * css/CSSComputedStyleDeclaration.cpp:
1012 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1013 * css/CSSParser.cpp:
1014 (WebCore::CSSParser::parseValue):
1015 * css/DeprecatedStyleBuilder.cpp:
1016 (WebCore::ApplyPropertyExclusionShape::applyValue):
1017 * css/StyleResolver.cpp:
1018 (WebCore::StyleResolver::loadPendingImages):
1019 * rendering/style/ExclusionShapeValue.h:
1020 (WebCore::ExclusionShapeValue::createImageValue):
1021 (ExclusionShapeValue):
1022 (WebCore::ExclusionShapeValue::image):
1023 (WebCore::ExclusionShapeValue::setImage):
1024 (WebCore::ExclusionShapeValue::ExclusionShapeValue):
1026 2013-05-20 Radu Stavila <stavila@adobe.com>
1028 [CSSRegions] Fix offsetLeft / offsetTop for elements inside named flow
1029 https://bugs.webkit.org/show_bug.cgi?id=115899
1031 Reviewed by David Hyatt.
1033 Elements in named flows that have the body as their offsetParent, need to compute their
1034 offsetLeft and offsetTop values relative to the body.
1036 Tests: fast/regions/offsetLeft-offsetTop-in-multiple-regions.html
1037 fast/regions/offsetLeft-offsetTop-in-region-absolute-sticky-fixed.html
1038 fast/regions/offsetLeft-offsetTop-in-region-float-vert-rl.html
1039 fast/regions/offsetLeft-offsetTop-in-region-float.html
1040 fast/regions/offsetLeft-offsetTop-inlines-region-in-element.html
1042 * rendering/RenderBoxModelObject.cpp:
1043 (WebCore::RenderBoxModelObject::adjustedPositionRelativeToOffsetParent):
1044 * rendering/RenderFlowThread.cpp:
1046 (WebCore::RenderFlowThread::adjustedPositionRelativeToOffsetParent):
1047 * rendering/RenderFlowThread.h:
1049 2013-05-20 Zoltan Horvath <zoltan@webkit.org>
1051 [CSS Regions][CSS Exclusions] shape-inside on regions should respect positioned shapes and overflow
1052 https://bugs.webkit.org/show_bug.cgi?id=116252
1054 Reviewed by David Hyatt.
1056 Regions should respect shape-inside properties which have specified top offset. Since the content which overflows from the
1057 shape should be pushed after the content box (for details check out r148975), I implemented overflowthe behavior for simple
1058 cases when you have only one region. I'm going to implement it for additional regions in a follow up patch.
1060 Tests: fast/regions/shape-inside/shape-inside-on-regions-block-content-basic-overflow-shape-top-offset.html
1061 fast/regions/shape-inside/shape-inside-on-regions-inline-content-basic-overflow-shape-top-offset.html
1063 * rendering/RenderBlockLineLayout.cpp:
1064 (WebCore::RenderBlock::updateLineBoundariesForExclusions): Handle the flow thread case, push the overflowing content after the
1065 content box. Respect existing shape-inside on region tests.
1066 (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Set the correct logical top position for the shape-inside in
1067 the case of regions. Respect the region's margins and paddings.
1069 2013-05-20 Darin Adler <darin@apple.com>
1071 Remove custom binding for the Clipboard clearData function
1072 https://bugs.webkit.org/show_bug.cgi?id=116421
1074 Reviewed by Andreas Kling.
1076 * bindings/js/JSClipboardCustom.cpp: Removed the clearData binding.
1078 * dom/Clipboard.idl: Removed [Custom].
1080 * dom/Clipboard.cpp:
1081 (WebCore::Clipboard::clearData): Renamed from clearAllData.
1082 * dom/Clipboard.h: Rename clearAllData to clearData so we just use
1083 overloading for the one with and without a MIME type.
1084 * platform/ios/ClipboardIOS.h: Rename clearAllData to clearData.
1085 * platform/ios/ClipboardIOS.mm:
1086 (WebCore::ClipboardIOS::clearData): Ditto.
1087 * platform/qt/ClipboardQt.cpp:
1088 (WebCore::ClipboardQt::clearData). Ditto.
1089 * platform/qt/ClipboardQt.h: Ditto.
1090 * platform/win/ClipboardWin.cpp:
1091 (WebCore::ClipboardWin::clearData): Ditto.
1092 * platform/win/ClipboardWin.h: Ditto.
1094 2013-05-20 Eric Carlson <eric.carlson@apple.com>
1096 [iOS] media/event-queue-crash.html ASSERTs in notifyChildInserted
1097 https://bugs.webkit.org/show_bug.cgi?id=116444
1099 Reviewed by Jer Noble.
1101 No new tests, covered by existing tests.
1103 * html/HTMLMediaElement.cpp:
1104 (WebCore::HTMLMediaElement::configureMediaControls): Only create media controls when the
1105 element is in a Document.
1107 2013-05-20 Antoine Quint <graouts@apple.com>
1109 [Mac] captions menu should behave more like a menu
1110 https://bugs.webkit.org/show_bug.cgi?id=116436
1112 Reviewed by Eric Carlson.
1114 Let the captions menu behave more like a native Mac menu by hiding it when
1115 clicking anywhere on the page and preventing the page from scrolling when
1116 attempting to scroll the captions menu when it cannot scroll in the requested
1119 Test: media/video-controls-captions-trackmenu-hide-on-click-outside.html
1121 * dom/EventListener.h:
1122 Add the new MediaControlsAppleEventListenerType.
1124 * html/shadow/MediaControlsApple.cpp:
1125 (WebCore::MediaControlsApple::defaultEventHandler):
1126 (WebCore::MediaControlsApple::hide):
1127 (WebCore::MediaControlsApple::makeTransparent):
1128 (WebCore::MediaControlsApple::changedClosedCaptionsVisibility):
1129 (WebCore::MediaControlsApple::reportedError):
1130 (WebCore::MediaControlsApple::toggleClosedCaptionTrackList):
1131 Use the hideClosedCaptionTrackList() and showClosedCaptionTrackList()
1132 methods to hide and show the captions menu instead of calling hide()
1133 and show() directly on m_closedCaptionsContainer.
1135 (WebCore::MediaControlsApple::showClosedCaptionTrackList):
1136 Show the m_closedCaptionsContainer and register a "mousewheel" event
1137 listener on it as well as a "click" event listener on the entire document.
1139 (WebCore::MediaControlsApple::hideClosedCaptionTrackList):
1140 Hide the m_closedCaptionsContainer and remove the "mousewheel" event
1141 listener on it as well as the "click" event listener on the entire document.
1143 (WebCore::MediaControlsApple::shouldClosedCaptionsContainerPreventPageScrolling):
1144 New private utility to determine whether the m_closedCaptionsContainer can scroll
1145 in the provided scroll direction.
1147 (WebCore::MediaControlsApple::eventListener):
1148 Obtain the event listener used for "mousewheel" and "click" event handlers.
1150 (WebCore::MediaControlsAppleEventListener::handleEvent):
1151 Event handler for the "mousewheel" and "click" events. If we get a "click" event, we
1152 toggle the captions menu visibility and if we get a "mousewheel" event, we call into
1153 shouldClosedCaptionsContainerPreventPageScrolling() to see if we can scroll in the
1154 current scroll direction, and if not prevent the event from resulting in a scroll by
1155 calling preventDefault().
1157 (WebCore::MediaControlsAppleEventListener::operator==):
1158 Required for the successful subclassing of EventListener.
1160 * html/shadow/MediaControlsApple.h:
1161 (MediaControlsAppleEventListener):
1162 (WebCore::MediaControlsAppleEventListener::create):
1163 (WebCore::MediaControlsAppleEventListener::cast):
1164 (WebCore::MediaControlsAppleEventListener::MediaControlsAppleEventListener):
1165 New subclass of EventListener required to provide a custom event listener for the
1166 "mousewheel" and "click" events registered in showClosedCaptionTrackList() and
1167 hideClosedCaptionTrackList().
1169 2013-05-18 Rashmi Shyamasundar <rashmi.s2@samsung.com>
1171 [Cairo] Canvas-shadow behavior is not being as expected
1172 https://bugs.webkit.org/show_bug.cgi?id=108897
1174 Reviewed by Martin Robinson.
1176 ShadowBlur::endShadowLayer copies the image from shadowContext to cairoContext.
1177 CairoContext-path should be empty for doing this copy. Otherwise, the
1178 original-image area will also get filled with the shadow.
1180 Test: fast/canvas/canvas-image-shadow.html
1182 * platform/graphics/cairo/GraphicsContextCairo.cpp:
1183 (WebCore::drawPathShadow):
1185 2013-05-20 Lamarque V. Souza <Lamarque.Souza@basyskom.com>
1187 -webkit-text-underline-position should not be inherited
1188 https://bugs.webkit.org/show_bug.cgi?id=116363
1190 Reviewed by Dean Jackson.
1192 Specification says text-underline-position should not be inherited.
1194 No new tests, this updates existing tests.
1196 * css/CSSProperty.cpp:
1197 (WebCore::CSSProperty::isInheritedProperty): Make
1198 CSSPropertyWebkitTextUnderlinePosition return false.
1199 * rendering/style/RenderStyle.h: Treat TextUnderlinePosition as
1201 * rendering/style/StyleRareInheritedData.cpp:
1202 (WebCore::StyleRareInheritedData::StyleRareInheritedData):
1203 (WebCore::StyleRareInheritedData::operator==): Remove m_textUnderlinePosition.
1204 * rendering/style/StyleRareInheritedData.h:
1205 (StyleRareInheritedData):
1206 * rendering/style/StyleRareNonInheritedData.cpp:
1207 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
1208 (WebCore::StyleRareNonInheritedData::operator==): Add m_textUnderlinePosition.
1209 * rendering/style/StyleRareNonInheritedData.h:
1210 (StyleRareNonInheritedData):
1212 2013-05-20 Lamarque V. Souza <Lamarque.Souza@basyskom.com>
1214 Add compile asserts for the size of RootInlineBox and InlineTextbox
1215 https://bugs.webkit.org/show_bug.cgi?id=116337
1217 Reviewed by Darin Adler.
1219 Add compile asserts to ensure RootInlineBox and InlineTextbox stay small.
1221 * rendering/InlineTextBox.cpp:
1222 (SameSizeAsInlineTextBox):
1224 * rendering/RootInlineBox.cpp:
1225 (SameSizeAsRootInlineBox):
1228 2013-05-20 Xan Lopez <xlopez@igalia.com>
1230 [BlackBerry] LocalizedStringsBlackBerry: add dummy text track strings
1231 https://bugs.webkit.org/show_bug.cgi?id=116300
1233 Reviewed by Rob Buis.
1235 These are dummy implementations necessary to make WebKit link.
1237 * platform/blackberry/LocalizedStringsBlackBerry.cpp:
1238 (WebCore::weekFormatInLDML):
1240 (WebCore::textTrackClosedCaptionsText):
1241 (WebCore::textTrackSubtitlesText):
1242 (WebCore::textTrackOffText):
1243 (WebCore::textTrackNoLabelText):
1245 2013-05-19 Darin Adler <darin@apple.com>
1247 [Mac] Improve string use in PasteboardMac
1248 https://bugs.webkit.org/show_bug.cgi?id=116418
1250 Reviewed by Sam Weinig.
1252 Did a Ben Poulain all over this file.
1254 * platform/mac/PasteboardMac.mm:
1255 (WebCore::Pasteboard::plainText): Add the newline separately to the string builder.
1256 Prepending it to the string first just does more allocations for no good reason.
1257 (WebCore::Pasteboard::documentFragment): Use emptyString() instead of "" and use
1258 ASCIILiteral where appropriate.
1259 (WebCore::cocoaTypeFromHTMLClipboardType): More ASCIILiteral.
1260 (WebCore::Pasteboard::clear): Use early return instead of a nested if here.
1261 Use emptyString() instead of "".
1262 (WebCore::addHTMLClipboardTypesForCocoaType): More ASCIILiteral.
1264 2013-05-19 Anders Carlsson <andersca@apple.com>
1266 Remove link prerendering code
1267 https://bugs.webkit.org/show_bug.cgi?id=116415
1269 Reviewed by Darin Adler.
1271 * Configurations/FeatureDefines.xcconfig:
1272 * GNUmakefile.list.am:
1274 * WebCore.vcproj/WebCore.vcproj:
1275 * WebCore.vcxproj/WebCore.vcxproj:
1276 * WebCore.vcxproj/WebCore.vcxproj.filters:
1277 * WebCore.xcodeproj/project.pbxproj:
1279 (WebCore::Document::Document):
1285 * html/HTMLLinkElement.cpp:
1286 * html/HTMLLinkElement.h:
1287 * html/LinkRelAttribute.cpp:
1288 (WebCore::LinkRelAttribute::LinkRelAttribute):
1289 * html/LinkRelAttribute.h:
1291 * loader/LinkLoader.cpp:
1292 (WebCore::LinkLoader::~LinkLoader):
1293 (WebCore::LinkLoader::loadLink):
1294 (WebCore::LinkLoader::released):
1295 * loader/LinkLoader.h:
1298 * loader/LinkLoaderClient.h:
1300 * loader/Prerenderer.cpp: Removed.
1301 * loader/Prerenderer.h: Removed.
1302 * loader/PrerendererClient.cpp: Removed.
1303 * loader/PrerendererClient.h: Removed.
1304 * platform/PrerenderClient.h: Removed.
1305 * platform/PrerenderHandle.h: Removed.
1307 2013-05-19 Simon Fraser <simon.fraser@apple.com>
1309 Change the terminology used by rendering code when painting a given node and its children from "paintingRoot" to "subtreePaintRoot"
1310 https://bugs.webkit.org/show_bug.cgi?id=116417
1312 Reviewed by Sam Weinig.
1314 PaintInfo and RenderLayer code referred to a "paintingRoot". This is only set when
1315 FrameView::setNodeToDraw() has been called and is used to restrict painting to
1316 some part of the subtree, but it could easily be misinterpreted, and confused with
1317 the "rootLayer" used by RenderLayer (which is usually not the layer associated with
1320 Change the terminology from "paintingRoot" to "subtreePaintRoot" root to make the
1321 purpose of this variable more obvious.
1325 * page/FrameView.cpp: Add a comment for setNodeToDraw(); in future this should
1326 be called setSubtreePaintRoot() or something. Not done in this patch to avoid
1327 risk; this function is exported from WebCore.
1328 * rendering/InlineFlowBox.cpp:
1329 (WebCore::InlineFlowBox::paint):
1330 * rendering/PaintInfo.h:
1331 (WebCore::PaintInfo::PaintInfo):
1332 (WebCore::PaintInfo::updateSubtreePaintRootForChildren):
1333 (WebCore::PaintInfo::shouldPaintWithinRoot):
1334 * rendering/RenderBlock.cpp:
1335 (WebCore::RenderBlock::paintContents):
1336 * rendering/RenderBox.cpp:
1337 (WebCore::RenderBox::paint):
1338 * rendering/RenderLayer.cpp:
1339 (WebCore::RenderLayer::paint):
1340 (WebCore::RenderLayer::paintOverlayScrollbars):
1341 (WebCore::RenderLayer::paintLayerContents):
1342 (WebCore::RenderLayer::paintLayerByApplyingTransform):
1343 (WebCore::RenderLayer::paintBackgroundForFragments):
1344 (WebCore::RenderLayer::paintForegroundForFragments):
1345 (WebCore::RenderLayer::paintForegroundForFragmentsWithPhase):
1346 (WebCore::RenderLayer::paintOutlineForFragments):
1347 (WebCore::RenderLayer::paintMaskForFragments):
1348 * rendering/RenderLayer.h:
1349 (WebCore::RenderLayer::LayerPaintingInfo::LayerPaintingInfo):
1350 * rendering/RenderObject.cpp: Add a comment to recommend changing the name of
1351 paintingRootRect() to refer to a subtree paint. Not done in this patch to avoid
1352 risk; this function is exported from WebCore.
1353 * rendering/RenderSnapshottedPlugIn.cpp:
1354 (WebCore::RenderSnapshottedPlugIn::paint):
1355 * rendering/RenderTable.cpp:
1356 (WebCore::RenderTable::paintObject):
1357 * rendering/svg/RenderSVGContainer.cpp:
1358 (WebCore::RenderSVGContainer::paint):
1360 2013-05-19 Darin Adler <darin@apple.com>
1362 Use Element instead of Node in DragState, also redo DragState struct
1363 https://bugs.webkit.org/show_bug.cgi?id=116411
1365 Reviewed by Sam Weinig.
1367 The drag source is an element, so use RefPtr<Element> instead of RefPtr<Node>.
1369 Also, the entire drag state is about dragging, so no need for the word "drag" in the
1370 name of its members. Also, it's a struct, so the members don't need m_ prefixes.
1372 * page/DragController.cpp: Removed unneeded include of Node.h since it's included by
1373 Element.h, which is also included.
1374 (WebCore::DragController::draggableElement): Renamed from Node to Element and changed
1375 the types and names of arguments accordingly. Also made this function handle a
1376 startElement of 0 so callers don't need to. Also updated for changes to DragState members.
1377 (WebCore::DragController::startDrag): Updated for changes to DragState members.
1378 Since dragSource can only be an element, was able to get rid of isElementNode checks.
1380 * page/DragController.h: Fixed style of forward declarations of structs. Updated for
1381 change of draggableNode to draggableElement. Also removed declarations of nonexistent
1382 selectionDraggingRect and doDrag functions.
1384 * page/DragState.h: Rewrote practically this whole header. Added an include of Element
1385 instead of Node since that's what we use now. Removed includes that are redundant.
1386 There's no problem copying a DragState, so removed WTF_MAKE_NONCOPYABLE. There's no need
1387 to allocate a DragState on the heap, so removed WTF_MAKE_FAST_ALLOCATED. The event dispatch
1388 boolean is never set to a constant, so there's no need for a policy enum; it can just be
1389 a boolean. Removed the "m_" prefixes from the struct members, since this is a struct with
1390 public members and we don't use the prefix in those cases. Removed the word "drag" from the
1391 struct member names since this entire struct is about dragging and has drag in its name.
1392 Left the comments mostly intact, even though I'm not certain of their value.
1394 * page/EventHandler.cpp:
1395 (WebCore::EventHandler::handleMousePressEvent): Updated for changes to DragState.
1396 (WebCore::EventHandler::eventMayStartDrag):
1397 Use innerElement instead of innerNode to call draggableElement instead of draggableNode.
1398 (WebCore::EventHandler::updateDragAndDrop): Updated for changes to DragState.
1399 (WebCore::EventHandler::cancelDragAndDrop): Ditto.
1400 (WebCore::EventHandler::handleWheelEvent): Added FIXME.
1401 (WebCore::EventHandler::dragHysteresisExceeded): Updated for changes to DragState.
1402 (WebCore::EventHandler::freeClipboard): Updated for changes to DragState. Also re-added
1403 code to release the clipboard object, which is needed here to avoid keeping it around in
1404 memory until the next drag.
1405 (WebCore::EventHandler::dragSourceEndedAt): Updated for changes to DragState.
1406 (WebCore::EventHandler::updateDragStateAfterEditDragIfNeeded): Ditto.
1407 (WebCore::EventHandler::dispatchDragSrcEvent): Ditto.
1408 (WebCore::EventHandler::handleDrag): Updated for changes to DragState. Use innerElement
1409 instead of innerNode to call draggableElement instead of draggableNode. No longer need to
1410 null check innerElement because draggableElement does that. Removed unneeded else that was
1411 setting m_dragSrc to zero since it's guaranteed to already be zero.
1413 2013-05-19 Anders Carlsson <andersca@apple.com>
1415 Remove ChromeClient::webView()
1416 https://bugs.webkit.org/show_bug.cgi?id=116054
1418 Reviewed by Darin Adler.
1420 This blatantly horrible layer violation was only used to know if a ChromeClient is an empty
1421 client or not. We already have a (slightly less horrible) way to do that.
1423 * loader/EmptyClients.h:
1424 * page/ChromeClient.h:
1427 2013-05-19 Darin Adler <darin@apple.com>
1429 Eliminate the Editor::newGeneralClipboard function
1430 https://bugs.webkit.org/show_bug.cgi?id=116410
1432 Reviewed by Andreas Kling.
1434 This is one of the clean-ups made possible by the changes to the DOM clipboard class.
1435 I had been waiting until all the platforms were moved over to it, but it turns out to be
1436 easy to do this now, just with #ifdefs.
1438 * PlatformBlackBerry.cmake: Deleted EditorBlackBerry.cpp.
1440 * editing/Editor.cpp:
1441 (WebCore::Editor::dispatchCPPEvent): Call Clipboard::createForCopyAndPaste directly when
1442 using the new version of the Clipboard class. Also some small style cleanup nearby.
1444 * editing/blackberry/EditorBlackBerry.cpp: Removed. The only function in this file was
1445 newGeneralClipboard.
1447 * editing/mac/EditorMac.mm: Deleted newGeneralClipboard.
1448 * platform/efl/ClipboardEfl.cpp: Ditto.
1449 * platform/gtk/ClipboardGtk.cpp: Ditto.
1451 2013-05-19 Martin Robinson <mrobinson@igalia.com>
1453 GtkSelectionData length is off by one
1454 https://bugs.webkit.org/show_bug.cgi?id=113962
1456 Reviewed by Anders Carlsson.
1458 No new tests. Since drag data is interpreted as a null-terminated string
1459 this is difficult to test with a C program and we have no infrastructure
1460 built for using GIR tests.
1462 * platform/gtk/PasteboardHelper.cpp:
1463 (WebCore::PasteboardHelper::fillSelectionData): Instead of including the null
1464 character in the paste data length, just include the string. This matches the behavior
1467 2013-05-18 Simon Fraser <simon.fraser@apple.com>
1469 Hoist several chunks of code at the top of RenderLayer::paintLayerContents() onto new functions
1470 https://bugs.webkit.org/show_bug.cgi?id=116406
1472 Reviewed by Andreas Kling.
1474 RenderLayer::paintLayerContents() was getting polluted with code related to filters,
1475 clipping and font subpixel quantization, and hard to follow.
1477 Move three hunks of code into new functions:
1478 setupFontSubpixelQuantization() now contains the code related to whether we disable
1479 font subpixel quantization on the context.
1480 setupClipPath() now contains code related to clipping to shapes and references.
1481 setupFilters() and applyFilters() contain code related to CSS filters.
1483 As part of this, the interaction with FilterEffectRendererHelper was simplified.
1484 It was convenient for setupFilters() to return a FilterEffectRendererHelper object
1485 if successful, so we use an OwnPtr<FilterEffectRendererHelper> now. In addition,
1486 the GraphicsContext swapping was moved from FilterEffectRendererHelper code into RenderLayer
1487 to make it easier to follow. FilterEffectRendererHelper no longer holds on to
1488 the old GraphicsContext.
1492 * rendering/FilterEffectRenderer.cpp:
1493 (WebCore::FilterEffectRendererHelper::filterContext):
1494 (WebCore::FilterEffectRendererHelper::beginFilterEffect):
1495 (WebCore::FilterEffectRendererHelper::applyFilterEffect):
1496 * rendering/FilterEffectRenderer.h:
1497 (WebCore::FilterEffectRendererHelper::FilterEffectRendererHelper):
1498 (WebCore::FilterEffectRendererHelper::hasStartedFilterEffect):
1499 (FilterEffectRendererHelper):
1500 * rendering/RenderLayer.cpp:
1501 (WebCore::RenderLayer::setupFontSubpixelQuantization):
1502 (WebCore::RenderLayer::setupClipPath):
1503 (WebCore::RenderLayer::setupFilters):
1504 (WebCore::RenderLayer::applyFilters):
1505 (WebCore::RenderLayer::paintLayerContents):
1506 * rendering/RenderLayer.h:
1508 2013-05-18 Simon Fraser <simon.fraser@apple.com>
1510 Refactor RenderStyle::diff()
1511 https://bugs.webkit.org/show_bug.cgi?id=116397
1513 Reviewed by Andreas Kling.
1515 RenderStyle::diff() was prone to being changed incorrectly, since there was
1516 a poorly documented ordering requirement: style changes that cause layout
1517 have to be detected before those that cause only repainting.
1519 In addition, the existing code made it impossible to separately ask whether
1520 a given style change requires a repaint, if we've already detected that it
1521 requires a positioned-movement-only layout.
1523 Fix by factoring the code into member functions that check for each type
1528 * rendering/style/RenderStyle.cpp:
1529 (WebCore::positionChangeIsMovementOnly):
1530 (WebCore::RenderStyle::changeRequiresLayout):
1531 (WebCore::RenderStyle::changeRequiresPositionedLayoutOnly):
1532 (WebCore::RenderStyle::changeRequiresLayerRepaint):
1533 (WebCore::RenderStyle::changeRequiresRepaint):
1534 (WebCore::RenderStyle::changeRequiresRepaintIfText):
1535 (WebCore::RenderStyle::changeRequiresRecompositeLayer):
1536 (WebCore::RenderStyle::diff):
1537 * rendering/style/RenderStyle.h:
1539 2013-05-18 Anders Carlsson <andersca@apple.com>
1541 Simplify the StorageArea setter functions
1542 https://bugs.webkit.org/show_bug.cgi?id=116402
1544 Reviewed by Sam Weinig.
1546 Move more security checking code to Storage so more code can be shared between WebKit1 and WebKit2.
1548 * inspector/InspectorDOMStorageAgent.cpp:
1549 (WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
1550 (WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
1551 * storage/Storage.cpp:
1552 (WebCore::Storage::setItem):
1553 (WebCore::Storage::removeItem):
1554 (WebCore::Storage::clear):
1555 * storage/StorageArea.h:
1557 * storage/StorageAreaImpl.cpp:
1558 (WebCore::StorageAreaImpl::setItem):
1559 (WebCore::StorageAreaImpl::removeItem):
1560 (WebCore::StorageAreaImpl::clear):
1561 * storage/StorageAreaImpl.h:
1564 2013-05-18 Anders Carlsson <andersca@apple.com>
1566 Simplify StorageArea getter functions
1567 https://bugs.webkit.org/show_bug.cgi?id=116399
1569 Reviewed by Sam Weinig.
1571 Move the security and private browsing checks from StorageArea to Storage so we can share
1572 more code between WebKit1 and WebKit2.
1574 * inspector/InspectorDOMStorageAgent.cpp:
1575 (WebCore::InspectorDOMStorageAgent::getDOMStorageItems):
1576 Update to new StorageArea interface. The security checks are unnecessary here anyway because
1577 InspectorDOMStorageAgent::findStorageArea will only return a StorageArea that can be accessed
1578 by the frame's security origin.
1580 * storage/Storage.cpp:
1581 (WebCore::Storage::key):
1582 (WebCore::Storage::getItem):
1583 (WebCore::Storage::contains):
1584 * storage/StorageArea.h:
1586 * storage/StorageAreaImpl.cpp:
1587 (WebCore::StorageAreaImpl::key):
1588 (WebCore::StorageAreaImpl::item):
1589 (WebCore::StorageAreaImpl::contains):
1590 * storage/StorageAreaImpl.h:
1593 2013-05-17 Simon Fraser <simon.fraser@apple.com>
1595 Garbage on page background while http://canberraballoons.com.au is loading
1596 https://bugs.webkit.org/show_bug.cgi?id=116384
1597 <rdar://problem/13930328>
1599 Reviewed by Dan Bernstein.
1601 This page loads a large JPEG image as the body background.
1602 ImageSource::frameHasAlphaAtIndex() always claims that JPEG images
1603 are opaque, but this isn't true if the frame is only partially loaded.
1604 However, this would cause FillLayer::hasOpaqueImage() to report that the
1605 background image is opaque, so we'd skip painting the background color.
1606 Unpainted content in an opaque layer results in garbage.
1608 Fix by having ImageSource::frameHasAlphaAtIndex() always return true
1609 for frames that are not complete. When the image load completes, we
1610 recompute metadata and correctly determine that the frame is opaque.
1612 * platform/graphics/cg/ImageSourceCG.cpp:
1613 (WebCore::ImageSource::frameHasAlphaAtIndex):
1615 2013-05-18 Timothy Hatcher <timothy@apple.com>
1617 Simplify EventLoop::cycle() on Mac.
1619 https://webkit.org/b/116392
1621 Reviewed by Anders Carlsson.
1623 * platform/mac/EventLoopMac.mm:
1624 (WebCore::EventLoop::cycle): Use CFRunLoopRunInMode instead.
1626 2013-05-18 Andreas Kling <akling@apple.com>
1628 Use CSSParserSelector::appendTagHistory() from CSS grammar.
1629 <http://webkit.org/b/116382>
1631 Reviewed by Antti Koivisto.
1633 CSSParserSelector already knows how to append another component to itself,
1634 no need to duplicate that logic in the grammar.
1636 * css/CSSGrammar.y.in:
1638 2013-05-18 Patrick Gansterer <paroga@webkit.org>
1640 [CMake] Replace *_LIBRARY_NAME with *_OUTPUT_NAME
1641 https://bugs.webkit.org/show_bug.cgi?id=114554
1643 Reviewed by Gyuyoung Kim.
1645 Using variables as target names is very uncommon in CMake.
1646 The usual way to specify the name of the resulting binary
1647 is to set the OUTPUT_NAME target property.
1651 2013-05-18 Carlos Garcia Campos <cgarcia@igalia.com>
1653 [GTK] Move GTK port off legacy clipboard
1654 https://bugs.webkit.org/show_bug.cgi?id=116221
1656 Reviewed by Martin Robinson.
1658 Merge clipboard methods into PasteboardGtk that now wraps a
1661 * GNUmakefile.list.am: Remove ClipboardGtk.h.
1662 * dom/Clipboard.h: Remove GTK from the list of ports using legacy
1664 * page/gtk/EventHandlerGtk.cpp:
1665 (WebCore::EventHandler::createDraggingClipboard): Use
1666 Clipboard::createForDragAndDrop().
1667 * platform/Pasteboard.h:
1669 * platform/gtk/ClipboardGtk.cpp:
1670 (WebCore::Editor::newGeneralClipboard): Use
1671 Clipboard::createForCopyAndPaste().
1672 (WebCore::Clipboard::createDragImage):
1673 (WebCore::Clipboard::declareAndWriteDragImage):
1674 * platform/gtk/ClipboardGtk.h: Removed.
1675 * platform/gtk/DragDataGtk.cpp:
1676 * platform/gtk/PasteboardGtk.cpp:
1677 (WebCore::Pasteboard::create): Create a new Pasteboard for a given
1678 GtkClipboard or DataObjectGtk.
1679 (WebCore::Pasteboard::createForCopyAndPaste): Create a Pasteboard
1680 for the GDK_SELECTION_CLIPBOARD clipboard.
1681 (WebCore::Pasteboard::createPrivate): Create a Pasteboard without
1682 a GtkClipboard associated.
1683 (WebCore::Pasteboard::createForDragAndDrop): Create a Pasteboard
1684 for drag and drop operations.
1685 (WebCore::selectionClipboard): Return a static Pasteboard for the
1686 GDK_SELECTION_CLIPBOARD clipboard.
1687 (WebCore::primaryClipboard): Return a static Pasteboard for the
1688 GDK_SELECTION_PRIMARY clipboard.
1689 (WebCore::Pasteboard::generalPasteboard): Return
1690 selectionClipboard() or primaryClipboard() depending on whether
1691 primary selection clipboard is the active one or not.
1692 (WebCore::Pasteboard::Pasteboard):
1693 (WebCore::Pasteboard::~Pasteboard):
1694 (WebCore::Pasteboard::dataObject): Return the wrapped DataObjectGtk.
1695 (WebCore::dataObjectTypeFromHTMLClipboardType): Copied from
1697 (WebCore::Pasteboard::writeString): Adapted to upate the wrapped
1698 DataObjectGtk and the GtkClipboard if needed.
1699 (WebCore::Pasteboard::writeSelection): Ditto.
1700 (WebCore::Pasteboard::writePlainText): Ditto.
1701 (WebCore::Pasteboard::writeURL): Ditto.
1702 (WebCore::Pasteboard::writeImage): Ditto.
1703 (WebCore::Pasteboard::writePasteboard): Copy the wrapped
1704 DataObjectGtk from the DataObjectGtk of the given Pasteboard and
1705 upsate the GtkClipboard if needed.
1706 (WebCore::Pasteboard::clear): Copied from ClipboardGtk.cpp.
1707 (WebCore::Pasteboard::canSmartReplace): Check if current
1708 GtkClipboard supports smart replace.
1709 (WebCore::Pasteboard::setDragImage):
1710 (WebCore::Pasteboard::documentFragment): Adapted to use the
1711 wrapped DataObjectGtk reading from the current GtkClipboard if
1713 (WebCore::Pasteboard::plainText): Ditto.
1714 (WebCore::Pasteboard::hasData): Copied from ClipboardGtk.cpp.
1715 (WebCore::Pasteboard::types): Ditto.
1716 (WebCore::Pasteboard::readString): Ditto.
1717 (WebCore::Pasteboard::readFilenames): Ditto.
1719 2013-05-18 Alberto Garcia <agarcia@igalia.com>
1721 [GTK] Parallel build fails if gtk-doc is enabled
1722 https://bugs.webkit.org/show_bug.cgi?id=116227
1724 Reviewed by Martin Robinson.
1727 Don't overwrite noinst_DATA, modify its existing value instead.
1729 2013-05-17 Michelangelo De Simone <michelangelo@webkit.org>
1731 CSSParser parsing of CSSPropertyFontStretch falls into CSSPropertyGeometry
1732 https://bugs.webkit.org/show_bug.cgi?id=116370
1734 CSSPropertyFontStretch mistakenly fell through the shader parsing logic.
1736 Reviewed by Alexandru Chiculita.
1738 No new test possible, the feature is not implemented nor exposed.
1740 * css/CSSParser.cpp:
1741 (WebCore::CSSParser::parseValue):
1743 2013-05-17 Timothy Hatcher <timothy@apple.com>
1745 Force the script debug server to continue when disabling the debugger.
1747 There might be some cases where the debugger will stay in the nested run loop
1748 which cause weird issues.
1750 Speculative fix for: https://webkit.org/b/111438
1752 Reviewed by Joseph Pecoraro.
1754 * inspector/InspectorDebuggerAgent.cpp:
1755 (WebCore::InspectorDebuggerAgent::disable):
1757 2013-05-16 Darin Adler <darin@apple.com>
1759 [BlackBerry] Get BlackBerry port off legacy clipboard
1760 https://bugs.webkit.org/show_bug.cgi?id=116287
1762 Reviewed by Rob Buis.
1764 * PlatformBlackBerry.cmake: Removed ClipboardBlackBerry.cpp.
1766 * dom/Clipboard.h: Removed BLACKBERRY from the list of platforms that
1767 use the legacy clipboard.
1769 * editing/blackberry/EditorBlackBerry.cpp:
1770 (WebCore::Editor::newGeneralClipboard): Changed to just create a copy
1771 and paste clipboard.
1773 * page/blackberry/EventHandlerBlackBerry.cpp: Removed a drag-related
1774 function that wasn't doing any good.
1776 * platform/blackberry/ClipboardBlackBerry.cpp: Removed.
1777 * platform/blackberry/ClipboardBlackBerry.h: Removed.
1779 * platform/blackberry/PasteboardBlackBerry.cpp:
1780 (WebCore::Pasteboard::createForCopyAndPaste): Added.
1781 (WebCore::Pasteboard::createPrivate): Added.
1782 (WebCore::Pasteboard::hasData): Added. Moved code here from ClipboardBlackBerry.cpp.
1783 (WebCore::Pasteboard::clear): Ditto.
1784 (WebCore::Pasteboard::readString): Ditto.
1785 (WebCore::Pasteboard::writeString): Ditto.
1786 (WebCore::Pasteboard::types): Ditto.
1787 (WebCore::Pasteboard::readFilenames): Ditto.
1789 2013-05-17 Andreas Kling <akling@apple.com>
1791 Ads on theverge.com cause repaints when hovered, even though content doesn't visibly change.
1792 <http://webkit.org/b/116344>
1794 Reviewed by Darin Adler.
1796 Teach RenderStyle::diff() to ignore differences in the outline value if both styles have non-visible outlines.
1798 * rendering/style/RenderStyle.cpp:
1799 (WebCore::RenderStyle::diff):
1800 * rendering/style/StyleBackgroundData.cpp:
1801 (WebCore::StyleBackgroundData::isEquivalentForPainting):
1802 * rendering/style/StyleBackgroundData.h:
1803 (StyleBackgroundData):
1805 2013-05-17 Andreas Kling <akling@apple.com>
1807 Plug leak in CSSSelectorList::deleteSelectors().
1808 <http://webkit.org/b/116371>
1809 <rdar://problem/13930698>
1811 Reviewed by Ryosuke Niwa.
1813 Don't forget to destroy the very last selector in the list.
1815 * css/CSSSelectorList.cpp:
1816 (WebCore::CSSSelectorList::deleteSelectors):
1818 2013-05-17 Anders Carlsson <andersca@apple.com>
1820 Share code between WebKit1 and WebKit2 StorageArea subclasses
1821 https://bugs.webkit.org/show_bug.cgi?id=116367
1823 Reviewed by Andreas Kling.
1825 * inspector/InspectorDOMStorageAgent.cpp:
1826 (WebCore::InspectorDOMStorageAgent::getDOMStorageItems):
1827 Remove ec parameter.
1829 * inspector/InspectorDOMStorageAgent.h:
1830 Add forward declaration.
1832 * page/DOMWindow.cpp:
1833 (WebCore::DOMWindow::sessionStorage):
1834 (WebCore::DOMWindow::localStorage):
1835 Storage::StorageArea returns a reference now.
1837 * storage/Storage.cpp:
1838 (WebCore::Storage::length):
1839 Check that the storage area can be accessed by the frame, and that it's not disabled by private browsing.
1840 Then call down to the (now simplified) StorageArea::length().
1842 (WebCore::Storage::isDisabledByPrivateBrowsing):
1843 New helper function that's based on StorageAreaImpl::disabledByPrivateBrowsingInFrame, but reordered
1844 to make it easier to follow.
1846 * storage/Storage.h:
1847 (WebCore::Storage::area):
1850 * storage/StorageAreaImpl.cpp:
1851 (WebCore::StorageAreaImpl::storageType):
1852 Add this new virtual member funciton that's needed by Storage::isDisabledByPrivateBrowsing.
1854 (WebCore::StorageAreaImpl::length):
1855 Remove unneeded code.
1857 2013-05-17 Commit Queue <commit-queue@webkit.org>
1859 Unreviewed, rolling out r150294.
1860 http://trac.webkit.org/changeset/150294
1861 https://bugs.webkit.org/show_bug.cgi?id=116369
1863 Caused 31 tests to fail (Requested by rniwa on #webkit).
1866 * rendering/InlineFlowBox.h:
1867 * rendering/InlineTextBox.h:
1869 * rendering/RenderApplet.h:
1870 * rendering/RenderBR.h:
1871 * rendering/RenderBlock.h:
1873 (WebCore::RenderBlock::virtualContinuation):
1874 * rendering/RenderBox.h:
1875 (WebCore::RenderBox::borderBoundingBox):
1877 (WebCore::RenderBox::marginLogicalLeft):
1878 (WebCore::RenderBox::marginLogicalRight):
1879 * rendering/RenderBoxModelObject.h:
1880 (WebCore::RenderBoxModelObject::isBoxModelObject):
1881 * rendering/RenderButton.h:
1882 * rendering/RenderCombineText.h:
1883 * rendering/RenderCounter.h:
1884 * rendering/RenderDeprecatedFlexibleBox.h:
1885 * rendering/RenderDetailsMarker.h:
1886 * rendering/RenderEmbeddedObject.h:
1887 (RenderEmbeddedObject):
1888 (WebCore::RenderEmbeddedObject::isEmbeddedObject):
1889 (WebCore::RenderEmbeddedObject::virtualChildren):
1890 * rendering/RenderFieldset.h:
1891 * rendering/RenderFileUploadControl.h:
1892 * rendering/RenderFlexibleBox.h:
1893 * rendering/RenderFlowThread.h:
1894 * rendering/RenderFrame.h:
1895 * rendering/RenderFrameSet.h:
1896 * rendering/RenderFullScreen.cpp:
1897 * rendering/RenderFullScreen.h:
1898 * rendering/RenderGrid.h:
1899 * rendering/RenderHTMLCanvas.h:
1900 * rendering/RenderIFrame.h:
1901 * rendering/RenderImage.h:
1903 (WebCore::RenderImage::isRenderImage):
1904 * rendering/RenderInline.h:
1906 (WebCore::RenderInline::virtualContinuation):
1907 (WebCore::RenderInline::virtualChildren):
1908 (WebCore::RenderInline::isRenderInline):
1909 (WebCore::RenderInline::layout):
1910 (WebCore::RenderInline::requiresLayer):
1911 (WebCore::RenderInline::offsetWidth):
1912 (WebCore::RenderInline::offsetHeight):
1913 (WebCore::RenderInline::borderBoundingBox):
1914 (WebCore::RenderInline::dirtyLinesFromChangedChild):
1915 * rendering/RenderLayerModelObject.h:
1916 * rendering/RenderListBox.h:
1917 * rendering/RenderListItem.h:
1918 * rendering/RenderListMarker.h:
1919 * rendering/RenderMedia.h:
1920 (WebCore::RenderMedia::virtualChildren):
1921 (WebCore::RenderMedia::canHaveChildren):
1922 (WebCore::RenderMedia::isMedia):
1923 (WebCore::RenderMedia::isImage):
1924 (WebCore::RenderMedia::requiresForcedStyleRecalcPropagation):
1925 * rendering/RenderMediaControlElements.h:
1926 * rendering/RenderMenuList.h:
1927 * rendering/RenderMeter.h:
1928 * rendering/RenderMultiColumnBlock.h:
1929 * rendering/RenderMultiColumnFlowThread.h:
1930 * rendering/RenderMultiColumnSet.h:
1931 * rendering/RenderNamedFlowThread.h:
1932 * rendering/RenderPart.h:
1934 (WebCore::RenderPart::isRenderPart):
1935 (WebCore::RenderPart::renderName):
1936 * rendering/RenderProgress.h:
1937 * rendering/RenderRegion.h:
1938 (WebCore::RenderRegion::isRenderRegion):
1939 * rendering/RenderRegionSet.h:
1940 * rendering/RenderReplaced.h:
1942 (WebCore::RenderReplaced::renderName):
1943 * rendering/RenderReplica.h:
1944 * rendering/RenderRuby.h:
1945 * rendering/RenderRubyBase.h:
1946 * rendering/RenderRubyRun.h:
1947 * rendering/RenderRubyText.h:
1948 * rendering/RenderScrollbarPart.h:
1949 * rendering/RenderSearchField.h:
1950 * rendering/RenderSlider.h:
1951 * rendering/RenderSnapshottedPlugIn.h:
1952 (RenderSnapshottedPlugIn):
1953 * rendering/RenderTable.h:
1955 (WebCore::RenderTable::renderName):
1956 (WebCore::RenderTable::isTable):
1957 (WebCore::RenderTable::avoidsFloats):
1958 * rendering/RenderTableCaption.h:
1959 * rendering/RenderTableCell.h:
1960 * rendering/RenderTableCol.h:
1961 * rendering/RenderTableRow.h:
1962 * rendering/RenderTableSection.h:
1963 * rendering/RenderText.h:
1965 (WebCore::RenderText::marginLeft):
1966 (WebCore::RenderText::marginRight):
1967 (WebCore::RenderText::styleWillChange):
1968 (WebCore::RenderText::length):
1969 (WebCore::RenderText::paint):
1970 (WebCore::RenderText::layout):
1971 * rendering/RenderTextControl.h:
1972 (RenderTextControl):
1973 (WebCore::RenderTextControl::renderName):
1974 (WebCore::RenderTextControl::isTextControl):
1975 (WebCore::RenderTextControl::avoidsFloats):
1976 * rendering/RenderTextControlMultiLine.h:
1977 * rendering/RenderTextControlSingleLine.h:
1978 (RenderTextControlSingleLine):
1979 (WebCore::RenderTextControlSingleLine::isTextField):
1980 * rendering/RenderTextFragment.h:
1981 * rendering/RenderTextTrackCue.h:
1982 * rendering/RenderVideo.h:
1983 * rendering/RenderView.h:
1984 * rendering/RenderWidget.h:
1986 (WebCore::RenderWidget::isWidget):
1987 * rendering/RenderWordBreak.h:
1988 * rendering/RootInlineBox.h:
1990 * rendering/mathml/RenderMathMLBlock.h:
1991 * rendering/svg/RenderSVGBlock.h:
1993 * rendering/svg/RenderSVGContainer.h:
1994 (WebCore::RenderSVGContainer::setNeedsBoundariesUpdate):
1995 (WebCore::RenderSVGContainer::virtualChildren):
1996 (WebCore::RenderSVGContainer::isSVGContainer):
1997 (WebCore::RenderSVGContainer::renderName):
1998 (RenderSVGContainer):
1999 (WebCore::RenderSVGContainer::objectBoundingBox):
2000 (WebCore::RenderSVGContainer::strokeBoundingBox):
2001 (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
2002 * rendering/svg/RenderSVGEllipse.h:
2003 * rendering/svg/RenderSVGForeignObject.h:
2004 * rendering/svg/RenderSVGGradientStop.h:
2005 * rendering/svg/RenderSVGHiddenContainer.h:
2006 (WebCore::RenderSVGHiddenContainer::renderName):
2007 (RenderSVGHiddenContainer):
2008 (WebCore::RenderSVGHiddenContainer::isSVGHiddenContainer):
2009 * rendering/svg/RenderSVGImage.h:
2010 * rendering/svg/RenderSVGInline.h:
2011 (WebCore::RenderSVGInline::renderName):
2012 (WebCore::RenderSVGInline::requiresLayer):
2013 (WebCore::RenderSVGInline::isSVGInline):
2015 * rendering/svg/RenderSVGInlineText.h:
2016 * rendering/svg/RenderSVGModelObject.h:
2017 (WebCore::RenderSVGModelObject::requiresLayer):
2018 (RenderSVGModelObject):
2019 * rendering/svg/RenderSVGPath.h:
2020 * rendering/svg/RenderSVGRect.h:
2021 * rendering/svg/RenderSVGResourceClipper.h:
2022 * rendering/svg/RenderSVGResourceContainer.h:
2023 (RenderSVGResourceContainer):
2024 (WebCore::RenderSVGResourceContainer::isSVGResourceContainer):
2025 (WebCore::RenderSVGResourceContainer::toRenderSVGResourceContainer):
2026 * rendering/svg/RenderSVGResourceFilter.h:
2027 * rendering/svg/RenderSVGResourceFilterPrimitive.h:
2028 * rendering/svg/RenderSVGResourceGradient.h:
2029 (RenderSVGResourceGradient):
2030 (WebCore::RenderSVGResourceGradient::resourceBoundingBox):
2031 * rendering/svg/RenderSVGResourceLinearGradient.h:
2032 * rendering/svg/RenderSVGResourceMarker.h:
2033 * rendering/svg/RenderSVGResourceMasker.h:
2034 * rendering/svg/RenderSVGResourcePattern.h:
2035 * rendering/svg/RenderSVGResourceRadialGradient.h:
2036 * rendering/svg/RenderSVGRoot.h:
2037 * rendering/svg/RenderSVGShape.h:
2038 (WebCore::RenderSVGShape::setNeedsBoundariesUpdate):
2039 (WebCore::RenderSVGShape::setNeedsTransformUpdate):
2040 (WebCore::RenderSVGShape::repaintRectInLocalCoordinates):
2041 (WebCore::RenderSVGShape::localToParentTransform):
2042 (WebCore::RenderSVGShape::localTransform):
2043 (WebCore::RenderSVGShape::isSVGShape):
2045 (WebCore::RenderSVGShape::objectBoundingBox):
2046 (WebCore::RenderSVGShape::strokeBoundingBox):
2047 * rendering/svg/RenderSVGTSpan.h:
2048 * rendering/svg/RenderSVGText.h:
2049 * rendering/svg/RenderSVGTextPath.h:
2050 * rendering/svg/RenderSVGTransformableContainer.h:
2051 * rendering/svg/RenderSVGViewportContainer.h:
2053 2013-05-17 Christophe Dumez <ch.dumez@sisa.samsung.com>
2055 Get rid of Custom code for Audio global constructor
2056 https://bugs.webkit.org/show_bug.cgi?id=116343
2058 Reviewed by Geoffrey Garen.
2060 Remove custom code for Audio global constructor. It is no longer needed
2061 now that the the bindings generator no longer require custom code for
2062 named constructors and now that [EnabledAtRuntime] extended attribute is
2063 supported for global constructors.
2065 HTMLAudioElement global constructors are now automatically generated.
2067 No new tests, no behavior change for layout tests.
2069 * bindings/js/JSDOMWindowCustom.cpp:
2070 * html/HTMLAudioElement.idl:
2071 * page/DOMWindow.idl:
2073 2013-05-17 Alexey Proskuryakov <ap@apple.com>
2075 <rdar://problem/13819878> Disable SharedWorker when in multiple web process model
2076 https://bugs.webkit.org/show_bug.cgi?id=116359
2078 Reviewed by Anders Carlsson.
2080 This feature was already RuntimeEnabled. Call through layers to get the answer from
2081 a platform strategy.
2083 * workers/DefaultSharedWorkerRepository.cpp:
2084 (WebCore::DefaultSharedWorkerRepository::isAvailable):
2085 * workers/DefaultSharedWorkerRepository.h:
2086 * workers/SharedWorkerRepository.cpp:
2087 (WebCore::SharedWorkerRepository::isAvailable):
2088 * workers/SharedWorkerStrategy.h:
2089 (WebCore::SharedWorkerStrategy::isAvailable):
2091 2013-05-17 Anders Carlsson <andersca@apple.com>
2093 Move Storage member functions out of line
2094 https://bugs.webkit.org/show_bug.cgi?id=116364
2096 Reviewed by Andreas Kling.
2098 This is preparation for sharing more code between the WebKit1 and WebKit2 storage area subclasses.
2099 Also remove unnecessary null checks and make m_storageArea const.
2101 * storage/Storage.cpp:
2102 (WebCore::Storage::length):
2103 (WebCore::Storage::key):
2104 (WebCore::Storage::getItem):
2105 (WebCore::Storage::setItem):
2106 (WebCore::Storage::removeItem):
2107 (WebCore::Storage::clear):
2108 (WebCore::Storage::contains):
2109 * storage/Storage.h:
2110 (WebCore::Storage::area):
2112 2013-05-17 Beth Dakin <bdakin@apple.com>
2114 Headers and footers will sometimes disappear and re-appear during page loads
2115 https://bugs.webkit.org/show_bug.cgi?id=116336
2117 <rdar://problem/13886753>
2119 Reviewed by Simon Fraser.
2121 This patch changes the WebCore-level API that WebKit uses to create a banner.
2122 Specifically this patch removes FrameView::setWantsLayerForHeader(), which created
2123 and returned a layer. Instead, WK2 will call Page::addHeaderWithHeight(). When the
2124 layer has been created, it will call back into WK2 via ChromeClient. This will
2125 allow WebCore to re-create the header/footer layers as needed whenever the
2126 FrameView/RenderLayerCompositor have been destroyed and recreated.
2128 Remove references to old FrameView functions. Add references to new Page
2132 New ChromeClient functions will pass the new layers up to WK2.
2133 * page/ChromeClient.h:
2134 (WebCore::ChromeClient::didAddHeaderLayer):
2135 (WebCore::ChromeClient::didAddFooterLayer):
2138 Remove setWantsLayerForHeader/Footer.
2139 * page/FrameView.cpp:
2143 Page now caches the header and footer height. When the FrameView/RLC have been
2144 destroyed, and the cached layer/height information on those classes has been lost,
2145 this data on Page will persist so that we can build the layers back up.
2147 (WebCore::Page::Page):
2148 (WebCore::Page::addHeaderWithHeight):
2149 (WebCore::Page::addFooterWithHeight):
2151 (WebCore::Page::headerHeight):
2152 (WebCore::Page::footerHeight):
2154 As soon as the root gets a backing, recreate the header and footer layers if
2156 * rendering/RenderLayerCompositor.cpp:
2157 (WebCore::RenderLayerCompositor::updateBacking):
2159 Call into ChromeClient.
2160 (WebCore::RenderLayerCompositor::updateLayerForHeader):
2161 (WebCore::RenderLayerCompositor::updateLayerForFooter):
2163 2013-05-18 Claudio Saavedra <csaavedra@igalia.com>
2165 [CSS] Minor cleanups in CSS variables handling
2166 https://bugs.webkit.org/show_bug.cgi?id=116318
2168 Reviewed by Ryosuke Niwa.
2170 No new tests, only a cleanup.
2172 * css/CSSParser.cpp:
2173 (WebCore::CSSParserString::substring): Optimize.
2174 (WebCore::CSSParser::createPrimitiveVariableNameValue):
2175 Remove intermediate variable.
2177 2013-05-17 Alexey Proskuryakov <ap@apple.com>
2179 [Mac] Add DOMWindowConstructors.idl to Xcode project file
2180 https://bugs.webkit.org/show_bug.cgi?id=116351
2182 Reviewed by Anders Carlsson.
2184 * WebCore.xcodeproj/project.pbxproj: Added the file, so that Xcode includes it
2187 2013-05-17 Ryosuke Niwa <rniwa@webkit.org>
2189 Remove the declaration of Element::detachAttrNodeAtIndex erroneously added in r150072.
2194 2013-05-17 Anders Carlsson <andersca@apple.com>
2196 WKKeyValueStorageManagerGetKeyValueStorageOrigins should get origins from the UI process
2197 https://bugs.webkit.org/show_bug.cgi?id=116346
2198 <rdar://problem/13852829>
2200 Reviewed by Andreas Kling.
2202 Export the UTF8Encoding symbol.
2206 2013-05-17 Andreas Kling <akling@apple.com>
2208 Apply FINAL to the RenderObject hierarchy.
2209 <http://webkit.org/b/115977>
2211 Mostly from Blink r148795 by <cevans@chromium.org>
2212 <http://src.chromium.org/viewvc/blink?view=revision&revision=148795>
2214 Re-landing without devirtualization tweaks.
2216 * rendering/: Beat things with the FINAL stick.
2217 * WebCore.exp.in: Export a now-needed symbol.
2219 2013-05-17 Alexey Proskuryakov <ap@apple.com>
2223 * loader/FrameLoader.cpp: (WebCore::FrameLoader::willTransitionToCommitted):
2224 Frame:editor() now returns a reference.
2226 2013-05-17 Christophe Dumez <ch.dumez@sisa.samsung.com>
2228 Get rid of [ConstructorParameters] extended attributes
2229 https://bugs.webkit.org/show_bug.cgi?id=116308
2231 Reviewed by Kentaro Hara.
2233 Get rid of WebKit-specific [ConstructorParameters] IDL extended attribute. Instead,
2234 [CustomConstructor] arguments are now explicitly specified, similarly to [Constructor]
2235 arguments and the constructor object's "length" property is now automatically
2236 computed for custom constructors as well.
2238 This is less error-prone as the value is not hardcoded, more consistent with
2239 [Constructor] extended attribute and gives more information about the custom constructor
2240 in the IDL file. We also get rid of a WebKit-specific IDL attribute which is always
2243 No new tests, already covered by fast/js/constructor-length.html.
2245 * Modules/mediastream/MediaStream.idl:
2246 * Modules/webaudio/AudioContext.idl:
2247 * Modules/websockets/WebSocket.idl:
2248 * bindings/scripts/CodeGeneratorJS.pm:
2249 (GenerateConstructorHelperMethods):
2250 * bindings/scripts/IDLAttributes.txt:
2251 * bindings/scripts/IDLParser.pm:
2253 (parseAttributeRest):
2254 (copyExtendedAttributes):
2255 (parseExtendedAttributeRest):
2256 (applyExtendedAttributeList):
2257 * bindings/scripts/test/JS/JSFloat64Array.cpp:
2258 (WebCore::JSFloat64ArrayConstructor::finishCreation):
2259 * bindings/scripts/test/TestTypedArray.idl:
2260 * dom/MutationObserver.idl:
2262 * html/DOMFormData.idl:
2263 * html/canvas/ArrayBuffer.idl:
2264 * html/canvas/DataView.idl:
2265 * page/WebKitPoint.idl:
2266 * workers/SharedWorker.idl:
2267 * workers/Worker.idl:
2269 2013-05-17 Alexey Proskuryakov <ap@apple.com>
2271 Text input is largely broken when there are subframes loading
2272 http://bugs.webkit.org/show_bug.cgi?id=59121
2273 <rdar://problem/9320468>
2275 Reviewed by Darin Adler.
2277 This addresses text input being abandoned when another frame in a page is navigated.
2279 There are still many opportunities for improvement:
2280 - Track other cases where WebCore interferes may want to cancel input without
2281 direct user action (e.g. deleting the whole editable element on a timer).
2282 - Fix how dictionary panel and autocorrection are dismissed (they still have the
2283 same issue, and get dismissed with any frame navigation).
2285 Test: platform/mac/editing/input/unconfirmed-text-navigation-with-page-cache.html
2287 * loader/FrameLoader.h:
2288 * loader/FrameLoader.cpp:
2289 (WebCore::FrameLoader::willTransitionToCommitted): Make sure that we
2290 do not keep an inline session in a frame that's no longer active, as WebKit2 no
2291 longer takes care of this case (and more of the logic should be in WebCore anyway).
2292 (WebCore::FrameLoader::commitProvisionalLoad): Added a hook that gets invoked right
2293 before transitioning to committed state starts. We may want to move more code here
2294 eventually, e.g. from Frame::setView.
2296 2013-05-17 Christophe Dumez <ch.dumez@sisa.samsung.com>
2298 Get rid of [CustomGetter] for global named constructors
2299 https://bugs.webkit.org/show_bug.cgi?id=116116
2301 Reviewed by Geoffrey Garen.
2303 Improve the JSC bindings generator so that global named constructors no longer
2304 require a [CustomGetter] IDL extended attribute. As a consequence, attributes
2305 on the global window object can now be automatically generated for interfaces
2306 that have a [NamedConstructor], namely HTMLOptionElement.
2308 The HTMLAudioElement global constructors are still manually defined because it
2309 requires custom code at the moment to check if the media player is available.
2311 No new tests, no behavior change.
2313 * bindings/js/JSDOMWindowCustom.cpp:
2314 * bindings/scripts/CodeGeneratorJS.pm:
2315 * bindings/scripts/preprocess-idls.pl:
2316 * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
2317 * bindings/scripts/test/JS/JSTestNamedConstructor.h:
2318 * html/HTMLOptionElement.idl:
2319 * page/DOMWindow.idl:
2321 2013-05-17 Joseph Pecoraro <pecoraro@apple.com>
2323 Web Inspector: SyntaxError evaluating "1+1; //@ sourceURL=test" in console
2324 https://bugs.webkit.org/show_bug.cgi?id=116292
2326 Add a newline after the expression so a single line comment doesn't
2327 erroneously comment out the closing brace of the with block.
2329 Reviewed by Timothy Hatcher.
2331 Test: inspector/console/console-eval-comment.html
2333 * inspector/InjectedScriptSource.js:
2335 2013-05-17 David Hyatt <hyatt@apple.com>
2337 fast/flexbox/auto-height-with-flex.html failing only on release builds.
2338 https://bugs.webkit.org/show_bug.cgi?id=116240
2340 Reviewed by Darin Adler.
2342 Fix the mainAxisContentExtent method so no overflow occurs, since it
2343 doesn't work right on release builds.
2345 * rendering/RenderFlexibleBox.cpp:
2346 (WebCore::RenderFlexibleBox::mainAxisContentExtent):
2348 2013-05-17 Christophe Dumez <ch.dumez@sisa.samsung.com>
2350 Add [EnabledAtRuntime] extended attribute support for global constructors
2351 https://bugs.webkit.org/show_bug.cgi?id=116147
2353 Reviewed by Geoffrey Garen.
2355 Add [EnabledAtRuntime] extended attribute support for global constructors.
2356 This patch adds [EnabledAtRuntime] extended attribute to SharedWorker and
2357 WebSocket IDL interfaces so that their global constructors on the global
2358 Window object can now be automatically generated.
2360 The behavior on JavaScript side is unchanged. We simply leverage
2361 RuntimeEnabledFeatures class and the new [EnabledAtRuntime] IDL extended
2362 attribute to generate the code for global constructors getters instead
2363 of using custom code.
2365 No new tests, no behavior change for layout tests.
2367 * GNUmakefile.list.am:
2368 * Modules/websockets/WebSocket.cpp: Enable WebSockets at runtime by default.
2369 * Modules/websockets/WebSocket.idl:
2372 * WebCore.vcproj/WebCore.vcproj:
2373 * WebCore.vcxproj/WebCore.vcxproj:
2374 * WebCore.vcxproj/WebCore.vcxproj.filters:
2375 * WebCore.xcodeproj/project.pbxproj:
2376 * bindings/js/JSBindingsAllInOne.cpp:
2377 * bindings/js/JSDOMWindowCustom.cpp:
2379 * bindings/js/JSDOMWindowWebSocketCustom.cpp: Removed.
2380 * bindings/scripts/CodeGeneratorJS.pm:
2382 (GetRuntimeEnableFunctionName):
2383 (GenerateImplementation):
2384 * bindings/scripts/IDLAttributes.txt:
2385 * page/DOMWindow.idl:
2386 * workers/SharedWorker.idl:
2388 2013-05-17 Darin Adler <darin@apple.com>
2390 [EFL] Move EFL port off legacy clipboard
2391 https://bugs.webkit.org/show_bug.cgi?id=116181
2393 Reviewed by Anders Carlsson.
2395 * dom/Clipboard.h: Switched EFL away from "legacy" mode for Clipboard.
2397 * page/efl/EventHandlerEfl.cpp:
2398 (WebCore::EventHandler::createDraggingClipboard): Changed to call Clipboard member function.
2400 * platform/efl/ClipboardEfl.cpp: Deleted most of the functions.
2401 (WebCore::Editor::newGeneralClipboard): Changed to call Clipboard member function.
2402 (WebCore::Clipboard::createDragImage): Moved from ClipboardEfl to Clipboard.
2403 (WebCore::Clipboard::declareAndWriteDragImage): Moved from ClipboardEfl to Clipboard.
2404 (WebCore::Clipboard::items): Ditto.
2406 * platform/efl/PasteboardEfl.cpp: A lot of copyright notices for a file that
2407 has no code in it other than notImplemented lines! I didn't add a new one.
2408 (WebCore::Pasteboard::createForCopyAndPaste): Added.
2409 (WebCore::Pasteboard::createPrivate): Added.
2410 (WebCore::Pasteboard::createForDragAndDrop): Added.
2411 (WebCore::Pasteboard::hasData): Added.
2412 (WebCore::Pasteboard::readString): Added.
2413 (WebCore::Pasteboard::writeString): Added.
2414 (WebCore::Pasteboard::types): Added.
2415 (WebCore::Pasteboard::readFilenames): Added.
2416 (WebCore::Pasteboard::setDragImage): Added.
2417 (WebCore::Pasteboard::writePasteboard): Added.
2419 2013-05-17 Frédéric Wang <fred.wang@free.fr>
2421 Bad spacing inside MathML formulas when text-indent is specified
2422 https://bugs.webkit.org/show_bug.cgi?id=106600
2424 Reviewed by Martin Robinson.
2426 When MathML is used in a HTML page that modifies the CSS text-indent,
2427 large gaps appear inside the mathematical expressions. Resetting it to
2428 0 on the math root (as Gecko does) fixes the issue.
2430 Tests: mathml/presentation/text-indent.html
2431 mathml/presentation/text-indent-expected.html
2434 (math): reset text-indent to its default value.
2436 2013-05-17 Alberto Garcia <agarcia@igalia.com>
2438 Fix code that expects Page::chrome() to return a pointer
2439 https://bugs.webkit.org/show_bug.cgi?id=116313
2441 Reviewed by Darin Adler.
2443 Page::chrome() returns a reference after r150214.
2445 * platform/network/blackberry/NetworkManager.cpp:
2446 (WebCore::NetworkManager::startJob):
2447 * platform/network/blackberry/SocketStreamHandleBlackBerry.cpp:
2448 (WebCore::SocketStreamHandle::SocketStreamHandle):
2449 * testing/Internals.cpp:
2450 (WebCore::Internals::resetToConsistentState):
2451 (WebCore::Internals::setEnableMockPagePopup):
2453 2013-05-17 Alberto Garcia <agarcia@igalia.com>
2455 [BlackBerry] ImageBlackBerry: add missing BlendMode parameter
2456 https://bugs.webkit.org/show_bug.cgi?id=116316
2458 Reviewed by Carlos Garcia Campos.
2460 When the new BitmapImage::draw() method was added in r147110 it
2461 didn't include the BlendMode parameter, which has been there since
2464 * platform/graphics/blackberry/ImageBlackBerry.cpp:
2465 (WebCore::BitmapImage::draw):
2467 2013-05-16 Jer Noble <jer.noble@apple.com>
2469 Some media/track tests fail or assert on Mac
2470 https://bugs.webkit.org/show_bug.cgi?id=97132
2472 Reviewed by Simon Fraser.
2474 Rationalize the font and padding behavior of cues and cue boxes; ::cue pseudo elements cannot have padding
2475 values applied via CSS (due to padding not being included in the whitelist of applicable CSS properties).
2476 Also, the font values were being applied to the box at one level and the cue at another, leading to incorrect
2477 layout in the snapToLines case. Padding has been removed from the cue, and the font settings are now applied
2478 to the box exclusively.
2480 Additionally, a few drive-by changes were made in TextTrackCue to the return values of displayTreeInternal() &
2481 element(), which previously returned a PassRefPtr<> instead of a plain pointer.
2483 * css/mediaControls.css:
2484 (video::-webkit-media-text-track-container): Move the font size to the display selector.
2485 (video::cue): Remove the display:inline and padding:2px declarations.
2486 (video::-webkit-media-text-track-display): Remove the -webkit-line-content now that the ::cue has no padding.
2487 * html/track/TextTrackCue.cpp:
2488 (WebCore::TextTrackCue::TextTrackCue): The background box is now a span, rather than a forced-inline div.
2489 (WebCore::TextTrackCue::displayTreeInternal): Return a plain pointer.
2490 (WebCore::TextTrackCue::getDisplayTree): Ditto.
2491 (WebCore::TextTrackCue::setFontSize): Set the font on the box, not the cue.
2492 * html/track/TextTrackCue.h:
2493 (WebCore::TextTrackCue::element): Return a plain pointer.
2494 * html/track/TextTrackCueGeneric.cpp:
2495 (WebCore::TextTrackCueGenericBoxElement::applyCSSProperties): The cue element is now a span, not a div.
2496 * page/CaptionUserPreferencesMac.mm:
2497 (WebCore::CaptionUserPreferencesMac::captionsWindowCSS): Whitespace.
2498 (WebCore::CaptionUserPreferencesMac::captionsBackgroundCSS): Do not set padding on the cue.
2500 2013-05-16 Andreas Kling <akling@apple.com>
2502 Changes in text-only properties shouldn't cause repaints unless there is actually text.
2503 <http://webkit.org/b/116250>
2505 Reviewed by Antti Koivisto.
2507 Add a new StyleDifferenceRepaintIfText value to the repertoire of RenderStyle::diff().
2508 This result means that the renderer only needs to repaint if one of its immediate children contains text.
2510 This lets us avoid repainting the same pixels when hovering over constructs like:
2513 a { text-decoration: none; }
2514 a:hover { text-decoration: underline; }
2516 <a href="http://is.gd/andersca">
2517 <img src="cool-hat.jpg">
2520 Since the change in text-decoration has no effect on the rendering of the <img> element,
2521 we'll now be smart enough to avoid repainting it.
2523 * rendering/style/RenderStyleConstants.h:
2524 * rendering/style/RenderStyle.cpp:
2525 (WebCore::RenderStyle::diff):
2527 Move checking of text-only properties until the very end, and return StyleDifferenceRepaintIfText
2528 in case a difference is found, giving precedence to StyleDifferenceRepaint.
2530 * rendering/RenderObject.h:
2531 * rendering/RenderObject.cpp:
2532 (WebCore::RenderObject::hasImmediateNonWhitespaceTextChild):
2534 Helper to check if a RenderObject has at least one RenderText child containing more than just
2535 collapsible whitespace.
2537 (WebCore::RenderObject::shouldRepaintForStyleDifference):
2539 Helper to check if a StyleDifference is either ...Repaint or ...RepaintIfText and the renderer
2540 has an immediate text child.
2542 (WebCore::RenderObject::styleWillChange):
2543 (WebCore::RenderObject::setStyle):
2545 Don't repaint for StyleDifferenceRepaintIfText unless hasImmediateNonWhitespaceTextChild().
2547 * rendering/RenderBox.cpp:
2548 (WebCore::RenderBox::styleDidChange):
2549 * rendering/svg/SVGResourcesCache.cpp:
2550 (WebCore::SVGResourcesCache::clientStyleChanged):
2552 Tweak for new StyleDifference enum value.
2554 * rendering/RenderText.h:
2555 * rendering/RenderText.cpp:
2556 (WebCore::RenderText::isAllCollapsibleWhitespace):
2560 2013-05-17 Lamarque V. Souza <Lamarque.Souza@basyskom.com>
2562 Improve -webkit-text-underline-position memory usage.
2563 https://bugs.webkit.org/show_bug.cgi?id=116108
2565 Reviewed by Benjamin Poulain.
2567 Remove m_maxLogicalTop private variable from RootInlineBox to reduce
2568 the overall memory used to render RootInlineBoxes (eight bytes per RootInlineBox
2569 instance in a 64-bit machine). RootInline::maxLogicalTop() now computes
2570 the maxLogicalTop value everytime it is called. In a typical page
2571 computeMaxLogicalTop is called less than 10 times for each
2572 InlineTextBox that uses -webkit-text-underline-position. That is a small
2573 price users of -webkit-text-underline-position will pay so that
2574 everybody can benefit from the memory reduction in RootInlineBox.
2576 No new tests, no change in behavior.
2578 * rendering/InlineFlowBox.cpp:
2579 (WebCore::InlineFlowBox::computeMaxLogicalTop): Make it const.
2580 * rendering/InlineFlowBox.h:
2581 * rendering/RootInlineBox.cpp:
2582 (WebCore::RootInlineBox::RootInlineBox): Remove m_maxLogicalTop.
2583 (WebCore::RootInlineBox::alignBoxesInBlockDirection): Remove
2584 computeMaxLogicalTop call and obsolete comment.
2586 (WebCore::RootInlineBox::maxLogicalTop): Compute maxLogicalTop before
2587 returning its value.
2588 * rendering/RootInlineBox.h:
2591 2013-05-17 Alexis Menard <alexis@webkit.org>
2593 Make sure to call release() on our smart pointers when we should.
2594 https://bugs.webkit.org/show_bug.cgi?id=116307
2596 Reviewed by Andreas Kling.
2598 Call release() when we should call it. There is probably more occurence
2599 of this problem on the codebase but this is a first bunch of fixes.
2601 No new tests : existing ones should cover.
2603 * css/CSSComputedStyleDeclaration.cpp:
2604 (WebCore::valueForNinePieceImage):
2605 (WebCore::getBorderRadiusShorthandValue):
2606 (WebCore::CSSComputedStyleDeclaration::valueForFilter):
2607 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2608 (WebCore::CSSComputedStyleDeclaration::getCSSPropertyValuesForSidesShorthand):
2609 (WebCore::CSSComputedStyleDeclaration::getCSSPropertyValuesForGridShorthand):
2610 * css/CSSParser.cpp:
2611 (WebCore::CSSParser::parseBorderImage):
2612 * html/HTMLBodyElement.cpp:
2613 (WebCore::HTMLBodyElement::collectStyleForPresentationAttribute):
2615 2013-05-17 Allan Sandfeld Jensen <allan.jensen@digia.com>
2617 Make PNGImageDecoder::rowAvailable auto-vectorizable
2618 https://bugs.webkit.org/show_bug.cgi?id=116151
2620 Reviewed by Benjamin Poulain.
2622 Changed the main loops under PNGImageDecoder::rowAvailable so that they
2623 avoid branches and non-sequential table look ups.
2625 Together with automatic vectorization by the compiler this provides around
2626 4x speed-up with AVX or 2x speed-up on generic x64. Shaving off 12-40% on
2627 PNG decoding in general.
2629 * platform/graphics/Color.cpp:
2630 (WebCore::premultipliedARGBFromColor):
2631 * platform/graphics/Color.h:
2632 (WebCore::fastDivideBy255):
2633 * platform/graphics/filters/FEBlend.cpp:
2634 * platform/image-decoders/png/PNGImageDecoder.cpp:
2635 (WebCore::setPixelRGB):
2636 (WebCore::setPixelRGBA):
2637 (WebCore::setPixelRGBA_Premultiplied):
2638 (WebCore::PNGImageDecoder::rowAvailable):
2640 2013-05-17 Joseph Pecoraro <pecoraro@apple.com>
2642 Web Inspector: Allow "//# sourceMappingURL" syntax alongside "//@"
2643 https://bugs.webkit.org/show_bug.cgi?id=116290
2645 Follow an update to the spec and support the new and old syntax.
2647 Reviewed by Timothy Hatcher.
2649 * inspector/ContentSearchUtils.cpp:
2650 (WebCore::ContentSearchUtils::scriptCommentPattern):
2651 (WebCore::ContentSearchUtils::stylesheetCommentPattern):
2652 * inspector/front-end/SASSSourceMapping.js:
2653 (WebInspector.SASSSourceMapping.prototype._loadAndProcessSourceMap):
2655 2013-05-17 Christophe Dumez <ch.dumez@sisa.samsung.com>
2657 Remove custom code for MessageEvent.ports getter
2658 https://bugs.webkit.org/show_bug.cgi?id=116304
2660 Reviewed by Kentaro Hara.
2662 Remove Custom code for the "ports" attribute getter in MessageEvent
2663 IDL interface. The JSC bindings generator already supports attributes
2664 of type MessagePortArray.
2666 No new tests, already covered by existing layout tests and bindings
2669 * bindings/js/JSMessageEventCustom.cpp: Remove Custom code for ports getter.
2670 * bindings/scripts/CodeGeneratorJS.pm:
2671 (NativeToJSValue): Small tweak to correctly handle the case where impl->ports()
2672 returns NULL and avoid crashing in this case.
2673 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: Rebaseline due
2674 to bindings generator tweak.
2675 * dom/MessageEvent.idl: Remove [CustomGetter] extended attribute for 'ports' attribute
2676 and switch to MessagePortArray type.
2678 2013-05-16 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
2680 Add stubs for ContextMenu and ContextMenuItem
2681 https://bugs.webkit.org/show_bug.cgi?id=116235
2683 Reviewed by Antonio Gomes.
2685 No new tests needed, only a refactor.
2687 Add ContextMenuNone.cpp and ContextMenuItemNone.cpp
2688 so ports using ENABLE(CROSS_PLATFORM_CONTEXT_MENU) don't
2689 need to replicate these stubs.
2691 * PlatformEfl.cmake:
2693 * platform/ContextMenuNone.cpp: Added.
2695 (WebCore::ContextMenu::ContextMenu):
2696 (WebCore::ContextMenu::getContextMenuItems):
2697 (WebCore::ContextMenu::createPlatformContextMenuFromItems):
2698 (WebCore::ContextMenu::platformContextMenu):
2699 * platform/ContextMenuItemNone.cpp: Added.
2701 (WebCore::ContextMenuItem::platformContextMenuItem):
2702 * platform/efl/ContextMenuEfl.cpp: Removed.
2703 * platform/efl/ContextMenuItemEfl.cpp: Removed.
2704 * platform/qt/ContextMenuQt.cpp: Removed.
2705 * platform/qt/ContextMenuItemQt.cpp: Removed.
2707 2013-05-16 Alexis Menard <alexis@webkit.org>
2709 Regression: Event#stopPropagation() does not halt bubbling for webkitTransitionEnd
2710 https://bugs.webkit.org/show_bug.cgi?id=115656
2712 Reviewed by Darin Adler.
2714 If we create a prefixed event to dispatch it (in the case we have only
2715 prefixed event listeners in client's code) then we need to make sure to
2716 keep it in sync with the original unprefixed event after it has been
2717 dispatched. While being dispatched the event can be modified by
2718 client's code and when propagated back to outer elements, attributes were
2719 not updated. This patch changes the old design of creating a separate event
2720 for the prefixed case and now change the type of the event (so the name) before
2721 dispatching it, keeping the attributes if changed and then rename it
2722 back to unprefixed when the dispatching is finished.
2724 Tests: transitions/transition-end-event-prefixed-01.html
2725 transitions/transition-end-event-prefixed-02.html
2726 transitions/transition-end-event-prefixed-03.html
2729 (WebCore::Event::setType):
2730 * dom/EventTarget.cpp:
2731 (WebCore::EventTarget::fireEventListeners):
2733 2013-05-16 Mike Fenton <mifenton@rim.com>
2735 [BlackBerry] Strip invoke URLs when writing to the clipboard.
2736 https://bugs.webkit.org/show_bug.cgi?id=116226
2738 Reviewed by Rob Buis.
2742 Invoke URLs should not be included in the paste data.
2744 Internally Reviewed by Gen Mak.
2746 * platform/blackberry/PasteboardBlackBerry.cpp:
2747 (WebCore::Pasteboard::writeSelection):
2749 2013-05-16 Eduardo Lima Mitev <elima@igalia.com>
2751 Missing UNUSED_PARAM macro for textPosition argument in WebKitAccessibleInterfaceText
2752 https://bugs.webkit.org/show_bug.cgi?id=116230
2754 Reviewed by Chris Fleizach.
2756 No new functionality, no new tests.
2758 * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
2759 (webkitAccessibleTextGetTextForOffset): List textPosition argument as
2760 unused parameter for all platforms except GTK.
2762 2013-05-16 Jaehun Lim <ljaehun.lim@samsung.com>
2764 Frame flattening prevents <HTML> in <OBJECT> from having scrollbars
2765 https://bugs.webkit.org/show_bug.cgi?id=115884
2767 Reviewed by Antonio Gomes.
2769 Frame flattening should be applied when the frame owner is frame or iframe. But when
2770 the frame owner is object element, frame flattening prevents it from having scrollbars.
2771 In this situation, we can't scroll the html document in object element.
2773 This patch adds two helper functions to verify flattening conditions.
2775 Test: fast/frames/flattening/scrolling-in-object.html
2777 * page/FrameView.cpp:
2778 (WebCore::frameFlatteningEnabled): Added. Helper to check whether flattening is enabled or not.
2779 (WebCore::supportsFrameFlattening): Added. Helper to check whether the frame owner is <frame> or <iframe>.
2780 (WebCore::FrameView::avoidScrollbarCreation):
2781 (WebCore::FrameView::calculateScrollbarModesForLayout): Use frameFlatteningEnabled().
2782 (WebCore::FrameView::layout): Use frameFlatteningEnabled().
2783 (WebCore::FrameView::isInChildFrameWithFrameFlattening): Use frameFlatteningEnabled().
2785 2013-05-16 Patrick Gansterer <paroga@webkit.org>
2787 Port functions for pathhandling to Windows CE in FileSystemWin
2788 https://bugs.webkit.org/show_bug.cgi?id=116208
2790 Reviewed by Darin Adler.
2792 This will allow us to remove FileSystemWinCE in a next step.
2794 * platform/win/FileSystemWin.cpp:
2795 (WebCore::pathByAppendingComponent):
2796 (WebCore::pathGetFileName):
2798 2013-05-16 Tim Horton <timothy_horton@apple.com>
2800 PDFPlugins don't load when plugins are disabled, but they should
2801 https://bugs.webkit.org/show_bug.cgi?id=75790
2802 <rdar://problem/11650197>
2804 Reviewed by Anders Carlsson.
2806 Make it possible to load "application" plug-ins even if settings or the FrameLoaderClient
2807 say that plug-ins should be disabled, providing a mechanism for WebKit* to offer built-in
2808 functionality which happens to use the plug-in infrastructure, and which also doesn't
2809 unexpectedly disappear for users with plug-ins off.
2812 Export SubframeLoader::allowPlugins().
2813 Update signature for PluginData::supportsMimeType to include the AllowedPluginTypes argument.
2815 * dom/DOMImplementation.cpp:
2816 (WebCore::DOMImplementation::createDocument):
2817 Load PluginData even if plug-ins are disabled, but if that is the case, only
2818 create a PluginDocument for application plug-ins.
2820 * html/PluginDocument.cpp:
2821 (WebCore::PluginDocumentParser::appendBytes):
2822 Don't bail if plug-ins are disabled, because we could still be a PluginDocument
2823 for an application plug-in.
2826 (WebCore::Page::pluginData):
2827 Allow PluginData to be constructed even if plug-ins are disabled, as there might
2828 be application plug-ins that we want to load anyway.
2830 * platform/mac/MIMETypeRegistryMac.mm:
2831 (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
2832 On Mac, if we have PDFPlugin, we can support PDF and PostScript with a native application plug-in.
2834 * plugins/PluginData.cpp:
2835 (WebCore::PluginData::supportsMimeType):
2836 Add an AllowedPluginTypes argument to supportsMimeType, allowing callers to specify
2837 whether they are looking for any plug-in, or are looking only for application plug-ins.
2839 * plugins/PluginData.h:
2840 (PluginInfo): Added an isApplicationPlugin field, to specify whether this is a "built-in" plug-in.
2841 (PluginData): Add the aforementioned AllowedPluginTypes enum and the argument to supportsMimeType.
2843 2013-05-16 Carlos Garcia Campos <cgarcia@igalia.com>
2845 [BlackBerry] Crash due to an assert running test editing/execCommand/indent-paragraphs.html
2846 https://bugs.webkit.org/show_bug.cgi?id=114944
2848 Reviewed by Rob Buis.
2850 It crashes in network platform code when trying to save an
2851 invalid URL in the disk cache. That test contains references to
2852 empty URLs like http://. Those empty URLs, are parsed as http:/ by
2853 KURL and considered valid. BlackBerry network platform uses GURL
2854 which considers those URLs invalid. We needed to check that the
2855 URLs are valid for our platform before starting the network
2858 Fixes a crash running test
2859 editing/execCommand/indent-paragraphs.html.
2861 * platform/network/blackberry/NetworkManager.cpp:
2862 (WebCore::NetworkManager::startJob): Check if the request URL is
2863 valid from the platform point of view right after creating the
2864 platform network request and return early if the URL is invalid
2865 with StatusErrorInvalidUrl error.
2867 2013-05-16 Patrick Gansterer <paroga@webkit.org>
2869 Remove unused function safeCreateFile() from WebCore
2870 https://bugs.webkit.org/show_bug.cgi?id=116211
2872 Reviewed by Anders Carlsson.
2874 * platform/FileSystem.h:
2875 * platform/win/FileSystemWin.cpp:
2877 2013-05-16 Peter Gal <galpeter@inf.u-szeged.hu>
2879 [curl] MIME type should be in lowercase
2880 https://bugs.webkit.org/show_bug.cgi?id=116218
2882 Reviewed by Benjamin Poulain.
2884 Existing testcase: http/tests/mime/uppercase-mime-type.html
2886 * platform/network/curl/ResourceHandleManager.cpp:
2887 (WebCore::headerCallback): Convert the MIME type to lowercase.
2889 2013-05-16 Seokju Kwon <seokju.kwon@gmail.com>
2891 Web Inspector: Fix optional value of promptText in Inspector.json
2892 https://bugs.webkit.org/show_bug.cgi?id=116203
2894 Reviewed by Joseph Pecoraro.
2896 Merge from https://chromiumcodereview.appspot.com/14672031.
2898 No new tests needed.
2900 * inspector/Inspector.json:
2902 2013-05-16 Mary Wu <mary.wu@torchmobile.com.cn>
2904 [BlackBerry] Unable to download blob resource
2905 https://bugs.webkit.org/show_bug.cgi?id=115888
2907 Reviewed by Benjamin Poulain.
2909 Add BlobStream to handle over blob data from BlobResourceHandle to download stream.
2910 RIM bug 331086, internally reviewed by Charles Wei and Leo Yang.
2912 * PlatformBlackBerry.cmake:
2913 * platform/network/blackberry/BlobStream.cpp: Added.
2915 (WebCore::BlobStream::BlobStream):
2916 (WebCore::BlobStream::~BlobStream):
2917 (WebCore::BlobStream::didReceiveData):
2918 (WebCore::BlobStream::didFinishLoading):
2919 (WebCore::BlobStream::didFail):
2920 (WebCore::BlobStream::url):
2921 (WebCore::BlobStream::mimeType):
2922 * platform/network/blackberry/BlobStream.h: Added.
2926 2013-05-16 Anders Carlsson <andersca@apple.com>
2928 Remove SystemTime header and implementations
2929 https://bugs.webkit.org/show_bug.cgi?id=116200
2931 Reviewed by Alexey Proskuryakov.
2933 SystemTim just had a single function that's not called anymore. Remove it.
2935 * GNUmakefile.list.am:
2936 * PlatformBlackBerry.cmake:
2937 * PlatformEfl.cmake:
2938 * PlatformWinCE.cmake:
2940 * WebCore.vcproj/WebCore.vcproj:
2941 * WebCore.vcxproj/WebCore.vcxproj:
2942 * WebCore.vcxproj/WebCore.vcxproj.filters:
2943 * WebCore.xcodeproj/project.pbxproj:
2944 * history/PageCache.cpp:
2945 * platform/SystemTime.h: Removed.
2946 * platform/blackberry/SystemTimeBlackBerry.cpp: Removed.
2947 * platform/efl/SystemTimeEfl.cpp: Removed.
2948 * platform/graphics/ca/GraphicsLayerCA.cpp:
2949 * platform/mac/SystemTimeMac.cpp: Removed.
2950 * platform/qt/TemporaryLinkStubsQt.cpp:
2951 * platform/win/SystemTimeWin.cpp: Removed.
2953 2013-05-16 Glenn Adams <glenn@skynav.com>
2955 [Inspector] Don't filter syntax error caused by asterisk in CSS Property name.
2956 https://bugs.webkit.org/show_bug.cgi?id=116196
2958 Reviewed by Benjamin Poulain.
2960 * inspector/InspectorConsoleAgent.cpp:
2961 (WebCore::InspectorConsoleAgent::addMessageToConsole):
2962 - Remove questionable IE7 related error filtering
2964 2013-05-16 Andreas Kling <akling@apple.com>
2966 Page::chrome() should return a reference.
2967 <http://webkit.org/b/116185>
2969 Reviewed by Anders Carlsson.
2971 A Page's chrome() can never be null. Change Page::chrome() to return a reference to reflect this.
2972 Also, make Page::m_chrome a const member variable so nobody will accidentally set it to null.
2974 2013-05-16 Simon Fraser <simon.fraser@apple.com>
2976 Content disappears when scrolling http://www.childrenscancer.org/zach/
2977 https://bugs.webkit.org/show_bug.cgi?id=116206
2979 Reviewed by Darin Adler.
2981 When a RenderLayerBacking gains or loses a foregroundLayer or backgroundLayer,
2982 we need to repaint the primary layer, since what paints into that primary
2985 On the page in question, we gained/lost a foreground layer when scrolling because
2986 the page popped an element into position:fixed.
2988 Test: compositing/repaint/foreground-layer-change.html
2990 * rendering/RenderLayerBacking.cpp:
2991 (WebCore::RenderLayerBacking::updateForegroundLayer):
2992 (WebCore::RenderLayerBacking::updateBackgroundLayer):
2994 2013-05-16 Andy Estes <aestes@apple.com>
2996 Do not indefinitely cache resources from blob URLs.
2998 Reviewed by Alexey Proskuryakov.
3000 Alexey pointed out after I landed r150169 that blob URLs backed by
3001 files should return an error if the file changed after the URL was
3002 created. By indefinitely caching them in memory, we don't give the
3003 loader a chance to check for modification. Remove "blob" from the list
3004 of schemes that should be indefinitely cached.
3006 * platform/SchemeRegistry.cpp:
3007 (WebCore::SchemeRegistry::shouldCacheResponsesFromURLSchemeIndefinitely):
3009 2013-05-16 Claudio Saavedra <csaavedra@igalia.com>
3011 [CSS] CSS Variables are case-sensitive
3012 https://bugs.webkit.org/show_bug.cgi?id=116239
3014 Reviewed by Ryosuke Niwa.
3016 The CSS Variables specification states that variables are
3017 case-sensitive, unlike other CSS properties.
3019 Test: fast/css/variables/case-sensitive.html
3021 * css/CSSParser.cpp:
3022 (WebCore::CSSParserString::substring): Replace
3023 the now unnecessary lowerSubstring() with this method.
3024 Also, since the method is only used by the CSS variables
3025 implementation, #ifdef it.
3026 (WebCore::CSSParser::createPrimitiveVariableNameValue):
3027 (WebCore::CSSParser::storeVariableDeclaration):
3028 Do not normalize variable declarations to lowercase.
3029 * css/CSSParserValues.h:
3030 (CSSParserString): Replace the lowerSubstring() declaration
3031 and wrap with #if/#endif.
3033 2013-05-16 Brady Eidson <beidson@apple.com>
3035 svg/as-image/img-zoom-svg-stylesheet.html crashes with NetworkProcess enabled.
3036 <rdar://problem/13837408> and https://bugs.webkit.org/show_bug.cgi?id=115917
3038 Reviewed by Sam Weinig.
3040 Give WebKit2 the ability to not mis-cast.
3042 * loader/FrameLoaderClient.h:
3043 (WebCore::FrameLoaderClient::isEmptyFrameLoaderClient): Defaults to false, and include a FIXME
3044 to remove it once https://bugs.webkit.org/show_bug.cgi?id=116233 is resolved.
3046 * loader/EmptyClients.h: Make isEmptyFrameLoaderClient() return true, and add a FIXME to remove it.
3048 2013-05-14 Martin Robinson <mrobinson@igalia.com>
3050 [GTK] Add support for building WebCore to the cmake build
3051 https://bugs.webkit.org/show_bug.cgi?id=116128
3053 Reviewed by Gustavo Noronha Silva.
3055 * PlatformGTK.cmake: Added.
3056 * platform/gtk/GtkVersioning.c: Include "config.h" because we removed
3057 the autotoolsconfig.h include from the header.
3058 * platform/gtk/GtkVersioning.h: Remove autotoolsconfig.h include to support for
3059 non-autotools build systems.
3061 2013-05-15 Ryosuke Niwa <rniwa@webkit.org>
3063 DocumentOrderedMap doesn't need to have two HashMaps
3064 https://bugs.webkit.org/show_bug.cgi?id=116167
3066 Reviewed by Geoffrey Garen.
3068 Previously, we had two hash maps: m_map and m_duplicateCounts in DocumentOrderedMap to keep track
3069 of the first element and the number of duplicates for a given name. This patch simplifies this structure
3070 by having a single hash map that contains both the pointer and the number of duplicates.
3072 In addition, this patch fixes a regression introduced in r149652 that window and document name maps
3073 were not updated for some elements inside a SVG use element, and makes use of the newly added list of
3074 the matching elements in SelectorQuery.
3076 * dom/DocumentOrderedMap.cpp:
3077 (WebCore::DocumentOrderedMap::clear): Updated to use the new hash map.
3078 (WebCore::DocumentOrderedMap::add): Ditto.
3079 (WebCore::DocumentOrderedMap::remove): Ditto.
3080 (WebCore::DocumentOrderedMap::get): Ditto.
3081 (WebCore::DocumentOrderedMap::getAllElementsById): Added.
3083 * dom/DocumentOrderedMap.h:
3085 (WebCore::DocumentOrderedMap::MapEntry::MapEntry): Added.
3086 (WebCore::DocumentOrderedMap::containsSingle): Updated to use new hash map.
3087 (WebCore::DocumentOrderedMap::contains): Ditto.
3088 (WebCore::DocumentOrderedMap::containsMultiple): Ditto.
3091 (WebCore::Element::insertedInto): This function didn't add this element to window and document's name maps
3092 if the element had already been inserted into a tree scope, and the current call was inserting an ancestor
3093 of the tree scope into the document. We were exiting early per scope != treeScope().
3095 Fixed the bug by splitting updateId into two functions updateIdForTreeScope and updateIdForDocument.
3096 The former is called when this element is inserted into a new tree scope, and the latter is called when
3097 this element is inserted into a HTML document even if it had already been inside some tree scope.
3099 (WebCore::Element::removedFrom): This function didn't remove this element from tree scope's id maps if
3100 the tree scope wasn't a document. Fixed the bug by simply checking that the removal happens beneath the
3102 (WebCore::Element::updateName):
3103 (WebCore::Element::updateNameForTreeScope): Renamed from updateName.
3104 (WebCore::Element::updateNameForDocument): Extracted from updateName.
3105 (WebCore::Element::updateId):
3106 (WebCore::Element::updateIdForTreeScope): Renamed from updateId.
3107 (WebCore::Element::updateIdForDocument): Extracted from updateId.
3111 * dom/SelectorQuery.cpp:
3112 (WebCore::SelectorDataList::canUseIdLookup): Refactored to return the id subselector instead of checking if
3113 the first subselector happens to be matching an id.
3114 (WebCore::SelectorDataList::execute): Use the subselector canUseIdLookup returned. Also make use of newly
3115 added getAllElementsById when there are multiple matching elements for a given id.
3117 * dom/SelectorQuery.h:
3119 * dom/TreeScope.cpp:
3120 (WebCore::TreeScope::getAllElementsById): Added.
3124 2013-05-15 Darin Adler <darin@apple.com>
3126 [Mac] Make Clipboard::create functions for Mac platform independent by moving Pasteboard creation to Pasteboard functions
3127 https://bugs.webkit.org/show_bug.cgi?id=116179
3129 Reviewed by Andreas Kling.
3131 * dom/Clipboard.cpp:
3132 (WebCore::Clipboard::createForCopyAndPaste): Moved the function here from
3133 ClipboardMac, and have it use Pasteboard functions that are not Mac-specific.
3134 (WebCore::Clipboard::create): Ditto.
3135 (WebCore::Clipboard::createForDragAndDrop): Ditto.
3137 * platform/DragData.h:
3138 (WebCore::DragData::pasteboardName): Made this const.
3140 * platform/Pasteboard.h: Added new create functions, used by the clipboard
3141 create functions above.
3143 * platform/mac/ClipboardMac.mm: Removed the functions that were moved to the
3146 * platform/mac/PasteboardMac.mm:
3147 (WebCore::Pasteboard::createForCopyAndPaste): Added.
3148 (WebCore::Pasteboard::createPrivate): Added.
3149 (WebCore::Pasteboard::createForDragAndDrop): Added.
3151 2013-05-15 Anders Carlsson <andersca@apple.com>
3155 We want to invalidate the file icon loader if it exists, not create it!
3157 * html/FileInputType.cpp:
3158 (WebCore::FileInputType::requestIcon):
3160 2013-05-15 Darin Adler <darin@apple.com>
3162 Move drag-specific Clipboard functions inside ENABLE(DRAG_SUPPORT)
3163 https://bugs.webkit.org/show_bug.cgi?id=116176
3165 Reviewed by Andreas Kling.
3167 * dom/Clipboard.cpp:
3168 (WebCore::Clipboard::writeRange):
3169 (WebCore::Clipboard::writePlainText):
3170 (WebCore::Clipboard::writeURL):
3171 Move these three functions inside ENABLE(DRAG_SUPPORT). Even though their names do
3172 not make it obvious, these are here only for use by dragging code. Later we may
3173 refactor them away entirely, but for now it's good not to compile them in on any
3174 platform that does not support dragging.
3176 2013-05-15 Andy Estes <aestes@apple.com>
3178 Resources from non-HTTP schemes should not be cached indefinitely
3179 https://bugs.webkit.org/show_bug.cgi?id=113626
3181 Reviewed by Ryosuke Niwa.
3183 With the exception of schemes that we know will always return the same
3184 result for a given URL, we should not indefinitely cache non-HTTP
3185 resources when their freshness cannot be verified.
3187 Writing a test for this is blocked on https://webkit.org/b/116199.
3189 The following two existing tests of memory cache behavior were
3190 converted to HTTP tests so that they continue to function as expected:
3192 Tests: http/tests/cache/display-image-unset-allows-cached-image-load.html
3193 http/tests/cache/willsendrequest-returns-null-for-memory-cache-load.html
3195 * loader/cache/CachedResource.cpp:
3196 (WebCore::CachedResource::freshnessLifetime): Returned a freshness
3197 lifetime of 0 for non-HTTP schemes that can't be indefinitely cached.
3198 * platform/SchemeRegistry.cpp:
3199 (WebCore::SchemeRegistry::shouldCacheResponsesFromURLSchemeIndefinitely):
3200 Checked whether the scheme is blob:, data:, or applewebdata:.
3201 * platform/SchemeRegistry.h:
3203 2013-05-15 Tim Horton <timothy_horton@apple.com>
3205 makeRGBAFromNSColor throws an exception if given a color in a greyscale colorspace
3206 https://bugs.webkit.org/show_bug.cgi?id=116198
3207 <rdar://problem/13904395>
3209 Reviewed by Simon Fraser.
3211 Block Objective-C exceptions in makeRGBAFromNSColor.
3212 Remove a comment saying that they're impossible.
3214 Convert the incoming color to the DeviceRGB colorspace to match
3215 existing color sources. Some rare cases (attributed strings that come
3216 from PDFKit) can have DeviceGrayscale color spaces, which would
3217 previously throw an exception here.
3219 * platform/graphics/mac/ColorMac.mm:
3220 (WebCore::makeRGBAFromNSColor):
3222 2013-05-15 David Kilzer <ddkilzer@apple.com>
3224 BUILD FIX (r150140): Frame::editor() should return a reference for iOS, too
3226 * platform/ios/ClipboardIOS.mm:
3227 (WebCore::ClipboardIOS::ClipboardIOS):
3228 (WebCore::ClipboardIOS::hasData):
3229 (WebCore::ClipboardIOS::clearData):
3230 (WebCore::ClipboardIOS::clearAllData):
3231 (WebCore::ClipboardIOS::getData):
3232 (WebCore::ClipboardIOS::setData):
3233 (WebCore::ClipboardIOS::types):
3234 (WebCore::ClipboardIOS::writeRange):
3235 * platform/ios/PasteboardIOS.mm:
3236 (WebCore::Pasteboard::getStringSelection):
3237 (WebCore::Pasteboard::writeSelection):
3238 (WebCore::Pasteboard::writePlainText):
3239 (WebCore::Pasteboard::writeImage):
3240 (WebCore::Pasteboard::plainText):
3241 (WebCore::documentFragmentWithRTF):
3242 (WebCore::Pasteboard::documentFragmentForPasteboardItemAtIndex):
3243 (WebCore::Pasteboard::documentFragment):
3245 2013-05-15 Anders Carlsson <andersca@apple.com>
3247 Stop using the factory pattern in FileIconLoaderClient
3248 https://bugs.webkit.org/show_bug.cgi?id=116197
3250 Reviewed by Andreas Kling.
3252 Move the FileIconLoader member out of FileIconLoaderClient and into FileInputType and remove the factory gunk.
3254 * html/FileInputType.cpp:
3255 (WebCore::FileInputType::~FileInputType):
3256 (WebCore::FileInputType::requestIcon):
3257 * html/FileInputType.h:
3259 * platform/FileIconLoader.cpp:
3260 (WebCore::FileIconLoader::invalidate):
3261 * platform/FileIconLoader.h:
3262 (WebCore::FileIconLoaderClient::~FileIconLoaderClient):
3265 2013-05-15 Anders Carlsson <andersca@apple.com>
3267 Fix FileChooserClient design
3268 https://bugs.webkit.org/show_bug.cgi?id=116195
3270 Reviewed by Andreas Kling.
3272 FileChooserClient doesn't match the standard WebCore client idiom of only having virtual member functions.
3273 Instead it holds on to its FileChooser and it's even a factory for creating new file choosers(!).
3275 Fix this by making it an abstract class, and moving FileChooser into FileInputType.
3277 * html/FileInputType.cpp:
3278 (WebCore::FileInputType::~FileInputType):
3279 Invalidate the file chooser.
3281 (WebCore::FileInputType::handleDOMActivateEvent):
3282 Apply the file chooser settings.
3284 (WebCore::FileInputType::applyFileChooserSettings):
3285 Recreate the file chooser with new settings.
3287 (WebCore::FileInputType::receiveDropForDirectoryUpload):
3290 * platform/FileChooser.cpp:
3291 (WebCore::FileChooser::invalidate):
3292 Set m_client to null.
3294 (WebCore::FileChooser::chooseFiles):
3297 * platform/FileChooser.h:
3299 2013-05-15 Gavin Barraclough <barraclough@apple.com>
3301 ScriptedAnimationController::setThrottled should extend MinimumAnimationInterval
3302 https://bugs.webkit.org/show_bug.cgi?id=116193
3304 Reviewed by Darin Adler
3306 * dom/ScriptedAnimationController.cpp:
3307 (WebCore::ScriptedAnimationController::ScriptedAnimationController):
3308 (WebCore::ScriptedAnimationController::setThrottled):
3309 (WebCore::ScriptedAnimationController::scheduleAnimation):
3310 * dom/ScriptedAnimationController.h:
3311 (ScriptedAnimationController):
3312 - Fixes for review comments.
3314 2013-05-15 Anders Carlsson <andersca@apple.com>
3316 Move HTTPRequest class to WebKit2
3317 https://bugs.webkit.org/show_bug.cgi?id=116192
3319 Reviewed by Darin Adler.
3321 HTTPRequest is only used by the "remote inspector" feature in WebKit2,
3322 so there's no need to have it in WebCore.
3325 * GNUmakefile.list.am:
3327 * WebCore.vcproj/WebCore.vcproj:
3328 * WebCore.vcxproj/WebCore.vcxproj:
3329 * WebCore.vcxproj/WebCore.vcxproj.filters:
3330 * WebCore.xcodeproj/project.pbxproj:
3332 2013-05-15 Oliver Hunt <oliver@apple.com>
3334 RefCountedArray needs to use vector initialisers for its backing store
3335 https://bugs.webkit.org/show_bug.cgi?id=116194
3337 Reviewed by Gavin Barraclough.
3339 Update to use new functions for operating on the exception stack.
3341 * bindings/js/ScriptCallStackFactory.cpp:
3342 (WebCore::createScriptCallStackFromException):
3344 2013-05-15 Gavin Barraclough <barraclough@apple.com>
3346 ScriptedAnimationController::setThrottled should extend MinimumAnimationInterval
3347 https://bugs.webkit.org/show_bug.cgi?id=116193
3349 Reviewed by Simon Fraser.
3351 * dom/ScriptedAnimationController.cpp:
3352 (WebCore::ScriptedAnimationController::ScriptedAnimationController):
3353 - initialize m_throttled
3354 (WebCore::ScriptedAnimationController::setThrottled):
3355 - sets m_throttled, reschedule when this changes.
3356 (WebCore::ScriptedAnimationController::scheduleAnimation):
3357 - if throtled don't use a display link, and extend the timeout.
3358 * dom/ScriptedAnimationController.h:
3359 (ScriptedAnimationController):
3362 2013-05-08 Gavin Barraclough <barraclough@apple.com>
3364 Process suppression should throttle scripted animations
3365 https://bugs.webkit.org/show_bug.cgi?id=115812
3367 Reviewed by Simon Fraser.
3369 <rdar://problem/13799726>
3372 - Expose Page::setThrottled
3374 (WebCore::Document::scriptedAnimationControllerSetThrottled):
3378 - Forwards to ScriptedAnimationController::setThrottled
3379 * dom/ScriptedAnimationController.cpp:
3380 (WebCore::ScriptedAnimationController::setThrottled):
3382 * dom/ScriptedAnimationController.h:
3383 - Force use of a timer.
3384 (ScriptedAnimationController):
3386 (WebCore::Page::setThrottled):
3390 - When under throttling force the ScriptedAnimationController to use a timer.
3392 2013-05-15 Igor Oliveira <igor.o@sisa.samsung.com>
3394 Implement run-in remove child cases.
3395 https://bugs.webkit.org/show_bug.cgi?id=86520
3397 Move runin to original position when sibling element is destroyed.
3399 Reviewed by David Hyatt.
3401 Tests: fast/runin/runin-remove-child-simple.html
3402 fast/runin/runin-sibling-inline.html
3404 * rendering/RenderBlock.cpp:
3405 (WebCore::RenderBlock::willBeDestroyed):
3406 (WebCore::RenderBlock::moveRunInUnderSiblingBlockIfNeeded):
3407 If moveRunInUnderSiblingBlockIfNeeded is called when the sibling run-in block
3408 is being destroyed, it means that the run-in is moving to original position and
3409 we do not need to do nothing.
3411 2013-05-15 Anders Carlsson <andersca@apple.com>
3413 Remove WebSocketHandshakeResponse class
3414 https://bugs.webkit.org/show_bug.cgi?id=116190
3416 Reviewed by Andreas Kling.
3418 Just use ResourceResponse instead of WebSocketHandshakeResponse.
3421 * GNUmakefile.list.am:
3422 * Modules/websockets/WebSocketHandshake.cpp:
3423 (WebCore::WebSocketHandshake::readServerHandshake):
3424 (WebCore::WebSocketHandshake::serverWebSocketProtocol):
3425 (WebCore::WebSocketHandshake::serverSetCookie):
3426 (WebCore::WebSocketHandshake::serverSetCookie2):
3427 (WebCore::WebSocketHandshake::serverUpgrade):
3428 (WebCore::WebSocketHandshake::serverConnection):
3429 (WebCore::WebSocketHandshake::serverWebSocketAccept):
3430 (WebCore::WebSocketHandshake::serverHandshakeResponse):
3431 (WebCore::WebSocketHandshake::readHTTPHeaders):
3432 * Modules/websockets/WebSocketHandshake.h:
3433 * Modules/websockets/WebSocketHandshakeResponse.cpp: Removed.
3434 * Modules/websockets/WebSocketHandshakeResponse.h: Removed.
3436 * WebCore.vcproj/WebCore.vcproj:
3437 * WebCore.vcxproj/WebCore.vcxproj:
3438 * WebCore.vcxproj/WebCore.vcxproj.filters:
3439 * WebCore.xcodeproj/project.pbxproj:
3440 * inspector/InspectorInstrumentation.cpp:
3442 (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponseImpl):
3443 * inspector/InspectorInstrumentation.h:
3444 (InspectorInstrumentation):
3445 (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponse):
3446 * inspector/InspectorResourceAgent.cpp:
3447 (WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
3448 * inspector/InspectorResourceAgent.h:
3450 (InspectorResourceAgent):
3452 2013-05-15 Eric Carlson <eric.carlson@apple.com>
3454 [Mac] media engine may deliver NULL in-band "cue"
3455 https://bugs.webkit.org/show_bug.cgi?id=116180
3457 Reviewed by Jer Noble.
3459 * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
3460 (WebCore::InbandTextTrackPrivateAVF::processCue): NULL check before logging cue count.
3462 2013-05-15 Darin Adler <darin@apple.com>
3464 List platforms that still use the legacy clipboard instead of just saying "not Mac"
3465 https://bugs.webkit.org/show_bug.cgi?id=116177
3467 Reviewed by Andreas Kling.
3469 * dom/Clipboard.h: Replaced the "!MAC || IOS" with a list of platforms still on the
3472 2013-05-15 Yongjun Zhang <yongjun_zhang@apple.com>
3474 We should clear mainResource in DocumentLoader::cancelMainResourceLoad.
3475 https://bugs.webkit.org/show_bug.cgi?id=116119
3477 Reviewed by Oliver Hunt.
3479 MainResourceLoader::clearResource() was left out in r146239 when moving MainResourceLoader::cancel()
3480 to DocumentLoader::cancelMainResourceLoad(), we need to add it back to make sure m_mainResource is
3481 cleared when we cancel the loader.