e50c6237ea49406fa4586738ab75bb05c7a22b46
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-03-25  Arvid Nilsson  <anilsson@rim.com>
2
3         [BlackBerry] Accelerated compositing layers fail to render when using WebPageCompositor
4         https://bugs.webkit.org/show_bug.cgi?id=82104
5         RIM PR: 145963
6
7         Reviewed by Rob Buis.
8
9         The embedder may use vertex buffers, which affected the interpretation
10         our vertex array pointers from memory pointers to offsets into a vertex
11         buffer. The resulting geometry often resulted in no visible layers on
12         screen.
13
14         Fixed by getting rid of any bound buffer when we enter
15         LayerRenderer::drawLayers().
16
17         * platform/graphics/blackberry/LayerRenderer.cpp:
18         (WebCore::LayerRenderer::drawLayers):
19
20 2012-03-24  Nat Duca  <nduca@chromium.org>
21
22         [chromium] Instrument gesture animations with async traces
23         https://bugs.webkit.org/show_bug.cgi?id=82076
24
25         Reviewed by Adrienne Walker.
26
27         * platform/ActivePlatformGestureAnimation.cpp:
28         (WebCore::ActivePlatformGestureAnimation::~ActivePlatformGestureAnimation):
29         (WebCore::ActivePlatformGestureAnimation::ActivePlatformGestureAnimation):
30         * platform/PlatformGestureCurve.h:
31         (PlatformGestureCurve):
32         * platform/TouchpadFlingPlatformGestureCurve.h:
33         (WebCore::TouchpadFlingPlatformGestureCurve::debugName):
34         * platform/WheelFlingPlatformGestureCurve.h:
35         (WebCore::WheelFlingPlatformGestureCurve::debugName):
36         * platform/graphics/chromium/cc/CCActiveGestureAnimation.cpp:
37         (WebCore::CCActiveGestureAnimation::CCActiveGestureAnimation):
38         (WebCore::CCActiveGestureAnimation::~CCActiveGestureAnimation):
39         * platform/graphics/chromium/cc/CCGestureCurve.h:
40         (CCGestureCurve):
41
42 2012-03-24  Jeffrey Pfau  <jpfau@apple.com>
43
44         XML error document creation should not fire mutation events
45         https://bugs.webkit.org/show_bug.cgi?id=80765
46
47         Reviewed by Adam Barth.
48
49         Broke two tests that expected the old behavior, which have now been updated.
50
51         * xml/XMLErrors.cpp:
52         (WebCore::createXHTMLParserErrorHeader):
53         (WebCore::XMLErrors::insertErrorMessageBlock):
54
55 2012-03-24  Florin Malita  <fmalita@google.com>
56
57         ForeignObject content is zoomed two times
58         https://bugs.webkit.org/show_bug.cgi?id=76282
59
60         Reviewed by Nikolas Zimmermann.
61
62         Test: svg/zoom/page/zoom-foreign-content.svg
63
64         Reset the effective zoom property for FO-nested content to avoid
65         having the zoom factor applied multiple times (zooming is handled by
66         the top level SVG root element).
67
68         * css/CSSStyleSelector.cpp:
69         (WebCore::CSSStyleSelector::adjustRenderStyle):
70
71 2012-03-24  Chris Fleizach  <cfleizach@apple.com>
72
73         AX: Support solution to handle invalid ax text marker
74         https://bugs.webkit.org/show_bug.cgi?id=82023
75
76         Reviewed by Oliver Hunt.
77
78         This provides methods to better use text markers so that assistive technologies
79         can know when they are valid, and can convert them to and from absolute positions.
80
81         Test: platform/mac/accessibility/textmarker-routines.html
82
83         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
84         (-[WebAccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
85         (-[WebAccessibilityObjectWrapper _convertToNSRange:]):
86         (-[WebAccessibilityObjectWrapper _indexForTextMarker:]):
87         (-[WebAccessibilityObjectWrapper _textMarkerForIndex:]):
88         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
89
90 2012-03-24  Victor Carbune  <vcarbune@adobe.com>
91
92         Quick fix for rendering controls regression.
93         https://bugs.webkit.org/show_bug.cgi?id=82125
94
95         Reviewed by Eric Carlson.
96
97         Only temporary fix. Tests to cover the problem should be added
98
99         * html/shadow/MediaControlElements.cpp:
100         (WebCore::MediaControlPanelElement::makeOpaque): The display:none
101         property should be toggled only by the media element now.
102         (WebCore::MediaControlPanelElement::makeTransparent): The timer
103         that toggles the dispalay:none shouldn't be used now.
104
105 2012-03-24  Kevin Ollivier  <kevino@theolliviers.com>
106
107         [wx] Unreviewed. Add header needed for compilation.
108
109         * html/shadow/TextFieldDecorationElement.cpp:
110
111 2012-03-24  Abhishek Arya  <inferno@chromium.org>
112
113         Crash in ApplyStyleCommand::applyInlineStyleToNodeRange.
114         https://bugs.webkit.org/show_bug.cgi?id=81959
115
116         Reviewed by Ryosuke Niwa.
117
118         Test: editing/execCommand/apply-style-command-crash.html
119
120         * editing/ApplyStyleCommand.cpp:
121         (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange): RefPtr the weak
122         node iterator |node|.
123         * editing/ApplyStyleCommand.h:
124         (ApplyStyleCommand): convert |startNode| and |pastEndNode| into PassRefPtr.
125
126 2012-03-24  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
127
128         Unreviewed, build fix since we use "-Werror=unused-but-set-variable".
129
130         The variable 'it' was set at TextureMapperShaderManager.h:110 but never used.
131
132         * platform/graphics/texmap/TextureMapperShaderManager.h:
133         (WebCore::TextureMapperShaderManager::getShaderProgram):
134
135 2012-03-24  Zeno Albisser  <zeno@webkit.org>
136
137         [Qt][WK2] Make TextureMapperShaderManager::getShaderProgram() not be a template.
138         https://bugs.webkit.org/show_bug.cgi?id=82049
139
140         Change the getShaderProgram() function to not be a template.
141         This is a workaround for a compiler bug that leads to an assert
142         when compiling in debug mode on mac.
143
144         Reviewed by Noam Rosenthal.
145
146         * platform/graphics/texmap/TextureMapperGL.cpp:
147         (WebCore::TextureMapperGL::drawTexture):
148         (WebCore::TextureMapperGL::beginClip):
149         * platform/graphics/texmap/TextureMapperShaderManager.h:
150         (TextureMapperShaderProgram):
151         (WebCore::TextureMapperShaderManager::getShaderProgram):
152         (TextureMapperShaderManager):
153
154 2012-03-23  Shawn Singh  <shawnsingh@chromium.org>
155
156         [chromium] Incorrect replica originTransform used in CCDamageTracker
157         https://bugs.webkit.org/show_bug.cgi?id=82118
158
159         Reviewed by Adrienne Walker.
160
161         Unit test added to CCDamageTrackerTest.cpp
162
163         * platform/graphics/chromium/cc/CCDamageTracker.cpp:
164         (WebCore::CCDamageTracker::extendDamageForRenderSurface):
165
166 2012-03-23  Dana Jansens  <danakj@chromium.org>
167
168         [chromium] When prepainting fails, tiles dirty rects may be cleared
169         https://bugs.webkit.org/show_bug.cgi?id=82107
170
171         Reviewed by Adrienne Walker.
172
173         When prepainting, if a tile is unable to be reserved due to memory
174         limits, we bail out of prepareToUpdateTiles. But we would have
175         cleared the dirty rect of any previous tiles. This leaves them
176         in a bad state where their textures are reserved, but their textureIds
177         are set to 0, and they are not marked dirty. This means that they will
178         not be updated and displayed if they become visible, since it is
179         assumed that valid textures with zero textureId must have a dirty
180         region.
181
182         We fix this by not clearing the dirty rects until we know we are
183         going to update the layer.
184
185         Unit test: TiledLayerChromiumTest.pushTilesAfterIdlePaintFailed
186
187         * platform/graphics/chromium/TiledLayerChromium.cpp:
188         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
189         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
190         (WebCore::CCTiledLayerImpl::hasTextureIdForTileAt):
191         (WebCore):
192         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
193         (CCTiledLayerImpl):
194
195 2012-03-23  Stephanie Lewis  <slewis@apple.com>
196
197         https://bugs.webkit.org/show_bug.cgi?id=81963 WebProcess can get stuck in GC during many low memory signals.
198         <rdar://problem/11094830> WebProcess appears to get stuck in its GC handler (81963).
199         Remove the call to garbage collect  in low memory signal handler.  Did some testing with hitting the low memory handler
200         during Membuster and we would get back at most 100k - 200k.  That isn't enough to help the system, and in 
201         that state the GC collection can take a substantial amount of time.
202
203         Reviewed by Geoff Garen.
204
205         Performance Change, no change in behavior.
206
207         * platform/mac/MemoryPressureHandlerMac.mm:
208         (WebCore::MemoryPressureHandler::releaseMemory):
209
210 2012-03-23  W. James MacLean  <wjmaclean@chromium.org>
211
212         [chromium] CCLayerTreeHostImpl::scrollBegin() should return ScrollFailed for CCInputHandlerClient::Gesture type when wheel handlers found.
213         https://bugs.webkit.org/show_bug.cgi?id=82106
214
215         Reviewed by Adrienne Walker.
216
217         Existing unit tests updated.
218
219         With gesture scroll events now being handled as mouse wheel events, we should not start a gesture scroll when
220         wheel handlers are present.
221
222         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
223         (WebCore::CCLayerTreeHostImpl::scrollBegin):
224
225 2012-03-23  Adam Barth  <abarth@webkit.org>
226
227         Move Notifications APIs from WorkerContext.idl to WorkerContextNotifications.idl
228         https://bugs.webkit.org/show_bug.cgi?id=79635
229
230         Reviewed by Kentaro Hara.
231
232         This patch moves the NotificationCenter from WorkerContext to
233         WorkerContextNotificiations, reducing clutter in WorkerContext.  After
234         this patch, Notifications are almost entirely contained in the
235         notifications directory.
236
237         * CMakeLists.txt:
238         * DerivedSources.make:
239         * DerivedSources.pri:
240         * GNUmakefile.list.am:
241         * Target.pri:
242         * WebCore.gypi:
243         * WebCore.vcproj/WebCore.vcproj:
244         * WebCore.xcodeproj/project.pbxproj:
245         * workers/WorkerContext.cpp:
246         (WebCore::WorkerContext::~WorkerContext):
247         * workers/WorkerContext.h:
248         (WebCore):
249         (WorkerContext):
250         * workers/WorkerContext.idl:
251
252 2012-03-23  Michal Mocny  <mmocny@google.com>
253
254         [chromium] RootLayer was not being checked for null causing segfaults very rarely.
255         https://bugs.webkit.org/show_bug.cgi?id=82111
256
257         Reviewed by Adrienne Walker.
258
259         * platform/graphics/chromium/LayerRendererChromium.cpp:
260         (WebCore::LayerRendererChromium::beginDrawingFrame):
261         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
262         (WebCore::CCLayerTreeHostImpl::drawLayers):
263
264 2012-03-23  Shawn Singh  <shawnsingh@chromium.org>
265
266         [chromium] Fix race bug that clobbers CCLayerImpl updateRect
267         https://bugs.webkit.org/show_bug.cgi?id=82109
268
269         Reviewed by Dirk Pranke.
270
271         If the main thread commits twice before the impl thread actually
272         draws, then the updateRect of the first frame gets lost forever,
273         and not propagated to the damage tracker.
274
275         The solution is to accumulate the updateRect. The CCLayerImpl
276         updateRect is already being correctly cleared at the appropriate
277         time after drawing.
278
279         Unit test added to LayerChromiumTest.cpp.
280
281         * platform/graphics/chromium/LayerChromium.cpp:
282         (WebCore::LayerChromium::pushPropertiesTo):
283
284 2012-03-23  Rafael Weinstein  <rafaelw@chromium.org>
285
286         [MutationObservers] attributeFilter should be case sensitive at all times
287         https://bugs.webkit.org/show_bug.cgi?id=81822
288
289         Reviewed by Ryosuke Niwa.
290
291         This removes the behavior in MutationObserverRegistration which treats
292         attributeFilter as case insensitive for HTML elements in HTML documents.
293
294         Relevant tests have been updated.
295
296         * dom/MutationObserverRegistration.cpp:
297         (WebCore::MutationObserverRegistration::resetObservation):
298         (WebCore::MutationObserverRegistration::shouldReceiveMutationFrom):
299         * dom/MutationObserverRegistration.h:
300         (MutationObserverRegistration):
301
302 2012-03-23  Kentaro Hara  <haraken@chromium.org>
303
304         Move WebSocket APIs from WorkerContext.idl to WorkerContextWebSocket.idl
305         https://bugs.webkit.org/show_bug.cgi?id=79663
306
307         Reviewed by Adam Barth.
308
309         For WebKit modularization, this patch moves WebSocket APIs from WorkerContext.idl
310         to WorkerContextWebSocket.idl.
311
312         Tests: http/tests/websocket/tests/hybi/workers/* (No change in test results)
313
314         * CMakeLists.txt:
315         * DerivedSources.make:
316         * DerivedSources.pri:
317         * GNUmakefile.list.am:
318         * Modules/websockets/WorkerContextWebSocket.idl: Added.
319         * WebCore.gypi:
320         * WebCore.xcodeproj/project.xcodeproj:
321         * workers/WorkerContext.idl:
322
323 2012-03-23  Parag Radke  <parag@motorola.com>
324
325         REGRESSION: can select text of an input button
326         https://bugs.webkit.org/show_bug.cgi?id=13624
327
328         Reviewed by Ryosuke Niwa.
329
330         Text in a button should never have a selection background of its own painted
331         but if the button is inside an editable area, then the whole button should
332         have it's selection background painted.
333
334         Test: editing/selection/selection-button-text.html
335
336         * rendering/RenderButton.h:
337         Added implementation for the virtual function canBeSelectionLeaf()
338         which returns true if the button renderer is editable, false other wise.
339         * rendering/RenderTextFragment.h:
340         Added implementation for the virtual function canBeSelectionLeaf()
341         which returns true if the text fragment renderer is editable, false other wise.
342
343 2012-03-23  Eric Carlson  <eric.carlson@apple.com>
344
345         Remove unnecessary ASSERT from LoadableTextTrack::trackElementIndex
346         https://bugs.webkit.org/show_bug.cgi?id=82095
347
348         Reviewed by Dan Bernstein.
349
350         No new tests, removed a bogus ASSERT that was sometimes triggered by tests.
351
352         * html/track/LoadableTextTrack.cpp:
353         (WebCore::LoadableTextTrack::trackElementIndex): Remove ASSERT.
354
355 2012-03-23  Eric Carlson  <eric.carlson@apple.com>
356
357         Layout Test media/video-source-load.html is failing
358         https://bugs.webkit.org/show_bug.cgi?id=82094
359
360         Reviewed by Alexey Proskuryakov.
361
362         No new tests, tested by media/video-source-load.html.
363
364         * html/HTMLMediaElement.cpp:
365         (WebCore::HTMLMediaElement::sourceWasAdded): Set m_nextChildNodeToConsider when called 
366             with networkState == NETWORK_EMPTY because the resource selection algorithm has
367             not started yet.
368
369 2012-03-23  Alexey Proskuryakov  <ap@apple.com>
370
371         [Mac] No need for platform-specific ENABLE_BLOB values
372         https://bugs.webkit.org/show_bug.cgi?id=82102
373
374         Reviewed by David Kilzer.
375
376         * Configurations/FeatureDefines.xcconfig:
377
378 2012-03-23  Kent Tamura  <tkent@chromium.org>
379
380         Add TextFieldDecorator and TextFieldDecorationElement
381         https://bugs.webkit.org/show_bug.cgi?id=80580
382
383         Reviewed by Dimitri Glazkov.
384
385         These classes will be used to add a decoration icon to a text field
386         <input> from outside of WebCore. We have a plan to use them in Chromium
387         port. So this patch doesn't add TextFieldDecorationElement.{cpp,h} to
388         non-Chromium build files.
389
390         How it works:
391         When a shadow subtree for a text field is created, we ask ChromeClient
392         to decorate it. ChromeClient appends a TextFieldDecorationElement to the
393         existing shadow subtree or another shadow tree. A TextFieldDecorator is
394         associated to a TextFieldDecorationElement, and it provides decoration
395         icon images and a click handler.
396
397         No new tests. This patch won't make any behavior change for now.
398
399         * WebCore.gypi: Add TextFieldDecorationElement.cpp and TextFieldDecorationElement.h
400         * dom/Element.h:
401         (WebCore::Element::isTextFieldDecoration):
402         * html/TextFieldInputType.cpp:
403         (WebCore::TextFieldInputType::createShadowSubtree):
404         Calls ChromeClient::willAddTextFieldDecorationsTo() and addTextFieldDecorationsTo().
405         * html/shadow/TextFieldDecorationElement.cpp: Added.
406         (WebCore::TextFieldDecorator::~TextFieldDecorator):
407         (WebCore::TextFieldDecorationElement::TextFieldDecorationElement):
408         (WebCore::TextFieldDecorationElement::create):
409         (WebCore::TextFieldDecorationElement::isTextFieldDecoration):
410         (WebCore::TextFieldDecorationElement::updateImage):
411         (WebCore::TextFieldDecorationElement::customStyleForRenderer):
412         Sets the size to a square of the font-size.
413         (WebCore::TextFieldDecorationElement::createRenderer):
414         Always creates a RenderImage.
415         (WebCore::TextFieldDecorationElement::attach):
416         Sets an image for appropriate state.
417         (WebCore::TextFieldDecorationElement::isMouseFocusable):
418         (WebCore::TextFieldDecorationElement::defaultEventHandler):
419         Delegate a click event to the corresponding function of TextFieldDecorator.
420         * html/shadow/TextFieldDecorationElement.h: Added.
421         (TextFieldDecorator): Added.
422         (TextFieldDecorationElement): Added.
423         (WebCore::toTextFieldDecorationElement): Added.
424         * page/ChromeClient.h:
425         (WebCore::ChromeClient::willAddTextFieldDecorationsTo): Add an empty implementation.
426         (WebCore::ChromeClient::addTextFieldDecorationsTo): ditto.
427
428 2012-03-23  Adam Klein  <adamk@chromium.org>
429
430         Match DOM4 spec with respect to DocumentFragment insertion
431         https://bugs.webkit.org/show_bug.cgi?id=82089
432
433         Reviewed by Ryosuke Niwa.
434
435         DOM4 specifies the behavior of appendChild, insertBefore, and replaceChild
436         in terms of "mutation algorithms":
437
438         http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#mutation-algorithms
439
440         This change updates WebKit to match, in particular with regard to DocumentFragments.
441         Previously, ContainerNode would remove nodes one at a time, then add them to the new parent.
442         When combined with MutationObservers, this results in overly-verbose mutation records.
443         Now we create as few records as possible, matching the spec as well as Gecko's implementation
444         of MutationObservers.
445
446         Note that we still need to check validity each time through the loop,
447         since inserting a node may dispatch events. In a future change, I hope
448         to move these events so that they fire only after all nodes are inserted,
449         but that's too much to tackle all in one.
450
451         Tests: fast/mutation/document-fragment-insertion.html
452
453         * dom/ContainerNode.cpp:
454         (WebCore::collectChildrenAndRemoveFromOldParent): New helper method
455         combining collectTargetNodes() with the removal of the collected nodes from
456         their old parent, if any.
457         (WebCore::ContainerNode::insertBefore): Use new helper method instead
458         of removing nodes one at a time from the fragment.
459         (WebCore::ContainerNode::replaceChild): ditto. Also removed some redundant asserts
460         and moved the "do nothing" check out of the loop.
461         (WebCore::ContainerNode::appendChild): Use new helper method.
462
463 2012-03-23  Stephen White  <senorblanco@chromium.org>
464
465         [skia] Switch to Skia's implementation of the feMorphology filter.
466         https://bugs.webkit.org/show_bug.cgi?id=82085
467
468         Reviewed by Dirk Schulze.
469
470         Covered by existing tests in svg/filters/.
471
472         * WebCore.gypi:
473         * platform/graphics/filters/FEMorphology.h:
474         (FEMorphology):
475         * platform/graphics/filters/skia/FEMorphologySkia.cpp: Added.
476         (WebCore):
477         (WebCore::FEMorphology::platformApplySkia):
478
479 2012-03-23  Adam Barth  <abarth@webkit.org>
480
481         Move Notifications APIs from DOMWindow.idl to DOMWindowNotifications.idl (Part 3)
482         https://bugs.webkit.org/show_bug.cgi?id=82027
483
484         Reviewed by Kentaro Hara.
485
486         Rather than watching for willDetachPage, NotificationCenter can just
487         override ActiveDOMObject::stop directly to be notified when it needs to
488         stop.
489
490         Switching NotificationCenter over to using ActiveDOMObject callbacks
491         frees DOMWindowNotification to implement reconnectFrame.  However, this
492         is only really a victory in princple because NotificationCenter always
493         returns false for canSuspend(), which means we'll never actually use
494         the reconnectFrame functionality.  However, this patch does move us
495         closer to the time when NotificationCenter can implement
496         ActiveDOMObject::suspend/resume to play nice with the PageCache.
497
498         * notifications/DOMWindowNotifications.cpp:
499         (WebCore::DOMWindowNotifications::disconnectFrame):
500         (WebCore::DOMWindowNotifications::reconnectFrame):
501         * notifications/DOMWindowNotifications.h:
502         (DOMWindowNotifications):
503         * notifications/NotificationCenter.cpp:
504         (WebCore::NotificationCenter::NotificationCenter):
505         (WebCore::NotificationCenter::stop):
506         * notifications/NotificationCenter.h:
507         (NotificationCenter):
508
509 2012-03-23  Daniel Cheng  <dcheng@chromium.org>
510
511         [chromium] Support file drag out using DataTransferItemList::add(File)
512         https://bugs.webkit.org/show_bug.cgi?id=81261
513
514         Reviewed by Tony Chang.
515
516         Original patch by Varun Jain <varunjain@chromium.org>.
517         I've updated the original patch to remove 'downloadurl' handling since it's not tested, nor
518         is it necessary for File objects, since File objects correspond to a native filesystem path.
519
520         Test: fast/events/drag-dataTransferItemList-file-handling.html
521
522         * platform/chromium/DataTransferItemListChromium.cpp:
523         (WebCore::DataTransferItemListChromium::add):
524
525 2012-03-23  Zan Dobersek  <zandobersek@gmail.com>
526
527         [GObject bindings] Supplemental interfaces are not disabled with the "Conditional" attribute
528         https://bugs.webkit.org/show_bug.cgi?id=80030
529
530         Reviewed by Martin Robinson.
531
532         Changes in CodeGeneratorGObject.pm:
533         - group implementation of private helpers and guard them inside
534         an ifdef if a root conditional attribute is present.
535         - always define the type of a GObject binding, even if the root
536         conditional feature is not enabled
537         - the methods are generated as well, but are simply stubs if the
538         feature is not enabled, throwing a warning upon interaction.
539         - if the method itself is guarded by a conditional attribute,
540         the stub implementation gains one more level of depth, throwing
541         a warning if the method's conditional feature is not enabled
542         but the root conditional feature is.
543         - small style fixes in random places.
544
545         Also changed are GObject baselines for binding tests.
546
547         No new tests - no new testable functionality.
548
549         * bindings/gobject/GNUmakefile.am:
550         * bindings/scripts/CodeGeneratorGObject.pm:
551         (HumanReadableConditional):
552         (GenerateConditionalWarn):
553         (GenerateProperty):
554         (GenerateProperties):
555         (GenerateFunction):
556         (GenerateFunctions):
557         (GenerateCFile):
558         (GenerateEventTargetIface):
559         (Generate):
560         (WriteData):
561         * bindings/scripts/test/GObject/WebKitDOMFloat64Array.cpp:
562         (WebKit):
563         (WebKit::kit):
564         (WebKit::wrapFloat64Array):
565         (webkit_dom_float64array_finalize):
566         (webkit_dom_float64array_foo):
567         * bindings/scripts/test/GObject/WebKitDOMFloat64ArrayPrivate.h:
568         * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.cpp:
569         (WebKit):
570         (WebKit::kit):
571         (WebKit::wrapTestActiveDOMObject):
572         (webkit_dom_test_active_dom_object_finalize):
573         (webkit_dom_test_active_dom_object_exciting_function):
574         (webkit_dom_test_active_dom_object_post_message):
575         (webkit_dom_test_active_dom_object_get_exciting_attr):
576         * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObjectPrivate.h:
577         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
578         (WebKit):
579         (WebKit::kit):
580         (WebKit::core):
581         (WebKit::wrapTestCallback):
582         (webkit_dom_test_callback_finalize):
583         (webkit_dom_test_callback_callback_with_no_param):
584         (webkit_dom_test_callback_callback_with_class1param):
585         (webkit_dom_test_callback_callback_with_class2param):
586         (webkit_dom_test_callback_callback_with_non_bool_return_type):
587         (webkit_dom_test_callback_callback_with_string_list):
588         * bindings/scripts/test/GObject/WebKitDOMTestCallbackPrivate.h:
589         * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.cpp:
590         (WebKit):
591         (WebKit::kit):
592         (WebKit::wrapTestCustomNamedGetter):
593         (webkit_dom_test_custom_named_getter_finalize):
594         (webkit_dom_test_custom_named_getter_another_function):
595         * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetterPrivate.h:
596         * bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.cpp:
597         (WebKit):
598         (WebKit::kit):
599         (WebKit::wrapTestEventConstructor):
600         (webkit_dom_test_event_constructor_finalize):
601         (webkit_dom_test_event_constructor_get_attr1):
602         (webkit_dom_test_event_constructor_get_attr2):
603         * bindings/scripts/test/GObject/WebKitDOMTestEventConstructorPrivate.h:
604         * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.cpp:
605         (WebKit):
606         (WebKit::core):
607         (WebKit::wrapTestEventTarget):
608         (webkit_dom_test_event_target_finalize):
609         (webkit_dom_test_event_target_item):
610         (webkit_dom_test_event_target_dispatch_event):
611         * bindings/scripts/test/GObject/WebKitDOMTestEventTargetPrivate.h:
612         * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
613         (WebKit):
614         (WebKit::kit):
615         (WebKit::core):
616         (WebKit::wrapTestInterface):
617         (webkit_dom_test_interface_finalize):
618         (webkit_dom_test_interface_supplemental_method1):
619         (webkit_dom_test_interface_supplemental_method2):
620         (webkit_dom_test_interface_supplemental_method4):
621         (webkit_dom_test_interface_get_supplemental_str1):
622         (webkit_dom_test_interface_get_supplemental_str2):
623         (webkit_dom_test_interface_set_supplemental_str2):
624         (webkit_dom_test_interface_get_supplemental_node):
625         (webkit_dom_test_interface_set_supplemental_node):
626         * bindings/scripts/test/GObject/WebKitDOMTestInterfacePrivate.h:
627         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
628         (WebKit):
629         (WebKit::kit):
630         (WebKit::wrapTestMediaQueryListListener):
631         (webkit_dom_test_media_query_list_listener_finalize):
632         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListenerPrivate.h:
633         * bindings/scripts/test/GObject/WebKitDOMTestNamedConstructor.cpp:
634         (WebKit):
635         (WebKit::kit):
636         (WebKit::wrapTestNamedConstructor):
637         (webkit_dom_test_named_constructor_finalize):
638         * bindings/scripts/test/GObject/WebKitDOMTestNamedConstructorPrivate.h:
639         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
640         (WebKit):
641         (WebKit::kit):
642         (WebKit::core):
643         (WebKit::wrapTestObj):
644         (webkit_dom_test_obj_finalize):
645         (webkit_dom_test_obj_set_property):
646         (webkit_dom_test_obj_get_property):
647         (webkit_dom_test_obj_constructed):
648         (webkit_dom_test_obj_class_init):
649         (webkit_dom_test_obj_init):
650         (webkit_dom_test_obj_void_method):
651         (webkit_dom_test_obj_void_method_with_args):
652         (webkit_dom_test_obj_int_method):
653         (webkit_dom_test_obj_int_method_with_args):
654         (webkit_dom_test_obj_obj_method):
655         (webkit_dom_test_obj_obj_method_with_args):
656         (webkit_dom_test_obj_method_with_sequence_arg):
657         (webkit_dom_test_obj_method_that_requires_all_args_and_throws):
658         (webkit_dom_test_obj_serialized_value):
659         (webkit_dom_test_obj_idb_key):
660         (webkit_dom_test_obj_options_object):
661         (webkit_dom_test_obj_method_with_exception):
662         (webkit_dom_test_obj_with_script_state_void):
663         (webkit_dom_test_obj_with_script_state_obj):
664         (webkit_dom_test_obj_with_script_state_void_exception):
665         (webkit_dom_test_obj_with_script_state_obj_exception):
666         (webkit_dom_test_obj_with_script_execution_context):
667         (webkit_dom_test_obj_with_script_execution_context_and_script_state):
668         (webkit_dom_test_obj_with_script_execution_context_and_script_state_obj_exception):
669         (webkit_dom_test_obj_with_script_execution_context_and_script_state_with_spaces):
670         (webkit_dom_test_obj_method_with_optional_arg):
671         (webkit_dom_test_obj_method_with_non_optional_arg_and_optional_arg):
672         (webkit_dom_test_obj_method_with_non_optional_arg_and_two_optional_args):
673         (webkit_dom_test_obj_method_with_optional_string):
674         (webkit_dom_test_obj_method_with_optional_string_is_undefined):
675         (webkit_dom_test_obj_method_with_optional_string_is_null_string):
676         (webkit_dom_test_obj_conditional_method1):
677         (webkit_dom_test_obj_conditional_method2):
678         (webkit_dom_test_obj_conditional_method3):
679         (webkit_dom_test_obj_class_method):
680         (webkit_dom_test_obj_class_method_with_optional):
681         (webkit_dom_test_obj_overloaded_method1):
682         (webkit_dom_test_obj_convert1):
683         (webkit_dom_test_obj_convert2):
684         (webkit_dom_test_obj_convert3):
685         (webkit_dom_test_obj_convert4):
686         (webkit_dom_test_obj_convert5):
687         (webkit_dom_test_obj_mutable_point_function):
688         (webkit_dom_test_obj_immutable_point_function):
689         (webkit_dom_test_obj_orange):
690         (webkit_dom_test_obj_strict_function):
691         (webkit_dom_test_obj_get_read_only_int_attr):
692         (webkit_dom_test_obj_get_read_only_string_attr):
693         (webkit_dom_test_obj_get_read_only_test_obj_attr):
694         (webkit_dom_test_obj_get_short_attr):
695         (webkit_dom_test_obj_set_short_attr):
696         (webkit_dom_test_obj_get_unsigned_short_attr):
697         (webkit_dom_test_obj_set_unsigned_short_attr):
698         (webkit_dom_test_obj_get_int_attr):
699         (webkit_dom_test_obj_set_int_attr):
700         (webkit_dom_test_obj_get_long_long_attr):
701         (webkit_dom_test_obj_set_long_long_attr):
702         (webkit_dom_test_obj_get_unsigned_long_long_attr):
703         (webkit_dom_test_obj_set_unsigned_long_long_attr):
704         (webkit_dom_test_obj_get_string_attr):
705         (webkit_dom_test_obj_set_string_attr):
706         (webkit_dom_test_obj_get_test_obj_attr):
707         (webkit_dom_test_obj_set_test_obj_attr):
708         (webkit_dom_test_obj_get_xml_obj_attr):
709         (webkit_dom_test_obj_set_xml_obj_attr):
710         (webkit_dom_test_obj_get_create):
711         (webkit_dom_test_obj_set_create):
712         (webkit_dom_test_obj_get_reflected_string_attr):
713         (webkit_dom_test_obj_set_reflected_string_attr):
714         (webkit_dom_test_obj_get_reflected_integral_attr):
715         (webkit_dom_test_obj_set_reflected_integral_attr):
716         (webkit_dom_test_obj_get_reflected_unsigned_integral_attr):
717         (webkit_dom_test_obj_set_reflected_unsigned_integral_attr):
718         (webkit_dom_test_obj_get_reflected_boolean_attr):
719         (webkit_dom_test_obj_set_reflected_boolean_attr):
720         (webkit_dom_test_obj_get_reflected_url_attr):
721         (webkit_dom_test_obj_set_reflected_url_attr):
722         (webkit_dom_test_obj_get_reflected_custom_integral_attr):
723         (webkit_dom_test_obj_set_reflected_custom_integral_attr):
724         (webkit_dom_test_obj_get_reflected_custom_boolean_attr):
725         (webkit_dom_test_obj_set_reflected_custom_boolean_attr):
726         (webkit_dom_test_obj_get_reflected_custom_url_attr):
727         (webkit_dom_test_obj_set_reflected_custom_url_attr):
728         (webkit_dom_test_obj_get_attr_with_getter_exception):
729         (webkit_dom_test_obj_set_attr_with_getter_exception):
730         (webkit_dom_test_obj_get_attr_with_setter_exception):
731         (webkit_dom_test_obj_set_attr_with_setter_exception):
732         (webkit_dom_test_obj_get_string_attr_with_getter_exception):
733         (webkit_dom_test_obj_set_string_attr_with_getter_exception):
734         (webkit_dom_test_obj_get_string_attr_with_setter_exception):
735         (webkit_dom_test_obj_set_string_attr_with_setter_exception):
736         (webkit_dom_test_obj_get_with_script_state_attribute):
737         (webkit_dom_test_obj_set_with_script_state_attribute):
738         (webkit_dom_test_obj_get_with_script_execution_context_attribute):
739         (webkit_dom_test_obj_set_with_script_execution_context_attribute):
740         (webkit_dom_test_obj_get_with_script_state_attribute_raises):
741         (webkit_dom_test_obj_set_with_script_state_attribute_raises):
742         (webkit_dom_test_obj_get_with_script_execution_context_attribute_raises):
743         (webkit_dom_test_obj_set_with_script_execution_context_attribute_raises):
744         (webkit_dom_test_obj_get_with_script_execution_context_and_script_state_attribute):
745         (webkit_dom_test_obj_set_with_script_execution_context_and_script_state_attribute):
746         (webkit_dom_test_obj_get_with_script_execution_context_and_script_state_attribute_raises):
747         (webkit_dom_test_obj_set_with_script_execution_context_and_script_state_attribute_raises):
748         (webkit_dom_test_obj_get_with_script_execution_context_and_script_state_with_spaces_attribute):
749         (webkit_dom_test_obj_set_with_script_execution_context_and_script_state_with_spaces_attribute):
750         (webkit_dom_test_obj_get_conditional_attr1):
751         (webkit_dom_test_obj_set_conditional_attr1):
752         (webkit_dom_test_obj_get_conditional_attr2):
753         (webkit_dom_test_obj_set_conditional_attr2):
754         (webkit_dom_test_obj_get_conditional_attr3):
755         (webkit_dom_test_obj_set_conditional_attr3):
756         (webkit_dom_test_obj_get_content_document):
757         (webkit_dom_test_obj_get_mutable_point):
758         (webkit_dom_test_obj_set_mutable_point):
759         (webkit_dom_test_obj_get_immutable_point):
760         (webkit_dom_test_obj_set_immutable_point):
761         (webkit_dom_test_obj_get_strict_float):
762         (webkit_dom_test_obj_set_strict_float):
763         (webkit_dom_test_obj_get_description):
764         (webkit_dom_test_obj_get_id):
765         (webkit_dom_test_obj_set_id):
766         (webkit_dom_test_obj_get_hash):
767         * bindings/scripts/test/GObject/WebKitDOMTestObjPrivate.h:
768         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
769         (WebKit):
770         (WebKit::kit):
771         (WebKit::core):
772         (WebKit::wrapTestSerializedScriptValueInterface):
773         (webkit_dom_test_serialized_script_value_interface_finalize):
774         (webkit_dom_test_serialized_script_value_interface_accept_transfer_list):
775         (webkit_dom_test_serialized_script_value_interface_multi_transfer_list):
776         (webkit_dom_test_serialized_script_value_interface_get_value):
777         (webkit_dom_test_serialized_script_value_interface_set_value):
778         (webkit_dom_test_serialized_script_value_interface_get_readonly_value):
779         (webkit_dom_test_serialized_script_value_interface_get_cached_value):
780         (webkit_dom_test_serialized_script_value_interface_set_cached_value):
781         (webkit_dom_test_serialized_script_value_interface_get_cached_readonly_value):
782         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterfacePrivate.h:
783
784 2012-03-23  Dana Jansens  <danakj@chromium.org>
785
786         [chromium] Record painted pixel counts for measuring effectiveness of per-tile painting
787         https://bugs.webkit.org/show_bug.cgi?id=82057
788
789         Reviewed by Adrienne Walker.
790
791         Adds painted pixel metrics to CCOverdrawMetrics class, and calls in
792         to report painted areas when updating tiles in the TiledLayerChromium
793         class.
794
795         Unit test: TiledLayerChromiumTest.opaqueContentsRegion
796                    TiledLayerChromiumTest.pixelsPaintedMetrics
797
798         * platform/graphics/chromium/TiledLayerChromium.cpp:
799         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
800         * platform/graphics/chromium/cc/CCOverdrawMetrics.cpp:
801         (WebCore::CCOverdrawMetrics::CCOverdrawMetrics):
802         (WebCore::CCOverdrawMetrics::didPaint):
803         (WebCore):
804         (WebCore::CCOverdrawMetrics::recordMetricsInternal):
805         * platform/graphics/chromium/cc/CCOverdrawMetrics.h:
806         (CCOverdrawMetrics):
807         (WebCore::CCOverdrawMetrics::pixelsPainted):
808
809 2012-03-23  Abhishek Arya  <inferno@chromium.org>
810
811         Crash in RenderBlock::splitBlocks.
812         https://bugs.webkit.org/show_bug.cgi?id=81926
813
814         Reviewed by Julien Chaffraix.
815
816         We are updating the :after content before calling splitFlow. The :after content
817         gets blown away since it will go to the continuation. beforeChild was earlier
818         set to the first child. Being the last anonymous block, its children gets pulled
819         up in collapseAnonymousBoxChild and it gets destroyed. So, we need to update
820         beforeChild value. 
821
822         Test: fast/multicol/span/update-after-content-before-child-crash.html
823
824         * rendering/RenderBlock.cpp:
825         (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
826
827 2012-03-23  Dana Jansens  <danakj@chromium.org>
828
829         [chromium] Improved composited debug borders
830         https://bugs.webkit.org/show_bug.cgi?id=82071
831
832         Reviewed by Adrienne Walker.
833
834         Fix the problem with missing debug borders. Since we append quads
835         to the list front to back now, we draw the quads in the list from
836         back to front of the list. Which means if the debug quad is added
837         after the layer it is drawing around, the layer can draw over top
838         of its debug quad. Reverse the ordering when appending to fix it.
839
840         Make the border red around tiles that are checkerboarded. Missing
841         tiles in non-root layers are drawn clear, so this makes them more
842         visible.
843
844         Put a blue border around each render surface, and a purple border
845         on their replicas.
846
847         No new tests.
848
849         * platform/graphics/chromium/cc/CCRenderPass.cpp:
850         (WebCore):
851         (WebCore::CCRenderPass::appendQuadsForLayer):
852         (WebCore::CCRenderPass::appendQuadsForRenderSurfaceLayer):
853         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
854         (WebCore::CCRenderSurface::hasReplica):
855         (WebCore):
856         (WebCore::CCRenderSurface::createReplicaSharedQuadState):
857         * platform/graphics/chromium/cc/CCRenderSurface.h:
858         (CCRenderSurface):
859         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
860         (WebCore):
861         (WebCore::CCTiledLayerImpl::appendQuads):
862
863 2012-03-23  Simon Fraser  <simon.fraser@apple.com>
864
865         Move code that calls setAcceleratesDrawing() on GraphicsLayers into RenderLayerBacking
866         https://bugs.webkit.org/show_bug.cgi?id=82092
867
868         Reviewed by Dean Jackson.
869
870         A RenderLayerBacking manages several GraphicsLayers, but RenderLayerCompositor
871         was only calling setAcceleratesDrawing() on the one it knows about. Fix by moving
872         this setting code down into RenderLayerBacking.
873         
874         RenderLayerCompositor now caches the setAcceleratesDrawing setting, as it does
875         for other compositing-related settings, so that RenderLayerBacking doesn't have
876         to grovel for Settings every time.
877
878         * rendering/RenderLayerBacking.cpp:
879         (WebCore::RenderLayerBacking::createGraphicsLayer):
880         (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
881         * rendering/RenderLayerCompositor.cpp:
882         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
883         (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags):
884         (WebCore::RenderLayerCompositor::updateBacking):
885         * rendering/RenderLayerCompositor.h:
886         (WebCore::RenderLayerCompositor::acceleratedDrawingEnabled):
887         (RenderLayerCompositor):
888
889 2012-03-23  Beth Dakin  <bdakin@apple.com>
890
891         https://bugs.webkit.org/show_bug.cgi?id=82083
892
893         Rubber-stamped by Simon Fraser.
894
895         This patch is just a name change. getExistingScrollAnimator() (which was 
896         added earlier today) is now existingScrollAnimator().
897         * loader/FrameLoader.cpp:
898         (WebCore::FrameLoader::transitionToCommitted):
899         * page/EventHandler.cpp:
900         (WebCore::EventHandler::handleGestureTapDown):
901         * page/FrameView.cpp:
902         (WebCore::FrameView::setAnimatorsAreActive):
903         * platform/ScrollView.cpp:
904         (WebCore::ScrollView::updateScrollbars):
905         * platform/ScrollableArea.cpp:
906         (WebCore::ScrollableArea::willStartLiveResize):
907         (WebCore::ScrollableArea::willEndLiveResize):
908         (WebCore::ScrollableArea::contentAreaWillPaint):
909         (WebCore::ScrollableArea::mouseEnteredContentArea):
910         (WebCore::ScrollableArea::mouseExitedContentArea):
911         (WebCore::ScrollableArea::mouseMovedInContentArea):
912         (WebCore::ScrollableArea::contentAreaDidShow):
913         (WebCore::ScrollableArea::contentAreaDidHide):
914         (WebCore::ScrollableArea::contentsResized):
915         (WebCore::ScrollableArea::serviceScrollAnimations):
916         * platform/ScrollableArea.h:
917         (WebCore::ScrollableArea::existingScrollAnimator):
918
919 2012-03-23  Abhishek Arya  <inferno@chromium.org>
920
921         Crash due to accessing removed parent lineboxes when clearing selection.
922         https://bugs.webkit.org/show_bug.cgi?id=81359
923
924         Reviewed by Eric Seidel.
925
926         Similar to r110323, adds the canUpdateSelectionOnRootLineBoxes
927         check to more places.
928
929         Test: editing/selection/clear-selection-crash.html
930
931         * rendering/RenderObject.cpp:
932         (WebCore::RenderObject::canUpdateSelectionOnRootLineBoxes):
933         * rendering/RenderSelectionInfo.h:
934         (WebCore::RenderSelectionInfo::RenderSelectionInfo):
935         (WebCore::RenderBlockSelectionInfo::RenderBlockSelectionInfo):
936
937 2012-03-23  Beth Dakin  <bdakin@apple.com>
938
939         https://bugs.webkit.org/show_bug.cgi?id=82083
940         Too many ScrollAnimators are allocated on pages with frames
941
942         Reviewed by Geoffrey Garen.
943
944         This patch adds a new getter to ScrollableArea called 
945         getExistingScrollAnimator() unlike scrollAnimator() this new function will 
946         just return null if there is not already a ScrollAnimator. Callers should use 
947         this new function when they have business with ScrollAnimator that does not 
948         need to do anything when there are no scrollbars.
949         * loader/FrameLoader.cpp:
950         (WebCore::FrameLoader::transitionToCommitted):
951         * page/EventHandler.cpp:
952         (WebCore::EventHandler::handleGestureTapDown):
953         * page/FrameView.cpp:
954         (WebCore::FrameView::setAnimatorsAreActive):
955         * platform/ScrollView.cpp:
956         (WebCore::ScrollView::updateScrollbars):
957         * platform/ScrollableArea.cpp:
958         (WebCore::ScrollableArea::willStartLiveResize):
959         (WebCore::ScrollableArea::willEndLiveResize):
960         (WebCore::ScrollableArea::contentAreaWillPaint):
961         (WebCore::ScrollableArea::mouseEnteredContentArea):
962         (WebCore::ScrollableArea::mouseExitedContentArea):
963         (WebCore::ScrollableArea::mouseMovedInContentArea):
964         (WebCore::ScrollableArea::contentAreaDidShow):
965         (WebCore::ScrollableArea::contentAreaDidHide):
966         (WebCore::ScrollableArea::willRemoveHorizontalScrollbar):
967         (WebCore::ScrollableArea::contentsResized):
968         (WebCore::ScrollableArea::serviceScrollAnimations):
969         * platform/ScrollableArea.h:
970         (ScrollableArea):
971         (WebCore::ScrollableArea::getExistingScrollAnimator):
972
973 2012-03-23  Eric Carlson  <eric.carlson@apple.com>
974
975         Deal with DOM modifications when evaluating source elements.
976         https://bugs.webkit.org/show_bug.cgi?id=81163
977
978         Reviewed by Alexey Proskuryakov.
979
980         Test: media/video-beforeload-remove-source.html
981
982         * dom/ContainerNode.cpp: Make NodeVector and collectNodes public, renamed as getChildNodes.
983         (WebCore::ContainerNode::takeAllChildrenFrom): collectNodes -> getChildNodes.
984         (WebCore::ContainerNode::willRemove): collectNodes -> getChildNodes.
985         (WebCore::ContainerNode::willRemoveChildren): collectNodes -> getChildNodes.
986         (WebCore::ContainerNode::insertedIntoDocument): collectNodes -> getChildNodes.
987         (WebCore::ContainerNode::removedFromDocument): collectNodes -> getChildNodes.
988         * dom/ContainerNode.h:
989         (WebCore::getChildNodes):
990
991         * editing/ReplaceSelectionCommand.cpp: Remove unused NodeVector declaration.
992
993         * html/HTMLMediaElement.cpp:
994         (WebCore::HTMLMediaElement::HTMLMediaElement): m_nextChildNodeToConsider and m_currentSourceNode
995             are now RefPtrs.
996         (WebCore::HTMLMediaElement::loadTimerFired): Protect HTMLMediaElement from being deleted during
997             a DOM modification during an event callback.
998         (WebCore::HTMLMediaElement::load): Ditto.
999         (WebCore::HTMLMediaElement::selectMediaResource): Set m_nextChildNodeToConsider to the first
1000             child node, it will be the first node considered.
1001         (WebCore::HTMLMediaElement::havePotentialSourceChild): m_nextChildNodeToConsider and m_currentSourceNode
1002             are now RefPtrs.
1003         (WebCore::HTMLMediaElement::selectNextSourceChild): Collect all child nodes in a vector before
1004             looking for <source> nodes because 'beforeload' event handlers can mutate the DOM. Don't
1005             use a <source> that is no longer a child node after 'beforeload'. Use 0 to represent the end
1006             of the child node list because m_nextChildNodeToConsider is now a RefPtr so using the previous 
1007             sentinel, "this", would cause a retain cycle.
1008         (WebCore::HTMLMediaElement::sourceWasAdded):  m_nextChildNodeToConsider and m_currentSourceNode
1009             are now RefPtrs.
1010         (WebCore::HTMLMediaElement::sourceWillBeRemoved): Ditto.
1011         (WebCore::HTMLMediaElement::getPluginProxyParams): Protect HTMLMediaElement from being deleted during
1012             a DOM modification during an event callback.
1013         * html/HTMLMediaElement.h:
1014
1015 2012-03-23  Dean Jackson  <dino@apple.com>
1016
1017         Disable CSS_SHADERS in Apple builds
1018         https://bugs.webkit.org/show_bug.cgi?id=81996
1019
1020         Reviewed by Simon Fraser.
1021
1022         Remove ENABLE_CSS_SHADERS from FeatureDefines. It's now in Platform.h.
1023
1024         * Configurations/FeatureDefines.xcconfig:
1025
1026 2012-03-23  Dave Michael  <dmichael@chromium.org>
1027
1028         Relanding(r111754): HTMLPluginElement is not destroyed on reload or navigation if getNPObject is called
1029         https://bugs.webkit.org/show_bug.cgi?id=80428
1030
1031         Reviewed by Eric Seidel and Ryosuke Niwa.
1032
1033         Make HTMLPluginElement release its m_NPObject in detach() to break a
1034         reference-counting cycle that happens on reload or navigation. With this
1035         change, HTMLPlugInElement::removedFromDocument is unnecessary, so it
1036         was removed. Note that Releasing m_NPObject does not result in a call to
1037         the plugin; it simply releases a reference count on the wrapper object
1038         for this HTMLPlugInElement. (The plugin's NPP_Deallocate is invoked
1039         when the render tree is destroyed, when PluginView calls
1040         PluginPackage::unload.) Thus, it is safe to release m_NPObject in
1041         detach, because it can not result in layout or style changes.
1042
1043         Also added numberOfLiveNodes() and numberOfLiveDocuments() to
1044         window.internals to enable testing.
1045
1046         Test: plugins/netscape-dom-access-and-reload.html
1047
1048         * WebCore.exp.in:
1049         * html/HTMLPlugInElement.cpp:
1050         (WebCore::HTMLPlugInElement::detach):
1051         * html/HTMLPlugInElement.h:
1052         (HTMLPlugInElement):
1053         * testing/Internals.cpp:
1054         (WebCore):
1055         (WebCore::Internals::numberOfLiveNodes):
1056         (WebCore::Internals::numberOfLiveDocuments):
1057         * testing/Internals.h:
1058         (Internals):
1059         * testing/Internals.idl:
1060
1061 2012-03-23  Ryosuke Niwa  <rniwa@webkit.org>
1062
1063         CSSParser doesn't set border-*-width/style/color to initial by border shorthand property
1064         https://bugs.webkit.org/show_bug.cgi?id=82040
1065
1066         Reviewed by Antti Koivisto.
1067
1068         The border shorthand property sets values for border-width, border-style, and border-color shorthand properties.
1069         While CSSParser::parseValue can process these shorthand properties properly and set the longhand properties
1070         such as border-top-width, border-right-width, ... border-left-color, CSSParser::addProperty can't and the
1071         initialization in parseShorthand fails for the border property.
1072
1073         Fixed the bug by explicitly initializing longhand properties.
1074
1075         Changing the behavior here is unlikely to break the Web since our behavior already differs from that of Firefox
1076         and Internet Explorer. Both of those browsers return the actual initial values such as "medium" and "currentColor".
1077         This discrepancy is tracked by https://bugs.webkit.org/show_bug.cgi?id=82078.
1078
1079         Test: fast/css/border-shorthand-initialize-longhands.html
1080
1081         * css/CSSParser.cpp:
1082         (WebCore::CSSParser::parseValue): Uses borderAbridgedLonghand.
1083         (WebCore::CSSParser::parseShorthand): Uses longhand properties for initialization if one is available.
1084         This allows us to initialize multiple properties (e.g. border-*-color) for a single property missing in the set.
1085         * css/CSSPropertyLonghand.cpp:
1086         (WebCore::borderAbridgedLonghand): Added. The longhand here (border-width, border-style, border-color) is
1087         "abridged" in the sense that they're still shorthands.
1088         * css/CSSPropertyLonghand.h:
1089         (WebCore::CSSPropertyLonghand::CSSPropertyLonghand):
1090         (CSSPropertyLonghand): Added the version that takes longhand instances for initialization purposes.
1091         (WebCore::CSSPropertyLonghand::longhandsForInitialization):
1092
1093 2012-03-23  Tony Chang  <tony@chromium.org>
1094
1095         [chromium] rename newwtf target back to wtf
1096         https://bugs.webkit.org/show_bug.cgi?id=82064
1097
1098         Reviewed by Adam Barth.
1099
1100         No new tests, only renaming a build target.
1101
1102         * WebCore.gyp/WebCore.gyp:
1103
1104 2012-03-23  Adrienne Walker  <enne@google.com>
1105
1106         [chromium] Turn off painting of scrollbars on compositor thread for unsupported platforms
1107         https://bugs.webkit.org/show_bug.cgi?id=82066
1108
1109         Reviewed by James Robinson.
1110
1111         With threaded compositing, OSX will crash and Windows will have black
1112         scrollbars. Fix that by reverting to the previosu behavior of updating
1113         scrollbars on the main thread instead.
1114
1115         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
1116         (WebCore::scrollbarLayerDidChange):
1117
1118 2012-03-23  Dan Bernstein  <mitz@apple.com>
1119
1120         <rdar://problem/7883987> ASSERTION FAILED: ASSERT(input == AnimationStateInputEndTimerFired || input == AnimationStateInputPlayStatePaused) in AnimationBase::updateStateMachine causing multiple "crashes" on Lion Intel Debug WebKit testers
1121         https://bugs.webkit.org/show_bug.cgi?id=81351
1122
1123         Rubber-stamped by Jessie Berlin.
1124
1125         * page/animation/AnimationBase.cpp:
1126         (WebCore::AnimationBase::updateStateMachine): Replaced the assertion with a LOG_ERROR so that
1127         the issue is still noticeable, but it does not automatically make the debug bots red.
1128
1129 2012-03-23  Mike Lawther  <mikelawther@chromium.org>
1130
1131         CSS3 calc: image sizing works with mixed percentage/absolute
1132         https://bugs.webkit.org/show_bug.cgi?id=82017
1133
1134         Reviewed by Ojan Vafai.
1135
1136         Test: css3/calc/img-size-expected.html
1137
1138         * rendering/RenderBox.cpp:
1139         (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
1140         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
1141
1142 2012-03-23  Julien Chaffraix  <jchaffraix@webkit.org>
1143
1144         REGRESSION(107971): Google Voice contact list is broken in WebKit due to badly allocating the extra height
1145         https://bugs.webkit.org/show_bug.cgi?id=81826
1146
1147         Reviewed by Tony Chang.
1148
1149         Covered by tables/mozilla/bugs/bug27038-{1|2}.html.
1150
1151         This partly reverts r107971: the extra logical height distribution change was not needed
1152         to fix the bug (it is needed by the test though). We revert to giving all the extra height
1153         to the first tbody and not the first section.
1154
1155         This is broken but unfortunately some websites are relying on that. Getting a real
1156         distribution algorithm is covered by bug 81824. However this is super tricky to get
1157         right and I did not want to add more compatibility risks until I have something solid.
1158
1159         * rendering/RenderTable.cpp:
1160         (WebCore::RenderTable::distributeExtraLogicalHeight):
1161
1162 2012-03-23  Xingnan Wang  <xingnan.wang@intel.com>
1163
1164         Optimize for IPP in DirectConvolver::process()
1165         https://bugs.webkit.org/show_bug.cgi?id=80255
1166
1167         Reviewed by Chris Rogers.
1168
1169         Increase ~2X performance by conv() in IPP.
1170
1171         * platform/audio/DirectConvolver.cpp:
1172         (WebCore::DirectConvolver::DirectConvolver):
1173         (WebCore::DirectConvolver::process):
1174         * platform/audio/DirectConvolver.h:
1175         (DirectConvolver):
1176
1177 2012-03-23  Tommy Widenflycht  <tommyw@google.com>
1178
1179         MediaStream API (JSEP): Introducing PeerConnection00 and IceCallback
1180         https://bugs.webkit.org/show_bug.cgi?id=81657
1181
1182         Reviewed by Adam Barth.
1183
1184         Last major WebCore patch for the JSEP PeerConnection, together with the associated
1185         IceCallback (they both depend on each other and IceCallback has very few lines of real code).
1186
1187         My next patch after this one will do a major overhaul of the existing layout tests
1188         and add a few new ones.
1189
1190         * GNUmakefile.list.am:
1191         * Modules/mediastream/DOMWindowMediaStream.idl:
1192         * Modules/mediastream/IceCallback.h: Added.
1193         (WebCore):
1194         (IceCallback):
1195         (WebCore::IceCallback::~IceCallback):
1196         * Modules/mediastream/IceCallback.idl: Added.
1197         * Modules/mediastream/PeerConnection00.cpp: Added.
1198         (WebCore):
1199         (WebCore::PeerConnection00::create):
1200         (WebCore::PeerConnection00::PeerConnection00):
1201         (WebCore::PeerConnection00::~PeerConnection00):
1202         (WebCore::PeerConnection00::hasLocalAudioTrack):
1203         (WebCore::PeerConnection00::hasLocalVideoTrack):
1204         (WebCore::PeerConnection00::parseMediaHints):
1205         (WebCore::PeerConnection00::createOffer):
1206         (WebCore::PeerConnection00::createAnswer):
1207         (WebCore::PeerConnection00::setLocalDescription):
1208         (WebCore::PeerConnection00::setRemoteDescription):
1209         (WebCore::PeerConnection00::localDescription):
1210         (WebCore::PeerConnection00::remoteDescription):
1211         (WebCore::PeerConnection00::startIce):
1212         (WebCore::PeerConnection00::processIceMessage):
1213         (WebCore::PeerConnection00::readyState):
1214         (WebCore::PeerConnection00::iceState):
1215         (WebCore::PeerConnection00::addStream):
1216         (WebCore::PeerConnection00::removeStream):
1217         (WebCore::PeerConnection00::localStreams):
1218         (WebCore::PeerConnection00::remoteStreams):
1219         (WebCore::PeerConnection00::close):
1220         (WebCore::PeerConnection00::didGenerateIceCandidate):
1221         (WebCore::PeerConnection00::didChangeReadyState):
1222         (WebCore::PeerConnection00::didChangeIceState):
1223         (WebCore::PeerConnection00::didAddRemoteStream):
1224         (WebCore::PeerConnection00::didRemoveRemoteStream):
1225         (WebCore::PeerConnection00::interfaceName):
1226         (WebCore::PeerConnection00::scriptExecutionContext):
1227         (WebCore::PeerConnection00::stop):
1228         (WebCore::PeerConnection00::eventTargetData):
1229         (WebCore::PeerConnection00::ensureEventTargetData):
1230         (WebCore::PeerConnection00::changeReadyState):
1231         (WebCore::PeerConnection00::changeIceState):
1232         * Modules/mediastream/PeerConnection00.h: Added.
1233         (WebCore):
1234         (PeerConnection00):
1235         (WebCore::PeerConnection00::refEventTarget):
1236         (WebCore::PeerConnection00::derefEventTarget):
1237         * Modules/mediastream/PeerConnection00.idl: Added.
1238         * WebCore.gypi:
1239         * bindings/generic/RuntimeEnabledFeatures.h:
1240         (WebCore::RuntimeEnabledFeatures::webkitPeerConnection00Enabled):
1241         * bindings/js/JSPeerConnection00Custom.cpp: Added.
1242         (WebCore):
1243         (WebCore::JSPeerConnection00Constructor::constructJSPeerConnection00):
1244         * dom/EventTargetFactory.in:
1245
1246 2012-03-23  Adrienne Walker  <enne@google.com>
1247
1248         [chromium] Fix scrollbarLayerLostContext flaky test crash on 10.6
1249         https://bugs.webkit.org/show_bug.cgi?id=82062
1250
1251         Reviewed by James Robinson.
1252
1253         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
1254         (CCScrollbarLayerImpl):
1255
1256 2012-03-23  Tommy Widenflycht  <tommyw@google.com>
1257
1258         [chromium] MediaStream API (JSEP): Extending WebMediaStreamCenter
1259         https://bugs.webkit.org/show_bug.cgi?id=81924
1260
1261         Reviewed by Adam Barth.
1262
1263         Nothing to test, just moving methods.
1264
1265         * platform/mediastream/MediaStreamCenter.cpp:
1266         (WebCore::MediaStreamCenter::constructSDP):
1267         (WebCore):
1268
1269 2012-03-23  Sami Kyostila  <skyostil@chromium.org>
1270
1271         Reuse buffer allocation if canvas size does not change
1272         https://bugs.webkit.org/show_bug.cgi?id=80871
1273
1274         Reviewed by Stephen White.
1275
1276         If the user changes the width or height attributes of a canvas element,
1277         the contents of the canvas should be cleared and the context state
1278         should be reset. This has become a common idiom to clear the canvas
1279         "efficiently" at the start of a frame.
1280
1281         Previously, this code path triggered a full reallocation of the image
1282         buffer backing the canvas, leading to reduced performance. This patch
1283         implements an optimization where we reuse the previous image buffer
1284         allocation if the size of the canvas did not change. Also, instead of
1285         clearing the canvas every time its dimensions are touched, we only clear
1286         if anything has been drawn into the canvas since it was previously
1287         cleared.
1288
1289         Note that for now this optimization only applies for 2D canvases,
1290         since it is not entirely clear how touching the dimensions of a WebGL
1291         canvas should work.
1292
1293         Test: fast/canvas/canvas-resize-after-paint-without-layout.html +
1294               existing layout tests for canvas resetting.
1295
1296         * html/HTMLCanvasElement.cpp:
1297         (WebCore::HTMLCanvasElement::HTMLCanvasElement):
1298         (WebCore::HTMLCanvasElement::reset):
1299         (WebCore::HTMLCanvasElement::createImageBuffer): Save the initial
1300         graphics context state so we can restore it without creating a new
1301         context.
1302         (WebCore::HTMLCanvasElement::clearImageBuffer):
1303         (WebCore):
1304         (WebCore::HTMLCanvasElement::clearCopiedImage):
1305         * html/HTMLCanvasElement.h:
1306         (HTMLCanvasElement):
1307         * html/canvas/CanvasRenderingContext2D.cpp:
1308         (WebCore::CanvasRenderingContext2D::reset): No need to notify the
1309         compositor when the context is reset, because clearing the image buffer
1310         does the same thing. We can also skip the notification if we did not
1311         have an image buffer at the time of the reset, because the reset will
1312         not have any visual impact in this case. Finally, if the canvas size
1313         did change, the notification is also unnecessary because of the call
1314         to RenderObject::repaint() from HTMLCanvasElement::reset().
1315
1316 2012-03-22  Martin Robinson  <mrobinson@igalia.com>
1317
1318         Fix some code generation warnings on GTK+.
1319
1320         Reviewed by Gustavo Noronha Silva.
1321
1322         No new tests. This just fixes warnings.
1323
1324         * GNUmakefile.am: Remove nonexistent directories from the list IDL directories.
1325
1326 2012-03-23  Sheriff Bot  <webkit.review.bot@gmail.com>
1327
1328         Unreviewed, rolling out r111751.
1329         http://trac.webkit.org/changeset/111751
1330         https://bugs.webkit.org/show_bug.cgi?id=82060
1331
1332         caused 15% page cycler regression for chromium-linux
1333         (Requested by eae on #webkit).
1334
1335         * css/CSSStyleSelector.cpp:
1336         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
1337
1338 2012-03-23  Kentaro Hara  <haraken@chromium.org>
1339
1340         Support [ImplementedAs] for attributes
1341         https://bugs.webkit.org/show_bug.cgi?id=81605
1342
1343         Reviewed by Adam Barth.
1344
1345         [ImplementedAs] just supports methods. [ImplementedAs] should support
1346         attributes too.
1347
1348         Explained here: https://trac.webkit.org/wiki/WebKitIDL#ImplementedAs
1349
1350         Test: bindings/scripts/test/TestObj.idl
1351
1352         * bindings/scripts/CodeGenerator.pm: Modified to support [ImplementedAs] for attributes.
1353         (AttributeNameForGetterAndSetter):
1354
1355         * bindings/scripts/test/TestObj.idl: Added a test case.
1356
1357         * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated run-bindings-tests results.
1358         (WebDOMTestObj::strawberry):
1359         (WebDOMTestObj::setStrawberry):
1360         * bindings/scripts/test/CPP/WebDOMTestObj.h:
1361         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
1362         (webkit_dom_test_obj_get_strawberry):
1363         (webkit_dom_test_obj_set_strawberry):
1364         (webkit_dom_test_obj_get_property):
1365         (webkit_dom_test_obj_class_init):
1366         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
1367         * bindings/scripts/test/JS/JSTestObj.cpp:
1368         (WebCore):
1369         (WebCore::jsTestObjStrawberry):
1370         (WebCore::setJSTestObjStrawberry):
1371         * bindings/scripts/test/JS/JSTestObj.h:
1372         (WebCore):
1373         * bindings/scripts/test/ObjC/DOMTestObj.h:
1374         * bindings/scripts/test/ObjC/DOMTestObj.mm:
1375         (-[DOMTestObj strawberry]):
1376         (-[DOMTestObj setStrawberry:]):
1377         * bindings/scripts/test/V8/V8TestObj.cpp:
1378         (WebCore::TestObjInternal::strawberryAttrGetter):
1379         (TestObjInternal):
1380         (WebCore::TestObjInternal::strawberryAttrSetter):
1381         (WebCore):
1382
1383 2012-03-23  Tommy Widenflycht  <tommyw@google.com>
1384
1385         The JSC code generator doesn't generate correct code for Constructors
1386         https://bugs.webkit.org/show_bug.cgi?id=82046
1387
1388         Reviewed by Kentaro Hara.
1389
1390         The main bulk of generated code for constructors uses the name jsConstructor
1391         for the created object, and then calls GenerateParametersCheck which generates
1392         code that uses the name castedThis.
1393
1394         * bindings/scripts/CodeGeneratorJS.pm:
1395         (GenerateConstructorDefinition):
1396         * bindings/scripts/test/JS/JSTestInterface.cpp:
1397         (WebCore::JSTestInterfaceConstructor::constructJSTestInterface):
1398         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
1399         (WebCore::JSTestNamedConstructorNamedConstructor::constructJSTestNamedConstructor):
1400         * bindings/scripts/test/JS/JSTestObj.cpp:
1401         (WebCore::JSTestObjConstructor::finishCreation):
1402         (WebCore::JSTestObjConstructor::constructJSTestObj):
1403         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
1404         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
1405         * bindings/scripts/test/TestObj.idl:
1406         * bindings/scripts/test/V8/V8TestObj.cpp:
1407         (WebCore::V8TestObj::constructorCallback):
1408
1409 2012-03-23  Tommy Widenflycht  <tommyw@google.com>
1410
1411         The JSC code generator can't handle boolean arguments for Callbacks
1412         https://bugs.webkit.org/show_bug.cgi?id=82045
1413
1414         Reviewed by Kentaro Hara.
1415
1416         CodeGeneratorJS.pm only handles DOMStrings and objects as arguments
1417         for a Callback, so I added support for boolean values as well.
1418
1419         * bindings/scripts/CodeGeneratorJS.pm:
1420         (GenerateCallbackImplementation):
1421         * bindings/scripts/test/CPP/WebDOMTestCallback.cpp:
1422         (WebDOMTestCallback::callbackWithBoolean):
1423         * bindings/scripts/test/CPP/WebDOMTestCallback.h:
1424         (WebDOMTestCallback):
1425         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
1426         (webkit_dom_test_callback_callback_with_boolean):
1427         * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
1428         * bindings/scripts/test/JS/JSTestCallback.cpp:
1429         (WebCore::JSTestCallback::callbackWithBoolean):
1430         (WebCore):
1431         * bindings/scripts/test/JS/JSTestCallback.h:
1432         (JSTestCallback):
1433         * bindings/scripts/test/ObjC/DOMTestCallback.h:
1434         * bindings/scripts/test/ObjC/DOMTestCallback.mm:
1435         (-[DOMTestCallback callbackWithBoolean:]):
1436         * bindings/scripts/test/TestCallback.idl:
1437         * bindings/scripts/test/V8/V8TestCallback.cpp:
1438         (WebCore::V8TestCallback::callbackWithBoolean):
1439         (WebCore):
1440         * bindings/scripts/test/V8/V8TestCallback.h:
1441         (V8TestCallback):
1442
1443 2012-03-23  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
1444
1445         Touch adjustment forgets some subtarget quads.
1446         https://bugs.webkit.org/show_bug.cgi?id=82044
1447
1448         Reviewed by Kenneth Rohde Christiansen.
1449
1450         Do not uncritically skip all nodes that are ancestors to other test results.
1451         Instead return the inner-most element if multiple nodes have the same distance.
1452
1453         Test: touchadjustment/block-testing.html
1454
1455         * page/TouchAdjustment.cpp:
1456         (WebCore::TouchAdjustment::compileSubtargetList):
1457         (WebCore::TouchAdjustment::findNodeWithLowestDistanceMetric):
1458
1459 2012-03-23  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
1460
1461         TouchAdjustment does not correct for frame position
1462         https://bugs.webkit.org/show_bug.cgi?id=82043
1463
1464         Reviewed by Kenneth Rohde Christiansen.
1465
1466         Convert geometry to window coordinates before calculating distance.
1467
1468         Test: touchadjustment/iframe.html
1469
1470         * page/TouchAdjustment.cpp:
1471         (WebCore::TouchAdjustment::distanceSquaredToTargetCenterLine):
1472
1473 2012-03-23  Vlad Voicu  <vladv@rosedu.org>
1474
1475         Fixed minor WebInspector display issue
1476         Clicking on disabled sections in Styles Sidebar Pane creates new elements.
1477         https://bugs.webkit.org/show_bug.cgi?id=81925
1478
1479         Reviewed by Timothy Hatcher
1480
1481         No new tests should be required.
1482
1483         * inspector/front-end/StylesSidebarPane.js:
1484         (WebInspector.StylePropertiesSection.prototype._handleEmptySpaceClick):
1485         (WebInspector.StylePropertyTreeElement.prototype):
1486
1487 2012-03-23  Kentaro Hara  <haraken@chromium.org>
1488
1489         Unreviewed, rebaselined run-bindings-tests results.
1490
1491         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
1492         * bindings/scripts/test/CPP/WebDOMTestObj.h:
1493         * bindings/scripts/test/JS/JSTestObj.cpp:
1494         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
1495         (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
1496         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
1497         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
1498         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
1499         * bindings/scripts/test/V8/V8TestObj.cpp:
1500         (WebCore::TestObjInternal::methodWithCallbackArgCallback):
1501         (WebCore::TestObjInternal::methodWithNonCallbackArgAndCallbackArgCallback):
1502         (WebCore::TestObjInternal::methodWithCallbackAndOptionalArgCallback):
1503         (WebCore::TestObjInternal::overloadedMethod5Callback):
1504         (WebCore::TestObjInternal::overloadedMethodCallback):
1505
1506 2012-03-23  Ryosuke Niwa  <rniwa@webkit.org>
1507
1508         cssText should use StringBuilder
1509         https://bugs.webkit.org/show_bug.cgi?id=82028
1510
1511         Reviewed by Hajime Morita.
1512
1513         Make StylePropertySet::asText more efficient by deploying StringBuilder;
1514         avoids heap churn by String::operator+ and String::operator+=.
1515
1516         * css/StylePropertySet.cpp:
1517         (WebCore::StylePropertySet::asText):
1518
1519 2012-03-23  Ryosuke Niwa  <rniwa@webkit.org>
1520
1521         REGRESSION(r111754): plugins/reloadplugins-and-pages.html fails on all platforms
1522         https://bugs.webkit.org/show_bug.cgi?id=82035
1523
1524         Rollout r111754 since it caused a test to fail and the test added by the patch
1525         is failing on Mac WebKit 2.
1526
1527         * WebCore.exp.in:
1528         * html/HTMLPlugInElement.cpp:
1529         (WebCore::HTMLPlugInElement::detach):
1530         (WebCore):
1531         (WebCore::HTMLPlugInElement::removedFromDocument):
1532         * html/HTMLPlugInElement.h:
1533         (HTMLPlugInElement):
1534         * testing/Internals.cpp:
1535         * testing/Internals.h:
1536         (Internals):
1537         * testing/Internals.idl:
1538
1539 2012-03-23  Adam Barth  <abarth@webkit.org>
1540
1541         Move Notifications APIs from DOMWindow.idl to DOMWindowNotifications.idl (Part 2)
1542         https://bugs.webkit.org/show_bug.cgi?id=82026
1543
1544         Reviewed by Kentaro Hara.
1545
1546         This patch removes DOMWindow::resetNotifications, which was unneeded
1547         special-case logic for clearing the notifications center.  The previous
1548         patch that tried to accomplish the same thing did not override
1549         willDetachPage, which is why it caused crashes.
1550
1551         There's actually a cleaner way to handle these cases, which will let us
1552         implement reconnectFrame, but that will need to wait for the next
1553         patch.
1554
1555         * notifications/DOMWindowNotifications.cpp:
1556         (WebCore::DOMWindowNotifications::DOMWindowNotifications):
1557         (WebCore::DOMWindowNotifications::from):
1558         (WebCore::DOMWindowNotifications::webkitNotifications):
1559         (WebCore):
1560         (WebCore::DOMWindowNotifications::disconnectFrame):
1561         (WebCore::DOMWindowNotifications::willDetachPage):
1562         (WebCore::DOMWindowNotifications::reset):
1563         * notifications/DOMWindowNotifications.h:
1564         (DOMWindowNotifications):
1565         * page/DOMWindow.cpp:
1566         (WebCore::DOMWindow::willDetachPage):
1567         (WebCore::DOMWindow::disconnectDOMWindowProperties):
1568         (WebCore::DOMWindow::clearDOMWindowProperties):
1569         * page/DOMWindow.h:
1570         (DOMWindow):
1571         * page/Frame.cpp:
1572         (WebCore::Frame::willDetachPage):
1573
1574 2012-03-22  Adam Barth  <abarth@webkit.org>
1575
1576         Move Notifications APIs from DOMWindow.idl to DOMWindowNotifications.idl (Part 1)
1577         https://bugs.webkit.org/show_bug.cgi?id=82015
1578
1579         Reviewed by Kentaro Hara.
1580
1581         This patch moves DOMWindow.webkitNotifications from DOMWindow.idl to
1582         DOMWindowNotificiations.idl in preparation for moving notificiations
1583         into Modules.
1584
1585         A future patch will remove DOMWindow::resetNotificaitions in favor of
1586         more general mechanisms.
1587
1588         * CMakeLists.txt:
1589         * DerivedSources.make:
1590         * DerivedSources.pri:
1591         * GNUmakefile.list.am:
1592         * Target.pri:
1593         * WebCore.gypi:
1594         * WebCore.vcproj/WebCore.vcproj:
1595         * WebCore.xcodeproj/project.pbxproj:
1596         * notifications/DOMWindowNotifications.cpp: Added.
1597         (WebCore):
1598         (WebCore::DOMWindowNotifications::DOMWindowNotifications):
1599         (WebCore::DOMWindowNotifications::~DOMWindowNotifications):
1600         (WebCore::DOMWindowNotifications::from):
1601         (WebCore::DOMWindowNotifications::webkitNotifications):
1602         (WebCore::DOMWindowNotifications::reset):
1603         (WebCore::DOMWindowNotifications::supplementName):
1604         * notifications/DOMWindowNotifications.h: Added.
1605         (WebCore):
1606         (DOMWindowNotifications):
1607         * notifications/DOMWindowNotifications.idl: Added.
1608         * page/DOMWindow.cpp:
1609         (WebCore::DOMWindow::~DOMWindow):
1610         (WebCore):
1611         (WebCore::DOMWindow::resetNotifications):
1612         * page/DOMWindow.h:
1613         (WebCore):
1614         (DOMWindow):
1615         * page/DOMWindow.idl:
1616
1617 2012-03-22  Li Yin  <li.yin@intel.com>
1618
1619         A client MUST close a connection if it detects a masked frame
1620         https://bugs.webkit.org/show_bug.cgi?id=81361
1621
1622         Reviewed by Kent Tamura.
1623
1624         A server must not mask any frames that it sends to the client.
1625         Change the test case, not mask the frames from server to client.
1626         
1627         Test: http/tests/websocket/tests/hybi/invalid-masked-frames-from-server.html
1628
1629         * Modules/websockets/WebSocketChannel.cpp:
1630         (WebCore::WebSocketChannel::processFrame):
1631
1632 2012-03-22  Li Yin  <li.yin@intel.com>
1633
1634         [WebSocket]The minimal number of bytes MUST be used to encode the length
1635         https://bugs.webkit.org/show_bug.cgi?id=81443
1636
1637         Reviewed by Kent Tamura.
1638
1639         From RFC 6455 http://tools.ietf.org/html/rfc6455#section-5.2
1640         the minimal number of bytes MUST be used to encode the length
1641         
1642         New test case : http/tests/websocket/tests/hybi/invalid-encode-length.html
1643
1644         * Modules/websockets/WebSocketChannel.cpp:
1645         (WebCore::WebSocketChannel::parseFrame):
1646
1647 2012-03-22  Adam Barth  <abarth@webkit.org>
1648
1649         Unreviewed.  Sort xcodeproj file.
1650
1651         * WebCore.xcodeproj/project.pbxproj:
1652
1653 2012-03-22  Mao Yujie  <yujie.mao@intel.com>
1654
1655         Implement strict testing criterion for callback function definition
1656         https://bugs.webkit.org/show_bug.cgi?id=80005
1657
1658         Reviewed by Adam Barth.
1659
1660         Callback function should be defined as the function type instead of
1661         the object type.
1662
1663         LayoutTest: fast/dom/MediaStream/argument-types.html
1664
1665         * bindings/scripts/CodeGeneratorJS.pm:
1666         (GenerateParametersCheckExpression):
1667         (GenerateParametersCheck):
1668         * bindings/scripts/CodeGeneratorV8.pm:
1669         (GenerateParametersCheckExpression):
1670         (GenerateParametersCheck):
1671
1672 2012-03-22  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1673
1674         Convert hasGrammarMarker to use Internals interface
1675         https://bugs.webkit.org/show_bug.cgi?id=82004
1676
1677         Reviewed by Ryosuke Niwa.
1678
1679         Remove hasGrammarMarker functions, because it is able to work in the
1680         cross-port way through the Internals interface.
1681
1682         No new tests, since we are improving here the infra-structure
1683         for testing a specific method.
1684
1685         * testing/Internals.cpp:
1686         (WebCore::Internals::hasGrammarMarker):
1687         (WebCore):
1688         * testing/Internals.h:
1689         (Internals):
1690         * testing/Internals.idl:
1691
1692 2012-03-22  Xingnan Wang  <xingnan.wang@intel.com>
1693
1694         Add exception for the setter of "fftSize" in RealtimeAnalyserNode
1695         https://bugs.webkit.org/show_bug.cgi?id=81748
1696
1697         Reviewed by Chris Rogers.
1698
1699         * Modules/webaudio/RealtimeAnalyser.cpp:
1700         (WebCore::RealtimeAnalyser::setFftSize):
1701         * Modules/webaudio/RealtimeAnalyser.h:
1702         (RealtimeAnalyser):
1703         * Modules/webaudio/RealtimeAnalyserNode.cpp:
1704         (WebCore::RealtimeAnalyserNode::setFftSize):
1705         (WebCore):
1706         * Modules/webaudio/RealtimeAnalyserNode.h:
1707         (RealtimeAnalyserNode):
1708         * Modules/webaudio/RealtimeAnalyserNode.idl:
1709
1710 2012-03-22  Leo Yang  <leo.yang@torchmobile.com.cn>
1711
1712         [BlackBerry] Add HistoryItemViewState for BlackBerry port
1713         https://bugs.webkit.org/show_bug.cgi?id=81867
1714
1715         Reviewed by Rob Buis.
1716
1717         HistoryItemViewState is the blackberry specific field of HistoryItem.
1718         It's used to maintain the porting specific view state.
1719
1720         No new test because the port can't be built yet.
1721
1722         * history/HistoryItem.h:
1723         (HistoryItem):
1724         (WebCore::HistoryItem::viewState):
1725
1726 2012-03-22  SravanKumar Sandela  <ssandela@innominds.com>
1727
1728         Fieldset unexpectedly stretches to minimum intrinsic width
1729         https://bugs.webkit.org/show_bug.cgi?id=79128
1730
1731         Reviewed by Julien Chaffraix.
1732
1733         Fieldset element width will now check if css width is specified explicitly
1734         before stretching to minimum intrinsic width. The reference
1735         can be taken from IE9, instead of FF(FF acknowledged the broken behavior). 
1736
1737         Tests: fast/forms/fieldset-width-nostretch-ifspecified-expected.html
1738                fast/forms/fieldset-width-nostretch-ifspecified.html
1739
1740         * rendering/RenderFieldset.cpp:
1741         (WebCore::RenderFieldset::stretchesToMinIntrinsicLogicalWidth):
1742         (WebCore):
1743         * rendering/RenderFieldset.h:
1744         (RenderFieldset):
1745
1746 2012-03-22  Shawn Singh  <shawnsingh@chromium.org>
1747
1748         [chromium] Target surface should be damaged for a new layers even when layer had no changes
1749         https://bugs.webkit.org/show_bug.cgi?id=81879
1750
1751         Reviewed by Adrienne Walker.
1752
1753         Unit test added to CCDamageTrackerTest.
1754
1755         * platform/graphics/chromium/cc/CCDamageTracker.cpp:
1756         (WebCore::CCDamageTracker::removeRectFromCurrentFrame): added a
1757         boolean arg to detect if the layer is new on this update.
1758
1759         (WebCore::CCDamageTracker::extendDamageForLayer): added logic that
1760         damages the target surface if the layer is new.
1761
1762         (WebCore::CCDamageTracker::extendDamageForRenderSurface): added
1763         logic that damages the target surface if the descendant surface is
1764         new; similar logic for the surface's replica if the replica is new.
1765
1766         * platform/graphics/chromium/cc/CCDamageTracker.h:
1767         (CCDamageTracker):
1768
1769 2012-03-22  Charles Wei  <charles.wei@torchmobile.com.cn>
1770
1771         [BlackBerry] Need to store the meta info of a page in the ViewState of the history
1772         https://bugs.webkit.org/show_bug.cgi?id=82000
1773
1774         Reviewed by Rob Buis.
1775
1776         Internally reviewed by George Staikos.
1777
1778         No new tests, BlackBerry porting doesn't build yet upstreaming.
1779
1780         * history/blackberry/HistoryItemViewState.h:
1781         (WebCore::HistoryItemViewState::HistoryItemViewState):
1782         (HistoryItemViewState):
1783
1784 2012-03-22  Adam Klein  <adamk@chromium.org>
1785
1786         [v8] wrapSlow methods should ref underlying object before creating wrapper
1787         https://bugs.webkit.org/show_bug.cgi?id=81919
1788
1789         Reviewed by Adam Barth.
1790
1791         Because instatiating the wrapper can trigger GC, it's important that
1792         wrapSlow() hold a reference to an object when creating a wrapper for
1793         that object. Once the V8 wrapper exists and is associated with the object,
1794         the reference can be handed off (via leakRef) to be handled by the normal
1795         binding code logic (where derefObject is called if the handle is GCed).
1796
1797         Binding tests have been updated to reflect this change.
1798
1799         Testing the change directly is hard. Any test landed today would only
1800         be a valid test until V8's logic about when to GC changes, at which point
1801         it would become dead weight. So I don't think it's worth landing a
1802         layout test along with this.
1803
1804         * bindings/scripts/CodeGeneratorV8.pm:
1805         (GenerateHeader): Make wrapSlow take a PassRefPtr for RefCounted objects.
1806         (GenerateToV8Converters): Get rid of the explicit call to ref() and
1807         instead call leakRef() when adding a RefCounted object to the DOM map.
1808         (GetPassRefPtrType): Helper to generate "PassRefPtr<T>", or "PassRefPtr<T<U> >" as appropriate.
1809         * bindings/scripts/test/V8/V8Float64Array.cpp:
1810         (WebCore::V8Float64Array::wrapSlow):
1811         * bindings/scripts/test/V8/V8Float64Array.h:
1812         (V8Float64Array):
1813         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1814         (WebCore::V8TestActiveDOMObject::wrapSlow):
1815         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
1816         (V8TestActiveDOMObject):
1817         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
1818         (WebCore::V8TestCustomNamedGetter::wrapSlow):
1819         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
1820         (V8TestCustomNamedGetter):
1821         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
1822         (WebCore::V8TestEventConstructor::wrapSlow):
1823         * bindings/scripts/test/V8/V8TestEventConstructor.h:
1824         (V8TestEventConstructor):
1825         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
1826         (WebCore::V8TestEventTarget::wrapSlow):
1827         * bindings/scripts/test/V8/V8TestEventTarget.h:
1828         (V8TestEventTarget):
1829         * bindings/scripts/test/V8/V8TestInterface.cpp:
1830         (WebCore::V8TestInterface::wrapSlow):
1831         * bindings/scripts/test/V8/V8TestInterface.h:
1832         (V8TestInterface):
1833         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
1834         (WebCore::V8TestMediaQueryListListener::wrapSlow):
1835         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
1836         (V8TestMediaQueryListListener):
1837         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1838         (WebCore::V8TestNamedConstructor::wrapSlow):
1839         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
1840         (V8TestNamedConstructor):
1841         * bindings/scripts/test/V8/V8TestObj.cpp:
1842         (WebCore::V8TestObj::wrapSlow):
1843         * bindings/scripts/test/V8/V8TestObj.h:
1844         (V8TestObj):
1845         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1846         (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
1847         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
1848         (V8TestSerializedScriptValueInterface):
1849
1850 2012-03-22  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
1851
1852         [BlackBerry] add interface clearCredentials() and clearNeverRememberSites()
1853         https://bugs.webkit.org/show_bug.cgi?id=81887
1854
1855         Reviewed by Rob Buis.
1856
1857         Fixed SQL issue when clearing table logins and table never_remember.
1858
1859         No new tests.
1860
1861         * platform/network/blackberry/CredentialBackingStore.cpp:
1862         (WebCore::CredentialBackingStore::clearLogins):
1863         (WebCore::CredentialBackingStore::clearNeverRemember):
1864
1865 2012-03-22  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
1866
1867         [BlackBerry] http authenticate dialog popup only once no matter authentication pass or fail
1868         https://bugs.webkit.org/show_bug.cgi?id=80135
1869
1870         Reviewed by Rob Buis.
1871
1872         Modified the interface function authenticationChallenge() in class
1873         PageClientBlackBerry, moved Credential from return value to the
1874         function's reference parameter, and returned a bool to indicate if
1875         user pressed Ok button or not.
1876         Removed the logic which checks m_currentWebChallenge not null,
1877         because we should challenge user again if the last provided credential
1878         is not valid; also added the logic that will popup challenge
1879         dialog again immediately if user press Ok buttton directly without
1880         inputting anything.
1881
1882         No new tests.
1883
1884         * platform/blackberry/PageClientBlackBerry.h:
1885         * platform/network/blackberry/NetworkJob.cpp:
1886         (WebCore::NetworkJob::handleAuthHeader):
1887         (WebCore::NetworkJob::sendRequestWithCredentials):
1888
1889 2012-03-22  Jason Liu  <jason.liu@torchmobile.com.cn>
1890
1891         [BlackBerry] Synchronize platform/network/blackberry
1892         https://bugs.webkit.org/show_bug.cgi?id=81874
1893
1894         We changed a lot in these files locally. But the changes are not upstreamed.
1895         It is not convenient to do the other upstreaming work based on these differences.
1896         So upstream these changes.
1897
1898         Reviewed by Rob Buis.
1899
1900         No new tests. Just synchronize codes.
1901
1902         * platform/network/blackberry/NetworkJob.cpp:
1903         (WebCore::NetworkJob::NetworkJob):
1904         (WebCore::NetworkJob::initialize):
1905         (WebCore::NetworkJob::handleNotifyHeaderReceived):
1906         (WebCore::NetworkJob::handleNotifyDataReceived):
1907         (WebCore::NetworkJob::sendResponseIfNeeded):
1908         (WebCore::NetworkJob::sendRequestWithCredentials):
1909         (WebCore::NetworkJob::handleAbout):
1910         * platform/network/blackberry/NetworkJob.h:
1911         (WebCore::NetworkJob::isError):
1912         (NetworkJob):
1913         * platform/network/blackberry/NetworkManager.cpp:
1914         (WebCore::NetworkManager::startJob):
1915         * platform/network/blackberry/ResourceRequest.h:
1916         (WebCore::ResourceRequest::ResourceRequest):
1917         * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
1918         (WebCore::platformTargetTypeForRequest):
1919
1920 2012-03-22  Tom Sepez  <tsepez@chromium.org>
1921
1922         XSS Auditor bypass via script tag src=data:, URLS.
1923         https://bugs.webkit.org/show_bug.cgi?id=81948
1924
1925         Reviewed by Adam Barth.
1926
1927         This change fixes an XSSAuditor bypass wherby a script with a data: URL src
1928         attribute could evade detection by using characters from the page to create
1929         a snippet for matching not found in the URL's reflected vector.  This change 
1930         terminates the snippet for matching earlier in these cases.
1931         
1932         Test: http/tests/security/xssAuditor/script-tag-with-source-data-url2.html
1933
1934         * html/parser/XSSAuditor.cpp:
1935         (WebCore::XSSAuditor::decodedSnippetForAttribute):
1936
1937 2012-03-22  Dana Jansens  <danakj@chromium.org>
1938
1939         [chromium] Incorrect assert on animating opacity for a surface
1940         https://bugs.webkit.org/show_bug.cgi?id=81994
1941
1942         Reviewed by Adrienne Walker.
1943
1944         Draw opacity and animation state match on the surface itself. A
1945         surface with animating opacity always has an owning layer without
1946         animation, as the surface does the animation for it.
1947
1948         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1949         (WebCore::CCLayerTreeHost::paintLayerContents):
1950
1951 2012-03-22  Dana Jansens  <danakj@chromium.org>
1952
1953         [chromium] Skip frames when checkerboarding an animation
1954         https://bugs.webkit.org/show_bug.cgi?id=81716
1955
1956         Reviewed by Adrienne Walker.
1957
1958         This will stop drawing frames when prepareToDraw fails, if the draw is
1959         not forced. The expected behaviour is outlined below by the unit tests.
1960
1961         When a draw fails, we:
1962         1. Set m_needsRedraw to try again next vsync
1963         2. Set m_needsCommit because we need more data from webkit to succeed
1964         3. Set m_drawIfPossibleFailed. This allows us to try draw again within
1965         the same vsync *if* a commit finishes during this time.
1966
1967         Unit test: CCSchedulerTest.RequestRedrawInsideFailedDraw
1968                    CCSchedulerTest.RequestCommitInsideFailedDraw
1969                    CCSchedulerTest.NoBeginFrameWhenDrawFails
1970                    CCSchedulerStateMachineTest.TestFailedDrawSetsNeedsCommitAndDoesNotDrawAgain
1971                    CCSchedulerStateMachineTest.TestSetNeedsRedrawDuringFailedDrawDoesNotRemoveNeedsRedraw
1972                    CCSchedulerStateMachineTest.TestCommitAfterFailedDrawAllowsDrawInSameFrame
1973                    CCSchedulerStateMachineTest.TestCommitAfterFailedAndSuccessfulDrawDoesNotAllowDrawInSameFrame
1974                    CCSchedulerStateMachineTest.TestFailedDrawIsRetriedNextVSync
1975
1976         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1977         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
1978         (WebCore::CCLayerTreeHostImpl::prepareToDraw):
1979         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1980         (CCLayerTreeHostImpl):
1981         * platform/graphics/chromium/cc/CCScheduler.cpp:
1982         (WebCore::CCScheduler::processScheduledActions):
1983         * platform/graphics/chromium/cc/CCScheduler.h:
1984         (CCSchedulerClient):
1985         * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
1986         (WebCore::CCSchedulerStateMachine::CCSchedulerStateMachine):
1987         (WebCore::CCSchedulerStateMachine::nextAction):
1988         (WebCore::CCSchedulerStateMachine::updateState):
1989         (WebCore::CCSchedulerStateMachine::didDrawIfPossibleCompleted):
1990         (WebCore):
1991         * platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
1992         (CCSchedulerStateMachine):
1993         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1994         (WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):
1995         (WebCore):
1996         (WebCore::CCThreadProxy::scheduledActionDrawAndSwapIfPossible):
1997         (WebCore::CCThreadProxy::scheduledActionDrawAndSwapForced):
1998         * platform/graphics/chromium/cc/CCThreadProxy.h:
1999         (CCThreadProxy):
2000
2001 2012-03-22  W. James MacLean  <wjmaclean@chromium.org>
2002
2003         [chromium] Force update of nonFastScrollableRegion if target CCLayerImpl has been freshly created.
2004         https://bugs.webkit.org/show_bug.cgi?id=81968
2005
2006         Reviewed by Adrienne Walker.
2007
2008         Added unit test to existing tests for TreeSynchronizer.
2009
2010         When creating a new CCLayerImpl during tree synchronization, make sure we transfer the nonFastScrollableRegion as
2011         the new CCLayerImpl will default to an empty region.
2012
2013         * platform/graphics/chromium/LayerChromium.h:
2014         (WebCore::LayerChromium::nonFastScrollableRegion):
2015         (WebCore::LayerChromium::setNonFastScrollableRegionChanged):
2016         * platform/graphics/chromium/TreeSynchronizer.cpp:
2017         (WebCore::TreeSynchronizer::reuseOrCreateCCLayerImpl):
2018
2019 2012-03-22  Raphael Kubo da Costa  <rakuco@FreeBSD.org>
2020
2021         [CMake] Unreviewed build fix after r111778.
2022
2023         * CMakeLists.txt: Replace ${JAVASCRIPTCORE_DIR}/wtf includes with
2024         ${WTF_DIR}/wtf ones.
2025
2026 2012-03-22  Tony Chang  <tony@chromium.org>
2027
2028         Unreviewed, fix chromium build after wtf move.
2029
2030         Only use newwtf, remove references to wtf.
2031
2032         * WebCore.gyp/WebCore.gyp:
2033
2034 2012-03-22  Benjamin Poulain  <bpoulain@apple.com>
2035
2036         Remove an obsolete comment regarding magic frames from Geolocation
2037         https://bugs.webkit.org/show_bug.cgi?id=81871
2038
2039         Reviewed by Alexey Proskuryakov.
2040
2041         Moving a frame into another document is no longer possible after r111361. The comment
2042         is now irrelevant.
2043
2044         * Modules/geolocation/Geolocation.cpp:
2045         (WebCore::Geolocation::stop):
2046
2047 2012-03-22  Csaba Osztrogonác  <ossy@webkit.org>
2048
2049         Actually move WTF files to their new home
2050         https://bugs.webkit.org/show_bug.cgi?id=81844
2051
2052         [Qt] Unreviewed buildfix after r111778.
2053
2054         * Target.pri:
2055
2056 2012-03-22  Kentaro Hara  <haraken@chromium.org>
2057
2058         run-bindings-tests output a lot of errors in TestSerializedScriptValueInterface.idl
2059         https://bugs.webkit.org/show_bug.cgi?id=81852
2060
2061         Reviewed by Adam Barth.
2062
2063         run-bindings-tests output a lot of errors in TestSerializedScriptValueInterface.idl:
2064
2065         Use of uninitialized value in string eq at WebCore/bindings/scripts/CodeGeneratorJS.pm line 2743.
2066         Use of uninitialized value $name in substitution (s///) at WebCore/bindings/scripts/CodeGenerator.pm line 119.
2067         Use of uninitialized value $type in string eq at WebCore/bindings/scripts/CodeGeneratorJS.pm line 2969.
2068         Use of uninitialized value $type in string eq at WebCore/bindings/scripts/CodeGeneratorJS.pm line 2972.
2069         Use of uninitialized value $type in hash element at WebCore/bindings/scripts/CodeGenerator.pm line 367.
2070         Use of uninitialized value $type in hash element at WebCore/bindings/scripts/CodeGenerator.pm line 368.
2071         ...
2072
2073         This is because [Constructor(...)] does not yet support [Optional] arguments.
2074         It just supports [Optional=DefaultIsUndefined] and [Optional=DefaultIsNullString] arguments:
2075         https://trac.webkit.org/wiki/WebKitIDL#Constructor
2076
2077         This patch replaces [Optional] with [Optional=DefaultIsUndefined]
2078         in TestSerializedScriptValueInterface.idl.
2079
2080         Test: bindings/scripts/test/TestSerializedScriptValueInterface.idl
2081
2082         * bindings/scripts/CodeGeneratorJS.pm:
2083         (GenerateConstructorDefinition):
2084         * bindings/scripts/CodeGeneratorV8.pm:
2085         (GenerateConstructorCallback):
2086         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2087         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
2088         * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
2089         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
2090         (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
2091
2092 2012-03-22  Michal Mocny  <mmocny@google.com>
2093
2094         [chromium] LayerRendererChromium should use GpuMemoryAllocationChanged callback to explicitly manage framebuffer.
2095         https://bugs.webkit.org/show_bug.cgi?id=81823
2096
2097         Reviewed by Adrienne Walker.
2098
2099         New UnitTests: LayerRendererChromiumTest
2100
2101         * platform/graphics/chromium/LayerRendererChromium.cpp:
2102         (LayerRendererGpuMemoryAllocationChangedCallbackAdapter):
2103         (WebCore::LayerRendererGpuMemoryAllocationChangedCallbackAdapter::create):
2104         (WebCore::LayerRendererGpuMemoryAllocationChangedCallbackAdapter::~LayerRendererGpuMemoryAllocationChangedCallbackAdapter):
2105         (WebCore::LayerRendererGpuMemoryAllocationChangedCallbackAdapter::onGpuMemoryAllocationChanged):
2106         (WebCore::LayerRendererGpuMemoryAllocationChangedCallbackAdapter::LayerRendererGpuMemoryAllocationChangedCallbackAdapter):
2107         (WebCore):
2108         (WebCore::LayerRendererChromium::LayerRendererChromium):
2109         (WebCore::LayerRendererChromium::initialize):
2110         (WebCore::LayerRendererChromium::~LayerRendererChromium):
2111         (WebCore::LayerRendererChromium::setVisible):
2112         (WebCore::LayerRendererChromium::swapBuffers):
2113         (WebCore::LayerRendererChromium::discardFramebuffer):
2114         (WebCore::LayerRendererChromium::ensureFramebuffer):
2115         * platform/graphics/chromium/LayerRendererChromium.h:
2116         (WebCore):
2117         (LayerRendererChromiumClient):
2118         (LayerRendererChromium):
2119         (WebCore::LayerRendererChromium::isFramebufferDiscarded):
2120         (ScopedEnsureFramebufferAllocation):
2121         (WebCore::ScopedEnsureFramebufferAllocation::ScopedEnsureFramebufferAllocation):
2122         (WebCore::ScopedEnsureFramebufferAllocation::~ScopedEnsureFramebufferAllocation):
2123         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2124         (WebCore::LayerRendererCapabilities::LayerRendererCapabilities):
2125         (LayerRendererCapabilities):
2126         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2127         (WebCore::CCLayerTreeHostImpl::setVisible):
2128         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2129         (CCLayerTreeHostImpl):
2130         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2131         (WebCore::CCSingleThreadProxy::compositeAndReadback):
2132         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2133         (WebCore::CCThreadProxy::compositeAndReadback):
2134
2135 2012-03-22  Adam Barth  <abarth@webkit.org>
2136
2137         ContainerNode::insertedIntoTree and removedFromTree use weak iteration patterns
2138         https://bugs.webkit.org/show_bug.cgi?id=80570
2139
2140         Reviewed by Ryosuke Niwa.
2141
2142         These functions use weak iteration patterns, but as far as I can tell,
2143         we never execute script below these functions.  This patch adds ASSERTs
2144         to help us avoid adding events in the future.
2145
2146         * dom/ContainerNode.cpp:
2147         (WebCore::ContainerNode::insertedIntoTree):
2148         (WebCore::ContainerNode::removedFromTree):
2149         * html/HTMLMediaElement.cpp:
2150         (WebCore::HTMLMediaElement::loadInternal):
2151             - There's a somewhat complex call chain from insertedIntoTree into
2152               HTMLMediaElement, and somewhat complex control flow below
2153               loadInternal that eventually leads to the BeforeLoad event being
2154               fired.  In studying this code, I don't see a way for the
2155               BeforeLoad event to be fired during insertedIntoTree, but I've
2156               added this assert here to make sure we don't call loadInternal
2157               when we're not supposed to dispatch events.  This ASSERT should
2158               help us catch these BeforeLoad errors more quickly.
2159
2160 2012-03-22  Raphael Kubo da Costa  <rakuco@FreeBSD.org>
2161
2162         Crash in fast/dom/navigator-detached-nocrash.html
2163         https://bugs.webkit.org/show_bug.cgi?id=81773
2164
2165         Reviewed by Adam Barth.
2166
2167         BatteryManager::create() blindly assumes the Navigator* it
2168         receives has a valid Frame, which is not always the case, as made
2169         evident by the crashing test.
2170
2171         Follow abarth's suggestion and just stop
2172         NavigatorBattery::webkitBattery() before it reaches the call to
2173         BatteryManager::create() if that's the case.
2174
2175         No new tests, covered by fast/dom/navigator-detached-nocrash.html.
2176
2177         * Modules/battery/NavigatorBattery.cpp:
2178         (WebCore::NavigatorBattery::webkitBattery):
2179
2180 2012-03-22  Emil A Eklund  <eae@chromium.org>
2181
2182         Unreviewed, add missing include statement for CSSValueList.h.
2183
2184         * css/CSSStyleSelector.h:
2185
2186 2012-03-22  Tony Chang  <tony@chromium.org>
2187
2188         flexbox flexing implementation should match the spec
2189         https://bugs.webkit.org/show_bug.cgi?id=70796
2190
2191         Reviewed by Ojan Vafai.
2192
2193         Match the algorithm in the spec. Handling min/max constraints are slightly improved.
2194         http://dev.w3.org/csswg/css3-flexbox/#resolve-the-flexible-lengths
2195
2196         New test cases in css3/flexbox/flex-algorithm-min-max.html.
2197
2198         * rendering/RenderFlexibleBox.cpp:
2199         (WebCore::adjustFlexSizeForMinAndMax): Step 5 of resolving flexible lengths.
2200         (WebCore):
2201         (WebCore::RenderFlexibleBox::Violation::Violation):
2202         (RenderFlexibleBox::Violation):
2203         (WebCore::RenderFlexibleBox::freezeViolations): Used by step 6.
2204         (WebCore::RenderFlexibleBox::resolveFlexibleLengths):
2205         * rendering/RenderFlexibleBox.h:
2206
2207 2012-03-22  Emil A Eklund  <eae@chromium.org>
2208
2209         Unreviewed, add missing import.
2210
2211         * rendering/RenderThemeMac.mm:
2212
2213 2012-03-22  Anders Carlsson  <andersca@apple.com>
2214
2215         ASSERT(!needsLayout) in RenderView.cpp when visiting http://www.panic.com/blog/
2216         https://bugs.webkit.org/show_bug.cgi?id=81953
2217         <rdar://problem/11086998>
2218
2219         Reviewed by Sam Weinig.
2220
2221         If a page ends up creating CATiledLayers, CA transactions can be committed outside of the normal
2222         CA run loop observer, so we can't call setNeedsDisplay on tile cache layers directly because then
2223         we'll end up calling into painting code before all the layers have been flushed.
2224
2225         Fix this by adding a list of dirty rects to platformCALayerDidCreateTiles and change GraphicsLayerCA to
2226         mark them as dirty. This ensures that any CA transaction commits won't cause newly added layers to be painted.
2227
2228         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
2229         (WebCore::LayerClient::platformCALayerDidCreateTiles):
2230         * platform/graphics/ca/GraphicsLayerCA.cpp:
2231         (WebCore::GraphicsLayerCA::platformCALayerDidCreateTiles):
2232         * platform/graphics/ca/GraphicsLayerCA.h:
2233         (GraphicsLayerCA):
2234         * platform/graphics/ca/PlatformCALayerClient.h:
2235         (PlatformCALayerClient):
2236         * platform/graphics/ca/mac/TileCache.mm:
2237         (WebCore::TileCache::setScale):
2238         (WebCore::TileCache::revalidateTiles):
2239         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
2240         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerDidCreateTiles):
2241
2242 2012-03-19  Robert Hogan  <robert@webkit.org>
2243
2244         Text should overflow when list item height set to 0
2245         https://bugs.webkit.org/show_bug.cgi?id=78726
2246
2247         Reviewed by Julien Chaffraix.
2248
2249         Tests: css2.1/20110323/height-applies-to-010a-expected.html
2250                fast/css/heightless-list-item-expected.html
2251                fast/css/heightless-list-item.html
2252
2253         * rendering/RenderListItem.cpp:
2254         (WebCore::RenderListItem::paint):
2255            If the list item has height:0, only paint it if the list item allows any block or inline content 
2256            to overflow unclipped. The zero-height check is a shortcut to avoid unnecessary painting and 
2257            this seems to be the only case where there's something to do.
2258
2259 2012-03-22  Dave Michael  <dmichael@chromium.org>
2260
2261         HTMLPluginElement is not destroyed on reload or navigation if getNPObject is called
2262         https://bugs.webkit.org/show_bug.cgi?id=80428
2263
2264         Reviewed by Eric Seidel.
2265
2266         Make HTMLPluginElement release its m_NPObject in detach() to break a
2267         reference-counting cycle that happens on reload or navigation. With this
2268         change, HTMLPlugInElement::removedFromDocument is unnecessary, so it
2269         was removed. Note that Releasing m_NPObject does not result in a call to
2270         the plugin; it simply releases a reference count on the wrapper object
2271         for this HTMLPlugInElement. (The plugin's NPP_Deallocate is invoked
2272         when the render tree is destroyed, when PluginView calls
2273         PluginPackage::unload.) Thus, it is safe to release m_NPObject in
2274         detach, because it can not result in layout or style changes.
2275
2276         Also added numberOfLiveNodes() and numberOfLiveDocuments() to
2277         window.internals to enable testing.
2278
2279         Test: plugins/netscape-dom-access-and-reload.html
2280
2281         * WebCore.exp.in:
2282         * html/HTMLPlugInElement.cpp:
2283         (WebCore::HTMLPlugInElement::detach):
2284         * html/HTMLPlugInElement.h:
2285         (HTMLPlugInElement):
2286         * testing/Internals.cpp:
2287         (WebCore::Internals::numberOfLiveDocuments):
2288         (WebCore::Internals::numberOfLiveNodes):
2289         (WebCore):
2290         * testing/Internals.h:
2291         (Internals):
2292         * testing/Internals.idl:
2293
2294 2012-03-22  Shawn Singh  <shawnsingh@chromium.org>
2295
2296         [chromium] Make CCDamageTracker robust to empty layer lists
2297         https://bugs.webkit.org/show_bug.cgi?id=81831
2298
2299         Reviewed by Adrienne Walker.
2300
2301         Added a unit test in CCDamageTrackerTest that causes a crash in
2302         the old code. With this patch applied, the crash will not occur.
2303         In theory, that crash should never occur anyway, unless there is a
2304         bug outside the damage tracker, but for robustness it's
2305         appropriate to handle it properly.
2306
2307         In addition to this fix, performed some trivial maintenance on the
2308         damage tracker code.
2309
2310         * platform/graphics/chromium/cc/CCDamageTracker.cpp:
2311         (WebCore::CCDamageTracker::updateDamageTrackingState): removed
2312         unclean code that accessed the targetSurface to get necessary
2313         information. Instead, we now pass those args through the damage
2314         tracker's API.
2315
2316         * platform/graphics/chromium/cc/CCDamageTracker.h:
2317         (CCDamageTracker): modified args passed to damage tracker on update.
2318
2319         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2320         (WebCore::CCLayerTreeHostImpl::trackDamageForAllSurfaces):
2321         modified args passed to damage tracker on update.
2322
2323 2012-03-22  Julien Chaffraix  <jchaffraix@webkit.org>
2324
2325         Enable style sharing for elements with a style attribute
2326         https://bugs.webkit.org/show_bug.cgi?id=81523
2327
2328         Reviewed by Antti Koivisto.
2329
2330         Memory improvement change only.
2331
2332         Overall, this is a performance wash (some benchmarks may regress a bit due to the increase in time taken
2333         by CSSStyleSelector::locateSharedStyle as we try more nodes, others increase their performance due to style sharing).
2334
2335         Instrumenting our style sharing, this should give us some nice memory shavings on some benchmarks:
2336         - HTML5 isn't impacted as it doesn't use much inline style
2337         - page cyclers' intl1 showed a 6% increase in style sharing.
2338
2339         * css/CSSStyleSelector.cpp:
2340         (WebCore::CSSStyleSelector::canShareStyleWithElement):
2341         This method now handles inline style like presentation attributes on the element.
2342
2343         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
2344         (WebCore::CSSStyleSelector::locateSharedStyle):
2345         Don't bail out for an element with an inline style declaration.
2346
2347         (WebCore::CSSStyleSelector::stylesEqual):
2348         Generalized attributeStylesEqual to share the logic between attribute and
2349         inline style property set. This means that attribute checks are actually
2350         doing a little extra more work but that didn't impact our benchmarks.
2351
2352 2012-03-22  Kevin Ollivier  <kevino@theolliviers.com>
2353
2354         [wx] Unreviewed. WebDOM build fix after array type changes.
2355
2356         * bindings/scripts/CodeGeneratorCPP.pm:
2357         (ShouldSkipType):
2358
2359 2012-03-22  Pavel Feldman  <pfeldman@chromium.org>
2360
2361         Web Inspector: text gutter decorations should move upon edits.
2362         https://bugs.webkit.org/show_bug.cgi?id=81932
2363
2364         Reviewed by Vsevolod Vlasov.
2365
2366         Decorations set by the line number now shift as editing inserts / removes lines.
2367
2368         * inspector/front-end/TextViewer.js:
2369         (WebInspector.TextViewer.prototype._syncLineHeight):
2370         (WebInspector.TextEditorGutterPanel):
2371         (WebInspector.TextEditorGutterPanel.prototype.textChanged):
2372         (WebInspector.TextEditorGutterPanel.prototype.syncClientHeight):
2373         (WebInspector.TextEditorGutterPanel.prototype.addDecoration):
2374         (WebInspector.TextEditorGutterPanel.prototype.removeDecoration):
2375
2376 2012-03-21  Robert Hogan  <robert@webkit.org>
2377
2378         CSS 2.1 failure: fixed-table-layout-006 fails
2379         https://bugs.webkit.org/show_bug.cgi?id=78412
2380
2381         Reviewed by Julien Chaffraix.
2382
2383         Tests: css2.1/20110323/fixed-table-layout-006.htm
2384                fast/css/fixed-table-layout-cell-padding.htm
2385
2386         In fixed tables, positive width specified on a column should include borders and padding.
2387         See the thread at http://lists.w3.org/Archives/Public/www-style/2011Oct/0502.html. The discussion
2388         there resulted in a whole new set of tests for section 17.5.2.1 in the CSS 2.1 spec. See 
2389         http://test.csswg.org/harness/test/CSS21_DEV/section/17.5.2.1/. This patch allows WebKit
2390         to pass all of them, and all tests for the 17.5.2.1 section as a whole. I'll land them all separately.
2391     
2392         * rendering/FixedTableLayout.cpp:
2393         (WebCore::FixedTableLayout::calcWidthArray): Include border width and cell padding in the width of the column.
2394          Note that borderAndPaddingLogicalWidth() returns the border width for separate and collapsed borders as appropriate.
2395
2396 2012-03-22  Simon Fraser  <simon.fraser@apple.com>
2397
2398         Factor compositing layer updates after scroll into a new method
2399         https://bugs.webkit.org/show_bug.cgi?id=81943
2400
2401         Reviewed by Dean Jackson.
2402
2403         Move some code that updates compositing layers after scrolling
2404         into its own method, for cleanliness.
2405
2406         * rendering/RenderLayer.cpp:
2407         (WebCore::RenderLayer::scrollTo):
2408         (WebCore::RenderLayer::updateCompositingLayersAfterScroll):
2409         (WebCore):
2410         * rendering/RenderLayer.h:
2411         (RenderLayer):
2412
2413 2012-03-22  Gavin Barraclough  <barraclough@apple.com>
2414
2415         Add JSValue::isFunction
2416         https://bugs.webkit.org/show_bug.cgi?id=81935
2417
2418         Reviewed by Geoff Garen.
2419
2420         This would be useful in the WebCore bindings code.
2421         Also, remove asFunction, replace with jsCast<JSFunction*>.
2422
2423         * bindings/js/JSInjectedScriptHostCustom.cpp:
2424         (WebCore::JSInjectedScriptHost::functionDetails):
2425         * bindings/js/ScriptCallStackFactory.cpp:
2426         (WebCore::createScriptCallStack):
2427
2428 2012-03-22  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2429
2430         TiledBackingStore: Fix test regressions that appeared with r111560.
2431         https://bugs.webkit.org/show_bug.cgi?id=81519
2432
2433         Reviewed by Kenneth Rohde Christiansen.
2434
2435         The visible rect wasn't intersected with the contents rect anymore which
2436         could lead to an astronomical layer size to check for intersecting tiles.
2437
2438         Add a visibleContentsRect that doesn't do the conversion and use it
2439         in visibleAreaIsCovered.
2440
2441         * platform/graphics/TiledBackingStore.cpp:
2442         (WebCore::TiledBackingStore::visibleContentsRect):
2443         (WebCore):
2444         (WebCore::TiledBackingStore::visibleRect):
2445         (WebCore::TiledBackingStore::visibleAreaIsCovered):
2446         * platform/graphics/TiledBackingStore.h:
2447         (TiledBackingStore):
2448
2449 2012-03-22  Joe Thomas  <joethomas@motorola.com>
2450
2451         Make Length Calculation functions non-inline
2452         https://bugs.webkit.org/show_bug.cgi?id=81733
2453
2454         Currently length calculation functions in LengthFunctions.h are inline. These functions are pretty big to be inline.
2455         And these functions are expected to grow again when new length units will be introduced in bug 27160.
2456
2457         A decent rule of thumb is to not inline a function if it is more than 10 lines long. Also it's typically not cost effective to inline
2458         functions with loops or switch statements. (Reference: http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml#Inline_Functions).
2459
2460         Ran PerformanceTests/Parser/html5-full-render.html on Mac Snow-Leopard with and without the patch and did not see much performance difference.
2461
2462         Reviewed by Antti Koivisto.
2463
2464         * CMakeLists.txt:
2465         * GNUmakefile.list.am:
2466         * Target.pri:
2467         * WebCore.gypi:
2468         * WebCore.vcproj/WebCore.vcproj:
2469         * WebCore.xcodeproj/project.pbxproj:
2470         * css/LengthFunctions.cpp: Added.
2471         (WebCore):
2472         (WebCore::miminumValueForLength):
2473         (WebCore::valueForLength):
2474         (WebCore::floatValueForLength):
2475         * css/LengthFunctions.h:
2476         (WebCore):
2477
2478 2012-03-22  Alexis Menard  <alexis.menard@openbossa.org>
2479
2480         Increase code sharing between CSSParser and CSSPropertyLonghand.
2481         https://bugs.webkit.org/show_bug.cgi?id=81587
2482
2483         Reviewed by Antti Koivisto.
2484
2485         Expose the longhands declaration for a given shorthand in CSSPropertyLonghand and
2486         make CSSParser use them. It will make the declaration of longhands in one place only.
2487         Remove the map of CSSPropertyLonghand and replace it by a regular switch/case.
2488         The map doesn't bring much here and it's cleaner and faster to use the switch.
2489         It also shows a little performance improvement in CSS/CSSPropertySetterGetter.html.
2490
2491         No new tests : no behavior change.
2492
2493         * css/CSSParser.cpp:
2494         (WebCore::CSSParser::parseValue):
2495         (WebCore::CSSParser::parseAnimationShorthand):
2496         (WebCore::CSSParser::parseTransitionShorthand):
2497         (WebCore::CSSParser::parseShorthand):
2498         Modify the prototype of this function to directly use the CSSPropertyLonghand.
2499         * css/CSSParser.h:
2500         (WebCore):
2501         (CSSParser):
2502         * css/CSSPropertyLonghand.cpp:
2503         (WebCore):
2504         (WebCore::backgroundLonghand):
2505         (WebCore::backgroundPositionLonghand):
2506         (WebCore::backgroundRepeatLonghand):
2507         (WebCore::borderLonghand):
2508         (WebCore::borderBottomLonghand):
2509         (WebCore::borderColorLonghand):
2510         (WebCore::borderImageLonghand):
2511         (WebCore::borderLeftLonghand):
2512         (WebCore::borderRadiusLonghand):
2513         (WebCore::borderRightLonghand):
2514         (WebCore::borderSpacingLonghand):
2515         (WebCore::borderStyleLonghand):
2516         (WebCore::borderTopLonghand):
2517         (WebCore::borderWidthLonghand):
2518         (WebCore::listStyleLonghand):
2519         (WebCore::fontLonghand):
2520         (WebCore::marginLonghand):
2521         (WebCore::outlineLonghand):
2522         (WebCore::overflowLonghand):
2523         (WebCore::paddingLonghand):
2524         (WebCore::webkitAnimationLonghand):
2525         (WebCore::webkitBorderAfterLonghand):
2526         (WebCore::webkitBorderBeforeLonghand):
2527         (WebCore::webkitBorderEndLonghand):
2528         (WebCore::webkitBorderStartLonghand):
2529         (WebCore::webkitColumnsLonghand):
2530         (WebCore::webkitColumnRuleLonghand):
2531         (WebCore::webkitFlexFlowLonghand):
2532         (WebCore::webkitMarginCollapseLonghand):
2533         (WebCore::webkitMarqueeLonghand):
2534         (WebCore::webkitMaskLonghand):
2535         (WebCore::webkitMaskPositionLonghand):
2536         (WebCore::webkitMaskRepeatLonghand):
2537         (WebCore::webkitTextEmphasisLonghand):
2538         (WebCore::webkitTextStrokeLonghand):
2539         (WebCore::webkitTransitionLonghand):
2540         (WebCore::webkitTransformOriginLonghand):
2541         (WebCore::webkitWrapLonghand):
2542         (WebCore::longhandForProperty):
2543         * css/CSSPropertyLonghand.h:
2544         (WebCore):
2545
2546 2012-03-22  Emil A Eklund  <eae@chromium.org>
2547
2548         Unreviewed, touching file to force bots to pick up CSS_SHADERS flag change. 
2549
2550         * css/CSSStyleSelector.h:
2551         (CSSStyleSelector):
2552
2553 2012-03-22  Xingnan Wang  <xingnan.wang@intel.com>
2554
2555         ReverbConvolver::latencyFrames() should return 0.
2556         https://bugs.webkit.org/show_bug.cgi?id=81806
2557
2558         Reviewed by Chris Rogers.
2559
2560         * platform/audio/ReverbConvolver.cpp:
2561         (WebCore::ReverbConvolver::latencyFrames):
2562
2563 2012-03-22  Tony Chang  <tony@chromium.org>
2564
2565         refactor flexbox in preparation for flex-line-pack
2566         https://bugs.webkit.org/show_bug.cgi?id=81843
2567
2568         Reviewed by Ojan Vafai.
2569
2570         Replace WrapReverseContext with a vector of LineContexts that contain
2571         the same information, plus values needed for flex-align.
2572
2573         alignChildren has been moved to after all the lines have been
2574         positioned. We want to align children after flex-line-pack has changed
2575         the size of each line to avoid unnecessary layouts.
2576
2577         Take 2: Remove the assert. If there are no children, then there are no
2578         flex lines. Instead, assert that child is not null.
2579
2580         No new tests, just refactoring.
2581
2582         * rendering/RenderFlexibleBox.cpp:
2583         (WebCore::RenderFlexibleBox::LineContext::LineContext): New struct,
2584         holds information needed for wrap-reverse and aligning children.
2585         (RenderFlexibleBox::LineContext):
2586         (WebCore::RenderFlexibleBox::layoutFlexItems): alignChildren after layout out all the lines rather than after each line.
2587         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): don't alignChildren
2588         (WebCore::RenderFlexibleBox::alignChildren): align all flex items, not just a line at a time.
2589         (WebCore::RenderFlexibleBox::flipForWrapReverse): Update to use LineContext
2590         * rendering/RenderFlexibleBox.h:
2591
2592 2012-03-22  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2593
2594         Event dispatching in XMLHttpRequestProgressEventThrottle should go through XMLHttpRequestProgressEventThrottle::dispatchEvent
2595         https://bugs.webkit.org/show_bug.cgi?id=46743
2596
2597         Reviewed by Julien Chaffraix
2598         Based on original patch by Anton D'Auria
2599
2600         In preparation for platform-specific queuing of XMLHttpRequest events,
2601         this patch changes all calls to m_target->dispatchEvent to
2602         XMLHttpRequestProgressEventThrottle::dispatchEvent.
2603         Currently, we queue only one progress event on suspend() if we have
2604         throttled progress events. We should be able to queue all XHR events
2605         that can be generated after suspend(), if the platform network layer
2606         continues to receive data.
2607         XMLHttpRequest uses XMLHttpRequestProgressEventThrottle to dispatch only
2608         download events, so this doesn't change behavior of upload events, which
2609         aren't throttled or queued.
2610
2611         * xml/XMLHttpRequest.cpp:
2612         (WebCore::XMLHttpRequest::callReadyStateChangeListener):
2613         * xml/XMLHttpRequestProgressEventThrottle.cpp:
2614         (WebCore::XMLHttpRequestProgressEventThrottle::dispatchReadyStateChangeEvent):
2615         (WebCore::XMLHttpRequestProgressEventThrottle::dispatchEvent):
2616         (WebCore::XMLHttpRequestProgressEventThrottle::flushProgressEvent):
2617         (WebCore::XMLHttpRequestProgressEventThrottle::dispatchPausedEvent):
2618         (WebCore::XMLHttpRequestProgressEventThrottle::fired):
2619         * xml/XMLHttpRequestProgressEventThrottle.h:
2620         (XMLHttpRequestProgressEventThrottle):
2621
2622 2012-03-22  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
2623
2624         [EFL] Map BackSpace key code to Unicode value
2625         https://bugs.webkit.org/show_bug.cgi?id=81130
2626
2627         Reviewed by Gustavo Noronha Silva.
2628
2629         Test: fast/events/backspace-navigates-back.html
2630
2631         * platform/efl/EflKeyboardUtilities.cpp:
2632         (WebCore::createKeyMap): Map BackSpace to Unicode value
2633
2634 2012-03-22  Abhishek Arya  <inferno@chromium.org>
2635
2636         Incorrect beforeChild parent calculation in RenderRubyBase::moveChildren.
2637         https://bugs.webkit.org/show_bug.cgi?id=80297
2638
2639         Reviewed by Julien Chaffraix.
2640
2641         beforeChild might share the same anonymous block parent with other previous
2642         siblings. Before moving the children across ruby bases, we need to make sure
2643         to split the tree across the beforeChild correctly.
2644
2645         Test: fast/ruby/ruby-text-before-child-split.html
2646
2647         * rendering/RenderRubyBase.cpp:
2648         (WebCore::RenderRubyBase::moveChildren):
2649
2650 2012-03-22  Kristóf Kosztyó  <kkristof@inf.u-szeged.hu>
2651
2652         [Qt] Fix Qt minimal build after r111692
2653
2654         Reviewed by Csaba Osztrogonác.
2655
2656         * bindings/js/JSScriptProfileNodeCustom.cpp:
2657
2658 2012-03-22  Adrienne Walker  <enne@google.com>
2659
2660         [chromium] Fix scrollbar layers holding onto invalid textures after lost context
2661         https://bugs.webkit.org/show_bug.cgi?id=81841
2662
2663         Reviewed by James Robinson.
2664
2665         Unit test: CCLayerTreeHostImplTest.scrollbarLayerLostContext
2666
2667         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
2668         (WebCore::CCScrollbarLayerImpl::willDraw):
2669
2670 2012-03-22  Philippe Normand  <pnormand@igalia.com>
2671
2672         [GTK] ASSERT bug in WebAudio (AudioFileReader)
2673         https://bugs.webkit.org/show_bug.cgi?id=81777
2674
2675         Reviewed by Martin Robinson.
2676
2677         * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
2678         (WebCore::AudioFileReader::decodeAudioForBusCreation): Don't steal
2679         the GstBus floating reference.
2680         (WebCore::AudioFileReader::createBus): Ditto.
2681
2682 2012-03-22  Ilya Tikhonovsky  <loislo@chromium.org>
2683
2684         Unreviewed: Web Inspector: fix syntax error in text.
2685
2686         * English.lproj/localizedStrings.js:
2687         * inspector/front-end/HeapSnapshotProxy.js:
2688         (WebInspector.HeapSnapshotWorker.prototype._messageReceived):
2689
2690 2012-03-22  Sheriff Bot  <webkit.review.bot@gmail.com>
2691
2692         Unreviewed, rolling out r111688.
2693         http://trac.webkit.org/changeset/111688
2694         https://bugs.webkit.org/show_bug.cgi?id=81912
2695
2696         "Heap profiler test fails" (Requested by yurys on #webkit).
2697
2698         * inspector/front-end/HeapSnapshot.js:
2699         (WebInspector.HeapSnapshot.prototype._buildRetainers):
2700
2701 2012-03-22  Dana Jansens  <danakj@chromium.org>
2702
2703         [chromium] Early out in a new prepareToDraw() step if checkerboarding an accelerated animation in order to skip the frame
2704         https://bugs.webkit.org/show_bug.cgi?id=81437
2705
2706         Reviewed by Adrienne Walker.
2707
2708         Split CCLayerTreeHostImpl::drawLayers() into two phases:
2709         prepareToDraw() and drawLayers().
2710
2711         When calculating a RenderPass, and we checkerboard a quad on a
2712         layer, bubble this info back up to CCLayerTreeHostImpl. If the
2713         layer is transforming in an animation, then abort the prepareToDraw()
2714         phase and cause it to return false back to the thread proxy.
2715
2716         Unit test: CCLayerTreeHostImplTest.prepareToDrawFailsWhenAnimationUsesCheckerboard
2717
2718         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2719         (WebCore::CCLayerImpl::appendQuads):
2720         * platform/graphics/chromium/cc/CCLayerImpl.h:
2721         (CCLayerImpl):
2722         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2723         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
2724         (WebCore::CCLayerTreeHostImpl::prepareToDraw):
2725         (WebCore):
2726         (WebCore::CCLayerTreeHostImpl::drawLayers):
2727         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2728         (CCLayerTreeHostImpl):
2729         (FrameData):
2730         * platform/graphics/chromium/cc/CCQuadCuller.cpp:
2731         (WebCore::CCQuadCuller::append):
2732         * platform/graphics/chromium/cc/CCQuadCuller.h:
2733         (CCQuadCuller):
2734         * platform/graphics/chromium/cc/CCRenderPass.cpp:
2735         (WebCore::CCRenderPass::appendQuadsForLayer):
2736         * platform/graphics/chromium/cc/CCRenderPass.h:
2737         (CCRenderPass):
2738         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
2739         (WebCore::CCScrollbarLayerImpl::appendQuads):
2740         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
2741         (CCScrollbarLayerImpl):
2742         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2743         (WebCore::CCSingleThreadProxy::doComposite):
2744         * platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp:
2745         (WebCore::CCSolidColorLayerImpl::appendQuads):
2746         * platform/graphics/chromium/cc/CCSolidColorLayerImpl.h:
2747         (CCSolidColorLayerImpl):
2748         * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
2749         (WebCore::CCTextureLayerImpl::appendQuads):
2750         * platform/graphics/chromium/cc/CCTextureLayerImpl.h:
2751         (CCTextureLayerImpl):
2752         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2753         (WebCore::CCThreadProxy::scheduledActionDrawAndSwap):
2754         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
2755         (WebCore::CCTiledLayerImpl::appendQuads):
2756         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
2757         (CCTiledLayerImpl):
2758         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
2759         (WebCore::CCVideoLayerImpl::appendQuads):
2760         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
2761         (CCVideoLayerImpl):
2762
2763 2012-03-22  Levi Weintraub  <leviw@chromium.org>
2764
2765         Correct LayoutUnit usage in Accessibility code
2766         https://bugs.webkit.org/show_bug.cgi?id=81789
2767
2768         Reviewed by Eric Seidel.
2769
2770         Reverting Accessibility hit testing code back to integers. Accessibility hit tests originate from
2771         the embedder and don't accumulate offsets, so we get nothing from using LayoutUnits, and needlessly
2772         expose them to the embedder.
2773
2774         No new tests. No change in behavior.
2775
2776         * accessibility/AccessibilityListBox.cpp:
2777         (WebCore::AccessibilityListBox::elementAccessibilityHitTest): See above.
2778         * accessibility/AccessibilityListBox.h:
2779         (AccessibilityListBox):
2780         * accessibility/AccessibilityObject.cpp:
2781         (WebCore::AccessibilityObject::clickPoint): This value is only ever used to display a context menu,
2782         which is always done with integer coordinates.
2783         (WebCore::AccessibilityObject::boundingBoxForQuads): This is a bounding box built from floats. We
2784         don't pixel snap floats, so we return an integer bounding box.
2785         (WebCore::AccessibilityObject::elementAccessibilityHitTest): See above.
2786         (WebCore::AccessibilityObject::scrollToMakeVisible): Pixel snapping the bounding box and simplifying
2787         up the code to position it at (0,0).
2788         * accessibility/AccessibilityObject.h:
2789         (WebCore::AccessibilityObject::accessibilityHitTest): See above.
2790         (AccessibilityObject):
2791         (WebCore::AccessibilityObject::pixelSnappedBoundingBoxRect): Convenience method for embedder callers.
2792         * accessibility/AccessibilityRenderObject.cpp:
2793         (WebCore::AccessibilityRenderObject::visiblePositionForPoint): The point passed in here is comes from
2794         screen coordinates and originates in embedder code. Reverting it to take an integer.
2795         (WebCore::AccessibilityRenderObject::accessibilityImageMapHitTest): See above.
2796         (WebCore::AccessibilityRenderObject::accessibilityHitTest): See above.
2797         * accessibility/AccessibilityRenderObject.h:
2798         (AccessibilityRenderObject):
2799         * accessibility/AccessibilityScrollView.cpp:
2800         (WebCore::AccessibilityScrollView::accessibilityHitTest): See above.
2801         * accessibility/AccessibilityScrollView.h:
2802         (AccessibilityScrollView):
2803         * accessibility/AccessibilitySlider.cpp:
2804         (WebCore::AccessibilitySlider::elementAccessibilityHitTest): See above.
2805         * accessibility/AccessibilitySlider.h:
2806         (AccessibilitySlider):
2807
2808 2012-03-21  Ilya Tikhonovsky  <loislo@chromium.org>
2809
2810         Web Inspector: HeapProfiler: Heap snapshot worker has to report the errors to the front-end
2811         https://bugs.webkit.org/show_bug.cgi?id=81804
2812
2813         Sometimes the worker process of HeapSnapshot does some wrong thing and throw an Exception.
2814         At this momemnt we have no way to see the error in the front-end.
2815
2816         Reviewed by Yury Semikhatsky.
2817
2818         * English.lproj/localizedStrings.js:
2819         * inspector/front-end/HeapSnapshotProxy.js: check the exception field and dump it into front-end's console.
2820         (WebInspector.HeapSnapshotWorker.prototype._messageReceived):
2821         * inspector/front-end/HeapSnapshotWorkerDispatcher.js: catch the exception and transfer it's text to requester's side.
2822         (WebInspector.HeapSnapshotWorkerDispatcher.prototype.dispatchMessage):
2823
2824 2012-03-22  Carlos Garcia Campos  <cgarcia@bb-webkit-rel-64.local.igalia.com>
2825
2826         [GTK] Use the angle-bracket form to include wtf headers
2827         https://bugs.webkit.org/show_bug.cgi?id=81884
2828
2829         Reviewed by Eric Seidel.
2830
2831         Use #include <wtf/foo> instead of #include "foo".
2832
2833         * platform/graphics/freetype/FontPlatformData.h:
2834         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2835         * platform/gtk/DataObjectGtk.h:
2836         * platform/network/ResourceHandleInternal.h:
2837         * platform/network/soup/SocketStreamHandleSoup.cpp:
2838
2839 2012-03-22  Alexander Pavlov  <apavlov@chromium.org>
2840
2841         Web Inspector: Case of the elements of the xml document should be shown as it is in the console
2842         https://bugs.webkit.org/show_bug.cgi?id=81902
2843
2844         When registering a detached root, DOMAgent always presumes it is a node,
2845         while it can also be a document.
2846
2847         Reviewed by Vsevolod Vlasov.
2848
2849         Test: inspector/console/console-xml-document.html
2850
2851         * inspector/front-end/ConsoleMessage.js:
2852         (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsNode):
2853         * inspector/front-end/DOMAgent.js:
2854         (WebInspector.DOMAgent.prototype._setDetachedRoot):
2855
2856 2012-03-22  Vsevolod Vlasov  <vsevik@chromium.org>
2857
2858         Web Inspector: Introduce ScriptBound/ScriptUnbound events in ScriptMapping.
2859         https://bugs.webkit.org/show_bug.cgi?id=81904
2860
2861         Reviewed by Pavel Feldman.
2862
2863         This is another step on the way to cleaner BreakpointManager logic.
2864         Here we extract ScriptBound/ScriptUnbound events from UISourceCodeListChanged event.
2865         This allows us to handle script-uiSourceCode binding separately from
2866         uiSourceCode creation/deletion and to handle unbinding that was not
2867         possible at all before.
2868
2869         * inspector/front-end/CompilerScriptMapping.js:
2870         (WebInspector.CompilerScriptMapping.prototype._uiSourceCodesForSourceMap):
2871         (WebInspector.CompilerScriptMapping.prototype.addScript.get this):
2872         (WebInspector.CompilerScriptMapping.prototype.addScript):
2873         (WebInspector.CompilerScriptMapping.prototype.reset):
2874         * inspector/front-end/ResourceScriptMapping.js:
2875         (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeChanged):
2876         * inspector/front-end/ScriptMapping.js:
2877         (WebInspector.MainScriptMapping):
2878         (WebInspector.MainScriptMapping.prototype._updateLiveLocation):
2879         (WebInspector.MainScriptMapping.prototype._handleUISourceCodeListChanged):
2880         (WebInspector.MainScriptMapping.prototype._handleScriptBound):
2881         (WebInspector.MainScriptMapping.prototype._handleScriptUnbound):
2882         * inspector/front-end/SnippetsModel.js:
2883         (WebInspector.SnippetsScriptMapping.prototype.addScript.get this):
2884         (WebInspector.SnippetsScriptMapping.prototype._snippetAdded):
2885         (WebInspector.SnippetsScriptMapping.prototype._createUISourceCodeForScript):
2886         (WebInspector.SnippetsScriptMapping.prototype._snippetRemoved.get this):
2887         (WebInspector.SnippetsScriptMapping.prototype._snippetRemoved):
2888         (WebInspector.SnippetsScriptMapping.prototype.reset):
2889
2890 2012-03-22  Vineet Chaudhary  <rgf748@motorola.com>
2891
2892         https://bugs.webkit.org/show_bug.cgi?id=81893
2893         Remove custom bindings form ScriptProfileNode.idl of attribute type Array.
2894
2895         Reviewed by Kentaro Hara.
2896
2897         Replace [CustomGetter] Array with sequence<ScriptProfileNode>.
2898         To remove the custom bindings code.
2899
2900         Test: No new tests. LayoutTests/fast/profiler/* test are enough for this.
2901
2902         * bindings/js/JSScriptProfileNodeCustom.cpp: Removed custom function.
2903         (WebCore::JSScriptProfileNode::callUID):
2904         * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp: Removed custom function.
2905         (WebCore):
2906         * inspector/ScriptProfileNode.idl: Replaced Array with sequence<ScriptProfileNode>.
2907
2908 2012-03-22  Andrey Kosyakov  <caseq@chromium.org>
2909
2910         Web Inspector: only update timeline overview categories strips when these are visible
2911         https://bugs.webkit.org/show_bug.cgi?id=81903
2912
2913         Reviewed by Pavel Feldman.
2914
2915         - factor out category strips update into a separate method;
2916         - only invoke it when "Timeline" overview mode is selected.
2917
2918         * inspector/front-end/TimelineOverviewPane.js:
2919         (WebInspector.TimelineOverviewPane.prototype._showTimelines):
2920         (WebInspector.TimelineOverviewPane.prototype.update):
2921         (WebInspector.TimelineOverviewPane.prototype._updateCategoryStrips):
2922
2923 2012-03-22  Levi Weintraub  <leviw@chromium.org>
2924
2925         Update LayoutUnit usage in FrameSelection
2926         https://bugs.webkit.org/show_bug.cgi?id=81754
2927
2928         Reviewed by Eric Seidel.
2929
2930         FrameSelection stores its caret and repaint bounds in absolute coordinates. Absolute coordinates
2931         we treat as pixel values, so this patch changes these values to integers. Sub-pixel precision
2932         will still be used when these coordinates are passed down and used locally.
2933
2934         No new tests. No change in behavior.
2935
2936         * editing/FrameSelection.cpp:
2937         (WebCore::absoluteCaretY): Uses absolute coordinates, which are ints.
2938         (WebCore::FrameSelection::modify): Uses absolute coordinates to handle vertical selection
2939         modification. Sub-pixel precision will be used when these values are converted to local ones.
2940         (WebCore::CaretBase::absoluteBoundsForLocalRect): Absolute coordinates -> ints.
2941         (WebCore::FrameSelection::absoluteCaretBounds): Ditto.
2942         (WebCore::CaretBase::caretRepaintRect): The caret repaint rect is stored in absolute coordinates.
2943         Reverting the values to ints.
2944         (WebCore::FrameSelection::recomputeCaretRect): Ditto.
2945         * editing/FrameSelection.h:
2946         (FrameSelection):
2947         * editing/mac/FrameSelectionMac.mm:
2948         (WebCore::FrameSelection::notifyAccessibilityForSelectionChange): Switching to store absolute
2949         coordinates as integers.
2950
2951 2012-03-22  Alexei Filippov  <alexeif@chromium.org>
2952
2953         Web Inspector: Speed up the build retainers phase.
2954         https://bugs.webkit.org/show_bug.cgi?id=81763
2955
2956         Replacing the edge iterator with a raw loop makes it
2957         faster by more than 10 times.
2958
2959         Reviewed by Yury Semikhatsky.
2960
2961         * inspector/front-end/HeapSnapshot.js:
2962         (WebInspector.HeapSnapshot.prototype._buildRetainers):
2963
2964 2012-03-22  No'am Rosenthal  <noam.rosenthal@nokia.com>
2965
2966         [Qt][WK2] The background appears to have one extra pixel from the contents
2967         https://bugs.webkit.org/show_bug.cgi?id=81830
2968
2969         Reviewed by Kenneth Rohde Christiansen.
2970
2971         TextureMapperGL applied a 1-offset that was covering for another bug,
2972         which was already fixed.
2973
2974         No new tests, this would be tested once we test GL rendering results.
2975
2976         * platform/graphics/texmap/TextureMapperGL.cpp:
2977         (WebCore::TextureMapperGLData::SharedGLData::scissorClip):
2978
2979 2012-03-22  W. James MacLean  <wjmaclean@chromium.org>
2980
2981         Rename touchpad fling curve, add curve parameters to constructor.
2982         https://bugs.webkit.org/show_bug.cgi?id=81820
2983
2984         Reviewed by Adrienne Walker.
2985
2986         Covered by existing unit tests.
2987
2988         * GNUmakefile.list.am:
2989         * WebCore.gypi:
2990         * platform/ScrollAnimatorNone.cpp:
2991         (WebCore::ScrollAnimatorNone::fireUpAnAnimation):
2992         * platform/TouchpadFlingPlatformGestureCurve.cpp: Renamed from Source/WebCore/platform/TouchFlingPlatformGestureCurve.cpp.
2993         (WebCore):
2994         (WebCore::TouchpadFlingPlatformGestureCurve::create):
2995         (WebCore::TouchpadFlingPlatformGestureCurve::TouchpadFlingPlatformGestureCurve):
2996         (WebCore::TouchpadFlingPlatformGestureCurve::~TouchpadFlingPlatformGestureCurve):
2997         (WebCore::TouchpadFlingPlatformGestureCurve::apply):
2998         * platform/TouchpadFlingPlatformGestureCurve.h: Renamed from Source/WebCore/platform/TouchFlingPlatformGestureCurve.h.
2999         (WebCore):
3000         (TouchpadFlingPlatformGestureCurve):
3001
3002 2012-03-22  Pavel Feldman  <pfeldman@chromium.org>
3003
3004         Web Inspector: make CSS and JavaScript files editable by default.
3005         https://bugs.webkit.org/show_bug.cgi?id=81787
3006
3007         Reviewed by Vsevolod Vlasov.
3008
3009         This change removes cancelEditing and setReadOnly capabilities from source frame.
3010         It removes dblclick handler as well since one does not need to enter editing mode.
3011         It also establishes proper content dispatching so that views are updated with the
3012         resource content. All these are inter-dependent, need to be landed simultaneously.
3013         Drive-by follow up to the r111675 where range is modified prior to the exiting
3014         edit mode.
3015
3016         * inspector/front-end/JavaScriptSourceFrame.js:
3017         (WebInspector.JavaScriptSourceFrame):
3018         (WebInspector.JavaScriptSourceFrame.prototype.requestContent):
3019         (WebInspector.JavaScriptSourceFrame.prototype.afterTextChanged):
3020         (WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
3021         (WebInspector.JavaScriptSourceFrame.prototype.didEditContent):
3022         (WebInspector.JavaScriptSourceFrame.prototype._lineNumberAfterEditing):
3023         * inspector/front-end/ResourceView.js:
3024         (WebInspector.ResourceSourceFrame):
3025         (WebInspector.ResourceSourceFrame.prototype.suggestedFileName):
3026         (WebInspector.ResourceSourceFrame.prototype._contentChanged):
3027         (WebInspector.EditableResourceSourceFrame.prototype.canEditSource):
3028         (WebInspector.EditableResourceSourceFrame.prototype.editContent.callbackWrapper):
3029         (WebInspector.EditableResourceSourceFrame.prototype.editContent):
3030         (WebInspector.EditableResourceSourceFrame.prototype._contentChanged):
3031         * inspector/front-end/ResourcesPanel.js:
3032         (WebInspector.ResourcesPanel.prototype._innerShowView):
3033         (WebInspector.FrameResourceTreeElement.prototype._appendRevision):
3034         * inspector/front-end/ScriptsPanel.js:
3035         (WebInspector.ScriptsPanel.prototype.setScriptSourceIsDirty):
3036         * inspector/front-end/Settings.js:
3037         (WebInspector.ExperimentsSettings):
3038         * inspector/front-end/SourceFrame.js:
3039         (WebInspector.SourceFrame):
3040         (WebInspector.SourceFrame.prototype.wasShown):
3041         (WebInspector.SourceFrame.prototype.willHide):
3042         (WebInspector.SourceFrame.prototype.beforeTextChanged):
3043         (WebInspector.SourceFrame.prototype.setContent):
3044         (WebInspector.SourceFrame.prototype.commitEditing):
3045         (WebInspector.SourceFrame.prototype.didEditContent):
3046         (WebInspector.SourceFrame.prototype.editContent):
3047         * inspector/front-end/TextPrompt.js:
3048         (WebInspector.TextPrompt.prototype._startEditing):
3049         (WebInspector.TextPrompt.prototype._stopEditing):
3050         * inspector/front-end/TextViewer.js:
3051         (WebInspector.TextViewer):
3052         (WebInspector.TextViewer.prototype._registerShortcuts):
3053         (WebInspector.TextEditorMainPanel.prototype.handleEnterKey):
3054
3055 2012-03-22  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
3056
3057         [Qt] Enable FAST_MOBILE_SCROLLING when scrolling is delegated.
3058         https://bugs.webkit.org/show_bug.cgi?id=81889
3059
3060         Reviewed by Kenneth Rohde Christiansen.
3061
3062         On the Qt platform only enable the fast mobile scroll feature when scrolling is delegated.
3063
3064         * rendering/RenderObject.cpp:
3065         (WebCore::RenderObject::styleWillChange):
3066
3067 2012-03-22  Pavel Feldman  <pfeldman@chromium.org>
3068
3069         Web Inspector: dispatch styleSheetChanged event synchronously.
3070         https://bugs.webkit.org/show_bug.cgi?id=81892
3071
3072         Reviewed by Vsevolod Vlasov.
3073
3074         Today, backend generates stylesheet change event synchronously from within set* command.
3075         But CSSStyleModel defers its dispatching until the stylesheet content is available. This
3076         prevents us from ignoring update events from within commands that initiated those updates.
3077
3078         This change makes stylesheet change event dispatch synchronously and delegates stylesheet
3079         content fetching to the event client.
3080
3081         * inspector/front-end/CSSStyleModel.js:
3082         (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged):
3083         (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
3084         (WebInspector.CSSStyleModelResourceBinding.prototype.setContent):
3085         (WebInspector.CSSStyleModelResourceBinding.prototype._innerSetContent.callbackWrapper):
3086         (WebInspector.CSSStyleModelResourceBinding.prototype._innerSetContent):
3087         (WebInspector.CSSStyleModelResourceBinding.prototype._styleSheetChanged.callback):
3088         (WebInspector.CSSStyleModelResourceBinding.prototype._styleSheetChanged):
3089         (WebInspector.CSSStyleModelResourceBinding.prototype._innerStyleSheetChanged):
3090
3091 2012-03-21  Ian Vollick  <vollick@chromium.org>
3092
3093         [chromium] timing functions are getting incorrectly applied for accelerated css transitions
3094         https://bugs.webkit.org/show_bug.cgi?id=81692
3095
3096         Reviewed by Adrienne Walker.
3097
3098         Tested in CCLayerTreeHostTestAddAnimationWithTimingFunction
3099
3100         * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
3101
3102 2012-03-22  Pavel Feldman  <pfeldman@chromium.org>
3103
3104         Web Inspector: allow on-hover popover while in edit mode.
3105         https://bugs.webkit.org/show_bug.cgi?id=81898
3106
3107         Reviewed by Vsevolod Vlasov.
3108
3109         This change allows popover while in-edit mode, hides it upon Esc. It also introduces anchorOverride
3110         concept in ObjectPopoverHelper that allows dynamically switching the anchor (say if we want to highlight anchor itself).
3111
3112         * inspector/front-end/DetailedHeapshotView.js:
3113         * inspector/front-end/ElementsPanel.js:
3114         * inspector/front-end/JavaScriptSourceFrame.js:
3115         (WebInspector.JavaScriptSourceFrame.prototype._resolveObjectForPopover.showObjectPopover):
3116         (WebInspector.JavaScriptSourceFrame.prototype._resolveObjectForPopover):
3117         (WebInspector.JavaScriptSourceFrame.prototype._onKeyDown):
3118         * inspector/front-end/NetworkPanel.js:
3119         * inspector/front-end/ObjectPopoverHelper.js:
3120         (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover.showObjectPopover.):
3121         (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover):
3122         * inspector/front-end/Popover.js:
3123         (WebInspector.PopoverHelper.prototype.isPopoverVisible):
3124         * inspector/front-end/TimelinePanel.js:
3125
3126 2012-03-22  Pavel Feldman  <pfeldman@chromium.org>
3127
3128         Web Inspector: breakpoints should shift when line break is inserted in the middle of the line.
3129         https://bugs.webkit.org/show_bug.cgi?id=81896
3130
3131         Reviewed by Vsevolod Vlasov.
3132
3133         There is a bug that collapses selection prior to exiting change mode, we should never
3134         collapse edit area prior committing.
3135
3136         * inspector/front-end/TextEditorModel.js:
3137         (WebInspector.TextEditorModel.endsWithBracketRegex.):
3138         * inspector/front-end/TextViewer.js:
3139         (WebInspector.TextViewer):
3140         (WebInspector.TextEditorMainPanel.prototype.highlightLine):
3141         (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo.callback):
3142         (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo):
3143
3144 2012-03-22  Zoltan Herczeg  <zherczeg@webkit.org>
3145
3146         Merge SVGImageBufferTools to SVGRenderingContext
3147         https://bugs.webkit.org/show_bug.cgi?id=81890
3148
3149         Reviewed by Nikolas Zimmermann.
3150
3151         Copy the code to SVGRenderingContext and delete
3152         SVGImageBufferTools[.cpp.h]. Update build systems,
3153         no functionality change. This is the first step
3154         towards making SVGImageBufferTools stageful.
3155
3156         Existing tests cover this issue.
3157
3158         * CMakeLists.txt:
3159         * GNUmakefile.list.am:
3160         * Target.pri:
3161         * WebCore.gypi:
3162         * WebCore.xcodeproj/project.pbxproj:
3163         * platform/graphics/filters/FETile.cpp:
3164         (WebCore::FETile::platformApplySoftware):
3165         * rendering/svg/RenderSVGAllInOne.cpp:
3166         * rendering/svg/RenderSVGInlineText.cpp:
3167         (WebCore::RenderSVGInlineText::computeNewScaledFontForStyle):
3168         * rendering/svg/RenderSVGResourceClipper.cpp:
3169         (WebCore::RenderSVGResourceClipper::applyClippingToContext):
3170         (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
3171         * rendering/svg/RenderSVGResourceFilter.cpp:
3172         (WebCore::RenderSVGResourceFilter::applyResource):
3173         * rendering/svg/RenderSVGResourceGradient.cpp:
3174         (WebCore::createMaskAndSwapContextForTextGradient):
3175         (WebCore::clipToTextMask):
3176         * rendering/svg/RenderSVGResourceMasker.cpp:
3177         (WebCore::RenderSVGResourceMasker::applyResource):
3178         (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
3179         * rendering/svg/RenderSVGResourcePattern.cpp:
3180         (WebCore::RenderSVGResourcePattern::applyResource):
3181         (WebCore::RenderSVGResourcePattern::createTileImage):
3182         * rendering/svg/SVGImageBufferTools.cpp: Removed.
3183         * rendering/svg/SVGImageBufferTools.h: Removed.
3184         * rendering/svg/SVGInlineTextBox.cpp:
3185         * rendering/svg/SVGRenderingContext.cpp:
3186         (WebCore::currentContentTransformation):
3187         (WebCore):
3188         (WebCore::SVGRenderingContext::calculateTransformationToOutermostSVGCoordinateSystem):
3189         (WebCore::SVGRenderingContext::createImageBuffer):
3190         (WebCore::SVGRenderingContext::createImageBufferForPattern):
3191         (WebCore::SVGRenderingContext::renderSubtreeToImageBuffer):
3192         (WebCore::SVGRenderingContext::clipToImageBuffer):
3193         (WebCore::SVGRenderingContext::clampedAbsoluteTargetRect):
3194         (WebCore::SVGRenderingContext::clampedAbsoluteSize):
3195         (WebCore::SVGRenderingContext::clear2DRotation):
3196         * rendering/svg/SVGRenderingContext.h:
3197         (SVGRenderingContext):
3198         (WebCore::SVGRenderingContext::calculateImageBufferRect):
3199         * svg/graphics/filters/SVGFEImage.cpp:
3200         (WebCore::FEImage::platformApplySoftware):
3201
3202 2012-03-22  Hyowon Kim  <hw1008.kim@samsung.com>
3203
3204         [EFL] Add PageClientEfl to WebCoreSupport.
3205         https://bugs.webkit.org/show_bug.cgi?id=80748
3206
3207         Reviewed by Noam Rosenthal.
3208
3209         * platform/Widget.h: Use PageClientEfl as type for PlatformPageClient.
3210         (WebCore):
3211         * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
3212         (WebCore::GraphicsContext3DPrivate::createSurface): Change the argument type.
3213         * plugins/efl/PluginViewEfl.cpp:
3214         (WebCore::PluginView::platformGetValue): Use PageClientEfl.
3215
3216 2012-03-22  Kaustubh Atrawalkar  <kaustubh@motorola.com>
3217
3218         blur() on shadow host should work when a shadow host contains a focused element in its shadow DOM subtrees
3219         https://bugs.webkit.org/show_bug.cgi?id=81102
3220
3221         Reviewed by Hajime Morita.
3222
3223         This implementation will support blur for a focused element when its shadowHost's blur() is called.
3224         To achieve this Element::blur() function is modified to blur the focused node in it's treeScope.
3225
3226         Test: fast/dom/shadow/shadow-root-blur.html
3227
3228         * dom/Element.cpp:
3229         (WebCore::Element::blur): Modified to blur current treeScope's focused node.
3230         * dom/ShadowRoot.h:
3231         (WebCore::ShadowRoot::activeElement): Rework for code sharing.
3232         * dom/TreeScope.cpp:
3233         (WebCore::TreeScope::focusedNode): Added new function to share code for getting focused node.
3234         * dom/TreeScope.h:
3235         (TreeScope): New function declartion.
3236         * html/HTMLDocument.cpp:
3237         (WebCore::HTMLDocument::activeElement): Rework for code sharing.
3238
3239 2012-03-22  Vsevolod Vlasov  <vsevik@chromium.org>
3240
3241         Web Inspector: RawSourceCode does not need uiSourceCode lists because it never has more than one.
3242         https://bugs.webkit.org/show_bug.cgi?id=81894
3243
3244         RawSourceCode never has more than one uiSourceCode, uiSourceCodeList
3245         are just remains of older implementation. This patch switches RawSourceCode
3246         and SourceMappings from uiSourceCodeList to uiSourceCode.
3247
3248         Reviewed by Pavel Feldman.
3249
3250         * inspector/front-end/RawSourceCode.js:
3251         (WebInspector.RawSourceCode.prototype.uiSourceCode):
3252         (WebInspector.RawSourceCode.prototype._saveSourceMapping):
3253         (WebInspector.RawSourceCode.SourceMapping.prototype.uiLocationToRawLocation):
3254         (WebInspector.RawSourceCode.SourceMapping.prototype.uiSourceCode):
3255         (WebInspector.RawSourceCode.PlainSourceMapping):
3256         (WebInspector.RawSourceCode.PlainSourceMapping.prototype.rawLocationToUILocation):
3257         (WebInspector.RawSourceCode.PlainSourceMapping.prototype.uiLocationToRawLocation):
3258         (WebInspector.RawSourceCode.PlainSourceMapping.prototype.uiSourceCode):
3259         (WebInspector.RawSourceCode.FormattedSourceMapping):
3260         (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.rawLocationToUILocation):
3261         (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.uiLocationToRawLocation):
3262         (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.uiSourceCode):
3263         * inspector/front-end/ResourceScriptMapping.js:
3264         (WebInspector.ResourceScriptMapping.prototype.uiSourceCodeList):
3265         (WebInspector.ResourceScriptMapping.prototype.addScript):
3266         (WebInspector.ResourceScriptMapping.prototype._handleUISourceCodeChanged):
3267         (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeChanged):
3268         (WebInspector.ResourceScriptMapping.prototype.reset):
3269
3270 2012-03-22  Mario Sanchez Prada  <msanchez@igalia.com>
3271
3272         [GTK] Fix the only remaining coding style issue in GTK accessibility code
3273         https://bugs.webkit.org/show_bug.cgi?id=81885
3274
3275         Reviewed by Xan Lopez.
3276
3277         Add needed extra line and remove an unneeded one.
3278
3279         * accessibility/gtk/AccessibilityObjectAtk.cpp:
3280
3281 2012-03-22  Kent Tamura  <tkent@chromium.org>
3282
3283         Expand RenderTextControlSingleLine::controlClipRect() to contain contentRect().
3284         https://bugs.webkit.org/show_bug.cgi?id=81866
3285
3286         Reviewed by Hajime Morita.
3287
3288         We need to expand the controlClipRect because the existing shadow
3289         tree of a text field can be wrapped by another shadow tree. e.g.
3290
3291         A current situation:
3292
3293         <input>
3294           ┗ ShadowRoot
3295              ┗ container element
3296         ┌────────────┐<input>'s border box
3297         │┌──────────┐│
3298         ││container box       ││
3299         │└──────────┘│
3300         └────────────┘
3301
3302         Wrapped by another ShadowRoot:
3303
3304         <input>
3305           ┗ New ShadowRoot
3306              ┣ <shadow> represents the existing shadow tree
3307              ┃  ┗ container element
3308              ┗ D: an additional decoration element
3309         ┌────────────┐<input>'s border box
3310         │┌───────┬──┐│
3311         ││container box │ D  ││
3312         │└───────┴──┘│
3313         └────────────┘
3314         In this case, if we clip child renderers by container box, D is not
3315         drawn. We should clip by the content box of the <input>.
3316
3317         A search field has an exceptional behavior. It can have the container
3318         box of which height is taller than the content box height. The
3319         controlClipRect should contain both of the container box and the content
3320         box in this case. In other cases, the container box is equivalent to the
3321         content box. So the code always unites them.
3322
3323         No new tests. This won't make any behavior change for now.
3324
3325         * rendering/RenderTextControlSingleLine.cpp:
3326         (WebCore::RenderTextControlSingleLine::controlClipRect):
3327
3328 2012-03-22  Yoshifumi Inoue  <yosin@chromium.org>
3329
3330         [Forms] The option element should not be form associated element.
3331         https://bugs.webkit.org/show_bug.cgi?id=79764
3332
3333         Reviewed by Kent Tamura.
3334
3335         This patch changes base class of HTMLOptionELement to HTMLElement
3336         from HTMLFormControlElement for saving memory space and iteration
3337         time of extra "option" elements in HTMLFormElement::m_formAssociatedElements
3338         and matching the HTML5 specification for ease of maintenance.
3339
3340         This patch changes behavior of handling of CSS pseudo classes "invalid"
3341         and "valid". The "option" elements no longer use these CSS pseudo classes
3342         as HTML5 specification. This bug was filed in https://bugs.webkit.org/show_bug.cgi?id=80088
3343
3344         Changes of TextIterator is lead by usage of isFormControlElement. This
3345         changes will be replaced with more meaningful predicate as part of
3346         https://bugs.webkit.org/show_bug.cgi?id=80381
3347
3348         No new tests but updated select-live-pseudo-selectors.html test.
3349
3350         * css/CSSStyleSelector.cpp:
3351         (WebCore::CSSStyleSelector::canShareStyleWithElement): Added checking of the "option" element and returns false as HTMLFormControlElement.
3352         * css/SelectorChecker.cpp:
3353         (WebCore::SelectorChecker::checkOneSelector): Removed isFormControlElement for PseudoDisabled and PseudoChecked.
3354         * html/HTMLKeygenElement.cpp:
3355         (WebCore::HTMLKeygenElement::HTMLKeygenElement): Removed form parameter of call site of HTMLOptionElement::create.
3356         * html/HTMLOptionElement.cpp:
3357         (WebCore::HTMLOptionElement::HTMLOptionElement): Removed form parameter which no longer needed. Changed base class in initialization list. Added m_disabled initialization.
3358         (WebCore::HTMLOptionElement::create): Removed form parameter which no longer needed.
3359         (WebCore::HTMLOptionElement::attach): Changeid base class.
3360         (WebCore::HTMLOptionElement::detach): Changed base class.
3361         (WebCore::HTMLOptionElement::parseAttribute): Changed base class. Added "disabled" attribute handling.
3362         (WebCore::HTMLOptionElement::childrenChanged): Changed base class.
3363         (WebCore::HTMLOptionElement::insertedIntoTree): Changed base class.
3364         * html/HTMLOptionElement.h:
3365         (HTMLOptionElement): Added new member variable m_disabled which was in HTMLFormControlElement.
3366         (WebCore::HTMLOptionElement::ownElementDisabled): Changed for using m_disabled.
3367         * html/HTMLTagNames.in: Removed constructorNeedsFormElement for the "option" element, which was used for passing form parameter to create function.
3368
3369 2012-03-21  Pavel Podivilov  <podivilov@chromium.org>
3370
3371         Web Inspector: rename ClosureCompilerSourceMapping to SourceMapParser and move it to CompilerScriptMapping.js.
3372         https://bugs.webkit.org/show_bug.cgi?id=81780
3373
3374         Reviewed by Pavel Feldman.
3375
3376         * WebCore.gypi:
3377         * WebCore.vcproj/WebCore.vcproj:
3378         * inspector/compile-front-end.py:
3379         * inspector/front-end/CompilerScriptMapping.js:
3380         (WebInspector.CompilerScriptMapping.prototype.loadSourceMapForScript):
3381         (WebInspector.SourceMapParserPayload):
3382         (WebInspector.SourceMapParser):
3383         (WebInspector.SourceMapParser.prototype.load):
3384         (WebInspector.SourceMapParser.prototype.compiledLocationToSourceLocation):
3385         (WebInspector.SourceMapParser.prototype.sourceLocationToCompiledLocation):
3386         (WebInspector.SourceMapParser.prototype.sources):
3387         (WebInspector.SourceMapParser.prototype.loadSourceCode):
3388         (WebInspector.SourceMapParser.prototype._findMapping):
3389         (WebInspector.SourceMapParser.prototype._parseMappingPayload):
3390         (WebInspector.SourceMapParser.prototype._parseSections):
3391         (WebInspector.SourceMapParser.prototype._parseMap):
3392         (WebInspector.SourceMapParser.prototype._isSeparator):
3393         (WebInspector.SourceMapParser.prototype._decodeVLQ):
3394         (WebInspector.SourceMapParser.prototype._canonicalizeURL):
3395         (WebInspector.SourceMapParser.StringCharIterator):
3396         (WebInspector.SourceMapParser.StringCharIterator.prototype.next):
3397         (WebInspector.SourceMapParser.StringCharIterator.prototype.peek):
3398         (WebInspector.SourceMapParser.StringCharIterator.prototype.hasNext):
3399         * inspector/front-end/CompilerSourceMapping.js: Removed.
3400         * inspector/front-end/WebKit.qrc:
3401         * inspector/front-end/inspector.html:
3402
3403 2012-03-21  Vsevolod Vlasov  <vsevik@chromium.org>
3404
3405         Web Inspector: IndexedDB transaction is not closed when requesting data.
3406         https://bugs.webkit.org/show_bug.cgi?id=81837
3407
3408         Reviewed by Pavel Feldman.
3409
3410         * inspector/InspectorIndexedDBAgent.cpp: Added missing IDBCursorBackendInterface::postSuccessHandlerCallback() call.
3411         (WebCore):
3412
3413 2012-03-21  Yury Semikhatsky  <yurys@chromium.org>
3414
3415         Web Inspector: event listeners section is broken for about:blank page
3416         https://bugs.webkit.org/show_bug.cgi?id=81795
3417
3418         Parse about:blank as a valid URL.
3419
3420         Reviewed by Pavel Feldman.
3421
3422         Test: inspector/elements/event-listeners-about-blank.html
3423
3424         * inspector/front-end/utilities.js:
3425         (String.prototype.asParsedURL):
3426
3427 2012-03-21  Dan Bernstein  <mitz@apple.com>
3428
3429         REGRESSION (r111635): Assertion failure in RenderFlexibleBox::layoutFlexItems() (!lineContexts.size()) in many flexbox tests
3430         https://bugs.webkit.org/show_bug.cgi?id=81870
3431
3432         Reverted r111635, the fix for bug 81843.
3433
3434         * rendering/RenderFlexibleBox.cpp:
3435         (WebCore::RenderFlexibleBox::WrapReverseContext::WrapReverseContext):
3436         (WebCore::RenderFlexibleBox::WrapReverseContext::addCrossAxisOffset):
3437         (RenderFlexibleBox::WrapReverseContext):
3438         (WebCore::RenderFlexibleBox::WrapReverseContext::addNumberOfChildrenOnLine):
3439         (WebCore::RenderFlexibleBox::WrapReverseContext::lineCrossAxisDelta):
3440         (WebCore::RenderFlexibleBox::layoutFlexItems):
3441         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
3442         (WebCore::RenderFlexibleBox::alignChildren):
3443         (WebCore::RenderFlexibleBox::flipForWrapReverse):
3444         * rendering/RenderFlexibleBox.h:
3445
3446 2012-03-21  Emil A Eklund  <eae@chromium.org>
3447
3448         Unreviewed change touching CustomFilterProgram.h to try
3449         to force the chromium-win bots to rebuilt it and pick up
3450         on the fact that CSS_SHADERS is not set (since r111610). 
3451
3452         * platform/graphics/filters/CustomFilterProgram.h:
3453
3454 2012-03-21  Vangelis Kokkevis  <vangelis@chromium.org>
3455
3456         [chromium] FPS counter causes garbage to be displayed at top left corner
3457         https://bugs.webkit.org/show_bug.cgi?id=81851
3458
3459         The HUD expects the PlatformCanvas it paints on to be cleared on creation which is
3460         no longer true after http://src.chromium.org/viewvc/chrome?view=rev&revision=127196 .
3461         This patch does an explicit clearRect before the HUD contents are painted.
3462
3463         Reviewed by Adrienne Walker.
3464