fa57cd164b5191da8a7fbd4a1105a1836b2fe963
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-12-10   Arko Saha  <arko@motorola.com>
2
3         Microdata: Fix compilation error in MICRODATA enabled build.
4         https://bugs.webkit.org/show_bug.cgi?id=74235
5
6         Reviewed by Andreas Kling.
7
8         * dom/Document.cpp:
9         (WebCore::Document::getItems):
10
11 2011-12-10  Jarred Nicholls  <jarred@sencha.com>
12
13         [V8] Remove old ArrayBuffer guards from V8XMLHttpRequestCustom.cpp
14         https://bugs.webkit.org/show_bug.cgi?id=74234
15
16         Reviewed by Adam Barth.
17
18         No new tests are necessary.
19
20         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
21         (WebCore::V8XMLHttpRequest::responseAccessorGetter):
22
23 2011-12-10  Noel Gordon  <noel.gordon@gmail.com>
24
25         WebPImageDecoder progressive decodes fail to decode valid images
26         https://bugs.webkit.org/show_bug.cgi?id=74062
27
28         Reviewed by Adam Barth.
29
30         The WEBP header is followed by a so-called P0 header, then some data to
31         decode.  If a partial P0 header is received during progressive decodes,
32         WebPIDecGetRGB() returns false; that makes the decoder enter the failed
33         state, no image appears on the page.
34
35         James Zern (webp) recommended the following via e-mail:
36
37         WebPIUpdate() validates input data, and will return an error status for
38         malformed data (bit-stream error, invalid data).  Otherwise, it returns
39         OK or SUSPENDED.  OK means that decoding is done/complete/no-error, and
40         SUSPENDED means more input data is needed to complete decoding.  A NULL
41         return from WebPIDecGetRGB() is valid at this time due to a partial P0,
42         and should not be interpreted as a decoding failure.
43
44         No new tests. Not something DumpRenderTree can easily test.
45
46         * platform/image-decoders/webp/WEBPImageDecoder.cpp:
47         (WebCore::WEBPImageDecoder::decode):  A NULL WebPIDecGetRGB() return is
48         acceptable here.  Return false instead of failing the decoder.
49
50 2011-12-09  Benjamin Poulain  <bpoulain@apple.com>
51
52         Add the FileSystem functions of iOS
53         https://bugs.webkit.org/show_bug.cgi?id=74164
54
55         Reviewed by David Kilzer.
56
57         Two functions are needed on iOS for temporary files and directories.
58
59         * WebCore.exp.in:
60         * WebCore.xcodeproj/project.pbxproj:
61         * platform/ios/FileSystemIOS.h: Added.
62         * platform/ios/FileSystemIOS.mm: Added.
63         (WebCore::createTemporaryDirectory):
64         (WebCore::createTemporaryFile):
65
66 2011-12-09  Jacky Jiang  <zhajiang@rim.com>
67
68         Remove ResourceHandle::bufferedData() from ResourceHandleBlackBerry.cpp
69         https://bugs.webkit.org/show_bug.cgi?id=74197
70
71         The bufferedData() was removed in r95120.
72
73         Reviewed by Rob Buis.
74
75         Trivial fix, so no new tests.
76
77         * platform/network/blackberry/ResourceHandleBlackBerry.cpp:
78
79 2011-12-09  Eric Penner  <epenner@google.com>
80
81         [chromium] Prevent ASSERT in legitimate out-of-memory case.
82         https://bugs.webkit.org/show_bug.cgi?id=74215
83
84         Reviewed by James Robinson.
85
86         * platform/graphics/chromium/TiledLayerChromium.cpp:
87         (WebCore::TiledLayerChromium::updateCompositorResources):
88
89 2011-12-09   Arko Saha  <arko@motorola.com>
90
91         NameNodeListCache should be invalidated when name attribute changes/modified.
92         https://bugs.webkit.org/show_bug.cgi?id=70810
93
94         Reviewed by Ryosuke Niwa.
95
96         Test: fast/dom/getelementsbyname-invalidation-cache.html
97
98         * html/HTMLAnchorElement.cpp:
99         (WebCore::HTMLAnchorElement::parseMappedAttribute):
100         * html/HTMLAppletElement.cpp:
101         (WebCore::HTMLAppletElement::parseMappedAttribute):
102         * html/HTMLElement.cpp:
103         (WebCore::HTMLElement::parseMappedAttribute):
104         * html/HTMLEmbedElement.cpp:
105         (WebCore::HTMLEmbedElement::parseMappedAttribute):
106         * html/HTMLFormElement.cpp:
107         (WebCore::HTMLFormElement::parseMappedAttribute):
108         * html/HTMLFrameElementBase.cpp:
109         (WebCore::HTMLFrameElementBase::parseMappedAttribute):
110         * html/HTMLIFrameElement.cpp:
111         (WebCore::HTMLIFrameElement::parseMappedAttribute):
112         * html/HTMLImageElement.cpp:
113         (WebCore::HTMLImageElement::parseMappedAttribute):
114         * html/HTMLMapElement.cpp:
115         (WebCore::HTMLMapElement::parseMappedAttribute):
116         * html/HTMLMetaElement.cpp:
117         (WebCore::HTMLMetaElement::parseMappedAttribute):
118         * html/HTMLObjectElement.cpp:
119         (WebCore::HTMLObjectElement::parseMappedAttribute):
120         * html/HTMLParamElement.cpp:
121         (WebCore::HTMLParamElement::parseMappedAttribute):
122
123 2011-12-09  Anders Carlsson  <andersca@apple.com>
124
125         Fix Lion release build.
126
127         * platform/mac/ScrollAnimatorMac.mm:
128         (-[WebScrollbarPainterDelegate mouseLocationInScrollerForScrollerImp:]):
129
130 2011-12-09  Mark Pilgrim  <pilgrim@chromium.org>
131
132         [FileSystem API] Entry.remove successCallback is required
133         https://bugs.webkit.org/show_bug.cgi?id=69639
134
135         Reviewed by Adam Barth.
136
137         Test: fast/filesystem/simple-required-arguments-remove.html
138
139         * fileapi/Entry.idl: remove [Optional] flag from Entry.remove.successCallback parameter
140
141 2011-12-09  Tim Horton  <timothy_horton@apple.com>
142
143         background-image transitions trigger between equivalent images
144         https://bugs.webkit.org/show_bug.cgi?id=74229
145         <rdar://problem/10558627>
146
147         Reviewed by Darin Adler.
148         Patch by Simon Fraser.
149
150         For animation property wrappers around StyleImage properties,
151         test the equivalence of the image itself, instead of equality of
152         the StyleImage pointer.
153
154         Test: transitions/equivalent-background-image-no-transition.html
155
156         * page/animation/AnimationBase.cpp:
157         (WebCore::StyleImagePropertyWrapper::StyleImagePropertyWrapper):
158         (WebCore::StyleImagePropertyWrapper::equals):
159         (WebCore::FillLayerStyleImagePropertyWrapper::FillLayerStyleImagePropertyWrapper):
160         (WebCore::FillLayerStyleImagePropertyWrapper::equals):
161         (WebCore::FillLayersPropertyWrapper::FillLayersPropertyWrapper):
162         (WebCore::AnimationBase::ensurePropertyMap):
163
164 2011-12-09  Mary Wu  <mary.wu@torchmobile.com.cn>
165
166         Small style fix on DragDataBlackBerry.cpp
167         https://bugs.webkit.org/show_bug.cgi?id=74171
168
169         Reviewed by Rob Buis.
170
171         Style fix, no function impact, no new tests.
172
173         * platform/blackberry/DragDataBlackBerry.cpp:
174         (WebCore::DragData::containsURL):
175         (WebCore::DragData::asFilenames):
176         (WebCore::DragData::asURL):
177         (WebCore::DragData::asFragment):
178
179 2011-12-09  Tony Chang  <tony@chromium.org>
180
181         add css parsing for flex-flow: wrap and wrap-reverse
182         https://bugs.webkit.org/show_bug.cgi?id=74008
183
184         Reviewed by Ojan Vafai.
185
186         Also save 2 bits in StyleFlexibleBoxData by changing the size of m_flexFlow (there are only 4 enum values).
187
188         * css/CSSComputedStyleDeclaration.cpp:
189         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Print the wrap value if it exists.
190         * css/CSSParser.cpp:
191         (WebCore::CSSParser::parseValue): Parse a second token and put the values into a CSSValueList.
192         * css/CSSPrimitiveValueMappings.h:
193         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
194         (WebCore::CSSPrimitiveValue::operator EFlexWrap):
195         * css/CSSStyleApplyProperty.cpp:
196         (WebCore::ApplyPropertyFlexFlow::applyInheritValue): Does not inherit.
197         (WebCore::ApplyPropertyFlexFlow::applyInitialValue):
198         (WebCore::ApplyPropertyFlexFlow::applyValue): Special handler for setting two render style values from one
199         CSS property.
200         (WebCore::ApplyPropertyFlexFlow::createHandler):
201         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
202         * css/CSSValueKeywords.in:
203         * rendering/style/RenderStyle.h:
204         (WebCore::InheritedFlags::flexWrap):
205         (WebCore::InheritedFlags::setFlexWrap):
206         (WebCore::InheritedFlags::initialFlexWrap):
207         * rendering/style/RenderStyleConstants.h: EFlexWrap to hold flex wrap values.
208         * rendering/style/StyleFlexibleBoxData.cpp:
209         (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
210         (WebCore::StyleFlexibleBoxData::operator==):
211         * rendering/style/StyleFlexibleBoxData.h: 2 bits is enough to hold the 4 flexFlow values.
212
213 2011-12-09  KwangHyuk Kim  <hyuki.kim@samsung.com>
214
215         [EFL] Add RefPtrEfl specialization for evas_object.
216         https://bugs.webkit.org/show_bug.cgi?id=73790
217
218         Reviewed by Ryosuke Niwa.
219
220         As evas_object is also based on reference count, RefPtr is applied for evas_object.
221
222         * PlatformEfl.cmake:
223         * platform/efl/RefPtrEfl.cpp: Added.
224         (WTF::refIfNotNull):
225         (WTF::derefIfNotNull):
226         * platform/efl/RefPtrEfl.h: Added.
227
228 2011-12-09  Tony Chang  <tony@chromium.org>
229
230         REGRESSION(102234): 2-3% layout regression
231         https://bugs.webkit.org/show_bug.cgi?id=74141
232
233         Reviewed by David Hyatt.
234
235         Don't allocate a RuleSet when there are no regions.
236
237         * css/CSSStyleSelector.cpp:
238         (WebCore::CSSStyleSelector::initForRegionStyling):
239
240 2011-12-09  Anders Carlsson  <andersca@apple.com>
241
242         Fix assertion failure in ScrollAnimatorMac
243         https://bugs.webkit.org/show_bug.cgi?id=74222
244
245         Reviewed by Andreas Kling.
246
247         * platform/mac/ScrollAnimatorMac.mm:
248         (-[WebScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
249         This can be called with a nil scrollerImp, just return NSZeroPoint when that happens.
250
251 2011-12-09  Anders Carlsson  <andersca@apple.com>
252
253         Move the "is currently drawing into layer" flag out into ScrollbarThemeMac
254         https://bugs.webkit.org/show_bug.cgi?id=74217
255
256         Reviewed by Beth Dakin.
257
258         There's no need to store this flag inside ScrollAnimatorMac, just make it a global and put it in ScrollbarThemeMac instead.
259
260         * platform/mac/ScrollAnimatorMac.h:
261         * platform/mac/ScrollAnimatorMac.mm:
262         (-[WebScrollbarPainterDelegate layer]):
263         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
264         * platform/mac/ScrollbarThemeMac.h:
265         * platform/mac/ScrollbarThemeMac.mm:
266         (WebCore::ScrollbarThemeMac::isCurrentlyDrawingIntoLayer):
267         (WebCore::ScrollbarThemeMac::paint):
268
269 2011-12-09  Anders Carlsson  <andersca@apple.com>
270
271         Minor cleanup in ScrollAnimatorMac.mm
272         https://bugs.webkit.org/show_bug.cgi?id=74211
273
274         Reviewed by Andreas Kling.
275
276         * platform/mac/ScrollAnimatorMac.mm:
277         (-[WebScrollbarPainterDelegate mouseLocationInScrollerForScrollerImp:]):
278         No need to get the scrollbar from the scroll animator anymore.
279
280         (-[WebScrollbarPainterDelegate setUpAlphaAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
281         (-[WebScrollbarPainterDelegate scrollerImp:animateUIStateTransitionWithDuration:]):
282         Try to get data from the scrollbar and/or the scrollable area instead of the scrollbar painter.
283
284 2011-12-09  David Levin  <levin@chromium.org>
285
286         Regression(r53595): Sync xhr requests in workers aren't terminated on worker close.
287         https://bugs.webkit.org/show_bug.cgi?id=71695
288
289         Reviewed by Zoltan Herczeg.
290
291         Overview: Message loops rely on the message queue being killed in order
292         to exit. r53595 stopped this from happening because killing a message loop
293         would also stop it from doing database clean up tasks. The database clean up
294         tasks needed to be tasks due to ordering issues. (They wanted to run after
295         certain order tasks were run.) This was solved by once again terminating
296         the message queue but then still runnning clean-up tasks from the killed
297         message queue.
298
299         * workers/WorkerRunLoop.cpp:
300         (WebCore::WorkerRunLoop::run): Added the call to run clean-up tasks.
301         (WebCore::WorkerRunLoop::runInMode):
302         (WebCore::WorkerRunLoop::runCleanupTasks): Loop to simply clear out all clean up tasks.
303         (WebCore::WorkerRunLoop::Task::performTask): Stop non-clean up tasks
304         from running after the loop has been terminated.
305         * workers/WorkerRunLoop.h:
306         (WebCore::WorkerRunLoop::terminated): Just made it const.
307         * workers/WorkerThread.cpp:
308         (WebCore::WorkerThreadShutdownFinishTask::performTask): Removed
309         the terminate clause since it was put back in stop.
310         (WebCore::WorkerThread::stop): Terminate the run loop so
311         that all loops will exit and clean up tasks will run. Also removed a comment
312         about nested workers because nested workers are no longer imminent and the
313         issue mentioned is one of many that should logically be investigated -- behavior correctness
314         in the face of different orderings of shutdown between the document and each worker --
315         when implementing them.
316
317 2011-12-09  Tony Chang  <tony@chromium.org>
318
319         Unreviewed, rolling out r102416.
320         http://trac.webkit.org/changeset/102416
321         https://bugs.webkit.org/show_bug.cgi?id=73394
322
323         Chromium Win clobber builds are failing.
324
325         * WebCore.gyp/WebCore.gyp:
326         * WebCore.gyp/scripts/action_derivedsourcesallinone.py:
327         (main):
328         * WebCore.gypi:
329         * bindings/scripts/generate-bindings.pl:
330         * page/DOMWindow.idl:
331         * webaudio/DOMWindowWebAudio.idl: Removed.
332
333 2011-12-09  Eric Carlson  <eric.carlson@apple.com>
334
335         JSC wrappers for TextTrack and TextTrackCue should not be collected during event dispatch or when owner is reachable
336         https://bugs.webkit.org/show_bug.cgi?id=72179
337
338         Reviewed by Geoff Garen.
339
340         Tests: media/track/text-track-cue-is-reachable.html
341                media/track/text-track-is-reachable.html
342
343         * GNUmakefile.list.am: Add JSTextTrackCueCustom.cpp and JSTextTrackCustom.cpp.
344         * Target.pri: Ditto.
345         * WebCore.gypi: Ditto.
346         * WebCore.xcodeproj/project.pbxproj: Ditto
347         * bindings/js/JSBindingsAllInOne.cpp: Ditto.
348
349         * bindings/js/JSTextTrackCueCustom.cpp: Added.
350         (WebCore::JSTextTrackCueOwner::isReachableFromOpaqueRoots): New.
351         (WebCore::JSTextTrackCueOwner::visitChildren): New.
352
353         * bindings/js/JSTextTrackCustom.cpp: Added.
354         (WebCore::JSTextTrackOwner::isReachableFromOpaqueRoots): New.
355         (WebCore::JSTextTrack::visitChildren): New, mark all cues.
356         * bindings/js/JSTextTrackCustom.h: Added.
357         (WebCore::root): New.
358
359         * bindings/js/JSTextTrackListCustom.cpp:
360         (WebCore::JSTextTrackList::visitChildren): New, mark all tracks.
361
362         * html/HTMLMediaElement.cpp:
363         (WebCore::HTMLMediaElement::trackWillBeRemoved): TextTracks::remove now takes a TextTrack*.
364
365         * html/LoadableTextTrack.h:
366         (WebCore::LoadableTextTrack::trackElement): New, return the <track>.
367
368         * html/TextTrack.cpp:
369         (WebCore::TextTrack::TextTrack): Initialize m_mediaElement.
370         * html/TextTrack.h:
371         (WebCore::TextTrack::setMediaElement): New.
372         (WebCore::TextTrack::mediaElement): Ditto.
373
374         * html/TextTrack.idl: Add CustomIsReachable and CustomMarkFunction.
375
376         * html/TextTrackCue.idl: Add CustomIsReachable.
377
378         * html/track/TextTrackList.cpp:
379         (TextTrackList::append): Set track's media element.
380         (TextTrackList::remove): Clear track's media element. Take a raw ptr, not a PassRefPtr.
381         * html/track/TextTrackList.h:
382         * html/track/TextTrackList.idl: Add CustomMarkFunction
383
384 2011-12-09  Chris Fleizach  <cfleizach@apple.com>
385
386         WebKit should ignore images with @alt matching only whitespace
387         https://bugs.webkit.org/show_bug.cgi?id=74189
388
389         Reviewed by Darin Adler.
390
391         Test: accessibility/img-alt-tag-only-whitespace.html
392
393         * accessibility/AccessibilityRenderObject.cpp:
394         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
395
396 2011-12-09  Anders Carlsson  <andersca@apple.com>
397
398         Remove NSAnimationContext calls
399         https://bugs.webkit.org/show_bug.cgi?id=74207
400
401         Reviewed by Sam Weinig.
402
403         NSAnimationContext is not used for NSAnimation subclasses, so the calls to beginGrouping/endGrouping and setDuration:
404         are essentially no-ops. Remove them.
405
406         * platform/mac/ScrollAnimatorMac.mm:
407         (-[WebScrollbarPainterDelegate setUpAlphaAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
408         (-[WebScrollbarPainterDelegate scrollerImp:animateUIStateTransitionWithDuration:]):
409
410 2011-12-09  Anders Carlsson  <andersca@apple.com>
411
412         Rename scrollAnimatorDestroyed to invalidate
413         https://bugs.webkit.org/show_bug.cgi?id=74206
414
415         Reviewed by Sam Weinig.
416
417         Since these methods can be called when both scrollbars are destroyed and the scroll animator itself is
418         destroyed, rename it to something more neutral.
419
420         * platform/mac/ScrollAnimatorMac.mm:
421         (-[WebScrollAnimationHelperDelegate invalidate]):
422         (-[WebScrollbarPartAnimation invalidate]):
423         (-[WebScrollbarPainterDelegate invalidate]):
424         (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
425         (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
426         (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
427
428 2011-12-09  Anders Carlsson  <andersca@apple.com>
429
430         WebScrollbarPainterControllerDelegate should know about the ScrollableArea, not the ScrollAnimatorMac
431         https://bugs.webkit.org/show_bug.cgi?id=74204
432
433         Reviewed by Sam Weinig.
434
435         It makes more logical sense to associate the WebScrollbarPainterControllerDelegate object with its ScrollableArea, since
436         painting has nothing to do with animation.
437
438         * platform/mac/ScrollAnimatorMac.mm:
439         (-[WebScrollbarPainterControllerDelegate initWithScrollableArea:]):
440         (-[WebScrollbarPainterControllerDelegate invalidate]):
441         (-[WebScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
442         (-[WebScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
443         (-[WebScrollbarPainterControllerDelegate mouseLocationInContentAreaForScrollerImpPair:]):
444         (-[WebScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
445         (-[WebScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
446         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
447         (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
448
449 2011-12-09  Jarred Nicholls  <jarred@sencha.com>
450
451         [JSC] Allow cached attributes in bindings that declare a custom mark function
452         https://bugs.webkit.org/show_bug.cgi?id=74187
453
454         Reviewed by Oliver Hunt.
455
456         No new tests, current binding tests are sufficient.
457
458         * bindings/scripts/CodeGeneratorJS.pm:
459         (GenerateImplementation):
460
461 2011-12-09  Anders Carlsson  <andersca@apple.com>
462
463         Remove duplicate animation ivars
464         https://bugs.webkit.org/show_bug.cgi?id=74194
465
466         Reviewed by Sam Weinig.
467
468         Since we now have one WebScrollbarPainterDelegate for each scrollbar, we no longer need separate
469         vertical/horizontal animation objects, so get rid of them.
470
471         * platform/mac/ScrollAnimatorMac.mm:
472         (-[WebScrollbarPainterDelegate cancelAnimations]):
473         (-[WebScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
474         (-[WebScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
475         (-[WebScrollbarPainterDelegate scrollerImp:animateUIStateTransitionWithDuration:]):
476         (-[WebScrollbarPainterDelegate scrollAnimatorDestroyed]):
477
478 2011-12-09  Anders Carlsson  <andersca@apple.com>
479
480         WebScrollbarPartAnimation should only know about the scrollbar it's animating
481         https://bugs.webkit.org/show_bug.cgi?id=74192
482
483         Reviewed by Sam Weinig.
484
485         * platform/mac/ScrollAnimatorMac.mm:
486         (-[WebScrollbarPartAnimation initWithScrollbar:featureToAnimate:animateFrom:animateTo:duration:]):
487         Change the designated initializer to just take the scrollbar. Also, make the animation non-blocking here
488         so we don't have to do it in all the call sites.
489
490         (-[WebScrollbarPartAnimation startAnimation]):
491         Update the scrollbar painter.
492
493         (-[WebScrollbarPartAnimation setCurrentProgress:]):
494         Just invalidate the scrollbar we're animating.
495
496         (-[WebScrollbarPainterDelegate setUpAlphaAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
497         (-[WebScrollbarPainterDelegate scrollerImp:animateUIStateTransitionWithDuration:]):
498         Update call sites to use the new designated initializer.
499
500 2011-12-08  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
501
502         Inspector: Don't translate the context when rendering the highlights on a tiled layer.
503         https://bugs.webkit.org/show_bug.cgi?id=74085
504
505         Reviewed by Kenneth Rohde Christiansen.
506
507         When the frame view is using fixed layouting, the page overlay is the size of the whole
508         page and the context shouldn't be translated. The visible rect is still used in that
509         case to display element titles within the visible rect.
510
511         Also:
512         - Rename overlayRect to visibleRect to reduce confusion in this case.
513         - Remove the superfluous boundingBox check.
514
515         * inspector/DOMNodeHighlighter.cpp:
516
517 2011-12-09  Vsevolod Vlasov  <vsevik@chromium.org>
518
519         Unreviewed inspector utilities syntax fix.
520
521         * inspector/front-end/utilities.js:
522         ():
523
524 2011-12-09  Joone Hur  <joone.hur@collabora.co.uk>, Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk> 
525
526         [GTK] Initial implementation of Accelerated Compositing using Clutter
527         https://bugs.webkit.org/show_bug.cgi?id=73319
528
529         Reviewed by Gustavo Noronha Silva.
530
531         No new tests added as this feature will be able to reuse the existing 
532         CSS3 transforms layout tests.
533
534         * GNUmakefile.am: Include WebCore/platform/graphics/clutter path.
535         * GNUmakefile.list.am: Add GraphicsLayerClutter.
536         * platform/clutter/GRefPtrClutter.cpp: Added.
537         (WTF::adoptGRef):
538         (WTF::ClutterActor):
539         * platform/clutter/GRefPtrClutter.h: Added.
540         * platform/graphics/GraphicsLayer.h: Define PlatformLayer type, which represents ClutterActor.
541         * platform/graphics/clutter/GraphicsLayerClutter.cpp: Boilerplate implementation.
542         (WebCore::GraphicsLayerClutter::GraphicsLayerClutter):
543         (WebCore::GraphicsLayerClutter::platformLayer):
544         * platform/graphics/clutter/GraphicsLayerClutter.h: Boilerplate implementation.
545
546 2011-12-08  Vsevolod Vlasov  <vsevik@chromium.org>
547
548         Web Inspector: Introduce a Map class allowing to store values indexed by arbitrary objects.
549         https://bugs.webkit.org/show_bug.cgi?id=74084
550
551         Reviewed by Pavel Feldman.
552
553         Test: inspector/map.html
554
555         * inspector/front-end/treeoutline.js:
556         (TreeOutline):
557         ():
558         (TreeElement.prototype.collapse):
559         (TreeElement.prototype.expand):
560         * inspector/front-end/utilities.js:
561         ():
562
563 2011-12-09  Peter Rybin  <peter.rybin@gmail.com>
564
565         Web Inspector: [protocol] generate C++ classes for protocol JSON named types
566         https://bugs.webkit.org/show_bug.cgi?id=72835
567
568         Reviewed by Yury Semikhatsky.
569
570         Extends python generator functionality.
571         Makes constructor in InspectorObject public.
572
573         * inspector/CodeGeneratorInspector.py:
574         * inspector/InspectorValues.h:
575
576 2011-12-08  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
577
578         [Qt] [WK2] Webkit should release TextureMapper GL objects if page paint node is deallocated.
579         https://bugs.webkit.org/show_bug.cgi?id=73591
580
581         Reviewed by Noam Rosenthal.
582
583         Implementation of helper function to remove all GL allocated tiles
584         when QQuickWebView gets removed from canvas.
585
586         Tested by new API test in WK2 (tst_QQuickWebView::removeFromCanvas).
587
588         * platform/graphics/texmap/TextureMapperNode.cpp:
589         (WebCore::TextureMapperNode::purgeNodeTexturesRecursive):
590         * platform/graphics/texmap/TextureMapperNode.h:
591
592 2011-12-08  Leo Yang  <leo.yang@torchmobile.com.cn>
593
594         Upstream platform/network/blackberry/DeferredData.{h, cpp}, NetworkJob.{h, cpp} and NetworkManager.{h, cpp}
595         https://bugs.webkit.org/show_bug.cgi?id=73791
596
597         Reviewed by Rob Buis.
598
599         Other main contributors:
600         Joe Mason <jmason@rim.com>
601         Lianghui Chen <liachen@rim.com>
602         Charles Wei <charles.wei@torchmobile.com.cn>
603
604         Initial upstream, can't be built yet, no new tests.
605
606         * platform/network/blackberry/DeferredData.cpp: Added.
607         * platform/network/blackberry/DeferredData.h: Added.
608         * platform/network/blackberry/NetworkJob.cpp: Added.
609         * platform/network/blackberry/NetworkJob.h: Added.
610         * platform/network/blackberry/NetworkManager.cpp: Added.
611         * platform/network/blackberry/NetworkManager.h: Added.
612
613 2011-12-08  Ryosuke Niwa  <rniwa@webkit.org>
614
615         It's semantically incorrect to call notifyNodeListsAttributeChanged in dispatchSubtreeModifiedEvent
616         https://bugs.webkit.org/show_bug.cgi?id=74028
617
618         Reviewed by Darin Adler.
619
620         Remove a call to notifyNodeListsAttributeChanged in dispatchSubtreeModified and add explicit calls
621         to notifyNodeListsAttributeChanged at appropriate places.
622
623         Also merge notifyNodeListsChildrenChanged with notifyLocalNodeListsChildrenChanged, and
624         notifyNodeListsAttributeChanged with notifyLocalNodeListsAttributeChanged, and rename them to
625         invalidateNodeListsCacheAfterAttributeChanges and invalidateNodeListsCacheAfterNodeChanges respectively.
626
627         * dom/Attr.cpp:
628         (WebCore::Attr::childrenChanged):
629         * dom/ContainerNode.cpp:
630         (WebCore::ContainerNode::childrenChanged):
631         * dom/Document.cpp:
632         (WebCore::Document::updateRangesAfterNodeChanges):
633         * dom/Document.h:
634         * dom/NamedNodeMap.cpp:
635         (WebCore::NamedNodeMap::addAttribute):
636         (WebCore::NamedNodeMap::removeAttribute):
637         * dom/Node.cpp:
638         (WebCore::removeNodeListCacheIfPossible):
639         (WebCore::Node::unregisterDynamicNodeList):
640         (WebCore::Node::invalidateNodeListsCacheAfterAttributeChanges):
641         (WebCore::Node::invalidateNodeListsCacheAfterNodeChanges):
642         (WebCore::Node::dispatchSubtreeModifiedEvent):
643         * dom/Node.h:
644         * dom/NodeRareData.h:
645         * dom/StyledElement.cpp:
646         (WebCore::StyledElement::classAttributeChanged):
647
648 2011-12-08  Kenichi Ishibashi  <bashi@chromium.org>
649
650         Unreviewed, rolling out r102418.
651         http://trac.webkit.org/changeset/102418
652         https://bugs.webkit.org/show_bug.cgi?id=71870
653
654         Caused Chromium build failure.
655
656         * CMakeLists.txt:
657         * DerivedSources.make:
658         * DerivedSources.pri:
659         * GNUmakefile.list.am:
660         * Target.pri:
661         * WebCore.gypi:
662         * WebCore.xcodeproj/project.pbxproj:
663         * bindings/js/JSWebGLRenderingContextCustom.cpp:
664         (WebCore::toJS):
665         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
666         (WebCore::toV8Object):
667         * html/canvas/WebGLExtension.h:
668         * html/canvas/WebGLRenderingContext.cpp:
669         (WebCore::WebGLRenderingContext::getExtension):
670         (WebCore::WebGLRenderingContext::getSupportedExtensions):
671         (WebCore::WebGLRenderingContext::maybeRestoreContext):
672         * html/canvas/WebGLRenderingContext.h:
673         * html/canvas/WebKitLoseContext.cpp: Renamed from Source/WebCore/html/canvas/WebGLLoseContext.cpp.
674         (WebCore::WebKitLoseContext::WebKitLoseContext):
675         (WebCore::WebKitLoseContext::~WebKitLoseContext):
676         (WebCore::WebKitLoseContext::getName):
677         (WebCore::WebKitLoseContext::create):
678         (WebCore::WebKitLoseContext::loseContext):
679         (WebCore::WebKitLoseContext::restoreContext):
680         * html/canvas/WebKitLoseContext.h: Renamed from Source/WebCore/html/canvas/WebGLLoseContext.h.
681         * html/canvas/WebKitLoseContext.idl: Renamed from Source/WebCore/html/canvas/WebGLLoseContext.idl.
682
683 2011-12-08  Fady Samuel  <fsamuel@chromium.org>
684
685         [Chromium] Enable viewport metatag
686         https://bugs.webkit.org/show_bug.cgi?id=73495
687
688         Reviewed by Darin Fisher.
689
690         Recompute viewpot parameters on frame rect resize.
691
692         * page/FrameView.cpp:
693         (WebCore::FrameView::setFrameRect):
694
695 2011-12-08  Kent Tamura  <tkent@chromium.org>
696
697         Build fix for r102419.
698         https://bugs.webkit.org/show_bug.cgi?id=73916
699
700         * platform/PopupMenuClient.h:
701         (WebCore::PopupMenuClient::listBoxSelectItem):
702         Remove unused argument names.
703
704 2011-12-08  Kentaro Hara  <haraken@chromium.org>
705
706         Unreviewed. Rebaselined run-bindings-tests results.
707
708         * bindings/scripts/test/JS/JSFloat64Array.cpp:
709         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
710         * bindings/scripts/test/JS/JSTestInterface.cpp:
711         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
712         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
713         * bindings/scripts/test/JS/JSTestObj.cpp:
714         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
715
716 2011-12-08  Mary Wu  <mary.wu@torchmobile.com.cn>
717
718         Upstream BlackBerry porting of MIMETypeRegistry/KeyboardEvent
719         https://bugs.webkit.org/show_bug.cgi?id=73534
720
721         Reviewed by Rob Buis.
722
723         Other main contributors:
724         Mike Fenton <mifenton@rim.com>
725         Joe Mason <jmason@rim.com>
726         Max Feil <mfeil@qnx.com>
727         Lukas Sydorowski <lsydorowski@rim.com>
728         Crystal Zhang <haizhang@rim.com> 
729
730         Initial upstream, no new tests.
731
732         * platform/blackberry/MIMETypeRegistryBlackBerry.cpp: Added.
733         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
734         (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
735         (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
736         * platform/blackberry/PlatformKeyboardEventBlackBerry.cpp: Added.
737         (WebCore::keyIdentifierForBlackBerryCharacter):
738         (WebCore::windowsKeyCodeForBlackBerryCharacter):
739         (WebCore::adjustCharacterFromOS):
740         (WebCore::toWebCorePlatformKeyboardEventType):
741         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
742         (WebCore::PlatformKeyboardEvent::currentCapsLockState):
743         (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
744         (WebCore::PlatformKeyboardEvent::getCurrentModifierState):
745
746 2011-12-08  Sheriff Bot  <webkit.review.bot@gmail.com>
747
748         Unreviewed, rolling out r101619.
749         http://trac.webkit.org/changeset/101619
750         https://bugs.webkit.org/show_bug.cgi?id=74158
751
752         this patch produces bad behaviour on mac (Requested by
753         jeremya_ on #webkit).
754
755         * page/EventHandler.cpp:
756         (WebCore::EventHandler::handleMouseMoveEvent):
757         (WebCore::EventHandler::dragSourceEndedAt):
758         * rendering/RenderLayer.cpp:
759         (WebCore::RenderLayer::updateHoverActiveState):
760
761 2011-12-08  Adam Klein  <adamk@chromium.org>
762
763         [MutationObservers] V8LazyEventHandler breaks microtask delivery semantics
764         https://bugs.webkit.org/show_bug.cgi?id=73492
765
766         Reviewed by Adam Barth.
767
768         Test: fast/mutation/inline-event-listener.html
769
770         * bindings/v8/V8LazyEventListener.cpp:
771         (WebCore::V8LazyEventListener::prepareListenerObject): Call v8::Script::Run directly instead of going through V8Proxy.
772
773 2011-12-08  Hayato Ito  <hayato@chromium.org>
774
775         Suppress rendering of light children when ShadowRoot is dynamically created.
776         https://bugs.webkit.org/show_bug.cgi?id=72441
777
778         Reviewed by Ryosuke Niwa.
779
780         Tests: fast/dom/shadow/dynamically-created-shadow-root-expected.html
781                fast/dom/shadow/dynamically-created-shadow-root.html
782
783         * dom/Element.cpp:
784         (WebCore::Element::setShadowRoot):
785
786 2011-12-08  Pierre Rossi  <pierre.rossi@gmail.com>
787
788         Drop ENABLE_NO_LISTBOX_RENDERING, and make it a runtime decision.
789         https://bugs.webkit.org/show_bug.cgi?id=73916
790
791         This was needed for Qt since the mobile theme, which can be picked
792         up at runtime, delegates the rendering of list boxes.
793
794         Reviewed by Kent Tamura.
795
796         No new tests, there's no functional change.
797
798         * html/HTMLSelectElement.cpp:
799         (WebCore::HTMLSelectElement::usesMenuList):
800         * html/HTMLSelectElement.h:
801         * platform/PopupMenuClient.h:
802         (WebCore::PopupMenuClient::listBoxSelectItem):
803         (WebCore::PopupMenuClient::multiple):
804         * platform/qt/RenderThemeQtMobile.h:
805         (WebCore::RenderThemeQtMobile::delegatesMenuListRendering):
806         * rendering/RenderMenuList.cpp:
807         (WebCore::RenderMenuList::multiple):
808         * rendering/RenderMenuList.h:
809         * rendering/RenderTheme.h:
810         (WebCore::RenderTheme::delegatesMenuListRendering):
811
812 2011-12-08  Kenneth Russell  <kbr@google.com>
813
814         Rename WEBKIT_lose_context to WEBKIT_WEBGL_lose_context
815         https://bugs.webkit.org/show_bug.cgi?id=71870
816
817         Reviewed by James Robinson.
818
819         Rename largely done with do-webcore-rename with a couple of
820         necessary manual fixups. Ran WebGL layout tests.
821
822         * CMakeLists.txt:
823         * DerivedSources.make:
824         * DerivedSources.pri:
825         * GNUmakefile.list.am:
826         * Target.pri:
827         * WebCore.gypi:
828         * WebCore.xcodeproj/project.pbxproj:
829         * bindings/js/JSWebGLRenderingContextCustom.cpp:
830         (WebCore::toJS):
831         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
832         (WebCore::toV8Object):
833         * html/canvas/WebGLExtension.h:
834         * html/canvas/WebGLLoseContext.cpp: Copied from Source/WebCore/html/canvas/WebKitLoseContext.cpp.
835         (WebCore::WebGLLoseContext::WebGLLoseContext):
836         (WebCore::WebGLLoseContext::~WebGLLoseContext):
837         (WebCore::WebGLLoseContext::getName):
838         (WebCore::WebGLLoseContext::create):
839         (WebCore::WebGLLoseContext::loseContext):
840         (WebCore::WebGLLoseContext::restoreContext):
841         * html/canvas/WebGLLoseContext.h: Copied from Source/WebCore/html/canvas/WebKitLoseContext.h.
842         * html/canvas/WebGLLoseContext.idl: Copied from Source/WebCore/html/canvas/WebKitLoseContext.idl.
843         * html/canvas/WebGLRenderingContext.cpp:
844         (WebCore::WebGLRenderingContext::getExtension):
845         (WebCore::WebGLRenderingContext::getSupportedExtensions):
846         (WebCore::WebGLRenderingContext::maybeRestoreContext):
847         * html/canvas/WebGLRenderingContext.h:
848         * html/canvas/WebKitLoseContext.cpp: Removed.
849         * html/canvas/WebKitLoseContext.h: Removed.
850         * html/canvas/WebKitLoseContext.idl: Removed.
851
852 2011-12-08  Kentaro Hara  <haraken@chromium.org>
853
854         Use the [Supplemental] IDL for webaudio attributes in Chromium
855         https://bugs.webkit.org/show_bug.cgi?id=73394
856
857         Reviewed by Adam Barth.
858
859         - Overview: Using the [Supplemental] IDL, this patch moves the attribute
860         declarations of webaudio from DOMWindow.idl into a new IDL file
861         webaudio/DOMWindowWebAudio.idl, which helps make webaudio a self-contained
862         feature (aka a module).
863
864         - This patch changes the build flow of WebCore.gyp as follows:
865
866             Previous build flow:
867                 foreach $idl (all IDL files) {
868                     generate-bindings.pl depends on $idl;
869                     generate-bindings.pl reads $idl;
870                     generate-bindings.pl generates .h and .cpp files for $idl;
871                 }
872
873             New build flow (See the discussions in bug 72138 for more details):
874                 resolve-supplemental.pl depends on all IDL files;
875                 resolve-supplemental.pl reads all IDL files;
876                 resolve-supplemental.pl resolves the dependency of [Supplemental=XXXX];
877                 resolve-supplemental.pl outputs supplemental_dependency.tmp;
878                 foreach $idl (all IDL files) {
879                     generate-bindings.pl depends on $idl and supplemental_dependency.tmp;
880                     generate-bindings.pl reads $idl;
881                     generate-bindings.pl reads supplemental_dependency.tmp;
882                     generate-bindings.pl generates .h and .cpp files for $idl, including all attributes in IDL files whilementing $idl;
883                 }
884
885         - This patch introduces a temporary IDL, [Supplemented]. The [Supplemented] IDL
886         will be removed after build scripts for all platforms support the [Supplemental] IDL.
887         The motivation for the [Supplemented] IDL is as follows:
888
889         In order to support the [Supplemental] IDL, we need to
890         (1) run resolve-supplemental.pl and generate supplemental_dependency.tmp
891         (2) and run generate-bindings.pl with the supplemental_dependency.tmp.
892
893         This build flow requires a change on the following build scripts,
894         but changing all the build scripts all at once without any regression is too difficult:
895
896             - DerivedSources.make
897             - DerivedSources.pri
898             - GNUmakefile.am
899             - PlatformBlackBerry.cmake
900             - UseJSC.cmake
901             - UseV8.cmake
902             - WebCore.vcproj/MigrateScripts
903             - WebCore.vcproj/WebCore.vcproj
904             - bindings/gobject/GNUmakefile.am
905             - WebCore.gyp/WebCore.gyp
906
907         Thus, we are planning to change the build scripts one by one, which implies that
908         we need to allow the temporary state in which some build scripts support [Supplemental] IDL
909         but others do not. To accomplish this, we introduce a temporary IDL, [Supplemented].
910         The [Supplemented] IDL on an attribute means that the attribute is marked with [Supplemental]
911         in another IDL file somewhere, like this:
912
913             DOMWindowWebAudio.idl:
914                 interface [
915                     Supplemental=DOMWindow
916                 ] DOMWindowWebAudio {
917                     attribute attr1;
918                     attribute attr2;
919                 };
920
921             DOMWindow.idl:
922                 interface [
923                 ] DOMWindow {
924                     attribute [Supplemented] attr1; // This line will be removed after all build scripts support the [Su IDL
925                     attribute [Supplemented] attr2; // This line will be removed after all build scripts support the [Su IDL.
926                     attribute attr3;
927                     attribute attr4;
928                 };
929
930         Assuming these IDL files, this patch implements the following logic in generate-bindings.pl:
931
932             - If a given build script supports the [Supplemental] IDL,
933             generate-bindings.pl ignores all attributes with the [Supplemented] IDL.
934             - Otherwise, generate-bindings.pl treats all attributes with the [Supplemented] IDL
935             as normal attributes and instead ignores all attributes with the [Supplemental] IDL
936             (i.e. generate-bindings.pl generates nothing from the IDL file with the [Supplemental] IDL).
937
938         Tests: webaudio/*
939
940         * WebCore.gyp/WebCore.gyp: Describes the build flow that I described above.
941         * WebCore.gyp/scripts/action_derivedsourcesallinone.py:
942         (main): Reads the IDL file names from the input file (i.e. supplemental_dependency.tmp), which are described at the first column of each line in the input file. If the file name is a "/cygdrive/c/..."-style path, it is converted to a "C:\cygwin\..."-style path by the cygpath command.
943         * WebCore.gypi: Added DOMWindowWebAudio.idl.
944         * bindings/scripts/generate-bindings.pl: As a temporary solution, if the platform does not support the [Supplemental] IDL, the perl script ignores the [Supplemental] IDL and instead uses the [Supplemented] IDL. Otherwise, the perl script ignores the [Supplemented] IDL and instead uses the [Supplemental] IDL.
945         * page/DOMWindow.idl: Added the [Supplemented] IDL to webaudio-related attributes. As I described above, the [Supplemented] IDL will be removed after all platforms support the [Supplemental] IDL.
946         * webaudio/DOMWindowWebAudio.idl: Added. Describes the [Supplemental=DOMWindow] IDL. The attributes in this IDL file should be treated as if they are written in DOMWindow.idl.
947
948 2011-12-08  Van Lam  <vanlam@google.com>
949
950         Caret keeps blinking during forward-delete
951         https://bugs.webkit.org/show_bug.cgi?id=38564
952
953         Reviewed by Darin Adler.
954
955         Currently updateAppearance determines if the caret should stop blinking
956         based on whether or not the editing operation changed the position of
957         the caret; so the caret stops blinking in case of typing text and
958         backwards delete (which always displace the caret) but does not stop
959         blinking in the case of forward delete (which does not displace the
960         caret).
961
962         Added a boolean member function shouldStopCaretBlinking in EditCommand
963         which will return true if the object is a TypingCommand (my
964         understanding here is that all TypingCommands should stop the caret
965         from blinking for a cycle, currently 0.5 seconds). Then used this
966         function to stop the caret from blinking if the last editing command
967         is a TypingCommand.
968
969         * editing/EditCommand.h:
970         (WebCore::EditCommand::shouldStopCaretBlinking):
971         * editing/FrameSelection.cpp:
972         (WebCore::FrameSelection::updateAppearance):
973         * editing/TypingCommand.h:
974         (WebCore::TypingCommand::shouldStopCaretBlinking):
975
976 2011-12-08  Adam Klein  <adamk@chromium.org>
977
978         Use HashMap<Node*, OwnPtr<...>> in ChildListMutationScope
979         https://bugs.webkit.org/show_bug.cgi?id=73964
980
981         Reviewed by Darin Adler.
982
983         Re-landing r102267 with a fix for the clang build.
984
985         No new tests, refactoring only.
986
987         * dom/ChildListMutationScope.cpp:
988         (WebCore::ChildListMutationAccumulator::MutationAccumulationRouter::childAdded):
989         (WebCore::ChildListMutationAccumulator::MutationAccumulationRouter::willRemoveChild):
990         (WebCore::ChildListMutationAccumulator::MutationAccumulationRouter::incrementScopingLevel):
991         (WebCore::ChildListMutationAccumulator::MutationAccumulationRouter::decrementScopingLevel):
992
993 2011-12-08  Anders Carlsson  <andersca@apple.com>
994
995         WebScrollbarPainterDelegate should have a pointer to its Scrollbar
996         https://bugs.webkit.org/show_bug.cgi?id=74149
997
998         Reviewed by Darin Adler.
999
1000         This is another step towards making the scroll animation code more robust.
1001
1002         * platform/mac/ScrollAnimatorMac.mm:
1003         (-[WebScrollbarPainterDelegate initWithScrollbar:WebCore::]):
1004         (-[WebScrollbarPainterDelegate scrollAnimator]):
1005         (-[WebScrollbarPainterDelegate layer]):
1006         (-[WebScrollbarPainterDelegate mouseLocationInScrollerForScrollerImp:]):
1007         (-[WebScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
1008         (-[WebScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
1009         (-[WebScrollbarPainterDelegate scrollerImp:animateUIStateTransitionWithDuration:]):
1010         (-[WebScrollbarPainterDelegate scrollAnimatorDestroyed]):
1011         (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
1012         (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
1013
1014 2011-12-08  Rakesh KN  <rakesh.kn@motorola.com>
1015
1016         keyboard event doesn't fire while moving mouse with button pressed
1017         https://bugs.webkit.org/show_bug.cgi?id=73821
1018
1019         Reviewed by Alexey Proskuryakov.
1020
1021         Autoscroll should not stop on key press.
1022
1023         Test: fast/events/autoscroll-should-not-stop-on-keypress.html
1024
1025         * page/EventHandler.cpp:
1026         (WebCore::EventHandler::keyEvent):
1027         Removed the check for autoscroll so that autoscroll is not stopped on
1028         key press and key event is processed. 
1029
1030 2011-12-08  Anders Carlsson  <andersca@apple.com>
1031
1032         Add scrollAnimator getter method to WebScrollbarPainterDelegate
1033         https://bugs.webkit.org/show_bug.cgi?id=74146
1034
1035         Reviewed by Beth Dakin.
1036
1037         * platform/mac/ScrollAnimatorMac.mm:
1038         (-[WebScrollbarPainterDelegate scrollAnimator]):
1039         (-[WebScrollbarPainterDelegate layer]):
1040         (-[WebScrollbarPainterDelegate mouseLocationInScrollerForScrollerImp:]):
1041         (-[WebScrollbarPainterDelegate setUpAlphaAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
1042         (-[WebScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
1043         (-[WebScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
1044         (-[WebScrollbarPainterDelegate scrollerImp:animateUIStateTransitionWithDuration:]):
1045
1046 2011-12-08  James Robinson  <jamesr@chromium.org>
1047
1048         Improve handling of frame removal during requestAnimationFrame callback invocation
1049         https://bugs.webkit.org/show_bug.cgi?id=74036
1050
1051         Reviewed by Adam Barth.
1052
1053         See bug for details.
1054
1055         Test: fast/animation/request-animation-frame-detach-element.html
1056
1057         * dom/Document.cpp:
1058         (WebCore::Document::removedLastRef):
1059         (WebCore::Document::detach):
1060         * dom/Document.h:
1061         * dom/ScriptedAnimationController.cpp:
1062         (WebCore::ScriptedAnimationController::~ScriptedAnimationController):
1063         (WebCore::ScriptedAnimationController::serviceScriptedAnimations):
1064         (WebCore::ScriptedAnimationController::scheduleAnimation):
1065         * dom/ScriptedAnimationController.h:
1066         (WebCore::ScriptedAnimationController::create):
1067         (WebCore::ScriptedAnimationController::clearDocumentPointer):
1068         * page/FrameView.cpp:
1069         (WebCore::FrameView::serviceScriptedAnimations):
1070
1071 2011-12-08  Yongjun Zhang  <yongjun_zhang@apple.com>
1072
1073         Use bitfield for bool data members in BitmapImage.
1074         https://bugs.webkit.org/show_bug.cgi?id=74102
1075
1076         Reviewed by Darin Adler.
1077
1078         Class BitmapImage and FrameData has bool data members, we can use bitfield for those data
1079         members to reduce the BitmapImage's memory footprint.
1080
1081         * platform/graphics/BitmapImage.cpp:
1082         (WebCore::BitmapImage::BitmapImage):
1083         * platform/graphics/BitmapImage.h:
1084         (WebCore::FrameData::FrameData):
1085         * platform/graphics/cairo/ImageCairo.cpp:
1086         (WebCore::BitmapImage::BitmapImage):
1087         * platform/graphics/cg/ImageCG.cpp:
1088         (WebCore::BitmapImage::BitmapImage):
1089         * platform/graphics/openvg/ImageOpenVG.cpp:
1090         (WebCore::BitmapImage::BitmapImage):
1091         * platform/graphics/qt/ImageQt.cpp:
1092         (WebCore::BitmapImage::BitmapImage):
1093
1094 2011-12-08  Anders Carlsson  <andersca@apple.com>
1095
1096         Fix a paste-o in ScrollAnimatorMac::updateScrollerStyle
1097         https://bugs.webkit.org/show_bug.cgi?id=74145
1098
1099         Reviewed by Sam Weinig.
1100
1101         Call setHorizontalScrollerImp to set the horizontal scrollbar painter.
1102
1103         * platform/mac/ScrollAnimatorMac.mm:
1104         (WebCore::ScrollAnimatorMac::updateScrollerStyle):
1105
1106 2011-12-08  Anders Carlsson  <andersca@apple.com>
1107
1108         Create one WebScrollbarPainterDelegate for each scrollbar
1109         https://bugs.webkit.org/show_bug.cgi?id=74142
1110
1111         Reviewed by Sam Weinig.
1112
1113         Create and destroy WebScrollbarPainterDelegate objects as scrollbars come and go.
1114         This is a step towards simplifying the WebScrollbarPainterDelegate object.
1115
1116         * platform/mac/ScrollAnimatorMac.h:
1117         * platform/mac/ScrollAnimatorMac.mm:
1118         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
1119         (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
1120         (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
1121         (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
1122         (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
1123         (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
1124         (WebCore::ScrollAnimatorMac::cancelAnimations):
1125
1126 2011-12-08  David Reveman  <reveman@chromium.org>
1127
1128         [Chromium] Add per-tile painting flag to DumpRenderTree and rename AcceleratedDrawing to AcceleratedPainting in chromium specific code.
1129         https://bugs.webkit.org/show_bug.cgi?id=74017
1130
1131         Reviewed by James Robinson.
1132
1133         Add per-tile drawing to page settings.
1134
1135         No new tests.
1136
1137         * page/Settings.h:
1138         (WebCore::Settings::setPerTileDrawingEnabled):
1139         (WebCore::Settings::perTileDrawingEnabled):
1140         * testing/Internals.cpp:
1141         (WebCore::Internals::setPerTileDrawingEnabled):
1142         * testing/Internals.h:
1143
1144 2011-12-08  Anders Carlsson  <andersca@apple.com>
1145
1146         Add a scrollbarPainterForScrollbar helper function
1147         https://bugs.webkit.org/show_bug.cgi?id=74139
1148
1149         Reviewed by Sam Weinig.
1150
1151         * platform/mac/ScrollAnimatorMac.mm:
1152         (macScrollbarTheme):
1153         (scrollbarPainterForScrollbar):
1154         (WebCore::ScrollAnimatorMac::mouseEnteredScrollbar):
1155         (WebCore::ScrollAnimatorMac::mouseExitedScrollbar):
1156         (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
1157         (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
1158         (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
1159         (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
1160
1161 2011-12-08  James Robinson  <jamesr@chromium.org>
1162
1163         [chromium] Move NonCompositedContentHost to WebKit
1164         https://bugs.webkit.org/show_bug.cgi?id=74047
1165
1166         Reviewed by Kenneth Russell.
1167
1168         Updates WebCore.gypi to remove files no longer within WebCore and removes unused forward declaration and include
1169         from LayerRendererChromium.
1170
1171         * WebCore.gypi:
1172         * platform/graphics/chromium/LayerRendererChromium.cpp:
1173         * platform/graphics/chromium/LayerRendererChromium.h:
1174
1175 2011-12-08  Sami Kyostila  <skyostil@google.com>
1176
1177         [chromium] Layer contents scale change should trigger invalidation
1178
1179         https://bugs.webkit.org/show_bug.cgi?id=74086
1180
1181         When the contents scale of a layer is changed, the entire contents of
1182         the layer should be marked dirty.
1183
1184         Reviewed by James Robinson.
1185
1186         * platform/graphics/chromium/LayerChromium.cpp:
1187         (WebCore::LayerChromium::setContentsScale):
1188
1189 2011-12-08  Stephen White  <senorblanco@chromium.org>
1190
1191         [chromium] Add CSS_FILTERS custom binding file to WebCore.gypi.
1192         https://bugs.webkit.org/show_bug.cgi?id=74091
1193
1194         Reviewed by Adam Barth.
1195
1196         If it builds, you're happy.
1197
1198         * WebCore.gypi:
1199
1200 2011-12-08  Ryosuke Niwa  <rniwa@webkit.org>
1201
1202         Line breaks are lost when pasted into textarea text starting with a blank line set while textarea is hidden
1203         https://bugs.webkit.org/show_bug.cgi?id=74126
1204
1205         Reviewed by Tony Chang.
1206
1207         The bug was caused by the code that generated text out of pre-rendered text was generating div's inside the fragment
1208         pasted into textarea even though serialization algorithm in textarea doesn't handle block elements.
1209
1210         Fixed the bug by special-casing this in createFragmentFromText. In the long run, we should really get rid of this
1211         whole pre-rendering trick.
1212
1213         * editing/markup.cpp:
1214         (WebCore::createFragmentFromText):
1215
1216 2011-12-08  Florin Malita  <fmalita@google.com>
1217
1218         Moving SVG elements on the page doesn't always erase element at the old position
1219         https://bugs.webkit.org/show_bug.cgi?id=74002
1220
1221         Reviewed by Darin Adler.
1222
1223         Test: svg/repaint/container-repaint.svg
1224
1225         * rendering/svg/RenderSVGContainer.cpp:
1226         (WebCore::RenderSVGContainer::layout):
1227         Save the old repaint bounds before updating the viewport.
1228
1229 2011-12-08  Tim Horton  <timothy_horton@apple.com>
1230
1231         Enable animations of CSS images using -webkit-cross-fade
1232         https://bugs.webkit.org/show_bug.cgi?id=74049
1233         <rdar://problem/10209303>
1234
1235         Reviewed by Simon Fraser.
1236
1237         Add support for animating CSS images in the following properties:
1238             - background(-image)
1239             - border-image(-source)
1240             - list-style(-image)
1241             - -webkit-mask-box-image(-source)
1242             - -webkit-mask-image(-source)
1243         
1244         This patch only adds support for transitioning between NinePieceImages
1245         where all of the properties except the image itself are equal, and the
1246         size of the images are equal. Other cases will not animate.
1247         
1248         Add animation blend functions for StyleImage and NinePieceImage.
1249         
1250         Apply the proper compositing operation to -webkit-cross-fade, and
1251         fix handling of the destination and source areas to support scaling.
1252
1253         Tests: animations/cross-fade-background-image.html
1254                animations/cross-fade-border-image-source.html
1255                animations/cross-fade-list-style-image.html
1256                animations/cross-fade-webkit-mask-box-image.html
1257                animations/cross-fade-webkit-mask-image.html
1258
1259         * css/CSSCrossfadeValue.cpp:
1260         (WebCore::cachedImageForCSSValue):
1261         (WebCore::CSSCrossfadeValue::fixedSize):
1262         (WebCore::CSSCrossfadeValue::image):
1263         * css/CSSImageValue.cpp:
1264         (WebCore::CSSImageValue::CSSImageValue):
1265         * css/CSSImageValue.h:
1266         (WebCore::CSSImageValue::create):
1267         * page/animation/AnimationBase.cpp:
1268         (WebCore::crossfadeBlend):
1269         (WebCore::blendFunc):
1270         (WebCore::RefCountedPropertyWrapper::RefCountedPropertyWrapper):
1271         (WebCore::RefCountedPropertyWrapper::blend):
1272         (WebCore::FillLayerRefCountedPropertyWrapper::FillLayerRefCountedPropertyWrapper):
1273         (WebCore::FillLayerRefCountedPropertyWrapper::blend):
1274         (WebCore::FillLayersPropertyWrapper::FillLayersPropertyWrapper):
1275         (WebCore::AnimationBase::ensurePropertyMap):
1276         (WebCore::addShorthandProperties):
1277         * platform/graphics/CrossfadeGeneratedImage.cpp:
1278         (WebCore::CrossfadeGeneratedImage::drawCrossfade):
1279         (WebCore::CrossfadeGeneratedImage::draw):
1280         (WebCore::CrossfadeGeneratedImage::drawPattern):
1281         * platform/graphics/CrossfadeGeneratedImage.h:
1282         * rendering/style/RenderStyle.h:
1283         (WebCore::InheritedFlags::setMaskImage):
1284
1285 2011-12-08  Stephen White  <senorblanco@chromium.org>
1286
1287         Use Skia's implementation of Gaussian blur when accelerated filters
1288         are enabled.
1289         https://bugs.webkit.org/show_bug.cgi?id=73949
1290
1291         Reviewed by Zoltan Herczeg.
1292
1293         In the future, this will be covered by the SVG tests run in GPU mode.
1294
1295         * WebCore.gypi:
1296         Add FEGaussianBlurSkia.cpp to the build.
1297         * platform/graphics/filters/FEGaussianBlur.cpp:
1298         (WebCore::FEGaussianBlur::platformApplySoftware):
1299         Call out to platformApplySkia() when USE_SKIA is enabled.
1300         * platform/graphics/filters/FEGaussianBlur.h:
1301         platformApplySkia() declaration.
1302         * platform/graphics/filters/skia: Added.
1303         * platform/graphics/filters/skia/FEGaussianBlurSkia.cpp: Added.
1304         (WebCore::FEGaussianBlur::platformApplySkia):
1305         On the Skia port, use SkBlurImageFilter for drawing
1306         Gaussian blurs in accelerated mode.
1307         * platform/graphics/skia/ImageBufferSkia.cpp:
1308         (WebCore::ImageBuffer::copyImage):
1309         Implement ImageBuffer::copyImage() with DontCopyBackingStore semantics.
1310
1311 2011-12-08  Erik Arvidsson  <arv@chromium.org>
1312
1313         CodeGeneratorV8: Fix issue with overloaded static conditional methods
1314         https://bugs.webkit.org/show_bug.cgi?id=74114
1315
1316         Reviewed by Adam Barth.
1317
1318         The code generator was missing checks for Conditional for overloaded methods.
1319
1320         * bindings/scripts/CodeGeneratorV8.pm:
1321         (GenerateOverloadedFunctionCallback): Generate needed #ifdefs.
1322         (GenerateFunctionCallback): Ditto.
1323         * bindings/scripts/test/V8/V8TestObj.cpp: Wrap conditional methods with #ifdefs.
1324         (WebCore::ConfigureV8TestObjTemplate):
1325
1326 2011-12-08  Dominic Mazzoni  <dmazzoni@google.com>
1327
1328         AccessibilityController should support listening to notifications on all elements.
1329         https://bugs.webkit.org/show_bug.cgi?id=72866
1330
1331         Changes accessibilitySetShouldRepostNotifications from an instance method
1332         into a class method so that it can be used for global notification listeners,
1333         not just for listeners on a particular object.
1334
1335         Reviewed by Chris Fleizach.
1336
1337         Test: accessibility/notification-listeners.html
1338
1339         * accessibility/mac/WebAccessibilityObjectWrapper.h:
1340         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
1341         (+[WebAccessibilityObjectWrapper accessibilitySetShouldRepostNotifications:]):
1342         (-[WebAccessibilityObjectWrapper accessibilityPostedNotification:]):
1343
1344 2011-12-08  Vsevolod Vlasov  <vsevik@chromium.org>
1345
1346         Web Inspector: Rename createScriptCallStack() without parameters to createScriptCallStackForInspector().
1347         https://bugs.webkit.org/show_bug.cgi?id=74120
1348
1349         Reviewed by Pavel Feldman.
1350
1351         * bindings/js/ScriptCallStackFactory.cpp:
1352         (WebCore::createScriptCallStackForInspector):
1353         * bindings/js/ScriptCallStackFactory.h:
1354         * bindings/scripts/CodeGeneratorJS.pm:
1355         (GenerateParametersCheck):
1356         * bindings/scripts/CodeGeneratorV8.pm:
1357         (GenerateFunctionCallback):
1358         * bindings/scripts/test/JS/JSTestObj.cpp:
1359         (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
1360         * bindings/scripts/test/V8/V8TestObj.cpp:
1361         (WebCore::TestObjInternal::customArgsAndExceptionCallback):
1362         * bindings/v8/ScriptCallStackFactory.cpp:
1363         (WebCore::createScriptCallStackForInspector):
1364         * bindings/v8/ScriptCallStackFactory.h:
1365
1366 2011-12-08  Adrienne Walker  <enne@google.com>
1367
1368         [chromium] Remove dead code in compositor
1369         https://bugs.webkit.org/show_bug.cgi?id=74103
1370
1371         Reviewed by James Robinson.
1372
1373         Tested via the compiler.
1374
1375         * platform/graphics/chromium/LayerChromium.h:
1376         * platform/graphics/chromium/LayerRendererChromium.cpp:
1377         * platform/graphics/chromium/LayerRendererChromium.h:
1378
1379 2011-12-08  Eric Penner  <epenner@google.com>
1380
1381         [chromium] Need to adjust memory limit and viewport multipliers.
1382         https://bugs.webkit.org/show_bug.cgi?id=74022
1383
1384         Reviewed by James Robinson.
1385
1386         * platform/graphics/chromium/TextureManager.cpp:
1387         (WebCore::TextureManager::highLimitBytes): Changing constants
1388         (WebCore::TextureManager::reclaimLimitBytes): ditto
1389
1390 2011-12-08  Benjamin Poulain  <bpoulain@apple.com>
1391
1392         Add a platform EventLoop for iOS
1393         https://bugs.webkit.org/show_bug.cgi?id=74043
1394
1395         Reviewed by David Kilzer.
1396
1397         * WebCore.xcodeproj/project.pbxproj:
1398         * platform/ios/EventLoopIOS.mm: Added.
1399         (WebCore::EventLoop::cycle):
1400
1401 2011-12-08  Pavel Feldman  <pfeldman@google.com>
1402
1403         Web Inspector: return node counts on the document / detached root basis
1404         https://bugs.webkit.org/show_bug.cgi?id=74104
1405
1406         Reviewed by Yury Semikhatsky.
1407
1408         * bindings/js/ScriptProfiler.h:
1409         * bindings/v8/ScriptProfiler.cpp:
1410         (WebCore::ScriptProfiler::domNodeCount):
1411         * bindings/v8/ScriptProfiler.h:
1412         * inspector/Inspector.json:
1413         * inspector/InspectorController.cpp:
1414         (WebCore::InspectorController::InspectorController):
1415         * inspector/InspectorMemoryAgent.cpp:
1416         (WebCore::InspectorMemoryAgent::getDOMNodeCount):
1417         (WebCore::InspectorMemoryAgent::InspectorMemoryAgent):
1418         * inspector/InspectorMemoryAgent.h:
1419         (WebCore::InspectorMemoryAgent::create):
1420
1421 2011-12-08  Andreas Kling  <kling@webkit.org>
1422
1423         RenderObject: Rename styleSlowCase() to styleInRegion().
1424
1425         Rubber-stamped by David Hyatt.
1426
1427         * WebCore.exp.in:
1428         * rendering/RenderObject.cpp:
1429         (WebCore::RenderObject::styleInRegion):
1430         * rendering/RenderObject.h:
1431         (WebCore::RenderObject::style):
1432
1433 2011-12-08  Andreas Kling  <kling@webkit.org>
1434
1435         Optimize RenderObject::containingBlock().
1436         <http://webkit.org/b/74109>
1437
1438         Reviewed by David Hyatt.
1439
1440         When climbing the parent chain to locate the containing block-level element,
1441         use !isRenderBlock() to reject renderers rather than checking against an arbitrary
1442         list of non-block renderers and then rejecting anything that isn't a block anyway.
1443
1444         RenderObject::containingBlock() was very hot (2.0%) when scrolling on youtube.com.
1445         This change takes it down to 1.0% (60% of which is RenderObject::isRenderBlock().)
1446
1447         * rendering/RenderObject.cpp:
1448         (WebCore::RenderObject::containingBlock):
1449
1450 2011-12-08  Nayan Kumar K  <nayankk@motorola.com>
1451
1452         Define DEBUG_GL_COMMANDS only in debug builds.
1453         https://bugs.webkit.org/show_bug.cgi?id=74083
1454
1455         Reviewed by Noam Rosenthal.
1456
1457         No tests added as this change does not affect functionality.
1458
1459         * platform/graphics/opengl/TextureMapperGL.cpp:
1460
1461 2011-12-08  Ryosuke Niwa  <rniwa@webkit.org>
1462
1463         CompositeEditCommand should not be kept alive for undo and redo
1464         https://bugs.webkit.org/show_bug.cgi?id=64414
1465
1466         Reviewed by Enrica Casucci.
1467
1468         This patch introduces EditCommandComposition that replaces CompositeEditCommand for
1469         undo and redo purposes. Furthermore, we now keep a list of commands instead of a tree of commands
1470         to unapply and reapply edit commands that composes an undoable action.
1471
1472         Each top-level CompositeEditCommand holds a ref-pointer to EditCommandComposition,
1473         and applyCommandToComposite adds new SimpleEditCommands to the list.
1474
1475         * editing/CompositeEditCommand.cpp:
1476         (WebCore::EditCommandComposition::create):
1477         (WebCore::EditCommandComposition::doApply): Never used.
1478         (WebCore::EditCommandComposition::doUnapply):
1479         (WebCore::EditCommandComposition::doReapply):
1480         (WebCore::EditCommandComposition::append):
1481         (WebCore::CompositeEditCommand::~CompositeEditCommand): Add an assertion to ensure we didn't create
1482         a composition for CompositeEditCommands that have parents.
1483         (WebCore::CompositeEditCommand::doUnapply): Never used.
1484         (WebCore::CompositeEditCommand::doReapply): Never used.
1485         (WebCore::CompositeEditCommand::ensureComposition): Creates and attaches a EditCommandComposition.
1486         (WebCore::CompositeEditCommand::applyCommandToComposite): Append a SimpleEditCommand to the composition.
1487
1488         * editing/CompositeEditCommand.h:
1489         (WebCore::EditCommandComposition::EditCommandComposition):
1490         (WebCore::CompositeEditCommand::composition):
1491         (WebCore::toEditCommandComposition):
1492         (WebCore::toCompositeEditCommand):
1493
1494         * editing/DeleteButtonController.cpp: Wrap RemoveNodeCommand in RemoveTargetCommand since top level
1495         commands are now required to be a CompositeEditCommand.
1496         (WebCore::RemoveTargetCommand::create):
1497         (WebCore::RemoveTargetCommand::RemoveTargetCommand):
1498         (WebCore::RemoveTargetCommand::doApply):
1499         (WebCore::DeleteButtonController::deleteTarget):
1500
1501         * editing/EditCommand.cpp:
1502         (WebCore::EditCommand::EditCommand): New constructor; used by EditCommandComposition.
1503         (WebCore::EditCommand::apply): Create a composition for a top-level command.
1504         (WebCore::EditCommand::unapply): Since we clear m_parent of SimpleEditCommand as soon as they are
1505         added to EditCommandComposition, we can't use isTopLevelCommand() to differentiate EditCommandComposition
1506         from SimpleEditCommand. Use isEditCommandComposition() instead.
1507         (WebCore::EditCommand::reapply): Ditto.
1508         (WebCore::compositionIfPossible):
1509         (WebCore::EditCommand::setStartingSelection): Update the starting selection of EditCommandComposition. 
1510         (WebCore::EditCommand::setEndingSelection): Ditto.
1511         (WebCore::EditCommand::setParent): Accepts a null pointer in order to avoid keeping a stale pointer in
1512         m_parent inside SimpleEditCommand when CompositeEditCommand goes away.
1513
1514         * editing/EditCommand.h:
1515         (WebCore::EditCommand::isSimpleEditCommand):
1516         (WebCore::EditCommand::isCompositeEditCommand):
1517         (WebCore::EditCommand::isEditCommandComposition):
1518         (WebCore::EditCommand::parent):
1519         (WebCore::toSimpleEditCommand):
1520
1521         * editing/Editor.cpp:
1522         (WebCore::Editor::appliedEditing): Register a EditCommandComposition, instead of a CompositeEditCommand
1523         to the undo stack.
1524         (WebCore::Editor::unappliedEditing): Unapplied or reapplied commands are now always EditCommandComposition.
1525         (WebCore::Editor::reappliedEditing):
1526         * editing/Editor.h:
1527
1528 2011-12-08  Stephen White  <senorblanco@chromium.org>
1529
1530         Add missing V8 bindings to get CSS_FILTERS to compile in Chromium.
1531         https://bugs.webkit.org/show_bug.cgi?id=74091
1532
1533         Reviewed by Kenneth Russell.
1534
1535         Will be covered by tests in css3/filters (when enabled).
1536
1537         * bindings/v8/custom/V8WebKitCSSFilterValueCustom.cpp: Added.
1538         (WebCore::V8WebKitCSSFilterValue::indexedPropertyGetter):
1539
1540 2011-12-08  Beth Dakin  <bdakin@apple.com>
1541
1542         https://bugs.webkit.org/show_bug.cgi?id=73348
1543         REGRESSION: Assertion when loading a page with a scrollable RenderLayer 
1544         -and corresponding-
1545         <rdar://problem/10518918>
1546
1547         Reviewed by Darin Adler.
1548
1549         The main problem here is that certain delegate calls into AppKit for overlay 
1550         scrollbars can cause AppKit to call back into WebKit looking for more information. 
1551         The assertion happens when WebKit tells AppKit that the scroll position has 
1552         changed during a layout, and AppKit immediately asks WebKit to convert some 
1553         coordinates, and WebKit asserts that you shouldn't do that while a layout is still 
1554         happening. It's still possible for AppKit to call this delegate method while a 
1555         layout is happening, and we should guard against that. This patch, however, does 
1556         not do that.
1557
1558         This change instead addresses the reason this assertion started happening much 
1559         more frequently recently, which is that it recently became true that 
1560         notifyPositionChanged() can be called when the position has not changed. To fix 
1561         the assertion AND the bug that that change was intended to fix, we can just make 
1562         sure that either the position OR the scroll origin has changed before calling 
1563         notifyPositionChanged(). 
1564
1565         * platform/mac/ScrollAnimatorMac.mm:
1566         (WebCore::ScrollAnimatorMac::immediateScrollToPoint):
1567
1568         Call resetScrollOriginChanged() after the scroll instead of before so that we know 
1569         whether or not to call notifyPositionChanged().
1570         * platform/ScrollView.cpp:
1571         (WebCore::ScrollView::updateScrollbars):
1572
1573 2011-12-08  Kaustubh Atrawalkar  <kaustubh@motorola.com>
1574
1575         Fixing support for static conditional overloaded functions.
1576         https://bugs.webkit.org/show_bug.cgi?id=74068
1577
1578         Reviewed by Adam Barth.
1579
1580         * bindings/scripts/CodeGeneratorJS.pm:
1581         (GenerateImplementation): Pushing "static" keyword after condition "#if".
1582         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
1583         (WebDOMTestObj::overloadedMethod1): Added newly generated bindings.
1584         * bindings/scripts/test/CPP/WebDOMTestObj.h: Ditto.
1585         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto.
1586         (webkit_dom_test_obj_overloaded_method1):
1587         * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto.
1588         * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
1589         (WebCore::jsTestObjConstructorFunctionOverloadedMethod11):
1590         (WebCore::jsTestObjConstructorFunctionOverloadedMethod12):
1591         (WebCore::jsTestObjConstructorFunctionOverloadedMethod1):
1592         * bindings/scripts/test/JS/JSTestObj.h: Ditto.
1593         * bindings/scripts/test/ObjC/DOMTestObj.h: Ditto.
1594         * bindings/scripts/test/ObjC/DOMTestObj.mm: Ditto.
1595         (-[DOMTestObj overloadedMethod1:]):
1596         * bindings/scripts/test/TestObj.idl: Ditto.
1597         * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
1598         (WebCore::TestObjInternal::overloadedMethod11Callback):
1599         (WebCore::TestObjInternal::overloadedMethod12Callback):
1600         (WebCore::TestObjInternal::overloadedMethod1Callback):
1601         (WebCore::ConfigureV8TestObjTemplate):
1602
1603 2011-12-08  Andreas Kling  <kling@webkit.org>
1604
1605         Remove EventListenerMap destructor.
1606         <http://webkit.org/b/74096>
1607
1608         Reviewed by Darin Adler.
1609
1610         Let the compiler generate ~EventListenerMap(). We only needed it when the hash map
1611         was managing raw pointers.
1612
1613         We're losing the no-iterators assertion from clear() by doing this, but that was
1614         superfluous to begin with - we were just using it to avoid duplicating code.
1615
1616         * dom/EventListenerMap.cpp:
1617         * dom/EventListenerMap.h:
1618
1619 2011-12-08  Takashi Toyoshima  <toyoshim@chromium.org>
1620
1621         Provide more specific error description for SocketStreamError.
1622         https://bugs.webkit.org/show_bug.cgi?id=74066
1623
1624         Reviewed by Martin Robinson.
1625
1626         No new tests because this change just improve error messages for unexpected failures.
1627
1628         * platform/network/soup/SocketStreamError.h: Add an argument for passing error description.
1629         (WebCore::SocketStreamError::SocketStreamError):
1630         * platform/network/soup/SocketStreamHandleSoup.cpp: Add error description for SocketStreamError.
1631         (WebCore::SocketStreamHandle::connected):
1632         (WebCore::SocketStreamHandle::readBytes):
1633         (WebCore::SocketStreamHandle::platformSend):
1634         (WebCore::SocketStreamHandle::platformClose):
1635
1636 2011-12-08  Mihnea Ovidenie  <mihnea@adobe.com>
1637
1638         [CSSRegions][CSSOM] Implement NamedFlow interface
1639         https://bugs.webkit.org/show_bug.cgi?id=66642
1640
1641         Reviewed by David Hyatt.
1642
1643         Add WebKitNamedFlow to support the NamedFlow interface. No methods are
1644         yet implemented on this interface. The NamedFlow object is a live object.
1645         The first time user asks for it, it gets a valid JS object whose properties
1646         will reflect the changes to the flow thread.
1647
1648         Tests: fast/regions/webkit-named-flow-existing-flow.html
1649                fast/regions/webkit-named-flow-flow-added.html
1650                fast/regions/webkit-named-flow-modified-flow.html
1651                fast/regions/webkit-named-flow-non-existing-flow.html
1652                fast/regions/webkit-named-flow-removed-flow.html
1653                fast/regions/webkit-named-flow-same-object.html
1654
1655         * CMakeLists.txt:
1656         * DerivedSources.cpp:
1657         * DerivedSources.make:
1658         * DerivedSources.pri:
1659         * GNUmakefile.list.am:
1660         * Target.pri:
1661         * WebCore.gypi:
1662         * WebCore.vcproj/WebCore.vcproj:
1663         * WebCore.xcodeproj/project.pbxproj:
1664         * bindings/gobject/GNUmakefile.am:
1665         * dom/DOMAllInOne.cpp:
1666         * dom/Document.cpp:
1667         (WebCore::Document::webkitGetFlowByName):
1668         * dom/Document.h:
1669         * dom/Document.idl:
1670         * dom/NodeRenderingContext.cpp:
1671         (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
1672         * dom/WebKitNamedFlow.cpp: Added.
1673         (WebCore::WebKitNamedFlow::WebKitNamedFlow):
1674         (WebCore::WebKitNamedFlow::~WebKitNamedFlow):
1675         * dom/WebKitNamedFlow.h: Added.
1676         (WebCore::WebKitNamedFlow::create):
1677         * dom/WebKitNamedFlow.idl: Added.
1678         * rendering/RenderFlowThread.cpp:
1679         (WebCore::RenderFlowThread::ensureNamedFlow):
1680         * rendering/RenderFlowThread.h:
1681         * rendering/RenderObject.cpp:
1682         (WebCore::RenderObject::createObject):
1683         * rendering/RenderView.cpp:
1684         (WebCore::RenderView::ensureRenderFlowThreadWithName):
1685         * rendering/RenderView.h:
1686
1687 2011-12-08  Sheriff Bot  <webkit.review.bot@gmail.com>
1688
1689         Unreviewed, rolling out r102321.
1690         http://trac.webkit.org/changeset/102321
1691         https://bugs.webkit.org/show_bug.cgi?id=74072
1692
1693         "Breaks all Chromium clobbered builds" (Requested by apavlov_
1694         on #webkit).
1695
1696         * WebCore.gyp/WebCore.gyp:
1697         * WebCore.gyp/scripts/action_derivedsourcesallinone.py:
1698         (main):
1699         * WebCore.gypi:
1700         * bindings/scripts/generate-bindings.pl:
1701         * page/DOMWindow.idl:
1702         * webaudio/DOMWindowWebAudio.idl: Removed.
1703
1704 2011-12-08  Shinya Kawanaka  <shinyak@google.com>
1705
1706         Refactoring: Editor::requestCheckingFor should take SpellCheckRequest object.
1707         https://bugs.webkit.org/show_bug.cgi?id=74033
1708
1709         Reviewed by Hajime Morita.
1710
1711         SpellChecker::requestCheckingFor takes SpellCheckRequest object in order to make it easy to
1712         pass necessary information to requestCheckingFor.
1713
1714         No new tests. Covered by existing tests.
1715
1716         * editing/Editor.cpp:
1717         (WebCore::Editor::replaceSelectionWithFragment):
1718           Uses the new interface.
1719         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): ditto.
1720         * editing/SpellChecker.cpp:
1721         (WebCore::SpellCheckRequest::SpellCheckRequest):
1722         (WebCore::SpellCheckRequest::~SpellCheckRequest):
1723         (WebCore::SpellCheckRequest::create):
1724           Creates a new SpellCheckRequest object.
1725         (WebCore::SpellChecker::requestCheckingFor):
1726           Uses the new interface.
1727         (WebCore::SpellChecker::didCheck):
1728         * editing/SpellChecker.h:
1729         (WebCore::SpellCheckRequest::setSequence):
1730         (WebCore::SpellCheckRequest::sequence):
1731         (WebCore::SpellCheckRequest::checkingRange):
1732         (WebCore::SpellCheckRequest::paragraphRange):
1733         (WebCore::SpellCheckRequest::text):
1734         (WebCore::SpellCheckRequest::mask):
1735         (WebCore::SpellCheckRequest::rootEditableElement):
1736
1737 2011-12-08  Sheriff Bot  <webkit.review.bot@gmail.com>
1738
1739         Unreviewed, rolling out r102323.
1740         http://trac.webkit.org/changeset/102323
1741         https://bugs.webkit.org/show_bug.cgi?id=74069
1742
1743         Caused Chromium and GTK build failure (Requested by bashi on
1744         #webkit).
1745
1746         * testing/Internals.cpp:
1747         (WebCore::Internals::getPageScaleFactor):
1748         * testing/Internals.h:
1749         * testing/Internals.idl:
1750
1751 2011-12-08  Fady Samuel  <fsamuel@chromium.org>
1752
1753         Move scalePageBy from eventSender to window.internals
1754         https://bugs.webkit.org/show_bug.cgi?id=64512
1755
1756         Reviewed by Simon Fraser.
1757
1758         Added setPageScaleFactor to window.internals.
1759         Renamed window.internals.getPageScaleFactor to window.internals.pageScaleFactor
1760         to match the webkit style.
1761
1762         * testing/Internals.cpp:
1763         (WebCore::Internals::pageScaleFactor):
1764         (WebCore::Internals::setPageScaleFactor):
1765         * testing/Internals.h:
1766         * testing/Internals.idl:
1767
1768 2011-12-08  Kentaro Hara  <haraken@chromium.org>
1769
1770         Use the [Supplemental] IDL for webaudio attributes in Chromium
1771         https://bugs.webkit.org/show_bug.cgi?id=73394
1772
1773         Reviewed by Adam Barth.
1774
1775         - Overview: Using the [Supplemental] IDL, this patch moves the attribute
1776         declarations of webaudio from DOMWindow.idl into a new IDL file
1777         webaudio/DOMWindowWebAudio.idl, which helps make webaudio a self-contained
1778         feature (aka a module).
1779
1780         - This patch changes the build flow of WebCore.gyp as follows:
1781
1782             Previous build flow:
1783                 foreach $idl (all IDL files) {
1784                     generate-bindings.pl depends on $idl;
1785                     generate-bindings.pl reads $idl;
1786                     generate-bindings.pl generates .h and .cpp files for $idl;
1787                 }
1788
1789             New build flow (See the discussions in bug 72138 for more details):
1790                 resolve-supplemental.pl depends on all IDL files;
1791                 resolve-supplemental.pl reads all IDL files;
1792                 resolve-supplemental.pl resolves the dependency of [Supplemental=XXXX];
1793                 resolve-supplemental.pl outputs supplemental_dependency.tmp;
1794                 foreach $idl (all IDL files) {
1795                     generate-bindings.pl depends on $idl and supplemental_dependency.tmp;
1796                     generate-bindings.pl reads $idl;
1797                     generate-bindings.pl reads supplemental_dependency.tmp;
1798                     generate-bindings.pl generates .h and .cpp files for $idl, including all attributes in IDL files whilementing $idl;
1799                 }
1800
1801         - This patch introduces a temporary IDL, [Supplemented]. The [Supplemented] IDL
1802         will be removed after build scripts for all platforms support the [Supplemental] IDL.
1803         The motivation for the [Supplemented] IDL is as follows:
1804
1805         In order to support the [Supplemental] IDL, we need to
1806         (1) run resolve-supplemental.pl and generate supplemental_dependency.tmp
1807         (2) and run generate-bindings.pl with the supplemental_dependency.tmp.
1808
1809         This build flow requires a change on the following build scripts,
1810         but changing all the build scripts all at once without any regression is too difficult:
1811
1812             - DerivedSources.make
1813             - DerivedSources.pri
1814             - GNUmakefile.am
1815             - PlatformBlackBerry.cmake
1816             - UseJSC.cmake
1817             - UseV8.cmake
1818             - WebCore.vcproj/MigrateScripts
1819             - WebCore.vcproj/WebCore.vcproj
1820             - bindings/gobject/GNUmakefile.am
1821             - WebCore.gyp/WebCore.gyp
1822
1823         Thus, we are planning to change the build scripts one by one, which implies that
1824         we need to allow the temporary state in which some build scripts support [Supplemental] IDL
1825         but others do not. To accomplish this, we introduce a temporary IDL, [Supplemented].
1826         The [Supplemented] IDL on an attribute means that the attribute is marked with [Supplemental]
1827         in another IDL file somewhere, like this:
1828
1829             DOMWindowWebAudio.idl:
1830                 interface [
1831                     Supplemental=DOMWindow
1832                 ] DOMWindowWebAudio {
1833                     attribute attr1;
1834                     attribute attr2;
1835                 };
1836
1837             DOMWindow.idl:
1838                 interface [
1839                 ] DOMWindow {
1840                     attribute [Supplemented] attr1; // This line will be removed after all build scripts support the [Su IDL
1841                     attribute [Supplemented] attr2; // This line will be removed after all build scripts support the [Su IDL.
1842                     attribute attr3;
1843                     attribute attr4;
1844                 };
1845
1846         Assuming these IDL files, this patch implements the following logic in generate-bindings.pl:
1847
1848             - If a given build script supports the [Supplemental] IDL,
1849             generate-bindings.pl ignores all attributes with the [Supplemented] IDL.
1850             - Otherwise, generate-bindings.pl treats all attributes with the [Supplemented] IDL
1851             as normal attributes and instead ignores all attributes with the [Supplemental] IDL
1852             (i.e. generate-bindings.pl generates nothing from the IDL file with the [Supplemental] IDL).
1853
1854         Tests: webaudio/*
1855
1856         * WebCore.gyp/WebCore.gyp: Describes the build flow that I described above.
1857         * WebCore.gyp/scripts/action_derivedsourcesallinone.py:
1858         (main): Reads the IDL file names from the input file (i.e. supplemental_dependency.tmp), which are described at the first column of each line in the input file. If the file name is a "/cygdrive/c/..."-style path, it is converted to a "C:\cygwin\..."-style path by the cygpath command.
1859         * WebCore.gypi: Added DOMWindowWebAudio.idl.
1860         * bindings/scripts/generate-bindings.pl: As a temporary solution, if the platform does not support the [Supplemental] IDL, the perl script ignores the [Supplemental] IDL and instead uses the [Supplemented] IDL. Otherwise, the perl script ignores the [Supplemented] IDL and instead uses the [Supplemental] IDL.
1861         * page/DOMWindow.idl: Added the [Supplemented] IDL to webaudio-related attributes. As I described above, the [Supplemented] IDL will be removed after all platforms support the [Supplemental] IDL.
1862         * webaudio/DOMWindowWebAudio.idl: Added. Describes the [Supplemental=DOMWindow] IDL. The attributes in this IDL file should be treated as if they are written in DOMWindow.idl.
1863
1864 2011-12-07  Yosifumi Inoue  <yosin@chromium.org>
1865
1866         CSS color gets adjusted for disabled input elements
1867         https://bugs.webkit.org/show_bug.cgi?id=54643
1868
1869         Reviewed by Kent Tamura.
1870
1871         No new tests. covered by existing tests. Need rebasing some existing tests for Chromimum.
1872
1873         Remove automatic color adjustment for disabled text control for Chromimum.
1874
1875         * css/themeChromium.css: Add CSS entries for default style for disabled input and textarea elements.
1876         * WebCore/rendering/RenderTextControl.cpp:
1877         (disabledTextColor): Removed for PLATFORM(CHROMIUM)
1878         (RenderTextControl::adjustInnerTextStyle): Don't call disabledTextColor for Chromium.
1879
1880 2011-12-07  Dmitry Lomov  <dslomov@google.com>
1881
1882         https://bugs.webkit.org/show_bug.cgi?id=74038
1883         [V8][Chromium] Support legacy argument order in window.postMessage/window.webkitPostMessage.
1884
1885         Reviewed by David Levin.
1886
1887         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1888         (WebCore::isLegacyTargetOriginDesignation):
1889         (WebCore::handlePostMessageCallback):
1890
1891 2011-12-07  Mary Wu  <mary.wu@torchmobile.com.cn>
1892
1893         Upstream 4 files into WebCore/platform/blackberry
1894         https://bugs.webkit.org/show_bug.cgi?id=73541
1895
1896         Reviewed by Antonio Gomes.
1897
1898         Initial upstream of BlackBerry porting of PlatformScreen/
1899         SSLKeyGenerator/Sound/Widget, no new tests.
1900
1901         * PlatformBlackBerry.cmake: Modified to remove empty file "WheelEventBlackBerry.cpp"
1902         * platform/blackberry/PlatformScreenBlackBerry.cpp: Added.
1903         (WebCore::screenIsMonochrome):
1904         (WebCore::screenDepthPerComponent):
1905         (WebCore::screenDepth):
1906         (WebCore::screenAvailableRect):
1907         (WebCore::screenRect):
1908         * platform/blackberry/SSLKeyGeneratorBlackBerry.cpp: Added.
1909         (WebCore::getSupportedKeySizes):
1910         (WebCore::signedPublicKeyAndChallengeString):
1911         * platform/blackberry/SoundBlackBerry.cpp: Added.
1912         (WebCore::systemBeep):
1913         * platform/blackberry/WidgetBlackBerry.cpp: Added.
1914         (WebCore::Widget::Widget):
1915         (WebCore::Widget::~Widget):
1916         (WebCore::Widget::hide):
1917         (WebCore::Widget::paint):
1918         (WebCore::Widget::setCursor):
1919         (WebCore::Widget::setFocus):
1920         (WebCore::Widget::setFrameRect):
1921         (WebCore::Widget::setIsSelected):
1922         (WebCore::Widget::show):
1923         (WebCore::Widget::frameRect):
1924
1925 2011-12-07  Kenichi Ishibashi  <bashi@chromium.org>
1926
1927         Refactor CSSParser::parseFontFaceSrc()
1928         https://bugs.webkit.org/show_bug.cgi?id=73989
1929
1930         Reviewed by Darin Adler.
1931
1932         Test: fast/css/font-face-src-parsing.html
1933
1934         * css/CSSParser.cpp:
1935         (WebCore::CSSParser::parseFontFaceSrcURI): Added.
1936         (WebCore::CSSParser::parseFontFaceSrcLocal): Added.
1937         (WebCore::CSSParser::parseFontFaceSrc): Rewrote.
1938         * css/CSSParser.h:
1939
1940 2011-12-07  Xingnan Wang  <xingnan.wang@intel.com>
1941
1942         Implement the SSE optimization in SincResampler::process()
1943         https://bugs.webkit.org/show_bug.cgi?id=73789
1944
1945         Reviewed by Benjamin Poulain.
1946
1947         Here is about 70% performance improvement on the hot spot of sample convolving.
1948
1949         * platform/audio/SincResampler.cpp:
1950
1951 2011-12-07  Luke Macpherson   <macpherson@chromium.org>
1952
1953         Implement border image source properties in CSSStyleApplyProperty.
1954         https://bugs.webkit.org/show_bug.cgi?id=73981
1955
1956         Reviewed by Andreas Kling.
1957
1958         No new tests / refactoring only.
1959
1960         * css/CSSStyleApplyProperty.cpp:
1961         (WebCore::ApplyPropertyBorderImageSource::applyValue):
1962         (WebCore::ApplyPropertyBorderImageSource::createHandler):
1963         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
1964         * css/CSSStyleSelector.cpp:
1965         (WebCore::CSSStyleSelector::applyProperty):
1966
1967 2011-12-07  Noel Gordon  <noel.gordon@gmail.com>
1968
1969         WebPImageDecoder should not do a full image decode if progressive decoding is active
1970         https://bugs.webkit.org/show_bug.cgi?id=74041
1971
1972         Reviewed by Adam Barth.
1973
1974         If the decoder input data state reaches allDataReceived during a progressive image
1975         decode, the decoder performs a full image decode.
1976
1977         On allDataReceived, check if we already have a decoder, and if so, continue to run
1978         the progressive decoder.
1979
1980         No new tests. No change in behavior.
1981
1982         * platform/image-decoders/webp/WEBPImageDecoder.cpp:
1983         (WebCore::WEBPImageDecoder::decode):
1984
1985 2011-12-07  Alexandre Elias  <aelias@google.com>
1986
1987         [chromium] Add page-scale animation support to Impl thread
1988         https://bugs.webkit.org/show_bug.cgi?id=72996
1989
1990         Reviewed by James Robinson.
1991
1992         This adds a new math helper class to compute the progress of the
1993         animation, and code in the CCLayerTreeHostImpl to apply the animation
1994         frame by frame.
1995
1996         No new tests. (https://bugs.webkit.org/show_bug.cgi?id=71529 filed.)
1997
1998         * WebCore.gypi:
1999         * platform/graphics/chromium/cc/CCInputHandler.h:
2000         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2001         (WebCore::CCLayerTreeHostImpl::animate):
2002         (WebCore::CCLayerTreeHostImpl::startPageScaleAnimation):
2003         (WebCore::CCLayerTreeHostImpl::processScrollDeltas):
2004         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2005         * platform/graphics/chromium/cc/CCPageScaleAnimation.cpp: Added.
2006         (WebCore::CCPageScaleAnimation::CCPageScaleAnimation):
2007         (WebCore::CCPageScaleAnimation::initialize):
2008         (WebCore::CCPageScaleAnimation::zoomTo):
2009         (WebCore::CCPageScaleAnimation::zoomWithAnchor):
2010         (WebCore::CCPageScaleAnimation::zoomElsewhere):
2011         (WebCore::CCPageScaleAnimation::scrollOffsetAtTime):
2012         (WebCore::CCPageScaleAnimation::pageScaleAtTime):
2013         (WebCore::CCPageScaleAnimation::isAnimationCompleteAtTime):
2014         (WebCore::CCPageScaleAnimation::progressRatioForTime):
2015         (WebCore::CCPageScaleAnimation::scrollOffsetAtRatio):
2016         (WebCore::CCPageScaleAnimation::pageScaleAtRatio):
2017         * platform/graphics/chromium/cc/CCPageScaleAnimation.h: Added.
2018         (WebCore::CCPageScaleAnimation::startTime):
2019         (WebCore::CCPageScaleAnimation::duration):
2020         (WebCore::CCPageScaleAnimation::endTime):
2021         (WebCore::CCPageScaleAnimation::finalScrollOffset):
2022         (WebCore::CCPageScaleAnimation::finalPageScale):
2023
2024 2011-12-07  Shinya Kawanaka  <shinyak@google.com>
2025
2026         Editor::markAndReplaceFor should take Range instead of TextCheckingParagraph.
2027         https://bugs.webkit.org/show_bug.cgi?id=74035
2028
2029         Reviewed by Hajime Morita.
2030
2031         Editor::markAndReplaceFor takes chekcing range and paragraph range instead of
2032         spelling paragraph and grammar paragraph.
2033
2034         No new tests. Covered by existing tests.
2035
2036         * editing/Editor.cpp:
2037         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
2038         (WebCore::Editor::markAndReplaceFor):
2039         * editing/Editor.h:
2040         * editing/TextCheckingHelper.cpp:
2041         (WebCore::TextCheckingParagraph::TextCheckingParagraph):
2042         * editing/TextCheckingHelper.h:
2043
2044 2011-12-07  Ami Fischman  <fischman@chromium.org>
2045
2046         Force LTR layout for media controls even in RTL documents.
2047         https://bugs.webkit.org/show_bug.cgi?id=74024
2048
2049         Reviewed by Darin Adler.
2050
2051         Test: media/controls-layout-direction.html
2052
2053         * css/mediaControls.css:
2054         (::-webkit-media-controls):
2055
2056 2011-12-07  Mark Pilgrim  <pilgrim@chromium.org>
2057
2058         [FileSystem API] requestFileSystem successCallback is required
2059         https://bugs.webkit.org/show_bug.cgi?id=69637
2060
2061         Reviewed by Darin Adler.
2062
2063         * page/DOMWindow.idl: remove [Optional] flag from successCallback parameter
2064
2065 2011-12-07  Leo Yang  <leo.yang@torchmobile.com.cn>
2066
2067         Upstream the BlackBerry porting of network Resource
2068         https://bugs.webkit.org/show_bug.cgi?id=73388
2069
2070         Reviewed by Rob Buis.
2071
2072         Other main contributors:
2073         Joe Mason <jmason@rim.com>
2074         Yong Li  <yoli@rim.com>
2075         Gary Simmons  <gsimmons@rim.com>
2076         Genevieve Mak <gmak@rim.com>
2077         Chris Guan <chris.guan@torchmobile.com.cn>
2078         Mike Lattanzio <mlattanzio@rim.com>
2079
2080         Initial upstream, can't be built yet, no new tests.
2081
2082         * platform/network/blackberry/ResourceError.h: Added.
2083         * platform/network/blackberry/ResourceErrorBlackBerry.cpp: Added.
2084         * platform/network/blackberry/ResourceHandleBlackBerry.cpp: Added.
2085         * platform/network/blackberry/ResourceRequest.h: Added.
2086         * platform/network/blackberry/ResourceRequestBlackBerry.cpp: Added.
2087         * platform/network/blackberry/ResourceResponse.h: Added.
2088         * platform/network/blackberry/ResourceResponseBlackBerry.cpp: Added.
2089
2090 2011-12-07  Fady Samuel  <fsamuel@chromium.org>
2091
2092         [Chromium] Plumb DPI info into PlatformScreen
2093         https://bugs.webkit.org/show_bug.cgi?id=70556
2094
2095         Reviewed by Darin Fisher.
2096
2097         Make DPI information accessible from WebKit through
2098         PlatformScreen. This is useful when making scaling 
2099         computations on various devices (e.g. Viewport meta tag).
2100
2101         This patch adds DPI plumbing on Chromium Win/Mac/Linux
2102         platforms.
2103
2104         * page/Screen.cpp:
2105         (WebCore::Screen::horizontalDPI):
2106         (WebCore::Screen::verticalDPI):
2107         * page/Screen.h:
2108         * platform/PlatformScreen.h:
2109         * platform/chromium/PlatformScreenChromium.cpp:
2110         (WebCore::screenHorizontalDPI):
2111         (WebCore::screenVerticalDPI):
2112         * platform/chromium/PlatformSupport.h:
2113         * platform/efl/PlatformScreenEfl.cpp:
2114         (WebCore::screenHorizontalDPI):
2115         (WebCore::screenVerticalDPI):
2116         * platform/gtk/PlatformScreenGtk.cpp:
2117         (WebCore::screenHorizontalDPI):
2118         (WebCore::screenVerticalDPI):
2119         * platform/mac/PlatformScreenMac.mm:
2120         (WebCore::screenHorizontalDPI):
2121         (WebCore::screenVerticalDPI):
2122         * platform/qt/PlatformScreenQt.cpp:
2123         (WebCore::screenHorizontalDPI):
2124         (WebCore::screenVerticalDPI):
2125         * platform/win/PlatformScreenWin.cpp:
2126         (WebCore::screenHorizontalDPI):
2127         (WebCore::screenVerticalDPI):
2128
2129 2011-12-07  Aaron Colwell  <acolwell@chromium.org>
2130
2131         Revert mixed content handling for video fix and follow-up test expectations & Skipped changes.
2132         (r101883, r101918, r101927, r101981, r101986, r101997)
2133         https://bugs.webkit.org/show_bug.cgi?id=72178
2134
2135         Reviewed by Adam Barth.
2136
2137         * loader/SubresourceLoader.cpp:
2138         (WebCore::SubresourceLoader::willSendRequest):
2139         * loader/cache/CachedRawResource.cpp:
2140         * loader/cache/CachedRawResource.h:
2141         * loader/cache/CachedResource.cpp:
2142         (WebCore::defaultPriorityForResourceType):
2143         (WebCore::cachedResourceTypeToTargetType):
2144         * loader/cache/CachedResource.h:
2145         * loader/cache/CachedResourceLoader.cpp:
2146         (WebCore::createResource):
2147         (WebCore::CachedResourceLoader::checkInsecureContent):
2148         (WebCore::CachedResourceLoader::canRequest):
2149         (WebCore::CachedResourceLoader::requestResource):
2150
2151 2011-12-07  Ryuan Choi  <ryuan.choi@samsung.com>
2152
2153         [EFL] Introduce AssertMatchingEnums.cpp.
2154         https://bugs.webkit.org/show_bug.cgi?id=65238
2155
2156         Reviewed by Filip Pizlo.
2157
2158         Remove switch statement which convert EWK_TOUCH_PointType enum values to
2159         WebCore::PlatformTouchPoint::State enum values.
2160         Newly added AssertMatchingEnums.cpp assure that they are equal.
2161
2162         No new tests, no new functionality.
2163
2164         * platform/efl/PlatformTouchEventEfl.cpp:
2165         (WebCore::PlatformTouchEvent::PlatformTouchEvent):
2166
2167 2011-12-07  Shawn Singh  <shawnsingh@chromium.org>
2168
2169         [chromium] Clearing root surface should happen after damage tracking
2170         https://bugs.webkit.org/show_bug.cgi?id=73958
2171
2172         Reviewed by James Robinson.
2173
2174         No new semantics, covered by existing layout tests.
2175
2176         * platform/graphics/chromium/LayerRendererChromium.cpp:
2177         (WebCore::LayerRendererChromium::clearSurfaceForDebug):
2178         (WebCore::LayerRendererChromium::drawLayersOntoRenderSurfaces):
2179         (WebCore::LayerRendererChromium::drawLayersInternal):
2180         * platform/graphics/chromium/LayerRendererChromium.h:
2181
2182 2011-12-07  Florin Malita  <fmalita@google.com>
2183
2184         <li value="0"> behaves like <li> (the same for negative numbers)
2185         https://bugs.webkit.org/show_bug.cgi?id=73911
2186
2187         Reviewed by Alexey Proskuryakov.
2188
2189         Allow LI values <= 0 and consolidate the value processing logic.
2190
2191         * html/HTMLLIElement.cpp:
2192         (WebCore::HTMLLIElement::parseMappedAttribute):
2193         Delegated value parsing to parseValue().
2194
2195         (WebCore::HTMLLIElement::attach):
2196         Ditto. Explicit value null testing is no longer necessary,
2197         as parseValue's toInt() performs an equivalent check.
2198
2199         (WebCore::HTMLLIElement::parseValue):
2200         Consolidated value parsing logic.
2201
2202         * html/HTMLLIElement.h:
2203
2204 2011-12-07  Joshua Bell  <jsbell@chromium.org>
2205
2206         IndexedDB: Replace bool args in IDBKeyRange private methods with enum
2207         https://bugs.webkit.org/show_bug.cgi?id=70743
2208
2209         Reviewed by Tony Chang.
2210
2211         No new tests - no functional changes.
2212
2213         * storage/IDBKeyRange.cpp:
2214         (WebCore::IDBKeyRange::IDBKeyRange):
2215         (WebCore::IDBKeyRange::bound):
2216         * storage/IDBKeyRange.h:
2217         (WebCore::IDBKeyRange::create):
2218         (WebCore::IDBKeyRange::lowerOpen):
2219         (WebCore::IDBKeyRange::upperOpen):
2220
2221 2011-12-07  Sheriff Bot  <webkit.review.bot@gmail.com>
2222
2223         Unreviewed, rolling out r102267.
2224         http://trac.webkit.org/changeset/102267
2225         https://bugs.webkit.org/show_bug.cgi?id=74032
2226
2227         Breaks build on Chromium Mac Debug (Requested by aklein on
2228         #webkit).
2229
2230         * dom/ChildListMutationScope.cpp:
2231         (WebCore::MutationAccumulationRouter::MutationAccumulationRouter::childAdded):
2232         (WebCore::MutationAccumulationRouter::MutationAccumulationRouter::willRemoveChild):
2233         (WebCore::MutationAccumulationRouter::MutationAccumulationRouter::incrementScopingLevel):
2234         (WebCore::MutationAccumulationRouter::MutationAccumulationRouter::decrementScopingLevel):
2235
2236 2011-12-07  Kentaro Hara  <haraken@chromium.org>
2237
2238         REGRESSION (r95249): Right side can be truncated when printing
2239         https://bugs.webkit.org/show_bug.cgi?id=73868
2240
2241         Reviewed by Darin Adler.
2242
2243         When we print a page with an overflowed width, the right side of the page
2244         can be truncated. This is due to a wrong rendering calculation.
2245         Since 'maximumShrinkFactor' is a ratio based on 'pageSize',
2246         'maximumShrinkFactor' should multiply (not 'originalPageSize') but 'pageSize'.
2247         This bug happens if all the following conditions are met:
2248             - pageLogicalWidth < docLogicalWidth
2249             - originalPageSize.width * maximumShrinkFactor < docLogicalWidth
2250             - docLogicalWidth < pageLogicalWidth * maximumShrinkFactor
2251
2252         Test: printing/width-overflow.html
2253
2254         * page/FrameView.cpp:
2255         (WebCore::FrameView::forceLayoutForPagination):
2256
2257 2011-12-07  Yong Li  <yoli@rim.com>
2258
2259         Defer ScriptExecutionContext::Task's in Document when page loading is deferred.
2260         Schedule them with timer when page loading is resumed. The tasks will be performed
2261         in the original order. This fixes the problem that database callbacks could be missed
2262         when page loading was deferred.
2263         https://bugs.webkit.org/show_bug.cgi?id=49401
2264  
2265
2266         Reviewed by Darin Adler.
2267
2268         Manual test added: ManualTests/database-callback-deferred.html. 
2269
2270         * dom/Document.cpp:
2271         (WebCore::Document::Document):
2272         (WebCore::Document::didReceiveTask):
2273         (WebCore::Document::postTask):
2274         (WebCore::Document::pendingTasksTimerFired):
2275         (WebCore::Document::suspendScheduledTasks):
2276         (WebCore::Document::resumeScheduledTasks):
2277         * dom/Document.h:
2278         * page/PageGroupLoadDeferrer.cpp:
2279         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
2280         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
2281
2282 2011-12-07  Andreas Kling  <kling@webkit.org>
2283
2284         RenderObject::style(): Inline early-return condition.
2285         <http://webkit.org/b/74019>
2286
2287         Reviewed by Anders Carlsson.
2288
2289         style() was very hot (6.1%) when scrolling around on youtube.com,
2290         and 100% of the calls were taking the early return path.
2291
2292         Inlined the !isRenderFlowThread() check and renamed the function to
2293         styleSlowCase().
2294
2295         * rendering/RenderObject.cpp:
2296         (WebCore::RenderObject::styleSlowCase):
2297         * rendering/RenderObject.h:
2298         (WebCore::RenderObject::style):
2299
2300 2011-12-07  Adam Klein  <adamk@chromium.org>
2301
2302         Use HashMap<Node*, OwnPtr<...>> in ChildListMutationScope
2303         https://bugs.webkit.org/show_bug.cgi?id=73964
2304
2305         Reviewed by Ryosuke Niwa.
2306
2307         No new tests, refactoring only.
2308
2309         * dom/ChildListMutationScope.cpp:
2310         (WebCore::ChildListMutationAccumulator::MutationAccumulationRouter::childAdded):
2311         (WebCore::ChildListMutationAccumulator::MutationAccumulationRouter::willRemoveChild):
2312         (WebCore::ChildListMutationAccumulator::MutationAccumulationRouter::incrementScopingLevel):
2313         (WebCore::ChildListMutationAccumulator::MutationAccumulationRouter::decrementScopingLevel):
2314
2315 2011-12-07  Andreas Kling  <kling@webkit.org>
2316
2317         RenderLayer::updateZOrderLists(): Inline early-return condition.
2318         <http://webkit.org/b/74013>
2319
2320         Reviewed by Anders Carlsson.
2321
2322         updateZOrderLists() was hot (1.2%) when scrolling around on youtube.com,
2323         and 85% of the calls were taking the early return path.
2324
2325         Inlined the two checks for the early return and renamed the function
2326         to updateZOrderListsSlowCase(). Also reversed their order to avoid the
2327         virtual call (RenderObject::isRenderView()) if possible.
2328
2329         * rendering/RenderLayer.cpp:
2330         (WebCore::RenderLayer::updateZOrderListsSlowCase):
2331         * rendering/RenderLayer.h:
2332         (WebCore::RenderLayer::updateZOrderLists):
2333
2334 2011-12-07  Sheriff Bot  <webkit.review.bot@gmail.com>
2335
2336         Unreviewed, rolling out r102244.
2337         http://trac.webkit.org/changeset/102244
2338         https://bugs.webkit.org/show_bug.cgi?id=74016
2339
2340         caused debug test timeouts (Requested by simonjam on #webkit).
2341
2342         * platform/graphics/skia/ImageBufferSkia.cpp:
2343         (WebCore::putImageData):
2344         (WebCore::ImageBuffer::putUnmultipliedImageData):
2345         (WebCore::ImageBuffer::putPremultipliedImageData):
2346
2347 2011-12-07  Adam Klein  <adamk@chromium.org>
2348
2349         Layout Test inspector/debugger/dom-breakpoints.html fails on chromium linux debug with ENABLE(MUTATION_OBSERVERS)
2350         https://bugs.webkit.org/show_bug.cgi?id=73919
2351
2352         Reviewed by Ojan Vafai.
2353
2354         Use StyleAttributeMutationScope to manage DOM breakpoints for style property changes.
2355
2356         Instead of calling InspectorInstrumentation::didInvalidateStyleAttr()
2357         directly in setNeedsStyleRecalc, set a bool in the current
2358         StyleAttributeMutationScope, and delay the call until the scope's
2359         counter runs down to zero. This keeps the inspector JS from re-entering
2360         CSSMutableStyleDeclaration until all StyleAttributeMutationScope work is done.
2361
2362         Also fix a small bug in StyleAttributeMutationScope, where
2363         s_shouldDeliver wasn't getting reset properly to false.
2364
2365         * css/CSSMutableStyleDeclaration.cpp:
2366         (WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):
2367
2368 2011-12-07  Ken Buchanan <kenrb@chromium.org>
2369
2370         Crash from multicol spans with layers
2371         https://bugs.webkit.org/show_bug.cgi?id=68030
2372
2373         Reviewed by David Hyatt.
2374
2375         The layer tree diverges from the render tree when a span is being split
2376         between columns. This patch causes the layer tree to be updated when necessary.
2377
2378         * rendering/RenderBlock.cpp:
2379         (WebCore::RenderBlock::splitFlow)
2380         (WebCore::RenderBlock::splitBlocks)
2381
2382 2011-12-07  Alexey Proskuryakov  <ap@apple.com>
2383
2384         Handling of !important in inline style sets is broken
2385         https://bugs.webkit.org/show_bug.cgi?id=73941
2386
2387         Reviewed by Dave Hyatt.
2388
2389         This behavior was introduced in bug 8223 to match IE and Firefox. But it doesn't appear that we're matching
2390         any browser today, and CSSOM spec agrees with them.
2391
2392         * WebCore.exp.in: Don't export CSSStyleDeclaration::setProperty(), no one is using it.
2393
2394         * bindings/js/JSCSSStyleDeclarationCustom.cpp: (WebCore::JSCSSStyleDeclaration::putDelegate): Use regular
2395         setProperty(), not the incorrect version that's being removed. Properties set via IDL attributes are never
2396         important.
2397
2398         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp: (WebCore::V8CSSStyleDeclaration::namedPropertySetter):
2399         Made the same fix for v8. Why did v8 bindings authors copy/paste the code?!
2400
2401         * css/CSSStyleDeclaration.cpp:
2402         * css/CSSStyleDeclaration.h:
2403         Removed a version of setProperty() that attempted to parse the value and extract !important from it.
2404
2405         * html/ImageDocument.cpp:
2406         (WebCore::ImageDocument::resizeImageToFit):
2407         (WebCore::ImageDocument::restoreImageSize):
2408         (WebCore::ImageDocument::windowSizeChanged):
2409         * page/DragController.cpp:
2410         (WebCore::DragController::concludeEditDrag):
2411         We never needed to use this version of setProperty() here, it was just unnecessarily slower.
2412
2413 2011-12-07  Xianzhu Wang  <wangxianzhu@chromium.org>
2414
2415         In FontCacheAndroid.cpp should keep the pointer valid returned from CString::data()
2416         https://bugs.webkit.org/show_bug.cgi?id=73849
2417
2418         The changed code has been covered by many existing layout tests.
2419
2420         Reviewed by Adam Barth.
2421
2422         * platform/graphics/chromium/FontCacheAndroid.cpp:
2423         (WebCore::FontCache::createFontPlatformData):
2424
2425 2011-12-07  Xiaomei Ji  <xji@chromium.org>
2426
2427         Turn on move caret by word visually for Windows platform.
2428         https://bugs.webkit.org/show_bug.cgi?id=59652
2429
2430         Reviewed by Ryosuke Niwa.
2431
2432         We already support (arrow key) moving cursor by character in visual order.
2433         This patch implements (ctrl/alt-arrow) moving cursor by word in visual order (in Windows).
2434         It matches Firefox's default behavior.
2435
2436         Without this patch, ctrl(alt for mac)-arrow key or
2437         selection.modify("move", "left"/"right", "word") moves cursor by word in logical order. 
2438
2439         IE implements moving cursor by logical order for both arrow key and ctrl-arrow key.
2440         Firefox implements moving cursor by visual order for both operations.
2441         From Chromium bug report, native speakers would like moving cursor by visual order since it
2442         is more intuitive.
2443
2444         The patch is only enabled for Windows (by EditingBehavior) because current implementation
2445         matches Windows' native behavior.
2446         For exmaple, if the logical text is "abc def hij", the cursor positions are
2447         "|abc |def |hij|" no matter pressing ctrl-left-arrow or ctrl-right-arrow.
2448
2449         Mac and Linux's native behavior is slightly different. In which, when pressing
2450         ctrl-left-arrow, the cursor positions are "|abc |def |hij|". When pressing ctrl-right-arrow,
2451         the cursor positions are "|abc| def| hij|". We will implement it next.
2452
2453         Test: editing/selection/move-left-right-by-word-mac.html
2454
2455         * editing/EditingBehavior.h:
2456         (WebCore::EditingBehavior::shouldMoveLeftRightByWordInVisualOrder):
2457         * editing/FrameSelection.cpp: Remove experimental enum WebKitVisualWordGranularity.
2458         (WebCore::FrameSelection::modifyExtendingRight):
2459         (WebCore::FrameSelection::modifyExtendingForward):
2460         (WebCore::FrameSelection::modifyMovingRight):
2461         (WebCore::FrameSelection::modifyMovingForward):
2462         (WebCore::FrameSelection::modifyExtendingLeft):
2463         (WebCore::FrameSelection::modifyExtendingBackward):
2464         (WebCore::FrameSelection::modifyMovingLeft):
2465         (WebCore::FrameSelection::modifyMovingBackward):
2466         * editing/TextGranularity.h: Remove experimental enum WebKitVisualWordGranularity.
2467         * editing/VisibleSelection.cpp: Remove experimental enum WebKitVisualWordGranularity.
2468         (WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity):
2469         * page/DOMSelection.cpp: Remove experimental experimental flag -webkit-visual-word.
2470         (WebCore::DOMSelection::modify):
2471
2472 2011-12-07  Jonathan Backer  <backer@chromium.org>
2473
2474         [chromium] Plumb damage from WebExternalTextureLayer and WebPluginContainer to CCDamageTracker
2475         https://bugs.webkit.org/show_bug.cgi?id=73485
2476
2477         Reviewed by Darin Fisher.
2478
2479         * platform/graphics/chromium/PluginLayerChromium.cpp:
2480         (WebCore::PluginLayerChromium::updateCompositorResources):
2481         (WebCore::PluginLayerChromium::invalidateRect):
2482         * platform/graphics/chromium/PluginLayerChromium.h:
2483
2484 2011-12-07  Mary Wu  <mary.wu@torchmobile.com.cn>
2485
2486         Upstream 5 files into WebCore/platform/blackberry
2487         https://bugs.webkit.org/show_bug.cgi?id=73632
2488
2489         Reviewed by Rob Buis.
2490
2491         Initial upstream, no new tests.
2492
2493         * PlatformBlackBerry.cmake: Remove two empty files from build list.
2494         * platform/blackberry/PopupMenuBlackBerry.cpp: Added.
2495         (WebCore::PopupMenuBlackBerry::PopupMenuBlackBerry):
2496         (WebCore::PopupMenuBlackBerry::~PopupMenuBlackBerry):
2497         (WebCore::PopupMenuBlackBerry::show):
2498         (WebCore::PopupMenuBlackBerry::hide):
2499         (WebCore::PopupMenuBlackBerry::updateFromElement):
2500         (WebCore::PopupMenuBlackBerry::disconnectClient):
2501         * platform/blackberry/PopupMenuBlackBerry.h: Added.
2502         (WebCore::PopupMenuBlackBerry::client):
2503         * platform/blackberry/ScrollbarThemeBlackBerry.cpp: Added.
2504         (WebCore::ScrollbarTheme::nativeTheme):
2505         * platform/blackberry/SearchPopupMenuBlackBerry.cpp: Added.
2506         (WebCore::SearchPopupMenuBlackBerry::SearchPopupMenuBlackBerry):
2507         (WebCore::SearchPopupMenuBlackBerry::popupMenu):
2508         (WebCore::SearchPopupMenuBlackBerry::enabled):
2509         (WebCore::SearchPopupMenuBlackBerry::saveRecentSearches):
2510         (WebCore::SearchPopupMenuBlackBerry::loadRecentSearches):
2511         * platform/blackberry/SearchPopupMenuBlackBerry.h: Added.
2512
2513 2011-12-07  Dan Bernstein  <mitz@apple.com>
2514
2515         Fixed the definition of BUTTON_CELL_DRAW_WITH_FRAME_DRAWS_FOCUS_RING from r102246.
2516
2517         * platform/mac/ThemeMac.mm: Added parentheses.
2518
2519 2011-12-07  Dan Bernstein  <mitz@apple.com>
2520
2521         <rdar://problem/10542095> Focus rings are not drawn around push buttons, radio buttons and checkboxes
2522
2523         Reviewed by Darin Adler.
2524
2525         Instead of relying on -setShowsFirstResponder: to make -drawWithFrame:inView: draw the focus
2526         ring, use -drawFocusRingMaskWithFrame:inView:.
2527
2528         * platform/mac/ThemeMac.mm:
2529         (-[NSCell _web_drawFocusRingWithFrame:inView:]): Added. Sets up the focus ring style and a
2530         transparency layer, then uses -drawFocusRingMaskWithFrame:inView: to draw the focus ring.
2531         (WebCore::updateStates): Eliminated calls to get and set showsFirstResponder.
2532         (WebCore::paintCheckbox): Changed to use -_web_drawFocusRingWithFrame:inView:.
2533         (WebCore::paintRadio): Ditto.
2534         (WebCore::paintButton): Ditto.
2535
2536 2011-12-07  Brian Salomon  <bsalomon@google.com>
2537
2538         [CHROMIUM/SKIA] Handle put[Un/Pre]multipliedImageData conversions in Skia rather than ImageBuffer
2539         https://bugs.webkit.org/show_bug.cgi?id=73953
2540
2541         Reviewed by Stephen White.
2542
2543         Tested by existing canvas2d layout tests.
2544
2545         * platform/graphics/skia/ImageBufferSkia.cpp:
2546         (WebCore::putImageData):
2547         (WebCore::ImageBuffer::putUnmultipliedImageData):
2548         (WebCore::ImageBuffer::putPremultipliedImageData):
2549
2550 2011-12-07  Andreas Kling  <kling@webkit.org>
2551
2552         Micro-optimize ScrollView::visibleContentRect().
2553         <http://webkit.org/b/74001>
2554
2555         Reviewed by Anders Carlsson.
2556
2557         Reorder the scrollbar exclusion code to minimize the number of virtual calls
2558         to ScrollableArea::verticalScrollbar(), ScrollableArea::horizontalScrollbar()
2559         and Scrollbar::isOverlayScrollbar().
2560
2561         * platform/ScrollView.cpp:
2562         (WebCore::ScrollView::visibleContentRect):
2563
2564 2011-12-07  Andreas Kling  <kling@webkit.org>
2565
2566         ApplyPropertyBorderImage: Remove unneeded template argument for mapNinePieceImage().
2567         <http://webkit.org/b/73998>
2568
2569         Reviewed by Antti Koivisto.
2570
2571         Have ApplyPropertyBorderImage call mapNinePieceImage() directly now that it's
2572         public (instead of passing it as a template argument.)
2573
2574         * css/CSSStyleApplyProperty.cpp:
2575         (WebCore::ApplyPropertyBorderImage::applyValue):
2576         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
2577
2578 2011-12-07  Jessie Berlin  <jberlin@apple.com>
2579
2580         Mac build fix after r102235.
2581
2582         * WebCore.exp.in:
2583
2584 2011-11-30  Simon Hausmann  <simon.hausmann@nokia.com>
2585
2586         [Qt] V8 debug build fixes.
2587
2588         Reviewed by Tor Arne Vestbø.
2589
2590         * Target.pri: Add missing files to the build.
2591         * loader/SubresourceLoader.cpp: Add missing CString.h header file inclusion,
2592         that is implicitly included with Chromium builds and only needed in ASSERTS
2593         in debug builds.
2594         * loader/cache/CachedResource.cpp: Ditto.
2595         * page/FrameTree.cpp: Ditto.
2596         * platform/graphics/MediaPlayer.cpp: Ditto.
2597
2598 2011-11-30  Simon Hausmann  <simon.hausmann@nokia.com>
2599
2600         [Qt] V8 build fixes.
2601
2602         Reviewed by Tor Arne Vestbø.
2603
2604         * Target.pri: Don't load(javascriptcore) if we're building with v8.
2605
2606 2011-12-07  Mary Wu  <mary.wu@torchmobile.com.cn>
2607
2608         Change function name InitializeLoggingChannelsIfNecessary to follow coding style guideline
2609         https://bugs.webkit.org/show_bug.cgi?id=73986
2610
2611         Reviewed by Kenneth Rohde Christiansen.
2612
2613         Just function name change, no new tests.
2614
2615         * platform/Logging.h:
2616         * platform/efl/LoggingEfl.cpp:
2617         (WebCore::initializeLoggingChannelsIfNecessary):
2618         * platform/gtk/LoggingGtk.cpp:
2619         (WebCore::initializeLoggingChannelsIfNecessary):
2620         * platform/mac/LoggingMac.mm:
2621         (WebCore::initializeLoggingChannelsIfNecessary):
2622         * platform/qt/LoggingQt.cpp:
2623         (WebCore::initializeLoggingChannelsIfNecessary):
2624         * platform/win/LoggingWin.cpp:
2625         (WebCore::initializeLoggingChannelsIfNecessary):
2626         * platform/wx/LoggingWx.cpp:
2627         (WebCore::initializeLoggingChannelsIfNecessary):
2628
2629 2011-12-07  Mihnea Ovidenie  <mihnea@adobe.com>
2630
2631         [CSSRegions]Add support for background-color in region styling
2632         https://bugs.webkit.org/show_bug.cgi?id=71488
2633
2634         Reviewed by David Hyatt.
2635
2636         Tests: fast/regions/region-style-block-background-color.html
2637                fast/regions/region-style-block-background-color2.html
2638                fast/regions/region-style-image-background-color.html
2639                fast/regions/region-style-inline-background-color.html
2640
2641         * WebCore.exp.in:
2642         * css/CSSStyleSelector.cpp:
2643         (WebCore::RuleData::regionStyleRule):
2644         (WebCore::CSSStyleSelector::CSSStyleSelector):
2645         (WebCore::CSSStyleSelector::addMatchedDeclaration):
2646         (WebCore::CSSStyleSelector::matchRules):
2647         (WebCore::CSSStyleSelector::matchAllRules):
2648         (WebCore::CSSStyleSelector::initForRegionStyling):
2649         (WebCore::CSSStyleSelector::styleForElement):
2650         (WebCore::CSSStyleSelector::pseudoStyleForElement):
2651         (WebCore::RuleData::RuleData):
2652         (WebCore::RuleSet::RuleSet):
2653         (WebCore::RuleSet::addToRuleSet):
2654         (WebCore::CSSStyleSelector::applyDeclarations):
2655         (WebCore::isValidRegionStyleProperty):
2656         (WebCore::CSSStyleSelector::applyProperty):
2657         * css/CSSStyleSelector.h:
2658         (WebCore::CSSStyleSelector::setRegionForStyling):
2659         (WebCore::CSSStyleSelector::regionForStyling):
2660         (WebCore::CSSStyleSelector::applyPropertyToRegionStyle):
2661         * rendering/RenderFlowThread.cpp:
2662         (WebCore::RenderFlowThread::clearRenderRegionRangeMap):
2663         (WebCore::RenderFlowThread::~RenderFlowThread):
2664         (WebCore::RenderFlowThread::layout):
2665         (WebCore::RenderFlowThread::clearRenderObjectCustomStyle):
2666         (WebCore::RenderFlowThread::setRegionRangeForBox):
2667         * rendering/RenderFlowThread.h:
2668         * rendering/RenderLayer.cpp:
2669         (WebCore::CurrentRenderRegionMaintainer::CurrentRenderRegionMaintainer):
2670         (WebCore::CurrentRenderRegionMaintainer::~CurrentRenderRegionMaintainer):
2671         (WebCore::RenderLayer::paint):
2672         (WebCore::RenderLayer::hitTest):
2673         * rendering/RenderObject.cpp:
2674         (WebCore::RenderObject::style):
2675         * rendering/RenderObject.h:
2676         (WebCore::RenderObject::canHaveRegionStyle):
2677         * rendering/RenderObjectChildList.cpp:
2678         (WebCore::RenderObjectChildList::removeChildNode):
2679         * rendering/RenderRegion.cpp:
2680         (WebCore::RenderRegion::layout):
2681         (WebCore::RenderRegion::renderObjectRegionStyle):
2682         (WebCore::RenderRegion::computeStyleInRegion):
2683         (WebCore::RenderRegion::clearObjectStyleInRegion):
2684         * rendering/RenderRegion.h:
2685         * rendering/RenderView.cpp:
2686         (WebCore::RenderView::RenderView):
2687         * rendering/RenderView.h:
2688         (WebCore::RenderView::currentRenderRegion):
2689         (WebCore::RenderView::setCurrentRenderRegion):
2690
2691 2011-12-01  Vsevolod Vlasov  <vsevik@chromium.org>
2692
2693         Web Inspector: Extract default call stack creation and check for front-end from console.
2694         https://bugs.webkit.org/show_bug.cgi?id=73566
2695
2696         Reviewed by Yury Semikhatsky.
2697
2698         * bindings/js/ScriptCallStackFactory.cpp:
2699         (WebCore::createScriptCallStack):
2700         * bindings/js/ScriptCallStackFactory.h:
2701         * bindings/scripts/CodeGeneratorJS.pm:
2702         (GenerateParametersCheck):
2703         * bindings/scripts/CodeGeneratorV8.pm:
2704         (GenerateFunctionCallback):
2705         * bindings/scripts/test/JS/JSTestObj.cpp:
2706         (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
2707         * bindings/scripts/test/V8/V8TestObj.cpp:
2708         (WebCore::TestObjInternal::customArgsAndExceptionCallback):
2709         * bindings/v8/ScriptCallStackFactory.cpp:
2710         (WebCore::createScriptCallStack):
2711         * bindings/v8/ScriptCallStackFactory.h:
2712         * inspector/InspectorInstrumentation.cpp:
2713         (WebCore::InspectorInstrumentation::hasFrontendForScriptContext):
2714         * inspector/InspectorInstrumentation.h:
2715         (WebCore::InspectorInstrumentation::hasFrontendForScriptContext):
2716         * inspector/WorkerInspectorController.h:
2717         (WebCore::WorkerInspectorController::hasFrontend):
2718         * page/Console.cpp:
2719         * page/Console.h:
2720
2721 2011-12-07  Shinya Kawanaka  <shinyak@google.com>
2722
2723         Internals should have a method to reutrn the max sequence number of spellcheck reqeust.
2724         https://bugs.webkit.org/show_bug.cgi?id=73511
2725
2726         Reviewed by Hajime Morita.
2727
2728         Internal state of SpellChecker should be able to be exposed for testing SpellChecker.
2729         This patch will enable us to know asynchronous spellcheck has finished or not.
2730
2731         Test: editing/spelling/spellcheck-sequencenum.html
2732
2733         * editing/SpellChecker.cpp:
2734         (WebCore::SpellChecker::SpellChecker):
2735         (WebCore::SpellChecker::createRequest):
2736         (WebCore::SpellChecker::didCheck):
2737         * editing/SpellChecker.h:
2738         (WebCore::SpellChecker::lastRequestSequence):
2739           Interface to take SpellCheck sequence numbers.
2740         (WebCore::SpellChecker::lastProcessedSequence): ditto.
2741         * testing/Internals.cpp:
2742         (WebCore::spellchecker):
2743         (WebCore::Internals::lastSpellCheckRequestSequence):
2744         (WebCore::Internals::lastSpellCheckProcessedSequence):
2745         * testing/Internals.h:
2746         * testing/Internals.idl:
2747
2748 2011-12-07  Ryosuke Niwa  <rniwa@webkit.org>
2749
2750         TypingCommand duplicates code to obtain the last typing command
2751         https://bugs.webkit.org/show_bug.cgi?id=73984
2752
2753         Reviewed by Kent Tamura.
2754
2755         Extracted lastTypingCommandIfStillOpenForTyping out of isOpenForMoreTypingCommand
2756         and a bunch of TypingCommand static member functions.
2757
2758         Also made more member functions of TypingCommand private.
2759
2760         * editing/Editor.cpp:
2761         (WebCore::Editor::setComposition):
2762         * editing/FrameSelection.cpp:
2763         (WebCore::FrameSelection::setSelection):
2764         * editing/TypingCommand.cpp:
2765         (WebCore::TypingCommand::deleteSelection):
2766         (WebCore::TypingCommand::deleteKeyPressed):
2767         (WebCore::TypingCommand::forwardDeleteKeyPressed):
2768         (WebCore::TypingCommand::insertText):
2769         (WebCore::TypingCommand::insertLineBreak):
2770         (WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent):
2771         (WebCore::TypingCommand::insertParagraphSeparator):
2772         (WebCore::TypingCommand::lastTypingCommandIfStillOpenForTyping):
2773         (WebCore::TypingCommand::closeTyping):
2774         * editing/TypingCommand.h:
2775         (WebCore::TypingCommand::isOpenForMoreTyping):
2776         (WebCore::TypingCommand::closeTyping):
2777
2778 2011-12-06  Mary Wu  <mary.wu@torchmobile.com.cn>
2779
2780         upstream BlackBerry porting of KURL/Logging
2781         https://bugs.webkit.org/show_bug.cgi?id=73524
2782
2783         Reviewed by Antonio Gomes.
2784
2785         * platform/blackberry/KURLBlackBerry.cpp: Added.
2786         (WebCore::KURL::fileSystemPath):
2787         * platform/blackberry/LoggingBlackBerry.cpp: Added.
2788         (WebCore::initializeWithUserDefault):
2789         (WebCore::InitializeLoggingChannelsIfNecessary):
2790
2791 2011-12-06  Leo Yang  <leo.yang@torchmobile.com.cn>
2792
2793         [BlackBerry] Remove redundant files in PlatformBlackBerry.cmake
2794         https://bugs.webkit.org/show_bug.cgi?id=73976
2795
2796         Reviewed by Antonio Gomes.
2797
2798         The listing of the following files in PlatformBlackBerry.cmake are redundant. They should be removed.
2799         platform/network/blackberry/MultipartResponseDelegate.cpp
2800         platform/network/blackberry/NetworkManager.cpp
2801         platform/network/blackberry/NetworkStateNotifierBlackBerry.cpp
2802         platform/network/blackberry/ResourceErrorBlackBerry.cpp
2803         platform/network/blackberry/ResourceRequestBlackBerry.cpp
2804
2805         * PlatformBlackBerry.cmake:
2806
2807 2011-12-06  Shinya Kawanaka  <shinyak@google.com>
2808
2809         Refactoring: Editor::markAllMisspellingsAndBadGrammarInRanges should be refactored.
2810         https://bugs.webkit.org/show_bug.cgi?id=73628
2811
2812         Reviewed by Hajime Morita.
2813
2814         Extracted a code for adding markers and replacing misspelled words from WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges.
2815
2816         No new tests. covered by existing tests.
2817
2818         * editing/Editor.cpp:
2819         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
2820           Extracted a code for adding markers and replacing missplled words, and moved to markAndReplaceFor.
2821         (WebCore::Editor::markAndReplaceFor):
2822         * editing/Editor.h:
2823
2824 2011-12-06  Julien Chaffraix  <jchaffraix@webkit.org>
2825
2826         Avoid calling calculateRects in RenderLayer::paintLayer when the rectangles are not needed
2827         https://bugs.webkit.org/show_bug.cgi?id=73754
2828
2829         Reviewed by Simon Fraser.
2830
2831         Performance change, no change in behavior.
2832
2833         RenderLayer::paintLayer can easily be called a million time when scrolling on a big table with
2834         td { overflow: hidden; }. We would spend a lot of time recomputing the rectangles that we never
2835         unused for painting as our layer was not self-painting (clipping layer only) and we did not paint
2836         some overlay scrollbars.
2837
2838         * rendering/RenderLayer.cpp:
2839         (WebCore::RenderLayer::paintLayer):
2840         Simplified and moved the shouldPaint logic earlier in the function. Now the branches
2841         are checking the same boolean which makes the logic more obvious. A consequence of
2842         filling shouldPaint earlier is that we call |calculateRects| only if there is a chance
2843         the rectangles will used. Also cached the result of isSelfPaintingLayer() in a local
2844         variable (isSelfPaintingLayer() is fairly expensive due to several virtual calls).
2845
2846         * rendering/RenderLayerBacking.cpp:
2847         (WebCore::RenderLayerBacking::paintIntoLayer):
2848         For coherency, applied the same optimizations here too: added an early return instead
2849         of conditionaly call |calculateRects| as we don't have to restore any clip.
2850
2851 2011-12-06  Benjamin Poulain  <benjamin@webkit.org>
2852
2853         Simplify KURL's checkEncodedString()
2854         https://bugs.webkit.org/show_bug.cgi?id=73890
2855
2856         Reviewed by Andreas Kling.
2857
2858         The Macro UNUSED_PARAM is not supposed to be used for this case,
2859         use ASSERT_UNUSED instead.
2860
2861         * platform/KURL.cpp:
2862         (WebCore::checkEncodedString):
2863
2864 2011-12-06  Ryosuke Niwa  <rniwa@webkit.org>
2865
2866         The code to create a NodeListsNodeData is duplicated everywhere
2867         https://bugs.webkit.org/show_bug.cgi?id=73961
2868
2869         Reviewed by Darin Adler.
2870
2871         Extracted the logic to create NodeListsNodeData as NodeRareData::ensureNodeLists.
2872
2873         * dom/Document.cpp:
2874         (WebCore::Document::getItems):
2875         * dom/Node.cpp:
2876         (WebCore::Node::childNodes):
2877         (WebCore::Node::registerDynamicNodeList):
2878         (WebCore::Node::getElementsByTagName):
2879         (WebCore::Node::getElementsByTagNameNS):
2880         (WebCore::Node::getElementsByName):
2881         (WebCore::Node::getElementsByClassName):
2882         * dom/NodeRareData.h:
2883         (WebCore::NodeRareData::ensureNodeLists):
2884         * html/HTMLFormControlElement.cpp:
2885         (WebCore::HTMLFormControlElement::labels):
2886
2887 2011-12-06  Leo Yang  <leo.yang@torchmobile.com.cn>
2888
2889         Upstream about: feature in WebKit/blackberry/WebCoreSupport/
2890         https://bugs.webkit.org/show_bug.cgi?id=73612
2891
2892         Reviewed by Antonio Gomes.
2893
2894         * PlatformBlackBerry.cmake: Move platform/network/blackberry/AboutData.{h, cpp}
2895                                     to WebKit/blackberry/WebCoreSupport
2896
2897 2011-12-06  Benjamin Poulain  <bpoulain@apple.com>
2898
2899         WebKit Mac does not build without CONTEXT MENU
2900         https://bugs.webkit.org/show_bug.cgi?id=73962
2901
2902         Reviewed by Pavel Feldman.
2903
2904         In the patch r100903, the symbols were exported under ENABLE(CONTEXT_MENUS)
2905         because the feature is triggered from the menus.
2906
2907         The implementation has no dependency on the context menu but is necessary to build
2908         when the inspector is enabled.
2909         This patch moves the exported symbols from ENABLE(CONTEXT_MENUS) to ENABLE(INSPECTOR).
2910
2911         * WebCore.exp.in:
2912
2913 2011-12-06  Adrienne Walker  <enne@google.com>
2914
2915         [chromium] setNeedsCommit on non-composited host layers should trigger commit
2916         https://bugs.webkit.org/show_bug.cgi?id=73711
2917
2918         Reviewed by James Robinson.
2919
2920         Pipe non-composited content host syncs to setNeedsCommit.
2921
2922         Since now the NonCompositedContentHost generates setNeedsCommit, don't
2923         call it unnecessarily, e.g. calling setBackgroundColor to the same
2924         color each frame should not retrigger more commits.
2925
2926         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2927         (WebCore::GraphicsLayerChromium::setAnchorPoint):
2928         (WebCore::GraphicsLayerChromium::setTransform):
2929         (WebCore::GraphicsLayerChromium::setChildrenTransform):
2930         (WebCore::GraphicsLayerChromium::setMasksToBounds):
2931         (WebCore::GraphicsLayerChromium::setBackgroundColor):
2932         (WebCore::GraphicsLayerChromium::clearBackgroundColor):
2933         (WebCore::GraphicsLayerChromium::setContentsOpaque):
2934         (WebCore::GraphicsLayerChromium::setBackfaceVisibility):
2935         (WebCore::GraphicsLayerChromium::setOpacity):
2936         * platform/graphics/chromium/LayerChromium.cpp:
2937         (WebCore::LayerChromium::setNeedsCommit):
2938         (WebCore::LayerChromium::setAnchorPoint):
2939         (WebCore::LayerChromium::setAnchorPointZ):
2940         (WebCore::LayerChromium::setBackgroundColor):
2941         (WebCore::LayerChromium::setMasksToBounds):
2942         (WebCore::LayerChromium::setMaskLayer):
2943         (WebCore::LayerChromium::setOpacity):
2944         (WebCore::LayerChromium::setOpaque):
2945         (WebCore::LayerChromium::setPosition):
2946         (WebCore::LayerChromium::setSublayerTransform):
2947         (WebCore::LayerChromium::setTransform):
2948         (WebCore::LayerChromium::setScrollPosition):
2949         (WebCore::LayerChromium::setScrollable):
2950         (WebCore::LayerChromium::setDoubleSided):
2951         * platform/graphics/chromium/LayerChromium.h:
2952         (WebCore::LayerChromium::setReplicaLayer):
2953         * platform/graphics/chromium/NonCompositedContentHost.cpp:
2954         (WebCore::NonCompositedContentHost::notifySyncRequired):
2955         * platform/graphics/chromium/NonCompositedContentHost.h:
2956
2957 2011-12-06  Kenichi Ishibashi  <bashi@chromium.org>
2958
2959         [Chromium] unknown characters symbol on \n in complex script text (RTL and LTR)
2960         https://bugs.webkit.org/show_bug.cgi?id=73806
2961
2962         Reviewed by Tony Chang.
2963
2964         Sets fMergeNeutralItems to 1 instead of merging script items based on their tags.
2965
2966         Tests: platform/chromium/fast/text/international/chromium-complex-text-non-printable-expected.html
2967                platform/chromium/fast/text/international/chromium-complex-text-non-printable.html
2968
2969         * platform/graphics/chromium/UniscribeHelper.cpp:
2970         (WebCore::UniscribeHelper::fillRuns): Removed a block which merges script items.
2971
2972 2011-12-06  Luke Macpherson   <macpherson@chromium.org>
2973
2974         Implement remaining border-image and webkit-maskbox-image properties in CSSStyleApplyProperty.
2975         https://bugs.webkit.org/show_bug.cgi?id=73391
2976
2977         Reviewed by Hajime Morita.
2978
2979         No new tests / refacoring only.
2980
2981         * css/CSSStyleApplyProperty.cpp:
2982         (WebCore::ApplyPropertyBorderImageModifier::getValue):
2983         (WebCore::ApplyPropertyBorderImageModifier::setValue):
2984         (WebCore::ApplyPropertyBorderImageModifier::applyInheritValue):
2985         (WebCore::ApplyPropertyBorderImageModifier::applyInitialValue):
2986         (WebCore::ApplyPropertyBorderImageModifier::applyValue):
2987         (WebCore::ApplyPropertyBorderImageModifier::createHandler):
2988         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
2989         * css/CSSStyleSelector.cpp:
2990         (WebCore::CSSStyleSelector::applyProperty):
2991         * css/CSSStyleSelector.h:
2992
2993 2011-12-06  Pavel Feldman  <pfeldman@google.com>
2994
2995         Web Inspector: introduce a memory agent stub.
2996         https://bugs.webkit.org/show_bug.cgi?id=73930
2997
2998         Reviewed by Timothy Hatcher.
2999
3000         We'd like to experiment with the memory stats and hence need a
3001         nice home for that. Adding this undocumented agent / domain for now.
3002
3003         * CMakeLists.txt:
3004         * GNUmakefile.list.am:
3005         * Target.pri:
3006         * WebCore.gypi:
3007         * WebCore.vcproj/WebCore.vcproj:
3008         * WebCore.xcodeproj/project.pbxproj:
3009         * bindings/js/ScriptProfiler.h:
3010         (WebCore::ScriptProfiler::nodeCount):
3011         * bindings/v8/ScriptProfiler.cpp:
3012         (WebCore::ScriptProfiler::nodeCount):
3013         * bindings/v8/ScriptProfiler.h:
3014         * inspector/Inspector.json:
3015         * inspector/InspectorController.cpp:
3016         (WebCore::InspectorController::InspectorController):
3017         * inspector/InspectorMemoryAgent.cpp: Added.
3018         (WebCore::InspectorMemoryAgent::~InspectorMemoryAgent):
3019         (WebCore::InspectorMemoryAgent::getNodeCounter):
3020         (WebCore::InspectorMemoryAgent::InspectorMemoryAgent):
3021         * inspector/InspectorMemoryAgent.h: Added.
3022         (WebCore::InspectorMemoryAgent::create):
3023
3024 2011-12-06  Julien Chaffraix  <jchaffraix@webkit.org>
3025
3026         Unreviewed build fix after 102183.
3027
3028         * rendering/style/RenderStyle.h:
3029         (WebCore::InheritedFlags::initialGridTrackValue):
3030         Use DEFINE_STATIC_LOCAL to avoid having an exit-time destructor.
3031
3032 2011-12-06  Julien Chaffraix  <jchaffraix@webkit.org>
3033
3034         Inline RenderObject::view()
3035         https://bugs.webkit.org/show_bug.cgi?id=73733
3036
3037         Reviewed by Darin Adler.
3038
3039         Micro-performance optimization, no change in behavior.
3040
3041         RenderObject::view() is super hot and is taking ~4-5% of the time in some
3042         benchmarks as it is called several hundred thousands times. For some reason,
3043         the compiler did not inline it even though it is very simple in release builds.
3044
3045         * WebCore.exp.in: Removed RenderObject::view() as it is inlined now.
3046
3047         * rendering/RenderObject.cpp: Moved the implementation from here ...
3048         * rendering/RenderView.h:
3049         (WebCore::RenderObject::view): ... to here to avoid a cyclic
3050         dependency between RenderObject and RenderView. Also marked the
3051         function as ALWAYS_INLINE.
3052
3053         * rendering/RenderObject.h:
3054         * rendering/svg/RenderSVGResourceContainer.cpp:
3055         Added #include "RenderView.h" as the code checks for view() during repaint.
3056
3057 2011-12-06  Julien Chaffraix  <jchaffraix@webkit.org>
3058
3059         CSS Grid Layout: Add support for parsing multiple grid-columns or grid-rows
3060         https://bugs.webkit.org/show_bug.cgi?id=73272
3061
3062         Reviewed by Tony Chang.
3063
3064         Test: fast/css-grid-layout/grid-columns-rows-get-set-multiple.html
3065
3066         Updated our supported syntax to match the following:
3067         <track-list> := [ <track-breadth> ]+ | 'none'
3068         <track-breadth> := <length> | <percentage> | 'auto'
3069         (the naming loosely matches the specification)
3070
3071         * css/CSSComputedStyleDeclaration.cpp:
3072         (WebCore::valueForGridTrackBreadth): Added function to handle a breadth
3073         (extended with 'auto' that the spec puts in <track-minmax>).
3074
3075         (WebCore::valueForGridTrackList): Create a space seperated list of
3076         track breadth or none.
3077
3078         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Updated
3079         to use the new functions.
3080
3081         * css/CSSParser.cpp:
3082         (WebCore::CSSParser::parseGridTrackList): Extended the function to
3083         match the new syntax.
3084
3085         * css/CSSStyleApplyProperty.cpp:
3086         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty): Removed our
3087         simple implementation. Replaced by the CSSStyleSelector functions.
3088
3089         * css/CSSStyleSelector.cpp:
3090         (WebCore::createGridTrackBreadth):
3091         (WebCore::createGridTrackList):
3092         Added those 2 functions to convert the CSSPrimitiveValue to a Vector
3093         as expected by RenderStyle.
3094
3095         (WebCore::CSSStyleSelector::applyProperty): Added our 2 properties
3096         now that it is not handled by CSSStyleApplyProperty.
3097
3098         * rendering/style/RenderStyle.h:
3099         (WebCore::InheritedFlags::gridColumns):
3100         (WebCore::InheritedFlags::gridRows):
3101         (WebCore::InheritedFlags::setGridColumns):
3102         (WebCore::InheritedFlags::setGridRows):
3103         (WebCore::InheritedFlags::initialGridColumns):
3104         (WebCore::InheritedFlags::initialGridRows):
3105         Updated the previous methods to take a Vector of Length.
3106
3107         (WebCore::InheritedFlags::initialGridTrackValue):
3108         Needed function to return a Vector with one 'none' Length (the initial
3109         value per the specification).
3110
3111         * rendering/style/StyleGridData.h: Updated to use a Vector.
3112
3113 2011-12-06  David Reveman  <reveman@chromium.org>
3114
3115         [Chromium] Implement tile-sized painting using SkPicture.
3116         https://bugs.webkit.org/show_bug.cgi?id=71869
3117
3118         Reviewed by James Robinson.
3119
3120         Add texture uploader that paints tile-sized chunks using SkPicture
3121         recording and playback. Expose setting which allows this texture
3122         updater to be enabled.
3123
3124         No new tests. Covered by existing tests.
3125
3126         * WebCore.gypi:
3127         * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp: Added.
3128         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::Texture):
3129         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::prepareRect):
3130         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::updateRect):
3131         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::create):
3132         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::BitmapSkPictureCanvasLayerTextureUpdater):
3133         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::~BitmapSkPictureCanvasLayerTextureUpdater):
3134         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::createTexture):
3135         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::sampledTexelFormat):
3136         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::prepareToUpdate):
3137         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::paintContentsRect):
3138         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::updateTextureRect):
3139         * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h: Added.
3140         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::textureUpdater):
3141         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::orientation):
3142         * platform/graphics/chromium/ContentLayerChromium.cpp:
3143         (WebCore::ContentLayerChromium::createTextureUpdater):
3144         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
3145         (WebCore::CCSettings::CCSettings):
3146
3147 2011-12-06  Adrienne Walker  <enne@google.com>
3148
3149         [chromium] Don't crash if tile upload happens without painting first
3150         https://bugs.webkit.org/show_bug.cgi?id=73939
3151
3152         Reviewed by James Robinson.
3153
3154         Remove at least one place (in ImageLayerChromium) where this could
3155         happen.
3156
3157         Although this shouldn't happen, we should be robust to it in the
3158         chance that other code causes it to.
3159
3160         * platform/graphics/chromium/ImageLayerChromium.cpp:
3161         (WebCore::ImageLayerChromium::paintContentsIfDirty):
3162         * platform/graphics/chromium/TiledLayerChromium.cpp:
3163         (WebCore::TiledLayerChromium::updateCompositorResources):
3164
3165 2011-12-06  Ruben  <chromium@hybridsource.org>
3166
3167         Enable web audio by default on non-Mac POSIX platforms
3168         https://bugs.webkit.org/show_bug.cgi?id=73491
3169
3170         Reviewed by Tony Chang.
3171
3172         No new tests, just changing gyp includes.
3173
3174         * WebCore.gyp/WebCore.gyp:
3175
3176 2011-12-06  Benjamin Poulain  <benjamin@webkit.org>
3177
3178         Put length in its own variable in KURL copyASCII
3179         https://bugs.webkit.org/show_bug.cgi?id=73928
3180
3181         Reviewed by Darin Adler.
3182
3183         * platform/KURL.cpp:
3184         (WebCore::copyASCII):
3185
3186 2011-12-06  Dana Jansens  <danakj@chromium.org>
3187
3188         [chromium] Set opaque flag for ImageLayerChromium
3189         https://bugs.webkit.org/show_bug.cgi?id=72964
3190
3191         Reviewed by James Robinson.
3192
3193         Unit test in tests/ImageLayerChromiumTest.cpp.
3194
3195         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
3196         (WebCore::GraphicsLayerChromium::setContentsToImage):
3197         * platform/graphics/chromium/GraphicsLayerChromium.h:
3198         (WebCore::GraphicsLayerChromium::contentsLayer):
3199         * platform/graphics/chromium/ImageLayerChromium.cpp:
3200         (WebCore::ImageLayerChromium::setContents):
3201
3202 2011-12-06  Alexandre Elias  <aelias@google.com>
3203
3204         [chromium] Apply sent deltas on finishCommit
3205         https://bugs.webkit.org/show_bug.cgi?id=73884
3206
3207         Reviewed by James Robinson.
3208
3209         This moves scroll and pageScale "sent" deltas to be applied to
3210         the layer at the end of the commit, instead of the beginning.
3211
3212         This has several advantages, especially for page scale:
3213         - When pageScale changes, no longer any need to change the scroll's
3214         coordinate space at beginning of commit, which is complex and prone to
3215         bugs (this fixes a problem where we were forgetting to modify the
3216         scrollPosition before).
3217         - No need for non-commit-related code to consider the "sent" values.
3218         m_pageScale is now always the content scale factor, and
3219         m_pageScaleDelta is the scale to be on the impl-side matrix.
3220         - This will make it easy to send arbitrary fake or future delta
3221         values for example while pinch zooming out.
3222
3223         The scroll logic is similarly altered for consistency's sake.  Note that
3224         I also moved the tree synchronize to the beginning of finishCommit
3225         in order to avoid having to change the pageScale coordinate space of
3226         sentScrollDelta in adjustScrollsForPageScaleChange().
3227
3228         No new tests. (Refactoring of existing code.)
3229
3230         * platform/graphics/chromium/LayerChromium.cpp:
3231         (WebCore::LayerChromium::pushPropertiesTo):
3232         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3233         (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
3234         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
3235         (WebCore::CCLayerTreeHostImpl::setPageScaleFactorAndLimits):
3236         (WebCore::CCLayerTreeHostImpl::applyPageScaleDeltaToScrollLayer):
3237         (WebCore::CCLayerTreeHostImpl::processScrollDeltas):
3238
3239 2011-12-06  Gavin Barraclough  <barraclough@apple.com>
3240
3241         https://bugs.webkit.org/show_bug.cgi?id=68328
3242         The generator and intrinsic fields in HashTableValue/HashEntry and associated structures and methods are redundant
3243
3244         Reviewed by Geoff Garen.
3245
3246         Intrinsic is no longer in the DFG namespace, is always in the
3247         hash table. Removed ThunkGenerator.
3248
3249         * bindings/scripts/CodeGeneratorJS.pm:
3250         (GenerateHashTable):
3251
3252 2011-12-06  Dimitri Glazkov  <dglazkov@chromium.org>
3253
3254         Unreviewed, rolling out r102091.
3255         http://trac.webkit.org/changeset/102091
3256         https://bugs.webkit.org/show_bug.cgi?id=73711
3257
3258         Caused Clang Linux compile failure.
3259
3260         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
3261         (WebCore::GraphicsLayerChromium::setAnchorPoint):
3262         (WebCore::GraphicsLayerChromium::setTransform):
3263         (WebCore::GraphicsLayerChromium::setChildrenTransform):
3264         (WebCore::GraphicsLayerChromium::setMasksToBounds):
3265         (WebCore::GraphicsLayerChromium::setBackgroundColor):
3266         (WebCore::GraphicsLayerChromium::clearBackgroundColor):
3267         (WebCore::GraphicsLayerChromium::setContentsOpaque):
3268         (WebCore::GraphicsLayerChromium::setBackfaceVisibility):
3269         (WebCore::GraphicsLayerChromium::setOpacity):
3270         * platform/graphics/chromium/LayerChromium.cpp:
3271         (WebCore::LayerChromium::setNeedsCommit):
3272         * platform/graphics/chromium/LayerChromium.h:
3273         (WebCore::LayerChromium::setAnchorPoint):
3274         (WebCore::LayerChromium::setAnchorPointZ):
3275         (WebCore::LayerChromium::setBackgroundColor):
3276         (WebCore::LayerChromium::setMasksToBounds):
3277         (WebCore::LayerChromium::setMaskLayer):
3278         (WebCore::LayerChromium::setOpacity):
3279         (WebCore::LayerChromium::setOpaque):
3280         (WebCore::LayerChromium::setPosition):
3281         (WebCore::LayerChromium::setSublayerTransform):
3282         (WebCore::LayerChromium::setTransform):
3283         (WebCore::LayerChromium::setScrollPosition):
3284         (WebCore::LayerChromium::setScrollable):
3285         (WebCore::LayerChromium::setDoubleSided):
3286         (WebCore::LayerChromium::setReplicaLayer):
3287         * platform/graphics/chromium/NonCompositedContentHost.cpp:
3288         (WebCore::NonCompositedContentHost::notifySyncRequired):
3289         * platform/graphics/chromium/NonCompositedContentHost.h:
3290
3291 2011-12-06  Dana Jansens  <danakj@chromium.org>
3292
3293         [Chromium] Make root layer always opaque
3294         https://bugs.webkit.org/show_bug.cgi?id=70564
3295
3296         Reviewed by James Robinson.
3297
3298         * platform/graphics/chromium/NonCompositedContentHost.cpp:
3299         (WebCore::NonCompositedContentHost::NonCompositedContentHost):
3300         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
3301         (WebCore::CCTiledLayerImpl::draw):
3302
3303 2011-12-06  Noel Gordon  <noel.gordon@gmail.com>
3304
3305         WebPImageDecoder computes image width and height multiple times
3306         https://bugs.webkit.org/show_bug.cgi?id=73796
3307
3308         Reviewed by Adam Barth.
3309
3310         Once sufficient image data arrives, we can compute the decoded image height
3311         and width from the WEBP image header data.
3312
3313         From then on, the decoded image size is known so there's no need to re-read
3314         it from the WEBP image header again.
3315
3316         No change in behavior, so no new tests.
3317
3318         * platform/image-decoders/webp/WEBPImageDecoder.cpp:
3319         (WebCore::WEBPImageDecoder::decode):
3320
3321 2011-12-06  Mike Reed  <reed@google.com>
3322
3323         optimize TransformationMatrix::scale by not calling through to generic multiply
3324         https://bugs.webkit.org/show_bug.cgi?id=73830
3325
3326         Reviewed by Kenneth Russell.
3327
3328         No new tests. Optimization only, existing tests exercise the code
3329
3330         * platform/graphics/transforms/TransformationMatrix.cpp:
3331         (WebCore::TransformationMatrix::scaleNonUniform):
3332         (WebCore::TransformationMatrix::scale3d):
3333
3334 2011-12-06  Eric Carlson  <eric.carlson@apple.com>
3335
3336         Revert WebCore track Settings changes made in r101977
3337         https://bugs.webkit.org/show_bug.cgi?id=73879
3338
3339         Reviewed by Sam Weinig.
3340
3341         No new tests yet, still nothing to test.
3342
3343         * page/Settings.cpp: Move the preference setters back into the .h file.
3344         * page/Settings.h:
3345         (WebCore::Settings::setShouldDisplaySubtitles):
3346         (WebCore::Settings::setShouldDisplayCaptions):
3347         (WebCore::Settings::setShouldDisplayTextDescriptions):
3348
3349 2011-12-06  Andreas Kling  <kling@webkit.org>
3350
3351         MediaList: Remove constructor that takes a CSSImportRule*.
3352         <http://webkit.org/b/73833>
3353
3354         Reviewed by Antti Koivisto.
3355
3356         * css/MediaList.h:
3357         * css/MediaList.cpp:
3358
3359             Remove MediaList(CSSImportRule*, ...) constructor.
3360
3361         * css/CSSImportRule.cpp:
3362         (WebCore::CSSImportRule::CSSImportRule):
3363
3364             Have CSSImportRule construct its MediaList by passing the parent
3365             style sheet, which is exactly what the old constructor accomplished.
3366             Also assert that we're always created with a non-null parent sheet.
3367
3368 2011-12-06  Jarred Nicholls  <jarred@sencha.com>
3369
3370         getComputedStyle returns wrong value for margin-*
3371         https://bugs.webkit.org/show_bug.cgi?id=73334
3372
3373         margin-* getComputedStyle values should return the "used" absolute value when there is a renderer
3374         and the specified value is relative (percentage, auto, etc.).
3375         When there is no renderer, the specified value should be returned.
3376         See http://dev.w3.org/csswg/cssom/#resolved-values.
3377
3378         Reviewed by Darin Adler.
3379
3380         Test: fast/css/getComputedStyle/getComputedStyle-resolved-values.html
3381
3382         * css/CSSComputedStyleDeclaration.cpp:
3383         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3384
3385 2011-12-06  Alexey Proskuryakov  <ap@apple.com>
3386
3387         REGRESSION (WebKit2): Kill ring is not cleared when selection changes
3388         https://bugs.webkit.org/show_bug.cgi?id=73888
3389         <rdar://problem/10532310>
3390
3391         Reviewed by Mark Rowe.
3392
3393         Test: editing/pasteboard/emacs-ctrl-k-with-move.html
3394
3395         * editing/Editor.cpp: (WebCore::Editor::respondToChangedSelection): Moved the code to clear
3396         kill ring from Mac WebKit, as it's needed in all Mac ports at least.
3397
3398 2011-12-06  Darin Adler  <darin@apple.com>
3399
3400         Use HashMap<OwnPtr> in CollectionCache
3401         https://bugs.webkit.org/show_bug.cgi?id=73784
3402
3403         Reviewed by Andreas Kling.
3404
3405         * html/CollectionCache.cpp:
3406         (WebCore::CollectionCache::copyCacheMap): Use adoptPtr.
3407         (WebCore::CollectionCache::reset): Removed now-unneeded calls to deleteAllValues.
3408         (WebCore::append): Added. Helper function for appending elements to the maps from
3409         the collection cache.
3410
3411         * html/CollectionCache.h: Changed mapped type in NodeCacheMap to OwnPtr.
3412         Added append function.
3413
3414         * html/HTMLCollection.cpp:
3415         (WebCore::nameShouldBeVisibleInDocumentAll): Added, to factor out common code in
3416         two functions below.
3417         (WebCore::HTMLCollection::checkForNameMatch): Changed to call nameShouldBeVisibleInDocumentAll.
3418         (WebCore::HTMLCollection::updateNameCache): Ditto. Also updated cache code to use the append
3419         function, so it will work with OwnPtr. Also eliminated an unneeded get call before
3420         each hash table add; we do both at once in the new append function.
3421         * html/HTMLFormCollection.cpp:
3422         (WebCore::HTMLFormCollection::updateNameCache): More of the same.
3423
3424 2011-12-06  Yury Semikhatsky  <yurys@chromium.org>
3425
3426         [Chromium] Web Inspector: getFunctionLocation should return scriptId as String not as int
3427         https://bugs.webkit.org/show_bug.cgi?id=73892
3428
3429         Reviewed by Pavel Feldman.
3430
3431         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
3432         (WebCore::V8InjectedScriptHost::functionLocationCallback): scriptId should be a string not a number
3433         * inspector/Inspector.json: removed unused parameter
3434
3435 2011-11-21  Balazs Kelemen  <kbalazs@webkit.org>
3436
3437         Enable ParallelJobs by default
3438         https://bugs.webkit.org/show_bug.cgi?id=70032
3439
3440         Reviewed by Zoltan Herczeg.
3441
3442         Covered by existing tests.
3443
3444         According to measurements on Mac and Linux it is a
3445         considerable speedup for SVG on multicore.
3446
3447         Remove the ENABLE(PARALLEL_JOBS) guard. Fix the Windows build
3448         by qualifying ParallelJobs with the WTF namespace (otherwise
3449         MSVC believes it belongs to WebCore which is likely a compiler bug).
3450
3451         * platform/graphics/filters/FEConvolveMatrix.cpp:
3452         (WebCore::FEConvolveMatrix::setInteriorPixelsWorker):
3453         (WebCore::FEConvolveMatrix::platformApplySoftware):
3454         * platform/graphics/filters/FEConvolveMatrix.h:
3455         * platform/graphics/filters/FEGaussianBlur.cpp:
3456         (WebCore::FEGaussianBlur::platformApplyWorker):
3457         (WebCore::FEGaussianBlur::platformApply):
3458         * platform/graphics/filters/FEGaussianBlur.h:
3459         * platform/graphics/filters/FELighting.cpp:
3460         (WebCore::FELighting::platformApplyGenericWorker):
3461         (WebCore::FELighting::platformApplyGeneric):
3462         * platform/graphics/filters/FELighting.h:
3463         * platform/graphics/filters/FEMorphology.cpp:
3464         (WebCore::FEMorphology::platformApplyWorker):
3465         (WebCore::FEMorphology::platformApply):
3466         * platform/graphics/filters/FEMorphology.h:
3467         * platform/graphics/filters/FETurbulence.cpp:
3468         (WebCore::FETurbulence::fillRegionWorker):
3469         (WebCore::FETurbulence::platformApplySoftware):
3470         * platform/graphics/filters/FETurbulence.h:
3471         * platform/graphics/filters/arm/FELightingNEON.cpp:
3472         (WebCore::FELighting::platformApplyNeonWorker):
3473         * platform/graphics/filters/arm/FELightingNEON.h:
3474         (WebCore::FELighting::platformApplyNeon):
3475
3476 2011-12-06  Andreas Kling  <kling@webkit.org>
3477
3478         Unreviewed assertion fix for r102123.
3479
3480         * platform/KURL.cpp:
3481         (WebCore::checkEncodedString):
3482
3483 2011-12-06  Benjamin Poulain  <benjamin@webkit.org>
3484
3485         Simplify KURL's checkEncodedString()
3486         https://bugs.webkit.org/show_bug.cgi?id=73890
3487
3488         Reviewed by Andreas Kling.
3489
3490         The method was reimplementing String::containsOnlyASCII().
3491         Use the method from String and we can remove the #if NDEBUG.
3492
3493         * platform/KURL.cpp:
3494         (WebCore::checkEncodedString):
3495
3496 2011-12-06  Sheriff Bot  <webkit.review.bot@gmail.com>
3497
3498         Unreviewed, rolling out r102111.
3499         http://trac.webkit.org/changeset/102111
3500         https://bugs.webkit.org/show_bug.cgi?id=73902
3501
3502         Breaks compilation (Requested by vsevik on #webkit).
3503
3504         * editing/Editor.cpp:
3505         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
3506         * editing/Editor.h:
3507
3508 2011-12-06  Hajime Morrita  <morrita@chromium.org>
3509
3510         [Refactoring] Accessing Node::m_document should be minimized.
3511         https://bugs.webkit.org/show_bug.cgi?id=73800
3512
3513         Reviewed by Kent Tamura.
3514
3515         No new tests. No behavioral change.
3516
3517         Replaced m_document reference with the document() accessor
3518         or temporaril variables. This is a preparation for using
3519         m_document space to point a shadow root pointer.
3520
3521         * dom/Document.h:
3522         (WebCore::Node::Node):
3523         * dom/Node.cpp:
3524         (WebCore::Node::~Node):
3525
3526 2011-12-06  Shinya Kawanaka  <shinyak@google.com>
3527
3528         https://bugs.webkit.org/show_bug.cgi?id=73889
3529         TextCheckingParagraph::offsetTo should not have a side effect.
3530
3531         Reviewed by Hajime Morita.
3532
3533         Since TextCheckingParagraph::offsetTo had a side effect, its cache often became inconsistent.
3534         This is likely to cause a bug when changing SpellChecker and Editor.
3535
3536         No new tests. Covered by existing tests.
3537
3538         * editing/TextCheckingHelper.cpp:
3539         (WebCore::TextCheckingParagraph::offsetTo):
3540
3541 2011-12-06  Eric Penner  <epenner@google.com>
3542
3543         [chromium] Set texture limits as multiples of viewport size instead of hardcoded values
3544         https://bugs.webkit.org/show_bug.cgi?id=72202
3545
3546         Reviewed by James Robinson.
3547
3548         * platform/graphics/chromium/LayerRendererChromium.cpp: 
3549         (WebCore::LayerRendererChromium::drawLayers): added viewport param
3550         (WebCore::LayerRendererChromium::initializeSharedObjects): ditto 
3551         * platform/graphics/chromium/TextureManager.cpp: 
3552         (WebCore::TextureManager::highLimitBytes): calculated based on viewport
3553         (WebCore::TextureManager::reclaimLimitBytes): ditto
3554         (WebCore::TextureManager::lowLimitBytes): ditto
3555         (WebCore::TextureManager::TextureManager): added viewport param
3556         (WebCore::TextureManager::setMaxMemoryLimitBytes): changed name
3557         (WebCore::TextureManager::setPreferredMemoryLimitBytes): added function
3558         (WebCore::TextureManager::requestTexture): added viewport param
3559         * platform/graphics/chromium/TextureManager.h: ditto
3560         (WebCore::TextureManager::create): ditto
3561         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: ditto
3562         (WebCore::CCLayerTreeHost::initialize): ditto
3563         (WebCore::CCLayerTreeHost::beginCommitOnImplThread): ditto
3564         (WebCore::CCLayerTreeHost::setViewport): ditto
3565         (WebCore::CCLayerTreeHost::setVisible): ditto
3566         (WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread): ditto
3567
3568 2011-12-06  Huang Dongsung  <luxtella@company100.net>
3569
3570         [TexMap][QT] Draw the borders of media and webgl elements in TexMap.
3571         https://bugs.webkit.org/show_bug.cgi?id=73817
3572
3573         GraphicsContext3D only draws the content of the WebGL canvas, not the additional
3574         CSS such as the borders. TextureMapper should render the content of a
3575         media/webgl layer before drawing the actual canvas.
3576         This makes LayoutTests/compositing/webgl/webgl-reflection.html work.
3577
3578         Reviewed by Noam Rosenthal.
3579
3580         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
3581         (WebCore::GraphicsLayerTextureMapper::setContentsNeedsDisplay):
3582         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
3583         * platform/graphics/texmap/TextureMapperNode.cpp:
3584         (WebCore::TextureMapperNode::renderContent):
3585         (WebCore::TextureMapperNode::paintSelf):
3586
3587 2011-12-06  Sheriff Bot  <webkit.review.bot@gmail.com>
3588
3589         Unreviewed, rolling out r102043.
3590         http://trac.webkit.org/changeset/102043
3591         https://bugs.webkit.org/show_bug.cgi?id=73898
3592
3593         Breaks chromium mac-cg compilation. (Requested by vsevik on
3594         #webkit).
3595
3596         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
3597         (WebCore::GraphicsLayerChromium::setContentsToImage):
3598         * platform/graphics/chromium/GraphicsLayerChromium.h:
3599         (WebCore::GraphicsLayerChromium::contentsLayer):
3600         * platform/graphics/chromium/ImageLayerChromium.cpp:
3601         (WebCore::ImageLayerChromium::setContents):
3602
3603 2011-12-06  Shinya Kawanaka  <shinyak@google.com>
3604
3605         Refactoring: Editor::markAllMisspellingsAndBadGrammarInRanges should be refactored.
3606         https://bugs.webkit.org/show_bug.cgi?id=73628
3607
3608         Reviewed by Hajime Morita.
3609
3610         Extracted a code for adding markers and replacing misspelled words from WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges.
3611
3612         No new tests. covered by existing tests.
3613
3614         * editing/Editor.cpp:
3615         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
3616           Extracted a code for adding markers and replacing missplled words, and moved to markAndReplaceFor.
3617         (WebCore::Editor::markAndReplaceFor):
3618         * editing/Editor.h:
3619
3620 2011-12-05  Alexander Pavlov  <apavlov@chromium.org>
3621
3622         Web Inspector: [Audits] Implement "Stop" button and progress bar instead of spinner.
3623         https://bugs.webkit.org/show_bug.cgi?id=73626
3624
3625         Reviewed by Yury Semikhatsky.
3626
3627         * English.lproj/localizedStrings.js:
3628         * inspector/front-end/AuditLauncherView.js:
3629         (WebInspector.AuditLauncherView):
3630         (WebInspector.AuditLauncherView.prototype._setAuditRunning):
3631         (WebInspector.AuditLauncherView.prototype._launchButtonClicked):
3632         (WebInspector.AuditLauncherView.prototype._createLauncherUI):
3633         (WebInspector.AuditLauncherView.prototype._updateResourceProgress):
3634         (WebInspector.AuditLauncherView.prototype._updateButton):
3635         * inspector/front-end/AuditRules.js:
3636         (WebInspector.AuditRules.GzipRule.prototype.doRun):
3637         (WebInspector.AuditRules.CombineExternalResourcesRule.prototype.doRun):
3638         (WebInspector.AuditRules.MinimizeDnsLookupsRule.prototype.doRun):
3639         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
3640         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.documentLoaded):
3641         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback):
3642         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.styleSheetCallback):
3643         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.allStylesCallback):
3644         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
3645         (WebInspector.AuditRules.CacheControlRule.prototype.doRun):
3646         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
3647         (WebInspector.AuditRules.CssInHeadRule.prototype.doRun):
3648         (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.externalStylesheetsReceived):
3649         (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.inlineStylesReceived):
3650         (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.onDocumentAvailable):
3651         (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun):
3652         (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.cssBeforeInlineReceived):
3653         (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.lateStylesReceived):
3654         (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.onDocumentAvailable):
3655         (WebInspector.AuditRules.CookieRuleBase.prototype.doRun.resultCallback):
3656         (WebInspector.AuditRules.CookieRuleBase.prototype.doRun):
3657         * inspector/front-end/AuditsPanel.js:
3658         (WebInspector.AuditsPanel):
3659         (WebInspector.AuditsPanel.prototype._executeAudit.ruleResultReadyCallback):
3660         (WebInspector.AuditsPanel.prototype._executeAudit):
3661         (WebInspector.AuditsPanel.prototype._auditFinishedCallback):
3662         (WebInspector.AuditsPanel.prototype.terminateAudit):
3663         (WebInspector.AuditCategory.prototype.run):
3664         (WebInspector.AuditRule.prototype.run):
3665         (WebInspector.AuditRule.prototype.doRun):
3666         (WebInspector.AuditProgressMonitor):
3667         (WebInspector.AuditProgressMonitor.prototype.setTotalWork):
3668         (WebInspector.AuditProgressMonitor.prototype.worked):
3669         (WebInspector.AuditProgressMonitor.prototype.get indeterminate):
3670         (WebInspector.AuditProgressMonitor.prototype.done):
3671         (WebInspector.AuditProgressMonitor.prototype.get canceled):
3672         (WebInspector.AuditProgressMonitor.prototype.set canceled):
3673
3674 2011-12-06  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
3675
3676         [Qt] [WK2] MiniBrowser assert on startup in debug build after r101713
3677         https://bugs.webkit.org/show_bug.cgi?id=73874
3678
3679         This change partially reverts r101713 restoring original behaviour for
3680         KUrl creation from empty string and fixes asserts in debug build.
3681
3682         Reviewed by Alexey Proskuryakov.
3683
3684         No new tests. Tests from r101713 pass.
3685
3686         * platform/KURL.cpp:
3687         (WebCore::KURL::init):
3688         (WebCore::KURL::parse):
3689         * platform/KURL.h:
3690
3691 2011-12-06  Andreas Kling  <kling@webkit.org>
3692
3693         Use HashMap<OwnPtr> for EventListenerMap's internal map.
3694         <http://webkit.org/b/73761>
3695
3696         Reviewed by Benjamin Poulain.
3697
3698         Changed the value type of EventListenerMap::m_hashMap to OwnPtr<EventListenerVector>.
3699         This means we no longer need to manually delete the vectors when taking them out of
3700         the map, which makes the code a little prettier.
3701
3702         A few tweaks were necessary; release() instead of leakPtr() when switching modes
3703         and adoptPtr()/get() sprinkled as needed.
3704
3705         * dom/EventListenerMap.h:
3706         * dom/EventListenerMap.cpp:
3707         (WebCore::EventListenerMap::clear):
3708         (WebCore::EventListenerMap::add):
3709         (WebCore::EventListenerMap::remove):
3710         (WebCore::EventListenerMap::find):
3711         (WebCore::EventListenerMap::removeFirstEventListenerCreatedFromMarkup):
3712         (WebCore::EventListenerMap::copyEventListenersNotCreatedFromMarkupToTarget):
3713
3714 2011-12-05  Rafael Weinstein  <rafaelw@chromium.org>
3715
3716         [MutationObservers] Support 'attributes' mutation records for element.removeAttribute
3717         https://bugs.webkit.org/show_bug.cgi?id=73880
3718
3719         Reviewed by Ojan Vafai.
3720
3721         * dom/Element.cpp:
3722         (WebCore::enqueueAttributesMutationRecord):
3723         (WebCore::Element::removeAttribute):
3724
3725 2011-12-05  Dana Jansens  <danakj@chromium.org>
3726
3727         Set opaque flag for WebGLLayerChromium
3728         https://bugs.webkit.org/show_bug.cgi?id=73876
3729
3730         Reviewed by James Robinson.
3731
3732         New unit test in tests/WebGLLayerChromiumTest.cpp
3733
3734         * platform/graphics/chromium/DrawingBufferChromium.cpp:
3735         (WebCore::DrawingBuffer::platformLayer):
3736
3737 2011-12-05  Benjamin Poulain  <bpoulain@apple.com>
3738
3739         Upstream the Cursor implementation of iOS
3740         https://bugs.webkit.org/show_bug.cgi?id=73724
3741
3742         Reviewed by David Kilzer.
3743
3744         iOS does not need to support the Cursor of WebKit. For compatibility, Cursor
3745         is implemented as an empty class on the platform.
3746
3747         * Configurations/WebCore.xcconfig:
3748         * WebCore.xcodeproj/project.pbxproj:
3749         * platform/Cursor.h:
3750         (WebCore::Cursor::Cursor):
3751         * platform/ios/CursorIOS.cpp: Added.
3752         (WebCore::cursor):
3753         (WebCore::pointerCursor):
3754         (WebCore::crossCursor):
3755         (WebCore::handCursor):
3756         (WebCore::moveCursor):
3757         (WebCore::iBeamCursor):
3758         (WebCore::waitCursor):
3759         (WebCore::helpCursor):
3760         (WebCore::eastResizeCursor):
3761         (WebCore::northResizeCursor):
3762         (WebCore::northEastResizeCursor):
3763         (WebCore::northWestResizeCursor):
3764         (WebCore::southResizeCursor):
3765         (WebCore::southEastResizeCursor):
3766         (WebCore::southWestResizeCursor):
3767         (WebCore::westResizeCursor):
3768         (WebCore::northSouthResizeCursor):
3769         (WebCore::eastWestResizeCursor):
3770         (WebCore::northEastSouthWestResizeCursor):
3771         (WebCore::northWestSouthEastResizeCursor):
3772         (WebCore::columnResizeCursor):
3773         (WebCore::rowResizeCursor):
3774         (WebCore::middlePanningCursor):
3775         (WebCore::eastPanningCursor):
3776         (WebCore::northPanningCursor):
3777         (WebCore::northEastPanningCursor):
3778         (WebCore::northWestPanningCursor):
3779         (WebCore::southPanningCursor):
3780         (WebCore::southEastPanningCursor):
3781         (WebCore::southWestPanningCursor):
3782         (WebCore::westPanningCursor):
3783         (WebCore::verticalTextCursor):
3784         (WebCore::cellCursor):
3785         (WebCore::contextMenuCursor):
3786         (WebCore::noDropCursor):
3787         (WebCore::notAllowedCursor):
3788         (WebCore::progressCursor):
3789         (WebCore::aliasCursor):
3790         (WebCore::zoomInCursor):
3791         (WebCore::zoomOutCursor):
3792         (WebCore::copyCursor):
3793         (WebCore::noneCursor):
3794         (WebCore::grabCursor):
3795         (WebCore::grabbingCursor):
3796         (WebCore::determineHotSpot):
3797
3798 2011-12-05  Noel Gordon  <noel.gordon@gmail.com>
3799
3800         [GTK] GIF image test crashes on 32- and 64-bit Release
3801         https://bugs.webkit.org/show_bug.cgi?id=73812
3802
3803         Reviewed by Adam Barth.
3804
3805         Call resize() on the image pixel backing store after allocation to see if
3806         that stops the GIF image decoder animation tests crashes on GTK.
3807
3808         No new tests, covered by exiting tests ...
3809           fast/backgrounds/animated-gif-as-background.html
3810           fast/images/dont-crash-with-null-gif-frames.html
3811           fast/images/gif-loop-count.html
3812
3813         * platform/image-decoders/ImageDecoder.cpp:
3814         (WebCore::ImageFrame::setSize):
3815
3816 2011-12-05  Erik Arvidsson  <arv@chromium.org>
3817
3818         Could save a lot of memory in CharacterData by not always storing a String
3819         https://bugs.webkit.org/show_bug.cgi?id=72404
3820
3821         Reviewed by Ojan Vafai.
3822
3823         When a Text node is created by the parser we check if the string is all whitespace
3824         and if so we put it in the AtomicString table so that all future identical whitespace
3825         strings can share the StringImpl.
3826
3827         No new tests. Covered by existing tests.
3828
3829         * html/parser/HTMLConstructionSite.cpp:
3830         (WebCore::HTMLNames::isAllWhitespace):
3831         (WebCore::HTMLConstructionSite::insertTextNode):
3832
3833             If we do not know whether the string is all whitespace this now checks the string
3834             If the string is all whitespace we create an AtomicString for it.
3835
3836         * html/parser/HTMLConstructionSite.h:
3837         * html/parser/HTMLTreeBuilder.cpp:
3838         (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::skipLeadingNonWhitespace): We never cared about the return value here.
3839         (WebCore::HTMLTreeBuilder::processCharacterBuffer): Pass WhitespaceMode in the case we know whether the string is all whitespace or not.
3840         (WebCore::HTMLTreeBuilder::defaultForInTableText): Ditto.
3841
3842 2011-12-05  Benjamin Poulain  <benjamin@webkit.org>
3843
3844         Update KURL's copy copyASCII to avoid String::characters()
3845         https://bugs.webkit.org/show_bug.cgi?id=73794
3846
3847         Reviewed by Andreas Kling.
3848
3849         When the String is already on 8 bits, we can simply copy the
3850         data. In the 16 bits case, everything remains the same.
3851
3852         * platform/KURL.cpp:
3853         (WebCore::copyASCII):
3854         (WebCore::appendASCII):
3855         (WebCore::KURL::init):
3856         (WebCore::KURL::parse):
3857         (WebCore::KURL::copyToBuffer):
3858
3859 2011-12-05  Yong Li  <yoli@rim.com>
3860
3861         https://bugs.webkit.org/show_bug.cgi?id=73683
3862         Implement KeyframeValueList::operator=() and KeyframeValueList::swap().
3863
3864         Reviewed by Darin Adler.
3865
3866         No new tests as no functional change.
3867
3868         * platform/graphics/GraphicsLayer.h: 
3869         (WebCore::KeyframeValueList::operator=): Added
3870         (WebCore::KeyframeValueList::swap): Added
3871
3872 2011-12-05  Adrienne Walker  <enne@google.com>
3873
3874         [chromium] setNeedsCommit on non-composited host layers should trigger commit
3875         https://bugs.webkit.org/show_bug.cgi?id=73711
3876
3877         Reviewed by James Robinson.
3878
3879         Pipe non-composited content host syncs to setNeedsCommit.
3880
3881         Since now the NonCompositedContentHost generates setNeedsCommit, don't
3882         call it unnecessarily, e.g. calling setBackgroundColor to the same
3883         color each frame should not retrigger more commits.
3884
3885         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
3886         (WebCore::GraphicsLayerChromium::setAnchorPoint):
3887         (WebCore::GraphicsLayerChromium::setTransform):
3888         (WebCore::GraphicsLayerChromium::setChildrenTransform):
3889         (WebCore::GraphicsLayerChromium::setMasksToBounds):
3890         (WebCore::GraphicsLayerChromium::setBackgroundColor):
3891         (WebCore::GraphicsLayerChromium::clearBackgroundColor):
3892         (WebCore::GraphicsLayerChromium::setContentsOpaque):
3893         (WebCore::GraphicsLayerChromium::setBackfaceVisibility):
3894         (WebCore::GraphicsLayerChromium::setOpacity):
3895         * platform/graphics/chromium/LayerChromium.cpp:
3896         (WebCore::LayerChromium::setNeedsCommit):
3897         (WebCore::LayerChromium::setAnchorPoint):
3898         (WebCore::LayerChromium::setAnchorPointZ):
3899         (WebCore::LayerChromium::setBackgroundColor):
3900         (WebCore::LayerChromium::setMasksToBounds):
3901         (WebCore::LayerChromium::setMaskLayer):
3902         (WebCore::LayerChromium::setOpacity):
3903         (WebCore::LayerChromium::setOpaque):
3904         (WebCore::LayerChromium::setPosition):
3905         (WebCore::LayerChromium::setSublayerTransform):
3906         (WebCore::LayerChromium::setTransform):
3907         (WebCore::LayerChromium::setScrollPosition):
3908         (WebCore::LayerChromium::setScrollable):
3909         (WebCore::LayerChromium::setDoubleSided):
3910         * platform/graphics/chromium/LayerChromium.h:
3911         (WebCore::LayerChromium::setReplicaLayer):
3912         * platform/graphics/chromium/NonCompositedContentHost.cpp:
3913         (WebCore::NonCompositedContentHost::notifySyncRequired):
3914         * platform/graphics/chromium/NonCompositedContentHost.h:
3915
3916 2011-12-05  Tony Chang  <tony@chromium.org>
3917
3918         small refactor of RenderFlexibleBox
3919         https://bugs.webkit.org/show_bug.cgi?id=73854
3920
3921         Reviewed by Darin Adler.
3922
3923         No new tests, just a refactor.
3924
3925         * rendering/RenderFlexibleBox.cpp:
3926         (WebCore::RenderFlexibleBox::isLeftToRightFlow): Inline isReverseFlow since it's only used in one place.
3927         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): Rename startEdge
3928         to mainAxisOffset.  Rename logicalTop to crossAxisOffset.  Get rid of
3929         logicalLeft local variable since it's confusing.  Move shouldFlipMainAxis
3930         out of the for loop to avoid computing it each iteration.
3931         * rendering/RenderFlexibleBox.h:
3932
3933 2011-12-05  Florin Malita  <fmalita@google.com>
3934
3935         Heap-buffer-overflow in WebCore::HTMLTreeBuilder::processEndTag
3936         https://bugs.webkit.org/show_bug.cgi?id=73765
3937
3938         Reviewed by Adam Barth.
3939
3940         Test: fast/parser/foreign-content-crash.html
3941
3942         Use m_tree.currentNode() instead of m_tree.currentElement() as the top node is not always an Element.
3943
3944         * html/parser/HTMLTreeBuilder.cpp:
3945         (WebCore::HTMLTreeBuilder::processEndTag):
3946
3947 2011-12-05  Stephen White  <senorblanco@chromium.org>
3948
3949         Allow the ImageBuffers used by SVG filters to be accelerated
3950         https://bugs.webkit.org/show_bug.cgi?id=73842
3951
3952         Reviewed by Kenneth Russell.
3953
3954         Regressions covered by existing SVG tests; new functionality to be
3955         tested by the API exposed on Internals.
3956
3957         * page/Settings.cpp:
3958         (WebCore::Settings::Settings):
3959         * page/Settings.h:
3960         (WebCore::Settings::setAcceleratedFiltersEnabled):
3961         (WebCore::Settings::acceleratedFiltersEnabled):
3962         * platform/graphics/filters/FETile.cpp:
3963         (WebCore::FETile::platformApplySoftware):
3964         * platform/graphics/filters/Filter.h:
3965         (WebCore::Filter::Filter):
3966         (WebCore::Filter::renderingMode):
3967         (WebCore::Filter::setRenderingMode):
3968         * platform/graphics/filters/FilterEffect.cpp:
3969         (WebCore::FilterEffect::asImageBuffer):
3970         (WebCore::FilterEffect::createImageBufferResult):
3971         * platform/graphics/skia/ImageBufferSkia.cpp:
3972         (WebCore::ImageBuffer::platformTransformColorSpace):
3973         * rendering/svg/RenderSVGResourceClipper.cpp:
3974         (WebCore::RenderSVGResourceClipper::applyClippingToContext):
3975         * rendering/svg/RenderSVGResourceFilter.cpp:
3976         (WebCore::RenderSVGResourceFilter::applyResource):
3977         * rendering/svg/RenderSVGResourceMasker.cpp:
3978         (WebCore::RenderSVGResourceMasker::applyResource):
3979         * rendering/svg/RenderSVGResourcePattern.cpp:
3980         (WebCore::RenderSVGResourcePattern::createTileImage):
3981         * rendering/svg/SVGImageBufferTools.cpp:
3982         (WebCore::SVGImageBufferTools::createImageBuffer):
3983         * rendering/svg/SVGImageBufferTools.h:
3984         * testing/Internals.cpp:
3985         (WebCore::Internals::setAcceleratedFiltersEnabled):
3986         * testing/Internals.h:
3987         * testing/Internals.idl:
3988
3989 2011-12-05  Benjamin Poulain  <bpoulain@apple.com>
3990
3991         Upstream htmlSelectMultipleItems needed for <select multiple> by iOS
3992         https://bugs.webkit.org/show_bug.cgi?id=73734
3993
3994         Reviewed by David Kilzer.
3995
3996         * platform/DefaultLocalizationStrategy.cpp:
3997         (WebCore::DefaultLocalizationStrategy::htmlSelectMultipleItems):
3998         * platform/DefaultLocalizationStrategy.h:
3999
4000 2011-12-05  Darin Adler  <darin@apple.com>
4001
4002         Use HashMap<OwnPtr> in CrossOriginPreflightResultCache
4003         https://bugs.webkit.org/show_bug.cgi?id=73785
4004
4005         Reviewed by Andreas Kling.
4006
4007         * loader/CrossOriginPreflightResultCache.cpp:
4008         (WebCore::CrossOriginPreflightResultCache::appendEntry): Changed code to use set
4009         instead of add, since it wants to replace existing entries. Also removed leakPtr
4010         and removed the FIXME that documented the memory leak now fixed here.
4011         (WebCore::CrossOriginPreflightResultCache::canSkipPreflight): Removed unneeded
4012         std:: prefix here and also unneeded explicit delete call.
4013         (WebCore::CrossOriginPreflightResultCache::empty): Removed unneeded deleteAllValues
4014         call here.
4015
4016         * loader/CrossOriginPreflightResultCache.h: Make mapped value of the
4017         CrossOriginPreflightResultHashMap be OwnPtr instead of raw pointer.
4018
4019 2011-12-05  Darin Adler  <darin@apple.com>
4020
4021         Some small improvements to ContainerNode.h
4022         https://bugs.webkit.org/show_bug.cgi?id=73786
4023
4024         Reviewed by Alexey Proskuryakov.
4025
4026         * dom/ContainerNode.cpp:
4027         (WebCore::ContainerNode::suspendPostAttachCallbacks): Added a FIXME comment about the
4028         peculiar behavior of this function. Somehow the post-attach suspend state is both
4029         global and specific to a certain Page object. That can't be right. If it was truly
4030         global then this would be a static member function. If it was truly per-page, then
4031         the related functions could not be static.
4032
4033         * dom/ContainerNode.h: Removed some unneeded argument names. Moved the hasChildNodes
4034         function up with the other basic getters. Put the other getters, childNodeCount and
4035         childNode, right after the basic getters. Used ASSERT_NO_EXCEPTION in all the basic
4036         mutation functions so they can be used in a cleaner fashion in C++ code where we have
4037         some reason to know an exception won't occur. Grouped all the overrides of functions
4038         from Node into a single paragraph and used the OVERRIDE macro on all of them. Made the
4039         queuePostAttachCallback and postAttachCallbacksAreSuspended functions protected.
4040
4041         * dom/Element.h: Moved the include of ExceptionCodePlaceholder.h into ContainerNode.h.
4042
4043         * dom/Node.cpp:
4044         (WebCore::Node::lazyAttach): Use hasChildNodes instead of firstChild for clarity.
4045         (WebCore::Node::isDescendantOf): Ditto.
4046
4047 2011-12-05  Benjamin Poulain  <benjamin@webkit.org>
4048
4049         Get rid of KURL::KURL(ParsedURLStringTag, const char*);
4050         https://bugs.webkit.org/show_bug.cgi?id=73792
4051
4052         Reviewed by Andreas Kling.
4053
4054         In all cases where the constructor is used, the constructor
4055         taking a String is as effective because the string is valid and converted
4056         to String for m_string.
4057
4058         This patch remove the constructor KURL::KURL(ParsedURLStringTag, const char*)
4059         and change the call sites that were using that constructor to build
4060         empty URLs.
4061
4062         * dom/Document.cpp:
4063         (WebCore::Document::initSecurityContext):
4064         * loader/FrameLoader.cpp:
4065         (WebCore::FrameLoader::init):
4066         * loader/archive/cf/LegacyWebArchive.cpp:
4067         (WebCore::LegacyWebArchive::create):
4068         * page/DOMWindow.cpp:
4069         (WebCore::DOMWindow::createWindow):
4070         * platform/KURL.cpp:
4071         * platform/KURL.h:
4072         * platform/KURLGoogle.cpp:
4073
4074 2011-12-05  Benjamin Poulain  <benjamin@webkit.org>
4075
4076         Remove methods declared but never implemented with GOOGLEURL
4077         https://bugs.webkit.org/show_bug.cgi?id=73795
4078
4079         Reviewed by Adam Barth.
4080
4081         * platform/KURL.h:
4082
4083 2011-12-05  Darin Adler  <darin@apple.com>
4084
4085         Change CSSFontSelector to use HashMap<OwnPtr>
4086         https://bugs.webkit.org/show_bug.cgi?id=73781
4087
4088         Reviewed by Dan Bernstein.
4089
4090         * css/CSSFontSelector.cpp:
4091         (WebCore::CSSFontSelector::~CSSFontSelector): Removed calls to deleteAllValues.
4092         (WebCore::CSSFontSelector::addFontFaceRule): Updated to use OwnPtr instead of raw
4093         pointer for the entry in m_fontFaces and m_locallyInstalledFontFaces.
4094         (WebCore::CSSFontSelector::getFontData): Updated to use OwnPtr instead of raw
4095         pointer for the entry in m_fonts. Also removed an unneeded std:: prefix.
4096
4097         * css/CSSFontSelector.h: Made m_fontFaces, m_locallyInstalledFontFaces, and m_fonts
4098         be HashMap<OwnPtr>.
4099
4100 2011-12-05  Adam Klein  <adamk@chromium.org>
4101
4102         V8RecursionScope should call didLeaveScriptContext when recursionLevel reaches zero
4103         https://bugs.webkit.org/show_bug.cgi?id=73867
4104
4105 &nbs