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