c3aabe1db01cff754226f716984ead0853c0918a
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-03-26  Rob Arnold  <robarnold@fb.com>
2
3         SyntheticStyleCalc on an element should not force recalculation on its children
4         https://bugs.webkit.org/show_bug.cgi?id=79389
5
6         Reviewed by Simon Fraser.
7
8         No new tests. Existing tests cover correctness, not sure how to test for performance.
9
10         * dom/Element.cpp:
11         (WebCore::Element::recalcStyle):
12
13 2012-03-26  Tony Chang  <tony@chromium.org>
14
15         apply cross axis constraints before aligning children in flexbox
16         https://bugs.webkit.org/show_bug.cgi?id=82240
17
18         Reviewed by Ojan Vafai.
19
20         We weren't applying max-height constraints before aligning children.
21         This would cause center, end, stretch alignment to be wrong if we hit
22         a max-height on a flexbox.
23
24         This patch also moves the repositioning logic to happen after
25         computeLogicalHeight, which will be useful for flex-line-pack.
26
27         New test case in css3/flexbox/flex-align.html
28
29         * rendering/RenderFlexibleBox.cpp:
30         (WebCore::RenderFlexibleBox::layoutBlock):
31         (WebCore::RenderFlexibleBox::layoutFlexItems):
32         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
33         * rendering/RenderFlexibleBox.h:
34
35 2012-03-26  Anders Carlsson  <andersca@apple.com>
36
37         Find in page overlay and bouncy are not always positioned correctly
38         https://bugs.webkit.org/show_bug.cgi?id=82247
39         <rdar://problem/10866139>
40
41         Reviewed by Sam Weinig.
42
43         In WebCore, a lot of code depends on scroll position updates to happen synchronously, so
44         update the frame view scroll position before asking the scrolling thread to scroll.
45
46         * page/scrolling/ScrollingCoordinator.cpp:
47         (WebCore::ScrollingCoordinator::requestScrollPositionUpdate):
48
49 2012-03-26  Nate Chapin  <japhet@chromium.org>
50
51         Simplify setting loading state in DocumentLoader
52         https://bugs.webkit.org/show_bug.cgi?id=82099
53
54         Reviewed by Adam Barth.
55
56         The logic for deciding what to return for DocumentLoader::isLoading()
57         is crazy. It's indirectly based on the ResourceLoaders that have
58         registered themselves with the DocumentLoader, but we can make that
59         relationship more direct.
60
61         * loader/DocumentLoader.cpp:
62         (WebCore::DocumentLoader::checkLoadComplete): Renamed from updateLoading, since it's not actually
63             updating anything anymore. It now calls DOMWindow::finishedLoading() if loading is in fact done.
64         (WebCore::DocumentLoader::startLoadingMainResource): The only reason this had a return value was to call
65             updateLoading() if loading failed. Just call checkLoadComplete() directly (this allows it to
66             be private, whereas updateLoading() was public).
67         (WebCore::DocumentLoader::subresourceLoaderFinishedLoadingOnePart):
68         * loader/DocumentLoader.h:
69         (WebCore::DocumentLoader::isLoading): Rather than holding a separate bool, return based on the presence
70             of non-multipart ResourceLoaders directly.
71         * loader/FrameLoader.cpp:
72         (WebCore::FrameLoader::isLoading): Depend on DocumentLoader::isLoading() for the activeDocumentLoader(),
73             rather than indirectly the other way around.
74         (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Remove several assertions that should now be
75             absolutely identical to the remaining !pdl->isLoading().
76         (WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
77
78 2012-03-26  James Robinson  <jamesr@chromium.org>
79
80         Scrollable plugins not registered properly in ScrollingCoordinator
81         https://bugs.webkit.org/show_bug.cgi?id=82163
82
83         Reviewed by Anders Carlsson.
84
85         Plugins may be scrollable, so we have to add them in the non-fast scrollable region. Tested manually.
86
87         * page/scrolling/ScrollingCoordinator.cpp:
88         (WebCore::computeNonFastScrollableRegion):
89         (WebCore::ScrollingCoordinator::nonFastScrollableRegion):
90         (WebCore):
91         * page/scrolling/ScrollingCoordinator.h:
92         (ScrollingCoordinator):
93         * plugins/PluginViewBase.h:
94         (WebCore::PluginViewBase::scrollable):
95         (PluginViewBase):
96
97 2012-03-26  Joone Hur  <joone.hur@collabora.co.uk>
98
99         [GTK] Build fix for Accelerated Compositing with Clutter
100         https://bugs.webkit.org/show_bug.cgi?id=81785
101
102         Reviewed by Martin Robinson.
103
104         AcceleratedCompositingContext was introduced to isolate different accelerated 
105         compositing implementations(r104194), but the Clutter implementation doesn't 
106         build with it. This includes an initial implementation of GraphicsContext3D 
107         and fixes the build error.
108
109         * GNUmakefile.list.am:
110         * platform/graphics/clutter/DrawingBufferClutter.cpp: Added.
111         (WebCore):
112         (WebCore::DrawingBuffer::DrawingBuffer):
113         (WebCore::DrawingBuffer::~DrawingBuffer):
114         (WebCore::DrawingBuffer::platformColorBuffer):
115         (WebCore::DrawingBuffer::paintCompositedResultsToCanvas):
116         * platform/graphics/clutter/GraphicsContext3DClutter.cpp: Added.
117         (WebCore):
118         (WebCore::GraphicsContext3D::create):
119         (WebCore::GraphicsContext3D::GraphicsContext3D):
120         (WebCore::GraphicsContext3D::~GraphicsContext3D):
121         (WebCore::GraphicsContext3D::getImageData):
122         (WebCore::GraphicsContext3D::paintToCanvas):
123         (WebCore::GraphicsContext3D::setContextLostCallback):
124         (WebCore::GraphicsContext3D::setErrorMessageCallback):
125         (WebCore::GraphicsContext3D::makeContextCurrent):
126         (WebCore::GraphicsContext3D::platformGraphicsContext3D):
127         (WebCore::GraphicsContext3D::isGLES2Compliant):
128         (WebCore::GraphicsContext3D::platformLayer):
129         * platform/graphics/clutter/GraphicsContext3DPrivate.cpp: Added.
130         (WebCore):
131         (WebCore::GraphicsContext3DPrivate::create):
132         (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
133         (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
134         (WebCore::GraphicsContext3DPrivate::makeContextCurrent):
135         (WebCore::GraphicsContext3DPrivate::platformContext):
136         (WebCore::GraphicsContext3DPrivate::paintToGraphicsLayerActor):
137         * platform/graphics/clutter/GraphicsContext3DPrivate.h: Added.
138         (WebCore):
139         (GraphicsContext3DPrivate):
140         (WebCore::GraphicsContext3DPrivate::platformLayer):
141
142 2012-03-26  Peter Rybin  <prybin@chromium.org>
143
144         Web Inspector: Expose InspectorTypeBuilder.h to other components
145         https://bugs.webkit.org/show_bug.cgi?id=82226
146
147         Reviewed by Vsevolod Vlasov.
148
149         This is a provisional commit that simplifies passing ealy warning system
150         for the main patch https://bugs.webkit.org/show_bug.cgi?id=81558
151
152         * WebCore.xcodeproj/project.pbxproj: config file is changed in Xcode UI.
153
154 2012-03-26  Antaryami Pandia  <antaryami.pandia@motorola.com>
155
156         An <area> element remains focusable even though its associated <img> is not rendered.
157         https://bugs.webkit.org/show_bug.cgi?id=71788
158
159         Reviewed by Andy Estes.
160
161         HTMLAreaElement::isFocusable() needs to consider the display and
162         visibility state.
163
164         Test: fast/events/tab-test-not-visible-imagemap.html
165
166         * html/HTMLAreaElement.cpp:
167         (WebCore::HTMLAreaElement::imageElement):
168         (WebCore::HTMLAreaElement::isFocusable):
169         * html/HTMLAreaElement.h: Make imageElement() const.
170         (HTMLAreaElement):
171
172 2012-03-26  Anton Muhin  <antonm@chromium.org>
173
174         Fix a typo in IDL
175         https://bugs.webkit.org/show_bug.cgi?id=82215
176
177         Reviewed by Adam Barth.
178
179         No new tests, just a typo fix.
180
181         * notifications/WorkerContextNotifications.idl:
182
183 2012-03-26  W. James MacLean  <wjmaclean@chromium.org>
184
185         [chromium] Change handleGestureFling() to use CCInputHandlerClient::Wheel.
186         https://bugs.webkit.org/show_bug.cgi?id=82133
187
188         Reviewed by James Robinson.
189
190         Covered by existing unit tests.
191
192         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
193         (WebCore::CCLayerTreeHostImpl::scrollBegin):
194
195 2012-03-26  Mike Lawther  <mikelawther@chromium.org>
196
197         CSS3 calc: mixed percent/absolute for box-reflect
198         https://bugs.webkit.org/show_bug.cgi?id=82161
199
200         Reviewed by Ojan Vafai.
201
202         Tests: css3/calc/box-reflect-expected.html
203                css3/calc/box-reflect.html
204
205         * css/CSSStyleSelector.cpp:
206         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
207
208 2012-03-26  Mike Lawther  <mikelawther@chromium.org>
209
210         CSS3 calc: mixed percent/absolute support for vertical-align
211         https://bugs.webkit.org/show_bug.cgi?id=82152
212
213         Reviewed by Ojan Vafai.
214
215         Tests: css3/calc/vertical-align-expected.html
216                css3/calc/vertical-align.html
217
218         * css/CSSStyleApplyProperty.cpp:
219         (WebCore::ApplyPropertyVerticalAlign::applyValue):
220
221 2012-03-26  Filip Spacek  <fspacek@rim.com>
222
223         [BlackBerry] Accelerated compositing updates
224         https://bugs.webkit.org/show_bug.cgi?id=82058
225
226         Reviewed by Rob Buis.
227
228         * platform/graphics/blackberry/CanvasLayerWebKitThread.cpp:
229         (WebCore::CanvasLayerWebKitThread::CanvasLayerWebKitThread):
230         (WebCore::CanvasLayerWebKitThread::~CanvasLayerWebKitThread):
231         (WebCore::CanvasLayerWebKitThread::setDevice):
232         (WebCore::CanvasLayerWebKitThread::updateTextureContentsIfNeeded):
233         * platform/graphics/blackberry/CanvasLayerWebKitThread.h:
234         (WebCore::CanvasLayerWebKitThread::create):
235         (CanvasLayerWebKitThread):
236         * platform/graphics/blackberry/InstrumentedPlatformCanvas.h:
237         (WebCore::InstrumentedPlatformCanvas::InstrumentedPlatformCanvas):
238         (WebCore::InstrumentedPlatformCanvas::save):
239         (WebCore::InstrumentedPlatformCanvas::saveLayer):
240         (WebCore::InstrumentedPlatformCanvas::restore):
241         (WebCore::InstrumentedPlatformCanvas::translate):
242         (WebCore::InstrumentedPlatformCanvas::scale):
243         (WebCore::InstrumentedPlatformCanvas::rotate):
244         (WebCore::InstrumentedPlatformCanvas::skew):
245         (WebCore::InstrumentedPlatformCanvas::concat):
246         (WebCore::InstrumentedPlatformCanvas::setMatrix):
247         (WebCore::InstrumentedPlatformCanvas::clipRect):
248         (WebCore::InstrumentedPlatformCanvas::clipPath):
249         (WebCore::InstrumentedPlatformCanvas::clipRegion):
250         (WebCore::InstrumentedPlatformCanvas::clear):
251         (WebCore::InstrumentedPlatformCanvas::drawPaint):
252         (WebCore::InstrumentedPlatformCanvas::drawPoints):
253         (WebCore::InstrumentedPlatformCanvas::drawRect):
254         (WebCore::InstrumentedPlatformCanvas::drawPath):
255         (WebCore::InstrumentedPlatformCanvas::drawBitmap):
256         (WebCore::InstrumentedPlatformCanvas::drawBitmapRect):
257         (WebCore::InstrumentedPlatformCanvas::drawBitmapMatrix):
258         (WebCore::InstrumentedPlatformCanvas::drawSprite):
259         (WebCore::InstrumentedPlatformCanvas::drawText):
260         (WebCore::InstrumentedPlatformCanvas::drawPosText):
261         (WebCore::InstrumentedPlatformCanvas::drawPosTextH):
262         (WebCore::InstrumentedPlatformCanvas::drawTextOnPath):
263         (WebCore::InstrumentedPlatformCanvas::drawPicture):
264         (WebCore::InstrumentedPlatformCanvas::drawVertices):
265         (WebCore::InstrumentedPlatformCanvas::drawData):
266         * platform/graphics/blackberry/LayerData.h:
267         (WebCore::LayerData::LayerData):
268         (WebCore::LayerData::needsTexture):
269         (LayerData):
270         * platform/graphics/blackberry/LayerTiler.cpp:
271         (WebCore::LayerTiler::updateTextureContentsIfNeeded):
272         * platform/graphics/blackberry/LayerWebKitThread.cpp:
273         (WebCore::LayerWebKitThread::paintContents):
274         (WebCore::LayerWebKitThread::setDrawable):
275         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
276         (WebCore::loadBufferingImageData):
277         * platform/graphics/blackberry/skia/ImageBufferDataSkia.h: Renamed from Source/WebCore/platform/graphics/blackberry/skia/ImageBufferData.h.
278         (WebCore):
279         (ImageBufferData):
280
281 2012-03-26  Stephen Chenney  <schenney@chromium.org>
282
283         Failure to invalidate text position attributes when DOM changes
284         https://bugs.webkit.org/show_bug.cgi?id=81464
285
286         Reviewed by Nikolas Zimmermann.
287
288         The text positioning elements data structure in RenderSVGText must be
289         updated when either the children of the corresponding element are
290         modified, or the length of the text inside the elements changes.
291         Previously, the call to clear the text positioning elements (to force
292         recomputation) was guarded by a flag. If code tried to invalidate when
293         the flag was not set, then something set the flag, the elements would
294         be invalid at use time.
295
296         This patch modifies the method that invalidates the positining
297         attributes so that the action always happens. It also renames the
298         method to more accurately reflect its function.
299
300         Test: svg/custom/delete-modified-text-in-defs-crash.svg
301
302         * rendering/svg/RenderSVGInlineText.cpp:
303         (WebCore::RenderSVGInlineText::setTextInternal): Rename textDOMChanged to invalidateTextPositioningElements
304         * rendering/svg/RenderSVGText.cpp:
305         (WebCore::RenderSVGText::invalidateTextPositioningElements): Rename
306         textDOMChanged to invalidateTextPositioningElements and remove the check against the needsPosition... flag.
307         * rendering/svg/RenderSVGText.h:
308         (RenderSVGText): Rename textDOMChanged to invalidateTextPositioningElements
309         * svg/SVGAElement.cpp:
310         (WebCore::SVGAElement::childrenChanged): Rename textDOMChanged to invalidateTextPositioningElements
311         * svg/SVGTextContentElement.cpp:
312         (WebCore::SVGTextContentElement::childrenChanged): Rename textDOMChanged to invalidateTextPositioningElements
313
314 2012-03-26  Julien Chaffraix  <jchaffraix@webkit.org>
315
316         REGRESSION (r110065-r110080): fast/forms/placeholder-set-attribute.html is failing intermittently because WebKit fails to repaint after setting the placeholder attribute
317         https://bugs.webkit.org/show_bug.cgi?id=81802
318
319         Reviewed by Dan Bernstein.
320
321         Covered by fast/forms/placeholder-set-attribute.html which should be less flaky.
322
323         Unfortunately no new test case as this bug requires a very specific set of conditions that I couldn't reproduce deterministically.
324
325         This is a regression from r110072: RenderTextControlSingleLine would rely on the placeholder's RenderLayer to properly repaint during
326         the first layout as the placeholder has overflow: hidden set. r110072 removed the layer in this case and thus we miss a repaint.
327
328         * rendering/RenderTextControlSingleLine.cpp:
329         (WebCore::RenderTextControlSingleLine::layout):
330         For our first layout, we need to make sure our placeholder is painted. layoutBlockChild has a very similar logic to force repaint
331         on a first layout. We don't hit this logic as the placeholder is explicitly skipped in RenderTextControl::layoutSpecialExcludedChild.
332
333 2012-03-26  Julien Chaffraix  <jchaffraix@webkit.org>
334
335         REGRESSION(r110072): fast/forms/textfield-overflow.html is failing
336         https://bugs.webkit.org/show_bug.cgi?id=80531
337
338         Reviewed by Ojan Vafai.
339
340         Tested by fast/forms/textfield-overflow.html (re-enabled after this change).
341
342         The existing code would happily query layout information before calling layout (FTW!).
343         The solution is to properly layout our object, then modify some dimensions as needed while
344         marking ourself as needing layout and then layouting again.
345
346         * rendering/RenderTextControlSingleLine.cpp:
347         (WebCore::RenderTextControlSingleLine::layout):
348         Implemented a proper 2 pass layout algorithm. Removed the |relayoutChildren| logic as:
349         - layoutBlock handles automatically logical height changes.
350         - we were not modifying the logical width between layouts so we don't need to force a
351         child relayout in this case.
352
353 2012-03-26  Robin Cao  <robin.cao@torchmobile.com.cn>
354
355         [BlackBerry] Upstream LayerCompositingThread.{h, cpp}
356         https://bugs.webkit.org/show_bug.cgi?id=79873
357
358         Reviewed by Rob Buis.
359
360         Initial upstream, no new tests.
361
362         * platform/graphics/blackberry/LayerCompositingThread.cpp: Added.
363         (WebCore):
364         (WebCore::LayerCompositingThread::create):
365         (WebCore::LayerCompositingThread::LayerCompositingThread):
366         (WebCore::LayerCompositingThread::~LayerCompositingThread):
367         (WebCore::LayerCompositingThread::destroyOnCompositingThread):
368         (WebCore::LayerCompositingThread::setLayerRenderer):
369         (WebCore::LayerCompositingThread::deleteTextures):
370         (WebCore::LayerCompositingThread::setDrawTransform):
371         (WebCore::getTransformedRect):
372         (WebCore::LayerCompositingThread::getTransformedHolePunchRect):
373         (WebCore::LayerCompositingThread::drawTextures):
374         (WebCore::LayerCompositingThread::drawSurface):
375         (WebCore::LayerCompositingThread::drawMissingTextures):
376         (WebCore::LayerCompositingThread::releaseTextureResources):
377         (WebCore::LayerCompositingThread::setPluginView):
378         (WebCore::LayerCompositingThread::setMediaPlayer):
379         (WebCore::LayerCompositingThread::clearAnimations):
380         (WebCore::LayerCompositingThread::removeSublayer):
381         (WebCore::LayerCompositingThread::indexOfSublayer):
382         (WebCore::LayerCompositingThread::rootLayer):
383         (WebCore::LayerCompositingThread::removeFromSuperlayer):
384         (WebCore::LayerCompositingThread::setSublayers):
385         (WebCore::LayerCompositingThread::updateTextureContentsIfNeeded):
386         (WebCore::LayerCompositingThread::setVisible):
387         (WebCore::LayerCompositingThread::setNeedsCommit):
388         (WebCore::LayerCompositingThread::scheduleCommit):
389         (WebCore::LayerCompositingThread::updateAnimations):
390         (WebCore::LayerCompositingThread::hasVisibleHolePunchRect):
391         (WebCore::LayerCompositingThread::createLayerRendererSurface):
392         * platform/graphics/blackberry/LayerCompositingThread.h: Added.
393         (Graphics):
394         (WebCore):
395         (LayerCompositingThread):
396         (WebCore::LayerCompositingThread::bindContentsTexture):
397         (WebCore::LayerCompositingThread::getSublayers):
398         (WebCore::LayerCompositingThread::setSuperlayer):
399         (WebCore::LayerCompositingThread::superlayer):
400         (WebCore::LayerCompositingThread::drawTransform):
401         (WebCore::LayerCompositingThread::setDrawOpacity):
402         (WebCore::LayerCompositingThread::drawOpacity):
403         (WebCore::LayerCompositingThread::layerRendererSurface):
404         (WebCore::LayerCompositingThread::clearLayerRendererSurface):
405         (WebCore::LayerCompositingThread::setMaskLayer):
406         (WebCore::LayerCompositingThread::maskLayer):
407         (WebCore::LayerCompositingThread::setReplicaLayer):
408         (WebCore::LayerCompositingThread::replicaLayer):
409         (WebCore::LayerCompositingThread::getDrawRect):
410         (WebCore::LayerCompositingThread::getTransformedBounds):
411         (WebCore::LayerCompositingThread::hasMissingTextures):
412         (WebCore::LayerCompositingThread::isDirty):
413         (WebCore::LayerCompositingThread::isVisible):
414         (WebCore::LayerCompositingThread::setOpacity):
415         (WebCore::LayerCompositingThread::setTransform):
416         (WebCore::LayerCompositingThread::hasRunningAnimations):
417         (WebCore::LayerCompositingThread::numSublayers):
418
419 2012-03-26  Kent Tamura  <tkent@chromium.org>
420
421         Add a notification function for detaching to TextFieldDecorator
422         https://bugs.webkit.org/show_bug.cgi?id=82142
423
424         Reviewed by Dimitri Glazkov.
425
426         Add willDetach() functio to TextFieldDecorator. This will be
427         needed if a decorator opens a popup UI on handleClick(), and the
428         popup UI should be closed when the attaching text field is
429         detached.
430
431         No new tests because of no behavior changes in any platforms.
432
433         * html/shadow/TextFieldDecorationElement.cpp:
434         (WebCore::TextFieldDecorationElement::hostInput):
435         Added. A utilify function to get an HTMLInputElement*.
436         (WebCore::TextFieldDecorationElement::updateImage): Use hostInput().
437         (WebCore::TextFieldDecorationElement::customStyleForRenderer): ditto.
438         (WebCore::TextFieldDecorationElement::detach): Added. Calls TextFieldDecorator::willDetach().
439         (WebCore::TextFieldDecorationElement::defaultEventHandler): Use hostInput().
440         * html/shadow/TextFieldDecorationElement.h:
441         (TextFieldDecorator):
442         (TextFieldDecorationElement):
443
444 2012-03-26  Dan Bernstein  <mitz@apple.com>
445
446         Tried to fix the 32-bit build after r112021.
447
448         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
449         (-[WebAccessibilityObjectWrapper _convertToNSRange:]):
450
451 2012-03-26  Leo Yang  <leo.yang@torchmobile.com.cn>
452
453         [BlackBerry] Skeleton code of AsyncFileSystemBlackBerry.cpp
454         https://bugs.webkit.org/show_bug.cgi?id=82157
455
456         Reviewed by Rob Buis.
457
458         AsyncFileSystemBlackBerry is responsible for asynchronous operating
459         on file system for the blackberry porting. It's just skeleton code
460         containing no implementation yet.
461
462         No new tests because of skeleton code.
463
464         * PlatformBlackBerry.cmake: Add AsyncFileSystemBlackBerry.cpp if ENABLE_FILE_SYSTEM is on.
465         * platform/AsyncFileSystem.cpp:
466         (WebCore):
467         * platform/blackberry/AsyncFileSystemBlackBerry.cpp: Added.
468         (WebCore):
469         (WebCore::AsyncFileSystem::isAvailable):
470         (WebCore::AsyncFileSystem::isValidType):
471         (WebCore::AsyncFileSystem::create):
472         (WebCore::AsyncFileSystem::openFileSystem):
473         (WebCore::AsyncFileSystem::crackFileSystemURL):
474         (WebCore::AsyncFileSystemBlackBerry::AsyncFileSystemBlackBerry):
475         (WebCore::AsyncFileSystemBlackBerry::~AsyncFileSystemBlackBerry):
476         (WebCore::AsyncFileSystemBlackBerry::toURL):
477         (WebCore::AsyncFileSystemBlackBerry::move):
478         (WebCore::AsyncFileSystemBlackBerry::copy):
479         (WebCore::AsyncFileSystemBlackBerry::remove):
480         (WebCore::AsyncFileSystemBlackBerry::removeRecursively):
481         (WebCore::AsyncFileSystemBlackBerry::readMetadata):
482         (WebCore::AsyncFileSystemBlackBerry::createFile):
483         (WebCore::AsyncFileSystemBlackBerry::createDirectory):
484         (WebCore::AsyncFileSystemBlackBerry::fileExists):
485         (WebCore::AsyncFileSystemBlackBerry::directoryExists):
486         (WebCore::AsyncFileSystemBlackBerry::readDirectory):
487         (WebCore::AsyncFileSystemBlackBerry::createWriter):
488         (WebCore::AsyncFileSystemBlackBerry::createSnapshotFileAndReadMetadata):
489         * platform/blackberry/AsyncFileSystemBlackBerry.h: Added.
490         (WebCore):
491         (AsyncFileSystemBlackBerry):
492
493 2012-03-26  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
494
495         [BlackBerry] CredentialBackingStore implement encryptString() and decryptString()
496         https://bugs.webkit.org/show_bug.cgi?id=82204
497
498         Reviewed by Rob Buis.
499
500         Implemented encryptedString() and decryptedString() in class CredentialBackingStore
501         by calling BlackBerry::Platform::Encryptor::encryptString() and
502         BlackBerry::Platform::Encryptor::encryptString() respectively.
503
504         No new tests.
505
506         * platform/network/blackberry/CredentialBackingStore.cpp:
507         (WebCore::CredentialBackingStore::encryptedString):
508         (WebCore::CredentialBackingStore::decryptedString):
509
510 2012-03-26  Pavel Feldman  <pfeldman@chromium.org>
511
512         Web Inspector: 'use strict' exceptions stop in inspector code
513         https://bugs.webkit.org/show_bug.cgi?id=82199
514
515         Reviewed by Yury Semikhatsky.
516
517         Accessing callee from within InjectedScript made inspector stop on handled exceptions.
518         I replaced it with Object.prototype.toString.call(obj) === "[object Arguments]".
519
520         * inspector/InjectedScriptSource.js:
521
522 2012-03-26  Mihai Balan  <mibalan@adobe.com>
523
524         [CSS Regions] In region styling (@-webkit-region) the position for CSS rules is incorrectly computed
525         https://bugs.webkit.org/show_bug.cgi?id=81901
526
527         Reviewed by Antti Koivisto.
528
529         Right now CSS rules position does not take into account rules that are inside a @-webkit-region
530         declaration, leading to buggy behavior where rules that appear later in the document are superseded
531         by rules that appear earlier in the document (opposite as how things should be). The fix updates
532         the "global" rules counter once the rules in a @-webkit-region declaration have been added.
533
534         Tests: fast/regions/region-style-rule-position-expected.html
535                fast/regions/region-style-rule-position.html
536
537         * css/CSSStyleSelector.cpp:
538         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
539
540 2012-03-26  Pierre Rossi  <pierre.rossi@nokia.com>
541
542         [Qt] Disable focus ring in the mobile theme.
543         https://bugs.webkit.org/show_bug.cgi?id=81934
544
545         For mobile devices intended to be used only through
546         touch, the focus rings makes little sense and feels
547         awkward.
548
549         Reviewed by Kenneth Rohde Christiansen.
550
551         No new tests. This is merely a cosmetic touch.
552
553         * platform/qt/RenderThemeQtMobile.h:
554         (RenderThemeQtMobile):
555         (WebCore::RenderThemeQtMobile::platformFocusRingColor):
556
557 2012-03-26  Charles Wei  <charles.wei@torchmobile.com.cn>
558
559         [BlackBerry] Clean up networking code and remove WML support.
560         https://bugs.webkit.org/show_bug.cgi?id=82170
561
562         Reviewed by Rob Buis.
563
564         This just removes the WML support of BlackBerry porting, which is already 
565         removed from WebCore. No new tests needed.
566
567         * platform/blackberry/MIMETypeRegistryBlackBerry.cpp:
568         (WebCore):
569         * platform/network/blackberry/DeferredData.cpp:
570         (WebCore::DeferredData::DeferredData):
571         (WebCore::DeferredData::processDeferredData):
572         * platform/network/blackberry/DeferredData.h:
573         (DeferredData):
574         (WebCore::DeferredData::hasDeferredData):
575         * platform/network/blackberry/NetworkJob.cpp:
576         * platform/network/blackberry/NetworkJob.h:
577         (NetworkJob):
578         * platform/network/blackberry/ResourceResponse.h:
579         (WebCore::ResourceResponse::ResourceResponse):
580         (ResourceResponse):
581         * platform/network/blackberry/ResourceResponseBlackBerry.cpp:
582         (WebCore::ResourceResponse::doPlatformCopyData):
583         (WebCore::ResourceResponse::doPlatformAdopt):
584
585 2012-03-26  Philip Rogers  <pdr@google.com>
586
587         Add invalid bounding box concept to SVG containers
588         https://bugs.webkit.org/show_bug.cgi?id=81104
589
590         Reviewed by Nikolas Zimmermann.
591
592         An empty <g> element needs to use an invalid bounding box because
593         an empty bounding box isn't the default state. This change
594         introduces the concept of an invalid object bounding box for
595         both RenderSVGContainer and RenderSVGRoot. Code that
596         does not explicitly check that the bounding box is valid
597         should be unaffected by this change. We use this new invalid
598         flag in computeContainerBoundingBoxes so that we do not
599         include invalid bounding boxes.
600
601         This change also contains a small fix in
602         RenderSVGContainer::toRenderSVGContainer which depended on
603         RenderSVGViewportContainer not inheriting from RenderSVGContainer,
604         which it now does.
605
606         Test: svg/custom/getBBox-empty-container.html
607
608         * rendering/svg/RenderSVGContainer.cpp:
609         (WebCore::RenderSVGContainer::RenderSVGContainer):
610         (WebCore::RenderSVGContainer::updateCachedBoundaries):
611         * rendering/svg/RenderSVGContainer.h:
612         (WebCore::RenderSVGContainer::isObjectBoundingBoxValid):
613         (RenderSVGContainer):
614         (WebCore::toRenderSVGContainer):
615         * rendering/svg/RenderSVGRoot.cpp:
616         (WebCore::RenderSVGRoot::RenderSVGRoot):
617         (WebCore::RenderSVGRoot::updateCachedBoundaries):
618         * rendering/svg/RenderSVGRoot.h:
619         (RenderSVGRoot):
620         * rendering/svg/SVGRenderSupport.cpp:
621         (WebCore):
622         (WebCore::updateObjectBoundingBox):
623         (WebCore::SVGRenderSupport::computeContainerBoundingBoxes):
624         * rendering/svg/SVGRenderSupport.h:
625         (SVGRenderSupport):
626
627 2012-03-26  Alexei Filippov  <alexeif@chromium.org>
628
629         Web Inspector: Speed up the retainers build phase.
630         https://bugs.webkit.org/show_bug.cgi?id=81763
631
632         Replacing the edge iterator in retainers building phase
633         makes it run 10 times faster (400 ms vs. 4 sec).
634
635         Reviewed by Yury Semikhatsky.
636
637         * inspector/front-end/HeapSnapshot.js:
638         (WebInspector.HeapSnapshot.prototype._buildRetainers):
639
640 2012-03-22  Alexander Pavlov  <apavlov@chromium.org>
641
642         Web Inspector: Migrate InspectorCSSAgent to strict protocol types
643         https://bugs.webkit.org/show_bug.cgi?id=81923
644
645         Reviewed by Pavel Feldman.
646
647         No new tests, as this is a refactoring.
648
649         * inspector/CodeGeneratorInspector.py:
650         * inspector/InspectorCSSAgent.cpp:
651         (SelectorProfile):
652         (WebCore::SelectorProfile::toInspectorObject):
653         (WebCore::InspectorCSSAgent::clearFrontend):
654         (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
655         (WebCore::InspectorCSSAgent::getInlineStylesForNode):
656         (WebCore::InspectorCSSAgent::getComputedStyleForNode):
657         (WebCore::InspectorCSSAgent::getAllStyleSheets):
658         (WebCore::InspectorCSSAgent::getStyleSheet):
659         (WebCore::InspectorCSSAgent::setPropertyText):
660         (WebCore::InspectorCSSAgent::toggleProperty):
661         (WebCore::InspectorCSSAgent::setRuleSelector):
662         (WebCore::InspectorCSSAgent::addRule):
663         (WebCore::InspectorCSSAgent::getSupportedCSSProperties):
664         (WebCore::InspectorCSSAgent::stopSelectorProfiler):
665         (WebCore::InspectorCSSAgent::stopSelectorProfilerImpl):
666         (WebCore::InspectorCSSAgent::collectStyleSheets):
667         (WebCore::InspectorCSSAgent::buildArrayForRuleList):
668         (WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):
669         * inspector/InspectorCSSAgent.h:
670         (InspectorCSSAgent):
671         * inspector/InspectorStyleSheet.cpp:
672         (WebCore::buildSourceRangeObject):
673         (WebCore::buildMediaObject):
674         (WebCore::fillMediaListChain):
675         (WebCore::InspectorStyle::buildObjectForStyle):
676         (WebCore::InspectorStyle::buildArrayForComputedStyle):
677         (WebCore::InspectorStyle::styleWithProperties):
678         (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
679         (WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo):
680         (WebCore::InspectorStyleSheet::buildObjectForRule):
681         (WebCore::InspectorStyleSheet::buildObjectForStyle):
682         * inspector/InspectorStyleSheet.h:
683         (WebCore::InspectorCSSId::asProtocolValue):
684         (InspectorStyle):
685         (InspectorStyleSheet):
686
687 2012-03-26  Alexander Pavlov  <apavlov@chromium.org>
688
689         Web Inspector: [REGRESSION] Workarounds for security checks when retrieving stylesheet rule lists are broken
690         https://bugs.webkit.org/show_bug.cgi?id=82191
691
692         Reviewed by Vsevolod Vlasov.
693
694         Test: http/tests/inspector/modify-cross-domain-rule.html
695
696         * inspector/InspectorStyleSheet.cpp:
697         (WebCore::asCSSRuleList):
698         (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
699
700 2012-03-26  Carlos Garcia Campos  <cgarcia@igalia.com>
701
702         Unreviewed. Fix make distcheck.
703
704         * GNUmakefile.list.am: Add missing files.
705
706 2012-03-26  Jason Liu  <jason.liu@torchmobile.com.cn>
707
708         [BlackBerry] Cookies mismatch when login to gmail.
709         https://bugs.webkit.org/show_bug.cgi?id=82165
710
711         Redirection's response can add or update cookies. The cookies of ResourceRequest is dirty
712         in this case. We shouldn't copy the dirty cookie header from ResourceRequest to PlatformRequest
713         for redirection loading.
714
715         This issue didn't happen before because we used m_cookieData not the cookie header.
716         Now we use the cookie header to avoid storing double cookie's data, and m_cookieData is removed.
717
718         Reviewed by George Staikos.
719
720         No new tests. It is a refactoring issue.
721
722         * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
723         (WebCore::ResourceRequest::initializePlatformRequest):
724
725 2012-03-26  Alexis Menard  <alexis.menard@openbossa.org>
726
727         Increase code sharing between StylePropertySet and CSSPropertyLonghand.
728         https://bugs.webkit.org/show_bug.cgi?id=81960
729
730         Reviewed by Antti Koivisto.
731
732         Use longhands declaration from CSSPropertyLonghand in StylePropertySet in order
733         to avoid code duplication.
734
735         No new tests : refactoring only, we shouldn't have any behavior difference.
736
737         * css/CSSPropertyLonghand.cpp:
738         (WebCore::backgroundLonghand):
739         Re-order the array to match the spec default order.
740         (WebCore::webkitMaskLonghand):
741         Re-order to match the original order.
742         (WebCore::webkitTransformOriginLonghand):
743         A LayoutTest shows that a property was missing.
744         * css/StylePropertySet.cpp:
745         (WebCore::StylePropertySet::getPropertyValue):
746         (WebCore::StylePropertySet::borderSpacingValue):
747         (WebCore::StylePropertySet::get4Values):
748         (WebCore::StylePropertySet::getLayeredShorthandValue):
749         (WebCore::StylePropertySet::getShorthandValue):
750         (WebCore::StylePropertySet::getCommonValue):
751         (WebCore::StylePropertySet::asText):
752         * css/StylePropertySet.h:
753         (WebCore):
754         (StylePropertySet):
755
756 2012-03-26  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
757
758         [Qt] Assert in GestureTapHighlighter.
759         https://bugs.webkit.org/show_bug.cgi?id=82187
760
761         Reviewed by Kenneth Rohde Christiansen.
762
763         Adjust the boundaries of the center-rect before performing the intersection test,
764         since adjusting the boundary may cause a new intersection.
765
766         * page/GestureTapHighlighter.cpp:
767
768 2012-03-26  Antti Koivisto  <antti@apple.com>
769
770         Split MediaList into internal and CSSOM types
771         https://bugs.webkit.org/show_bug.cgi?id=82149
772
773         Reviewed by Andread Kling.
774
775         MediaList is a CSSOM type and should not be used internally.
776         
777         - Use new type MediaQuerySet internally to represent a collection of media queries.
778         - Create MediaList wrapper on-demand for CSSOM purposes only.
779         
780         This moves us forward in separating CSSOM from the internal stylesheet implementation.
781         
782         MediaQuerySet really belongs to a file of its own but that is not part of this patch.
783         
784         * css/CSSGrammar.y:
785         * css/CSSImportRule.cpp:
786         (WebCore::CSSImportRule::create):
787         (WebCore):
788         (WebCore::CSSImportRule::CSSImportRule):
789         (WebCore::CSSImportRule::~CSSImportRule):
790         (WebCore::CSSImportRule::media):
791         (WebCore::CSSImportRule::cssText):
792         * css/CSSImportRule.h:
793         (WebCore):
794         (CSSImportRule):
795         (WebCore::CSSImportRule::mediaQueries):
796         * css/CSSMediaRule.cpp:
797         (WebCore::CSSMediaRule::CSSMediaRule):
798         (WebCore::CSSMediaRule::~CSSMediaRule):
799         (WebCore::CSSMediaRule::cssText):
800         * css/CSSMediaRule.h:
801         (WebCore::CSSMediaRule::create):
802         (WebCore::CSSMediaRule::media):
803         (WebCore::CSSMediaRule::mediaQueries):
804         (CSSMediaRule):
805         * css/CSSParser.cpp:
806         (WebCore::CSSParser::parseMediaQuery):
807         (WebCore::CSSParser::createMediaQuerySet):
808         (WebCore::CSSParser::createImportRule):
809         (WebCore::CSSParser::createMediaRule):
810         (WebCore::CSSParser::updateLastMediaLine):
811         * css/CSSParser.h:
812         (WebCore):
813         (CSSParser):
814         * css/CSSStyleSelector.cpp:
815         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
816         * css/CSSStyleSheet.cpp:
817         (WebCore):
818         (WebCore::CSSStyleSheet::media):
819         (WebCore::CSSStyleSheet::setMediaQueries):
820         * css/CSSStyleSheet.h:
821         (WebCore):
822         (CSSStyleSheet):
823         (WebCore::CSSStyleSheet::mediaQueries):
824         * css/MediaList.cpp:
825         (WebCore):
826         (WebCore::MediaQuerySet::MediaQuerySet):
827         (WebCore::MediaQuerySet::~MediaQuerySet):
828         (WebCore::parseMediaDescriptor):
829         (WebCore::MediaQuerySet::parse):
830         (WebCore::MediaQuerySet::add):
831         (WebCore::MediaQuerySet::remove):
832         (WebCore::MediaQuerySet::addMediaQuery):
833         (WebCore::MediaQuerySet::mediaText):
834         (WebCore::MediaQuerySet::ensureMediaList):
835         
836             - Use OwnPtr<> for MediaQuery ownership.
837             - Move the appropriate functions to MediaQuerySet.
838             - Clean up a bit to make this more readable and better aligned to WebKit style.
839         
840         (WebCore::MediaList::MediaList):
841         (WebCore::MediaList::~MediaList):
842         (WebCore::MediaList::setMediaText):
843         (WebCore::MediaList::item):
844         (WebCore::MediaList::deleteMedium):
845         (WebCore::MediaList::appendMedium):
846         * css/MediaList.h:
847         (WebCore):
848         (WebCore::MediaQuerySet::create):
849         (WebCore::MediaQuerySet::createAllowingDescriptionSyntax):
850         (MediaQuerySet):
851         (WebCore::MediaQuerySet::queryVector):
852         (WebCore::MediaQuerySet::lastLine):
853         (WebCore::MediaQuerySet::setLastLine):
854         (MediaList):
855         (WebCore::MediaList::ref):
856         (WebCore::MediaList::deref):
857         (WebCore::MediaList::length):
858         (WebCore::MediaList::mediaText):
859         (WebCore::MediaList::queries):
860         * css/MediaQueryEvaluator.cpp:
861         (WebCore::MediaQueryEvaluator::eval):
862         * css/MediaQueryEvaluator.h:
863         (WebCore):
864         (MediaQueryEvaluator):
865         * css/MediaQueryList.cpp:
866         (WebCore::MediaQueryList::create):
867         (WebCore::MediaQueryList::MediaQueryList):
868         * css/MediaQueryList.h:
869         (WebCore):
870         (MediaQueryList):
871         * css/MediaQueryMatcher.cpp:
872         (WebCore::MediaQueryMatcher::evaluate):
873         (WebCore::MediaQueryMatcher::matchMedia):
874         * css/MediaQueryMatcher.h:
875         (WebCore):
876         (MediaQueryMatcher):
877         * css/StyleMedia.cpp:
878         (WebCore::StyleMedia::matchMedium):
879         * css/StyleSheet.cpp:
880         (WebCore::StyleSheet::~StyleSheet):
881         
882             Move the media query ownership to CSSStyleSheet where it belongs.
883         
884         (WebCore):
885         * css/StyleSheet.h:
886         (WebCore::StyleSheet::media):
887         (StyleSheet):
888         * dom/DOMImplementation.cpp:
889         (WebCore::DOMImplementation::createCSSStyleSheet):
890         * dom/ProcessingInstruction.cpp:
891         (WebCore::ProcessingInstruction::setCSSStyleSheet):
892         * dom/StyleElement.cpp:
893         (WebCore::StyleElement::createSheet):
894         * html/HTMLLinkElement.cpp:
895         (WebCore::HTMLLinkElement::process):
896         (WebCore::HTMLLinkElement::setCSSStyleSheet):
897         * html/HTMLMediaElement.cpp:
898         (WebCore::HTMLMediaElement::selectNextSourceChild):
899         * html/parser/HTMLPreloadScanner.cpp:
900         (WebCore::HTMLNames::PreloadTask::linkMediaAttributeIsScreen):
901         * inspector/InspectorStyleSheet.cpp:
902         (WebCore::buildMediaObject):
903
904 2012-03-26  Zeno Albisser  <zeno@webkit.org>
905
906         [Qt]WK2] TextureMapperShaderManager should query the program map before creating new shader program instances.
907         https://bugs.webkit.org/show_bug.cgi?id=82178
908
909         If TextureMapperShaderManager already has a reference to an instance of the
910         requested shader program type, this instance should be reused instead of
911         creating a new one.
912
913         Reviewed by Noam Rosenthal.
914
915         * platform/graphics/texmap/TextureMapperShaderManager.h:
916         (WebCore::TextureMapperShaderManager::getShaderProgram):
917
918 2012-03-26  Yury Semikhatsky  <yurys@chromium.org>
919
920         [Chromium] Web Inspector: dedicated worker inspector is empty
921         https://bugs.webkit.org/show_bug.cgi?id=82181
922
923         "beforeunload" event for worker inspector front-end is ingnored if the
924         window url is "about:blank" as it is just unload of the default content
925         before the front-end page load.
926
927         Reviewed by Pavel Feldman.
928
929         * inspector/front-end/WorkerManager.js:
930         (WebInspector.WorkerManager.prototype._workerInspectorClosing):
931
932 2012-03-22  Yury Semikhatsky  <yurys@chromium.org>
933
934         Web Inspector: split nodes and containment edges into two different arrays
935         https://bugs.webkit.org/show_bug.cgi?id=81930
936
937         Extract heap profile nodes and edges into two separate arrays. This
938         way we will have a continuous array of the heap graph nodes and can
939         aviod additional mapping between node index and its position in the
940         heap snapshot.
941
942         Reviewed by Pavel Feldman.
943
944         * inspector/front-end/HeapSnapshot.js:
945         (WebInspector.HeapSnapshot.prototype._init):
946         (WebInspector.HeapSnapshot.prototype._buildContinuousNodeArray):
947         (WebInspector.HeapSnapshot.prototype._createOnlyNodesArray):
948         (WebInspector.HeapSnapshot.prototype._restoreNodeTypes):
949         (WebInspector.HeapSnapshot.prototype._createRetainmentEdgesArray):
950         (WebInspector.HeapSnapshot.prototype._createContainmentEdgesArray):
951         * inspector/front-end/HeapSnapshotProxy.js:
952         (WebInspector.HeapSnapshotWorker):
953
954 2012-03-22  Pavel Podivilov  <podivilov@chromium.org>
955
956         Web Inspector: move resource loading logic from SourceMapParser to CompilerScriptMapping.
957         https://bugs.webkit.org/show_bug.cgi?id=81897
958
959         Reviewed by Vsevolod Vlasov.
960
961         SourceMapParser should only deal with payload parsing.
962
963         * inspector/front-end/CompilerScriptMapping.js:
964         (WebInspector.CompilerScriptMapping.prototype.rawLocationToUILocation):
965         (WebInspector.CompilerScriptMapping.prototype.addScript):
966         (WebInspector.CompilerScriptMapping.prototype.loadSourceMapForScript):
967         (WebInspector.SourceMapPayload):
968         (WebInspector.SourceMapParser):
969         (WebInspector.SourceMapParser.prototype.sourceContent):
970         (WebInspector.SourceMapParser.prototype.findEntry):
971         (WebInspector.SourceMapParser.prototype.findEntryReversed):
972         * inspector/front-end/ContentProviders.js:
973         (WebInspector.CompilerSourceMappingContentProvider):
974         (WebInspector.CompilerSourceMappingContentProvider.prototype.requestContent):
975
976 2012-03-26  Ilya Tikhonovsky  <loislo@chromium.org>
977
978         Web Inspector: replace indexOf('a text') === 0 with RegExp because it is much faster.
979         https://bugs.webkit.org/show_bug.cgi?id=82175
980
981         We were using aString.indexOf("Window") but it is not effective from performance point of view.
982         I'm replaced it with RegExp.
983
984         Reviewed by Yury Semikhatsky.
985
986         * inspector/front-end/HeapSnapshot.js:
987         (WebInspector.HeapSnapshotNode.prototype.get isWindow):
988         (WebInspector.HeapSnapshotNode.prototype.get isDetachedDOMTree):
989
990 2012-03-26  Pavel Feldman  <pfeldman@chromium.org>
991
992         Web Inspector: breakpoints should be disabled while live editing JavaScript.
993         https://bugs.webkit.org/show_bug.cgi?id=81947
994
995         Reviewed by Yury Semikhatsky.
996
997         This change disables (removes from the backend) the breakpoints while editing script.
998         Undoing or committing the change restores the breakpoints. Main logic is implemented within
999         JavaScriptSourceFrame, but it required minor tweaking of the text editor: more correct
1000         undo/redo wrapper and better detection of the noop opterations.
1001
1002         * inspector/front-end/JavaScriptSourceFrame.js:
1003         (WebInspector.JavaScriptSourceFrame):
1004         (WebInspector.JavaScriptSourceFrame.prototype.afterTextChanged):
1005         (WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
1006         (WebInspector.JavaScriptSourceFrame.prototype.didEditContent):
1007         (WebInspector.JavaScriptSourceFrame.prototype.addBreakpoint):
1008         (WebInspector.JavaScriptSourceFrame.prototype.removeBreakpoint):
1009         (WebInspector.JavaScriptSourceFrame.prototype._onMouseDown):
1010         * inspector/front-end/TextEditorModel.js:
1011         (WebInspector.TextEditorModel.endsWithBracketRegex.):
1012         * inspector/front-end/TextViewer.js:
1013         (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo.before):
1014         (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo.after):
1015         (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo):
1016         (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
1017
1018 2012-03-25  Nat Duca  <nduca@chromium.org>
1019
1020         [chromium] Route willBeginFrame from compositor to WebWidget
1021         https://bugs.webkit.org/show_bug.cgi?id=82171
1022
1023         Reviewed by Darin Fisher.
1024
1025         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1026         (CCLayerTreeHostClient):
1027         (WebCore::CCLayerTreeHost::willBeginFrame):
1028         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1029         (WebCore::CCThreadProxy::beginFrame):
1030
1031 2012-03-25  Hayato Ito  <hayato@chromium.org>
1032
1033         [Shadow DOM] Add Reified DOM Tree traversal internal APIs.
1034         https://bugs.webkit.org/show_bug.cgi?id=79197
1035
1036         Reviewed by Dimitri Glazkov.
1037
1038         Add internal APIs which can be used to traverse Reified DOM tree, which is
1039         a result of node distribution algorithm explained in Shadow DOM spec.
1040         https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html
1041
1042         Every public functions defined in ReifiedTreeTraversal are static
1043         functions and are named in a similar way to ones defined in WebCore::Node class.
1044         The only difference is that ReifiedTreeTraversal APIs consider shadow
1045         hosts and also traverse nodes is Shadow DOM subtrees, crossing shadow's upper and lower boundary
1046         transparently.
1047
1048         There is no actual client which uses these APIs. Follow-up patches for FocusNavigation
1049         and EventDispatcher will use the APIs so that they can traverse node in reified tree order.
1050
1051         Test: fast/dom/shadow/reified-tree-traversal.html
1052
1053         * CMakeLists.txt:
1054         * GNUmakefile.list.am:
1055         * Target.pri:
1056         * WebCore.exp.in:
1057         * WebCore.gypi:
1058         * WebCore.vcproj/WebCore.vcproj:
1059         * WebCore.xcodeproj/project.pbxproj:
1060         * dom/ReifiedTreeTraversal.cpp: Added.
1061         (WebCore):
1062         (WebCore::isShadowHost):
1063         (WebCore::shadowTreeFor):
1064         (WebCore::shadowTreeOfParent):
1065         (WebCore::ReifiedTreeTraversal::firstChild):
1066         (WebCore::ReifiedTreeTraversal::lastChild):
1067         (WebCore::ReifiedTreeTraversal::lastChildWithoutCrossingUpperBoundary):
1068         (WebCore::ReifiedTreeTraversal::traverseChild):
1069         (WebCore::ReifiedTreeTraversal::traverseLightChildren):
1070         (WebCore::ReifiedTreeTraversal::traverseNode):
1071         (WebCore::ReifiedTreeTraversal::nextSibling):
1072         (WebCore::ReifiedTreeTraversal::previousSibling):
1073         (WebCore::ReifiedTreeTraversal::traverseSiblingOrBackToInsertionPoint):
1074         (WebCore::ReifiedTreeTraversal::traverseSiblingInCurrentTree):
1075         (WebCore::ReifiedTreeTraversal::traverseSiblingOrBackToYoungerShadowRoot):
1076         (WebCore::ReifiedTreeTraversal::escapeFallbackContentElement):
1077         (WebCore::ReifiedTreeTraversal::traverseNodeEscapingFallbackContents):
1078         (WebCore::ReifiedTreeTraversal::parentNode):
1079         (WebCore::ReifiedTreeTraversal::parentNodeWithoutCrossingUpperBoundary):
1080         (WebCore::ReifiedTreeTraversal::parentNodeOrBackToInsertionPoint):
1081         (WebCore::ReifiedTreeTraversal::parentNodeInCurrentTree):
1082         (WebCore::ReifiedTreeTraversal::parentNodeBackToYoungerShadowRootOrHost):
1083         (WebCore::ReifiedTreeTraversal::adjustedParentNode):
1084         (WebCore::ReifiedTreeTraversal::traverseNextNode):
1085         (WebCore::ReifiedTreeTraversal::traverseNextNodeWithoutCrossingUpperBoundary):
1086         (WebCore::ReifiedTreeTraversal::traversePreviousNode):
1087         (WebCore::ReifiedTreeTraversal::traversePreviousNodeWithoutCrossingUpperBoundary):
1088         * dom/ReifiedTreeTraversal.h: Added.
1089         (WebCore):
1090         (ReifiedTreeTraversal):
1091         * dom/ShadowTree.cpp:
1092         (WebCore::ShadowTree::insertionPointFor):
1093         (WebCore::ShadowTree::selectionFor):
1094         (WebCore):
1095         * dom/ShadowTree.h:
1096         (WebCore):
1097         (ShadowTree):
1098         * html/shadow/HTMLContentSelector.cpp:
1099         (WebCore::HTMLContentSelector::findFor):
1100         * html/shadow/HTMLContentSelector.h:
1101         (HTMLContentSelectionSet):
1102         (WebCore::HTMLContentSelectionSet::find):
1103         (HTMLContentSelector):
1104         * html/shadow/InsertionPoint.h:
1105         (WebCore::isInsertionPoint):
1106         (WebCore::toInsertionPoint):
1107         (WebCore):
1108         * testing/Internals.cpp:
1109         (WebCore::Internals::nextSiblingInReifiedTree):
1110         (WebCore):
1111         (WebCore::Internals::firstChildInReifiedTree):
1112         (WebCore::Internals::lastChildInReifiedTree):
1113         (WebCore::Internals::traverseNextNodeInReifiedTree):
1114         (WebCore::Internals::traversePreviousNodeInReifiedTree):
1115         * testing/Internals.h:
1116         (Internals):
1117         * testing/Internals.idl:
1118
1119 2012-03-25  Nikita Vasilyev  <me@elv1s.ru>
1120
1121         Web Inspector: Indenting fully selected line should not indent the line next to it
1122         https://bugs.webkit.org/show_bug.cgi?id=81758
1123
1124         In the editor, you can select a whole line by moving caret at 0 column
1125         position and pressing Shift + Arrow Down/Up. After that, pressing Tab
1126         indents 2 lines: fully selected one and the line next to it. The patch
1127         changes this behaviour to indent only fully selected line since that is
1128         what pretty-match all the other code editors do.
1129
1130         Reviewed by Pavel Feldman.
1131
1132         Test: inspector/editor/indentation.html
1133
1134         * inspector/front-end/TextViewer.js:
1135         (WebInspector.TextEditorMainPanel.prototype._indentLines):
1136             Do not insert indent at the begging of the last line if a selection
1137             ends on its 0 column.
1138         (WebInspector.TextEditorMainPanel.prototype._unindentLines):
1139             Do not remove indent at the begging of the last line if a selection
1140             ends on its 0 column.
1141
1142 2012-03-25  Abhishek Arya  <inferno@chromium.org>
1143
1144         Crash in ContainerNode::resumePostAttachCallbacks.
1145         https://bugs.webkit.org/show_bug.cgi?id=82159
1146
1147         Reviewed by Hajime Morita.
1148
1149         Test: plugins/object-onfocus-mutation-crash.html
1150
1151         * dom/ContainerNode.cpp:
1152         (WebCore::ContainerNode::resumePostAttachCallbacks): dispatching post attach
1153         callbacks when our attach depth is 1 can fire mutation events such as onfocus
1154         which can blow away |this|. Need to protect it with a RefPtr.
1155         * html/HTMLPlugInImageElement.cpp:
1156         (WebCore::HTMLPlugInImageElement::attach): add calls to suspend attach callbacks
1157         until the function completes.
1158
1159 2012-03-25  Dana Jansens  <danakj@chromium.org>
1160
1161         [chromium] Layers with animating transforms should prepaint even if they are not visible yet
1162         https://bugs.webkit.org/show_bug.cgi?id=82117
1163
1164         Reviewed by Adrienne Walker.
1165
1166         For animating transforms, instead of early-outing when the layer's
1167         visible rect is empty, let it prepaint regardless.
1168
1169         For now, we just only paint the outermost tiles, and only for small
1170         layers, with at most 9 tiles.
1171
1172         This changes the behaviour of ContentLayerChromium's
1173         idlePaintContentsIfDirty() so I've guarded the behaviour of the two
1174         prepainting functions that it calls to ensure the old behaviour holds
1175         without animations, and the new behaviour works with them.
1176
1177         Unit test: TiledLayerChromiumTest.idlePaintZeroSizedLayer
1178                    TiledLayerChromiumTest.idlePaintZeroSizedAnimatingLayer
1179                    TiledLayerChromiumTest.idlePaintNonVisibleLayers
1180                    TiledLayerChromiumTest.idlePaintNonVisibleAnimatingLayers
1181
1182         * platform/graphics/chromium/ContentLayerChromium.cpp:
1183         (WebCore::ContentLayerChromium::idlePaintContentsIfDirty):
1184         * platform/graphics/chromium/TiledLayerChromium.cpp:
1185         (WebCore::TiledLayerChromium::prepareToUpdateIdle):
1186         (WebCore::TiledLayerChromium::needsIdlePaint):
1187         (WebCore::TiledLayerChromium::idlePaintRect):
1188         * platform/graphics/chromium/TiledLayerChromium.h:
1189         (WebCore::TiledLayerChromium::numPaintedTiles):
1190         (TiledLayerChromium):
1191
1192 2012-03-25  Antti Koivisto  <antti@apple.com>
1193
1194         Don't use CSSRuleList for child rule ownership
1195         https://bugs.webkit.org/show_bug.cgi?id=82127
1196
1197         Reviewed by Andreas Kling.
1198
1199         CSSMediaRule, WebKitCSSKeyframesRule and WebKitRegionRule use CSSRuleList for storing children. 
1200         They should use a simple rule vector instead. CSSRuleList is a CSSOM type that should be 
1201         instantiated on-demand for API purposes only.
1202         
1203         - Use Vector<RefPtr<CSSRule>> for storing the rule children of CSSMediaRule, WebKitCSSKeyframesRule 
1204           and WebKitRegionRule.
1205         - Add direct accessors, use internally instead of CSSRuleList.
1206         - Make CSSRuleList an abstract base. Add concrete subclasses for dealing with the underlying storage.
1207         - Instantiate CSSRuleLists on-demand.
1208         - Make CSSStyleSheet.cssRules always return the same object instance. This matches Firefox and the rest
1209           of our CSSOM implementation. Tested by fast/dom/gc-9.html.
1210           
1211         The patch decouples internals from the external API. It simplifies the child rule ownership and reduces 
1212         indirection. Memory use of css rules with children is reduced (by a ptr, refcount and heap allocation overhead).
1213
1214         * css/CSSGrammar.y:
1215         * css/CSSMediaRule.cpp:
1216         (WebCore::CSSMediaRule::CSSMediaRule):
1217         (WebCore::CSSMediaRule::~CSSMediaRule):
1218         (WebCore::CSSMediaRule::append):
1219         (WebCore::CSSMediaRule::insertRule):
1220         (WebCore::CSSMediaRule::deleteRule):
1221         (WebCore::CSSMediaRule::cssText):
1222         (WebCore::CSSMediaRule::cssRules):
1223         * css/CSSMediaRule.h:
1224         (WebCore::CSSMediaRule::create):
1225         (CSSMediaRule):
1226         (WebCore::CSSMediaRule::ruleCount):
1227         (WebCore::CSSMediaRule::ruleAt):
1228         * css/CSSParser.cpp:
1229         (WebCore::CSSParser::createMediaRule):
1230         (WebCore::CSSParser::createRuleList):
1231         (WebCore::CSSParser::createRegionRule):
1232         * css/CSSParser.h:
1233         (WebCore):
1234         * css/CSSRuleList.cpp:
1235         (WebCore):
1236         (WebCore::StaticCSSRuleList::StaticCSSRuleList):
1237         (WebCore::StaticCSSRuleList::~StaticCSSRuleList):
1238         (WebCore::StaticCSSRuleList::deref):
1239         (WebCore::StaticCSSRuleList::item):        
1240         * css/CSSRuleList.h:
1241         (CSSRuleList):
1242
1243             Turn CSSRuleList into abstract interface.
1244                     
1245         (StaticCSSRuleList):
1246         (WebCore::StaticCSSRuleList::create):
1247         (WebCore::StaticCSSRuleList::ref):
1248         (WebCore::StaticCSSRuleList::rules):
1249         (WebCore::StaticCSSRuleList::styleSheet):
1250         (WebCore::StaticCSSRuleList::length):
1251         
1252             Concrete implementation for fixed list of rules.
1253     
1254         (WebCore):
1255         (LiveCSSRuleList):
1256         (WebCore::LiveCSSRuleList::LiveCSSRuleList):
1257         (WebCore::LiveCSSRuleList::ref):
1258         (WebCore::LiveCSSRuleList::deref):
1259         (WebCore::LiveCSSRuleList::length):
1260         (WebCore::LiveCSSRuleList::item):
1261         (WebCore::LiveCSSRuleList::styleSheet):
1262         
1263             Concrete implemenation for live list backed by the underlying container rule.
1264             LiveCSSRuleList is owned by the underlying rule. Refcount is forwarded. 
1265         
1266         * css/CSSStyleSelector.cpp:
1267         (WebCore::CSSStyleSelector::sortAndTransferMatchedRules):
1268         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
1269         * css/CSSStyleSelector.h:
1270         (CSSStyleSelector):
1271         * css/CSSStyleSheet.cpp:
1272         
1273             The same scheme for CSSStyleSheet.cssRule as with container rules.
1274         
1275         (StyleSheetCSSRuleList):
1276         (WebCore::StyleSheetCSSRuleList::StyleSheetCSSRuleList):
1277         (WebCore::StyleSheetCSSRuleList::ref):
1278         (WebCore::StyleSheetCSSRuleList::deref):
1279         (WebCore::StyleSheetCSSRuleList::length):
1280         (WebCore::StyleSheetCSSRuleList::item):
1281         (WebCore::StyleSheetCSSRuleList::styleSheet):
1282         (WebCore):
1283         (WebCore::CSSStyleSheet::rules):
1284         (WebCore::CSSStyleSheet::cssRules):
1285         * css/CSSStyleSheet.h:
1286         (CSSStyleSheet):
1287         * css/WebKitCSSKeyframesRule.cpp:
1288         (WebCore::WebKitCSSKeyframesRule::WebKitCSSKeyframesRule):
1289         (WebCore::WebKitCSSKeyframesRule::~WebKitCSSKeyframesRule):
1290         (WebCore):
1291         (WebCore::WebKitCSSKeyframesRule::append):
1292         (WebCore::WebKitCSSKeyframesRule::deleteRule):
1293         (WebCore::WebKitCSSKeyframesRule::findRule):
1294         (WebCore::WebKitCSSKeyframesRule::findRuleIndex):
1295         (WebCore::WebKitCSSKeyframesRule::cssText):
1296         (WebCore::WebKitCSSKeyframesRule::cssRules):
1297         * css/WebKitCSSKeyframesRule.h:
1298         (WebKitCSSKeyframesRule):
1299         (WebCore::WebKitCSSKeyframesRule::ruleCount):
1300         (WebCore::WebKitCSSKeyframesRule::ruleAt):
1301         (WebCore::WebKitCSSKeyframesRule::length):
1302         (WebCore::WebKitCSSKeyframesRule::item):
1303         * css/WebKitCSSRegionRule.cpp:
1304         (WebCore::WebKitCSSRegionRule::WebKitCSSRegionRule):
1305         (WebCore::WebKitCSSRegionRule::~WebKitCSSRegionRule):
1306         (WebCore::WebKitCSSRegionRule::cssText):
1307         (WebCore::WebKitCSSRegionRule::cssRules):
1308         * css/WebKitCSSRegionRule.h:
1309         * inspector/InspectorStyleSheet.cpp:
1310         (WebCore::asCSSRuleList):
1311         (WebCore::InspectorStyleSheet::addRule):
1312         (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
1313
1314 2012-03-25  Kentaro Hara  <haraken@chromium.org>
1315
1316         Remove duplicated GenerateConditionalString() from code generators
1317         https://bugs.webkit.org/show_bug.cgi?id=82148
1318
1319         Reviewed by Adam Barth.
1320
1321         Previously GenerateConditionalString()s were defined in each code generator,
1322         and they were doing the same thing. This patch puts GenerateConditionalString()
1323         in CodeGenerator.pm and removes duplicated GenerateConditionalString()s.
1324
1325         No tests. No change in the generated code.
1326
1327         * bindings/scripts/CodeGenerator.pm:
1328         (GenerateConditionalString):
1329         * bindings/scripts/CodeGeneratorCPP.pm:
1330         (GenerateHeader):
1331         (GenerateImplementation):
1332         * bindings/scripts/CodeGeneratorGObject.pm:
1333         (GenerateProperty):
1334         (GenerateProperties):
1335         (GenerateFunction):
1336         (WriteData):
1337         * bindings/scripts/CodeGeneratorJS.pm:
1338         (GenerateHeaderContentHeader):
1339         (GenerateImplementationContentHeader):
1340         (GenerateHeader):
1341         (GenerateImplementation):
1342         (GenerateCallbackHeader):
1343         (GenerateCallbackImplementation):
1344         * bindings/scripts/CodeGeneratorObjC.pm:
1345         (GenerateHeader):
1346         (GenerateImplementation):
1347         * bindings/scripts/CodeGeneratorV8.pm:
1348         (GenerateHeader):
1349         (GenerateNormalAttrGetter):
1350         (GenerateNormalAttrSetter):
1351         (GenerateOverloadedFunctionCallback):
1352         (GenerateFunctionCallback):
1353         (GenerateBatchedAttributeData):
1354         (GenerateImplementation):
1355         (GenerateHeaderContentHeader):
1356         (GenerateImplementationContentHeader):
1357         (GenerateCallbackHeader):
1358         (GenerateCallbackImplementation):
1359
1360 2012-03-25  Kentaro Hara  <haraken@chromium.org>
1361
1362         Move DOMWindowSQLDatabase.* to DOMWindowWebDatabase.*, and move WorkerContextSQLDatabase.* to WorkerContextWebDatabase.*
1363         https://bugs.webkit.org/show_bug.cgi?id=82146
1364
1365         Reviewed by Adam Barth.
1366
1367         Now SQLDatabase is renamed to WebDatabase (See Modules/webdatabase/).
1368         We should move DOMWindowSQLDatabase.* to DOMWindowWebDatabase.*,
1369         and move WorkerContextSQLDatabase.* to WorkerContextWebDatabase.*.
1370         We'll rename the SQL_DATABASE flag to the WEB_DATABASE flag in a follow-up patch.
1371
1372         No tests. No change in behavior.
1373
1374         * Modules/webdatabase/DOMWindowWebDatabase.cpp: Renamed from Source/WebCore/Modules/webdatabase/DOMWindowSQLDatabase.cpp.
1375         (WebCore):
1376         (WebCore::DOMWindowWebDatabase::openDatabase):
1377         * Modules/webdatabase/DOMWindowWebDatabase.h: Renamed from Source/WebCore/Modules/webdatabase/DOMWindowSQLDatabase.h.
1378         (WebCore):
1379         (DOMWindowWebDatabase):
1380         (WebCore::DOMWindowWebDatabase::DOMWindowWebDatabase):
1381         (WebCore::DOMWindowWebDatabase::~DOMWindowWebDatabase):
1382         * Modules/webdatabase/DOMWindowWebDatabase.idl: Renamed from Source/WebCore/Modules/webdatabase/DOMWindowSQLDatabase.idl.
1383         * Modules/webdatabase/WorkerContextWebDatabase.cpp: Renamed from Source/WebCore/Modules/webdatabase/WorkerContextSQLDatabase.cpp.
1384         (WebCore):
1385         (WebCore::WorkerContextWebDatabase::openDatabase):
1386         (WebCore::WorkerContextWebDatabase::openDatabaseSync):
1387         * Modules/webdatabase/WorkerContextWebDatabase.h: Renamed from Source/WebCore/Modules/webdatabase/WorkerContextSQLDatabase.h.
1388         (WebCore):
1389         (WorkerContextWebDatabase):
1390         (WebCore::WorkerContextWebDatabase::WorkerContextWebDatabase):
1391         (WebCore::WorkerContextWebDatabase::~WorkerContextWebDatabase):
1392         * Modules/webdatabase/WorkerContextWebDatabase.idl: Renamed from Source/WebCore/Modules/webdatabase/WorkerContextSQLDatabase.idl.
1393
1394         * DerivedSources.make:
1395         * DerivedSources.pri:
1396         * GNUmakefile.list.am:
1397         * Target.pri:
1398         * WebCore.gypi:
1399         * WebCore.vcproj/WebCore.vcproj:
1400         * WebCore.xcodeproj/project.pbxproj:
1401
1402 2012-03-25  Philip Rogers  <pdr@google.com>
1403
1404         Avoid race condition when iterating over pending resources
1405         https://bugs.webkit.org/show_bug.cgi?id=82115
1406
1407         Reviewed by Nikolas Zimmermann.
1408
1409         We can hit a race condition in SVGStyledElement::buildPendingResourcesIfNeeded
1410         where pending elements can become non-pending while we iterate over them.
1411
1412         This patch cleans up buildPendingResourcesIfNeeded and re-works how pending
1413         resources are removed. Because pending resources can be modified while
1414         iterating over them, we introduce m_pendingResourcesForRemoval that
1415         holds pending resources that are marked for removal. Instead of iterating
1416         over this list we simply remove each pending resource from
1417         m_pendingResourcesForRemoval; if a pending resource is modified or removed
1418         during the processing of another pending resource this list is updated before
1419         the next element can be accessed.
1420
1421         This change also removes removePendingResourceForElement which is no longer
1422         referenced.
1423
1424         Test: http/tests/svg/change-id-with-pending-resources.html
1425
1426         * svg/SVGDocumentExtensions.cpp:
1427         (WebCore::SVGDocumentExtensions::~SVGDocumentExtensions):
1428         (WebCore::SVGDocumentExtensions::removeElementFromPendingResources):
1429         (WebCore::SVGDocumentExtensions::removePendingResourceForRemoval):
1430         (WebCore):
1431         (WebCore::SVGDocumentExtensions::markPendingResourcesForRemoval):
1432         (WebCore::SVGDocumentExtensions::removeElementFromPendingResourcesForRemoval):
1433         * svg/SVGDocumentExtensions.h:
1434         (SVGDocumentExtensions):
1435         * svg/SVGStyledElement.cpp:
1436         (WebCore::SVGStyledElement::buildPendingResourcesIfNeeded):
1437
1438 2012-03-25  Arvid Nilsson  <anilsson@rim.com>
1439
1440         [BlackBerry] Accelerated compositing layers fail to render when using WebPageCompositor
1441         https://bugs.webkit.org/show_bug.cgi?id=82104
1442         RIM PR: 145963
1443
1444         Reviewed by Rob Buis.
1445
1446         The embedder may use vertex buffers, which affected the interpretation
1447         our vertex array pointers from memory pointers to offsets into a vertex
1448         buffer. The resulting geometry often resulted in no visible layers on
1449         screen.
1450
1451         Fixed by getting rid of any bound buffer when we enter
1452         LayerRenderer::drawLayers().
1453
1454         * platform/graphics/blackberry/LayerRenderer.cpp:
1455         (WebCore::LayerRenderer::drawLayers):
1456
1457 2012-03-24  Nat Duca  <nduca@chromium.org>
1458
1459         [chromium] Instrument gesture animations with async traces
1460         https://bugs.webkit.org/show_bug.cgi?id=82076
1461
1462         Reviewed by Adrienne Walker.
1463
1464         * platform/ActivePlatformGestureAnimation.cpp:
1465         (WebCore::ActivePlatformGestureAnimation::~ActivePlatformGestureAnimation):
1466         (WebCore::ActivePlatformGestureAnimation::ActivePlatformGestureAnimation):
1467         * platform/PlatformGestureCurve.h:
1468         (PlatformGestureCurve):
1469         * platform/TouchpadFlingPlatformGestureCurve.h:
1470         (WebCore::TouchpadFlingPlatformGestureCurve::debugName):
1471         * platform/WheelFlingPlatformGestureCurve.h:
1472         (WebCore::WheelFlingPlatformGestureCurve::debugName):
1473         * platform/graphics/chromium/cc/CCActiveGestureAnimation.cpp:
1474         (WebCore::CCActiveGestureAnimation::CCActiveGestureAnimation):
1475         (WebCore::CCActiveGestureAnimation::~CCActiveGestureAnimation):
1476         * platform/graphics/chromium/cc/CCGestureCurve.h:
1477         (CCGestureCurve):
1478
1479 2012-03-24  Jeffrey Pfau  <jpfau@apple.com>
1480
1481         XML error document creation should not fire mutation events
1482         https://bugs.webkit.org/show_bug.cgi?id=80765
1483
1484         Reviewed by Adam Barth.
1485
1486         Broke two tests that expected the old behavior, which have now been updated.
1487
1488         * xml/XMLErrors.cpp:
1489         (WebCore::createXHTMLParserErrorHeader):
1490         (WebCore::XMLErrors::insertErrorMessageBlock):
1491
1492 2012-03-24  Florin Malita  <fmalita@google.com>
1493
1494         ForeignObject content is zoomed two times
1495         https://bugs.webkit.org/show_bug.cgi?id=76282
1496
1497         Reviewed by Nikolas Zimmermann.
1498
1499         Test: svg/zoom/page/zoom-foreign-content.svg
1500
1501         Reset the effective zoom property for FO-nested content to avoid
1502         having the zoom factor applied multiple times (zooming is handled by
1503         the top level SVG root element).
1504
1505         * css/CSSStyleSelector.cpp:
1506         (WebCore::CSSStyleSelector::adjustRenderStyle):
1507
1508 2012-03-24  Chris Fleizach  <cfleizach@apple.com>
1509
1510         AX: Support solution to handle invalid ax text marker
1511         https://bugs.webkit.org/show_bug.cgi?id=82023
1512
1513         Reviewed by Oliver Hunt.
1514
1515         This provides methods to better use text markers so that assistive technologies
1516         can know when they are valid, and can convert them to and from absolute positions.
1517
1518         Test: platform/mac/accessibility/textmarker-routines.html
1519
1520         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
1521         (-[WebAccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
1522         (-[WebAccessibilityObjectWrapper _convertToNSRange:]):
1523         (-[WebAccessibilityObjectWrapper _indexForTextMarker:]):
1524         (-[WebAccessibilityObjectWrapper _textMarkerForIndex:]):
1525         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
1526
1527 2012-03-24  Victor Carbune  <vcarbune@adobe.com>
1528
1529         Quick fix for rendering controls regression.
1530         https://bugs.webkit.org/show_bug.cgi?id=82125
1531
1532         Reviewed by Eric Carlson.
1533
1534         Only temporary fix. Tests to cover the problem should be added
1535
1536         * html/shadow/MediaControlElements.cpp:
1537         (WebCore::MediaControlPanelElement::makeOpaque): The display:none
1538         property should be toggled only by the media element now.
1539         (WebCore::MediaControlPanelElement::makeTransparent): The timer
1540         that toggles the dispalay:none shouldn't be used now.
1541
1542 2012-03-24  Kevin Ollivier  <kevino@theolliviers.com>
1543
1544         [wx] Unreviewed. Add header needed for compilation.
1545
1546         * html/shadow/TextFieldDecorationElement.cpp:
1547
1548 2012-03-24  Abhishek Arya  <inferno@chromium.org>
1549
1550         Crash in ApplyStyleCommand::applyInlineStyleToNodeRange.
1551         https://bugs.webkit.org/show_bug.cgi?id=81959
1552
1553         Reviewed by Ryosuke Niwa.
1554
1555         Test: editing/execCommand/apply-style-command-crash.html
1556
1557         * editing/ApplyStyleCommand.cpp:
1558         (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange): RefPtr the weak
1559         node iterator |node|.
1560         * editing/ApplyStyleCommand.h:
1561         (ApplyStyleCommand): convert |startNode| and |pastEndNode| into PassRefPtr.
1562
1563 2012-03-24  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
1564
1565         Unreviewed, build fix since we use "-Werror=unused-but-set-variable".
1566
1567         The variable 'it' was set at TextureMapperShaderManager.h:110 but never used.
1568
1569         * platform/graphics/texmap/TextureMapperShaderManager.h:
1570         (WebCore::TextureMapperShaderManager::getShaderProgram):
1571
1572 2012-03-24  Zeno Albisser  <zeno@webkit.org>
1573
1574         [Qt][WK2] Make TextureMapperShaderManager::getShaderProgram() not be a template.
1575         https://bugs.webkit.org/show_bug.cgi?id=82049
1576
1577         Change the getShaderProgram() function to not be a template.
1578         This is a workaround for a compiler bug that leads to an assert
1579         when compiling in debug mode on mac.
1580
1581         Reviewed by Noam Rosenthal.
1582
1583         * platform/graphics/texmap/TextureMapperGL.cpp:
1584         (WebCore::TextureMapperGL::drawTexture):
1585         (WebCore::TextureMapperGL::beginClip):
1586         * platform/graphics/texmap/TextureMapperShaderManager.h:
1587         (TextureMapperShaderProgram):
1588         (WebCore::TextureMapperShaderManager::getShaderProgram):
1589         (TextureMapperShaderManager):
1590
1591 2012-03-23  Shawn Singh  <shawnsingh@chromium.org>
1592
1593         [chromium] Incorrect replica originTransform used in CCDamageTracker
1594         https://bugs.webkit.org/show_bug.cgi?id=82118
1595
1596         Reviewed by Adrienne Walker.
1597
1598         Unit test added to CCDamageTrackerTest.cpp
1599
1600         * platform/graphics/chromium/cc/CCDamageTracker.cpp:
1601         (WebCore::CCDamageTracker::extendDamageForRenderSurface):
1602
1603 2012-03-23  Dana Jansens  <danakj@chromium.org>
1604
1605         [chromium] When prepainting fails, tiles dirty rects may be cleared
1606         https://bugs.webkit.org/show_bug.cgi?id=82107
1607
1608         Reviewed by Adrienne Walker.
1609
1610         When prepainting, if a tile is unable to be reserved due to memory
1611         limits, we bail out of prepareToUpdateTiles. But we would have
1612         cleared the dirty rect of any previous tiles. This leaves them
1613         in a bad state where their textures are reserved, but their textureIds
1614         are set to 0, and they are not marked dirty. This means that they will
1615         not be updated and displayed if they become visible, since it is
1616         assumed that valid textures with zero textureId must have a dirty
1617         region.
1618
1619         We fix this by not clearing the dirty rects until we know we are
1620         going to update the layer.
1621
1622         Unit test: TiledLayerChromiumTest.pushTilesAfterIdlePaintFailed
1623
1624         * platform/graphics/chromium/TiledLayerChromium.cpp:
1625         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
1626         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
1627         (WebCore::CCTiledLayerImpl::hasTextureIdForTileAt):
1628         (WebCore):
1629         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
1630         (CCTiledLayerImpl):
1631
1632 2012-03-23  Stephanie Lewis  <slewis@apple.com>
1633
1634         https://bugs.webkit.org/show_bug.cgi?id=81963 WebProcess can get stuck in GC during many low memory signals.
1635         <rdar://problem/11094830> WebProcess appears to get stuck in its GC handler (81963).
1636         Remove the call to garbage collect  in low memory signal handler.  Did some testing with hitting the low memory handler
1637         during Membuster and we would get back at most 100k - 200k.  That isn't enough to help the system, and in 
1638         that state the GC collection can take a substantial amount of time.
1639
1640         Reviewed by Geoff Garen.
1641
1642         Performance Change, no change in behavior.
1643
1644         * platform/mac/MemoryPressureHandlerMac.mm:
1645         (WebCore::MemoryPressureHandler::releaseMemory):
1646
1647 2012-03-23  W. James MacLean  <wjmaclean@chromium.org>
1648
1649         [chromium] CCLayerTreeHostImpl::scrollBegin() should return ScrollFailed for CCInputHandlerClient::Gesture type when wheel handlers found.
1650         https://bugs.webkit.org/show_bug.cgi?id=82106
1651
1652         Reviewed by Adrienne Walker.
1653
1654         Existing unit tests updated.
1655
1656         With gesture scroll events now being handled as mouse wheel events, we should not start a gesture scroll when
1657         wheel handlers are present.
1658
1659         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1660         (WebCore::CCLayerTreeHostImpl::scrollBegin):
1661
1662 2012-03-23  Adam Barth  <abarth@webkit.org>
1663
1664         Move Notifications APIs from WorkerContext.idl to WorkerContextNotifications.idl
1665         https://bugs.webkit.org/show_bug.cgi?id=79635
1666
1667         Reviewed by Kentaro Hara.
1668
1669         This patch moves the NotificationCenter from WorkerContext to
1670         WorkerContextNotificiations, reducing clutter in WorkerContext.  After
1671         this patch, Notifications are almost entirely contained in the
1672         notifications directory.
1673
1674         * CMakeLists.txt:
1675         * DerivedSources.make:
1676         * DerivedSources.pri:
1677         * GNUmakefile.list.am:
1678         * Target.pri:
1679         * WebCore.gypi:
1680         * WebCore.vcproj/WebCore.vcproj:
1681         * WebCore.xcodeproj/project.pbxproj:
1682         * workers/WorkerContext.cpp:
1683         (WebCore::WorkerContext::~WorkerContext):
1684         * workers/WorkerContext.h:
1685         (WebCore):
1686         (WorkerContext):
1687         * workers/WorkerContext.idl:
1688
1689 2012-03-23  Michal Mocny  <mmocny@google.com>
1690
1691         [chromium] RootLayer was not being checked for null causing segfaults very rarely.
1692         https://bugs.webkit.org/show_bug.cgi?id=82111
1693
1694         Reviewed by Adrienne Walker.
1695
1696         * platform/graphics/chromium/LayerRendererChromium.cpp:
1697         (WebCore::LayerRendererChromium::beginDrawingFrame):
1698         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1699         (WebCore::CCLayerTreeHostImpl::drawLayers):
1700
1701 2012-03-23  Shawn Singh  <shawnsingh@chromium.org>
1702
1703         [chromium] Fix race bug that clobbers CCLayerImpl updateRect
1704         https://bugs.webkit.org/show_bug.cgi?id=82109
1705
1706         Reviewed by Dirk Pranke.
1707
1708         If the main thread commits twice before the impl thread actually
1709         draws, then the updateRect of the first frame gets lost forever,
1710         and not propagated to the damage tracker.
1711
1712         The solution is to accumulate the updateRect. The CCLayerImpl
1713         updateRect is already being correctly cleared at the appropriate
1714         time after drawing.
1715
1716         Unit test added to LayerChromiumTest.cpp.
1717
1718         * platform/graphics/chromium/LayerChromium.cpp:
1719         (WebCore::LayerChromium::pushPropertiesTo):
1720
1721 2012-03-23  Rafael Weinstein  <rafaelw@chromium.org>
1722
1723         [MutationObservers] attributeFilter should be case sensitive at all times
1724         https://bugs.webkit.org/show_bug.cgi?id=81822
1725
1726         Reviewed by Ryosuke Niwa.
1727
1728         This removes the behavior in MutationObserverRegistration which treats
1729         attributeFilter as case insensitive for HTML elements in HTML documents.
1730
1731         Relevant tests have been updated.
1732
1733         * dom/MutationObserverRegistration.cpp:
1734         (WebCore::MutationObserverRegistration::resetObservation):
1735         (WebCore::MutationObserverRegistration::shouldReceiveMutationFrom):
1736         * dom/MutationObserverRegistration.h:
1737         (MutationObserverRegistration):
1738
1739 2012-03-23  Kentaro Hara  <haraken@chromium.org>
1740
1741         Move WebSocket APIs from WorkerContext.idl to WorkerContextWebSocket.idl
1742         https://bugs.webkit.org/show_bug.cgi?id=79663
1743
1744         Reviewed by Adam Barth.
1745
1746         For WebKit modularization, this patch moves WebSocket APIs from WorkerContext.idl
1747         to WorkerContextWebSocket.idl.
1748
1749         Tests: http/tests/websocket/tests/hybi/workers/* (No change in test results)
1750
1751         * CMakeLists.txt:
1752         * DerivedSources.make:
1753         * DerivedSources.pri:
1754         * GNUmakefile.list.am:
1755         * Modules/websockets/WorkerContextWebSocket.idl: Added.
1756         * WebCore.gypi:
1757         * WebCore.xcodeproj/project.xcodeproj:
1758         * workers/WorkerContext.idl:
1759
1760 2012-03-23  Parag Radke  <parag@motorola.com>
1761
1762         REGRESSION: can select text of an input button
1763         https://bugs.webkit.org/show_bug.cgi?id=13624
1764
1765         Reviewed by Ryosuke Niwa.
1766
1767         Text in a button should never have a selection background of its own painted
1768         but if the button is inside an editable area, then the whole button should
1769         have it's selection background painted.
1770
1771         Test: editing/selection/selection-button-text.html
1772
1773         * rendering/RenderButton.h:
1774         Added implementation for the virtual function canBeSelectionLeaf()
1775         which returns true if the button renderer is editable, false other wise.
1776         * rendering/RenderTextFragment.h:
1777         Added implementation for the virtual function canBeSelectionLeaf()
1778         which returns true if the text fragment renderer is editable, false other wise.
1779
1780 2012-03-23  Eric Carlson  <eric.carlson@apple.com>
1781
1782         Remove unnecessary ASSERT from LoadableTextTrack::trackElementIndex
1783         https://bugs.webkit.org/show_bug.cgi?id=82095
1784
1785         Reviewed by Dan Bernstein.
1786
1787         No new tests, removed a bogus ASSERT that was sometimes triggered by tests.
1788
1789         * html/track/LoadableTextTrack.cpp:
1790         (WebCore::LoadableTextTrack::trackElementIndex): Remove ASSERT.
1791
1792 2012-03-23  Eric Carlson  <eric.carlson@apple.com>
1793
1794         Layout Test media/video-source-load.html is failing
1795         https://bugs.webkit.org/show_bug.cgi?id=82094
1796
1797         Reviewed by Alexey Proskuryakov.
1798
1799         No new tests, tested by media/video-source-load.html.
1800
1801         * html/HTMLMediaElement.cpp:
1802         (WebCore::HTMLMediaElement::sourceWasAdded): Set m_nextChildNodeToConsider when called 
1803             with networkState == NETWORK_EMPTY because the resource selection algorithm has
1804             not started yet.
1805
1806 2012-03-23  Alexey Proskuryakov  <ap@apple.com>
1807
1808         [Mac] No need for platform-specific ENABLE_BLOB values
1809         https://bugs.webkit.org/show_bug.cgi?id=82102
1810
1811         Reviewed by David Kilzer.
1812
1813         * Configurations/FeatureDefines.xcconfig:
1814
1815 2012-03-23  Kent Tamura  <tkent@chromium.org>
1816
1817         Add TextFieldDecorator and TextFieldDecorationElement
1818         https://bugs.webkit.org/show_bug.cgi?id=80580
1819
1820         Reviewed by Dimitri Glazkov.
1821
1822         These classes will be used to add a decoration icon to a text field
1823         <input> from outside of WebCore. We have a plan to use them in Chromium
1824         port. So this patch doesn't add TextFieldDecorationElement.{cpp,h} to
1825         non-Chromium build files.
1826
1827         How it works:
1828         When a shadow subtree for a text field is created, we ask ChromeClient
1829         to decorate it. ChromeClient appends a TextFieldDecorationElement to the
1830         existing shadow subtree or another shadow tree. A TextFieldDecorator is
1831         associated to a TextFieldDecorationElement, and it provides decoration
1832         icon images and a click handler.
1833
1834         No new tests. This patch won't make any behavior change for now.
1835
1836         * WebCore.gypi: Add TextFieldDecorationElement.cpp and TextFieldDecorationElement.h
1837         * dom/Element.h:
1838         (WebCore::Element::isTextFieldDecoration):
1839         * html/TextFieldInputType.cpp:
1840         (WebCore::TextFieldInputType::createShadowSubtree):
1841         Calls ChromeClient::willAddTextFieldDecorationsTo() and addTextFieldDecorationsTo().
1842         * html/shadow/TextFieldDecorationElement.cpp: Added.
1843         (WebCore::TextFieldDecorator::~TextFieldDecorator):
1844         (WebCore::TextFieldDecorationElement::TextFieldDecorationElement):
1845         (WebCore::TextFieldDecorationElement::create):
1846         (WebCore::TextFieldDecorationElement::isTextFieldDecoration):
1847         (WebCore::TextFieldDecorationElement::updateImage):
1848         (WebCore::TextFieldDecorationElement::customStyleForRenderer):
1849         Sets the size to a square of the font-size.
1850         (WebCore::TextFieldDecorationElement::createRenderer):
1851         Always creates a RenderImage.
1852         (WebCore::TextFieldDecorationElement::attach):
1853         Sets an image for appropriate state.
1854         (WebCore::TextFieldDecorationElement::isMouseFocusable):
1855         (WebCore::TextFieldDecorationElement::defaultEventHandler):
1856         Delegate a click event to the corresponding function of TextFieldDecorator.
1857         * html/shadow/TextFieldDecorationElement.h: Added.
1858         (TextFieldDecorator): Added.
1859         (TextFieldDecorationElement): Added.
1860         (WebCore::toTextFieldDecorationElement): Added.
1861         * page/ChromeClient.h:
1862         (WebCore::ChromeClient::willAddTextFieldDecorationsTo): Add an empty implementation.
1863         (WebCore::ChromeClient::addTextFieldDecorationsTo): ditto.
1864
1865 2012-03-23  Adam Klein  <adamk@chromium.org>
1866
1867         Match DOM4 spec with respect to DocumentFragment insertion
1868         https://bugs.webkit.org/show_bug.cgi?id=82089
1869
1870         Reviewed by Ryosuke Niwa.
1871
1872         DOM4 specifies the behavior of appendChild, insertBefore, and replaceChild
1873         in terms of "mutation algorithms":
1874
1875         http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#mutation-algorithms
1876
1877         This change updates WebKit to match, in particular with regard to DocumentFragments.
1878         Previously, ContainerNode would remove nodes one at a time, then add them to the new parent.
1879         When combined with MutationObservers, this results in overly-verbose mutation records.
1880         Now we create as few records as possible, matching the spec as well as Gecko's implementation
1881         of MutationObservers.
1882
1883         Note that we still need to check validity each time through the loop,
1884         since inserting a node may dispatch events. In a future change, I hope
1885         to move these events so that they fire only after all nodes are inserted,
1886         but that's too much to tackle all in one.
1887
1888         Tests: fast/mutation/document-fragment-insertion.html
1889
1890         * dom/ContainerNode.cpp:
1891         (WebCore::collectChildrenAndRemoveFromOldParent): New helper method
1892         combining collectTargetNodes() with the removal of the collected nodes from
1893         their old parent, if any.
1894         (WebCore::ContainerNode::insertBefore): Use new helper method instead
1895         of removing nodes one at a time from the fragment.
1896         (WebCore::ContainerNode::replaceChild): ditto. Also removed some redundant asserts
1897         and moved the "do nothing" check out of the loop.
1898         (WebCore::ContainerNode::appendChild): Use new helper method.
1899
1900 2012-03-23  Stephen White  <senorblanco@chromium.org>
1901
1902         [skia] Switch to Skia's implementation of the feMorphology filter.
1903         https://bugs.webkit.org/show_bug.cgi?id=82085
1904
1905         Reviewed by Dirk Schulze.
1906
1907         Covered by existing tests in svg/filters/.
1908
1909         * WebCore.gypi:
1910         * platform/graphics/filters/FEMorphology.h:
1911         (FEMorphology):
1912         * platform/graphics/filters/skia/FEMorphologySkia.cpp: Added.
1913         (WebCore):
1914         (WebCore::FEMorphology::platformApplySkia):
1915
1916 2012-03-23  Adam Barth  <abarth@webkit.org>
1917
1918         Move Notifications APIs from DOMWindow.idl to DOMWindowNotifications.idl (Part 3)
1919         https://bugs.webkit.org/show_bug.cgi?id=82027
1920
1921         Reviewed by Kentaro Hara.
1922
1923         Rather than watching for willDetachPage, NotificationCenter can just
1924         override ActiveDOMObject::stop directly to be notified when it needs to
1925         stop.
1926
1927         Switching NotificationCenter over to using ActiveDOMObject callbacks
1928         frees DOMWindowNotification to implement reconnectFrame.  However, this
1929         is only really a victory in princple because NotificationCenter always
1930         returns false for canSuspend(), which means we'll never actually use
1931         the reconnectFrame functionality.  However, this patch does move us
1932         closer to the time when NotificationCenter can implement
1933         ActiveDOMObject::suspend/resume to play nice with the PageCache.
1934
1935         * notifications/DOMWindowNotifications.cpp:
1936         (WebCore::DOMWindowNotifications::disconnectFrame):
1937         (WebCore::DOMWindowNotifications::reconnectFrame):
1938         * notifications/DOMWindowNotifications.h:
1939         (DOMWindowNotifications):
1940         * notifications/NotificationCenter.cpp:
1941         (WebCore::NotificationCenter::NotificationCenter):
1942         (WebCore::NotificationCenter::stop):
1943         * notifications/NotificationCenter.h:
1944         (NotificationCenter):
1945
1946 2012-03-23  Daniel Cheng  <dcheng@chromium.org>
1947
1948         [chromium] Support file drag out using DataTransferItemList::add(File)
1949         https://bugs.webkit.org/show_bug.cgi?id=81261
1950
1951         Reviewed by Tony Chang.
1952
1953         Original patch by Varun Jain <varunjain@chromium.org>.
1954         I've updated the original patch to remove 'downloadurl' handling since it's not tested, nor
1955         is it necessary for File objects, since File objects correspond to a native filesystem path.
1956
1957         Test: fast/events/drag-dataTransferItemList-file-handling.html
1958
1959         * platform/chromium/DataTransferItemListChromium.cpp:
1960         (WebCore::DataTransferItemListChromium::add):
1961
1962 2012-03-23  Zan Dobersek  <zandobersek@gmail.com>
1963
1964         [GObject bindings] Supplemental interfaces are not disabled with the "Conditional" attribute
1965         https://bugs.webkit.org/show_bug.cgi?id=80030
1966
1967         Reviewed by Martin Robinson.
1968
1969         Changes in CodeGeneratorGObject.pm:
1970         - group implementation of private helpers and guard them inside
1971         an ifdef if a root conditional attribute is present.
1972         - always define the type of a GObject binding, even if the root
1973         conditional feature is not enabled
1974         - the methods are generated as well, but are simply stubs if the
1975         feature is not enabled, throwing a warning upon interaction.
1976         - if the method itself is guarded by a conditional attribute,
1977         the stub implementation gains one more level of depth, throwing
1978         a warning if the method's conditional feature is not enabled
1979         but the root conditional feature is.
1980         - small style fixes in random places.
1981
1982         Also changed are GObject baselines for binding tests.
1983
1984         No new tests - no new testable functionality.
1985
1986         * bindings/gobject/GNUmakefile.am:
1987         * bindings/scripts/CodeGeneratorGObject.pm:
1988         (HumanReadableConditional):
1989         (GenerateConditionalWarn):
1990         (GenerateProperty):
1991         (GenerateProperties):
1992         (GenerateFunction):
1993         (GenerateFunctions):
1994         (GenerateCFile):
1995         (GenerateEventTargetIface):
1996         (Generate):
1997         (WriteData):
1998         * bindings/scripts/test/GObject/WebKitDOMFloat64Array.cpp:
1999         (WebKit):
2000         (WebKit::kit):
2001         (WebKit::wrapFloat64Array):
2002         (webkit_dom_float64array_finalize):
2003         (webkit_dom_float64array_foo):
2004         * bindings/scripts/test/GObject/WebKitDOMFloat64ArrayPrivate.h:
2005         * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.cpp:
2006         (WebKit):
2007         (WebKit::kit):
2008         (WebKit::wrapTestActiveDOMObject):
2009         (webkit_dom_test_active_dom_object_finalize):
2010         (webkit_dom_test_active_dom_object_exciting_function):
2011         (webkit_dom_test_active_dom_object_post_message):
2012         (webkit_dom_test_active_dom_object_get_exciting_attr):
2013         * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObjectPrivate.h:
2014         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
2015         (WebKit):
2016         (WebKit::kit):
2017         (WebKit::core):
2018         (WebKit::wrapTestCallback):
2019         (webkit_dom_test_callback_finalize):
2020         (webkit_dom_test_callback_callback_with_no_param):
2021         (webkit_dom_test_callback_callback_with_class1param):
2022         (webkit_dom_test_callback_callback_with_class2param):
2023         (webkit_dom_test_callback_callback_with_non_bool_return_type):
2024         (webkit_dom_test_callback_callback_with_string_list):
2025         * bindings/scripts/test/GObject/WebKitDOMTestCallbackPrivate.h:
2026         * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.cpp:
2027         (WebKit):
2028         (WebKit::kit):
2029         (WebKit::wrapTestCustomNamedGetter):
2030         (webkit_dom_test_custom_named_getter_finalize):
2031         (webkit_dom_test_custom_named_getter_another_function):
2032         * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetterPrivate.h:
2033         * bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.cpp:
2034         (WebKit):
2035         (WebKit::kit):
2036         (WebKit::wrapTestEventConstructor):
2037         (webkit_dom_test_event_constructor_finalize):
2038         (webkit_dom_test_event_constructor_get_attr1):
2039         (webkit_dom_test_event_constructor_get_attr2):
2040         * bindings/scripts/test/GObject/WebKitDOMTestEventConstructorPrivate.h:
2041         * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.cpp:
2042         (WebKit):
2043         (WebKit::core):
2044         (WebKit::wrapTestEventTarget):
2045         (webkit_dom_test_event_target_finalize):
2046         (webkit_dom_test_event_target_item):
2047         (webkit_dom_test_event_target_dispatch_event):
2048         * bindings/scripts/test/GObject/WebKitDOMTestEventTargetPrivate.h:
2049         * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
2050         (WebKit):
2051         (WebKit::kit):
2052         (WebKit::core):
2053         (WebKit::wrapTestInterface):
2054         (webkit_dom_test_interface_finalize):
2055         (webkit_dom_test_interface_supplemental_method1):
2056         (webkit_dom_test_interface_supplemental_method2):
2057         (webkit_dom_test_interface_supplemental_method4):
2058         (webkit_dom_test_interface_get_supplemental_str1):
2059         (webkit_dom_test_interface_get_supplemental_str2):
2060         (webkit_dom_test_interface_set_supplemental_str2):
2061         (webkit_dom_test_interface_get_supplemental_node):
2062         (webkit_dom_test_interface_set_supplemental_node):
2063         * bindings/scripts/test/GObject/WebKitDOMTestInterfacePrivate.h:
2064         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
2065         (WebKit):
2066         (WebKit::kit):
2067         (WebKit::wrapTestMediaQueryListListener):
2068         (webkit_dom_test_media_query_list_listener_finalize):
2069         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListenerPrivate.h:
2070         * bindings/scripts/test/GObject/WebKitDOMTestNamedConstructor.cpp:
2071         (WebKit):
2072         (WebKit::kit):
2073         (WebKit::wrapTestNamedConstructor):
2074         (webkit_dom_test_named_constructor_finalize):
2075         * bindings/scripts/test/GObject/WebKitDOMTestNamedConstructorPrivate.h:
2076         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
2077         (WebKit):
2078         (WebKit::kit):
2079         (WebKit::core):
2080         (WebKit::wrapTestObj):
2081         (webkit_dom_test_obj_finalize):
2082         (webkit_dom_test_obj_set_property):
2083         (webkit_dom_test_obj_get_property):
2084         (webkit_dom_test_obj_constructed):
2085         (webkit_dom_test_obj_class_init):
2086         (webkit_dom_test_obj_init):
2087         (webkit_dom_test_obj_void_method):
2088         (webkit_dom_test_obj_void_method_with_args):
2089         (webkit_dom_test_obj_int_method):
2090         (webkit_dom_test_obj_int_method_with_args):
2091         (webkit_dom_test_obj_obj_method):
2092         (webkit_dom_test_obj_obj_method_with_args):
2093         (webkit_dom_test_obj_method_with_sequence_arg):
2094         (webkit_dom_test_obj_method_that_requires_all_args_and_throws):
2095         (webkit_dom_test_obj_serialized_value):
2096         (webkit_dom_test_obj_idb_key):
2097         (webkit_dom_test_obj_options_object):
2098         (webkit_dom_test_obj_method_with_exception):
2099         (webkit_dom_test_obj_with_script_state_void):
2100         (webkit_dom_test_obj_with_script_state_obj):
2101         (webkit_dom_test_obj_with_script_state_void_exception):
2102         (webkit_dom_test_obj_with_script_state_obj_exception):
2103         (webkit_dom_test_obj_with_script_execution_context):
2104         (webkit_dom_test_obj_with_script_execution_context_and_script_state):
2105         (webkit_dom_test_obj_with_script_execution_context_and_script_state_obj_exception):
2106         (webkit_dom_test_obj_with_script_execution_context_and_script_state_with_spaces):
2107         (webkit_dom_test_obj_method_with_optional_arg):
2108         (webkit_dom_test_obj_method_with_non_optional_arg_and_optional_arg):
2109         (webkit_dom_test_obj_method_with_non_optional_arg_and_two_optional_args):
2110         (webkit_dom_test_obj_method_with_optional_string):
2111         (webkit_dom_test_obj_method_with_optional_string_is_undefined):
2112         (webkit_dom_test_obj_method_with_optional_string_is_null_string):
2113         (webkit_dom_test_obj_conditional_method1):
2114         (webkit_dom_test_obj_conditional_method2):
2115         (webkit_dom_test_obj_conditional_method3):
2116         (webkit_dom_test_obj_class_method):
2117         (webkit_dom_test_obj_class_method_with_optional):
2118         (webkit_dom_test_obj_overloaded_method1):
2119         (webkit_dom_test_obj_convert1):
2120         (webkit_dom_test_obj_convert2):
2121         (webkit_dom_test_obj_convert3):
2122         (webkit_dom_test_obj_convert4):
2123         (webkit_dom_test_obj_convert5):
2124         (webkit_dom_test_obj_mutable_point_function):
2125         (webkit_dom_test_obj_immutable_point_function):
2126         (webkit_dom_test_obj_orange):
2127         (webkit_dom_test_obj_strict_function):
2128         (webkit_dom_test_obj_get_read_only_int_attr):
2129         (webkit_dom_test_obj_get_read_only_string_attr):
2130         (webkit_dom_test_obj_get_read_only_test_obj_attr):
2131         (webkit_dom_test_obj_get_short_attr):
2132         (webkit_dom_test_obj_set_short_attr):
2133         (webkit_dom_test_obj_get_unsigned_short_attr):
2134         (webkit_dom_test_obj_set_unsigned_short_attr):
2135         (webkit_dom_test_obj_get_int_attr):
2136         (webkit_dom_test_obj_set_int_attr):
2137         (webkit_dom_test_obj_get_long_long_attr):
2138         (webkit_dom_test_obj_set_long_long_attr):
2139         (webkit_dom_test_obj_get_unsigned_long_long_attr):
2140         (webkit_dom_test_obj_set_unsigned_long_long_attr):
2141         (webkit_dom_test_obj_get_string_attr):
2142         (webkit_dom_test_obj_set_string_attr):
2143         (webkit_dom_test_obj_get_test_obj_attr):
2144         (webkit_dom_test_obj_set_test_obj_attr):
2145         (webkit_dom_test_obj_get_xml_obj_attr):
2146         (webkit_dom_test_obj_set_xml_obj_attr):
2147         (webkit_dom_test_obj_get_create):
2148         (webkit_dom_test_obj_set_create):
2149         (webkit_dom_test_obj_get_reflected_string_attr):
2150         (webkit_dom_test_obj_set_reflected_string_attr):
2151         (webkit_dom_test_obj_get_reflected_integral_attr):
2152         (webkit_dom_test_obj_set_reflected_integral_attr):
2153         (webkit_dom_test_obj_get_reflected_unsigned_integral_attr):
2154         (webkit_dom_test_obj_set_reflected_unsigned_integral_attr):
2155         (webkit_dom_test_obj_get_reflected_boolean_attr):
2156         (webkit_dom_test_obj_set_reflected_boolean_attr):
2157         (webkit_dom_test_obj_get_reflected_url_attr):
2158         (webkit_dom_test_obj_set_reflected_url_attr):
2159         (webkit_dom_test_obj_get_reflected_custom_integral_attr):
2160         (webkit_dom_test_obj_set_reflected_custom_integral_attr):
2161         (webkit_dom_test_obj_get_reflected_custom_boolean_attr):
2162         (webkit_dom_test_obj_set_reflected_custom_boolean_attr):
2163         (webkit_dom_test_obj_get_reflected_custom_url_attr):
2164         (webkit_dom_test_obj_set_reflected_custom_url_attr):
2165         (webkit_dom_test_obj_get_attr_with_getter_exception):
2166         (webkit_dom_test_obj_set_attr_with_getter_exception):
2167         (webkit_dom_test_obj_get_attr_with_setter_exception):
2168         (webkit_dom_test_obj_set_attr_with_setter_exception):
2169         (webkit_dom_test_obj_get_string_attr_with_getter_exception):
2170         (webkit_dom_test_obj_set_string_attr_with_getter_exception):
2171         (webkit_dom_test_obj_get_string_attr_with_setter_exception):
2172         (webkit_dom_test_obj_set_string_attr_with_setter_exception):
2173         (webkit_dom_test_obj_get_with_script_state_attribute):
2174         (webkit_dom_test_obj_set_with_script_state_attribute):
2175         (webkit_dom_test_obj_get_with_script_execution_context_attribute):
2176         (webkit_dom_test_obj_set_with_script_execution_context_attribute):
2177         (webkit_dom_test_obj_get_with_script_state_attribute_raises):
2178         (webkit_dom_test_obj_set_with_script_state_attribute_raises):
2179         (webkit_dom_test_obj_get_with_script_execution_context_attribute_raises):
2180         (webkit_dom_test_obj_set_with_script_execution_context_attribute_raises):
2181         (webkit_dom_test_obj_get_with_script_execution_context_and_script_state_attribute):
2182         (webkit_dom_test_obj_set_with_script_execution_context_and_script_state_attribute):
2183         (webkit_dom_test_obj_get_with_script_execution_context_and_script_state_attribute_raises):
2184         (webkit_dom_test_obj_set_with_script_execution_context_and_script_state_attribute_raises):
2185         (webkit_dom_test_obj_get_with_script_execution_context_and_script_state_with_spaces_attribute):
2186         (webkit_dom_test_obj_set_with_script_execution_context_and_script_state_with_spaces_attribute):
2187         (webkit_dom_test_obj_get_conditional_attr1):
2188         (webkit_dom_test_obj_set_conditional_attr1):
2189         (webkit_dom_test_obj_get_conditional_attr2):
2190         (webkit_dom_test_obj_set_conditional_attr2):
2191         (webkit_dom_test_obj_get_conditional_attr3):
2192         (webkit_dom_test_obj_set_conditional_attr3):
2193         (webkit_dom_test_obj_get_content_document):
2194         (webkit_dom_test_obj_get_mutable_point):
2195         (webkit_dom_test_obj_set_mutable_point):
2196         (webkit_dom_test_obj_get_immutable_point):
2197         (webkit_dom_test_obj_set_immutable_point):
2198         (webkit_dom_test_obj_get_strict_float):
2199         (webkit_dom_test_obj_set_strict_float):
2200         (webkit_dom_test_obj_get_description):
2201         (webkit_dom_test_obj_get_id):
2202         (webkit_dom_test_obj_set_id):
2203         (webkit_dom_test_obj_get_hash):
2204         * bindings/scripts/test/GObject/WebKitDOMTestObjPrivate.h:
2205         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
2206         (WebKit):
2207         (WebKit::kit):
2208         (WebKit::core):
2209         (WebKit::wrapTestSerializedScriptValueInterface):
2210         (webkit_dom_test_serialized_script_value_interface_finalize):
2211         (webkit_dom_test_serialized_script_value_interface_accept_transfer_list):
2212         (webkit_dom_test_serialized_script_value_interface_multi_transfer_list):
2213         (webkit_dom_test_serialized_script_value_interface_get_value):
2214         (webkit_dom_test_serialized_script_value_interface_set_value):
2215         (webkit_dom_test_serialized_script_value_interface_get_readonly_value):
2216         (webkit_dom_test_serialized_script_value_interface_get_cached_value):
2217         (webkit_dom_test_serialized_script_value_interface_set_cached_value):
2218         (webkit_dom_test_serialized_script_value_interface_get_cached_readonly_value):
2219         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterfacePrivate.h:
2220
2221 2012-03-23  Dana Jansens  <danakj@chromium.org>
2222
2223         [chromium] Record painted pixel counts for measuring effectiveness of per-tile painting
2224         https://bugs.webkit.org/show_bug.cgi?id=82057
2225
2226         Reviewed by Adrienne Walker.
2227
2228         Adds painted pixel metrics to CCOverdrawMetrics class, and calls in
2229         to report painted areas when updating tiles in the TiledLayerChromium
2230         class.
2231
2232         Unit test: TiledLayerChromiumTest.opaqueContentsRegion
2233                    TiledLayerChromiumTest.pixelsPaintedMetrics
2234
2235         * platform/graphics/chromium/TiledLayerChromium.cpp:
2236         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
2237         * platform/graphics/chromium/cc/CCOverdrawMetrics.cpp:
2238         (WebCore::CCOverdrawMetrics::CCOverdrawMetrics):
2239         (WebCore::CCOverdrawMetrics::didPaint):
2240         (WebCore):
2241         (WebCore::CCOverdrawMetrics::recordMetricsInternal):
2242         * platform/graphics/chromium/cc/CCOverdrawMetrics.h:
2243         (CCOverdrawMetrics):
2244         (WebCore::CCOverdrawMetrics::pixelsPainted):
2245
2246 2012-03-23  Abhishek Arya  <inferno@chromium.org>
2247
2248         Crash in RenderBlock::splitBlocks.
2249         https://bugs.webkit.org/show_bug.cgi?id=81926
2250
2251         Reviewed by Julien Chaffraix.
2252
2253         We are updating the :after content before calling splitFlow. The :after content
2254         gets blown away since it will go to the continuation. beforeChild was earlier
2255         set to the first child. Being the last anonymous block, its children gets pulled
2256         up in collapseAnonymousBoxChild and it gets destroyed. So, we need to update
2257         beforeChild value. 
2258
2259         Test: fast/multicol/span/update-after-content-before-child-crash.html
2260
2261         * rendering/RenderBlock.cpp:
2262         (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
2263
2264 2012-03-23  Dana Jansens  <danakj@chromium.org>
2265
2266         [chromium] Improved composited debug borders
2267         https://bugs.webkit.org/show_bug.cgi?id=82071
2268
2269         Reviewed by Adrienne Walker.
2270
2271         Fix the problem with missing debug borders. Since we append quads
2272         to the list front to back now, we draw the quads in the list from
2273         back to front of the list. Which means if the debug quad is added
2274         after the layer it is drawing around, the layer can draw over top
2275         of its debug quad. Reverse the ordering when appending to fix it.
2276
2277         Make the border red around tiles that are checkerboarded. Missing
2278         tiles in non-root layers are drawn clear, so this makes them more
2279         visible.
2280
2281         Put a blue border around each render surface, and a purple border
2282         on their replicas.
2283
2284         No new tests.
2285
2286         * platform/graphics/chromium/cc/CCRenderPass.cpp:
2287         (WebCore):
2288         (WebCore::CCRenderPass::appendQuadsForLayer):
2289         (WebCore::CCRenderPass::appendQuadsForRenderSurfaceLayer):
2290         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
2291         (WebCore::CCRenderSurface::hasReplica):
2292         (WebCore):
2293         (WebCore::CCRenderSurface::createReplicaSharedQuadState):
2294         * platform/graphics/chromium/cc/CCRenderSurface.h:
2295         (CCRenderSurface):
2296         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
2297         (WebCore):
2298         (WebCore::CCTiledLayerImpl::appendQuads):
2299
2300 2012-03-23  Simon Fraser  <simon.fraser@apple.com>
2301
2302         Move code that calls setAcceleratesDrawing() on GraphicsLayers into RenderLayerBacking
2303         https://bugs.webkit.org/show_bug.cgi?id=82092
2304
2305         Reviewed by Dean Jackson.
2306
2307         A RenderLayerBacking manages several GraphicsLayers, but RenderLayerCompositor
2308         was only calling setAcceleratesDrawing() on the one it knows about. Fix by moving
2309         this setting code down into RenderLayerBacking.
2310         
2311         RenderLayerCompositor now caches the setAcceleratesDrawing setting, as it does
2312         for other compositing-related settings, so that RenderLayerBacking doesn't have
2313         to grovel for Settings every time.
2314
2315         * rendering/RenderLayerBacking.cpp:
2316         (WebCore::RenderLayerBacking::createGraphicsLayer):
2317         (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
2318         * rendering/RenderLayerCompositor.cpp:
2319         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
2320         (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags):
2321         (WebCore::RenderLayerCompositor::updateBacking):
2322         * rendering/RenderLayerCompositor.h:
2323         (WebCore::RenderLayerCompositor::acceleratedDrawingEnabled):
2324         (RenderLayerCompositor):
2325
2326 2012-03-23  Beth Dakin  <bdakin@apple.com>
2327
2328         https://bugs.webkit.org/show_bug.cgi?id=82083
2329
2330         Rubber-stamped by Simon Fraser.
2331
2332         This patch is just a name change. getExistingScrollAnimator() (which was 
2333         added earlier today) is now existingScrollAnimator().
2334         * loader/FrameLoader.cpp:
2335         (WebCore::FrameLoader::transitionToCommitted):
2336         * page/EventHandler.cpp:
2337         (WebCore::EventHandler::handleGestureTapDown):
2338         * page/FrameView.cpp:
2339         (WebCore::FrameView::setAnimatorsAreActive):
2340         * platform/ScrollView.cpp:
2341         (WebCore::ScrollView::updateScrollbars):
2342         * platform/ScrollableArea.cpp:
2343         (WebCore::ScrollableArea::willStartLiveResize):
2344         (WebCore::ScrollableArea::willEndLiveResize):
2345         (WebCore::ScrollableArea::contentAreaWillPaint):
2346         (WebCore::ScrollableArea::mouseEnteredContentArea):
2347         (WebCore::ScrollableArea::mouseExitedContentArea):
2348         (WebCore::ScrollableArea::mouseMovedInContentArea):
2349         (WebCore::ScrollableArea::contentAreaDidShow):
2350         (WebCore::ScrollableArea::contentAreaDidHide):
2351         (WebCore::ScrollableArea::contentsResized):
2352         (WebCore::ScrollableArea::serviceScrollAnimations):
2353         * platform/ScrollableArea.h:
2354         (WebCore::ScrollableArea::existingScrollAnimator):
2355
2356 2012-03-23  Abhishek Arya  <inferno@chromium.org>
2357
2358         Crash due to accessing removed parent lineboxes when clearing selection.
2359         https://bugs.webkit.org/show_bug.cgi?id=81359
2360
2361         Reviewed by Eric Seidel.
2362
2363         Similar to r110323, adds the canUpdateSelectionOnRootLineBoxes
2364         check to more places.
2365
2366         Test: editing/selection/clear-selection-crash.html
2367
2368         * rendering/RenderObject.cpp:
2369         (WebCore::RenderObject::canUpdateSelectionOnRootLineBoxes):
2370         * rendering/RenderSelectionInfo.h:
2371         (WebCore::RenderSelectionInfo::RenderSelectionInfo):
2372         (WebCore::RenderBlockSelectionInfo::RenderBlockSelectionInfo):
2373
2374 2012-03-23  Beth Dakin  <bdakin@apple.com>
2375
2376         https://bugs.webkit.org/show_bug.cgi?id=82083
2377         Too many ScrollAnimators are allocated on pages with frames
2378
2379         Reviewed by Geoffrey Garen.
2380
2381         This patch adds a new getter to ScrollableArea called 
2382         getExistingScrollAnimator() unlike scrollAnimator() this new function will 
2383         just return null if there is not already a ScrollAnimator. Callers should use 
2384         this new function when they have business with ScrollAnimator that does not 
2385         need to do anything when there are no scrollbars.
2386         * loader/FrameLoader.cpp:
2387         (WebCore::FrameLoader::transitionToCommitted):
2388         * page/EventHandler.cpp:
2389         (WebCore::EventHandler::handleGestureTapDown):
2390         * page/FrameView.cpp:
2391         (WebCore::FrameView::setAnimatorsAreActive):
2392         * platform/ScrollView.cpp:
2393         (WebCore::ScrollView::updateScrollbars):
2394         * platform/ScrollableArea.cpp:
2395         (WebCore::ScrollableArea::willStartLiveResize):
2396         (WebCore::ScrollableArea::willEndLiveResize):
2397         (WebCore::ScrollableArea::contentAreaWillPaint):
2398         (WebCore::ScrollableArea::mouseEnteredContentArea):
2399         (WebCore::ScrollableArea::mouseExitedContentArea):
2400         (WebCore::ScrollableArea::mouseMovedInContentArea):
2401         (WebCore::ScrollableArea::contentAreaDidShow):
2402         (WebCore::ScrollableArea::contentAreaDidHide):
2403         (WebCore::ScrollableArea::willRemoveHorizontalScrollbar):
2404         (WebCore::ScrollableArea::contentsResized):
2405         (WebCore::ScrollableArea::serviceScrollAnimations):
2406         * platform/ScrollableArea.h:
2407         (ScrollableArea):
2408         (WebCore::ScrollableArea::getExistingScrollAnimator):
2409
2410 2012-03-23  Eric Carlson  <eric.carlson@apple.com>
2411
2412         Deal with DOM modifications when evaluating source elements.
2413         https://bugs.webkit.org/show_bug.cgi?id=81163
2414
2415         Reviewed by Alexey Proskuryakov.
2416
2417         Test: media/video-beforeload-remove-source.html
2418
2419         * dom/ContainerNode.cpp: Make NodeVector and collectNodes public, renamed as getChildNodes.
2420         (WebCore::ContainerNode::takeAllChildrenFrom): collectNodes -> getChildNodes.
2421         (WebCore::ContainerNode::willRemove): collectNodes -> getChildNodes.
2422         (WebCore::ContainerNode::willRemoveChildren): collectNodes -> getChildNodes.
2423         (WebCore::ContainerNode::insertedIntoDocument): collectNodes -> getChildNodes.
2424         (WebCore::ContainerNode::removedFromDocument): collectNodes -> getChildNodes.
2425         * dom/ContainerNode.h:
2426         (WebCore::getChildNodes):
2427
2428         * editing/ReplaceSelectionCommand.cpp: Remove unused NodeVector declaration.
2429
2430         * html/HTMLMediaElement.cpp:
2431         (WebCore::HTMLMediaElement::HTMLMediaElement): m_nextChildNodeToConsider and m_currentSourceNode
2432             are now RefPtrs.
2433         (WebCore::HTMLMediaElement::loadTimerFired): Protect HTMLMediaElement from being deleted during
2434             a DOM modification during an event callback.
2435         (WebCore::HTMLMediaElement::load): Ditto.
2436         (WebCore::HTMLMediaElement::selectMediaResource): Set m_nextChildNodeToConsider to the first
2437             child node, it will be the first node considered.
2438         (WebCore::HTMLMediaElement::havePotentialSourceChild): m_nextChildNodeToConsider and m_currentSourceNode
2439             are now RefPtrs.
2440         (WebCore::HTMLMediaElement::selectNextSourceChild): Collect all child nodes in a vector before
2441             looking for <source> nodes because 'beforeload' event handlers can mutate the DOM. Don't
2442             use a <source> that is no longer a child node after 'beforeload'. Use 0 to represent the end
2443             of the child node list because m_nextChildNodeToConsider is now a RefPtr so using the previous 
2444             sentinel, "this", would cause a retain cycle.
2445         (WebCore::HTMLMediaElement::sourceWasAdded):  m_nextChildNodeToConsider and m_currentSourceNode
2446             are now RefPtrs.
2447         (WebCore::HTMLMediaElement::sourceWillBeRemoved): Ditto.
2448         (WebCore::HTMLMediaElement::getPluginProxyParams): Protect HTMLMediaElement from being deleted during
2449             a DOM modification during an event callback.
2450         * html/HTMLMediaElement.h:
2451
2452 2012-03-23  Dean Jackson  <dino@apple.com>
2453
2454         Disable CSS_SHADERS in Apple builds
2455         https://bugs.webkit.org/show_bug.cgi?id=81996
2456
2457         Reviewed by Simon Fraser.
2458
2459         Remove ENABLE_CSS_SHADERS from FeatureDefines. It's now in Platform.h.
2460
2461         * Configurations/FeatureDefines.xcconfig:
2462
2463 2012-03-23  Dave Michael  <dmichael@chromium.org>
2464
2465         Relanding(r111754): HTMLPluginElement is not destroyed on reload or navigation if getNPObject is called
2466         https://bugs.webkit.org/show_bug.cgi?id=80428
2467
2468         Reviewed by Eric Seidel and Ryosuke Niwa.
2469
2470         Make HTMLPluginElement release its m_NPObject in detach() to break a
2471         reference-counting cycle that happens on reload or navigation. With this
2472         change, HTMLPlugInElement::removedFromDocument is unnecessary, so it
2473         was removed. Note that Releasing m_NPObject does not result in a call to
2474         the plugin; it simply releases a reference count on the wrapper object
2475         for this HTMLPlugInElement. (The plugin's NPP_Deallocate is invoked
2476         when the render tree is destroyed, when PluginView calls
2477         PluginPackage::unload.) Thus, it is safe to release m_NPObject in
2478         detach, because it can not result in layout or style changes.
2479
2480         Also added numberOfLiveNodes() and numberOfLiveDocuments() to
2481         window.internals to enable testing.
2482
2483         Test: plugins/netscape-dom-access-and-reload.html
2484
2485         * WebCore.exp.in:
2486         * html/HTMLPlugInElement.cpp:
2487         (WebCore::HTMLPlugInElement::detach):
2488         * html/HTMLPlugInElement.h:
2489         (HTMLPlugInElement):
2490         * testing/Internals.cpp:
2491         (WebCore):
2492         (WebCore::Internals::numberOfLiveNodes):
2493         (WebCore::Internals::numberOfLiveDocuments):
2494         * testing/Internals.h:
2495         (Internals):
2496         * testing/Internals.idl:
2497
2498 2012-03-23  Ryosuke Niwa  <rniwa@webkit.org>
2499
2500         CSSParser doesn't set border-*-width/style/color to initial by border shorthand property
2501         https://bugs.webkit.org/show_bug.cgi?id=82040
2502
2503         Reviewed by Antti Koivisto.
2504
2505         The border shorthand property sets values for border-width, border-style, and border-color shorthand properties.
2506         While CSSParser::parseValue can process these shorthand properties properly and set the longhand properties
2507         such as border-top-width, border-right-width, ... border-left-color, CSSParser::addProperty can't and the
2508         initialization in parseShorthand fails for the border property.
2509
2510         Fixed the bug by explicitly initializing longhand properties.
2511
2512         Changing the behavior here is unlikely to break the Web since our behavior already differs from that of Firefox
2513         and Internet Explorer. Both of those browsers return the actual initial values such as "medium" and "currentColor".
2514         This discrepancy is tracked by https://bugs.webkit.org/show_bug.cgi?id=82078.
2515
2516         Test: fast/css/border-shorthand-initialize-longhands.html
2517
2518         * css/CSSParser.cpp:
2519         (WebCore::CSSParser::parseValue): Uses borderAbridgedLonghand.
2520         (WebCore::CSSParser::parseShorthand): Uses longhand properties for initialization if one is available.
2521         This allows us to initialize multiple properties (e.g. border-*-color) for a single property missing in the set.
2522         * css/CSSPropertyLonghand.cpp:
2523         (WebCore::borderAbridgedLonghand): Added. The longhand here (border-width, border-style, border-color) is
2524         "abridged" in the sense that they're still shorthands.
2525         * css/CSSPropertyLonghand.h:
2526         (WebCore::CSSPropertyLonghand::CSSPropertyLonghand):
2527         (CSSPropertyLonghand): Added the version that takes longhand instances for initialization purposes.
2528         (WebCore::CSSPropertyLonghand::longhandsForInitialization):
2529
2530 2012-03-23  Tony Chang  <tony@chromium.org>
2531
2532         [chromium] rename newwtf target back to wtf
2533         https://bugs.webkit.org/show_bug.cgi?id=82064
2534
2535         Reviewed by Adam Barth.
2536
2537         No new tests, only renaming a build target.
2538
2539         * WebCore.gyp/WebCore.gyp:
2540
2541 2012-03-23  Adrienne Walker  <enne@google.com>
2542
2543         [chromium] Turn off painting of scrollbars on compositor thread for unsupported platforms
2544         https://bugs.webkit.org/show_bug.cgi?id=82066
2545
2546         Reviewed by James Robinson.
2547
2548         With threaded compositing, OSX will crash and Windows will have black
2549         scrollbars. Fix that by reverting to the previosu behavior of updating
2550         scrollbars on the main thread instead.
2551
2552         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
2553         (WebCore::scrollbarLayerDidChange):
2554
2555 2012-03-23  Dan Bernstein  <mitz@apple.com>
2556
2557         <rdar://problem/7883987> ASSERTION FAILED: ASSERT(input == AnimationStateInputEndTimerFired || input == AnimationStateInputPlayStatePaused) in AnimationBase::updateStateMachine causing multiple "crashes" on Lion Intel Debug WebKit testers
2558         https://bugs.webkit.org/show_bug.cgi?id=81351
2559
2560         Rubber-stamped by Jessie Berlin.
2561
2562         * page/animation/AnimationBase.cpp:
2563         (WebCore::AnimationBase::updateStateMachine): Replaced the assertion with a LOG_ERROR so that
2564         the issue is still noticeable, but it does not automatically make the debug bots red.
2565
2566 2012-03-23  Mike Lawther  <mikelawther@chromium.org>
2567
2568         CSS3 calc: image sizing works with mixed percentage/absolute
2569         https://bugs.webkit.org/show_bug.cgi?id=82017
2570
2571         Reviewed by Ojan Vafai.
2572
2573         Test: css3/calc/img-size-expected.html
2574
2575         * rendering/RenderBox.cpp:
2576         (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
2577         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
2578
2579 2012-03-23  Julien Chaffraix  <jchaffraix@webkit.org>
2580
2581         REGRESSION(107971): Google Voice contact list is broken in WebKit due to badly allocating the extra height
2582         https://bugs.webkit.org/show_bug.cgi?id=81826
2583
2584         Reviewed by Tony Chang.
2585
2586         Covered by tables/mozilla/bugs/bug27038-{1|2}.html.
2587
2588         This partly reverts r107971: the extra logical height distribution change was not needed
2589         to fix the bug (it is needed by the test though). We revert to giving all the extra height
2590         to the first tbody and not the first section.
2591
2592         This is broken but unfortunately some websites are relying on that. Getting a real
2593         distribution algorithm is covered by bug 81824. However this is super tricky to get
2594         right and I did not want to add more compatibility risks until I have something solid.
2595
2596         * rendering/RenderTable.cpp:
2597         (WebCore::RenderTable::distributeExtraLogicalHeight):
2598
2599 2012-03-23  Xingnan Wang  <xingnan.wang@intel.com>
2600
2601         Optimize for IPP in DirectConvolver::process()
2602         https://bugs.webkit.org/show_bug.cgi?id=80255
2603
2604         Reviewed by Chris Rogers.
2605
2606         Increase ~2X performance by conv() in IPP.
2607
2608         * platform/audio/DirectConvolver.cpp:
2609         (WebCore::DirectConvolver::DirectConvolver):
2610         (WebCore::DirectConvolver::process):
2611         * platform/audio/DirectConvolver.h:
2612         (DirectConvolver):
2613
2614 2012-03-23  Tommy Widenflycht  <tommyw@google.com>
2615
2616         MediaStream API (JSEP): Introducing PeerConnection00 and IceCallback
2617         https://bugs.webkit.org/show_bug.cgi?id=81657
2618
2619         Reviewed by Adam Barth.
2620
2621         Last major WebCore patch for the JSEP PeerConnection, together with the associated
2622         IceCallback (they both depend on each other and IceCallback has very few lines of real code).
2623
2624         My next patch after this one will do a major overhaul of the existing layout tests
2625         and add a few new ones.
2626
2627         * GNUmakefile.list.am:
2628         * Modules/mediastream/DOMWindowMediaStream.idl:
2629         * Modules/mediastream/IceCallback.h: Added.
2630         (WebCore):
2631         (IceCallback):
2632         (WebCore::IceCallback::~IceCallback):
2633         * Modules/mediastream/IceCallback.idl: Added.
2634         * Modules/mediastream/PeerConnection00.cpp: Added.
2635         (WebCore):
2636         (WebCore::PeerConnection00::create):
2637         (WebCore::PeerConnection00::PeerConnection00):
2638         (WebCore::PeerConnection00::~PeerConnection00):
2639         (WebCore::PeerConnection00::hasLocalAudioTrack):
2640         (WebCore::PeerConnection00::hasLocalVideoTrack):
2641         (WebCore::PeerConnection00::parseMediaHints):
2642         (WebCore::PeerConnection00::createOffer):
2643         (WebCore::PeerConnection00::createAnswer):
2644         (WebCore::PeerConnection00::setLocalDescription):
2645         (WebCore::PeerConnection00::setRemoteDescription):
2646         (WebCore::PeerConnection00::localDescription):
2647         (WebCore::PeerConnection00::remoteDescription):
2648         (WebCore::PeerConnection00::startIce):
2649         (WebCore::PeerConnection00::processIceMessage):
2650         (WebCore::PeerConnection00::readyState):
2651         (WebCore::PeerConnection00::iceState):
2652         (WebCore::PeerConnection00::addStream):
2653         (WebCore::PeerConnection00::removeStream):
2654         (WebCore::PeerConnection00::localStreams):
2655         (WebCore::PeerConnection00::remoteStreams):
2656         (WebCore::PeerConnection00::close):
2657         (WebCore::PeerConnection00::didGenerateIceCandidate):
2658         (WebCore::PeerConnection00::didChangeReadyState):
2659         (WebCore::PeerConnection00::didChangeIceState):
2660         (WebCore::PeerConnection00::didAddRemoteStream):
2661         (WebCore::PeerConnection00::didRemoveRemoteStream):
2662         (WebCore::PeerConnection00::interfaceName):
2663         (WebCore::PeerConnection00::scriptExecutionContext):
2664         (WebCore::PeerConnection00::stop):
2665         (WebCore::PeerConnection00::eventTargetData):
2666         (WebCore::PeerConnection00::ensureEventTargetData):
2667         (WebCore::PeerConnection00::changeReadyState):
2668         (WebCore::PeerConnection00::changeIceState):
2669         * Modules/mediastream/PeerConnection00.h: Added.
2670         (WebCore):
2671         (PeerConnection00):
2672         (WebCore::PeerConnection00::refEventTarget):
2673         (WebCore::PeerConnection00::derefEventTarget):
2674         * Modules/mediastream/PeerConnection00.idl: Added.
2675         * WebCore.gypi:
2676         * bindings/generic/RuntimeEnabledFeatures.h:
2677         (WebCore::RuntimeEnabledFeatures::webkitPeerConnection00Enabled):
2678         * bindings/js/JSPeerConnection00Custom.cpp: Added.
2679         (WebCore):
2680         (WebCore::JSPeerConnection00Constructor::constructJSPeerConnection00):
2681         * dom/EventTargetFactory.in:
2682
2683 2012-03-23  Adrienne Walker  <enne@google.com>
2684
2685         [chromium] Fix scrollbarLayerLostContext flaky test crash on 10.6
2686         https://bugs.webkit.org/show_bug.cgi?id=82062
2687
2688         Reviewed by James Robinson.
2689
2690         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
2691         (CCScrollbarLayerImpl):
2692
2693 2012-03-23  Tommy Widenflycht  <tommyw@google.com>
2694
2695         [chromium] MediaStream API (JSEP): Extending WebMediaStreamCenter
2696         https://bugs.webkit.org/show_bug.cgi?id=81924
2697
2698         Reviewed by Adam Barth.
2699
2700         Nothing to test, just moving methods.
2701
2702         * platform/mediastream/MediaStreamCenter.cpp:
2703         (WebCore::MediaStreamCenter::constructSDP):
2704         (WebCore):
2705
2706 2012-03-23  Sami Kyostila  <skyostil@chromium.org>
2707
2708         Reuse buffer allocation if canvas size does not change
2709         https://bugs.webkit.org/show_bug.cgi?id=80871
2710
2711         Reviewed by Stephen White.
2712
2713         If the user changes the width or height attributes of a canvas element,
2714         the contents of the canvas should be cleared and the context state
2715         should be reset. This has become a common idiom to clear the canvas
2716         "efficiently" at the start of a frame.
2717
2718         Previously, this code path triggered a full reallocation of the image
2719         buffer backing the canvas, leading to reduced performance. This patch
2720         implements an optimization where we reuse the previous image buffer
2721         allocation if the size of the canvas did not change. Also, instead of
2722         clearing the canvas every time its dimensions are touched, we only clear
2723         if anything has been drawn into the canvas since it was previously
2724         cleared.
2725
2726         Note that for now this optimization only applies for 2D canvases,
2727         since it is not entirely clear how touching the dimensions of a WebGL
2728         canvas should work.
2729
2730         Test: fast/canvas/canvas-resize-after-paint-without-layout.html +
2731               existing layout tests for canvas resetting.
2732
2733         * html/HTMLCanvasElement.cpp:
2734         (WebCore::HTMLCanvasElement::HTMLCanvasElement):
2735         (WebCore::HTMLCanvasElement::reset):
2736         (WebCore::HTMLCanvasElement::createImageBuffer): Save the initial
2737         graphics context state so we can restore it without creating a new
2738         context.
2739         (WebCore::HTMLCanvasElement::clearImageBuffer):
2740         (WebCore):
2741         (WebCore::HTMLCanvasElement::clearCopiedImage):
2742         * html/HTMLCanvasElement.h:
2743         (HTMLCanvasElement):
2744         * html/canvas/CanvasRenderingContext2D.cpp:
2745         (WebCore::CanvasRenderingContext2D::reset): No need to notify the
2746         compositor when the context is reset, because clearing the image buffer
2747         does the same thing. We can also skip the notification if we did not
2748         have an image buffer at the time of the reset, because the reset will
2749         not have any visual impact in this case. Finally, if the canvas size
2750         did change, the notification is also unnecessary because of the call
2751         to RenderObject::repaint() from HTMLCanvasElement::reset().
2752
2753 2012-03-22  Martin Robinson  <mrobinson@igalia.com>
2754
2755         Fix some code generation warnings on GTK+.
2756
2757         Reviewed by Gustavo Noronha Silva.
2758
2759         No new tests. This just fixes warnings.
2760
2761         * GNUmakefile.am: Remove nonexistent directories from the list IDL directories.
2762
2763 2012-03-23  Sheriff Bot  <webkit.review.bot@gmail.com>
2764
2765         Unreviewed, rolling out r111751.
2766         http://trac.webkit.org/changeset/111751
2767         https://bugs.webkit.org/show_bug.cgi?id=82060
2768
2769         caused 15% page cycler regression for chromium-linux
2770         (Requested by eae on #webkit).
2771
2772         * css/CSSStyleSelector.cpp:
2773         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
2774
2775 2012-03-23  Kentaro Hara  <haraken@chromium.org>
2776
2777         Support [ImplementedAs] for attributes
2778         https://bugs.webkit.org/show_bug.cgi?id=81605
2779
2780         Reviewed by Adam Barth.
2781
2782         [ImplementedAs] just supports methods. [ImplementedAs] should support
2783         attributes too.
2784
2785         Explained here: https://trac.webkit.org/wiki/WebKitIDL#ImplementedAs
2786
2787         Test: bindings/scripts/test/TestObj.idl
2788
2789         * bindings/scripts/CodeGenerator.pm: Modified to support [ImplementedAs] for attributes.
2790         (AttributeNameForGetterAndSetter):
2791
2792         * bindings/scripts/test/TestObj.idl: Added a test case.
2793
2794         * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated run-bindings-tests results.
2795         (WebDOMTestObj::strawberry):
2796         (WebDOMTestObj::setStrawberry):
2797         * bindings/scripts/test/CPP/WebDOMTestObj.h:
2798         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
2799         (webkit_dom_test_obj_get_strawberry):
2800         (webkit_dom_test_obj_set_strawberry):
2801         (webkit_dom_test_obj_get_property):
2802         (webkit_dom_test_obj_class_init):
2803         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
2804         * bindings/scripts/test/JS/JSTestObj.cpp:
2805         (WebCore):
2806         (WebCore::jsTestObjStrawberry):
2807         (WebCore::setJSTestObjStrawberry):
2808         * bindings/scripts/test/JS/JSTestObj.h:
2809         (WebCore):
2810         * bindings/scripts/test/ObjC/DOMTestObj.h:
2811         * bindings/scripts/test/ObjC/DOMTestObj.mm:
2812         (-[DOMTestObj strawberry]):
2813         (-[DOMTestObj setStrawberry:]):
2814         * bindings/scripts/test/V8/V8TestObj.cpp:
2815         (WebCore::TestObjInternal::strawberryAttrGetter):
2816         (TestObjInternal):
2817         (WebCore::TestObjInternal::strawberryAttrSetter):
2818         (WebCore):
2819
2820 2012-03-23  Tommy Widenflycht  <tommyw@google.com>
2821
2822         The JSC code generator doesn't generate correct code for Constructors
2823         https://bugs.webkit.org/show_bug.cgi?id=82046
2824
2825         Reviewed by Kentaro Hara.
2826
2827         The main bulk of generated code for constructors uses the name jsConstructor
2828         for the created object, and then calls GenerateParametersCheck which generates
2829         code that uses the name castedThis.
2830
2831         * bindings/scripts/CodeGeneratorJS.pm:
2832         (GenerateConstructorDefinition):
2833         * bindings/scripts/test/JS/JSTestInterface.cpp:
2834         (WebCore::JSTestInterfaceConstructor::constructJSTestInterface):
2835         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
2836         (WebCore::JSTestNamedConstructorNamedConstructor::constructJSTestNamedConstructor):
2837         * bindings/scripts/test/JS/JSTestObj.cpp:
2838         (WebCore::JSTestObjConstructor::finishCreation):
2839         (WebCore::JSTestObjConstructor::constructJSTestObj):
2840         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2841         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
2842         * bindings/scripts/test/TestObj.idl:
2843         * bindings/scripts/test/V8/V8TestObj.cpp:
2844         (WebCore::V8TestObj::constructorCallback):
2845
2846 2012-03-23  Tommy Widenflycht  <tommyw@google.com>
2847
2848         The JSC code generator can't handle boolean arguments for Callbacks
2849         https://bugs.webkit.org/show_bug.cgi?id=82045
2850
2851         Reviewed by Kentaro Hara.
2852
2853         CodeGeneratorJS.pm only handles DOMStrings and objects as arguments
2854         for a Callback, so I added support for boolean values as well.
2855
2856         * bindings/scripts/CodeGeneratorJS.pm:
2857         (GenerateCallbackImplementation):
2858         * bindings/scripts/test/CPP/WebDOMTestCallback.cpp:
2859         (WebDOMTestCallback::callbackWithBoolean):
2860         * bindings/scripts/test/CPP/WebDOMTestCallback.h:
2861         (WebDOMTestCallback):
2862         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
2863         (webkit_dom_test_callback_callback_with_boolean):
2864         * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
2865         * bindings/scripts/test/JS/JSTestCallback.cpp:
2866         (WebCore::JSTestCallback::callbackWithBoolean):
2867         (WebCore):
2868         * bindings/scripts/test/JS/JSTestCallback.h:
2869         (JSTestCallback):
2870         * bindings/scripts/test/ObjC/DOMTestCallback.h:
2871         * bindings/scripts/test/ObjC/DOMTestCallback.mm:
2872         (-[DOMTestCallback callbackWithBoolean:]):
2873         * bindings/scripts/test/TestCallback.idl:
2874         * bindings/scripts/test/V8/V8TestCallback.cpp:
2875         (WebCore::V8TestCallback::callbackWithBoolean):
2876         (WebCore):
2877         * bindings/scripts/test/V8/V8TestCallback.h:
2878         (V8TestCallback):
2879
2880 2012-03-23  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2881
2882         Touch adjustment forgets some subtarget quads.
2883         https://bugs.webkit.org/show_bug.cgi?id=82044
2884
2885         Reviewed by Kenneth Rohde Christiansen.
2886
2887         Do not uncritically skip all nodes that are ancestors to other test results.
2888         Instead return the inner-most element if multiple nodes have the same distance.
2889
2890         Test: touchadjustment/block-testing.html
2891
2892         * page/TouchAdjustment.cpp:
2893         (WebCore::TouchAdjustment::compileSubtargetList):
2894         (WebCore::TouchAdjustment::findNodeWithLowestDistanceMetric):
2895
2896 2012-03-23  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2897
2898         TouchAdjustment does not correct for frame position
2899         https://bugs.webkit.org/show_bug.cgi?id=82043
2900
2901         Reviewed by Kenneth Rohde Christiansen.
2902
2903         Convert geometry to window coordinates before calculating distance.
2904
2905         Test: touchadjustment/iframe.html
2906
2907         * page/TouchAdjustment.cpp:
2908         (WebCore::TouchAdjustment::distanceSquaredToTargetCenterLine):
2909
2910 2012-03-23  Vlad Voicu  <vladv@rosedu.org>
2911
2912         Fixed minor WebInspector display issue
2913         Clicking on disabled sections in Styles Sidebar Pane creates new elements.
2914         https://bugs.webkit.org/show_bug.cgi?id=81925
2915
2916         Reviewed by Timothy Hatcher
2917
2918         No new tests should be required.
2919
2920         * inspector/front-end/StylesSidebarPane.js:
2921         (WebInspector.StylePropertiesSection.prototype._handleEmptySpaceClick):
2922         (WebInspector.StylePropertyTreeElement.prototype):
2923
2924 2012-03-23  Kentaro Hara  <haraken@chromium.org>
2925
2926         Unreviewed, rebaselined run-bindings-tests results.
2927
2928         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
2929         * bindings/scripts/test/CPP/WebDOMTestObj.h:
2930         * bindings/scripts/test/JS/JSTestObj.cpp:
2931         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
2932         (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
2933         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
2934         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
2935         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
2936         * bindings/scripts/test/V8/V8TestObj.cpp:
2937         (WebCore::TestObjInternal::methodWithCallbackArgCallback):
2938         (WebCore::TestObjInternal::methodWithNonCallbackArgAndCallbackArgCallback):
2939         (WebCore::TestObjInternal::methodWithCallbackAndOptionalArgCallback):
2940         (WebCore::TestObjInternal::overloadedMethod5Callback):
2941         (WebCore::TestObjInternal::overloadedMethodCallback):
2942
2943 2012-03-23  Ryosuke Niwa  <rniwa@webkit.org>
2944
2945         cssText should use StringBuilder
2946         https://bugs.webkit.org/show_bug.cgi?id=82028
2947
2948         Reviewed by Hajime Morita.
2949
2950         Make StylePropertySet::asText more efficient by deploying StringBuilder;
2951         avoids heap churn by String::operator+ and String::operator+=.
2952
2953         * css/StylePropertySet.cpp:
2954         (WebCore::StylePropertySet::asText):
2955
2956 2012-03-23  Ryosuke Niwa  <rniwa@webkit.org>
2957
2958         REGRESSION(r111754): plugins/reloadplugins-and-pages.html fails on all platforms
2959         https://bugs.webkit.org/show_bug.cgi?id=82035
2960
2961         Rollout r111754 since it caused a test to fail and the test added by the patch
2962         is failing on Mac WebKit 2.
2963
2964         * WebCore.exp.in:
2965         * html/HTMLPlugInElement.cpp:
2966         (WebCore::HTMLPlugInElement::detach):
2967         (WebCore):
2968         (WebCore::HTMLPlugInElement::removedFromDocument):
2969         * html/HTMLPlugInElement.h:
2970         (HTMLPlugInElement):
2971         * testing/Internals.cpp:
2972         * testing/Internals.h:
2973         (Internals):
2974         * testing/Internals.idl:
2975
2976 2012-03-23  Adam Barth  <abarth@webkit.org>
2977
2978         Move Notifications APIs from DOMWindow.idl to DOMWindowNotifications.idl (Part 2)
2979         https://bugs.webkit.org/show_bug.cgi?id=82026
2980
2981         Reviewed by Kentaro Hara.
2982
2983         This patch removes DOMWindow::resetNotifications, which was unneeded
2984         special-case logic for clearing the notifications center.  The previous
2985         patch that tried to accomplish the same thing did not override
2986         willDetachPage, which is why it caused crashes.
2987
2988         There's actually a cleaner way to handle these cases, which will let us
2989         implement reconnectFrame, but that will need to wait for the next
2990         patch.
2991
2992         * notifications/DOMWindowNotifications.cpp:
2993         (WebCore::DOMWindowNotifications::DOMWindowNotifications):
2994         (WebCore::DOMWindowNotifications::from):
2995         (WebCore::DOMWindowNotifications::webkitNotifications):
2996         (WebCore):
2997         (WebCore::DOMWindowNotifications::disconnectFrame):
2998         (WebCore::DOMWindowNotifications::willDetachPage):
2999         (WebCore::DOMWindowNotifications::reset):
3000         * notifications/DOMWindowNotifications.h:
3001         (DOMWindowNotifications):
3002         * page/DOMWindow.cpp:
3003         (WebCore::DOMWindow::willDetachPage):
3004         (WebCore::DOMWindow::disconnectDOMWindowProperties):
3005         (WebCore::DOMWindow::clearDOMWindowProperties):
3006         * page/DOMWindow.h:
3007         (DOMWindow):
3008         * page/Frame.cpp:
3009         (WebCore::Frame::willDetachPage):
3010
3011 2012-03-22  Adam Barth  <abarth@webkit.org>
3012
3013         Move Notifications APIs from DOMWindow.idl to DOMWindowNotifications.idl (Part 1)
3014         https://bugs.webkit.org/show_bug.cgi?id=82015
3015
3016         Reviewed by Kentaro Hara.
3017
3018         This patch moves DOMWindow.webkitNotifications from DOMWindow.idl to
3019         DOMWindowNotificiations.idl in preparation for moving notificiations
3020         into Modules.
3021
3022         A future patch will remove DOMWindow::resetNotificaitions in favor of
3023         more general mechanisms.
3024
3025         * CMakeLists.txt:
3026         * DerivedSources.make:
3027         * DerivedSources.pri:
3028         * GNUmakefile.list.am:
3029         * Target.pri:
3030         * WebCore.gypi:
3031         * WebCore.vcproj/WebCore.vcproj:
3032         * WebCore.xcodeproj/project.pbxproj:
3033         * notifications/DOMWindowNotifications.cpp: Added.
3034         (WebCore):
3035         (WebCore::DOMWindowNotifications::DOMWindowNotifications):
3036         (WebCore::DOMWindowNotifications::~DOMWindowNotifications):
3037         (WebCore::DOMWindowNotifications::from):
3038         (WebCore::DOMWindowNotifications::webkitNotifications):
3039         (WebCore::DOMWindowNotifications::reset):
3040         (WebCore::DOMWindowNotifications::supplementName):
3041         * notifications/DOMWindowNotifications.h: Added.
3042         (WebCore):
3043         (DOMWindowNotifications):
3044         * notifications/DOMWindowNotifications.idl: Added.
3045         * page/DOMWindow.cpp:
3046         (WebCore::DOMWindow::~DOMWindow):
3047         (WebCore):
3048         (WebCore::DOMWindow::resetNotifications):
3049         * page/DOMWindow.h:
3050         (WebCore):
3051         (DOMWindow):
3052         * page/DOMWindow.idl:
3053
3054 2012-03-22  Li Yin  <li.yin@intel.com>
3055
3056         A client MUST close a connection if it detects a masked frame
3057         https://bugs.webkit.org/show_bug.cgi?id=81361
3058
3059         Reviewed by Kent Tamura.
3060
3061         A server must not mask any frames that it sends to the client.
3062         Change the test case, not mask the frames from server to client.
3063         
3064         Test: http/tests/websocket/tests/hybi/invalid-masked-frames-from-server.html
3065
3066         * Modules/websockets/WebSocketChannel.cpp:
3067         (WebCore::WebSocketChannel::processFrame):
3068
3069 2012-03-22  Li Yin  <li.yin@intel.com>
3070
3071         [WebSocket]The minimal number of bytes MUST be used to encode the length
3072         https://bugs.webkit.org/show_bug.cgi?id=81443
3073
3074         Reviewed by Kent Tamura.
3075
3076         From RFC 6455 http://tools.ietf.org/html/rfc6455#section-5.2
3077         the minimal number of bytes MUST be used to encode the length
3078         
3079         New test case : http/tests/websocket/tests/hybi/invalid-encode-length.html
3080
3081         * Modules/websockets/WebSocketChannel.cpp:
3082         (WebCore::WebSocketChannel::parseFrame):
3083
3084 2012-03-22  Adam Barth  <abarth@webkit.org>
3085
3086         Unreviewed.  Sort xcodeproj file.
3087
3088         * WebCore.xcodeproj/project.pbxproj:
3089
3090 2012-03-22  Mao Yujie  <yujie.mao@intel.com>
3091
3092         Implement strict testing criterion for callback function definition
3093         https://bugs.webkit.org/show_bug.cgi?id=80005
3094
3095         Reviewed by Adam Barth.
3096
3097         Callback function should be defined as the function type instead of
3098         the object type.
3099
3100         LayoutTest: fast/dom/MediaStream/argument-types.html
3101
3102         * bindings/scripts/CodeGeneratorJS.pm:
3103         (GenerateParametersCheckExpression):
3104         (GenerateParametersCheck):
3105         * bindings/scripts/CodeGeneratorV8.pm:
3106         (GenerateParametersCheckExpression):
3107         (GenerateParametersCheck):
3108
3109 2012-03-22  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3110
3111         Convert hasGrammarMarker to use Internals interface
3112         https://bugs.webkit.org/show_bug.cgi?id=82004
3113
3114         Reviewed by Ryosuke Niwa.
3115
3116         Remove hasGrammarMarker functions, because it is able to work in the
3117         cross-port way through the Internals interface.
3118
3119         No new tests, since we are improving here the infra-structure
3120         for testing a specific method.
3121
3122         * testing/Internals.cpp:
3123         (WebCore::Internals::hasGrammarMarker):
3124         (WebCore):
3125         * testing/Internals.h:
3126         (Internals):
3127         * testing/Internals.idl:
3128
3129 2012-03-22  Xingnan Wang  <xingnan.wang@intel.com>
3130
3131         Add exception for the setter of "fftSize" in RealtimeAnalyserNode
3132         https://bugs.webkit.org/show_bug.cgi?id=81748
3133
3134         Reviewed by Chris Rogers.
3135
3136         * Modules/webaudio/RealtimeAnalyser.cpp:
3137         (WebCore::RealtimeAnalyser::setFftSize):
3138         * Modules/webaudio/RealtimeAnalyser.h:
3139         (RealtimeAnalyser):
3140         * Modules/webaudio/RealtimeAnalyserNode.cpp:
3141         (WebCore::RealtimeAnalyserNode::setFftSize):
3142         (WebCore):
3143         * Modules/webaudio/RealtimeAnalyserNode.h:
3144         (RealtimeAnalyserNode):
3145         * Modules/webaudio/RealtimeAnalyserNode.idl:
3146
3147 2012-03-22  Leo Yang  <leo.yang@torchmobile.com.cn>
3148
3149         [BlackBerry] Add HistoryItemViewState for BlackBerry port
3150         https://bugs.webkit.org/show_bug.cgi?id=81867
3151
3152         Reviewed by Rob Buis.
3153
3154         HistoryItemViewState is the blackberry specific field of HistoryItem.
3155         It's used to maintain the porting specific view state.
3156
3157         No new test because the port can't be built yet.
3158
3159         * history/HistoryItem.h:
3160         (HistoryItem):
3161         (WebCore::HistoryItem::viewState):
3162
3163 2012-03-22  SravanKumar Sandela  <ssandela@innominds.com>
3164
3165         Fieldset unexpectedly stretches to minimum intrinsic width
3166         https://bugs.webkit.org/show_bug.cgi?id=79128
3167
3168         Reviewed by Julien Chaffraix.
3169
3170         Fieldset element width will now check if css width is specified explicitly
3171         before stretching to minimum intrinsic width. The reference
3172         can be taken from IE9, instead of FF(FF acknowledged the broken behavior). 
3173
3174         Tests: fast/forms/fieldset-width-nostretch-ifspecified-expected.html
3175                fast/forms/fieldset-width-nostretch-ifspecified.html
3176
3177         * rendering/RenderFieldset.cpp:
3178         (WebCore::RenderFieldset::stretchesToMinIntrinsicLogicalWidth):
3179         (WebCore):
3180         * rendering/RenderFieldset.h:
3181         (RenderFieldset):
3182
3183 2012-03-22  Shawn Singh  <shawnsingh@chromium.org>
3184
3185         [chromium] Target surface should be damaged for a new layers even when layer had no changes
3186         https://bugs.webkit.org/show_bug.cgi?id=81879
3187
3188         Reviewed by Adrienne Walker.
3189
3190         Unit test added to CCDamageTrackerTest.
3191
3192         * platform/graphics/chromium/cc/CCDamageTracker.cpp:
3193         (WebCore::CCDamageTracker::removeRectFromCurrentFrame): added a
3194         boolean arg to detect if the layer is new on this update.
3195
3196         (WebCore::CCDamageTracker::extendDamageForLayer): added logic that
3197         damages the target surface if the layer is new.
3198
3199         (WebCore::CCDamageTracker::extendDamageForRenderSurface): added
3200         logic that damages the target surface if the descendant surface is
3201         new; similar logic for the surface's replica if the replica is new.
3202
3203         * platform/graphics/chromium/cc/CCDamageTracker.h:
3204         (CCDamageTracker):
3205
3206 2012-03-22  Charles Wei  <charles.wei@torchmobile.com.cn>
3207
3208         [BlackBerry] Need to store the meta info of a page in the ViewState of the history
3209         https://bugs.webkit.org/show_bug.cgi?id=82000
3210
3211         Reviewed by Rob Buis.
3212
3213         Internally reviewed by George Staikos.
3214
3215         No new tests, BlackBerry porting doesn't build yet upstreaming.
3216
3217         * history/blackberry/HistoryItemViewState.h:
3218         (WebCore::HistoryItemViewState::HistoryItemViewState):
3219         (HistoryItemViewState):
3220
3221 2012-03-22  Adam Klein  <adamk@chromium.org>
3222
3223         [v8] wrapSlow methods should ref underlying object before creating wrapper
3224         https://bugs.webkit.org/show_bug.cgi?id=81919
3225
3226         Reviewed by Adam Barth.
3227
3228         Because instatiating the wrapper can trigger GC, it's important that
3229         wrapSlow() hold a reference to an object when creating a wrapper for
3230         that object. Once the V8 wrapper exists and is associated with the object,
3231         the reference can be handed off (via leakRef) to be handled by the normal
3232         binding code logic (where derefObject is called if the handle is GCed).
3233
3234         Binding tests have been updated to reflect this change.
3235
3236         Testing the change directly is hard. Any test landed today would only
3237         be a valid test until V8's logic about when to GC changes, at which point
3238         it would become dead weight. So I don't think it's worth landing a
3239         layout test along with this.
3240
3241         * bindings/scripts/CodeGeneratorV8.pm:
3242         (GenerateHeader): Make wrapSlow take a PassRefPtr for RefCounted objects.
3243         (GenerateToV8Converters): Get rid of the explicit call to ref() and
3244         instead call leakRef() when adding a RefCounted object to the DOM map.
3245         (GetPassRefPtrType): Helper to generate "PassRefPtr<T>", or "PassRefPtr<T<U> >" as appropriate.
3246         * bindings/scripts/test/V8/V8Float64Array.cpp:
3247         (WebCore::V8Float64Array::wrapSlow):
3248         * bindings/scripts/test/V8/V8Float64Array.h:
3249         (V8Float64Array):
3250         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
3251         (WebCore::V8TestActiveDOMObject::wrapSlow):
3252         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
3253         (V8TestActiveDOMObject):
3254         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
3255         (WebCore::V8TestCustomNamedGetter::wrapSlow):
3256         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
3257         (V8TestCustomNamedGetter):
3258         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
3259         (WebCore::V8TestEventConstructor::wrapSlow):
3260         * bindings/scripts/test/V8/V8TestEventConstructor.h:
3261         (V8TestEventConstructor):
3262         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
3263         (WebCore::V8TestEventTarget::wrapSlow):
3264         * bindings/scripts/test/V8/V8TestEventTarget.h:
3265         (V8TestEventTarget):
3266         * bindings/scripts/test/V8/V8TestInterface.cpp:
3267         (WebCore::V8TestInterface::wrapSlow):
3268         * bindings/scripts/test/V8/V8TestInterface.h:
3269         (V8TestInterface):
3270         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
3271         (WebCore::V8TestMediaQueryListListener::wrapSlow):
3272         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
3273         (V8TestMediaQueryListListener):
3274         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
3275         (WebCore::V8TestNamedConstructor::wrapSlow):
3276         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
3277         (V8TestNamedConstructor):
3278         * bindings/scripts/test/V8/V8TestObj.cpp:
3279         (WebCore::V8TestObj::wrapSlow):
3280         * bindings/scripts/test/V8/V8TestObj.h:
3281         (V8TestObj):
3282         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
3283         (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
3284         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
3285         (V8TestSerializedScriptValueInterface):
3286
3287 2012-03-22  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
3288
3289         [BlackBerry] add interface clearCredentials() and clearNeverRememberSites()
3290         https://bugs.webkit.org/show_bug.cgi?id=81887
3291
3292         Reviewed by Rob Buis.
3293
3294         Fixed SQL issue when clearing table logins and table never_remember.
3295
3296         No new tests.
3297
3298         * platform/network/blackberry/CredentialBackingStore.cpp:
3299         (WebCore::CredentialBackingStore::clearLogins):
3300         (WebCore::CredentialBackingStore::clearNeverRemember):
3301
3302 2012-03-22  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
3303
3304         [BlackBerry] http authenticate dialog popup only once no matter authentication pass or fail
3305         https://bugs.webkit.org/show_bug.cgi?id=80135
3306
3307         Reviewed by Rob Buis.
3308
3309         Modified the interface function authenticationChallenge() in class
3310         PageClientBlackBerry, moved Credential from return value to the
3311         function's reference parameter, and returned a bool to indicate if
3312         user pressed Ok button or not.
3313         Removed the logic which checks m_currentWebChallenge not null,
3314         because we should challenge user again if the last provided credential
3315         is not valid; also added the logic that will popup challenge
3316         dialog again immediately if user press Ok buttton directly without
3317         inputting anything.
3318
3319         No new tests.
3320
3321         * platform/blackberry/PageClientBlackBerry.h:
3322         * platform/network/blackberry/NetworkJob.cpp:
3323         (WebCore::NetworkJob::handleAuthHeader):
3324         (WebCore::NetworkJob::sendRequestWithCredentials):
3325
3326 2012-03-22  Jason Liu  <jason.liu@torchmobile.com.cn>
3327
3328         [BlackBerry] Synchronize platform/network/blackberry
3329         https://bugs.webkit.org/show_bug.cgi?id=81874
3330
3331         We changed a lot in these files locally. But the changes are not upstreamed.
3332         It is not convenient to do the other upstreaming work based on these differences.
3333         So upstream these changes.
3334
3335         Reviewed by Rob Buis.
3336
3337         No new tests. Just synchronize codes.
3338
3339         * platform/network/blackberry/NetworkJob.cpp:
3340         (WebCore::NetworkJob::NetworkJob):
3341         (WebCore::NetworkJob::initialize):
3342         (WebCore::NetworkJob::handleNotifyHeaderReceived):
3343         (WebCore::NetworkJob::handleNotifyDataReceived):
3344         (WebCore::NetworkJob::sendResponseIfNeeded):
3345         (WebCore::NetworkJob::sendRequestWithCredentials):
3346         (WebCore::NetworkJob::handleAbout):
3347         * platform/network/blackberry/NetworkJob.h:
3348         (WebCore::NetworkJob::isError):
3349         (NetworkJob):
3350         * platform/network/blackberry/NetworkManager.cpp:
3351         (WebCore::NetworkManager::startJob):
3352         * platform/network/blackberry/ResourceRequest.h:
3353         (WebCore::ResourceRequest::ResourceRequest):
3354         * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
3355         (WebCore::platformTargetTypeForRequest):
3356
3357 2012-03-22  Tom Sepez  <tsepez@chromium.org>
3358
3359         XSS Auditor bypass via script tag src=data:, URLS.
3360         https://bugs.webkit.org/show_bug.cgi?id=81948
3361
3362         Reviewed by Adam Barth.
3363
3364         This change fixes an XSSAuditor bypass wherby a script with a data: URL src
3365         attribute could evade detection by using characters from the page to create
3366         a snippet for matching not found in the URL's reflected vector.  This change 
3367         terminates the snippet for matching earlier in these cases.
3368         
3369         Test: http/tests/security/xssAuditor/script-tag-with-source-data-url2.html
3370
3371         * html/parser/XSSAuditor.cpp:
3372         (WebCore::XSSAuditor::decodedSnippetForAttribute):
3373
3374 2012-03-22  Dana Jansens  <danakj@chromium.org>
3375
3376         [chromium] Incorrect assert on animating opacity for a surface
3377         https://bugs.webkit.org/show_bug.cgi?id=81994
3378
3379         Reviewed by Adrienne Walker.
3380
3381         Draw opacity and animation state match on the surface itself. A
3382         surface with animating opacity always has an owning layer without
3383         animation, as the surface does the animation for it.
3384
3385         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3386         (WebCore::CCLayerTreeHost::paintLayerContents):
3387
3388 2012-03-22  Dana Jansens  <danakj@chromium.org>
3389
3390         [chromium] Skip frames when checkerboarding an animation
3391         https://bugs.webkit.org/show_bug.cgi?id=81716
3392
3393         Reviewed by Adrienne Walker.
3394
3395         This will stop drawing frames when prepareToDraw fails, if the draw is
3396         not forced. The expected behaviour is outlined below by the unit tests.
3397
3398         When a draw fails, we:
3399         1. Set m_needsRedraw to try again next vsync
3400         2. Set m_needsCommit because we need more data from webkit to succeed
3401         3. Set m_drawIfPossibleFailed. This allows us to try draw again within
3402         the same vsync *if* a commit finishes during this time.
3403
3404         Unit test: CCSchedulerTest.RequestRedrawInsideFailedDraw
3405                    CCSchedulerTest.RequestCommitInsideFailedDraw
3406                    CCSchedulerTest.NoBeginFrameWhenDrawFails
3407                    CCSchedulerStateMachineTest.TestFailedDrawSetsNeedsCommitAndDoesNotDrawAgain
3408                    CCSchedulerStateMachineTest.TestSetNeedsRedrawDuringFailedDrawDoesNotRemoveNeedsRedraw
3409                    CCSchedulerStateMachineTest.TestCommitAfterFailedDrawAllowsDrawInSameFrame
3410                    CCSchedulerStateMachineTest.TestCommitAfterFailedAndSuccessfulDrawDoesNotAllowDrawInSameFrame
3411                    CCSchedulerStateMachineTest.TestFailedDrawIsRetriedNextVSync
3412
3413         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
3414         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
3415         (WebCore::CCLayerTreeHostImpl::prepareToDraw):
3416         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
3417         (CCLayerTreeHostImpl):
3418         * platform/graphics/chromium/cc/CCScheduler.cpp:
3419         (WebCore::CCScheduler::processScheduledActions):
3420         * platform/graphics/chromium/cc/CCScheduler.h:
3421         (CCSchedulerClient):
3422         * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
3423         (WebCore::CCSchedulerStateMachine::CCSchedulerStateMachine):
3424         (WebCore::CCSchedulerStateMachine::nextAction):
3425         (WebCore::CCSchedulerStateMachine::updateState):
3426         (WebCore::CCSchedulerStateMachine::didDrawIfPossibleCompleted):
3427         (WebCore):
3428         * platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
3429         (CCSchedulerStateMachine):
3430         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
3431         (WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):
3432         (WebCore):
3433         (WebCore::CCThreadProxy::scheduledActionDrawAndSwapIfPossible):
3434         (WebCore::CCThreadProxy::scheduledActionDrawAndSwapForced):
3435         * platform/graphics/chromium/cc/CCThreadProxy.h:
3436         (CCThreadProxy):
3437
3438 2012-03-22  W. James MacLean  <wjmaclean@chromium.org>
3439
3440         [chromium] Force update of nonFastScrollableRegion if target CCLayerImpl has been freshly created.
3441         https://bugs.webkit.org/show_bug.cgi?id=81968
3442
3443         Reviewed by Adrienne Walker.
3444
3445         Added unit test to existing tests for TreeSynchronizer.
3446
3447         When creating a new CCLayerImpl during tree synchronization, make sure we transfer the nonFastScrollableRegion as
3448         the new CCLayerImpl will default to an empty region.
3449
3450         * platform/graphics/chromium/LayerChromium.h:
3451         (WebCore::LayerChromium::nonFastScrollableRegion):
3452         (WebCore::LayerChromium::setNonFastScrollableRegionChanged):
3453         * platform/graphics/chromium/TreeSynchronizer.cpp:
3454         (WebCore::TreeSynchronizer::reuseOrCreateCCLayerImpl):
3455
3456 2012-03-22  Raphael Kubo da Costa  <rakuco@FreeBSD.org>
3457
3458         [CMake] Unreviewed build fix after r111778.
3459
3460         * CMakeLists.txt: Replace ${JAVASCRIPTCORE_DIR}/wtf includes with
3461         ${WTF_DIR}/wtf ones.
3462
3463 2012-03-22  Tony Chang  <tony@chromium.org>
3464
3465         Unreviewed, fix chromium build after wtf move.
3466
3467         Only use newwtf, remove references to wtf.
3468
3469         * WebCore.gyp/WebCore.gyp:
3470
3471 2012-03-22  Benjamin Poulain  <bpoulain@apple.com>
3472
3473         Remove an obsolete comment regarding magic frames from Geolocation