1 2014-01-28 Jer Noble <jer.noble@apple.com>
3 Setting muted attribute on <video> element is not reflected in controls
4 https://bugs.webkit.org/show_bug.cgi?id=127726
6 Reviewed by Eric Carlson.
8 If the 'muted' IDL attribute is queried after the 'muted' and 'src' content attributes are
9 set but before loading begins, it will return 'false' until loading begins, but with no
10 way to query whether that value is valid, nor firing a volumechange event when its value
13 The HTML spec says that the 'muted' content attribute controls whether audio output is
14 muted "when the media element is created", not when loading begins, but we don't
15 necessarily have a signal that the element is fully parsed. Additionally, this means its
16 impossible to make an element via script and get this behavior.
18 So the new behavior is that the 'muted' IDL attribute will always reflect the 'muted'
19 content attribute up until one of the following three conditions:
21 - The 'muted' IDL attribute is set via script.
22 - The element is inserted in the document.
23 - The element begins loading.
25 After the first one of the above conditions, the 'muted' IDL attribute will no longer
26 change when the 'muted' content attribute changes.
28 * html/HTMLMediaElement.cpp:
29 (WebCore::HTMLMediaElement::HTMLMediaElement):
30 (WebCore::HTMLMediaElement::parseAttribute):
31 * html/HTMLMediaElement.h:
33 2014-01-28 Anders Carlsson <andersca@apple.com>
35 Add stubbed out VisitedLinkProvider class
36 https://bugs.webkit.org/show_bug.cgi?id=127744
38 Reviewed by Andreas Kling.
40 This is a first step towards moving responsibility of visited links from
41 the page group to a separate object.
44 * GNUmakefile.list.am:
45 * WebCore.vcxproj/WebCore.vcxproj:
46 * WebCore.vcxproj/WebCore.vcxproj.filters:
47 * WebCore.xcodeproj/project.pbxproj:
49 (WebCore::PageGroup::PageGroup):
51 (WebCore::PageGroup::visitedLinkProvider):
52 * page/VisitedLinkProvider.cpp: Added.
53 (WebCore::VisitedLinkProvider::VisitedLinkProvider):
54 (WebCore::VisitedLinkProvider::~VisitedLinkProvider):
55 * page/VisitedLinkProvider.h: Added.
56 (WebCore::VisitedLinkProvider::create):
58 2014-01-28 Gurpreet Kaur <k.gurpreet@samsung.com>
60 Add support for menclose element
61 https://bugs.webkit.org/show_bug.cgi?id=85729
63 Reviewed by Chris Fleizach.
65 Added support for menclose element. MathML <menclose> element renders
66 its content inside an enclosing notation specified by the notation
67 attribute. The notation attribute can have values longdiv, box, left,
68 right, top, bottom , radical, madruwb, actuarial, roundedbox, circle,
69 updiagonalstrike, downdiagonalstrike, verticalstrike and
72 Tests: mathml/presentation/menclose-add-children.html
73 mathml/presentation/menclose-notation-attribute-add.html
74 mathml/presentation/menclose-notation-attribute-change-value.html
75 mathml/presentation/menclose-notation-attribute-remove.html
76 mathml/presentation/menclose-notation-attribute-set1.html
77 mathml/presentation/menclose-notation-attribute-set2.html
78 mathml/presentation/menclose-notation-no-overlap.html
79 mathml/presentation/menclose-notation-radical.html
80 mathml/presentation/menclose-remove-children.html
83 * GNUmakefile.list.am:
84 * WebCore.vcxproj/WebCore.vcxproj:
85 * WebCore.vcxproj/WebCore.vcxproj.filters:
86 * WebCore.xcodeproj/project.pbxproj:
88 (mo, mrow, mfenced, mfrac, msub, msup, msubsup, mmultiscripts, mprescripts, none, munder, mover, munderover, msqrt, mroot, merror, mphantom, mstyle, menclose):
89 (math, mrow, mfenced, msqrt, mroot, merror, mphantom, mstyle, menclose):
90 * mathml/MathMLAllInOne.cpp:
91 * mathml/MathMLElement.h:
92 * mathml/MathMLInlineContainerElement.cpp:
93 * mathml/MathMLMencloseElement.cpp: Added.
94 (WebCore::MathMLMencloseElement::MathMLMencloseElement):
95 (WebCore::MathMLMencloseElement::create):
96 (WebCore::MathMLMencloseElement::createElementRenderer):
97 (WebCore::MathMLMencloseElement::isPresentationAttribute):
98 (WebCore::MathMLMencloseElement::finishParsingChildren):
99 (WebCore::MathMLMencloseElement::collectStyleForPresentationAttribute):
100 (WebCore::MathMLMencloseElement::longDivLeftPadding):
101 * mathml/MathMLMencloseElement.h: Added.
102 (WebCore::toMathMLMencloseElement):
103 * mathml/mathattrs.in:
104 * mathml/mathtags.in:
105 * rendering/mathml/RenderMathMLMenclose.cpp: Added.
106 (WebCore::RenderMathMLMenclose::RenderMathMLMenclose):
107 (WebCore::RenderMathMLMenclose::addChild):
108 (WebCore::RenderMathMLMenclose::computePreferredLogicalWidths):
109 (WebCore::RenderMathMLMenclose::updateLogicalHeight):
110 (WebCore::RenderMathMLMenclose::paint):
111 (WebCore::RenderMathMLMenclose::checkNotationalValuesValidity):
112 * rendering/mathml/RenderMathMLMenclose.h: Added.
113 * rendering/mathml/RenderMathMLRoot.cpp:
114 (WebCore::RenderMathMLRoot::RenderMathMLRoot):
115 * rendering/mathml/RenderMathMLRoot.h:
116 * rendering/mathml/RenderMathMLSquareRoot.cpp:
117 (WebCore::RenderMathMLSquareRoot::RenderMathMLSquareRoot):
118 (WebCore::RenderMathMLSquareRoot::createAnonymousWithParentRenderer):
119 * rendering/mathml/RenderMathMLSquareRoot.h:
120 Added new file related to menclose element implementation. Menclose
121 element is created and while parsing its notation attribute based on
122 its values like top, left CSSBorder properties are applied and for
123 values like circle, verticalstrike, longidv its taken care in paint.
124 For radical value an anonymous RenderMathMLSquareRoot is created as
127 2014-01-28 Krzysztof Czech <k.czech@samsung.com>
129 [ATK] accessibility/range-alter-by-percent.html is failing after r162587.
130 https://bugs.webkit.org/show_bug.cgi?id=127774
132 Reviewed by Mario Sanchez Prada.
134 Implicit value of step in range type elements should be one or larger.
136 No new tests. Covered by exiting one.
138 * accessibility/atk/WebKitAccessibleInterfaceValue.cpp:
139 (webkitAccessibleValueGetMinimumIncrement):
141 2014-01-28 Mark Rowe <mrowe@apple.com>
143 <https://webkit.org/b/127767> Disable some deprecation warnings to fix the build.
145 Reviewed by Ryosuke Niwa.
147 * accessibility/mac/AXObjectCacheMac.mm:
148 (WebCore::AXObjectCache::postPlatformNotification):
149 * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
150 (-[WebAccessibilityObjectWrapper renderWidgetChildren]):
151 * platform/audio/mac/AudioDestinationMac.cpp:
152 (WebCore::AudioDestinationMac::configure):
153 * platform/audio/mac/AudioFileReaderMac.cpp:
154 (WebCore::AudioFileReader::createBus):
156 2014-01-28 Carlos Garcia Campos <cgarcia@igalia.com>
158 [SOUP] Remove soupURIToKURL
159 https://bugs.webkit.org/show_bug.cgi?id=127104
161 Reviewed by Martin Robinson.
163 In favor of a URL constructor receiving a SoupURI. Also add a
164 method to URL to create a soupURI.
166 * GNUmakefile.list.am: Remove SoupURIUtils and add URLSoup.
167 * PlatformEfl.cmake: Ditto.
168 * PlatformGTK.cmake: Ditto.
169 * platform/URL.h: Add URL constructor receiving a SoupURI and
170 createSoupURI() to create a new soupURI for the URL.
171 * platform/network/soup/CookieJarSoup.cpp:
172 (WebCore::setCookiesFromDOM): Use URL::createSoupURI().
173 (WebCore::cookiesForSession): Ditto.
174 (WebCore::getRawCookies): Ditto.
175 (WebCore::deleteCookie): Ditto.
176 * platform/network/soup/ResourceHandleSoup.cpp:
177 (WebCore::doRedirect): Use the new URL constructor instead of
179 (WebCore::createSoupRequestAndMessageForHandle): Use URL::createSoupURI().
180 * platform/network/soup/ResourceRequest.h: Rename soupURI as
181 createSoupURI to make it clear that the method returns a newly
183 * platform/network/soup/ResourceRequestSoup.cpp:
184 (WebCore::ResourceRequest::updateSoupMessageMembers): Use URL::createSoupURI().
185 (WebCore::ResourceRequest::updateSoupMessage): Ditto.
186 (WebCore::ResourceRequest::updateFromSoupMessage): Use the new URL
187 constructor instead of soupURIToKURL.
188 (WebCore::ResourceRequest::createSoupURI): Use URL::createSoupURI().
189 * platform/network/soup/ResourceResponseSoup.cpp:
190 (WebCore::ResourceResponse::updateFromSoupMessage): Use the new
191 URL constructor instead of soupURIToKURL.
192 * platform/network/soup/SoupURIUtils.cpp: Removed.
193 * platform/network/soup/SoupURIUtils.h: Removed.
194 * platform/soup/URLSoup.cpp: Added.
196 (WebCore::URL::createSoupURI):
198 2014-01-27 Carlos Garcia Campos <cgarcia@igalia.com>
200 [GTK] Avoid unnecessary string duplications in FileSystemGtk
201 https://bugs.webkit.org/show_bug.cgi?id=127469
203 Reviewed by Martin Robinson.
205 We are using fileSystemRepresentation() everywhere internally
206 which returns a CString that always duplicates the string.
207 Add unescapedFilename() internal helper function that returns a
208 GUniquePtr and used it everywhere instead of fileSystemRepresentation().
210 * platform/gtk/FileSystemGtk.cpp:
211 (WebCore::unescapedFilename):
212 (WebCore::fileSystemRepresentation):
213 (WebCore::filenameForDisplay):
214 (WebCore::fileExists):
215 (WebCore::deleteFile):
216 (WebCore::deleteEmptyDirectory):
217 (WebCore::getFileStat):
218 (WebCore::getFileSize):
219 (WebCore::getFileModificationTime):
220 (WebCore::getFileMetadata):
221 (WebCore::pathByAppendingComponent):
222 (WebCore::makeAllDirectories):
223 (WebCore::pathGetFileName):
224 (WebCore::directoryName):
225 (WebCore::listDirectory):
228 2014-01-27 Carlos Garcia Campos <cgarcia@igalia.com>
230 [GTK] Make webkit_uri_scheme_request_get_web_view() work with CustomProtocols
231 https://bugs.webkit.org/show_bug.cgi?id=127614
233 Reviewed by Gustavo Noronha Silva.
235 Add API to set the page identifier that initiated the request to
236 ResourceRequest, and remove the initiatingPageID() method from the
237 NetworkingContext class.
239 * platform/network/NetworkingContext.h:
240 * platform/network/ResourceHandle.h:
241 * platform/network/soup/ResourceHandleSoup.cpp:
242 (WebCore::createSoupRequestAndMessageForHandle):
243 * platform/network/soup/ResourceRequest.h:
244 (WebCore::ResourceRequest::ResourceRequest):
245 (WebCore::ResourceRequest::initiatingPageID):
246 (WebCore::ResourceRequest::setInitiatingPageID):
247 * platform/network/soup/ResourceRequestSoup.cpp:
248 (WebCore::ResourceRequest::updateSoupRequest):
249 (WebCore::ResourceRequest::updateFromSoupRequest):
251 2014-01-27 Tim Horton <timothy_horton@apple.com>
253 Lots of varied and random crashes on the scrolling thread (ScrollbarPainters are going away)
254 https://bugs.webkit.org/show_bug.cgi?id=127734
255 <rdar://problem/15906263>
257 Reviewed by Simon Fraser.
259 * page/scrolling/ScrollingStateScrollingNode.h:
260 Retain the ScrollbarPainters in the scrolling state tree.
262 2014-01-27 Joseph Pecoraro <pecoraro@apple.com>
264 Unreviewed iOS build fix. FALLTHROUGHs for iOS.
266 * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
267 (-[WebAccessibilityObjectWrapper accessibilityTraits]):
268 (-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]):
270 2014-01-27 Roger Fong <roger_fong@apple.com>
272 WebGLLoadPolicy::WebGLAsk is an unnecessary value.
273 https://bugs.webkit.org/show_bug.cgi?id=127755
275 Reviewed by Anders Carlsson.
277 * html/HTMLCanvasElement.cpp:
278 (WebCore::HTMLCanvasElement::getContext):
279 * loader/FrameLoaderTypes.h:
281 2014-01-27 Brady Eidson <beidson@apple.com>
283 IDB: Cursor support - Messaging, IPC, Threading plumbing
284 https://bugs.webkit.org/show_bug.cgi?id=127736
286 Reviewed by Sam Weinig.
288 * Modules/indexeddb/IDBCursorBackendOperations.h:
289 (WebCore::CursorIterationOperation::cursorID):
290 (WebCore::CursorAdvanceOperation::cursorID):
292 * Modules/indexeddb/IDBTransactionBackendOperations.h:
293 (WebCore::OpenCursorOperation::transactionID):
297 2014-01-27 Joseph Pecoraro <pecoraro@apple.com>
299 WebCore: Enable -Wimplicit-fallthrough and add FALLTHROUGH annotation where needed
300 https://bugs.webkit.org/show_bug.cgi?id=127671
302 Reviewed by Ryosuke Niwa.
304 * Configurations/Base.xcconfig:
307 * css/StyleResolver.cpp:
308 (WebCore::StyleResolver::applyProperty):
309 Caught a bug. CSSPropertyWebkitAlt could fall through to CSSPropertyQuotes.
311 * css/SVGCSSParser.cpp:
312 (WebCore::CSSParser::parseSVGValue):
313 Caught a bug. CSSPropertyWebkitSvgShadow could fall through to CSSPropertyMaskType.
315 * platform/Decimal.cpp:
316 (WebCore::Decimal::fromString):
317 Possible bug. Implementation doesn't seem to match its documentation.
318 Filed an issue to follow-up on this unclear function.
322 * platform/ColorData.gperf:
323 Ignore implicit fallthrough warnings in generated code. gperf outputs
324 a "/*FALLTHROUGH*/" comment, but is not easily customizable to change
325 this output. Easiest to just ignore the warning for now.
327 * rendering/AutoTableLayout.cpp:
328 (WebCore::AutoTableLayout::recalcColumn):
329 (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
330 (WebCore::AutoTableLayout::layout):
331 There has been a "fall through" comment immediately followed by a break
332 since its introduction in 2003. Removing the inaccurate comment.
334 * accessibility/AccessibilityNodeObject.cpp:
335 (WebCore::AccessibilityNodeObject::canHaveChildren):
336 (WebCore::AccessibilityNodeObject::visibleText):
337 (WebCore::AccessibilityNodeObject::title):
338 * accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
339 (-[WebAccessibilityObjectWrapperBase accessibilityDescription]):
340 (-[WebAccessibilityObjectWrapperBase accessibilityHelpText]):
341 * bindings/js/SerializedScriptValue.cpp:
342 (WebCore::CloneSerializer::serialize):
343 (WebCore::CloneDeserializer::deserialize):
344 * css/CSSComputedStyleDeclaration.cpp:
345 (WebCore::ComputedStyleExtractor::propertyValue):
347 (WebCore::CSSParser::parseValue):
348 (WebCore::CSSParser::parseContent):
349 (WebCore::CSSParser::realLex):
350 * css/CSSSelector.cpp:
351 (WebCore::CSSSelector::extractPseudoType):
352 (WebCore::CSSSelector::selectorText):
353 * css/StyleProperties.cpp:
354 (WebCore::StyleProperties::asText):
355 * css/StyleSheetContents.cpp:
356 (WebCore::childRulesHaveFailedOrCanceledSubresources):
358 (WebCore::appendTextContent):
359 * html/parser/HTMLTreeBuilder.cpp:
360 (WebCore::HTMLTreeBuilder::processStartTag):
361 (WebCore::HTMLTreeBuilder::processEndTag):
362 (WebCore::HTMLTreeBuilder::processCharacterBuffer):
363 (WebCore::HTMLTreeBuilder::processEndOfFile):
364 * loader/cache/CachedResourceLoader.cpp:
365 (WebCore::CachedResourceLoader::requestResource):
366 * page/EventSource.cpp:
367 (WebCore::EventSource::parseEventStream):
368 * platform/DateComponents.cpp:
369 (WebCore::DateComponents::toStringForTime):
370 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
371 (WebCore::MediaPlayerPrivateAVFoundation::updateStates):
372 * platform/graphics/cg/GraphicsContextCG.cpp:
373 (WebCore::GraphicsContext::platformInit):
374 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
375 (WebCore::MediaPlayerPrivateGStreamer::totalBytes):
376 * platform/graphics/win/FullScreenController.cpp:
377 (FullScreenController::Private::fullscreenClientWndProc):
378 * platform/text/BidiResolver.h:
379 (WebCore::Run>::updateStatusLastFromCurrentDirection):
380 (WebCore::Run>::createBidiRunsForLine):
381 * platform/text/win/LocaleWin.cpp:
382 (WebCore::LocaleWin::initializeLocaleData):
383 * rendering/PointerEventsHitRules.cpp:
384 (WebCore::PointerEventsHitRules::PointerEventsHitRules):
385 * rendering/RenderBlockFlow.cpp:
386 (WebCore::RenderBlockFlow::newLine):
387 * rendering/RenderBlockLineLayout.cpp:
388 (WebCore::RenderBlockFlow::updateLogicalWidthForAlignment):
389 * rendering/RenderBox.cpp:
390 (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
391 * rendering/RenderBoxModelObject.cpp:
392 (WebCore::RenderBoxModelObject::calculateFillTileSize):
393 * rendering/RenderObject.cpp:
394 (WebCore::RenderObject::drawLineForBoxSide):
395 * rendering/RenderQuote.cpp:
396 (WebCore::RenderQuote::originalText):
397 * rendering/RenderReplaced.cpp:
398 (WebCore::RenderReplaced::replacedContentRect):
399 * rendering/RenderTable.cpp:
400 (WebCore::RenderTable::addChild):
401 * rendering/RenderTheme.cpp:
402 (WebCore::RenderTheme::adjustStyle):
403 * rendering/style/RenderStyle.cpp:
404 (WebCore::RenderStyle::setWordSpacing):
405 * rendering/svg/RenderSVGResource.cpp:
406 (WebCore::requestPaintingResource):
407 * rendering/svg/SVGMarkerData.h:
408 (WebCore::SVGMarkerData::updateMarkerDataForPathElement):
409 * svg/SVGPathParser.cpp:
410 (WebCore::SVGPathParser::parsePathDataFromSource):
411 * svg/SVGTransformDistance.cpp:
412 (WebCore::SVGTransformDistance::SVGTransformDistance):
413 (WebCore::SVGTransformDistance::scaledDistance):
414 (WebCore::SVGTransformDistance::addSVGTransforms):
415 (WebCore::SVGTransformDistance::addToSVGTransform):
416 (WebCore::SVGTransformDistance::distance):
417 Add annotation or break before falling into a default:break;
419 2014-01-27 Andreas Kling <akling@apple.com>
421 Allow mmap encoded data replacement for WOFF fonts.
422 <https://webkit.org/b/127737>
424 We always have to convert WOFF fonts to SFNT format. This happens
425 in a separate buffer from the CachedFont's internal resource buffer.
426 Because of this, there's no need to protect the original buffer from
429 With this change, WOFF web fonts are no longer duplicated between
430 the network and web processes.
432 Reviewed by Brady Eidson.
434 * loader/cache/CachedFont.cpp:
435 (WebCore::CachedFont::CachedFont):
436 (WebCore::CachedFont::ensureCustomFontData):
437 (WebCore::CachedFont::mayTryReplaceEncodedData):
438 * loader/cache/CachedFont.h:
440 2014-01-27 David Hyatt <hyatt@apple.com>
442 [New Multicolumn] Add support for block progression axis and reverse direction
443 https://bugs.webkit.org/show_bug.cgi?id=127715
447 This patch adds support for -webkit-progression-direction and -webkit-progression-axis
448 to the new column code. This allows columns to stack along the block axis instead of
449 the inline axis or to reverse directions along that progression axis.
451 Added fast/multicol/newmulticol/progression-reverse.html and
452 fast/multicol/newmulticol/progression-reverse-overflow.html
454 * rendering/RenderBlock.cpp:
455 (WebCore::RenderBlock::isTopLayoutOverflowAllowed):
456 (WebCore::RenderBlock::isLeftLayoutOverflowAllowed):
457 New functions have been added for top and left layout overflow in order to get
458 a bunch of code out of RenderBox that didn't belong there. RenderBlock is overriding
459 the functions for the old multicolumn layout code to keep it working.
461 * rendering/RenderBlock.h:
462 Added the new top/left overflow functions.
464 * rendering/RenderBlockFlow.cpp:
465 (WebCore::RenderBlockFlow::determineLogicalLeftPositionForChild):
466 Moved from RenderBlock, since it didn't belong there.
468 (WebCore::RenderBlockFlow::isTopLayoutOverflowAllowed):
469 (WebCore::RenderBlockFlow::isLeftLayoutOverflowAllowed):
470 * rendering/RenderBlockFlow.h:
471 Overridden for the new multi-column code to specify when top/left overflow are
472 allowed (e.g., when the columns go backwards).
474 * rendering/RenderBox.cpp:
475 (WebCore::RenderBox::addLayoutOverflow):
476 Overridden to use the new top/left overflow functions.
478 * rendering/RenderBox.h:
479 (WebCore::RenderBox::isTopLayoutOverflowAllowed):
480 (WebCore::RenderBox::isLeftLayoutOverflowAllowed):
481 Added base definitions that look at direction and writing-mode.
483 * rendering/RenderFlexibleBox.cpp:
484 (WebCore::RenderFlexibleBox::isTopLayoutOverflowAllowed):
485 (WebCore::RenderFlexibleBox::isLeftLayoutOverflowAllowed):
486 * rendering/RenderFlexibleBox.h:
487 Overrides for flexible box of the top/left overflow functions.
489 * rendering/RenderMultiColumnFlowThread.h:
490 Make sure requiresBalancing() is set to false if the axis of the columns
491 is block, since at least right now, we don't support balancing columns
492 along the block axis. (In theory we could support this in the future, but
493 nobody has requested it.)
495 * rendering/RenderMultiColumnSet.cpp:
496 (WebCore::RenderMultiColumnSet::updateLogicalWidth):
497 Remove the code that expands the width of multi column sets. We now always
498 let their logical width match the containing block's content width and instead
499 add the overflow to the set itself.
501 (WebCore::RenderMultiColumnSet::columnRectAt):
502 (WebCore::RenderMultiColumnSet::flowThreadPortionOverflowRect):
503 (WebCore::RenderMultiColumnSet::paintColumnRules):
504 (WebCore::RenderMultiColumnSet::initialBlockOffsetForPainting):
505 (WebCore::RenderMultiColumnSet::collectLayerFragments):
506 (WebCore::RenderMultiColumnSet::adjustRegionBoundsFromFlowThreadPortionRect):
507 Patch all of these functions to know how to handle a block axis or reversed
510 (WebCore::RenderMultiColumnSet::addOverflowFromChildren):
511 * rendering/RenderMultiColumnSet.h:
512 Make multi-column set add in its overflow in the same way that the old
513 multi-column code did, by looking at the last column rect. (This is really
514 not a very good way to do it, but it's the same as the old code for now.)
516 2014-01-27 Daniel Bates <dabates@apple.com>
518 Fix the Mac build following <http://trac.webkit.org/changeset/162887>
519 (https://bugs.webkit.org/show_bug.cgi?id=127703)
521 Export symbol for WebCore::AXObjectCache::enableAccessibility().
525 2014-01-27 Roger Fong <roger_fong@apple.com>
527 [Mac] Unreviewed build fix. Add missing export symbol.
531 2014-01-27 Roger Fong <roger_fong@apple.com>
533 [Windows] Tests crashing on Windows after r162816.
534 https://bugs.webkit.org/show_bug.cgi?id=127703.
536 Reviewed by Alexey Proskuryakov.
538 * accessibility/AXObjectCache.cpp:
539 (WebCore::AXObjectCache::enableAccessibility):
540 (WebCore::AXObjectCache::disableAccessibility):
541 * accessibility/AXObjectCache.h: Un-inline some methods so that they can be exported.
543 2014-01-27 Andy Estes <aestes@apple.com>
545 Update bindings test expectations after r162872
547 * bindings/scripts/test/ObjC/DOMTestInterface.h:
548 * bindings/scripts/test/ObjC/DOMTestObj.h:
550 2014-01-27 Andy Estes <aestes@apple.com>
552 Scrub WebKit API headers of WTF macros
553 https://bugs.webkit.org/show_bug.cgi?id=127706
555 Reviewed by David Kilzer.
557 * Configurations/FeatureDefines.xcconfig: Added ENABLE_INSPECTOR.
558 * bindings/objc/DOMEvents.h: Guarded include of
559 DOM{Gesture,Touch}Event.h with TARGET_OS_IPHONE, since those features
560 are always enabled on iOS.
561 * platform/graphics/mac/MediaPlayerProxy.h: Replaced PLATFORM(IOS) with
562 TARGET_OS_IPHONE and ensured ENABLE_IOS_AIRPLAY is defined.
563 * platform/ios/SystemMemory.h: Replaced PLATFORM(IOS) with
565 * platform/ios/wak/WKGraphics.h: Replaced PLATFORM(IOS_SIMULATOR) with
566 TARGET_IPHONE_SIMULATOR.
568 2014-01-27 Jer Noble <jer.noble@apple.com>
570 [iOS] Use callOnMainThread() not dispatch_async() in MediaPlayerPrivateAVFoundationObjC
571 https://bugs.webkit.org/show_bug.cgi?id=127701
573 Reviewed by Eric Carlson.
575 dispatch_async(dispatch_get_main_queue(), ...) used to be fine so long as the main
576 thread was also the web thread. But since that's not the case on iOS, we should be
577 using callOnMainThread() instead (because it dispatches to the web thread, not as
578 its name implies, the main thread).
580 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
581 (WebCore::MediaPlayerPrivateAVFoundationObjC::createWeakPtr):
582 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
583 (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC):
584 (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer):
585 (WebCore::MediaPlayerPrivateAVFoundationObjC::seekToTime):
586 (-[WebCoreAVFMovieObserver legibleOutput:didOutputAttributedStrings:nativeSampleBuffers:forItemTime:]):
587 (-[WebCoreAVFMovieObserver outputSequenceWasFlushed:]):
588 (-[WebCoreAVFLoaderDelegate resourceLoader:shouldWaitForLoadingOfRequestedResource:]):
589 (-[WebCoreAVFLoaderDelegate resourceLoader:shouldWaitForResponseToAuthenticationChallenge:]):
590 (-[WebCoreAVFLoaderDelegate resourceLoader:didCancelLoadingRequest:]):
592 2014-01-27 Maciej Stachowiak <mjs@apple.com>
594 Move Conditional=BLOB from URL interface to Blob-related methods, to prepare for adding URL API
595 https://bugs.webkit.org/show_bug.cgi?id=127719
597 Reviewed by Sam Weinig.
601 2014-01-27 Andreas Kling <akling@apple.com>
603 Remove unused USE(OPENTYPE_SANITIZER) code.
604 <https://webkit.org/b/127710>
606 This code was only used by the Chromium port.
608 Reviewed by Darin Adler.
610 * GNUmakefile.list.am:
611 * WebCore.xcodeproj/project.pbxproj:
612 * loader/cache/CachedFont.cpp:
613 (WebCore::CachedFont::ensureCustomFontData):
614 * platform/graphics/WOFFFileFormat.cpp:
615 * platform/graphics/WOFFFileFormat.h:
616 * platform/graphics/opentype/OpenTypeSanitizer.cpp: Removed.
617 * platform/graphics/opentype/OpenTypeSanitizer.h: Removed.
620 2014-01-27 Andy Estes <aestes@apple.com>
622 Stop the code generator from adding ENABLE() macros to Objective-C DOM headers
623 https://bugs.webkit.org/show_bug.cgi?id=127706
625 Reviewed by David Kilzer.
627 Instead of adding ENABLE() macros to generated Objective-C DOM
628 headers, which might become Public or Private headers, elide generated
629 code for disabled features.
631 * bindings/scripts/CodeGeneratorObjC.pm:
632 (GenerateInterface): Passed $defines to GenerateHeader.
633 (ConditionalIsEnabled): Checked if the given conditional is found in
634 $defines. Handled conditionals with '&' and '|'.
635 (GenerateHeader): Rather than calling GenerateConditionalString to
636 generate an "#if ENABLE(...)", called ConditionalIsEnabled() to see
637 whether we should generate code for the given constant, attribute, or
640 2014-01-27 Zoltan Horvath <zoltan@webkit.org>
642 [CSS Shapes] Remove restriction of negative values for inset parameters
643 https://bugs.webkit.org/show_bug.cgi?id=127704
645 Reviewed by Darin Adler.
647 The latest version of CSS Shapes (http://www.w3.org/TR/css-shapes/) specification
648 doesn't contain any restriction of using negative values for the inset sizing.
649 I removed the restriction from the code and added testing for them.
651 Existing tests have been extended with the new cases.
654 (WebCore::CSSParser::parseBasicShapeInset):
656 2014-01-27 Eric Carlson <eric.carlson@apple.com>
658 [iOS] preload=none prevents play()
659 https://bugs.webkit.org/show_bug.cgi?id=127702
661 Reviewed by Jer Noble.
663 No new tests, covered by existing tests.
665 * html/HTMLMediaElement.cpp:
666 (WebCore::HTMLMediaElement::potentiallyPlaying): Cleanup logic to make it simpler to understand,
667 fix logic error introduced in r161973
668 (WebCore::HTMLMediaElement::updatePlayState): Conditionalize some iOS-only code on whether or not
669 we are using the plug-in proxy.
671 2014-01-27 Brady Eidson <beidson@apple.com>
673 IDB: LevelDB backing store shouldn't know about IDBCursor or IDBCallbacks
674 https://bugs.webkit.org/show_bug.cgi?id=127708
676 Reviewed by Tim Horton.
678 Move that knowledge to the IDBCursorBackendOperations inside the callback.
680 * Modules/indexeddb/IDBCursorBackendOperations.cpp:
681 (WebCore::CursorAdvanceOperation::perform):
682 (WebCore::CursorIterationOperation::perform):
683 * Modules/indexeddb/IDBCursorBackendOperations.h:
685 * Modules/indexeddb/IDBServerConnection.h:
686 * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
687 (WebCore::IDBServerConnectionLevelDB::cursorAdvance):
688 (WebCore::IDBServerConnectionLevelDB::cursorIterate):
689 * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
691 2014-01-27 Brady Eidson <beidson@apple.com>
693 IDB: Remove unused concept of "cursor prefetch"
694 https://bugs.webkit.org/show_bug.cgi?id=127700
696 Reviewed by Tim Horton.
698 * Modules/indexeddb/IDBCursorBackend.cpp:
699 * Modules/indexeddb/IDBCursorBackend.h:
700 * Modules/indexeddb/IDBCursorBackendOperations.cpp:
701 * Modules/indexeddb/IDBCursorBackendOperations.h:
702 * Modules/indexeddb/IDBServerConnection.h:
703 * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
704 * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
706 2014-01-27 Brady Eidson <beidson@apple.com>
708 IDB: Refactor out the last of the operation callbacks that are called by the LevelDB backing store
709 https://bugs.webkit.org/show_bug.cgi?id=127592
711 Reviewed by Tim Horton.
713 For each of the 3 remaining operations where the backing store calls callbacks directly,
714 factor out the callbacks to the operation itself.
717 * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
718 (WebCore::OpenCursorOperation::perform):
719 (WebCore::CountOperation::perform):
720 (WebCore::DeleteRangeOperation::perform):
721 * Modules/indexeddb/IDBTransactionBackendOperations.h:
723 * Modules/indexeddb/IDBServerConnection.h:
724 * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
725 (WebCore::IDBServerConnectionLevelDB::openCursor):
726 (WebCore::IDBServerConnectionLevelDB::count):
727 (WebCore::IDBServerConnectionLevelDB::deleteRange):
728 * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
730 2014-01-27 Commit Queue <commit-queue@webkit.org>
732 Unreviewed, rolling out r162755.
733 http://trac.webkit.org/changeset/162755
734 https://bugs.webkit.org/show_bug.cgi?id=127696
736 not quite right, breaks subframe scrolling in some cases
737 (Requested by thorton on #webkit).
739 * page/scrolling/ScrollingTree.cpp:
740 (WebCore::ScrollingTree::ScrollingTree):
741 (WebCore::ScrollingTree::shouldHandleWheelEventSynchronously):
742 (WebCore::ScrollingTree::removeDestroyedNodes):
743 * page/scrolling/ScrollingTree.h:
744 * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
745 (WebCore::ScrollingTreeScrollingNodeMac::handleWheelEvent):
747 2014-01-27 Zoltan Horvath <zoltan@webkit.org>
749 [CSS Shapes] inset() function with multiple spaces on element style
750 https://bugs.webkit.org/show_bug.cgi?id=127617
752 Reviewed by Dirk Schulze.
754 When only a subset of parameters were defined for an inset shape, the built
755 inset string contained some extra spaces. This patch fixes the behavior and
756 adds tests for the case. I also removed the string allocation optimization from
757 buildInsetString, since it's not worthwhile to always allocate as many memory
758 as needed for a fully defined inset.
760 I added the new test cases to the shapes parser code test.
762 * css/CSSBasicShapes.cpp:
763 (WebCore::buildInsetString):
765 2014-01-27 Antti Koivisto <antti@apple.com>
767 * WebCore.exp.in: Add export needed for iOS.
769 2014-01-27 Antti Koivisto <antti@apple.com>
771 REGRESSION(r133214): Don't invalidate style when adding classes that don't match rules
772 https://bugs.webkit.org/show_bug.cgi?id=126177
774 Reviewed by Anders Carlsson.
776 Spotted by Elliott Sprehn in Chromium.
779 (WebCore::checkSelectorForClassChange):
781 Remove unnecessary templating.
783 (WebCore::Element::classAttributeChanged):
785 Fix logic error with 'continue'.
787 2014-01-27 Brendan Long <b.long@cablelabs.com>
789 [GStreamer] Lockup when playing Icecast radio
790 https://bugs.webkit.org/show_bug.cgi?id=127452
792 Reviewed by Philippe Normand.
794 No new tests. This bug can only be demonstrated with an Icecast stream, and it's
795 not clear how to do that in our testing framework.
797 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
798 (StreamingClient::handleResponseReceived): Wait until we unlock to send notifications.
800 2014-01-27 Jessie Berlin <jberlin@apple.com>
802 Build fix after r162838.
804 * page/FrameView.cpp:
805 Remove an unused constant.
807 2014-01-27 Antti Koivisto <antti@apple.com>
809 Remove repaint throttling
810 https://bugs.webkit.org/show_bug.cgi?id=127681
812 Reviewed by Sam Weinig.
814 Nowadays we throttle layer flushes. This code is unnecessary.
818 (WebCore::Document::recalcStyle):
820 (WebCore::Element::classAttributeChanged):
821 * editing/AlternativeTextController.cpp:
822 (WebCore::AlternativeTextController::insertDictatedText):
823 * loader/FrameLoader.cpp:
824 (WebCore::FrameLoader::checkCompleted):
825 * page/EventHandler.cpp:
826 (WebCore::EventHandler::dispatchDragEvent):
827 (WebCore::EventHandler::dispatchMouseEvent):
828 (WebCore::EventHandler::keyEvent):
829 (WebCore::EventHandler::handleTextInputEvent):
830 * page/FrameView.cpp:
831 (WebCore::FrameView::FrameView):
832 (WebCore::FrameView::reset):
833 (WebCore::FrameView::flushCompositingStateForThisFrame):
834 (WebCore::FrameView::layout):
835 (WebCore::FrameView::repaintContentRectangle):
836 (WebCore::FrameView::disableLayerFlushThrottlingTemporarilyForInteraction):
837 (WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive):
839 * rendering/RenderView.cpp:
840 (WebCore::RenderView::setSelection):
842 2014-01-24 Eric Carlson <eric.carlson@apple.com>
844 Merge Chromium TextTrack cleanups
845 https://bugs.webkit.org/show_bug.cgi?id=127483
847 Reviewed by Darin Adler.
849 Merge some TextTrack cleanups:
850 https://chromium.googlesource.com/chromium/blink/+/b571b9fbc6e62e05aa77a402cf8f447e681b8ee3
851 https://chromium.googlesource.com/chromium/blink/+/6b1940151258150ea01bcf21ebfd958e2af247f4
852 https://chromium.googlesource.com/chromium/blink/+/397c2a2d9416f5c0d79bca22d6979f174eefcce2
853 https://chromium.googlesource.com/chromium/blink/+/f42ad93e25c6310b2b0327ab7ce5d82d3c4a6c1b
854 https://chromium.googlesource.com/chromium/blink/+/d55b52b53b7da05bba5fe378a4278250b9347430
855 https://chromium.googlesource.com/chromium/blink/+/cac766ecaaac477a08879f0b3157d0327cc75d96
856 https://chromium.googlesource.com/chromium/blink/+/6197ce278696cdd52fc2ad81893f369492468ca0
858 * html/HTMLTrackElement.cpp:
859 (WebCore::HTMLTrackElement::loadTimerFired): Remove the LoadableTextTrack* parameter, it isn't used.
860 (WebCore::HTMLTrackElement::didCompleteLoad): Ditto.
861 * html/HTMLTrackElement.h: didCompleteLoad doesn't need to be virtual.
863 * html/track/LoadableTextTrack.cpp:
864 (WebCore::LoadableTextTrack::loadTimerFired): Pass a reference, not a pointer.
865 (WebCore::LoadableTextTrack::cueLoadingStarted): Removed, it wasn't used.
866 (WebCore::LoadableTextTrack::cueLoadingCompleted): Pass a reference, not a pointer.
867 * html/track/LoadableTextTrack.h: Delete LoadableTextTrackClient, it is no longer used.
869 * loader/TextTrackLoader.cpp:
870 (WebCore::TextTrackLoader::TextTrackLoader): Take a TextTrackLoaderClient reference.
871 (WebCore::TextTrackLoader::~TextTrackLoader): Rename m_cachedCueData m_resource.
872 (WebCore::TextTrackLoader::cueLoadTimerFired): m_client is a reference.
873 (WebCore::TextTrackLoader::cancelLoad): m_cachedCueData -> m_resource.
874 (WebCore::TextTrackLoader::processNewCueData): Ditto.
875 (WebCore::TextTrackLoader::deprecatedDidReceiveCachedResource): Ditto.
876 (WebCore::TextTrackLoader::notifyFinished): Ditto.
877 (WebCore::TextTrackLoader::load): shouldLoadCues was removed from the client interface because
878 the only implementation always returned true.
879 (WebCore::TextTrackLoader::newRegionsParsed): m_client is a reference
880 * loader/TextTrackLoader.h:
882 * loader/cache/CachedResourceLoader.cpp:
883 (WebCore::CachedResourceLoader::canRequest): Remove an outdated comment.
885 2014-01-27 Chris Fleizach <cfleizach@apple.com>
887 AX: Disable accessibility after every test run
888 https://bugs.webkit.org/show_bug.cgi?id=127439
890 Reviewed by Csaba OsztrogonĂ¡c.
892 Speculative fix for EFL build. Don't process these notifications unless accessibility is enabled.
894 * loader/FrameLoader.cpp:
895 (WebCore::FrameLoader::prepareForLoadStart):
897 2014-01-27 Csaba OsztrogonĂ¡c <ossy@webkit.org>
899 Buildfix for !ENABLE(COMPARE_AND_SWAP) platforms after r162774
900 https://bugs.webkit.org/show_bug.cgi?id=127678
902 Reviewed by Zoltan Herczeg.
904 * platform/text/TextBreakIterator.cpp:
905 (WebCore::compareAndSwapNonSharedCharacterBreakIterator):
906 Use std::mutex instead of Mutex and std::lock_guard instead of MutexLocker.
908 2014-01-26 Tim Horton <timothy_horton@apple.com>
910 Fix the iOS build (failed to correctly revert some broken changes in the last patch).
912 * platform/graphics/cg/BitmapImageCG.cpp:
914 2014-01-26 Tim Horton <timothy_horton@apple.com>
916 Start cleaning up iOS upstreaming #ifs in platform/graphics
917 https://bugs.webkit.org/show_bug.cgi?id=127641
919 Reviewed by Sam Weinig.
921 * platform/graphics/BitmapImage.h:
922 * platform/graphics/mac/ColorMac.h:
923 Use USE(APPKIT) instead of PLATFORM(MAC) && !PLATFORM(IOS) for NSImage/getNSImage().
925 * platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.mm:
926 (WebCore::AVTrackPrivateAVFObjCImpl::label):
927 * platform/graphics/avfoundation/objc/InbandTextTrackPrivateLegacyAVFObjC.mm:
928 (WebCore::InbandTextTrackPrivateLegacyAVFObjC::label):
929 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
930 (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL):
931 Remove some code that was only used on OS X on Lion or below.
933 * platform/graphics/cg/GraphicsContextCG.cpp:
934 (WebCore::GraphicsContext::platformInit):
935 ToT WebKit doesn't build on Lion or earlier anymore, so this code can always run.
937 * platform/graphics/cg/FloatPointCG.cpp:
938 * platform/graphics/cg/FloatRectCG.cpp:
939 * platform/graphics/cg/FloatSizeCG.cpp:
940 * platform/graphics/cg/GradientCG.cpp:
941 * platform/graphics/cg/ImageBufferCG.cpp:
942 * platform/graphics/cg/ImageCG.cpp:
943 * platform/graphics/cg/IntPointCG.cpp:
944 * platform/graphics/cg/IntRectCG.cpp:
945 * platform/graphics/cg/PathCG.cpp:
946 * platform/graphics/cg/PatternCG.cpp:
947 * platform/graphics/mac/FontCustomPlatformData.cpp:
948 Use CoreGraphics/CoreGraphics.h instead of ApplicationServices/ApplicationServices.h
949 even on Mac, so we can share the include.
951 * platform/graphics/cg/IntSizeCG.cpp:
952 Remove a random comment of a style we don't tend to use in WebKit,
953 and from a file not large enough to need it.
955 * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
956 (WebCore::FontPlatformData::FontPlatformData):
957 (WebCore::FontPlatformData::setFont):
958 Remove some more always-true #ifs.
960 * platform/graphics/mac/WebLayer.mm:
961 Move a #if'd include out to its own block as per the style guide.
963 2014-01-26 David Hyatt <hyatt@apple.com>
965 [New Multicolumn] Make sure the progression axis and direction are propagated to the new columns.
966 https://bugs.webkit.org/show_bug.cgi?id=127670
968 This patch makes sure that the progression axis and direction style properties
969 are properly propagated from the style to the multi-column flow thread. Virtualizing
970 and renaming updateColumnInfoFromStyle to updateColumnProgressionFromStyle lets us
971 share code between the old multi-column code and the new.
973 Reviewed by Sam Weinig.
975 * rendering/RenderBlock.cpp:
976 (WebCore::RenderBlock::updateColumnProgressionFromStyle):
977 * rendering/RenderBlock.h:
978 * rendering/RenderBlockFlow.cpp:
979 (WebCore::RenderBlockFlow::setComputedColumnCountAndWidth):
980 (WebCore::RenderBlockFlow::updateColumnProgressionFromStyle):
981 * rendering/RenderBlockFlow.h:
982 * rendering/RenderBox.cpp:
983 (WebCore::RenderBox::styleDidChange):
984 * rendering/RenderMultiColumnFlowThread.cpp:
985 (WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread):
986 * rendering/RenderMultiColumnFlowThread.h:
987 * style/StyleResolveForDocument.cpp:
988 (WebCore::Style::resolveForDocument):
990 2014-01-26 David Hyatt <hyatt@apple.com>
992 [New Multicolumn] Change the axis property to be a boolean like other isInline checks
993 https://bugs.webkit.org/show_bug.cgi?id=127661
995 Reviewed by Simon Fraser.
997 * rendering/ColumnInfo.h:
998 (WebCore::ColumnInfo::ColumnInfo):
999 (WebCore::ColumnInfo::progressionIsInline):
1000 (WebCore::ColumnInfo::setProgressionIsInline):
1001 * rendering/RenderBlock.cpp:
1002 (WebCore::RenderBlock::paintColumnRules):
1003 (WebCore::RenderBlock::initialBlockOffsetForPainting):
1004 (WebCore::RenderBlock::blockDeltaForPaintingNextColumn):
1005 (WebCore::RenderBlock::setComputedColumnCountAndWidth):
1006 (WebCore::RenderBlock::updateColumnInfoFromStyle):
1007 (WebCore::RenderBlock::columnRectAt):
1008 (WebCore::RenderBlock::adjustPointToColumnContents):
1009 (WebCore::RenderBlock::adjustRectForColumns):
1010 (WebCore::RenderBlock::adjustForColumns):
1011 * rendering/RenderMultiColumnFlowThread.h:
1012 * rendering/RenderObject.cpp:
1013 (WebCore::RenderObject::columnNumberForOffset):
1015 2014-01-26 Benjamin Poulain <benjamin@webkit.org>
1017 Make DOMStringMap a typedef of DatasetDOMStringMap
1018 https://bugs.webkit.org/show_bug.cgi?id=127658
1020 Reviewed by Sam Weinig.
1022 The only concrete implementation of DOMStringMap is DatasetDOMStringMap.
1023 The abstract interface for a single definition is adding complexity for no gain.
1025 This patch removes DOMStringMap and simply keeps the name through a typedef.
1026 I used a typedef instead of just renaming DatasetDOMStringMap because I think
1027 having both name has value. DatasetDOMStringMap is a better description of what
1028 the implementation does. DOMStringMap is the public name and the classname is
1029 the same as the JavaScript type by convention.
1032 * GNUmakefile.list.am:
1033 * WebCore.vcxproj/WebCore.vcxproj:
1034 * WebCore.vcxproj/WebCore.vcxproj.filters:
1035 * WebCore.xcodeproj/project.pbxproj:
1036 * dom/DOMAllInOne.cpp:
1037 * dom/DOMStringMap.cpp: Removed.
1038 * dom/DOMStringMap.h:
1039 * dom/DatasetDOMStringMap.h:
1041 (WebCore::Element::dataset):
1044 2014-01-26 David Kilzer <ddkilzer@apple.com>
1046 Part 2: Assertion failure in WebCore::PseudoElement::didRecalcStyle()
1047 <https://bugs.webkit.org/show_bug.cgi?id=126761>
1048 <rdar://problem/15793540>
1050 Reviewed by Simon Fraser.
1052 * bindings/objc/DOM.mm:
1053 (-[DOMElement image]):
1054 (-[DOMElement _imageTIFFRepresentation]):
1055 * platform/gtk/PasteboardGtk.cpp:
1056 (WebCore::Pasteboard::writeImage):
1057 * platform/win/PasteboardWin.cpp:
1058 (WebCore::Pasteboard::writeImage):
1059 (WebCore::getCachedImage):
1060 * rendering/HitTestResult.cpp:
1061 (WebCore::HitTestResult::image):
1062 - More places where toRenderImage() should be used instead of
1064 - Fixed last two places where static_cast<WebCore::RenderImage*>
1065 was being used instead of toRenderImage().
1067 2014-01-26 Chris Fleizach <cfleizach@apple.com>
1069 AX: Disable accessibility after every test run
1070 https://bugs.webkit.org/show_bug.cgi?id=127439
1072 Reviewed by Alexey Proskuryakov.
1074 If accessibility is disabled, we may still need to return the existing
1075 AXObjectCache, so that objects can be cleaned up appropriately.
1077 A such we have to be prepared to handle a nullptr return value in more cases.
1079 * accessibility/AXObjectCache.h:
1080 (WebCore::AXObjectCache::disableAccessibility):
1081 * accessibility/AccessibilityNodeObject.cpp:
1082 (WebCore::AccessibilityNodeObject::childrenChanged):
1083 * accessibility/AccessibilityRenderObject.cpp:
1084 (WebCore::AccessibilityRenderObject::remoteSVGRootElement):
1086 (WebCore::Document::existingAXObjectCache):
1088 2014-01-26 Anders Carlsson <andersca@apple.com>
1090 Move history item visit count handling to WebKit
1091 https://bugs.webkit.org/show_bug.cgi?id=127659
1093 Reviewed by Dan Bernstein.
1095 Remove all members dealing with visit handling - they're going back to WebKit.
1098 * history/HistoryItem.cpp:
1099 (WebCore::HistoryItem::HistoryItem):
1100 (WebCore::HistoryItem::reset):
1101 (WebCore::HistoryItem::decodeBackForwardTree):
1102 * history/HistoryItem.h:
1103 (WebCore::HistoryItem::create):
1105 2014-01-26 Anders Carlsson <andersca@apple.com>
1107 Move lastVisitWasHTTPNonGet out to WebHistoryItem
1108 https://bugs.webkit.org/show_bug.cgi?id=127657
1110 Reviewed by Dan Bernstein.
1112 Remove m_lastVisitWasHTTPNonGet, it's only used by WebKit.
1114 * history/HistoryItem.cpp:
1115 (WebCore::HistoryItem::HistoryItem):
1116 (WebCore::HistoryItem::reset):
1117 * history/HistoryItem.h:
1119 2014-01-26 Zalan Bujtas <zalan@apple.com>
1121 Subpixel Layout: Align <input type="button", submit etc (PushButtonPart) top and bottom paddings with <button>
1122 https://bugs.webkit.org/show_bug.cgi?id=127640
1124 Reviewed by Simon Fraser.
1126 <button> sets padding-top: 2px and padding-bottom: 3px as default values (html.css),
1127 while <input type="button" (submit, etc) has the hardcoded values of 0, 0 and we center the text using the available space.
1128 This results in different baseline text position in normal cases. This adjustment puts the <input type='button'
1129 rendering back to the pre-subpixel layout state.
1131 * platform/mac/ThemeMac.mm:
1132 (WebCore::ThemeMac::controlPadding):
1134 2014-01-26 Benjamin Poulain <bpoulain@apple.com>
1136 Improve the bindings of NodeList's name accessor
1137 https://bugs.webkit.org/show_bug.cgi?id=127358
1139 Reviewed by Geoffrey Garen.
1141 When accessing an item of NodeList by name, the default bindings was
1142 going through the list of node twice:
1143 -First, getOwnProperty calls canGetItemsForName() to find if a property exists for
1144 the given name. This in turn used NodeList::namedItem() which is a slow operation.
1145 -Then, the value itself was queried through nameGetter(), calling NodeList::namedItem()
1146 a second time to find the same value.
1148 This patch kills the default name getter in favor of a getOwnPropertySlotDelegate() returning
1149 the value directly on the PropertySlot.
1151 Ad Hoc testing show about 15% speed up for simple cases.
1153 * bindings/js/JSNodeListCustom.cpp:
1154 (WebCore::JSNodeList::getOwnPropertySlotDelegate):
1157 2014-01-26 Joseph Pecoraro <pecoraro@apple.com>
1159 Web Inspector: Move InspectorDebuggerAgent into JavaScriptCore
1160 https://bugs.webkit.org/show_bug.cgi?id=127629
1162 Rubber-stamped by Sam Weinig.
1164 Test: inspector-protocol/debugger/pause-on-assert.html
1167 * ForwardingHeaders/inspector/agents/InspectorDebuggerAgent.h: Added.
1168 * GNUmakefile.list.am:
1169 * WebCore.vcxproj/WebCore.vcxproj:
1170 * WebCore.vcxproj/WebCore.vcxproj.filters:
1171 * WebCore.xcodeproj/project.pbxproj:
1172 * inspector/InspectorAllInOne.cpp:
1173 - Remove InspectorDebuggerAgent.
1174 - Add WebDebuggerAgent (shared between Page and Worker).
1176 * inspector/WebDebuggerAgent.h: Added.
1177 (WebCore::WebDebuggerAgent::~WebDebuggerAgent):
1178 * inspector/WebDebuggerAgent.cpp: Added.
1179 (WebCore::WebDebuggerAgent::WebDebuggerAgent):
1180 (WebCore::WebDebuggerAgent::enable):
1181 (WebCore::WebDebuggerAgent::disable):
1182 Shared code for Page and Worker debugger agents.
1183 Instrumenting agents is a concept in WebCore only,
1184 and the Debugger agent is only in the instrumenting
1185 agents list when it is enabled and removed when disabled.
1187 * inspector/InstrumentingAgents.h:
1188 (WebCore::InstrumentingAgents::inspectorDebuggerAgent):
1189 (WebCore::InstrumentingAgents::setInspectorDebuggerAgent):
1190 * inspector/InspectorDOMDebuggerAgent.cpp:
1191 * inspector/InspectorDOMDebuggerAgent.h:
1192 Update namespace for debugger agent.
1194 * inspector/InspectorInstrumentation.cpp:
1195 (WebCore::isConsoleAssertMessage):
1196 (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
1197 DebuggerAgent in JavaScriptCore does not yet know about console
1198 types. So temporarily handle it here. We need to give JavaScriptCore
1199 some concept of Console messages and types.
1201 * inspector/PageDebuggerAgent.cpp:
1202 (WebCore::PageDebuggerAgent::PageDebuggerAgent):
1203 (WebCore::PageDebuggerAgent::enable):
1204 (WebCore::PageDebuggerAgent::disable):
1205 (WebCore::PageDebuggerAgent::sourceMapURLForScript):
1206 (WebCore::PageDebuggerAgent::injectedScriptForEval):
1207 * inspector/PageDebuggerAgent.h:
1208 * inspector/WorkerDebuggerAgent.cpp:
1209 (WebCore::WorkerDebuggerAgent::WorkerDebuggerAgent):
1210 (WebCore::WorkerDebuggerAgent::injectedScriptForEval):
1211 * inspector/WorkerDebuggerAgent.h:
1212 Modernize the Page and Worker debugger agents.
1214 * inspector/InspectorController.cpp:
1215 (WebCore::InspectorController::InspectorController):
1216 * inspector/InspectorController.h:
1217 * inspector/WorkerInspectorController.cpp:
1218 (WebCore::WorkerInspectorController::WorkerInspectorController):
1219 New constructors for the debugger agents.
1221 2014-01-25 Timothy Hatcher <timothy@apple.com>
1223 Remove dead code from the JSC profiler.
1225 https://bugs.webkit.org/show_bug.cgi?id=127643
1227 Reviewed by Mark Lam.
1229 Passes existing tests in fast/profiler.
1231 * bindings/js/ScriptProfile.cpp:
1232 (WebCore::buildInspectorObjectFor): Remove visible.
1233 * inspector/ScriptProfileNode.idl: Ditto.
1234 * inspector/protocol/Profiler.json: Ditto.
1236 2014-01-25 Sam Weinig <sam@webkit.org>
1238 Remove unused support for DRAGGABLE_REGION
1239 https://bugs.webkit.org/show_bug.cgi?id=127642
1241 Reviewed by Simon Fraser.
1243 * Configurations/FeatureDefines.xcconfig:
1244 * DerivedSources.make:
1246 * css/CSSComputedStyleDeclaration.cpp:
1247 (WebCore::ComputedStyleExtractor::propertyValue):
1248 * css/CSSParser.cpp:
1249 (WebCore::CSSParser::parseValue):
1250 * css/CSSPropertyNames.in:
1251 * css/CSSValueKeywords.in:
1252 * css/StyleResolver.cpp:
1253 (WebCore::StyleResolver::applyProperty):
1255 (WebCore::Document::Document):
1258 * page/ChromeClient.h:
1259 * page/FrameView.cpp:
1260 (WebCore::FrameView::layout):
1261 (WebCore::FrameView::paintContents):
1263 * rendering/RenderElement.cpp:
1264 (WebCore::RenderElement::styleWillChange):
1265 * rendering/RenderInline.cpp:
1266 (WebCore::RenderInline::addAnnotatedRegions):
1267 * rendering/RenderInline.h:
1268 * rendering/RenderLayer.cpp:
1269 (WebCore::RenderLayer::scrollTo):
1270 (WebCore::RenderLayer::setHasHorizontalScrollbar):
1271 (WebCore::RenderLayer::setHasVerticalScrollbar):
1272 (WebCore::RenderLayer::updateScrollbarsAfterLayout):
1273 * rendering/RenderListBox.cpp:
1274 (WebCore::RenderListBox::setHasVerticalScrollbar):
1275 * rendering/RenderObject.cpp:
1276 (WebCore::RenderObject::addAnnotatedRegions):
1277 * rendering/RenderObject.h:
1278 (WebCore::AnnotatedRegionValue::operator==):
1279 * rendering/style/RenderStyle.h:
1280 * rendering/style/RenderStyleConstants.h:
1281 * rendering/style/StyleRareNonInheritedData.cpp:
1282 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
1283 (WebCore::StyleRareNonInheritedData::operator==):
1284 * rendering/style/StyleRareNonInheritedData.h:
1286 2014-01-25 Gyuyoung Kim <gyuyoung.kim@samsung.com>
1288 Clean up SVGPatternElement::collectPatternAttributes
1289 https://bugs.webkit.org/show_bug.cgi?id=127612
1291 Reviewed by Andreas Kling.
1293 This patch refactors SVGPatternElement::collectPatternAttributes() by extracting
1294 the setPatternAttributes logic into a new function. This patch also changes the
1295 while loop to be easier to understand and similar to collectGradientAttributes.
1297 * svg/SVGPatternElement.cpp:
1298 (WebCore::setPatternAttributes):
1299 (WebCore::SVGPatternElement::collectPatternAttributes):
1301 2014-01-25 Zalan Bujtas <zalan@apple.com>
1303 Subpixel layout: RenderInline is not centered when child RenderTextControl's innerTextRenderer needs bias centering.
1304 https://bugs.webkit.org/show_bug.cgi?id=125659
1306 Reviewed by Andreas Kling
1308 layoutMod(logicalHeightDiff, 2) fails to bias round when subpixel layout is enabled. It sets
1309 the denominator value to 2, which returns incorrect modulo result.
1310 (subpixel off: 3px % 2 = 1 vs subpixel on: (3px * 64) -> 192 % 2 = 0)
1312 Covered by existing tests.
1314 * platform/LayoutUnit.h:
1315 * rendering/RenderSearchField.cpp:
1316 (WebCore::RenderSearchField::centerContainerIfNeeded):
1317 * rendering/RenderTextControlSingleLine.cpp:
1318 (WebCore::RenderTextControlSingleLine::centerRenderer):
1319 (WebCore::RenderTextControlSingleLine::layout):
1320 * rendering/RenderTextControlSingleLine.h:
1322 2014-01-25 Sam Weinig <sam@webkit.org>
1324 Remove more unnecessary #if PLATFORM(IOS)s in ApplicationCacheStorage.cpp
1325 https://bugs.webkit.org/show_bug.cgi?id=127635
1327 Reviewed by Antti Koivisto.
1329 * loader/appcache/ApplicationCacheStorage.cpp:
1330 (WebCore::ApplicationCacheStorage::executeSQLCommand):
1331 (WebCore::ApplicationCacheStorage::verifySchemaVersion):
1332 (WebCore::ApplicationCacheStorage::executeStatement):
1333 (WebCore::ApplicationCacheStorage::store):
1334 (WebCore::ApplicationCacheStorage::ensureOriginRecord):
1335 (WebCore::ApplicationCacheStorage::loadCache):
1337 2014-01-25 Sam Weinig <sam@webkit.org>
1339 Remove some iOS #ifdefs by adding SQLiteDatabaseTracker to all the builds
1340 https://bugs.webkit.org/show_bug.cgi?id=127632
1342 Reviewed by Darin Adler.
1344 Move the SQLiteDatabaseTracker and client from platform/sql/ios to platform/sql,
1345 as there is nothing iOS specific about it. Then, un-#ifdef all its uses. For
1346 ports that don't setup a client, this has no change in behavior.
1349 * GNUmakefile.list.am:
1350 * Modules/webdatabase/DatabaseBackendBase.cpp:
1351 * WebCore.vcxproj/WebCore.vcxproj:
1352 * WebCore.vcxproj/WebCore.vcxproj.filters:
1353 * WebCore.xcodeproj/project.pbxproj:
1354 * loader/appcache/ApplicationCacheStorage.cpp:
1355 * platform/ScrollableArea.h:
1356 (WebCore::ScrollableArea::sendWillRevealEdgeEventsIfNeeded):
1357 * platform/sql/SQLiteDatabaseTracker.cpp: Copied from Source/WebCore/platform/sql/ios/SQLiteDatabaseTracker.cpp.
1358 * platform/sql/SQLiteDatabaseTracker.h: Copied from Source/WebCore/platform/sql/ios/SQLiteDatabaseTracker.h.
1359 * platform/sql/SQLiteDatabaseTrackerClient.h: Copied from Source/WebCore/platform/sql/ios/SQLiteDatabaseTrackerClient.h.
1360 * platform/sql/ios: Removed.
1361 * platform/sql/ios/SQLiteDatabaseTracker.cpp: Removed.
1362 * platform/sql/ios/SQLiteDatabaseTracker.h: Removed.
1363 * platform/sql/ios/SQLiteDatabaseTrackerClient.h: Removed.
1364 * storage/StorageAreaSync.cpp:
1365 (WebCore::StorageAreaSync::openDatabase):
1366 (WebCore::StorageAreaSync::sync):
1367 * storage/StorageTracker.cpp:
1369 2014-01-25 Anders Carlsson <andersca@apple.com>
1371 Remove an unused FrameLoaderClient function
1372 https://bugs.webkit.org/show_bug.cgi?id=127628
1374 Reviewed by Andreas Kling.
1376 All implementations of FrameLoaderClient::shouldStopLoadingForHistoryItem return true and this function
1377 was only used by Chromium so we can get rid of it.
1379 * loader/EmptyClients.h:
1380 * loader/FrameLoaderClient.h:
1381 * loader/HistoryController.cpp:
1382 (WebCore::HistoryController::shouldStopLoadingForHistoryItem):
1384 2014-01-25 Darin Adler <darin@apple.com>
1386 Call deprecatedCharacters instead of characters at more call sites
1387 https://bugs.webkit.org/show_bug.cgi?id=127631
1389 Reviewed by Sam Weinig.
1391 * bindings/objc/WebScriptObject.mm:
1392 (+[WebScriptObject _convertValueToObjcValue:JSC::originRootObject:rootObject:]):
1393 * editing/CompositeEditCommand.cpp:
1394 (WebCore::containsOnlyWhitespace):
1395 * editing/TypingCommand.cpp:
1396 (WebCore::TypingCommand::insertText):
1397 * editing/VisibleUnits.cpp:
1398 (WebCore::startOfParagraph):
1399 (WebCore::endOfParagraph):
1400 * html/parser/HTMLParserIdioms.cpp:
1401 (WebCore::stripLeadingAndTrailingHTMLSpaces):
1402 (WebCore::parseHTMLNonNegativeInteger):
1403 * inspector/InspectorStyleSheet.cpp:
1404 (WebCore::InspectorStyle::newLineAndWhitespaceDelimiters):
1405 * inspector/InspectorStyleTextEditor.cpp:
1406 (WebCore::InspectorStyleTextEditor::insertProperty):
1407 (WebCore::InspectorStyleTextEditor::internalReplaceProperty):
1408 * platform/Length.cpp:
1409 (WebCore::newCoordsArray):
1410 * platform/LinkHash.cpp:
1411 (WebCore::visitedLinkHash):
1412 * platform/graphics/Color.cpp:
1413 (WebCore::Color::parseHexColor):
1414 (WebCore::Color::Color):
1415 * platform/graphics/TextRun.h:
1416 (WebCore::TextRun::TextRun):
1417 * platform/text/TextEncodingRegistry.cpp:
1418 (WebCore::atomicCanonicalTextEncodingName):
1419 * rendering/RenderBlock.cpp:
1420 (WebCore::RenderBlock::constructTextRun):
1421 * rendering/RenderCombineText.cpp:
1422 (WebCore::RenderCombineText::width):
1423 * svg/SVGFontElement.cpp:
1424 (WebCore::SVGFontElement::registerLigaturesInGlyphCache):
1425 * xml/XPathFunctions.cpp:
1426 (WebCore::XPath::FunId::evaluate):
1429 2014-01-25 Darin Adler <darin@apple.com>
1431 Get rid of ICU_UNICODE and WCHAR_UNICODE remnants
1432 https://bugs.webkit.org/show_bug.cgi?id=127623
1434 Reviewed by Anders Carlsson.
1436 * CMakeLists.txt: Removed SmartReplaceICU.cpp.
1437 * GNUmakefile.list.am: Ditto.
1438 * PlatformEfl.cmake: Ditto.
1439 * PlatformGTK.cmake: Ditto.
1441 * editing/FrameSelection.cpp:
1442 (WebCore::FrameSelection::modifyMovingRight): Ditto.
1443 (WebCore::FrameSelection::modifyMovingLeft): Ditto.
1445 * editing/SmartReplace.cpp: Moved code here from SmartReplaceICU,
1446 since we always support ICU now. Added some FIXME comments about
1447 bugs and mistakes I spotted in the code as I was moving it.
1448 * editing/SmartReplaceICU.cpp: Removed.
1450 * editing/TextIterator.cpp: Removed unneeded checks.
1451 * platform/ThreadGlobalData.cpp:
1452 (WebCore::ThreadGlobalData::ThreadGlobalData): Ditto.
1453 (WebCore::ThreadGlobalData::destroy): Ditto.
1454 * platform/ThreadGlobalData.h: Ditto.
1456 (WebCore::appendEncodedHostname): Ditto.
1457 * platform/graphics/SurrogatePairAwareTextIterator.cpp: Ditto.
1458 Also removed unneeded "using namespace".
1459 * platform/text/TextCodecICU.cpp: Ditto.
1460 * platform/text/TextEncoding.cpp:
1461 (WebCore::TextEncoding::encode): Ditto.
1462 * platform/text/TextEncodingRegistry.cpp:
1463 (WebCore::extendTextCodecMaps): Ditto.
1465 2014-01-25 Darin Adler <darin@apple.com>
1467 Get rid of UnicodeRange.h/cpp, using ICU instead
1468 https://bugs.webkit.org/show_bug.cgi?id=127622
1470 Reviewed by Anders Carlsson.
1472 * CMakeLists.txt: Remove UnicodeRange.h/cpp.
1473 * GNUmakefile.list.am: Ditto.
1474 * WebCore.vcxproj/WebCore.vcxproj: Ditto.
1475 * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
1476 * WebCore.xcodeproj/project.pbxproj: Ditto.
1478 * platform/graphics/win/FontCacheWin.cpp:
1479 (WebCore::FontCache::systemFallbackForCharacters): To check if a character has
1480 multiple code pages, use UCHAR_UNIFIED_IDEOGRAPH instead of cRangeSetCJK.
1481 * platform/graphics/wince/FontCacheWinCE.cpp:
1482 (WebCore::FontCache::systemFallbackForCharacters): Ditto. Also, to check if a
1483 character is in the Thai block, use UBLOCK_THAI.
1485 * platform/graphics/wince/FontPlatformData.cpp: Removed include of UnicodeRange.h.
1487 * platform/text/UnicodeRange.cpp: Removed.
1488 * platform/text/UnicodeRange.h: Removed.
1490 * rendering/svg/SVGTextLayoutEngineBaseline.cpp:
1491 (WebCore::SVGTextLayoutEngineBaseline::calculateGlyphOrientationAngle): To figure
1492 out if a character is full width, use UCHAR_EAST_ASIAN_WIDTH, instead of hard-coding
1493 "not Latin or Arabic" as the rule.
1495 2014-01-25 Tim Horton <timothy_horton@apple.com>
1497 Remove an unnecessary platform #if in BitmapImage(CG)::checkForSolidColor()
1498 https://bugs.webkit.org/show_bug.cgi?id=127610
1500 Reviewed by Simon Fraser.
1502 * platform/graphics/cg/BitmapImageCG.cpp:
1503 (WebCore::BitmapImage::checkForSolidColor):
1504 Over time, the two sides of this #if !PLATFORM(IOS) converged. Remove the #if
1505 and merge the code. We explicitly use kCGBitmapByteOrder32Big to be correct everywhere.
1507 2014-01-25 Tim Horton <timothy_horton@apple.com>
1509 [cg] Look in the PNG dictionary for image duration information
1510 https://bugs.webkit.org/show_bug.cgi?id=127611
1511 <rdar://problem/15408643>
1513 Reviewed by Simon Fraser.
1515 We should look in the PNG properties dictionary for frame duration and loop count data.
1517 * platform/graphics/cg/ImageSourceCG.cpp:
1518 (WebCore::ImageSource::repetitionCount):
1519 Mush repetitionCount a bit more to make it easier to read (early returns, etc.)
1520 Also, look in the PNG properties dictionary for a loop count.
1522 (WebCore::ImageSource::frameDurationAtIndex):
1523 Look in the PNG properties dictionary for delay time.
1524 Get rid of WebCoreCGImagePropertyGIFUnclampedDelayTime; it hasn't
1525 been needed since Snow Leopard.
1527 2014-01-25 Anders Carlsson <andersca@apple.com>
1529 Remove atomicIncrement/atomicDecrement
1530 https://bugs.webkit.org/show_bug.cgi?id=127625
1532 Reviewed by Andreas Kling.
1534 Replace atomicIncrement/atomicDecrement with std::atomic.
1536 * Modules/webaudio/AudioContext.cpp:
1537 (WebCore::AudioContext::incrementActiveSourceCount):
1538 (WebCore::AudioContext::decrementActiveSourceCount):
1539 * Modules/webaudio/AudioContext.h:
1540 * Modules/webaudio/AudioNode.cpp:
1541 (WebCore::AudioNode::~AudioNode):
1542 (WebCore::AudioNode::ref):
1543 (WebCore::AudioNode::finishDeref):
1544 * Modules/webaudio/AudioNode.h:
1545 * Modules/webdatabase/OriginLock.h:
1547 2014-01-25 Alex Christensen <achristensen@webkit.org>
1549 Unreviewed build fix for WinCairo.
1551 * platform/network/curl/CurlDownload.h:
1552 Included wtf/Threading.h for ThreadIdentifier definition.
1554 2014-01-25 Anders Carlsson <andersca@apple.com>
1556 Modernize HashTable threading code
1557 https://bugs.webkit.org/show_bug.cgi?id=127621
1559 Reviewed by Darin Adler.
1561 Explicitly include headers that used to be brought in by HashTable.h
1563 * platform/DragData.h:
1564 Change a Windows-specific typedef to avoid having to include WindDef.h from a header.
1566 * platform/audio/AudioSession.h:
1567 * platform/network/cf/SocketStreamHandle.h:
1569 2014-01-25 Zan Dobersek <zdobersek@igalia.com>
1571 Move CSSGroupingRule, CSSStyleSheet, ElementRuleCollector to std::unique_ptr
1572 https://bugs.webkit.org/show_bug.cgi?id=127575
1574 Reviewed by Andreas Kling.
1576 Use std::unique_ptr and std::make_unique in place of OwnPtr and adoptPtr
1577 in the CSSGroupingRule, CSSStyleSheet and ElementRuleCollector classes.
1579 * css/CSSFunctionValue.cpp: Remove the unnecessary PassOwnPtr header inclusion.
1580 * css/CSSGroupingRule.cpp:
1581 (WebCore::CSSGroupingRule::cssRules):
1582 * css/CSSGroupingRule.h:
1583 * css/CSSStyleSheet.cpp:
1584 (WebCore::CSSStyleSheet::cssRules):
1585 * css/CSSStyleSheet.h:
1586 * css/ElementRuleCollector.cpp:
1587 (WebCore::ElementRuleCollector::addMatchedRule):
1588 * css/ElementRuleCollector.h:
1590 2014-01-25 Zan Dobersek <zdobersek@igalia.com>
1592 Move MediaQueryMatcher, SelectorFilter to std::unique_ptr
1593 https://bugs.webkit.org/show_bug.cgi?id=127574
1595 Reviewed by Andreas Kling.
1597 Replace the use of OwnPtr and adoptPtr with std::unique_ptr and std::make_unique
1598 in the MediaQueryMatcher and SelectorFilter classes.
1600 * css/MediaQueryMatcher.cpp:
1601 (WebCore::MediaQueryMatcher::prepareEvaluator):
1602 (WebCore::MediaQueryMatcher::evaluate):
1603 (WebCore::MediaQueryMatcher::addListener):
1604 (WebCore::MediaQueryMatcher::styleResolverChanged):
1605 * css/MediaQueryMatcher.h:
1606 * css/SelectorFilter.cpp:
1607 (WebCore::SelectorFilter::popParentStackFrame):
1608 (WebCore::SelectorFilter::setupParentStack):
1609 * css/SelectorFilter.h:
1611 2014-01-25 Zan Dobersek <zdobersek@igalia.com>
1613 Move PropertySetCSSStyleDeclaration, WebKitCSSKeyframesRule to std::unique_ptr
1614 https://bugs.webkit.org/show_bug.cgi?id=127572
1616 Reviewed by Andreas Kling.
1618 Switch the PropertySetCSSStyleDeclaration and WebKitCSSKeyframesRule classes from using
1619 OwnPtr and adoptPtr to using std::unique_ptr and std::make_unique.
1621 * css/PropertySetCSSStyleDeclaration.cpp:
1622 (WebCore::PropertySetCSSStyleDeclaration::cloneAndCacheForCSSOM):
1623 (WebCore::StyleRuleCSSStyleDeclaration::didMutate):
1624 (WebCore::InlineCSSStyleDeclaration::didMutate):
1625 * css/PropertySetCSSStyleDeclaration.h:
1626 * css/WebKitCSSKeyframesRule.cpp:
1627 (WebCore::WebKitCSSKeyframesRule::cssRules):
1628 * css/WebKitCSSKeyframesRule.h:
1630 2014-01-25 Zan Dobersek <zdobersek@igalia.com>
1632 Move StyleProperties, StyleResolver to std::unique_ptr
1633 https://bugs.webkit.org/show_bug.cgi?id=127570
1635 Reviewed by Andreas Kling.
1637 Move the StyleProperties and StyleResolver classes from using OwnPtr and adoptPtr
1638 to using std::unique_ptr and std::make_unique.
1640 * css/StyleInvalidationAnalysis.h: Remove the PassOwnPtr.h header inclusion.
1641 * css/StyleProperties.cpp:
1642 (WebCore::MutableStyleProperties::ensureCSSStyleDeclaration):
1643 (WebCore::MutableStyleProperties::ensureInlineCSSStyleDeclaration):
1644 * css/StyleProperties.h:
1645 * css/StyleResolver.cpp:
1646 (WebCore::StyleResolver::StyleResolver):
1647 (WebCore::StyleResolver::addViewportDependentMediaQueryResult):
1648 * css/StyleResolver.h:
1649 * css/StyleScopeResolver.h:
1651 2014-01-25 Zan Dobersek <zdobersek@igalia.com>
1653 Move CSSFontFace, CSSFontSelector to std::unique_ptr
1654 https://bugs.webkit.org/show_bug.cgi?id=127569
1656 Reviewed by Andreas Kling.
1658 Move the CSSFontFace and CSSFontSelector classes from using OwnPtr, PassOwnPtr and adoptPtr
1659 to using std::unique_ptr, move semantics and std::make_unique.
1661 * css/CSSFontFace.cpp:
1662 (WebCore::CSSFontFace::addSource):
1663 * css/CSSFontFace.h:
1664 * css/CSSFontSelector.cpp:
1665 (WebCore::CSSFontSelector::addFontFaceRule):
1666 (WebCore::CSSFontSelector::getFontFace):
1667 * css/CSSFontSelector.h:
1669 2014-01-24 Joseph Pecoraro <pecoraro@apple.com>
1671 Web Inspector: Move InspectorRuntimeAgent into JavaScriptCore
1672 https://bugs.webkit.org/show_bug.cgi?id=127605
1674 Reviewed by Timothy Hatcher.
1676 Covered by existing tests. No change in functionality.
1679 * GNUmakefile.list.am:
1680 * WebCore.vcxproj/WebCore.vcxproj:
1681 * WebCore.vcxproj/WebCore.vcxproj.filters:
1682 * WebCore.xcodeproj/project.pbxproj:
1683 * inspector/InspectorAllInOne.cpp:
1684 Remove WebCore InspectorRuntimeAgent.
1686 * ForwardingHeaders/inspector/agents/InspectorRuntimeAgent.h: Added.
1687 Add JavaScriptCore InspectorRuntimeAgent.
1689 * inspector/InspectorController.cpp:
1690 (WebCore::InspectorController::InspectorController):
1691 * inspector/WorkerInspectorController.h:
1692 * inspector/WorkerInspectorController.cpp:
1693 (WebCore::WorkerInspectorController::WorkerInspectorController):
1694 New constructors for the runtime agent.
1696 * inspector/PageRuntimeAgent.h:
1697 * inspector/PageRuntimeAgent.cpp:
1698 (WebCore::PageRuntimeAgent::PageRuntimeAgent):
1699 (WebCore::PageRuntimeAgent::enable):
1700 (WebCore::PageRuntimeAgent::disable):
1701 (WebCore::PageRuntimeAgent::didCreateMainWorldContext):
1702 (WebCore::PageRuntimeAgent::didCreateIsolatedContext):
1703 (WebCore::PageRuntimeAgent::globalVM):
1704 Modernize and implement globalVM.
1706 * inspector/WorkerRuntimeAgent.h:
1707 * inspector/WorkerRuntimeAgent.cpp:
1708 (WebCore::WorkerRuntimeAgent::WorkerRuntimeAgent):
1709 (WebCore::WorkerRuntimeAgent::injectedScriptForEval):
1710 (WebCore::WorkerRuntimeAgent::globalVM):
1711 Modernize and implement globalVM.
1713 2014-01-25 Diego Pino Garcia <dpino@igalia.com>
1715 [GTK] Add parameters from 'DOM Object Model Core' spec and 'DOM CSS' spec that can be NULL
1717 https://bugs.webkit.org/show_bug.cgi?id=117536
1719 Reviewed by Xan Lopez.
1721 * bindings/scripts/CodeGeneratorGObject.pm:
1722 (ParamCanBeNull): Add new pairs (function, parameter) that can be NULL
1724 2014-01-25 Anders Carlsson <andersca@apple.com>
1726 Get rid of BackForwardController::isActive()
1727 https://bugs.webkit.org/show_bug.cgi?id=127604
1729 Reviewed by Sam Weinig.
1731 BackForwardController::isActive() used to mean "my page maintains a back forward
1732 list that has zero capacity". Move that logic into WebKit instead, namely the
1733 WebFrameLoaderClient::canCachePage function so we can simplify WebCore.
1735 * history/BackForwardClient.h:
1736 * history/BackForwardController.cpp:
1737 * history/BackForwardController.h:
1738 * history/BackForwardList.h:
1739 * history/PageCache.cpp:
1740 (WebCore::logCanCachePageDecision):
1741 (WebCore::PageCache::canCache):
1743 2014-01-25 Antti Koivisto <antti@apple.com>
1745 REGRESSION(r162744): wsj.com paints white
1746 https://bugs.webkit.org/show_bug.cgi?id=127619
1748 Reviewed by Sam Weinig.
1750 Test: fast/css/stylesheet-layout-with-pending-paint.html
1753 (WebCore::Document::styleResolverChanged):
1755 Ensure we switch out from IgnoreLayoutWithPendingSheets state after stylesheet loads complete.
1757 2014-01-24 Dan Bernstein <mitz@apple.com>
1759 Reverted r162760. It broke more things.
1763 2014-01-24 Dan Bernstein <mitz@apple.com>
1765 Try to fix some 32-bit builds.
1769 2014-01-24 Jinwoo Song <jinwoo7.song@samsung.com>
1771 [EFL] Replace usage of DEFINE_STATIC_LOCAL with NeverDestroyed in WebCore/platform/efl
1772 https://bugs.webkit.org/show_bug.cgi?id=127607
1774 Reviewed by Anders Carlsson.
1776 * platform/efl/EflKeyboardUtilities.cpp:
1777 (WebCore::keyMap): Use NeverDestroyed instead of DEFINE_STATIC_LOCAL.
1778 (WebCore::windowsKeyMap): Ditto.
1779 (WebCore::keyDownCommandsMap): Ditto.
1780 (WebCore::keyPressCommandsMap): Ditto.
1781 * platform/efl/GamepadsEfl.cpp:
1782 (WebCore::sampleGamepads): Ditto.
1783 * platform/efl/RenderThemeEfl.cpp:
1784 (WebCore::RenderThemeEfl::systemFont): Do not use unnecessary DEFINE_STATIC_LOCAL.
1786 2014-01-23 Joseph Pecoraro <pecoraro@apple.com>
1788 Move JavaScriptCallFrame and ScriptDebugServer into JavaScriptCore for inspector
1789 https://bugs.webkit.org/show_bug.cgi?id=127543
1791 Reviewed by Geoffrey Garen.
1793 Covered by existing tests.
1795 * ForwardingHeaders/inspector/ScriptDebugServer.h: Added.
1796 * GNUmakefile.list.am:
1798 * WebCore.vcxproj/WebCore.vcxproj:
1799 * WebCore.vcxproj/WebCore.vcxproj.filters:
1800 * WebCore.xcodeproj/project.pbxproj:
1801 * bindings/js/JSBindingsAllInOne.cpp:
1802 * inspector/JavaScriptCallFrame.idl: Removed.
1803 Update builds now that ScriptDebugServer moved to JavaScriptCore.
1805 * bindings/js/PageScriptDebugServer.h:
1806 * bindings/js/PageScriptDebugServer.cpp:
1807 (WebCore::PageScriptDebugServer::runEventLoopWhilePaused):
1808 (WebCore::PageScriptDebugServer::isContentScript):
1809 (WebCore::PageScriptDebugServer::reportException):
1810 * bindings/js/WorkerScriptDebugServer.h:
1811 * bindings/js/WorkerScriptDebugServer.cpp:
1812 (WebCore::WorkerScriptDebugServer::runEventLoopWhilePaused):
1813 (WebCore::WorkerScriptDebugServer::reportException):
1814 Handle ScriptDebugServer functionality depending on WebCore knowledge.
1816 * inspector/InspectorDebuggerAgent.h:
1817 * inspector/InspectorDebuggerAgent.cpp:
1818 (WebCore::InspectorDebuggerAgent::breakpointActionSound):
1819 Handle ScriptDebugServer functionality that depended on WebCore knowledge.
1820 This will eventually be written in a non-WebCore specific way.
1822 * inspector/InspectorRuntimeAgent.cpp:
1823 * inspector/InspectorRuntimeAgent.h:
1824 Update ScriptDebugServer type now that it is in namespace Inspector.
1826 * workers/WorkerGlobalScope.h:
1827 Make addConsoleMessage public again so the inspector can call it.
1829 * inspector/PageDebuggerAgent.cpp:
1830 (WebCore::PageDebuggerAgent::breakpointActionLog):
1831 * inspector/PageDebuggerAgent.h:
1832 * inspector/WorkerDebuggerAgent.cpp:
1833 (WebCore::WorkerDebuggerAgent::breakpointActionLog):
1834 * inspector/WorkerDebuggerAgent.h:
1835 Let each of these handle console logs in their own way. Both of these
1836 eventually go through the PageConsole and log through the InspectorConsoleAgent
1839 2014-01-24 Brent Fulgham <bfulgham@apple.com>
1841 Improve latching behavior for wheel events
1842 https://bugs.webkit.org/show_bug.cgi?id=127386
1843 <rdar://problem/12176858>
1845 Reviewed by Simon Fraser.
1847 * page/scrolling/ScrollingTree.cpp:
1848 (WebCore::ScrollingTree::ScrollingTree): Initialize new values used for tracking
1849 scroll latching state.
1850 (WebCore::ScrollingTree::shouldHandleWheelEventSynchronously): Check for an existing
1851 latched node and stay in fast scrolling mode if possible.
1852 (WebCore::ScrollingTree::removeDestroyedNodes): Clear latched node if it's being removed.
1853 (WebCore::ScrollingTree::latchedNode): Added
1854 (WebCore::ScrollingTree::setLatchedNode): Added
1855 (WebCore::ScrollingTree::clearLatchedNode): Added
1856 * page/scrolling/ScrollingTree.h:
1857 (WebCore::ScrollingTree::hasLatchedNode): Added
1858 * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
1859 (WebCore::shouldConsiderLatching): Added
1860 (WebCore::ScrollingTreeScrollingNodeMac::handleWheelEvent): Determine latching state
1861 based on wheel event state and position of mouse pointer in the document.
1863 2014-01-24 Anders Carlsson <andersca@apple.com>
1865 Another attempted build fix.
1867 Use wildcards in the the std::duration symbol.
1871 2014-01-24 Simon Fraser <simon.fraser@apple.com>
1873 Start using the RemoteScrollingCoordinatorProxy on iOS
1874 https://bugs.webkit.org/show_bug.cgi?id=127598
1876 Reviewed by Tim Horton.
1878 Add a scrollPositionChangedViaDelegatedScrolling() function to
1879 ScrollingTree, allowing the ScrollingTree to be informed about
1880 external sources of scrolling.
1882 Also add a convenience getter for nodes, nodeForID().
1885 * page/scrolling/ScrollingTree.cpp:
1886 (WebCore::ScrollingTree::scrollPositionChangedViaDelegatedScrolling):
1887 (WebCore::ScrollingTree::nodeForID):
1888 * page/scrolling/ScrollingTree.h:
1889 * rendering/RenderLayerCompositor.cpp:
1890 (WebCore::RenderLayerCompositor::registerAllViewportConstrainedLayers):
1891 To avoid assertions on iOS, bail from iOS WK1 fixed position code if
1892 we have a ScrollingCoordinator.
1893 (WebCore::RenderLayerCompositor::unregisterAllViewportConstrainedLayers):
1896 2014-01-24 Simon Fraser <simon.fraser@apple.com>
1898 Add typesafe casts for ScrollingTreeNode classes
1899 https://bugs.webkit.org/show_bug.cgi?id=127597
1901 Reviewed by Tim Horton.
1903 Add a ScrollingNodeType member to ScrollingTreeNodes and
1904 use it for type-safe casting.
1906 * page/scrolling/ScrollingTreeNode.cpp:
1907 (WebCore::ScrollingTreeNode::ScrollingTreeNode):
1908 * page/scrolling/ScrollingTreeNode.h:
1909 (WebCore::ScrollingTreeNode::nodeType):
1910 (WebCore::ScrollingTreeNode::scrollingNodeID):
1911 * page/scrolling/ScrollingTreeScrollingNode.cpp:
1912 (WebCore::ScrollingTreeScrollingNode::ScrollingTreeScrollingNode):
1913 * page/scrolling/ScrollingTreeScrollingNode.h:
1914 * page/scrolling/mac/ScrollingTreeFixedNode.h:
1915 * page/scrolling/mac/ScrollingTreeFixedNode.mm:
1916 (WebCore::ScrollingTreeFixedNode::ScrollingTreeFixedNode):
1917 * page/scrolling/mac/ScrollingTreeStickyNode.h:
1918 * page/scrolling/mac/ScrollingTreeStickyNode.mm:
1919 (WebCore::ScrollingTreeStickyNode::ScrollingTreeStickyNode):
1921 2014-01-24 Anders Carlsson <andersca@apple.com>
1923 Remove back/forward list related functions from Page
1924 https://bugs.webkit.org/show_bug.cgi?id=127596
1926 Reviewed by Andreas Kling.
1929 * history/BackForwardController.cpp:
1930 (WebCore::BackForwardController::canGoBackOrForward):
1931 (WebCore::BackForwardController::goBackOrForward):
1932 (WebCore::BackForwardController::goBack):
1933 (WebCore::BackForwardController::goForward):
1934 (WebCore::BackForwardController::count):
1935 * page/EventHandler.cpp:
1936 (WebCore::EventHandler::defaultBackspaceEventHandler):
1940 2014-01-24 Antti Koivisto <antti@apple.com>
1942 Update style asynchronously after style sheet load
1943 https://bugs.webkit.org/show_bug.cgi?id=127563
1945 Reviewed by Andreas Kling.
1947 Since we don't attach synchronously we don't need to recalc style synchronously either.
1950 (WebCore::Document::didRemoveAllPendingStylesheet):
1952 2014-01-24 Zalan Bujtas <zalan@apple.com>
1954 Subpixel layout: Default style of input type=checkbox/radio (0.5ex) adds 1px extra margin on both left and right.
1955 https://bugs.webkit.org/show_bug.cgi?id=125728
1957 Reviewed by Simon Fraser.
1959 Using the 0.5ex value to set checkbox/radio left and right margins is a long-standing
1960 (khtml) behavior. While it indicates dynamic behavior, in order to get the margins changed,
1961 the widget's font size needs to be set, which is rather rare for such input types.
1962 It also results in odd layout, where the checkbox's indentation may seem to change randomly.
1964 '<input style="font-size: 30px;" type="checkbox">foo' changes neither the checkbox
1965 nor the text size, but it indents the line by about 15px.
1967 Other browsers (FF, Opera with Presto) disagree and they set static margins values.
1968 2px is the current default computed value.
1971 (input[type="radio"], input[type="checkbox"]):
1973 2014-01-24 Oliver Hunt <oliver@apple.com>
1975 Put functions need to take a base object and a this value, and perform type checks on |this|
1976 https://bugs.webkit.org/show_bug.cgi?id=127594
1978 Reviewed by Geoffrey Garen.
1980 Update bindings generator to emit setters with correct type, and perform
1981 type checks on |this|, instead of the baseObject.
1983 Test: js/dom/dom-as-prototype-assignment-exception.html
1985 * bindings/scripts/CodeGeneratorJS.pm:
1987 (GenerateImplementation):
1988 (GenerateHashTable):
1989 * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
1990 * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
1991 * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
1992 * bindings/scripts/test/JS/JSTestEventTarget.cpp:
1993 * bindings/scripts/test/JS/JSTestException.cpp:
1994 * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
1995 * bindings/scripts/test/JS/JSTestInterface.cpp:
1996 (WebCore::setJSTestInterfaceConstructorImplementsStaticAttr):
1997 (WebCore::setJSTestInterfaceImplementsStr2):
1998 (WebCore::setJSTestInterfaceImplementsStr3):
1999 (WebCore::setJSTestInterfaceImplementsNode):
2000 (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr):
2001 (WebCore::setJSTestInterfaceSupplementalStr2):
2002 (WebCore::setJSTestInterfaceSupplementalStr3):
2003 (WebCore::setJSTestInterfaceSupplementalNode):
2004 * bindings/scripts/test/JS/JSTestInterface.h:
2005 * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
2006 * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
2007 * bindings/scripts/test/JS/JSTestNode.cpp:
2008 * bindings/scripts/test/JS/JSTestObj.cpp:
2009 (WebCore::setJSTestObjConstructorStaticStringAttr):
2010 (WebCore::setJSTestObjTestSubObjEnabledBySettingConstructor):
2011 (WebCore::setJSTestObjEnumAttr):
2012 (WebCore::setJSTestObjByteAttr):
2013 (WebCore::setJSTestObjOctetAttr):
2014 (WebCore::setJSTestObjShortAttr):
2015 (WebCore::setJSTestObjUnsignedShortAttr):
2016 (WebCore::setJSTestObjLongAttr):
2017 (WebCore::setJSTestObjLongLongAttr):
2018 (WebCore::setJSTestObjUnsignedLongLongAttr):
2019 (WebCore::setJSTestObjStringAttr):
2020 (WebCore::setJSTestObjTestObjAttr):
2021 (WebCore::setJSTestObjXMLObjAttr):
2022 (WebCore::setJSTestObjCreate):
2023 (WebCore::setJSTestObjReflectedStringAttr):
2024 (WebCore::setJSTestObjReflectedIntegralAttr):
2025 (WebCore::setJSTestObjReflectedUnsignedIntegralAttr):
2026 (WebCore::setJSTestObjReflectedBooleanAttr):
2027 (WebCore::setJSTestObjReflectedURLAttr):
2028 (WebCore::setJSTestObjReflectedCustomIntegralAttr):
2029 (WebCore::setJSTestObjReflectedCustomBooleanAttr):
2030 (WebCore::setJSTestObjReflectedCustomURLAttr):
2031 (WebCore::setJSTestObjTypedArrayAttr):
2032 (WebCore::setJSTestObjAttrWithGetterException):
2033 (WebCore::setJSTestObjAttrWithSetterException):
2034 (WebCore::setJSTestObjStringAttrWithGetterException):
2035 (WebCore::setJSTestObjStringAttrWithSetterException):
2036 (WebCore::setJSTestObjCustomAttr):
2037 (WebCore::setJSTestObjWithScriptStateAttribute):
2038 (WebCore::setJSTestObjWithScriptExecutionContextAttribute):
2039 (WebCore::setJSTestObjWithScriptStateAttributeRaises):
2040 (WebCore::setJSTestObjWithScriptExecutionContextAttributeRaises):
2041 (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttribute):
2042 (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
2043 (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
2044 (WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
2045 (WebCore::setJSTestObjConditionalAttr1):
2046 (WebCore::setJSTestObjConditionalAttr2):
2047 (WebCore::setJSTestObjConditionalAttr3):
2048 (WebCore::setJSTestObjConditionalAttr4Constructor):
2049 (WebCore::setJSTestObjConditionalAttr5Constructor):
2050 (WebCore::setJSTestObjConditionalAttr6Constructor):
2051 (WebCore::setJSTestObjAnyAttribute):
2052 (WebCore::setJSTestObjMutablePoint):
2053 (WebCore::setJSTestObjImmutablePoint):
2054 (WebCore::setJSTestObjStrawberry):
2055 (WebCore::setJSTestObjStrictFloat):
2056 (WebCore::setJSTestObjId):
2057 (WebCore::setJSTestObjReplaceableAttribute):
2058 (WebCore::setJSTestObjNullableLongSettableAttribute):
2059 (WebCore::setJSTestObjNullableStringValue):
2060 (WebCore::setJSTestObjAttributeWithReservedEnumType):
2061 * bindings/scripts/test/JS/JSTestObj.h:
2062 * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
2063 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2064 (WebCore::setJSTestSerializedScriptValueInterfaceValue):
2065 (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue):
2066 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
2067 * bindings/scripts/test/JS/JSTestTypedefs.cpp:
2068 (WebCore::setJSTestTypedefsUnsignedLongLongAttr):
2069 (WebCore::setJSTestTypedefsImmutableSerializedScriptValue):
2070 (WebCore::setJSTestTypedefsAttrWithGetterException):
2071 (WebCore::setJSTestTypedefsAttrWithSetterException):
2072 (WebCore::setJSTestTypedefsStringAttrWithGetterException):
2073 (WebCore::setJSTestTypedefsStringAttrWithSetterException):
2074 * bindings/scripts/test/JS/JSTestTypedefs.h:
2075 * bindings/scripts/test/JS/JSattribute.cpp:
2076 * bindings/scripts/test/JS/JSreadonly.cpp:
2078 2014-01-24 Oliver Hunt <oliver@apple.com>
2080 Generic JSObject::put should handle static properties in the classinfo hierarchy
2081 https://bugs.webkit.org/show_bug.cgi?id=127523
2083 Reviewed by Geoffrey Garen.
2085 Update the bindings generator to emit the flag indicating the presence
2086 of setters, and remove the many (now unnecessary) put overrides.
2087 Tested with run-jsc-benchmarks and shows neutral performance. A few of the
2088 micro benchmarks actually get a significant performance increase which
2091 * bindings/js/JSDOMWindowCustom.cpp:
2092 (WebCore::JSDOMWindow::put):
2093 We still need a custom call to lookupPut here in order
2094 to get the magic security semantics of the window object.
2095 * bindings/scripts/CodeGeneratorJS.pm:
2096 (hashTableAccessor):
2097 (prototypeHashTableAccessor):
2098 (constructorHashTableAccessor):
2099 (GenerateImplementation):
2100 (GenerateHashTable):
2101 (GenerateConstructorHelperMethods):
2103 * bindings/js/JSDOMWindowCustom.cpp:
2104 (WebCore::JSDOMWindow::put):
2105 * bindings/scripts/CodeGeneratorJS.pm:
2106 (hashTableAccessor):
2107 (prototypeHashTableAccessor):
2108 (constructorHashTableAccessor):
2109 (InstanceOverridesPutImplementation):
2110 (InstanceOverridesPutDeclaration):
2112 (GenerateImplementation):
2113 (GenerateHashTable):
2114 (GenerateConstructorHelperMethods):
2115 * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
2116 * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
2117 * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
2118 * bindings/scripts/test/JS/JSTestEventTarget.cpp:
2119 * bindings/scripts/test/JS/JSTestException.cpp:
2120 * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
2121 * bindings/scripts/test/JS/JSTestInterface.cpp:
2122 (WebCore::JSTestInterface::put):
2123 * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
2124 * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
2125 * bindings/scripts/test/JS/JSTestNode.cpp:
2126 * bindings/scripts/test/JS/JSTestObj.cpp:
2127 * bindings/scripts/test/JS/JSTestObj.h:
2128 * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
2129 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2130 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
2131 * bindings/scripts/test/JS/JSTestTypedefs.cpp:
2132 * bindings/scripts/test/JS/JSTestTypedefs.h:
2133 * bindings/scripts/test/JS/JSattribute.cpp:
2134 * bindings/scripts/test/JS/JSreadonly.cpp:
2135 * html/canvas/WebGLRenderingContext.idl:
2136 Remove bogus attribute, as it has never been in the spec and should not
2139 2014-01-24 Commit Queue <commit-queue@webkit.org>
2141 Unreviewed, rolling out r162713.
2142 http://trac.webkit.org/changeset/162713
2143 https://bugs.webkit.org/show_bug.cgi?id=127593
2145 broke media/network-no-source-const-shadow (Requested by
2146 thorton on #webkit).
2148 * bindings/js/JSDOMWindowCustom.cpp:
2149 (WebCore::JSDOMWindow::put):
2150 * bindings/scripts/CodeGeneratorJS.pm:
2151 (hashTableAccessor):
2152 (prototypeHashTableAccessor):
2153 (constructorHashTableAccessor):
2155 (GenerateImplementation):
2156 (GenerateHashTable):
2157 (GenerateConstructorHelperMethods):
2158 * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
2159 * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
2160 * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
2161 * bindings/scripts/test/JS/JSTestEventTarget.cpp:
2162 * bindings/scripts/test/JS/JSTestException.cpp:
2163 * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
2164 * bindings/scripts/test/JS/JSTestInterface.cpp:
2165 (WebCore::JSTestInterface::put):
2166 * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
2167 * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
2168 * bindings/scripts/test/JS/JSTestNode.cpp:
2169 * bindings/scripts/test/JS/JSTestObj.cpp:
2170 (WebCore::JSTestObj::put):
2171 * bindings/scripts/test/JS/JSTestObj.h:
2172 * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
2173 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2174 (WebCore::JSTestSerializedScriptValueInterface::put):
2175 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
2176 * bindings/scripts/test/JS/JSTestTypedefs.cpp:
2177 (WebCore::JSTestTypedefs::put):
2178 * bindings/scripts/test/JS/JSTestTypedefs.h:
2179 * bindings/scripts/test/JS/JSattribute.cpp:
2180 * bindings/scripts/test/JS/JSreadonly.cpp:
2181 * html/canvas/WebGLRenderingContext.idl:
2183 2014-01-24 Zalan Bujtas <zalan@apple.com>
2185 Replace LayoutUnit() calls to a more descriptive LayoutUnit::fromPixel(int).
2186 https://bugs.webkit.org/show_bug.cgi?id=127580
2188 Reviewed by Simon Fraser.
2190 LayoutUnit(1) statement is ambiguous. While it is intended to set one (CSS) pixel, it
2191 could be interpreted as 1 layout unit (1/64th of a CSS pixel atm).
2193 No change in behavior.
2195 * inspector/InspectorOverlay.cpp:
2196 (WebCore::buildObjectForRegionHighlight):
2197 * rendering/FloatingObjects.cpp:
2198 (WebCore::ComputeFloatOffsetForFloatLayoutAdapter<FloatTypeValue>::heightRemaining):
2199 * rendering/RenderBlock.cpp:
2200 (WebCore::RenderBlock::layoutShapeInsideInfo):
2201 * rendering/RenderBlockFlow.cpp:
2202 (WebCore::RenderBlockFlow::collapseMargins):
2203 * rendering/RenderFlexibleBox.cpp:
2204 (WebCore::RenderFlexibleBox::mainAxisContentExtent):
2205 (WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild):
2206 (WebCore::RenderFlexibleBox::alignChildren):
2207 * rendering/RenderMultiColumnFlowThread.cpp:
2208 (WebCore::RenderMultiColumnFlowThread::addForcedRegionBreak):
2209 * rendering/RenderMultiColumnSet.cpp:
2210 (WebCore::RenderMultiColumnSet::heightAdjustedForSetOffset):
2211 (WebCore::RenderMultiColumnSet::calculateBalancedHeight):
2213 2014-01-24 Simon Fraser <simon.fraser@apple.com>
2215 Prepare scrolling tree to handle > 1 scrolling node
2216 https://bugs.webkit.org/show_bug.cgi?id=127590
2218 Reviewed by Tim Horton.
2220 Clean up the code path called after the ScrollingTree has scrolled a node,
2221 to prepare for multiple scrolling nodes.
2223 Change "updateMainFrameScrollPosition" terminology to "updateScrollPositionAfterAsyncScroll",
2224 and pass along the ScrollingNodeID that scrolled.
2226 Move updateMainFrameScrollPosition-related code from ScrollingCoordinator to
2227 AsyncScrollingCoordinator, since this sync-up is only necessary when doing
2231 * page/scrolling/AsyncScrollingCoordinator.cpp:
2232 (WebCore::AsyncScrollingCoordinator::AsyncScrollingCoordinator):
2233 (WebCore::AsyncScrollingCoordinator::requestScrollPositionUpdate):
2234 (WebCore::AsyncScrollingCoordinator::scheduleUpdateScrollPositionAfterAsyncScroll):
2235 (WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScrollTimerFired):
2236 (WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll):
2237 * page/scrolling/AsyncScrollingCoordinator.h:
2238 (WebCore::AsyncScrollingCoordinator::ScheduledScrollUpdate::ScheduledScrollUpdate):
2239 (WebCore::AsyncScrollingCoordinator::ScheduledScrollUpdate::matchesUpdateType):
2240 Package up the data related to a scheduled scroll into a ScheduledScrollUpdate struct,
2241 for easier comparison and cleaner code.
2242 * page/scrolling/ScrollingCoordinator.cpp:
2243 (WebCore::ScrollingCoordinator::ScrollingCoordinator):
2244 * page/scrolling/ScrollingCoordinator.h:
2245 * page/scrolling/ScrollingTree.h:
2246 * page/scrolling/ThreadedScrollingTree.cpp:
2247 (WebCore::ThreadedScrollingTree::scrollingTreeNodeDidScroll):
2248 * page/scrolling/ThreadedScrollingTree.h:
2249 * page/scrolling/ios/ScrollingTreeIOS.cpp:
2250 (WebCore::ScrollingTreeIOS::scrollingTreeNodeDidScroll):
2251 * page/scrolling/ios/ScrollingTreeIOS.h:
2252 * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm:
2253 (WebCore::ScrollingTreeScrollingNodeIOS::setScrollPositionWithoutContentEdgeConstraints):
2254 * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
2255 (WebCore::ScrollingTreeScrollingNodeMac::setScrollPositionWithoutContentEdgeConstraints):
2257 2014-01-24 Mark Lam <mark.lam@apple.com>
2259 ASSERT(!m_markedSpace.m_currentDelayedReleaseScope) reloading page in inspector.
2260 <https://webkit.org/b/127582>
2262 Reviewed by Mark Hahnenberg.
2266 * bindings/js/ScriptController.cpp:
2267 (WebCore::ScriptController::attachDebugger):
2268 * bindings/js/WorkerScriptController.cpp:
2269 (WebCore::WorkerScriptController::detachDebugger):
2270 - Adding reasons for detaching a globalObject from the debugger.
2272 2014-01-24 Zalan Bujtas <zalan@apple.com>
2274 Subpixel rendering: Make PaintInfo layout unit aware.
2275 https://bugs.webkit.org/show_bug.cgi?id=127562
2277 Reviewed by Simon Fraser.
2279 Replace PaintInfo's IntRect with LayoutRect to be able to render to
2282 No functional changes.
2284 * platform/graphics/LayoutRect.h:
2285 * rendering/PaintInfo.h:
2286 (WebCore::PaintInfo::PaintInfo):
2287 (WebCore::PaintInfo::applyTransform):
2288 * rendering/RenderBlock.cpp:
2289 (WebCore::RenderBlock::paint):
2290 * rendering/RenderBoxModelObject.cpp:
2291 (WebCore::RenderBoxModelObject::paintFillLayerExtended):
2292 * rendering/RenderLayer.cpp:
2293 (WebCore::cornerRect):
2294 (WebCore::RenderLayer::scrollCornerRect):
2295 (WebCore::resizerCornerRect):
2296 (WebCore::RenderLayer::scrollCornerAndResizerRect):
2297 (WebCore::RenderLayer::horizontalScrollbarStart):
2298 (WebCore::RenderLayer::drawPlatformResizerImage):
2299 (WebCore::RenderLayer::paintResizer):
2300 (WebCore::RenderLayer::hitTestOverflowControls):
2301 * rendering/RenderLayer.h:
2302 * rendering/RenderLayerBacking.cpp:
2303 (WebCore::RenderLayerBacking::paintContents):
2304 * rendering/RenderListBox.cpp:
2305 (WebCore::RenderListBox::paintScrollbar):
2306 * rendering/RenderWidget.cpp:
2307 (WebCore::RenderWidget::paintContents):
2308 * rendering/mathml/RenderMathMLOperator.cpp:
2309 (WebCore::RenderMathMLOperator::fillWithExtensionGlyph):
2310 * rendering/svg/SVGRenderingContext.h:
2312 2014-01-24 Simon Fraser <simon.fraser@apple.com>
2314 #ifdef out handleWheelEventPhase for iOS
2315 https://bugs.webkit.org/show_bug.cgi?id=127583
2317 Reviewed by Tim Horton.
2319 handleWheelEventPhase() doesn't make any sense for iOS, which
2320 has no wheel events.
2322 * page/scrolling/ScrollingTree.h:
2323 * page/scrolling/ThreadedScrollingTree.cpp:
2324 * page/scrolling/ThreadedScrollingTree.h:
2325 * page/scrolling/ios/ScrollingTreeIOS.h:
2327 2014-01-24 David Hyatt <hyatt@apple.com>
2329 [New Multicolumn] Don't destroy all the renderers when a multi-column block stops being multi-column (and vice versa)
2330 https://bugs.webkit.org/show_bug.cgi?id=127584
2332 Make the logic for when you need columns and when you don't shared between the
2333 old multi-column code and the new multi-column code. Make sure that the flow thread
2334 and sets get created lazily and destroyed on-demand when whether or not we should
2335 have multiple columns changes.
2337 Reviewed by Beth Dakin.
2339 * rendering/RenderBlock.cpp:
2340 (WebCore::RenderBlock::updateLogicalWidthAndColumnWidth):
2341 No longer virtual. The new column code now uses this function too.
2343 (WebCore::RenderBlock::availableLogicalWidth):
2344 Renamed desiredColumnWidth() to computedColumnWidth().
2346 (WebCore::RenderBlock::computeColumnCountAndWidth):
2347 Renamed calcColumnWidth to computeColumnCountAndWidth.
2349 (WebCore::RenderBlock::setComputedColumnCountAndWidth):
2350 Rename setDesiredColumnCountAndWidth to computed.
2352 (WebCore::RenderBlock::computedColumnWidth):
2353 (WebCore::RenderBlock::computedColumnCount):
2354 Renamed desiredColumnWidth/Count to computedColumnWidth/Count and made them virtual.
2356 (WebCore::RenderBlock::updateFirstLetterStyle):
2357 desired -> computed rename.
2359 * rendering/RenderBlock.h:
2360 Renames and made a few functions virtual so that RenderBlockFlow can override.
2362 * rendering/RenderBlockFlow.cpp:
2363 (WebCore::RenderBlockFlow::RenderBlockFlow):
2364 Don't create the flow thread at construction time any longer.
2366 (WebCore::RenderBlockFlow::createMultiColumnFlowThread):
2367 (WebCore::RenderBlockFlow::destroyMultiColumnFlowThread):
2368 The methods to create and destroy flow threads. These work at any time now and will
2369 fix up the render tree accordingly.
2371 (WebCore::RenderBlockFlow::setComputedColumnCountAndWidth):
2372 Virtual override that creates/destroys the new multi-column information as needed.
2374 (WebCore::RenderBlockFlow::computedColumnWidth):
2375 (WebCore::RenderBlockFlow::computedColumnCount):
2376 Overrides to return the cached column width and count from the flow thread.
2378 * rendering/RenderBlockFlow.h:
2379 Has overrides of the virtual functions needed to turn multi-column state on/off and
2380 to hand back computed count/width information.
2382 * rendering/RenderMultiColumnFlowThread.cpp:
2383 * rendering/RenderMultiColumnFlowThread.h:
2384 Removed the algorithm to compute column count and width, since this has been combined
2385 with the old multi-column layout code.
2387 * rendering/RenderView.cpp:
2388 (WebCore::RenderView::computeColumnCountAndWidth):
2389 Renamed desired -> computed.
2391 * rendering/RenderView.h:
2392 Renamed desired -> computed.
2394 * style/StyleResolveTree.cpp:
2395 (WebCore::Style::determineChange):
2396 (WebCore::Style::resolveLocal):
2397 (WebCore::Style::resolveTree):
2398 * style/StyleResolveTree.h:
2399 The Settings argument is no longer needed now that we don't destroy and re-create
2400 the renderer for a block flow if it stops being (or becomes) multi-column.
2402 2014-01-24 Anders Carlsson <andersca@apple.com>
2408 2014-01-24 Brent Fulgham <bfulgham@apple.com>
2410 [Win] Convert some NMake files to MSBuild project files
2411 https://bugs.webkit.org/show_bug.cgi?id=127579
2413 Reviewed by Tim Horton.
2415 * WebCore.vcxproj/WebCore.make: Removed.
2416 * WebCore.vcxproj/WebCore.proj: Added.
2418 2014-01-24 Joseph Pecoraro <pecoraro@apple.com>
2420 fast/profiler tests ASSERTing after moving recompileAllJSFunctions off a timer
2421 https://bugs.webkit.org/show_bug.cgi?id=127566
2423 Reviewed by Oliver Hunt.
2425 Covered by existing tests.
2427 * testing/Internals.cpp:
2428 (WebCore::Internals::closeDummyInspectorFrontend):
2429 Now that we don't have to fake that this is a page being destroyed to
2430 avoid recompilation. Use the InspectorDestroyed reason.
2432 2014-01-24 Anders Carlsson <andersca@apple.com>
2434 Get rid of monotonicallyIncreasingTimeMS and start using std::chrono instead
2435 https://bugs.webkit.org/show_bug.cgi?id=127571
2437 Reviewed by Antti Koivisto.
2443 (WebCore::Document::Document):
2444 (WebCore::Document::implicitClose):
2445 (WebCore::Document::setParsing):
2446 (WebCore::Document::isLayoutTimerActive):
2447 (WebCore::Document::minimumLayoutDelay):
2448 (WebCore::Document::elapsedTime):
2449 (WebCore::Document::write):
2450 (WebCore::Document::styleResolverChanged):
2452 Use std::chrono instead of doubles for the times and durations.
2454 * fileapi/FileReader.cpp:
2455 (WebCore::FileReader::FileReader):
2456 (WebCore::FileReader::didReceiveData):
2457 * fileapi/FileReader.h:
2458 Switch over to std::chrono.
2460 * page/FrameView.cpp:
2461 (WebCore::FrameView::layout):
2462 (WebCore::FrameView::layoutTimerFired):
2463 (WebCore::FrameView::scheduleRelayout):
2464 (WebCore::FrameView::scheduleRelayoutOfSubtree):
2465 Update for Document::elapsedTime() changes.
2467 * page/Settings.cpp:
2468 (WebCore::Settings::setLayoutInterval):
2470 (WebCore::Settings::layoutInterval):
2471 Change layoutInterval to be std::chrono::milliseconds instead of int.
2474 (WebCore::TimerBase::startOneShot):
2475 Add an overload that takes std::chrono::milliseconds.
2477 2014-01-24 Oliver Hunt <oliver@apple.com>
2479 Generic JSObject::put should handle static properties in the classinfo hierarchy
2480 https://bugs.webkit.org/show_bug.cgi?id=127523
2482 Reviewed by Geoffrey Garen.
2484 Update the bindings generator to emit the flag indicating the presence
2485 of setters, and remove the many (now unnecessary) put overrides.
2486 Tested with run-jsc-benchmarks and shows neutral performance. A few of the
2487 micro benchmarks actually get a significant performance increase which
2490 * bindings/js/JSDOMWindowCustom.cpp:
2491 (WebCore::JSDOMWindow::put):
2492 We still need a custom call to lookupPut here in order
2493 to get the magic security semantics of the window object.
2494 * bindings/scripts/CodeGeneratorJS.pm:
2495 (hashTableAccessor):
2496 (prototypeHashTableAccessor):
2497 (constructorHashTableAccessor):
2498 (GenerateImplementation):
2499 (GenerateHashTable):
2500 (GenerateConstructorHelperMethods):
2502 * bindings/js/JSDOMWindowCustom.cpp:
2503 (WebCore::JSDOMWindow::put):
2504 * bindings/scripts/CodeGeneratorJS.pm:
2505 (hashTableAccessor):
2506 (prototypeHashTableAccessor):
2507 (constructorHashTableAccessor):
2508 (InstanceOverridesPutImplementation):
2509 (InstanceOverridesPutDeclaration):
2511 (GenerateImplementation):
2512 (GenerateHashTable):
2513 (GenerateConstructorHelperMethods):
2514 * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
2515 * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
2516 * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
2517 * bindings/scripts/test/JS/JSTestEventTarget.cpp:
2518 * bindings/scripts/test/JS/JSTestException.cpp:
2519 * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
2520 * bindings/scripts/test/JS/JSTestInterface.cpp:
2521 (WebCore::JSTestInterface::put):
2522 * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
2523 * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
2524 * bindings/scripts/test/JS/JSTestNode.cpp:
2525 * bindings/scripts/test/JS/JSTestObj.cpp:
2526 * bindings/scripts/test/JS/JSTestObj.h:
2527 * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
2528 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2529 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
2530 * bindings/scripts/test/JS/JSTestTypedefs.cpp:
2531 * bindings/scripts/test/JS/JSTestTypedefs.h:
2532 * bindings/scripts/test/JS/JSattribute.cpp:
2533 * bindings/scripts/test/JS/JSreadonly.cpp:
2534 * html/canvas/WebGLRenderingContext.idl:
2535 Remove bogus attribute, as it has never been in the spec and should not
2538 2014-01-24 David Hyatt <hyatt@apple.com>
2540 [New Multicolumn] Eliminate RenderMultiColumnBlock
2541 https://bugs.webkit.org/show_bug.cgi?id=127565
2543 Reviewed by Antti Koivisto.
2545 This patch eliminates RenderMultiColumnBlock and folds all of its remaining code
2546 back into RenderBlockFlow. This allows all block flows to support multi-column
2547 layout, including table cells, list items, and the RenderView itself.
2551 * WebCore.vcxproj/WebCore.vcxproj:
2552 * WebCore.vcxproj/WebCore.vcxproj.filters:
2553 * WebCore.xcodeproj/project.pbxproj:
2554 Remove RenderMultiColumnBlock from the makefiles.
2556 * rendering/RenderBlock.cpp:
2557 (WebCore::RenderBlock::adjustIntrinsicLogicalWidthsForColumns):
2558 Tweak the comment, since it was no longer accurate.
2560 * rendering/RenderBlock.h:
2561 Move some functions down into RenderBlockFlow.
2563 * rendering/RenderBlockFlow.cpp:
2564 (WebCore::RenderBlockFlow::RenderBlockFlow):
2565 (WebCore::RenderBlockFlow::createMultiColumnFlowThreadIfNeeded):
2566 (WebCore::RenderBlockFlow::styleDidChange):
2567 (WebCore::RenderBlockFlow::relayoutForPagination):
2568 (WebCore::RenderBlockFlow::layoutSpecialExcludedChild):
2569 (WebCore::RenderBlockFlow::updateLogicalWidthAndColumnWidth):
2570 (WebCore::RenderBlockFlow::addChild):
2571 (WebCore::RenderBlockFlow::checkForPaginationLogicalHeightChange):
2572 * rendering/RenderBlockFlow.h:
2573 Move a bunch of functions from RenderMultiColumnBlock up into RenderBlockFlow.
2575 * rendering/RenderBox.cpp:
2576 (WebCore::RenderBox::isUnsplittableForPagination):
2577 Calls isMultiColumnBlockFlow() now instead of testing for a specific renderer type.
2579 * rendering/RenderElement.cpp:
2580 (WebCore::RenderElement::createFor):
2581 Remove the multicolumn block creation code, since we always make a block flow now.
2583 * rendering/RenderMultiColumnBlock.cpp: Removed.
2584 * rendering/RenderMultiColumnBlock.h: Removed.
2587 * rendering/RenderMultiColumnFlowThread.cpp:
2588 (WebCore::RenderMultiColumnFlowThread::initialLogicalWidth):
2589 (WebCore::RenderMultiColumnFlowThread::autoGenerateRegionsToBlockOffset):
2590 * rendering/RenderMultiColumnSet.cpp:
2591 (WebCore::RenderMultiColumnSet::heightAdjustedForSetOffset):
2592 (WebCore::RenderMultiColumnSet::addForcedBreak):
2593 (WebCore::RenderMultiColumnSet::recalculateBalancedHeight):
2594 (WebCore::RenderMultiColumnSet::updateLogicalWidth):
2595 (WebCore::RenderMultiColumnSet::prepareForLayout):
2596 (WebCore::RenderMultiColumnSet::columnGap):
2597 (WebCore::RenderMultiColumnSet::paintColumnRules):
2598 Change all of the functions in the multicolumnset and multicolumnflowthread classes
2599 to cast the parent to a RenderBlockFlow now instead of a RenderMultiColumnBlock.
2600 Change the code to call through to multiColumnFlowThread() for column-specific information
2601 for that parent block.
2603 * rendering/RenderObject.h:
2604 (WebCore::RenderObject::isMultiColumnBlockFlow):
2605 Remove isRenderMultiColumnBlock() and replace with isMultiColumnBlockFlow().
2607 * rendering/RenderingAllInOne.cpp:
2608 Remove RenderMultiColumnBlock include.
2610 2014-01-24 Brady Eidson <beidson@apple.com>
2612 IDB: support createIndex/deleteIndex messaging
2613 https://bugs.webkit.org/show_bug.cgi?id=127546
2615 Reviewed by Tim Horton.
2617 * WebCore.exp.in: Export a needed CrossThreadCopier
2619 2014-01-24 Daniel Bates <dabates@apple.com>
2621 Fix the Windows build after <http://trac.webkit.org/changeset/162704>
2622 (https://bugs.webkit.org/show_bug.cgi?id=127293)
2624 Only include TargetConditionals.h when building on a Darwin-based OS.
2625 Also, check that TARGET_OS_IPHONE is defined before referencing its value
2626 since it will be undefined when building on Windows.
2628 * bindings/objc/PublicDOMInterfaces.h:
2630 2014-01-24 Daniel Bates <dabates@apple.com>
2632 Bindings generation tests hit an error trying to include wtf/Platform.h after r161638
2633 https://bugs.webkit.org/show_bug.cgi?id=127293
2635 Reviewed by Alexey Proskuryakov.
2637 Include TargetConditionals.h instead of wtf/Platform.h as the latter isn't available
2640 As a side effect of this change, replace usage of PLATFORM(IOS) with TARGET_OS_IPHONE.
2642 * bindings/objc/PublicDOMInterfaces.h:
2644 2014-01-21 David Hyatt <hyatt@apple.com>
2646 [New Multicolumn] Table cells and list items need to work as multicolumn blocks.
2647 https://bugs.webkit.org/show_bug.cgi?id=127365
2649 This patch is a first step towards eliminating RenderMultiColumnBlock and moving
2650 all its functionality into RenderBlockFlow. Doing so will allow table cells, list
2651 items and the RenderView to use the new multi-column layout.
2653 Reviewed by Simon Fraser.
2655 * rendering/RenderBlockFlow.cpp:
2656 (WebCore::RenderBlockFlow::setMultiColumnFlowThread):
2657 * rendering/RenderBlockFlow.h:
2658 (WebCore::RenderBlockFlow::RenderBlockFlowRareData::RenderBlockFlowRareData):
2659 (WebCore::RenderBlockFlow::multiColumnFlowThread):
2660 Add the flow thread pointer to the multi-column flow thread to RenderBlockFlow's
2661 rare data. This lets us use only one pointer in the rare data to point to an object
2662 that can hold all of the rest of the multi-column info.
2664 * rendering/RenderMultiColumnBlock.cpp:
2665 (WebCore::RenderMultiColumnBlock::RenderMultiColumnBlock):
2666 Move the construction of the flow thread to the constructor. This ensures we
2667 never have a null flow thread and lets us avoid having to null check it for
2668 empty multi-column blocks.
2670 (WebCore::RenderMultiColumnBlock::columnHeightAvailable):
2671 (WebCore::RenderMultiColumnBlock::columnWidth):
2672 (WebCore::RenderMultiColumnBlock::columnCount):
2673 (WebCore::RenderMultiColumnBlock::updateLogicalWidthAndColumnWidth):
2674 The above functions now call through to the multi-column flow thread for results.
2676 (WebCore::RenderMultiColumnBlock::checkForPaginationLogicalHeightChange):
2677 Set the column height available on the flow thread.
2679 (WebCore::RenderMultiColumnBlock::relayoutForPagination):
2680 The balancing pass and guard is in the multi-column flow thread now.
2682 (WebCore::RenderMultiColumnBlock::addChild):
2683 Don't have to create the flow thread here any longer, since we do it up front
2684 in the constructor of RenderMultiColumnBlock.
2686 (WebCore::RenderMultiColumnBlock::layoutSpecialExcludedChild):
2687 Don't need the null check of the flow thread any more.
2689 * rendering/RenderMultiColumnBlock.h:
2690 Change the inlined functions to not be inlined, since they need to call
2691 RenderMultiColumnFlowThread functions now.
2693 * rendering/RenderMultiColumnFlowThread.cpp:
2694 (WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread):
2695 Init the new member variables we moved here from RenderMultiColumnBlock.
2697 (WebCore::RenderMultiColumnFlowThread::computeColumnCountAndWidth):
2698 Moved from RenderMultiColumnBlock.
2700 * rendering/RenderMultiColumnFlowThread.h:
2701 Add public getters/setters to the member variables so that RenderMultiColumnBlock can
2702 still see them. Move the member variables here from RenderMultiColumnBlock.
2704 * rendering/RenderMultiColumnSet.cpp:
2705 (WebCore::RenderMultiColumnSet::calculateBalancedHeight):
2706 (WebCore::RenderMultiColumnSet::prepareForLayout):
2707 (WebCore::RenderMultiColumnSet::columnCount):
2708 Call through to the flow thread instead.
2710 2014-01-24 Zan Dobersek <zdobersek@igalia.com>
2712 Unreviewed GTK build fix after r162663.
2714 * platform/gtk/ScrollViewGtk.cpp:
2715 (WebCore::ScrollView::visibleContentRectInternal): Renamed from visibleContentRect.
2717 2014-01-24 Zan Dobersek <zdobersek@igalia.com>
2719 Move HistoryItem to std::unique_ptr
2720 https://bugs.webkit.org/show_bug.cgi?id=127275
2722 Reviewed by Darin Adler.
2724 Replace the uses of OwnPtr and PassOwnPtr in the HistoryItem class with std::unique_ptr.
2726 * history/HistoryItem.cpp:
2727 (WebCore::HistoryItem::HistoryItem):
2728 (WebCore::HistoryItem::reset):
2729 (WebCore::HistoryItem::addRedirectURL):
2730 (WebCore::HistoryItem::setRedirectURLs):
2731 * history/HistoryItem.h:
2732 * history/mac/HistoryItemMac.mm:
2733 (WebCore::HistoryItem::setTransientProperty):
2734 WebCore.exp.in: Update the symbol.
2736 2014-01-23 Morten Stenshorne <mstensho@opera.com>
2738 Region based multicol: unresolvable percent height results in 1px tall multicol
2739 https://bugs.webkit.org/show_bug.cgi?id=122826
2741 Reviewed by David Hyatt.
2743 If a box has a percentage height, but the computed height of its
2744 containing block is auto, the computed height of the box also becomes
2745 auto. computeContentLogicalHeight() returns -1 if the height isn't
2746 resolvable, and we need to make sure that such a value doesn't
2747 constrain the height of the multicol container.
2749 Tests: fast/multicol/newmulticol/unresolvable-percent-height-2.html
2750 fast/multicol/newmulticol/unresolvable-percent-height.html
2751 fast/multicol/newmulticol/unresolvable-percent-max-height-2.html
2752 fast/multicol/newmulticol/unresolvable-percent-max-height.html
2754 * rendering/RenderMultiColumnSet.cpp:
2755 (WebCore::RenderMultiColumnSet::RenderMultiColumnSet):
2756 (WebCore::RenderMultiColumnSet::calculateBalancedHeight):
2757 (WebCore::RenderMultiColumnSet::recalculateBalancedHeight):
2758 (WebCore::RenderMultiColumnSet::prepareForLayout):
2760 2014-01-23 Joseph Pecoraro <pecoraro@apple.com>
2762 Move ContentSearchUtils, ScriptBreakpoint, and ScriptDebugListener into JavaScriptCore for inspector
2763 https://bugs.webkit.org/show_bug.cgi?id=127537
2765 Reviewed by Timothy Hatcher.
2767 - Rename ContentSearchUtils => ContentSearchUtilities and move to JavaScriptCore.
2768 - Move ScriptBreakpoint and ScriptDebugListener to JavaScriptCore.
2769 - Move them all to namespace Inspector.
2770 - Update build files and users to the new names.
2772 No change in functionality, just moving code.
2775 * ForwardingHeaders/inspector/ContentSearchUtilities.h: Added.
2776 * ForwardingHeaders/inspector/ScriptBreakpoint.h: Added.
2777 * ForwardingHeaders/inspector/ScriptDebugListener.h: Added.
2778 * GNUmakefile.list.am:
2779 * WebCore.vcxproj/WebCore.vcxproj:
2780 * WebCore.vcxproj/WebCore.vcxproj.filters:
2781 * WebCore.xcodeproj/project.pbxproj:
2782 * bindings/js/PageScriptDebugServer.cpp:
2783 * bindings/js/PageScriptDebugServer.h:
2784 * bindings/js/ScriptDebugServer.cpp:
2785 * bindings/js/ScriptDebugServer.h:
2786 * bindings/js/WorkerScriptDebugServer.cpp:
2787 * bindings/js/WorkerScriptDebugServer.h:
2788 * inspector/InspectorAllInOne.cpp:
2789 * inspector/InspectorDebuggerAgent.cpp:
2790 (WebCore::InspectorDebuggerAgent::searchInContent):
2791 (WebCore::InspectorDebuggerAgent::sourceMapURLForScript):
2792 (WebCore::InspectorDebuggerAgent::didParseSource):
2793 * inspector/InspectorDebuggerAgent.h:
2794 * inspector/InspectorPageAgent.cpp:
2795 (WebCore::InspectorPageAgent::sourceMapURLForResource):
2796 (WebCore::InspectorPageAgent::searchInResource):
2797 (WebCore::InspectorPageAgent::searchInResources):
2798 * inspector/InspectorStyleSheet.cpp:
2799 (WebCore::buildSourceRangeObject):
2800 (WebCore::InspectorStyleSheet::lineEndings):
2801 (WebCore::InspectorStyleSheetForInlineStyle::lineEndings):
2803 2014-01-23 Joseph Pecoraro <pecoraro@apple.com>
2805 Move RegularExpression into JavaScriptCore for inspector
2806 https://bugs.webkit.org/show_bug.cgi?id=127526
2808 Reviewed by Geoffrey Garen.
2810 Update as appropriate for the moved file and namespace
2811 change for class RegularExpression.
2814 * ForwardingHeaders/yarr/RegularExpression.h: Added.
2815 * GNUmakefile.list.am:
2817 * WebCore.vcxproj/WebCore.vcxproj:
2818 * WebCore.vcxproj/WebCore.vcxproj.filters:
2819 * WebCore.xcodeproj/project.pbxproj:
2820 * dom/DOMImplementation.h:
2821 * html/BaseCheckableInputType.cpp:
2822 * html/BaseTextInputType.cpp:
2823 (WebCore::BaseTextInputType::patternMismatch):
2824 * html/EmailInputType.cpp:
2825 (WebCore::isValidEmailAddress):
2826 * html/InputType.cpp:
2827 * inspector/ContentSearchUtils.cpp:
2828 (WebCore::ContentSearchUtils::getRegularExpressionMatchesByLines):
2829 (WebCore::ContentSearchUtils::createSearchRegex):
2830 (WebCore::ContentSearchUtils::countRegularExpressionMatches):
2831 (WebCore::ContentSearchUtils::searchInTextByLines):
2832 * inspector/ContentSearchUtils.h:
2833 * inspector/InspectorDebuggerAgent.cpp:
2835 (WebCore::InspectorDebuggerAgent::breakpointActionLog):
2836 (WebCore::InspectorDebuggerAgent::breakpointActionSound):
2837 * inspector/InspectorDebuggerAgent.h:
2838 * inspector/InspectorPageAgent.cpp:
2839 (WebCore::InspectorPageAgent::searchInResources):
2840 * inspector/InspectorPageAgent.h:
2841 * inspector/InspectorRuntimeAgent.cpp:
2842 * inspector/InspectorRuntimeAgent.h:
2843 * inspector/InspectorStyleSheet.cpp:
2844 (WebCore::selectorsFromSource):
2845 * inspector/WorkerDebuggerAgent.cpp:
2847 (WebCore::createRegExpForLabels):
2848 (WebCore::Frame::searchForLabelsAboveCell):
2849 (WebCore::Frame::searchForLabelsBeforeElement):
2850 (WebCore::matchLabelsAgainstString):
2852 * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
2853 (WebCore::GraphicsContext3D::getUnmangledInfoLog):
2855 2014-01-23 Brady Eidson <beidson@apple.com>
2857 IDB: Support IDBObjectStore.clear()
2858 https://bugs.webkit.org/show_bug.cgi?id=127541
2860 Reviewed by Anders Carlsson.
2862 The backing store should never be performing callbacks directly:
2863 * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
2864 (WebCore::IDBServerConnectionLevelDB::clearObjectStore):
2866 Instead, the transaction operations should do that themselves:
2867 * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
2868 (WebCore::ClearObjectStoreOperation::perform):
2869 * Modules/indexeddb/IDBTransactionBackendOperations.h:
2870 (WebCore::ClearObjectStoreOperation::transaction):
2872 2014-01-23 Dan Bernstein <mitz@apple.com>
2874 <rdar://problem/15875326> REGRESSION (r162257): Assertion failure (should not be reached) in CSSPreloadScanner::tokenize()
2875 https://bugs.webkit.org/show_bug.cgi?id=127540
2877 Reviewed by Anders Carlsson.
2879 No new tests, because I could not reproduce the bug reliably and I don’t know how to trigger
2882 * html/parser/CSSPreloadScanner.cpp:
2883 (WebCore::CSSPreloadScanner::scan): Check for the DoneParsingImportRules before tokenizing
2884 a character, not after. This restores the logic from before r162257.
2886 2014-01-23 Jer Noble <jer.noble@apple.com>
2888 [iOS] Protect against possbile deadlock by delaying video layer creation
2889 https://bugs.webkit.org/show_bug.cgi?id=127505
2891 Reviewed by Eric Carlson.
2893 Work around a possible deadlock on iOS when creating a media element
2894 backed by AVFoundation by delaying creation of the AVPlayerLayer.
2895 The deadlock can occur when the web thread is doing CALayer layout
2896 while taking the web thread lock, while CoreMedia is doing property
2897 access on an async thread while taking the CM lock, and each is waiting
2898 for the other's lock to be released.
2900 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2901 (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer):
2903 2014-01-23 Jer Noble <jer.noble@apple.com>
2905 [MSE][Mac] Crash when reloading a page during playback
2906 https://bugs.webkit.org/show_bug.cgi?id=126903
2908 Reviewed by Eric Carlson.
2910 Periodic time observers added to AVSampleBufferRenderSynchronizer will execute their
2911 callback block even after being removed with -removeTimeObserver:, which is tracked by
2912 <rdar://problem/15798050>. Work around this problem by passing a WeakPtr into the block
2913 and bail early if the owning media player has been destroyed.
2915 * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
2916 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::createWeakPtr):
2917 * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
2918 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::MediaPlayerPrivateMediaSourceAVFObjC):
2920 2014-01-23 ChangSeok Oh <changseok.oh@collabora.com>
2922 Dragging from inner side of video to outside causes a crash
2923 https://bugs.webkit.org/show_bug.cgi?id=126338
2925 Reviewed by Jer Noble.
2927 The crash happens while dragging mouse cursor through timeline control to outside
2928 of video region. This is beacause media controls are selected with the drag.
2929 The media controls disappear when mouse cursor goes outside of video though
2930 the dragging/selection proceeds. If once media controls are hidden, related element
2931 lose their renderers. However the drag is still under going. it requires shadowPseudoId
2932 of the selected controls. Untorntunately, SliderThumbElement/SliderContainerElement
2933 don't return a static value for the shadowPseudoId unlike other media controls,
2934 but they need a renderer to determine it. This is the reason of crash.
2936 Test: media/media-controller-drag-crash.html
2938 * html/shadow/SliderThumbElement.cpp:
2939 (WebCore::SliderThumbElement::shadowPseudoId):
2940 (WebCore::SliderContainerElement::shadowPseudoId):
2942 2014-01-23 Brady Eidson <beidson@apple.com>
2944 IDB: Implement SQLite backing store 'get' support
2945 https://bugs.webkit.org/show_bug.cgi?id=127502
2947 Reviewed by Tim Horton.
2949 Get a KeyRange from a KeyRangeData:
2950 * Modules/indexeddb/IDBKeyRangeData.cpp:
2951 (WebCore::IDBKeyRangeData::maybeCreateIDBKeyRange):
2952 * Modules/indexeddb/IDBKeyRangeData.h:
2954 Add collation function support to SQLiteDatabase:
2955 * platform/sql/SQLiteDatabase.cpp:
2956 (WebCore::destroyCollationFunction):
2957 (WebCore::callCollationFunction):
2958 (WebCore::SQLiteDatabase::setCollationFunction):
2959 (WebCore::SQLiteDatabase::removeCollationFunction):
2960 * platform/sql/SQLiteDatabase.h:
2964 2014-01-23 Jon Honeycutt <jhoneycutt@apple.com>
2966 Assertion failure in WebCore::PseudoElement::didRecalcStyle()
2967 <https://bugs.webkit.org/show_bug.cgi?id=126761>
2968 <rdar://problem/15793540>
2970 Reviewed by Andy Estes.
2972 Test: fast/images/animate-list-item-image-assertion.html
2974 * dom/PseudoElement.cpp:
2975 (WebCore::PseudoElement::didRecalcStyle):
2976 Check isRenderImage() rather than isImage() before casting to
2979 * editing/ios/EditorIOS.mm:
2980 (WebCore::getImage):
2983 * editing/mac/EditorMac.mm:
2984 (WebCore::getImage):
2987 * html/HTMLImageElement.cpp:
2988 (WebCore::HTMLImageElement::parseAttribute):
2989 (WebCore::HTMLImageElement::didAttachRenderers):
2992 * loader/ImageLoader.cpp:
2993 (WebCore::ImageLoader::renderImageResource):
2996 * page/DragController.cpp:
2997 (WebCore::getCachedImage):
3000 * rendering/RenderLayerBacking.cpp:
3001 (WebCore::RenderLayerBacking::isDirectlyCompositedImage):
3002 (WebCore::RenderLayerBacking::updateImageContents):
3005 2014-01-23 Joseph Pecoraro <pecoraro@apple.com>
3007 Web Inspector: Remove recompileAllJSFunctions timer in ScriptDebugServer
3008 https://bugs.webkit.org/show_bug.cgi?id=127409
3010 Reviewed by Geoffrey Garen.
3012 Covered by existing tests.
3014 * bindings/js/ScriptDebugServer.h:
3015 * bindings/js/ScriptDebugServer.cpp:
3016 (WebCore::ScriptDebugServer::ScriptDebugServer):
3017 Remove m_recompileTimer and the recompile soon function.
3018 We can just recompile immediately in all existing cases.
3020 * bindings/js/PageScriptDebugServer.h:
3021 * bindings/js/PageScriptDebugServer.cpp:
3022 (WebCore::PageScriptDebugServer::addListener):
3023 (WebCore::PageScriptDebugServer::removeListener):
3024 (WebCore::PageScriptDebugServer::recompileAllJSFunctions):
3025 (WebCore::PageScriptDebugServer::didAddFirstListener):
3026 (WebCore::PageScriptDebugServer::didRemoveLastListener):
3027 Add a "didAddFirstListener" to match "didRemoveLastListener".
3028 Only recompile functions when we attach the debugger and when
3029 we detach the last listener.
3031 * bindings/js/WorkerScriptDebugServer.cpp:
3032 (WebCore::WorkerScriptDebugServer::addListener):
3033 (WebCore::WorkerScriptDebugServer::removeListener):
3034 (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
3035 Same thing. Also rearrange the functions to read better.
3037 * inspector/InspectorProfilerAgent.cpp:
3038 Use the direct recompile function instead of the removed "soon" version.
3041 Update disconnectFrontend symbol.
3043 * page/PageDebuggable.cpp:
3044 (WebCore::PageDebuggable::disconnect):
3045 * testing/Internals.cpp:
3046 (WebCore::Internals::closeDummyInspectorFrontend):
3047 * workers/WorkerMessagingProxy.cpp:
3048 (WebCore::disconnectFromWorkerGlobalScopeInspectorTask):
3049 Include an InspectorDisconnectReason when calling disconnectFrontend.
3051 * inspector/InspectorDatabaseAgent.h:
3052 * inspector/InspectorDebuggerAgent.cpp:
3053 (WebCore::InspectorDebuggerAgent::disable):
3054 (WebCore::InspectorDebuggerAgent::willDestroyFrontendAndBackend):
3055 If the disconnect reason is the page will be destroyed, don't recompile when disconnecting.
3057 * inspector/InspectorProfilerAgent.h:
3058 * inspector/InspectorProfilerAgent.cpp:
3059 (WebCore::InspectorProfilerAgent::enable):
3060 (WebCore::InspectorProfilerAgent::disable):
3061 (WebCore::InspectorProfilerAgent::willDestroyFrontendAndBackend):
3062 If the disconnect reason is the page will be destroyed, don't recompile when disconnecting.
3064 * inspector/InspectorController.h:
3065 * inspector/InspectorController.cpp:
3066 (WebCore::InspectorController::inspectedPageDestroyed):
3067 (WebCore::InspectorController::disconnectFrontend):
3068 (WebCore::InspectorController::close):
3069 Pass different reasons for the different disconnect reasons.
3071 * inspector/WorkerInspectorController.h:
3072 * inspector/WorkerInspectorController.cpp:
3073 (WebCore::WorkerInspectorController::~WorkerInspectorController):
3074 (WebCore::WorkerInspectorController::disconnectFrontend):
3075 Pass different reasons for the different disconnect reasons.
3077 * inspector/InspectorApplicationCacheAgent.cpp:
3078 (WebCore::InspectorApplicationCacheAgent::willDestroyFrontendAndBackend):
3079 * inspector/InspectorApplicationCacheAgent.h:
3080 * inspector/InspectorCSSAgent.cpp:
3081 (WebCore::InspectorCSSAgent::willDestroyFrontendAndBackend):
3082 * inspector/InspectorCSSAgent.h:
3083 * inspector/InspectorCanvasAgent.cpp:
3084 (WebCore::InspectorCanvasAgent::willDestroyFrontendAndBackend):
3085 * inspector/InspectorCanvasAgent.h:
3086 * inspector/InspectorConsoleAgent.cpp:
3087 (WebCore::InspectorConsoleAgent::willDestroyFrontendAndBackend):
3088 * inspector/InspectorConsoleAgent.h:
3089 * inspector/InspectorDOMAgent.cpp:
3090 (WebCore::InspectorDOMAgent::willDestroyFrontendAndBackend):
3091 * inspector/InspectorDOMAgent.h:
3092 * inspector/InspectorDOMDebuggerAgent.cpp:
3093 (WebCore::InspectorDOMDebuggerAgent::willDestroyFrontendAndBackend):
3094 * inspector/InspectorDOMDebuggerAgent.h:
3095 * inspector/InspectorDOMStorageAgent.cpp:
3096 (WebCore::InspectorDOMStorageAgent::willDestroyFrontendAndBackend):
3097 * inspector/InspectorDOMStorageAgent.h:
3098 * inspector/InspectorDatabaseAgent.cpp:
3099 (WebCore::InspectorDatabaseAgent::willDestroyFrontendAndBackend):
3100 * inspector/InspectorDebuggerAgent.h:
3101 * inspector/InspectorHeapProfilerAgent.cpp:
3102 (WebCore::InspectorHeapProfilerAgent::willDestroyFrontendAndBackend):
3103 * inspector/InspectorHeapProfilerAgent.h:
3104 * inspector/InspectorIndexedDBAgent.cpp:
3105 (WebCore::InspectorIndexedDBAgent::willDestroyFrontendAndBackend):
3106 * inspector/InspectorIndexedDBAgent.h:
3107 * inspector/InspectorInputAgent.cpp:
3108 (WebCore::InspectorInputAgent::willDestroyFrontendAndBackend):
3109 * inspector/InspectorInputAgent.h:
3110 * inspector/InspectorLayerTreeAgent.cpp:
3111 (WebCore::InspectorLayerTreeAgent::willDestroyFrontendAndBackend):
3112 * inspector/InspectorLayerTreeAgent.h:
3113 * inspector/InspectorMemoryAgent.cpp:
3114 (WebCore::InspectorMemoryAgent::willDestroyFrontendAndBackend):
3115 * inspector/InspectorMemoryAgent.h:
3116 * inspector/InspectorPageAgent.cpp:
3117 (WebCore::InspectorPageAgent::willDestroyFrontendAndBackend):
3118 * inspector/InspectorPageAgent.h:
3119 * inspector/InspectorResourceAgent.cpp:
3120 (WebCore::InspectorResourceAgent::willDestroyFrontendAndBackend):
3121 * inspector/InspectorResourceAgent.h:
3122 * inspector/InspectorTimelineAgent.cpp:
3123 (WebCore::InspectorTimelineAgent::willDestroyFrontendAndBackend):
3124 * inspector/InspectorTimelineAgent.h:
3125 * inspector/InspectorWorkerAgent.cpp:
3126 (WebCore::InspectorWorkerAgent::willDestroyFrontendAndBackend):
3127 * inspector/InspectorWorkerAgent.h:
3128 * inspector/PageDebuggerAgent.cpp:
3129 (WebCore::PageDebuggerAgent::disable):
3130 (WebCore::PageDebuggerAgent::stopListeningScriptDebugServer):
3131 * inspector/PageDebuggerAgent.h:
3132 * inspector/PageRuntimeAgent.cpp:
3133 (WebCore::PageRuntimeAgent::willDestroyFrontendAndBackend):
3134 * inspector/PageRuntimeAgent.h:
3135 * inspector/WorkerDebuggerAgent.cpp:
3136 (WebCore::WorkerDebuggerAgent::stopListeningScriptDebugServer):
3137 * inspector/WorkerDebuggerAgent.h:
3138 * inspector/WorkerRuntimeAgent.cpp:
3139 (WebCore::WorkerRuntimeAgent::willDestroyFrontendAndBackend):
3140 * inspector/WorkerRuntimeAgent.h:
3141 Include InspectorDisconnectReason param.
3143 2014-01-23 Simon Fraser <simon.fraser@apple.com>
3145 Another Windows fix: include <algorithm> for std::min and std::max.
3147 * platform/graphics/IntSize.h:
3149 2014-01-23 Simon Fraser <simon.fraser@apple.com>
3151 Try to fix Windows build.
3153 * platform/win/PopupMenuWin.cpp:
3154 (WebCore::PopupMenuWin::visibleSize):
3155 * platform/win/PopupMenuWin.h:
3157 2014-01-23 Simon Fraser <simon.fraser@apple.com>
3159 Make visibleContentRect() return actualVisibleContentRect() on iOS most of the time
3160 https://bugs.webkit.org/show_bug.cgi?id=127456
3162 Reviewed by Antti Koivisto.
3164 On iOS, visibleContentRect() returns the entire document rect for historical
3165 reasons, and actualVisibleContentRect() returns what visibleContentRect()
3166 returns on other platforms.
3168 In addition, actualVisibleContentRect() was returning an empty rect in WK2.
3170 Reduce the confusion of #ifdefs by making visibleContentRect() behave like
3171 actualVisibleContentRect() by default on iOS. Where it needs the old behavior,
3172 an optional parameter, LegacyIOSDocumentVisibleRect, provides this.
3174 Achieve this by having the virtual ScrollableArea::visibleContentRectInternal(),
3175 which is called by non-virtual visibleContentRect() and visibleContentRectIncludingScrollbars().
3177 Similarly clean up visibleHeight/visibleWidth functions by having visibleSize() be virtual,
3178 with non-virtual visibleHeight() and visibleWidth().
3180 ScrollableArea subclasses override visibleContentRectInternal() and visibleSize() where necessary.
3182 Mechanically change all the call sites of actualVisibleContentRect() to
3183 use visibleContentRect(), and the call sites of visibleContentRect()
3184 to visibleContentRect(..., LegacyIOSDocumentVisibleRect), adding comments
3185 where this may not be appropriate.
3187 Change callers of visibleContentRect(IncludeScrollbars...) to visibleContentRectIncludingScrollbars().
3189 Also add actualScrollPosition(), and clean up some actualScroll* call sites.
3194 * accessibility/AccessibilityObject.cpp:
3195 (WebCore::AccessibilityObject::isOnscreen):
3196 (WebCore::AccessibilityObject::scrollToMakeVisibleWithSubFocus):
3197 * accessibility/AccessibilityRenderObject.cpp:
3198 (WebCore::AccessibilityRenderObject::isOffScreen):
3200 (WebCore::Document::adjustFloatQuadsForScrollAndAbsoluteZoomAndFrameScale):
3201 (WebCore::Document::adjustFloatRectForScrollAndAbsoluteZoomAndFrameScale):
3202 * dom/MouseRelatedEvent.cpp:
3203 (WebCore::MouseRelatedEvent::MouseRelatedEvent):
3204 * editing/Editor.cpp:
3205 (WebCore::Editor::countMatchesForText):
3206 * editing/FrameSelection.cpp:
3207 (WebCore::FrameSelection::bounds):
3208 (WebCore::FrameSelection::getClippedVisibleTextRectangles):
3209 * html/HTMLBodyElement.cpp:
3210 (WebCore::HTMLBodyElement::scrollLeft):
3211 (WebCore::HTMLBodyElement::scrollTop):
3212 * html/ImageDocument.cpp:
3213 (WebCore::ImageDocument::imageFitsInWindow):
3214 (WebCore::ImageDocument::windowSizeChanged):
3215 * inspector/InspectorOverlay.cpp:
3216 (WebCore::InspectorOverlay::update):
3217 * page/DOMWindow.cpp:
3218 (WebCore::DOMWindow::innerHeight):
3219 (WebCore::DOMWindow::innerWidth):
3220 (WebCore::DOMWindow::scrollX):
3221 (WebCore::DOMWindow::scrollY):
3222 (WebCore::DOMWindow::scrollBy):
3223 * page/FrameView.cpp:
3224 (WebCore::FrameView::calculateScrollbarModesForLayout):
3225 (WebCore::FrameView::layout):
3226 (WebCore::FrameView::scrollContentsSlowPath):
3227 (WebCore::FrameView::repaintContentRectangle):
3228 (WebCore::FrameView::sendResizeEventIfNeeded):
3229 (WebCore::FrameView::windowClipRect):
3230 (WebCore::FrameView::isScrollable):
3231 (WebCore::FrameView::paintControlTints):
3232 * page/SpatialNavigation.cpp:
3233 (WebCore::canScrollInDirection):
3234 * platform/ScrollView.cpp:
3235 (WebCore::ScrollView::unscaledVisibleContentSize):
3236 (WebCore::ScrollView::visibleContentRectInternal):
3237 (WebCore::ScrollView::updateScrollbars):
3238 (WebCore::ScrollView::paint):
3239 * platform/ScrollView.h:
3240 (WebCore::ScrollView::scrollOffset):
3241 (WebCore::ScrollView::actualScrollX):
3242 (WebCore::ScrollView::actualScrollY):
3243 (WebCore::ScrollView::actualScrollPosition):
3244 * platform/ScrollableArea.cpp:
3245 (WebCore::ScrollableArea::visibleContentRect):
3246 (WebCore::ScrollableArea::visibleContentRectIncludingScrollbars):
3247 (WebCore::ScrollableArea::visibleContentRectInternal):
3248 * platform/ScrollableArea.h:
3249 (WebCore::ScrollableArea::visibleWidth):
3250 (WebCore::ScrollableArea::visibleHeight):
3251 * platform/graphics/IntSize.h:
3252 (WebCore::IntSize::expandedTo): Drive-by cleanup.
3253 (WebCore::IntSize::shrunkTo):
3254 * platform/gtk/ScrollViewGtk.cpp:
3255 (WebCore::ScrollView::visibleContentRect):
3256 * rendering/RenderLayer.cpp:
3257 (WebCore::RenderLayer::scrollRectToVisible):
3258 (WebCore::RenderLayer::maximumScrollPosition):
3259 (WebCore::RenderLayer::visibleContentRectInternal):
3260 (WebCore::RenderLayer::hitTest):
3261 * rendering/RenderLayer.h:
3262 * rendering/RenderLayerBacking.cpp:
3263 (WebCore::RenderLayerBacking::updateCompositedBounds):
3264 * rendering/RenderListBox.cpp:
3265 * rendering/RenderListBox.h:
3266 * rendering/RenderView.cpp:
3267 (WebCore::RenderView::viewRect):
3268 (WebCore::RenderView::viewportSize):
3270 2014-01-20 Myles C. Maxfield <mmaxfield@apple.com>
3272 Turn text-decoration-skip: ink on for all underlines
3273 https://bugs.webkit.org/show_bug.cgi?id=127331
3275 Reviewed by Antti Koivisto.
3277 No new tests are necessary because tests already exist
3279 * rendering/style/RenderStyle.h:
3281 2014-01-23 Hans Muller <hmuller@adobe.com>
3283 [CSS Shapes] Image valued shape size and position should conform to the spec
3284 https://bugs.webkit.org/show_bug.cgi?id=123295
3286 Reviewed by Andreas Kling.
3288 Implement image valued shape-outside scaling and translation per the spec,
3289 http://dev.w3.org/csswg/css-shapes/#shapes-from-image:
3291 "The image is sized and positioned as if it were a replaced element whose
3292 specified width and height are the same as the element’s used content box size."
3294 This change doesn't completely fulfill the spec, it's limited to image elements
3297 Tests: fast/shapes/shape-outside-floats/shape-outside-image-fit-001.html
3298 fast/shapes/shape-outside-floats/shape-outside-image-fit-002.html
3299 fast/shapes/shape-outside-floats/shape-outside-image-fit-003.html
3300 fast/shapes/shape-outside-floats/shape-outside-image-fit-004.html
3302 * rendering/shapes/Shape.h:
3303 * rendering/shapes/Shape.cpp:
3304 (WebCore::Shape::createRasterShape):
3305 Added an imageRect parameter which specifies where the shape image is to
3306 appear relative to the content box. The imageRect implies both scaling and
3307 translation of the shape image.
3309 * rendering/shapes/ShapeInfo.cpp:
3310 (WebCore::ShapeInfo<RenderType>::computedShape):
3311 (WebCore::getShapeImageRect):
3312 For replaced elements, compute the shape's imageRect with
3313 RenderReplaced::replacedContentRect().
3316 2014-01-23 Max Vujovic <mvujovic@adobe.com>
3318 Remove CSS Custom Filters code and tests
3319 https://bugs.webkit.org/show_bug.cgi?id=127382
3321 Reviewed by Simon Fraser.
3323 No new tests. Removing functionality.
3326 * Configurations/FeatureDefines.xcconfig:
3327 * DerivedSources.cpp:
3328 * DerivedSources.make:
3329 * GNUmakefile.list.am:
3331 * WebCore.vcxproj/WebCore.vcxproj:
3332 * WebCore.vcxproj/WebCore.vcxproj.filters:
3333 * WebCore.xcodeproj/project.pbxproj:
3334 * bindings/js/JSCSSRuleCustom.cpp:
3336 * bindings/js/JSCSSValueCustom.cpp:
3338 * bindings/objc/DOMCSS.mm:
3340 * css/CSSComputedStyleDeclaration.cpp:
3341 (WebCore::ComputedStyleExtractor::valueForFilter):
3342 (WebCore::ComputedStyleExtractor::propertyValue):
3343 * css/CSSComputedStyleDeclaration.h:
3344 * css/CSSGrammar.y.in:
3345 * css/CSSParser.cpp:
3346 (WebCore::CSSParserContext::CSSParserContext):
3347 (WebCore::operator==):
3348 (WebCore::CSSParser::CSSParser):
3349 (WebCore::CSSParser::parseValue):
3350 (WebCore::filterInfoForName):
3351 (WebCore::CSSParser::parseFilter):
3352 (WebCore::CSSParser::detectAtToken):
3354 * css/CSSParserMode.h:
3355 * css/CSSPropertyNames.in:
3356 * css/CSSPropertySourceData.h:
3360 (WebCore::CSSValue::equals):
3361 (WebCore::CSSValue::cssText):
3362 (WebCore::CSSValue::destroy):
3363 (WebCore::CSSValue::cloneForCSSOM):
3365 * css/CSSValueKeywords.in:
3366 * css/StyleResolver.cpp:
3367 (WebCore::StyleResolver::State::clear):
3368 (WebCore::StyleResolver::applyProperty):
3369 (WebCore::filterOperationForType):
3370 (WebCore::StyleResolver::createFilterOperations):
3371 (WebCore::StyleResolver::loadPendingResources):
3372 * css/StyleResolver.h:
3373 (WebCore::StyleResolver::State::State):
3374 * css/StyleRule.cpp:
3375 (WebCore::StyleRuleBase::destroy):
3376 (WebCore::StyleRuleBase::copy):
3377 (WebCore::StyleRuleBase::createCSSOMWrapper):
3379 * css/StyleSheetContents.cpp:
3380 (WebCore::childRulesHaveFailedOrCanceledSubresources):
3381 * css/WebKitCSSArrayFunctionValue.cpp: Removed.
3382 * css/WebKitCSSArrayFunctionValue.h: Removed.
3383 * css/WebKitCSSFilterRule.cpp: Removed.
3384 * css/WebKitCSSFilterRule.h: Removed.
3385 * css/WebKitCSSFilterRule.idl: Removed.
3386 * css/WebKitCSSFilterValue.cpp:
3387 (WebCore::WebKitCSSFilterValue::WebKitCSSFilterValue):
3388 (WebCore::WebKitCSSFilterValue::customCSSText):
3389 * css/WebKitCSSFilterValue.h:
3390 * css/WebKitCSSFilterValue.idl:
3391 * css/WebKitCSSMatFunctionValue.cpp: Removed.
3392 * css/WebKitCSSMatFunctionValue.h: Removed.
3393 * css/WebKitCSSMixFunctionValue.cpp: Removed.
3394 * css/WebKitCSSMixFunctionValue.h: Removed.
3395 * css/WebKitCSSMixFunctionValue.idl: Removed.
3396 * css/WebKitCSSShaderValue.cpp: Removed.
3397 * css/WebKitCSSShaderValue.h: Removed.
3398 * loader/cache/CachedResource.cpp:
3399 (WebCore::defaultPriorityForResourceType):
3400 * loader/cache/CachedResource.h:
3401 * loader/cache/CachedResourceLoader.cpp:
3402 (WebCore::createResource):
3403 (WebCore::CachedResourceLoader::checkInsecureContent):
3404 (WebCore::CachedResourceLoader::canRequest):
3405 * loader/cache/CachedResourceLoader.h:
3406 * loader/cache/CachedShader.cpp: Removed.
3407 * loader/cache/CachedShader.h: Removed.
3408 * page/Settings.cpp:
3409 (WebCore::Settings::Settings):
3411 * page/animation/CSSPropertyAnimation.cpp:
3412 (WebCore::blendFilter):
3413 * platform/graphics/ca/mac/PlatformCALayerMac.mm:
3414 (PlatformCALayerMac::filtersCanBeComposited):
3415 * platform/graphics/filters/CustomFilterArrayParameter.h: Removed.
3416 * platform/graphics/filters/CustomFilterColorParameter.h: Removed.
3417 * platform/graphics/filters/CustomFilterCompiledProgram.cpp: Removed.
3418 * platform/graphics/filters/CustomFilterCompiledProgram.h: Removed.
3419 * platform/graphics/filters/CustomFilterConstants.h: Removed.
3420 * platform/graphics/filters/CustomFilterGlobalContext.cpp: Removed.
3421 * platform/graphics/filters/CustomFilterGlobalContext.h: Removed.
3422 * platform/graphics/filters/CustomFilterMesh.cpp: Removed.
3423 * platform/graphics/filters/CustomFilterMesh.h: Removed.
3424 * platform/graphics/filters/CustomFilterMeshGenerator.cpp: Removed.
3425 * platform/graphics/filters/CustomFilterMeshGenerator.h: Removed.
3426 * platform/graphics/filters/CustomFilterNumberParameter.h: Removed.
3427 * platform/graphics/filters/CustomFilterOperation.cpp: Removed.
3428 * platform/graphics/filters/CustomFilterOperation.h: Removed.
3429 * platform/graphics/filters/CustomFilterParameter.h: Removed.
3430 * platform/graphics/filters/CustomFilterParameterList.cpp: Removed.
3431 * platform/graphics/filters/CustomFilterParameterList.h: Removed.
3432 * platform/graphics/filters/CustomFilterProgram.cpp: Removed.
3433 * platform/graphics/filters/CustomFilterProgram.h: Removed.
3434 * platform/graphics/filters/CustomFilterProgramClient.h: Removed.
3435 * platform/graphics/filters/CustomFilterProgramInfo.cpp: Removed.
3436 * platform/graphics/filters/CustomFilterProgramInfo.h: Removed.
3437 * platform/graphics/filters/CustomFilterRenderer.cpp: Removed.
3438 * platform/graphics/filters/CustomFilterRenderer.h: Removed.
3439 * platform/graphics/filters/CustomFilterTransformParameter.h: Removed.
3440 * platform/graphics/filters/CustomFilterValidatedProgram.cpp: Removed.
3441 * platform/graphics/filters/CustomFilterValidatedProgram.h: Removed.
3442 * platform/graphics/filters/FECustomFilter.cpp: Removed.
3443 * platform/graphics/filters/FECustomFilter.h: Removed.
3444 * platform/graphics/filters/FilterOperation.h:
3445 * platform/graphics/filters/FilterOperations.cpp:
3446 (WebCore::FilterOperations::outsets):
3447 * platform/graphics/filters/FilterOperations.h:
3448 * platform/graphics/filters/ValidatedCustomFilterOperation.cpp: Removed.
3449 * platform/graphics/filters/ValidatedCustomFilterOperation.h: Removed.
3450 * platform/graphics/filters/texmap/CustomFilterValidatedProgramTextureMapper.cpp: Removed.
3451 * platform/graphics/filters/texmap/TextureMapperPlatformCompiledProgram.h: Removed.
3452 * platform/graphics/gpu/Texture.cpp:
3453 * platform/graphics/texmap/TextureMapper.h:
3454 * platform/graphics/texmap/TextureMapperGL.cpp:
3455 (WebCore::getPassesRequiredForFilter):
3456 (WebCore::BitmapTextureGL::applyFilters):
3457 * platform/graphics/texmap/TextureMapperGL.h:
3458 * platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:
3459 (WebCore::CompositingCoordinator::clearPendingStateChanges):
3460 (WebCore::CompositingCoordinator::syncLayerState):
3461 * platform/graphics/texmap/coordinated/CompositingCoordinator.h:
3462 * platform/graphics/texmap/coordinated/CoordinatedCustomFilterOperation.h: Removed.
3463 * platform/graphics/texmap/coordinated/CoordinatedCustomFilterProgram.h: Removed.
3464 * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
3465 (WebCore::CoordinatedGraphicsScene::setLayerFiltersIfNeeded):
3466 (WebCore::CoordinatedGraphicsScene::commitSceneState):
3467 (WebCore::CoordinatedGraphicsScene::setLayerAnimationsIfNeeded):
3468 * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
3469 * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:
3470 * rendering/FilterEffectRenderer.cpp:
3471 (WebCore::FilterEffectRenderer::FilterEffectRenderer):
3472 (WebCore::FilterEffectRenderer::build):
3473 (WebCore::FilterEffectRenderer::computeSourceImageRectForDirtyRect):
3474 * rendering/FilterEffectRenderer.h:
3475 * rendering/RenderLayer.cpp:
3476 (WebCore::RenderLayer::setFilterBackendNeedsRepaintingInRect):
3477 (WebCore::RenderLayer::calculateClipRects):