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