1 2014-01-25 Sam Weinig <sam@webkit.org>
3 Remove more unnecessary #if PLATFORM(IOS)s in ApplicationCacheStorage.cpp
4 https://bugs.webkit.org/show_bug.cgi?id=127635
6 Reviewed by Antti Koivisto.
8 * loader/appcache/ApplicationCacheStorage.cpp:
9 (WebCore::ApplicationCacheStorage::executeSQLCommand):
10 (WebCore::ApplicationCacheStorage::verifySchemaVersion):
11 (WebCore::ApplicationCacheStorage::executeStatement):
12 (WebCore::ApplicationCacheStorage::store):
13 (WebCore::ApplicationCacheStorage::ensureOriginRecord):
14 (WebCore::ApplicationCacheStorage::loadCache):
16 2014-01-25 Sam Weinig <sam@webkit.org>
18 Remove some iOS #ifdefs by adding SQLiteDatabaseTracker to all the builds
19 https://bugs.webkit.org/show_bug.cgi?id=127632
21 Reviewed by Darin Adler.
23 Move the SQLiteDatabaseTracker and client from platform/sql/ios to platform/sql,
24 as there is nothing iOS specific about it. Then, un-#ifdef all its uses. For
25 ports that don't setup a client, this has no change in behavior.
28 * GNUmakefile.list.am:
29 * Modules/webdatabase/DatabaseBackendBase.cpp:
30 * WebCore.vcxproj/WebCore.vcxproj:
31 * WebCore.vcxproj/WebCore.vcxproj.filters:
32 * WebCore.xcodeproj/project.pbxproj:
33 * loader/appcache/ApplicationCacheStorage.cpp:
34 * platform/ScrollableArea.h:
35 (WebCore::ScrollableArea::sendWillRevealEdgeEventsIfNeeded):
36 * platform/sql/SQLiteDatabaseTracker.cpp: Copied from Source/WebCore/platform/sql/ios/SQLiteDatabaseTracker.cpp.
37 * platform/sql/SQLiteDatabaseTracker.h: Copied from Source/WebCore/platform/sql/ios/SQLiteDatabaseTracker.h.
38 * platform/sql/SQLiteDatabaseTrackerClient.h: Copied from Source/WebCore/platform/sql/ios/SQLiteDatabaseTrackerClient.h.
39 * platform/sql/ios: Removed.
40 * platform/sql/ios/SQLiteDatabaseTracker.cpp: Removed.
41 * platform/sql/ios/SQLiteDatabaseTracker.h: Removed.
42 * platform/sql/ios/SQLiteDatabaseTrackerClient.h: Removed.
43 * storage/StorageAreaSync.cpp:
44 (WebCore::StorageAreaSync::openDatabase):
45 (WebCore::StorageAreaSync::sync):
46 * storage/StorageTracker.cpp:
48 2014-01-25 Anders Carlsson <andersca@apple.com>
50 Remove an unused FrameLoaderClient function
51 https://bugs.webkit.org/show_bug.cgi?id=127628
53 Reviewed by Andreas Kling.
55 All implementations of FrameLoaderClient::shouldStopLoadingForHistoryItem return true and this function
56 was only used by Chromium so we can get rid of it.
58 * loader/EmptyClients.h:
59 * loader/FrameLoaderClient.h:
60 * loader/HistoryController.cpp:
61 (WebCore::HistoryController::shouldStopLoadingForHistoryItem):
63 2014-01-25 Darin Adler <darin@apple.com>
65 Call deprecatedCharacters instead of characters at more call sites
66 https://bugs.webkit.org/show_bug.cgi?id=127631
68 Reviewed by Sam Weinig.
70 * bindings/objc/WebScriptObject.mm:
71 (+[WebScriptObject _convertValueToObjcValue:JSC::originRootObject:rootObject:]):
72 * editing/CompositeEditCommand.cpp:
73 (WebCore::containsOnlyWhitespace):
74 * editing/TypingCommand.cpp:
75 (WebCore::TypingCommand::insertText):
76 * editing/VisibleUnits.cpp:
77 (WebCore::startOfParagraph):
78 (WebCore::endOfParagraph):
79 * html/parser/HTMLParserIdioms.cpp:
80 (WebCore::stripLeadingAndTrailingHTMLSpaces):
81 (WebCore::parseHTMLNonNegativeInteger):
82 * inspector/InspectorStyleSheet.cpp:
83 (WebCore::InspectorStyle::newLineAndWhitespaceDelimiters):
84 * inspector/InspectorStyleTextEditor.cpp:
85 (WebCore::InspectorStyleTextEditor::insertProperty):
86 (WebCore::InspectorStyleTextEditor::internalReplaceProperty):
87 * platform/Length.cpp:
88 (WebCore::newCoordsArray):
89 * platform/LinkHash.cpp:
90 (WebCore::visitedLinkHash):
91 * platform/graphics/Color.cpp:
92 (WebCore::Color::parseHexColor):
93 (WebCore::Color::Color):
94 * platform/graphics/TextRun.h:
95 (WebCore::TextRun::TextRun):
96 * platform/text/TextEncodingRegistry.cpp:
97 (WebCore::atomicCanonicalTextEncodingName):
98 * rendering/RenderBlock.cpp:
99 (WebCore::RenderBlock::constructTextRun):
100 * rendering/RenderCombineText.cpp:
101 (WebCore::RenderCombineText::width):
102 * svg/SVGFontElement.cpp:
103 (WebCore::SVGFontElement::registerLigaturesInGlyphCache):
104 * xml/XPathFunctions.cpp:
105 (WebCore::XPath::FunId::evaluate):
108 2014-01-25 Darin Adler <darin@apple.com>
110 Get rid of ICU_UNICODE and WCHAR_UNICODE remnants
111 https://bugs.webkit.org/show_bug.cgi?id=127623
113 Reviewed by Anders Carlsson.
115 * CMakeLists.txt: Removed SmartReplaceICU.cpp.
116 * GNUmakefile.list.am: Ditto.
117 * PlatformEfl.cmake: Ditto.
118 * PlatformGTK.cmake: Ditto.
120 * editing/FrameSelection.cpp:
121 (WebCore::FrameSelection::modifyMovingRight): Ditto.
122 (WebCore::FrameSelection::modifyMovingLeft): Ditto.
124 * editing/SmartReplace.cpp: Moved code here from SmartReplaceICU,
125 since we always support ICU now. Added some FIXME comments about
126 bugs and mistakes I spotted in the code as I was moving it.
127 * editing/SmartReplaceICU.cpp: Removed.
129 * editing/TextIterator.cpp: Removed unneeded checks.
130 * platform/ThreadGlobalData.cpp:
131 (WebCore::ThreadGlobalData::ThreadGlobalData): Ditto.
132 (WebCore::ThreadGlobalData::destroy): Ditto.
133 * platform/ThreadGlobalData.h: Ditto.
135 (WebCore::appendEncodedHostname): Ditto.
136 * platform/graphics/SurrogatePairAwareTextIterator.cpp: Ditto.
137 Also removed unneeded "using namespace".
138 * platform/text/TextCodecICU.cpp: Ditto.
139 * platform/text/TextEncoding.cpp:
140 (WebCore::TextEncoding::encode): Ditto.
141 * platform/text/TextEncodingRegistry.cpp:
142 (WebCore::extendTextCodecMaps): Ditto.
144 2014-01-25 Darin Adler <darin@apple.com>
146 Get rid of UnicodeRange.h/cpp, using ICU instead
147 https://bugs.webkit.org/show_bug.cgi?id=127622
149 Reviewed by Anders Carlsson.
151 * CMakeLists.txt: Remove UnicodeRange.h/cpp.
152 * GNUmakefile.list.am: Ditto.
153 * WebCore.vcxproj/WebCore.vcxproj: Ditto.
154 * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
155 * WebCore.xcodeproj/project.pbxproj: Ditto.
157 * platform/graphics/win/FontCacheWin.cpp:
158 (WebCore::FontCache::systemFallbackForCharacters): To check if a character has
159 multiple code pages, use UCHAR_UNIFIED_IDEOGRAPH instead of cRangeSetCJK.
160 * platform/graphics/wince/FontCacheWinCE.cpp:
161 (WebCore::FontCache::systemFallbackForCharacters): Ditto. Also, to check if a
162 character is in the Thai block, use UBLOCK_THAI.
164 * platform/graphics/wince/FontPlatformData.cpp: Removed include of UnicodeRange.h.
166 * platform/text/UnicodeRange.cpp: Removed.
167 * platform/text/UnicodeRange.h: Removed.
169 * rendering/svg/SVGTextLayoutEngineBaseline.cpp:
170 (WebCore::SVGTextLayoutEngineBaseline::calculateGlyphOrientationAngle): To figure
171 out if a character is full width, use UCHAR_EAST_ASIAN_WIDTH, instead of hard-coding
172 "not Latin or Arabic" as the rule.
174 2014-01-25 Tim Horton <timothy_horton@apple.com>
176 Remove an unnecessary platform #if in BitmapImage(CG)::checkForSolidColor()
177 https://bugs.webkit.org/show_bug.cgi?id=127610
179 Reviewed by Simon Fraser.
181 * platform/graphics/cg/BitmapImageCG.cpp:
182 (WebCore::BitmapImage::checkForSolidColor):
183 Over time, the two sides of this #if !PLATFORM(IOS) converged. Remove the #if
184 and merge the code. We explicitly use kCGBitmapByteOrder32Big to be correct everywhere.
186 2014-01-25 Tim Horton <timothy_horton@apple.com>
188 [cg] Look in the PNG dictionary for image duration information
189 https://bugs.webkit.org/show_bug.cgi?id=127611
190 <rdar://problem/15408643>
192 Reviewed by Simon Fraser.
194 We should look in the PNG properties dictionary for frame duration and loop count data.
196 * platform/graphics/cg/ImageSourceCG.cpp:
197 (WebCore::ImageSource::repetitionCount):
198 Mush repetitionCount a bit more to make it easier to read (early returns, etc.)
199 Also, look in the PNG properties dictionary for a loop count.
201 (WebCore::ImageSource::frameDurationAtIndex):
202 Look in the PNG properties dictionary for delay time.
203 Get rid of WebCoreCGImagePropertyGIFUnclampedDelayTime; it hasn't
204 been needed since Snow Leopard.
206 2014-01-25 Anders Carlsson <andersca@apple.com>
208 Remove atomicIncrement/atomicDecrement
209 https://bugs.webkit.org/show_bug.cgi?id=127625
211 Reviewed by Andreas Kling.
213 Replace atomicIncrement/atomicDecrement with std::atomic.
215 * Modules/webaudio/AudioContext.cpp:
216 (WebCore::AudioContext::incrementActiveSourceCount):
217 (WebCore::AudioContext::decrementActiveSourceCount):
218 * Modules/webaudio/AudioContext.h:
219 * Modules/webaudio/AudioNode.cpp:
220 (WebCore::AudioNode::~AudioNode):
221 (WebCore::AudioNode::ref):
222 (WebCore::AudioNode::finishDeref):
223 * Modules/webaudio/AudioNode.h:
224 * Modules/webdatabase/OriginLock.h:
226 2014-01-25 Alex Christensen <achristensen@webkit.org>
228 Unreviewed build fix for WinCairo.
230 * platform/network/curl/CurlDownload.h:
231 Included wtf/Threading.h for ThreadIdentifier definition.
233 2014-01-25 Anders Carlsson <andersca@apple.com>
235 Modernize HashTable threading code
236 https://bugs.webkit.org/show_bug.cgi?id=127621
238 Reviewed by Darin Adler.
240 Explicitly include headers that used to be brought in by HashTable.h
242 * platform/DragData.h:
243 Change a Windows-specific typedef to avoid having to include WindDef.h from a header.
245 * platform/audio/AudioSession.h:
246 * platform/network/cf/SocketStreamHandle.h:
248 2014-01-25 Zan Dobersek <zdobersek@igalia.com>
250 Move CSSGroupingRule, CSSStyleSheet, ElementRuleCollector to std::unique_ptr
251 https://bugs.webkit.org/show_bug.cgi?id=127575
253 Reviewed by Andreas Kling.
255 Use std::unique_ptr and std::make_unique in place of OwnPtr and adoptPtr
256 in the CSSGroupingRule, CSSStyleSheet and ElementRuleCollector classes.
258 * css/CSSFunctionValue.cpp: Remove the unnecessary PassOwnPtr header inclusion.
259 * css/CSSGroupingRule.cpp:
260 (WebCore::CSSGroupingRule::cssRules):
261 * css/CSSGroupingRule.h:
262 * css/CSSStyleSheet.cpp:
263 (WebCore::CSSStyleSheet::cssRules):
264 * css/CSSStyleSheet.h:
265 * css/ElementRuleCollector.cpp:
266 (WebCore::ElementRuleCollector::addMatchedRule):
267 * css/ElementRuleCollector.h:
269 2014-01-25 Zan Dobersek <zdobersek@igalia.com>
271 Move MediaQueryMatcher, SelectorFilter to std::unique_ptr
272 https://bugs.webkit.org/show_bug.cgi?id=127574
274 Reviewed by Andreas Kling.
276 Replace the use of OwnPtr and adoptPtr with std::unique_ptr and std::make_unique
277 in the MediaQueryMatcher and SelectorFilter classes.
279 * css/MediaQueryMatcher.cpp:
280 (WebCore::MediaQueryMatcher::prepareEvaluator):
281 (WebCore::MediaQueryMatcher::evaluate):
282 (WebCore::MediaQueryMatcher::addListener):
283 (WebCore::MediaQueryMatcher::styleResolverChanged):
284 * css/MediaQueryMatcher.h:
285 * css/SelectorFilter.cpp:
286 (WebCore::SelectorFilter::popParentStackFrame):
287 (WebCore::SelectorFilter::setupParentStack):
288 * css/SelectorFilter.h:
290 2014-01-25 Zan Dobersek <zdobersek@igalia.com>
292 Move PropertySetCSSStyleDeclaration, WebKitCSSKeyframesRule to std::unique_ptr
293 https://bugs.webkit.org/show_bug.cgi?id=127572
295 Reviewed by Andreas Kling.
297 Switch the PropertySetCSSStyleDeclaration and WebKitCSSKeyframesRule classes from using
298 OwnPtr and adoptPtr to using std::unique_ptr and std::make_unique.
300 * css/PropertySetCSSStyleDeclaration.cpp:
301 (WebCore::PropertySetCSSStyleDeclaration::cloneAndCacheForCSSOM):
302 (WebCore::StyleRuleCSSStyleDeclaration::didMutate):
303 (WebCore::InlineCSSStyleDeclaration::didMutate):
304 * css/PropertySetCSSStyleDeclaration.h:
305 * css/WebKitCSSKeyframesRule.cpp:
306 (WebCore::WebKitCSSKeyframesRule::cssRules):
307 * css/WebKitCSSKeyframesRule.h:
309 2014-01-25 Zan Dobersek <zdobersek@igalia.com>
311 Move StyleProperties, StyleResolver to std::unique_ptr
312 https://bugs.webkit.org/show_bug.cgi?id=127570
314 Reviewed by Andreas Kling.
316 Move the StyleProperties and StyleResolver classes from using OwnPtr and adoptPtr
317 to using std::unique_ptr and std::make_unique.
319 * css/StyleInvalidationAnalysis.h: Remove the PassOwnPtr.h header inclusion.
320 * css/StyleProperties.cpp:
321 (WebCore::MutableStyleProperties::ensureCSSStyleDeclaration):
322 (WebCore::MutableStyleProperties::ensureInlineCSSStyleDeclaration):
323 * css/StyleProperties.h:
324 * css/StyleResolver.cpp:
325 (WebCore::StyleResolver::StyleResolver):
326 (WebCore::StyleResolver::addViewportDependentMediaQueryResult):
327 * css/StyleResolver.h:
328 * css/StyleScopeResolver.h:
330 2014-01-25 Zan Dobersek <zdobersek@igalia.com>
332 Move CSSFontFace, CSSFontSelector to std::unique_ptr
333 https://bugs.webkit.org/show_bug.cgi?id=127569
335 Reviewed by Andreas Kling.
337 Move the CSSFontFace and CSSFontSelector classes from using OwnPtr, PassOwnPtr and adoptPtr
338 to using std::unique_ptr, move semantics and std::make_unique.
340 * css/CSSFontFace.cpp:
341 (WebCore::CSSFontFace::addSource):
343 * css/CSSFontSelector.cpp:
344 (WebCore::CSSFontSelector::addFontFaceRule):
345 (WebCore::CSSFontSelector::getFontFace):
346 * css/CSSFontSelector.h:
348 2014-01-24 Joseph Pecoraro <pecoraro@apple.com>
350 Web Inspector: Move InspectorRuntimeAgent into JavaScriptCore
351 https://bugs.webkit.org/show_bug.cgi?id=127605
353 Reviewed by Timothy Hatcher.
355 Covered by existing tests. No change in functionality.
358 * GNUmakefile.list.am:
359 * WebCore.vcxproj/WebCore.vcxproj:
360 * WebCore.vcxproj/WebCore.vcxproj.filters:
361 * WebCore.xcodeproj/project.pbxproj:
362 * inspector/InspectorAllInOne.cpp:
363 Remove WebCore InspectorRuntimeAgent.
365 * ForwardingHeaders/inspector/agents/InspectorRuntimeAgent.h: Added.
366 Add JavaScriptCore InspectorRuntimeAgent.
368 * inspector/InspectorController.cpp:
369 (WebCore::InspectorController::InspectorController):
370 * inspector/WorkerInspectorController.h:
371 * inspector/WorkerInspectorController.cpp:
372 (WebCore::WorkerInspectorController::WorkerInspectorController):
373 New constructors for the runtime agent.
375 * inspector/PageRuntimeAgent.h:
376 * inspector/PageRuntimeAgent.cpp:
377 (WebCore::PageRuntimeAgent::PageRuntimeAgent):
378 (WebCore::PageRuntimeAgent::enable):
379 (WebCore::PageRuntimeAgent::disable):
380 (WebCore::PageRuntimeAgent::didCreateMainWorldContext):
381 (WebCore::PageRuntimeAgent::didCreateIsolatedContext):
382 (WebCore::PageRuntimeAgent::globalVM):
383 Modernize and implement globalVM.
385 * inspector/WorkerRuntimeAgent.h:
386 * inspector/WorkerRuntimeAgent.cpp:
387 (WebCore::WorkerRuntimeAgent::WorkerRuntimeAgent):
388 (WebCore::WorkerRuntimeAgent::injectedScriptForEval):
389 (WebCore::WorkerRuntimeAgent::globalVM):
390 Modernize and implement globalVM.
392 2014-01-25 Diego Pino Garcia <dpino@igalia.com>
394 [GTK] Add parameters from 'DOM Object Model Core' spec and 'DOM CSS' spec that can be NULL
396 https://bugs.webkit.org/show_bug.cgi?id=117536
398 Reviewed by Xan Lopez.
400 * bindings/scripts/CodeGeneratorGObject.pm:
401 (ParamCanBeNull): Add new pairs (function, parameter) that can be NULL
403 2014-01-25 Anders Carlsson <andersca@apple.com>
405 Get rid of BackForwardController::isActive()
406 https://bugs.webkit.org/show_bug.cgi?id=127604
408 Reviewed by Sam Weinig.
410 BackForwardController::isActive() used to mean "my page maintains a back forward
411 list that has zero capacity". Move that logic into WebKit instead, namely the
412 WebFrameLoaderClient::canCachePage function so we can simplify WebCore.
414 * history/BackForwardClient.h:
415 * history/BackForwardController.cpp:
416 * history/BackForwardController.h:
417 * history/BackForwardList.h:
418 * history/PageCache.cpp:
419 (WebCore::logCanCachePageDecision):
420 (WebCore::PageCache::canCache):
422 2014-01-25 Antti Koivisto <antti@apple.com>
424 REGRESSION(r162744): wsj.com paints white
425 https://bugs.webkit.org/show_bug.cgi?id=127619
427 Reviewed by Sam Weinig.
429 Test: fast/css/stylesheet-layout-with-pending-paint.html
432 (WebCore::Document::styleResolverChanged):
434 Ensure we switch out from IgnoreLayoutWithPendingSheets state after stylesheet loads complete.
436 2014-01-24 Dan Bernstein <mitz@apple.com>
438 Reverted r162760. It broke more things.
442 2014-01-24 Dan Bernstein <mitz@apple.com>
444 Try to fix some 32-bit builds.
448 2014-01-24 Jinwoo Song <jinwoo7.song@samsung.com>
450 [EFL] Replace usage of DEFINE_STATIC_LOCAL with NeverDestroyed in WebCore/platform/efl
451 https://bugs.webkit.org/show_bug.cgi?id=127607
453 Reviewed by Anders Carlsson.
455 * platform/efl/EflKeyboardUtilities.cpp:
456 (WebCore::keyMap): Use NeverDestroyed instead of DEFINE_STATIC_LOCAL.
457 (WebCore::windowsKeyMap): Ditto.
458 (WebCore::keyDownCommandsMap): Ditto.
459 (WebCore::keyPressCommandsMap): Ditto.
460 * platform/efl/GamepadsEfl.cpp:
461 (WebCore::sampleGamepads): Ditto.
462 * platform/efl/RenderThemeEfl.cpp:
463 (WebCore::RenderThemeEfl::systemFont): Do not use unnecessary DEFINE_STATIC_LOCAL.
465 2014-01-23 Joseph Pecoraro <pecoraro@apple.com>
467 Move JavaScriptCallFrame and ScriptDebugServer into JavaScriptCore for inspector
468 https://bugs.webkit.org/show_bug.cgi?id=127543
470 Reviewed by Geoffrey Garen.
472 Covered by existing tests.
474 * ForwardingHeaders/inspector/ScriptDebugServer.h: Added.
475 * GNUmakefile.list.am:
477 * WebCore.vcxproj/WebCore.vcxproj:
478 * WebCore.vcxproj/WebCore.vcxproj.filters:
479 * WebCore.xcodeproj/project.pbxproj:
480 * bindings/js/JSBindingsAllInOne.cpp:
481 * inspector/JavaScriptCallFrame.idl: Removed.
482 Update builds now that ScriptDebugServer moved to JavaScriptCore.
484 * bindings/js/PageScriptDebugServer.h:
485 * bindings/js/PageScriptDebugServer.cpp:
486 (WebCore::PageScriptDebugServer::runEventLoopWhilePaused):
487 (WebCore::PageScriptDebugServer::isContentScript):
488 (WebCore::PageScriptDebugServer::reportException):
489 * bindings/js/WorkerScriptDebugServer.h:
490 * bindings/js/WorkerScriptDebugServer.cpp:
491 (WebCore::WorkerScriptDebugServer::runEventLoopWhilePaused):
492 (WebCore::WorkerScriptDebugServer::reportException):
493 Handle ScriptDebugServer functionality depending on WebCore knowledge.
495 * inspector/InspectorDebuggerAgent.h:
496 * inspector/InspectorDebuggerAgent.cpp:
497 (WebCore::InspectorDebuggerAgent::breakpointActionSound):
498 Handle ScriptDebugServer functionality that depended on WebCore knowledge.
499 This will eventually be written in a non-WebCore specific way.
501 * inspector/InspectorRuntimeAgent.cpp:
502 * inspector/InspectorRuntimeAgent.h:
503 Update ScriptDebugServer type now that it is in namespace Inspector.
505 * workers/WorkerGlobalScope.h:
506 Make addConsoleMessage public again so the inspector can call it.
508 * inspector/PageDebuggerAgent.cpp:
509 (WebCore::PageDebuggerAgent::breakpointActionLog):
510 * inspector/PageDebuggerAgent.h:
511 * inspector/WorkerDebuggerAgent.cpp:
512 (WebCore::WorkerDebuggerAgent::breakpointActionLog):
513 * inspector/WorkerDebuggerAgent.h:
514 Let each of these handle console logs in their own way. Both of these
515 eventually go through the PageConsole and log through the InspectorConsoleAgent
518 2014-01-24 Brent Fulgham <bfulgham@apple.com>
520 Improve latching behavior for wheel events
521 https://bugs.webkit.org/show_bug.cgi?id=127386
522 <rdar://problem/12176858>
524 Reviewed by Simon Fraser.
526 * page/scrolling/ScrollingTree.cpp:
527 (WebCore::ScrollingTree::ScrollingTree): Initialize new values used for tracking
528 scroll latching state.
529 (WebCore::ScrollingTree::shouldHandleWheelEventSynchronously): Check for an existing
530 latched node and stay in fast scrolling mode if possible.
531 (WebCore::ScrollingTree::removeDestroyedNodes): Clear latched node if it's being removed.
532 (WebCore::ScrollingTree::latchedNode): Added
533 (WebCore::ScrollingTree::setLatchedNode): Added
534 (WebCore::ScrollingTree::clearLatchedNode): Added
535 * page/scrolling/ScrollingTree.h:
536 (WebCore::ScrollingTree::hasLatchedNode): Added
537 * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
538 (WebCore::shouldConsiderLatching): Added
539 (WebCore::ScrollingTreeScrollingNodeMac::handleWheelEvent): Determine latching state
540 based on wheel event state and position of mouse pointer in the document.
542 2014-01-24 Anders Carlsson <andersca@apple.com>
544 Another attempted build fix.
546 Use wildcards in the the std::duration symbol.
550 2014-01-24 Simon Fraser <simon.fraser@apple.com>
552 Start using the RemoteScrollingCoordinatorProxy on iOS
553 https://bugs.webkit.org/show_bug.cgi?id=127598
555 Reviewed by Tim Horton.
557 Add a scrollPositionChangedViaDelegatedScrolling() function to
558 ScrollingTree, allowing the ScrollingTree to be informed about
559 external sources of scrolling.
561 Also add a convenience getter for nodes, nodeForID().
564 * page/scrolling/ScrollingTree.cpp:
565 (WebCore::ScrollingTree::scrollPositionChangedViaDelegatedScrolling):
566 (WebCore::ScrollingTree::nodeForID):
567 * page/scrolling/ScrollingTree.h:
568 * rendering/RenderLayerCompositor.cpp:
569 (WebCore::RenderLayerCompositor::registerAllViewportConstrainedLayers):
570 To avoid assertions on iOS, bail from iOS WK1 fixed position code if
571 we have a ScrollingCoordinator.
572 (WebCore::RenderLayerCompositor::unregisterAllViewportConstrainedLayers):
575 2014-01-24 Simon Fraser <simon.fraser@apple.com>
577 Add typesafe casts for ScrollingTreeNode classes
578 https://bugs.webkit.org/show_bug.cgi?id=127597
580 Reviewed by Tim Horton.
582 Add a ScrollingNodeType member to ScrollingTreeNodes and
583 use it for type-safe casting.
585 * page/scrolling/ScrollingTreeNode.cpp:
586 (WebCore::ScrollingTreeNode::ScrollingTreeNode):
587 * page/scrolling/ScrollingTreeNode.h:
588 (WebCore::ScrollingTreeNode::nodeType):
589 (WebCore::ScrollingTreeNode::scrollingNodeID):
590 * page/scrolling/ScrollingTreeScrollingNode.cpp:
591 (WebCore::ScrollingTreeScrollingNode::ScrollingTreeScrollingNode):
592 * page/scrolling/ScrollingTreeScrollingNode.h:
593 * page/scrolling/mac/ScrollingTreeFixedNode.h:
594 * page/scrolling/mac/ScrollingTreeFixedNode.mm:
595 (WebCore::ScrollingTreeFixedNode::ScrollingTreeFixedNode):
596 * page/scrolling/mac/ScrollingTreeStickyNode.h:
597 * page/scrolling/mac/ScrollingTreeStickyNode.mm:
598 (WebCore::ScrollingTreeStickyNode::ScrollingTreeStickyNode):
600 2014-01-24 Anders Carlsson <andersca@apple.com>
602 Remove back/forward list related functions from Page
603 https://bugs.webkit.org/show_bug.cgi?id=127596
605 Reviewed by Andreas Kling.
608 * history/BackForwardController.cpp:
609 (WebCore::BackForwardController::canGoBackOrForward):
610 (WebCore::BackForwardController::goBackOrForward):
611 (WebCore::BackForwardController::goBack):
612 (WebCore::BackForwardController::goForward):
613 (WebCore::BackForwardController::count):
614 * page/EventHandler.cpp:
615 (WebCore::EventHandler::defaultBackspaceEventHandler):
619 2014-01-24 Antti Koivisto <antti@apple.com>
621 Update style asynchronously after style sheet load
622 https://bugs.webkit.org/show_bug.cgi?id=127563
624 Reviewed by Andreas Kling.
626 Since we don't attach synchronously we don't need to recalc style synchronously either.
629 (WebCore::Document::didRemoveAllPendingStylesheet):
631 2014-01-24 Zalan Bujtas <zalan@apple.com>
633 Subpixel layout: Default style of input type=checkbox/radio (0.5ex) adds 1px extra margin on both left and right.
634 https://bugs.webkit.org/show_bug.cgi?id=125728
636 Reviewed by Simon Fraser.
638 Using the 0.5ex value to set checkbox/radio left and right margins is a long-standing
639 (khtml) behavior. While it indicates dynamic behavior, in order to get the margins changed,
640 the widget's font size needs to be set, which is rather rare for such input types.
641 It also results in odd layout, where the checkbox's indentation may seem to change randomly.
643 '<input style="font-size: 30px;" type="checkbox">foo' changes neither the checkbox
644 nor the text size, but it indents the line by about 15px.
646 Other browsers (FF, Opera with Presto) disagree and they set static margins values.
647 2px is the current default computed value.
650 (input[type="radio"], input[type="checkbox"]):
652 2014-01-24 Oliver Hunt <oliver@apple.com>
654 Put functions need to take a base object and a this value, and perform type checks on |this|
655 https://bugs.webkit.org/show_bug.cgi?id=127594
657 Reviewed by Geoffrey Garen.
659 Update bindings generator to emit setters with correct type, and perform
660 type checks on |this|, instead of the baseObject.
662 Test: js/dom/dom-as-prototype-assignment-exception.html
664 * bindings/scripts/CodeGeneratorJS.pm:
666 (GenerateImplementation):
668 * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
669 * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
670 * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
671 * bindings/scripts/test/JS/JSTestEventTarget.cpp:
672 * bindings/scripts/test/JS/JSTestException.cpp:
673 * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
674 * bindings/scripts/test/JS/JSTestInterface.cpp:
675 (WebCore::setJSTestInterfaceConstructorImplementsStaticAttr):
676 (WebCore::setJSTestInterfaceImplementsStr2):
677 (WebCore::setJSTestInterfaceImplementsStr3):
678 (WebCore::setJSTestInterfaceImplementsNode):
679 (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr):
680 (WebCore::setJSTestInterfaceSupplementalStr2):
681 (WebCore::setJSTestInterfaceSupplementalStr3):
682 (WebCore::setJSTestInterfaceSupplementalNode):
683 * bindings/scripts/test/JS/JSTestInterface.h:
684 * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
685 * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
686 * bindings/scripts/test/JS/JSTestNode.cpp:
687 * bindings/scripts/test/JS/JSTestObj.cpp:
688 (WebCore::setJSTestObjConstructorStaticStringAttr):
689 (WebCore::setJSTestObjTestSubObjEnabledBySettingConstructor):
690 (WebCore::setJSTestObjEnumAttr):
691 (WebCore::setJSTestObjByteAttr):
692 (WebCore::setJSTestObjOctetAttr):
693 (WebCore::setJSTestObjShortAttr):
694 (WebCore::setJSTestObjUnsignedShortAttr):
695 (WebCore::setJSTestObjLongAttr):
696 (WebCore::setJSTestObjLongLongAttr):
697 (WebCore::setJSTestObjUnsignedLongLongAttr):
698 (WebCore::setJSTestObjStringAttr):
699 (WebCore::setJSTestObjTestObjAttr):
700 (WebCore::setJSTestObjXMLObjAttr):
701 (WebCore::setJSTestObjCreate):
702 (WebCore::setJSTestObjReflectedStringAttr):
703 (WebCore::setJSTestObjReflectedIntegralAttr):
704 (WebCore::setJSTestObjReflectedUnsignedIntegralAttr):
705 (WebCore::setJSTestObjReflectedBooleanAttr):
706 (WebCore::setJSTestObjReflectedURLAttr):
707 (WebCore::setJSTestObjReflectedCustomIntegralAttr):
708 (WebCore::setJSTestObjReflectedCustomBooleanAttr):
709 (WebCore::setJSTestObjReflectedCustomURLAttr):
710 (WebCore::setJSTestObjTypedArrayAttr):
711 (WebCore::setJSTestObjAttrWithGetterException):
712 (WebCore::setJSTestObjAttrWithSetterException):
713 (WebCore::setJSTestObjStringAttrWithGetterException):
714 (WebCore::setJSTestObjStringAttrWithSetterException):
715 (WebCore::setJSTestObjCustomAttr):
716 (WebCore::setJSTestObjWithScriptStateAttribute):
717 (WebCore::setJSTestObjWithScriptExecutionContextAttribute):
718 (WebCore::setJSTestObjWithScriptStateAttributeRaises):
719 (WebCore::setJSTestObjWithScriptExecutionContextAttributeRaises):
720 (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttribute):
721 (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
722 (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
723 (WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
724 (WebCore::setJSTestObjConditionalAttr1):
725 (WebCore::setJSTestObjConditionalAttr2):
726 (WebCore::setJSTestObjConditionalAttr3):
727 (WebCore::setJSTestObjConditionalAttr4Constructor):
728 (WebCore::setJSTestObjConditionalAttr5Constructor):
729 (WebCore::setJSTestObjConditionalAttr6Constructor):
730 (WebCore::setJSTestObjAnyAttribute):
731 (WebCore::setJSTestObjMutablePoint):
732 (WebCore::setJSTestObjImmutablePoint):
733 (WebCore::setJSTestObjStrawberry):
734 (WebCore::setJSTestObjStrictFloat):
735 (WebCore::setJSTestObjId):
736 (WebCore::setJSTestObjReplaceableAttribute):
737 (WebCore::setJSTestObjNullableLongSettableAttribute):
738 (WebCore::setJSTestObjNullableStringValue):
739 (WebCore::setJSTestObjAttributeWithReservedEnumType):
740 * bindings/scripts/test/JS/JSTestObj.h:
741 * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
742 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
743 (WebCore::setJSTestSerializedScriptValueInterfaceValue):
744 (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue):
745 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
746 * bindings/scripts/test/JS/JSTestTypedefs.cpp:
747 (WebCore::setJSTestTypedefsUnsignedLongLongAttr):
748 (WebCore::setJSTestTypedefsImmutableSerializedScriptValue):
749 (WebCore::setJSTestTypedefsAttrWithGetterException):
750 (WebCore::setJSTestTypedefsAttrWithSetterException):
751 (WebCore::setJSTestTypedefsStringAttrWithGetterException):
752 (WebCore::setJSTestTypedefsStringAttrWithSetterException):
753 * bindings/scripts/test/JS/JSTestTypedefs.h:
754 * bindings/scripts/test/JS/JSattribute.cpp:
755 * bindings/scripts/test/JS/JSreadonly.cpp:
757 2014-01-24 Oliver Hunt <oliver@apple.com>
759 Generic JSObject::put should handle static properties in the classinfo hierarchy
760 https://bugs.webkit.org/show_bug.cgi?id=127523
762 Reviewed by Geoffrey Garen.
764 Update the bindings generator to emit the flag indicating the presence
765 of setters, and remove the many (now unnecessary) put overrides.
766 Tested with run-jsc-benchmarks and shows neutral performance. A few of the
767 micro benchmarks actually get a significant performance increase which
770 * bindings/js/JSDOMWindowCustom.cpp:
771 (WebCore::JSDOMWindow::put):
772 We still need a custom call to lookupPut here in order
773 to get the magic security semantics of the window object.
774 * bindings/scripts/CodeGeneratorJS.pm:
776 (prototypeHashTableAccessor):
777 (constructorHashTableAccessor):
778 (GenerateImplementation):
780 (GenerateConstructorHelperMethods):
782 * bindings/js/JSDOMWindowCustom.cpp:
783 (WebCore::JSDOMWindow::put):
784 * bindings/scripts/CodeGeneratorJS.pm:
786 (prototypeHashTableAccessor):
787 (constructorHashTableAccessor):
788 (InstanceOverridesPutImplementation):
789 (InstanceOverridesPutDeclaration):
791 (GenerateImplementation):
793 (GenerateConstructorHelperMethods):
794 * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
795 * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
796 * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
797 * bindings/scripts/test/JS/JSTestEventTarget.cpp:
798 * bindings/scripts/test/JS/JSTestException.cpp:
799 * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
800 * bindings/scripts/test/JS/JSTestInterface.cpp:
801 (WebCore::JSTestInterface::put):
802 * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
803 * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
804 * bindings/scripts/test/JS/JSTestNode.cpp:
805 * bindings/scripts/test/JS/JSTestObj.cpp:
806 * bindings/scripts/test/JS/JSTestObj.h:
807 * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
808 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
809 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
810 * bindings/scripts/test/JS/JSTestTypedefs.cpp:
811 * bindings/scripts/test/JS/JSTestTypedefs.h:
812 * bindings/scripts/test/JS/JSattribute.cpp:
813 * bindings/scripts/test/JS/JSreadonly.cpp:
814 * html/canvas/WebGLRenderingContext.idl:
815 Remove bogus attribute, as it has never been in the spec and should not
818 2014-01-24 Commit Queue <commit-queue@webkit.org>
820 Unreviewed, rolling out r162713.
821 http://trac.webkit.org/changeset/162713
822 https://bugs.webkit.org/show_bug.cgi?id=127593
824 broke media/network-no-source-const-shadow (Requested by
827 * bindings/js/JSDOMWindowCustom.cpp:
828 (WebCore::JSDOMWindow::put):
829 * bindings/scripts/CodeGeneratorJS.pm:
831 (prototypeHashTableAccessor):
832 (constructorHashTableAccessor):
834 (GenerateImplementation):
836 (GenerateConstructorHelperMethods):
837 * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
838 * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
839 * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
840 * bindings/scripts/test/JS/JSTestEventTarget.cpp:
841 * bindings/scripts/test/JS/JSTestException.cpp:
842 * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
843 * bindings/scripts/test/JS/JSTestInterface.cpp:
844 (WebCore::JSTestInterface::put):
845 * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
846 * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
847 * bindings/scripts/test/JS/JSTestNode.cpp:
848 * bindings/scripts/test/JS/JSTestObj.cpp:
849 (WebCore::JSTestObj::put):
850 * bindings/scripts/test/JS/JSTestObj.h:
851 * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
852 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
853 (WebCore::JSTestSerializedScriptValueInterface::put):
854 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
855 * bindings/scripts/test/JS/JSTestTypedefs.cpp:
856 (WebCore::JSTestTypedefs::put):
857 * bindings/scripts/test/JS/JSTestTypedefs.h:
858 * bindings/scripts/test/JS/JSattribute.cpp:
859 * bindings/scripts/test/JS/JSreadonly.cpp:
860 * html/canvas/WebGLRenderingContext.idl:
862 2014-01-24 Zalan Bujtas <zalan@apple.com>
864 Replace LayoutUnit() calls to a more descriptive LayoutUnit::fromPixel(int).
865 https://bugs.webkit.org/show_bug.cgi?id=127580
867 Reviewed by Simon Fraser.
869 LayoutUnit(1) statement is ambiguous. While it is intended to set one (CSS) pixel, it
870 could be interpreted as 1 layout unit (1/64th of a CSS pixel atm).
872 No change in behavior.
874 * inspector/InspectorOverlay.cpp:
875 (WebCore::buildObjectForRegionHighlight):
876 * rendering/FloatingObjects.cpp:
877 (WebCore::ComputeFloatOffsetForFloatLayoutAdapter<FloatTypeValue>::heightRemaining):
878 * rendering/RenderBlock.cpp:
879 (WebCore::RenderBlock::layoutShapeInsideInfo):
880 * rendering/RenderBlockFlow.cpp:
881 (WebCore::RenderBlockFlow::collapseMargins):
882 * rendering/RenderFlexibleBox.cpp:
883 (WebCore::RenderFlexibleBox::mainAxisContentExtent):
884 (WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild):
885 (WebCore::RenderFlexibleBox::alignChildren):
886 * rendering/RenderMultiColumnFlowThread.cpp:
887 (WebCore::RenderMultiColumnFlowThread::addForcedRegionBreak):
888 * rendering/RenderMultiColumnSet.cpp:
889 (WebCore::RenderMultiColumnSet::heightAdjustedForSetOffset):
890 (WebCore::RenderMultiColumnSet::calculateBalancedHeight):
892 2014-01-24 Simon Fraser <simon.fraser@apple.com>
894 Prepare scrolling tree to handle > 1 scrolling node
895 https://bugs.webkit.org/show_bug.cgi?id=127590
897 Reviewed by Tim Horton.
899 Clean up the code path called after the ScrollingTree has scrolled a node,
900 to prepare for multiple scrolling nodes.
902 Change "updateMainFrameScrollPosition" terminology to "updateScrollPositionAfterAsyncScroll",
903 and pass along the ScrollingNodeID that scrolled.
905 Move updateMainFrameScrollPosition-related code from ScrollingCoordinator to
906 AsyncScrollingCoordinator, since this sync-up is only necessary when doing
910 * page/scrolling/AsyncScrollingCoordinator.cpp:
911 (WebCore::AsyncScrollingCoordinator::AsyncScrollingCoordinator):
912 (WebCore::AsyncScrollingCoordinator::requestScrollPositionUpdate):
913 (WebCore::AsyncScrollingCoordinator::scheduleUpdateScrollPositionAfterAsyncScroll):
914 (WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScrollTimerFired):
915 (WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll):
916 * page/scrolling/AsyncScrollingCoordinator.h:
917 (WebCore::AsyncScrollingCoordinator::ScheduledScrollUpdate::ScheduledScrollUpdate):
918 (WebCore::AsyncScrollingCoordinator::ScheduledScrollUpdate::matchesUpdateType):
919 Package up the data related to a scheduled scroll into a ScheduledScrollUpdate struct,
920 for easier comparison and cleaner code.
921 * page/scrolling/ScrollingCoordinator.cpp:
922 (WebCore::ScrollingCoordinator::ScrollingCoordinator):
923 * page/scrolling/ScrollingCoordinator.h:
924 * page/scrolling/ScrollingTree.h:
925 * page/scrolling/ThreadedScrollingTree.cpp:
926 (WebCore::ThreadedScrollingTree::scrollingTreeNodeDidScroll):
927 * page/scrolling/ThreadedScrollingTree.h:
928 * page/scrolling/ios/ScrollingTreeIOS.cpp:
929 (WebCore::ScrollingTreeIOS::scrollingTreeNodeDidScroll):
930 * page/scrolling/ios/ScrollingTreeIOS.h:
931 * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm:
932 (WebCore::ScrollingTreeScrollingNodeIOS::setScrollPositionWithoutContentEdgeConstraints):
933 * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
934 (WebCore::ScrollingTreeScrollingNodeMac::setScrollPositionWithoutContentEdgeConstraints):
936 2014-01-24 Mark Lam <mark.lam@apple.com>
938 ASSERT(!m_markedSpace.m_currentDelayedReleaseScope) reloading page in inspector.
939 <https://webkit.org/b/127582>
941 Reviewed by Mark Hahnenberg.
945 * bindings/js/ScriptController.cpp:
946 (WebCore::ScriptController::attachDebugger):
947 * bindings/js/WorkerScriptController.cpp:
948 (WebCore::WorkerScriptController::detachDebugger):
949 - Adding reasons for detaching a globalObject from the debugger.
951 2014-01-24 Zalan Bujtas <zalan@apple.com>
953 Subpixel rendering: Make PaintInfo layout unit aware.
954 https://bugs.webkit.org/show_bug.cgi?id=127562
956 Reviewed by Simon Fraser.
958 Replace PaintInfo's IntRect with LayoutRect to be able to render to
961 No functional changes.
963 * platform/graphics/LayoutRect.h:
964 * rendering/PaintInfo.h:
965 (WebCore::PaintInfo::PaintInfo):
966 (WebCore::PaintInfo::applyTransform):
967 * rendering/RenderBlock.cpp:
968 (WebCore::RenderBlock::paint):
969 * rendering/RenderBoxModelObject.cpp:
970 (WebCore::RenderBoxModelObject::paintFillLayerExtended):
971 * rendering/RenderLayer.cpp:
972 (WebCore::cornerRect):
973 (WebCore::RenderLayer::scrollCornerRect):
974 (WebCore::resizerCornerRect):
975 (WebCore::RenderLayer::scrollCornerAndResizerRect):
976 (WebCore::RenderLayer::horizontalScrollbarStart):
977 (WebCore::RenderLayer::drawPlatformResizerImage):
978 (WebCore::RenderLayer::paintResizer):
979 (WebCore::RenderLayer::hitTestOverflowControls):
980 * rendering/RenderLayer.h:
981 * rendering/RenderLayerBacking.cpp:
982 (WebCore::RenderLayerBacking::paintContents):
983 * rendering/RenderListBox.cpp:
984 (WebCore::RenderListBox::paintScrollbar):
985 * rendering/RenderWidget.cpp:
986 (WebCore::RenderWidget::paintContents):
987 * rendering/mathml/RenderMathMLOperator.cpp:
988 (WebCore::RenderMathMLOperator::fillWithExtensionGlyph):
989 * rendering/svg/SVGRenderingContext.h:
991 2014-01-24 Simon Fraser <simon.fraser@apple.com>
993 #ifdef out handleWheelEventPhase for iOS
994 https://bugs.webkit.org/show_bug.cgi?id=127583
996 Reviewed by Tim Horton.
998 handleWheelEventPhase() doesn't make any sense for iOS, which
1001 * page/scrolling/ScrollingTree.h:
1002 * page/scrolling/ThreadedScrollingTree.cpp:
1003 * page/scrolling/ThreadedScrollingTree.h:
1004 * page/scrolling/ios/ScrollingTreeIOS.h:
1006 2014-01-24 David Hyatt <hyatt@apple.com>
1008 [New Multicolumn] Don't destroy all the renderers when a multi-column block stops being multi-column (and vice versa)
1009 https://bugs.webkit.org/show_bug.cgi?id=127584
1011 Make the logic for when you need columns and when you don't shared between the
1012 old multi-column code and the new multi-column code. Make sure that the flow thread
1013 and sets get created lazily and destroyed on-demand when whether or not we should
1014 have multiple columns changes.
1016 Reviewed by Beth Dakin.
1018 * rendering/RenderBlock.cpp:
1019 (WebCore::RenderBlock::updateLogicalWidthAndColumnWidth):
1020 No longer virtual. The new column code now uses this function too.
1022 (WebCore::RenderBlock::availableLogicalWidth):
1023 Renamed desiredColumnWidth() to computedColumnWidth().
1025 (WebCore::RenderBlock::computeColumnCountAndWidth):
1026 Renamed calcColumnWidth to computeColumnCountAndWidth.
1028 (WebCore::RenderBlock::setComputedColumnCountAndWidth):
1029 Rename setDesiredColumnCountAndWidth to computed.
1031 (WebCore::RenderBlock::computedColumnWidth):
1032 (WebCore::RenderBlock::computedColumnCount):
1033 Renamed desiredColumnWidth/Count to computedColumnWidth/Count and made them virtual.
1035 (WebCore::RenderBlock::updateFirstLetterStyle):
1036 desired -> computed rename.
1038 * rendering/RenderBlock.h:
1039 Renames and made a few functions virtual so that RenderBlockFlow can override.
1041 * rendering/RenderBlockFlow.cpp:
1042 (WebCore::RenderBlockFlow::RenderBlockFlow):
1043 Don't create the flow thread at construction time any longer.
1045 (WebCore::RenderBlockFlow::createMultiColumnFlowThread):
1046 (WebCore::RenderBlockFlow::destroyMultiColumnFlowThread):
1047 The methods to create and destroy flow threads. These work at any time now and will
1048 fix up the render tree accordingly.
1050 (WebCore::RenderBlockFlow::setComputedColumnCountAndWidth):
1051 Virtual override that creates/destroys the new multi-column information as needed.
1053 (WebCore::RenderBlockFlow::computedColumnWidth):
1054 (WebCore::RenderBlockFlow::computedColumnCount):
1055 Overrides to return the cached column width and count from the flow thread.
1057 * rendering/RenderBlockFlow.h:
1058 Has overrides of the virtual functions needed to turn multi-column state on/off and
1059 to hand back computed count/width information.
1061 * rendering/RenderMultiColumnFlowThread.cpp:
1062 * rendering/RenderMultiColumnFlowThread.h:
1063 Removed the algorithm to compute column count and width, since this has been combined
1064 with the old multi-column layout code.
1066 * rendering/RenderView.cpp:
1067 (WebCore::RenderView::computeColumnCountAndWidth):
1068 Renamed desired -> computed.
1070 * rendering/RenderView.h:
1071 Renamed desired -> computed.
1073 * style/StyleResolveTree.cpp:
1074 (WebCore::Style::determineChange):
1075 (WebCore::Style::resolveLocal):
1076 (WebCore::Style::resolveTree):
1077 * style/StyleResolveTree.h:
1078 The Settings argument is no longer needed now that we don't destroy and re-create
1079 the renderer for a block flow if it stops being (or becomes) multi-column.
1081 2014-01-24 Anders Carlsson <andersca@apple.com>
1087 2014-01-24 Brent Fulgham <bfulgham@apple.com>
1089 [Win] Convert some NMake files to MSBuild project files
1090 https://bugs.webkit.org/show_bug.cgi?id=127579
1092 Reviewed by Tim Horton.
1094 * WebCore.vcxproj/WebCore.make: Removed.
1095 * WebCore.vcxproj/WebCore.proj: Added.
1097 2014-01-24 Joseph Pecoraro <pecoraro@apple.com>
1099 fast/profiler tests ASSERTing after moving recompileAllJSFunctions off a timer
1100 https://bugs.webkit.org/show_bug.cgi?id=127566
1102 Reviewed by Oliver Hunt.
1104 Covered by existing tests.
1106 * testing/Internals.cpp:
1107 (WebCore::Internals::closeDummyInspectorFrontend):
1108 Now that we don't have to fake that this is a page being destroyed to
1109 avoid recompilation. Use the InspectorDestroyed reason.
1111 2014-01-24 Anders Carlsson <andersca@apple.com>
1113 Get rid of monotonicallyIncreasingTimeMS and start using std::chrono instead
1114 https://bugs.webkit.org/show_bug.cgi?id=127571
1116 Reviewed by Antti Koivisto.
1122 (WebCore::Document::Document):
1123 (WebCore::Document::implicitClose):
1124 (WebCore::Document::setParsing):
1125 (WebCore::Document::isLayoutTimerActive):
1126 (WebCore::Document::minimumLayoutDelay):
1127 (WebCore::Document::elapsedTime):
1128 (WebCore::Document::write):
1129 (WebCore::Document::styleResolverChanged):
1131 Use std::chrono instead of doubles for the times and durations.
1133 * fileapi/FileReader.cpp:
1134 (WebCore::FileReader::FileReader):
1135 (WebCore::FileReader::didReceiveData):
1136 * fileapi/FileReader.h:
1137 Switch over to std::chrono.
1139 * page/FrameView.cpp:
1140 (WebCore::FrameView::layout):
1141 (WebCore::FrameView::layoutTimerFired):
1142 (WebCore::FrameView::scheduleRelayout):
1143 (WebCore::FrameView::scheduleRelayoutOfSubtree):
1144 Update for Document::elapsedTime() changes.
1146 * page/Settings.cpp:
1147 (WebCore::Settings::setLayoutInterval):
1149 (WebCore::Settings::layoutInterval):
1150 Change layoutInterval to be std::chrono::milliseconds instead of int.
1153 (WebCore::TimerBase::startOneShot):
1154 Add an overload that takes std::chrono::milliseconds.
1156 2014-01-24 Oliver Hunt <oliver@apple.com>
1158 Generic JSObject::put should handle static properties in the classinfo hierarchy
1159 https://bugs.webkit.org/show_bug.cgi?id=127523
1161 Reviewed by Geoffrey Garen.
1163 Update the bindings generator to emit the flag indicating the presence
1164 of setters, and remove the many (now unnecessary) put overrides.
1165 Tested with run-jsc-benchmarks and shows neutral performance. A few of the
1166 micro benchmarks actually get a significant performance increase which
1169 * bindings/js/JSDOMWindowCustom.cpp:
1170 (WebCore::JSDOMWindow::put):
1171 We still need a custom call to lookupPut here in order
1172 to get the magic security semantics of the window object.
1173 * bindings/scripts/CodeGeneratorJS.pm:
1174 (hashTableAccessor):
1175 (prototypeHashTableAccessor):
1176 (constructorHashTableAccessor):
1177 (GenerateImplementation):
1178 (GenerateHashTable):
1179 (GenerateConstructorHelperMethods):
1181 * bindings/js/JSDOMWindowCustom.cpp:
1182 (WebCore::JSDOMWindow::put):
1183 * bindings/scripts/CodeGeneratorJS.pm:
1184 (hashTableAccessor):
1185 (prototypeHashTableAccessor):
1186 (constructorHashTableAccessor):
1187 (InstanceOverridesPutImplementation):
1188 (InstanceOverridesPutDeclaration):
1190 (GenerateImplementation):
1191 (GenerateHashTable):
1192 (GenerateConstructorHelperMethods):
1193 * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
1194 * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
1195 * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
1196 * bindings/scripts/test/JS/JSTestEventTarget.cpp:
1197 * bindings/scripts/test/JS/JSTestException.cpp:
1198 * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
1199 * bindings/scripts/test/JS/JSTestInterface.cpp:
1200 (WebCore::JSTestInterface::put):
1201 * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
1202 * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
1203 * bindings/scripts/test/JS/JSTestNode.cpp:
1204 * bindings/scripts/test/JS/JSTestObj.cpp:
1205 * bindings/scripts/test/JS/JSTestObj.h:
1206 * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
1207 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
1208 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
1209 * bindings/scripts/test/JS/JSTestTypedefs.cpp:
1210 * bindings/scripts/test/JS/JSTestTypedefs.h:
1211 * bindings/scripts/test/JS/JSattribute.cpp:
1212 * bindings/scripts/test/JS/JSreadonly.cpp:
1213 * html/canvas/WebGLRenderingContext.idl:
1214 Remove bogus attribute, as it has never been in the spec and should not
1217 2014-01-24 David Hyatt <hyatt@apple.com>
1219 [New Multicolumn] Eliminate RenderMultiColumnBlock
1220 https://bugs.webkit.org/show_bug.cgi?id=127565
1222 Reviewed by Antti Koivisto.
1224 This patch eliminates RenderMultiColumnBlock and folds all of its remaining code
1225 back into RenderBlockFlow. This allows all block flows to support multi-column
1226 layout, including table cells, list items, and the RenderView itself.
1230 * WebCore.vcxproj/WebCore.vcxproj:
1231 * WebCore.vcxproj/WebCore.vcxproj.filters:
1232 * WebCore.xcodeproj/project.pbxproj:
1233 Remove RenderMultiColumnBlock from the makefiles.
1235 * rendering/RenderBlock.cpp:
1236 (WebCore::RenderBlock::adjustIntrinsicLogicalWidthsForColumns):
1237 Tweak the comment, since it was no longer accurate.
1239 * rendering/RenderBlock.h:
1240 Move some functions down into RenderBlockFlow.
1242 * rendering/RenderBlockFlow.cpp:
1243 (WebCore::RenderBlockFlow::RenderBlockFlow):
1244 (WebCore::RenderBlockFlow::createMultiColumnFlowThreadIfNeeded):
1245 (WebCore::RenderBlockFlow::styleDidChange):
1246 (WebCore::RenderBlockFlow::relayoutForPagination):
1247 (WebCore::RenderBlockFlow::layoutSpecialExcludedChild):
1248 (WebCore::RenderBlockFlow::updateLogicalWidthAndColumnWidth):
1249 (WebCore::RenderBlockFlow::addChild):
1250 (WebCore::RenderBlockFlow::checkForPaginationLogicalHeightChange):
1251 * rendering/RenderBlockFlow.h:
1252 Move a bunch of functions from RenderMultiColumnBlock up into RenderBlockFlow.
1254 * rendering/RenderBox.cpp:
1255 (WebCore::RenderBox::isUnsplittableForPagination):
1256 Calls isMultiColumnBlockFlow() now instead of testing for a specific renderer type.
1258 * rendering/RenderElement.cpp:
1259 (WebCore::RenderElement::createFor):
1260 Remove the multicolumn block creation code, since we always make a block flow now.
1262 * rendering/RenderMultiColumnBlock.cpp: Removed.
1263 * rendering/RenderMultiColumnBlock.h: Removed.
1266 * rendering/RenderMultiColumnFlowThread.cpp:
1267 (WebCore::RenderMultiColumnFlowThread::initialLogicalWidth):
1268 (WebCore::RenderMultiColumnFlowThread::autoGenerateRegionsToBlockOffset):
1269 * rendering/RenderMultiColumnSet.cpp:
1270 (WebCore::RenderMultiColumnSet::heightAdjustedForSetOffset):
1271 (WebCore::RenderMultiColumnSet::addForcedBreak):
1272 (WebCore::RenderMultiColumnSet::recalculateBalancedHeight):
1273 (WebCore::RenderMultiColumnSet::updateLogicalWidth):
1274 (WebCore::RenderMultiColumnSet::prepareForLayout):
1275 (WebCore::RenderMultiColumnSet::columnGap):
1276 (WebCore::RenderMultiColumnSet::paintColumnRules):
1277 Change all of the functions in the multicolumnset and multicolumnflowthread classes
1278 to cast the parent to a RenderBlockFlow now instead of a RenderMultiColumnBlock.
1279 Change the code to call through to multiColumnFlowThread() for column-specific information
1280 for that parent block.
1282 * rendering/RenderObject.h:
1283 (WebCore::RenderObject::isMultiColumnBlockFlow):
1284 Remove isRenderMultiColumnBlock() and replace with isMultiColumnBlockFlow().
1286 * rendering/RenderingAllInOne.cpp:
1287 Remove RenderMultiColumnBlock include.
1289 2014-01-24 Brady Eidson <beidson@apple.com>
1291 IDB: support createIndex/deleteIndex messaging
1292 https://bugs.webkit.org/show_bug.cgi?id=127546
1294 Reviewed by Tim Horton.
1296 * WebCore.exp.in: Export a needed CrossThreadCopier
1298 2014-01-24 Daniel Bates <dabates@apple.com>
1300 Fix the Windows build after <http://trac.webkit.org/changeset/162704>
1301 (https://bugs.webkit.org/show_bug.cgi?id=127293)
1303 Only include TargetConditionals.h when building on a Darwin-based OS.
1304 Also, check that TARGET_OS_IPHONE is defined before referencing its value
1305 since it will be undefined when building on Windows.
1307 * bindings/objc/PublicDOMInterfaces.h:
1309 2014-01-24 Daniel Bates <dabates@apple.com>
1311 Bindings generation tests hit an error trying to include wtf/Platform.h after r161638
1312 https://bugs.webkit.org/show_bug.cgi?id=127293
1314 Reviewed by Alexey Proskuryakov.
1316 Include TargetConditionals.h instead of wtf/Platform.h as the latter isn't available
1319 As a side effect of this change, replace usage of PLATFORM(IOS) with TARGET_OS_IPHONE.
1321 * bindings/objc/PublicDOMInterfaces.h:
1323 2014-01-21 David Hyatt <hyatt@apple.com>
1325 [New Multicolumn] Table cells and list items need to work as multicolumn blocks.
1326 https://bugs.webkit.org/show_bug.cgi?id=127365
1328 This patch is a first step towards eliminating RenderMultiColumnBlock and moving
1329 all its functionality into RenderBlockFlow. Doing so will allow table cells, list
1330 items and the RenderView to use the new multi-column layout.
1332 Reviewed by Simon Fraser.
1334 * rendering/RenderBlockFlow.cpp:
1335 (WebCore::RenderBlockFlow::setMultiColumnFlowThread):
1336 * rendering/RenderBlockFlow.h:
1337 (WebCore::RenderBlockFlow::RenderBlockFlowRareData::RenderBlockFlowRareData):
1338 (WebCore::RenderBlockFlow::multiColumnFlowThread):
1339 Add the flow thread pointer to the multi-column flow thread to RenderBlockFlow's
1340 rare data. This lets us use only one pointer in the rare data to point to an object
1341 that can hold all of the rest of the multi-column info.
1343 * rendering/RenderMultiColumnBlock.cpp:
1344 (WebCore::RenderMultiColumnBlock::RenderMultiColumnBlock):
1345 Move the construction of the flow thread to the constructor. This ensures we
1346 never have a null flow thread and lets us avoid having to null check it for
1347 empty multi-column blocks.
1349 (WebCore::RenderMultiColumnBlock::columnHeightAvailable):
1350 (WebCore::RenderMultiColumnBlock::columnWidth):
1351 (WebCore::RenderMultiColumnBlock::columnCount):
1352 (WebCore::RenderMultiColumnBlock::updateLogicalWidthAndColumnWidth):
1353 The above functions now call through to the multi-column flow thread for results.
1355 (WebCore::RenderMultiColumnBlock::checkForPaginationLogicalHeightChange):
1356 Set the column height available on the flow thread.
1358 (WebCore::RenderMultiColumnBlock::relayoutForPagination):
1359 The balancing pass and guard is in the multi-column flow thread now.
1361 (WebCore::RenderMultiColumnBlock::addChild):
1362 Don't have to create the flow thread here any longer, since we do it up front
1363 in the constructor of RenderMultiColumnBlock.
1365 (WebCore::RenderMultiColumnBlock::layoutSpecialExcludedChild):
1366 Don't need the null check of the flow thread any more.
1368 * rendering/RenderMultiColumnBlock.h:
1369 Change the inlined functions to not be inlined, since they need to call
1370 RenderMultiColumnFlowThread functions now.
1372 * rendering/RenderMultiColumnFlowThread.cpp:
1373 (WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread):
1374 Init the new member variables we moved here from RenderMultiColumnBlock.
1376 (WebCore::RenderMultiColumnFlowThread::computeColumnCountAndWidth):
1377 Moved from RenderMultiColumnBlock.
1379 * rendering/RenderMultiColumnFlowThread.h:
1380 Add public getters/setters to the member variables so that RenderMultiColumnBlock can
1381 still see them. Move the member variables here from RenderMultiColumnBlock.
1383 * rendering/RenderMultiColumnSet.cpp:
1384 (WebCore::RenderMultiColumnSet::calculateBalancedHeight):
1385 (WebCore::RenderMultiColumnSet::prepareForLayout):
1386 (WebCore::RenderMultiColumnSet::columnCount):
1387 Call through to the flow thread instead.
1389 2014-01-24 Zan Dobersek <zdobersek@igalia.com>
1391 Unreviewed GTK build fix after r162663.
1393 * platform/gtk/ScrollViewGtk.cpp:
1394 (WebCore::ScrollView::visibleContentRectInternal): Renamed from visibleContentRect.
1396 2014-01-24 Zan Dobersek <zdobersek@igalia.com>
1398 Move HistoryItem to std::unique_ptr
1399 https://bugs.webkit.org/show_bug.cgi?id=127275
1401 Reviewed by Darin Adler.
1403 Replace the uses of OwnPtr and PassOwnPtr in the HistoryItem class with std::unique_ptr.
1405 * history/HistoryItem.cpp:
1406 (WebCore::HistoryItem::HistoryItem):
1407 (WebCore::HistoryItem::reset):
1408 (WebCore::HistoryItem::addRedirectURL):
1409 (WebCore::HistoryItem::setRedirectURLs):
1410 * history/HistoryItem.h:
1411 * history/mac/HistoryItemMac.mm:
1412 (WebCore::HistoryItem::setTransientProperty):
1413 WebCore.exp.in: Update the symbol.
1415 2014-01-23 Morten Stenshorne <mstensho@opera.com>
1417 Region based multicol: unresolvable percent height results in 1px tall multicol
1418 https://bugs.webkit.org/show_bug.cgi?id=122826
1420 Reviewed by David Hyatt.
1422 If a box has a percentage height, but the computed height of its
1423 containing block is auto, the computed height of the box also becomes
1424 auto. computeContentLogicalHeight() returns -1 if the height isn't
1425 resolvable, and we need to make sure that such a value doesn't
1426 constrain the height of the multicol container.
1428 Tests: fast/multicol/newmulticol/unresolvable-percent-height-2.html
1429 fast/multicol/newmulticol/unresolvable-percent-height.html
1430 fast/multicol/newmulticol/unresolvable-percent-max-height-2.html
1431 fast/multicol/newmulticol/unresolvable-percent-max-height.html
1433 * rendering/RenderMultiColumnSet.cpp:
1434 (WebCore::RenderMultiColumnSet::RenderMultiColumnSet):
1435 (WebCore::RenderMultiColumnSet::calculateBalancedHeight):
1436 (WebCore::RenderMultiColumnSet::recalculateBalancedHeight):
1437 (WebCore::RenderMultiColumnSet::prepareForLayout):
1439 2014-01-23 Joseph Pecoraro <pecoraro@apple.com>
1441 Move ContentSearchUtils, ScriptBreakpoint, and ScriptDebugListener into JavaScriptCore for inspector
1442 https://bugs.webkit.org/show_bug.cgi?id=127537
1444 Reviewed by Timothy Hatcher.
1446 - Rename ContentSearchUtils => ContentSearchUtilities and move to JavaScriptCore.
1447 - Move ScriptBreakpoint and ScriptDebugListener to JavaScriptCore.
1448 - Move them all to namespace Inspector.
1449 - Update build files and users to the new names.
1451 No change in functionality, just moving code.
1454 * ForwardingHeaders/inspector/ContentSearchUtilities.h: Added.
1455 * ForwardingHeaders/inspector/ScriptBreakpoint.h: Added.
1456 * ForwardingHeaders/inspector/ScriptDebugListener.h: Added.
1457 * GNUmakefile.list.am:
1458 * WebCore.vcxproj/WebCore.vcxproj:
1459 * WebCore.vcxproj/WebCore.vcxproj.filters:
1460 * WebCore.xcodeproj/project.pbxproj:
1461 * bindings/js/PageScriptDebugServer.cpp:
1462 * bindings/js/PageScriptDebugServer.h:
1463 * bindings/js/ScriptDebugServer.cpp:
1464 * bindings/js/ScriptDebugServer.h:
1465 * bindings/js/WorkerScriptDebugServer.cpp:
1466 * bindings/js/WorkerScriptDebugServer.h:
1467 * inspector/InspectorAllInOne.cpp:
1468 * inspector/InspectorDebuggerAgent.cpp:
1469 (WebCore::InspectorDebuggerAgent::searchInContent):
1470 (WebCore::InspectorDebuggerAgent::sourceMapURLForScript):
1471 (WebCore::InspectorDebuggerAgent::didParseSource):
1472 * inspector/InspectorDebuggerAgent.h:
1473 * inspector/InspectorPageAgent.cpp:
1474 (WebCore::InspectorPageAgent::sourceMapURLForResource):
1475 (WebCore::InspectorPageAgent::searchInResource):
1476 (WebCore::InspectorPageAgent::searchInResources):
1477 * inspector/InspectorStyleSheet.cpp:
1478 (WebCore::buildSourceRangeObject):
1479 (WebCore::InspectorStyleSheet::lineEndings):
1480 (WebCore::InspectorStyleSheetForInlineStyle::lineEndings):
1482 2014-01-23 Joseph Pecoraro <pecoraro@apple.com>
1484 Move RegularExpression into JavaScriptCore for inspector
1485 https://bugs.webkit.org/show_bug.cgi?id=127526
1487 Reviewed by Geoffrey Garen.
1489 Update as appropriate for the moved file and namespace
1490 change for class RegularExpression.
1493 * ForwardingHeaders/yarr/RegularExpression.h: Added.
1494 * GNUmakefile.list.am:
1496 * WebCore.vcxproj/WebCore.vcxproj:
1497 * WebCore.vcxproj/WebCore.vcxproj.filters:
1498 * WebCore.xcodeproj/project.pbxproj:
1499 * dom/DOMImplementation.h:
1500 * html/BaseCheckableInputType.cpp:
1501 * html/BaseTextInputType.cpp:
1502 (WebCore::BaseTextInputType::patternMismatch):
1503 * html/EmailInputType.cpp:
1504 (WebCore::isValidEmailAddress):
1505 * html/InputType.cpp:
1506 * inspector/ContentSearchUtils.cpp:
1507 (WebCore::ContentSearchUtils::getRegularExpressionMatchesByLines):
1508 (WebCore::ContentSearchUtils::createSearchRegex):
1509 (WebCore::ContentSearchUtils::countRegularExpressionMatches):
1510 (WebCore::ContentSearchUtils::searchInTextByLines):
1511 * inspector/ContentSearchUtils.h:
1512 * inspector/InspectorDebuggerAgent.cpp:
1514 (WebCore::InspectorDebuggerAgent::breakpointActionLog):
1515 (WebCore::InspectorDebuggerAgent::breakpointActionSound):
1516 * inspector/InspectorDebuggerAgent.h:
1517 * inspector/InspectorPageAgent.cpp:
1518 (WebCore::InspectorPageAgent::searchInResources):
1519 * inspector/InspectorPageAgent.h:
1520 * inspector/InspectorRuntimeAgent.cpp:
1521 * inspector/InspectorRuntimeAgent.h:
1522 * inspector/InspectorStyleSheet.cpp:
1523 (WebCore::selectorsFromSource):
1524 * inspector/WorkerDebuggerAgent.cpp:
1526 (WebCore::createRegExpForLabels):
1527 (WebCore::Frame::searchForLabelsAboveCell):
1528 (WebCore::Frame::searchForLabelsBeforeElement):
1529 (WebCore::matchLabelsAgainstString):
1531 * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
1532 (WebCore::GraphicsContext3D::getUnmangledInfoLog):
1534 2014-01-23 Brady Eidson <beidson@apple.com>
1536 IDB: Support IDBObjectStore.clear()
1537 https://bugs.webkit.org/show_bug.cgi?id=127541
1539 Reviewed by Anders Carlsson.
1541 The backing store should never be performing callbacks directly:
1542 * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
1543 (WebCore::IDBServerConnectionLevelDB::clearObjectStore):
1545 Instead, the transaction operations should do that themselves:
1546 * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
1547 (WebCore::ClearObjectStoreOperation::perform):
1548 * Modules/indexeddb/IDBTransactionBackendOperations.h:
1549 (WebCore::ClearObjectStoreOperation::transaction):
1551 2014-01-23 Dan Bernstein <mitz@apple.com>
1553 <rdar://problem/15875326> REGRESSION (r162257): Assertion failure (should not be reached) in CSSPreloadScanner::tokenize()
1554 https://bugs.webkit.org/show_bug.cgi?id=127540
1556 Reviewed by Anders Carlsson.
1558 No new tests, because I could not reproduce the bug reliably and I don’t know how to trigger
1561 * html/parser/CSSPreloadScanner.cpp:
1562 (WebCore::CSSPreloadScanner::scan): Check for the DoneParsingImportRules before tokenizing
1563 a character, not after. This restores the logic from before r162257.
1565 2014-01-23 Jer Noble <jer.noble@apple.com>
1567 [iOS] Protect against possbile deadlock by delaying video layer creation
1568 https://bugs.webkit.org/show_bug.cgi?id=127505
1570 Reviewed by Eric Carlson.
1572 Work around a possible deadlock on iOS when creating a media element
1573 backed by AVFoundation by delaying creation of the AVPlayerLayer.
1574 The deadlock can occur when the web thread is doing CALayer layout
1575 while taking the web thread lock, while CoreMedia is doing property
1576 access on an async thread while taking the CM lock, and each is waiting
1577 for the other's lock to be released.
1579 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1580 (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer):
1582 2014-01-23 Jer Noble <jer.noble@apple.com>
1584 [MSE][Mac] Crash when reloading a page during playback
1585 https://bugs.webkit.org/show_bug.cgi?id=126903
1587 Reviewed by Eric Carlson.
1589 Periodic time observers added to AVSampleBufferRenderSynchronizer will execute their
1590 callback block even after being removed with -removeTimeObserver:, which is tracked by
1591 <rdar://problem/15798050>. Work around this problem by passing a WeakPtr into the block
1592 and bail early if the owning media player has been destroyed.
1594 * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
1595 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::createWeakPtr):
1596 * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
1597 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::MediaPlayerPrivateMediaSourceAVFObjC):
1599 2014-01-23 ChangSeok Oh <changseok.oh@collabora.com>
1601 Dragging from inner side of video to outside causes a crash
1602 https://bugs.webkit.org/show_bug.cgi?id=126338
1604 Reviewed by Jer Noble.
1606 The crash happens while dragging mouse cursor through timeline control to outside
1607 of video region. This is beacause media controls are selected with the drag.
1608 The media controls disappear when mouse cursor goes outside of video though
1609 the dragging/selection proceeds. If once media controls are hidden, related element
1610 lose their renderers. However the drag is still under going. it requires shadowPseudoId
1611 of the selected controls. Untorntunately, SliderThumbElement/SliderContainerElement
1612 don't return a static value for the shadowPseudoId unlike other media controls,
1613 but they need a renderer to determine it. This is the reason of crash.
1615 Test: media/media-controller-drag-crash.html
1617 * html/shadow/SliderThumbElement.cpp:
1618 (WebCore::SliderThumbElement::shadowPseudoId):
1619 (WebCore::SliderContainerElement::shadowPseudoId):
1621 2014-01-23 Brady Eidson <beidson@apple.com>
1623 IDB: Implement SQLite backing store 'get' support
1624 https://bugs.webkit.org/show_bug.cgi?id=127502
1626 Reviewed by Tim Horton.
1628 Get a KeyRange from a KeyRangeData:
1629 * Modules/indexeddb/IDBKeyRangeData.cpp:
1630 (WebCore::IDBKeyRangeData::maybeCreateIDBKeyRange):
1631 * Modules/indexeddb/IDBKeyRangeData.h:
1633 Add collation function support to SQLiteDatabase:
1634 * platform/sql/SQLiteDatabase.cpp:
1635 (WebCore::destroyCollationFunction):
1636 (WebCore::callCollationFunction):
1637 (WebCore::SQLiteDatabase::setCollationFunction):
1638 (WebCore::SQLiteDatabase::removeCollationFunction):
1639 * platform/sql/SQLiteDatabase.h:
1643 2014-01-23 Jon Honeycutt <jhoneycutt@apple.com>
1645 Assertion failure in WebCore::PseudoElement::didRecalcStyle()
1646 <https://bugs.webkit.org/show_bug.cgi?id=126761>
1647 <rdar://problem/15793540>
1649 Reviewed by Andy Estes.
1651 Test: fast/images/animate-list-item-image-assertion.html
1653 * dom/PseudoElement.cpp:
1654 (WebCore::PseudoElement::didRecalcStyle):
1655 Check isRenderImage() rather than isImage() before casting to
1658 * editing/ios/EditorIOS.mm:
1659 (WebCore::getImage):
1662 * editing/mac/EditorMac.mm:
1663 (WebCore::getImage):
1666 * html/HTMLImageElement.cpp:
1667 (WebCore::HTMLImageElement::parseAttribute):
1668 (WebCore::HTMLImageElement::didAttachRenderers):
1671 * loader/ImageLoader.cpp:
1672 (WebCore::ImageLoader::renderImageResource):
1675 * page/DragController.cpp:
1676 (WebCore::getCachedImage):
1679 * rendering/RenderLayerBacking.cpp:
1680 (WebCore::RenderLayerBacking::isDirectlyCompositedImage):
1681 (WebCore::RenderLayerBacking::updateImageContents):
1684 2014-01-23 Joseph Pecoraro <pecoraro@apple.com>
1686 Web Inspector: Remove recompileAllJSFunctions timer in ScriptDebugServer
1687 https://bugs.webkit.org/show_bug.cgi?id=127409
1689 Reviewed by Geoffrey Garen.
1691 Covered by existing tests.
1693 * bindings/js/ScriptDebugServer.h:
1694 * bindings/js/ScriptDebugServer.cpp:
1695 (WebCore::ScriptDebugServer::ScriptDebugServer):
1696 Remove m_recompileTimer and the recompile soon function.
1697 We can just recompile immediately in all existing cases.
1699 * bindings/js/PageScriptDebugServer.h:
1700 * bindings/js/PageScriptDebugServer.cpp:
1701 (WebCore::PageScriptDebugServer::addListener):
1702 (WebCore::PageScriptDebugServer::removeListener):
1703 (WebCore::PageScriptDebugServer::recompileAllJSFunctions):
1704 (WebCore::PageScriptDebugServer::didAddFirstListener):
1705 (WebCore::PageScriptDebugServer::didRemoveLastListener):
1706 Add a "didAddFirstListener" to match "didRemoveLastListener".
1707 Only recompile functions when we attach the debugger and when
1708 we detach the last listener.
1710 * bindings/js/WorkerScriptDebugServer.cpp:
1711 (WebCore::WorkerScriptDebugServer::addListener):
1712 (WebCore::WorkerScriptDebugServer::removeListener):
1713 (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
1714 Same thing. Also rearrange the functions to read better.
1716 * inspector/InspectorProfilerAgent.cpp:
1717 Use the direct recompile function instead of the removed "soon" version.
1720 Update disconnectFrontend symbol.
1722 * page/PageDebuggable.cpp:
1723 (WebCore::PageDebuggable::disconnect):
1724 * testing/Internals.cpp:
1725 (WebCore::Internals::closeDummyInspectorFrontend):
1726 * workers/WorkerMessagingProxy.cpp:
1727 (WebCore::disconnectFromWorkerGlobalScopeInspectorTask):
1728 Include an InspectorDisconnectReason when calling disconnectFrontend.
1730 * inspector/InspectorDatabaseAgent.h:
1731 * inspector/InspectorDebuggerAgent.cpp:
1732 (WebCore::InspectorDebuggerAgent::disable):
1733 (WebCore::InspectorDebuggerAgent::willDestroyFrontendAndBackend):
1734 If the disconnect reason is the page will be destroyed, don't recompile when disconnecting.
1736 * inspector/InspectorProfilerAgent.h:
1737 * inspector/InspectorProfilerAgent.cpp:
1738 (WebCore::InspectorProfilerAgent::enable):
1739 (WebCore::InspectorProfilerAgent::disable):
1740 (WebCore::InspectorProfilerAgent::willDestroyFrontendAndBackend):
1741 If the disconnect reason is the page will be destroyed, don't recompile when disconnecting.
1743 * inspector/InspectorController.h:
1744 * inspector/InspectorController.cpp:
1745 (WebCore::InspectorController::inspectedPageDestroyed):
1746 (WebCore::InspectorController::disconnectFrontend):
1747 (WebCore::InspectorController::close):
1748 Pass different reasons for the different disconnect reasons.
1750 * inspector/WorkerInspectorController.h:
1751 * inspector/WorkerInspectorController.cpp:
1752 (WebCore::WorkerInspectorController::~WorkerInspectorController):
1753 (WebCore::WorkerInspectorController::disconnectFrontend):
1754 Pass different reasons for the different disconnect reasons.
1756 * inspector/InspectorApplicationCacheAgent.cpp:
1757 (WebCore::InspectorApplicationCacheAgent::willDestroyFrontendAndBackend):
1758 * inspector/InspectorApplicationCacheAgent.h:
1759 * inspector/InspectorCSSAgent.cpp:
1760 (WebCore::InspectorCSSAgent::willDestroyFrontendAndBackend):
1761 * inspector/InspectorCSSAgent.h:
1762 * inspector/InspectorCanvasAgent.cpp:
1763 (WebCore::InspectorCanvasAgent::willDestroyFrontendAndBackend):
1764 * inspector/InspectorCanvasAgent.h:
1765 * inspector/InspectorConsoleAgent.cpp:
1766 (WebCore::InspectorConsoleAgent::willDestroyFrontendAndBackend):
1767 * inspector/InspectorConsoleAgent.h:
1768 * inspector/InspectorDOMAgent.cpp:
1769 (WebCore::InspectorDOMAgent::willDestroyFrontendAndBackend):
1770 * inspector/InspectorDOMAgent.h:
1771 * inspector/InspectorDOMDebuggerAgent.cpp:
1772 (WebCore::InspectorDOMDebuggerAgent::willDestroyFrontendAndBackend):
1773 * inspector/InspectorDOMDebuggerAgent.h:
1774 * inspector/InspectorDOMStorageAgent.cpp:
1775 (WebCore::InspectorDOMStorageAgent::willDestroyFrontendAndBackend):
1776 * inspector/InspectorDOMStorageAgent.h:
1777 * inspector/InspectorDatabaseAgent.cpp:
1778 (WebCore::InspectorDatabaseAgent::willDestroyFrontendAndBackend):
1779 * inspector/InspectorDebuggerAgent.h:
1780 * inspector/InspectorHeapProfilerAgent.cpp:
1781 (WebCore::InspectorHeapProfilerAgent::willDestroyFrontendAndBackend):
1782 * inspector/InspectorHeapProfilerAgent.h:
1783 * inspector/InspectorIndexedDBAgent.cpp:
1784 (WebCore::InspectorIndexedDBAgent::willDestroyFrontendAndBackend):
1785 * inspector/InspectorIndexedDBAgent.h:
1786 * inspector/InspectorInputAgent.cpp:
1787 (WebCore::InspectorInputAgent::willDestroyFrontendAndBackend):
1788 * inspector/InspectorInputAgent.h:
1789 * inspector/InspectorLayerTreeAgent.cpp:
1790 (WebCore::InspectorLayerTreeAgent::willDestroyFrontendAndBackend):
1791 * inspector/InspectorLayerTreeAgent.h:
1792 * inspector/InspectorMemoryAgent.cpp:
1793 (WebCore::InspectorMemoryAgent::willDestroyFrontendAndBackend):
1794 * inspector/InspectorMemoryAgent.h:
1795 * inspector/InspectorPageAgent.cpp:
1796 (WebCore::InspectorPageAgent::willDestroyFrontendAndBackend):
1797 * inspector/InspectorPageAgent.h:
1798 * inspector/InspectorResourceAgent.cpp:
1799 (WebCore::InspectorResourceAgent::willDestroyFrontendAndBackend):
1800 * inspector/InspectorResourceAgent.h:
1801 * inspector/InspectorTimelineAgent.cpp:
1802 (WebCore::InspectorTimelineAgent::willDestroyFrontendAndBackend):
1803 * inspector/InspectorTimelineAgent.h:
1804 * inspector/InspectorWorkerAgent.cpp:
1805 (WebCore::InspectorWorkerAgent::willDestroyFrontendAndBackend):
1806 * inspector/InspectorWorkerAgent.h:
1807 * inspector/PageDebuggerAgent.cpp:
1808 (WebCore::PageDebuggerAgent::disable):
1809 (WebCore::PageDebuggerAgent::stopListeningScriptDebugServer):
1810 * inspector/PageDebuggerAgent.h:
1811 * inspector/PageRuntimeAgent.cpp:
1812 (WebCore::PageRuntimeAgent::willDestroyFrontendAndBackend):
1813 * inspector/PageRuntimeAgent.h:
1814 * inspector/WorkerDebuggerAgent.cpp:
1815 (WebCore::WorkerDebuggerAgent::stopListeningScriptDebugServer):
1816 * inspector/WorkerDebuggerAgent.h:
1817 * inspector/WorkerRuntimeAgent.cpp:
1818 (WebCore::WorkerRuntimeAgent::willDestroyFrontendAndBackend):
1819 * inspector/WorkerRuntimeAgent.h:
1820 Include InspectorDisconnectReason param.
1822 2014-01-23 Simon Fraser <simon.fraser@apple.com>
1824 Another Windows fix: include <algorithm> for std::min and std::max.
1826 * platform/graphics/IntSize.h:
1828 2014-01-23 Simon Fraser <simon.fraser@apple.com>
1830 Try to fix Windows build.
1832 * platform/win/PopupMenuWin.cpp:
1833 (WebCore::PopupMenuWin::visibleSize):
1834 * platform/win/PopupMenuWin.h:
1836 2014-01-23 Simon Fraser <simon.fraser@apple.com>
1838 Make visibleContentRect() return actualVisibleContentRect() on iOS most of the time
1839 https://bugs.webkit.org/show_bug.cgi?id=127456
1841 Reviewed by Antti Koivisto.
1843 On iOS, visibleContentRect() returns the entire document rect for historical
1844 reasons, and actualVisibleContentRect() returns what visibleContentRect()
1845 returns on other platforms.
1847 In addition, actualVisibleContentRect() was returning an empty rect in WK2.
1849 Reduce the confusion of #ifdefs by making visibleContentRect() behave like
1850 actualVisibleContentRect() by default on iOS. Where it needs the old behavior,
1851 an optional parameter, LegacyIOSDocumentVisibleRect, provides this.
1853 Achieve this by having the virtual ScrollableArea::visibleContentRectInternal(),
1854 which is called by non-virtual visibleContentRect() and visibleContentRectIncludingScrollbars().
1856 Similarly clean up visibleHeight/visibleWidth functions by having visibleSize() be virtual,
1857 with non-virtual visibleHeight() and visibleWidth().
1859 ScrollableArea subclasses override visibleContentRectInternal() and visibleSize() where necessary.
1861 Mechanically change all the call sites of actualVisibleContentRect() to
1862 use visibleContentRect(), and the call sites of visibleContentRect()
1863 to visibleContentRect(..., LegacyIOSDocumentVisibleRect), adding comments
1864 where this may not be appropriate.
1866 Change callers of visibleContentRect(IncludeScrollbars...) to visibleContentRectIncludingScrollbars().
1868 Also add actualScrollPosition(), and clean up some actualScroll* call sites.
1873 * accessibility/AccessibilityObject.cpp:
1874 (WebCore::AccessibilityObject::isOnscreen):
1875 (WebCore::AccessibilityObject::scrollToMakeVisibleWithSubFocus):
1876 * accessibility/AccessibilityRenderObject.cpp:
1877 (WebCore::AccessibilityRenderObject::isOffScreen):
1879 (WebCore::Document::adjustFloatQuadsForScrollAndAbsoluteZoomAndFrameScale):
1880 (WebCore::Document::adjustFloatRectForScrollAndAbsoluteZoomAndFrameScale):
1881 * dom/MouseRelatedEvent.cpp:
1882 (WebCore::MouseRelatedEvent::MouseRelatedEvent):
1883 * editing/Editor.cpp:
1884 (WebCore::Editor::countMatchesForText):
1885 * editing/FrameSelection.cpp:
1886 (WebCore::FrameSelection::bounds):
1887 (WebCore::FrameSelection::getClippedVisibleTextRectangles):
1888 * html/HTMLBodyElement.cpp:
1889 (WebCore::HTMLBodyElement::scrollLeft):
1890 (WebCore::HTMLBodyElement::scrollTop):
1891 * html/ImageDocument.cpp:
1892 (WebCore::ImageDocument::imageFitsInWindow):
1893 (WebCore::ImageDocument::windowSizeChanged):
1894 * inspector/InspectorOverlay.cpp:
1895 (WebCore::InspectorOverlay::update):
1896 * page/DOMWindow.cpp:
1897 (WebCore::DOMWindow::innerHeight):
1898 (WebCore::DOMWindow::innerWidth):
1899 (WebCore::DOMWindow::scrollX):
1900 (WebCore::DOMWindow::scrollY):
1901 (WebCore::DOMWindow::scrollBy):
1902 * page/FrameView.cpp:
1903 (WebCore::FrameView::calculateScrollbarModesForLayout):
1904 (WebCore::FrameView::layout):
1905 (WebCore::FrameView::scrollContentsSlowPath):
1906 (WebCore::FrameView::repaintContentRectangle):
1907 (WebCore::FrameView::sendResizeEventIfNeeded):
1908 (WebCore::FrameView::windowClipRect):
1909 (WebCore::FrameView::isScrollable):
1910 (WebCore::FrameView::paintControlTints):
1911 * page/SpatialNavigation.cpp:
1912 (WebCore::canScrollInDirection):
1913 * platform/ScrollView.cpp:
1914 (WebCore::ScrollView::unscaledVisibleContentSize):
1915 (WebCore::ScrollView::visibleContentRectInternal):
1916 (WebCore::ScrollView::updateScrollbars):
1917 (WebCore::ScrollView::paint):
1918 * platform/ScrollView.h:
1919 (WebCore::ScrollView::scrollOffset):
1920 (WebCore::ScrollView::actualScrollX):
1921 (WebCore::ScrollView::actualScrollY):
1922 (WebCore::ScrollView::actualScrollPosition):
1923 * platform/ScrollableArea.cpp:
1924 (WebCore::ScrollableArea::visibleContentRect):
1925 (WebCore::ScrollableArea::visibleContentRectIncludingScrollbars):
1926 (WebCore::ScrollableArea::visibleContentRectInternal):
1927 * platform/ScrollableArea.h:
1928 (WebCore::ScrollableArea::visibleWidth):
1929 (WebCore::ScrollableArea::visibleHeight):
1930 * platform/graphics/IntSize.h:
1931 (WebCore::IntSize::expandedTo): Drive-by cleanup.
1932 (WebCore::IntSize::shrunkTo):
1933 * platform/gtk/ScrollViewGtk.cpp:
1934 (WebCore::ScrollView::visibleContentRect):
1935 * rendering/RenderLayer.cpp:
1936 (WebCore::RenderLayer::scrollRectToVisible):
1937 (WebCore::RenderLayer::maximumScrollPosition):
1938 (WebCore::RenderLayer::visibleContentRectInternal):
1939 (WebCore::RenderLayer::hitTest):
1940 * rendering/RenderLayer.h:
1941 * rendering/RenderLayerBacking.cpp:
1942 (WebCore::RenderLayerBacking::updateCompositedBounds):
1943 * rendering/RenderListBox.cpp:
1944 * rendering/RenderListBox.h:
1945 * rendering/RenderView.cpp:
1946 (WebCore::RenderView::viewRect):
1947 (WebCore::RenderView::viewportSize):
1949 2014-01-20 Myles C. Maxfield <mmaxfield@apple.com>
1951 Turn text-decoration-skip: ink on for all underlines
1952 https://bugs.webkit.org/show_bug.cgi?id=127331
1954 Reviewed by Antti Koivisto.
1956 No new tests are necessary because tests already exist
1958 * rendering/style/RenderStyle.h:
1960 2014-01-23 Hans Muller <hmuller@adobe.com>
1962 [CSS Shapes] Image valued shape size and position should conform to the spec
1963 https://bugs.webkit.org/show_bug.cgi?id=123295
1965 Reviewed by Andreas Kling.
1967 Implement image valued shape-outside scaling and translation per the spec,
1968 http://dev.w3.org/csswg/css-shapes/#shapes-from-image:
1970 "The image is sized and positioned as if it were a replaced element whose
1971 specified width and height are the same as the element’s used content box size."
1973 This change doesn't completely fulfill the spec, it's limited to image elements
1976 Tests: fast/shapes/shape-outside-floats/shape-outside-image-fit-001.html
1977 fast/shapes/shape-outside-floats/shape-outside-image-fit-002.html
1978 fast/shapes/shape-outside-floats/shape-outside-image-fit-003.html
1979 fast/shapes/shape-outside-floats/shape-outside-image-fit-004.html
1981 * rendering/shapes/Shape.h:
1982 * rendering/shapes/Shape.cpp:
1983 (WebCore::Shape::createRasterShape):
1984 Added an imageRect parameter which specifies where the shape image is to
1985 appear relative to the content box. The imageRect implies both scaling and
1986 translation of the shape image.
1988 * rendering/shapes/ShapeInfo.cpp:
1989 (WebCore::ShapeInfo<RenderType>::computedShape):
1990 (WebCore::getShapeImageRect):
1991 For replaced elements, compute the shape's imageRect with
1992 RenderReplaced::replacedContentRect().
1995 2014-01-23 Max Vujovic <mvujovic@adobe.com>
1997 Remove CSS Custom Filters code and tests
1998 https://bugs.webkit.org/show_bug.cgi?id=127382
2000 Reviewed by Simon Fraser.
2002 No new tests. Removing functionality.
2005 * Configurations/FeatureDefines.xcconfig:
2006 * DerivedSources.cpp:
2007 * DerivedSources.make:
2008 * GNUmakefile.list.am:
2010 * WebCore.vcxproj/WebCore.vcxproj:
2011 * WebCore.vcxproj/WebCore.vcxproj.filters:
2012 * WebCore.xcodeproj/project.pbxproj:
2013 * bindings/js/JSCSSRuleCustom.cpp:
2015 * bindings/js/JSCSSValueCustom.cpp:
2017 * bindings/objc/DOMCSS.mm:
2019 * css/CSSComputedStyleDeclaration.cpp:
2020 (WebCore::ComputedStyleExtractor::valueForFilter):
2021 (WebCore::ComputedStyleExtractor::propertyValue):
2022 * css/CSSComputedStyleDeclaration.h:
2023 * css/CSSGrammar.y.in:
2024 * css/CSSParser.cpp:
2025 (WebCore::CSSParserContext::CSSParserContext):
2026 (WebCore::operator==):
2027 (WebCore::CSSParser::CSSParser):
2028 (WebCore::CSSParser::parseValue):
2029 (WebCore::filterInfoForName):
2030 (WebCore::CSSParser::parseFilter):
2031 (WebCore::CSSParser::detectAtToken):
2033 * css/CSSParserMode.h:
2034 * css/CSSPropertyNames.in:
2035 * css/CSSPropertySourceData.h:
2039 (WebCore::CSSValue::equals):
2040 (WebCore::CSSValue::cssText):
2041 (WebCore::CSSValue::destroy):
2042 (WebCore::CSSValue::cloneForCSSOM):
2044 * css/CSSValueKeywords.in:
2045 * css/StyleResolver.cpp:
2046 (WebCore::StyleResolver::State::clear):
2047 (WebCore::StyleResolver::applyProperty):
2048 (WebCore::filterOperationForType):
2049 (WebCore::StyleResolver::createFilterOperations):
2050 (WebCore::StyleResolver::loadPendingResources):
2051 * css/StyleResolver.h:
2052 (WebCore::StyleResolver::State::State):
2053 * css/StyleRule.cpp:
2054 (WebCore::StyleRuleBase::destroy):
2055 (WebCore::StyleRuleBase::copy):
2056 (WebCore::StyleRuleBase::createCSSOMWrapper):
2058 * css/StyleSheetContents.cpp:
2059 (WebCore::childRulesHaveFailedOrCanceledSubresources):
2060 * css/WebKitCSSArrayFunctionValue.cpp: Removed.
2061 * css/WebKitCSSArrayFunctionValue.h: Removed.
2062 * css/WebKitCSSFilterRule.cpp: Removed.
2063 * css/WebKitCSSFilterRule.h: Removed.
2064 * css/WebKitCSSFilterRule.idl: Removed.
2065 * css/WebKitCSSFilterValue.cpp:
2066 (WebCore::WebKitCSSFilterValue::WebKitCSSFilterValue):
2067 (WebCore::WebKitCSSFilterValue::customCSSText):
2068 * css/WebKitCSSFilterValue.h:
2069 * css/WebKitCSSFilterValue.idl:
2070 * css/WebKitCSSMatFunctionValue.cpp: Removed.
2071 * css/WebKitCSSMatFunctionValue.h: Removed.
2072 * css/WebKitCSSMixFunctionValue.cpp: Removed.
2073 * css/WebKitCSSMixFunctionValue.h: Removed.
2074 * css/WebKitCSSMixFunctionValue.idl: Removed.
2075 * css/WebKitCSSShaderValue.cpp: Removed.
2076 * css/WebKitCSSShaderValue.h: Removed.
2077 * loader/cache/CachedResource.cpp:
2078 (WebCore::defaultPriorityForResourceType):
2079 * loader/cache/CachedResource.h:
2080 * loader/cache/CachedResourceLoader.cpp:
2081 (WebCore::createResource):
2082 (WebCore::CachedResourceLoader::checkInsecureContent):
2083 (WebCore::CachedResourceLoader::canRequest):
2084 * loader/cache/CachedResourceLoader.h:
2085 * loader/cache/CachedShader.cpp: Removed.
2086 * loader/cache/CachedShader.h: Removed.
2087 * page/Settings.cpp:
2088 (WebCore::Settings::Settings):
2090 * page/animation/CSSPropertyAnimation.cpp:
2091 (WebCore::blendFilter):
2092 * platform/graphics/ca/mac/PlatformCALayerMac.mm:
2093 (PlatformCALayerMac::filtersCanBeComposited):
2094 * platform/graphics/filters/CustomFilterArrayParameter.h: Removed.
2095 * platform/graphics/filters/CustomFilterColorParameter.h: Removed.
2096 * platform/graphics/filters/CustomFilterCompiledProgram.cpp: Removed.
2097 * platform/graphics/filters/CustomFilterCompiledProgram.h: Removed.
2098 * platform/graphics/filters/CustomFilterConstants.h: Removed.
2099 * platform/graphics/filters/CustomFilterGlobalContext.cpp: Removed.
2100 * platform/graphics/filters/CustomFilterGlobalContext.h: Removed.
2101 * platform/graphics/filters/CustomFilterMesh.cpp: Removed.
2102 * platform/graphics/filters/CustomFilterMesh.h: Removed.
2103 * platform/graphics/filters/CustomFilterMeshGenerator.cpp: Removed.
2104 * platform/graphics/filters/CustomFilterMeshGenerator.h: Removed.
2105 * platform/graphics/filters/CustomFilterNumberParameter.h: Removed.
2106 * platform/graphics/filters/CustomFilterOperation.cpp: Removed.
2107 * platform/graphics/filters/CustomFilterOperation.h: Removed.
2108 * platform/graphics/filters/CustomFilterParameter.h: Removed.
2109 * platform/graphics/filters/CustomFilterParameterList.cpp: Removed.
2110 * platform/graphics/filters/CustomFilterParameterList.h: Removed.
2111 * platform/graphics/filters/CustomFilterProgram.cpp: Removed.
2112 * platform/graphics/filters/CustomFilterProgram.h: Removed.
2113 * platform/graphics/filters/CustomFilterProgramClient.h: Removed.
2114 * platform/graphics/filters/CustomFilterProgramInfo.cpp: Removed.
2115 * platform/graphics/filters/CustomFilterProgramInfo.h: Removed.
2116 * platform/graphics/filters/CustomFilterRenderer.cpp: Removed.
2117 * platform/graphics/filters/CustomFilterRenderer.h: Removed.
2118 * platform/graphics/filters/CustomFilterTransformParameter.h: Removed.
2119 * platform/graphics/filters/CustomFilterValidatedProgram.cpp: Removed.
2120 * platform/graphics/filters/CustomFilterValidatedProgram.h: Removed.
2121 * platform/graphics/filters/FECustomFilter.cpp: Removed.
2122 * platform/graphics/filters/FECustomFilter.h: Removed.
2123 * platform/graphics/filters/FilterOperation.h:
2124 * platform/graphics/filters/FilterOperations.cpp:
2125 (WebCore::FilterOperations::outsets):
2126 * platform/graphics/filters/FilterOperations.h:
2127 * platform/graphics/filters/ValidatedCustomFilterOperation.cpp: Removed.
2128 * platform/graphics/filters/ValidatedCustomFilterOperation.h: Removed.
2129 * platform/graphics/filters/texmap/CustomFilterValidatedProgramTextureMapper.cpp: Removed.
2130 * platform/graphics/filters/texmap/TextureMapperPlatformCompiledProgram.h: Removed.
2131 * platform/graphics/gpu/Texture.cpp:
2132 * platform/graphics/texmap/TextureMapper.h:
2133 * platform/graphics/texmap/TextureMapperGL.cpp:
2134 (WebCore::getPassesRequiredForFilter):
2135 (WebCore::BitmapTextureGL::applyFilters):
2136 * platform/graphics/texmap/TextureMapperGL.h:
2137 * platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:
2138 (WebCore::CompositingCoordinator::clearPendingStateChanges):
2139 (WebCore::CompositingCoordinator::syncLayerState):
2140 * platform/graphics/texmap/coordinated/CompositingCoordinator.h:
2141 * platform/graphics/texmap/coordinated/CoordinatedCustomFilterOperation.h: Removed.
2142 * platform/graphics/texmap/coordinated/CoordinatedCustomFilterProgram.h: Removed.
2143 * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
2144 (WebCore::CoordinatedGraphicsScene::setLayerFiltersIfNeeded):
2145 (WebCore::CoordinatedGraphicsScene::commitSceneState):
2146 (WebCore::CoordinatedGraphicsScene::setLayerAnimationsIfNeeded):
2147 * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
2148 * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:
2149 * rendering/FilterEffectRenderer.cpp:
2150 (WebCore::FilterEffectRenderer::FilterEffectRenderer):
2151 (WebCore::FilterEffectRenderer::build):
2152 (WebCore::FilterEffectRenderer::computeSourceImageRectForDirtyRect):
2153 * rendering/FilterEffectRenderer.h:
2154 * rendering/RenderLayer.cpp:
2155 (WebCore::RenderLayer::setFilterBackendNeedsRepaintingInRect):
2156 (WebCore::RenderLayer::calculateClipRects):
2157 * rendering/RenderLayer.h:
2158 * rendering/RenderLayerBacking.cpp:
2159 (WebCore::RenderLayerBacking::updateFilters):
2160 * rendering/RenderLayerFilterInfo.cpp:
2161 (WebCore::RenderLayer::FilterInfo::~FilterInfo):
2162 * rendering/RenderLayerFilterInfo.h:
2163 * rendering/RenderView.cpp:
2164 * rendering/RenderView.h:
2165 * rendering/style/StyleCachedShader.cpp: Removed.
2166 * rendering/style/StyleCachedShader.h: Removed.
2167 * rendering/style/StyleCustomFilterProgram.cpp: Removed.
2168 * rendering/style/StyleCustomFilterProgram.h: Removed.
2169 * rendering/style/StyleCustomFilterProgramCache.cpp: Removed.
2170 * rendering/style/StyleCustomFilterProgramCache.h: Removed.
2171 * rendering/style/StylePendingShader.h: Removed.
2172 * rendering/style/StyleShader.h: Removed.
2174 2014-01-22 Jon Honeycutt <jhoneycutt@apple.com>
2176 REGRESSION(r161967): Crash in WebCore::CachedSVGDocumentReference::load
2177 <https://webkit.org/b/127151>
2178 <rdar://problem/15840760>
2180 There were two issues introduced here; the first is a use-after-free of
2181 CachedSVGDocumentReference objects.
2183 The previous code kept a map from FilterOperation ->
2184 RefPtr<WebKitCSSSVGDocumentValue>, which retained the
2185 CachedSVGDocument. In r161967, this was changed to use a weak HashSet,
2186 which allows stale CachedSVGDocumentReferences in the pending document
2187 set if the owning FilterOperation is deleted. To fix this, we'll keep a
2188 vector of RefPtr<FilterOperation> with pending SVG documents.
2190 The second issue is a null deref in CachedSVGDocumentReference::load();
2191 CachedResourceLoader::requestSVGDocument() can return 0 if (for
2192 example) an invalid URL is passed. r161967 removed a null check as part
2195 Reviewed by Dirk Schulze.
2197 Tests: css3/filters/crash-filter-animation-invalid-url.html
2198 css3/filters/crash-invalid-url.html
2200 * css/StyleResolver.cpp:
2201 (WebCore::StyleResolver::State::clear):
2202 Use new member var name.
2203 (WebCore::StyleResolver::loadPendingSVGDocuments):
2204 For each FilterOperation with a pending SVG document, get or create a
2205 CachedSVGDocumentReference, and tell it to load. Changed to use new
2207 (WebCore::StyleResolver::createFilterOperations):
2208 Append the FilterOperation to the list of FilterOperations with
2209 unloaded SVG documents.
2211 * css/StyleResolver.h:
2212 Changed from using PendingSVGDocumentSet, a weak set, to
2213 a Vector<RefPtr<ReferenceFilterOperation>>.
2214 (WebCore::StyleResolver::State::filtersWithPendingSVGDocuments):
2217 * loader/cache/CachedSVGDocumentReference.cpp:
2218 (WebCore::CachedSVGDocumentReference::~CachedSVGDocumentReference):
2219 Null check m_document rather than checking m_loadRequested.
2220 m_loadRequested may be true when m_document is 0.
2221 (WebCore::CachedSVGDocumentReference::load):
2222 Null check the result of CachedResourceLoader::requestSVGDocument().
2224 * platform/graphics/filters/FilterOperation.cpp:
2225 (WebCore::ReferenceFilterOperation::getOrCreateCachedSVGDocumentReference):
2226 Create, if necessary, and return the CachedSVGDocumentReference.
2228 * platform/graphics/filters/FilterOperation.h:
2229 Replaced createCachedSVGDocumentReference() with
2230 getOrCreateCachedSVGDocumentReference(), which makes for slightly
2233 2014-01-23 Antti Koivisto <antti@apple.com>
2235 Don't enable speculative tiles immediately after main load stops progressing
2236 https://bugs.webkit.org/show_bug.cgi?id=127507
2238 Reviewed by Andreas Kling.
2240 It is common for timers and events to trigger more loading after the initial main frame loading
2241 has completed. We should delay a bit before enabling speculative tiles and keep them disabled
2242 if loading still continues.
2244 * page/FrameView.cpp:
2245 (WebCore::FrameView::FrameView):
2246 (WebCore::FrameView::adjustTiledBackingCoverage):
2247 (WebCore::shouldEnableSpeculativeTilingDuringLoading):
2248 (WebCore::FrameView::enableSpeculativeTilingIfNeeded):
2250 When load progression stops wait 0.5s before enabling speculative tiles.
2252 (WebCore::FrameView::speculativeTilingEnableTimerFired):
2254 Don't enable speculative tiles if the progression has started again. Instead restart the timer.
2257 * rendering/RenderLayerBacking.cpp:
2258 (WebCore::RenderLayerBacking::RenderLayerBacking):
2259 (WebCore::computeTileCoverage):
2261 Move the FrameView level code to FrameView (so we don't need to add a timer to every RenderLayerBacking).
2263 * rendering/RenderLayerBacking.h:
2265 2014-01-23 Antti Koivisto <antti@apple.com>
2267 Loads started soon after main frame completion should be considered part of the main load
2268 https://bugs.webkit.org/show_bug.cgi?id=127504
2270 Reviewed by Andreas Kling.
2272 ProgressTracker currently decides that main load is complete when the main frame stops loading.
2273 However it is common that timers and onload events trigger more loads immediately (for example
2274 by inserting iframes) and loading continues visually. These should be considered as part of the
2275 main load for paint throttling and speculative tiling coverage purposes.
2277 * loader/ProgressTracker.cpp:
2278 (WebCore::ProgressTracker::ProgressTracker):
2279 (WebCore::ProgressTracker::progressStarted):
2281 Track whether this is considered part of the main load or not with a boolean.
2282 It is set for subframe loads too if they start loading soon (within 1s) after the main frame load completes.
2284 (WebCore::ProgressTracker::finalProgressComplete):
2288 (WebCore::ProgressTracker::isMainLoadProgressing):
2290 New definition of "main load".
2292 * loader/ProgressTracker.h:
2294 2014-01-23 peavo@outlook.com <peavo@outlook.com>
2296 [WinCairo] Compile error.
2297 https://bugs.webkit.org/show_bug.cgi?id=127499
2299 Reviewed by Brent Fulgham.
2301 * platform/network/curl/ResourceError.h: Include <winsock2.h> before <curl/curl.h>.
2303 2014-01-23 Brady Eidson <beidson@apple.com>
2305 IDB: Implement cross-thread and IPC plumbing for 'get' support
2306 https://bugs.webkit.org/show_bug.cgi?id=127501
2308 Reviewed by Anders Carlsson.
2310 Add isolatedCopy to the IDBGetResult object:
2311 * Modules/indexeddb/IDBGetResult.h:
2312 (WebCore::IDBGetResult::isolatedCopy):
2314 Add a cross-thread and cross-IPC appropriate object for IDBKeyRanges:
2315 * Modules/indexeddb/IDBKeyRangeData.cpp: Copied from Source/WebCore/Modules/indexeddb/IDBGetResult.h.
2316 (WebCore::IDBKeyRangeData::isolatedCopy):
2317 * Modules/indexeddb/IDBKeyRangeData.h: Copied from Source/WebCore/Modules/indexeddb/IDBGetResult.h.
2318 (WebCore::IDBKeyRangeData::IDBKeyRangeData):
2320 Add a few more cross-thread copiers:
2321 * platform/CrossThreadCopier.cpp:
2322 (WebCore::IDBGetResult>::copy):
2323 (WebCore::IDBKeyRangeData>::copy):
2324 * platform/CrossThreadCopier.h:
2328 * GNUmakefile.list.am:
2330 * WebCore.xcodeproj/project.pbxproj:
2332 2014-01-23 Jer Noble <jer.noble@apple.com>
2334 [MSE][Mac] Adopt new AVStreamDataParser delegate API
2335 https://bugs.webkit.org/show_bug.cgi?id=127498
2337 Reviewed by Eric Carlson.
2339 Adopt a new delegate API which passes in whether or not the new AVAsset
2340 is discontinuous, implying the AVAsset is entirely new rather than
2341 just updated with new information.
2343 * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
2344 (-[WebAVStreamDataParserListener streamDataParser:didParseStreamDataAsAsset:withDiscontinuity:]):
2346 2014-01-23 Tim Horton <timothy_horton@apple.com>
2348 PDFPlugin: Use PDFPlugin even if there's an external plugin installed, if it's blocked
2349 https://bugs.webkit.org/show_bug.cgi?id=127415
2350 <rdar://problem/12482452>
2352 Reviewed by Sam Weinig.
2354 * English.lproj/Localizable.strings:
2356 * platform/LocalizedStrings.cpp:
2357 (WebCore::useBlockedPlugInContextMenuTitle):
2358 * platform/LocalizedStrings.h:
2359 Add a localizable string for the generic case, where the client
2360 didn't provide a more specific string for the context menu item.
2362 2014-01-23 peavo@outlook.com <peavo@outlook.com>
2364 [Curl] There is no way to specify cache folder.
2365 https://bugs.webkit.org/show_bug.cgi?id=125028
2367 Reviewed by Brent Fulgham.
2369 Fixed logical test, disc cache should be disabled if creating cache folder fails.
2371 * platform/network/curl/CurlCacheManager.cpp:
2372 (WebCore::CurlCacheManager::setCacheDirectory):
2374 2014-01-23 Brady Eidson <beidson@apple.com>
2376 Unreviewed build fix.
2378 * WebCore.xcodeproj/project.pbxproj: Export the new header so WebKit can see it
2380 2014-01-22 Brent Fulgham <bfulgham@apple.com>
2382 [Win] Update project and solution files for 64-bit builds
2383 https://bugs.webkit.org/show_bug.cgi?id=127457
2385 Reviewed by Eric Carlson.
2387 * WebCore.vcxproj/QTMovieWin/QTMovieWin.vcxproj: Update for VS2013
2388 * WebCore.vcxproj/WebCore.submit.sln: Add x64 targets
2389 * WebCore.vcxproj/WebCore.vcxproj: Update for VS2013. Also exclude 32-bit specific
2390 assembly when building 64-bit target.
2391 * WebCore.vcxproj/WebCore.vcxproj.filters: Update for VS2013
2392 * config.h: Handle 64-bit type definitions.
2393 * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
2394 (PlatformCAAnimation::setFromValue): Use CGFloat to support 64-bit builds
2395 (PlatformCAAnimation::setToValue): Ditto
2396 (PlatformCAAnimation::setValues): Ditto
2397 * platform/graphics/win/FontCustomPlatformData.cpp:
2398 (WebCore::FontCustomPlatformData::fontPlatformData): Add cast to
2399 support 32- and 64-bit targets.
2400 * platform/graphics/win/GraphicsContextCGWin.cpp:
2401 (WebCore::GraphicsContext::drawLineForDocumentMarker): Use CGFloat to
2402 support 64-bit builds.
2403 * platform/win/PasteboardWin.cpp:
2404 (WebCore::Pasteboard::writeURLToDataObject): Specialize std::min to
2405 work on 32- and 64-bit code.
2406 (WebCore::createGlobalImageFileDescriptor): Ditto
2407 * platform/win/StructuredExceptionHandlerSuppressor.cpp:
2408 (WebCore::StructuredExceptionHandlerSuppressor::StructuredExceptionHandlerSuppressor):
2409 Comment out 32-bit inline assembly.
2410 (WebCore::StructuredExceptionHandlerSuppressor::~StructuredExceptionHandlerSuppressor):
2413 2014-01-23 Brady Eidson <beidson@apple.com>
2415 Make IDBGetResult work with IDBKeyData instead of IDBKey.
2416 https://bugs.webkit.org/show_bug.cgi?id=127493
2418 Reviewed by Eric Carlson.
2420 Also break it into its own header to work better with IPC messages.
2422 * Modules/indexeddb/IDBGetResult.h: Added.
2423 (WebCore::IDBGetResult::IDBGetResult):
2425 * Modules/indexeddb/IDBServerConnection.h:
2427 * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
2428 (WebCore::GetOperation::perform):
2430 * WebCore.xcodeproj/project.pbxproj:
2432 2014-01-23 Mátyás Mustoha <mmatyas@inf.u-szeged.hu>
2434 [curl] Add storage limit to cache manager
2435 https://bugs.webkit.org/show_bug.cgi?id=125779
2437 Reviewed by Brent Fulgham.
2439 Sets a local disc storage size limit for the cache manager
2440 used by the curl network backend.
2442 * platform/network/curl/CurlCacheEntry.cpp:
2443 (WebCore::CurlCacheEntry::CurlCacheEntry):
2444 (WebCore::CurlCacheEntry::isCached):
2445 (WebCore::CurlCacheEntry::saveCachedData):
2446 (WebCore::CurlCacheEntry::readCachedData):
2447 (WebCore::CurlCacheEntry::didFail):
2448 (WebCore::CurlCacheEntry::didFinishLoading):
2449 (WebCore::CurlCacheEntry::loadFileToBuffer):
2450 (WebCore::CurlCacheEntry::parseResponseHeaders):
2451 (WebCore::CurlCacheEntry::entrySize):
2452 * platform/network/curl/CurlCacheEntry.h:
2453 (WebCore::CurlCacheEntry::requestHeaders):
2454 * platform/network/curl/CurlCacheManager.cpp:
2455 (WebCore::CurlCacheManager::CurlCacheManager):
2456 (WebCore::CurlCacheManager::setStorageSizeLimit):
2457 (WebCore::CurlCacheManager::loadIndex):
2458 (WebCore::CurlCacheManager::saveIndex):
2459 (WebCore::CurlCacheManager::makeRoomForNewEntry):
2460 (WebCore::CurlCacheManager::didReceiveResponse):
2461 (WebCore::CurlCacheManager::didReceiveData):
2462 (WebCore::CurlCacheManager::invalidateCacheEntry):
2463 (WebCore::CurlCacheManager::readCachedData):
2464 * platform/network/curl/CurlCacheManager.h:
2465 (WebCore::CurlCacheManager::cacheDirectory):
2467 2014-01-23 Carlos Garcia Campos <cgarcia@igalia.com>
2469 Unreviewed. Fix automake warning.
2471 * GNUmakefile.list.am: Remove trailing whitespaces.
2473 2014-01-23 Mihai Maerean <mmaerean@adobe.com>
2475 [CSS Regions] Fix positioning composited layers when the region has overflow:hidden
2476 https://bugs.webkit.org/show_bug.cgi?id=124042
2478 Reviewed by Mihnea Ovidenie.
2480 If there's a clipping GraphicsLayer on the hierarchy, substract its offset, since it's its
2481 parent that positions us.
2483 Tests: compositing/regions/position-layer-inside-region-overflow-hidden.html
2484 compositing/regions/position-layer-inside-overflow-hidden.html
2485 compositing/regions/position-layers-inside-region-overflow-hidden.html
2486 compositing/regions/position-layers-inside-regions-overflow-hidden.html
2488 * rendering/RenderLayerBacking.cpp:
2489 (WebCore::RenderLayerBacking::adjustAncestorCompositingBoundsForFlowThread): The position
2490 must also be correct when the region has box-shadow that inflates the region's layer. The
2491 composited layers from the flow thread should be rendered in the same position whether the
2492 associated region has clipping or not.
2493 Using the position of the clipping layer instead of the location of the clipbox makes it
2494 also work with box-shadow that inflates the region's graphics layer.
2496 2014-01-23 Andrei Bucur <abucur@adobe.com>
2498 [CSS Regions] Convert regions iterator loops to range-based loops
2499 https://bugs.webkit.org/show_bug.cgi?id=127464
2501 Reviewed by Antti Koivisto.
2503 Replace most of the iterator loops in the region implementation with
2504 range based for loops. The for loops that iterate only over subsets
2505 of collections have not been changed.
2507 Tests: no new tests, this is a refactoring patch.
2509 * dom/WebKitNamedFlow.cpp:
2510 (WebCore::WebKitNamedFlow::firstEmptyRegionIndex):
2511 (WebCore::WebKitNamedFlow::getRegionsByContent):
2512 (WebCore::WebKitNamedFlow::getRegions):
2513 (WebCore::WebKitNamedFlow::getContent):
2514 * inspector/InspectorOverlay.cpp:
2515 (WebCore::buildObjectForCSSRegionsHighlight):
2516 * rendering/RenderFlowThread.cpp:
2517 (WebCore::RenderFlowThread::validateRegions):
2518 (WebCore::RenderFlowThread::updateLogicalWidth):
2519 (WebCore::RenderFlowThread::computeLogicalHeight):
2520 (WebCore::RenderFlowThread::repaintRectangleInRegions):
2521 (WebCore::RenderFlowThread::removeRenderBoxRegionInfo):
2522 (WebCore::RenderFlowThread::logicalWidthChangedInRegionsForBlock):
2523 (WebCore::RenderFlowThread::clearRenderBoxRegionInfoAndCustomStyle):
2524 (WebCore::RenderFlowThread::isAutoLogicalHeightRegionsCountConsistent):
2525 (WebCore::RenderFlowThread::markAutoLogicalHeightRegionsForLayout):
2526 (WebCore::RenderFlowThread::markRegionsForOverflowLayoutIfNeeded):
2527 (WebCore::RenderFlowThread::updateRegionsFlowThreadPortionRect):
2528 (WebCore::RenderFlowThread::collectLayerFragments):
2529 (WebCore::RenderFlowThread::fragmentsBoundingBox):
2530 * rendering/RenderNamedFlowFragment.cpp:
2531 (WebCore::RenderNamedFlowFragment::setRegionObjectsRegionStyle):
2532 (WebCore::RenderNamedFlowFragment::restoreRegionObjectsOriginalStyle):
2533 * rendering/RenderNamedFlowThread.cpp:
2534 (WebCore::RenderNamedFlowThread::clearContentElements):
2535 (WebCore::RenderNamedFlowThread::nextRendererForNode):
2536 (WebCore::RenderNamedFlowThread::dependsOn):
2537 (WebCore::RenderNamedFlowThread::computeOversetStateForRegions):
2538 (WebCore::RenderNamedFlowThread::checkInvalidRegions):
2539 (WebCore::RenderNamedFlowThread::pushDependencies):
2540 (WebCore::RenderNamedFlowThread::registerNamedFlowContentElement):
2541 (WebCore::isContainedInElements):
2542 (WebCore::RenderNamedFlowThread::getRanges):
2543 (WebCore::RenderNamedFlowThread::checkRegionsWithStyling):
2544 (WebCore::RenderNamedFlowThread::clearRenderObjectCustomStyle):
2545 * rendering/RenderTreeAsText.cpp:
2546 (WebCore::writeRenderRegionList):
2548 2014-01-23 László Langó <llango.u-szeged@partner.samsung.com>
2550 Range should be constructable.
2551 https://bugs.webkit.org/show_bug.cgi?id=115639
2553 Reviewed by Ryosuke Niwa.
2555 http://www.w3.org/TR/2013/WD-dom-20131107/#interface-range
2556 Now we can do `new Range()` instead of `document.createRange()`.
2558 Backported from Blink: https://chromium.googlesource.com/chromium/blink/+/47ca40efdf58a4787aa33aa75a35778899b1c002%5E%21
2560 Test: fast/dom/Range/range-constructor.html
2563 (WebCore::Range::create):
2567 2014-01-23 ChangSeok Oh <changseok.oh@collabora.com>
2569 Unreviewed build fix for gles after r162565. Add missing definitions.
2571 * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
2572 (WebCore::GraphicsContext3D::drawArraysInstanced):
2573 (WebCore::GraphicsContext3D::drawElementsInstanced):
2574 (WebCore::GraphicsContext3D::vertexAttribDivisor):
2576 2014-01-22 Carlos Garcia Campos <cgarcia@igalia.com>
2578 [GLIB] Use GUniquePtr instead of GOwnPtr
2579 https://bugs.webkit.org/show_bug.cgi?id=127431
2581 Reviewed by Martin Robinson.
2583 GUniquePtr is a template alias of std::unique_ptr with a custom
2584 deleter that replaces GOwnPtr. GOwnPtr is still used for the cases
2585 where the output pointer is needed, but it will also be replaced soon.
2587 * GNUmakefile.list.am:
2588 * PlatformGTK.cmake:
2589 * accessibility/atk/AXObjectCacheAtk.cpp:
2590 * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
2591 (getAttributeSetForAccessibilityObject):
2592 (accessibilityObjectLength):
2594 (webkitAccessibleTextGetChar):
2595 (numberOfReplacedElementsBeforeOffset):
2596 * page/ContextMenuController.cpp:
2597 * platform/SharedBuffer.h:
2598 * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
2599 (webKitWebAudioSrcConstructed):
2600 (webKitWebAudioSrcLoop):
2601 * platform/audio/gtk/AudioBusGtk.cpp:
2602 (WebCore::AudioBus::loadPlatformResource):
2603 * platform/geoclue/GeolocationProviderGeoclue.cpp:
2604 * platform/graphics/gstreamer/ImageGStreamerCairo.cpp:
2605 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2606 (WebCore::MediaPlayerPrivateGStreamer::setAudioStreamProperties):
2607 (WebCore::MediaPlayerPrivateGStreamer::handleMessage):
2608 * platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp:
2609 (webKitMediaSrcAddSrc):
2610 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2611 (webKitWebSrcStart):
2612 (ResourceHandleStreamingClient::wasBlocked):
2613 (ResourceHandleStreamingClient::cannotShowURL):
2614 * platform/graphics/gtk/ImageBufferGtk.cpp:
2615 (WebCore::encodeImage):
2616 (WebCore::ImageBuffer::toDataURL):
2617 * platform/graphics/gtk/ImageGtk.cpp:
2618 (WebCore::getThemeIconFileName):
2619 (WebCore::Image::loadPlatformResource):
2620 * platform/gtk/ContextMenuGtk.cpp:
2621 (WebCore::ContextMenu::itemCount):
2622 (WebCore::contextMenuItemVector):
2623 * platform/gtk/ContextMenuItemGtk.cpp:
2624 (WebCore::createPlatformMenuItemDescription):
2625 * platform/gtk/DataObjectGtk.cpp:
2626 (WebCore::DataObjectGtk::setURIList):
2627 (WebCore::DataObjectGtk::setURL):
2628 * platform/gtk/FileSystemGtk.cpp:
2629 (WebCore::filenameToString):
2630 (WebCore::fileSystemRepresentation):
2631 (WebCore::filenameForDisplay):
2632 (WebCore::pathGetFileName):
2633 (WebCore::applicationDirectoryPath):
2634 (WebCore::sharedResourcesPath):
2635 (WebCore::directoryName):
2636 (WebCore::listDirectory):
2637 (WebCore::openTemporaryFile):
2638 * platform/gtk/GOwnPtrGtk.cpp: Removed.
2639 * platform/gtk/GOwnPtrGtk.h: Removed.
2640 * platform/gtk/GUniquePtrGtk.h: Added.
2641 * platform/gtk/GamepadsGtk.cpp:
2642 (WebCore::GamepadsGtk::GamepadsGtk):
2643 * platform/gtk/GtkClickCounter.cpp:
2644 (WebCore::GtkClickCounter::shouldProcessButtonEvent):
2645 * platform/gtk/GtkInputMethodFilter.cpp:
2646 (WebCore::GtkInputMethodFilter::sendCompositionAndPreeditWithFakeKeyEvents):
2647 * platform/gtk/GtkPopupMenu.cpp:
2648 (WebCore::GtkPopupMenu::popUp):
2649 (WebCore::GtkPopupMenu::typeAheadFind):
2650 * platform/gtk/LanguageGtk.cpp:
2651 (WebCore::platformLanguage):
2652 * platform/gtk/LocalizedStringsGtk.cpp:
2653 (WebCore::imageTitle):
2654 (WebCore::localizedMediaTimeDescription):
2655 * platform/gtk/PasteboardHelper.cpp:
2656 (WebCore::selectionDataToUTF8String):
2657 (WebCore::PasteboardHelper::getClipboardContents):
2658 (WebCore::PasteboardHelper::fillSelectionData):
2659 * platform/gtk/PopupMenuGtk.cpp:
2660 (WebCore::PopupMenuGtk::createGtkActionForMenuItem):
2661 (WebCore::PopupMenuGtk::show):
2662 * platform/gtk/WebKitAuthenticationWidget.cpp:
2663 (webkitAuthenticationWidgetInitialize):
2664 * platform/network/ResourceHandleInternal.h:
2665 * platform/network/gtk/CredentialBackingStore.cpp:
2666 (WebCore::credentialForChallengeAsyncReadyCallback):
2667 * platform/network/soup/CookieJarSoup.cpp:
2668 (WebCore::setCookiesFromDOM):
2669 (WebCore::cookiesForSession):
2670 (WebCore::getRawCookies):
2671 (WebCore::deleteCookie):
2672 (WebCore::getHostnamesWithCookies):
2673 (WebCore::deleteCookiesForHostname):
2674 (WebCore::deleteAllCookies):
2675 * platform/network/soup/DNSSoup.cpp:
2676 * platform/network/soup/GUniquePtrSoup.h: Added.
2677 * platform/network/soup/ResourceErrorSoup.cpp:
2678 (WebCore::failingURI):
2679 * platform/network/soup/ResourceHandleSoup.cpp:
2680 (WebCore::ResourceHandle::ensureReadBuffer):
2681 (WebCore::cleanupSoupRequestOperation):
2682 (WebCore::createSoupRequestAndMessageForHandle):
2683 * platform/network/soup/ResourceRequestSoup.cpp:
2684 (WebCore::ResourceRequest::updateSoupMessageMembers):
2685 (WebCore::ResourceRequest::updateSoupMessage):
2686 * platform/network/soup/ResourceResponseSoup.cpp:
2687 * platform/network/soup/SoupURIUtils.cpp:
2688 (WebCore::soupURIToKURL):
2689 * platform/soup/SharedBufferSoup.cpp:
2690 (WebCore::SharedBuffer::SharedBuffer):
2691 (WebCore::SharedBuffer::clearPlatformData):
2692 (WebCore::SharedBuffer::maybeTransferPlatformData):
2693 (WebCore::SharedBuffer::hasPlatformData):
2694 * plugins/gtk/PluginPackageGtk.cpp:
2695 (WebCore::PluginPackage::fetchInfo):
2696 (WebCore::PluginPackage::load):
2698 2014-01-22 Simon Fraser <simon.fraser@apple.com>
2700 Surround fixedVisibleContentRect code with USE(TILED_BACKING_STORE)
2701 https://bugs.webkit.org/show_bug.cgi?id=127461
2703 Reviewed by Andreas Kling.
2705 The "fixedVisibleContentRect" code path is only used by platforms
2706 which enabled TILED_BACKING_STORE, so to reduce confusion, surround
2707 this code with #if USE(TILED_BACKING_STORE).
2710 (WebCore::Frame::createView):
2711 * page/FrameView.cpp:
2713 * platform/ScrollView.cpp:
2714 (WebCore::ScrollView::unscaledVisibleContentSize):
2715 (WebCore::ScrollView::visibleContentRect):
2716 * platform/ScrollView.h:
2717 (WebCore::ScrollView::visibleSize):
2719 2014-01-22 Myles C. Maxfield <mmaxfield@apple.com>
2721 ASSERTION FAILED: v.isFixed() in WebCore::RenderStyle::setWordSpacing
2722 https://bugs.webkit.org/show_bug.cgi?id=126987
2724 Reviewed by Simon Fraser.
2726 When "inherit" is specified and there is no parent, Length values have an "Auto" type
2728 Test: fast/css3-text/css3-word-spacing-percentage/word-spacing-crash.html
2730 * rendering/style/RenderStyle.cpp:
2731 (WebCore::RenderStyle::setWordSpacing):
2733 2014-01-22 Samuel White <samuel_white@apple.com>
2735 AX: Can't always increment web sliders.
2736 https://bugs.webkit.org/show_bug.cgi?id=127451
2738 Reviewed by Chris Fleizach.
2740 Clamping the decrement/increment amount to one when necessary (if a percent change would result in a change of less than one).
2742 Test: accessibility/range-alter-by-percent.html
2744 * accessibility/AccessibilityNodeObject.cpp:
2745 (WebCore::AccessibilityNodeObject::changeValueByPercent):
2747 2014-01-22 Myles C. Maxfield <mmaxfield@apple.com>
2749 Remove CSS3_TEXT_DECORATION define
2750 https://bugs.webkit.org/show_bug.cgi?id=127333
2752 Reviewed by Simon Fraser.
2754 This is required for unprefixing the text-decoration-* CSS properties.
2756 No new tests are necessary becase the flag was already on by default.
2758 * Configurations/FeatureDefines.xcconfig:
2759 * css/CSSComputedStyleDeclaration.cpp:
2760 (WebCore::renderTextDecorationSkipFlagsToCSSValue):
2761 (WebCore::ComputedStyleExtractor::propertyValue):
2762 * css/CSSParser.cpp:
2763 (WebCore::isColorPropertyID):
2764 (WebCore::CSSParser::parseValue):
2765 (WebCore::CSSParser::addTextDecorationProperty):
2766 (WebCore::CSSParser::parseTextUnderlinePosition):
2768 * css/CSSPrimitiveValueMappings.h:
2769 (WebCore::CSSPrimitiveValue::operator TextUnderlinePosition):
2770 * css/CSSPropertyNames.in:
2771 * css/CSSValueKeywords.in:
2772 * css/DeprecatedStyleBuilder.cpp:
2773 (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
2774 * css/StylePropertyShorthand.cpp:
2775 (WebCore::webkitTextDecorationShorthand):
2776 (WebCore::shorthandForProperty):
2777 (WebCore::matchingShorthandsForLonghand):
2778 * css/StylePropertyShorthand.h:
2779 * css/StyleResolver.cpp:
2780 (WebCore::shouldApplyPropertyInParseOrder):
2781 (WebCore::isValidVisitedLinkProperty):
2782 (WebCore::StyleResolver::applyProperty):
2783 * platform/graphics/GraphicsContext.h:
2784 * platform/graphics/cairo/GraphicsContextCairo.cpp:
2785 (WebCore::GraphicsContext::setPlatformStrokeStyle):
2786 * platform/graphics/cg/GraphicsContextCG.cpp:
2787 (WebCore::GraphicsContext::platformInit):
2788 * platform/graphics/wince/GraphicsContextWinCE.cpp:
2789 (WebCore::createPen):
2790 * rendering/InlineFlowBox.cpp:
2791 (WebCore::InlineFlowBox::computeMaxLogicalTop):
2792 * rendering/InlineFlowBox.h:
2793 * rendering/InlineTextBox.cpp:
2794 (WebCore::textDecorationStyleToStrokeStyle):
2795 (WebCore::boundingBoxForAllActiveDecorations):
2796 (WebCore::InlineTextBox::paintDecoration):
2797 * rendering/RenderObject.cpp:
2798 (WebCore::decorationColor):
2799 * rendering/RootInlineBox.cpp:
2800 (WebCore::RootInlineBox::maxLogicalTop):
2801 * rendering/RootInlineBox.h:
2802 * rendering/style/RenderStyle.cpp:
2803 (WebCore::RenderStyle::changeRequiresRepaintIfTextOrBorderOrOutline):
2804 (WebCore::RenderStyle::colorIncludingFallback):
2805 (WebCore::RenderStyle::visitedDependentColor):
2806 * rendering/style/RenderStyle.h:
2807 * rendering/style/RenderStyleConstants.h:
2808 * rendering/style/StyleRareInheritedData.cpp:
2809 (WebCore::StyleRareInheritedData::StyleRareInheritedData):
2810 (WebCore::StyleRareInheritedData::operator==):
2811 * rendering/style/StyleRareInheritedData.h:
2812 * rendering/style/StyleRareNonInheritedData.cpp:
2813 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
2814 (WebCore::StyleRareNonInheritedData::operator==):
2815 * rendering/style/StyleRareNonInheritedData.h:
2817 2014-01-22 Chris Fleizach <cfleizach@apple.com>
2819 AX: Do not return an accessible name for an object just because it has tabindex=0
2820 https://bugs.webkit.org/show_bug.cgi?id=126914
2822 Reviewed by Mario Sanchez Prada.
2824 WebKit has code to return an accessible name for any object that is "generically" focusable (ie. tabindex=0).
2825 This behavior, which is not supported in ARIA, has caused many problems for VoiceOver. Often VoiceOver will
2826 speak all the text underneath any type of group.
2828 I think we need to revert this behavior and follow the ARIA spec more closely.
2830 Test: accessibility/aria-describedby-ensures-visibility.html
2832 * accessibility/AccessibilityNodeObject.cpp:
2833 (WebCore::AccessibilityNodeObject::visibleText):
2834 (WebCore::AccessibilityNodeObject::title):
2836 2014-01-22 Brady Eidson <beidson@apple.com>
2838 The IDB backing store get() method shouldn't call IDB callbacks directly
2839 https://bugs.webkit.org/show_bug.cgi?id=127453
2841 Reviewed by Beth Dakin.
2843 * Modules/indexeddb/IDBServerConnection.h:
2844 (WebCore::IDBGetResult::IDBGetResult): Add a new structure to hold all of the
2845 possible results of a get() call.
2847 * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
2848 (WebCore::IDBServerConnectionLevelDB::get): Don't call IDBCallbacks directly.
2849 Instead, return the GetResult to the GetOperation which will make IDBCallbacks.
2850 * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
2852 * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
2853 (WebCore::GetOperation::perform): Get all of the IDBGetResults in the completion callback
2854 make the appropriate IDBCallback.
2855 * Modules/indexeddb/IDBTransactionBackendOperations.h:
2857 2014-01-22 Dean Jackson <dino@apple.com>
2859 Unreviewed attempt to fix 32-bit builds.
2861 Use long long rather than GC3Dintptr.
2863 * html/canvas/ANGLEInstancedArrays.cpp:
2864 (WebCore::ANGLEInstancedArrays::drawElementsInstancedANGLE):
2865 * html/canvas/ANGLEInstancedArrays.h:
2866 * html/canvas/WebGLRenderingContext.cpp:
2867 (WebCore::WebGLRenderingContext::drawElementsInstanced):
2868 * html/canvas/WebGLRenderingContext.h:
2870 2014-01-21 Brady Eidson <beidson@apple.com>
2873 <rdar://problem/15779643> and https://bugs.webkit.org/show_bug.cgi?id=127401
2875 Reviewed by Alexey Proskuryakov.
2877 Add persistent encode/decode for storage to the database:
2878 * Modules/indexeddb/IDBKey.cpp:
2879 (WebCore::IDBKey::encode):
2880 (WebCore::IDBKey::decode):
2881 * Modules/indexeddb/IDBKey.h:
2883 Add a data class to represent IDBKey suitable for crossing IPC:
2884 * Modules/indexeddb/IDBKeyData.cpp: Added.
2885 (WebCore::IDBKeyData::IDBKeyData):
2886 (WebCore::IDBKeyData::maybeCreateIDBKey):
2887 (WebCore::IDBKeyData::isolatedCopy):
2888 * Modules/indexeddb/IDBKeyData.h: Added.
2889 (WebCore::IDBKeyData::IDBKeyData):
2891 * platform/CrossThreadCopier.cpp:
2892 (WebCore::IDBKeyData>::copy):
2893 * platform/CrossThreadCopier.h:
2896 * WebCore.xcodeproj/project.pbxproj:
2898 2014-01-22 Dean Jackson <dino@apple.com>
2900 [WebGL] Implement ANGLE_instanced_arrays
2901 https://bugs.webkit.org/show_bug.cgi?id=127257
2903 Reviewed by Brent Fulgham.
2905 Implement the instanced drawing WebGL extension,
2906 ANGLE_instanced_arrays. This is currently Mac-only,
2907 but should be portable to other platforms if their
2908 OpenGL exposes the functions. It's also done in a way
2909 that will make exposing it to WebGL2 simple.
2911 Test: fast/canvas/webgl/angle-instanced-arrays.html
2914 * DerivedSources.cpp:
2915 * DerivedSources.make:
2916 * GNUmakefile.list.am:
2917 * WebCore.vcxproj/WebCore.vcxproj:
2918 * WebCore.vcxproj/WebCore.vcxproj.filters:
2919 * WebCore.xcodeproj/project.pbxproj:
2920 Add the new files to all the build systems.
2922 * bindings/js/JSWebGLRenderingContextCustom.cpp:
2923 (WebCore::toJS): Link JS side to C++ side.
2925 * html/canvas/ANGLEInstancedArrays.cpp: Added.
2926 (WebCore::ANGLEInstancedArrays::ANGLEInstancedArrays):
2927 * html/canvas/ANGLEInstancedArrays.h: Added.
2928 * html/canvas/ANGLEInstancedArrays.idl: Added.
2929 New boilerplate files that expose the extension methods.
2931 * html/canvas/WebGLExtension.h: New extension enum.
2933 * html/canvas/WebGLRenderingContext.cpp:
2934 (WebCore::WebGLRenderingContext::validateVertexAttributes): Add an optional
2935 parameter representing the number of instance primitives we are asked
2936 to draw. Use that for the draw count if looking at an instanced attribute.
2937 Also make sure we see at least one non-instanced attribute.
2938 (WebCore::WebGLRenderingContext::validateDrawArrays): Update this so it could
2939 be used from either drawArrays or drawArraysInstanced.
2940 (WebCore::WebGLRenderingContext::drawArrays):
2941 (WebCore::WebGLRenderingContext::validateDrawElements): Same here, now can be
2942 used by the instanced and non-instanced versions.
2943 (WebCore::WebGLRenderingContext::drawElements):
2944 (WebCore::WebGLRenderingContext::getExtension): Create and return the new extension.
2945 (WebCore::WebGLRenderingContext::getSupportedExtensions): Add new extension to the list.
2946 (WebCore::WebGLRenderingContext::getVertexAttrib): Intercept a query to the divisor
2947 attribute and return the value we kept in the state.
2948 (WebCore::WebGLRenderingContext::drawArraysInstanced): Call the GC3D method.
2949 (WebCore::WebGLRenderingContext::drawElementsInstanced): Ditto.
2950 (WebCore::WebGLRenderingContext::vertexAttribDivisor): Ditto.
2952 * html/canvas/WebGLRenderingContext.h: Define the new methods and parameters.
2954 * html/canvas/WebGLVertexArrayObjectOES.cpp:
2955 (WebCore::WebGLVertexArrayObjectOES::setVertexAttribDivisor): Keep a record of the
2956 divisor if we set it.
2957 * html/canvas/WebGLVertexArrayObjectOES.h:
2958 (WebCore::WebGLVertexArrayObjectOES::VertexAttribState::VertexAttribState):
2960 * platform/graphics/GraphicsContext3D.h: New enum.
2961 * platform/graphics/mac/GraphicsContext3DMac.mm:
2962 (WebCore::GraphicsContext3D::drawArraysInstanced): The actual calls into OpenGL.
2963 (WebCore::GraphicsContext3D::drawElementsInstanced): Ditto.
2964 (WebCore::GraphicsContext3D::vertexAttribDivisor): Ditto.
2966 * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: Empty implementations
2967 for non-mac platforms.
2969 * platform/graphics/ios/GraphicsContext3DIOS.h: Define the iOS names for the
2972 2014-01-22 Zalan Bujtas <zalan@apple.com>
2974 [CSS Shapes] shape-inside rectangle layout can fail
2975 https://bugs.webkit.org/show_bug.cgi?id=124784
2977 Reviewed by Darin Adler.
2979 Early subpixel rounding/flooring/ceiling can have unwanted
2980 side effect on the final pixel value. Delay pixel
2981 conversions as much as possible.
2983 Existing test is changed to reflect subpixel functionality.
2985 * rendering/shapes/RectangleShape.cpp:
2986 (WebCore::RectangleShape::firstIncludedIntervalLogicalTop):
2988 2014-01-22 Jochen Eisinger <jochen@chromium.org>
2990 Add protocolIsInHTTPFamily for strings and use it where appropriate
2991 https://bugs.webkit.org/show_bug.cgi?id=127336
2993 Reviewed by Alexey Proskuryakov.
2995 * html/HTMLAnchorElement.cpp:
2996 (WebCore::HTMLAnchorElement::parseAttribute):
2997 * page/ContentSecurityPolicy.cpp:
2998 (WebCore::CSPSource::schemeMatches):
2999 * page/SecurityPolicy.cpp:
3000 (WebCore::SecurityPolicy::generateReferrerHeader):
3002 (WebCore::protocolIsInHTTPFamily):
3005 2014-01-22 Zalan Bujtas <zalan@apple.com>
3007 Subpixel Layout: SimpleLineLayout needs more position rounding to match InlineFlowBox layout.
3008 https://bugs.webkit.org/show_bug.cgi?id=127404
3010 Reviewed by Antti Koivisto.
3012 In order to produce a CSS pixel perfect layout, SimpleLineLayout needs to
3013 round line positions to CSS (integral) position similarly to InlineFlowBox.
3015 Existing tests cover it.
3017 * rendering/SimpleLineLayoutResolver.h:
3018 (WebCore::SimpleLineLayout::RunResolver::Run::rect):
3019 (WebCore::SimpleLineLayout::RunResolver::Run::baseline):
3021 2014-01-22 Joseph Pecoraro <pecoraro@apple.com>
3023 Unreviewed rollout of r162534, this caused inspector test failures.
3025 * bindings/js/PageScriptDebugServer.cpp:
3026 (WebCore::PageScriptDebugServer::addListener):
3027 (WebCore::PageScriptDebugServer::removeListener):
3028 (WebCore::PageScriptDebugServer::recompileAllJSFunctions):
3029 (WebCore::PageScriptDebugServer::didRemoveLastListener):
3030 * bindings/js/PageScriptDebugServer.h:
3031 * bindings/js/ScriptDebugServer.cpp:
3032 (WebCore::ScriptDebugServer::ScriptDebugServer):
3033 (WebCore::ScriptDebugServer::recompileAllJSFunctionsSoon):
3034 (WebCore::ScriptDebugServer::recompileAllJSFunctionsTimerFired):
3035 * bindings/js/ScriptDebugServer.h:
3036 * bindings/js/WorkerScriptDebugServer.cpp:
3037 (WebCore::WorkerScriptDebugServer::addListener):
3038 (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
3039 (WebCore::WorkerScriptDebugServer::removeListener):
3040 * inspector/InspectorProfilerAgent.cpp:
3042 2014-01-22 peavo@outlook.com <peavo@outlook.com>
3044 Crashes in setTextForIterator
3045 https://bugs.webkit.org/show_bug.cgi?id=127424
3047 Reviewed by Brent Fulgham.
3049 * platform/text/icu/UTextProviderLatin1.cpp:
3050 (WebCore::uTextLatin1Clone): Provide correct buffer size in utext_setup function call.
3051 (WebCore::uTextLatin1Access): Give correct buffer size to memset call.
3052 (WebCore::openLatin1UTextProvider): Ditto.
3054 2014-01-22 Jer Noble <jer.noble@apple.com>
3056 [Mac] MediaPlayerPrivateMediaSourceAVFObjC::load ASSERTs on lots of tests
3057 https://bugs.webkit.org/show_bug.cgi?id=127430
3059 Reviewed by Eric Carlson.
3061 When other registered media engines cannot load a URL, the engine selection
3062 will eventually pick MediaPlayerPrivateMediaSourceAVFObjC and ask it to load
3063 the URL. Instead of ASSERTing here, simply reject the URL by setting the
3064 network state to FormatError.
3066 * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
3067 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::load):
3069 2014-01-22 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org>
3071 [EFL][GTK] Get EFL and GTK compiling with ACCESSIBILITY disabled
3072 https://bugs.webkit.org/show_bug.cgi?id=127119
3074 Reviewed by Mario Sanchez Prada.
3076 At build time, the compiler was not able to determine which Timer's constructor to call in AXObjectCache when
3077 ACCESSIBILITY is not enabled, fixing that.
3078 Also guarding some members in AccessibilityObject that are only being used by EFL and GTK with ACCESSIBILITY.
3080 * accessibility/AXObjectCache.h:
3081 (WebCore::AXObjectCache::AXObjectCache):
3082 * accessibility/AccessibilityObject.h:
3084 2014-01-22 Peter Molnar <pmolnar.u-szeged@partner.samsung.com>
3086 Refactor calculation of hasRx and hasRy values in SVGPathData
3087 https://bugs.webkit.org/show_bug.cgi?id=127423
3089 Reviewed by Darin Adler.
3091 This is a follow-up on https://bugs.webkit.org/show_bug.cgi?id=127337
3093 * rendering/svg/SVGPathData.cpp:
3094 (WebCore::updatePathFromRectElement):
3096 2014-01-21 Joseph Pecoraro <pecoraro@apple.com>
3098 Web Inspector: Remove recompileAllJSFunctions timer in ScriptDebugServer
3099 https://bugs.webkit.org/show_bug.cgi?id=127409
3101 Reviewed by Timothy Hatcher.
3103 * bindings/js/ScriptDebugServer.h:
3104 * bindings/js/ScriptDebugServer.cpp:
3105 (WebCore::ScriptDebugServer::ScriptDebugServer):
3106 Remove m_recompileTimer and the recompile soon function.
3107 We can just recompile immediately in all existing cases.
3109 * bindings/js/PageScriptDebugServer.h:
3110 * bindings/js/PageScriptDebugServer.cpp:
3111 (WebCore::PageScriptDebugServer::addListener):
3112 (WebCore::PageScriptDebugServer::removeListener):
3113 (WebCore::PageScriptDebugServer::recompileAllJSFunctions):
3114 (WebCore::PageScriptDebugServer::didAddFirstListener):
3115 (WebCore::PageScriptDebugServer::didRemoveLastListener):
3116 Add a "didAddFirstListener" to match "didRemoveLastListener".
3117 Only recompile functions when we attach the debugger and when
3118 we detach the last listener.
3120 * bindings/js/WorkerScriptDebugServer.cpp:
3121 (WebCore::WorkerScriptDebugServer::addListener):
3122 (WebCore::WorkerScriptDebugServer::removeListener):
3123 (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
3124 Same thing. Also rearrange the functions to read better.
3126 * inspector/InspectorProfilerAgent.cpp:
3127 Use the direct recompile function instead of the removed "soon" version.
3129 2014-01-22 Robert Sipka <sipka@inf.u-szeged.hu>
3131 [curl] Improve detecting and handling of SSL client certificate
3132 https://bugs.webkit.org/show_bug.cgi?id=125006
3134 Reviewed by Brent Fulgham.
3136 Add client certificate handling.
3138 * platform/network/ResourceHandle.h:
3139 * platform/network/curl/ResourceError.h:
3140 (WebCore::ResourceError::hasSSLConnectError):
3141 * platform/network/curl/ResourceHandleCurl.cpp:
3142 (WebCore::ResourceHandle::setClientCertificateInfo):
3143 * platform/network/curl/ResourceHandleManager.cpp:
3144 (WebCore::ResourceHandleManager::initializeHandle):
3145 * platform/network/curl/SSLHandle.cpp:
3146 (WebCore::addAllowedClientCertificate):
3147 (WebCore::setSSLClientCertificate):
3148 * platform/network/curl/SSLHandle.h:
3150 2014-01-22 Mihai Maerean <mmaerean@adobe.com>
3152 [CSS Regions] layerOwner in RenderNamedFlowFragment cannot return null
3153 https://bugs.webkit.org/show_bug.cgi?id=127343
3155 Reviewed by Sam Weinig.
3157 RenderNamedFlowFragment::layerOwner cannot return null because regions create stacking
3158 contexts which create layers.
3160 No new tests, no functional change.
3162 * rendering/RenderFlowThread.cpp:
3163 (WebCore::RenderFlowThread::hasCompositingRegionDescendant):
3164 * rendering/RenderLayer.cpp:
3165 (WebCore::RenderLayer::calculateClipRects):
3166 * rendering/RenderLayerBacking.cpp:
3167 (WebCore::RenderLayerBacking::adjustAncestorCompositingBoundsForFlowThread):
3168 * rendering/RenderLayerCompositor.cpp:
3169 (WebCore::RenderLayerCompositor::computeRegionCompositingRequirements):
3170 * rendering/RenderNamedFlowFragment.h:
3172 2014-01-22 Antti Koivisto <antti@apple.com>
3174 Avoid unthrottled layer flushes triggered by RenderLayerCompositor::ensureRootLayer
3175 https://bugs.webkit.org/show_bug.cgi?id=127426
3177 Reviewed by Anders Carlsson.
3179 * rendering/RenderLayerCompositor.cpp:
3180 (WebCore::RenderLayerCompositor::updateScrollLayerPosition):
3181 (WebCore::RenderLayerCompositor::frameViewDidScroll):
3183 Factor scroll layer position update to a function.
3185 (WebCore::RenderLayerCompositor::ensureRootLayer):
3187 Stop calling frameViewDidChangeSize/frameViewDidScroll. Instead call the relevent functions
3188 directly. This avoid unthrottled layer flush that is done when the view actually scrolls.
3190 * rendering/RenderLayerCompositor.h:
3192 2014-01-22 Mihai Tica <mitica@adobe.com>
3194 [CSS Background Blending] -webkit-background-blend-mode fails for certain SVG files
3195 https://bugs.webkit.org/show_bug.cgi?id=127350
3197 Reviewed by Dirk Schulze.
3199 The graphics context of the SVG inherits the blend mode set
3200 on the background layer. Fix consists in drawing the SVG
3201 in a transparency layer.
3203 Test: css3/compositing/background-blend-mode-svg.html
3205 * svg/graphics/SVGImage.cpp:
3206 (WebCore::SVGImage::draw): Begin a transparency layer if a blend mode is set.
3208 2014-01-22 Antti Koivisto <antti@apple.com>
3210 Update overlay scrollbars in single pass
3211 https://bugs.webkit.org/show_bug.cgi?id=127289
3213 Reviewed by Anders Carlsson.
3215 * platform/ScrollView.cpp:
3216 (WebCore::ScrollView::updateScrollbars):
3218 Multi-pass scrollbar resolution is only needed for traditional scrollbars. Overlay scrollbars don't affect layout.
3220 2014-01-22 Mihnea Ovidenie <mihnea@adobe.com>
3222 [CSSRegions] Incorrect layout of a region pseudo children
3223 https://bugs.webkit.org/show_bug.cgi?id=126146
3225 Reviewed by David Hyatt.
3227 Test: fast/regions/collapse-anonymous-region.html
3229 A region behaviour, styled using -webkit-flow-from, is modeled using an anonymous
3230 block created to fragment the named flow content inside the region. We have to prevent
3231 the behaviour of anonymous children collapsing for this block to make sure that the
3232 region element children are still laid out properly when the region element becomes an ordinary
3235 * rendering/RenderBlockFlow.h:
3237 2014-01-21 Ryuan Choi <ryuan.choi@samsung.com>
3239 Remove unused "acceleratedCompositingForScrollableFramesEnabled" setting
3240 https://bugs.webkit.org/show_bug.cgi?id=127402
3242 Reviewed by Anders Carlsson.
3244 compositing/iframes/iframe-composited-scrolling.html is updated because
3245 there are no usages in WebCore.
3249 2014-01-21 Alex Christensen <achristensen@webkit.org>
3251 Compile fix for using libsoup on Windows.
3252 https://bugs.webkit.org/show_bug.cgi?id=127377
3254 Reviewed by Daniel Bates.
3256 * platform/network/soup/ProxyResolverSoup.cpp:
3257 (soupProxyResolverWkSetProperty):
3258 (soupProxyResolverWkGetProperty):
3259 (soupProxyResolverWkGetProxyURISync):
3260 Replaced uint with unsigned.
3262 2014-01-21 Daniel Bates <dabates@apple.com>
3264 Break up single assertion into two assertions in HTMLMediaElement::returnPlatformLayer()
3266 Following up after <http://trac.webkit.org/changeset/162473>, we should break up
3267 the assertion into two assertions as suggested by Darin Adler. Separating the single
3268 assertion into two assertions makes it straightforward to determine the conjunct that
3269 failed among other benefits.
3271 * html/HTMLMediaElement.cpp:
3272 (WebCore::HTMLMediaElement::parseAttribute):
3274 2014-01-21 Brady Eidson <beidson@apple.com>
3276 The IDB backing store put() method shouldn't call IDB callbacks directly
3277 https://bugs.webkit.org/show_bug.cgi?id=127399
3279 Reviewed by Beth Dakin.
3281 Refactor the put() callback to take a resulting key or an error.
3282 * Modules/indexeddb/IDBServerConnection.h:
3284 * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
3285 (WebCore::PutOperation::perform): Call to the backing store, then perform the
3286 appropriate IDB callback whether a key or an error was returned.
3287 * Modules/indexeddb/IDBTransactionBackendOperations.h:
3289 * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
3290 (WebCore::IDBServerConnectionLevelDB::put): Don’t call IDB callbacks directly.
3291 Instead, pass the resulting key/error back to the PutOperation.
3292 * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
3294 2014-01-21 Jae Hyun Park <jae.park@company100.net>
3296 Use nullptr in HTMLCanvasElement
3297 https://bugs.webkit.org/show_bug.cgi?id=127388
3299 Reviewed by Gyuyoung Kim.
3301 * html/HTMLCanvasElement.cpp:
3302 (WebCore::HTMLCanvasElement::getContext):
3303 (WebCore::HTMLCanvasElement::drawingContext):
3304 (WebCore::HTMLCanvasElement::existingDrawingContext):
3306 2014-01-21 László Langó <llango.u-szeged@partner.samsung.com>
3308 Assertion failure in Range::nodeWillBeRemoved
3309 https://bugs.webkit.org/show_bug.cgi?id=121694
3311 Reviewed by Ryosuke Niwa.
3313 Based on Blink a change: https://chromium.googlesource.com/chromium/blink/+/407c1d7b2c45974aa614b3f847ffe9e8fce205fa
3315 This patch fix an assertion failure. Range::nodeWillBeRemoved() might
3316 be called with removed node in ContainerNode, when DOMNodeRemovedFromDocument
3317 event handler calls removeChild(), for node being removed.
3319 Test: fast/dom/Range/remove-twice-crash.html
3321 * dom/ContainerNode.cpp:
3322 (WebCore::ContainerNode::willRemoveChild):
3323 * dom/ContainerNode.h:
3325 2014-01-21 Tim Horton <timothy_horton@apple.com>
3327 REGRESSION (r161580): Some PDFs render outside their <img>
3328 https://bugs.webkit.org/show_bug.cgi?id=127381
3329 <rdar://problem/15872168>
3331 Reviewed by Simon Fraser.
3333 * platform/graphics/cg/PDFDocumentImage.cpp:
3334 (WebCore::transformContextForPainting):
3335 Only try to make the scale uniform if it isn't already, and use the minimum
3336 of the two original scales when doing so, so that it is absolutely certain
3337 to fit inside space allocated for the image during layout.
3339 2014-01-21 Simon Fraser <simon.fraser@apple.com>
3341 Remove #if PLATFORM(IOS) in various places around customFixedPositionLayoutRect() code
3342 https://bugs.webkit.org/show_bug.cgi?id=127373
3344 Reviewed by Beth Dakin.
3346 Instead of PLATFORM(IOS) #idefs at every call site for viewportConstrainedVisibleContentRect(),
3347 move the #ifdef inside viewportConstrainedVisibleContentRect().
3349 The one call site that needs special handling is RenderLayerBacking::updateCompositedBounds(),
3350 which needs to avoid clipping fixed layers to the custom fixed position rect, but instead to
3351 visibleContentRect() (which is really the document bounds on iOS). This ensures that the
3352 fixed layers aren't clipped when zooming out.
3354 * page/FrameView.cpp:
3355 (WebCore::FrameView::viewportConstrainedVisibleContentRect):
3356 * rendering/RenderBoxModelObject.cpp:
3357 (WebCore::RenderBoxModelObject::stickyPositionOffset):
3358 * rendering/RenderLayerBacking.cpp:
3359 (WebCore::RenderLayerBacking::updateCompositedBounds):
3360 * rendering/RenderLayerCompositor.cpp:
3361 (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
3362 (WebCore::RenderLayerCompositor::computeFixedViewportConstraints):
3363 (WebCore::RenderLayerCompositor::computeStickyViewportConstraints):
3365 2014-01-21 Andy Estes <aestes@apple.com>
3367 [iOS] Allow all clients to link against WebCore
3368 https://bugs.webkit.org/show_bug.cgi?id=127372
3370 Reviewed by Dan Bernstein.
3372 * Configurations/WebCore.xcconfig:
3374 2014-01-21 Bear Travis <betravis@adobe.com>
3376 [CSS Shapes] Preserve box-shape order when serializing shape values
3377 https://bugs.webkit.org/show_bug.cgi?id=127200
3379 Reviewed by Dirk Schulze.
3381 Convert the parsed shape-box pair to a CSSValueList rather than directly
3382 adding the box value to BasicShape. The CSSValueList preserves the
3383 shape-box ordering, and cleans up a little bit of the code shared between
3384 clip and shape values.
3386 Modifying existing parsing tests.
3388 * css/CSSComputedStyleDeclaration.cpp:
3389 (WebCore::shapePropertyValue): Factor out code common to generating shape
3391 (WebCore::ComputedStyleExtractor::propertyValue): Generate a CSSValueList when
3392 you have both a shape and a box.
3393 * css/CSSParser.cpp:
3394 (WebCore::CSSParser::parseBasicShapeAndOrBox): Factor out code common to clip
3395 paths and shape properties that parses the [basic-shape || box] syntax from
3396 the CSS Shapes spec.
3397 (WebCore::CSSParser::parseShapeProperty): Parse shape-box pairs as a CSSValueList.
3398 * css/DeprecatedStyleBuilder.cpp:
3399 (WebCore::ApplyPropertyShape::applyValue): Use the CSSValueList for shape-box pairs.
3400 * css/CSSValueList.h:
3401 (WebCore::CSSValueList::itemWithoutBoundsCheck): Add a const version.
3402 * page/animation/CSSPropertyAnimation.cpp:
3403 (WebCore::blendFunc): Specify a box when blending.
3404 * rendering/style/ShapeValue.h:
3405 (WebCore::ShapeValue::createShapeValue): Add a box parameter.
3406 (WebCore::ShapeValue::ShapeValue): Ditto.
3408 2014-01-21 Daniel Bates <dabates@apple.com>
3410 Fix the iOS Simulator release build
3412 Substitute ASSERT_UNUSED() for ASSERT() to resolve a compiler warning
3413 that the argument platformLayer is unused. The argument platformLayer
3414 is only used in the asserted condition, which isn't compiled in a
3415 release build; => the argument is unused in a release build.
3417 * html/HTMLMediaElement.cpp:
3418 (WebCore::HTMLMediaElement::parseAttribute):
3420 2014-01-21 Zoltan Horvath <zoltan@webkit.org>
3422 Since MidpointState is a class, it should behave like a class
3423 https://bugs.webkit.org/show_bug.cgi?id=127154
3425 Reviewed by David Hyatt.
3427 I modified MidpointState to behave like a class, updated the call sites also.
3429 No new tests, no behavior change.
3431 * platform/text/BidiResolver.h:
3432 (WebCore::MidpointState::reset):
3433 (WebCore::MidpointState::startIgnoringSpaces):
3434 (WebCore::MidpointState::stopIgnoringSpaces):
3435 (WebCore::MidpointState::midpoints):
3436 (WebCore::MidpointState::numMidpoints):
3437 (WebCore::MidpointState::currentMidpoint):
3438 (WebCore::MidpointState::incrementCurrentMidpoint):
3439 (WebCore::MidpointState::decreaseNumMidpoints):
3440 (WebCore::MidpointState::betweenMidpoints):
3441 (WebCore::MidpointState::setBetweenMidpoints):
3442 (WebCore::MidpointState::addMidpoint): Renamed from deprecatedAddMidpoint, since now
3443 its private, we no longer need to discourage callers from using it.
3444 * rendering/InlineIterator.h:
3445 (WebCore::IsolateTracker::addFakeRunIfNecessary):
3446 * rendering/RenderBlockLineLayout.cpp:
3447 (WebCore::RenderBlockFlow::appendRunsForObject):
3448 (WebCore::constructBidiRunsForLine):
3449 * rendering/line/BreakingContextInlineHeaders.h:
3450 (WebCore::checkMidpoints):
3451 * rendering/line/TrailingObjects.cpp:
3452 (WebCore::TrailingObjects::updateMidpointsForTrailingBoxes):
3454 2014-01-21 Commit Queue <commit-queue@webkit.org>
3456 Unreviewed, rolling out r162452.
3457 http://trac.webkit.org/changeset/162452
3458 https://bugs.webkit.org/show_bug.cgi?id=127366
3460 broke a few tests on all Mac WebKit1 bots (Requested by
3461 thorton on #webkit).
3464 * page/FocusController.cpp:
3465 (WebCore::FocusController::FocusController):
3466 (WebCore::FocusController::setFocused):
3467 (WebCore::FocusController::setActive):
3468 (WebCore::FocusController::setContentIsVisible):
3469 * page/FocusController.h:
3470 (WebCore::FocusController::isActive):
3471 (WebCore::FocusController::isFocused):
3473 (WebCore::Page::Page):
3474 (WebCore::Page::setIsInWindow):
3475 (WebCore::Page::setIsVisuallyIdle):
3476 (WebCore::Page::setIsVisible):
3477 (WebCore::Page::visibilityState):
3478 (WebCore::Page::hiddenPageCSSAnimationSuspensionStateChanged):
3480 (WebCore::Page::isVisible):
3481 (WebCore::Page::isInWindow):