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