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