4e86ac90f47c0ad3136dfc6f8af687f16403bf3a
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-06-01  Kent Tamura  <tkent@chromium.org>
2
3         Reviewed by Dimitri Glazkov.
4
5         Remove outer-spin-button
6         https://bugs.webkit.org/show_bug.cgi?id=61845
7
8         Remove outer-spin-button, and render steppers as inner-spin-button.
9         Outer-spin-button have never worked well with padding and border of
10         <input>, and the layout code is very tricky and very hard to maintain it.
11
12         * css/CSSPrimitiveValueMappings.h:
13         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
14         * css/CSSValueKeywords.in:
15         * css/html.css:
16         * html/HTMLInputElement.cpp:
17         (WebCore::HTMLInputElement::innerSpinButtonElement):
18         * html/HTMLInputElement.h:
19         * html/InputType.h:
20         * html/TextFieldInputType.cpp:
21         (WebCore::TextFieldInputType::TextFieldInputType):
22         (WebCore::TextFieldInputType::createShadowSubtree):
23         (WebCore::TextFieldInputType::destroyShadowSubtree):
24         * html/TextFieldInputType.h:
25         * html/shadow/TextControlInnerElements.cpp:
26         (WebCore::SpinButtonElement::SpinButtonElement):
27         (WebCore::SpinButtonElement::create):
28         (WebCore::SpinButtonElement::shadowPseudoId):
29         * html/shadow/TextControlInnerElements.h:
30         * platform/ThemeTypes.h:
31         * platform/chromium/ThemeChromiumMac.mm:
32         (WebCore::paintStepper):
33          Center the stepper drawing area because the specified area can be
34          larger than the NSStepper sizes.
35         (WebCore::ThemeChromiumMac::controlSize):
36         (WebCore::ThemeChromiumMac::minimumControlSize):
37         (WebCore::ThemeChromiumMac::inflateControlPaintRect):
38         (WebCore::ThemeChromiumMac::paint):
39         * platform/mac/ThemeMac.mm:
40         (WebCore::paintStepper):
41          Center the stepper drawing area because the specified area can be
42          larger than the NSStepper sizes.
43         (WebCore::ThemeMac::controlSize):
44         (WebCore::ThemeMac::minimumControlSize):
45         (WebCore::ThemeMac::inflateControlPaintRect):
46         (WebCore::ThemeMac::paint):
47         * rendering/RenderBox.cpp:
48         (WebCore::RenderBox::paintBoxDecorations):
49         * rendering/RenderBox.h:
50         * rendering/RenderTextControlSingleLine.cpp:
51         (WebCore::RenderTextControlSingleLine::layout):
52         (WebCore::RenderTextControlSingleLine::nodeAtPoint):
53         (WebCore::RenderTextControlSingleLine::textBlockWidth):
54         * rendering/RenderTextControlSingleLine.h:
55         * rendering/RenderTheme.cpp:
56         (WebCore::RenderTheme::adjustStyle):
57         (WebCore::RenderTheme::paint):
58         (WebCore::RenderTheme::adjustInnerSpinButtonStyle):
59         * rendering/RenderTheme.h:
60         * rendering/RenderThemeMac.mm:
61         (WebCore::RenderThemeMac::adjustRepaintRect):
62
63 2011-06-01  Emil A Eklund  <eae@chromium.org>
64
65         Reviewed by Eric Seidel.
66
67         Switch RenderLayer::convertToLayerCoords to use IntPoint
68         https://bugs.webkit.org/show_bug.cgi?id=61818
69
70         Covered by existing tests.
71
72         * platform/graphics/FloatPoint.h:
73         (WebCore::flooredIntSize):
74         * rendering/RenderLayer.cpp:
75         (WebCore::RenderLayer::updateLayerPositions):
76         (WebCore::expandClipRectForDescendantsAndReflection):
77         (WebCore::transparencyClipBox):
78         (WebCore::RenderLayer::convertToLayerCoords):
79         (WebCore::RenderLayer::paintLayer):
80         (WebCore::RenderLayer::paintChildLayerIntoColumns):
81         (WebCore::RenderLayer::createLocalTransformState):
82         (WebCore::RenderLayer::hitTestChildLayerColumns):
83         (WebCore::RenderLayer::calculateClipRects):
84         (WebCore::RenderLayer::calculateRects):
85         (WebCore::RenderLayer::boundingBox):
86         (WebCore::RenderLayer::setBackingNeedsRepaintInRect):
87         * rendering/RenderLayer.h:
88         * rendering/RenderLayerBacking.cpp:
89         (WebCore::RenderLayerBacking::updateCompositedBounds):
90         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
91         * rendering/RenderLayerCompositor.cpp:
92         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
93         (WebCore::RenderLayerCompositor::layerWillBeRemoved):
94         (WebCore::RenderLayerCompositor::recursiveRepaintLayerRect):
95
96 2011-06-01  Roland Steiner  <rolandsteiner@chromium.org>
97
98         Reviewed by Kent Tamura.
99
100         Remove superfluous renderer() test
101         https://bugs.webkit.org/show_bug.cgi?id=61907
102
103         No new tests. (trivial)
104
105         * dom/Document.cpp:
106         (WebCore::Document::recalcStyle):
107
108 2011-06-01  Levi Weintraub  <leviw@chromium.org>
109
110         Reviewed by Hajime Morita.
111
112         Add IntPoint + IntPoint operator
113         https://bugs.webkit.org/show_bug.cgi?id=61876
114
115         Adding an operator+ convenience method to IntPoint that sums two points
116         and returns the result as an IntPoint. Changing doImageDrag to use it
117         as a proof of concept.
118
119         No new tests since there is no change in behavior.
120
121         * page/DragController.cpp:
122         (WebCore::DragController::doImageDrag):
123         * platform/graphics/IntPoint.h:
124         (WebCore::operator+):
125
126 2011-06-01  Jaehun Lim  <ljaehun.lim@samsung.com>
127
128         Reviewed by Eric Seidel.
129
130         [EFL] Add adjustMenuListButtonStyle and paintMenuListButton functions
131         https://bugs.webkit.org/show_bug.cgi?id=61836
132
133         Add functions for rendering drop-down list when style attributes are applied.
134
135         * platform/efl/RenderThemeEfl.cpp:
136         (WebCore::RenderThemeEfl::adjustMenuListButtonStyle):
137         (WebCore::RenderThemeEfl::paintMenuListButton):
138         * platform/efl/RenderThemeEfl.h:
139
140 2011-06-01  Yuta Kitamura  <yutak@chromium.org>
141
142         Reviewed by Kent Tamura.
143
144         WebSocket: WebSocketChannel::fail() should close the connection immediately
145         https://bugs.webkit.org/show_bug.cgi?id=61851
146
147         The effect of this change is almost unobservable. The difference between m_handle->close() and
148         m_handle->disconnect() is that the former does not close the connection if the handle has
149         unsent data while the latter immediately closes the connection regardless of unsent data.
150         Usually a socket stream handle does not have unsent data, and even if it has any, it is hard
151         for user scripts to observe the difference between close() and disconnect() (it should take some time
152         for onclose() to be called if there are any unsent data, but there ought to be no other difference
153         in user scripts' perspective).
154
155         No new tests are added, because writing a test for this issue is not feasible due to the above reason.
156
157         * websockets/WebSocketChannel.cpp:
158         (WebCore::WebSocketChannel::fail): Use m_handle->disconnect() instead of m_handle->close().
159
160 2011-06-01  Abhishek Arya  <inferno@chromium.org>
161
162         Unreviewed.
163
164         Coding style nit. Move ec=0 initialization, change
165         recommended by Alexey in bug.
166         https://bugs.webkit.org/show_bug.cgi?id=60831
167
168         * dom/Document.cpp:
169         (WebCore::Document::setBody):
170
171 2011-06-01  Hayato Ito  <hayato@chromium.org>
172
173         Reviewed by Kent Tamura.
174
175         Move {Next,Previous}FocusableNode functions from Document to FocusController.
176         https://bugs.webkit.org/show_bug.cgi?id=61839
177
178         There are some member functions in Document which use 'this'
179         pointer, but we should use TreeScope instead of Document in some
180         places to handle focus issues nicely. We have to move these
181         functions out of Document class so that we can give the TreeScope
182         as a parameter.
183
184         No new tests since no functionality was changed.
185
186         * dom/Document.cpp:
187         * dom/Document.h:
188         * page/FocusController.cpp:
189         (WebCore::FocusController::deepFocusableNode):
190         (WebCore::FocusController::advanceFocusInDocumentOrder):
191         (WebCore::nextNodeWithExactTabIndex):
192         (WebCore::previousNodeWithExactTabIndex):
193         (WebCore::nextNodeWithGreaterTabIndex):
194         (WebCore::previousNodeWithLowerTabIndex):
195         (WebCore::FocusController::nextFocusableNode):
196         (WebCore::FocusController::previousFocusableNode):
197         * page/FocusController.h:
198
199 2011-06-01  Adrienne Walker  <enne@google.com>
200
201         Reviewed by James Robinson.
202
203         [chromium] Fix syncing of removed mask and replica layers
204         https://bugs.webkit.org/show_bug.cgi?id=61895
205
206         * platform/graphics/chromium/TreeSynchronizer.cpp:
207         (WebCore::TreeSynchronizer::synchronizeTreeRecursive):
208
209 2011-06-01  Julien Chaffraix  <jchaffraix@codeaurora.org>
210
211         Reviewed by Simon Fraser.
212
213         CSSStyleSheet#insertRule doesn't work well with imported stylesheets
214         https://bugs.webkit.org/show_bug.cgi?id=56981
215
216         Test: fast/css/import-and-insert-rule-no-update.html
217
218         The bug arises from the fact that <link> element did not know about a programmatically
219         loading sheet (using insertRule and @import) and would thus never call removePendingSheet.
220         This is needed to make sure our style selector contains an up-to-date list of stylesheets.
221
222         The gist of the patch adds a way for style sheet owner element to know if we are
223         programmatically loading a style sheet. This is needed as <link> keeps the information
224         about that last loaded stylesheet.
225
226         * css/CSSImportRule.cpp:
227         (WebCore::CSSImportRule::insertedIntoParent): Call startLoadingDynamicSheet
228         on our parent style sheet instead of directly adding a pending style sheet.
229
230         * css/CSSStyleSheet.cpp:
231         (WebCore::CSSStyleSheet::startLoadingDynamicSheet): Call startLoadingDynamicSheet
232         on our owner element if we have one.
233
234         * css/CSSStyleSheet.h:
235         * dom/Node.h:
236         (WebCore::Node::startLoadingDynamicSheet): Added common implementation of
237         startLoadingDynamicSheet, which should never be called.
238
239         * dom/StyleElement.cpp:
240         (WebCore::StyleElement::startLoadingDynamicSheet):
241         * dom/StyleElement.h:
242         Common implementation of startLoadingDynamicSheet for style elements.
243
244         * html/HTMLLinkElement.cpp:
245         (WebCore::HTMLLinkElement::startLoadingDynamicSheet):
246         * html/HTMLLinkElement.h:
247         Use the HTMLLinkElement plumbing to make sure we call addRemovePendingSheet.
248
249         * html/HTMLStyleElement.h:
250         (WebCore::HTMLStyleElement::startLoadingDynamicSheet):
251         * svg/SVGStyleElement.h:
252         (WebCore::SVGStyleElement::startLoadingDynamicSheet):
253         Forward the call to StyleElement.
254
255 2011-06-01  Levi Weintraub  <leviw@chromium.org>
256
257         Reviewed by Eric Seidel.
258
259         Switch paintCustomHighlight to use IntPoint
260         https://bugs.webkit.org/show_bug.cgi?id=61562
261
262         Switching paintCustomHighlight to use an IntPoint for
263         its paint offset instead of a pair of ints.
264
265         No new tests since this is refactoring.
266
267         * rendering/InlineTextBox.cpp:
268         (WebCore::InlineTextBox::paint):
269         (WebCore::InlineTextBox::paintCustomHighlight):
270         * rendering/InlineTextBox.h:
271         * rendering/RenderBox.cpp:
272         (WebCore::RenderBox::paintCustomHighlight):
273         * rendering/RenderBox.h:
274         * rendering/RenderImage.cpp:
275         (WebCore::RenderImage::paintReplaced):
276         * rendering/RenderListMarker.cpp:
277         (WebCore::RenderListMarker::paint):
278         * rendering/RenderWidget.cpp:
279         (WebCore::RenderWidget::paint):
280         * rendering/RootInlineBox.cpp:
281         (WebCore::RootInlineBox::paintCustomHighlight):
282         (WebCore::RootInlineBox::paint):
283         * rendering/RootInlineBox.h:
284
285 2011-06-01  Emil A Eklund  <eae@chromium.org>
286
287         Reviewed by Eric Seidel.
288
289         Switch MouseRelatedEvent to use IntPoint
290         https://bugs.webkit.org/show_bug.cgi?id=61574
291
292         Covered by existing tests.
293
294         * dom/MouseEvent.cpp:
295         (WebCore::MouseEvent::MouseEvent):
296         (WebCore::MouseEvent::initMouseEvent):
297         (WebCore::SimulatedMouseEvent::SimulatedMouseEvent):
298         * dom/MouseRelatedEvent.cpp:
299         (WebCore::MouseRelatedEvent::MouseRelatedEvent):
300         (WebCore::contentsScrollOffset):
301         (WebCore::MouseRelatedEvent::initCoordinates):
302         (WebCore::MouseRelatedEvent::computeRelativePosition):
303         (WebCore::MouseRelatedEvent::layerX):
304         (WebCore::MouseRelatedEvent::layerY):
305         (WebCore::MouseRelatedEvent::offsetX):
306         (WebCore::MouseRelatedEvent::offsetY):
307         (WebCore::MouseRelatedEvent::pageX):
308         (WebCore::MouseRelatedEvent::pageY):
309         (WebCore::MouseRelatedEvent::pageLocation):
310         (WebCore::MouseRelatedEvent::x):
311         (WebCore::MouseRelatedEvent::y):
312         * dom/MouseRelatedEvent.h:
313         (WebCore::MouseRelatedEvent::screenX):
314         (WebCore::MouseRelatedEvent::screenY):
315         (WebCore::MouseRelatedEvent::screenLocation):
316         (WebCore::MouseRelatedEvent::clientX):
317         (WebCore::MouseRelatedEvent::clientY):
318         (WebCore::MouseRelatedEvent::clientLocation):
319         (WebCore::MouseRelatedEvent::absoluteLocation):
320         * dom/TouchEvent.cpp:
321         (WebCore::TouchEvent::TouchEvent):
322         (WebCore::TouchEvent::initTouchEvent):
323         * dom/WheelEvent.cpp:
324         (WebCore::WheelEvent::WheelEvent):
325         (WebCore::WheelEvent::initWheelEvent):
326         (WebCore::WheelEventDispatchMediator::WheelEventDispatchMediator):
327         * dom/WheelEvent.h:
328         (WebCore::WheelEvent::create):
329         (WebCore::WheelEvent::wheelDelta):
330         (WebCore::WheelEvent::wheelDeltaX):
331         (WebCore::WheelEvent::wheelDeltaY):
332         (WebCore::WheelEvent::rawDeltaX):
333         (WebCore::WheelEvent::rawDeltaY):
334         (WebCore::WheelEvent::isHorizontal):
335         * platform/graphics/IntPoint.h:
336         (WebCore::IntPoint::scale):
337
338 2011-06-01  Levi Weintraub  <leviw@chromium.org>
339
340         Reviewed by Eric Seidel.
341
342         Switch paintOverflowControls to use IntPoint
343         https://bugs.webkit.org/show_bug.cgi?id=61884
344
345         Switching paintOverflowControls to use an IntPoint instead of a pair of ints.
346
347         No new tests since this is simple refactoring.
348
349         * rendering/RenderBlock.cpp:
350         (WebCore::RenderBlock::paint):
351         * rendering/RenderLayer.cpp:
352         (WebCore::RenderLayer::paintOverflowControls):
353         (WebCore::RenderLayer::paintLayer):
354         * rendering/RenderLayer.h:
355         * rendering/RenderLayerBacking.cpp:
356         (WebCore::RenderLayerBacking::paintIntoLayer):
357
358 2011-06-01  Abhishek Arya  <inferno@chromium.org>
359
360         Reviewed by Alexey Proskuryakov.
361
362         Fix setting of document.body
363         https://bugs.webkit.org/show_bug.cgi?id=60831
364
365         1. Only allowing setting to an element if it has a body tag.
366         2. If element is from another document, import it.
367
368         Test: fast/dom/document-set-body.html
369
370         * dom/Document.cpp:
371         (WebCore::Document::setBody):
372
373 2011-06-01  Chris Fleizach  <cfleizach@apple.com>
374
375         Reviewed by Darin Adler.
376
377         Safari always crashes on http://bbc.co.uk when VoiceOver enabled
378         https://bugs.webkit.org/show_bug.cgi?id=61886
379
380         This crash can happen on webpages that remove an element from the DOM when the element receives focus.
381         When AppKit goes to post a notification to inform VoiceOver the focus has changed, it asks for the AXFocusedUIElement.
382         However by posting that notification, a render tree update is performed. This causes the element to disappear, but
383         AppKit still has a handle to it and continues to try to reference it. When the autorelease pool pops, the reference goes bad.
384
385         To fix, the root element, the AccessibilityScrollView, needs to implement updateBackingStore(), otherwise this method 
386         will not be called in time.
387
388         No test could be created because to cause it depends on an internal AppKit mechanism
389         that is only triggered remotely through the accessibility runtime.
390
391         * accessibility/AccessibilityObject.cpp:
392         (WebCore::AccessibilityObject::updateBackingStore):
393         * accessibility/AccessibilityObject.h:
394         * accessibility/AccessibilityRenderObject.cpp:
395         * accessibility/AccessibilityRenderObject.h:
396
397 2011-06-01  David Carson  <dacarson@apple.com>
398
399         Reviewed by Antti Koivisto.
400
401         https://bugs.webkit.org/show_bug.cgi?id=61831
402         If width and height of an iframe is fixed and should not be visible, then
403         it shouldn't be flattened.
404
405         Test: fast/frames/flattening/iframe-flattening-fixed-width-and-height-zero-size.html
406
407         * rendering/RenderIFrame.cpp:
408         (WebCore::RenderIFrame::flattenFrame): add a check for a zero width or height
409
410 2011-06-01  Daniel Cheng  <dcheng@chromium.org>
411
412         Reviewed by Tony Chang.
413
414         [chromium] Use correct file name for dragging out images.
415         https://bugs.webkit.org/show_bug.cgi?id=24887
416
417         We try to guess an appropriate filename when dragging out images. In order, we try to use:
418         - The filename suggested in the HTTP header.
419         - The last path component of the source URL.
420         - The alt text.
421         This matches the behavior of the other WebKit ports.
422
423         Test: fast/events/drag-image-filename.html
424
425         * platform/chromium/ClipboardChromium.cpp:
426         (WebCore::writeImageToDataObject):
427         * platform/chromium/ClipboardChromiumMac.cpp:
428         (WebCore::isInvalidFileCharacter):
429         (WebCore::ClipboardChromium::validateFileName):
430
431 2011-06-01  Levi Weintraub  <leviw@chromium.org>
432
433         Reviewed by Eric Seidel.
434
435         Text is scaled in a stair-step pattern
436         https://bugs.webkit.org/show_bug.cgi?id=60317
437
438         Stop scaling the specified font to the actual on-screen value when font-rendering: 
439         geometricPrecision is specified, but instead scale the graphics context. This allows
440         us to scale text up and down smoothly.
441
442         Test: svg/text/scaling-font-with-geometric-precision.html
443
444         * rendering/svg/RenderSVGInlineText.cpp:
445         (WebCore::RenderSVGInlineText::computeNewScaledFontForStyle):
446
447 2011-06-01  Levi Weintraub  <leviw@chromium.org>
448
449         Reviewed by Eric Seidel.
450
451         Switch paintResizer to use IntPoint
452         https://bugs.webkit.org/show_bug.cgi?id=61883
453
454         Switch paintResizer to take an IntPoint instead of a pair of ints.
455
456         No new tests as this is simple refactoring.
457
458         * rendering/RenderLayer.cpp:
459         (WebCore::RenderLayer::paintOverflowControls):
460         (WebCore::RenderLayer::paintResizer):
461         * rendering/RenderLayer.h:
462         * rendering/RenderLayerBacking.cpp:
463         (WebCore::RenderLayerBacking::paintContents):
464
465 2011-06-01  Jer Noble  <jer.noble@apple.com>
466
467         Reviewed by Darin Adler.
468
469         Page layout messed up after exiting full screen at Apple trailers page
470         https://bugs.webkit.org/show_bug.cgi?id=61755
471         <rdar://problem/9525277>
472
473         Test: fullscreen/full-screen-zIndex-after.html
474
475         Fix the incomplete implementation of r87660. Make parameters to
476         setContainsFullScreenElementRecursively() in webkitWillExitFullScreenForElement() match those
477         in webkitWillEnterFullScreenForElement(), so the ancestors' flags do not become
478         inconsistent..
479
480         * dom/Document.cpp:
481         (WebCore::Document::webkitWillExitFullScreenForElement):
482
483 2011-06-01  Levi Weintraub  <leviw@chromium.org>
484
485         Reviewed by Eric Seidel.
486
487         Switch paintScrollCorner to use IntPoint
488         https://bugs.webkit.org/show_bug.cgi?id=61874
489
490         Changing paintScrollCorner to take an IntPoint representing the paint
491         offset instead of a pair of ints.
492
493         No new tests as this is simple refactoring.
494
495         * rendering/RenderLayer.cpp:
496         (WebCore::RenderLayer::paintOverflowControls):
497         (WebCore::RenderLayer::paintScrollCorner):
498         * rendering/RenderLayer.h:
499         * rendering/RenderLayerBacking.cpp:
500         (WebCore::RenderLayerBacking::paintContents):
501
502 2011-06-01  Kenneth Russell  <kbr@google.com>
503
504         Reviewed by Nate Chapin.
505
506         [V8] Optimize fetches of indexed properties in custom bindings
507         https://bugs.webkit.org/show_bug.cgi?id=61821
508
509         Avoid allocating garbage in affected custom bindings. This speeds
510         up one test case by at least a factor of two. No new tests;
511         covered by existing layout tests (typed array and otherwise).
512
513         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
514         (WebCore::constructWebGLArray):
515         (WebCore::setWebGLArrayHelper):
516         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
517         (WebCore::V8InspectorFrontendHost::showContextMenuCallback):
518         * bindings/v8/custom/V8MessagePortCustom.cpp:
519         (WebCore::getMessagePortArray):
520         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
521         (WebCore::jsArrayToFloatArray):
522         (WebCore::jsArrayToIntArray):
523
524 2011-06-01  Andras Becsi  <abecsi@webkit.org>
525
526         Reviewed by Csaba Osztrogon√°c.
527
528         [Qt] Fix the Phonon build when logging is disabled
529         https://bugs.webkit.org/show_bug.cgi?id=61869
530
531         No new tests needed.
532
533         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: Add missing guards.
534         (WebCore::MediaPlayerPrivatePhonon::networkState):
535         (WebCore::MediaPlayerPrivatePhonon::readyState):
536         (WebCore::MediaPlayerPrivatePhonon::updateStates):
537         (WebCore::MediaPlayerPrivatePhonon::stateChanged):
538
539 2011-06-01  Abhishek Arya  <inferno@chromium.org>
540
541         Reviewed by Antti Koivisto.
542
543         Do not use the pushed style selector if it is not equal to the
544         parent document's style selector. It usually means that it is
545         in a bad state, e.g. already cleared.
546         https://bugs.webkit.org/show_bug.cgi?id=61737
547
548         * dom/Element.cpp:
549         (WebCore::StyleSelectorParentPusher::~StyleSelectorParentPusher):
550
551 2011-06-01  Levi Weintraub  <leviw@chromium.org>
552
553         Reviewed by Eric Seidel.
554
555         Switch RenderLineBoxList intersection functions to use IntPoint
556         https://bugs.webkit.org/show_bug.cgi?id=61794
557
558         Switching rangeIntersectsRect, anyLineIntersectsRect, and lineIntersectsDirtyRect
559         to take IntPoint instead of a tx/ty to represent the offset to be applied match
560         the rect and lines' coordinates.
561
562         No new tests since this is merely refactoring.
563
564         * rendering/RenderLineBoxList.cpp:
565         (WebCore::RenderLineBoxList::rangeIntersectsRect):
566         (WebCore::RenderLineBoxList::anyLineIntersectsRect):
567         (WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
568         (WebCore::RenderLineBoxList::paint):
569         (WebCore::RenderLineBoxList::hitTest):
570         * rendering/RenderLineBoxList.h:
571
572 2011-05-19  Adrienne Walker  <enne@google.com>
573
574         Reviewed by James Robinson.
575
576         [chromium] Don't split long, narrow layers into multiple tiles.
577         https://bugs.webkit.org/show_bug.cgi?id=60821
578
579         This changes the heuristic for when we tile layers to be less bad
580         about wasting texture space.  Long, narrow layers that are tiled with
581         a large tile size waste texture space.  Now layers are only tiled if
582         they are above 512px in one dimension and extend into a second tile in
583         the other.  If they are not tiled, their layer texture will exactly
584         fit their layer bounds.  In particular, this will help scrollbars.
585
586         * platform/graphics/chromium/ContentLayerChromium.cpp:
587         (WebCore::ContentLayerChromium::updateLayerSize):
588         * platform/graphics/chromium/LayerRendererChromium.h:
589         (WebCore::LayerRendererChromium::maxTextureSize):
590
591 2011-06-01  Cary Clark  <caryclark@google.com>
592
593         Reviewed by Eric Seidel.
594
595         Ready Chromium port for Skia on Mac
596         https://bugs.webkit.org/show_bug.cgi?id=61800
597
598         Skia on Mac is not enabled. The executing
599         code is unchanged, so there are no new tests.
600
601         * platform/chromium/DragImageRef.h:
602         Use Skia for DragImageRef instead of CG.
603
604         * platform/chromium/ScrollbarThemeChromiumMac.mm:
605         (WebCore::ScrollbarThemeChromiumMac::paint):
606         Get the total matrix from Skia for the scrollbar.
607         Convert the SkCanvas into a CGContext to draw.
608
609         * platform/chromium/ThemeChromiumMac.mm:
610         (WebCore::paintStepper):
611         Ditto.
612
613 2011-06-01  Yury Semikhatsky  <yurys@chromium.org>
614
615         Reviewed by Pavel Feldman.
616
617         Web Inspector: allow opening inspector for existing workers
618         https://bugs.webkit.org/show_bug.cgi?id=61853
619
620         Added sidebar pane with a list of all workers. Each worker has a check box
621         that allows opening inspector for the worker.
622
623         * inspector/Inspector.json:
624         * inspector/InspectorInstrumentation.cpp:
625         (WebCore::InspectorInstrumentation::didStartWorkerContextImpl):
626         * inspector/InspectorInstrumentation.h:
627         (WebCore::InspectorInstrumentation::didStartWorkerContext):
628         * inspector/InspectorWorkerAgent.cpp:
629         (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::WorkerFrontendChannel):
630         (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::~WorkerFrontendChannel):
631         (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::connectToWorkerContext):
632         (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::disconnectFromWorkerContext):
633         (WebCore::InspectorWorkerAgent::clearFrontend):
634         (WebCore::InspectorWorkerAgent::connectToWorker):
635         (WebCore::InspectorWorkerAgent::disconnectFromWorker):
636         (WebCore::InspectorWorkerAgent::didStartWorkerContext):
637         * inspector/InspectorWorkerAgent.h:
638         * inspector/front-end/ScriptsPanel.js:
639         (WebInspector.ScriptsPanel):
640         * inspector/front-end/Settings.js:
641         * inspector/front-end/WorkerManager.js:
642         (WebInspector.WorkerManager):
643         (WebInspector.WorkerManager.prototype._workerCreated):
644         (WebInspector.WorkerManager.prototype._sendMessageToWorkerInspector):
645         (WebInspector.WorkerManager.prototype.openWorkerInspector):
646         (WebInspector.WorkerManager.prototype.closeWorkerInspector):
647         (WebInspector.WorkerManager.prototype._workerInspectorClosing):
648         (WebInspector.WorkerMessageForwarder):
649         (WebInspector.WorkerMessageForwarder.prototype.workerCreated):
650         (WebInspector.WorkerMessageForwarder.prototype.dispatchMessageFromWorker):
651         * inspector/front-end/WorkersSidebarPane.js:
652         (WebInspector.WorkersSidebarPane):
653         (WebInspector.WorkersSidebarPane.prototype.addWorker):
654         (WebInspector.WorkerListSidebarPane):
655         (WebInspector.WorkerListSidebarPane.prototype._workerAdded):
656         (WebInspector.WorkerListSidebarPane.prototype._workerRemoved):
657         (WebInspector.WorkerListSidebarPane.prototype._workerInspectorClosed):
658         (WebInspector.WorkerListSidebarPane.prototype._addWorker):
659         (WebInspector.WorkerListSidebarPane.prototype._createCheckbox):
660         (WebInspector.WorkerListSidebarPane.prototype._workerItemClicked):
661         * workers/Worker.cpp:
662         (WebCore::Worker::notifyFinished):
663
664 2011-06-01  Shishir Agrawal  <shishir@chromium.org>
665
666         Reviewed by Tony Gentilcore.
667
668         Renaming the Page Visibility attributes as per the modified spec draft.
669         https://bugs.webkit.org/show_bug.cgi?id=61825
670
671         Spec draft:
672         http://dvcs.w3.org/hg/webperf/raw-file/tip/specs/PageVisibility/Overview.html
673
674         - Event needs to be webkitVisibilityChange from webkitVisibilityStateChange
675         - The attribute webkitIsVisible needs to change to webkitHidden
676
677         * dom/Document.cpp:
678         (WebCore::Document::webkitHidden):
679         (WebCore::Document::dispatchVisibilityStateChangeEvent):
680         * dom/Document.h:
681         * dom/Document.idl:
682         * dom/EventNames.h:
683
684 2011-06-01  Nikolas Zimmermann  <nzimmermann@rim.com>
685
686         Reviewed by Rob Buis.
687
688         Remove duplicated code in various computeReplacedLogical*() functions
689         https://bugs.webkit.org/show_bug.cgi?id=61860
690
691         Centralize this calculation in RenderBox::computeReplacedLogicalWidthRespectingMinMaxWidth:
692         int minLogicalWidth = computeReplacedLogicalWidthUsing(style()->logicalMinWidth());
693         int maxLogicalWidth = !includeMaxWidth || style()->logicalMaxWidth().isUndefined() ? logicalWidth : computeReplacedLogicalWidthUsing(style()->logicalMaxWidth());
694         return max(minLogicalWidth, min(logicalWidth, maxLogicalWidth));
695
696         Centralize this calculation in RenderBox::computeReplacedLogicalHeightRespectingMinMaxHeight:
697         int minLogicalHeight = computeReplacedLogicalHeightUsing(style()->logicalMinHeight());
698         int maxLogicalHeight = style()->logicalMaxHeight().isUndefined() ? logicalHeight : computeReplacedLogicalHeightUsing(style()->logicalMaxHeight());
699         return max(minLogicalHeight, min(logicalHeight, maxLogicalHeight));
700
701         Use the new helper methods where possible, deduplicating lots of code.
702
703         * rendering/RenderBox.cpp:
704         (WebCore::RenderBox::computeReplacedLogicalWidth):
705         (WebCore::RenderBox::computeReplacedLogicalWidthRespectingMinMaxWidth):
706         (WebCore::RenderBox::computeReplacedLogicalHeight):
707         (WebCore::RenderBox::computeReplacedLogicalHeightRespectingMinMaxHeight):
708         * rendering/RenderBox.h:
709         * rendering/RenderImage.cpp:
710         (WebCore::RenderImage::computeReplacedLogicalWidth):
711         (WebCore::RenderImage::computeReplacedLogicalHeight):
712         * rendering/RenderPart.cpp:
713         (WebCore::RenderPart::computeEmbeddedDocumentReplacedWidth):
714         (WebCore::RenderPart::computeEmbeddedDocumentReplacedHeight):
715         (WebCore::RenderPart::computeReplacedLogicalWidth):
716         (WebCore::RenderPart::computeReplacedLogicalHeight):
717         * rendering/RenderPart.h:
718         * rendering/RenderReplaced.cpp:
719         (WebCore::RenderReplaced::computeReplacedLogicalWidth):
720         (WebCore::RenderReplaced::computeReplacedLogicalHeight):
721         * rendering/svg/RenderSVGRoot.cpp:
722         (WebCore::RenderSVGRoot::computeReplacedLogicalWidth):
723         (WebCore::RenderSVGRoot::computeReplacedLogicalHeight):
724
725 2011-06-01  Sheriff Bot  <webkit.review.bot@gmail.com>
726
727         Unreviewed, rolling out r87788.
728         http://trac.webkit.org/changeset/87788
729         https://bugs.webkit.org/show_bug.cgi?id=61856
730
731         breaks windows chromium canary (Requested by jknotten on
732         #webkit).
733
734         * loader/archive/mhtml/MHTMLArchive.cpp:
735         * loader/archive/mhtml/MHTMLArchive.h:
736         * page/PageSerializer.cpp:
737         (WebCore::PageSerializer::serializeFrame):
738         (WebCore::PageSerializer::serializeCSSStyleSheet):
739         * platform/SharedBuffer.cpp:
740         * platform/SharedBuffer.h:
741
742 2011-06-01  Joseph Pecoraro  <joepeck@webkit.org>
743
744         Reviewed by Pavel Feldman.
745
746         Web Inspector: [JSC] JSLock ASSERTs Seen Under eventListenerHandlerBody
747         https://bugs.webkit.org/show_bug.cgi?id=61835
748
749         Add a JSLock call before possible allocations in jsFunction and toString.
750
751         * bindings/js/ScriptEventListener.cpp:
752         (WebCore::eventListenerHandlerBody):
753
754 2011-06-01  Jay Civelli  <jcivelli@chromium.org>
755
756         Reviewed by Adam Barth.
757
758         Adding MHTML generation support to MHTMLArchive.
759         https://bugs.webkit.org/show_bug.cgi?id=7169
760
761         * loader/archive/mhtml/MHTMLArchive.cpp:
762         (WebCore::generateRandomBoundary):
763         (WebCore::replaceNonPrintableCharacters):
764         (WebCore::MHTMLArchive::generateMHTMLData):
765         * loader/archive/mhtml/MHTMLArchive.h:
766         * page/PageSerializer.cpp:
767         (WebCore::PageSerializer::serializeFrame):
768         (WebCore::PageSerializer::serializeCSSStyleSheet):
769         * platform/SharedBuffer.cpp:
770         (WebCore::SharedBuffer::append):
771         * platform/SharedBuffer.h:
772
773 2011-06-01  Dimitri Glazkov  <dglazkov@chromium.org>
774
775         Reviewed by Kent Tamura.
776
777         Remove ShadowElement and compact remaining used bits into RenderFileUploadControl.
778         https://bugs.webkit.org/show_bug.cgi?id=61816
779
780         This is a near-mechanical move-and-rename of ShadowElement, which is now only
781         used by input[type=file]. Next step -- switch it over to new shadow DOM.
782
783         Refactoring, no change in behavior.
784
785         * CMakeLists.txt: Removed ShadowElement.cpp and ShadowElement.h.
786         * GNUmakefile.list.am: Ditto.
787         * WebCore.gypi: Ditto.
788         * WebCore.pro: Ditto.
789         * WebCore/WebCore.vcproj/WebCore.vcproj: Ditto.
790         * WebCore.xcodeproj/project.pbxproj: Ditto.
791         * WebCore/rendering/RenderingAllInOne.cpp: Ditto.
792         * rendering/RenderFileUploadControl.cpp:
793         (WebCore::UploadButton::create): Moved from ShadowElement, renamed as UploadButton.
794         (WebCore::UploadButton::detach): Ditto.
795         (WebCore::UploadButton::UploadButton): Ditto.
796         (WebCore::RenderFileUploadControl::updateFromElement): Changed to use UploadButton.
797         * rendering/RenderMeter.cpp: Removed ShadowElement.h include, which is no longer used.
798         * rendering/RenderProgress.cpp: Ditto.
799         * rendering/ShadowElement.cpp: Removed.
800         * rendering/ShadowElement.h: Removed.
801
802 2011-06-01  Nikolas Zimmermann  <nzimmermann@rim.com>
803
804         Reviewed by Rob Buis.
805
806         SVG fails all 3 of Hixie's CSS intrinsic sizing tests
807         https://bugs.webkit.org/show_bug.cgi?id=15473
808
809         Hixies CSS intrinsic sizing tests cover percentage sizes specified on the target SVG document as width/height attributes
810         and using width: auto / height: auto on the <object> that hosts the SVG document. Take percentage sizes of the outermost
811         SVGs width/height attributes into account when determining the intrinsic size of the <object>.
812
813         Added several other testcases demonstrating several scenarios. All tests work exactly the same in WebKit and Firefox now.
814         The *on-target-svg-absolute.xhtml tests look equal to WebKit/FF but Opera fails them, likely a relict of the different
815         interpretation of the intrinsic size of a SVG document in SVG Tiny 1.2.
816
817         Tests: svg/custom/object-sizing-height-50p-on-target-svg-absolute.xhtml
818                svg/custom/object-sizing-height-50p-on-target-svg.xhtml
819                svg/custom/object-sizing-width-50p-height-50p-on-target-svg-absolute.xhtml
820                svg/custom/object-sizing-width-50p-height-50p-on-target-svg.xhtml
821                svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute.xhtml
822                svg/custom/object-sizing-width-50p-height-75p-on-target-svg.xhtml
823                svg/custom/object-sizing-width-50p-on-target-svg-absolute.xhtml
824                svg/custom/object-sizing-width-50p-on-target-svg.xhtml
825                svg/custom/object-sizing-width-75p-height-50p-on-target-svg-absolute.xhtml
826                svg/custom/object-sizing-width-75p-height-50p-on-target-svg.xhtml
827                svg/hixie/intrinsic/001.html
828                svg/hixie/intrinsic/002.html
829                svg/hixie/intrinsic/003.html
830
831         * rendering/RenderPart.cpp:
832         (WebCore::RenderPart::computeReplacedLogicalWidth):
833         (WebCore::RenderPart::computeReplacedLogicalHeight):
834         * rendering/svg/RenderSVGRoot.cpp:
835         (WebCore::RenderSVGRoot::computeIntrinsicRatio):
836         * rendering/svg/RenderSVGRoot.h:
837
838 2011-05-31  Tonis Tiigi  <tonistiigi@gmail.com>
839
840         Reviewed by Pavel Feldman.
841
842         Web Inspector: Timeline panel improvements for managing current selection
843         https://bugs.webkit.org/show_bug.cgi?id=61468
844
845         Enables X-axis dragging of the selected area.
846         Double click zoom-out.
847         Fixes slightly wrong selection area position.
848
849         * inspector/front-end/TimelineOverviewPane.js:
850         (WebInspector.TimelineOverviewPane):
851         (WebInspector.TimelineOverviewPane.prototype._dragWindow):
852         (WebInspector.TimelineOverviewPane.prototype._endWindowSelectorDragging):
853         (WebInspector.TimelineOverviewPane.prototype._resizeWindowRight):
854         (WebInspector.TimelineOverviewPane.prototype._resizeWindowMaximum):
855         (WebInspector.TimelineOverviewPane.prototype.scrollWindow):
856         (WebInspector.TimelineOverviewPane.prototype._createTimelineCategoryStatusBarCheckbox):
857         * inspector/front-end/TimelinePanel.js:
858         (WebInspector.TimelinePanel):
859
860 2011-05-31  Keishi Hattori  <keishi@webkit.org>
861
862         Reviewed by Kent Tamura.
863
864         Fix to enable page scroll of select element
865         https://bugs.webkit.org/show_bug.cgi?id=53628
866
867         Manual test: select-page-scroll.html
868
869         * manual-tests/select-page-scroll.html: Added.
870         * rendering/RenderListBox.cpp:
871         (WebCore::RenderListBox::computeLogicalHeight): Fix min to max.
872
873 2011-05-31  Yong Li  <yoli@rim.com>
874
875         Reviewed by Eric Seidel.
876
877         https://bugs.webkit.org/show_bug.cgi?id=54807
878         We have been assuming plain bitfields (like "int a : 31") are always signed integers.
879         However some compilers can treat them as unsigned. For example, RVCT 4.0 states plain
880         bitfields (declared without either signed or unsigned qualifiers) are treats as unsigned.
881         http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0348c/Babjddhe.html
882         Although we can use "--signed-bitfields" flag to make RVCT 4.0 behave as most other compilers,
883         always using "signed"/"unsigned" qualifier to declare integral type bitfields is still a good
884         rule we should have in order to make our code independent from compilers and compiler flags.
885
886         No new test added because this change is not known to fix any issue.
887
888         * css/CSSPrimitiveValue.h:
889         * css/CSSProperty.h:
890         * rendering/InlineBox.h:
891         * rendering/RenderBlock.h:
892
893 2011-05-31  Hironori Bono  <hbono@chromium.org>
894
895         Reviewed by Eric Seidel.
896
897         Send an input event when we change the text direction.
898         https://bugs.webkit.org/show_bug.cgi?id=50952
899
900         Both Safari and Chrome call Editor::setBaseWritingDirection() to change
901         the text direction of an editable element with their UIs. This change
902         calls dispatchInputEvent() to send an input event when the function
903         actually changes the "dir" attribute so we can send an input event as
904         written in the HTML5 spec.
905
906         Test: fast/html/set-text-direction.html
907
908         * editing/Editor.cpp:
909         (WebCore::Editor::setBaseWritingDirection):
910
911 2011-05-31  Jer Noble  <jer.noble@apple.com>
912
913         Reviewed by Darin Adler.
914
915         Flash of black at the end of full screen transition at apple.com product videos
916         https://bugs.webkit.org/show_bug.cgi?id=61756
917
918         Added two new entries to the WebCore exports list.
919
920         * WebCore.exp.in:
921
922 2011-05-31  Rafael Brandao  <rafael.lobo@openbossa.org>
923
924         Reviewed by Andreas Kling.
925
926         [Qt] tst_QWebFrame::render() failing
927         https://bugs.webkit.org/show_bug.cgi?id=60893
928
929         Due a problem on QPicture (http://bugreports.qt.nokia.com/browse/QTBUG-19496),
930         this test was calculating the final geometry incorrectly. As the order between
931         a translate and a draw operation could be relevant for it, but not for the
932         final rendered result, they were changed on ScrollbarThemeQt::paint.
933
934         * platform/qt/ScrollbarThemeQt.cpp:
935         (WebCore::ScrollbarThemeQt::paint):
936
937 2011-05-27  Adrienne Walker  <enne@google.com>
938
939         Reviewed by James Robinson.
940
941         [chromium] Fix crash from empty reflections with masks
942         https://bugs.webkit.org/show_bug.cgi?id=61654
943
944         Change the iteration for updateCompositorResources to match that being
945         done in the paint and draw steps.  This mismatch of iteration style
946         was causing layers with replica masks to correctly get skipped while
947         painting but not get skipped during texture upload.
948
949         Test: compositing/reflections/empty-reflection-with-mask.html
950
951         * platform/graphics/chromium/LayerRendererChromium.cpp:
952         (WebCore::LayerRendererChromium::updateLayers):
953         (WebCore::LayerRendererChromium::updateCompositorResources):
954         * platform/graphics/chromium/LayerRendererChromium.h:
955
956 2011-05-31  B.J. Wever  <skylined@chromium.org>
957
958         Reviewed by Adam Barth.
959
960         requestFileSystem and resolveLocalFileSystemURI are not checking if
961         errorCallback is NULL before scheduling a callback on error.
962         https://bugs.webkit.org/show_bug.cgi?id=49539
963
964         Test: fast/filesystem/filesystem-no-callback-null-ptr-crash.html
965
966         * fileapi/DOMFileSystem.cpp:
967         (WebCore::DOMFileSystem::scheduleCallback): Only call callback if
968           one is supplied.
969
970 2011-05-31  Brady Eidson  <beidson@apple.com>
971
972         Reviewed by Darin Adler.
973
974         Another swipe at resolving <rdar://problem/9125145> and https://bugs.webkit.org/show_bug.cgi?id=61494
975         
976         Re-land http://trac.webkit.org/changeset/87566 with invalid ASSERTs removed.
977
978         No new tests. No change in behavior.
979
980         Instead of storing the DocumentLoader at construction and never changing it,
981         always calculate it based on the FrameLoader's current DocumentLoader:
982         * dom/Document.cpp:
983         (WebCore::Document::Document):
984         (WebCore::Document::suggestedMIMEType):
985         (WebCore::Document::lastModified):
986         (WebCore::Document::initSecurityContext):
987         (WebCore::Document::updateURLForPushOrReplaceState):
988         (WebCore::Document::loader):
989         * dom/Document.h:
990
991         Null-check or ASSERT that the DocumentLoader exists (or both) depending on the scenario:
992         * bindings/ScriptControllerBase.cpp:
993         (WebCore::ScriptController::executeIfJavaScriptURL):
994         * html/MediaDocument.cpp:
995         (WebCore::MediaDocument::replaceMediaElementTimerFired):
996         * html/PluginDocument.cpp:
997         (WebCore::PluginDocumentParser::createDocumentStructure):
998         * platform/mac/HTMLConverter.mm:
999         (fileWrapperForElement):
1000
1001         * WebCore.exp.in:
1002
1003 2011-05-31  Levi Weintraub  <leviw@chromium.org>
1004
1005         Reviewed by Simon Fraser.
1006
1007         Change InlineBox::paint and its overloaded variants to use IntPoint
1008         https://bugs.webkit.org/show_bug.cgi?id=61804
1009
1010         Changing InlineBox::paint, its 7 overloaded variants, and RootInlineBox::paintEllipsisBox
1011         to use IntPoint for their paint offset instead of a pair of ints.
1012
1013         No new tests since this is just a refactoring.
1014
1015         * rendering/EllipsisBox.cpp:
1016         (WebCore::EllipsisBox::paint):
1017         * rendering/EllipsisBox.h:
1018         * rendering/InlineBox.cpp:
1019         (WebCore::InlineBox::paint):
1020         * rendering/InlineBox.h:
1021         * rendering/InlineFlowBox.cpp:
1022         (WebCore::InlineFlowBox::paint):
1023         * rendering/InlineFlowBox.h:
1024         * rendering/InlineTextBox.cpp:
1025         (WebCore::InlineTextBox::paint):
1026         * rendering/InlineTextBox.h:
1027         * rendering/RenderBlock.cpp:
1028         (WebCore::RenderBlock::paintEllipsisBoxes):
1029         * rendering/RenderBoxModelObject.cpp:
1030         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
1031         * rendering/RenderLineBoxList.cpp:
1032         (WebCore::RenderLineBoxList::paint):
1033         * rendering/RootInlineBox.cpp:
1034         (WebCore::RootInlineBox::paintEllipsisBox):
1035         (WebCore::RootInlineBox::paint):
1036         * rendering/RootInlineBox.h:
1037         * rendering/svg/SVGInlineFlowBox.cpp:
1038         (WebCore::SVGInlineFlowBox::paint):
1039         * rendering/svg/SVGInlineFlowBox.h:
1040         * rendering/svg/SVGInlineTextBox.cpp:
1041         (WebCore::SVGInlineTextBox::paint):
1042         * rendering/svg/SVGInlineTextBox.h:
1043         * rendering/svg/SVGRootInlineBox.cpp:
1044         (WebCore::SVGRootInlineBox::paint):
1045         * rendering/svg/SVGRootInlineBox.h:
1046
1047 2011-05-31  James Robinson  <jamesr@chromium.org>
1048
1049         Reviewed by Kenneth Russell.
1050
1051         [chromium] Clear out LayerChromium's m_ccLayerImpl ptr on CCLayerImpl destruction
1052         https://bugs.webkit.org/show_bug.cgi?id=61593
1053
1054         Whenever a CCLayerImpl is being destroyed, clear out its owner's m_ccLayerImpl pointer.
1055         This is extremely defensive and not strictly necessary, but not harmful either.
1056
1057         * platform/graphics/chromium/LayerChromium.h:
1058         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
1059         (WebCore::CCLayerImpl::~CCLayerImpl):
1060
1061 2011-05-31  Stephen White  <senorblanco@chromium.org>
1062
1063         Unreviewed; build fix.
1064
1065         Silence some warnings on the Safari/Mac release build.
1066
1067         * platform/graphics/gpu/TilingData.h:
1068         (WebCore::TilingData::assertTile):
1069
1070 2011-05-31  Justin Novosad  <junov@chromium.org>
1071
1072         Reviewed by Stephen White.
1073
1074         [Chromium] Build fails when ACCELERATED_2D_CANVAS is disabled
1075         https://bugs.webkit.org/show_bug.cgi?id=61790
1076         Changing the build guards in these two files that are required
1077         by the accelerated compositing feature.
1078
1079         * platform/graphics/gpu/LoopBlinnMathUtils.cpp:
1080         * platform/graphics/gpu/TilingData.cpp:
1081
1082 2011-05-31  Justin Novosad  <junov@chromium.org>
1083
1084         Reviewed by Stephen White.
1085
1086         [Chromium] Build fails when ACCELERATED_2D_CANVAS is disabled
1087         https://bugs.webkit.org/show_bug.cgi?id=61790
1088         Changing the build guards in these two files that are required
1089         by the accelerated compositing feature.
1090
1091         * platform/graphics/gpu/LoopBlinnMathUtils.cpp:
1092         * platform/graphics/gpu/TilingData.cpp:
1093
1094 2011-05-31  Rob Buis  <rbuis@rim.com>
1095
1096         Reviewed by Dirk Schulze.
1097
1098         https://bugs.webkit.org/show_bug.cgi?id=34301
1099         Creating <animateMotion> elements via javascript do not execute
1100
1101         https://bugs.webkit.org/show_bug.cgi?id=17043
1102         SVG missing some .idl files
1103
1104         Add missing idl files.
1105
1106         Test: svg/animations/animate-mpath-insert.html
1107
1108         * CMakeLists.txt:
1109         * CodeGenerators.pri:
1110         * WebCore.gypi:
1111         * WebCore.xcodeproj/project.pbxproj:
1112         * svg/SVGAnimateMotionElement.idl: Added.
1113         * svg/SVGMPathElement.idl: Added.
1114
1115 2011-05-31  Robin Dunn  <robin@alldunn.com>
1116
1117         Reviewed by Kevin Ollivier.
1118
1119         [wx] Implement printing support for wxWidgets 2.9.x and above.
1120         
1121         https://bugs.webkit.org/show_bug.cgi?id=61796
1122
1123         * platform/graphics/GraphicsContext.h:
1124         * platform/graphics/wx/FontWx.cpp:
1125         (WebCore::Font::drawGlyphs):
1126         * platform/graphics/wx/GraphicsContextWx.cpp:
1127         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
1128         (WebCore::GraphicsContext::drawRect):
1129         (WebCore::GraphicsContext::drawLine):
1130         (WebCore::GraphicsContext::drawEllipse):
1131         (WebCore::GraphicsContext::strokeArc):
1132         (WebCore::GraphicsContext::drawConvexPolygon):
1133         (WebCore::GraphicsContext::fillRect):
1134         (WebCore::GraphicsContext::drawLineForText):
1135         (WebCore::GraphicsContext::scale):
1136         (WebCore::GraphicsContext::currentScale):
1137         * platform/wx/wxcode/win/non-kerned-drawing.cpp:
1138         (WebCore::drawTextWithSpacing):
1139
1140 2011-05-31  Joseph Pecoraro  <joepeck@webkit.org>
1141
1142         Reviewed by Pavel Feldman.
1143
1144         Web Inspector: Missing InspectorFrontendHost.saveSessionSetting function
1145         https://bugs.webkit.org/show_bug.cgi?id=61751
1146
1147         Add missing stub function causing an error on load.
1148
1149         * inspector/front-end/InspectorFrontendHostStub.js:
1150         (.WebInspector.InspectorFrontendHostStub.prototype.saveSessionSetting):
1151
1152 2011-05-31  Abhishek Arya  <inferno@chromium.org>
1153
1154         Reviewed by Dimitri Glazkov.
1155
1156         Improve hasMediaControls logic to check that node has
1157         media controls. This can be false when cloning nodes.
1158         https://bugs.webkit.org/show_bug.cgi?id=61765
1159
1160         Test: media/media-controls-clone-crash.html
1161
1162         * dom/Node.h:
1163         (WebCore::Node::isMediaControls):
1164         * html/HTMLMediaElement.cpp:
1165         (WebCore::HTMLMediaElement::mediaControls):
1166         (WebCore::HTMLMediaElement::hasMediaControls):
1167         * html/shadow/MediaControls.h:
1168         (WebCore::MediaControls::isMediaControls):
1169         (WebCore::toMediaControls):
1170
1171 2011-05-31  Xan Lopez  <xlopez@igalia.com>
1172
1173         Reviewed by Martin Robinson.
1174
1175         [GTK] Provide custom DOM bindings methods to check if input/textareas have been edited
1176         https://bugs.webkit.org/show_bug.cgi?id=61791
1177
1178         * bindings/gobject/GNUmakefile.am: add new files.
1179         * bindings/gobject/WebKitDOMCustom.cpp: Added.
1180         (webkit_dom_html_text_area_element_is_edited):
1181         (webkit_dom_html_input_element_is_edited):
1182         * bindings/gobject/WebKitDOMCustom.h: Added.
1183
1184 2011-05-31  Noam Rosenthal  <noam.rosenthal@nokia.com>
1185
1186         Unreviewed build fix for Symbian.
1187         Opt-out Symbian for TextureMapper.
1188
1189         No new tests: build fix.
1190
1191         * WebCore.pri:
1192
1193 2011-05-31  Levi Weintraub  <leviw@chromium.org>
1194
1195         Reviewed by Eric Seidel.
1196
1197         Switch paintFocusRing to IntPoint
1198         https://bugs.webkit.org/show_bug.cgi?id=61580
1199
1200         Switching paintFocusRing to take an IntPoint representing the paint offset
1201         instead of a pair of ints.
1202
1203         No new tests as this is just refactoring.
1204
1205         * rendering/RenderInline.cpp:
1206         (WebCore::RenderInline::paintOutline):
1207         * rendering/RenderObject.cpp:
1208         (WebCore::RenderObject::paintFocusRing):
1209         (WebCore::RenderObject::paintOutline):
1210         * rendering/RenderObject.h:
1211
1212 2011-05-31  Abhishek Arya  <inferno@chromium.org>
1213
1214         Reviewed by Dimitri Glazkov.
1215
1216         Convert raw ptr to RefPtr for documentElement.
1217         https://bugs.webkit.org/show_bug.cgi?id=61688
1218
1219         Test: fast/dom/xml-parser-error-message-crash.svg
1220
1221         * dom/XMLDocumentParser.cpp:
1222         (WebCore::XMLDocumentParser::insertErrorMessageBlock):
1223
1224 2011-05-31  Andreas Kling  <kling@webkit.org>
1225
1226         Reviewed by Antti Koivisto.
1227
1228         Canvas/JSC: Auto-generate overloads for setShadow()
1229         https://bugs.webkit.org/show_bug.cgi?id=61786
1230
1231         Move CanvasRenderingContext2D.setShadow() to auto-generated JSC bindings.
1232
1233         There is a subtle difference to the previous behavior: invalid numbers of
1234         arguments now raise TypeError instead of SyntaxError. This is in accordance
1235         with Web IDL, and matches the existing V8 bindings.
1236
1237         Test: fast/canvas/canvas-overloads-setShadow.html
1238
1239         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
1240         * html/canvas/CanvasRenderingContext2D.idl:
1241
1242 2011-05-31  Andreas Kling  <kling@webkit.org>
1243
1244         Reviewed by Antti Koivisto.
1245
1246         Canvas/JSC: Auto-generate overloads for drawImageFromRect()
1247         https://bugs.webkit.org/show_bug.cgi?id=61709
1248
1249         Move CanvasRenderingContext2D.drawImageFromRect() to auto-generated JSC bindings.
1250         Make it [RequiresAllArguments=Raise] to match the old behavior.
1251         Side effect: calling drawImageFromRect() with zero arguments will now raise
1252         SyntaxError instead of TypeError.
1253
1254         Test: fast/canvas/canvas-overloads-drawImageFromRect.html
1255
1256         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
1257         * html/canvas/CanvasRenderingContext2D.h:
1258         * html/canvas/CanvasRenderingContext2D.idl:
1259
1260 2011-05-31  Andreas Kling  <kling@webkit.org>
1261
1262         Reviewed by Antti Koivisto.
1263
1264         Canvas/JSC: Auto-generate overloads for drawImage()
1265         https://bugs.webkit.org/show_bug.cgi?id=61703
1266
1267         Move CanvasRenderingContext2D.drawImage() to auto-generated JSC bindings.
1268
1269         There is a subtle difference to the previous behavior: invalid numbers of
1270         arguments now raise TypeError instead of SyntaxError. This is in accordance
1271         with Web IDL, and matches the existing V8 bindings.
1272
1273         Test: fast/canvas/canvas-overloads-drawImage.html
1274
1275         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
1276         * html/canvas/CanvasRenderingContext2D.idl:
1277
1278 2011-05-31  Andreas Kling  <kling@webkit.org>
1279
1280         Reviewed by Antti Koivisto.
1281
1282         Canvas/JSC: Auto-generate overloads for strokeRect()
1283         https://bugs.webkit.org/show_bug.cgi?id=61641
1284
1285         Move CanvasRenderingContext2D.setStrokeColor() to auto-generated JSC bindings.
1286
1287         No behavioral change.
1288
1289         Test: fast/canvas/canvas-overloads-strokeRect.html
1290
1291         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
1292         * html/canvas/CanvasRenderingContext2D.idl:
1293
1294 2011-05-31  Andreas Kling  <kling@webkit.org>
1295
1296         Reviewed by Antti Koivisto.
1297
1298         Canvas/JSC: Auto-generate overloads for setFillColor()
1299         https://bugs.webkit.org/show_bug.cgi?id=61635
1300
1301         Move CanvasRenderingContext2D.setStrokeColor() to auto-generated JSC bindings.
1302
1303         There is a subtle difference to the previous behavior: invalid numbers of
1304         arguments now raise TypeError instead of SyntaxError. This is in accordance
1305         with Web IDL, but doesn't matter much anyway since this method is WebKit-only.
1306
1307         Test: fast/canvas/canvas-overloads-setFillColor.html
1308
1309         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
1310         * html/canvas/CanvasRenderingContext2D.idl:
1311
1312 2011-05-31  Andreas Kling  <kling@webkit.org>
1313
1314         Reviewed by Antti Koivisto.
1315
1316         Canvas/JSC: Auto-generate overloads for setStrokeColor()
1317         https://bugs.webkit.org/show_bug.cgi?id=61629
1318
1319         Move CanvasRenderingContext2D.setStrokeColor() to auto-generated JSC bindings.
1320
1321         There is a subtle difference to the previous behavior: invalid numbers of
1322         arguments now raise TypeError instead of SyntaxError. This is in accordance
1323         with Web IDL, but doesn't matter much anyway since this method is WebKit-only.
1324
1325         Test: fast/canvas/canvas-overloads-setStrokeColor.html
1326
1327         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
1328         * html/canvas/CanvasRenderingContext2D.idl:
1329
1330 2011-05-31  Andreas Kling  <kling@webkit.org>
1331
1332         Reviewed by Antti Koivisto.
1333
1334         Canvas/JSC: Auto-generate overloads for strokeText()
1335         https://bugs.webkit.org/show_bug.cgi?id=61626
1336
1337         Move CanvasRenderingContext2D.strokeText() to auto-generated JSC bindings.
1338         Make it [RequiresAllArguments=Raise] to match the old behavior.
1339         This has the side-effect of aligning the behaviors of JSC and V8.
1340
1341         Test: fast/canvas/canvas-overloads-strokeText.html
1342
1343         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
1344         * html/canvas/CanvasRenderingContext2D.idl:
1345
1346 2011-05-31  Andreas Kling  <kling@webkit.org>
1347
1348         Reviewed by Antti Koivisto.
1349
1350         Canvas/JSC: Auto-generate overloads for fillText()
1351         https://bugs.webkit.org/show_bug.cgi?id=61623
1352
1353         Move CanvasRenderingContext2D.fillText() to auto-generated JSC bindings.
1354         Make it [RequiresAllArguments=Raise] to match the old behavior.
1355         This has the side-effect of aligning the behaviors of JSC and V8.
1356
1357         Test: fast/canvas/canvas-overloads-fillText.html
1358
1359         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
1360         * html/canvas/CanvasRenderingContext2D.idl:
1361
1362 2011-05-31  Yael Aharon  <yael.aharon@nokia.com>
1363
1364         Reviewed by Kenneth Rohde Christiansen.
1365
1366         Frame flattening is broken with nested frames
1367         https://bugs.webkit.org/show_bug.cgi?id=61491
1368
1369         After r77988, when frame flattening is enabled, performPostLayoutTasks() is called on a timer for iframes.
1370         This causes layout of nested iframes to sometimes happen asynchronously, but WebCore expects layout to always finish synchronously.
1371         Added a call to updateWidgetPosition() for cases that performPostLayoutTasks() is now happening asynchronously.
1372
1373         Test: fast/frames/flattening/iframe-flattening-nested.html
1374
1375         * page/FrameView.cpp:
1376         (WebCore::FrameView::layout):
1377
1378 2011-05-31  Tommy Widenflycht  <tommyw@google.com>
1379
1380         Reviewed by Tony Gentilcore.
1381
1382         Fix getUserMedia callback bindings for JSC.
1383         https://bugs.webkit.org/show_bug.cgi?id=60174
1384
1385         This patch initializes the exception code variable to 0.
1386
1387         Test: fast/dom/MediaStream/argument-types.html
1388
1389         * bindings/js/JSNavigatorCustom.cpp:
1390         (WebCore::JSNavigator::webkitGetUserMedia):
1391
1392 2011-05-31  Oleg Romashin  <oleg.romashin@nokia.com>
1393
1394         Reviewed by Benjamin Poulain.
1395
1396         Fix compilation with debug enabled, m_lightSource.type is not valid anymore
1397         https://bugs.webkit.org/show_bug.cgi?id=61719
1398
1399         * platform/graphics/filters/arm/FELightingNEON.h:
1400         (WebCore::FELighting::platformApplyNeon):
1401
1402 2011-05-31  Oliver Varga  <Varga.Oliver@stud.u-szeged.hu>
1403
1404         Reviewed by Nikolas Zimmermann.
1405
1406         Invalid color handling is broken for SVG
1407         https://bugs.webkit.org/show_bug.cgi?id=58531
1408
1409         Fix invalid color fallback handling. If the fill/stroke attributes computed
1410         value leads to a an invalid color, inherit the desired color from the parent
1411         style instead. Matches Opera/FF and SVG 1.1 Second Edition (http://www.w3.org/TR/SVG/).
1412
1413         Tests: svg/custom/invalid-stroke-hex.svg
1414                svg/custom/invalid-uri-stroke.svg
1415
1416         * rendering/svg/RenderSVGResource.cpp:
1417         (WebCore::inheritColorFromParentStyleIfNeeded):
1418         (WebCore::requestPaintingResource):
1419
1420 2011-05-31  Vangelis Kokkevis  <vangelis@chromium.org>
1421
1422         Reviewed by Kent Tamura.
1423
1424         [chromium] Avoid double deletion of DrawingBuffer's color buffer
1425         texture.
1426         https://bugs.webkit.org/show_bug.cgi?id=61761
1427
1428         Test: Verified that the DCHECK in GraphicsContext3D implementation
1429         doesn't trigger.
1430
1431         * platform/graphics/chromium/DrawingBufferChromium.cpp:
1432         (WebCore::DrawingBuffer::~DrawingBuffer):
1433
1434 2011-05-30  Hayato Ito  <hayato@chromium.org>
1435
1436         Reviewed by Ryosuke Niwa.
1437
1438         Add a utility function for dumping a tree for the Node, including a document of a frame.
1439         https://bugs.webkit.org/show_bug.cgi?id=61727
1440
1441         No new tests since added functions are only available in debug builds.
1442
1443         * dom/Node.cpp:
1444         (WebCore::parentOrHostOrFrameOwner):
1445         (WebCore::traverseNextNodeAcrossFrame):
1446         (WebCore::Node::showTreeForThisAcrossFrame):
1447         * dom/Node.h:
1448
1449 2011-05-30  James Kozianski  <koz@chromium.org>
1450
1451         Reviewed by Kent Tamura.
1452
1453         [Chromium] Make isValidProtocol() accept protocols with '+'.
1454         https://bugs.webkit.org/show_bug.cgi?id=61759
1455
1456         Also, detect syntax errors before security errors; some syntax errors
1457         will also trigger a security error, but it's more helpful to the
1458         programmer to know if they have a syntax error, which are well-defined
1459         in the spec, rather than a security error, which aren't.
1460
1461         * page/Navigator.cpp:
1462         (WebCore::Navigator::registerProtocolHandler):
1463         Detect syntax errors before security errors.
1464         * platform/KURLGoogle.cpp:
1465         (WebCore::isSchemeChar):
1466         Include '+' in the list of valid characters.
1467
1468 >>>>>>> .r87778
1469 2011-05-30  Andrey Petrov  <andrey.petrov@gmail.com>
1470
1471         Reviewed by Hajime Morita.
1472
1473         Using jQuery to show/hide IMG elements crashes WebKit
1474         https://bugs.webkit.org/show_bug.cgi?id=31721
1475
1476         For platform code, do not assert nodes always have renderer at
1477         the time context menu action is invoked.
1478         Renderer can actually be empty for a given node if it was hidden
1479         or removed from domtree by some non-user generated event (e.g timeout) 
1480         after the popup menu had been created.
1481
1482         Changing Chromium, Gtk, Mac, Qt, Win and WinCE.
1483
1484         Test: editing/pasteboard/copy-standalone-image-crash.html
1485
1486         * platform/chromium/PasteboardChromium.cpp:
1487         (WebCore::Pasteboard::writeImage):
1488         * platform/gtk/PasteboardGtk.cpp:
1489         (WebCore::Pasteboard::writeImage):
1490         * platform/mac/PasteboardMac.mm:
1491         (WebCore::Pasteboard::writeImage):
1492         * platform/qt/PasteboardQt.cpp:
1493         (WebCore::Pasteboard::writeImage):
1494         * platform/win/PasteboardWin.cpp:
1495         (WebCore::Pasteboard::writeImage):
1496         * platform/wince/PasteboardWinCE.cpp:
1497         (WebCore::Pasteboard::writeImage):
1498
1499 2011-05-30  Daniel Bates  <dbates@webkit.org>
1500
1501         Reviewed by Adam Barth.
1502
1503         Rename XSSFilter to XSSAuditor
1504         https://bugs.webkit.org/show_bug.cgi?id=61718
1505
1506         Currently we use the names XSSFilter and XSSAuditor throughout the project.
1507         Instead, we should choose one name for consistency.
1508
1509         No functionality was changed. So, no new tests.
1510
1511         * CMakeLists.txt:
1512         * GNUmakefile.list.am:
1513         * WebCore.gypi:
1514         * WebCore.pro:
1515         * WebCore.vcproj/WebCore.vcproj:
1516         * WebCore.xcodeproj/project.pbxproj:
1517         * html/parser/HTMLDocumentParser.cpp:
1518         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
1519         (WebCore::HTMLDocumentParser::pumpTokenizer):
1520         * html/parser/HTMLDocumentParser.h:
1521         * html/parser/XSSAuditor.cpp: Copied from Source/WebCore/html/parser/XSSFilter.cpp.
1522         (WebCore::XSSAuditor::XSSAuditor):
1523         (WebCore::XSSAuditor::init):
1524         (WebCore::XSSAuditor::filterToken):
1525         (WebCore::XSSAuditor::filterTokenInitial):
1526         (WebCore::XSSAuditor::filterTokenAfterScriptStartTag):
1527         (WebCore::XSSAuditor::filterScriptToken):
1528         (WebCore::XSSAuditor::filterObjectToken):
1529         (WebCore::XSSAuditor::filterParamToken):
1530         (WebCore::XSSAuditor::filterEmbedToken):
1531         (WebCore::XSSAuditor::filterAppletToken):
1532         (WebCore::XSSAuditor::filterIframeToken):
1533         (WebCore::XSSAuditor::filterMetaToken):
1534         (WebCore::XSSAuditor::filterBaseToken):
1535         (WebCore::XSSAuditor::filterFormToken):
1536         (WebCore::XSSAuditor::eraseDangerousAttributesIfInjected):
1537         (WebCore::XSSAuditor::eraseAttributeIfInjected):
1538         (WebCore::XSSAuditor::snippetForRange):
1539         (WebCore::XSSAuditor::snippetForAttribute):
1540         (WebCore::XSSAuditor::isContainedInRequest):
1541         (WebCore::XSSAuditor::isSameOriginResource):
1542         * html/parser/XSSAuditor.h: Copied from Source/WebCore/html/parser/XSSFilter.h.
1543         * html/parser/XSSFilter.cpp: Removed.
1544         * html/parser/XSSFilter.h: Removed.
1545
1546 2011-05-30  No'am Rosenthal  <noam.rosenthal@nokia.com>
1547
1548         Reviewed by Simon Hausmann.
1549
1550         WebKit2: Enable serializing of data types needed for cross-process accelerated compositing
1551         https://bugs.webkit.org/show_bug.cgi?id=61694
1552
1553         Expose a public clearAll() function to reset WebCore::Animation.
1554
1555         No new functionality, so no new tests.
1556
1557         * platform/animation/Animation.h:
1558         (WebCore::Animation::clearAll):
1559
1560 2011-05-30  Eric Carlson  <eric.carlson@apple.com>
1561
1562         Reviewed by Alexey Proskuryakov.
1563
1564         Audio and video files saved to the Application Cache should preserve the original file extension
1565         https://bugs.webkit.org/show_bug.cgi?id=61750
1566         <rdar://9524922>
1567
1568         No new tests, it isn't possible to check the name of the file in the cache from within
1569         DRT. Changes verified manually.
1570
1571         * loader/appcache/ApplicationCacheStorage.cpp:
1572         (WebCore::ApplicationCacheStorage::store): Append the original file extension to the cache
1573             file name.
1574         (WebCore::ApplicationCacheStorage::writeDataToUniqueFileInDirectory): Add extension parameter.
1575         * loader/appcache/ApplicationCacheStorage.h:
1576
1577 2011-05-30  Jer Noble  <jer.noble@apple.com>
1578
1579         Reviewed by Dan Bernstein.
1580
1581         Play/Pause button in wrong state when entering full screen on Vimeo
1582         https://bugs.webkit.org/show_bug.cgi?id=61754
1583
1584         Update the play/pause button inside reset().  This ensures the button is in
1585         the correct state when the controls are created after playback has already
1586         started.
1587
1588         * html/shadow/MediaControlRootElement.cpp:
1589         (WebCore::MediaControlRootElement::reset):
1590
1591 2011-05-30  No'am Rosenthal  <noam.rosenthal@nokia.com>
1592
1593         Reviewed by Simon Hausmann.
1594
1595         WebKit2: Enable serializing of data types needed for cross-process accelerated compositing
1596         https://bugs.webkit.org/show_bug.cgi?id=61694
1597
1598         Added a public TimingFunction::type() method.
1599
1600         No new functionality, so no new tests.
1601
1602         * platform/animation/TimingFunction.h:
1603         (WebCore::TimingFunction::type):
1604
1605 2011-05-30  Noam Rosenthal  <noam.rosenthal@nokia.com>
1606
1607         BUILD FIX for r87697 on Windows/Symbian
1608
1609         For now enabling TextureMapper for Mac/Linux only.
1610
1611         * WebCore.pri:
1612
1613 2011-05-30  David Kilzer  <ddkilzer@apple.com>
1614
1615         BUILD FIX for r87692 with !ENABLE(FULLSCREEN_API)
1616
1617         * dom/EventDispatcher.cpp:
1618         (WebCore::EventDispatcher::determineDispatchBehavior): Mark
1619         shadowRoot as an unused parameter with !ENABLE(FULLSCREEN_API).
1620
1621 2011-05-30  No'am Rosenthal  <noam.rosenthal@nokia.com>
1622
1623         Reviewed by Andreas Kling.
1624
1625         [Texmap][Qt] Enable TextureMapper by default
1626         https://bugs.webkit.org/show_bug.cgi?id=61740
1627
1628         Make CONFIG+=texmap an opt-out instead of an opt-in.
1629
1630         No new functionality so no new tests.
1631
1632         * WebCore.pri:
1633
1634 2011-05-30  Martin Robinson  <mrobinson@igalia.com>
1635
1636         Reviewed by Xan Lopez.
1637
1638         [GTK] fast/css/font-face-zero-hash-key.html is crashing on the bots
1639         https://bugs.webkit.org/show_bug.cgi?id=61693
1640
1641         Do not try to read the FT_Face from m_scaledFont if it m_scaledFont is
1642         null. A recent change fixing 0-pixel-size fonts means that m_scaledFont
1643         may now be null.
1644
1645         No new tests. This change should cause fast/css/font-face-zero-hash-key.html
1646         to stop crashing.
1647
1648         * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
1649         (WebCore::FontPlatformData::FontPlatformData): Do a null check before accessing
1650         m_scaledFont.
1651
1652 2011-05-30  Noam Rosenthal  <noam.rosenthal@nokia.com>
1653
1654         Reviewed by Kenneth Rohde Christiansen.
1655
1656         [Texmap][Qt] Disable accelerated plugins/media until they're working.
1657         https://bugs.webkit.org/show_bug.cgi?id=61687
1658
1659         Until this works properly, we should indicate that our media implementation
1660         in texture mapper doesn't support accelerated compositing.
1661
1662         This makes LayoutTests/compositing/video/* work again.
1663
1664         * platform/graphics/qt/MediaPlayerPrivateQt.h:
1665         (WebCore::MediaPlayerPrivateQt::supportsAcceleratedRendering):
1666         (WebCore::MediaPlayerPrivateQt::platformLayer):
1667
1668 2011-05-30  Mikhail Naganov  <mnaganov@chromium.org>
1669
1670         Reviewed by Adam Barth.
1671
1672         [Chromium] Fix regression after r87628.
1673         https://bugs.webkit.org/show_bug.cgi?id=61733
1674
1675         Having r87628 in place, Chrome reliability bot crashes in
1676         WebCore::HTMLLinkElement::onloadTimerFired.
1677
1678         This is because the change makes WebCore::CachedResource::setRequest to
1679         call checkNotify on request reset.  HTMLLinkElement registers itself as
1680         CachedResource client via m_cachedSheet, which can happen even if
1681         m_cachedLinkResource wasn't set.  As a result,
1682         WebCore::HTMLLinkElement::notifyFinished is got called with unset
1683         m_cachedLinkResource, which causes a crash in
1684         HTMLLinkElement::onloadTimerFired
1685
1686         * html/HTMLLinkElement.cpp:
1687         (WebCore::HTMLLinkElement::notifyFinished):
1688
1689 2011-05-30  Jer Noble  <jer.noble@apple.com>
1690
1691         Reviewed by Darin Adler and Simon Fraser.
1692
1693         REGRESSION (r87622): Scrubbing a Vimeo movie when in fullscreen stops playback; no way to make it start again
1694         https://bugs.webkit.org/show_bug.cgi?id=61717
1695         rdar://problem/9522272
1696
1697         May be some good way to test this later. No immediate idea about the best way.
1698
1699         When a media element is taken into full-screen mode, stop events from propagating
1700         outside the media element's shadow DOM, EventDispatcher::determineDispatchBehavior()
1701         has been changed to take a shadow root node. In our full screen media element check,
1702         we check to see if the passed shadow root is the shadow root of the full screen media
1703         element, and if so, specify events should StayInsideShadowDOM. The end result is that
1704         inside EventDispatcher::ensureEventAncestors, an ancestor chain is built up all the
1705         way from the SliderThumb to the video element's shadow root, but no further.
1706
1707         * dom/EventDispatcher.cpp:
1708         (WebCore::EventDispatcher::determineDispatchBehavior): Restrict events to the
1709         shadow DOM when showing a full screen video.
1710
1711         * html/HTMLMediaElement.cpp:
1712         (WebCore::HTMLMediaElement::HTMLMediaElement): Removed code to manage full screen controls.
1713         The events telling us about activity in the shadow DOM no longer bubble out so we need to
1714         handle this inside the shadow DOM on the root element.
1715         (WebCore::HTMLMediaElement::play): Ditto.
1716         (WebCore::HTMLMediaElement::playbackProgressTimerFired): Ditto.
1717         (WebCore::HTMLMediaElement::defaultEventHandler): Ditto.
1718         (WebCore::HTMLMediaElement::enterFullscreen): Ditto.
1719         (WebCore::HTMLMediaElement::exitFullscreen): Ditto.
1720         * html/HTMLMediaElement.h: Added isPlaying function, removed things moved to the root element.
1721
1722         * html/shadow/MediaControlElements.cpp:
1723         (WebCore::MediaControlVolumeSliderContainerElement::defaultEventHandler): Rolled out
1724         changes that tried to make special rules for events using preDispatchEventHandler and such.
1725         This rolls out both r87622 and r87655.
1726         (WebCore::MediaControlMuteButtonElement::defaultEventHandler): Ditto.
1727         (WebCore::MediaControlPanelMuteButtonElement::defaultEventHandler): Ditto.
1728         (WebCore::MediaControlPlayButtonElement::defaultEventHandler): Ditto.
1729         (WebCore::MediaControlSeekButtonElement::defaultEventHandler): Ditto.
1730         (WebCore::MediaControlRewindButtonElement::defaultEventHandler): Ditto.
1731         (WebCore::MediaControlReturnToRealtimeButtonElement::defaultEventHandler): Ditto.
1732         (WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler): Ditto.
1733         (WebCore::MediaControlTimelineElement::defaultEventHandler): Ditto.
1734         (WebCore::MediaControlVolumeSliderElement::defaultEventHandler): Ditto.
1735         (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler): Ditto.
1736         (WebCore::MediaControlFullscreenVolumeMinButtonElement::defaultEventHandler): Ditto.
1737         (WebCore::MediaControlFullscreenVolumeMaxButtonElement::defaultEventHandler): Ditto.
1738         * html/shadow/MediaControlElements.h: Ditto.
1739
1740         * html/shadow/MediaControlRootElement.cpp:
1741         (WebCore::MediaControlRootElement::MediaControlRootElement): Initialize new data members.
1742         (WebCore::MediaControlRootElement::playbackStarted): Start the timer so we will consider
1743         hiding the controls later.
1744         (WebCore::MediaControlRootElement::playbackProgressed): Hide the controls if the mouse
1745         is no longer over the controls.
1746         (WebCore::MediaControlRootElement::playbackStopped): Stop the timer since we only hide
1747         automatically if we're playing.
1748         (WebCore::MediaControlRootElement::enteredFullscreen): Start the timer.
1749         (WebCore::MediaControlRootElement::exitedFullscreen): Stop the timer since we only care
1750         if we are full screen.
1751         (WebCore::MediaControlRootElement::containsRelatedTarget): Added. Helper for next function.
1752         (WebCore::MediaControlRootElement::defaultEventHandler): Do the hide/show and timer functions
1753         as the mouse is moved in and out.
1754         (WebCore::MediaControlRootElement::startHideFullscreenControlsTimer): Start the timer if
1755         needed.
1756         (WebCore::MediaControlRootElement::hideFullscreenControlsTimerFired): Hide if the conditions
1757         are met.
1758         (WebCore::MediaControlRootElement::stopHideFullscreenControlsTimer): Stop the timer.
1759
1760         * html/shadow/MediaControlRootElement.h: Added new functions and data members.
1761
1762
1763 2011-05-30  Gavin Peters  <gavinp@chromium.org>
1764
1765         Reviewed by Adam Barth.
1766
1767         prevent HTMLLinkElement from watching multiple CachedResources
1768         https://bugs.webkit.org/show_bug.cgi?id=61686
1769
1770         If we modify an existing link element, stop listening to the previous
1771         cached resource, to prevent double notifications (which crash).
1772
1773         Test: fast/dom/HTMLLinkElement/prefetch-too-many-clients.html
1774
1775         * html/HTMLLinkElement.cpp:
1776         (WebCore::HTMLLinkElement::process):
1777
1778 2011-05-30  Peter Varga  <pvarga@webkit.org>
1779
1780         Unreviewed build fix.
1781
1782         [Qt][V8] Fix debug build.
1783
1784         No new tests needed.
1785
1786         * css/CSSStyleDeclaration.cpp: Add missing header.
1787         * dom/Text.cpp: Ditto.
1788         * rendering/InlineTextBox.cpp: Ditto.
1789
1790 2011-05-30  Sheriff Bot  <webkit.review.bot@gmail.com>
1791
1792         Unreviewed, rolling out r87683.
1793         http://trac.webkit.org/changeset/87683
1794         https://bugs.webkit.org/show_bug.cgi?id=61729
1795
1796         Breaks inspector tests on Chromium (Requested by apavlov on
1797         #webkit).
1798
1799         * inspector/front-end/StylesSidebarPane.js:
1800         (WebInspector.StylesSidebarPane.prototype.update):
1801
1802 2011-05-25  Alexander Pavlov  <apavlov@chromium.org>
1803
1804         Reviewed by Yury Semikhatsky.
1805
1806         Web Inspector: node selection is slow in the Elements panel.
1807         https://bugs.webkit.org/show_bug.cgi?id=60813
1808
1809         Schedule full style updates rather than request all node styles from the backend up front.
1810
1811         * inspector/front-end/StylesSidebarPane.js:
1812         (WebInspector.StylesSidebarPane.prototype.update.reloadAllStyles):
1813         (WebInspector.StylesSidebarPane.prototype.update):
1814
1815 2011-05-30  Andrey Kosyakov  <caseq@chromium.org>
1816
1817         Reviewed by Pavel Feldman.
1818
1819         Web Inspector: do not issue frontendReused for reload or navigation.
1820         https://bugs.webkit.org/show_bug.cgi?id=61192
1821
1822        - only issue frontendReused when inspector is attached after main resource committed load
1823        - upon committing loading main resource, reset agents before sending FrameNavigated to page agent
1824        - Ensure main resource is set early so that abbreviations of URLs in resource tree are consistent after reload
1825        - do not enable agents explicitly in frontendReused (this is done by backend when resotring state from cookie)
1826
1827         * inspector/InspectorAgent.cpp:
1828         (WebCore::InspectorAgent::InspectorAgent):
1829         (WebCore::InspectorAgent::restore):
1830         (WebCore::InspectorAgent::clearFrontend):
1831         (WebCore::InspectorAgent::didCommitLoad):
1832         * inspector/InspectorAgent.h:
1833         * inspector/InspectorInstrumentation.cpp:
1834         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
1835         * inspector/front-end/NetworkManager.js:
1836         * inspector/front-end/ResourceTreeModel.js:
1837         (WebInspector.ResourceTreeModel.prototype._processCachedResources):
1838         (WebInspector.ResourceTreeModel.prototype._frameNavigated):
1839         (WebInspector.ResourceTreeModel.prototype._cleanupFramesAfterNavigation):
1840         (WebInspector.ResourceTreeModel.prototype._addFramesRecursively):
1841         * inspector/front-end/ResourcesPanel.js:
1842         (WebInspector.ResourcesPanel.prototype.reset):
1843         (WebInspector.ResourcesPanel.prototype._resetResourcesTree):
1844         (WebInspector.DatabaseTreeElement.prototype.onpopulate):
1845         (WebInspector.SearchResultsTreeElementsTraverser.prototype._lastTreeElement):
1846         * inspector/front-end/inspector.js:
1847         (WebInspector.reset):
1848         (WebInspector.frontendReused):
1849
1850 2011-05-30  Ryan Sleevi  <rsleevi@chromium.org>
1851
1852         Reviewed by Darin Adler.
1853
1854         FEConvolveMatrix::getPixelValue() fails to properly check if y is within bounds, causing it to fail to correctly apply the kernel and edge mode to the first targetY pixels
1855         https://bugs.webkit.org/show_bug.cgi?id=61603
1856
1857         Test: svg/filters/feConvolveFilter-y-bounds.svg
1858
1859         * platform/graphics/filters/FEConvolveMatrix.cpp:
1860         (WebCore::FEConvolveMatrix::getPixelValue):
1861
1862 2011-05-30  Nate Chapin  <japhet@chromium.org>
1863
1864         Reviewed by Antti Koivisto.
1865
1866         Refactor the CachedResourceLoader -> CachedResource -> CachedResourceRequest
1867         flow so it's a little less circular.
1868         https://bugs.webkit.org/show_bug.cgi?id=61666
1869
1870         * loader/cache/CachedFont.cpp:
1871         (WebCore::CachedFont::beginLoadIfNeeded):
1872         * loader/cache/CachedResource.cpp:
1873         (WebCore::CachedResource::load):
1874         * loader/cache/CachedResourceLoader.cpp:
1875         (WebCore::CachedResourceLoader::requestImage):
1876         (WebCore::CachedResourceLoader::setAutoLoadImages):
1877         (WebCore::CachedResourceLoader::loadStarted):
1878         * loader/cache/CachedResourceLoader.h:
1879         * loader/cache/CachedResourceRequest.cpp:
1880         (WebCore::CachedResourceRequest::load):
1881
1882 2011-05-30  Sheriff Bot  <webkit.review.bot@gmail.com>
1883
1884         Unreviewed, rolling out r87618.
1885         http://trac.webkit.org/changeset/87618
1886         https://bugs.webkit.org/show_bug.cgi?id=61720
1887
1888         Causes BrowserFocusTest.FocusOnReload to fail (Requested by
1889         abarth|gardener on #webkit).
1890
1891         * html/HTMLLinkElement.cpp:
1892         (WebCore::HTMLLinkElement::process):
1893
1894 2011-05-29  Yuta Kitamura  <yutak@chromium.org>
1895
1896         Reviewed by Kent Tamura.
1897
1898         WebSocket closing handshake
1899         https://bugs.webkit.org/show_bug.cgi?id=35721
1900
1901         Implement WebSocket closing handshake based on Ian Hickson's
1902         WebSocket protocol draft 76.
1903
1904         Tests: http/tests/websocket/tests/client-close.html
1905                http/tests/websocket/tests/server-close.html
1906
1907         * platform/network/SocketStreamHandleBase.cpp:
1908         (WebCore::SocketStreamHandleBase::send):
1909         Do not send a message if we are in Closing state.
1910         (WebCore::SocketStreamHandleBase::close):
1911         Do not disconnect if we have pending data which have not been sent yet.
1912         In this case, the actual disconnection will happen in sendPendingData().
1913         (WebCore::SocketStreamHandleBase::disconnect):
1914         Renamed from close(). Disconnect the connection immediately.
1915         (WebCore::SocketStreamHandleBase::sendPendingData):
1916         * platform/network/SocketStreamHandleBase.h:
1917         * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
1918         Add didStartClosingHandshake(). Add a function argument (ClosingHandshakeCompletionStatus)
1919         to didClose().
1920         (WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshake):
1921         (WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
1922         (WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshakeCallback):
1923         (WebCore::ThreadableWebSocketChannelClientWrapper::didCloseCallback):
1924         * websockets/ThreadableWebSocketChannelClientWrapper.h:
1925         * websockets/WebSocket.cpp:
1926         (WebCore::WebSocket::send):
1927         (WebCore::WebSocket::close):
1928         Fail if close() is attempted before the connection is established.
1929         Otherwise, set the state to CLOSING and start the closing handshake.
1930         (WebCore::WebSocket::bufferedAmount):
1931         If the state is CLOSING, we need to consider buffered data in m_channel and sent after close().
1932         (WebCore::WebSocket::didConnect):
1933         (WebCore::WebSocket::didReceiveMessage):
1934         We need to invoke message event in CLOSING state as well as OPEN state.
1935         (WebCore::WebSocket::didReceiveMessageError):
1936         (WebCore::WebSocket::didStartClosingHandshake):
1937         (WebCore::WebSocket::didClose):
1938         * websockets/WebSocket.h:
1939         * websockets/WebSocketChannel.cpp:
1940         (WebCore::WebSocketChannel::WebSocketChannel):
1941         (WebCore::WebSocketChannel::close):
1942         Start the closing handshake.
1943         (WebCore::WebSocketChannel::disconnect):
1944         Disconnect the socket stream, instead of close.
1945         (WebCore::WebSocketChannel::didClose):
1946         (WebCore::WebSocketChannel::didReceiveData): Ditto.
1947         (WebCore::WebSocketChannel::didFail): Ditto.
1948         (WebCore::WebSocketChannel::processBuffer):
1949         Ditto.
1950         Handle 0xFF 0x00 byte sequence, and discard received data once the closing handshake has started.
1951         (WebCore::WebSocketChannel::startClosingHandshake):
1952         Send 0xFF 0x00 byte sequence.
1953         (WebCore::WebSocketChannel::closingTimerFired):
1954         Disconnect the socket stream if the closing handshake has timed out.
1955         * websockets/WebSocketChannel.h:
1956         m_closing is true if "the WebSocket closing handshake has started" (as stated in the protocol
1957         specification).
1958         * websockets/WebSocketChannelClient.h:
1959         (WebCore::WebSocketChannelClient::didStartClosingHandshake): Added.
1960         (WebCore::WebSocketChannelClient::didClose): Add closingHandshakeCompletion parameter.
1961         * websockets/WorkerThreadableWebSocketChannel.cpp:
1962         Add closingHandshakeCompletion parameter to didClose(), and add didStartClosingHandshake().
1963         (WebCore::WorkerThreadableWebSocketChannel::Peer::close):
1964         (WebCore::workerContextDidStartClosingHandshake):
1965         (WebCore::WorkerThreadableWebSocketChannel::Peer::didStartClosingHandshake):
1966         (WebCore::workerContextDidClose):
1967         (WebCore::WorkerThreadableWebSocketChannel::Peer::didClose):
1968         * websockets/WorkerThreadableWebSocketChannel.h:
1969
1970 2011-05-29  Adam Barth  <abarth@webkit.org>
1971
1972         Attempt to fix build by implementing pure virtual function.
1973
1974         * html/shadow/MediaControlRootElementChromium.cpp:
1975         (WebCore::MediaControlRootElementChromium::shouldHideControls):
1976         * html/shadow/MediaControlRootElementChromium.h:
1977
1978 2011-05-29  Brian Weinstein  <bweinstein@apple.com>
1979
1980         Reviewed by Darin Adler.
1981
1982         Controls never hide in full screen after user stops moving mouse
1983         https://bugs.webkit.org/show_bug.cgi?id=61715
1984         <rdar://problem/9522182>
1985         
1986         When we get a mouse move event in HTMLMediaElement::defaultEventHandler, and we are in full screen,
1987         show the media controls, and then start a timer.
1988         
1989         The timer fires 3 seconds after the user's last mouse movement (timer is restarted on every mouse
1990         move), and hides the controls.
1991
1992         * html/HTMLMediaElement.cpp:
1993         (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize our new timer.
1994         (WebCore::HTMLMediaElement::play): If we are in full screen mode, start our timer to hide the full screen
1995             controls. We don't want the user to have to move the mouse to hide them when they use the spacebar
1996             to play.
1997         (WebCore::HTMLMediaElement::startHideFullscreenControlsTimer): Starts a oneshot timer 3 seconds in the future
1998             if we are in full screen.
1999         (WebCore::HTMLMediaElement::hideFullscreenControlsTimerFired): Make sure that we are currently playing, and
2000             we are in full screen, and hide the controls. We don't want to hide the controls if we are paused.
2001         (WebCore::HTMLMediaElement::stopHideFullscreenControlsTimer): Stops the timer.
2002         (WebCore::HTMLMediaElement::defaultEventHandler): If we get a mouse move event and are in full screen, show the
2003             controls and start a timer to hide them.
2004         (WebCore::HTMLMediaElement::enterFullscreen): Start a timer to hide the full screen controls. The user shouldn't
2005             have the move the mouse once they enter full screen to hide the controls.
2006         (WebCore::HTMLMediaElement::exitFullscreen): Stop the timer to hide the full screen controls.
2007         * html/HTMLMediaElement.h:
2008         * html/shadow/MediaControls.h: Added pure virtual shouldHideControls() method.
2009         * html/shadow/MediaControlRootElement.cpp:
2010         (WebCore::MediaControlRootElement::playbackStopped): Stop the timer to hide the full screen controls.
2011         (WebCore::MediaControlRootElement::shouldHideControls): Added, only report that
2012             the caller should hide the controls if the panel is not hovered.
2013         * html/shadow/MediaControlRootElement.h:
2014
2015 2011-05-29  Jer Noble  <jer.noble@apple.com>
2016
2017         Reviewed by Simon Fraser.
2018
2019         Embedded Vimeo video, when taken fullscreen, is overlapped by content from the enclosing page
2020         https://bugs.webkit.org/show_bug.cgi?id=61712
2021
2022         Tests: fullscreen/full-screen-iframe-zIndex.html
2023
2024         Walk up the ancestor chain for the full-screen element, marking them as full-screen
2025         ancestors. Then, we apply a pseudo-class to those elements, which disable all their
2026         stacking-context-creating styles.  Set the z-index of all full-screen elements (and
2027         the iframes which contain them) to a large value, ensuring they appear above other
2028         sibling elements.
2029
2030         This new behavior replaces the previous "-webkit-full-screen-media-document" behavior
2031         and pesudo-class, so remove it and replace it with the new pseudo-class.
2032
2033         * css/CSSSelector.cpp:
2034         (WebCore::nameToPseudoTypeMap): Add -webkit-full-screen-ancestor and remove
2035             -webkit-full-screen-media-document.
2036         (WebCore::CSSSelector::pseudoId): Add PseudoFullScreenAncestor and remove
2037             PseudoFullScreenMediaDocument
2038         (WebCore::CSSSelector::extractPseudoType): Ditto.
2039         * css/CSSSelector.h: Ditto.
2040         * css/CSSStyleSelector.cpp:
2041         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Remove the
2042             PseudoFullScreenMediaDocument implementation and replace it with
2043             PseudoFullScreenAncestor.
2044         * css/fullscreen.css:
2045         (:-webkit-full-screen): Add a z-index property.
2046         (:-webkit-full-screen-ancestor:not(iframe)): Added.  Reset the z-index to
2047             auto, and reset other stacking-context creating properties.
2048         * dom/Document.cpp:
2049         (WebCore::Document::setContainsFullScreenElementRecursively): Recurse up every element
2050             instead of just the iframe elements.
2051         (WebCore::Document::webkitWillEnterFullScreenForElement): Ditto.
2052         * dom/Element.cpp:
2053         (WebCore::Element::willRemove): Reset our parent's containsFullScreenElement property.
2054         (WebCore::Element::insertedIntoTree): Ditto.
2055         (WebCore::Element::containsFullScreenElement): Moved here from HTMLElementBase.
2056         (WebCore::Element::setContainsFullScreenElement): Ditto.
2057         * dom/Element.h:
2058         * dom/ElementRareData.h:
2059         (WebCore::ElementRareData::ElementRareData): Added ivar and initializer for 
2060             m_containsFullScreenElement.
2061         * html/HTMLFrameElementBase.cpp:
2062         (WebCore::HTMLFrameElementBase::HTMLFrameElementBase): Removed ivar and initializer.
2063         (WebCore::HTMLFrameElementBase::setContainsFullScreenElement): Moved into Element.
2064         * html/HTMLFrameElementBase.h:
2065         * rendering/style/RenderStyleConstants.h:
2066
2067 2011-05-29  Dan Bernstein  <mitz@apple.com>
2068
2069         Reviewed by Darin Adler.
2070
2071         <rdar://problem/9515650> 30 second rewind button obscured in fullscreen controller when video uses custom inline controls
2072         https://bugs.webkit.org/show_bug.cgi?id=61714
2073
2074         * dom/Document.cpp:
2075         (WebCore::Document::webkitDidEnterFullScreenForElement): Call didBecomeFullscreenElement() on the
2076         new full screen element.
2077         (WebCore::Document::webkitWillExitFullScreenForElement): Call willStopBeingFullscreenElement() on
2078         the full screen element.
2079         * dom/Element.h:
2080         (WebCore::Element::didBecomeFullscreenElement): Added with a default implementation that does nothing.
2081         (WebCore::Element::willStopBeingFullscreenElement): Ditto.
2082         * html/HTMLMediaElement.cpp:
2083         (WebCore::HTMLMediaElement::didBecomeFullscreenElement): Added this override, which calls
2084         MediaControls::enteredFullscreen().
2085         (WebCore::HTMLMediaElement::willStopBeingFullscreenElement): Added this override, which calls
2086         MediaControls::exitedFullscreen().
2087         * html/HTMLMediaElement.h:
2088         * html/shadow/MediaControlElements.cpp:
2089         (WebCore::MediaControlFullscreenButtonElement::preDispatchEventHandler): Removed calls to
2090         enteredFullscreen() and exitedFullscreen() from here, since they are now called in response to
2091         changes to the fullscreen-ness of the element.
2092
2093 2011-05-29  Darin Adler  <darin@apple.com>
2094
2095         Reviewed by Kevin Decker.
2096
2097         REGRESSION (r87622): In media documents, clicking the full screen button and the play button pauses the video
2098         https://bugs.webkit.org/show_bug.cgi?id=61713
2099
2100         We need to come up with a way to regression-test these changes. Nothing at the moment.
2101
2102         The bug is that we removed calls to preventDefault, but we still do need to prevent
2103         default handling of this event.
2104
2105         * html/shadow/MediaControlElements.cpp:
2106         (WebCore::MediaControlElement::preDispatchEventHandler): Add back the preventDefault
2107         that was in here before r87622 as well as the stopPropagation that was added in r87622.
2108         (WebCore::MediaControlMuteButtonElement::preDispatchEventHandler): Ditto.
2109         (WebCore::MediaControlPlayButtonElement::preDispatchEventHandler): Ditto.
2110         (WebCore::MediaControlSeekButtonElement::preDispatchEventHandler): Ditto.
2111         (WebCore::MediaControlRewindButtonElement::preDispatchEventHandler): Ditto.
2112         (WebCore::MediaControlReturnToRealtimeButtonElement::preDispatchEventHandler): Ditto.
2113         (WebCore::MediaControlToggleClosedCaptionsButtonElement::preDispatchEventHandler): Ditto.
2114         (WebCore::MediaControlFullscreenButtonElement::preDispatchEventHandler): Ditto.
2115         (WebCore::MediaControlFullscreenVolumeMinButtonElement::preDispatchEventHandler): Ditto.
2116         (WebCore::MediaControlFullscreenVolumeMaxButtonElement::preDispatchEventHandler): Ditto.
2117
2118 2011-05-29  Andreas Kling  <kling@webkit.org>
2119
2120         Reviewed by Kenneth Rohde Christiansen.
2121
2122         Element: Micro-cleanup of scroll methods.
2123         https://bugs.webkit.org/show_bug.cgi?id=61705
2124
2125         Do an early return without calculating element boundaries when asked
2126         to scroll an element without a renderer().
2127
2128         * dom/Element.cpp:
2129         (WebCore::Element::scrollIntoView):
2130         (WebCore::Element::scrollIntoViewIfNeeded):
2131         (WebCore::Element::scrollByUnits):
2132
2133 2011-05-29  Darin Adler  <darin@apple.com>
2134
2135         Reviewed by Dan Bernstein.
2136
2137         Fix assertion seen when entering full screen mode for standalone video
2138         https://bugs.webkit.org/show_bug.cgi?id=61708
2139
2140         We don't currently have a way to make a regression test for this.
2141
2142         * dom/Document.cpp:
2143         (WebCore::Document::setAnimatingFullScreen): Call scheduleForcedStyleRecalc,
2144         because scheduleStyleRecalc is intended to only be called when the style
2145         system itself detects recalc is needed.
2146
2147 2011-05-27  Andreas Kling  <kling@webkit.org>
2148
2149         Reviewed by James Robinson.
2150
2151         [Qt] Add area check to ImageBufferData::getImageData()
2152         https://bugs.webkit.org/show_bug.cgi?id=61375
2153
2154         No change in behavior, just a sanity check.
2155
2156         * platform/graphics/qt/ImageBufferQt.cpp:
2157         (WebCore::getImageData):
2158
2159 2011-05-29  Beth Dakin  <bdakin@apple.com>
2160
2161         Reviewed by Darin Adler.
2162
2163         https://bugs.webkit.org/show_bug.cgi?id=61700
2164         Need WebKit2 API to get the size of the render tree
2165         -and corresponding-
2166         <rdar://problem/9512733>
2167
2168         New member variable on RenderArena keeps track of the current amount of memory 
2169         allocated in the arena. The new client function sends this piece of data to 
2170         WebKit.
2171         * page/ChromeClient.h:
2172         (WebCore::ChromeClient::setRenderTreeSize):
2173         * page/FrameView.cpp:
2174         (WebCore::FrameView::performPostLayoutTasks):
2175         * rendering/RenderArena.cpp:
2176         (WebCore::RenderArena::RenderArena):
2177         (WebCore::RenderArena::allocate):
2178         (WebCore::RenderArena::free):
2179         * rendering/RenderArena.h:
2180         (WebCore::RenderArena::totalRenderArenaSize):
2181
2182 2011-05-29  Sheriff Bot  <webkit.review.bot@gmail.com>
2183
2184         Unreviewed, rolling out r87566.
2185         http://trac.webkit.org/changeset/87566
2186         https://bugs.webkit.org/show_bug.cgi?id=61702
2187
2188         It made all tests assert on Qt in debug mode (Requested by
2189         Ossy_weekend on #webkit).
2190
2191         * WebCore.exp.in:
2192         * bindings/ScriptControllerBase.cpp:
2193         (WebCore::ScriptController::executeIfJavaScriptURL):
2194         * dom/Document.cpp:
2195         (WebCore::Document::Document):
2196         (WebCore::Document::suggestedMIMEType):
2197         (WebCore::Document::lastModified):
2198         (WebCore::Document::initSecurityContext):
2199         (WebCore::Document::updateURLForPushOrReplaceState):
2200         * dom/Document.h:
2201         (WebCore::Document::setDocumentLoader):
2202         (WebCore::Document::loader):
2203         * html/MediaDocument.cpp:
2204         (WebCore::MediaDocument::replaceMediaElementTimerFired):
2205         * html/PluginDocument.cpp:
2206         (WebCore::PluginDocumentParser::createDocumentStructure):
2207         * platform/mac/HTMLConverter.mm:
2208         (fileWrapperForElement):
2209
2210 2011-05-28  Steve Falkenburg  <sfalken@apple.com>
2211
2212         Reviewed by Dan Bernstein.
2213
2214         Don't add sub-frames to global history when navigating via back/forward
2215         https://bugs.webkit.org/show_bug.cgi?id=61701
2216         <rdar://problem/9521222>
2217
2218         Instead of just checking whether the load is the first in the frame, we also need to
2219         check to make sure we're loading in the main frame.
2220
2221         Not testable due to lack of global history infrastructure in DRT.
2222
2223         * loader/FrameLoader.cpp:
2224         (WebCore::FrameLoader::transitionToCommitted):
2225
2226 2011-05-28  Alexey Proskuryakov  <ap@apple.com>
2227
2228         Suggested by Simon Fraser.
2229
2230         REGRESSION (r85375): Load event is sometimes lost when multiple image elements use the same URL
2231         https://bugs.webkit.org/show_bug.cgi?id=61692
2232         <rdar://problem/9488628>
2233
2234         * loader/ImageLoader.cpp: (WebCore::ImageLoader::notifyFinished): There was no need to use
2235         ASSERT_UNUSED here.
2236
2237 2011-05-28  Alexey Proskuryakov  <ap@apple.com>
2238
2239         Reviewed by Geoff Garen.
2240
2241         REGRESSION (r85375): Load event is sometimes lost when multiple image elements use the same URL
2242         https://bugs.webkit.org/show_bug.cgi?id=61692
2243         <rdar://problem/9488628>
2244
2245         Test: fast/dom/gc-image-element-2.html
2246
2247         Manually verified that tests from bug 59604 and from bug 40926 still pass.
2248
2249         The problem here was that HTMLImageElement::hasPendingActivity() could return false when
2250         a load (or error) event was still expected to fire.
2251
2252         * loader/cache/CachedResource.cpp:
2253         (WebCore::CachedResource::setRequest):
2254         * loader/cache/CachedResource.h:
2255         (WebCore::CachedResource::wasCanceled):
2256         (WebCore::CachedResource::errorOccurred):
2257         Track whether the load was canceled. We want to always notify clients of load outcome,
2258         as that's the only way they could make intelligent decisions.
2259
2260         * dom/ScriptElement.cpp: (WebCore::ScriptElement::execute): Cached resource clients now
2261         get a notifyFinished call on cancellation. Handle this case, where we don't need the
2262         execute the script, but also don't need to fire an error event.
2263
2264         * html/HTMLImageElement.cpp: Moved hasPendingActivity() to header, since it's just a single
2265         function call now.
2266
2267         * html/HTMLImageElement.h: (WebCore::HTMLImageElement::hasPendingActivity): There is a large
2268         window between when CachedResource::isLoading() becomes false and events are queued.
2269         ImageLoader::haveFiredLoadEvent() is a much better indication of whether we are expecting
2270         an event to fire.
2271
2272         * html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::onloadTimerFired): Again, don't do
2273         anything on cancellation.
2274
2275         * loader/ImageLoader.cpp:
2276         (WebCore::ImageEventSender::hasPendingEvents): Made it debug-only again, and fixed to
2277         give an accurate result while looping over the list of events to dispatch.
2278         (WebCore::ImageLoader::notifyFinished): Don't do anything when cancelled. We don't want to
2279         switch to a broken image icon, or to dispatch events.
2280         (WebCore::ImageEventSender::dispatchPendingEvents): Clear the current loader from dispatching
2281         list, as the event is no longer pending when it's being dispatched.
2282
2283         * loader/ImageLoader.h: Removed unnecessary hasPendingLoadEvent(). We don't care whether one
2284         is already pending, we only care if one is expected at some time in the future, and
2285         !haveFiredLoadEvent() is our best idea of that.
2286
2287         * dom/XMLDocumentParser.cpp: (WebCore::XMLDocumentParser::notifyFinished): Another place to
2288         handle cancellation.
2289
2290 2011-05-28  Adam Barth  <abarth@webkit.org>
2291
2292         Reviewed by Alexey Proskuryakov.
2293
2294         Audit all uses of KURL::prettyURL
2295         https://bugs.webkit.org/show_bug.cgi?id=61201
2296
2297         As far as I can tell, all the callers of this API are confused.  There
2298         seems to be a cargo cult of using the "pretty" version of a URL, but in
2299         reality folks just want the URL itself.  The only case I'm unsure about
2300         is location.href, which could have some compatibility constraints.
2301         I've renamed prettyURL to deprecatedString to discourage folks from
2302         further cargo-culting.
2303
2304         * WebCore.exp.in:
2305         * page/Location.cpp:
2306         (WebCore::Location::href):
2307         (WebCore::Location::toString):
2308         * platform/KURL.cpp:
2309         (WebCore::KURL::deprecatedString):
2310         * platform/KURL.h:
2311         * platform/KURLGoogle.cpp:
2312         (WebCore::KURL::deprecatedString):
2313         * platform/network/soup/ResourceHandleSoup.cpp:
2314         (WebCore::ResourceHandle::prepareForURL):
2315         * workers/WorkerLocation.cpp:
2316         (WebCore::WorkerLocation::href):
2317         (WebCore::WorkerLocation::toString):
2318
2319 2011-05-28  Jer Noble  <jer.noble@apple.com>
2320
2321         Reviewed by Maciej Stachowiak.
2322
2323         Mouse clicks propagate outside full-screen media controls.
2324         https://bugs.webkit.org/show_bug.cgi?id=61689
2325
2326         Mouse click events are propagating out of the media controls, so mouse click
2327         listeners registered on the video element are getting fired when the user
2328         clicks on media controller buttons.  By default, block propagation of click 
2329         events from MediaControlElements by overriding preDispatchEventHandler, and
2330         convert all instances of defaultEventHandler -> preDispatchEventHandler.  Change
2331         all calls of event->setDefaultHandled() to event->stopPropagation().
2332
2333         * html/shadow/MediaControlElements.cpp:
2334         (WebCore::MediaControlElement::preDispatchEventHandler): Added.  Block 
2335             propagation of all mouse click events.
2336         (WebCore::MediaControlVolumeSliderContainerElement::preDispatchEventHandler):
2337             Renamed from setDefaultHandled.
2338         (WebCore::MediaControlMuteButtonElement::preDispatchEventHandler): Ditto.
2339         (WebCore::MediaControlPanelMuteButtonElement::preDispatchEventHandler): Ditto.
2340         (WebCore::MediaControlPlayButtonElement::preDispatchEventHandler): Ditto.
2341         (WebCore::MediaControlSeekButtonElement::preDispatchEventHandler): Ditto.
2342         (WebCore::MediaControlRewindButtonElement::preDispatchEventHandler): Ditto.
2343         (WebCore::MediaControlReturnToRealtimeButtonElement::preDispatchEventHandler): Ditto.
2344         (WebCore::MediaControlToggleClosedCaptionsButtonElement::preDispatchEventHandler): Ditto.
2345         (WebCore::MediaControlTimelineElement::preDispatchEventHandler): Ditto.
2346         (WebCore::MediaControlVolumeSliderElement::preDispatchEventHandler): Ditto.
2347         (WebCore::MediaControlFullscreenButtonElement::preDispatchEventHandler): Ditto.
2348         (WebCore::MediaControlFullscreenVolumeMinButtonElement::preDispatchEventHandler): Ditto.
2349         (WebCore::MediaControlFullscreenVolumeMaxButtonElement::preDispatchEventHandler): Ditto.
2350         * html/shadow/MediaControlElements.h:
2351
2352 2011-05-28  Gavin Peters  <gavinp@chromium.org>
2353
2354         Reviewed by Adam Barth.
2355
2356         prevent HTMLLinkElement from watching multiple CachedResources
2357         https://bugs.webkit.org/show_bug.cgi?id=61686
2358
2359         If we modify an existing link element, stop listening to the previous
2360         cached resource, to prevent double notifications (which crash).
2361
2362         Test: fast/dom/HTMLLinkElement/prefetch-too-many-clients.html
2363
2364         * html/HTMLLinkElement.cpp:
2365         (WebCore::HTMLLinkElement::process):
2366
2367 2011-05-28  Tonis Tiigi  <tonistiigi@gmail.com>
2368
2369         Reviewed by Pavel Feldman.
2370
2371         Web Inspector: there is a problem with computed style properties with wrong values
2372         https://bugs.webkit.org/show_bug.cgi?id=60535
2373
2374         * inspector/front-end/StylesSidebarPane.js:
2375         (WebInspector.StylesSidebarPane.prototype._markUsedProperties):
2376         (WebInspector.ComputedStylePropertiesSection.prototype.rebuildComputedTrace):
2377
2378 2011-05-26  Antonio Gomes  <agomes@rim.com>
2379
2380         Reviewed by Andreas Kling.
2381
2382         Logic error in WebCore/Page/SpatialNavigation.cpp::areRectsPartiallyAligned
2383         https://bugs.webkit.org/show_bug.cgi?id=61606
2384
2385         Removed duplicated statement within if condition.
2386
2387         No new tests. Obvious clean up patch.
2388
2389         * page/SpatialNavigation.cpp:
2390         (WebCore::areRectsPartiallyAligned):
2391
2392 2011-05-27  Simon Fraser  <simon.fraser@apple.com>
2393
2394         Reviewed by Dan Bernstein.
2395
2396         CG BitmapImage needs to check for valid CGImage in a couple of places
2397         https://bugs.webkit.org/show_bug.cgi?id=61684
2398         <rdar://problem/9519348>
2399
2400         BitmapImage::getCGImageArray() can throw an exception if frameAtIndex()
2401         returns null, which it may do if the image is corrupted or still
2402         loading. Protect against that here and in getFirstCGImageRefOfSize().
2403
2404         * platform/graphics/cg/ImageCG.cpp:
2405         (WebCore::BitmapImage::getFirstCGImageRefOfSize):
2406         (WebCore::BitmapImage::getCGImageArray):
2407
2408 2011-05-27  Jochen Eisinger  <jochen@chromium.org>
2409
2410         Reviewed by Adam Barth.
2411
2412         Add Frame parameter to all StorageArea methods. The chromium
2413         embedder uses the Frame as context to decide whether or not
2414         to allow usage of the storage API.
2415         https://bugs.webkit.org/show_bug.cgi?id=61581
2416
2417         Test: platform/chromium/permissionclient/storage-permission.html
2418
2419         * storage/Storage.cpp:
2420         (WebCore::Storage::length):
2421         (WebCore::Storage::key):
2422         (WebCore::Storage::getItem):
2423         (WebCore::Storage::contains):
2424         * storage/StorageArea.h:
2425         * storage/StorageAreaImpl.cpp:
2426         (WebCore::StorageAreaImpl::length):
2427         (WebCore::StorageAreaImpl::key):
2428         (WebCore::StorageAreaImpl::getItem):
2429         (WebCore::StorageAreaImpl::contains):
2430         * storage/StorageAreaImpl.h:
2431
2432 2011-05-27  Nate Chapin  <japhet@chromium.org>
2433
2434         Reviewed by Jian Li.
2435
2436         Keep a reference to BlobResourceHandle before calling doNotifyFinish()
2437         asynchronously to ensure it's still safe in the main thread.
2438
2439         https://bugs.webkit.org/show_bug.cgi?id=61669
2440
2441         I triggered this crash in fast/files/file-reader-abort.html during a
2442         refactor that changed timings slightly.
2443
2444         * platform/network/BlobResourceHandle.cpp:
2445         (WebCore::doNotifyFinish):
2446         (WebCore::BlobResourceHandle::notifyFinish):
2447         * platform/network/BlobResourceHandle.h:
2448         (WebCore::BlobResourceHandle::aborted):
2449
2450 2011-05-27  Stephanie Lewis  <slewis@apple.com>
2451
2452         Unreviewed.
2453
2454         Fix a typo in the order_file flag.
2455
2456         * Configurations/Base.xcconfig:
2457
2458 2011-05-27  Anders Carlsson  <andersca@apple.com>
2459
2460         Reviewed by Sam Weinig.
2461
2462         Always use the default localization strategy
2463         https://bugs.webkit.org/show_bug.cgi?id=61670
2464         <rdar://problem/9516130>
2465
2466         Always use the default localization strategy when there's no platform strategy.
2467
2468         * platform/DefaultLocalizationStrategy.cpp:
2469         (WebCore::DefaultLocalizationStrategy::shared):
2470         * platform/DefaultLocalizationStrategy.h:
2471         * platform/LocalizedStrings.cpp:
2472         (WebCore::inputElementAltText):
2473         (WebCore::resetButtonDefaultLabel):
2474         (WebCore::searchableIndexIntroduction):
2475         (WebCore::submitButtonDefaultLabel):
2476         (WebCore::fileButtonChooseFileLabel):
2477         (WebCore::fileButtonNoFileSelectedLabel):
2478         (WebCore::defaultDetailsSummaryText):
2479         (WebCore::copyImageUnknownFileLabel):
2480         (WebCore::contextMenuItemTagOpenLinkInNewWindow):
2481         (WebCore::contextMenuItemTagDownloadLinkToDisk):
2482         (WebCore::contextMenuItemTagCopyLinkToClipboard):
2483         (WebCore::contextMenuItemTagOpenImageInNewWindow):
2484         (WebCore::contextMenuItemTagDownloadImageToDisk):
2485         (WebCore::contextMenuItemTagCopyImageToClipboard):
2486         (WebCore::contextMenuItemTagCopyImageUrlToClipboard):
2487         (WebCore::contextMenuItemTagOpenFrameInNewWindow):
2488         (WebCore::contextMenuItemTagCopy):
2489         (WebCore::contextMenuItemTagGoBack):
2490         (WebCore::contextMenuItemTagGoForward):
2491         (WebCore::contextMenuItemTagStop):
2492         (WebCore::contextMenuItemTagReload):
2493         (WebCore::contextMenuItemTagCut):
2494         (WebCore::contextMenuItemTagPaste):
2495         (WebCore::contextMenuItemTagSelectAll):
2496         (WebCore::contextMenuItemTagNoGuessesFound):
2497         (WebCore::contextMenuItemTagIgnoreSpelling):
2498         (WebCore::contextMenuItemTagLearnSpelling):
2499         (WebCore::contextMenuItemTagSearchInSpotlight):
2500         (WebCore::contextMenuItemTagSearchWeb):
2501         (WebCore::contextMenuItemTagLookUpInDictionary):
2502         (WebCore::contextMenuItemTagOpenLink):
2503         (WebCore::contextMenuItemTagIgnoreGrammar):
2504         (WebCore::contextMenuItemTagSpellingMenu):
2505         (WebCore::contextMenuItemTagShowSpellingPanel):
2506         (WebCore::contextMenuItemTagCheckSpelling):
2507         (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
2508         (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
2509         (WebCore::contextMenuItemTagFontMenu):
2510         (WebCore::contextMenuItemTagShowFonts):
2511         (WebCore::contextMenuItemTagBold):
2512         (WebCore::contextMenuItemTagItalic):
2513         (WebCore::contextMenuItemTagUnderline):
2514         (WebCore::contextMenuItemTagOutline):
2515         (WebCore::contextMenuItemTagStyles):
2516         (WebCore::contextMenuItemTagShowColors):
2517         (WebCore::contextMenuItemTagSpeechMenu):
2518         (WebCore::contextMenuItemTagStartSpeaking):
2519         (WebCore::contextMenuItemTagStopSpeaking):
2520         (WebCore::contextMenuItemTagWritingDirectionMenu):
2521         (WebCore::contextMenuItemTagTextDirectionMenu):
2522         (WebCore::contextMenuItemTagDefaultDirection):
2523         (WebCore::contextMenuItemTagLeftToRight):
2524         (WebCore::contextMenuItemTagRightToLeft):
2525         (WebCore::contextMenuItemTagCorrectSpellingAutomatically):
2526         (WebCore::contextMenuItemTagSubstitutionsMenu):
2527         (WebCore::contextMenuItemTagShowSubstitutions):
2528         (WebCore::contextMenuItemTagSmartCopyPaste):
2529         (WebCore::contextMenuItemTagSmartQuotes):
2530         (WebCore::contextMenuItemTagSmartDashes):
2531         (WebCore::contextMenuItemTagSmartLinks):
2532         (WebCore::contextMenuItemTagTextReplacement):
2533         (WebCore::contextMenuItemTagTransformationsMenu):
2534         (WebCore::contextMenuItemTagMakeUpperCase):
2535         (WebCore::contextMenuItemTagMakeLowerCase):
2536         (WebCore::contextMenuItemTagCapitalize):
2537         (WebCore::contextMenuItemTagChangeBack):
2538         (WebCore::contextMenuItemTagOpenVideoInNewWindow):
2539         (WebCore::contextMenuItemTagOpenAudioInNewWindow):
2540         (WebCore::contextMenuItemTagCopyVideoLinkToClipboard):
2541         (WebCore::contextMenuItemTagCopyAudioLinkToClipboard):
2542         (WebCore::contextMenuItemTagToggleMediaControls):
2543         (WebCore::contextMenuItemTagToggleMediaLoop):
2544         (WebCore::contextMenuItemTagEnterVideoFullscreen):
2545         (WebCore::contextMenuItemTagMediaPlay):
2546         (WebCore::contextMenuItemTagMediaPause):
2547         (WebCore::contextMenuItemTagMediaMute):
2548         (WebCore::contextMenuItemTagInspectElement):
2549         (WebCore::searchMenuNoRecentSearchesText):
2550         (WebCore::searchMenuRecentSearchesText):
2551         (WebCore::searchMenuClearRecentSearchesText):
2552         (WebCore::AXWebAreaText):
2553         (WebCore::AXLinkText):
2554         (WebCore::AXListMarkerText):
2555         (WebCore::AXImageMapText):
2556         (WebCore::AXHeadingText):
2557         (WebCore::AXDefinitionListTermText):
2558         (WebCore::AXDefinitionListDefinitionText):
2559         (WebCore::AXARIAContentGroupText):
2560         (WebCore::AXButtonActionVerb):
2561         (WebCore::AXRadioButtonActionVerb):
2562         (WebCore::AXTextFieldActionVerb):
2563         (WebCore::AXCheckedCheckBoxActionVerb):
2564         (WebCore::AXUncheckedCheckBoxActionVerb):
2565         (WebCore::AXLinkActionVerb):
2566         (WebCore::AXMenuListPopupActionVerb):
2567         (WebCore::AXMenuListActionVerb):
2568         (WebCore::missingPluginText):
2569         (WebCore::crashedPluginText):
2570         (WebCore::multipleFileUploadText):
2571         (WebCore::unknownFileSizeText):
2572         (WebCore::uploadFileText):
2573         (WebCore::allFilesText):
2574         (WebCore::keygenMenuItem512):
2575         (WebCore::keygenMenuItem1024):
2576         (WebCore::keygenMenuItem2048):
2577         (WebCore::keygenKeychainItemName):
2578         (WebCore::imageTitle):
2579         (WebCore::mediaElementLoadingStateText):
2580         (WebCore::mediaElementLiveBroadcastStateText):
2581         (WebCore::localizedMediaControlElementString):
2582         (WebCore::localizedMediaControlElementHelpText):
2583         (WebCore::localizedMediaTimeDescription):
2584         (WebCore::validationMessageValueMissingText):
2585         (WebCore::validationMessageValueMissingForCheckboxText):
2586         (WebCore::validationMessageValueMissingForFileText):
2587         (WebCore::validationMessageValueMissingForMultipleFileText):
2588         (WebCore::validationMessageValueMissingForRadioText):
2589         (WebCore::validationMessageValueMissingForSelectText):
2590         (WebCore::validationMessageTypeMismatchText):
2591         (WebCore::validationMessageTypeMismatchForEmailText):
2592         (WebCore::validationMessageTypeMismatchForMultipleEmailText):
2593         (WebCore::validationMessageTypeMismatchForURLText):
2594         (WebCore::validationMessagePatternMismatchText):
2595         (WebCore::validationMessageTooLongText):
2596         (WebCore::validationMessageRangeUnderflowText):
2597         (WebCore::validationMessageRangeOverflowText):
2598         (WebCore::validationMessageStepMismatchText):
2599
2600 2011-05-27  Brady Eidson  <beidson@apple.com>
2601
2602         Reviewed by Darin Adler.
2603
2604         First swipe at resolving <rdar://problem/9125145> and https://bugs.webkit.org/show_bug.cgi?id=61494
2605         
2606         Make the Document be intelligent about returning its DocumentLoader, including the possibility that
2607         the DocumentLoader will be null.
2608
2609         No new tests. No change in behavior.
2610
2611         Instead of storing the DocumentLoader at construction and never changing it,
2612         always calculate it based on the FrameLoader's current DocumentLoader:
2613         * dom/Document.cpp:
2614         (WebCore::Document::Document):
2615         (WebCore::Document::suggestedMIMEType):
2616         (WebCore::Document::lastModified):
2617         (WebCore::Document::initSecurityContext):
2618         (WebCore::Document::updateURLForPushOrReplaceState):
2619         (WebCore::Document::loader):
2620         * dom/Document.h:
2621
2622         Null-check or ASSERT that the DocumentLoader exists (or both) depending on the scenario:
2623         * bindings/ScriptControllerBase.cpp:
2624         (WebCore::ScriptController::executeIfJavaScriptURL):
2625         * html/MediaDocument.cpp:
2626         (WebCore::MediaDocument::replaceMediaElementTimerFired):
2627         * html/PluginDocument.cpp:
2628         (WebCore::PluginDocumentParser::createDocumentStructure):
2629         * platform/mac/HTMLConverter.mm:
2630         (fileWrapperForElement):
2631
2632         * WebCore.exp.in:
2633
2634 2011-05-27  Jer Noble  <jer.noble@apple.com>
2635
2636         Reviewed by Maciej Stachowiak.
2637
2638         30 second rewind button obscured in fullscreen controller
2639         https://bugs.webkit.org/show_bug.cgi?id=61663
2640
2641         If reset() is called while in full-screen mode, make sure to show and hide
2642         the correct controls for that mode.
2643
2644         * html/shadow/MediaControlRootElement.cpp:
2645         (WebCore::MediaControlRootElement::reset):
2646
2647 2011-05-27  James Robinson  <jamesr@chromium.org>
2648
2649         Reviewed by Simon Fraser.
2650
2651         GraphicsLayers for overflow controls on iframe without clipping layer left out of layer tree
2652         https://bugs.webkit.org/show_bug.cgi?id=61590
2653
2654         Adds overflow control layers to the compositor tree for layers without clipping layers regardless of whether the
2655         backing is parented.  This ensures that the scroll corner layer for an iframe without a clipping layer ends up
2656         in the final layer tree.  We don't currently render resizers for iframes, but we will soon and this keeps the
2657         graphics layer tree consistent.
2658
2659         Test: compositing/iframes/resizer.html
2660
2661         * rendering/RenderLayerCompositor.cpp:
2662         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
2663
2664 2011-05-27  Adam Barth  <abarth@webkit.org>
2665
2666         Reviewed by Eric Seidel.
2667
2668         HTMLVideoElement::currentSrc() should return a KURL
2669         https://bugs.webkit.org/show_bug.cgi?id=61578
2670
2671         I suspect we got into this mess because the author of this code didn't
2672         know about the URL attribute in WebKit IDL, which is super useful!
2673
2674         Bad news: The line of code in question seems to have another bug, which
2675         I've documented in a FIXME.  Let the yak shaving continue!
2676
2677         * html/HTMLMediaElement.cpp:
2678         (WebCore::urlForLogging):
2679         (WebCore::HTMLMediaElement::loadResource):
2680         (WebCore::HTMLMediaElement::isSafeToLoadURL):
2681         (WebCore::HTMLMediaElement::selectNextSourceChild):
2682         (WebCore::HTMLMediaElement::getPluginProxyParams):
2683         * html/HTMLMediaElement.h:
2684         (WebCore::HTMLMediaElement::currentSrc):
2685         (WebCore::HTMLMediaElement::currentURL):
2686         * html/canvas/CanvasRenderingContext.cpp:
2687         (WebCore::CanvasRenderingContext::checkOrigin):
2688         * rendering/HitTestResult.cpp:
2689         (WebCore::HitTestResult::absoluteMediaURL):
2690             - This complete URL call was unnecessary because currentSrc is
2691               already absolute.
2692
2693 2011-05-27  Mikhail Naganov  <mnaganov@chromium.org>
2694
2695         Reviewed by Pavel Feldman.
2696
2697         Web Inspector: [Chromium] Add support for showing URL of DOMWindow in heap profiles.
2698         https://bugs.webkit.org/show_bug.cgi?id=61177
2699
2700         * inspector/front-end/HeapSnapshot.js:
2701         (WebInspector.HeapSnapshotNode.prototype.get className):
2702
2703 2011-05-27  Nikolas Zimmermann  <nzimmermann@rim.com>
2704
2705         Rubber-stamped by Rob Buis.
2706
2707         embedded SVG object doesn't scale right
2708         https://bugs.webkit.org/show_bug.cgi?id=10526
2709
2710         Fixes crash in svg/custom/immutable-properties.html, seen on the bots.
2711
2712         * svg/SVGLength.cpp:
2713         (WebCore::SVGLength::determineViewport): Oops forgot to merge-in a null check before landing.
2714
2715 2011-05-27  Nikolas Zimmermann  <nzimmermann@rim.com>
2716
2717         Reviewed by Rob Buis.
2718
2719         embedded SVG object doesn't scale right
2720         https://bugs.webkit.org/show_bug.cgi?id=10526
2721
2722         <object> tags should treat width/height on a referenced SVG as intrinsic width/height
2723         https://bugs.webkit.org/show_bug.cgi?id=11976
2724
2725         Incorrect handling of percentage values for width/height on embedded elements
2726         https://bugs.webkit.org/show_bug.cgi?id=14793
2727
2728         WebKit fails some WICD 1.0 core test cases
2729         https://bugs.webkit.org/show_bug.cgi?id=15836 (partially fixed, all 'rightsizing' tests are fixed)
2730
2731         CSS 2.1: Support replaced elements with relative intrinsic sizes
2732         https://bugs.webkit.org/show_bug.cgai?id=15849 (partially fixed)
2733
2734         SVG embedded as <object> doesn't respect width/height attributes
2735         https://bugs.webkit.org/show_bug.cgi?id=34972
2736
2737         Explicit size of object tag ignored
2738         https://bugs.webkit.org/show_bug.cgi?id=37086
2739
2740         Add partial support of CSS 2.1 replaced elements with intrinsic size. The feature itself is complete but has only
2741         been implemented for RenderPart, to support SVG content document size negotiation. It serves as starting point for a generalization, in future.
2742         The changes in RenderPart are a 1:1 transliteration of the spec (http://www.w3.org/TR/CSS21/visudet.html#inline-replaced-width/height, see code).
2743
2744         SVG 1.1 says:
2745         The 'width' attribute on the outermost svg element establishes the viewport's width, unless the following conditions are met:
2746         ...
2747         and there are CSS-compatible positioning properties ([CSS2], section 9.3) specified on the referencing element (e.g., the 'object' element)
2748         or on the containing document's outermost svg element that are sufficient to establish the width of the viewport. Under these conditions,
2749         the positioning properties establish the viewport's width.
2750
2751         If an <object> carries width/height attributes, these specify the viewport size of the embedded SVG, instead of its own
2752         width/height or viewBox properties. If an <object> has no width/height information, its intrinsic size needs to be calculated depending
2753         on the intrinsic ratio (viewBox width divided by height ratio) and the width/height properties on the outermost referenced <svg> element.
2754         This requires a negotiation between the host document and the embedded document.
2755         (There are several more factors that need to be considered, the CSS spec covers this and the RenderPart::computeReplaced* code covers this.)
2756
2757         Fixes dozens of long-standing bug reports. The number one integration issue when using SVG through <object> is resolved: "right sizing".
2758
2759         Tests: http/tests/misc/object-embedding-svg-delayed-size-negotiation.xhtml
2760                svg/custom/object-no-size-attributes.xhtml (bug 11976, from Eric Seidel)
2761                svg/custom/object-sizing-explicit-height.xhtml (bug 10526, from Ryan Cannon)
2762                svg/custom/object-sizing-explicit-width-height.xhtml
2763                svg/custom/object-sizing-explicit-width.xhtml (bug 14793, from Oliver Hunt)
2764                svg/custom/object-sizing-no-width-height-change-content-box-size.xhtml
2765                svg/custom/object-sizing-no-width-height.xhtml
2766                svg/custom/object-sizing.xhtml (bug 37086, from Jeff Schiller)
2767                svg/wicd/rightsizing-grid.xhtml (bug 15836, WICD rightsizing test now works)
2768                svg/wicd/test-rightsizing-a.xhtml (ditto)
2769                svg/wicd/test-rightsizing-b.xhtml (ditto)
2770                svg/zoom/page/zoom-svg-through-object-with-absolute-size-2.xhtml
2771                svg/zoom/page/zoom-svg-through-object-with-absolute-size.xhtml
2772                svg/zoom/page/zoom-svg-through-object-with-huge-size.xhtml
2773                svg/zoom/page/zoom-svg-through-object-with-override-size.html (bug 34972, from Andreas Kling)
2774                svg/zoom/page/zoom-svg-through-object-with-percentage-size.xhtml
2775                svg/zoom/page/zoom-svg-through-object-with-text.xhtml
2776
2777         * platform/Length.h:
2778         (WebCore::Length::isSpecified):
2779         * rendering/RenderPart.cpp:
2780         (WebCore::RenderPart::embeddedSVGContentRenderer):
2781         (WebCore::RenderPart::computeEmbeddedDocumentReplacedWidth):
2782         (WebCore::RenderPart::computeEmbeddedDocumentReplacedHeight):
2783         (WebCore::RenderPart::computeReplacedLogicalWidth):
2784         (WebCore::RenderPart::computeReplacedLogicalHeight):
2785         (WebCore::RenderPart::layout):
2786         * rendering/RenderPart.h:
2787         * rendering/RenderReplaced.cpp:
2788         (WebCore::RenderReplaced::computeReplacedLogicalWidth):
2789         (WebCore::RenderReplaced::computeReplacedLogicalHeight):
2790         * rendering/svg/RenderSVGRoot.cpp:
2791         (WebCore::RenderSVGRoot::RenderSVGRoot):
2792         (WebCore::RenderSVGRoot::computeIntrinsicRatio):
2793         (WebCore::RenderSVGRoot::computeIntrinsicWidth):
2794         (WebCore::RenderSVGRoot::computeIntrinsicHeight):
2795         (WebCore::RenderSVGRoot::negotiateSizeWithHostDocumentIfNeeded):
2796         (WebCore::RenderSVGRoot::computeReplacedLogicalWidth):
2797         (WebCore::RenderSVGRoot::computeReplacedLogicalHeight):
2798         (WebCore::RenderSVGRoot::layout):
2799         * rendering/svg/RenderSVGRoot.h:
2800         * svg/SVGLength.cpp:
2801         (WebCore::SVGLength::determineViewport):
2802         * svg/SVGSVGElement.cpp:
2803         (WebCore::SVGSVGElement::currentScale):
2804         (WebCore::SVGSVGElement::setCurrentScale):
2805         (WebCore::SVGSVGElement::currentViewBoxRect):
2806         (WebCore::SVGSVGElement::viewBoxToViewTransform):
2807         * svg/SVGSVGElement.h:
2808
2809 2011-05-27  Michael Saboff  <msaboff@apple.com>
2810
2811         Reviewed by David Hyatt.
2812
2813         https://bugs.webkit.org/show_bug.cgi?id=61646
2814         Duplicate Fonts Put in Font Cache on Mac Due to Duplicate CGFontRefs for Same Font
2815
2816         Change the platformIsEqual to just compare the m_font members if
2817         either is not null.
2818
2819         No tests added - functionality unchanged, fixing memory abandonment.
2820
2821         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
2822         (WebCore::FontPlatformData::platformIsEqual):
2823
2824 2011-05-25  Martin Robinson  <mrobinson@igalia.com>
2825
2826         Reviewed by Dirk Schulze.
2827
2828         [GTK][Cairo] Twitter rendering breaks
2829         https://bugs.webkit.org/show_bug.cgi?id=60917
2830
2831         When instantiating a cairo_scaled_font_t font would put the font in an error state,
2832         leave the m_scaledFont member of platform data as null. Rendering with scaled fonts
2833         in the error state can later lead to corrupted rendering.
2834
2835         Due to this change, we must always null check cairo_scaled_font_t and the platform
2836         data now carries the cairo_font_face_t object with it, so that it can be accessed later
2837         if there is no cairo_scaled_font_t.
2838
2839         Test: platform/gtk/fonts/zero-pixel-sized-fonts.html
2840
2841         * platform/graphics/cairo/FontCairo.cpp:
2842         (WebCore::Font::drawGlyphs): If the scaled font is null, do not render.
2843         * platform/graphics/freetype/FontPlatformData.h: Now include the cairo_font_face_t.
2844         * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
2845         (WebCore::FontPlatformData::FontPlatformData): Initialize the new member.
2846         (WebCore::FontPlatformData::operator=): Carry over the new member.
2847         (WebCore::FontPlatformData::operator==): Check equality with the new member.
2848         (WebCore::FontPlatformData::initializeWithFontFace): If the initialization of m_scaledFont
2849         put the font into an error state, then just free it and return.
2850         (WebCore::FontPlatformData::hasCompatibleCharmap): The font always has a compatible charmap
2851         when the scaled font is null, because rendering is always a no-op and the font data never
2852         needs to be read.
2853         * platform/graphics/freetype/GlyphPageTreeNodeFreeType.cpp:
2854         (WebCore::GlyphPage::fill): Don't read font data when the scaled font is null.
2855         * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
2856         (WebCore::SimpleFontData::platformInit): Return early when there's no scaled font.
2857         (WebCore::SimpleFontData::scaledFontData): Use the new m_font member.
2858         (WebCore::SimpleFontData::containsCharacters): Return early when there's no scaled font.
2859         (WebCore::SimpleFontData::platformWidthForGlyph): Ditto.
2860
2861 2011-05-27  David Levin  <levin@chromium.org>
2862
2863         Reviewed by Darin Fisher.
2864
2865         Need a callback for when the preferred rendered size may have changed.
2866         https://bugs.webkit.org/show_bug.cgi?id=61309
2867
2868         No new tests needed since no new functionality is exposed.
2869
2870         * page/Chrome.cpp:
2871         (WebCore::Chrome::layoutUpdated): Plumbed through the call.
2872         * page/Chrome.h: Added the new method.
2873         * page/ChromeClient.h:
2874         (WebCore::ChromeClient::layoutUpdated): Ditto.
2875         * page/FrameView.cpp:
2876         (WebCore::FrameView::layout): Added a callback for whem a layout has finished.
2877
2878 2011-05-27  Stephanie Lewis  <slewis@apple.com>
2879
2880         Rubber Stamped by Adam Roben.
2881
2882         Update Order Files.  Use -order_file flag since it can order more of the binary.
2883
2884         * Configurations/Base.xcconfig:
2885         * WebCore.order:
2886
2887 2011-05-27  Sheriff Bot  <webkit.review.bot@gmail.com>
2888
2889         Unreviewed, rolling out r87464.
2890         http://trac.webkit.org/changeset/87464
2891         https://bugs.webkit.org/show_bug.cgi?id=61643
2892
2893         client-close/server-close tests are flaky on Chromium Mac and
2894         Windows (Requested by aklein on #webkit).
2895
2896         * platform/network/SocketStreamHandleBase.cpp:
2897         (WebCore::SocketStreamHandleBase::send):
2898         (WebCore::SocketStreamHandleBase::close):
2899         (WebCore::SocketStreamHandleBase::sendPendingData):
2900         * platform/network/SocketStreamHandleBase.h:
2901         * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
2902         (WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
2903         (WebCore::ThreadableWebSocketChannelClientWrapper::didCloseCallback):
2904         * websockets/ThreadableWebSocketChannelClientWrapper.h:
2905         * websockets/WebSocket.cpp:
2906         (WebCore::WebSocket::send):
2907         (WebCore::WebSocket::close):
2908         (WebCore::WebSocket::bufferedAmount):
2909         (WebCore::WebSocket::didConnect):
2910         (WebCore::WebSocket::didReceiveMessage):
2911         (WebCore::WebSocket::didReceiveMessageError):
2912         (WebCore::WebSocket::didClose):
2913         * websockets/WebSocket.h:
2914         * websockets/WebSocketChannel.cpp:
2915         (WebCore::WebSocketChannel::WebSocketChannel):
2916         (WebCore::WebSocketChannel::close):
2917         (WebCore::WebSocketChannel::disconnect):
2918         (WebCore::WebSocketChannel::didClose):
2919         (WebCore::WebSocketChannel::didReceiveData):
2920         (WebCore::WebSocketChannel::didFail):
2921         (WebCore::WebSocketChannel::processBuffer):
2922         * websockets/WebSocketChannel.h:
2923         * websockets/WebSocketChannelClient.h:
2924         (WebCore::WebSocketChannelClient::didClose):
2925         * websockets/WorkerThreadableWebSocketChannel.cpp:
2926         (WebCore::WorkerThreadableWebSocketChannel::Peer::close):
2927         (WebCore::workerContextDidClose):
2928         (WebCore::WorkerThreadableWebSocketChannel::Peer::didClose):
2929         * websockets/WorkerThreadableWebSocketChannel.h:
2930
2931 2011-05-27  Rob Buis  <rbuis@rim.com>
2932
2933         Reviewed by Nikolas Zimmermann.
2934
2935         https://bugs.webkit.org/show_bug.cgi?id=19995
2936         hixie.ch : anchor Link fails with fragment identifiers inside SVG fragments.
2937
2938         Only allow links to animation elements within the document.
2939
2940         Test: svg/hixie/links/003.xml
2941
2942         * svg/SVGAElement.cpp:
2943         (WebCore::SVGAElement::defaultEventHandler):
2944
2945 2011-05-27  Andreas Kling  <kling@webkit.org>
2946
2947         Reviewed by Benjamin Poulain.
2948
2949         Update RGBA color serialization to match HTML5.
2950         https://bugs.webkit.org/show_bug.cgi?id=61449
2951
2952         HTML5 now specifies that fully transparent colors should have their alpha value
2953         serialized to "0" rather than "0.0" (followed by any number of extra zeroes.)
2954
2955         The number of decimals for alpha values between 0 and 1 is not specified,
2956         so match Gecko and Presto by returning the lowest number of decimals needed
2957         to represent the number. (No more trailing zeroes.)
2958
2959         * platform/graphics/Color.cpp:
2960         (WebCore::Color::serialized):
2961
2962 2011-05-27  Hans Wennborg  <hans@chromium.org>
2963
2964         Reviewed by Tony Gentilcore.
2965
2966         IndexedDB: Support mutating cursors on top of LevelDB
2967         https://bugs.webkit.org/show_bug.cgi?id=61615
2968
2969         We need to support the case where a new node is added to the tree in a
2970         transaction after the TreeIterator has covered the whole tree.
2971
2972         Since this is done lazily, i.e. we set a flag that the tree might have
2973         changed, and act upon it later, some members need to be mutable,
2974         because we might need to re-seek the tree iterator in a const function.
2975
2976         Test: storage/indexeddb/mutating-cursor.html
2977               storage/indexeddb/mozilla/cursor-mutation-objectstore-only.html (existing)
2978
2979         * platform/leveldb/LevelDBTransaction.cpp:
2980         (WebCore::LevelDBTransaction::set):
2981         (WebCore::LevelDBTransaction::TreeIterator::reset):
2982         (WebCore::LevelDBTransaction::TreeIterator::~TreeIterator):
2983         (WebCore::LevelDBTransaction::TreeIterator::TreeIterator):
2984         (WebCore::LevelDBTransaction::TransactionIterator::TransactionIterator):
2985         (WebCore::LevelDBTransaction::TransactionIterator::~TransactionIterator):
2986         (WebCore::LevelDBTransaction::TransactionIterator::next):
2987         (WebCore::LevelDBTransaction::TransactionIterator::prev):
2988         (WebCore::LevelDBTransaction::TransactionIterator::key):
2989         (WebCore::LevelDBTransaction::TransactionIterator::value):
2990         (WebCore::LevelDBTransaction::TransactionIterator::treeChanged):
2991         (WebCore::LevelDBTransaction::TransactionIterator::refreshTreeIterator):
2992         (WebCore::LevelDBTransaction::registerIterator):
2993         (WebCore::LevelDBTransaction::unregisterIterator):
2994         (WebCore::LevelDBTransaction::notifyIteratorsOfTreeChange):
2995         * platform/leveldb/LevelDBTransaction.h:
2996         * storage/IDBFactoryBackendImpl.cpp:
2997         (WebCore::IDBFactoryBackendImpl::open):
2998         * storage/IDBLevelDBBackingStore.cpp:
2999         (WebCore::IDBLevelDBBackingStore::open):
3000
3001 2011-05-27  Sujin Park  <sujjin.park@gmail.com>
3002
3003         Unreviewed, buildfix if --no-javascript-debugger.
3004
3005         Regression(R84125): Broke GTK build
3006         https://bugs.webkit.org/show_bug.cgi?id=60698
3007
3008         No new tests since this doesn't change any behavior.
3009
3010         * inspector/WorkerInspectorController.h:
3011
3012 2011-05-26  Yael Aharon  <yael.aharon@nokia.com>
3013
3014         Reviewed by Tony Chang.
3015
3016         webkit should implement the dropzone attribute
3017         https://bugs.webkit.org/show_bug.cgi?id=58210
3018
3019         Add support for dropzone attribute.
3020         http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#the-dropzone-attribute
3021         If a drag event was not canceled by JavaScript, look for an element with a dropzone attribute.
3022         If there is such an element, and it matches the drag data store, set the action defined by that
3023         element and continue processing the drag and drop operation.
3024
3025         Tests: fast/events/dropzone-001.html
3026                fast/events/dropzone-002.html
3027                fast/events/dropzone-003.html
3028                fast/events/dropzone-004.html
3029
3030         * dom/Clipboard.cpp:
3031         (WebCore::Clipboard::hasFileOfType):
3032         (WebCore::Clipboard::hasStringOfType):
3033         (WebCore::convertDropZoneOperationToDragOperation):
3034         (WebCore::convertDragOperationToDropZoneOperation):
3035         (WebCore::Clipboard::processDropZoneKeyword):
3036         * dom/Clipboard.h:
3037         * html/HTMLAttributeNames.in:
3038         * html/HTMLElement.idl:
3039         * page/EventHandler.cpp:
3040         (WebCore::EventHandler::findDropZone):
3041         (WebCore::EventHandler::updateDragAndDrop):
3042         * page/EventHandler.h:
3043
3044 2011-05-27  Patrick Gansterer  <paroga@webkit.org>
3045
3046         Unreviewed WinCE build fix for r87467.
3047
3048         * page/wince/FrameWinCE.cpp:
3049
3050 2011-05-26  Hans Wennborg  <hans@chromium.org>
3051
3052         Reviewed by Tony Gentilcore.
3053
3054         IndexedDB: Support NO_DUPLICATE cursors on LevelDB back-end
3055         https://bugs.webkit.org/show_bug.cgi?id=61517
3056
3057         Support cursors where the direction is set to NEXT_NO_DUPLICATE,
3058         or PREV_NO_DUPLICATE, as specified here:
3059         http://www.w3.org/TR/IndexedDB/#widl-IDBCursor-NEXT_NO_DUPLICATE
3060
3061         This is tested by storage/indexeddb/mozilla/indexes.html
3062
3063         * storage/IDBLevelDBBackingStore.cpp:
3064         (WebCore::IDBLevelDBBackingStore::openObjectStoreCursor):
3065         (WebCore::IDBLevelDBBackingStore::openIndexKeyCursor):
3066         (WebCore::IDBLevelDBBackingStore::openIndexCursor):
3067
3068 2011-05-26  Hans Wennborg  <hans@chromium.org>
3069
3070         Reviewed by Tony Gentilcore.
3071
3072         LevelDB: turn on paranoid checks and verify checksums, log errors
3073         https://bugs.webkit.org/show_bug.cgi?id=61516
3074
3075         This allows for detection of corrupted databases.
3076         Even if we can't recover from a corrupted database, discovering the
3077         problem is a step in the right direction.
3078
3079         No new functionality, no new tests.
3080
3081         * platform/leveldb/LevelDBDatabase.cpp:
3082         (WebCore::LevelDBDatabase::open):
3083         (WebCore::LevelDBDatabase::put):
3084         (WebCore::LevelDBDatabase::remove):
3085         (WebCore::LevelDBDatabase::get):
3086         (WebCore::LevelDBDatabase::write):
3087         (WebCore::IteratorImpl::checkStatus):
3088         (WebCore::IteratorImpl::seekToLast):
3089         (WebCore::IteratorImpl::seek):
3090         (WebCore::IteratorImpl::next):
3091         (WebCore::IteratorImpl::prev):
3092         (WebCore::LevelDBDatabase::createIterator):
3093
3094 2011-05-27  James Robinson  <jamesr@chromium.org>
3095
3096         Reviewed by Adam Barth.
3097
3098         CachedResourceLoader stores data: urls in validated URL set
3099         https://bugs.webkit.org/show_bug.cgi?id=61604
3100
3101         CachedResourceLoader maintains a set of URLs that have been validated to avoid validating the same resource
3102         multiple times for loads within the same document.  This doesn't make sense for data: URLs and just wastes
3103         memory.
3104
3105         * loader/cache/CachedResourceLoader.cpp:
3106         (WebCore::CachedResourceLoader::revalidateResource):
3107         (WebCore::CachedResourceLoader::loadResource):
3108
3109 2011-05-23  MORITA Hajime  <morrita@google.com>
3110
3111         Reviewed by Tony Chang.
3112
3113         [Refactoring] DocumentMarker should be carried around as a pointer, not value.
3114         https://bugs.webkit.org/show_bug.cgi?id=61262
3115
3116         - Changed return value of markersInRange() from Vector<DocumentMarker> to Vector<DocumentMarker*>.
3117         - Introduced markersFor() that returns Vector<DocumentMarker*>
3118         - Removed DocumentMarkerController::setRenderedRectForMarker() which now can be replaced by
3119           RenderedDocumentMarker::setRenderedRect().
3120         - This change didn't remove markersForNode() beucase there is patches on review which depends
3121           markersForNode(). I'll remove its call after these patches are landed.
3122         
3123         No new tests. No behavior change.
3124
3125         * WebCore.exp.in:
3126         * dom/DocumentMarkerController.cpp:
3127         (WebCore::DocumentMarkerController::addTextMatchMarker):
3128         (WebCore::DocumentMarkerController::markersFor):
3129         (WebCore::DocumentMarkerController::markersInRange):
3130         (WebCore::DocumentMarkerController::hasMarkers):
3131         * dom/DocumentMarkerController.h:
3132         * dom/RenderedDocumentMarker.h:
3133         (WebCore::toRenderedDocumentMarker):
3134         * editing/CompositeEditCommand.cpp:
3135         (WebCore::CompositeEditCommand::replaceTextInNodePreservingMarkers):
3136         * editing/DeleteSelectionCommand.cpp:
3137         (WebCore::DeleteSelectionCommand::originalStringForAutocorrectionAtBeginningOfSelection):
3138         * editing/Editor.cpp:
3139         (WebCore::Editor::selectionStartHasMarkerFor):
3140         * editing/SpellingCorrectionController.cpp:
3141         (WebCore::markersHaveIdenticalDescription):
3142         (WebCore::SpellingCorrectionController::respondToChangedSelection):
3143         (WebCore::SpellingCorrectionController::recordSpellcheckerResponseForModifiedCorrection):
3144         (WebCore::SpellingCorrectionController::processMarkersOnTextToBeReplacedByResult):
3145         * editing/SpellingCorrectionController.h:
3146         (WebCore::SpellingCorrectionController::shouldStartTimerFor):
3147         * rendering/InlineTextBox.cpp:
3148         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
3149         (WebCore::InlineTextBox::paintTextMatchMarker):
3150         (WebCore::InlineTextBox::computeRectForReplacementMarker):
3151         (WebCore::InlineTextBox::paintDocumentMarkers):
3152         * rendering/InlineTextBox.h:
3153         * rendering/svg/SVGInlineFlowBox.cpp:
3154         (WebCore::SVGInlineFlowBox::computeTextMatchMarkerRectForRenderer):
3155
3156 2011-05-26  MORITA Hajime  <morrita@google.com>
3157
3158         Reviewed by Kent Tamura.
3159
3160         WebCore::HTMLSummaryElement::isMainSummary ReadAV@NULL
3161         https://bugs.webkit.org/show_bug.cgi?id=61511
3162
3163         Removed Unnecessary wrong cast to Elmement, which can be non-Element.
3164
3165         Test: fast/html/details-summary-document-child.html
3166
3167         * html/HTMLSummaryElement.cpp:
3168         (WebCore::HTMLSummaryElement::detailsElement):
3169
3170 2011-05-26  Adam Barth  <abarth@webkit.org>
3171
3172         Reviewed by Ryosuke Niwa.
3173
3174         FrameLoader cannot be null
3175         https://bugs.webkit.org/show_bug.cgi?id=61609
3176
3177         This code has a bunch of cargo-cult null checking.
3178
3179         * html/HTMLMediaElement.cpp:
3180         (WebCore::HTMLMediaElement::createRenderer):
3181         (WebCore::HTMLMediaElement::attach):
3182         (WebCore::HTMLMediaElement::loadResource):
3183         (WebCore::HTMLMediaElement::getPluginProxyParams):
3184         (WebCore::HTMLMediaElement::createMediaPlayerProxy):
3185         (WebCore::HTMLMediaElement::updateWidget):
3186
3187 2011-05-26  Shane Stephens  <shanestephens@google.com>
3188
3189         Reviewed by James Robinson.
3190
3191         REGRESSION (r81992): layout triggered by position update fails to apply when transform is updated at same time
3192         https://bugs.webkit.org/show_bug.cgi?id=60689
3193
3194         When a transform is modified in a style, we were upgrading our understanding
3195         of the difference from PositionedMovementOnly to SimplifiedLayout.  However,
3196         if the position of the style is independently changed at the same time, both
3197         PositionedMovement and SimplifiedLayout passes are required.
3198
3199         Test: transforms/2d/set-transform-and-top.html
3200
3201         * rendering/RenderObject.cpp:
3202         Added checks for SimplifiedLayoutAndPositionedMovement - when encountered,
3203         set both PositionedMovement and SimplifiedLayout update flasgs. 
3204         * rendering/style/RenderStyleConstants.h:
3205         Added a new StyleDifference enum value (SimplifiedLayoutAndPositionedMovement) for 
3206         cases when both PositionedMovement and SimplifiedLayout are required.
3207
3208 2011-05-26  Luke Macpherson   <macpherson@chromium.org>
3209
3210         Reviewed by Eric Seidel.
3211
3212         Implement webkit margin collapse CSS properties in CSSStyleApplyProperty
3213         https://bugs.webkit.org/show_bug.cgi?id=61589
3214
3215         No new tests as no new functionality added.
3216
3217         * css/CSSStyleApplyProperty.cpp:
3218         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
3219         Add handlers for:
3220           CSSPropertyWebkitMarginBeforeCollapse
3221           CSSPropertyWebkitMarginAfterCollapse
3222           CSSPropertyWebkitMarginTopCollapse
3223           CSSPropertyWebkitMarginBottomCollapse
3224           CSSPropertyWebkitMarginCollapse
3225         * css/CSSStyleSelector.cpp:
3226         (WebCore::CSSStyleSelector::applyProperty):
3227         Remove cases that are no longer required.
3228
3229 2011-05-26  Adam Barth  <abarth@webkit.org>
3230
3231         Reviewed by Eric Seidel.
3232
3233         Support cross-origin property for images
3234         https://bugs.webkit.org/show_bug.cgi?id=61015
3235
3236         This patch add support for the crossorigin attribute of images and
3237         teaches 2D canvas to respect that flag and not taint a canvas if the
3238         image drawn on the canvas is allowed by CORS.
3239
3240         While I was editing this code, I couldn't resist a couple touch-up
3241         changes.
3242
3243         Tests: http/tests/security/canvas-remote-read-remote-image-allowed-with-credentials.html
3244                http/tests/security/canvas-remote-read-remote-image-allowed.html
3245                http/tests/security/canvas-remote-read-remote-image-blocked-no-crossorigin.html
3246
3247         * html/HTMLAttributeNames.in:
3248         * html/HTMLCanvasElement.cpp:
3249         (WebCore::HTMLCanvasElement::securityOrigin):
3250         * html/HTMLCanvasElement.h:
3251         * html/HTMLImageElement.idl:
3252         * html/canvas/CanvasRenderingContext.cpp:
3253         (WebCore::CanvasRenderingContext::checkOrigin):
3254         * html/canvas/CanvasRenderingContext2D.cpp:
3255         (WebCore::CanvasRenderingContext2D::createPattern):
3256         * loader/ImageLoader.cpp:
3257         (WebCore::ImageLoader::updateFromElement):
3258         * loader/cache/CachedResource.cpp:
3259         (WebCore::CachedResource::passesAccessControlCheck):
3260         * loader/cache/CachedResource.h:
3261
3262 2011-05-26  Mihai Parparita  <mihaip@chromium.org>
3263
3264         Reviewed by Adam Barth.
3265
3266         Fix worldID and destinationDomain argument names
3267         https://bugs.webkit.org/show_bug.cgi?id=61571
3268
3269         As part of working on r87423, I noticed a couple of inconsistencies in
3270         argument names:
3271         - We would use worldId in .h files but worldID in .cpp files.
3272           Standardize on the latter
3273         - SecurityOrigin::addOriginAccessWhitelistEntry would take a
3274           destinationDomains argument, even though the actual parameter was for
3275           a single domain (renamed to be singular).
3276
3277         * bindings/v8/ScriptController.h:
3278         * bindings/v8/V8Proxy.h:
3279         * page/SecurityOrigin.cpp:
3280         (WebCore::SecurityOrigin::addOriginAccessWhitelistEntry):
3281         (WebCore::SecurityOrigin::removeOriginAccessWhitelistEntry):
3282         * page/SecurityOrigin.h:
3283
3284 2011-05-26  Emil A Eklund  <eae@chromium.org>
3285
3286         Reviewed by Eric Seidel.
3287
3288         Replace RenderLayer::x/y/width/height with location/size
3289         https://bugs.webkit.org/show_bug.cgi?id=61414
3290
3291         Covered by existing tests.
3292
3293         * dom/MouseRelatedEvent.cpp:
3294         (WebCore::MouseRelatedEvent::computeRelativePosition):
3295         * rendering/RenderBox.cpp:
3296         (WebCore::RenderBox::computeRectForRepaint):
3297         * rendering/RenderBox.h:
3298         (WebCore::RenderBox::maxLayoutOverflow):
3299         * rendering/RenderInline.cpp:
3300         (WebCore::RenderInline::clippedOverflowRectForRepaint):
3301         (WebCore::RenderInline::computeRectForRepaint):
3302         * rendering/RenderLayer.cpp:
3303         (WebCore::RenderLayer::updateLayerPosition):
3304         (WebCore::RenderLayer::convertToLayerCoords):
3305         (WebCore::RenderLayer::offsetFromResizeCorner):
3306         (WebCore::RenderLayer::calculateRects):
3307         * rendering/RenderLayer.h:
3308         (WebCore::RenderLayer::location):
3309         (WebCore::RenderLayer::setSize):
3310         * rendering/RenderObject.cpp:
3311         (WebCore::RenderObject::computeRectForRepaint):
3312         * rendering/RenderTreeAsText.cpp:
3313         (WebCore::write):
3314         (WebCore::writeLayers):
3315         (WebCore::externalRepresentation):
3316         * rendering/RenderView.cpp:
3317         (WebCore::RenderView::absoluteRects):
3318         (WebCore::RenderView::absoluteQuads):
3319
3320 2011-05-26  Annie Sullivan  <sullivan@chromium.org>
3321
3322         Reviewed by Ryosuke Niwa.
3323
3324         Delete table in contentEditable/designMode produces odd contents
3325         https://bugs.webkit.org/show_bug.cgi?id=57148
3326
3327         Removes border-collapse, -webkit-border-horizontal-spacing, and
3328         -webkit-border-vertical-spacing from the list of properties which
3329         should be preserved during edit operations. Also renames this
3330         list to editingInheritableProperties to be more clear about what
3331         the list is for.
3332
3333         Test: editing/deleting/delete-last-char-in-table.html
3334
3335         * editing/EditingStyle.cpp: Removes border vertical/horizontal
3336         spacing from editingStyleProperties.
3337         * editing/EditingStyle.h: Renames OnlyInheritableProperties to
3338         OnlyEditingInheritableProperties.
3339         * editing/markup.cpp: Renames InheritablePropertiesAndBackgroundColorInEffect.
3340
3341 2011-05-26  Yuta Kitamura  <yutak@chromium.org>
3342
3343         Reviewed by Kent Tamura.
3344
3345         WebSocket closing handshake
3346         https://bugs.webkit.org/show_bug.cgi?id=35721
3347
3348         Implement WebSocket closing handshake based on Ian Hickson's
3349         WebSocket protocol draft 76.
3350
3351         Tests: http/tests/websocket/tests/client-close.html
3352                http/tests/websocket/tests/server-close.html
3353
3354         * platform/network/SocketStreamHandleBase.cpp:
3355         (WebCore::SocketStreamHandleBase::send):
3356         Do not send a message if we are in Closing state.
3357         (WebCore::SocketStreamHandleBase::close):
3358         Do not disconnect if we have pending data which have not been sent yet.
3359         In this case, the actual disconnection will happen in sendPendingData().
3360         (WebCore::SocketStreamHandleBase::disconnect):
3361         Renamed from close(). Disconnect the connection immediately.
3362         (WebCore::SocketStreamHandleBase::sendPendingData):
3363         * platform/network/SocketStreamHandleBase.h:
3364         * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
3365         Add didStartClosingHandshake(). Add a function argument (ClosingHandshakeCompletionStatus)
3366         to didClose().
3367         (WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshake):
3368         (WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
3369         (WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshakeCallback):
3370         (WebCore::ThreadableWebSocketChannelClientWrapper::didCloseCallback):
3371         * websockets/ThreadableWebSocketChannelClientWrapper.h:
3372         * websockets/WebSocket.cpp:
3373         (WebCore::WebSocket::send):
3374         (WebCore::WebSocket::close):
3375         Fail if close() is attempted before the connection is established.
3376         Otherwise, set the state to CLOSING and start the closing handshake.
3377         (WebCore::WebSocket::bufferedAmount):
3378         If the state is CLOSING, we need to consider buffered data in m_channel and sent after close().
3379         (WebCore::WebSocket::didConnect):
3380         (WebCore::WebSocket::didReceiveMessage):
3381         We need to invoke message event in CLOSING state as well as OPEN state.
3382         (WebCore::WebSocket::didReceiveMessageError):
3383         (WebCore::WebSocket::didStartClosingHandshake):
3384         (WebCore::WebSocket::didClose):
3385         * websockets/WebSocket.h:
3386         * websockets/WebSocketChannel.cpp:
3387         (WebCore::WebSocketChannel::WebSocketChannel):
3388         (WebCore::WebSocketChannel::close):
3389         Start the closing handshake.
3390         (WebCore::WebSocketChannel::disconnect):
3391         Disconnect the socket stream, instead of close.
3392         (WebCore::WebSocketChannel::didClose):
3393         (WebCore::WebSocketChannel::didReceiveData): Ditto.
3394         (WebCore::WebSocketChannel::didFail): Ditto.
3395         (WebCore::WebSocketChannel::processBuffer):
3396         Ditto.
3397         Handle 0xFF 0x00 byte sequence, and discard received data once the closing handshake has started.
3398         (WebCore::WebSocketChannel::startClosingHandshake):
3399         Send 0xFF 0x00 byte sequence.
3400         (WebCore::WebSocketChannel::closingTimerFired):
3401         Disconnect the socket stream if the closing handshake has timed out.
3402         * websockets/WebSocketChannel.h:
3403         m_closing is true if "the WebSocket closing handshake has started" (as stated in the protocol
3404         specification).
3405         * websockets/WebSocketChannelClient.h:
3406         (WebCore::WebSocketChannelClient::didStartClosingHandshake): Added.
3407         (WebCore::WebSocketChannelClient::didClose): Add closingHandshakeCompletion parameter.
3408         * websockets/WorkerThreadableWebSocketChannel.cpp:
3409         Add closingHandshakeCompletion parameter to didClose(), and add didStartClosingHandshake().
3410         (WebCore::WorkerThreadableWebSocketChannel::Peer::close):
3411         (WebCore::workerContextDidStartClosingHandshake):
3412         (WebCore::WorkerThreadableWebSocketChannel::Peer::didStartClosingHandshake):
3413         (WebCore::workerContextDidClose):
3414         (WebCore::WorkerThreadableWebSocketChannel::Peer::didClose):
3415         * websockets/WorkerThreadableWebSocketChannel.h:
3416
3417 2011-05-26  David Levin  <levin@chromium.org>
3418
3419         Reviewed by Dmitry Titov.
3420
3421         WebKit's font notification has problems when the WebKit main thread != UI thread.
3422         https://bugs.webkit.org/show_bug.cgi?id=61391
3423
3424         This doesn't happen in DumpRenderTree, so it needs a unit test which is taking me
3425         some time to write correctly. In the meantime, this issues happens to be causing
3426         some crashes in Chrome so here's the fix alone for the time being.
3427
3428         * platform/graphics/mac/FontCacheMac.mm:
3429         (WebCore::invalidateFontCache): Ensure that FontCache::invalidate is only called on WebKit's main thread.
3430         (WebCore::fontCacheRegisteredFontsChangedNotificationCallback): Call common function for font cache invalidation.
3431          Note that the call to fontCache() is fine since the singleton is initialized well before calling this function. Theoretically,
3432          there could be a problem due to a lack of a memory barrier but that is highly unlikely and this is debug only code.
3433         (WebCore::fontCacheATSNotificationCallback): Ditto.
3434
3435 2011-05-26  Stephanie Lewis  <slewis@apple.com>
3436
3437         Reviewed by Geoff Garen.
3438
3439         https://bugs.webkit.org/show_bug.cgi?id=61345
3440         part of <rdar://problem/8675177>
3441         Roll back in now that the Crashes are fixed.  ResourceResponseBase and ResourceResponse had two different definitions
3442         for m_isNull.  ResourceResponse treats m_isNull as meaning there isn't any platform ResourceResponse. 
3443         ResourceResponseBase treats m_isNull as meaning no fields have been initialized.  Consolidate calls into ResourceResponseBase meaning. 
3444
3445         Don't initialize ResourceResponse.m_suggestedFilename until we want to use it.  Initializing it requires reading in and parsing a plist.  
3446         Add new initialization state CommonAndUncommonFields to ResourceResponse.  This will be for all the header fields.
3447         Move suggestedFilename initialization to AllFields so it is never initialized unless we ask for it. 
3448         Add "Content-Type" to common headers since it is looked for by every CSS sheet load.
3449
3450         No new functionality so no new tests.
3451
3452         * platform/network/ResourceResponseBase.cpp:
3453         (WebCore::ResourceResponseBase::adopt):
3454         (WebCore::ResourceResponseBase::suggestedFilename):
3455         (WebCore::ResourceResponseBase::setSuggestedFilename):
3456         (WebCore::ResourceResponseBase::httpStatusText):
3457         (WebCore::ResourceResponseBase::setHTTPStatusText):
3458         (WebCore::ResourceResponseBase::httpHeaderField):
3459         (WebCore::ResourceResponseBase::setHTTPHeaderField):
3460         (WebCore::ResourceResponseBase::httpHeaderFields):
3461         (WebCore::ResourceResponseBase::isAttachment):
3462         (WebCore::ResourceResponseBase::setLastModifiedDate):
3463         (WebCore::ResourceResponseBase::lastModifiedDate):
3464         (WebCore::ResourceResponseBase::wasCached):
3465         (WebCore::ResourceResponseBase::connectionReused):
3466         (WebCore::ResourceResponseBase::setConnectionReused):
3467         (WebCore::ResourceResponseBase::connectionID):
3468         (WebCore::ResourceResponseBase::setConnectionID):
3469         (WebCore::ResourceResponseBase::resourceLoadTiming):
3470         (WebCore::ResourceResponseBase::setResourceLoadTiming):
3471         (WebCore::ResourceResponseBase::resourceLoadInfo):
3472         (WebCore::ResourceResponseBase::setResourceLoadInfo):
3473         * platform/network/ResourceResponseBase.h:
3474         * platform/network/cf/ResourceResponse.h:
3475         (WebCore::ResourceResponse::ResourceResponse):
3476         * platform/network/cf/ResourceResponseCFNet.cpp:
3477         (WebCore::ResourceResponse::platformLazyInit):
3478         * platform/network/mac/ResourceResponseMac.mm:
3479
3480 2011-05-26  James Kozianski  <koz@chromium.org>
3481
3482         Reviewed by Eric Seidel.
3483
3484         Implement a whitelist for registerProtocolHandler
3485         https://bugs.webkit.org/show_bug.cgi?id=60322
3486
3487         * page/Navigator.cpp:
3488         (WebCore::initProtocolHandlerWhitelist):
3489         (WebCore::isProtocolWhitelisted):
3490         (WebCore::verifyProtocolHandlerScheme):
3491
3492 2011-05-26  Annie Sullivan  <sullivan@chromium.org>
3493
3494         Reviewed by Ryosuke Niwa.
3495
3496         [debug feature] CSSStyleDeclaration should have a way to print cssText
3497         https://bugs.webkit.org/show_bug.cgi?id=61570
3498
3499         Adds a method to print the cssText to stderr for debugging.
3500
3501         * css/CSSStyleDeclaration.cpp:
3502         (WebCore::CSSStyleDeclaration::showStyle): New method to print cssText to stderr
3503         * css/CSSStyleDeclaration.h: New method declaration
3504
3505 2011-05-26  Syed Idris Shah  <syed.idris-shah@nokia.com>
3506
3507         Reviewed by Andreas Kling.
3508
3509         [Qt] fast/canvas/webgl/gl-uniform-arrays.html failing for Qt on Linux
3510         https://bugs.webkit.org/show_bug.cgi?id=60377 
3511
3512         LayoutTests/fast/canvas/webgl/gl-uniform-arrays.html
3513
3514         For an array of active uniform, we should be careful while truncating the name of the uniform. 
3515         Currently we are truncating the last three characters of an array with out checking for [0]. 
3516         As a result we are truncating the the actual name of the active uniforms i.e. color to co. 
3517
3518         * html/canvas/WebGLRenderingContext.cpp:
3519         (WebCore::WebGLRenderingContext::getUniform): Strip "[0]" from the name if it's an array and is part of the name.
3520
3521 2011-05-26  Sheriff Bot  <webkit.review.bot@gmail.com>
3522
3523         Unreviewed, rolling out r87444.
3524         http://trac.webkit.org/changeset/87444
3525         https://bugs.webkit.org/show_bug.cgi?id=61582
3526
3527         Layout test regressions in Chromium/WebKit: fast/css/first-
3528         letter-text-fragment-crash.html, fast/css/first-letter-
3529         visibility.html (Requested by aklein on #webkit).
3530
3531         * page/Chrome.cpp:
3532         * page/Chrome.h:
3533         * page/ChromeClient.h:
3534         * page/FrameView.cpp:
3535         (WebCore::FrameView::setContentsSize):
3536         * page/FrameView.h:
3537
3538 2011-05-26  David Levin  <levin@chromium.org>
3539
3540         Reviewed by Darin Fisher.
3541
3542         Need a callback for when the preferred rendered size changed.
3543         https://bugs.webkit.org/show_bug.cgi?id=61309
3544
3545         No new tests needed since no new functionality is exposed.
3546
3547         * page/Chrome.cpp:
3548         (WebCore::Chrome::contentsPreferredSizeChanged): Plumbed through the call.
3549         * page/Chrome.h: Added the new method.
3550         * page/ChromeClient.h: Ditto.
3551         * page/FrameView.cpp:
3552         (WebCore::FrameView::setContentsSize): Added calculations for the preferred size
3553         and the call to contentsPreferredSizeChanged.
3554
3555 2011-05-25  Levi Weintraub  <leviw@chromium.org>
3556
3557         Reviewed by Eric Seidel.
3558
3559         Switch controlClipRect to use IntPoint
3560         https://bugs.webkit.org/show_bug.cgi?id=60806
3561
3562         Switching controlClipRect to take an IntPoint representing the
3563         offset to be added instead of a pair of ints.
3564
3565         No new tests as this is just refactoring.
3566
3567         * WebCore.xcodeproj/project.pbxproj:
3568         * rendering/RenderBlock.cpp:
3569         (WebCore::RenderBlock::nodeAtPoint):
3570         * rendering/RenderBox.cpp:
3571         (WebCore::RenderBox::pushContentsClip):
3572         * rendering/RenderBox.h:
3573         (WebCore::RenderBox::controlClipRect):
3574         * rendering/RenderButton.cpp:
3575         (WebCore::RenderButton::controlClipRect):
3576         * rendering/RenderButton.h:
3577         * rendering/RenderListBox.cpp:
3578         (WebCore::RenderListBox::paintItemBackground):
3579         (WebCore::RenderListBox::controlClipRect):
3580         * rendering/RenderListBox.h:
3581         * rendering/RenderMenuList.cpp:
3582         (WebCore::RenderMenuList::controlClipRect):
3583         * rendering/RenderMenuList.h:
3584         * rendering/RenderTextControlSingleLine.cpp:
3585         (WebCore::RenderTextControlSingleLine::controlClipRect):
3586         * rendering/RenderTextControlSingleLine.h:
3587
3588 2011-05-25  Levi Weintraub  <leviw@chromium.org>
3589
3590         Reviewed by Eric Seidel.
3591
3592         Switch controlClipRect to use IntPoint
3593         https://bugs.webkit.org/show_bug.cgi?id=60806
3594
3595         Switching controlClipRect to take an IntPoint representing the
3596         offset to be added instead of a pair of ints.
3597
3598         No new tests as this is just refactoring.
3599
3600         * WebCore.xcodeproj/project.pbxproj:
3601         * rendering/RenderBlock.cpp:
3602         (WebCore::RenderBlock::nodeAtPoint):
3603         * rendering/RenderBox.cpp:
3604         (WebCore::RenderBox::pushContentsClip):
3605         * rendering/RenderBox.h:
3606         (WebCore::RenderBox::controlClipRect):
3607         * rendering/RenderButton.cpp:
3608         (WebCore::RenderButton::controlClipRect):
3609         * rendering/RenderButton.h:
3610         * rendering/RenderListBox.cpp:
3611         (WebCore::RenderListBox::paintItemBackground):
3612         (WebCore::RenderListBox::controlClipRect):
3613         * rendering/RenderListBox.h:
3614         * rendering/RenderMenuList.cpp:
3615         (WebCore::RenderMenuList::controlClipRect):
3616         * rendering/RenderMenuList.h:
3617         * rendering/RenderTextControlSingleLine.cpp:
3618         (WebCore::RenderTextControlSingleLine::controlClipRect):
3619         * rendering/RenderTextControlSingleLine.h:
3620
3621 2011-05-26  Jeff Miller  <jeffm@apple.com>
3622
3623         Reviewed by Steve Falkenburg.
3624
3625         Fullscreen content is sometimes obscured by taskbar (which even covers up the "exit fullscreen" button)
3626         https://bugs.webkit.org/show_bug.cgi?id=61569
3627         <rdar://problem/9454315>
3628
3629         Normally, when the background fullscreen window is animated in, the Windows taskbar will be hidden, but this doesn't always work for some reason.
3630         Workaround this issue by setting the real fullscreen window to be a topmost window.
3631
3632         * platform/graphics/win/FullScreenController.cpp:
3633         (FullScreenController::Private::fullscreenClientWndProc): Exit fullscreen when m_fullScreenWindow is deactivated.
3634         (FullScreenController::enterFullScreenRepaintCompleted): Make m_fullScreenWindow a topmost window before animating it in to ensure the taskbar is hidden.
3635
3636 2011-05-26  James Robinson  <jamesr@chromium.org>
3637
3638         Reviewed by Darin Fisher.
3639
3640         [skia] Add area check to ImageBufferData::getImageData
3641         https://bugs.webkit.org/show_bug.cgi?id=61375
3642
3643         No change in behavior, just a sanity check.
3644
3645         * platform/graphics/skia/ImageBufferSkia.cpp:
3646         (WebCore::getImageData):
3647
3648 2011-05-26  Levi Weintraub  <leviw@chromium.org>
3649
3650         Reviewed by Eric Seidel.
3651
3652         Switch positionOverflowControls to IntSize
3653         https://bugs.webkit.org/show_bug.cgi?id=61493
3654
3655         Switching positionOverflowControls to take a layerOffset IntSize
3656         as opposed to a pair of ints.
3657
3658         No new tests since this is just refactoring.
3659
3660         * rendering/RenderLayer.cpp:
3661         (WebCore::RenderLayer::updateLayerPositions):
3662         (WebCore::RenderLayer::positionOverflowControls):
3663         (WebCore::RenderLayer::paintOverflowControls):
3664         * rendering/RenderLayer.h:
3665
3666 2011-05-26  Sheriff Bot  <webkit.review.bot@gmail.com>
3667
3668         Unreviewed, rolling out r87368.
3669         http://trac.webkit.org/changeset/87368
3670         https://bugs.webkit.org/show_bug.cgi?id=61564
3671
3672         Wrong approach, will do the wrong thing if the element needs
3673         simplified normal flow layout but is not positioned (Requested
3674         by jamesr on #webkit).
3675
3676         * rendering/RenderObject.h:
3677         (WebCore::RenderObject::needsPositionedMovementLayout):
3678
3679 2011-05-02  Robert Hogan  <robert@webkit.org>
3680
3681         Reviewed by Adam Roben.
3682
3683         [Qt] Allow popup windows from plugins when initiated by a user gesture
3684
3685         https://bugs.webkit.org/show_bug.cgi?id=41292
3686
3687         If the event is from a user gesture and the plugin doesn't support
3688         NPN_PushPopupsEnabledState() and NPN_PopPopupsEnabledState(), allow popups.
3689
3690         * plugins/qt/PluginViewQt.cpp:
3691         (WebCore::PluginView::dispatchNPEvent):
3692
3693 2011-05-26  Leandro Gracia Gil  <leandrogracia@chromium.org>
3694
3695         Reviewed by Dmitry Titov.
3696
3697         [V8] Add missing compile guards for WebWorkers in WebCore.
3698         https://bugs.webkit.org/show_bug.cgi?id=61535
3699
3700         No new tests - refactoring only.
3701
3702         * bindings/v8/V8AbstractEventListener.cpp:
3703         (WebCore::V8AbstractEventListener::invokeEventHandler):
3704         * bindings/v8/V8DOMWrapper.cpp:
3705         (WebCore::V8DOMWrapper::instantiateV8Object):
3706
3707 2011-05-26  Mihai Parparita  <mihaip@chromium.org>
3708
3709         Reviewed by Adam Barth.
3710
3711         Support cross-origin XMLHttpRequest in isolated worlds
3712         https://bugs.webkit.org/show_bug.cgi?id=59843
3713
3714         Allows isolated worlds to be associated with a different SecurityOrigin
3715         (exposed as a setIsolatedWorldSecurityOrigin function in
3716         ScriptController).
3717
3718         The XMLHttpRequest constructor can then check that it's being
3719         instantiated in an isolated world and use its security origin.
3720         XMLHttpRequest, ThreadableLoader and DocumentThreadableLoader had to be
3721         changed to use the copied SecurityOrigin instead of always grabbing the
3722         Document's.
3723
3724         Test: http/tests/security/isolatedWorld/cross-origin-xhr.html
3725
3726         * bindings/v8/ScriptController.cpp:
3727         (WebCore::ScriptController::setIsolatedWorldSecurityOrigin):
3728         * bindings/v8/ScriptController.h:
3729         * bindings/v8/V8IsolatedContext.cpp:
3730         (WebCore::V8IsolatedContext::setSecurityOrigin):
3731         * bindings/v8/V8IsolatedContext.h:
3732         (WebCore::V8IsolatedContext::securityOrigin):
3733         * bindings/v8/V8Proxy.cpp:
3734         (WebCore::V8Proxy::evaluateInIsolatedWorld):
3735         (WebCore::V8Proxy::setIsolatedWorldSecurityOrigin):
3736         (WebCore::V8Proxy::resetIsolatedWorlds):
3737         * bindings/v8/V8Proxy.h:
3738         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
3739         (WebCore::V8XMLHttpRequest::constructorCallback):
3740         * loader/DocumentThreadableLoader.cpp:
3741         (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
3742         (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequestWithPreflight):
3743         (WebCore::DocumentThreadableLoader::didReceiveResponse):
3744         (WebCore::DocumentThreadableLoader::preflightSuccess):
3745         (WebCore::DocumentThreadableLoader::isAllowedRedirect):
3746         (WebCore::DocumentThreadableLoader::securityOrigin):
3747         * loader/DocumentThreadableLoader.h:
3748         * loader/ThreadableLoader.h:
3749         * xml/XMLHttpRequest.cpp:
3750         (WebCore::XMLHttpRequest::create):
3751         (WebCore::XMLHttpRequest::XMLHttpRequest):
3752         (WebCore::XMLHttpRequest::securityOrigin):
3753         (WebCore::XMLHttpRequest::responseXML):
3754         (WebCore::XMLHttpRequest::createRequest):
3755         (WebCore::XMLHttpRequest::setRequestHeader):
3756         (WebCore::XMLHttpRequest::getAllResponseHeaders):
3757         (WebCore::XMLHttpRequest::getResponseHeader):
3758         * xml/XMLHttpRequest.h:
3759
3760 2011-05-26  Michael Nordman  <michaeln@google.com>
3761
3762         Reviewed by Darin Fisher.
3763
3764         [Chromium] Use SecurityOrigin produced databaseIdentifier strings, instead of
3765         SecurityOrigin RefPtrs, as the top level key into the DatabaseTracker's
3766         collection of open databases. Otherwise we can fail to lookup databases when
3767         trying to forceably close them via  WebDatabase::closeDatabaseImmediately.
3768         https://bugs.webkit.org/show_bug.cgi?id=61417
3769
3770         New new functionality, no tests.
3771
3772         * storage/DatabaseTracker.h:
3773         * storage/chromium/DatabaseTrackerChromium.cpp:
3774         (WebCore::DatabaseTracker::addOpenDatabase):
3775         (WebCore::DatabaseTracker::removeOpenDatabase):
3776         (WebCore::DatabaseTracker::getOpenDatabases):
3777         (WebCore::DatabaseTracker::interruptAllDatabasesForContext):
3778
3779 2011-05-25  Jer Noble  <jer.noble@apple.com>
3780
3781         Reviewed by Maciej Stachowiak.
3782
3783         Safari Web Content crashes while entering/exiting the full screen mode of the video content
3784         https://bugs.webkit.org/show_bug.cgi?id=61498
3785
3786         No new tests, as DRT does not currently animate the full screen transition.
3787
3788         To guard against m_fullScreenRenderer being called after it has been deleted, add
3789         code in RenderFullScreen which notifies the document when its full-screen renderer
3790         will be destroyed.
3791
3792         Also, add some sanity checks when accessing the full-screen renderer's layer backing.
3793
3794         * dom/Document.cpp:
3795         (WebCore::Document::webkitWillEnterFullScreenForElement): Guard against a missing
3796             full-screen renderer layer.
3797         (WebCore::Document::webkitWillExitFullScreenForElement): Ditto.
3798         (WebCore::Document::setFullScreenRenderer): Added ASSERT.
3799         (WebCore::Document::fullScreenRendererDestroyed): Added.
3800         (WebCore::Document::setAnimatingFullScreen): Guard against the full-screen
3801             element having been removed from the document.
3802         * dom/Document.h:
3803         * rendering/RenderFullScreen.cpp:
3804         (RenderFullScreen::destroy): Added.  Tell the Document that it's full-screen
3805             renderer is about to be destroyed.
3806         * rendering/RenderFullScreen.h:
3807
3808 2011-05-26  Andreas Kling  <kling@webkit.org>
3809
3810         Reviewed by Geoffrey Garen.
3811
3812         Overload resolution in generated JSC bindings could be more efficient.
3813         https://bugs.webkit.org/show_bug.cgi?id=61544
3814
3815         Only fetch the arguments once, and not until they are needed (less work
3816         in the case of an early return.)
3817
3818         * bindings/scripts/CodeGeneratorJS.pm:
3819         * bindings/scripts/test/JS/JSTestObj.cpp: Rebaselined.
3820         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
3821
3822 2011-05-26  Adrienne Walker  <enne@google.com>
3823
3824         Reviewed by James Robinson.
3825
3826         [chromium] Be robust to empty viewports in the compositor
3827         https://bugs.webkit.org/show_bug.cgi?id=61545
3828
3829         It's possible for a frame to be requested to be drawn before it is
3830         non-empty.  The compositor should be robust to that possibility.  The
3831         changes in LayerTilerChromium are the only required changes to handle
3832         this, but having an early out in LayerRendererChromium seemed like a
3833         good sanity check.
3834
3835         * platform/graphics/chromium/LayerRendererChromium.cpp:
3836         (WebCore::LayerRendererChromium::updateAndDrawLayers):
3837         (WebCore::LayerRendererChromium::drawLayers):
3838         * platform/graphics/chromium/LayerTilerChromium.cpp:
3839         (WebCore::LayerTilerChromium::prepareToUpdate):
3840         (WebCore::LayerTilerChromium::updateRect):
3841         (WebCore::LayerTilerChromium::draw):
3842
3843 2011-05-26  Emil A Eklund  <eae@chromium.org>
3844
3845         Reviewed by Eric Seidel.
3846
3847         Change RenderObject to use FloatPoint::scale and FloatQuad::scale
3848         https://bugs.webkit.org/show_bug.cgi?id=61497
3849
3850         Covered by existing test.
3851
3852         * platform/graphics/FloatQuad.h:
3853         (WebCore::FloatQuad::scale):
3854         * rendering/RenderObject.h:
3855         (WebCore::adjustFloatQuadForAbsoluteZoom):
3856         (WebCore::adjustFloatRectForAbsoluteZoom):
3857         (WebCore::adjustFloatQuadForPageScale):
3858         (WebCore::adjustFloatRectForPageScale):
3859
3860 2011-05-26  Alexis Menard  <alexis.menard@openbossa.org>
3861
3862         Unreviewed build fix for Qt and QuickTime backend.
3863
3864         r87328 added a new system interface, we need to add it too.
3865
3866         * platform/qt/WebCoreSystemInterface.h:
3867         * platform/qt/WebCoreSystemInterface.mm:
3868
3869 2011-05-26  Andrey Kosyakov  <caseq@chromium.org>
3870
3871         Unreviewed follow-up to r87395, added checks to avoid accessing undefined member for certain timeline events.
3872
3873         * inspector/front-end/TimelinePanel.js:
3874         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
3875         (WebInspector.TimelinePanel.FormattedRecord):
3876
3877 2011-05-25  Ryosuke Niwa  <rniwa@webkit.org>
3878
3879         Reviewed by Enrica Casucci.
3880
3881         WebKit duplicates styles from css rules on copy and paste
3882         https://bugs.webkit.org/show_bug.cgi?id=61466
3883
3884         Fixed the bug by removing duplicate properties from inline style declarations in ReplaceSelectionCommand.
3885         Also moved the code to obtain style from rules from markup.cpp to EditingStyle.cpp to share code.
3886
3887         Test: editing/pasteboard/style-from-rules.html
3888
3889         * editing/EditingStyle.cpp:
3890         (WebCore::EditingStyle::EditingStyle): Added a null check.
3891         (WebCore::EditingStyle::extractFontSizeDelta): Ditto.
3892         (WebCore::styleFromMatchedRulesForElement): Moved from markup.cpp.
3893         (WebCore::EditingStyle::mergeStyleFromRules): Extracted from StyledMarkupAccumulator::appendElement.
3894         (WebCore::EditingStyle::mergeStyleFromRulesForSerialization): Ditto.
3895         (WebCore::EditingStyle::removeStyleFromRules): Added.
3896         * editing/EditingStyle.h:
3897         * editing/ReplaceSelectionCommand.cpp:
3898         (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline): Renamed from
3899         negateStyleRulesThatAffectAppearance; Calls removeStyleFromRules.
3900         * editing/markup.cpp:
3901         (WebCore::StyledMarkupAccumulator::appendElement): Calls mergeStyleFromRulesForSerialization.
3902         (WebCore::styleFromMatchedRulesAndInlineDecl): Calls mergeStyleFromRules; changed the return type
3903         from CSSMutableStyleDeclaration to EditingStyle.
3904         (WebCore::isElementPresentational): Calls styleFromMatchedRulesAndInlineDecl.
3905         (WebCore::shouldIncludeWrapperForFullySelectedRoot): Ditto.
3906         (WebCore::highestAncestorToWrapMarkup): Calls shouldIncludeWrapperForFullySelectedRoot.
3907         (WebCore::createMarkup): Calls styleFromMatchedRulesAndInlineDecl.
3908
3909 2011-05-26  Michael Schneider  <michschn@google.com>
3910
3911         Reviewed by Pavel Feldman.
3912
3913         WebInspector: Added API to access the timeline data in a inspector extension.
3914         https://bugs.webkit.org/show_bug.cgi?id=61098
3915
3916         * WebCore.gypi:
3917         * WebCore.vcproj/WebCore.vcproj:
3918         * inspector/front-end/ExtensionAPI.js:
3919         (WebInspector.injectedExtensionAPI.InspectorExtensionAPI):
3920         (WebInspector.injectedExtensionAPI):
3921         * inspector/front-end/ExtensionServer.js:
3922         (WebInspector.ExtensionServer):
3923         (WebInspector.ExtensionServer.prototype._addRecordToTimeline):
3924         (WebInspector.ExtensionServer.prototype._onSubscribe):
3925         (WebInspector.ExtensionServer.prototype._onUnsubscribe):
3926         (WebInspector.ExtensionServer.prototype._registerHandler):
3927         (WebInspector.ExtensionServer.prototype._registerSubscriptionHandler):
3928         * inspector/front-end/TimelineManager.js: Added.
3929         (WebInspector.TimelineManager):
3930         (WebInspector.TimelineManager.prototype.start):
3931         (WebInspector.TimelineManager.prototype.stop):
3932         (WebInspector.TimelineDispatcher):
3933         (WebInspector.TimelineDispatcher.prototype.started):
3934         (WebInspector.TimelineDispatcher.prototype.stopped):
3935         (WebInspector.TimelineDispatcher.prototype.eventRecorded):
3936         * inspector/front-end/TimelinePanel.js:
3937         (WebInspector.TimelinePanel):
3938         (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked):
3939         (WebInspector.TimelinePanel.prototype._onTimelineEventRecorded):
3940         * inspector/front-end/WebKit.qrc:
3941         * inspector/front-end/inspector.html:
3942
3943 2011-05-26  Andrey Kosyakov  <caseq@chromium.org>
3944
3945         Reviewed by Yury Semikhatsky.
3946
3947         Web Inspector: TimelinePanel should not modify input timeline data when processing timeline event
3948         https://bugs.webkit.org/show_bug.cgi?id=61529
3949
3950         Do not modify input timeline data when processing timeline event.
3951
3952         * inspector/front-end/TimelinePanel.js:
3953         (WebInspector.TimelinePanel.prototype._addRecordToTimeline):
3954         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
3955         (WebInspector.TimelinePanel.FormattedRecord):
3956         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
3957         (WebInspector.TimelinePanel.FormattedRecord.prototype._refreshDetails):
3958         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
3959
3960 2011-05-26  Rob Buis  <rbuis@rim.com>
3961
3962         Reviewed by Dirk Schulze.
3963
3964         Dynamically created <animate> elements do not animate upon document insertion as they should
3965         https://bugs.webkit.org/show_bug.cgi?id=20028
3966
3967         Tests: svg/animations/animate-insert-begin.html
3968                svg/animations/animate-insert-no-begin.html
3969
3970         Move animation initializing and rescheduling to insertedIntoDocument. This way animate elements
3971         dynamicaly inserted into the document using js start as well.
3972
3973         * svg/animation/SVGSMILElement.cpp:
3974         (WebCore::SVGSMILElement::insertedIntoDocument):
3975         * svg/animation/SVGSMILElement.h:
3976
3977 2011-05-26  Andreas Kling  <kling@webkit.org>
3978
3979         Reviewed by Benjamin Poulain.
3980
3981         JSC DOM bindings: ExecState::argumentCount() is size_t, not int.
3982         https://bugs.webkit.org/show_bug.cgi?id=61530
3983
3984         * bindings/scripts/CodeGeneratorJS.pm:
3985         * bindings/scripts/test/JS/JSTestObj.cpp:
3986         (WebCore::jsTestObjPrototypeFunctionOptionsObject):
3987         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
3988         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
3989         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
3990         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
3991         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
3992         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
3993         (WebCore::jsTestObjPrototypeFunctionClassMethodWithOptional):
3994
3995 2011-05-26  Simon Fraser  <simon.fraser@apple.com>
3996
3997         Reviewed by Adam Roben.
3998
3999         Some repeating linear gradients look wrong
4000         https://bugs.webkit.org/show_bug.cgi?id=61371
4001
4002         Test: fast/gradients/css3-repeating-linear-gradients2.html
4003         
4004         Fix incorrect stop duplication code when filling forwards a repeating
4005         gradient. The "if (srcStopOrdinal < originalNumStops - 1)" test was wrong
4006         because srcStopOrdinal had been adjusted for stops added by start-filling,
4007         but originalNumStops had not. Fix by considering srcStopOrdinal as an index
4008         into the original stops, so comparing it with originalNumStops remains valid.
4009
4010         * css/CSSGradientValue.cpp:
4011         (WebCore::CSSGradientValue::addStops):
4012
4013 2011-05-26  Vsevolod Vlasov  <vsevik@chromium.org>
4014
4015         Reviewed by Yury Semikhatsky.
4016
4017         Web Inspector: In network panel, show transfer size in a first line of resource row.
4018         https://bugs.webkit.org/show_bug.cgi?id=61354
4019
4020         * English.lproj/localizedStrings.js:
4021         * inspector/front-end/NetworkPanel.js:
4022         (WebInspector.NetworkPanel.prototype._createTable):
4023         (WebInspector.NetworkDataGridNode.prototype._refreshSizeCell):
4024
4025 2011-05-25  Simon Fraser  <simon.fraser@apple.com>
4026
4027         Reviewed by Dan Bernstein.
4028
4029         Always antialias borders, outlines and rules when scaling
4030         https://bugs.webkit.org/show_bug.cgi?id=61502
4031         
4032         r84273 changed the behavior of drawLineForBoxSide() to never antialias by default.
4033         This actually disabled antialiasing in some circumstances where it used to be enabled,
4034         for example collapsed table border drawing.
4035         
4036         Fix by allowing antialiasing for collapsed table borders, column rules and span
4037         outlines when the context is scaled.
4038
4039         Test: fast/borders/border-antialiasing.html
4040
4041         * rendering/RenderBlock.cpp:
4042         (WebCore::RenderBlock::paintColumnRules):
4043         * rendering/RenderInline.cpp:
4044         (WebCore::RenderInline::paintOutline):
4045         (WebCore::RenderInline::paintOutlineForLine):
4046         * rendering/RenderTableCell.cpp:
4047         (WebCore::RenderTableCell::paintCollapsedBorder):
4048
4049 2011-05-26  Vsevolod Vlasov  <vsevik@chromium.org>
4050
4051         Reviewed by Yury Semikhatsky.
4052
4053         Web Inspector: Use different SourceFrame instances for ResourcesPanel and NetworkPanel
4054         https://bugs.webkit.org/show_bug.cgi?id=59193
4055
4056         * inspector/front-end/NetworkItemView.js:
4057         (WebInspector.NetworkItemView):
4058         (WebInspector.NetworkItemView._contentViewForResource):
4059         * inspector/front-end/NetworkPanel.js:
4060         (WebInspector.NetworkPanel.prototype._refreshResource):
4061         * inspector/front-end/Resource.js:
4062         (WebInspector.Resource.prototype.get messages):
4063         (WebInspector.Resource.prototype.addMessage):
4064         (WebInspector.Resource.prototype.set errors):
4065         (WebInspector.Resource.prototype.set warnings):
4066         (WebInspector.Resource.prototype.clearErrorsAndWarnings):
4067         * inspector/front-end/ResourceTreeModel.js:
4068         (WebInspector.ResourceTreeModel.prototype._consoleMessageAdded):
4069         * inspector/front-end/ResourceView.js:
4070         (WebInspector.ResourceView.hasTextContent):
4071         (WebInspector.ResourceView.nonSourceViewForResource):
4072         (WebInspector.ResourceSourceFrame):
4073         (WebInspector.ResourceSourceFrame.mimeTypeForResource):
4074         (WebInspector.ResourceSourceFrame.prototype.requestContent):
4075         (WebInspector.ResourceSourceFrame.prototype.suggestedFileName):
4076         (WebInspector.EditableResourceSourceFrame):
4077         (WebInspector.EditableResourceSourceFrame.prototype.doubleClick):
4078         (WebInspector.EditableResourceSourceFrame.prototype.editContent):
4079         (WebInspector.EditableResourceSourceFrame.prototype.cancelEditing):
4080         (WebInspector.EditableResourceSourceFrame.prototype.afterTextChanged):
4081         (WebInspector.EditableResourceSourceFrame.prototype._clearIncrementalUpdateTimer):
4082         (WebInspector.ResourceRevisionSourceFrame):