1 2014-01-28 Anders Carlsson <andersca@apple.com>
3 Add stubbed out VisitedLinkProvider class
4 https://bugs.webkit.org/show_bug.cgi?id=127744
6 Reviewed by Andreas Kling.
8 This is a first step towards moving responsibility of visited links from
9 the page group to a separate object.
12 * GNUmakefile.list.am:
13 * WebCore.vcxproj/WebCore.vcxproj:
14 * WebCore.vcxproj/WebCore.vcxproj.filters:
15 * WebCore.xcodeproj/project.pbxproj:
17 (WebCore::PageGroup::PageGroup):
19 (WebCore::PageGroup::visitedLinkProvider):
20 * page/VisitedLinkProvider.cpp: Added.
21 (WebCore::VisitedLinkProvider::VisitedLinkProvider):
22 (WebCore::VisitedLinkProvider::~VisitedLinkProvider):
23 * page/VisitedLinkProvider.h: Added.
24 (WebCore::VisitedLinkProvider::create):
26 2014-01-28 Gurpreet Kaur <k.gurpreet@samsung.com>
28 Add support for menclose element
29 https://bugs.webkit.org/show_bug.cgi?id=85729
31 Reviewed by Chris Fleizach.
33 Added support for menclose element. MathML <menclose> element renders
34 its content inside an enclosing notation specified by the notation
35 attribute. The notation attribute can have values longdiv, box, left,
36 right, top, bottom , radical, madruwb, actuarial, roundedbox, circle,
37 updiagonalstrike, downdiagonalstrike, verticalstrike and
40 Tests: mathml/presentation/menclose-add-children.html
41 mathml/presentation/menclose-notation-attribute-add.html
42 mathml/presentation/menclose-notation-attribute-change-value.html
43 mathml/presentation/menclose-notation-attribute-remove.html
44 mathml/presentation/menclose-notation-attribute-set1.html
45 mathml/presentation/menclose-notation-attribute-set2.html
46 mathml/presentation/menclose-notation-no-overlap.html
47 mathml/presentation/menclose-notation-radical.html
48 mathml/presentation/menclose-remove-children.html
51 * GNUmakefile.list.am:
52 * WebCore.vcxproj/WebCore.vcxproj:
53 * WebCore.vcxproj/WebCore.vcxproj.filters:
54 * WebCore.xcodeproj/project.pbxproj:
56 (mo, mrow, mfenced, mfrac, msub, msup, msubsup, mmultiscripts, mprescripts, none, munder, mover, munderover, msqrt, mroot, merror, mphantom, mstyle, menclose):
57 (math, mrow, mfenced, msqrt, mroot, merror, mphantom, mstyle, menclose):
58 * mathml/MathMLAllInOne.cpp:
59 * mathml/MathMLElement.h:
60 * mathml/MathMLInlineContainerElement.cpp:
61 * mathml/MathMLMencloseElement.cpp: Added.
62 (WebCore::MathMLMencloseElement::MathMLMencloseElement):
63 (WebCore::MathMLMencloseElement::create):
64 (WebCore::MathMLMencloseElement::createElementRenderer):
65 (WebCore::MathMLMencloseElement::isPresentationAttribute):
66 (WebCore::MathMLMencloseElement::finishParsingChildren):
67 (WebCore::MathMLMencloseElement::collectStyleForPresentationAttribute):
68 (WebCore::MathMLMencloseElement::longDivLeftPadding):
69 * mathml/MathMLMencloseElement.h: Added.
70 (WebCore::toMathMLMencloseElement):
71 * mathml/mathattrs.in:
73 * rendering/mathml/RenderMathMLMenclose.cpp: Added.
74 (WebCore::RenderMathMLMenclose::RenderMathMLMenclose):
75 (WebCore::RenderMathMLMenclose::addChild):
76 (WebCore::RenderMathMLMenclose::computePreferredLogicalWidths):
77 (WebCore::RenderMathMLMenclose::updateLogicalHeight):
78 (WebCore::RenderMathMLMenclose::paint):
79 (WebCore::RenderMathMLMenclose::checkNotationalValuesValidity):
80 * rendering/mathml/RenderMathMLMenclose.h: Added.
81 * rendering/mathml/RenderMathMLRoot.cpp:
82 (WebCore::RenderMathMLRoot::RenderMathMLRoot):
83 * rendering/mathml/RenderMathMLRoot.h:
84 * rendering/mathml/RenderMathMLSquareRoot.cpp:
85 (WebCore::RenderMathMLSquareRoot::RenderMathMLSquareRoot):
86 (WebCore::RenderMathMLSquareRoot::createAnonymousWithParentRenderer):
87 * rendering/mathml/RenderMathMLSquareRoot.h:
88 Added new file related to menclose element implementation. Menclose
89 element is created and while parsing its notation attribute based on
90 its values like top, left CSSBorder properties are applied and for
91 values like circle, verticalstrike, longidv its taken care in paint.
92 For radical value an anonymous RenderMathMLSquareRoot is created as
95 2014-01-28 Krzysztof Czech <k.czech@samsung.com>
97 [ATK] accessibility/range-alter-by-percent.html is failing after r162587.
98 https://bugs.webkit.org/show_bug.cgi?id=127774
100 Reviewed by Mario Sanchez Prada.
102 Implicit value of step in range type elements should be one or larger.
104 No new tests. Covered by exiting one.
106 * accessibility/atk/WebKitAccessibleInterfaceValue.cpp:
107 (webkitAccessibleValueGetMinimumIncrement):
109 2014-01-28 Mark Rowe <mrowe@apple.com>
111 <https://webkit.org/b/127767> Disable some deprecation warnings to fix the build.
113 Reviewed by Ryosuke Niwa.
115 * accessibility/mac/AXObjectCacheMac.mm:
116 (WebCore::AXObjectCache::postPlatformNotification):
117 * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
118 (-[WebAccessibilityObjectWrapper renderWidgetChildren]):
119 * platform/audio/mac/AudioDestinationMac.cpp:
120 (WebCore::AudioDestinationMac::configure):
121 * platform/audio/mac/AudioFileReaderMac.cpp:
122 (WebCore::AudioFileReader::createBus):
124 2014-01-28 Carlos Garcia Campos <cgarcia@igalia.com>
126 [SOUP] Remove soupURIToKURL
127 https://bugs.webkit.org/show_bug.cgi?id=127104
129 Reviewed by Martin Robinson.
131 In favor of a URL constructor receiving a SoupURI. Also add a
132 method to URL to create a soupURI.
134 * GNUmakefile.list.am: Remove SoupURIUtils and add URLSoup.
135 * PlatformEfl.cmake: Ditto.
136 * PlatformGTK.cmake: Ditto.
137 * platform/URL.h: Add URL constructor receiving a SoupURI and
138 createSoupURI() to create a new soupURI for the URL.
139 * platform/network/soup/CookieJarSoup.cpp:
140 (WebCore::setCookiesFromDOM): Use URL::createSoupURI().
141 (WebCore::cookiesForSession): Ditto.
142 (WebCore::getRawCookies): Ditto.
143 (WebCore::deleteCookie): Ditto.
144 * platform/network/soup/ResourceHandleSoup.cpp:
145 (WebCore::doRedirect): Use the new URL constructor instead of
147 (WebCore::createSoupRequestAndMessageForHandle): Use URL::createSoupURI().
148 * platform/network/soup/ResourceRequest.h: Rename soupURI as
149 createSoupURI to make it clear that the method returns a newly
151 * platform/network/soup/ResourceRequestSoup.cpp:
152 (WebCore::ResourceRequest::updateSoupMessageMembers): Use URL::createSoupURI().
153 (WebCore::ResourceRequest::updateSoupMessage): Ditto.
154 (WebCore::ResourceRequest::updateFromSoupMessage): Use the new URL
155 constructor instead of soupURIToKURL.
156 (WebCore::ResourceRequest::createSoupURI): Use URL::createSoupURI().
157 * platform/network/soup/ResourceResponseSoup.cpp:
158 (WebCore::ResourceResponse::updateFromSoupMessage): Use the new
159 URL constructor instead of soupURIToKURL.
160 * platform/network/soup/SoupURIUtils.cpp: Removed.
161 * platform/network/soup/SoupURIUtils.h: Removed.
162 * platform/soup/URLSoup.cpp: Added.
164 (WebCore::URL::createSoupURI):
166 2014-01-27 Carlos Garcia Campos <cgarcia@igalia.com>
168 [GTK] Avoid unnecessary string duplications in FileSystemGtk
169 https://bugs.webkit.org/show_bug.cgi?id=127469
171 Reviewed by Martin Robinson.
173 We are using fileSystemRepresentation() everywhere internally
174 which returns a CString that always duplicates the string.
175 Add unescapedFilename() internal helper function that returns a
176 GUniquePtr and used it everywhere instead of fileSystemRepresentation().
178 * platform/gtk/FileSystemGtk.cpp:
179 (WebCore::unescapedFilename):
180 (WebCore::fileSystemRepresentation):
181 (WebCore::filenameForDisplay):
182 (WebCore::fileExists):
183 (WebCore::deleteFile):
184 (WebCore::deleteEmptyDirectory):
185 (WebCore::getFileStat):
186 (WebCore::getFileSize):
187 (WebCore::getFileModificationTime):
188 (WebCore::getFileMetadata):
189 (WebCore::pathByAppendingComponent):
190 (WebCore::makeAllDirectories):
191 (WebCore::pathGetFileName):
192 (WebCore::directoryName):
193 (WebCore::listDirectory):
196 2014-01-27 Carlos Garcia Campos <cgarcia@igalia.com>
198 [GTK] Make webkit_uri_scheme_request_get_web_view() work with CustomProtocols
199 https://bugs.webkit.org/show_bug.cgi?id=127614
201 Reviewed by Gustavo Noronha Silva.
203 Add API to set the page identifier that initiated the request to
204 ResourceRequest, and remove the initiatingPageID() method from the
205 NetworkingContext class.
207 * platform/network/NetworkingContext.h:
208 * platform/network/ResourceHandle.h:
209 * platform/network/soup/ResourceHandleSoup.cpp:
210 (WebCore::createSoupRequestAndMessageForHandle):
211 * platform/network/soup/ResourceRequest.h:
212 (WebCore::ResourceRequest::ResourceRequest):
213 (WebCore::ResourceRequest::initiatingPageID):
214 (WebCore::ResourceRequest::setInitiatingPageID):
215 * platform/network/soup/ResourceRequestSoup.cpp:
216 (WebCore::ResourceRequest::updateSoupRequest):
217 (WebCore::ResourceRequest::updateFromSoupRequest):
219 2014-01-27 Tim Horton <timothy_horton@apple.com>
221 Lots of varied and random crashes on the scrolling thread (ScrollbarPainters are going away)
222 https://bugs.webkit.org/show_bug.cgi?id=127734
223 <rdar://problem/15906263>
225 Reviewed by Simon Fraser.
227 * page/scrolling/ScrollingStateScrollingNode.h:
228 Retain the ScrollbarPainters in the scrolling state tree.
230 2014-01-27 Joseph Pecoraro <pecoraro@apple.com>
232 Unreviewed iOS build fix. FALLTHROUGHs for iOS.
234 * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
235 (-[WebAccessibilityObjectWrapper accessibilityTraits]):
236 (-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]):
238 2014-01-27 Roger Fong <roger_fong@apple.com>
240 WebGLLoadPolicy::WebGLAsk is an unnecessary value.
241 https://bugs.webkit.org/show_bug.cgi?id=127755
243 Reviewed by Anders Carlsson.
245 * html/HTMLCanvasElement.cpp:
246 (WebCore::HTMLCanvasElement::getContext):
247 * loader/FrameLoaderTypes.h:
249 2014-01-27 Brady Eidson <beidson@apple.com>
251 IDB: Cursor support - Messaging, IPC, Threading plumbing
252 https://bugs.webkit.org/show_bug.cgi?id=127736
254 Reviewed by Sam Weinig.
256 * Modules/indexeddb/IDBCursorBackendOperations.h:
257 (WebCore::CursorIterationOperation::cursorID):
258 (WebCore::CursorAdvanceOperation::cursorID):
260 * Modules/indexeddb/IDBTransactionBackendOperations.h:
261 (WebCore::OpenCursorOperation::transactionID):
265 2014-01-27 Joseph Pecoraro <pecoraro@apple.com>
267 WebCore: Enable -Wimplicit-fallthrough and add FALLTHROUGH annotation where needed
268 https://bugs.webkit.org/show_bug.cgi?id=127671
270 Reviewed by Ryosuke Niwa.
272 * Configurations/Base.xcconfig:
275 * css/StyleResolver.cpp:
276 (WebCore::StyleResolver::applyProperty):
277 Caught a bug. CSSPropertyWebkitAlt could fall through to CSSPropertyQuotes.
279 * css/SVGCSSParser.cpp:
280 (WebCore::CSSParser::parseSVGValue):
281 Caught a bug. CSSPropertyWebkitSvgShadow could fall through to CSSPropertyMaskType.
283 * platform/Decimal.cpp:
284 (WebCore::Decimal::fromString):
285 Possible bug. Implementation doesn't seem to match its documentation.
286 Filed an issue to follow-up on this unclear function.
290 * platform/ColorData.gperf:
291 Ignore implicit fallthrough warnings in generated code. gperf outputs
292 a "/*FALLTHROUGH*/" comment, but is not easily customizable to change
293 this output. Easiest to just ignore the warning for now.
295 * rendering/AutoTableLayout.cpp:
296 (WebCore::AutoTableLayout::recalcColumn):
297 (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
298 (WebCore::AutoTableLayout::layout):
299 There has been a "fall through" comment immediately followed by a break
300 since its introduction in 2003. Removing the inaccurate comment.
302 * accessibility/AccessibilityNodeObject.cpp:
303 (WebCore::AccessibilityNodeObject::canHaveChildren):
304 (WebCore::AccessibilityNodeObject::visibleText):
305 (WebCore::AccessibilityNodeObject::title):
306 * accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
307 (-[WebAccessibilityObjectWrapperBase accessibilityDescription]):
308 (-[WebAccessibilityObjectWrapperBase accessibilityHelpText]):
309 * bindings/js/SerializedScriptValue.cpp:
310 (WebCore::CloneSerializer::serialize):
311 (WebCore::CloneDeserializer::deserialize):
312 * css/CSSComputedStyleDeclaration.cpp:
313 (WebCore::ComputedStyleExtractor::propertyValue):
315 (WebCore::CSSParser::parseValue):
316 (WebCore::CSSParser::parseContent):
317 (WebCore::CSSParser::realLex):
318 * css/CSSSelector.cpp:
319 (WebCore::CSSSelector::extractPseudoType):
320 (WebCore::CSSSelector::selectorText):
321 * css/StyleProperties.cpp:
322 (WebCore::StyleProperties::asText):
323 * css/StyleSheetContents.cpp:
324 (WebCore::childRulesHaveFailedOrCanceledSubresources):
326 (WebCore::appendTextContent):
327 * html/parser/HTMLTreeBuilder.cpp:
328 (WebCore::HTMLTreeBuilder::processStartTag):
329 (WebCore::HTMLTreeBuilder::processEndTag):
330 (WebCore::HTMLTreeBuilder::processCharacterBuffer):
331 (WebCore::HTMLTreeBuilder::processEndOfFile):
332 * loader/cache/CachedResourceLoader.cpp:
333 (WebCore::CachedResourceLoader::requestResource):
334 * page/EventSource.cpp:
335 (WebCore::EventSource::parseEventStream):
336 * platform/DateComponents.cpp:
337 (WebCore::DateComponents::toStringForTime):
338 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
339 (WebCore::MediaPlayerPrivateAVFoundation::updateStates):
340 * platform/graphics/cg/GraphicsContextCG.cpp:
341 (WebCore::GraphicsContext::platformInit):
342 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
343 (WebCore::MediaPlayerPrivateGStreamer::totalBytes):
344 * platform/graphics/win/FullScreenController.cpp:
345 (FullScreenController::Private::fullscreenClientWndProc):
346 * platform/text/BidiResolver.h:
347 (WebCore::Run>::updateStatusLastFromCurrentDirection):
348 (WebCore::Run>::createBidiRunsForLine):
349 * platform/text/win/LocaleWin.cpp:
350 (WebCore::LocaleWin::initializeLocaleData):
351 * rendering/PointerEventsHitRules.cpp:
352 (WebCore::PointerEventsHitRules::PointerEventsHitRules):
353 * rendering/RenderBlockFlow.cpp:
354 (WebCore::RenderBlockFlow::newLine):
355 * rendering/RenderBlockLineLayout.cpp:
356 (WebCore::RenderBlockFlow::updateLogicalWidthForAlignment):
357 * rendering/RenderBox.cpp:
358 (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
359 * rendering/RenderBoxModelObject.cpp:
360 (WebCore::RenderBoxModelObject::calculateFillTileSize):
361 * rendering/RenderObject.cpp:
362 (WebCore::RenderObject::drawLineForBoxSide):
363 * rendering/RenderQuote.cpp:
364 (WebCore::RenderQuote::originalText):
365 * rendering/RenderReplaced.cpp:
366 (WebCore::RenderReplaced::replacedContentRect):
367 * rendering/RenderTable.cpp:
368 (WebCore::RenderTable::addChild):
369 * rendering/RenderTheme.cpp:
370 (WebCore::RenderTheme::adjustStyle):
371 * rendering/style/RenderStyle.cpp:
372 (WebCore::RenderStyle::setWordSpacing):
373 * rendering/svg/RenderSVGResource.cpp:
374 (WebCore::requestPaintingResource):
375 * rendering/svg/SVGMarkerData.h:
376 (WebCore::SVGMarkerData::updateMarkerDataForPathElement):
377 * svg/SVGPathParser.cpp:
378 (WebCore::SVGPathParser::parsePathDataFromSource):
379 * svg/SVGTransformDistance.cpp:
380 (WebCore::SVGTransformDistance::SVGTransformDistance):
381 (WebCore::SVGTransformDistance::scaledDistance):
382 (WebCore::SVGTransformDistance::addSVGTransforms):
383 (WebCore::SVGTransformDistance::addToSVGTransform):
384 (WebCore::SVGTransformDistance::distance):
385 Add annotation or break before falling into a default:break;
387 2014-01-27 Andreas Kling <akling@apple.com>
389 Allow mmap encoded data replacement for WOFF fonts.
390 <https://webkit.org/b/127737>
392 We always have to convert WOFF fonts to SFNT format. This happens
393 in a separate buffer from the CachedFont's internal resource buffer.
394 Because of this, there's no need to protect the original buffer from
397 With this change, WOFF web fonts are no longer duplicated between
398 the network and web processes.
400 Reviewed by Brady Eidson.
402 * loader/cache/CachedFont.cpp:
403 (WebCore::CachedFont::CachedFont):
404 (WebCore::CachedFont::ensureCustomFontData):
405 (WebCore::CachedFont::mayTryReplaceEncodedData):
406 * loader/cache/CachedFont.h:
408 2014-01-27 David Hyatt <hyatt@apple.com>
410 [New Multicolumn] Add support for block progression axis and reverse direction
411 https://bugs.webkit.org/show_bug.cgi?id=127715
415 This patch adds support for -webkit-progression-direction and -webkit-progression-axis
416 to the new column code. This allows columns to stack along the block axis instead of
417 the inline axis or to reverse directions along that progression axis.
419 Added fast/multicol/newmulticol/progression-reverse.html and
420 fast/multicol/newmulticol/progression-reverse-overflow.html
422 * rendering/RenderBlock.cpp:
423 (WebCore::RenderBlock::isTopLayoutOverflowAllowed):
424 (WebCore::RenderBlock::isLeftLayoutOverflowAllowed):
425 New functions have been added for top and left layout overflow in order to get
426 a bunch of code out of RenderBox that didn't belong there. RenderBlock is overriding
427 the functions for the old multicolumn layout code to keep it working.
429 * rendering/RenderBlock.h:
430 Added the new top/left overflow functions.
432 * rendering/RenderBlockFlow.cpp:
433 (WebCore::RenderBlockFlow::determineLogicalLeftPositionForChild):
434 Moved from RenderBlock, since it didn't belong there.
436 (WebCore::RenderBlockFlow::isTopLayoutOverflowAllowed):
437 (WebCore::RenderBlockFlow::isLeftLayoutOverflowAllowed):
438 * rendering/RenderBlockFlow.h:
439 Overridden for the new multi-column code to specify when top/left overflow are
440 allowed (e.g., when the columns go backwards).
442 * rendering/RenderBox.cpp:
443 (WebCore::RenderBox::addLayoutOverflow):
444 Overridden to use the new top/left overflow functions.
446 * rendering/RenderBox.h:
447 (WebCore::RenderBox::isTopLayoutOverflowAllowed):
448 (WebCore::RenderBox::isLeftLayoutOverflowAllowed):
449 Added base definitions that look at direction and writing-mode.
451 * rendering/RenderFlexibleBox.cpp:
452 (WebCore::RenderFlexibleBox::isTopLayoutOverflowAllowed):
453 (WebCore::RenderFlexibleBox::isLeftLayoutOverflowAllowed):
454 * rendering/RenderFlexibleBox.h:
455 Overrides for flexible box of the top/left overflow functions.
457 * rendering/RenderMultiColumnFlowThread.h:
458 Make sure requiresBalancing() is set to false if the axis of the columns
459 is block, since at least right now, we don't support balancing columns
460 along the block axis. (In theory we could support this in the future, but
461 nobody has requested it.)
463 * rendering/RenderMultiColumnSet.cpp:
464 (WebCore::RenderMultiColumnSet::updateLogicalWidth):
465 Remove the code that expands the width of multi column sets. We now always
466 let their logical width match the containing block's content width and instead
467 add the overflow to the set itself.
469 (WebCore::RenderMultiColumnSet::columnRectAt):
470 (WebCore::RenderMultiColumnSet::flowThreadPortionOverflowRect):
471 (WebCore::RenderMultiColumnSet::paintColumnRules):
472 (WebCore::RenderMultiColumnSet::initialBlockOffsetForPainting):
473 (WebCore::RenderMultiColumnSet::collectLayerFragments):
474 (WebCore::RenderMultiColumnSet::adjustRegionBoundsFromFlowThreadPortionRect):
475 Patch all of these functions to know how to handle a block axis or reversed
478 (WebCore::RenderMultiColumnSet::addOverflowFromChildren):
479 * rendering/RenderMultiColumnSet.h:
480 Make multi-column set add in its overflow in the same way that the old
481 multi-column code did, by looking at the last column rect. (This is really
482 not a very good way to do it, but it's the same as the old code for now.)
484 2014-01-27 Daniel Bates <dabates@apple.com>
486 Fix the Mac build following <http://trac.webkit.org/changeset/162887>
487 (https://bugs.webkit.org/show_bug.cgi?id=127703)
489 Export symbol for WebCore::AXObjectCache::enableAccessibility().
493 2014-01-27 Roger Fong <roger_fong@apple.com>
495 [Mac] Unreviewed build fix. Add missing export symbol.
499 2014-01-27 Roger Fong <roger_fong@apple.com>
501 [Windows] Tests crashing on Windows after r162816.
502 https://bugs.webkit.org/show_bug.cgi?id=127703.
504 Reviewed by Alexey Proskuryakov.
506 * accessibility/AXObjectCache.cpp:
507 (WebCore::AXObjectCache::enableAccessibility):
508 (WebCore::AXObjectCache::disableAccessibility):
509 * accessibility/AXObjectCache.h: Un-inline some methods so that they can be exported.
511 2014-01-27 Andy Estes <aestes@apple.com>
513 Update bindings test expectations after r162872
515 * bindings/scripts/test/ObjC/DOMTestInterface.h:
516 * bindings/scripts/test/ObjC/DOMTestObj.h:
518 2014-01-27 Andy Estes <aestes@apple.com>
520 Scrub WebKit API headers of WTF macros
521 https://bugs.webkit.org/show_bug.cgi?id=127706
523 Reviewed by David Kilzer.
525 * Configurations/FeatureDefines.xcconfig: Added ENABLE_INSPECTOR.
526 * bindings/objc/DOMEvents.h: Guarded include of
527 DOM{Gesture,Touch}Event.h with TARGET_OS_IPHONE, since those features
528 are always enabled on iOS.
529 * platform/graphics/mac/MediaPlayerProxy.h: Replaced PLATFORM(IOS) with
530 TARGET_OS_IPHONE and ensured ENABLE_IOS_AIRPLAY is defined.
531 * platform/ios/SystemMemory.h: Replaced PLATFORM(IOS) with
533 * platform/ios/wak/WKGraphics.h: Replaced PLATFORM(IOS_SIMULATOR) with
534 TARGET_IPHONE_SIMULATOR.
536 2014-01-27 Jer Noble <jer.noble@apple.com>
538 [iOS] Use callOnMainThread() not dispatch_async() in MediaPlayerPrivateAVFoundationObjC
539 https://bugs.webkit.org/show_bug.cgi?id=127701
541 Reviewed by Eric Carlson.
543 dispatch_async(dispatch_get_main_queue(), ...) used to be fine so long as the main
544 thread was also the web thread. But since that's not the case on iOS, we should be
545 using callOnMainThread() instead (because it dispatches to the web thread, not as
546 its name implies, the main thread).
548 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
549 (WebCore::MediaPlayerPrivateAVFoundationObjC::createWeakPtr):
550 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
551 (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC):
552 (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer):
553 (WebCore::MediaPlayerPrivateAVFoundationObjC::seekToTime):
554 (-[WebCoreAVFMovieObserver legibleOutput:didOutputAttributedStrings:nativeSampleBuffers:forItemTime:]):
555 (-[WebCoreAVFMovieObserver outputSequenceWasFlushed:]):
556 (-[WebCoreAVFLoaderDelegate resourceLoader:shouldWaitForLoadingOfRequestedResource:]):
557 (-[WebCoreAVFLoaderDelegate resourceLoader:shouldWaitForResponseToAuthenticationChallenge:]):
558 (-[WebCoreAVFLoaderDelegate resourceLoader:didCancelLoadingRequest:]):
560 2014-01-27 Maciej Stachowiak <mjs@apple.com>
562 Move Conditional=BLOB from URL interface to Blob-related methods, to prepare for adding URL API
563 https://bugs.webkit.org/show_bug.cgi?id=127719
565 Reviewed by Sam Weinig.
569 2014-01-27 Andreas Kling <akling@apple.com>
571 Remove unused USE(OPENTYPE_SANITIZER) code.
572 <https://webkit.org/b/127710>
574 This code was only used by the Chromium port.
576 Reviewed by Darin Adler.
578 * GNUmakefile.list.am:
579 * WebCore.xcodeproj/project.pbxproj:
580 * loader/cache/CachedFont.cpp:
581 (WebCore::CachedFont::ensureCustomFontData):
582 * platform/graphics/WOFFFileFormat.cpp:
583 * platform/graphics/WOFFFileFormat.h:
584 * platform/graphics/opentype/OpenTypeSanitizer.cpp: Removed.
585 * platform/graphics/opentype/OpenTypeSanitizer.h: Removed.
588 2014-01-27 Andy Estes <aestes@apple.com>
590 Stop the code generator from adding ENABLE() macros to Objective-C DOM headers
591 https://bugs.webkit.org/show_bug.cgi?id=127706
593 Reviewed by David Kilzer.
595 Instead of adding ENABLE() macros to generated Objective-C DOM
596 headers, which might become Public or Private headers, elide generated
597 code for disabled features.
599 * bindings/scripts/CodeGeneratorObjC.pm:
600 (GenerateInterface): Passed $defines to GenerateHeader.
601 (ConditionalIsEnabled): Checked if the given conditional is found in
602 $defines. Handled conditionals with '&' and '|'.
603 (GenerateHeader): Rather than calling GenerateConditionalString to
604 generate an "#if ENABLE(...)", called ConditionalIsEnabled() to see
605 whether we should generate code for the given constant, attribute, or
608 2014-01-27 Zoltan Horvath <zoltan@webkit.org>
610 [CSS Shapes] Remove restriction of negative values for inset parameters
611 https://bugs.webkit.org/show_bug.cgi?id=127704
613 Reviewed by Darin Adler.
615 The latest version of CSS Shapes (http://www.w3.org/TR/css-shapes/) specification
616 doesn't contain any restriction of using negative values for the inset sizing.
617 I removed the restriction from the code and added testing for them.
619 Existing tests have been extended with the new cases.
622 (WebCore::CSSParser::parseBasicShapeInset):
624 2014-01-27 Eric Carlson <eric.carlson@apple.com>
626 [iOS] preload=none prevents play()
627 https://bugs.webkit.org/show_bug.cgi?id=127702
629 Reviewed by Jer Noble.
631 No new tests, covered by existing tests.
633 * html/HTMLMediaElement.cpp:
634 (WebCore::HTMLMediaElement::potentiallyPlaying): Cleanup logic to make it simpler to understand,
635 fix logic error introduced in r161973
636 (WebCore::HTMLMediaElement::updatePlayState): Conditionalize some iOS-only code on whether or not
637 we are using the plug-in proxy.
639 2014-01-27 Brady Eidson <beidson@apple.com>
641 IDB: LevelDB backing store shouldn't know about IDBCursor or IDBCallbacks
642 https://bugs.webkit.org/show_bug.cgi?id=127708
644 Reviewed by Tim Horton.
646 Move that knowledge to the IDBCursorBackendOperations inside the callback.
648 * Modules/indexeddb/IDBCursorBackendOperations.cpp:
649 (WebCore::CursorAdvanceOperation::perform):
650 (WebCore::CursorIterationOperation::perform):
651 * Modules/indexeddb/IDBCursorBackendOperations.h:
653 * Modules/indexeddb/IDBServerConnection.h:
654 * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
655 (WebCore::IDBServerConnectionLevelDB::cursorAdvance):
656 (WebCore::IDBServerConnectionLevelDB::cursorIterate):
657 * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
659 2014-01-27 Brady Eidson <beidson@apple.com>
661 IDB: Remove unused concept of "cursor prefetch"
662 https://bugs.webkit.org/show_bug.cgi?id=127700
664 Reviewed by Tim Horton.
666 * Modules/indexeddb/IDBCursorBackend.cpp:
667 * Modules/indexeddb/IDBCursorBackend.h:
668 * Modules/indexeddb/IDBCursorBackendOperations.cpp:
669 * Modules/indexeddb/IDBCursorBackendOperations.h:
670 * Modules/indexeddb/IDBServerConnection.h:
671 * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
672 * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
674 2014-01-27 Brady Eidson <beidson@apple.com>
676 IDB: Refactor out the last of the operation callbacks that are called by the LevelDB backing store
677 https://bugs.webkit.org/show_bug.cgi?id=127592
679 Reviewed by Tim Horton.
681 For each of the 3 remaining operations where the backing store calls callbacks directly,
682 factor out the callbacks to the operation itself.
685 * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
686 (WebCore::OpenCursorOperation::perform):
687 (WebCore::CountOperation::perform):
688 (WebCore::DeleteRangeOperation::perform):
689 * Modules/indexeddb/IDBTransactionBackendOperations.h:
691 * Modules/indexeddb/IDBServerConnection.h:
692 * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
693 (WebCore::IDBServerConnectionLevelDB::openCursor):
694 (WebCore::IDBServerConnectionLevelDB::count):
695 (WebCore::IDBServerConnectionLevelDB::deleteRange):
696 * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
698 2014-01-27 Commit Queue <commit-queue@webkit.org>
700 Unreviewed, rolling out r162755.
701 http://trac.webkit.org/changeset/162755
702 https://bugs.webkit.org/show_bug.cgi?id=127696
704 not quite right, breaks subframe scrolling in some cases
705 (Requested by thorton on #webkit).
707 * page/scrolling/ScrollingTree.cpp:
708 (WebCore::ScrollingTree::ScrollingTree):
709 (WebCore::ScrollingTree::shouldHandleWheelEventSynchronously):
710 (WebCore::ScrollingTree::removeDestroyedNodes):
711 * page/scrolling/ScrollingTree.h:
712 * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
713 (WebCore::ScrollingTreeScrollingNodeMac::handleWheelEvent):
715 2014-01-27 Zoltan Horvath <zoltan@webkit.org>
717 [CSS Shapes] inset() function with multiple spaces on element style
718 https://bugs.webkit.org/show_bug.cgi?id=127617
720 Reviewed by Dirk Schulze.
722 When only a subset of parameters were defined for an inset shape, the built
723 inset string contained some extra spaces. This patch fixes the behavior and
724 adds tests for the case. I also removed the string allocation optimization from
725 buildInsetString, since it's not worthwhile to always allocate as many memory
726 as needed for a fully defined inset.
728 I added the new test cases to the shapes parser code test.
730 * css/CSSBasicShapes.cpp:
731 (WebCore::buildInsetString):
733 2014-01-27 Antti Koivisto <antti@apple.com>
735 * WebCore.exp.in: Add export needed for iOS.
737 2014-01-27 Antti Koivisto <antti@apple.com>
739 REGRESSION(r133214): Don't invalidate style when adding classes that don't match rules
740 https://bugs.webkit.org/show_bug.cgi?id=126177
742 Reviewed by Anders Carlsson.
744 Spotted by Elliott Sprehn in Chromium.
747 (WebCore::checkSelectorForClassChange):
749 Remove unnecessary templating.
751 (WebCore::Element::classAttributeChanged):
753 Fix logic error with 'continue'.
755 2014-01-27 Brendan Long <b.long@cablelabs.com>
757 [GStreamer] Lockup when playing Icecast radio
758 https://bugs.webkit.org/show_bug.cgi?id=127452
760 Reviewed by Philippe Normand.
762 No new tests. This bug can only be demonstrated with an Icecast stream, and it's
763 not clear how to do that in our testing framework.
765 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
766 (StreamingClient::handleResponseReceived): Wait until we unlock to send notifications.
768 2014-01-27 Jessie Berlin <jberlin@apple.com>
770 Build fix after r162838.
772 * page/FrameView.cpp:
773 Remove an unused constant.
775 2014-01-27 Antti Koivisto <antti@apple.com>
777 Remove repaint throttling
778 https://bugs.webkit.org/show_bug.cgi?id=127681
780 Reviewed by Sam Weinig.
782 Nowadays we throttle layer flushes. This code is unnecessary.
786 (WebCore::Document::recalcStyle):
788 (WebCore::Element::classAttributeChanged):
789 * editing/AlternativeTextController.cpp:
790 (WebCore::AlternativeTextController::insertDictatedText):
791 * loader/FrameLoader.cpp:
792 (WebCore::FrameLoader::checkCompleted):
793 * page/EventHandler.cpp:
794 (WebCore::EventHandler::dispatchDragEvent):
795 (WebCore::EventHandler::dispatchMouseEvent):
796 (WebCore::EventHandler::keyEvent):
797 (WebCore::EventHandler::handleTextInputEvent):
798 * page/FrameView.cpp:
799 (WebCore::FrameView::FrameView):
800 (WebCore::FrameView::reset):
801 (WebCore::FrameView::flushCompositingStateForThisFrame):
802 (WebCore::FrameView::layout):
803 (WebCore::FrameView::repaintContentRectangle):
804 (WebCore::FrameView::disableLayerFlushThrottlingTemporarilyForInteraction):
805 (WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive):
807 * rendering/RenderView.cpp:
808 (WebCore::RenderView::setSelection):
810 2014-01-24 Eric Carlson <eric.carlson@apple.com>
812 Merge Chromium TextTrack cleanups
813 https://bugs.webkit.org/show_bug.cgi?id=127483
815 Reviewed by Darin Adler.
817 Merge some TextTrack cleanups:
818 https://chromium.googlesource.com/chromium/blink/+/b571b9fbc6e62e05aa77a402cf8f447e681b8ee3
819 https://chromium.googlesource.com/chromium/blink/+/6b1940151258150ea01bcf21ebfd958e2af247f4
820 https://chromium.googlesource.com/chromium/blink/+/397c2a2d9416f5c0d79bca22d6979f174eefcce2
821 https://chromium.googlesource.com/chromium/blink/+/f42ad93e25c6310b2b0327ab7ce5d82d3c4a6c1b
822 https://chromium.googlesource.com/chromium/blink/+/d55b52b53b7da05bba5fe378a4278250b9347430
823 https://chromium.googlesource.com/chromium/blink/+/cac766ecaaac477a08879f0b3157d0327cc75d96
824 https://chromium.googlesource.com/chromium/blink/+/6197ce278696cdd52fc2ad81893f369492468ca0
826 * html/HTMLTrackElement.cpp:
827 (WebCore::HTMLTrackElement::loadTimerFired): Remove the LoadableTextTrack* parameter, it isn't used.
828 (WebCore::HTMLTrackElement::didCompleteLoad): Ditto.
829 * html/HTMLTrackElement.h: didCompleteLoad doesn't need to be virtual.
831 * html/track/LoadableTextTrack.cpp:
832 (WebCore::LoadableTextTrack::loadTimerFired): Pass a reference, not a pointer.
833 (WebCore::LoadableTextTrack::cueLoadingStarted): Removed, it wasn't used.
834 (WebCore::LoadableTextTrack::cueLoadingCompleted): Pass a reference, not a pointer.
835 * html/track/LoadableTextTrack.h: Delete LoadableTextTrackClient, it is no longer used.
837 * loader/TextTrackLoader.cpp:
838 (WebCore::TextTrackLoader::TextTrackLoader): Take a TextTrackLoaderClient reference.
839 (WebCore::TextTrackLoader::~TextTrackLoader): Rename m_cachedCueData m_resource.
840 (WebCore::TextTrackLoader::cueLoadTimerFired): m_client is a reference.
841 (WebCore::TextTrackLoader::cancelLoad): m_cachedCueData -> m_resource.
842 (WebCore::TextTrackLoader::processNewCueData): Ditto.
843 (WebCore::TextTrackLoader::deprecatedDidReceiveCachedResource): Ditto.
844 (WebCore::TextTrackLoader::notifyFinished): Ditto.
845 (WebCore::TextTrackLoader::load): shouldLoadCues was removed from the client interface because
846 the only implementation always returned true.
847 (WebCore::TextTrackLoader::newRegionsParsed): m_client is a reference
848 * loader/TextTrackLoader.h:
850 * loader/cache/CachedResourceLoader.cpp:
851 (WebCore::CachedResourceLoader::canRequest): Remove an outdated comment.
853 2014-01-27 Chris Fleizach <cfleizach@apple.com>
855 AX: Disable accessibility after every test run
856 https://bugs.webkit.org/show_bug.cgi?id=127439
858 Reviewed by Csaba Osztrogonác.
860 Speculative fix for EFL build. Don't process these notifications unless accessibility is enabled.
862 * loader/FrameLoader.cpp:
863 (WebCore::FrameLoader::prepareForLoadStart):
865 2014-01-27 Csaba Osztrogonác <ossy@webkit.org>
867 Buildfix for !ENABLE(COMPARE_AND_SWAP) platforms after r162774
868 https://bugs.webkit.org/show_bug.cgi?id=127678
870 Reviewed by Zoltan Herczeg.
872 * platform/text/TextBreakIterator.cpp:
873 (WebCore::compareAndSwapNonSharedCharacterBreakIterator):
874 Use std::mutex instead of Mutex and std::lock_guard instead of MutexLocker.
876 2014-01-26 Tim Horton <timothy_horton@apple.com>
878 Fix the iOS build (failed to correctly revert some broken changes in the last patch).
880 * platform/graphics/cg/BitmapImageCG.cpp:
882 2014-01-26 Tim Horton <timothy_horton@apple.com>
884 Start cleaning up iOS upstreaming #ifs in platform/graphics
885 https://bugs.webkit.org/show_bug.cgi?id=127641
887 Reviewed by Sam Weinig.
889 * platform/graphics/BitmapImage.h:
890 * platform/graphics/mac/ColorMac.h:
891 Use USE(APPKIT) instead of PLATFORM(MAC) && !PLATFORM(IOS) for NSImage/getNSImage().
893 * platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.mm:
894 (WebCore::AVTrackPrivateAVFObjCImpl::label):
895 * platform/graphics/avfoundation/objc/InbandTextTrackPrivateLegacyAVFObjC.mm:
896 (WebCore::InbandTextTrackPrivateLegacyAVFObjC::label):
897 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
898 (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL):
899 Remove some code that was only used on OS X on Lion or below.
901 * platform/graphics/cg/GraphicsContextCG.cpp:
902 (WebCore::GraphicsContext::platformInit):
903 ToT WebKit doesn't build on Lion or earlier anymore, so this code can always run.
905 * platform/graphics/cg/FloatPointCG.cpp:
906 * platform/graphics/cg/FloatRectCG.cpp:
907 * platform/graphics/cg/FloatSizeCG.cpp:
908 * platform/graphics/cg/GradientCG.cpp:
909 * platform/graphics/cg/ImageBufferCG.cpp:
910 * platform/graphics/cg/ImageCG.cpp:
911 * platform/graphics/cg/IntPointCG.cpp:
912 * platform/graphics/cg/IntRectCG.cpp:
913 * platform/graphics/cg/PathCG.cpp:
914 * platform/graphics/cg/PatternCG.cpp:
915 * platform/graphics/mac/FontCustomPlatformData.cpp:
916 Use CoreGraphics/CoreGraphics.h instead of ApplicationServices/ApplicationServices.h
917 even on Mac, so we can share the include.
919 * platform/graphics/cg/IntSizeCG.cpp:
920 Remove a random comment of a style we don't tend to use in WebKit,
921 and from a file not large enough to need it.
923 * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
924 (WebCore::FontPlatformData::FontPlatformData):
925 (WebCore::FontPlatformData::setFont):
926 Remove some more always-true #ifs.
928 * platform/graphics/mac/WebLayer.mm:
929 Move a #if'd include out to its own block as per the style guide.
931 2014-01-26 David Hyatt <hyatt@apple.com>
933 [New Multicolumn] Make sure the progression axis and direction are propagated to the new columns.
934 https://bugs.webkit.org/show_bug.cgi?id=127670
936 This patch makes sure that the progression axis and direction style properties
937 are properly propagated from the style to the multi-column flow thread. Virtualizing
938 and renaming updateColumnInfoFromStyle to updateColumnProgressionFromStyle lets us
939 share code between the old multi-column code and the new.
941 Reviewed by Sam Weinig.
943 * rendering/RenderBlock.cpp:
944 (WebCore::RenderBlock::updateColumnProgressionFromStyle):
945 * rendering/RenderBlock.h:
946 * rendering/RenderBlockFlow.cpp:
947 (WebCore::RenderBlockFlow::setComputedColumnCountAndWidth):
948 (WebCore::RenderBlockFlow::updateColumnProgressionFromStyle):
949 * rendering/RenderBlockFlow.h:
950 * rendering/RenderBox.cpp:
951 (WebCore::RenderBox::styleDidChange):
952 * rendering/RenderMultiColumnFlowThread.cpp:
953 (WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread):
954 * rendering/RenderMultiColumnFlowThread.h:
955 * style/StyleResolveForDocument.cpp:
956 (WebCore::Style::resolveForDocument):
958 2014-01-26 David Hyatt <hyatt@apple.com>
960 [New Multicolumn] Change the axis property to be a boolean like other isInline checks
961 https://bugs.webkit.org/show_bug.cgi?id=127661
963 Reviewed by Simon Fraser.
965 * rendering/ColumnInfo.h:
966 (WebCore::ColumnInfo::ColumnInfo):
967 (WebCore::ColumnInfo::progressionIsInline):
968 (WebCore::ColumnInfo::setProgressionIsInline):
969 * rendering/RenderBlock.cpp:
970 (WebCore::RenderBlock::paintColumnRules):
971 (WebCore::RenderBlock::initialBlockOffsetForPainting):
972 (WebCore::RenderBlock::blockDeltaForPaintingNextColumn):
973 (WebCore::RenderBlock::setComputedColumnCountAndWidth):
974 (WebCore::RenderBlock::updateColumnInfoFromStyle):
975 (WebCore::RenderBlock::columnRectAt):
976 (WebCore::RenderBlock::adjustPointToColumnContents):
977 (WebCore::RenderBlock::adjustRectForColumns):
978 (WebCore::RenderBlock::adjustForColumns):
979 * rendering/RenderMultiColumnFlowThread.h:
980 * rendering/RenderObject.cpp:
981 (WebCore::RenderObject::columnNumberForOffset):
983 2014-01-26 Benjamin Poulain <benjamin@webkit.org>
985 Make DOMStringMap a typedef of DatasetDOMStringMap
986 https://bugs.webkit.org/show_bug.cgi?id=127658
988 Reviewed by Sam Weinig.
990 The only concrete implementation of DOMStringMap is DatasetDOMStringMap.
991 The abstract interface for a single definition is adding complexity for no gain.
993 This patch removes DOMStringMap and simply keeps the name through a typedef.
994 I used a typedef instead of just renaming DatasetDOMStringMap because I think
995 having both name has value. DatasetDOMStringMap is a better description of what
996 the implementation does. DOMStringMap is the public name and the classname is
997 the same as the JavaScript type by convention.
1000 * GNUmakefile.list.am:
1001 * WebCore.vcxproj/WebCore.vcxproj:
1002 * WebCore.vcxproj/WebCore.vcxproj.filters:
1003 * WebCore.xcodeproj/project.pbxproj:
1004 * dom/DOMAllInOne.cpp:
1005 * dom/DOMStringMap.cpp: Removed.
1006 * dom/DOMStringMap.h:
1007 * dom/DatasetDOMStringMap.h:
1009 (WebCore::Element::dataset):
1012 2014-01-26 David Kilzer <ddkilzer@apple.com>
1014 Part 2: Assertion failure in WebCore::PseudoElement::didRecalcStyle()
1015 <https://bugs.webkit.org/show_bug.cgi?id=126761>
1016 <rdar://problem/15793540>
1018 Reviewed by Simon Fraser.
1020 * bindings/objc/DOM.mm:
1021 (-[DOMElement image]):
1022 (-[DOMElement _imageTIFFRepresentation]):
1023 * platform/gtk/PasteboardGtk.cpp:
1024 (WebCore::Pasteboard::writeImage):
1025 * platform/win/PasteboardWin.cpp:
1026 (WebCore::Pasteboard::writeImage):
1027 (WebCore::getCachedImage):
1028 * rendering/HitTestResult.cpp:
1029 (WebCore::HitTestResult::image):
1030 - More places where toRenderImage() should be used instead of
1032 - Fixed last two places where static_cast<WebCore::RenderImage*>
1033 was being used instead of toRenderImage().
1035 2014-01-26 Chris Fleizach <cfleizach@apple.com>
1037 AX: Disable accessibility after every test run
1038 https://bugs.webkit.org/show_bug.cgi?id=127439
1040 Reviewed by Alexey Proskuryakov.
1042 If accessibility is disabled, we may still need to return the existing
1043 AXObjectCache, so that objects can be cleaned up appropriately.
1045 A such we have to be prepared to handle a nullptr return value in more cases.
1047 * accessibility/AXObjectCache.h:
1048 (WebCore::AXObjectCache::disableAccessibility):
1049 * accessibility/AccessibilityNodeObject.cpp:
1050 (WebCore::AccessibilityNodeObject::childrenChanged):
1051 * accessibility/AccessibilityRenderObject.cpp:
1052 (WebCore::AccessibilityRenderObject::remoteSVGRootElement):
1054 (WebCore::Document::existingAXObjectCache):
1056 2014-01-26 Anders Carlsson <andersca@apple.com>
1058 Move history item visit count handling to WebKit
1059 https://bugs.webkit.org/show_bug.cgi?id=127659
1061 Reviewed by Dan Bernstein.
1063 Remove all members dealing with visit handling - they're going back to WebKit.
1066 * history/HistoryItem.cpp:
1067 (WebCore::HistoryItem::HistoryItem):
1068 (WebCore::HistoryItem::reset):
1069 (WebCore::HistoryItem::decodeBackForwardTree):
1070 * history/HistoryItem.h:
1071 (WebCore::HistoryItem::create):
1073 2014-01-26 Anders Carlsson <andersca@apple.com>
1075 Move lastVisitWasHTTPNonGet out to WebHistoryItem
1076 https://bugs.webkit.org/show_bug.cgi?id=127657
1078 Reviewed by Dan Bernstein.
1080 Remove m_lastVisitWasHTTPNonGet, it's only used by WebKit.
1082 * history/HistoryItem.cpp:
1083 (WebCore::HistoryItem::HistoryItem):
1084 (WebCore::HistoryItem::reset):
1085 * history/HistoryItem.h:
1087 2014-01-26 Zalan Bujtas <zalan@apple.com>
1089 Subpixel Layout: Align <input type="button", submit etc (PushButtonPart) top and bottom paddings with <button>
1090 https://bugs.webkit.org/show_bug.cgi?id=127640
1092 Reviewed by Simon Fraser.
1094 <button> sets padding-top: 2px and padding-bottom: 3px as default values (html.css),
1095 while <input type="button" (submit, etc) has the hardcoded values of 0, 0 and we center the text using the available space.
1096 This results in different baseline text position in normal cases. This adjustment puts the <input type='button'
1097 rendering back to the pre-subpixel layout state.
1099 * platform/mac/ThemeMac.mm:
1100 (WebCore::ThemeMac::controlPadding):
1102 2014-01-26 Benjamin Poulain <bpoulain@apple.com>
1104 Improve the bindings of NodeList's name accessor
1105 https://bugs.webkit.org/show_bug.cgi?id=127358
1107 Reviewed by Geoffrey Garen.
1109 When accessing an item of NodeList by name, the default bindings was
1110 going through the list of node twice:
1111 -First, getOwnProperty calls canGetItemsForName() to find if a property exists for
1112 the given name. This in turn used NodeList::namedItem() which is a slow operation.
1113 -Then, the value itself was queried through nameGetter(), calling NodeList::namedItem()
1114 a second time to find the same value.
1116 This patch kills the default name getter in favor of a getOwnPropertySlotDelegate() returning
1117 the value directly on the PropertySlot.
1119 Ad Hoc testing show about 15% speed up for simple cases.
1121 * bindings/js/JSNodeListCustom.cpp:
1122 (WebCore::JSNodeList::getOwnPropertySlotDelegate):
1125 2014-01-26 Joseph Pecoraro <pecoraro@apple.com>
1127 Web Inspector: Move InspectorDebuggerAgent into JavaScriptCore
1128 https://bugs.webkit.org/show_bug.cgi?id=127629
1130 Rubber-stamped by Sam Weinig.
1132 Test: inspector-protocol/debugger/pause-on-assert.html
1135 * ForwardingHeaders/inspector/agents/InspectorDebuggerAgent.h: Added.
1136 * GNUmakefile.list.am:
1137 * WebCore.vcxproj/WebCore.vcxproj:
1138 * WebCore.vcxproj/WebCore.vcxproj.filters:
1139 * WebCore.xcodeproj/project.pbxproj:
1140 * inspector/InspectorAllInOne.cpp:
1141 - Remove InspectorDebuggerAgent.
1142 - Add WebDebuggerAgent (shared between Page and Worker).
1144 * inspector/WebDebuggerAgent.h: Added.
1145 (WebCore::WebDebuggerAgent::~WebDebuggerAgent):
1146 * inspector/WebDebuggerAgent.cpp: Added.
1147 (WebCore::WebDebuggerAgent::WebDebuggerAgent):
1148 (WebCore::WebDebuggerAgent::enable):
1149 (WebCore::WebDebuggerAgent::disable):
1150 Shared code for Page and Worker debugger agents.
1151 Instrumenting agents is a concept in WebCore only,
1152 and the Debugger agent is only in the instrumenting
1153 agents list when it is enabled and removed when disabled.
1155 * inspector/InstrumentingAgents.h:
1156 (WebCore::InstrumentingAgents::inspectorDebuggerAgent):
1157 (WebCore::InstrumentingAgents::setInspectorDebuggerAgent):
1158 * inspector/InspectorDOMDebuggerAgent.cpp:
1159 * inspector/InspectorDOMDebuggerAgent.h:
1160 Update namespace for debugger agent.
1162 * inspector/InspectorInstrumentation.cpp:
1163 (WebCore::isConsoleAssertMessage):
1164 (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
1165 DebuggerAgent in JavaScriptCore does not yet know about console
1166 types. So temporarily handle it here. We need to give JavaScriptCore
1167 some concept of Console messages and types.
1169 * inspector/PageDebuggerAgent.cpp:
1170 (WebCore::PageDebuggerAgent::PageDebuggerAgent):
1171 (WebCore::PageDebuggerAgent::enable):
1172 (WebCore::PageDebuggerAgent::disable):
1173 (WebCore::PageDebuggerAgent::sourceMapURLForScript):
1174 (WebCore::PageDebuggerAgent::injectedScriptForEval):
1175 * inspector/PageDebuggerAgent.h:
1176 * inspector/WorkerDebuggerAgent.cpp:
1177 (WebCore::WorkerDebuggerAgent::WorkerDebuggerAgent):
1178 (WebCore::WorkerDebuggerAgent::injectedScriptForEval):
1179 * inspector/WorkerDebuggerAgent.h:
1180 Modernize the Page and Worker debugger agents.
1182 * inspector/InspectorController.cpp:
1183 (WebCore::InspectorController::InspectorController):
1184 * inspector/InspectorController.h:
1185 * inspector/WorkerInspectorController.cpp:
1186 (WebCore::WorkerInspectorController::WorkerInspectorController):
1187 New constructors for the debugger agents.
1189 2014-01-25 Timothy Hatcher <timothy@apple.com>
1191 Remove dead code from the JSC profiler.
1193 https://bugs.webkit.org/show_bug.cgi?id=127643
1195 Reviewed by Mark Lam.
1197 Passes existing tests in fast/profiler.
1199 * bindings/js/ScriptProfile.cpp:
1200 (WebCore::buildInspectorObjectFor): Remove visible.
1201 * inspector/ScriptProfileNode.idl: Ditto.
1202 * inspector/protocol/Profiler.json: Ditto.
1204 2014-01-25 Sam Weinig <sam@webkit.org>
1206 Remove unused support for DRAGGABLE_REGION
1207 https://bugs.webkit.org/show_bug.cgi?id=127642
1209 Reviewed by Simon Fraser.
1211 * Configurations/FeatureDefines.xcconfig:
1212 * DerivedSources.make:
1214 * css/CSSComputedStyleDeclaration.cpp:
1215 (WebCore::ComputedStyleExtractor::propertyValue):
1216 * css/CSSParser.cpp:
1217 (WebCore::CSSParser::parseValue):
1218 * css/CSSPropertyNames.in:
1219 * css/CSSValueKeywords.in:
1220 * css/StyleResolver.cpp:
1221 (WebCore::StyleResolver::applyProperty):
1223 (WebCore::Document::Document):
1226 * page/ChromeClient.h:
1227 * page/FrameView.cpp:
1228 (WebCore::FrameView::layout):
1229 (WebCore::FrameView::paintContents):
1231 * rendering/RenderElement.cpp:
1232 (WebCore::RenderElement::styleWillChange):
1233 * rendering/RenderInline.cpp:
1234 (WebCore::RenderInline::addAnnotatedRegions):
1235 * rendering/RenderInline.h:
1236 * rendering/RenderLayer.cpp:
1237 (WebCore::RenderLayer::scrollTo):
1238 (WebCore::RenderLayer::setHasHorizontalScrollbar):
1239 (WebCore::RenderLayer::setHasVerticalScrollbar):
1240 (WebCore::RenderLayer::updateScrollbarsAfterLayout):
1241 * rendering/RenderListBox.cpp:
1242 (WebCore::RenderListBox::setHasVerticalScrollbar):
1243 * rendering/RenderObject.cpp:
1244 (WebCore::RenderObject::addAnnotatedRegions):
1245 * rendering/RenderObject.h:
1246 (WebCore::AnnotatedRegionValue::operator==):
1247 * rendering/style/RenderStyle.h:
1248 * rendering/style/RenderStyleConstants.h:
1249 * rendering/style/StyleRareNonInheritedData.cpp:
1250 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
1251 (WebCore::StyleRareNonInheritedData::operator==):
1252 * rendering/style/StyleRareNonInheritedData.h:
1254 2014-01-25 Gyuyoung Kim <gyuyoung.kim@samsung.com>
1256 Clean up SVGPatternElement::collectPatternAttributes
1257 https://bugs.webkit.org/show_bug.cgi?id=127612
1259 Reviewed by Andreas Kling.
1261 This patch refactors SVGPatternElement::collectPatternAttributes() by extracting
1262 the setPatternAttributes logic into a new function. This patch also changes the
1263 while loop to be easier to understand and similar to collectGradientAttributes.
1265 * svg/SVGPatternElement.cpp:
1266 (WebCore::setPatternAttributes):
1267 (WebCore::SVGPatternElement::collectPatternAttributes):
1269 2014-01-25 Zalan Bujtas <zalan@apple.com>
1271 Subpixel layout: RenderInline is not centered when child RenderTextControl's innerTextRenderer needs bias centering.
1272 https://bugs.webkit.org/show_bug.cgi?id=125659
1274 Reviewed by Andreas Kling
1276 layoutMod(logicalHeightDiff, 2) fails to bias round when subpixel layout is enabled. It sets
1277 the denominator value to 2, which returns incorrect modulo result.
1278 (subpixel off: 3px % 2 = 1 vs subpixel on: (3px * 64) -> 192 % 2 = 0)
1280 Covered by existing tests.
1282 * platform/LayoutUnit.h:
1283 * rendering/RenderSearchField.cpp:
1284 (WebCore::RenderSearchField::centerContainerIfNeeded):
1285 * rendering/RenderTextControlSingleLine.cpp:
1286 (WebCore::RenderTextControlSingleLine::centerRenderer):
1287 (WebCore::RenderTextControlSingleLine::layout):
1288 * rendering/RenderTextControlSingleLine.h:
1290 2014-01-25 Sam Weinig <sam@webkit.org>
1292 Remove more unnecessary #if PLATFORM(IOS)s in ApplicationCacheStorage.cpp
1293 https://bugs.webkit.org/show_bug.cgi?id=127635
1295 Reviewed by Antti Koivisto.
1297 * loader/appcache/ApplicationCacheStorage.cpp:
1298 (WebCore::ApplicationCacheStorage::executeSQLCommand):
1299 (WebCore::ApplicationCacheStorage::verifySchemaVersion):
1300 (WebCore::ApplicationCacheStorage::executeStatement):
1301 (WebCore::ApplicationCacheStorage::store):
1302 (WebCore::ApplicationCacheStorage::ensureOriginRecord):
1303 (WebCore::ApplicationCacheStorage::loadCache):
1305 2014-01-25 Sam Weinig <sam@webkit.org>
1307 Remove some iOS #ifdefs by adding SQLiteDatabaseTracker to all the builds
1308 https://bugs.webkit.org/show_bug.cgi?id=127632
1310 Reviewed by Darin Adler.
1312 Move the SQLiteDatabaseTracker and client from platform/sql/ios to platform/sql,
1313 as there is nothing iOS specific about it. Then, un-#ifdef all its uses. For
1314 ports that don't setup a client, this has no change in behavior.
1317 * GNUmakefile.list.am:
1318 * Modules/webdatabase/DatabaseBackendBase.cpp:
1319 * WebCore.vcxproj/WebCore.vcxproj:
1320 * WebCore.vcxproj/WebCore.vcxproj.filters:
1321 * WebCore.xcodeproj/project.pbxproj:
1322 * loader/appcache/ApplicationCacheStorage.cpp:
1323 * platform/ScrollableArea.h:
1324 (WebCore::ScrollableArea::sendWillRevealEdgeEventsIfNeeded):
1325 * platform/sql/SQLiteDatabaseTracker.cpp: Copied from Source/WebCore/platform/sql/ios/SQLiteDatabaseTracker.cpp.
1326 * platform/sql/SQLiteDatabaseTracker.h: Copied from Source/WebCore/platform/sql/ios/SQLiteDatabaseTracker.h.
1327 * platform/sql/SQLiteDatabaseTrackerClient.h: Copied from Source/WebCore/platform/sql/ios/SQLiteDatabaseTrackerClient.h.
1328 * platform/sql/ios: Removed.
1329 * platform/sql/ios/SQLiteDatabaseTracker.cpp: Removed.
1330 * platform/sql/ios/SQLiteDatabaseTracker.h: Removed.
1331 * platform/sql/ios/SQLiteDatabaseTrackerClient.h: Removed.
1332 * storage/StorageAreaSync.cpp:
1333 (WebCore::StorageAreaSync::openDatabase):
1334 (WebCore::StorageAreaSync::sync):
1335 * storage/StorageTracker.cpp:
1337 2014-01-25 Anders Carlsson <andersca@apple.com>
1339 Remove an unused FrameLoaderClient function
1340 https://bugs.webkit.org/show_bug.cgi?id=127628
1342 Reviewed by Andreas Kling.
1344 All implementations of FrameLoaderClient::shouldStopLoadingForHistoryItem return true and this function
1345 was only used by Chromium so we can get rid of it.
1347 * loader/EmptyClients.h:
1348 * loader/FrameLoaderClient.h:
1349 * loader/HistoryController.cpp:
1350 (WebCore::HistoryController::shouldStopLoadingForHistoryItem):
1352 2014-01-25 Darin Adler <darin@apple.com>
1354 Call deprecatedCharacters instead of characters at more call sites
1355 https://bugs.webkit.org/show_bug.cgi?id=127631
1357 Reviewed by Sam Weinig.
1359 * bindings/objc/WebScriptObject.mm:
1360 (+[WebScriptObject _convertValueToObjcValue:JSC::originRootObject:rootObject:]):
1361 * editing/CompositeEditCommand.cpp:
1362 (WebCore::containsOnlyWhitespace):
1363 * editing/TypingCommand.cpp:
1364 (WebCore::TypingCommand::insertText):
1365 * editing/VisibleUnits.cpp:
1366 (WebCore::startOfParagraph):
1367 (WebCore::endOfParagraph):
1368 * html/parser/HTMLParserIdioms.cpp:
1369 (WebCore::stripLeadingAndTrailingHTMLSpaces):
1370 (WebCore::parseHTMLNonNegativeInteger):
1371 * inspector/InspectorStyleSheet.cpp:
1372 (WebCore::InspectorStyle::newLineAndWhitespaceDelimiters):
1373 * inspector/InspectorStyleTextEditor.cpp:
1374 (WebCore::InspectorStyleTextEditor::insertProperty):
1375 (WebCore::InspectorStyleTextEditor::internalReplaceProperty):
1376 * platform/Length.cpp:
1377 (WebCore::newCoordsArray):
1378 * platform/LinkHash.cpp:
1379 (WebCore::visitedLinkHash):
1380 * platform/graphics/Color.cpp:
1381 (WebCore::Color::parseHexColor):
1382 (WebCore::Color::Color):
1383 * platform/graphics/TextRun.h:
1384 (WebCore::TextRun::TextRun):
1385 * platform/text/TextEncodingRegistry.cpp:
1386 (WebCore::atomicCanonicalTextEncodingName):
1387 * rendering/RenderBlock.cpp:
1388 (WebCore::RenderBlock::constructTextRun):
1389 * rendering/RenderCombineText.cpp:
1390 (WebCore::RenderCombineText::width):
1391 * svg/SVGFontElement.cpp:
1392 (WebCore::SVGFontElement::registerLigaturesInGlyphCache):
1393 * xml/XPathFunctions.cpp:
1394 (WebCore::XPath::FunId::evaluate):
1397 2014-01-25 Darin Adler <darin@apple.com>
1399 Get rid of ICU_UNICODE and WCHAR_UNICODE remnants
1400 https://bugs.webkit.org/show_bug.cgi?id=127623
1402 Reviewed by Anders Carlsson.
1404 * CMakeLists.txt: Removed SmartReplaceICU.cpp.
1405 * GNUmakefile.list.am: Ditto.
1406 * PlatformEfl.cmake: Ditto.
1407 * PlatformGTK.cmake: Ditto.
1409 * editing/FrameSelection.cpp:
1410 (WebCore::FrameSelection::modifyMovingRight): Ditto.
1411 (WebCore::FrameSelection::modifyMovingLeft): Ditto.
1413 * editing/SmartReplace.cpp: Moved code here from SmartReplaceICU,
1414 since we always support ICU now. Added some FIXME comments about
1415 bugs and mistakes I spotted in the code as I was moving it.
1416 * editing/SmartReplaceICU.cpp: Removed.
1418 * editing/TextIterator.cpp: Removed unneeded checks.
1419 * platform/ThreadGlobalData.cpp:
1420 (WebCore::ThreadGlobalData::ThreadGlobalData): Ditto.
1421 (WebCore::ThreadGlobalData::destroy): Ditto.
1422 * platform/ThreadGlobalData.h: Ditto.
1424 (WebCore::appendEncodedHostname): Ditto.
1425 * platform/graphics/SurrogatePairAwareTextIterator.cpp: Ditto.
1426 Also removed unneeded "using namespace".
1427 * platform/text/TextCodecICU.cpp: Ditto.
1428 * platform/text/TextEncoding.cpp:
1429 (WebCore::TextEncoding::encode): Ditto.
1430 * platform/text/TextEncodingRegistry.cpp:
1431 (WebCore::extendTextCodecMaps): Ditto.
1433 2014-01-25 Darin Adler <darin@apple.com>
1435 Get rid of UnicodeRange.h/cpp, using ICU instead
1436 https://bugs.webkit.org/show_bug.cgi?id=127622
1438 Reviewed by Anders Carlsson.
1440 * CMakeLists.txt: Remove UnicodeRange.h/cpp.
1441 * GNUmakefile.list.am: Ditto.
1442 * WebCore.vcxproj/WebCore.vcxproj: Ditto.
1443 * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
1444 * WebCore.xcodeproj/project.pbxproj: Ditto.
1446 * platform/graphics/win/FontCacheWin.cpp:
1447 (WebCore::FontCache::systemFallbackForCharacters): To check if a character has
1448 multiple code pages, use UCHAR_UNIFIED_IDEOGRAPH instead of cRangeSetCJK.
1449 * platform/graphics/wince/FontCacheWinCE.cpp:
1450 (WebCore::FontCache::systemFallbackForCharacters): Ditto. Also, to check if a
1451 character is in the Thai block, use UBLOCK_THAI.
1453 * platform/graphics/wince/FontPlatformData.cpp: Removed include of UnicodeRange.h.
1455 * platform/text/UnicodeRange.cpp: Removed.
1456 * platform/text/UnicodeRange.h: Removed.
1458 * rendering/svg/SVGTextLayoutEngineBaseline.cpp:
1459 (WebCore::SVGTextLayoutEngineBaseline::calculateGlyphOrientationAngle): To figure
1460 out if a character is full width, use UCHAR_EAST_ASIAN_WIDTH, instead of hard-coding
1461 "not Latin or Arabic" as the rule.
1463 2014-01-25 Tim Horton <timothy_horton@apple.com>
1465 Remove an unnecessary platform #if in BitmapImage(CG)::checkForSolidColor()
1466 https://bugs.webkit.org/show_bug.cgi?id=127610
1468 Reviewed by Simon Fraser.
1470 * platform/graphics/cg/BitmapImageCG.cpp:
1471 (WebCore::BitmapImage::checkForSolidColor):
1472 Over time, the two sides of this #if !PLATFORM(IOS) converged. Remove the #if
1473 and merge the code. We explicitly use kCGBitmapByteOrder32Big to be correct everywhere.
1475 2014-01-25 Tim Horton <timothy_horton@apple.com>
1477 [cg] Look in the PNG dictionary for image duration information
1478 https://bugs.webkit.org/show_bug.cgi?id=127611
1479 <rdar://problem/15408643>
1481 Reviewed by Simon Fraser.
1483 We should look in the PNG properties dictionary for frame duration and loop count data.
1485 * platform/graphics/cg/ImageSourceCG.cpp:
1486 (WebCore::ImageSource::repetitionCount):
1487 Mush repetitionCount a bit more to make it easier to read (early returns, etc.)
1488 Also, look in the PNG properties dictionary for a loop count.
1490 (WebCore::ImageSource::frameDurationAtIndex):
1491 Look in the PNG properties dictionary for delay time.
1492 Get rid of WebCoreCGImagePropertyGIFUnclampedDelayTime; it hasn't
1493 been needed since Snow Leopard.
1495 2014-01-25 Anders Carlsson <andersca@apple.com>
1497 Remove atomicIncrement/atomicDecrement
1498 https://bugs.webkit.org/show_bug.cgi?id=127625
1500 Reviewed by Andreas Kling.
1502 Replace atomicIncrement/atomicDecrement with std::atomic.
1504 * Modules/webaudio/AudioContext.cpp:
1505 (WebCore::AudioContext::incrementActiveSourceCount):
1506 (WebCore::AudioContext::decrementActiveSourceCount):
1507 * Modules/webaudio/AudioContext.h:
1508 * Modules/webaudio/AudioNode.cpp:
1509 (WebCore::AudioNode::~AudioNode):
1510 (WebCore::AudioNode::ref):
1511 (WebCore::AudioNode::finishDeref):
1512 * Modules/webaudio/AudioNode.h:
1513 * Modules/webdatabase/OriginLock.h:
1515 2014-01-25 Alex Christensen <achristensen@webkit.org>
1517 Unreviewed build fix for WinCairo.
1519 * platform/network/curl/CurlDownload.h:
1520 Included wtf/Threading.h for ThreadIdentifier definition.
1522 2014-01-25 Anders Carlsson <andersca@apple.com>
1524 Modernize HashTable threading code
1525 https://bugs.webkit.org/show_bug.cgi?id=127621
1527 Reviewed by Darin Adler.
1529 Explicitly include headers that used to be brought in by HashTable.h
1531 * platform/DragData.h:
1532 Change a Windows-specific typedef to avoid having to include WindDef.h from a header.
1534 * platform/audio/AudioSession.h:
1535 * platform/network/cf/SocketStreamHandle.h:
1537 2014-01-25 Zan Dobersek <zdobersek@igalia.com>
1539 Move CSSGroupingRule, CSSStyleSheet, ElementRuleCollector to std::unique_ptr
1540 https://bugs.webkit.org/show_bug.cgi?id=127575
1542 Reviewed by Andreas Kling.
1544 Use std::unique_ptr and std::make_unique in place of OwnPtr and adoptPtr
1545 in the CSSGroupingRule, CSSStyleSheet and ElementRuleCollector classes.
1547 * css/CSSFunctionValue.cpp: Remove the unnecessary PassOwnPtr header inclusion.
1548 * css/CSSGroupingRule.cpp:
1549 (WebCore::CSSGroupingRule::cssRules):
1550 * css/CSSGroupingRule.h:
1551 * css/CSSStyleSheet.cpp:
1552 (WebCore::CSSStyleSheet::cssRules):
1553 * css/CSSStyleSheet.h:
1554 * css/ElementRuleCollector.cpp:
1555 (WebCore::ElementRuleCollector::addMatchedRule):
1556 * css/ElementRuleCollector.h:
1558 2014-01-25 Zan Dobersek <zdobersek@igalia.com>
1560 Move MediaQueryMatcher, SelectorFilter to std::unique_ptr
1561 https://bugs.webkit.org/show_bug.cgi?id=127574
1563 Reviewed by Andreas Kling.
1565 Replace the use of OwnPtr and adoptPtr with std::unique_ptr and std::make_unique
1566 in the MediaQueryMatcher and SelectorFilter classes.
1568 * css/MediaQueryMatcher.cpp:
1569 (WebCore::MediaQueryMatcher::prepareEvaluator):
1570 (WebCore::MediaQueryMatcher::evaluate):
1571 (WebCore::MediaQueryMatcher::addListener):
1572 (WebCore::MediaQueryMatcher::styleResolverChanged):
1573 * css/MediaQueryMatcher.h:
1574 * css/SelectorFilter.cpp:
1575 (WebCore::SelectorFilter::popParentStackFrame):
1576 (WebCore::SelectorFilter::setupParentStack):
1577 * css/SelectorFilter.h:
1579 2014-01-25 Zan Dobersek <zdobersek@igalia.com>
1581 Move PropertySetCSSStyleDeclaration, WebKitCSSKeyframesRule to std::unique_ptr
1582 https://bugs.webkit.org/show_bug.cgi?id=127572
1584 Reviewed by Andreas Kling.
1586 Switch the PropertySetCSSStyleDeclaration and WebKitCSSKeyframesRule classes from using
1587 OwnPtr and adoptPtr to using std::unique_ptr and std::make_unique.
1589 * css/PropertySetCSSStyleDeclaration.cpp:
1590 (WebCore::PropertySetCSSStyleDeclaration::cloneAndCacheForCSSOM):
1591 (WebCore::StyleRuleCSSStyleDeclaration::didMutate):
1592 (WebCore::InlineCSSStyleDeclaration::didMutate):
1593 * css/PropertySetCSSStyleDeclaration.h:
1594 * css/WebKitCSSKeyframesRule.cpp:
1595 (WebCore::WebKitCSSKeyframesRule::cssRules):
1596 * css/WebKitCSSKeyframesRule.h:
1598 2014-01-25 Zan Dobersek <zdobersek@igalia.com>
1600 Move StyleProperties, StyleResolver to std::unique_ptr
1601 https://bugs.webkit.org/show_bug.cgi?id=127570
1603 Reviewed by Andreas Kling.
1605 Move the StyleProperties and StyleResolver classes from using OwnPtr and adoptPtr
1606 to using std::unique_ptr and std::make_unique.
1608 * css/StyleInvalidationAnalysis.h: Remove the PassOwnPtr.h header inclusion.
1609 * css/StyleProperties.cpp:
1610 (WebCore::MutableStyleProperties::ensureCSSStyleDeclaration):
1611 (WebCore::MutableStyleProperties::ensureInlineCSSStyleDeclaration):
1612 * css/StyleProperties.h:
1613 * css/StyleResolver.cpp:
1614 (WebCore::StyleResolver::StyleResolver):
1615 (WebCore::StyleResolver::addViewportDependentMediaQueryResult):
1616 * css/StyleResolver.h:
1617 * css/StyleScopeResolver.h:
1619 2014-01-25 Zan Dobersek <zdobersek@igalia.com>
1621 Move CSSFontFace, CSSFontSelector to std::unique_ptr
1622 https://bugs.webkit.org/show_bug.cgi?id=127569
1624 Reviewed by Andreas Kling.
1626 Move the CSSFontFace and CSSFontSelector classes from using OwnPtr, PassOwnPtr and adoptPtr
1627 to using std::unique_ptr, move semantics and std::make_unique.
1629 * css/CSSFontFace.cpp:
1630 (WebCore::CSSFontFace::addSource):
1631 * css/CSSFontFace.h:
1632 * css/CSSFontSelector.cpp:
1633 (WebCore::CSSFontSelector::addFontFaceRule):
1634 (WebCore::CSSFontSelector::getFontFace):
1635 * css/CSSFontSelector.h:
1637 2014-01-24 Joseph Pecoraro <pecoraro@apple.com>
1639 Web Inspector: Move InspectorRuntimeAgent into JavaScriptCore
1640 https://bugs.webkit.org/show_bug.cgi?id=127605
1642 Reviewed by Timothy Hatcher.
1644 Covered by existing tests. No change in functionality.
1647 * GNUmakefile.list.am:
1648 * WebCore.vcxproj/WebCore.vcxproj:
1649 * WebCore.vcxproj/WebCore.vcxproj.filters:
1650 * WebCore.xcodeproj/project.pbxproj:
1651 * inspector/InspectorAllInOne.cpp:
1652 Remove WebCore InspectorRuntimeAgent.
1654 * ForwardingHeaders/inspector/agents/InspectorRuntimeAgent.h: Added.
1655 Add JavaScriptCore InspectorRuntimeAgent.
1657 * inspector/InspectorController.cpp:
1658 (WebCore::InspectorController::InspectorController):
1659 * inspector/WorkerInspectorController.h:
1660 * inspector/WorkerInspectorController.cpp:
1661 (WebCore::WorkerInspectorController::WorkerInspectorController):
1662 New constructors for the runtime agent.
1664 * inspector/PageRuntimeAgent.h:
1665 * inspector/PageRuntimeAgent.cpp:
1666 (WebCore::PageRuntimeAgent::PageRuntimeAgent):
1667 (WebCore::PageRuntimeAgent::enable):
1668 (WebCore::PageRuntimeAgent::disable):
1669 (WebCore::PageRuntimeAgent::didCreateMainWorldContext):
1670 (WebCore::PageRuntimeAgent::didCreateIsolatedContext):
1671 (WebCore::PageRuntimeAgent::globalVM):
1672 Modernize and implement globalVM.
1674 * inspector/WorkerRuntimeAgent.h:
1675 * inspector/WorkerRuntimeAgent.cpp:
1676 (WebCore::WorkerRuntimeAgent::WorkerRuntimeAgent):
1677 (WebCore::WorkerRuntimeAgent::injectedScriptForEval):
1678 (WebCore::WorkerRuntimeAgent::globalVM):
1679 Modernize and implement globalVM.
1681 2014-01-25 Diego Pino Garcia <dpino@igalia.com>
1683 [GTK] Add parameters from 'DOM Object Model Core' spec and 'DOM CSS' spec that can be NULL
1685 https://bugs.webkit.org/show_bug.cgi?id=117536
1687 Reviewed by Xan Lopez.
1689 * bindings/scripts/CodeGeneratorGObject.pm:
1690 (ParamCanBeNull): Add new pairs (function, parameter) that can be NULL
1692 2014-01-25 Anders Carlsson <andersca@apple.com>
1694 Get rid of BackForwardController::isActive()
1695 https://bugs.webkit.org/show_bug.cgi?id=127604
1697 Reviewed by Sam Weinig.
1699 BackForwardController::isActive() used to mean "my page maintains a back forward
1700 list that has zero capacity". Move that logic into WebKit instead, namely the
1701 WebFrameLoaderClient::canCachePage function so we can simplify WebCore.
1703 * history/BackForwardClient.h:
1704 * history/BackForwardController.cpp:
1705 * history/BackForwardController.h:
1706 * history/BackForwardList.h:
1707 * history/PageCache.cpp:
1708 (WebCore::logCanCachePageDecision):
1709 (WebCore::PageCache::canCache):
1711 2014-01-25 Antti Koivisto <antti@apple.com>
1713 REGRESSION(r162744): wsj.com paints white
1714 https://bugs.webkit.org/show_bug.cgi?id=127619
1716 Reviewed by Sam Weinig.
1718 Test: fast/css/stylesheet-layout-with-pending-paint.html
1721 (WebCore::Document::styleResolverChanged):
1723 Ensure we switch out from IgnoreLayoutWithPendingSheets state after stylesheet loads complete.
1725 2014-01-24 Dan Bernstein <mitz@apple.com>
1727 Reverted r162760. It broke more things.
1731 2014-01-24 Dan Bernstein <mitz@apple.com>
1733 Try to fix some 32-bit builds.
1737 2014-01-24 Jinwoo Song <jinwoo7.song@samsung.com>
1739 [EFL] Replace usage of DEFINE_STATIC_LOCAL with NeverDestroyed in WebCore/platform/efl
1740 https://bugs.webkit.org/show_bug.cgi?id=127607
1742 Reviewed by Anders Carlsson.
1744 * platform/efl/EflKeyboardUtilities.cpp:
1745 (WebCore::keyMap): Use NeverDestroyed instead of DEFINE_STATIC_LOCAL.
1746 (WebCore::windowsKeyMap): Ditto.
1747 (WebCore::keyDownCommandsMap): Ditto.
1748 (WebCore::keyPressCommandsMap): Ditto.
1749 * platform/efl/GamepadsEfl.cpp:
1750 (WebCore::sampleGamepads): Ditto.
1751 * platform/efl/RenderThemeEfl.cpp:
1752 (WebCore::RenderThemeEfl::systemFont): Do not use unnecessary DEFINE_STATIC_LOCAL.
1754 2014-01-23 Joseph Pecoraro <pecoraro@apple.com>
1756 Move JavaScriptCallFrame and ScriptDebugServer into JavaScriptCore for inspector
1757 https://bugs.webkit.org/show_bug.cgi?id=127543
1759 Reviewed by Geoffrey Garen.
1761 Covered by existing tests.
1763 * ForwardingHeaders/inspector/ScriptDebugServer.h: Added.
1764 * GNUmakefile.list.am:
1766 * WebCore.vcxproj/WebCore.vcxproj:
1767 * WebCore.vcxproj/WebCore.vcxproj.filters:
1768 * WebCore.xcodeproj/project.pbxproj:
1769 * bindings/js/JSBindingsAllInOne.cpp:
1770 * inspector/JavaScriptCallFrame.idl: Removed.
1771 Update builds now that ScriptDebugServer moved to JavaScriptCore.
1773 * bindings/js/PageScriptDebugServer.h:
1774 * bindings/js/PageScriptDebugServer.cpp:
1775 (WebCore::PageScriptDebugServer::runEventLoopWhilePaused):
1776 (WebCore::PageScriptDebugServer::isContentScript):
1777 (WebCore::PageScriptDebugServer::reportException):
1778 * bindings/js/WorkerScriptDebugServer.h:
1779 * bindings/js/WorkerScriptDebugServer.cpp:
1780 (WebCore::WorkerScriptDebugServer::runEventLoopWhilePaused):
1781 (WebCore::WorkerScriptDebugServer::reportException):
1782 Handle ScriptDebugServer functionality depending on WebCore knowledge.
1784 * inspector/InspectorDebuggerAgent.h:
1785 * inspector/InspectorDebuggerAgent.cpp:
1786 (WebCore::InspectorDebuggerAgent::breakpointActionSound):
1787 Handle ScriptDebugServer functionality that depended on WebCore knowledge.
1788 This will eventually be written in a non-WebCore specific way.
1790 * inspector/InspectorRuntimeAgent.cpp:
1791 * inspector/InspectorRuntimeAgent.h:
1792 Update ScriptDebugServer type now that it is in namespace Inspector.
1794 * workers/WorkerGlobalScope.h:
1795 Make addConsoleMessage public again so the inspector can call it.
1797 * inspector/PageDebuggerAgent.cpp:
1798 (WebCore::PageDebuggerAgent::breakpointActionLog):
1799 * inspector/PageDebuggerAgent.h:
1800 * inspector/WorkerDebuggerAgent.cpp:
1801 (WebCore::WorkerDebuggerAgent::breakpointActionLog):
1802 * inspector/WorkerDebuggerAgent.h:
1803 Let each of these handle console logs in their own way. Both of these
1804 eventually go through the PageConsole and log through the InspectorConsoleAgent
1807 2014-01-24 Brent Fulgham <bfulgham@apple.com>
1809 Improve latching behavior for wheel events
1810 https://bugs.webkit.org/show_bug.cgi?id=127386
1811 <rdar://problem/12176858>
1813 Reviewed by Simon Fraser.
1815 * page/scrolling/ScrollingTree.cpp:
1816 (WebCore::ScrollingTree::ScrollingTree): Initialize new values used for tracking
1817 scroll latching state.
1818 (WebCore::ScrollingTree::shouldHandleWheelEventSynchronously): Check for an existing
1819 latched node and stay in fast scrolling mode if possible.
1820 (WebCore::ScrollingTree::removeDestroyedNodes): Clear latched node if it's being removed.
1821 (WebCore::ScrollingTree::latchedNode): Added
1822 (WebCore::ScrollingTree::setLatchedNode): Added
1823 (WebCore::ScrollingTree::clearLatchedNode): Added
1824 * page/scrolling/ScrollingTree.h:
1825 (WebCore::ScrollingTree::hasLatchedNode): Added
1826 * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
1827 (WebCore::shouldConsiderLatching): Added
1828 (WebCore::ScrollingTreeScrollingNodeMac::handleWheelEvent): Determine latching state
1829 based on wheel event state and position of mouse pointer in the document.
1831 2014-01-24 Anders Carlsson <andersca@apple.com>
1833 Another attempted build fix.
1835 Use wildcards in the the std::duration symbol.
1839 2014-01-24 Simon Fraser <simon.fraser@apple.com>
1841 Start using the RemoteScrollingCoordinatorProxy on iOS
1842 https://bugs.webkit.org/show_bug.cgi?id=127598
1844 Reviewed by Tim Horton.
1846 Add a scrollPositionChangedViaDelegatedScrolling() function to
1847 ScrollingTree, allowing the ScrollingTree to be informed about
1848 external sources of scrolling.
1850 Also add a convenience getter for nodes, nodeForID().
1853 * page/scrolling/ScrollingTree.cpp:
1854 (WebCore::ScrollingTree::scrollPositionChangedViaDelegatedScrolling):
1855 (WebCore::ScrollingTree::nodeForID):
1856 * page/scrolling/ScrollingTree.h:
1857 * rendering/RenderLayerCompositor.cpp:
1858 (WebCore::RenderLayerCompositor::registerAllViewportConstrainedLayers):
1859 To avoid assertions on iOS, bail from iOS WK1 fixed position code if
1860 we have a ScrollingCoordinator.
1861 (WebCore::RenderLayerCompositor::unregisterAllViewportConstrainedLayers):
1864 2014-01-24 Simon Fraser <simon.fraser@apple.com>
1866 Add typesafe casts for ScrollingTreeNode classes
1867 https://bugs.webkit.org/show_bug.cgi?id=127597
1869 Reviewed by Tim Horton.
1871 Add a ScrollingNodeType member to ScrollingTreeNodes and
1872 use it for type-safe casting.
1874 * page/scrolling/ScrollingTreeNode.cpp:
1875 (WebCore::ScrollingTreeNode::ScrollingTreeNode):
1876 * page/scrolling/ScrollingTreeNode.h:
1877 (WebCore::ScrollingTreeNode::nodeType):
1878 (WebCore::ScrollingTreeNode::scrollingNodeID):
1879 * page/scrolling/ScrollingTreeScrollingNode.cpp:
1880 (WebCore::ScrollingTreeScrollingNode::ScrollingTreeScrollingNode):
1881 * page/scrolling/ScrollingTreeScrollingNode.h:
1882 * page/scrolling/mac/ScrollingTreeFixedNode.h:
1883 * page/scrolling/mac/ScrollingTreeFixedNode.mm:
1884 (WebCore::ScrollingTreeFixedNode::ScrollingTreeFixedNode):
1885 * page/scrolling/mac/ScrollingTreeStickyNode.h:
1886 * page/scrolling/mac/ScrollingTreeStickyNode.mm:
1887 (WebCore::ScrollingTreeStickyNode::ScrollingTreeStickyNode):
1889 2014-01-24 Anders Carlsson <andersca@apple.com>
1891 Remove back/forward list related functions from Page
1892 https://bugs.webkit.org/show_bug.cgi?id=127596
1894 Reviewed by Andreas Kling.
1897 * history/BackForwardController.cpp:
1898 (WebCore::BackForwardController::canGoBackOrForward):
1899 (WebCore::BackForwardController::goBackOrForward):
1900 (WebCore::BackForwardController::goBack):
1901 (WebCore::BackForwardController::goForward):
1902 (WebCore::BackForwardController::count):
1903 * page/EventHandler.cpp:
1904 (WebCore::EventHandler::defaultBackspaceEventHandler):
1908 2014-01-24 Antti Koivisto <antti@apple.com>
1910 Update style asynchronously after style sheet load
1911 https://bugs.webkit.org/show_bug.cgi?id=127563
1913 Reviewed by Andreas Kling.
1915 Since we don't attach synchronously we don't need to recalc style synchronously either.
1918 (WebCore::Document::didRemoveAllPendingStylesheet):
1920 2014-01-24 Zalan Bujtas <zalan@apple.com>
1922 Subpixel layout: Default style of input type=checkbox/radio (0.5ex) adds 1px extra margin on both left and right.
1923 https://bugs.webkit.org/show_bug.cgi?id=125728
1925 Reviewed by Simon Fraser.
1927 Using the 0.5ex value to set checkbox/radio left and right margins is a long-standing
1928 (khtml) behavior. While it indicates dynamic behavior, in order to get the margins changed,
1929 the widget's font size needs to be set, which is rather rare for such input types.
1930 It also results in odd layout, where the checkbox's indentation may seem to change randomly.
1932 '<input style="font-size: 30px;" type="checkbox">foo' changes neither the checkbox
1933 nor the text size, but it indents the line by about 15px.
1935 Other browsers (FF, Opera with Presto) disagree and they set static margins values.
1936 2px is the current default computed value.
1939 (input[type="radio"], input[type="checkbox"]):
1941 2014-01-24 Oliver Hunt <oliver@apple.com>
1943 Put functions need to take a base object and a this value, and perform type checks on |this|
1944 https://bugs.webkit.org/show_bug.cgi?id=127594
1946 Reviewed by Geoffrey Garen.
1948 Update bindings generator to emit setters with correct type, and perform
1949 type checks on |this|, instead of the baseObject.
1951 Test: js/dom/dom-as-prototype-assignment-exception.html
1953 * bindings/scripts/CodeGeneratorJS.pm:
1955 (GenerateImplementation):
1956 (GenerateHashTable):
1957 * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
1958 * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
1959 * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
1960 * bindings/scripts/test/JS/JSTestEventTarget.cpp:
1961 * bindings/scripts/test/JS/JSTestException.cpp:
1962 * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
1963 * bindings/scripts/test/JS/JSTestInterface.cpp:
1964 (WebCore::setJSTestInterfaceConstructorImplementsStaticAttr):
1965 (WebCore::setJSTestInterfaceImplementsStr2):
1966 (WebCore::setJSTestInterfaceImplementsStr3):
1967 (WebCore::setJSTestInterfaceImplementsNode):
1968 (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr):
1969 (WebCore::setJSTestInterfaceSupplementalStr2):
1970 (WebCore::setJSTestInterfaceSupplementalStr3):
1971 (WebCore::setJSTestInterfaceSupplementalNode):
1972 * bindings/scripts/test/JS/JSTestInterface.h:
1973 * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
1974 * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
1975 * bindings/scripts/test/JS/JSTestNode.cpp:
1976 * bindings/scripts/test/JS/JSTestObj.cpp:
1977 (WebCore::setJSTestObjConstructorStaticStringAttr):
1978 (WebCore::setJSTestObjTestSubObjEnabledBySettingConstructor):
1979 (WebCore::setJSTestObjEnumAttr):
1980 (WebCore::setJSTestObjByteAttr):
1981 (WebCore::setJSTestObjOctetAttr):
1982 (WebCore::setJSTestObjShortAttr):
1983 (WebCore::setJSTestObjUnsignedShortAttr):
1984 (WebCore::setJSTestObjLongAttr):
1985 (WebCore::setJSTestObjLongLongAttr):
1986 (WebCore::setJSTestObjUnsignedLongLongAttr):
1987 (WebCore::setJSTestObjStringAttr):
1988 (WebCore::setJSTestObjTestObjAttr):
1989 (WebCore::setJSTestObjXMLObjAttr):
1990 (WebCore::setJSTestObjCreate):
1991 (WebCore::setJSTestObjReflectedStringAttr):
1992 (WebCore::setJSTestObjReflectedIntegralAttr):
1993 (WebCore::setJSTestObjReflectedUnsignedIntegralAttr):
1994 (WebCore::setJSTestObjReflectedBooleanAttr):
1995 (WebCore::setJSTestObjReflectedURLAttr):
1996 (WebCore::setJSTestObjReflectedCustomIntegralAttr):
1997 (WebCore::setJSTestObjReflectedCustomBooleanAttr):
1998 (WebCore::setJSTestObjReflectedCustomURLAttr):
1999 (WebCore::setJSTestObjTypedArrayAttr):
2000 (WebCore::setJSTestObjAttrWithGetterException):
2001 (WebCore::setJSTestObjAttrWithSetterException):
2002 (WebCore::setJSTestObjStringAttrWithGetterException):
2003 (WebCore::setJSTestObjStringAttrWithSetterException):
2004 (WebCore::setJSTestObjCustomAttr):
2005 (WebCore::setJSTestObjWithScriptStateAttribute):
2006 (WebCore::setJSTestObjWithScriptExecutionContextAttribute):
2007 (WebCore::setJSTestObjWithScriptStateAttributeRaises):
2008 (WebCore::setJSTestObjWithScriptExecutionContextAttributeRaises):
2009 (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttribute):
2010 (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
2011 (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
2012 (WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
2013 (WebCore::setJSTestObjConditionalAttr1):
2014 (WebCore::setJSTestObjConditionalAttr2):
2015 (WebCore::setJSTestObjConditionalAttr3):
2016 (WebCore::setJSTestObjConditionalAttr4Constructor):
2017 (WebCore::setJSTestObjConditionalAttr5Constructor):
2018 (WebCore::setJSTestObjConditionalAttr6Constructor):
2019 (WebCore::setJSTestObjAnyAttribute):
2020 (WebCore::setJSTestObjMutablePoint):
2021 (WebCore::setJSTestObjImmutablePoint):
2022 (WebCore::setJSTestObjStrawberry):
2023 (WebCore::setJSTestObjStrictFloat):
2024 (WebCore::setJSTestObjId):
2025 (WebCore::setJSTestObjReplaceableAttribute):
2026 (WebCore::setJSTestObjNullableLongSettableAttribute):
2027 (WebCore::setJSTestObjNullableStringValue):
2028 (WebCore::setJSTestObjAttributeWithReservedEnumType):
2029 * bindings/scripts/test/JS/JSTestObj.h:
2030 * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
2031 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2032 (WebCore::setJSTestSerializedScriptValueInterfaceValue):
2033 (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue):
2034 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
2035 * bindings/scripts/test/JS/JSTestTypedefs.cpp:
2036 (WebCore::setJSTestTypedefsUnsignedLongLongAttr):
2037 (WebCore::setJSTestTypedefsImmutableSerializedScriptValue):
2038 (WebCore::setJSTestTypedefsAttrWithGetterException):
2039 (WebCore::setJSTestTypedefsAttrWithSetterException):
2040 (WebCore::setJSTestTypedefsStringAttrWithGetterException):
2041 (WebCore::setJSTestTypedefsStringAttrWithSetterException):
2042 * bindings/scripts/test/JS/JSTestTypedefs.h:
2043 * bindings/scripts/test/JS/JSattribute.cpp:
2044 * bindings/scripts/test/JS/JSreadonly.cpp:
2046 2014-01-24 Oliver Hunt <oliver@apple.com>
2048 Generic JSObject::put should handle static properties in the classinfo hierarchy
2049 https://bugs.webkit.org/show_bug.cgi?id=127523
2051 Reviewed by Geoffrey Garen.
2053 Update the bindings generator to emit the flag indicating the presence
2054 of setters, and remove the many (now unnecessary) put overrides.
2055 Tested with run-jsc-benchmarks and shows neutral performance. A few of the
2056 micro benchmarks actually get a significant performance increase which
2059 * bindings/js/JSDOMWindowCustom.cpp:
2060 (WebCore::JSDOMWindow::put):
2061 We still need a custom call to lookupPut here in order
2062 to get the magic security semantics of the window object.
2063 * bindings/scripts/CodeGeneratorJS.pm:
2064 (hashTableAccessor):
2065 (prototypeHashTableAccessor):
2066 (constructorHashTableAccessor):
2067 (GenerateImplementation):
2068 (GenerateHashTable):
2069 (GenerateConstructorHelperMethods):
2071 * bindings/js/JSDOMWindowCustom.cpp:
2072 (WebCore::JSDOMWindow::put):
2073 * bindings/scripts/CodeGeneratorJS.pm:
2074 (hashTableAccessor):
2075 (prototypeHashTableAccessor):
2076 (constructorHashTableAccessor):
2077 (InstanceOverridesPutImplementation):
2078 (InstanceOverridesPutDeclaration):
2080 (GenerateImplementation):
2081 (GenerateHashTable):
2082 (GenerateConstructorHelperMethods):
2083 * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
2084 * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
2085 * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
2086 * bindings/scripts/test/JS/JSTestEventTarget.cpp:
2087 * bindings/scripts/test/JS/JSTestException.cpp:
2088 * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
2089 * bindings/scripts/test/JS/JSTestInterface.cpp:
2090 (WebCore::JSTestInterface::put):
2091 * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
2092 * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
2093 * bindings/scripts/test/JS/JSTestNode.cpp:
2094 * bindings/scripts/test/JS/JSTestObj.cpp:
2095 * bindings/scripts/test/JS/JSTestObj.h:
2096 * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
2097 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2098 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
2099 * bindings/scripts/test/JS/JSTestTypedefs.cpp:
2100 * bindings/scripts/test/JS/JSTestTypedefs.h:
2101 * bindings/scripts/test/JS/JSattribute.cpp:
2102 * bindings/scripts/test/JS/JSreadonly.cpp:
2103 * html/canvas/WebGLRenderingContext.idl:
2104 Remove bogus attribute, as it has never been in the spec and should not
2107 2014-01-24 Commit Queue <commit-queue@webkit.org>
2109 Unreviewed, rolling out r162713.
2110 http://trac.webkit.org/changeset/162713
2111 https://bugs.webkit.org/show_bug.cgi?id=127593
2113 broke media/network-no-source-const-shadow (Requested by
2114 thorton on #webkit).
2116 * bindings/js/JSDOMWindowCustom.cpp:
2117 (WebCore::JSDOMWindow::put):
2118 * bindings/scripts/CodeGeneratorJS.pm:
2119 (hashTableAccessor):
2120 (prototypeHashTableAccessor):
2121 (constructorHashTableAccessor):
2123 (GenerateImplementation):
2124 (GenerateHashTable):
2125 (GenerateConstructorHelperMethods):
2126 * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
2127 * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
2128 * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
2129 * bindings/scripts/test/JS/JSTestEventTarget.cpp:
2130 * bindings/scripts/test/JS/JSTestException.cpp:
2131 * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
2132 * bindings/scripts/test/JS/JSTestInterface.cpp:
2133 (WebCore::JSTestInterface::put):
2134 * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
2135 * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
2136 * bindings/scripts/test/JS/JSTestNode.cpp:
2137 * bindings/scripts/test/JS/JSTestObj.cpp:
2138 (WebCore::JSTestObj::put):
2139 * bindings/scripts/test/JS/JSTestObj.h:
2140 * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
2141 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2142 (WebCore::JSTestSerializedScriptValueInterface::put):
2143 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
2144 * bindings/scripts/test/JS/JSTestTypedefs.cpp:
2145 (WebCore::JSTestTypedefs::put):
2146 * bindings/scripts/test/JS/JSTestTypedefs.h:
2147 * bindings/scripts/test/JS/JSattribute.cpp:
2148 * bindings/scripts/test/JS/JSreadonly.cpp:
2149 * html/canvas/WebGLRenderingContext.idl:
2151 2014-01-24 Zalan Bujtas <zalan@apple.com>
2153 Replace LayoutUnit() calls to a more descriptive LayoutUnit::fromPixel(int).
2154 https://bugs.webkit.org/show_bug.cgi?id=127580
2156 Reviewed by Simon Fraser.
2158 LayoutUnit(1) statement is ambiguous. While it is intended to set one (CSS) pixel, it
2159 could be interpreted as 1 layout unit (1/64th of a CSS pixel atm).
2161 No change in behavior.
2163 * inspector/InspectorOverlay.cpp:
2164 (WebCore::buildObjectForRegionHighlight):
2165 * rendering/FloatingObjects.cpp:
2166 (WebCore::ComputeFloatOffsetForFloatLayoutAdapter<FloatTypeValue>::heightRemaining):
2167 * rendering/RenderBlock.cpp:
2168 (WebCore::RenderBlock::layoutShapeInsideInfo):
2169 * rendering/RenderBlockFlow.cpp:
2170 (WebCore::RenderBlockFlow::collapseMargins):
2171 * rendering/RenderFlexibleBox.cpp:
2172 (WebCore::RenderFlexibleBox::mainAxisContentExtent):
2173 (WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild):
2174 (WebCore::RenderFlexibleBox::alignChildren):
2175 * rendering/RenderMultiColumnFlowThread.cpp:
2176 (WebCore::RenderMultiColumnFlowThread::addForcedRegionBreak):
2177 * rendering/RenderMultiColumnSet.cpp:
2178 (WebCore::RenderMultiColumnSet::heightAdjustedForSetOffset):
2179 (WebCore::RenderMultiColumnSet::calculateBalancedHeight):
2181 2014-01-24 Simon Fraser <simon.fraser@apple.com>
2183 Prepare scrolling tree to handle > 1 scrolling node
2184 https://bugs.webkit.org/show_bug.cgi?id=127590
2186 Reviewed by Tim Horton.
2188 Clean up the code path called after the ScrollingTree has scrolled a node,
2189 to prepare for multiple scrolling nodes.
2191 Change "updateMainFrameScrollPosition" terminology to "updateScrollPositionAfterAsyncScroll",
2192 and pass along the ScrollingNodeID that scrolled.
2194 Move updateMainFrameScrollPosition-related code from ScrollingCoordinator to
2195 AsyncScrollingCoordinator, since this sync-up is only necessary when doing
2199 * page/scrolling/AsyncScrollingCoordinator.cpp:
2200 (WebCore::AsyncScrollingCoordinator::AsyncScrollingCoordinator):
2201 (WebCore::AsyncScrollingCoordinator::requestScrollPositionUpdate):
2202 (WebCore::AsyncScrollingCoordinator::scheduleUpdateScrollPositionAfterAsyncScroll):
2203 (WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScrollTimerFired):
2204 (WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll):
2205 * page/scrolling/AsyncScrollingCoordinator.h:
2206 (WebCore::AsyncScrollingCoordinator::ScheduledScrollUpdate::ScheduledScrollUpdate):
2207 (WebCore::AsyncScrollingCoordinator::ScheduledScrollUpdate::matchesUpdateType):
2208 Package up the data related to a scheduled scroll into a ScheduledScrollUpdate struct,
2209 for easier comparison and cleaner code.
2210 * page/scrolling/ScrollingCoordinator.cpp:
2211 (WebCore::ScrollingCoordinator::ScrollingCoordinator):
2212 * page/scrolling/ScrollingCoordinator.h:
2213 * page/scrolling/ScrollingTree.h:
2214 * page/scrolling/ThreadedScrollingTree.cpp:
2215 (WebCore::ThreadedScrollingTree::scrollingTreeNodeDidScroll):
2216 * page/scrolling/ThreadedScrollingTree.h:
2217 * page/scrolling/ios/ScrollingTreeIOS.cpp:
2218 (WebCore::ScrollingTreeIOS::scrollingTreeNodeDidScroll):
2219 * page/scrolling/ios/ScrollingTreeIOS.h:
2220 * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm:
2221 (WebCore::ScrollingTreeScrollingNodeIOS::setScrollPositionWithoutContentEdgeConstraints):
2222 * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
2223 (WebCore::ScrollingTreeScrollingNodeMac::setScrollPositionWithoutContentEdgeConstraints):
2225 2014-01-24 Mark Lam <mark.lam@apple.com>
2227 ASSERT(!m_markedSpace.m_currentDelayedReleaseScope) reloading page in inspector.
2228 <https://webkit.org/b/127582>
2230 Reviewed by Mark Hahnenberg.
2234 * bindings/js/ScriptController.cpp:
2235 (WebCore::ScriptController::attachDebugger):
2236 * bindings/js/WorkerScriptController.cpp:
2237 (WebCore::WorkerScriptController::detachDebugger):
2238 - Adding reasons for detaching a globalObject from the debugger.
2240 2014-01-24 Zalan Bujtas <zalan@apple.com>
2242 Subpixel rendering: Make PaintInfo layout unit aware.
2243 https://bugs.webkit.org/show_bug.cgi?id=127562
2245 Reviewed by Simon Fraser.
2247 Replace PaintInfo's IntRect with LayoutRect to be able to render to
2250 No functional changes.
2252 * platform/graphics/LayoutRect.h:
2253 * rendering/PaintInfo.h:
2254 (WebCore::PaintInfo::PaintInfo):
2255 (WebCore::PaintInfo::applyTransform):
2256 * rendering/RenderBlock.cpp:
2257 (WebCore::RenderBlock::paint):
2258 * rendering/RenderBoxModelObject.cpp:
2259 (WebCore::RenderBoxModelObject::paintFillLayerExtended):
2260 * rendering/RenderLayer.cpp:
2261 (WebCore::cornerRect):
2262 (WebCore::RenderLayer::scrollCornerRect):
2263 (WebCore::resizerCornerRect):
2264 (WebCore::RenderLayer::scrollCornerAndResizerRect):
2265 (WebCore::RenderLayer::horizontalScrollbarStart):
2266 (WebCore::RenderLayer::drawPlatformResizerImage):
2267 (WebCore::RenderLayer::paintResizer):
2268 (WebCore::RenderLayer::hitTestOverflowControls):
2269 * rendering/RenderLayer.h:
2270 * rendering/RenderLayerBacking.cpp:
2271 (WebCore::RenderLayerBacking::paintContents):
2272 * rendering/RenderListBox.cpp:
2273 (WebCore::RenderListBox::paintScrollbar):
2274 * rendering/RenderWidget.cpp:
2275 (WebCore::RenderWidget::paintContents):
2276 * rendering/mathml/RenderMathMLOperator.cpp:
2277 (WebCore::RenderMathMLOperator::fillWithExtensionGlyph):
2278 * rendering/svg/SVGRenderingContext.h:
2280 2014-01-24 Simon Fraser <simon.fraser@apple.com>
2282 #ifdef out handleWheelEventPhase for iOS
2283 https://bugs.webkit.org/show_bug.cgi?id=127583
2285 Reviewed by Tim Horton.
2287 handleWheelEventPhase() doesn't make any sense for iOS, which
2288 has no wheel events.
2290 * page/scrolling/ScrollingTree.h:
2291 * page/scrolling/ThreadedScrollingTree.cpp:
2292 * page/scrolling/ThreadedScrollingTree.h:
2293 * page/scrolling/ios/ScrollingTreeIOS.h:
2295 2014-01-24 David Hyatt <hyatt@apple.com>
2297 [New Multicolumn] Don't destroy all the renderers when a multi-column block stops being multi-column (and vice versa)
2298 https://bugs.webkit.org/show_bug.cgi?id=127584
2300 Make the logic for when you need columns and when you don't shared between the
2301 old multi-column code and the new multi-column code. Make sure that the flow thread
2302 and sets get created lazily and destroyed on-demand when whether or not we should
2303 have multiple columns changes.
2305 Reviewed by Beth Dakin.
2307 * rendering/RenderBlock.cpp:
2308 (WebCore::RenderBlock::updateLogicalWidthAndColumnWidth):
2309 No longer virtual. The new column code now uses this function too.
2311 (WebCore::RenderBlock::availableLogicalWidth):
2312 Renamed desiredColumnWidth() to computedColumnWidth().
2314 (WebCore::RenderBlock::computeColumnCountAndWidth):
2315 Renamed calcColumnWidth to computeColumnCountAndWidth.
2317 (WebCore::RenderBlock::setComputedColumnCountAndWidth):
2318 Rename setDesiredColumnCountAndWidth to computed.
2320 (WebCore::RenderBlock::computedColumnWidth):
2321 (WebCore::RenderBlock::computedColumnCount):
2322 Renamed desiredColumnWidth/Count to computedColumnWidth/Count and made them virtual.
2324 (WebCore::RenderBlock::updateFirstLetterStyle):
2325 desired -> computed rename.
2327 * rendering/RenderBlock.h:
2328 Renames and made a few functions virtual so that RenderBlockFlow can override.
2330 * rendering/RenderBlockFlow.cpp:
2331 (WebCore::RenderBlockFlow::RenderBlockFlow):
2332 Don't create the flow thread at construction time any longer.
2334 (WebCore::RenderBlockFlow::createMultiColumnFlowThread):
2335 (WebCore::RenderBlockFlow::destroyMultiColumnFlowThread):
2336 The methods to create and destroy flow threads. These work at any time now and will
2337 fix up the render tree accordingly.
2339 (WebCore::RenderBlockFlow::setComputedColumnCountAndWidth):
2340 Virtual override that creates/destroys the new multi-column information as needed.
2342 (WebCore::RenderBlockFlow::computedColumnWidth):
2343 (WebCore::RenderBlockFlow::computedColumnCount):
2344 Overrides to return the cached column width and count from the flow thread.
2346 * rendering/RenderBlockFlow.h:
2347 Has overrides of the virtual functions needed to turn multi-column state on/off and
2348 to hand back computed count/width information.
2350 * rendering/RenderMultiColumnFlowThread.cpp:
2351 * rendering/RenderMultiColumnFlowThread.h:
2352 Removed the algorithm to compute column count and width, since this has been combined
2353 with the old multi-column layout code.
2355 * rendering/RenderView.cpp:
2356 (WebCore::RenderView::computeColumnCountAndWidth):
2357 Renamed desired -> computed.
2359 * rendering/RenderView.h:
2360 Renamed desired -> computed.
2362 * style/StyleResolveTree.cpp:
2363 (WebCore::Style::determineChange):
2364 (WebCore::Style::resolveLocal):
2365 (WebCore::Style::resolveTree):
2366 * style/StyleResolveTree.h:
2367 The Settings argument is no longer needed now that we don't destroy and re-create
2368 the renderer for a block flow if it stops being (or becomes) multi-column.
2370 2014-01-24 Anders Carlsson <andersca@apple.com>
2376 2014-01-24 Brent Fulgham <bfulgham@apple.com>
2378 [Win] Convert some NMake files to MSBuild project files
2379 https://bugs.webkit.org/show_bug.cgi?id=127579
2381 Reviewed by Tim Horton.
2383 * WebCore.vcxproj/WebCore.make: Removed.
2384 * WebCore.vcxproj/WebCore.proj: Added.
2386 2014-01-24 Joseph Pecoraro <pecoraro@apple.com>
2388 fast/profiler tests ASSERTing after moving recompileAllJSFunctions off a timer
2389 https://bugs.webkit.org/show_bug.cgi?id=127566
2391 Reviewed by Oliver Hunt.
2393 Covered by existing tests.
2395 * testing/Internals.cpp:
2396 (WebCore::Internals::closeDummyInspectorFrontend):
2397 Now that we don't have to fake that this is a page being destroyed to
2398 avoid recompilation. Use the InspectorDestroyed reason.
2400 2014-01-24 Anders Carlsson <andersca@apple.com>
2402 Get rid of monotonicallyIncreasingTimeMS and start using std::chrono instead
2403 https://bugs.webkit.org/show_bug.cgi?id=127571
2405 Reviewed by Antti Koivisto.
2411 (WebCore::Document::Document):
2412 (WebCore::Document::implicitClose):
2413 (WebCore::Document::setParsing):
2414 (WebCore::Document::isLayoutTimerActive):
2415 (WebCore::Document::minimumLayoutDelay):
2416 (WebCore::Document::elapsedTime):
2417 (WebCore::Document::write):
2418 (WebCore::Document::styleResolverChanged):
2420 Use std::chrono instead of doubles for the times and durations.
2422 * fileapi/FileReader.cpp:
2423 (WebCore::FileReader::FileReader):
2424 (WebCore::FileReader::didReceiveData):
2425 * fileapi/FileReader.h:
2426 Switch over to std::chrono.
2428 * page/FrameView.cpp:
2429 (WebCore::FrameView::layout):
2430 (WebCore::FrameView::layoutTimerFired):
2431 (WebCore::FrameView::scheduleRelayout):
2432 (WebCore::FrameView::scheduleRelayoutOfSubtree):
2433 Update for Document::elapsedTime() changes.
2435 * page/Settings.cpp:
2436 (WebCore::Settings::setLayoutInterval):
2438 (WebCore::Settings::layoutInterval):
2439 Change layoutInterval to be std::chrono::milliseconds instead of int.
2442 (WebCore::TimerBase::startOneShot):
2443 Add an overload that takes std::chrono::milliseconds.
2445 2014-01-24 Oliver Hunt <oliver@apple.com>
2447 Generic JSObject::put should handle static properties in the classinfo hierarchy
2448 https://bugs.webkit.org/show_bug.cgi?id=127523
2450 Reviewed by Geoffrey Garen.
2452 Update the bindings generator to emit the flag indicating the presence
2453 of setters, and remove the many (now unnecessary) put overrides.
2454 Tested with run-jsc-benchmarks and shows neutral performance. A few of the
2455 micro benchmarks actually get a significant performance increase which
2458 * bindings/js/JSDOMWindowCustom.cpp:
2459 (WebCore::JSDOMWindow::put):
2460 We still need a custom call to lookupPut here in order
2461 to get the magic security semantics of the window object.
2462 * bindings/scripts/CodeGeneratorJS.pm:
2463 (hashTableAccessor):
2464 (prototypeHashTableAccessor):
2465 (constructorHashTableAccessor):
2466 (GenerateImplementation):
2467 (GenerateHashTable):
2468 (GenerateConstructorHelperMethods):
2470 * bindings/js/JSDOMWindowCustom.cpp:
2471 (WebCore::JSDOMWindow::put):
2472 * bindings/scripts/CodeGeneratorJS.pm:
2473 (hashTableAccessor):
2474 (prototypeHashTableAccessor):
2475 (constructorHashTableAccessor):
2476 (InstanceOverridesPutImplementation):
2477 (InstanceOverridesPutDeclaration):
2479 (GenerateImplementation):
2480 (GenerateHashTable):
2481 (GenerateConstructorHelperMethods):
2482 * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
2483 * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
2484 * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
2485 * bindings/scripts/test/JS/JSTestEventTarget.cpp:
2486 * bindings/scripts/test/JS/JSTestException.cpp:
2487 * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
2488 * bindings/scripts/test/JS/JSTestInterface.cpp:
2489 (WebCore::JSTestInterface::put):
2490 * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
2491 * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
2492 * bindings/scripts/test/JS/JSTestNode.cpp:
2493 * bindings/scripts/test/JS/JSTestObj.cpp:
2494 * bindings/scripts/test/JS/JSTestObj.h:
2495 * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
2496 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2497 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
2498 * bindings/scripts/test/JS/JSTestTypedefs.cpp:
2499 * bindings/scripts/test/JS/JSTestTypedefs.h:
2500 * bindings/scripts/test/JS/JSattribute.cpp:
2501 * bindings/scripts/test/JS/JSreadonly.cpp:
2502 * html/canvas/WebGLRenderingContext.idl:
2503 Remove bogus attribute, as it has never been in the spec and should not
2506 2014-01-24 David Hyatt <hyatt@apple.com>
2508 [New Multicolumn] Eliminate RenderMultiColumnBlock
2509 https://bugs.webkit.org/show_bug.cgi?id=127565
2511 Reviewed by Antti Koivisto.
2513 This patch eliminates RenderMultiColumnBlock and folds all of its remaining code
2514 back into RenderBlockFlow. This allows all block flows to support multi-column
2515 layout, including table cells, list items, and the RenderView itself.
2519 * WebCore.vcxproj/WebCore.vcxproj:
2520 * WebCore.vcxproj/WebCore.vcxproj.filters:
2521 * WebCore.xcodeproj/project.pbxproj:
2522 Remove RenderMultiColumnBlock from the makefiles.
2524 * rendering/RenderBlock.cpp:
2525 (WebCore::RenderBlock::adjustIntrinsicLogicalWidthsForColumns):
2526 Tweak the comment, since it was no longer accurate.
2528 * rendering/RenderBlock.h:
2529 Move some functions down into RenderBlockFlow.
2531 * rendering/RenderBlockFlow.cpp:
2532 (WebCore::RenderBlockFlow::RenderBlockFlow):
2533 (WebCore::RenderBlockFlow::createMultiColumnFlowThreadIfNeeded):
2534 (WebCore::RenderBlockFlow::styleDidChange):
2535 (WebCore::RenderBlockFlow::relayoutForPagination):
2536 (WebCore::RenderBlockFlow::layoutSpecialExcludedChild):
2537 (WebCore::RenderBlockFlow::updateLogicalWidthAndColumnWidth):
2538 (WebCore::RenderBlockFlow::addChild):
2539 (WebCore::RenderBlockFlow::checkForPaginationLogicalHeightChange):
2540 * rendering/RenderBlockFlow.h:
2541 Move a bunch of functions from RenderMultiColumnBlock up into RenderBlockFlow.
2543 * rendering/RenderBox.cpp:
2544 (WebCore::RenderBox::isUnsplittableForPagination):
2545 Calls isMultiColumnBlockFlow() now instead of testing for a specific renderer type.
2547 * rendering/RenderElement.cpp:
2548 (WebCore::RenderElement::createFor):
2549 Remove the multicolumn block creation code, since we always make a block flow now.
2551 * rendering/RenderMultiColumnBlock.cpp: Removed.
2552 * rendering/RenderMultiColumnBlock.h: Removed.
2555 * rendering/RenderMultiColumnFlowThread.cpp:
2556 (WebCore::RenderMultiColumnFlowThread::initialLogicalWidth):
2557 (WebCore::RenderMultiColumnFlowThread::autoGenerateRegionsToBlockOffset):
2558 * rendering/RenderMultiColumnSet.cpp:
2559 (WebCore::RenderMultiColumnSet::heightAdjustedForSetOffset):
2560 (WebCore::RenderMultiColumnSet::addForcedBreak):
2561 (WebCore::RenderMultiColumnSet::recalculateBalancedHeight):
2562 (WebCore::RenderMultiColumnSet::updateLogicalWidth):
2563 (WebCore::RenderMultiColumnSet::prepareForLayout):
2564 (WebCore::RenderMultiColumnSet::columnGap):
2565 (WebCore::RenderMultiColumnSet::paintColumnRules):
2566 Change all of the functions in the multicolumnset and multicolumnflowthread classes
2567 to cast the parent to a RenderBlockFlow now instead of a RenderMultiColumnBlock.
2568 Change the code to call through to multiColumnFlowThread() for column-specific information
2569 for that parent block.
2571 * rendering/RenderObject.h:
2572 (WebCore::RenderObject::isMultiColumnBlockFlow):
2573 Remove isRenderMultiColumnBlock() and replace with isMultiColumnBlockFlow().
2575 * rendering/RenderingAllInOne.cpp:
2576 Remove RenderMultiColumnBlock include.
2578 2014-01-24 Brady Eidson <beidson@apple.com>
2580 IDB: support createIndex/deleteIndex messaging
2581 https://bugs.webkit.org/show_bug.cgi?id=127546
2583 Reviewed by Tim Horton.
2585 * WebCore.exp.in: Export a needed CrossThreadCopier
2587 2014-01-24 Daniel Bates <dabates@apple.com>
2589 Fix the Windows build after <http://trac.webkit.org/changeset/162704>
2590 (https://bugs.webkit.org/show_bug.cgi?id=127293)
2592 Only include TargetConditionals.h when building on a Darwin-based OS.
2593 Also, check that TARGET_OS_IPHONE is defined before referencing its value
2594 since it will be undefined when building on Windows.
2596 * bindings/objc/PublicDOMInterfaces.h:
2598 2014-01-24 Daniel Bates <dabates@apple.com>
2600 Bindings generation tests hit an error trying to include wtf/Platform.h after r161638
2601 https://bugs.webkit.org/show_bug.cgi?id=127293
2603 Reviewed by Alexey Proskuryakov.
2605 Include TargetConditionals.h instead of wtf/Platform.h as the latter isn't available
2608 As a side effect of this change, replace usage of PLATFORM(IOS) with TARGET_OS_IPHONE.
2610 * bindings/objc/PublicDOMInterfaces.h:
2612 2014-01-21 David Hyatt <hyatt@apple.com>
2614 [New Multicolumn] Table cells and list items need to work as multicolumn blocks.
2615 https://bugs.webkit.org/show_bug.cgi?id=127365
2617 This patch is a first step towards eliminating RenderMultiColumnBlock and moving
2618 all its functionality into RenderBlockFlow. Doing so will allow table cells, list
2619 items and the RenderView to use the new multi-column layout.
2621 Reviewed by Simon Fraser.
2623 * rendering/RenderBlockFlow.cpp:
2624 (WebCore::RenderBlockFlow::setMultiColumnFlowThread):
2625 * rendering/RenderBlockFlow.h:
2626 (WebCore::RenderBlockFlow::RenderBlockFlowRareData::RenderBlockFlowRareData):
2627 (WebCore::RenderBlockFlow::multiColumnFlowThread):
2628 Add the flow thread pointer to the multi-column flow thread to RenderBlockFlow's
2629 rare data. This lets us use only one pointer in the rare data to point to an object
2630 that can hold all of the rest of the multi-column info.
2632 * rendering/RenderMultiColumnBlock.cpp:
2633 (WebCore::RenderMultiColumnBlock::RenderMultiColumnBlock):
2634 Move the construction of the flow thread to the constructor. This ensures we
2635 never have a null flow thread and lets us avoid having to null check it for
2636 empty multi-column blocks.
2638 (WebCore::RenderMultiColumnBlock::columnHeightAvailable):
2639 (WebCore::RenderMultiColumnBlock::columnWidth):
2640 (WebCore::RenderMultiColumnBlock::columnCount):
2641 (WebCore::RenderMultiColumnBlock::updateLogicalWidthAndColumnWidth):
2642 The above functions now call through to the multi-column flow thread for results.
2644 (WebCore::RenderMultiColumnBlock::checkForPaginationLogicalHeightChange):
2645 Set the column height available on the flow thread.
2647 (WebCore::RenderMultiColumnBlock::relayoutForPagination):
2648 The balancing pass and guard is in the multi-column flow thread now.
2650 (WebCore::RenderMultiColumnBlock::addChild):
2651 Don't have to create the flow thread here any longer, since we do it up front
2652 in the constructor of RenderMultiColumnBlock.
2654 (WebCore::RenderMultiColumnBlock::layoutSpecialExcludedChild):
2655 Don't need the null check of the flow thread any more.
2657 * rendering/RenderMultiColumnBlock.h:
2658 Change the inlined functions to not be inlined, since they need to call
2659 RenderMultiColumnFlowThread functions now.
2661 * rendering/RenderMultiColumnFlowThread.cpp:
2662 (WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread):
2663 Init the new member variables we moved here from RenderMultiColumnBlock.
2665 (WebCore::RenderMultiColumnFlowThread::computeColumnCountAndWidth):
2666 Moved from RenderMultiColumnBlock.
2668 * rendering/RenderMultiColumnFlowThread.h:
2669 Add public getters/setters to the member variables so that RenderMultiColumnBlock can
2670 still see them. Move the member variables here from RenderMultiColumnBlock.
2672 * rendering/RenderMultiColumnSet.cpp:
2673 (WebCore::RenderMultiColumnSet::calculateBalancedHeight):
2674 (WebCore::RenderMultiColumnSet::prepareForLayout):
2675 (WebCore::RenderMultiColumnSet::columnCount):
2676 Call through to the flow thread instead.
2678 2014-01-24 Zan Dobersek <zdobersek@igalia.com>
2680 Unreviewed GTK build fix after r162663.
2682 * platform/gtk/ScrollViewGtk.cpp:
2683 (WebCore::ScrollView::visibleContentRectInternal): Renamed from visibleContentRect.
2685 2014-01-24 Zan Dobersek <zdobersek@igalia.com>
2687 Move HistoryItem to std::unique_ptr
2688 https://bugs.webkit.org/show_bug.cgi?id=127275
2690 Reviewed by Darin Adler.
2692 Replace the uses of OwnPtr and PassOwnPtr in the HistoryItem class with std::unique_ptr.
2694 * history/HistoryItem.cpp:
2695 (WebCore::HistoryItem::HistoryItem):
2696 (WebCore::HistoryItem::reset):
2697 (WebCore::HistoryItem::addRedirectURL):
2698 (WebCore::HistoryItem::setRedirectURLs):
2699 * history/HistoryItem.h:
2700 * history/mac/HistoryItemMac.mm:
2701 (WebCore::HistoryItem::setTransientProperty):
2702 WebCore.exp.in: Update the symbol.
2704 2014-01-23 Morten Stenshorne <mstensho@opera.com>
2706 Region based multicol: unresolvable percent height results in 1px tall multicol
2707 https://bugs.webkit.org/show_bug.cgi?id=122826
2709 Reviewed by David Hyatt.
2711 If a box has a percentage height, but the computed height of its
2712 containing block is auto, the computed height of the box also becomes
2713 auto. computeContentLogicalHeight() returns -1 if the height isn't
2714 resolvable, and we need to make sure that such a value doesn't
2715 constrain the height of the multicol container.
2717 Tests: fast/multicol/newmulticol/unresolvable-percent-height-2.html
2718 fast/multicol/newmulticol/unresolvable-percent-height.html
2719 fast/multicol/newmulticol/unresolvable-percent-max-height-2.html
2720 fast/multicol/newmulticol/unresolvable-percent-max-height.html
2722 * rendering/RenderMultiColumnSet.cpp:
2723 (WebCore::RenderMultiColumnSet::RenderMultiColumnSet):
2724 (WebCore::RenderMultiColumnSet::calculateBalancedHeight):
2725 (WebCore::RenderMultiColumnSet::recalculateBalancedHeight):
2726 (WebCore::RenderMultiColumnSet::prepareForLayout):
2728 2014-01-23 Joseph Pecoraro <pecoraro@apple.com>
2730 Move ContentSearchUtils, ScriptBreakpoint, and ScriptDebugListener into JavaScriptCore for inspector
2731 https://bugs.webkit.org/show_bug.cgi?id=127537
2733 Reviewed by Timothy Hatcher.
2735 - Rename ContentSearchUtils => ContentSearchUtilities and move to JavaScriptCore.
2736 - Move ScriptBreakpoint and ScriptDebugListener to JavaScriptCore.
2737 - Move them all to namespace Inspector.
2738 - Update build files and users to the new names.
2740 No change in functionality, just moving code.
2743 * ForwardingHeaders/inspector/ContentSearchUtilities.h: Added.
2744 * ForwardingHeaders/inspector/ScriptBreakpoint.h: Added.
2745 * ForwardingHeaders/inspector/ScriptDebugListener.h: Added.
2746 * GNUmakefile.list.am:
2747 * WebCore.vcxproj/WebCore.vcxproj:
2748 * WebCore.vcxproj/WebCore.vcxproj.filters:
2749 * WebCore.xcodeproj/project.pbxproj:
2750 * bindings/js/PageScriptDebugServer.cpp:
2751 * bindings/js/PageScriptDebugServer.h:
2752 * bindings/js/ScriptDebugServer.cpp:
2753 * bindings/js/ScriptDebugServer.h:
2754 * bindings/js/WorkerScriptDebugServer.cpp:
2755 * bindings/js/WorkerScriptDebugServer.h:
2756 * inspector/InspectorAllInOne.cpp:
2757 * inspector/InspectorDebuggerAgent.cpp:
2758 (WebCore::InspectorDebuggerAgent::searchInContent):
2759 (WebCore::InspectorDebuggerAgent::sourceMapURLForScript):
2760 (WebCore::InspectorDebuggerAgent::didParseSource):
2761 * inspector/InspectorDebuggerAgent.h:
2762 * inspector/InspectorPageAgent.cpp:
2763 (WebCore::InspectorPageAgent::sourceMapURLForResource):
2764 (WebCore::InspectorPageAgent::searchInResource):
2765 (WebCore::InspectorPageAgent::searchInResources):
2766 * inspector/InspectorStyleSheet.cpp:
2767 (WebCore::buildSourceRangeObject):
2768 (WebCore::InspectorStyleSheet::lineEndings):
2769 (WebCore::InspectorStyleSheetForInlineStyle::lineEndings):
2771 2014-01-23 Joseph Pecoraro <pecoraro@apple.com>
2773 Move RegularExpression into JavaScriptCore for inspector
2774 https://bugs.webkit.org/show_bug.cgi?id=127526
2776 Reviewed by Geoffrey Garen.
2778 Update as appropriate for the moved file and namespace
2779 change for class RegularExpression.
2782 * ForwardingHeaders/yarr/RegularExpression.h: Added.
2783 * GNUmakefile.list.am:
2785 * WebCore.vcxproj/WebCore.vcxproj:
2786 * WebCore.vcxproj/WebCore.vcxproj.filters:
2787 * WebCore.xcodeproj/project.pbxproj:
2788 * dom/DOMImplementation.h:
2789 * html/BaseCheckableInputType.cpp:
2790 * html/BaseTextInputType.cpp:
2791 (WebCore::BaseTextInputType::patternMismatch):
2792 * html/EmailInputType.cpp:
2793 (WebCore::isValidEmailAddress):
2794 * html/InputType.cpp:
2795 * inspector/ContentSearchUtils.cpp:
2796 (WebCore::ContentSearchUtils::getRegularExpressionMatchesByLines):
2797 (WebCore::ContentSearchUtils::createSearchRegex):
2798 (WebCore::ContentSearchUtils::countRegularExpressionMatches):
2799 (WebCore::ContentSearchUtils::searchInTextByLines):
2800 * inspector/ContentSearchUtils.h:
2801 * inspector/InspectorDebuggerAgent.cpp:
2803 (WebCore::InspectorDebuggerAgent::breakpointActionLog):
2804 (WebCore::InspectorDebuggerAgent::breakpointActionSound):
2805 * inspector/InspectorDebuggerAgent.h:
2806 * inspector/InspectorPageAgent.cpp:
2807 (WebCore::InspectorPageAgent::searchInResources):
2808 * inspector/InspectorPageAgent.h:
2809 * inspector/InspectorRuntimeAgent.cpp:
2810 * inspector/InspectorRuntimeAgent.h:
2811 * inspector/InspectorStyleSheet.cpp:
2812 (WebCore::selectorsFromSource):
2813 * inspector/WorkerDebuggerAgent.cpp:
2815 (WebCore::createRegExpForLabels):
2816 (WebCore::Frame::searchForLabelsAboveCell):
2817 (WebCore::Frame::searchForLabelsBeforeElement):
2818 (WebCore::matchLabelsAgainstString):
2820 * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
2821 (WebCore::GraphicsContext3D::getUnmangledInfoLog):
2823 2014-01-23 Brady Eidson <beidson@apple.com>
2825 IDB: Support IDBObjectStore.clear()
2826 https://bugs.webkit.org/show_bug.cgi?id=127541
2828 Reviewed by Anders Carlsson.
2830 The backing store should never be performing callbacks directly:
2831 * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
2832 (WebCore::IDBServerConnectionLevelDB::clearObjectStore):
2834 Instead, the transaction operations should do that themselves:
2835 * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
2836 (WebCore::ClearObjectStoreOperation::perform):
2837 * Modules/indexeddb/IDBTransactionBackendOperations.h:
2838 (WebCore::ClearObjectStoreOperation::transaction):
2840 2014-01-23 Dan Bernstein <mitz@apple.com>
2842 <rdar://problem/15875326> REGRESSION (r162257): Assertion failure (should not be reached) in CSSPreloadScanner::tokenize()
2843 https://bugs.webkit.org/show_bug.cgi?id=127540
2845 Reviewed by Anders Carlsson.
2847 No new tests, because I could not reproduce the bug reliably and I don’t know how to trigger
2850 * html/parser/CSSPreloadScanner.cpp:
2851 (WebCore::CSSPreloadScanner::scan): Check for the DoneParsingImportRules before tokenizing
2852 a character, not after. This restores the logic from before r162257.
2854 2014-01-23 Jer Noble <jer.noble@apple.com>
2856 [iOS] Protect against possbile deadlock by delaying video layer creation
2857 https://bugs.webkit.org/show_bug.cgi?id=127505
2859 Reviewed by Eric Carlson.
2861 Work around a possible deadlock on iOS when creating a media element
2862 backed by AVFoundation by delaying creation of the AVPlayerLayer.
2863 The deadlock can occur when the web thread is doing CALayer layout
2864 while taking the web thread lock, while CoreMedia is doing property
2865 access on an async thread while taking the CM lock, and each is waiting
2866 for the other's lock to be released.
2868 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2869 (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer):
2871 2014-01-23 Jer Noble <jer.noble@apple.com>
2873 [MSE][Mac] Crash when reloading a page during playback
2874 https://bugs.webkit.org/show_bug.cgi?id=126903
2876 Reviewed by Eric Carlson.
2878 Periodic time observers added to AVSampleBufferRenderSynchronizer will execute their
2879 callback block even after being removed with -removeTimeObserver:, which is tracked by
2880 <rdar://problem/15798050>. Work around this problem by passing a WeakPtr into the block
2881 and bail early if the owning media player has been destroyed.
2883 * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
2884 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::createWeakPtr):
2885 * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
2886 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::MediaPlayerPrivateMediaSourceAVFObjC):
2888 2014-01-23 ChangSeok Oh <changseok.oh@collabora.com>
2890 Dragging from inner side of video to outside causes a crash
2891 https://bugs.webkit.org/show_bug.cgi?id=126338
2893 Reviewed by Jer Noble.
2895 The crash happens while dragging mouse cursor through timeline control to outside
2896 of video region. This is beacause media controls are selected with the drag.
2897 The media controls disappear when mouse cursor goes outside of video though
2898 the dragging/selection proceeds. If once media controls are hidden, related element
2899 lose their renderers. However the drag is still under going. it requires shadowPseudoId
2900 of the selected controls. Untorntunately, SliderThumbElement/SliderContainerElement
2901 don't return a static value for the shadowPseudoId unlike other media controls,
2902 but they need a renderer to determine it. This is the reason of crash.
2904 Test: media/media-controller-drag-crash.html
2906 * html/shadow/SliderThumbElement.cpp:
2907 (WebCore::SliderThumbElement::shadowPseudoId):
2908 (WebCore::SliderContainerElement::shadowPseudoId):
2910 2014-01-23 Brady Eidson <beidson@apple.com>
2912 IDB: Implement SQLite backing store 'get' support
2913 https://bugs.webkit.org/show_bug.cgi?id=127502
2915 Reviewed by Tim Horton.
2917 Get a KeyRange from a KeyRangeData:
2918 * Modules/indexeddb/IDBKeyRangeData.cpp:
2919 (WebCore::IDBKeyRangeData::maybeCreateIDBKeyRange):
2920 * Modules/indexeddb/IDBKeyRangeData.h:
2922 Add collation function support to SQLiteDatabase:
2923 * platform/sql/SQLiteDatabase.cpp:
2924 (WebCore::destroyCollationFunction):
2925 (WebCore::callCollationFunction):
2926 (WebCore::SQLiteDatabase::setCollationFunction):
2927 (WebCore::SQLiteDatabase::removeCollationFunction):
2928 * platform/sql/SQLiteDatabase.h:
2932 2014-01-23 Jon Honeycutt <jhoneycutt@apple.com>
2934 Assertion failure in WebCore::PseudoElement::didRecalcStyle()
2935 <https://bugs.webkit.org/show_bug.cgi?id=126761>
2936 <rdar://problem/15793540>
2938 Reviewed by Andy Estes.
2940 Test: fast/images/animate-list-item-image-assertion.html
2942 * dom/PseudoElement.cpp:
2943 (WebCore::PseudoElement::didRecalcStyle):
2944 Check isRenderImage() rather than isImage() before casting to
2947 * editing/ios/EditorIOS.mm:
2948 (WebCore::getImage):
2951 * editing/mac/EditorMac.mm:
2952 (WebCore::getImage):
2955 * html/HTMLImageElement.cpp:
2956 (WebCore::HTMLImageElement::parseAttribute):
2957 (WebCore::HTMLImageElement::didAttachRenderers):
2960 * loader/ImageLoader.cpp:
2961 (WebCore::ImageLoader::renderImageResource):
2964 * page/DragController.cpp:
2965 (WebCore::getCachedImage):
2968 * rendering/RenderLayerBacking.cpp:
2969 (WebCore::RenderLayerBacking::isDirectlyCompositedImage):
2970 (WebCore::RenderLayerBacking::updateImageContents):
2973 2014-01-23 Joseph Pecoraro <pecoraro@apple.com>
2975 Web Inspector: Remove recompileAllJSFunctions timer in ScriptDebugServer
2976 https://bugs.webkit.org/show_bug.cgi?id=127409
2978 Reviewed by Geoffrey Garen.
2980 Covered by existing tests.
2982 * bindings/js/ScriptDebugServer.h:
2983 * bindings/js/ScriptDebugServer.cpp:
2984 (WebCore::ScriptDebugServer::ScriptDebugServer):
2985 Remove m_recompileTimer and the recompile soon function.
2986 We can just recompile immediately in all existing cases.
2988 * bindings/js/PageScriptDebugServer.h:
2989 * bindings/js/PageScriptDebugServer.cpp:
2990 (WebCore::PageScriptDebugServer::addListener):
2991 (WebCore::PageScriptDebugServer::removeListener):
2992 (WebCore::PageScriptDebugServer::recompileAllJSFunctions):
2993 (WebCore::PageScriptDebugServer::didAddFirstListener):
2994 (WebCore::PageScriptDebugServer::didRemoveLastListener):
2995 Add a "didAddFirstListener" to match "didRemoveLastListener".
2996 Only recompile functions when we attach the debugger and when
2997 we detach the last listener.
2999 * bindings/js/WorkerScriptDebugServer.cpp:
3000 (WebCore::WorkerScriptDebugServer::addListener):
3001 (WebCore::WorkerScriptDebugServer::removeListener):
3002 (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
3003 Same thing. Also rearrange the functions to read better.
3005 * inspector/InspectorProfilerAgent.cpp:
3006 Use the direct recompile function instead of the removed "soon" version.
3009 Update disconnectFrontend symbol.
3011 * page/PageDebuggable.cpp:
3012 (WebCore::PageDebuggable::disconnect):
3013 * testing/Internals.cpp:
3014 (WebCore::Internals::closeDummyInspectorFrontend):
3015 * workers/WorkerMessagingProxy.cpp:
3016 (WebCore::disconnectFromWorkerGlobalScopeInspectorTask):
3017 Include an InspectorDisconnectReason when calling disconnectFrontend.
3019 * inspector/InspectorDatabaseAgent.h:
3020 * inspector/InspectorDebuggerAgent.cpp:
3021 (WebCore::InspectorDebuggerAgent::disable):
3022 (WebCore::InspectorDebuggerAgent::willDestroyFrontendAndBackend):
3023 If the disconnect reason is the page will be destroyed, don't recompile when disconnecting.
3025 * inspector/InspectorProfilerAgent.h:
3026 * inspector/InspectorProfilerAgent.cpp:
3027 (WebCore::InspectorProfilerAgent::enable):
3028 (WebCore::InspectorProfilerAgent::disable):
3029 (WebCore::InspectorProfilerAgent::willDestroyFrontendAndBackend):
3030 If the disconnect reason is the page will be destroyed, don't recompile when disconnecting.
3032 * inspector/InspectorController.h:
3033 * inspector/InspectorController.cpp:
3034 (WebCore::InspectorController::inspectedPageDestroyed):
3035 (WebCore::InspectorController::disconnectFrontend):
3036 (WebCore::InspectorController::close):
3037 Pass different reasons for the different disconnect reasons.
3039 * inspector/WorkerInspectorController.h:
3040 * inspector/WorkerInspectorController.cpp:
3041 (WebCore::WorkerInspectorController::~WorkerInspectorController):
3042 (WebCore::WorkerInspectorController::disconnectFrontend):
3043 Pass different reasons for the different disconnect reasons.
3045 * inspector/InspectorApplicationCacheAgent.cpp:
3046 (WebCore::InspectorApplicationCacheAgent::willDestroyFrontendAndBackend):
3047 * inspector/InspectorApplicationCacheAgent.h:
3048 * inspector/InspectorCSSAgent.cpp:
3049 (WebCore::InspectorCSSAgent::willDestroyFrontendAndBackend):
3050 * inspector/InspectorCSSAgent.h:
3051 * inspector/InspectorCanvasAgent.cpp:
3052 (WebCore::InspectorCanvasAgent::willDestroyFrontendAndBackend):
3053 * inspector/InspectorCanvasAgent.h:
3054 * inspector/InspectorConsoleAgent.cpp:
3055 (WebCore::InspectorConsoleAgent::willDestroyFrontendAndBackend):
3056 * inspector/InspectorConsoleAgent.h:
3057 * inspector/InspectorDOMAgent.cpp:
3058 (WebCore::InspectorDOMAgent::willDestroyFrontendAndBackend):
3059 * inspector/InspectorDOMAgent.h:
3060 * inspector/InspectorDOMDebuggerAgent.cpp:
3061 (WebCore::InspectorDOMDebuggerAgent::willDestroyFrontendAndBackend):
3062 * inspector/InspectorDOMDebuggerAgent.h:
3063 * inspector/InspectorDOMStorageAgent.cpp:
3064 (WebCore::InspectorDOMStorageAgent::willDestroyFrontendAndBackend):
3065 * inspector/InspectorDOMStorageAgent.h:
3066 * inspector/InspectorDatabaseAgent.cpp:
3067 (WebCore::InspectorDatabaseAgent::willDestroyFrontendAndBackend):
3068 * inspector/InspectorDebuggerAgent.h:
3069 * inspector/InspectorHeapProfilerAgent.cpp:
3070 (WebCore::InspectorHeapProfilerAgent::willDestroyFrontendAndBackend):
3071 * inspector/InspectorHeapProfilerAgent.h:
3072 * inspector/InspectorIndexedDBAgent.cpp:
3073 (WebCore::InspectorIndexedDBAgent::willDestroyFrontendAndBackend):
3074 * inspector/InspectorIndexedDBAgent.h:
3075 * inspector/InspectorInputAgent.cpp:
3076 (WebCore::InspectorInputAgent::willDestroyFrontendAndBackend):
3077 * inspector/InspectorInputAgent.h:
3078 * inspector/InspectorLayerTreeAgent.cpp:
3079 (WebCore::InspectorLayerTreeAgent::willDestroyFrontendAndBackend):
3080 * inspector/InspectorLayerTreeAgent.h:
3081 * inspector/InspectorMemoryAgent.cpp:
3082 (WebCore::InspectorMemoryAgent::willDestroyFrontendAndBackend):
3083 * inspector/InspectorMemoryAgent.h:
3084 * inspector/InspectorPageAgent.cpp:
3085 (WebCore::InspectorPageAgent::willDestroyFrontendAndBackend):
3086 * inspector/InspectorPageAgent.h:
3087 * inspector/InspectorResourceAgent.cpp:
3088 (WebCore::InspectorResourceAgent::willDestroyFrontendAndBackend):
3089 * inspector/InspectorResourceAgent.h:
3090 * inspector/InspectorTimelineAgent.cpp:
3091 (WebCore::InspectorTimelineAgent::willDestroyFrontendAndBackend):
3092 * inspector/InspectorTimelineAgent.h:
3093 * inspector/InspectorWorkerAgent.cpp:
3094 (WebCore::InspectorWorkerAgent::willDestroyFrontendAndBackend):
3095 * inspector/InspectorWorkerAgent.h:
3096 * inspector/PageDebuggerAgent.cpp:
3097 (WebCore::PageDebuggerAgent::disable):
3098 (WebCore::PageDebuggerAgent::stopListeningScriptDebugServer):
3099 * inspector/PageDebuggerAgent.h:
3100 * inspector/PageRuntimeAgent.cpp:
3101 (WebCore::PageRuntimeAgent::willDestroyFrontendAndBackend):
3102 * inspector/PageRuntimeAgent.h:
3103 * inspector/WorkerDebuggerAgent.cpp:
3104 (WebCore::WorkerDebuggerAgent::stopListeningScriptDebugServer):
3105 * inspector/WorkerDebuggerAgent.h:
3106 * inspector/WorkerRuntimeAgent.cpp:
3107 (WebCore::WorkerRuntimeAgent::willDestroyFrontendAndBackend):
3108 * inspector/WorkerRuntimeAgent.h:
3109 Include InspectorDisconnectReason param.
3111 2014-01-23 Simon Fraser <simon.fraser@apple.com>
3113 Another Windows fix: include <algorithm> for std::min and std::max.
3115 * platform/graphics/IntSize.h:
3117 2014-01-23 Simon Fraser <simon.fraser@apple.com>
3119 Try to fix Windows build.
3121 * platform/win/PopupMenuWin.cpp:
3122 (WebCore::PopupMenuWin::visibleSize):
3123 * platform/win/PopupMenuWin.h:
3125 2014-01-23 Simon Fraser <simon.fraser@apple.com>
3127 Make visibleContentRect() return actualVisibleContentRect() on iOS most of the time
3128 https://bugs.webkit.org/show_bug.cgi?id=127456
3130 Reviewed by Antti Koivisto.
3132 On iOS, visibleContentRect() returns the entire document rect for historical
3133 reasons, and actualVisibleContentRect() returns what visibleContentRect()
3134 returns on other platforms.
3136 In addition, actualVisibleContentRect() was returning an empty rect in WK2.
3138 Reduce the confusion of #ifdefs by making visibleContentRect() behave like
3139 actualVisibleContentRect() by default on iOS. Where it needs the old behavior,
3140 an optional parameter, LegacyIOSDocumentVisibleRect, provides this.
3142 Achieve this by having the virtual ScrollableArea::visibleContentRectInternal(),
3143 which is called by non-virtual visibleContentRect() and visibleContentRectIncludingScrollbars().
3145 Similarly clean up visibleHeight/visibleWidth functions by having visibleSize() be virtual,
3146 with non-virtual visibleHeight() and visibleWidth().
3148 ScrollableArea subclasses override visibleContentRectInternal() and visibleSize() where necessary.
3150 Mechanically change all the call sites of actualVisibleContentRect() to
3151 use visibleContentRect(), and the call sites of visibleContentRect()
3152 to visibleContentRect(..., LegacyIOSDocumentVisibleRect), adding comments
3153 where this may not be appropriate.
3155 Change callers of visibleContentRect(IncludeScrollbars...) to visibleContentRectIncludingScrollbars().
3157 Also add actualScrollPosition(), and clean up some actualScroll* call sites.
3162 * accessibility/AccessibilityObject.cpp:
3163 (WebCore::AccessibilityObject::isOnscreen):
3164 (WebCore::AccessibilityObject::scrollToMakeVisibleWithSubFocus):
3165 * accessibility/AccessibilityRenderObject.cpp:
3166 (WebCore::AccessibilityRenderObject::isOffScreen):
3168 (WebCore::Document::adjustFloatQuadsForScrollAndAbsoluteZoomAndFrameScale):
3169 (WebCore::Document::adjustFloatRectForScrollAndAbsoluteZoomAndFrameScale):
3170 * dom/MouseRelatedEvent.cpp:
3171 (WebCore::MouseRelatedEvent::MouseRelatedEvent):
3172 * editing/Editor.cpp:
3173 (WebCore::Editor::countMatchesForText):
3174 * editing/FrameSelection.cpp:
3175 (WebCore::FrameSelection::bounds):
3176 (WebCore::FrameSelection::getClippedVisibleTextRectangles):
3177 * html/HTMLBodyElement.cpp:
3178 (WebCore::HTMLBodyElement::scrollLeft):
3179 (WebCore::HTMLBodyElement::scrollTop):
3180 * html/ImageDocument.cpp:
3181 (WebCore::ImageDocument::imageFitsInWindow):
3182 (WebCore::ImageDocument::windowSizeChanged):
3183 * inspector/InspectorOverlay.cpp:
3184 (WebCore::InspectorOverlay::update):
3185 * page/DOMWindow.cpp:
3186 (WebCore::DOMWindow::innerHeight):
3187 (WebCore::DOMWindow::innerWidth):
3188 (WebCore::DOMWindow::scrollX):
3189 (WebCore::DOMWindow::scrollY):
3190 (WebCore::DOMWindow::scrollBy):
3191 * page/FrameView.cpp:
3192 (WebCore::FrameView::calculateScrollbarModesForLayout):
3193 (WebCore::FrameView::layout):
3194 (WebCore::FrameView::scrollContentsSlowPath):
3195 (WebCore::FrameView::repaintContentRectangle):
3196 (WebCore::FrameView::sendResizeEventIfNeeded):
3197 (WebCore::FrameView::windowClipRect):
3198 (WebCore::FrameView::isScrollable):
3199 (WebCore::FrameView::paintControlTints):
3200 * page/SpatialNavigation.cpp:
3201 (WebCore::canScrollInDirection):
3202 * platform/ScrollView.cpp:
3203 (WebCore::ScrollView::unscaledVisibleContentSize):
3204 (WebCore::ScrollView::visibleContentRectInternal):
3205 (WebCore::ScrollView::updateScrollbars):
3206 (WebCore::ScrollView::paint):
3207 * platform/ScrollView.h:
3208 (WebCore::ScrollView::scrollOffset):
3209 (WebCore::ScrollView::actualScrollX):
3210 (WebCore::ScrollView::actualScrollY):
3211 (WebCore::ScrollView::actualScrollPosition):
3212 * platform/ScrollableArea.cpp:
3213 (WebCore::ScrollableArea::visibleContentRect):
3214 (WebCore::ScrollableArea::visibleContentRectIncludingScrollbars):
3215 (WebCore::ScrollableArea::visibleContentRectInternal):
3216 * platform/ScrollableArea.h:
3217 (WebCore::ScrollableArea::visibleWidth):
3218 (WebCore::ScrollableArea::visibleHeight):
3219 * platform/graphics/IntSize.h:
3220 (WebCore::IntSize::expandedTo): Drive-by cleanup.
3221 (WebCore::IntSize::shrunkTo):
3222 * platform/gtk/ScrollViewGtk.cpp:
3223 (WebCore::ScrollView::visibleContentRect):
3224 * rendering/RenderLayer.cpp:
3225 (WebCore::RenderLayer::scrollRectToVisible):
3226 (WebCore::RenderLayer::maximumScrollPosition):
3227 (WebCore::RenderLayer::visibleContentRectInternal):
3228 (WebCore::RenderLayer::hitTest):
3229 * rendering/RenderLayer.h:
3230 * rendering/RenderLayerBacking.cpp:
3231 (WebCore::RenderLayerBacking::updateCompositedBounds):
3232 * rendering/RenderListBox.cpp:
3233 * rendering/RenderListBox.h:
3234 * rendering/RenderView.cpp:
3235 (WebCore::RenderView::viewRect):
3236 (WebCore::RenderView::viewportSize):
3238 2014-01-20 Myles C. Maxfield <mmaxfield@apple.com>
3240 Turn text-decoration-skip: ink on for all underlines
3241 https://bugs.webkit.org/show_bug.cgi?id=127331
3243 Reviewed by Antti Koivisto.
3245 No new tests are necessary because tests already exist
3247 * rendering/style/RenderStyle.h:
3249 2014-01-23 Hans Muller <hmuller@adobe.com>
3251 [CSS Shapes] Image valued shape size and position should conform to the spec
3252 https://bugs.webkit.org/show_bug.cgi?id=123295
3254 Reviewed by Andreas Kling.
3256 Implement image valued shape-outside scaling and translation per the spec,
3257 http://dev.w3.org/csswg/css-shapes/#shapes-from-image:
3259 "The image is sized and positioned as if it were a replaced element whose
3260 specified width and height are the same as the element’s used content box size."
3262 This change doesn't completely fulfill the spec, it's limited to image elements
3265 Tests: fast/shapes/shape-outside-floats/shape-outside-image-fit-001.html
3266 fast/shapes/shape-outside-floats/shape-outside-image-fit-002.html
3267 fast/shapes/shape-outside-floats/shape-outside-image-fit-003.html
3268 fast/shapes/shape-outside-floats/shape-outside-image-fit-004.html
3270 * rendering/shapes/Shape.h:
3271 * rendering/shapes/Shape.cpp:
3272 (WebCore::Shape::createRasterShape):
3273 Added an imageRect parameter which specifies where the shape image is to
3274 appear relative to the content box. The imageRect implies both scaling and
3275 translation of the shape image.
3277 * rendering/shapes/ShapeInfo.cpp:
3278 (WebCore::ShapeInfo<RenderType>::computedShape):
3279 (WebCore::getShapeImageRect):
3280 For replaced elements, compute the shape's imageRect with
3281 RenderReplaced::replacedContentRect().
3284 2014-01-23 Max Vujovic <mvujovic@adobe.com>
3286 Remove CSS Custom Filters code and tests
3287 https://bugs.webkit.org/show_bug.cgi?id=127382
3289 Reviewed by Simon Fraser.
3291 No new tests. Removing functionality.
3294 * Configurations/FeatureDefines.xcconfig:
3295 * DerivedSources.cpp:
3296 * DerivedSources.make:
3297 * GNUmakefile.list.am:
3299 * WebCore.vcxproj/WebCore.vcxproj:
3300 * WebCore.vcxproj/WebCore.vcxproj.filters:
3301 * WebCore.xcodeproj/project.pbxproj:
3302 * bindings/js/JSCSSRuleCustom.cpp:
3304 * bindings/js/JSCSSValueCustom.cpp:
3306 * bindings/objc/DOMCSS.mm:
3308 * css/CSSComputedStyleDeclaration.cpp:
3309 (WebCore::ComputedStyleExtractor::valueForFilter):
3310 (WebCore::ComputedStyleExtractor::propertyValue):
3311 * css/CSSComputedStyleDeclaration.h:
3312 * css/CSSGrammar.y.in:
3313 * css/CSSParser.cpp:
3314 (WebCore::CSSParserContext::CSSParserContext):
3315 (WebCore::operator==):
3316 (WebCore::CSSParser::CSSParser):
3317 (WebCore::CSSParser::parseValue):
3318 (WebCore::filterInfoForName):
3319 (WebCore::CSSParser::parseFilter):
3320 (WebCore::CSSParser::detectAtToken):
3322 * css/CSSParserMode.h:
3323 * css/CSSPropertyNames.in:
3324 * css/CSSPropertySourceData.h:
3328 (WebCore::CSSValue::equals):
3329 (WebCore::CSSValue::cssText):
3330 (WebCore::CSSValue::destroy):
3331 (WebCore::CSSValue::cloneForCSSOM):
3333 * css/CSSValueKeywords.in:
3334 * css/StyleResolver.cpp:
3335 (WebCore::StyleResolver::State::clear):
3336 (WebCore::StyleResolver::applyProperty):
3337 (WebCore::filterOperationForType):
3338 (WebCore::StyleResolver::createFilterOperations):
3339 (WebCore::StyleResolver::loadPendingResources):
3340 * css/StyleResolver.h:
3341 (WebCore::StyleResolver::State::State):
3342 * css/StyleRule.cpp:
3343 (WebCore::StyleRuleBase::destroy):
3344 (WebCore::StyleRuleBase::copy):
3345 (WebCore::StyleRuleBase::createCSSOMWrapper):
3347 * css/StyleSheetContents.cpp:
3348 (WebCore::childRulesHaveFailedOrCanceledSubresources):
3349 * css/WebKitCSSArrayFunctionValue.cpp: Removed.
3350 * css/WebKitCSSArrayFunctionValue.h: Removed.
3351 * css/WebKitCSSFilterRule.cpp: Removed.
3352 * css/WebKitCSSFilterRule.h: Removed.
3353 * css/WebKitCSSFilterRule.idl: Removed.
3354 * css/WebKitCSSFilterValue.cpp:
3355 (WebCore::WebKitCSSFilterValue::WebKitCSSFilterValue):
3356 (WebCore::WebKitCSSFilterValue::customCSSText):
3357 * css/WebKitCSSFilterValue.h:
3358 * css/WebKitCSSFilterValue.idl:
3359 * css/WebKitCSSMatFunctionValue.cpp: Removed.
3360 * css/WebKitCSSMatFunctionValue.h: Removed.
3361 * css/WebKitCSSMixFunctionValue.cpp: Removed.
3362 * css/WebKitCSSMixFunctionValue.h: Removed.
3363 * css/WebKitCSSMixFunctionValue.idl: Removed.
3364 * css/WebKitCSSShaderValue.cpp: Removed.
3365 * css/WebKitCSSShaderValue.h: Removed.
3366 * loader/cache/CachedResource.cpp:
3367 (WebCore::defaultPriorityForResourceType):
3368 * loader/cache/CachedResource.h:
3369 * loader/cache/CachedResourceLoader.cpp:
3370 (WebCore::createResource):
3371 (WebCore::CachedResourceLoader::checkInsecureContent):
3372 (WebCore::CachedResourceLoader::canRequest):
3373 * loader/cache/CachedResourceLoader.h:
3374 * loader/cache/CachedShader.cpp: Removed.
3375 * loader/cache/CachedShader.h: Removed.
3376 * page/Settings.cpp:
3377 (WebCore::Settings::Settings):
3379 * page/animation/CSSPropertyAnimation.cpp:
3380 (WebCore::blendFilter):
3381 * platform/graphics/ca/mac/PlatformCALayerMac.mm:
3382 (PlatformCALayerMac::filtersCanBeComposited):
3383 * platform/graphics/filters/CustomFilterArrayParameter.h: Removed.
3384 * platform/graphics/filters/CustomFilterColorParameter.h: Removed.
3385 * platform/graphics/filters/CustomFilterCompiledProgram.cpp: Removed.
3386 * platform/graphics/filters/CustomFilterCompiledProgram.h: Removed.
3387 * platform/graphics/filters/CustomFilterConstants.h: Removed.
3388 * platform/graphics/filters/CustomFilterGlobalContext.cpp: Removed.
3389 * platform/graphics/filters/CustomFilterGlobalContext.h: Removed.
3390 * platform/graphics/filters/CustomFilterMesh.cpp: Removed.
3391 * platform/graphics/filters/CustomFilterMesh.h: Removed.
3392 * platform/graphics/filters/CustomFilterMeshGenerator.cpp: Removed.
3393 * platform/graphics/filters/CustomFilterMeshGenerator.h: Removed.
3394 * platform/graphics/filters/CustomFilterNumberParameter.h: Removed.
3395 * platform/graphics/filters/CustomFilterOperation.cpp: Removed.
3396 * platform/graphics/filters/CustomFilterOperation.h: Removed.
3397 * platform/graphics/filters/CustomFilterParameter.h: Removed.
3398 * platform/graphics/filters/CustomFilterParameterList.cpp: Removed.
3399 * platform/graphics/filters/CustomFilterParameterList.h: Removed.
3400 * platform/graphics/filters/CustomFilterProgram.cpp: Removed.
3401 * platform/graphics/filters/CustomFilterProgram.h: Removed.
3402 * platform/graphics/filters/CustomFilterProgramClient.h: Removed.
3403 * platform/graphics/filters/CustomFilterProgramInfo.cpp: Removed.
3404 * platform/graphics/filters/CustomFilterProgramInfo.h: Removed.
3405 * platform/graphics/filters/CustomFilterRenderer.cpp: Removed.
3406 * platform/graphics/filters/CustomFilterRenderer.h: Removed.
3407 * platform/graphics/filters/CustomFilterTransformParameter.h: Removed.
3408 * platform/graphics/filters/CustomFilterValidatedProgram.cpp: Removed.
3409 * platform/graphics/filters/CustomFilterValidatedProgram.h: Removed.
3410 * platform/graphics/filters/FECustomFilter.cpp: Removed.
3411 * platform/graphics/filters/FECustomFilter.h: Removed.
3412 * platform/graphics/filters/FilterOperation.h:
3413 * platform/graphics/filters/FilterOperations.cpp:
3414 (WebCore::FilterOperations::outsets):
3415 * platform/graphics/filters/FilterOperations.h:
3416 * platform/graphics/filters/ValidatedCustomFilterOperation.cpp: Removed.
3417 * platform/graphics/filters/ValidatedCustomFilterOperation.h: Removed.
3418 * platform/graphics/filters/texmap/CustomFilterValidatedProgramTextureMapper.cpp: Removed.
3419 * platform/graphics/filters/texmap/TextureMapperPlatformCompiledProgram.h: Removed.
3420 * platform/graphics/gpu/Texture.cpp:
3421 * platform/graphics/texmap/TextureMapper.h:
3422 * platform/graphics/texmap/TextureMapperGL.cpp:
3423 (WebCore::getPassesRequiredForFilter):
3424 (WebCore::BitmapTextureGL::applyFilters):
3425 * platform/graphics/texmap/TextureMapperGL.h:
3426 * platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:
3427 (WebCore::CompositingCoordinator::clearPendingStateChanges):
3428 (WebCore::CompositingCoordinator::syncLayerState):
3429 * platform/graphics/texmap/coordinated/CompositingCoordinator.h:
3430 * platform/graphics/texmap/coordinated/CoordinatedCustomFilterOperation.h: Removed.
3431 * platform/graphics/texmap/coordinated/CoordinatedCustomFilterProgram.h: Removed.
3432 * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
3433 (WebCore::CoordinatedGraphicsScene::setLayerFiltersIfNeeded):
3434 (WebCore::CoordinatedGraphicsScene::commitSceneState):
3435 (WebCore::CoordinatedGraphicsScene::setLayerAnimationsIfNeeded):
3436 * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
3437 * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:
3438 * rendering/FilterEffectRenderer.cpp:
3439 (WebCore::FilterEffectRenderer::FilterEffectRenderer):
3440 (WebCore::FilterEffectRenderer::build):
3441 (WebCore::FilterEffectRenderer::computeSourceImageRectForDirtyRect):
3442 * rendering/FilterEffectRenderer.h:
3443 * rendering/RenderLayer.cpp:
3444 (WebCore::RenderLayer::setFilterBackendNeedsRepaintingInRect):
3445 (WebCore::RenderLayer::calculateClipRects):
3446 * rendering/RenderLayer.h:
3447 * rendering/RenderLayerBacking.cpp:
3448 (WebCore::RenderLayerBacking::updateFilters):
3449 * rendering/RenderLayerFilterInfo.cpp:
3450 (WebCore::RenderLayer::FilterInfo::~FilterInfo):
3451 * rendering/RenderLayerFilterInfo.h:
3452 * rendering/RenderView.cpp:
3453 * rendering/RenderView.h:
3454 * rendering/style/StyleCachedShader.cpp: Removed.
3455 * rendering/style/StyleCachedShader.h: Removed.
3456 * rendering/style/StyleCustomFilterProgram.cpp: Removed.
3457 * rendering/style/StyleCustomFilterProgram.h: Removed.
3458 * rendering/style/StyleCustomFilterProgramCache.cpp: Removed.
3459 * rendering/style/StyleCustomFilterProgramCache.h: Removed.
3460 * rendering/style/StylePendingShader.h: Removed.
3461 * rendering/style/StyleShader.h: Removed.
3463 2014-01-22 Jon Honeycutt <jhoneycutt@apple.com>
3465 REGRESSION(r161967): Crash in WebCore::CachedSVGDocumentReference::load
3466 <https://webkit.org/b/127151>
3467 <rdar://problem/15840760>
3469 There were two issues introduced here; the first is a use-after-free of
3470 CachedSVGDocumentReference objects.
3472 The previous code kept a map from FilterOperation ->
3473 RefPtr<WebKitCSSSVGDocumentValue>, which retained the
3474 CachedSVGDocument. In r161967, this was changed to use a weak HashSet,
3475 which allows stale CachedSVGDocumentReferences in the pending document
3476 set if the owning FilterOperation is deleted. To fix this, we'll keep a
3477 vector of RefPtr<FilterOperation> with pending SVG documents.
3479 The second issue is a null deref in CachedSVGDocumentReference::load();
3480 CachedResourceLoader::requestSVGDocument() can return 0 if (for
3481 example) an invalid URL is passed. r161967 removed a null check as part
3484 Reviewed by Dirk Schulze.
3486 Tests: css3/filters/crash-filter-animation-invalid-url.html
3487 css3/filters/crash-invalid-url.html
3489 * css/StyleResolver.cpp:
3490 (WebCore::StyleResolver::State::clear):
3491 Use new member var name.
3492 (WebCore::StyleResolver::loadPendingSVGDocuments):
3493 For each FilterOperation with a pending SVG document, get or create a
3494 CachedSVGDocumentReference, and tell it to load. Changed to use new
3496 (WebCore::StyleResolver::createFilterOperations):
3497 Append the FilterOperation to the list of FilterOperations with
3498 unloaded SVG documents.
3500 * css/StyleResolver.h:
3501 Changed from using PendingSVGDocumentSet, a weak set, to
3502 a Vector<RefPtr<ReferenceFilterOperation>>.
3503 (WebCore::StyleResolver::State::filtersWithPendingSVGDocuments):
3506 * loader/cache/CachedSVGDocumentReference.cpp:
3507 (WebCore::CachedSVGDocumentReference::~CachedSVGDocumentReference):
3508 Null check m_document rather than checking m_loadRequested.
3509 m_loadRequested may be true when m_document is 0.
3510 (WebCore::CachedSVGDocumentReference::load):
3511 Null check the result of CachedResourceLoader::requestSVGDocument().
3513 * platform/graphics/filters/FilterOperation.cpp:
3514 (WebCore::ReferenceFilterOperation::getOrCreateCachedSVGDocumentReference):
3515 Create, if necessary, and return the CachedSVGDocumentReference.
3517 * platform/graphics/filters/FilterOperation.h:
3518 Replaced createCachedSVGDocumentReference() with
3519 getOrCreateCachedSVGDocumentReference(), which makes for slightly
3522 2014-01-23 Antti Koivisto <antti@apple.com>
3524 Don't enable speculative tiles immediately after main load stops progressing
3525 https://bugs.webkit.org/show_bug.cgi?id=127507
3527 Reviewed by Andreas Kling.
3529 It is common for timers and events to trigger more loading after the initial main frame loading
3530 has completed. We should delay a bit before enabling speculative tiles and keep them disabled
3531 if loading still continues.
3533 * page/FrameView.cpp:
3534 (WebCore::FrameView::FrameView):
3535 (WebCore::FrameView::adjustTiledBackingCoverage):
3536 (WebCore::shouldEnableSpeculativeTilingDuringLoading):
3537 (WebCore::FrameView::enableSpeculativeTilingIfNeeded):
3539 When load progression stops wait 0.5s before enabling speculative tiles.
3541 (WebCore::FrameView::speculativeTilingEnableTimerFired):
3543 Don't enable speculative tiles if the progression has started again. Instead restart the timer.
3546 * rendering/RenderLayerBacking.cpp:
3547 (WebCore::RenderLayerBacking::RenderLayerBacking):
3548 (WebCore::computeTileCoverage):
3550 Move the FrameView level code to FrameView (so we don't need to add a timer to every RenderLayerBacking).
3552 * rendering/RenderLayerBacking.h:
3554 2014-01-23 Antti Koivisto <antti@apple.com>
3556 Loads started soon after main frame completion should be considered part of the main load
3557 https://bugs.webkit.org/show_bug.cgi?id=127504
3559 Reviewed by Andreas Kling.
3561 ProgressTracker currently decides that main load is complete when the main frame stops loading.
3562 However it is common that timers and onload events trigger more loads immediately (for example
3563 by inserting iframes) and loading continues visually. These should be considered as part of the
3564 main load for paint throttling and speculative tiling coverage purposes.
3566 * loader/ProgressTracker.cpp:
3567 (WebCore::ProgressTracker::ProgressTracker):
3568 (WebCore::ProgressTracker::progressStarted):
3570 Track whether this is considered part of the main load or not with a boolean.
3571 It is set for subframe loads too if they start loading soon (within 1s) after the main frame load completes.
3573 (WebCore::ProgressTracker::finalProgressComplete):
3577 (WebCore::ProgressTracker::isMainLoadProgressing):
3579 New definition of "main load".
3581 * loader/ProgressTracker.h:
3583 2014-01-23 peavo@outlook.com <peavo@outlook.com>
3585 [WinCairo] Compile error.
3586 https://bugs.webkit.org/show_bug.cgi?id=127499
3588 Reviewed by Brent Fulgham.
3590 * platform/network/curl/ResourceError.h: Include <winsock2.h> before <curl/curl.h>.
3592 2014-01-23 Brady Eidson <beidson@apple.com>
3594 IDB: Implement cross-thread and IPC plumbing for 'get' support
3595 https://bugs.webkit.org/show_bug.cgi?id=127501
3597 Reviewed by Anders Carlsson.
3599 Add isolatedCopy to the IDBGetResult object:
3600 * Modules/indexeddb/IDBGetResult.h:
3601 (WebCore::IDBGetResult::isolatedCopy):
3603 Add a cross-thread and cross-IPC appropriate object for IDBKeyRanges:
3604 * Modules/indexeddb/IDBKeyRangeData.cpp: Copied from Source/WebCore/Modules/indexeddb/IDBGetResult.h.
3605 (WebCore::IDBKeyRangeData::isolatedCopy):
3606 * Modules/indexeddb/IDBKeyRangeData.h: Copied from Source/WebCore/Modules/indexeddb/IDBGetResult.h.
3607 (WebCore::IDBKeyRangeData::IDBKeyRangeData):
3609 Add a few more cross-thread copiers:
3610 * platform/CrossThreadCopier.cpp:
3611 (WebCore::IDBGetResult>::copy):
3612 (WebCore::IDBKeyRangeData>::copy):
3613 * platform/CrossThreadCopier.h:
3617 * GNUmakefile.list.am:
3619 * WebCore.xcodeproj/project.pbxproj:
3621 2014-01-23 Jer Noble <jer.noble@apple.com>
3623 [MSE][Mac] Adopt new AVStreamDataParser delegate API
3624 https://bugs.webkit.org/show_bug.cgi?id=127498
3626 Reviewed by Eric Carlson.
3628 Adopt a new delegate API which passes in whether or not the new AVAsset
3629 is discontinuous, implying the AVAsset is entirely new rather than
3630 just updated with new information.
3632 * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
3633 (-[WebAVStreamDataParserListener streamDataParser:didParseStreamDataAsAsset:withDiscontinuity:]):
3635 2014-01-23 Tim Horton <timothy_horton@apple.com>
3637 PDFPlugin: Use PDFPlugin even if there's an external plugin installed, if it's blocked
3638 https://bugs.webkit.org/show_bug.cgi?id=127415
3639 <rdar://problem/12482452>
3641 Reviewed by Sam Weinig.
3643 * English.lproj/Localizable.strings:
3645 * platform/LocalizedStrings.cpp:
3646 (WebCore::useBlockedPlugInContextMenuTitle):
3647 * platform/LocalizedStrings.h:
3648 Add a localizable string for the generic case, where the client
3649 didn't provide a more specific string for the context menu item.
3651 2014-01-23 peavo@outlook.com <peavo@outlook.com>
3653 [Curl] There is no way to specify cache folder.
3654 https://bugs.webkit.org/show_bug.cgi?id=125028
3656 Reviewed by Brent Fulgham.
3658 Fixed logical test, disc cache should be disabled if creating cache folder fails.
3660 * platform/network/curl/CurlCacheManager.cpp:
3661 (WebCore::CurlCacheManager::setCacheDirectory):
3663 2014-01-23 Brady Eidson <beidson@apple.com>
3665 Unreviewed build fix.
3667 * WebCore.xcodeproj/project.pbxproj: Export the new header so WebKit can see it
3669 2014-01-22 Brent Fulgham <bfulgham@apple.com>
3671 [Win] Update project and solution files for 64-bit builds
3672 https://bugs.webkit.org/show_bug.cgi?id=127457
3674 Reviewed by Eric Carlson.
3676 * WebCore.vcxproj/QTMovieWin/QTMovieWin.vcxproj: Update for VS2013
3677 * WebCore.vcxproj/WebCore.submit.sln: Add x64 targets
3678 * WebCore.vcxproj/WebCore.vcxproj: Update for VS2013. Also exclude 32-bit specific
3679 assembly when building 64-bit target.
3680 * WebCore.vcxproj/WebCore.vcxproj.filters: Update for VS2013
3681 * config.h: Handle 64-bit type definitions.
3682 * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
3683 (PlatformCAAnimation::setFromValue): Use CGFloat to support 64-bit builds
3684 (PlatformCAAnimation::setToValue): Ditto
3685 (PlatformCAAnimation::setValues): Ditto
3686 * platform/graphics/win/FontCustomPlatformData.cpp:
3687 (WebCore::FontCustomPlatformData::fontPlatformData): Add cast to
3688 support 32- and 64-bit targets.
3689 * platform/graphics/win/GraphicsContextCGWin.cpp:
3690 (WebCore::GraphicsContext::drawLineForDocumentMarker): Use CGFloat to
3691 support 64-bit builds.
3692 * platform/win/PasteboardWin.cpp:
3693 (WebCore::Pasteboard::writeURLToDataObject): Specialize std::min to
3694 work on 32- and 64-bit code.
3695 (WebCore::createGlobalImageFileDescriptor): Ditto
3696 * platform/win/StructuredExceptionHandlerSuppressor.cpp:
3697 (WebCore::StructuredExceptionHandlerSuppressor::StructuredExceptionHandlerSuppressor):
3698 Comment out 32-bit inline assembly.
3699 (WebCore::StructuredExceptionHandlerSuppressor::~StructuredExceptionHandlerSuppressor):
3702 2014-01-23 Brady Eidson <beidson@apple.com>
3704 Make IDBGetResult work with IDBKeyData instead of IDBKey.
3705 https://bugs.webkit.org/show_bug.cgi?id=127493
3707 Reviewed by Eric Carlson.
3709 Also break it into its own header to work better with IPC messages.
3711 * Modules/indexeddb/IDBGetResult.h: Added.
3712 (WebCore::IDBGetResult::IDBGetResult):
3714 * Modules/indexeddb/IDBServerConnection.h:
3716 * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
3717 (WebCore::GetOperation::perform):
3719 * WebCore.xcodeproj/project.pbxproj:
3721 2014-01-23 Mátyás Mustoha <mmatyas@inf.u-szeged.hu>
3723 [curl] Add storage limit to cache manager
3724 https://bugs.webkit.org/show_bug.cgi?id=125779
3726 Reviewed by Brent Fulgham.
3728 Sets a local disc storage size limit for the cache manager
3729 used by the curl network backend.
3731 * platform/network/curl/CurlCacheEntry.cpp:
3732 (WebCore::CurlCacheEntry::CurlCacheEntry):
3733 (WebCore::CurlCacheEntry::isCached):
3734 (WebCore::CurlCacheEntry::saveCachedData):
3735 (WebCore::CurlCacheEntry::readCachedData):
3736 (WebCore::CurlCacheEntry::didFail):
3737 (WebCore::CurlCacheEntry::didFinishLoading):
3738 (WebCore::CurlCacheEntry::loadFileToBuffer):
3739 (WebCore::CurlCacheEntry::parseResponseHeaders):
3740 (WebCore::CurlCacheEntry::entrySize):
3741 * platform/network/curl/CurlCacheEntry.h:
3742 (WebCore::CurlCacheEntry::requestHeaders):
3743 * platform/network/curl/CurlCacheManager.cpp:
3744 (WebCore::CurlCacheManager::CurlCacheManager):
3745 (WebCore::CurlCacheManager::setStorageSizeLimit):
3746 (WebCore::CurlCacheManager::loadIndex):
3747 (WebCore::CurlCacheManager::saveIndex):
3748 (WebCore::CurlCacheManager::makeRoomForNewEntry):
3749 (WebCore::CurlCacheManager::didReceiveResponse):
3750 (WebCore::CurlCacheManager::didReceiveData):
3751 (WebCore::CurlCacheManager::invalidateCacheEntry):
3752 (WebCore::CurlCacheManager::readCachedData):
3753 * platform/network/curl/CurlCacheManager.h:
3754 (WebCore::CurlCacheManager::cacheDirectory):
3756 2014-01-23 Carlos Garcia Campos <cgarcia@igalia.com>
3758 Unreviewed. Fix automake warning.
3760 * GNUmakefile.list.am: Remove trailing whitespaces.
3762 2014-01-23 Mihai Maerean <mmaerean@adobe.com>
3764 [CSS Regions] Fix positioning composited layers when the region has overflow:hidden
3765 https://bugs.webkit.org/show_bug.cgi?id=124042
3767 Reviewed by Mihnea Ovidenie.
3769 If there's a clipping GraphicsLayer on the hierarchy, substract its offset, since it's its
3770 parent that positions us.
3772 Tests: compositing/regions/position-layer-inside-region-overflow-hidden.html
3773 compositing/regions/position-layer-inside-overflow-hidden.html
3774 compositing/regions/position-layers-inside-region-overflow-hidden.html
3775 compositing/regions/position-layers-inside-regions-overflow-hidden.html
3777 * rendering/RenderLayerBacking.cpp:
3778 (WebCore::RenderLayerBacking::adjustAncestorCompositingBoundsForFlowThread): The position
3779 must also be correct when the region has box-shadow that inflates the region's layer. The
3780 composited layers from the flow thread should be rendered in the same position whether the
3781 associated region has clipping or not.
3782 Using the position of the clipping layer instead of the location of the clipbox makes it
3783 also work with box-shadow that inflates the region's graphics layer.
3785 2014-01-23 Andrei Bucur <abucur@adobe.com>
3787 [CSS Regions] Convert regions iterator loops to range-based loops
3788 https://bugs.webkit.org/show_bug.cgi?id=127464
3790 Reviewed by Antti Koivisto.
3792 Replace most of the iterator loops in the region implementation with
3793 range based for loops. The for loops that iterate only over subsets
3794 of collections have not been changed.
3796 Tests: no new tests, this is a refactoring patch.
3798 * dom/WebKitNamedFlow.cpp:
3799 (WebCore::WebKitNamedFlow::firstEmptyRegionIndex):
3800 (WebCore::WebKitNamedFlow::getRegionsByContent):
3801 (WebCore::WebKitNamedFlow::getRegions):
3802 (WebCore::WebKitNamedFlow::getContent):
3803 * inspector/InspectorOverlay.cpp:
3804 (WebCore::buildObjectForCSSRegionsHighlight):
3805 * rendering/RenderFlowThread.cpp:
3806 (WebCore::RenderFlowThread::validateRegions):
3807 (WebCore::RenderFlowThread::updateLogicalWidth):
3808 (WebCore::RenderFlowThread::computeLogicalHeight):
3809 (WebCore::RenderFlowThread::repaintRectangleInRegions):
3810 (WebCore::RenderFlowThread::removeRenderBoxRegionInfo):
3811 (WebCore::RenderFlowThread::logicalWidthChangedInRegionsForBlock):
3812 (WebCore::RenderFlowThread::clearRenderBoxRegionInfoAndCustomStyle):
3813 (WebCore::RenderFlowThread::isAutoLogicalHeightRegionsCountConsistent):
3814 (WebCore::RenderFlowThread::markAutoLogicalHeightRegionsForLayout):
3815 (WebCore::RenderFlowThread::markRegionsForOverflowLayoutIfNeeded):
3816 (WebCore::RenderFlowThread::updateRegionsFlowThreadPortionRect):
3817 (WebCore::RenderFlowThread::collectLayerFragments):
3818 (WebCore::RenderFlowThread::fragmentsBoundingBox):
3819 * rendering/RenderNamedFlowFragment.cpp:
3820 (WebCore::RenderNamedFlowFragment::setRegionObjectsRegionStyle):
3821 (WebCore::RenderNamedFlowFragment::restoreRegionObjectsOriginalStyle):
3822 * rendering/RenderNamedFlowThread.cpp:
3823 (WebCore::RenderNamedFlowThread::clearContentElements):
3824 (WebCore::RenderNamedFlowThread::nextRendererForNode):
3825 (WebCore::RenderNamedFlowThread::dependsOn):
3826 (WebCore::RenderNamedFlowThread::computeOversetStateForRegions):
3827 (WebCore::RenderNamedFlowThread::checkInvalidRegions):
3828 (WebCore::RenderNamedFlowThread::pushDependencies):
3829 (WebCore::RenderNamedFlowThread::registerNamedFlowContentElement):
3830 (WebCore::isContainedInElements):
3831 (WebCore::RenderNamedFlowThread::getRanges):
3832 (WebCore::RenderNamedFlowThread::checkRegionsWithStyling):
3833 (WebCore::RenderNamedFlowThread::clearRenderObjectCustomStyle):
3834 * rendering/RenderTreeAsText.cpp:
3835 (WebCore::writeRenderRegionList):
3837 2014-01-23 László Langó <llango.u-szeged@partner.samsung.com>
3839 Range should be constructable.
3840 https://bugs.webkit.org/show_bug.cgi?id=115639
3842 Reviewed by Ryosuke Niwa.
3844 http://www.w3.org/TR/2013/WD-dom-20131107/#interface-range
3845 Now we can do `new Range()` instead of `document.createRange()`.
3847 Backported from Blink: https://chromium.googlesource.com/chromium/blink/+/47ca40efdf58a4787aa33aa75a35778899b1c002%5E%21
3849 Test: fast/dom/Range/range-constructor.html
3852 (WebCore::Range::create):
3856 2014-01-23 ChangSeok Oh <changseok.oh@collabora.com>
3858 Unreviewed build fix for gles after r162565. Add missing definitions.
3860 * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
3861 (WebCore::GraphicsContext3D::drawArraysInstanced):
3862 (WebCore::GraphicsContext3D::drawElementsInstanced):
3863 (WebCore::GraphicsContext3D::vertexAttribDivisor):
3865 2014-01-22 Carlos Garcia Campos <cgarcia@igalia.com>
3867 [GLIB] Use GUniquePtr instead of GOwnPtr
3868 https://bugs.webkit.org/show_bug.cgi?id=127431
3870 Reviewed by Martin Robinson.
3872 GUniquePtr is a template alias of std::unique_ptr with a custom
3873 deleter that replaces GOwnPtr. GOwnPtr is still used for the cases
3874 where the output pointer is needed, but it will also be replaced soon.
3876 * GNUmakefile.list.am:
3877 * PlatformGTK.cmake:
3878 * accessibility/atk/AXObjectCacheAtk.cpp:
3879 * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
3880 (getAttributeSetForAccessibilityObject):
3881 (accessibilityObjectLength):
3883 (webkitAccessibleTextGetChar):
3884 (numberOfReplacedElementsBeforeOffset):
3885 * page/ContextMenuController.cpp:
3886 * platform/SharedBuffer.h:
3887 * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
3888 (webKitWebAudioSrcConstructed):
3889 (webKitWebAudioSrcLoop):
3890 * platform/audio/gtk/AudioBusGtk.cpp:
3891 (WebCore::AudioBus::loadPlatformResource):
3892 * platform/geoclue/GeolocationProviderGeoclue.cpp:
3893 * platform/graphics/gstreamer/ImageGStreamerCairo.cpp:
3894 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
3895 (WebCore::MediaPlayerPrivateGStreamer::setAudioStreamProperties):
3896 (WebCore::MediaPlayerPrivateGStreamer::handleMessage):
3897 * platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp:
3898 (webKitMediaSrcAddSrc):
3899 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
3900 (webKitWebSrcStart):
3901 (ResourceHandleStreamingClient::wasBlocked):
3902 (ResourceHandleStreamingClient::cannotShowURL):
3903 * platform/graphics/gtk/ImageBufferGtk.cpp:
3904 (WebCore::encodeImage):
3905 (WebCore::ImageBuffer::toDataURL):
3906 * platform/graphics/gtk/ImageGtk.cpp:
3907 (WebCore::getThemeIconFileName):
3908 (WebCore::Image::loadPlatformResource):
3909 * platform/gtk/ContextMenuGtk.cpp:
3910 (WebCore::ContextMenu::itemCount):
3911 (WebCore::contextMenuItemVector):
3912 * platform/gtk/ContextMenuItemGtk.cpp:
3913 (WebCore::createPlatformMenuItemDescription):
3914 * platform/gtk/DataObjectGtk.cpp:
3915 (WebCore::DataObjectGtk::setURIList):
3916 (WebCore::DataObjectGtk::setURL):
3917 * platform/gtk/FileSystemGtk.cpp:
3918 (WebCore::filenameToString):
3919 (WebCore::fileSystemRepresentation):
3920 (WebCore::filenameForDisplay):
3921 (WebCore::pathGetFileName):
3922 (WebCore::applicationDirectoryPath):
3923 (WebCore::sharedResourcesPath):
3924 (WebCore::directoryName):
3925 (WebCore::listDirectory):
3926 (WebCore::openTemporaryFile):
3927 * platform/gtk/GOwnPtrGtk.cpp: Removed.
3928 * platform/gtk/GOwnPtrGtk.h: Removed.
3929 * platform/gtk/GUniquePtrGtk.h: Added.
3930 * platform/gtk/GamepadsGtk.cpp:
3931 (WebCore::GamepadsGtk::GamepadsGtk):
3932 * platform/gtk/GtkClickCounter.cpp:
3933 (WebCore::GtkClickCounter::shouldProcessButtonEvent):
3934 * platform/gtk/GtkInputMethodFilter.cpp:
3935 (WebCore::GtkInputMethodFilter::sendCompositionAndPreeditWithFakeKeyEvents):
3936 * platform/gtk/GtkPopupMenu.cpp:
3937 (WebCore::GtkPopupMenu::popUp):
3938 (WebCore::GtkPopupMenu::typeAheadFind):
3939 * platform/gtk/LanguageGtk.cpp:
3940 (WebCore::platformLanguage):
3941 * platform/gtk/LocalizedStringsGtk.cpp:
3942 (WebCore::imageTitle):
3943 (WebCore::localizedMediaTimeDescription):
3944 * platform/gtk/PasteboardHelper.cpp:
3945 (WebCore::selectionDataToUTF8String):
3946 (WebCore::PasteboardHelper::getClipboardContents):
3947 (WebCore::PasteboardHelper::fillSelectionData):
3948 * platform/gtk/PopupMenuGtk.cpp:
3949 (WebCore::PopupMenuGtk::createGtkActionForMenuItem):
3950 (WebCore::PopupMenuGtk::show):
3951 * platform/gtk/WebKitAuthenticationWidget.cpp:
3952 (webkitAuthenticationWidgetInitialize):
3953 * platform/network/ResourceHandleInternal.h:
3954 * platform/network/gtk/CredentialBackingStore.cpp:
3955 (WebCore::credentialForChallengeAsyncReadyCallback):
3956 * platform/network/soup/CookieJarSoup.cpp:
3957 (WebCore::setCookiesFromDOM):
3958 (WebCore::cookiesForSession):
3959 (WebCore::getRawCookies):
3960 (WebCore::deleteCookie):
3961 (WebCore::getHostnamesWithCookies):
3962 (WebCore::deleteCookiesForHostname):
3963 (WebCore::deleteAllCookies):
3964 * platform/network/soup/DNSSoup.cpp:
3965 * platform/network/soup/GUniquePtrSoup.h: Added.
3966 * platform/network/soup/ResourceErrorSoup.cpp:
3967 (WebCore::failingURI):
3968 * platform/network/soup/ResourceHandleSoup.cpp:
3969 (WebCore::ResourceHandle::ensureReadBuffer):
3970 (WebCore::cleanupSoupRequestOperation):
3971 (WebCore::createSoupRequestAndMessageForHandle):
3972 * platform/network/soup/ResourceRequestSoup.cpp:
3973 (WebCore::ResourceRequest::updateSoupMessageMembers):
3974 (WebCore::ResourceRequest::updateSoupMessage):
3975 * platform/network/soup/ResourceResponseSoup.cpp:
3976 * platform/network/soup/SoupURIUtils.cpp:
3977 (WebCore::soupURIToKURL):
3978 * platform/soup/SharedBufferSoup.cpp:
3979 (WebCore::SharedBuffer::SharedBuffer):
3980 (WebCore::SharedBuffer::clearPlatformData):
3981 (WebCore::SharedBuffer::maybeTransferPlatformData):
3982 (WebCore::SharedBuffer::hasPlatformData):
3983 * plugins/gtk/PluginPackageGtk.cpp:
3984 (WebCore::PluginPackage::fetchInfo):
3985 (WebCore::PluginPackage::load):
3987 2014-01-22 Simon Fraser <simon.fraser@apple.com>
3989 Surround fixedVisibleContentRect code with USE(TILED_BACKING_STORE)
3990 https://bugs.webkit.org/show_bug.cgi?id=127461
3992 Reviewed by Andreas Kling.
3994 The "fixedVisibleContentRect" code path is only used by platforms
3995 which enabled TILED_BACKING_STORE, so to reduce confusion, surround
3996 this code with #if USE(TILED_BACKING_STORE).
3999 (WebCore::Frame::createView):
4000 * page/FrameView.cpp:
4002 * platform/ScrollView.cpp:
4003 (WebCore::ScrollView::unscaledVisibleContentSize):
4004 (WebCore::ScrollView::visibleContentRect):
4005 * platform/ScrollView.h:
4006 (WebCore::ScrollView::visibleSize):
4008 2014-01-22 Myles C. Maxfield <mmaxfield@apple.com>
4010 ASSERTION FAILED: v.isFixed() in WebCore::RenderStyle::setWordSpacing
4011 https://bugs.webkit.org/show_bug.cgi?id=126987
4013 Reviewed by Simon Fraser.
4015 When "inherit" is specified and there is no parent, Length values have an "Auto" type
4017 Test: fast/css3-text/css3-word-spacing-percentage/word-spacing-crash.html
4019 * rendering/style/RenderStyle.cpp:
4020 (WebCore::RenderStyle::setWordSpacing):
4022 2014-01-22 Samuel White <samuel_white@apple.com>
4024 AX: Can't always increment web sliders.
4025 https://bugs.webkit.org/show_bug.cgi?id=127451
4027 Reviewed by Chris Fleizach.
4029 Clamping the decrement/increment amount to one when necessary (if a percent change would result in a change of less than one).
4031 Test: accessibility/range-alter-by-percent.html
4033 * accessibility/AccessibilityNodeObject.cpp:
4034 (WebCore::AccessibilityNodeObject::changeValueByPercent):
4036 2014-01-22 Myles C. Maxfield <mmaxfield@apple.com>
4038 Remove CSS3_TEXT_DECORATION define
4039 https://bugs.webkit.org/show_bug.cgi?id=127333
4041 Reviewed by Simon Fraser.
4043 This is required for unprefixing the text-decoration-* CSS properties.
4045 No new tests are necessary becase the flag was already on by default.
4047 * Configurations/FeatureDefines.xcconfig:
4048 * css/CSSComputedStyleDeclaration.cpp:
4049 (WebCore::renderTextDecorationSkipFlagsToCSSValue):
4050 (WebCore::ComputedStyleExtractor::propertyValue):
4051 * css/CSSParser.cpp:
4052 (WebCore::isColorPropertyID):
4053 (WebCore::CSSParser::parseValue):
4054 (WebCore::CSSParser::addTextDecorationProperty):
4055 (WebCore::CSSParser::parseTextUnderlinePosition):
4057 * css/CSSPrimitiveValueMappings.h:
4058 (WebCore::CSSPrimitiveValue::operator TextUnderlinePosition):
4059 * css/CSSPropertyNames.in:
4060 * css/CSSValueKeywords.in:
4061 * css/DeprecatedStyleBuilder.cpp:
4062 (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
4063 * css/StylePropertyShorthand.cpp:
4064 (WebCore::webkitTextDecorationShorthand):
4065 (WebCore::shorthandForProperty):
4066 (WebCore::matchingShorthandsForLonghand):
4067 * css/StylePropertyShorthand.h:
4068 * css/StyleResolver.cpp:
4069 (WebCore::shouldApplyPropertyInParseOrder):
4070 (WebCore::isValidVisitedLinkProperty):
4071 (WebCore::StyleResolver::applyProperty):
4072 * platform/graphics/GraphicsContext.h:
4073 * platform/graphics/cairo/GraphicsContextCairo.cpp:
4074 (WebCore::GraphicsContext::setPlatformStrokeStyle):
4075 * platform/graphics/cg/GraphicsContextCG.cpp:
4076 (WebCore::GraphicsContext::platformInit):
4077 * platform/graphics/wince/GraphicsContextWinCE.cpp:
4078 (WebCore::createPen):
4079 * rendering/InlineFlowBox.cpp:
4080 (WebCore::InlineFlowBox::computeMaxLogicalTop):