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