1 2014-08-31 Tim Horton <timothy_horton@apple.com>
3 Remove unused ARMv6-specific #if branches in WebCore::canHyphenate
4 https://bugs.webkit.org/show_bug.cgi?id=136420
6 Reviewed by Dan Bernstein.
8 * platform/text/cf/HyphenationCF.cpp:
9 (WebCore::AtomicStringKeyedMRUCache<RetainPtr<CFLocaleRef>>::createValueForNullKey):
10 Use kCFAllocatorDefault instead of 0.
12 (WebCore::canHyphenate):
13 Remove ARMv6-specific code.
15 2014-08-31 Tim Horton <timothy_horton@apple.com>
17 Remove unnecessary (and unnecessarily iOS-specific) setStrokeAndFillColor
18 https://bugs.webkit.org/show_bug.cgi?id=136416
20 Reviewed by Dan Bernstein.
23 * platform/graphics/GraphicsContext.h:
24 * platform/graphics/cg/GraphicsContextCG.cpp:
25 (WebCore::setStrokeAndFillColor): Deleted.
28 2014-08-31 Tim Horton <timothy_horton@apple.com>
30 Remove duplicate implementation of drawEllipse and some related PLATFORM(IOS) ifdefs
31 https://bugs.webkit.org/show_bug.cgi?id=136413
33 Reviewed by Dan Bernstein.
35 No new tests, just cleanup.
37 * platform/graphics/GraphicsContext.cpp:
38 (WebCore::GraphicsContext::drawRaisedEllipse):
39 There's nothing iOS specific about this function.
41 * platform/graphics/GraphicsContext.h:
42 * platform/graphics/cairo/GraphicsContextCairo.cpp:
43 (WebCore::GraphicsContext::drawEllipse):
44 * platform/graphics/cg/GraphicsContextCG.cpp:
45 (WebCore::GraphicsContext::drawEllipse):
46 Un-ifdef drawRaisedEllipse; delete the reimplementation of drawEllipse that takes
47 a FloatRect and make the normal one take a FloatRect instead.
49 (WebCore::GraphicsContext::platformInit):
50 Make sure that the CGContext's line width starts out in sync with GraphicsContext's.
51 By default, CGContext has a line width of 1 and GraphicsContext 0, so they could previously
52 have been out of sync until someone set the width explicitly.
54 2014-08-31 Tim Horton <timothy_horton@apple.com>
56 Fix a harmless mismerge in BitmapImage::destroyDecodedDataIfNecessary
57 https://bugs.webkit.org/show_bug.cgi?id=136412
59 Reviewed by Alexey Proskuryakov.
61 No new tests, just cleanup.
63 * platform/graphics/BitmapImage.cpp:
64 (WebCore::BitmapImage::destroyDecodedDataIfNecessary):
65 Drop the leading 'c' and the 'static' on the cutoff parameter.
66 Remove the duplicated early return (seems like it happened in the merge).
67 Remove reference to the exact size in the comment, since it's different on iOS.
69 2014-08-31 Tim Horton <timothy_horton@apple.com>
71 Use SinkDocument instead of PDFDocument; get rid of PDFDocument
72 https://bugs.webkit.org/show_bug.cgi?id=136414
74 Reviewed by Alexey Proskuryakov.
76 * WebCore.xcodeproj/project.pbxproj:
77 * loader/DocumentWriter.cpp:
78 (WebCore::DocumentWriter::createDocument):
79 * pdf/ios/PDFDocument.cpp: Removed.
80 * pdf/ios/PDFDocument.h: Removed.
81 Use the generic SinkDocument, which ignores all incoming data just like PDFDocument.
82 Delete the unnecessary and iOS-specific PDFDocument.cpp/h
84 2014-08-31 Tim Horton <timothy_horton@apple.com>
86 Adjust an antique comment in Image::drawPattern
87 https://bugs.webkit.org/show_bug.cgi?id=136411
89 Reviewed by Dan Bernstein.
91 * platform/graphics/cg/ImageCG.cpp:
92 (WebCore::Image::drawPattern):
95 2014-08-31 Tim Horton <timothy_horton@apple.com>
97 SVGImage::drawPatternForContainer creates a buffer without respecting the destination's acceleration setting
98 https://bugs.webkit.org/show_bug.cgi?id=136408
99 <rdar://problem/12013317>
101 Reviewed by Dan Bernstein.
103 No new tests required, just a performance improvement.
105 * svg/graphics/SVGImage.cpp:
106 (WebCore::SVGImage::drawPatternForContainer):
107 Use ImageBuffer::createCompatibleBuffer, which passes the destination's
108 acceleration setting through to the ImageBuffer constructor.
110 I didn't use GraphicsContext::createCompatibleBuffer because adjusting
111 how this function applies the destination's CTM is outside the scope of this patch.
113 2014-08-30 Joseph Pecoraro <pecoraro@apple.com>
115 Convert string literals to character literals in makeString usage
116 https://bugs.webkit.org/show_bug.cgi?id=136394
118 Reviewed by Sam Weinig.
120 * inspector/InspectorOverlay.cpp:
121 (WebCore::InspectorOverlay::evaluateInOverlay):
122 * loader/FrameLoader.cpp:
123 (WebCore::FrameLoader::setOriginalURLForDownloadRequest):
124 * loader/MixedContentChecker.cpp:
125 (WebCore::MixedContentChecker::logWarning):
126 * page/ContentSecurityPolicy.cpp:
127 (WebCore::CSPDirectiveList::checkMediaTypeAndReportViolation):
128 (WebCore::ContentSecurityPolicy::reportUnsupportedDirective):
129 (WebCore::ContentSecurityPolicy::reportInvalidPathCharacter):
130 Also reorder some code to ensure single string creation.
132 2014-08-26 Maciej Stachowiak <mjs@apple.com>
134 Use RetainPtr::autorelease in some places where it seems appropriate
135 https://bugs.webkit.org/show_bug.cgi?id=136280
137 Reviewed by Darin Adler.
139 * platform/mac/URLMac.mm:
140 (WebCore::URL::operator NSURL *): Use autorelease() instead of
141 CFBridgingRelease(leakRef())
143 2014-08-30 Yusuke Suzuki <utatane.tea@gmail.com>
145 CSS: Refactor :visited handling in SelectorChecker
146 https://bugs.webkit.org/show_bug.cgi?id=135639
148 Reviewed by Benjamin Poulain.
150 :visited is specially handled in the SelectorChecker and style resolution
151 because of security issues. That is nested links and adjacent combinators.
152 Since we propagate linkState from the ancestors,
154 1. linkStates of ancestors from the target node are only used to calculate
155 the linkState of the current node.
156 This is why adjacent combinators disable :visited.
158 2. linkState is overrides by the closest link element in the ancestors.
159 This is why :visited is effective on the closest link element.
161 In this patch, we fix 3 things.
163 1. Simplify SelectorChecker. Move m_mode to CheckingContext and it makes
164 CheckingContext more similar to SelectorCompiler::CheckingContext in CSS JIT.
165 And hide visitedMatchType parameter from the caller of SelectorChecker.
167 2. Disable :visited inside :-webkit-any. Currently, :-webkit-any provides MatchAll
168 link match type. So considering visited match type in the matching phase of :visited
169 provides inconsistency. In this patch, :-webkit-any(:visited) never matches.
170 And :-webkit-any(:link) acts like a :-webkit-any(:any-link). This behavior represents
171 that visited match type is always considered as disabled inside :-webkit-any.
172 This behavior may be changed when Selector Level4 is implemented.
174 3. Fix the issue when traversing the descendant element,
175 first encountered link check is missing.
177 Tests: fast/history/link-inside-any.html
178 fast/history/link-inside-not.html
179 fast/history/nested-visited-test-override.html
180 fast/history/visited-inside-any.html
181 fast/history/visited-inside-not.html
183 * css/ElementRuleCollector.cpp:
184 (WebCore::ElementRuleCollector::ruleMatches):
185 * css/SelectorChecker.cpp:
186 (WebCore::SelectorChecker::SelectorChecker):
187 (WebCore::SelectorChecker::match):
188 (WebCore::hasScrollbarPseudoElement):
189 (WebCore::checkingContextForParent):
190 (WebCore::SelectorChecker::matchRecursively):
191 (WebCore::SelectorChecker::checkOne):
192 * css/SelectorChecker.h:
193 (WebCore::SelectorChecker::SelectorCheckingContext::SelectorCheckingContext):
194 * css/StyleResolver.h:
195 (WebCore::checkRegionSelector):
196 * dom/SelectorQuery.cpp:
197 (WebCore::SelectorDataList::selectorMatches):
199 2014-08-29 Zalan Bujtas <zalan@apple.com>
201 Subpixel layout: Remove LayoutUnit's kEffectiveFixedPointDenominator.
202 https://bugs.webkit.org/show_bug.cgi?id=136383.
204 Reviewed by Simon Fraser.
206 There's only one subpixel denominator now.
208 No change in functionality.
210 * platform/LayoutUnit.h:
211 (WebCore::LayoutUnit::LayoutUnit):
212 (WebCore::LayoutUnit::fromFloatCeil):
213 (WebCore::LayoutUnit::fromFloatFloor):
214 (WebCore::LayoutUnit::toInt):
215 (WebCore::LayoutUnit::toFloat):
216 (WebCore::LayoutUnit::toDouble):
217 (WebCore::LayoutUnit::operator++):
218 (WebCore::LayoutUnit::ceil):
219 (WebCore::LayoutUnit::round):
220 (WebCore::LayoutUnit::floor):
221 (WebCore::LayoutUnit::ceilToFloat):
222 (WebCore::LayoutUnit::fraction):
223 (WebCore::LayoutUnit::epsilon):
224 (WebCore::LayoutUnit::nearlyMax):
225 (WebCore::LayoutUnit::nearlyMin):
226 (WebCore::LayoutUnit::isInBounds):
227 (WebCore::LayoutUnit::setValue):
228 (WebCore::boundedMultiply):
229 (WebCore::operator*):
230 (WebCore::operator/):
231 (WebCore::operator%):
232 (WebCore::roundToDevicePixel):
233 (WebCore::floorToDevicePixel):
234 (WebCore::ceilToDevicePixel):
236 2014-08-29 Zalan Bujtas <zalan@apple.com>
238 Rename updatePreferredWidth to make it more explicit.
239 https://bugs.webkit.org/show_bug.cgi?id=136389
241 Reviewed by Simon Fraser.
243 No change in functionality.
245 * rendering/RenderBlock.cpp:
246 (WebCore::preferredWidth):
247 (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
248 (WebCore::updatePreferredWidth): Deleted.
250 2014-08-29 Gavin Barraclough <barraclough@apple.com>
252 Make timerNestingLevel threadsafe
253 https://bugs.webkit.org/show_bug.cgi?id=136401
255 Reviewed by Tim Horton.
257 timerNestingLevel, used by DOMTimer to determine whether a timer is 'nested'
258 (repeating, possible due to a timer rescheduling itself) is a global. Since
259 worker threads can set timers too this is not thread safe.
261 * dom/ScriptExecutionContext.cpp:
262 (WebCore::ScriptExecutionContext::ScriptExecutionContext):
263 - added initialize m_timerNestingLevel
264 * dom/ScriptExecutionContext.h:
265 (WebCore::ScriptExecutionContext::timerNestingLevel):
266 (WebCore::ScriptExecutionContext::setTimerNestingLevel):
269 (WebCore::DOMTimer::DOMTimer):
270 (WebCore::DOMTimer::fired):
271 - move timerNestingLevel to the context
273 2014-08-29 Gavin Barraclough <barraclough@apple.com>
275 DOMTimer::m_nestingLevel is prone to overflow
276 https://bugs.webkit.org/show_bug.cgi?id=136399
278 Reviewed by Alexey Proskuryakov.
280 Since this would happen after the 2 billionth timer fire this is unlikely,
281 and consequences aren't severe (breaks throttling).
283 This change has the following consequences.
285 - m_nestingLevel saturates to its max value.
286 - unnested timers are indicated by a nesting level of 0.
287 - repeat timers update m_nestingLevel on every fire,
288 not just those that should have been throttled.
290 The last point is subtle, but ultimately should be inconsequential. Timers
291 whose requested timeout is less that the minimum interval will saturate quickly
292 anyway; timers with an original interval greater than the minimum previously
293 wouldn't have incremented m_nestingLevel, but doing so now doesn't hurt since
294 they won't be throttled when they hit the threshold. This simplifies things
295 conceptually a little & reduces the test performed on each timer fire.
298 (WebCore::shouldForwardUserGesture):
299 - unnested timers are indicated by a nesting level of 0
300 (WebCore::DOMTimer::DOMTimer):
301 - don't increment nesting level on construction
302 (WebCore::DOMTimer::fired):
303 - saturating increments
304 (WebCore::DOMTimer::adjustMinimumTimerInterval):
305 (WebCore::DOMTimer::intervalClampedToMinimum):
308 2014-08-29 Zalan Bujtas <zalan@apple.com>
310 Improve showRenderTree() output.
311 https://bugs.webkit.org/show_bug.cgi?id=136244
313 Reviewed by Darin Adler.
315 Add more debugging information to showRenderTree().
319 * rendering/InlineBox.cpp:
320 (WebCore::InlineBox::showLineTreeForThis):
321 (WebCore::InlineBox::showLineTreeAndMark):
322 (WebCore::InlineBox::showLineBox):
325 (WebCore::InlineBox::showBox): Deleted.
326 * rendering/InlineBox.h:
327 * rendering/InlineFlowBox.cpp:
328 (WebCore::InlineFlowBox::showLineTreeAndMark):
329 * rendering/InlineFlowBox.h:
330 * rendering/InlineTextBox.cpp:
331 (WebCore::InlineTextBox::showLineBox):
332 (WebCore::InlineTextBox::showBox): Deleted.
333 * rendering/InlineTextBox.h:
334 * rendering/RenderBlock.cpp:
335 (WebCore::RenderBlock::showLineTreeAndMark): Deleted.
336 * rendering/RenderBlock.h:
337 * rendering/RenderBlockFlow.cpp:
338 (WebCore::RenderBlockFlow::showLineTreeAndMark):
339 * rendering/RenderBlockFlow.h:
340 * rendering/RenderObject.cpp:
341 (WebCore::showRenderTreeLegend):
342 (WebCore::RenderObject::showNodeTreeForThis):
343 (WebCore::RenderObject::showRenderTreeForThis):
344 (WebCore::RenderObject::showLineTreeForThis):
345 (WebCore::RenderObject::showRegionsInformation):
346 (WebCore::RenderObject::showRenderObject):
347 (WebCore::RenderObject::showRenderSubTreeAndMark):
351 (WebCore::RenderObject::showRenderTreeAndMark): Deleted.
352 * rendering/RenderObject.h:
353 * rendering/RootInlineBox.h:
355 2014-08-29 Csaba Osztrogonác <ossy@webkit.org>
357 Unreviwed, remove empty directories.
359 * Modules/networkinfo: Removed.
360 * inspector/front-end: Removed.
361 * inspector/front-end/Images: Removed.
362 * inspector/front-end/UglifyJS: Removed.
363 * inspector/front-end/ace: Removed.
364 * inspector/front-end/cm: Removed.
365 * platform/audio/ffmpeg: Removed.
366 * platform/audio/ipp: Removed.
367 * platform/graphics/gpu/opencl: Removed.
369 2014-08-29 Eva Balazsfalvi <evab.u-szeged@partner.samsung.com>
371 [EFL] Remove non Coordinated Graphics code path from cmake build system after r142169
372 https://bugs.webkit.org/show_bug.cgi?id=135560
374 Reviewed by Gyuyoung Kim.
376 No new tests required, no new functionality.
378 * PlatformEfl.cmake: Removed TEXTURE_MAPPER and 3D_GRAPHICS guards.
379 * platform/graphics/efl/GraphicsContext3DEfl.cpp: Removed TEXTURE_MAPPER_GL and GRAPHICS_SURFACE guards.
380 (WebCore::GraphicsContext3D::platformLayer):
381 (WebCore::GraphicsContext3D::createGraphicsSurfaces):
382 * platform/graphics/efl/GraphicsContext3DPrivate.cpp: Removed TEXTURE_MAPPER_GL and GRAPHICS_SURFACE guards.
383 (WebCore::GraphicsContext3DPrivate::initialize):
384 (WebCore::GraphicsContext3DPrivate::releaseResources):
385 (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
386 (WebCore::GraphicsContext3DPrivate::graphicsSurfaceFlags):
387 * platform/graphics/efl/GraphicsContext3DPrivate.h: Removed TEXTURE_MAPPER_GL and GRAPHICS_SURFACE guards.
388 * platform/graphics/surfaces/efl/GraphicsSurfaceCommon.cpp: Removed GRAPHICS_SURFACE guard.
390 2014-08-29 Carlos Garcia Campos <cgarcia@igalia.com>
392 RenderThemeGtk depends on classes outside of platform
393 https://bugs.webkit.org/show_bug.cgi?id=22176
395 Reviewed by Martin Robinson.
397 Move RenderThemeGtk.cpp from platform to rendering.
400 * rendering/RenderThemeGtk.cpp: Renamed from Source/WebCore/platform/gtk/RenderThemeGtk.cpp.
402 2014-08-29 Carlos Garcia Campos <cgarcia@igalia.com>
404 [GTK] ScrollbarThemeGtk should not depend on RenderThemeGtk
405 https://bugs.webkit.org/show_bug.cgi?id=136338
407 Reviewed by Philippe Normand.
409 Remove the dependency by creating the GtkStyleContext for the
410 scrollbars in ScrollbarThemeGtk.
412 * platform/gtk/RenderThemeGtk.cpp:
413 (WebCore::gtkStyleChangedCallback): Call ScrollbarThemeGtk::themeChanged().
414 (WebCore::getStyleContext): Remove the scrollbar style context support.
415 * platform/gtk/RenderThemeGtk.h: Remove gtkScrollbarStyle().
416 * platform/gtk/ScrollbarThemeGtk.cpp:
417 (WebCore::ScrollbarStyleContext::ScrollbarStyleContext): Helper
418 class to create the global GtkStyleContext for scrollbars.
419 (WebCore::ScrollbarStyleContext::~ScrollbarStyleContext):
420 (WebCore::ScrollbarStyleContext::context):
421 (WebCore::gtkScrollbarStyleContext):
422 (WebCore::ScrollbarThemeGtk::ScrollbarThemeGtk): Remove m_context initialization.
423 (WebCore::ScrollbarThemeGtk::themeChanged): Invalidate the
424 GtkStylecontext and call updateThemeProperties().
425 (WebCore::ScrollbarThemeGtk::updateThemeProperties): Use the
426 global style context.
427 (WebCore::ScrollbarThemeGtk::paintTrackBackground): Ditto.
428 (WebCore::ScrollbarThemeGtk::paintScrollbarBackground): Ditto.
429 (WebCore::ScrollbarThemeGtk::paintThumb): Ditto.
430 (WebCore::ScrollbarThemeGtk::paintButton): Ditto.
431 * platform/gtk/ScrollbarThemeGtk.h:
433 2014-08-28 Carlos Garcia Campos <cgarcia@igalia.com>
435 [GTK] Merge RenderThemeGtk3.cpp into RenderThemeGtk.cpp and ScrollbarThemeGtk3.cpp intoScrollbarThemeGtk.cpp
436 https://bugs.webkit.org/show_bug.cgi?id=136336
438 Reviewed by Philippe Normand.
440 There's no reason to have two files now that there's no GTK+2
441 support. Also fix coding style issues and compile warnings.
444 * platform/gtk/RenderThemeGtk.cpp:
445 * platform/gtk/RenderThemeGtk.h:
446 * platform/gtk/RenderThemeGtk3.cpp: Removed.
447 * platform/gtk/ScrollbarThemeGtk.cpp:
448 * platform/gtk/ScrollbarThemeGtk3.cpp: Removed.
450 2014-08-28 Mark Lam <mark.lam@apple.com>
452 DebuggerCallFrame::scope() should return a DebuggerScope.
453 <https://webkit.org/b/134420>
455 Reviewed by Geoffrey Garen.
459 Rolling back in r170680 with the fix for <https://webkit.org/b/135656>.
461 * bindings/js/ScriptController.cpp:
462 (WebCore::ScriptController::attachDebugger):
463 - We should acquire the JSLock before modifying a JS global object.
465 2014-08-28 Enrica Casucci <enrica@apple.com>
467 Can't hit tab key more than 3 times continuously.
468 https://bugs.webkit.org/show_bug.cgi?id=136357
469 rdar://problem/17927266
471 Reviewed by Dean Jackson.
473 Test: fast/css/multiple-tabs.html
475 When computing the tabWidth disregard increments of less than half the size of the space character
478 * platform/graphics/Font.h:
479 (WebCore::Font::tabWidth):
481 2014-08-28 Daniel Bates <dabates@apple.com>
483 [iOS] Clients that include WebCoreThread.h fail to build after <http://trac.webkit.org/changeset/172814/>
484 (https://bugs.webkit.org/show_bug.cgi?id=136108)
486 Define WEBCORE_EXPORT (if its not already defined) in WebCoreThread.h so as to fix the
487 build for clients that include this header.
489 * platform/ios/wak/WebCoreThread.h:
491 2014-08-28 Pratik Solanki <psolanki@apple.com>
493 WebContent hangs under SharedBuffer::duplicateDataBufferIfNecessary() while browsing some websites
494 https://bugs.webkit.org/show_bug.cgi?id=136347
495 <rdar://problem/18073745>
497 Reviewed by Andreas Kling.
499 When passing data to ImageIO, we create a copy if we have to reallocate the buffer. We would
500 set the size of the new buffer to be the size of the SharedBuffer data. This causes memory
501 churn since we would create a new buffer for every data chunk we get. Fix this by at least
502 doubling the capacity of the buffer when we duplicate it.
504 * platform/SharedBuffer.cpp:
505 (WebCore::SharedBuffer::duplicateDataBufferIfNecessary):
507 2014-08-28 Dan Bernstein <mitz@apple.com>
511 * WebCore.exp.in: Updated symbol.
513 2014-08-28 Benjamin Poulain <bpoulain@apple.com>
515 Scrolling with spacebar on a page with fixed header breaks reading flow
516 https://bugs.webkit.org/show_bug.cgi?id=135506
518 Reviewed by Simon Fraser.
520 When scrolling by page, find the height of any bar that is obscuring the top or bottom of the page,
521 and substract that height from the step to scroll.
523 Tests: scrollbars/scrolling-backward-by-page-accounting-bottom-fixed-elements-on-keyboard-spacebar.html
524 scrollbars/scrolling-backward-by-page-on-keyboard-spacebar.html
525 scrollbars/scrolling-by-page-accounting-oversized-fixed-elements-on-keyboard-spacebar.html
526 scrollbars/scrolling-by-page-accounting-top-fixed-elements-on-keyboard-spacebar.html
527 scrollbars/scrolling-by-page-accounting-top-fixed-elements-with-negative-top-on-keyboard-spacebar.html
528 scrollbars/scrolling-by-page-ignoring-hidden-fixed-elements-on-keyboard-spacebar.html
529 scrollbars/scrolling-by-page-ignoring-transparent-fixed-elements-on-keyboard-spacebar.html
530 scrollbars/scrolling-by-page-on-keyboard-spacebar.html
533 * page/FrameView.cpp:
534 (WebCore::FrameView::adjustScrollStepForFixedContent):
536 * platform/ScrollableArea.cpp:
537 (WebCore::ScrollableArea::adjustScrollStepForFixedContent):
538 (WebCore::ScrollableArea::scroll):
539 * platform/ScrollableArea.h:
541 2014-08-28 Zalan Bujtas <zalan@apple.com>
543 Subpixel layout: Remove unused pixel snapping functions.
544 https://bugs.webkit.org/show_bug.cgi?id=136341
546 Reviewed by Simon Fraser.
548 Let's not encourage integral snapping by having these functions around.
550 No change in functionality.
552 * accessibility/AccessibilityObject.h:
553 (WebCore::AccessibilityObject::pixelSnappedElementRect): Deleted.
554 (WebCore::AccessibilityObject::pixelSnappedSize): Deleted.
555 * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
556 (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
557 * html/HTMLImageElement.cpp:
558 (WebCore::HTMLImageElement::width):
559 (WebCore::HTMLImageElement::height):
560 * page/FrameView.cpp:
561 (WebCore::FrameView::qualifiesAsVisuallyNonEmpty):
562 * platform/graphics/LayoutPoint.h:
563 (WebCore::snappedIntSize):
564 (WebCore::snapSizeToDevicePixel):
565 * platform/graphics/LayoutRect.h:
566 (WebCore::LayoutRect::pixelSnappedLocation): Deleted.
567 (WebCore::LayoutRect::pixelSnappedX): Deleted.
568 (WebCore::LayoutRect::pixelSnappedY): Deleted.
569 (WebCore::LayoutRect::pixelSnappedWidth): Deleted.
570 (WebCore::LayoutRect::pixelSnappedHeight): Deleted.
571 (WebCore::LayoutRect::pixelSnappedMaxX): Deleted.
572 (WebCore::LayoutRect::pixelSnappedMaxY): Deleted.
573 (WebCore::snappedIntRectFromEdges): Deleted.
574 * rendering/RenderBlockFlow.h:
575 (WebCore::RenderBlockFlow::pixelSnappedLogicalTopForFloat): Deleted.
576 (WebCore::RenderBlockFlow::pixelSnappedLogicalBottomForFloat): Deleted.
577 (WebCore::RenderBlockFlow::pixelSnappedLogicalLeftForFloat): Deleted.
578 (WebCore::RenderBlockFlow::pixelSnappedLogicalRightForFloat): Deleted.
579 * rendering/RenderBox.h:
580 (WebCore::RenderBox::pixelSnappedLogicalHeight):
581 (WebCore::RenderBox::pixelSnappedLogicalWidth):
582 (WebCore::RenderBox::pixelSnappedBorderBoxRect):
583 (WebCore::RenderBox::pixelSnappedWidth): Deleted.
584 (WebCore::RenderBox::pixelSnappedHeight): Deleted.
585 (WebCore::RenderBox::pixelSnappedFrameRect): Deleted.
586 * rendering/RenderFileUploadControl.cpp:
587 (WebCore::nodeWidth):
588 (WebCore::nodeHeight):
589 (WebCore::RenderFileUploadControl::maxFilenameWidth):
590 * rendering/RenderLayer.cpp:
591 (WebCore::RenderLayer::updateLayerPosition):
592 (WebCore::RenderLayer::isPointInResizeControl):
593 * rendering/RenderLayerCompositor.cpp:
594 (WebCore::RenderLayerCompositor::ensureRootLayer):
595 * rendering/RenderMediaControls.cpp:
596 (WebCore::RenderMediaControls::volumeSliderOffsetFromMuteButton):
597 * rendering/RenderMultiColumnSet.cpp:
598 (WebCore::RenderMultiColumnSet::paintColumnRules):
599 * rendering/RenderScrollbar.cpp:
600 (WebCore::RenderScrollbar::buttonRect):
601 * rendering/RenderView.h:
603 2014-08-27 Enrica Casucci <enrica@apple.com>
605 textStylingAtPosition returns incorrect values after executing toggleBold, toggleItalic and toggleUnderline.
606 https://bugs.webkit.org/show_bug.cgi?id=136323
607 rdar://problem/18141964
609 Reviewed by Antti Koivisto.
611 For underline style we need to check typingStyle first and use that information to populate
612 the dictionary. If there is no typing style we can use the render style.
615 * editing/ios/EditorIOS.mm:
616 (WebCore::Editor::fontAttributesForSelectionStart):
618 2014-08-28 Iago Toral <itoral@igalia.com> and Zan Dobersek <zdobersek@igalia.com>
620 [GTK] Add WaylandEventSource
621 https://bugs.webkit.org/show_bug.cgi?id=136213
623 Reviewed by Martin Robinson.
625 Add the WaylandEventSource class. Its static method, createEventSource(),
626 creates a new GSource object that is attached to the main context and
627 enables handling Wayland display events through the GLib's main loop.
629 The method will be called by the nested Wayland compositor during its
630 initialization, which will also take the control over the ownership and
631 will be tasked with properly removing the GSource from the main context.
633 GLibSource is a GSource-based struct that additionally holds a GPollFD object
634 and the pointer to the wl_display object whose event loop we'll be
635 dispatching during the GSource dispatch. This is the type that g_source_new
636 uses when allocating the new GSource object.
638 The GSource is assigned the default priorty, can recurse, and is attached
642 * platform/graphics/wayland/WaylandEventSource.cpp: Added.
643 (WebCore::GLibSource::initialize):
644 (WebCore::GLibSource::check):
645 (WebCore::GLibSource::dispatch):
646 (WebCore::prepareCallback):
647 (WebCore::checkCallback):
648 (WebCore::dispatchCallback):
649 (WebCore::WaylandEventSource::createDisplayEventSource):
650 * platform/graphics/wayland/WaylandEventSource.h: Added.
652 2014-08-28 Chris Fleizach <cfleizach@apple.com>
654 AX: Safari at com.apple.WebCore: WebCore::AXObjectCache::clearTextMarkerNodesInUse
655 https://bugs.webkit.org/show_bug.cgi?id=136333
657 Reviewed by David Kilzer.
659 If a Node is asked for it's Document when it's not actually in a document, it can lead to an assert/crash.
660 We can avoid this by checking that the node is in a document before asking for its document.
662 I was not able to make a test case.
664 * accessibility/AXObjectCache.cpp:
665 (WebCore::AXObjectCache::clearTextMarkerNodesInUse):
667 2014-08-28 Andreas Kling <akling@apple.com>
669 ASSERTION FAILED: !m_renderView.document().inPageCache() in compositing/iframes/resources/page-cache-helper.html
670 <https://webkit.org/b/136329>
672 Cancel any pending compositing layer updates when moving a document
675 Reviewed by Zalan Bujtas.
678 (WebCore::Document::documentWillSuspendForPageCache):
679 * rendering/RenderLayerCompositor.cpp:
680 (WebCore::RenderLayerCompositor::cancelCompositingLayerUpdate):
681 * rendering/RenderLayerCompositor.h:
683 2014-08-28 Mihnea Ovidenie <mihnea@adobe.com>
685 [CSSRegions] Incorrect selection clearing on a document without regions
686 https://bugs.webkit.org/show_bug.cgi?id=134901
688 Reviewed by David Hyatt.
690 When we select all the content of document with named flows but without regions,
691 the start and end points of selection is cached in RenderView. However, since
692 the document has named flows, the selection is split between the subtrees. During the split,
693 it is possible that the cached end-points of the original selection are not included
694 in any of the resulting subtree selection and they are not marked accordingly.
695 In order to process the selection clearing correctly, we have to take the original
696 selection end-points into account.
698 Test: fast/regions/selection/select-all-without-regions.html
700 * rendering/RenderObject.cpp:
701 (WebCore::RenderObject::isSelectionBorder):
703 2014-08-28 Carlos Garcia Campos <cgarcia@igalia.com>
705 [GTK] Add webkit_uri_response_get_http_headers to WebKit2 GTK+ API
706 https://bugs.webkit.org/show_bug.cgi?id=136248
708 Reviewed by Gustavo Noronha Silva.
710 Move the code to update the SoupMessageHeaders to a new public
713 * platform/network/soup/ResourceResponse.h:
714 * platform/network/soup/ResourceResponseSoup.cpp:
715 (WebCore::ResourceResponse::updateSoupMessageHeaders):
716 (WebCore::ResourceResponse::toSoupMessage):
718 2014-08-28 Carlos Garcia Campos <cgarcia@igalia.com>
720 [GTK] Remove support for GTK+2 theme rendering
721 https://bugs.webkit.org/show_bug.cgi?id=136285
723 Reviewed by Philippe Normand.
725 GTK+2 is only used by the plugin process that doesn't need to
726 render html controls themed. Since the theme files are still
727 built for WebCorePlatformGTK2, we need to provide dummy
728 implementations for the pure virtual methods when
729 GTK_API_VERSION_2 is defined.
731 * PlatformGTK.cmake: Remove deleted files from compilation.
732 * platform/gtk/RenderThemeGtk.cpp:
733 (WebCore::RenderThemeGtk::create):
734 (WebCore::RenderTheme::themeForPage):
735 (WebCore::getScreenDPI):
736 (WebCore::RenderThemeGtk::systemFont):
737 (WebCore::RenderThemeGtk::sliderTickSize):
738 (WebCore::RenderThemeGtk::sliderTickOffsetFromTrackCenter):
739 (WebCore::RenderThemeGtk::getScreenDPI): Deleted.
740 * platform/gtk/RenderThemeGtk.h:
741 * platform/gtk/RenderThemeGtk2.cpp: Removed.
742 * platform/gtk/RenderThemeGtk3.cpp:
743 * platform/gtk/ScrollbarThemeGtk.cpp:
744 (WebCore::ScrollbarThemeGtk::hasThumb):
745 (WebCore::ScrollbarThemeGtk::backButtonRect):
746 (WebCore::ScrollbarThemeGtk::forwardButtonRect):
747 (WebCore::ScrollbarThemeGtk::trackRect):
748 (WebCore::ScrollbarThemeGtk::registerScrollbar):
749 (WebCore::ScrollbarThemeGtk::unregisterScrollbar):
750 (WebCore::ScrollbarThemeGtk::updateScrollbarsFrameThickness):
751 * platform/gtk/ScrollbarThemeGtk.h:
752 * platform/gtk/ScrollbarThemeGtk2.cpp: Removed.
753 * platform/gtk/WidgetRenderingContext.cpp: Removed.
754 * platform/gtk/WidgetRenderingContext.h: Removed.
756 2014-08-28 Zan Dobersek <zdobersek@igalia.com>
758 Unreviewed GTK build fix for the Wayland windowing target after r173052.
760 * platform/graphics/wayland/WaylandSurface.cpp: Include the IntSize header.
761 * platform/graphics/wayland/WaylandSurface.h: Forward-declare IntSize.
763 2014-08-27 Csaba Osztrogonác <ossy@webkit.org>
765 One more URTBF after r173047.
767 * accessibility/atk/WebKitAccessibleInterfaceComponent.cpp:
768 (webkitAccessibleComponentGetExtents):
770 2014-08-27 Iago Toral <itoral@igalia.com> and Zan Dobersek <zdobersek@igalia.com>
772 [GTK] Add WaylandSurface
773 https://bugs.webkit.org/show_bug.cgi?id=136220
775 Reviewed by Martin Robinson.
777 Add the WaylandSurface class. An objects of this type is meant to be used
778 by the LayerTreeHostGtk in the WebProcess and is constructed via the
779 WaylandDisplay::createSurface() method.
781 LayerTreeHostGtk uses such object to perform frame requests to the nested
782 Wayland compositor in the UIProcess, and to create the GLContextEGL object
783 that's used during the layer flushing and compositing.
785 The resize() method is called whenever LayerTreeHostGtk is being resized,
786 and basically only wraps the wl_egL_window_resize() call.
789 * platform/graphics/wayland/WaylandSurface.cpp: Added.
790 (WebCore::frameCallback):
791 (WebCore::WaylandSurface::WaylandSurface):
792 (WebCore::WaylandSurface::~WaylandSurface):
793 (WebCore::WaylandSurface::resize):
794 (WebCore::WaylandSurface::createGLContext):
795 (WebCore::WaylandSurface::requestFrame):
796 * platform/graphics/wayland/WaylandSurface.h: Added.
797 (WebCore::WaylandSurface::surface):
798 (WebCore::WaylandSurface::nativeWindowHandle):
800 2014-08-27 Csaba Osztrogonác <ossy@webkit.org>
804 * accessibility/atk/WebKitAccessibleInterfaceImage.cpp:
805 (webkitAccessibleImageGetImagePosition):
807 2014-08-27 Zalan Bujtas <zalan@apple.com>
809 Subpixel layout: Cleanup snapSizeToPixel/snapSizeToDevicePixel.
810 https://bugs.webkit.org/show_bug.cgi?id=136264
812 Reviewed by Simon Fraser.
814 1. Align snapSizeToPixel()/snapSizeToDevicePixel() function names with the rest of snapping
815 functions. ->snappedIntSize()/snapSizeToDevicePixel().
816 2. Operate on LayoutSize/LayoutPoint instead of LayoutUnit/LayoutUnit to reflect functionality.
818 Covered by existing tests.
820 * platform/LayoutUnit.h:
821 (WebCore::snapSizeToPixel): Deleted.
822 (WebCore::snapSizeToDevicePixel): Deleted.
823 * platform/graphics/LayoutPoint.h:
824 (WebCore::snappedIntSize):
825 (WebCore::snapSizeToDevicePixel):
826 (WebCore::pixelSnappedIntSize): Deleted.
827 * platform/graphics/LayoutRect.h:
828 (WebCore::LayoutRect::pixelSnappedSize):
829 (WebCore::LayoutRect::pixelSnappedWidth):
830 (WebCore::LayoutRect::pixelSnappedHeight):
831 (WebCore::pixelSnappedIntRect):
832 (WebCore::pixelSnappedIntRectFromEdges):
833 (WebCore::pixelSnappedForPainting):
834 (WebCore::directionalPixelSnappedForPainting):
835 * rendering/RenderBox.cpp:
836 (WebCore::RenderBox::pixelSnappedClientWidth):
837 (WebCore::RenderBox::pixelSnappedClientHeight):
838 (WebCore::RenderBox::pixelSnappedOffsetWidth):
839 (WebCore::RenderBox::pixelSnappedOffsetHeight):
840 (WebCore::RenderBox::scrollWidth):
841 (WebCore::RenderBox::scrollHeight):
842 * rendering/RenderBoxModelObject.cpp:
843 (WebCore::RenderBoxModelObject::pixelSnappedOffsetWidth):
844 (WebCore::RenderBoxModelObject::pixelSnappedOffsetHeight):
845 * rendering/RenderLayer.cpp:
846 (WebCore::RenderLayer::updateLayerPosition):
847 (WebCore::RenderLayer::scrollWidth):
848 (WebCore::RenderLayer::scrollHeight):
849 * rendering/RenderTreeAsText.cpp:
850 (WebCore::writeLayers):
852 2014-08-27 Zalan Bujtas <zalan@apple.com>
854 Subpixel layout: Rename LayoutRect's device pixel snapping functions.
855 https://bugs.webkit.org/show_bug.cgi?id=136319
857 Reviewed by Simon Fraser.
859 From pixelSnappedForPainting() to snapRectToDevicePixels() and
860 pixelSnappedIntRect*() to snappedIntRect*().
862 No change in functionality.
864 * accessibility/AccessibilityObject.cpp:
865 (WebCore::AccessibilityObject::boundingBoxForQuads):
866 (WebCore::AccessibilityObject::isOnscreen):
867 (WebCore::AccessibilityObject::scrollToMakeVisible):
868 * accessibility/AccessibilityObject.h:
869 (WebCore::AccessibilityObject::pixelSnappedBoundingBoxRect):
870 (WebCore::AccessibilityObject::pixelSnappedElementRect):
871 * accessibility/AccessibilityRenderObject.cpp:
872 (WebCore::AccessibilityRenderObject::isOffScreen):
873 (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
874 * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
875 (-[WebAccessibilityObjectWrapper accessibilityActivationPoint]):
876 (-[WebAccessibilityObjectWrapper accessibilityFrame]):
877 * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
878 (-[WebAccessibilityObjectWrapper position]):
879 (-[WebAccessibilityObjectWrapper accessibilityShowContextMenu]):
880 * bindings/objc/DOMUIKitExtensions.mm:
881 (-[DOMHTMLAreaElement boundingBoxWithOwner:]):
882 (-[DOMHTMLAreaElement absoluteQuadWithOwner:]):
883 * css/CSSComputedStyleDeclaration.cpp:
884 (WebCore::computedTransform):
886 (WebCore::Node::pixelSnappedBoundingBox):
887 (WebCore::Node::pixelSnappedRenderRect):
888 * editing/RenderedPosition.cpp:
889 (WebCore::RenderedPosition::absoluteRect):
890 * editing/mac/FrameSelectionMac.mm:
891 (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
892 * html/HTMLCanvasElement.cpp:
893 (WebCore::HTMLCanvasElement::paint):
894 * inspector/InspectorOverlay.cpp:
895 (WebCore::buildObjectForElementInfo):
896 * inspector/InspectorPageAgent.cpp:
897 (WebCore::InspectorPageAgent::didPaint):
898 * page/FrameSnapshotting.cpp:
899 (WebCore::snapshotNode):
900 * page/FrameView.cpp:
901 (WebCore::FrameView::scrollContentsFastPath):
902 (WebCore::FrameView::extendedBackgroundRectForPainting):
903 (WebCore::FrameView::windowClipRectForFrameOwner):
904 (WebCore::FrameView::convertFromRendererToContainingView):
906 (WebCore::Page::addRelevantRepaintedObject):
907 (WebCore::Page::addRelevantUnpaintedObject):
908 * page/ios/FrameIOS.mm:
909 (WebCore::ancestorRespondingToClickEvents):
910 * platform/DragImage.cpp:
911 (WebCore::createDragImageForImage):
912 * platform/graphics/LayoutRect.cpp:
913 (WebCore::enclosingRectToDevicePixels):
914 (WebCore::enclosingRectForPainting): Deleted.
915 * platform/graphics/LayoutRect.h:
916 (WebCore::snappedIntRect):
917 (WebCore::snappedIntRectFromEdges):
918 (WebCore::snapRectToDevicePixels):
919 (WebCore::snapRectToDevicePixelsWithWritingDirection):
920 (WebCore::pixelSnappedIntRect): Deleted.
921 (WebCore::pixelSnappedIntRectFromEdges): Deleted.
922 (WebCore::pixelSnappedForPainting): Deleted.
923 (WebCore::directionalPixelSnappedForPainting): Deleted.
924 * platform/graphics/RoundedRect.cpp:
925 (WebCore::RoundedRect::pixelSnappedRoundedRectForPainting):
926 * platform/graphics/ca/GraphicsLayerCA.cpp:
927 (WebCore::GraphicsLayerCA::computePixelAlignment):
928 * platform/text/TextStream.cpp:
929 (WebCore::TextStream::operator<<):
930 * rendering/EllipsisBox.cpp:
931 (WebCore::EllipsisBox::paintSelection):
932 * rendering/FilterEffectRenderer.cpp:
933 (WebCore::FilterEffectRendererHelper::applyFilterEffect):
934 * rendering/InlineFlowBox.cpp:
935 (WebCore::InlineFlowBox::paint):
936 * rendering/InlineTextBox.cpp:
937 (WebCore::InlineTextBox::paintSelection):
938 (WebCore::InlineTextBox::paintCompositionBackground):
939 (WebCore::InlineTextBox::paintTextMatchMarker):
940 (WebCore::InlineTextBox::positionForOffset):
941 * rendering/RenderBlock.cpp:
942 (WebCore::RenderBlock::addVisualOverflowFromTheme):
943 (WebCore::RenderBlock::paint):
944 (WebCore::RenderBlock::blockSelectionGap):
945 (WebCore::RenderBlock::logicalLeftSelectionGap):
946 (WebCore::RenderBlock::logicalRightSelectionGap):
947 (WebCore::RenderBlock::absoluteRects):
948 (WebCore::RenderBlock::addFocusRingRects):
949 * rendering/RenderBlockFlow.cpp:
950 (WebCore::RenderBlockFlow::clipOutFloatingObjects):
951 (WebCore::RenderBlockFlow::addFocusRingRectsForInlineChildren):
952 * rendering/RenderBox.cpp:
953 (WebCore::RenderBox::absoluteRects):
954 (WebCore::RenderBox::absoluteContentBox):
955 (WebCore::RenderBox::outlineBoundsForRepaint):
956 (WebCore::RenderBox::addFocusRingRects):
957 (WebCore::RenderBox::getBackgroundPaintedExtent):
958 (WebCore::RenderBox::pushContentsClip):
959 (WebCore::RenderBox::computeRectForRepaint):
960 * rendering/RenderBox.h:
961 (WebCore::RenderBox::pixelSnappedFrameRect):
962 * rendering/RenderBoxModelObject.cpp:
963 (WebCore::RenderBoxModelObject::paintFillLayerExtended):
964 (WebCore::RenderBoxModelObject::pixelSnapBackgroundImageGeometryForPainting):
965 (WebCore::RenderBoxModelObject::paintNinePieceImage):
966 (WebCore::RenderBoxModelObject::paintBorder):
967 (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
968 (WebCore::RenderBoxModelObject::paintBoxShadow):
969 * rendering/RenderDetailsMarker.cpp:
970 (WebCore::RenderDetailsMarker::paint):
971 * rendering/RenderEmbeddedObject.cpp:
972 (WebCore::RenderEmbeddedObject::paintSnapshotImage):
973 (WebCore::RenderEmbeddedObject::isReplacementObscured):
974 * rendering/RenderFieldset.cpp:
975 (WebCore::RenderFieldset::paintBoxDecorations):
976 * rendering/RenderFlowThread.cpp:
977 (WebCore::RenderFlowThread::addRegionsVisualOverflowFromTheme):
978 * rendering/RenderFrameSet.cpp:
979 (WebCore::RenderFrameSet::paint):
980 (WebCore::RenderFrameSet::layout):
981 (WebCore::RenderFrameSet::positionFramesWithFlattening):
982 * rendering/RenderHTMLCanvas.cpp:
983 (WebCore::RenderHTMLCanvas::paintReplaced):
984 * rendering/RenderImage.cpp:
985 (WebCore::RenderImage::paintReplaced):
986 * rendering/RenderInline.cpp:
987 (WebCore::RenderInline::paintOutlineForLine):
988 * rendering/RenderLayer.cpp:
989 (WebCore::RenderLayer::updateTransform):
990 (WebCore::RenderLayer::currentTransform):
991 (WebCore::RenderLayer::beginTransparencyLayers):
992 (WebCore::RenderLayer::scrollRectToVisible):
993 (WebCore::RenderLayer::scrollCornerRect):
994 (WebCore::RenderLayer::drawPlatformResizerImage):
995 (WebCore::RenderLayer::paintResizer):
996 (WebCore::RenderLayer::hitTestOverflowControls):
997 (WebCore::RenderLayer::clipToRect):
998 (WebCore::RenderLayer::paintLayerByApplyingTransform):
999 (WebCore::RenderLayer::paintOverflowControlsForFragments):
1000 (WebCore::RenderLayer::hitTestResizerInFragments):
1001 (WebCore::RenderLayer::calculateClipRects):
1002 * rendering/RenderLayerBacking.cpp:
1003 (WebCore::RenderLayerBacking::updateTransform):
1004 (WebCore::RenderLayerBacking::updateGeometry):
1005 (WebCore::RenderLayerBacking::resetContentsRect):
1006 (WebCore::RenderLayerBacking::updateImageContents):
1007 (WebCore::RenderLayerBacking::backgroundBoxForPainting):
1008 (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
1009 (WebCore::RenderLayerBacking::paintContents):
1010 * rendering/RenderLayerCompositor.cpp:
1011 (WebCore::RenderLayerCompositor::addToOverlapMap):
1012 (WebCore::RenderLayerCompositor::requiresCompositingForPlugin):
1013 (WebCore::RenderLayerCompositor::requiresCompositingForFrame):
1014 (WebCore::RenderLayerCompositor::paintContents):
1015 * rendering/RenderListBox.cpp:
1016 (WebCore::RenderListBox::addFocusRingRects):
1017 (WebCore::RenderListBox::paintScrollbar):
1018 (WebCore::RenderListBox::paintItemBackground):
1019 * rendering/RenderListMarker.cpp:
1020 (WebCore::RenderListMarker::paint):
1021 * rendering/RenderMeter.cpp:
1022 (WebCore::RenderMeter::updateLogicalWidth):
1023 (WebCore::RenderMeter::computeLogicalHeight):
1024 * rendering/RenderMultiColumnSet.cpp:
1025 (WebCore::RenderMultiColumnSet::paintColumnRules):
1026 * rendering/RenderObject.cpp:
1027 (WebCore::RenderObject::drawLineForBoxSide):
1028 (WebCore::RenderObject::addPDFURLRect):
1029 (WebCore::RenderObject::paintOutline):
1030 (WebCore::RenderObject::absoluteBoundingBoxRect):
1031 (WebCore::RenderObject::repaintUsingContainer):
1032 (WebCore::RenderObject::repaintSlowRepaintObject):
1033 (WebCore::RenderObject::pixelSnappedAbsoluteClippedOverflowRect):
1034 * rendering/RenderProgress.cpp:
1035 (WebCore::RenderProgress::computeLogicalHeight):
1036 * rendering/RenderReplaced.cpp:
1037 (WebCore::RenderReplaced::paint):
1038 * rendering/RenderScrollbarPart.cpp:
1039 (WebCore::RenderScrollbarPart::paintIntoRect):
1040 * rendering/RenderSearchField.cpp:
1041 (WebCore::RenderSearchField::showPopup):
1042 * rendering/RenderSnapshottedPlugIn.cpp:
1043 (WebCore::RenderSnapshottedPlugIn::paintSnapshot):
1044 * rendering/RenderTableCell.cpp:
1045 (WebCore::RenderTableCell::paintCollapsedBorders):
1046 * rendering/RenderTextControl.cpp:
1047 (WebCore::RenderTextControl::addFocusRingRects):
1048 * rendering/RenderTextControlSingleLine.cpp:
1049 (WebCore::RenderTextControlSingleLine::paint):
1050 * rendering/RenderTheme.cpp:
1051 (WebCore::RenderTheme::paint):
1052 (WebCore::RenderTheme::paintBorderOnly):
1053 (WebCore::RenderTheme::paintDecorations):
1054 * rendering/RenderThemeMac.mm:
1055 (WebCore::RenderThemeMac::paintSnapshottedPluginOverlay):
1056 * rendering/RenderTreeAsText.cpp:
1058 * rendering/RenderVideo.cpp:
1059 (WebCore::RenderVideo::videoBox):
1060 (WebCore::RenderVideo::paintReplaced):
1061 * rendering/RenderView.cpp:
1062 (WebCore::RenderView::repaintViewRectangle):
1063 (WebCore::RenderView::computeRectForRepaint):
1064 (WebCore::RenderView::absoluteRects):
1065 (WebCore::RenderView::selectionBounds):
1066 (WebCore::RenderView::unscaledDocumentRect):
1067 * rendering/RenderView.h:
1068 * rendering/RenderWidget.cpp:
1069 (WebCore::RenderWidget::paintContents):
1070 (WebCore::RenderWidget::paint):
1071 * rendering/SimpleLineLayoutFunctions.cpp:
1072 (WebCore::SimpleLineLayout::paintDebugBorders):
1073 * rendering/shapes/Shape.cpp:
1074 (WebCore::Shape::createRasterShape):
1075 * rendering/svg/RenderSVGModelObject.cpp:
1076 (WebCore::RenderSVGModelObject::outlineBoundsForRepaint):
1077 * rendering/svg/RenderSVGRoot.cpp:
1078 (WebCore::RenderSVGRoot::paintReplaced):
1079 * rendering/svg/SVGInlineTextBox.cpp:
1080 (WebCore::SVGInlineTextBox::selectionRectForTextFragment):
1082 2014-08-27 Daniel Bates <dabates@apple.com>
1084 Scrollbar corner can be drawn outside containing frame
1085 https://bugs.webkit.org/show_bug.cgi?id=133131
1086 <rdar://problem/16382769>
1088 Reviewed by Simon Fraser.
1090 Merged from Blink (patch by Levi Weintraub):
1091 <https://src.chromium.org/viewvc/blink?revision=170625&view=revision>
1093 Fixes an issue where the scroll corner may be painted outside the rectangle of
1094 its associated frame by setting a clip rectangle before painting the scroll bar(s)
1097 Test: scrollbars/custom-scrollbars-paint-outside-iframe.html
1099 * platform/ScrollView.cpp:
1100 (WebCore::ScrollView::paint):
1102 2014-08-27 Zalan Bujtas <zalan@apple.com>
1104 Subpixel layout: Rename FloatPoint/FloatRect device pixel snapping functions.
1105 https://bugs.webkit.org/show_bug.cgi?id=136314
1107 Reviewed by Simon Fraser.
1109 From *edToDevicePixels() to *PointToDevicePixels() (* = floor/round/ceil)
1111 EnclosedIntRect -> enclosingIntRect() changes functionality for InspectorOverlay painting,
1112 but currently untestable.
1115 * inspector/InspectorOverlay.cpp:
1116 (WebCore::InspectorOverlay::showPaintRect):
1117 * platform/graphics/FloatPoint.h:
1118 (WebCore::flooredIntSize):
1119 (WebCore::floorPointToDevicePixels):
1120 (WebCore::ceilPointToDevicePixels):
1121 (WebCore::flooredToDevicePixels): Deleted.
1122 (WebCore::ceiledToDevicePixels): Deleted.
1123 * platform/graphics/FloatRect.cpp:
1124 (WebCore::enclosingRectToDevicePixels):
1125 (WebCore::enclosingRectExtendedToDevicePixels): Deleted. Renamed.
1126 (WebCore::enclosedIntRect): Deleted. Not needed.
1127 * platform/graphics/FloatRect.h:
1129 2014-08-27 Zalan Bujtas <zalan@apple.com>
1131 Subpixel layout: Rename LayoutPoint's device pixel snapping functions.
1132 https://bugs.webkit.org/show_bug.cgi?id=136306
1134 Reviewed by Simon Fraser.
1136 From *edForPainting() to *PointToDevicePixels() (* = floor/round/ceil)
1138 No change in functionality.
1140 * platform/graphics/LayoutPoint.h:
1141 (WebCore::roundPointToDevicePixels):
1142 (WebCore::floorPointToDevicePixels):
1143 (WebCore::ceilPointToDevicePixels):
1144 (WebCore::roundedForPainting): Deleted.
1145 (WebCore::flooredForPainting): Deleted.
1146 (WebCore::ceiledForPainting): Deleted.
1147 * platform/graphics/LayoutRect.cpp:
1148 (WebCore::enclosingRectForPainting):
1149 * platform/graphics/LayoutRect.h:
1150 (WebCore::directionalPixelSnappedForPainting):
1151 * rendering/RenderBoxModelObject.cpp:
1152 (WebCore::RenderBoxModelObject::pixelSnapBackgroundImageGeometryForPainting):
1153 * rendering/RenderLayer.cpp:
1154 (WebCore::RenderLayer::paintLayerByApplyingTransform):
1155 (WebCore::RenderLayer::calculateClipRects):
1156 * rendering/RenderLayerBacking.cpp:
1157 (WebCore::RenderLayerBacking::updateGeometry):
1159 2014-08-27 Zalan Bujtas <zalan@apple.com>
1161 Subpixel layout: Rename LayoutSize's device pixel snapping functions.
1162 https://bugs.webkit.org/show_bug.cgi?id=136310
1164 Reviewed by Simon Fraser.
1166 From *edForPainting() to *SizeToDevicePixels() (* = floor/round/ceil)
1168 No change in functionality.
1170 * platform/graphics/LayoutSize.h:
1171 (WebCore::floorSizeToDevicePixels):
1172 (WebCore::flooredForPainting): Deleted.
1173 * rendering/style/StyleGeneratedImage.cpp:
1174 (WebCore::StyleGeneratedImage::computeIntrinsicDimensions):
1176 2014-08-27 Brian J. Burg <burg@cs.washington.edu>
1178 Enums in ScrollTypes and PlatformWheelEvent should not use uint64_t storage
1179 https://bugs.webkit.org/show_bug.cgi?id=136318
1181 Reviewed by Simon Fraser.
1183 This regressed in a replay-related patch. Revert back to uint8_t storage size.
1185 * platform/PlatformWheelEvent.h:
1186 * platform/ScrollTypes.h:
1187 * replay/WebInputs.json:
1189 2014-08-27 Simon Fraser <simon.fraser@apple.com>
1193 Reviewed by Tim Horton.
1195 * page/EventHandler.cpp:
1196 (WebCore::EventHandler::handleMousePressEvent):
1197 (WebCore::EventHandler::handleMouseDoubleClickEvent):
1198 (WebCore::EventHandler::handleMouseMoveEvent):
1199 (WebCore::EventHandler::handleMouseReleaseEvent):
1200 (WebCore::EventHandler::handlePasteGlobalSelection):
1201 (WebCore::EventHandler::updateMouseEventTargetNode):
1202 (WebCore::EventHandler::dispatchMouseEvent):
1203 (WebCore::EventHandler::sendContextMenuEventForKey):
1204 (WebCore::EventHandler::dispatchSyntheticTouchEventIfEnabled):
1206 2014-08-27 Simon Fraser <simon.fraser@apple.com>
1210 * page/EventHandler.cpp:
1211 (WebCore::EventHandler::handleMousePressEvent):
1213 2014-08-27 Andreas Kling <akling@apple.com>
1215 Drawing text in an SVG font causes load events to be fired.
1216 <https://webkit.org/b/136269>
1217 <rdar://problem/15724915>
1219 Don't flush pending load events in Document::implicitClose() for frameless documents.
1220 This is a targeted fix for an issue where parsing SVG fonts during layout would cause
1221 event dispatch to happen in the main document, leading to arbitrary JS execution.
1223 Note that the testcase only works in DRT/WTR, since once the SVG font is in cached
1224 by WebCore, we won't reparse it again. Caches are cleared between tests, so it will
1225 correctly fail if this should regress.
1227 Longer-term, we should clean this up and get rid of the global dispatch entirely.
1229 Reviewed by Simon Fraser.
1231 Test: fast/text/svg-font-trigger-load-event.html
1234 (WebCore::Document::implicitClose):
1236 2014-08-27 Simon Fraser <simon.fraser@apple.com>
1238 Some EventHandler naming cleanup
1239 https://bugs.webkit.org/show_bug.cgi?id=136303
1241 Reviewed by Beth Dakin.
1243 Rename "mev" variables to "mouseEvent".
1247 * page/EventHandler.cpp:
1248 (WebCore::EventHandler::handleMousePressEvent):
1249 (WebCore::EventHandler::handleMouseDoubleClickEvent):
1250 (WebCore::EventHandler::handleMouseMoveEvent):
1251 (WebCore::EventHandler::handleMouseReleaseEvent):
1252 (WebCore::EventHandler::updateDragAndDrop):
1253 (WebCore::EventHandler::prepareMouseEvent):
1254 (WebCore::EventHandler::sendContextMenuEvent):
1255 (WebCore::EventHandler::passMousePressEventToScrollbar):
1256 (WebCore::EventHandler::dispatchSyntheticTouchEventIfEnabled):
1258 2014-08-27 Simon Fraser <simon.fraser@apple.com>
1260 Some EventHandler naming cleanup
1261 https://bugs.webkit.org/show_bug.cgi?id=136303
1263 Reviewed by Beth Dakin.
1265 Rename PlatformMouseEvent variables from "mouseEvent" to "platformMouseEvent"
1266 so that a later patch can rename "mev" to "mouseEvent".
1272 * page/EventHandler.cpp:
1273 (WebCore::EventHandler::clear):
1274 (WebCore::EventHandler::handleMousePressEvent):
1275 (WebCore::EventHandler::handleMouseDoubleClickEvent):
1276 (WebCore::EventHandler::handleMouseMoveEvent):
1277 (WebCore::EventHandler::invalidateClick):
1278 (WebCore::EventHandler::handleMouseReleaseEvent):
1279 (WebCore::EventHandler::handlePasteGlobalSelection):
1280 (WebCore::EventHandler::updateMouseEventTargetNode):
1281 (WebCore::EventHandler::dispatchMouseEvent):
1282 (WebCore::EventHandler::sendContextMenuEventForKey):
1283 (WebCore::EventHandler::dispatchSyntheticTouchEventIfEnabled):
1285 2014-08-27 Beth Dakin <bdakin@apple.com>
1287 Make isScrollableOrRubberbandable() a virtual function on RenderLayerModelObject
1288 https://bugs.webkit.org/show_bug.cgi?id=136307
1290 Reviewed by Simon Fraser.
1292 Remove extra parentheses.
1293 * page/FrameView.cpp:
1294 (WebCore::FrameView::isScrollable):
1296 Mark isScrollableOrRubberbandable() as override now that the root implementation
1297 is moving to RenderLayerModelObject. It can also be private now.
1298 * rendering/RenderBox.h:
1300 isBox() check and cast are no longer necessary.
1301 * rendering/RenderLayer.cpp:
1302 (WebCore::RenderLayer::hasScrollableOrRubberbandableAncestor):
1304 Base implementation should return false.
1305 * rendering/RenderLayerModelObject.h:
1306 (WebCore::RenderLayerModelObject::isScrollableOrRubberbandable):
1309 * rendering/RenderView.h:
1311 2014-08-27 Antti Koivisto <antti@apple.com>
1313 REGRESSION(r172946): Plugin tests asserting on Yosemite debug bot
1314 https://bugs.webkit.org/show_bug.cgi?id=136301
1316 Reviewed by Alexey Proskuryakov.
1318 Don't pull the priority from the platform request if it is not defined.
1320 * platform/network/cf/ResourceRequestCFNet.cpp:
1321 (WebCore::ResourceRequest::doUpdateResourceRequest):
1322 * platform/network/cocoa/ResourceRequestCocoa.mm:
1323 (WebCore::ResourceRequest::doUpdateResourceRequest):
1325 2014-08-27 Timothy Hatcher <timothy@apple.com>
1327 Web Inspector: Crash when you open Web Inspector in a private window (due to IndexedDB)
1328 https://bugs.webkit.org/show_bug.cgi?id=136293
1330 Reviewed by Joseph Pecoraro.
1332 * inspector/InspectorIndexedDBAgent.cpp:
1333 (WebCore::InspectorIndexedDBAgent::requestDatabaseNames): Null check idbRequest from
1334 IDBFactory::getDatabaseNames, which can return null now after r172603 in private browsing.
1336 2014-08-27 Beth Dakin <bdakin@apple.com>
1338 overflow:scroll elements should not latch to the body if the body is
1340 https://bugs.webkit.org/show_bug.cgi?id=136273
1342 Reviewed by Darin Adler.
1344 This patch adds an optional parameter to isScrollable(). The Scrollability
1345 parameter that allows the caller to define what they mean by 'scrollable.' Most
1346 callers are interested in the default value, Scrollability::Scrollable, which
1347 means that there is actually content to scroll to, and a scrollbar that will allow
1348 you to access it. In some cases, such as this latching case, callers want to know
1349 if the FrameView is allowed to rubber-band, which the main frame might be allowed
1350 to do even if there is no content to scroll to. In that case, callers use
1351 Scrollability::ScrollableOrRubberbandable.
1352 * page/FrameView.cpp:
1353 (WebCore::FrameView::isScrollable):
1354 (WebCore::FrameView::hasScrollableOrRubberbandableAncestor):
1356 New virtual function on ScrollableArea answers whether a ScrollableArea has any
1357 scrollable or rubber-bandable ancestor.
1359 * platform/ScrollableArea.h:
1361 Events should only be allowed to prevent stretching if there is some ancestor
1362 ScrollableArea that will be able to make use of the event.
1363 * platform/mac/ScrollAnimatorMac.mm:
1364 (WebCore::ScrollAnimatorMac::allowsVerticalStretching):
1365 (WebCore::ScrollAnimatorMac::allowsHorizontalStretching):
1367 New ScrollableArea virtual function.
1368 * platform/win/PopupMenuWin.h:
1370 New RenderBox isScrollableOrRubberbandable() returns just
1371 canBeScrolledAndHasScrollableArea() for most RenderBox, but will be overridden by
1373 * rendering/RenderBox.cpp:
1374 (WebCore::RenderBox::isScrollableOrRubberbandable):
1375 * rendering/RenderBox.h:
1377 Recurse up the parent chain to find out if anything is scrollable or just rubber-
1379 * rendering/RenderLayer.cpp:
1380 (WebCore::RenderLayer::hasScrollableOrRubberbandableAncestor):
1381 * rendering/RenderLayer.h:
1383 Call into RenderLayer.
1384 * rendering/RenderListBox.cpp:
1385 (WebCore::RenderListBox::hasScrollableOrRubberbandableAncestor):
1386 * rendering/RenderListBox.h:
1388 Override isScrollableOrRubberbandable() to handle the main frame case where the
1389 main frame is typically allowed to rubber-band even if there is no content to
1391 * rendering/RenderView.cpp:
1392 (WebCore::RenderView::isScrollableOrRubberbandable):
1393 * rendering/RenderView.h:
1395 2014-08-27 Benjamin Poulain <bpoulain@apple.com>
1397 Updating attributes on HTML elements do not invalidate the style correctly unless the attribute name is lowercase in the stylesheet
1398 https://bugs.webkit.org/show_bug.cgi?id=136270
1400 Reviewed by Andreas Kling.
1402 In HTML, WebKit treats every attribute name lowercase to implement case-insensitive matching.
1403 When invalidating style, the StyleResolver was ignoring HTML and always using the XML names.
1405 This patch split the names on RuleFeatureSet in two sets: one for XML, one for HTML.
1406 In StyleResolver, the name used depends on the type of the element being updated.
1408 This patch also adds nodeNeedsStyleRecalc() to Internals to test the optimization and various cases
1411 Tests: fast/css/attribute-for-content-property-style-update-html.html
1412 fast/css/attribute-for-content-property-style-update-xhtml.xhtml
1413 fast/css/attribute-style-invalidation-optimization-html.html
1414 fast/css/attribute-style-invalidation-optimization-xhtml.xhtml
1415 fast/css/attribute-style-update-html.html
1416 fast/selectors/attribute-style-update-html.html
1417 fast/selectors/attribute-style-update-svg-in-html.html
1418 fast/selectors/attribute-style-update-xhtml.xhtml
1420 * css/RuleFeature.cpp:
1421 (WebCore::RuleFeatureSet::collectFeaturesFromSelector):
1422 (WebCore::RuleFeatureSet::add):
1423 (WebCore::RuleFeatureSet::clear):
1424 * css/RuleFeature.h:
1425 * css/StyleResolver.cpp:
1426 (WebCore::StyleResolver::applyProperty):
1427 * css/StyleResolver.h:
1428 (WebCore::StyleResolver::hasSelectorForAttribute):
1430 (WebCore::Element::willModifyAttribute):
1431 * testing/Internals.cpp:
1432 (WebCore::Internals::address):
1433 (WebCore::Internals::nodeNeedsStyleRecalc):
1434 * testing/Internals.h:
1435 * testing/Internals.idl:
1437 2014-08-27 Benjamin Poulain <bpoulain@apple.com>
1439 Update the CSS Grammar selector names to get closer to the latest terminology
1440 https://bugs.webkit.org/show_bug.cgi?id=136277
1442 Reviewed by Andreas Kling.
1444 CSS Selector Level 4 gives useful definitions for various parts of a selector
1445 (see http://dev.w3.org/csswg/selectors4/#structure). This patch updates our names to be closer
1448 Stricto sensu, our definition of "simple selector list" is wrong. I did not attempt to fix this
1449 because updates of CSS Selector Level 4 and WebVTT will eventually make that whole concept useless.
1451 * css/CSSGrammar.y.in:
1453 2014-08-27 Gyuyoung Kim <gyuyoung.kim@samsung.com>
1455 [EFL] Unskip compositing test
1456 https://bugs.webkit.org/show_bug.cgi?id=136151
1458 Reviewed by Csaba Osztrogonác.
1460 * rendering/RenderLayerBacking.cpp: Set true to setContentsOpaque() to support compositing test.
1461 (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
1463 2014-08-26 Vivek Galatage <vivek.vg@samsung.com>
1465 Canvas direction should reflect change in dir attribute and also across save/restore operations
1466 https://bugs.webkit.org/show_bug.cgi?id=136098
1468 Reviewed by Darin Adler.
1470 Changed State.m_direction type from TextDirection to Direction enum to accomodate 'inherit'
1471 as a separate value. Modified the getter to compute the 'live' value for the direction attribute.
1472 Removed explicit passing of direction to CanvasRenderingContext2D::State constructor.
1474 Updated existing canvas-direction.html with additional cases to reflect this change.
1476 * html/canvas/CanvasRenderingContext2D.cpp:
1477 (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
1478 (WebCore::CanvasRenderingContext2D::reset):
1479 (WebCore::CanvasRenderingContext2D::State::State):
1480 (WebCore::CanvasRenderingContext2D::toTextDirection):
1481 (WebCore::CanvasRenderingContext2D::direction):
1482 (WebCore::CanvasRenderingContext2D::setDirection):
1483 (WebCore::CanvasRenderingContext2D::drawTextInternal):
1484 (WebCore::inheritedDirection): Deleted.
1485 * html/canvas/CanvasRenderingContext2D.h:
1487 2014-08-26 Benjamin Poulain <bpoulain@apple.com>
1489 Minor style tweak on StyleResolveTree
1490 https://bugs.webkit.org/show_bug.cgi?id=136233
1492 Reviewed by Sam Weinig.
1494 * style/StyleResolveTree.cpp:
1495 (WebCore::Style::resolveTree):
1496 Clang likely optimized it away, but I find that explicit style cleaner.
1498 2014-08-26 Brian J. Burg <burg@cs.washington.edu>
1500 Web Inspector: put feature flags for Inspector domains in the protocol specification
1501 https://bugs.webkit.org/show_bug.cgi?id=136027
1503 Reviewed by Timothy Hatcher.
1505 Add 'featureGuard' settings to wrap domains with ENABLE macros.
1507 No new tests. No behavior was changed.
1509 * inspector/protocol/Database.json:
1510 * inspector/protocol/IndexedDB.json:
1511 * inspector/protocol/Replay.json:
1513 2014-08-26 Andy Estes <aestes@apple.com>
1515 [Cocoa] Some projects are incorrectly installed to $BUILT_PRODUCTS_DIR
1516 https://bugs.webkit.org/show_bug.cgi?id=136267
1518 Reviewed by Dan Bernstein.
1520 INSTALL_PATH was set to $BUILT_PRODUCTS_DIR for engineering configurations in r20225 as part of a build fix.
1521 Not only is this no longer necessary to build, but it causes built products to be incorrectly installed in
1522 engineering configurations.
1524 Remove the setting of INSTALL_PATH from the pbxproj file so that the value specified in the xcconfig files is
1527 * WebCore.xcodeproj/project.pbxproj:
1529 2014-08-26 Brent Fulgham <bfulgham@apple.com>
1531 [Win] WebKit IDL incorrectly passes HWND as OLE_HANDLE
1532 https://bugs.webkit.org/show_bug.cgi?id=136258
1533 <rdar://problem/18134138>
1535 Reviewed by Tim Horton.
1537 Avoid 32/64-bit truncation by preventing 64-bit HWND (and other)
1538 values from passing through the 32-bit OLE_HANDLE data type.
1540 * platform/win/WindowMessageBroadcaster.cpp:
1541 (WebCore::WindowMessageBroadcaster::addListener):
1542 (WebCore::WindowMessageBroadcaster::removeListener):
1543 (WebCore::WindowMessageBroadcaster::destroy):
1544 (WebCore::WindowMessageBroadcaster::unsubclassWindow):
1545 (WebCore::WindowMessageBroadcaster::SubclassedWndProc):
1547 2014-08-25 Maciej Stachowiak <mjs@apple.com>
1549 Replace use of WKCopyCFLocalizationPreferredName with NSLocale public API
1550 https://bugs.webkit.org/show_bug.cgi?id=136082
1552 Reviewed by Alexey Proskuryakov.
1554 * platform/mac/Language.mm:
1555 (WebCore::httpStyleLanguageCode): Replace use of WKCopyCFLocalizationPreferredName
1556 with new WebCoreNSStringExtras helper.
1557 * platform/mac/WebCoreNSStringExtras.mm: Replacements for the aspects of
1558 WKCopyCFLocalizationPreferredName.
1559 (preferredBundleLocalizationName): New helper - most preferred localization available
1560 in the main bundle, canonicalized the way we like it.
1561 (canonicalLocalizationName): Convert a lcalization name to a string with language and
1562 country code, using default if necessary (e.g. "en" maps to "en_US").
1563 * WebCore.order: Remove mention of WKCopyCFLocalizationPreferredName.
1564 * WebCore.exp.in: ditto; also export preferredBundleLocalizationName for WebKit(2).
1565 * platform/ios/WebCoreSystemInterfaceIOS.mm: ditto
1566 * platform/mac/WebCoreSystemInterface.h: ditto
1567 * platform/mac/WebCoreSystemInterface.mm: ditto
1568 * platform/spi/cf: Added.
1569 * platform/spi/cf/CFLocaleSPI.h: Added. Declare
1570 CFLocaleGetLanguageRegionEncodingForLocaleIdentifier.
1572 2014-08-26 Zoltan Horvath <zoltan@webkit.org>
1574 [CSS Shapes] Positioned polygon reftests failing
1575 https://bugs.webkit.org/show_bug.cgi?id=135925
1577 Reviewed by David Hyatt.
1579 We didn't respect the shape-margin before a positioned polygon, since we checked
1580 the shape-margin for only 1 vertex for a polygon edge. This patch fixes the behavior,
1581 removes the tests from the skipped list and updates 1 test, which was incorrect.
1583 Updated existing test and removed tests from skipped list.
1585 * rendering/shapes/PolygonShape.cpp:
1586 (WebCore::clippedCircleXRange):
1587 (WebCore::PolygonShape::getExcludedInterval):
1589 2014-08-26 Zalan Bujtas <zalan@apple.com>
1591 Subpixel layout: Remove float to LayoutUnit ceil/round function wrappers.
1592 https://bugs.webkit.org/show_bug.cgi?id=136253
1594 Reviewed by Simon Fraser.
1596 These functions wrap LayoutUnit::fromFloatCeil/fromFloatRound() functions to ceil/round float to LayoutUnit.
1597 Their usage is limited and can easily be confused with the snapping functions (snap to css/device pixels).
1599 No change in functionality.
1601 * platform/LayoutUnit.h:
1602 (WebCore::roundedLayoutUnit): Deleted. : Callers use the more explicit LayoutUnit::fromFloatRound() function.
1603 (WebCore::ceiledLayoutUnit): Deleted. : Callers use the more explicit LayoutUnit::fromFloatCeil() function.
1604 * rendering/RenderBlock.cpp:
1605 (WebCore::updatePreferredWidth):
1606 (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
1607 (WebCore::adjustFloatForSubPixelLayout): Deleted.
1608 * rendering/RenderBox.cpp:
1609 (WebCore::RenderBox::positionLineBox):
1610 * rendering/RenderFlexibleBox.cpp:
1611 (WebCore::RenderFlexibleBox::resolveFlexibleLengths):
1612 * rendering/RenderInline.cpp:
1613 (WebCore::RenderInline::offsetForInFlowPositionedInline):
1614 * rendering/RenderTextControlSingleLine.cpp:
1615 (WebCore::RenderTextControlSingleLine::preferredContentLogicalWidth):
1617 2014-08-26 Simon Fraser <simon.fraser@apple.com>
1619 Ensure that layout is up-to-date before hit testing
1620 https://bugs.webkit.org/show_bug.cgi?id=136242
1621 rdar://problem/17435564
1623 Reviewed by Tim Horton.
1625 Various code paths can call into RenderView::hitTest() but fail to
1626 ensure that layout is up-to-date. This is a conservative change that
1627 fixes the issue for callers of EventHandler::hitTestResultAtPoint(),
1628 including WebPage::acceptsFirstMouse() and WebFrame::hitTest().
1630 This change is not general enough that we can ASSERT(!needsLayout())
1631 in RenderView::hitTest() yet.
1633 * page/EventHandler.cpp:
1634 (WebCore::EventHandler::hitTestResultAtPoint):
1636 2014-08-26 Beth Dakin <bdakin@apple.com>
1638 Rubber-banding in overflow:scroll regions does not work correctly with
1640 https://bugs.webkit.org/show_bug.cgi?id=136176
1642 Reviewed by Tim Horton.
1645 * rendering/RenderLayer.cpp:
1646 (WebCore::RenderLayer::visibleContentRectInternal):
1648 2014-08-26 Tim Horton <timothy_horton@apple.com>
1650 Fix the build after r172963
1654 2014-08-25 Gavin Barraclough <barraclough@apple.com>
1656 DOMTimer may be deleted during timer fire
1657 https://bugs.webkit.org/show_bug.cgi?id=136198
1659 Reviewed by Geoff Garen.
1661 Consequentially ScheduledActions may also be deleted mid execution.
1662 This is fairly surprising & fragile, let's make this simpler.
1664 Currently DOMTimer instances are effectively owned by the ScriptExecutionContext.
1665 There is a 1-1 mapping between timers and contexts, all timers are help in a map
1666 on the context and if the context goes away all timers are deleted. Rather than
1667 being implemented in a straightforward fashion (a smart pointer type for the map
1668 value) this is currently implemented by having the timer objects listen for the
1669 context going away using contextDestroyed, and deleting themselves if so.
1671 Switch to using a smart pointer for values of m_timeouts in ScriptExecutionContext.
1672 By using a RefCounted object we can also extend the lifetime of the DOMTimer instance
1673 from within the DOMTimer::fired method, so the object is not destroyed while the
1674 member function is still on the stack.
1676 * WebCore.xcodeproj/project.pbxproj:
1677 - project -> private since DOMTimer could no longer be a forward declare in ScriptExecutionContext.h.
1678 * dom/ScriptExecutionContext.cpp:
1679 (WebCore::ScriptExecutionContext::adjustMinimumTimerInterval):
1680 (WebCore::ScriptExecutionContext::didChangeTimerAlignmentInterval):
1681 - auto* -> auto& since value type in map is no longer a raw pointer.
1682 * dom/ScriptExecutionContext.h:
1683 (WebCore::ScriptExecutionContext::addTimeout):
1684 - DOMTimer* -> PassRefPtr<DOMTimer>
1685 * page/DOMTimer.cpp:
1686 (WebCore::DOMTimer::DOMTimer):
1687 - adopt the initial ref, and pass to addTimeout.
1688 (WebCore::DOMTimer::install):
1690 (WebCore::DOMTimer::removeById):
1691 - instead of explicitly deleting the timer and assuming this will implicitly remove it from the context map,
1692 we explicitly remove it from the context map and assume this will implicitly deleting the timer!
1693 (WebCore::DOMTimer::fired):
1694 - Add a RefPtr to keep the DOMTimer object alive until the fired method completes; to cancel a one-shot timer
1695 just remove it from the context's map, rather than explicitly deleting it.
1696 (WebCore::DOMTimer::~DOMTimer): Deleted.
1697 (WebCore::DOMTimer::contextDestroyed): Deleted.
1698 - no need! object lifetime management now handled by smart pointers.
1700 - added parent class RefCounted<DOMTimer>.
1702 2014-08-26 Carlos Garcia Campos <cgarcia@igalia.com>
1704 [GTK] Selection background is rendered white when unfocused with recent GTK+
1705 https://bugs.webkit.org/show_bug.cgi?id=136251
1707 Reviewed by Martin Robinson.
1709 This is due to a change in the GTK+ theme, but because we are not
1710 using the right flags to get the selections colors. We should use
1711 GTK_STATE_FLAG_SELECTED | GTK_STATE_FLAG_FOCUSED when focused and
1712 GTK_STATE_FLAG_SELECTED when unfocused, instead of
1713 GTK_STATE_FLAG_ACTIVE when unfocused.
1715 * platform/gtk/RenderThemeGtk3.cpp:
1716 (WebCore::RenderThemeGtk::platformActiveSelectionBackgroundColor):
1717 (WebCore::RenderThemeGtk::platformInactiveSelectionBackgroundColor):
1718 (WebCore::RenderThemeGtk::platformActiveSelectionForegroundColor):
1719 (WebCore::RenderThemeGtk::platformInactiveSelectionForegroundColor):
1720 (WebCore::RenderThemeGtk::platformActiveListBoxSelectionBackgroundColor):
1721 (WebCore::RenderThemeGtk::platformInactiveListBoxSelectionBackgroundColor):
1722 (WebCore::RenderThemeGtk::platformActiveListBoxSelectionForegroundColor):
1723 (WebCore::RenderThemeGtk::platformInactiveListBoxSelectionForegroundColor):
1725 2014-08-26 Krzysztof Czech <k.czech@samsung.com>
1727 [EFL] Utilize espeak as a synthesizer back-end for WebSpeech
1728 https://bugs.webkit.org/show_bug.cgi?id=136127
1730 Reviewed by Gyuyoung Kim.
1732 Utilize espeak API to have support for speak, cancel and initializeVoiceList.
1734 * PlatformEfl.cmake:
1735 * platform/efl/PlatformSpeechSynthesisProviderEfl.cpp:
1736 (WebCore::PlatformSpeechSynthesisProviderEfl::PlatformSpeechSynthesisProviderEfl):
1737 (WebCore::PlatformSpeechSynthesisProviderEfl::convertRateToEspeakValue):
1738 (WebCore::PlatformSpeechSynthesisProviderEfl::convertVolumeToEspeakValue):
1739 (WebCore::PlatformSpeechSynthesisProviderEfl::convertPitchToEspeakValue):
1740 (WebCore::PlatformSpeechSynthesisProviderEfl::voiceName):
1741 (WebCore::PlatformSpeechSynthesisProviderEfl::engineInit):
1742 (WebCore::PlatformSpeechSynthesisProviderEfl::currentVoice):
1743 (WebCore::PlatformSpeechSynthesisProviderEfl::initializeVoiceList):
1744 (WebCore::PlatformSpeechSynthesisProviderEfl::speak):
1745 (WebCore::PlatformSpeechSynthesisProviderEfl::cancel):
1746 (WebCore::PlatformSpeechSynthesisProviderEfl::fireSpeechEvent):
1747 * platform/efl/PlatformSpeechSynthesisProviderEfl.h:
1748 * platform/efl/PlatformSpeechSynthesizerEfl.cpp:
1749 (WebCore::PlatformSpeechSynthesizer::PlatformSpeechSynthesizer):
1750 (WebCore::PlatformSpeechSynthesizer::initializeVoiceList):
1751 (WebCore::PlatformSpeechSynthesizer::pause):
1752 (WebCore::PlatformSpeechSynthesizer::resume):
1753 (WebCore::PlatformSpeechSynthesizer::speak):
1754 (WebCore::PlatformSpeechSynthesizer::cancel):
1756 2014-08-26 Ryuan Choi <ryuan.choi@samsung.com>
1758 [EFL] Build break using clang
1759 https://bugs.webkit.org/show_bug.cgi?id=136245
1761 Reviewed by Gyuyoung Kim.
1763 * css/ViewportStyleResolver.cpp: Includes NodeRenderStyle.h
1765 2014-08-26 Mark Rowe <mrowe@apple.com>
1767 Build fix after r172951.
1769 * fileapi/Blob.h: Give the argument the name that the predicates expect.
1771 2014-08-25 Gyuyoung Kim <gyuyoung.kim@samsung.com>
1773 Generate toFile() instead of manual functions.
1774 https://bugs.webkit.org/show_bug.cgi?id=136207
1776 Reviewed by Darin Adler.
1778 No new tests, no behavior changes.
1780 * fileapi/Blob.h: Define BLOB_TYPE_CASTS.
1781 * fileapi/File.h: Use BLOB_TYPE_CASTS to generate toFile().
1782 (WebCore::toFile): Deleted.
1784 2014-08-25 Zalan Bujtas <zalan@apple.com>
1786 Subpixel layout: remove roundedLayoutPoint/roundedLayoutSize functions.
1787 https://bugs.webkit.org/show_bug.cgi?id=136236
1789 Reviewed by Simon Fraser.
1791 These functions simply call LayoutPoint/LayoutSize c'tors. They don't round the input value at all.
1793 Non change in functionality.
1795 * dom/MouseRelatedEvent.cpp:
1796 (WebCore::MouseRelatedEvent::computePageLocation):
1797 (WebCore::MouseRelatedEvent::computeRelativePosition):
1799 (WebCore::Touch::Touch):
1800 * html/shadow/SliderThumbElement.cpp:
1801 (WebCore::SliderThumbElement::setPositionFromPoint):
1802 * page/DragController.cpp:
1803 (WebCore::elementUnderMouse):
1804 * page/EventHandler.cpp:
1805 (WebCore::selectionExtentRespectingEditingBoundary):
1806 * page/scrolling/ios/ScrollingTreeFrameScrollingNodeIOS.mm:
1807 (WebCore::ScrollingTreeFrameScrollingNodeIOS::updateChildNodesAfterScroll):
1808 * page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:
1809 (WebCore::ScrollingTreeFrameScrollingNodeMac::setScrollLayerPosition):
1810 * platform/graphics/LayoutPoint.h:
1811 (WebCore::roundedLayoutPoint): Deleted.
1812 * platform/graphics/LayoutSize.h:
1813 (WebCore::roundedLayoutSize): Deleted.
1814 * rendering/EllipsisBox.cpp:
1815 (WebCore::EllipsisBox::nodeAtPoint):
1816 * rendering/RenderBlock.cpp:
1817 (WebCore::RenderBlock::selectionGapRectsForRepaint):
1818 * rendering/RenderBox.cpp:
1819 (WebCore::RenderBox::mapLocalToContainer):
1820 (WebCore::RenderBox::positionLineBox):
1821 * rendering/RenderEmbeddedObject.cpp:
1822 (WebCore::RenderEmbeddedObject::isInUnavailablePluginIndicator):
1823 * rendering/RenderEmbeddedObject.h:
1824 * rendering/RenderInline.cpp:
1825 (WebCore::RenderInline::localCaretRect):
1826 (WebCore::RenderInline::mapLocalToContainer):
1827 * rendering/RenderLayer.cpp:
1828 (WebCore::RenderLayer::absoluteToContents):
1829 (WebCore::RenderLayer::calculateClipRects):
1830 * rendering/RenderMultiColumnFlowThread.cpp:
1831 (WebCore::RenderMultiColumnFlowThread::mapAbsoluteToLocalPoint):
1832 * rendering/RenderObject.cpp:
1833 (WebCore::RenderObject::mapLocalToContainer):
1834 * rendering/shapes/ShapeOutsideInfo.cpp:
1835 (WebCore::ShapeOutsideInfo::createShapeForImage):
1836 * rendering/svg/RenderSVGContainer.cpp:
1837 (WebCore::RenderSVGContainer::nodeAtFloatPoint):
1838 * rendering/svg/RenderSVGForeignObject.cpp:
1839 (WebCore::RenderSVGForeignObject::nodeAtFloatPoint):
1840 * rendering/svg/RenderSVGImage.cpp:
1841 (WebCore::RenderSVGImage::nodeAtFloatPoint):
1842 * rendering/svg/RenderSVGShape.cpp:
1843 (WebCore::RenderSVGShape::nodeAtFloatPoint):
1844 * testing/Internals.cpp:
1845 (WebCore::Internals::nodesFromRect):
1847 2014-08-25 Zalan Bujtas <zalan@apple.com>
1849 Rename RenderObject::showTree() and showTreeForThis() to showNodeTree*().
1850 https://bugs.webkit.org/show_bug.cgi?id=136238
1852 Reviewed by Simon Fraser.
1854 showNodeTree()/showNodeTreeForThis() reflects the functionality better.
1856 No change in functionality.
1858 * rendering/InlineBox.cpp:
1859 (WebCore::InlineBox::showNodeTreeForThis):
1861 (WebCore::InlineBox::showTreeForThis): Deleted.
1862 (showTree): Deleted.
1863 * rendering/InlineBox.h:
1864 * rendering/RenderObject.cpp:
1865 (WebCore::RenderObject::showNodeTreeForThis):
1867 (WebCore::RenderObject::showTreeForThis): Deleted.
1868 (showTree): Deleted.
1869 * rendering/RenderObject.h:
1871 2014-08-25 Antti Koivisto <antti@apple.com>
1873 Don't pass priority as parameter to ResourceLoadScheduler
1874 https://bugs.webkit.org/show_bug.cgi?id=136232
1876 Reviewed by Sam Weinig.
1878 It is part of the ResourceRequest which is also passed in.
1881 * loader/ResourceLoadScheduler.cpp:
1882 (WebCore::ResourceLoadScheduler::scheduleSubresourceLoad):
1883 (WebCore::ResourceLoadScheduler::schedulePluginStreamLoad):
1884 (WebCore::ResourceLoadScheduler::scheduleLoad):
1885 * loader/ResourceLoadScheduler.h:
1886 * loader/cache/CachedResource.cpp:
1887 (WebCore::CachedResource::load):
1888 * platform/network/cf/ResourceRequestCFNet.cpp:
1889 (WebCore::ResourceRequest::updateFromDelegatePreservingOldProperties):
1890 * platform/network/cocoa/ResourceRequestCocoa.mm:
1891 (WebCore::ResourceRequest::updateFromDelegatePreservingOldProperties):
1893 Restore the original request priority when a delegate modifies the request.
1895 2014-08-25 Beth Dakin <bdakin@apple.com>
1897 Rubber-banding in overflow:scroll regions does not work correctly with direction:rtl
1898 https://bugs.webkit.org/show_bug.cgi?id=136176
1900 Reviewed by Sam Weinig.
1902 Use scrollPosition() instead of scrollXOffset() and scrollYOffset() which both add
1903 in the scrollOrigin(). Other implementations of visibleContentRectInternal() do
1904 not add in the scrollOrigin(), so RenderLayer's shouldn't either in order to be
1905 consistent. This makes rubber-banding work for RTL because
1906 ScrollAnimatorMac::pinnedInDirection() and
1907 ScrollAnimatorMac::absoluteScrollPosition() both return the expect values now.
1909 * rendering/RenderLayer.cpp:
1910 (WebCore::RenderLayer::visibleContentRectInternal):
1912 2014-08-25 Benjamin Poulain <benjamin@webkit.org>
1914 Reduce style marking when using the pseudo class :placeholder-shown
1915 https://bugs.webkit.org/show_bug.cgi?id=136203
1917 Reviewed by Darin Adler.
1919 When the :placeholder-shown filter is hit, we were always marking the RenderStyle as unique.
1920 As a result, if :placeholder-shown was used without a more restrictive filter (e.g. "*:placeholder-shown"
1921 or simply ":placeholder-shown"), style sharing was disabled for the whole tree.
1923 This patch rescope the tree marking to any element that can be affected by a placeholder:
1924 any the subclass of HTMLTextFormControlElement. For other elements, any change in internal state
1925 would be irrelevant for "isPlaceholderVisible".
1927 Styling of :placeholder-shown is covered by the existing tests. Style sharing of :placeholder-shown
1928 is covered by LayoutTests/fast/css/placeholder-shown-basics.html.
1930 * css/SelectorChecker.cpp:
1931 (WebCore::SelectorChecker::checkOne):
1932 * css/SelectorCheckerTestFunctions.h:
1933 (WebCore::isPlaceholderShown): Deleted.
1934 * cssjit/SelectorCompiler.cpp:
1935 (WebCore::SelectorCompiler::makeContextStyleUniqueIfNecessaryAndTestIsPlaceholderShown):
1936 (WebCore::SelectorCompiler::makeElementStyleUniqueIfNecessaryAndTestIsPlaceholderShown):
1937 (WebCore::SelectorCompiler::isPlaceholderShown):
1938 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementHasPlaceholderShown):
1939 (WebCore::SelectorCompiler::makeUniqueIfNecessaryAndTestIsPlaceholderShown): Deleted.
1941 2014-08-25 Antti Koivisto <antti@apple.com>
1943 Remove ResourceLoader::didChangePriority
1944 https://bugs.webkit.org/show_bug.cgi?id=136230
1946 Reviewed by Andreas Kling.
1948 It doesn't do anything on any platform.
1950 * loader/ResourceLoader.cpp:
1951 (WebCore::ResourceLoader::didChangePriority): Deleted.
1952 * loader/ResourceLoader.h:
1953 * loader/cache/CachedResource.cpp:
1954 (WebCore::CachedResource::setLoadPriority):
1955 * platform/network/ResourceHandle.cpp:
1956 (WebCore::ResourceHandle::didChangePriority): Deleted.
1957 * platform/network/ResourceHandle.h:
1959 2014-08-24 Brian J. Burg <burg@cs.washington.edu>
1961 Web Inspector: rename Inspector::TypeBuilder to Inspector::Protocol
1962 https://bugs.webkit.org/show_bug.cgi?id=136031
1964 Reviewed by Timothy Hatcher.
1966 Rename TypeBuilder namespace to Protocol. Disambiguate where
1967 necessary. Also rename InspectorTypeBuilder to ProtocolTypes.
1970 * DerivedSources.make:
1971 * ForwardingHeaders/inspector/InspectorJSTypeBuilders.h: Removed.
1972 * ForwardingHeaders/inspector/InspectorTypeBuilder.h: Removed.
1974 * WebCore.vcxproj/WebCore.vcxproj:
1975 * WebCore.vcxproj/WebCore.vcxproj.filters:
1976 * WebCore.xcodeproj/project.pbxproj:
1977 * inspector/CommandLineAPIHost.cpp:
1978 (WebCore::CommandLineAPIHost::inspectImpl):
1979 * inspector/InspectorApplicationCacheAgent.cpp:
1980 (WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
1981 (WebCore::InspectorApplicationCacheAgent::getApplicationCacheForFrame):
1982 (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCache):
1983 (WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources):
1984 (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource):
1985 * inspector/InspectorApplicationCacheAgent.h:
1986 * inspector/InspectorCSSAgent.cpp:
1987 (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
1988 (WebCore::InspectorCSSAgent::getInlineStylesForNode):
1989 (WebCore::InspectorCSSAgent::getComputedStyleForNode):
1990 (WebCore::InspectorCSSAgent::getAllStyleSheets):
1991 (WebCore::InspectorCSSAgent::getStyleSheet):
1992 (WebCore::InspectorCSSAgent::setStyleText):
1993 (WebCore::InspectorCSSAgent::setPropertyText):
1994 (WebCore::InspectorCSSAgent::toggleProperty):
1995 (WebCore::InspectorCSSAgent::setRuleSelector):
1996 (WebCore::InspectorCSSAgent::addRule):
1997 (WebCore::InspectorCSSAgent::getSupportedCSSProperties):
1998 (WebCore::InspectorCSSAgent::getNamedFlowCollection):
1999 (WebCore::InspectorCSSAgent::asInspectorStyleSheet):
2000 (WebCore::InspectorCSSAgent::collectStyleSheets):
2001 (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
2002 (WebCore::InspectorCSSAgent::detectOrigin):
2003 (WebCore::InspectorCSSAgent::buildObjectForRule):
2004 (WebCore::InspectorCSSAgent::buildArrayForRuleList):
2005 (WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):
2006 (WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):
2007 (WebCore::InspectorCSSAgent::buildArrayForRegions):
2008 (WebCore::InspectorCSSAgent::buildObjectForNamedFlow):
2009 * inspector/InspectorCSSAgent.h:
2010 * inspector/InspectorDOMAgent.cpp:
2011 (WebCore::InspectorDOMAgent::didCreateFrontendAndBackend):
2012 (WebCore::InspectorDOMAgent::getDocument):
2013 (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
2014 (WebCore::InspectorDOMAgent::querySelectorAll):
2015 (WebCore::InspectorDOMAgent::pushNodePathToFrontend):
2016 (WebCore::InspectorDOMAgent::getEventListenersForNode):
2017 (WebCore::InspectorDOMAgent::getAccessibilityPropertiesForNode):
2018 (WebCore::InspectorDOMAgent::getSearchResults):
2019 (WebCore::InspectorDOMAgent::resolveNode):
2020 (WebCore::InspectorDOMAgent::getAttributes):
2021 (WebCore::InspectorDOMAgent::buildObjectForNode):
2022 (WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
2023 (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
2024 (WebCore::InspectorDOMAgent::buildObjectForEventListener):
2025 (WebCore::InspectorDOMAgent::processAccessibilityChildren):
2026 (WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
2027 (WebCore::InspectorDOMAgent::didCommitLoad):
2028 (WebCore::InspectorDOMAgent::didInsertDOMNode):
2029 (WebCore::InspectorDOMAgent::styleAttributeInvalidated):
2030 * inspector/InspectorDOMAgent.h:
2031 * inspector/InspectorDOMDebuggerAgent.cpp:
2032 (WebCore::InspectorDOMDebuggerAgent::descriptionForDOMEvent):
2033 * inspector/InspectorDOMStorageAgent.cpp:
2034 (WebCore::InspectorDOMStorageAgent::getDOMStorageItems):
2035 (WebCore::InspectorDOMStorageAgent::storageId):
2036 (WebCore::InspectorDOMStorageAgent::didDispatchDOMStorageEvent):
2037 * inspector/InspectorDOMStorageAgent.h:
2038 * inspector/InspectorDatabaseAgent.cpp:
2039 (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
2040 * inspector/InspectorDatabaseAgent.h:
2041 * inspector/InspectorDatabaseResource.cpp:
2042 (WebCore::InspectorDatabaseResource::bind):
2043 * inspector/InspectorIndexedDBAgent.cpp:
2044 * inspector/InspectorLayerTreeAgent.cpp:
2045 (WebCore::InspectorLayerTreeAgent::layersForNode):
2046 (WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderObjectHierarchy):
2047 (WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderLayerHierarchy):
2048 (WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
2049 (WebCore::InspectorLayerTreeAgent::buildObjectForIntRect):
2050 (WebCore::InspectorLayerTreeAgent::reasonsForCompositingLayer):
2051 * inspector/InspectorLayerTreeAgent.h:
2052 * inspector/InspectorPageAgent.cpp:
2053 (WebCore::InspectorPageAgent::resourceTypeJson):
2054 (WebCore::InspectorPageAgent::cachedResourceTypeJson):
2055 (WebCore::buildObjectForCookie):
2056 (WebCore::buildArrayForCookies):
2057 (WebCore::InspectorPageAgent::getCookies):
2058 (WebCore::InspectorPageAgent::getResourceTree):
2059 (WebCore::InspectorPageAgent::searchInResource):
2060 (WebCore::buildObjectForSearchResult):
2061 (WebCore::InspectorPageAgent::searchInResources):
2062 (WebCore::InspectorPageAgent::buildObjectForFrame):
2063 (WebCore::InspectorPageAgent::buildObjectForFrameTree):
2064 * inspector/InspectorPageAgent.h:
2065 * inspector/InspectorReplayAgent.cpp:
2066 (WebCore::buildInspectorObjectForPosition):
2067 (WebCore::buildInspectorObjectForInput):
2068 (WebCore::buildInspectorObjectForSession):
2069 (WebCore::buildInspectorObjectForSessionState):
2070 (WebCore::buildInspectorObjectForSegmentState):
2071 (WebCore::SerializeInputToJSONFunctor::SerializeInputToJSONFunctor):
2072 (WebCore::SerializeInputToJSONFunctor::operator()):
2073 (WebCore::buildInspectorObjectForSegment):
2074 (WebCore::InspectorReplayAgent::switchSession):
2075 (WebCore::InspectorReplayAgent::insertSessionSegment):
2076 (WebCore::InspectorReplayAgent::removeSessionSegment):
2077 (WebCore::InspectorReplayAgent::currentReplayState):
2078 (WebCore::InspectorReplayAgent::getAvailableSessions):
2079 (WebCore::InspectorReplayAgent::getSessionData):
2080 (WebCore::InspectorReplayAgent::getSegmentData):
2081 * inspector/InspectorReplayAgent.h:
2082 * inspector/InspectorResourceAgent.cpp:
2083 (WebCore::buildObjectForTiming):
2084 (WebCore::buildObjectForResourceRequest):
2085 (WebCore::buildObjectForResourceResponse):
2086 (WebCore::buildObjectForCachedResource):
2087 (WebCore::InspectorResourceAgent::willSendRequest):
2088 (WebCore::InspectorResourceAgent::didReceiveResponse):
2089 (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
2090 (WebCore::InspectorResourceAgent::buildInitiatorObject):
2091 (WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
2092 (WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
2093 (WebCore::InspectorResourceAgent::didReceiveWebSocketFrame):
2094 (WebCore::InspectorResourceAgent::didSendWebSocketFrame):
2095 * inspector/InspectorResourceAgent.h:
2096 * inspector/InspectorStyleSheet.cpp:
2097 (WebCore::buildSourceRangeObject):
2098 (WebCore::buildMediaObject):
2099 (WebCore::fillMediaListChain):
2100 (WebCore::InspectorStyle::buildObjectForStyle):
2101 (WebCore::InspectorStyle::buildArrayForComputedStyle):
2102 (WebCore::InspectorStyle::styleWithProperties):
2103 (WebCore::InspectorStyleSheet::create):
2104 (WebCore::InspectorStyleSheet::InspectorStyleSheet):
2105 (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
2106 (WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo):
2107 (WebCore::selectorsFromSource):
2108 (WebCore::InspectorStyleSheet::buildObjectForSelectorList):
2109 (WebCore::InspectorStyleSheet::buildObjectForRule):
2110 (WebCore::InspectorStyleSheet::buildObjectForStyle):
2111 (WebCore::InspectorStyleSheet::resourceStyleSheetText):
2112 (WebCore::InspectorStyleSheet::buildArrayForRuleList):
2113 (WebCore::InspectorStyleSheetForInlineStyle::create):
2114 (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
2115 * inspector/InspectorStyleSheet.h:
2116 (WebCore::InspectorStyleSheet::canBind):
2117 * inspector/InspectorTimelineAgent.cpp:
2118 (WebCore::toProtocol):
2119 (WebCore::InspectorTimelineAgent::addRecordToTimeline):
2120 (WebCore::InspectorTimelineAgent::sendEvent):
2121 * inspector/PageRuntimeAgent.cpp:
2123 2014-08-25 Brendan Long <b.long@cablelabs.com>
2125 [GStreamer] ASSERT failure in WebKitWebSource in StreamingClient
2126 https://bugs.webkit.org/show_bug.cgi?id=136132
2128 adoptGRef() has an ASSERT failure if it's used on a floating pointer. For some reason,
2129 WebKitWebSrc* src in StreamingClient's constructor is floating. Since we
2130 don't construct this ourselves, I assume this is happening in Playbin.
2132 If we remove the ref and adopt, GRefPtr's constructor calls gst_object_ref_sink,
2133 which removes the floating reference and doesn't increment the reference count.
2134 This should work, but actually causes the page to either lock up or crash (different
2135 results for different testers).
2137 In this case, it seems like the adoptGRef / gst_object_ref was the correct thing to do,
2138 but adoptGRef won't actually let us do. Removing the ASSERT is a bad idea, because
2139 usually we don't want to adopt floating pointers.
2141 This is all a long way of saying that making m_src a raw pointer and manually
2142 calling gst_object_ref(), and calling gst_object_unref in the destructor is the
2143 best solution in this case, since it fixes the problem while leaving the ASSERT
2144 to protect us in the much more common case where adopting a floating reference is bad.
2146 Reviewed by Philippe Normand.
2148 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2149 (StreamingClient::StreamingClient): Make m_src a raw pointer instead of a GRefPtr.
2150 (StreamingClient::~StreamingClient): Unref m_src.
2151 (StreamingClient::createReadBuffer): Replace m_src.get() with m_src, since it's a raw pointer now.
2152 (StreamingClient::handleResponseReceived): Same.
2153 (StreamingClient::handleDataReceived): Same.
2154 (StreamingClient::handleNotifyFinished): Same.
2155 (CachedResourceStreamingClient::notifyFinished): Same.
2156 (ResourceHandleStreamingClient::didFail): Same.
2157 (ResourceHandleStreamingClient::wasBlocked): Same.
2158 (ResourceHandleStreamingClient::cannotShowURL): Same.
2160 2014-08-25 Zan Dobersek <zdobersek@igalia.com>
2162 [GTK] Remove PopupMenuGtk, SearchPopupMenuGtk
2163 https://bugs.webkit.org/show_bug.cgi?id=136211
2165 Reviewed by Carlos Garcia Campos.
2167 Remove the two classes from the codebase. They're not used anymore
2168 after the WebKit1 layer of the GTK port was removed some time ago.
2170 * PlatformGTK.cmake:
2171 * platform/gtk/PopupMenuGtk.cpp: Removed.
2172 * platform/gtk/PopupMenuGtk.h: Removed.
2173 * platform/gtk/SearchPopupMenuGtk.cpp: Removed.
2174 * platform/gtk/SearchPopupMenuGtk.h: Removed.
2176 2014-08-25 Shivakumar JM <shiva.jm@samsung.com>
2178 Web Core: Fix unused parameter build warning.
2179 https://bugs.webkit.org/show_bug.cgi?id=136208
2181 Reviewed by Darin Adler.
2183 Fix unused build warning by removing parameter, which is not used.
2185 * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
2186 (WebCore::CoordinatedGraphicsLayer::setContentsToPlatformLayer):
2188 2014-08-22 Sergio Villar Senin <svillar@igalia.com>
2190 ASSERTION FAILED: !trackSizes.isEmpty() in WebCore::createGridTrackList
2191 https://bugs.webkit.org/show_bug.cgi?id=136149
2193 Reviewed by Darin Adler.
2195 The second argument of the repeat() function is a <track-list>
2196 that must have at least one <track-size>. Should it not be found,
2197 the declaration must be invalidated.
2199 * css/CSSParser.cpp:
2200 (WebCore::CSSParser::parseGridTrackRepeatFunction):
2202 2014-08-24 Zan Dobersek <zdobersek@igalia.com>
2204 Move WebCore storage code to C++11 lambdas, std::function
2205 https://bugs.webkit.org/show_bug.cgi?id=126435
2207 Reviewed by Darin Adler.
2209 Use C++11 lambdas instead of WTF::bind and std::function<void ()>
2210 instead of WTF::Function<void ()> in StorageAreaSync, StorageSyncManager,
2211 StorageThread and StorageTracker classes.
2213 * storage/StorageAreaSync.cpp:
2214 (WebCore::StorageAreaSync::StorageAreaSync):
2215 (WebCore::StorageAreaSync::scheduleFinalSync):
2216 (WebCore::StorageAreaSync::syncTimerFired):
2217 * storage/StorageSyncManager.cpp:
2218 (WebCore::StorageSyncManager::dispatch):
2219 * storage/StorageSyncManager.h:
2220 * storage/StorageThread.cpp:
2221 (WebCore::StorageThread::dispatch):
2222 (WebCore::StorageThread::terminate):
2223 (WebCore::StorageThread::releaseFastMallocFreeMemoryInAllThreads):
2224 * storage/StorageThread.h:
2225 * storage/StorageTracker.cpp:
2226 (WebCore::StorageTracker::importOriginIdentifiers):
2227 (WebCore::StorageTracker::syncImportOriginIdentifiers):
2228 (WebCore::StorageTracker::syncFileSystemAndTrackerDatabase):
2229 (WebCore::StorageTracker::setOriginDetails):
2230 (WebCore::StorageTracker::deleteAllOrigins):
2231 (WebCore::StorageTracker::deleteOrigin):
2233 2014-08-24 Alexey Proskuryakov <ap@apple.com>
2235 ASSERT(extractable()) when storing a non-extractable key in IndexedDB
2236 https://bugs.webkit.org/show_bug.cgi?id=136202
2237 rdar://problem/17993967
2239 Reviewed by Darin Adler.
2241 Test: crypto/subtle/rsa-indexeddb-non-exportable.html
2243 Removed the obsolete assertion.
2245 * crypto/keys/CryptoKeyAES.cpp: (WebCore::CryptoKeyAES::exportData):
2246 * crypto/keys/CryptoKeyHMAC.cpp: (WebCore::CryptoKeyHMAC::exportData):
2247 * crypto/mac/CryptoKeyRSAMac.cpp: (WebCore::CryptoKeyRSA::exportData):
2249 2014-08-24 Brian J. Burg <burg@cs.washington.edu>
2251 Web Inspector: Rename DOM.RGBA and remove workarounds in the bindings generator
2252 https://bugs.webkit.org/show_bug.cgi?id=136025
2254 Reviewed by Joseph Pecoraro.
2256 Rename DOM.RGBA to DOM.RGBAColor to avoid name clashes with headers on Windows CE.
2257 This workaround used to be special-cased in the bindings generator.
2259 Type names are not used in protocol messages, so this does not introduce legacy issues.
2261 * inspector/protocol/DOM.json:
2263 2014-08-24 Michael Catanzaro <mcatanzaro@igalia.com>
2265 [GTK] Toggle buttons visually broken with GTK+ 3.13.7
2266 https://bugs.webkit.org/show_bug.cgi?id=136130
2268 Reviewed by Martin Robinson.
2270 No new tests. Hopefully covered by existing tests, and our tests only
2271 run with GTK+ 3.6 anyway.
2273 * platform/gtk/RenderThemeGtk3.cpp:
2274 (WebCore::paintToggle): use GTK_STATE_FLAG_CHECKED when compiling for
2275 GTK+ 3.13.7 and above to ensure toggle buttons display as toggled.
2277 2014-08-23 Brady Eidson <beidson@apple.com>
2279 Random Gamepad cleanup
2280 https://bugs.webkit.org/show_bug.cgi?id=136193
2282 Reviewed by Sam Weinig.
2284 No new tests (Not tested yet, and no change in behavior anyways)
2286 - Use DOMWindow WeakPtrs when iterating
2287 - More references instead of pointers
2289 * Modules/gamepad/GamepadEvent.cpp:
2290 (WebCore::GamepadEvent::GamepadEvent):
2291 * Modules/gamepad/GamepadEvent.h:
2292 (WebCore::GamepadEvent::create):
2294 * Modules/gamepad/GamepadManager.cpp:
2295 (WebCore::GamepadManager::platformGamepadDisconnected):
2296 (WebCore::GamepadManager::makeGamepadVisible):
2297 * Modules/gamepad/NavigatorGamepad.cpp:
2298 (WebCore::NavigatorGamepad::gamepadFromPlatformGamepad):
2299 (WebCore::NavigatorGamepad::gamepadAtIndex): Deleted.
2300 * Modules/gamepad/NavigatorGamepad.h:
2302 * page/DOMWindow.cpp:
2303 (WebCore::DOMWindow::DOMWindow):
2306 2014-08-23 Byungseon Shin <sun.shin@lge.com>
2308 Unify GraphicsLayer::setContentsToMedia and setContentsToCanvas
2309 https://bugs.webkit.org/show_bug.cgi?id=109658
2311 Reviewed by Martin Robinson.
2313 Based on patch originally written by Tim Horton.
2314 Merge setContentsToMedia and setContentsToCanvas into setContentsToPlatformLayer.
2319 * platform/graphics/GraphicsLayer.h:
2320 Move ContentsLayerPurpose enum up out of GraphicsLayer platform implmentations
2321 and into GraphicsLayer, so we can use it as a parameter.
2322 Add ContentsLayerForPlugin.
2324 (WebCore::GraphicsLayer::setContentsToPlatformLayer):
2325 Remove setContentsToMedia and setContentsToCanvas, and replace them
2326 with setContentsToPlatformLayer, which previously existed but was unused
2327 and simply called setContentsToMedia.
2328 setContentsToPlatformLayer takes a ContentsLayerPurpose, primarily
2329 so that GraphicsLayerCA can know whether it needs to setNeedsDisplay
2330 the layer when parenting it (canvas) or not (everything else).
2332 * platform/graphics/ca/GraphicsLayerCA.cpp:
2333 (WebCore::GraphicsLayerCA::setContentsToPlatformLayer):
2334 Rename function setContentsToMedia -> setContentsToPlatformLayer.
2335 Rename argument mediaLayer -> platformLayer.
2336 Store the passed-in ContentsLayerPurpose.
2337 Remove setContentsToCanvas.
2339 (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
2340 (WebCore::GraphicsLayerCA::updateContentsPlatformLayer):
2341 Remove updateContentsMediaLayer and updateContentsCanvas layer,
2342 add updateContentsPlatformLayer.
2344 * platform/graphics/ca/GraphicsLayerCA.h:
2345 Do the same to the LayerChange enum.
2347 * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
2348 (WebCore::GraphicsLayerTextureMapper::setContentsToImage):
2349 (WebCore::GraphicsLayerTextureMapper::setContentsToPlatformLayer):
2350 * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
2351 * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
2352 (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
2353 (WebCore::CoordinatedGraphicsLayer::setContentsNeedsDisplay):
2354 (WebCore::CoordinatedGraphicsLayer::setContentsToPlatformLayer):
2355 (WebCore::CoordinatedGraphicsLayer::syncPlatformLayer):
2356 (WebCore::CoordinatedGraphicsLayer::destroyPlatformLayerIfNeeded):
2357 (WebCore::CoordinatedGraphicsLayer::createPlatformLayerIfNeeded):
2358 (WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
2359 Fold these together in the same way as elsewhere.
2361 * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
2362 Do the same to the LayerChange enum.
2364 * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
2365 (WebCore::CoordinatedGraphicsScene::createPlatformLayerIfNeeded):
2366 (WebCore::CoordinatedGraphicsScene::syncPlatformLayerIfNeeded):
2367 (WebCore::CoordinatedGraphicsScene::destroyPlatformLayerIfNeeded):
2368 (WebCore::CoordinatedGraphicsScene::setLayerState):
2369 * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
2370 * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:
2371 (WebCore::CoordinatedGraphicsLayerState::CoordinatedGraphicsLayerState):
2372 Rename canvasLayer -> platformLayer.
2374 * rendering/RenderLayerBacking.cpp:
2375 (WebCore::RenderLayerBacking::updateConfiguration):
2376 Use the new setContentsToPlatformLayer, passing in the relevant ContentsLayerPurpose.
2378 2014-08-23 Joseph Pecoraro <pecoraro@apple.com>
2380 Web Inspector: Do not copy large module source strings
2381 https://bugs.webkit.org/show_bug.cgi?id=136191
2383 Reviewed by Benjamin Poulain.
2385 * inspector/CommandLineAPIModule.cpp:
2386 (WebCore::CommandLineAPIModule::source):
2388 2014-08-23 Zan Dobersek <zdobersek@igalia.com>
2390 Remove uses of CrossThreadTask in ThreadableWebSocketChannelClientWrapper, WorkerThreadableWebSocketChannel
2391 https://bugs.webkit.org/show_bug.cgi?id=133954
2393 Reviewed by Darin Adler.
2395 Replace uses of CrossThreadTask with C++11 lambdas in the ThreadableWebSocketChannelClientWrapper
2396 and WorkerThreadableWebSocketChannel classes.
2398 * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
2399 (WebCore::ThreadableWebSocketChannelClientWrapper::didConnect):
2400 (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessage):
2401 (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryData):
2402 (WebCore::ThreadableWebSocketChannelClientWrapper::didUpdateBufferedAmount):
2403 (WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshake):
2404 (WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
2405 (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageError):
2406 (WebCore::ThreadableWebSocketChannelClientWrapper::processPendingTasks):
2407 (WebCore::ThreadableWebSocketChannelClientWrapper::processPendingTasksCallback): Deleted.
2408 (WebCore::ThreadableWebSocketChannelClientWrapper::didConnectCallback): Deleted.
2409 (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageCallback): Deleted.
2410 (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryDataCallback): Deleted.
2411 (WebCore::ThreadableWebSocketChannelClientWrapper::didUpdateBufferedAmountCallback): Deleted.
2412 (WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshakeCallback): Deleted.
2413 (WebCore::ThreadableWebSocketChannelClientWrapper::didCloseCallback): Deleted.
2414 (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageErrorCallback): Deleted.
2415 * Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
2416 * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
2417 (WebCore::WorkerThreadableWebSocketChannel::Peer::send):
2418 (WebCore::WorkerThreadableWebSocketChannel::Peer::bufferedAmount):
2419 (WebCore::WorkerThreadableWebSocketChannel::Peer::didConnect):
2420 (WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveMessage):
2421 (WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveBinaryData):
2422 (WebCore::WorkerThreadableWebSocketChannel::Peer::didUpdateBufferedAmount):
2423 (WebCore::WorkerThreadableWebSocketChannel::Peer::didStartClosingHandshake):
2424 (WebCore::WorkerThreadableWebSocketChannel::Peer::didClose):
2425 (WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveMessageError):
2426 (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadInitialize):
2427 (WebCore::WorkerThreadableWebSocketChannel::Bridge::connect):
2428 (WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
2429 (WebCore::WorkerThreadableWebSocketChannel::Bridge::bufferedAmount):
2430 (WebCore::WorkerThreadableWebSocketChannel::Bridge::close):
2431 (WebCore::WorkerThreadableWebSocketChannel::Bridge::fail):
2432 (WebCore::WorkerThreadableWebSocketChannel::Bridge::disconnect):
2433 (WebCore::WorkerThreadableWebSocketChannel::Bridge::suspend):
2434 (WebCore::WorkerThreadableWebSocketChannel::Bridge::resume):
2435 (WebCore::workerGlobalScopeDidSend): Deleted.
2436 (WebCore::workerGlobalScopeDidGetBufferedAmount): Deleted.
2437 (WebCore::workerGlobalScopeDidConnect): Deleted.
2438 (WebCore::workerGlobalScopeDidReceiveMessage): Deleted.
2439 (WebCore::workerGlobalScopeDidReceiveBinaryData): Deleted.
2440 (WebCore::workerGlobalScopeDidUpdateBufferedAmount): Deleted.
2441 (WebCore::workerGlobalScopeDidStartClosingHandshake): Deleted.
2442 (WebCore::workerGlobalScopeDidClose): Deleted.
2443 (WebCore::workerGlobalScopeDidReceiveMessageError): Deleted.
2444 (WebCore::WorkerThreadableWebSocketChannel::mainThreadConnect): Deleted.
2445 (WebCore::WorkerThreadableWebSocketChannel::mainThreadSend): Deleted.
2446 (WebCore::WorkerThreadableWebSocketChannel::mainThreadSendArrayBuffer): Deleted.
2447 (WebCore::WorkerThreadableWebSocketChannel::mainThreadSendBlob): Deleted.
2448 (WebCore::WorkerThreadableWebSocketChannel::mainThreadBufferedAmount): Deleted.
2449 (WebCore::WorkerThreadableWebSocketChannel::mainThreadClose): Deleted.
2450 (WebCore::WorkerThreadableWebSocketChannel::mainThreadFail): Deleted.
2451 (WebCore::WorkerThreadableWebSocketChannel::mainThreadDestroy): Deleted.
2452 (WebCore::WorkerThreadableWebSocketChannel::mainThreadSuspend): Deleted.
2453 (WebCore::WorkerThreadableWebSocketChannel::mainThreadResume): Deleted.
2454 * Modules/websockets/WorkerThreadableWebSocketChannel.h:
2456 2014-08-23 Yusuke Suzuki <utatane.tea@gmail.com>
2458 Clean up build warnings: control reaches end of non-void function
2459 https://bugs.webkit.org/show_bug.cgi?id=135889
2461 Reviewed by Alexey Proskuryakov.
2463 * bindings/js/JSCryptoAlgorithmDictionary.cpp:
2464 (WebCore::JSCryptoAlgorithmDictionary::createParametersForEncrypt):
2465 (WebCore::JSCryptoAlgorithmDictionary::createParametersForDecrypt):
2466 (WebCore::JSCryptoAlgorithmDictionary::createParametersForSign):
2467 (WebCore::JSCryptoAlgorithmDictionary::createParametersForVerify):
2468 (WebCore::JSCryptoAlgorithmDictionary::createParametersForDigest):
2469 (WebCore::JSCryptoAlgorithmDictionary::createParametersForGenerateKey):
2470 (WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveKey):
2471 (WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveBits):
2472 (WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey):
2473 (WebCore::JSCryptoAlgorithmDictionary::createParametersForExportKey):
2474 * crypto/CryptoKey.cpp:
2475 (WebCore::CryptoKey::type):
2477 2014-08-23 Zan Dobersek <zdobersek@igalia.com>
2479 [TexMap] Only notify of a required flush on the first layer property change
2480 https://bugs.webkit.org/show_bug.cgi?id=136104
2482 Reviewed by Martin Robinson.
2484 The GraphicsLayer's client should only be notified that a flush is required
2485 when the first change of one of the layer's properties is initiated, instead
2486 of requesting the flush on every such change.
2488 * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
2489 (WebCore::GraphicsLayerTextureMapper::notifyChange):
2491 2014-08-22 Dan Bernstein <mitz@apple.com>
2493 Try to fix the Mac build using the internal SDK.
2495 * bindings/objc/PublicDOMInterfaces.h:
2497 2014-08-22 Renato Nagy <nagy.renato@stud.u-szeged.hu>
2500 https://bugs.webkit.org/show_bug.cgi?id=136170
2502 Reviewed by Gyuyoung Kim.
2505 * Modules/indexeddb/IDBObjectStore.cpp:
2506 (WebCore::IDBObjectStore::createIndex):
2507 * Modules/indexeddb/IDBTransactionCoordinator.cpp:
2508 (WebCore::IDBTransactionCoordinator::canRunTransaction):
2509 (WebCore::doScopesOverlap): Deleted.
2510 * Modules/indexeddb/leveldb/IDBBackingStoreCursorLevelDB.cpp: Removed.
2511 * Modules/indexeddb/leveldb/IDBBackingStoreCursorLevelDB.h: Removed.
2512 * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp: Removed.
2513 * Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h: Removed.
2514 * Modules/indexeddb/leveldb/IDBBackingStoreTransactionLevelDB.cpp: Removed.
2515 * Modules/indexeddb/leveldb/IDBBackingStoreTransactionLevelDB.h: Removed.
2516 * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp: Removed.
2517 * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h: Removed.
2518 * Modules/indexeddb/leveldb/IDBIndexWriterLevelDB.cpp: Removed.
2519 * Modules/indexeddb/leveldb/IDBIndexWriterLevelDB.h: Removed.
2520 * Modules/indexeddb/leveldb/IDBLevelDBCoding.cpp: Removed.
2521 * Modules/indexeddb/leveldb/IDBLevelDBCoding.h: Removed.
2522 * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp: Removed.
2523 * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h: Removed.
2524 * WebCore.vcxproj/WebCore.vcxproj:
2525 * WebCore.vcxproj/WebCore.vcxproj.filters:
2526 * WebCore.xcodeproj/project.pbxproj:
2527 * platform/DatabaseStrategy.cpp:
2528 (WebCore::DatabaseStrategy::createIDBFactoryBackend):
2529 * platform/leveldb/LevelDBComparator.h: Removed.
2530 * platform/leveldb/LevelDBDatabase.cpp: Removed.
2531 * platform/leveldb/LevelDBDatabase.h: Removed.
2532 * platform/leveldb/LevelDBIterator.h: Removed.
2533 * platform/leveldb/LevelDBSlice.h: Removed.
2534 * platform/leveldb/LevelDBTransaction.cpp: Removed.
2535 * platform/leveldb/LevelDBTransaction.h: Removed.
2536 * platform/leveldb/LevelDBWriteBatch.cpp: Removed.
2537 * platform/leveldb/LevelDBWriteBatch.h: Removed.
2539 2014-08-22 KwangHyuk Kim <hyuki.kim@samsung.com>
2541 [EFL] Fix build break caused by ENABLE_GAMEPAD_DEPRECATED.
2542 https://bugs.webkit.org/show_bug.cgi?id=136110
2544 Reviewed by Gyuyoung Kim.
2546 WebCore_INCLUDE_DIRECTORY for gamepad was removed from WK2 Efl in order to fix build break when ENABLE_GAMEPAD_DEPRECATED is on.
2548 No new tests because no functional changes.
2550 * PlatformEfl.cmake:
2552 2014-08-22 Benjamin Poulain <benjamin@webkit.org>
2554 Style invalidation does not work for adjacent node updates
2555 https://bugs.webkit.org/show_bug.cgi?id=136145
2557 Reviewed by Antti Koivisto.
2559 There were a bunch of cases in which the style would be in an inconsistent
2560 state until the style resolver kicks in for the entire document.
2562 For example, let's take the selector "foo.bar + target". When the class "bar"
2563 changes, the element foo is invalidated. The element target is untouched.
2565 Now, if the style of "target" is accessed, nodeOrItsAncestorNeedsStyleRecalc()
2566 returns false and the old style is accessed.
2568 At some point, when the style of the entire document is resolved, the node
2569 "foo" is styled, and "target" is invalidated.
2572 To fix the issue, this patch adds an extra flag keeping track of subtrees that
2573 have any node needing style recalc: DirectChildNeedsStyleRecalcFlag.
2575 When invalidating the node "foo", its parent is marked with
2576 DirectChildNeedsStyleRecalcFlag to note that one of the child nodes has an invalid style.
2578 When verifying the style state in nodeOrItsAncestorNeedsStyleRecalc(), we check that flag
2579 in addition to the siblings dependencies to find if the node is part of a subtree that may
2580 be invalid due to sibling selectors.
2582 Similarly, in the style resolver, we use the flag to clear the style on all elements
2583 that could potentially be invalid.
2586 This patch removes the changes introduced by r172721
2587 (The style is not updated correctly when the pseudo class :empty is applied on anything but the rightmost element).
2588 That bug was just a special case of what is solved here.
2591 Tests: fast/selectors/attribute-direct-adjacent-style-update.html
2592 fast/selectors/attribute-sibling-style-update.html
2593 fast/selectors/class-direct-adjacent-style-update.html
2594 fast/selectors/class-sibling-style-update.html
2595 fast/selectors/first-child-direct-adjacent-style-update.html
2596 fast/selectors/first-child-sibling-style-update.html
2598 * css/SelectorChecker.cpp:
2599 (WebCore::SelectorChecker::checkOne):
2600 * cssjit/SelectorCompiler.cpp:
2601 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsEmpty):
2602 (WebCore::SelectorCompiler::setStyleOfSiblingsAffectedByEmpty): Deleted.
2603 * dom/ContainerNode.h:
2604 (WebCore::ContainerNode::directChildNeedsStyleRecalc):
2605 (WebCore::ContainerNode::setDirectChildNeedsStyleRecalc):
2606 Remove the special case for :empty.
2609 (WebCore::nodeOrItsAncestorNeedsStyleRecalc):
2611 (WebCore::checkForEmptyStyleChange):
2612 (WebCore::checkForSiblingStyleChanges):
2613 (WebCore::Element::setStyleOfSiblingsAffectedByEmpty): Deleted.
2614 (WebCore::Element::rareDataStyleOfSiblingsAffectedByEmpty): Deleted.
2616 (WebCore::Element::styleOfSiblingsAffectedByEmpty): Deleted.
2617 * dom/ElementRareData.h:
2618 (WebCore::ElementRareData::ElementRareData):
2619 (WebCore::ElementRareData::styleOfSiblingsAffectedByEmpty): Deleted.
2620 (WebCore::ElementRareData::setStyleOfSiblingsAffectedByEmpty): Deleted.
2622 (WebCore::markAncestorsWithChildNeedsStyleRecalc):
2623 (WebCore::Node::setNeedsStyleRecalc):
2624 (WebCore::Node::markAncestorsWithChildNeedsStyleRecalc): Deleted.
2626 (WebCore::Node::clearChildNeedsStyleRecalc):
2627 * style/StyleResolveTree.cpp:
2628 (WebCore::Style::resetStyleForNonRenderedDescendants):
2630 2014-08-22 Joseph Pecoraro <pecoraro@apple.com>
2632 Remove unused legacy InspectorFrontendHost methods
2633 https://bugs.webkit.org/show_bug.cgi?id=136186
2635 Reviewed by Andreas Kling.
2637 * bindings/js/JSInspectorFrontendHostCustom.cpp:
2638 (WebCore::JSInspectorFrontendHost::recordActionTaken): Deleted.
2639 (WebCore::JSInspectorFrontendHost::recordPanelShown): Deleted.
2640 (WebCore::JSInspectorFrontendHost::recordSettingChanged): Deleted.
2641 * inspector/InspectorFrontendHost.idl:
2643 2014-08-22 Joseph Pecoraro <pecoraro@apple.com>
2645 Remove unnecessary WTFString creation in Dictionary getter
2646 https://bugs.webkit.org/show_bug.cgi?id=136184
2648 Reviewed by Benjamin Poulain.
2650 * bindings/js/Dictionary.cpp:
2651 (WebCore::Dictionary::getWithUndefinedOrNullCheck):
2652 * bindings/js/Dictionary.h:
2653 * bindings/js/JSDictionary.cpp:
2654 (WebCore::JSDictionary::getWithUndefinedOrNullCheck):
2655 * bindings/js/JSDictionary.h:
2657 2014-08-22 Commit Queue <commit-queue@webkit.org>
2659 Unreviewed, rolling out r172866.
2660 https://bugs.webkit.org/show_bug.cgi?id=136177
2662 Broke iOS build (Requested by othermaciej on #webkit).
2666 "Replace use of WKCopyCFLocalizationPreferredName with
2667 NSLocale public API"
2668 https://bugs.webkit.org/show_bug.cgi?id=136082
2669 http://trac.webkit.org/changeset/172866
2671 2014-08-22 David Hyatt <hyatt@apple.com>
2673 Add proper support for letter-spacing to bopomofo Ruby
2674 https://bugs.webkit.org/show_bug.cgi?id=136171
2676 Reviewed by Sam Weinig.
2678 Added fast/ruby/bopomofo-letter-spacing.html
2680 * rendering/RenderRubyRun.cpp:
2681 (WebCore::RenderRubyRun::layout):
2682 Alter the layout of bopomofo ruby so that the distance between the base characters is the max of
2683 the letter-spacing between the characters and the minimum required width to hold two rows of
2686 Push the bopomofo ruby into the letter-spacing to ensure that it comes right after the base character
2687 and not after all the letter-spacing.
2689 2014-08-22 Simon Fraser <simon.fraser@apple.com>
2691 Fix showing paint rects when selecting lines in the timeline
2692 https://bugs.webkit.org/show_bug.cgi?id=136173
2694 Reviewed by Joseph Pecoraro.
2696 Fix the condition used to decide when to show the overlay.
2698 * inspector/InspectorOverlay.cpp:
2699 (WebCore::InspectorOverlay::shouldShowOverlay):
2701 2014-08-22 Simon Fraser <simon.fraser@apple.com>
2703 Use the correct rect for paint flashing
2704 https://bugs.webkit.org/show_bug.cgi?id=136169
2706 Reviewed by Sam Weinig.
2708 Use the rect we've converted to root document coordinates for paint flashing.
2710 * inspector/InspectorPageAgent.cpp:
2711 (WebCore::InspectorPageAgent::didPaint):
2713 2014-08-22 Dean Jackson <dino@apple.com>
2715 Google Canvas2D maps are too slow and uncontrollable with Safari with full screen mode
2716 https://bugs.webkit.org/show_bug.cgi?id=136168
2718 Reviewed by Tim Horton.
2720 When Google maps are using their 2D "lite" fallback and you're drawing in a huge
2721 window such as fullscreen 4K, we would drop back to unaccelerated mode, thinking
2722 that we'd exceeded the maximum IOSurface size.
2724 Remove the hardcoded limit on IOSurface sizes, and instead ask the system
2725 what it believe the maximum to be. This was significantly higher than our
2726 limit on the systems I tested.
2728 * platform/graphics/cg/ImageBufferCG.cpp:
2729 (WebCore::ImageBuffer::ImageBuffer): Include our IOSurface wrapper, which
2730 has a query for maximum size, and use that instead.
2732 2014-08-22 Simon Fraser <simon.fraser@apple.com>
2736 * inspector/InspectorOverlay.cpp:
2737 (WebCore::InspectorOverlay::showPaintRect):
2739 2014-08-22 Simon Fraser <simon.fraser@apple.com>
2741 Implement paint flashing in the WK1 InspectorOverlay page
2742 https://bugs.webkit.org/show_bug.cgi?id=136138
2744 Reviewed by Sam Weinig, Joseph Pecoraro.
2746 Implement paint flashing for the WebKit1 InspectorOverlay via a second canvas in the overlay page.
2747 We avoid allocating backing store for this canvas until we have paint rects.
2749 Because this overlay page is weird and doesn't know how to paint itself, InspectorOverlay manages
2750 an array of rects, and pushes them to the page when they change, before forcing a paint.
2752 Because iOS doesn't use the InspectorOverlay page, stub out setShowPaintRects on its
2753 WebKit WebInspectorClient, but don't yet implement paint flashing there.
2755 * inspector/InspectorOverlay.cpp:
2756 (WebCore::InspectorOverlay::InspectorOverlay):
2757 (WebCore::InspectorOverlay::shouldShowOverlay):
2758 (WebCore::InspectorOverlay::update):
2759 (WebCore::buildObjectForRect):
2760 (WebCore::InspectorOverlay::setShowingPaintRects):
2761 (WebCore::InspectorOverlay::showPaintRect):
2762 (WebCore::InspectorOverlay::updatePaintRectsTimerFired):
2763 (WebCore::InspectorOverlay::drawPaintRects):
2764 (WebCore::InspectorOverlay::forcePaint):
2765 (WebCore::quadToPath): Deleted.
2766 (WebCore::drawOutlinedQuad): Deleted.
2767 (WebCore::InspectorOverlay::drawOutline): Deleted.
2768 * inspector/InspectorOverlay.h:
2769 * inspector/InspectorOverlayPage.html:
2770 * inspector/InspectorOverlayPage.js:
2773 (_drawShapeHighlight):
2774 * inspector/InspectorPageAgent.cpp:
2775 (WebCore::InspectorPageAgent::setShowPaintRects):
2776 (WebCore::InspectorPageAgent::didPaint):
2778 2014-08-22 Eric Carlson <eric.carlson@apple.com>
2780 [iOS] Cleanup media code
2781 https://bugs.webkit.org/show_bug.cgi?id=136163
2783 Reviewed by Jer Noble.
2785 No new tests, no functionality was changed.
2787 * html/HTMLMediaElement.cpp:
2788 (WebCore::HTMLMediaElement::HTMLMediaElement): Don't initialize m_requestingPlay.
2789 (WebCore::HTMLMediaElement::parseMediaPlayerAttribute): Deleted.
2790 (WebCore::HTMLMediaElement::parseAttribute): Don't call parseMediaPlayerAttribute.
2791 (WebCore::HTMLMediaElement::playInternal): m_requestingPlay is dead, Jim.
2792 (WebCore::HTMLMediaElement::updatePlayState): Ditto.
2793 (WebCore::HTMLMediaElement::updatePlayState): Remove obsolete FIXME.
2794 * html/HTMLMediaElement.h:
2795 * platform/graphics/MediaPlayer.cpp:
2796 (WebCore::MediaPlayer::attributeChanged): Deleted.
2797 (WebCore::MediaPlayer::readyForPlayback): Deleted.
2798 * platform/graphics/MediaPlayer.h:
2799 * platform/graphics/MediaPlayerPrivate.h:
2800 (WebCore::MediaPlayerPrivateInterface::attributeChanged): Deleted.
2801 (WebCore::MediaPlayerPrivateInterface::readyForPlayback): Deleted.
2803 2014-08-20 Maciej Stachowiak <mjs@apple.com>
2805 Replace use of WKCopyCFLocalizationPreferredName with NSLocale public API
2806 https://bugs.webkit.org/show_bug.cgi?id=136082
2808 Reviewed by Alexey Proskuryakov.
2810 * platform/mac/Language.mm:
2811 (WebCore::httpStyleLanguageCode): Replace use of WKCopyCFLocalizationPreferredName
2812 with new WebCoreNSStringExtras helper.
2813 * platform/mac/WebCoreNSStringExtras.mm: Replacements for the aspects of
2814 WKCopyCFLocalizationPreferredName.
2815 (preferredBundleLocalizationName): New helper - most preferred localization available
2816 in the main bundle, canonicalized the way we like it.
2817 (canonicalLocalizationName): Convert a lcalization name to a string with language and
2818 country code, using default if necessary (e.g. "en" maps to "en_US").
2819 * WebCore.order: Remove mention of WKCopyCFLocalizationPreferredName.
2820 * WebCore.exp.in: ditto; also export preferredBundleLocalizationName for WebKit(2).
2821 * platform/ios/WebCoreSystemInterfaceIOS.mm: ditto
2822 * platform/mac/WebCoreSystemInterface.h: ditto
2823 * platform/mac/WebCoreSystemInterface.mm: ditto
2825 2014-08-22 Daniel Bates <dabates@apple.com>
2827 [iOS] Disable ENABLE_IOS_{GESTURE, TOUCH}_EVENTS, and temporarily disable ENABLE_TOUCH_EVENTS
2828 and ENABLE_XSLT when building with the iOS public SDK
2829 https://bugs.webkit.org/show_bug.cgi?id=135945
2831 Reviewed by Andy Estes.
2833 Towards bringing up the iOS WebKit port using the iOS public SDK, disable the proprietary
2834 iOS gesture and touch event code. For now we also temporarily disable ENABLE_TOUCH_EVENTS
2835 and ENABLE_XSLT while we focus to get the rest of the port built using the public SDK. We'll
2836 look to enable these features once we stabilize the build.
2838 * Configurations/FeatureDefines.xcconfig: Disable ENABLE_IOS_{GESTURE, TOUCH}_EVENTS, ENABLE_TOUCH_EVENTS
2839 and ENABLE_XSLT when building with the public SDK.
2840 * Configurations/WebCore.xcconfig:
2841 * DerivedSources.make: Conditionally generate derived sources for touch and gesture events as applicable and pass
2842 define WTF_USE_APPLE_INTERNAL_SDK when generating bindings (if applicable). Make the logic for determining
2843 whether WTF_PLATFORM_IOS is defined consistent with logic for determining whether WTF_USE_APPLE_INTERNAL_SDK and
2844 ENABLE_ORIENTATION_EVENTS are defined. We should look to further cleanup this code.
2845 * bindings/js/ios/TouchConstructors.cpp: Substitute ENABLE(IOS_TOUCH_EVENTS) for macro expression "PLATFORM(IOS) && ENABLE(TOUCH_EVENTS)".
2846 * bindings/objc/DOMEvents.h: Write preprocessor logic in terms of ENABLE_TOUCH_EVENTS and ENABLE_IOS_GESTURE_EVENTS.
2847 * bindings/objc/PublicDOMInterfaces.h: Include private header <WebKitAdditions/PublicDOMInterfacesIOS.h> when
2848 it exists as opposed to assuming it exists when building for iOS.
2850 (WebCore::Document::Document): Substitute ENABLE(IOS_TOUCH_EVENTS) for macro expression "ENABLE(TOUCH_EVENTS) && PLATFORM(IOS)".
2851 (WebCore::Document::prepareForDestruction): Ditto.
2852 (WebCore::Document::removeAllEventListeners): Ditto.
2853 * dom/Document.h: Write preprocessor logic in terms of ENABLE_IOS_TOUCH_EVENTS and ENABLE_TOUCH_EVENTS.
2854 * dom/Document.idl: Ditto.
2855 * dom/Touch.h: Substitute ENABLE(IOS_TOUCH_EVENTS) for PLATFORM(IOS)..
2856 * dom/TouchEvent.h: Ditto.
2857 * dom/TouchList.h: Ditto.
2858 * dom/ios/TouchEvents.cpp: Substitute ENABLE(IOS_TOUCH_EVENTS) for macro expression "PLATFORM(IOS) && ENABLE(TOUCH_EVENTS)".
2859 * history/CachedFrame.cpp: Add PLATFORM(IOS) guard.
2860 * html/shadow/SliderThumbElement.cpp:
2861 (WebCore::SliderThumbElement::SliderThumbElement): Substitute ENABLE(IOS_TOUCH_EVENTS) for ENABLE(TOUCH_EVENTS).
2862 (WebCore::SliderThumbElement::willDetachRenderers): Ditto.
2863 * html/shadow/SliderThumbElement.h: Ditto.
2864 * loader/EmptyClients.h: Ditto.
2865 * platform/ios/PlatformEventFactoryIOS.h: Write preprocessor logic in terms of ENABLE_IOS_TOUCH_EVENTS and ENABLE_TOUCH_EVENTS.
2866 Only include header <WebKitAdditions/PlatformTouchEventIOS.h> when building with ENABLE_TOUCH_EVENTS enabled.
2868 2014-08-22 Simon Fraser <simon.fraser@apple.com>
2870 Implement paint flashing via GraphicsLayers in the WK2 inspector overlay
2871 https://bugs.webkit.org/show_bug.cgi?id=136136
2873 Reviewed by Sam Weinig, Joseph Pecoraro.
2875 Allow InspectorClient to have a custom implementation of showPaintRect(). For
2876 WebKit2's WebInspectorClient, implement this by creating a set of GraphicsLayers
2877 which are parented in a document overlay, with 0.25s fade-out animations.
2879 Also change InspectorInstrumentation::didPaintImpl() to no longer take a GraphicsContext;
2880 it makes no sense to paint the paint rects directly into the context of the web page.
2881 Now that the paint rects are painted into an overlay, the rectangles need to be converted
2882 to root document coordinates, which is done in InspectorInstrumentation::didPaintImpl().
2884 Remove the generic InspectorOverlay::drawOutline()-based indicators; they will
2885 be reimplemented in a later patch.
2888 * inspector/InspectorClient.h:
2889 (WebCore::InspectorClient::showPaintRect):
2890 * inspector/InspectorInstrumentation.cpp:
2891 (WebCore::InspectorInstrumentation::didPaintImpl):
2892 * inspector/InspectorInstrumentation.h:
2893 (WebCore::InspectorInstrumentation::didPaint):
2894 * inspector/InspectorPageAgent.cpp:
2895 (WebCore::InspectorPageAgent::didPaint):
2896 * inspector/InspectorPageAgent.h:
2897 * page/FrameView.cpp:
2898 (WebCore::FrameView::didPaintContents):
2899 * rendering/RenderLayerBacking.cpp:
2900 (WebCore::RenderLayerBacking::paintContents):
2902 2014-08-22 Commit Queue <commit-queue@webkit.org>
2904 Unreviewed, rolling out r172844.
2905 https://bugs.webkit.org/show_bug.cgi?id=136164
2907 re-applying WEBCORE_EXPORTS patch (Requested by
2908 alexchristensen on #webkit).
2912 "Revert r172831, it broke the Windows build."
2913 http://trac.webkit.org/changeset/172844
2915 2014-08-21 David Hyatt <hyatt@apple.com>
2917 Implement rudimentary Bopomofo Ruby support (ruby-position:inter-character)
2918 https://bugs.webkit.org/show_bug.cgi?id=136137
2919 <rdar://problem/12567545>
2921 Reviewed by Sam Weinig.
2923 Added fast/ruby/bopomofo.html and fast/ruby/bopomofo-rl.html.
2925 * css/CSSParser.cpp:
2926 (WebCore::isValidKeywordPropertyAndValue):
2927 * css/CSSPrimitiveValueMappings.h:
2928 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2929 (WebCore::CSSPrimitiveValue::operator RubyPosition):
2930 * css/CSSPropertyNames.in:
2931 * css/CSSValueKeywords.in:
2932 Add support for the new inter-character value for ruby-position and also
2933 add support for a new font-size keyword, -webkit-ruby-text, that is used
2934 to set a smart initial font size based off the type of ruby being presented.
2936 * css/DeprecatedStyleBuilder.cpp:
2937 (WebCore::ApplyPropertyFontSize::determineRubyTextSizeMultiplier):
2938 (WebCore::ApplyPropertyFontSize::applyValue):
2939 Determine the Ruby text size multiplier when -webkit-ruby-text is specified
2940 as the font size. For ruby-position of before/after, we use 50% of the parent
2941 font size. For inter-character ruby, we default to 25% instead. If inter-character
2942 Ruby is nested, we assume it's to display tone marks, and we use 100% to ensure
2943 the tone mark is the same size and does not get smaller.
2945 * css/StyleResolver.cpp:
2946 (WebCore::StyleResolver::adjustStyleForInterCharacterRuby):
2947 (WebCore::StyleResolver::applyMatchedProperties):
2948 * css/StyleResolver.h:
2949 ruby-position is now the highest priority CSS property, and it is resolved
2950 before all other properties to ensure that its value can be checked when
2951 determining a smart default font size. adjustStyleForInterCharacterRuby is a new
2952 function called to auto-adjust inter-character ruby text to be vertical writing mode when
2953 encountered inside horizontal documents.
2957 Change the font-size from 50% to -webkit-ruby-text to allow us to customize it as
2958 needed depending on what kind of Ruby we want to show.
2960 * rendering/RenderRubyRun.cpp:
2961 (WebCore::RenderRubyRun::layout):
2962 * rendering/RenderRubyRun.h:
2963 Add layout code to properly position vertical ruby text relative to a horizontal base.
2965 * rendering/style/RenderStyleConstants.h:
2966 Add the new inter-character constant for ruby-position.
2968 * rendering/style/StyleRareInheritedData.h:
2969 Increase the number of storage bits for RubyPosition from 1 to 2 now that we support 3 values.
2971 2014-08-22 Jon Lee <jonlee@apple.com>
2973 Fix iOS build due to r172832 and move RUBBER_BANDING out of FeatureDefines.h
2974 https://bugs.webkit.org/show_bug.cgi?id=136157
2976 Reviewed by Simon Fraser.
2978 * Configurations/FeatureDefines.xcconfig: Add ENABLE(RUBBER_BANDING).
2980 2014-08-22 Iago Toral <itoral@igalia.com> and Zan Dobersek <zdobersek@igalia.com>
2982 [GTK] Add the Wayland protocol extension
2983 https://bugs.webkit.org/show_bug.cgi?id=136102
2985 Reviewed by Martin Robinson.
2987 Add the Wayland protocol extension that allows mapping GtkWidget
2988 objects (via an ID that's unique to that GtkWidget) to the
2989 corresponding Wayland surface objects. This way the nested
2990 compositor has the proper information about what GtkWidget has
2991 to be updated when surfaces are committed by the LayerTreeHost.
2993 * PlatformGTK.cmake:
2994 * platform/graphics/wayland: Added.
2995 * platform/graphics/wayland/WebKitGtkWaylandClientProtocol.xml: Added.
2997 2014-08-21 Antti Koivisto <antti@apple.com>
2999 Animated GIFs scrolled out of view still cause titlebar blur to update, on tumblr.com page
3000 https://bugs.webkit.org/show_bug.cgi?id=136139
3002 Reviewed by Simon Fraser.
3004 The mechanism for pausing GIF images outside the viewport did not work for subframes.
3006 Test: fast/repaint/no-animation-outside-viewport-subframe.html
3009 * page/FrameView.cpp:
3010 (WebCore::FrameView::scrollPositionChanged):
3011 (WebCore::FrameView::resumeVisibleImageAnimationsIncludingSubframes):
3013 Add a function for resuming animations as needed in all subframes.
3014 This is used after scrolling instead of calling the RenderView function directly.
3018 (WebCore::Page::resumeAnimatingImages):
3019 * rendering/RenderElement.cpp:
3020 (WebCore::RenderElement::newImageAnimationFrameAvailable):
3022 Determine the overall visible rect so that it is correct in subframes too.
3024 * rendering/RenderLayer.cpp:
3025 (WebCore::RenderLayer::scrollTo):
3026 * rendering/RenderView.cpp:
3027 (WebCore::RenderView::resumePausedImageAnimationsIfNeeded):
3029 2014-08-21 Alex Christensen <achristensen@webkit.org>
3031 More WEBCORE_EXPORT macros!
3032 https://bugs.webkit.org/show_bug.cgi?id=136146
3034 Reviewed by Benjamin Poulain.
3036 * Modules/geolocation/GeolocationClient.h:
3037 * Modules/mediastream/UserMediaClient.h:
3038 * Modules/mediastream/UserMediaRequest.h:
3039 * Modules/notifications/NotificationClient.h:
3040 * Modules/speech/SpeechSynthesis.h:
3041 * bindings/generic/RuntimeEnabledFeatures.h:
3042 * bindings/js/DOMWrapperWorld.h:
3043 * bindings/js/GCController.h:
3044 * bindings/js/IDBBindingUtilities.h:
3045 * bindings/js/JSDOMBinding.h:
3046 * bindings/js/JSNodeCustom.h:
3047 * bindings/js/JSNodeListCustom.h:
3048 * bindings/js/JSPluginElementFunctions.h:
3049 * bindings/js/ScriptController.h:
3050 * bindings/js/SerializedScriptValue.h:
3051 * crypto/SerializedCryptoKeyWrap.h:
3052 * css/LengthFunctions.h:
3053 * css/StyleProperties.h:
3054 * css/StyleSheetContents.h:
3055 * dom/DeviceOrientationClient.h:
3057 * dom/ScriptExecutionContext.h:
3058 * dom/StyledElement.h:
3060 * dom/UIEventWithKeyState.h:
3061 * dom/UserGestureIndicator.h:
3062 * dom/UserTypingGestureIndicator.h:
3063 * dom/ViewportArguments.h:
3064 * editing/SmartReplace.h:
3065 * editing/TextIterator.h:
3066 * editing/VisiblePosition.h:
3067 * editing/VisibleSelection.h:
3068 * editing/VisibleUnits.h:
3069 * editing/cocoa/HTMLConverter.h:
3070 * editing/htmlediting.h:
3071 * editing/mac/TextAlternativeWithRange.h:
3072 * editing/mac/TextUndoInsertionMarkupMac.h:
3074 * history/HistoryItem.cpp:
3075 * history/PageCache.h:
3076 * html/TimeRanges.h:
3077 * html/parser/HTMLParserIdioms.h:
3078 * inspector/InstrumentingAgents.h:
3079 * loader/FrameLoader.h:
3080 * loader/ResourceBuffer.h:
3081 * loader/ResourceLoadScheduler.h:
3082 * loader/ResourceLoader.h:
3083 (WebCore::ResourceLoader::originalRequest):
3084 * loader/SubframeLoader.h:
3085 * loader/SubresourceLoader.h:
3086 * loader/TextResourceDecoder.h:
3087 * loader/appcache/ApplicationCacheStorage.h:
3088 * loader/cache/MemoryCache.h:
3089 * loader/icon/IconDatabaseBase.h:
3090 * loader/ios/DiskImageCacheIOS.h:
3092 * page/SecurityOrigin.h:
3093 * page/SecurityPolicy.h:
3095 * page/UserContentController.h:
3096 * page/UserContentURLPattern.h:
3097 * page/UserMessageHandlerDescriptor.h:
3098 * page/ViewportConfiguration.h:
3099 * page/VisitedLinkStore.h:
3100 * page/WheelEventDeltaTracker.h:
3101 * page/cocoa/UserAgent.h:
3102 * page/scrolling/ScrollingConstraints.h:
3103 * page/scrolling/ScrollingCoordinator.h:
3104 * page/scrolling/ScrollingStateFixedNode.h:
3105 * page/scrolling/ScrollingStateFrameScrollingNode.h:
3106 * page/scrolling/ScrollingStateNode.h:
3107 * page/scrolling/ScrollingStateOverflowScrollingNode.h:
3108 * page/scrolling/ScrollingStateScrollingNode.h:
3109 * page/scrolling/ScrollingStateStickyNode.h:
3110 * page/scrolling/ScrollingStateTree.h:
3111 * page/scrolling/ScrollingThread.h:
3112 * page/scrolling/ScrollingTree.h:
3113 * page/scrolling/ScrollingTreeOverflowScrollingNode.h:
3114 * page/scrolling/ScrollingTreeScrollingNode.h:
3115 * page/scrolling/ios/ScrollingTreeFrameScrollingNodeIOS.h:
3116 * page/scrolling/mac/ScrollingTreeFixedNode.h:
3117 * page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h:
3118 * page/scrolling/mac/ScrollingTreeStickyNode.h:
3119 * platform/Cursor.h:
3120 * platform/DragImage.h:
3121 * platform/FileSystem.h:
3122 * platform/Language.h:
3123 * platform/LinkHash.h:
3124 * platform/LocalizedStrings.h:
3125 * platform/Logging.h:
3126 * platform/MemoryPressureHandler.h:
3127 * platform/NotImplemented.h:
3128 * platform/PlatformStrategies.h:
3129 * platform/PublicSuffix.h:
3130 * platform/RuntimeApplicationChecks.h:
3131 * platform/RuntimeApplicationChecksIOS.h:
3132 * platform/SchemeRegistry.h:
3133 * platform/ScrollView.h:
3134 * platform/ScrollableArea.h:
3135 * platform/Scrollbar.h:
3136 * platform/ScrollbarTheme.h:
3137 * platform/SharedBuffer.h:
3138 * platform/ThreadCheck.h:
3139 * platform/ThreadGlobalData.h:
3143 * platform/UserActivity.h:
3144 * platform/Widget.h:
3145 * platform/cf/CFURLExtras.h:
3146 * platform/cf/RunLoopObserver.h:
3147 * platform/cocoa/SystemVersion.h:
3148 * platform/graphics/Color.h:
3149 * platform/graphics/FloatRect.h:
3150 * platform/graphics/FontCache.h:
3151 * platform/graphics/GeometryUtilities.h:
3152 * platform/graphics/GraphicsContext.h:
3153 * platform/graphics/IntRect.h:
3154 * platform/graphics/LayoutRect.h:
3155 * platform/graphics/StringTruncator.h:
3156 * platform/graphics/TextRun.h:
3157 * platform/graphics/ca/TileController.h:
3158 * platform/graphics/ca/mac/PlatformCAAnimationMac.h:
3159 * platform/graphics/cg/GraphicsContextCG.h:
3160 * platform/graphics/mac/ColorMac.h:
3161 * platform/graphics/transforms/TransformationMatrix.h:
3162 * platform/ios/FileSystemIOS.h:
3163 * platform/ios/PlatformEventFactoryIOS.h:
3164 * platform/ios/SelectionRect.h:
3165 * platform/ios/SystemMemory.h:
3166 * platform/ios/TileControllerMemoryHandlerIOS.h:
3167 * platform/ios/WebVideoFullscreenInterfaceAVKit.h:
3168 * platform/mac/PlatformEventFactoryMac.h:
3169 * platform/mac/ScrollbarThemeMac.h:
3170 * platform/mac/WebCoreNSURLExtras.h:
3171 * platform/mac/WebNSAttributedStringExtras.h:
3172 * platform/network/BlobRegistry.h:
3173 * platform/network/CookieStorage.h:
3174 * platform/network/DNS.h:
3175 * platform/network/NetworkStateNotifier.h:
3176 * platform/network/PlatformCookieJar.h:
3177 * platform/network/ProxyServer.h:
3178 * platform/network/ResourceErrorBase.h:
3179 * platform/network/ResourceHandle.h:
3180 * platform/network/ResourceHandleClient.h:
3181 * platform/network/ResourceRequestBase.h:
3182 * platform/network/ResourceResponseBase.h:
3183 * platform/network/SynchronousLoaderClient.h:
3184 * platform/network/cf/ResourceError.h:
3185 * platform/network/cf/ResourceRequest.h:
3186 * platform/network/cf/ResourceResponse.h:
3187 * platform/network/ios/QuickLook.h:
3188 * platform/network/mac/AuthenticationMac.h:
3189 * platform/sql/SQLiteDatabase.cpp:
3190 * platform/text/LocaleToScriptMapping.h:
3191 * platform/text/TextBreakIterator.h:
3192 * platform/text/TextEncoding.h:
3193 (WebCore::TextEncoding::decode):
3194 * platform/text/TextEncodingRegistry.h:
3195 * platform/text/TextStream.h:
3196 * rendering/RenderBlock.h:
3197 * rendering/RenderBox.h:
3198 * rendering/RenderEmbeddedObject.h:
3199 * rendering/RenderLayer.h:
3200 * rendering/RenderLayerBacking.h:
3201 * rendering/RenderLayerCompositor.h:
3202 * rendering/RenderListItem.h:
3203 * rendering/RenderObject.h:
3204 * rendering/RenderText.h:
3205 * rendering/RenderTextControl.h:
3206 * rendering/RenderThemeIOS.h:
3207 * rendering/RenderTreeAsText.h:
3208 * rendering/RenderView.h:
3209 * rendering/RenderWidget.h:
3210 * rendering/ScrollBehavior.cpp:
3211 * rendering/break_lines.cpp:
3212 * rendering/style/RenderStyle.h:
3213 * replay/UserInputBridge.h:
3214 * storage/StorageEventDispatcher.h:
3215 * storage/StorageMap.h:
3216 * storage/StorageStrategy.h:
3217 * storage/StorageTracker.h:
3218 * testing/Internals.h:
3219 * workers/WorkerThread.h:
3220 Added more WEBCORE_EXPORT macros where needed.
3222 2014-08-21 Tim Horton <timothy_horton@apple.com>
3224 Revert r172831, it broke the Windows build.
3226 2014-08-21 Ryuan Choi <ryuan.choi@samsung.com>
3228 Unreviewed build fix when RUBBER_BANDING is not enabled.
3230 * rendering/RenderLayer.cpp:
3231 (WebCore::RenderLayer::overhangAmount):
3232 (WebCore::RenderLayer::setHasHorizontalScrollbar):
3233 (WebCore::RenderLayer::setHasVerticalScrollbar):
3235 2014-08-21 Brent Fulgham <bfulgham@apple.com>
3237 [Win] WebCore.proj is not copying WebKit resource files.
3238 https://bugs.webkit.org/show_bug.cgi?id=136142
3239 <rdar://problem/17733682>
3241 Reviewed by Tim Horton.
3243 * WebCore.vcxproj/WebCore.proj: Copy missing resource files during
3246 2014-08-21 Simon Fraser <simon.fraser@apple.com>
3248 Try to fix the 32-bit build by using wildcards in the exported non-virtual thunks
3249 for GraphicsLayerCA::platformCALayerAnimationStarted and GraphicsLayerCA::platformCALayerAnimationEnded.
3253 2014-08-21 Simon Fraser <simon.fraser@apple.com>
3255 Add animationDidEnd callbacks on GraphicsLayer
3256 https://bugs.webkit.org/show_bug.cgi?id=136084
3258 Reviewed by Tim Horton.
3260 Hook up GraphicsLayerClient::notifyAnimationEnded() so that code using GraphicsLayers directly
3261 can add animations, and know when they finish.
3264 * platform/graphics/GraphicsLayerClient.h:
3265 (WebCore::GraphicsLayerClient::notifyAnimationStarted):
3266 (WebCore::GraphicsLayerClient::notifyAnimationEnded):
3267 * platform/graphics/ca/GraphicsLayerCA.cpp:
3268 (WebCore::GraphicsLayerCA::platformCALayerAnimationStarted):
3269 (WebCore::GraphicsLayerCA::platformCALayerAnimationEnded):
3270 * platform/graphics/ca/GraphicsLayerCA.h:
3271 * platform/graphics/ca/PlatformCALayer.h:
3272 * platform/graphics/ca/PlatformCALayerClient.h:
3273 (WebCore::PlatformCALayerClient::platformCALayerAnimationStarted):
3274 (WebCore::PlatformCALayerClient::platformCALayerAnimationEnded):
3275 * platform/graphics/ca/mac/PlatformCALayerMac.h:
3276 * platform/graphics/ca/mac/PlatformCALayerMac.mm:
3277 (-[WebAnimationDelegate animationDidStart:]):
3278 (-[WebAnimationDelegate animationDidStop:finished:]):
3279 (PlatformCALayerMac::animationStarted):
3280 (PlatformCALayerMac::animationEnded):
3281 * rendering/RenderLayerBacking.cpp:
3282 (WebCore::RenderLayerBacking::notifyAnimationStarted):
3283 * rendering/RenderLayerBacking.h:
3285 2014-08-21 Zalan Bujtas <zalan@apple.com>
3287 Enable SATURATED_LAYOUT_ARITHMETIC.
3288 https://bugs.webkit.org/show_bug.cgi?id=136106
3290 Reviewed by Simon Fraser.
3292 SATURATED_LAYOUT_ARITHMETIC protects LayoutUnit against arithmetic overflow.
3293 (No measurable performance regression on Mac.)
3295 Test: fast/dynamic/saturated-layout-arithmetic.html
3297 * Configurations/FeatureDefines.xcconfig:
3299 2014-08-21 Yuki Sekiguchi <yuki.sekiguchi@access-company.com>
3301 New ruby parsing rule breaks some real web sites.
3302 https://bugs.webkit.org/show_bug.cgi?id=136062
3304 Reviewed by Ryosuke Niwa.
3306 An RP element should not auto close an RTC element.
3308 The HTML5.1 spec was changed:
3309 http://www.w3.org/html/wg/drafts/html/master/syntax.html#parsing-main-inbody
3310 This was done at the following commit:
3311 https://github.com/w3c/html/commit/c61397b989b28235ee2228f280aa8d475f3b9ebf
3313 This patch changed the RP element's behavior to follow the spec change.
3315 Test: fast/ruby/rp-inside-rtc.html
3317 * html/parser/HTMLTreeBuilder.cpp:
3318 (WebCore::HTMLTreeBuilder::processStartTagForInBody):
3320 2014-08-21 Yuki Sekiguchi <yuki.sekiguchi@access-company.com>
3322 REGRESSION: CSS not() selector does not work when it appears after or within @supports
3323 https://bugs.webkit.org/show_bug.cgi?id=136063
3325 Reviewed by Darin Adler.
3327 CSSParser changes its m_parsingMode to SupportsMode when it finds
3328 "@supports" token. However, the mode will be never changed to
3329 NormalMode. This changes parsing algorithm for "not" token forever,
3330 and it cannot parse not pseudo class selector.
3332 When we finish parsing @supports rule, we should change to normal
3335 @media does the same thing. This patch changed CharacterEndMediaQuery
3336 to CharacterEndConditionQuery, and we change parsing mode from
3337 SupportsMode to NormalMode when the parser finished to parse
3340 Like "@-webkit-mediaquery", we cannot use '{' to
3341 "@-webkit-supports-condition". Changed "@-webkit-supports-condition"
3342 parsing rule and parseSupportsCondition() not to use '{'.
3344 Tests: css3/supports-not-selector-cssom.html
3345 css3/supports-not-selector.html
3347 * css/CSSGrammar.y.in:
3348 * css/CSSParser.cpp:
3349 (WebCore::CSSParser::parseSupportsCondition):
3350 (WebCore::isCSSLetter):
3351 (WebCore::CSSParser::realLex):
3353 2014-08-21 Beth Dakin <bdakin@apple.com>
3355 overflow:scroll elements should support rubber-banding
3356 https://bugs.webkit.org/show_bug.cgi?id=91655
3358 Reviewed by Sam Weinig and Darin Adler.
3360 This patch enables rubber-banding in overflow regions and it keeps latching
3361 working as currently implemented.
3363 We cannot return early here if there is no scroll delta. There won't be a scroll
3364 delta in most cases during event.phase() == PlatformWheelEventPhaseEnded, but that
3365 phase is required to be processed in order for rubber-banding to work properly.
3367 (WebCore::Element::dispatchWheelEvent):
3368 * page/EventHandler.cpp:
3369 (WebCore::handleWheelEventInAppropriateEnclosingBoxForSingleAxis):
3371 Add a setting for this, which will default to true. This allows us to disable the
3372 feature in WebKit1 for now. There is a bug about making it work.
3375 allowsHorizontalStretching() and allowsVerticalStretching() now take the
3376 PlatformWheelEvent as a parameter, so that ScrollElasticityAutomatic can use the
3377 event to decide whether or not stretching should be allowed in this case.
3378 ScrollElasticityAutomatic will not allow stretching if it is a brand new gesture
3379 that would result in a rubber-band. We don't want to rubber-band in that case
3380 because we want the event to propagate up to a parent view. Also added some helper
3381 functions just to make that code easier to read.
3382 * page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h:
3383 * page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:
3384 (WebCore::newGestureIsStarting):
3385 (WebCore::ScrollingTreeFrameScrollingNodeMac::isAlreadyPinnedInDirectionOfGesture):
3386 (WebCore::ScrollingTreeFrameScrollingNodeMac::allowsHorizontalStretching):
3387 (WebCore::ScrollingTreeFrameScrollingNodeMac::allowsVerticalStretching):
3388 * platform/mac/ScrollAnimatorMac.h:
3389 * platform/mac/ScrollAnimatorMac.mm:
3390 (WebCore::ScrollAnimatorMac::handleWheelEvent):
3391 (WebCore::newGestureIsStarting):
3392 (WebCore::ScrollAnimatorMac::isAlreadyPinnedInDirectionOfGesture):
3393 (WebCore::ScrollAnimatorMac::allowsVerticalStretching):
3394 (WebCore::ScrollAnimatorMac::allowsHorizontalStretching):
3395 * platform/mac/ScrollElasticityController.h:
3396 * platform/mac/ScrollElasticityController.mm:
3397 (WebCore::ScrollElasticityController::handleWheelEvent):
3399 To opt into rubber-banding, all we have to do is implement overhangAmount and set
3400 scroll elasticity. We'll choose ScrollElasticityAutomatic which means that we'll
3401 only rubber-band in directions that can scroll and that we won't rubber-band for
3402 new gestures when we're already pinned to the edge.
3403 * rendering/RenderLayer.cpp:
3404 (WebCore::RenderLayer::overhangAmount):
3405 (WebCore::RenderLayer::setHasHorizontalScrollbar):
3406 (WebCore::RenderLayer::setHasVerticalScrollbar):
3408 2014-08-21 Alex Christensen <achristensen@webkit.org>
3410 More WEBCORE_EXPORT macros.
3411 https://bugs.webkit.org/show_bug.cgi?id=136129
3413 Reviewed by Tim Horton.
3415 * Modules/geolocation/Geolocation.h:
3416 * Modules/geolocation/GeolocationController.h:
3417 * Modules/indexeddb/IDBDatabaseBackend.h:
3418 * Modules/indexeddb/IDBDatabaseMetadata.h:
3419 * Modules/indexeddb/IDBKey.h:
3420 * Modules/indexeddb/IDBKeyData.h:
3421 * Modules/indexeddb/IDBKeyPath.h:
3422 * Modules/indexeddb/IDBKeyRange.h:
3423 * Modules/indexeddb/IDBKeyRangeData.h:
3424 * Modules/notifications/Notification.h:
3425 * Modules/notifications/NotificationController.h:
3426 * bindings/js/GCController.h:
3427 * bridge/IdentifierRep.h:
3428 * css/StyleProperties.h:
3429 * dom/ExceptionCodePlaceholder.h:
3430 * dom/KeyboardEvent.h:
3432 * dom/MouseRelatedEvent.h:
3434 (WebCore::Node::hasEditableStyle):
3435 * dom/NodeTraversal.h:
3437 (WebCore::Position::Position):
3439 (WebCore::Range::startContainer):
3440 (WebCore::Range::startOffset):
3441 (WebCore::Range::endContainer):
3442 (WebCore::Range::endOffset):
3443 * editing/FrameSelection.h:
3444 (WebCore::DragCaretController::clear):
3445 * history/HistoryItem.h:
3446 * history/PageCache.h:
3447 * html/FormController.h:
3448 * html/HTMLElement.h:
3449 * html/HTMLFormElement.h:
3450 * html/HTMLFrameOwnerElement.h:
3451 * html/HTMLInputElement.h:
3452 * html/HTMLMediaElement.h:
3453 * html/HTMLOptGroupElement.