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