2011-04-20 Gyuyoung Kim <gyuyoung.kim@samsung.com>
[WebKit.git] / Source / WebCore / ChangeLog
1 2011-04-20  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2
3         Reviewed by Daniel Bates.
4
5         [EFL] Add current time to media control panel.
6         https://bugs.webkit.org/show_bug.cgi?id=58866
7
8         Implement paintMediaCurrentTime() to show playing time of media content.
9
10         * platform/efl/RenderThemeEfl.cpp:
11         (WebCore::RenderThemeEfl::RenderThemeEfl):
12         (WebCore::RenderThemeEfl::formatMediaControlsCurrentTime):
13         (WebCore::RenderThemeEfl::paintMediaCurrentTime):
14         * platform/efl/RenderThemeEfl.h:
15
16 2011-04-19  Jungshik Shin  <jshin@chromium.org>
17
18         Reviewed by Adam Barth
19
20         Update the list of Unicode blocks to treat as complex scripts
21         per Unicode 6.0. Also, make [U+02E5..U+02E9] (IPA tone marks)
22         go through the complex script code path.
23
24         Test: fast/text/ipa-tone-letters.html
25
26         http://bugs.webkit.org/show_bug.cgi?id=39799
27
28         * platform/graphics/Font.cpp:
29         (WebCore::Font::codePath):
30
31 2011-04-19  Pratik Solanki  <psolanki@apple.com>
32
33         Reviewed by Simon Fraser.
34
35         Follow on fix for https://bugs.webkit.org/show_bug.cgi?id=58926
36
37         Move the assert from Image::drawPattern() to Image::drawTiled() so we don't hit it when
38         trying to paint GeneratedImages.
39
40         * platform/graphics/Image.cpp:
41         (WebCore::Image::drawTiled):
42         * platform/graphics/cg/ImageCG.cpp:
43         (WebCore::Image::drawPattern):
44
45 2011-04-19  Simon Fraser  <simon.fraser@apple.com>
46
47         Fix 32-bit builds.
48
49         * rendering/RenderBox.cpp:
50         (WebCore::RenderBox::determineBackgroundBleedAvoidance):
51         * rendering/RenderBoxModelObject.cpp:
52         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
53
54 2011-04-19  Naoki Takano  <takano.naoki@gmail.com>
55
56         Reviewed by Kent Tamura.
57
58         [Chromium]UI polishes and tweaks to Autofill dropdown menu.
59         https://bugs.webkit.org/show_bug.cgi?id=58505
60         http://code.google.com/p/chromium/issues/detail?id=51077
61
62         No new tests. Because this is autofill looking problem in Chromium.
63         Add m_menuType as PopupMenuStyle to change popup style change.
64         Put kLinePaddingHeight at the top and bottom of each line if m_menuType is AutofillPopup.
65         Change separator color to #dcdcdc and remove sparatorPadding at the edge if m_menuType is AutofillPopup.
66         Change the line height of separator as only the piece if m_menuType is AutofillPopup.
67         Change the label font size 0.9 time smaller than regular font size if m_menuType is AutofillPopup.
68
69         * platform/PopupMenuStyle.h: Add enum PopupMenuType;
70         (WebCore::PopupMenuStyle::PopupMenuStyle): Add m_menuType.
71         (WebCore::PopupMenuStyle::menuType): Add to change the style according to the return value.
72         * platform/chromium/PopupMenuChromium.cpp:
73         (WebCore::PopupListBox::paintRow):Change the separator color to #dcdcdc.
74         Change the edge padding according to menuStyle().
75         (WebCore::PopupListBox::getRowHeight): Add kLineHeightMargin*2 for each line height.
76
77 2011-04-19  Simon Fraser  <simon.fraser@apple.com>
78
79         Reviewed by Dan Bernstein.
80
81         background color of elements with border-radius shows around outer edge of border at corners
82         https://bugs.webkit.org/show_bug.cgi?id=21819
83         
84         When drawing a background followed by a border with the same rounded
85         clip, some border color leaks out because of antialiasing.
86         
87         Fix this by using two different strategies depending on the colors.
88         If the border is opaque on all sides, we can inset the background by
89         a device pixel. If not, then we have to draw the unclipped background
90         and border into a transparency layer, and then clip that.
91         
92         A futher possible solution is mentioned in a comment in
93         determineBackgroundBleedAvoidance() but not yet implemented.
94         
95         Also don't try to paint shadows with zero offset, spread and blur.
96
97         Test: fast/backgrounds/background-leakage.html,
98               fast/backgrounds/background-leakage-transforms.html
99
100         * rendering/RenderBoxModelObject.h:
101         Add a BackgroundBleedAvoidance enum with a value for each
102         strategy.
103         * rendering/RenderBoxModelObject.cpp:
104         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
105         Pass BackgroundBleedAvoidance, bail early if the border rect is empty.
106         If using the transparency layer solution, don't bother to clip
107         to the rounded rect for the background. If the strategy is to
108         shrink the background, do that.
109         (WebCore::BorderEdge::BorderEdge):
110         (WebCore::BorderEdge::obscuresBackgroundEdge):
111         Helper method to determine if this border side will totally
112         obscured by the border edge, allowing us to inset it.
113         (WebCore::RenderBoxModelObject::paintOneBorderSide):
114         Pass BackgroundBleedAvoidance through.
115         (WebCore::RenderBoxModelObject::paintBorderSides):
116         Ditto.
117         (WebCore::RenderBoxModelObject::paintTranslucentBorderSides):
118         Ditto.
119         (WebCore::RenderBoxModelObject::paintBorder):
120         Fill BorderEdges using getBorderEdgeInfo now.
121         Don't clip to the rounded border if we are using the
122         transparency layer solution.
123         (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
124         Pass bleedAvoidance through, and use it for double borders.
125         (WebCore::RenderBoxModelObject::getBorderEdgeInfo):
126         Helper to fill in the BorderEdge array.
127         (WebCore::RenderBoxModelObject::borderObscuresBackgroundEdge):
128         Used to determine if we can use the background shrinkage solution.
129         (WebCore::RenderBoxModelObject::paintBoxShadow):
130         Don't paint shadows that should not be visible.
131
132         * rendering/RenderBox.h:
133         * rendering/RenderBox.cpp:
134         (WebCore::RenderBox::paintRootBoxFillLayers):
135         Pass BackgroundBleedNone for the root box.
136         
137         (WebCore::RenderBox::determineBackgroundBleedAvoidance):
138         Determine which bleed strategy we can use.
139         
140         (WebCore::RenderBox::paintBoxDecorationsWithSize):
141         Based on the bleedAvoidance, make a transparency layer
142         which will be clipped to the rounded border outside edge,
143         and pass bleedAvoidance to the background and border-painting
144         methods.        
145         (WebCore::RenderBox::paintMaskImages):
146         Use BackgroundBleedNone.
147         (WebCore::RenderBox::paintFillLayers):
148         (WebCore::RenderBox::paintFillLayer):
149         Pass bleedAvoidance through.
150
151         * rendering/InlineFlowBox.cpp:
152         (WebCore::InlineFlowBox::paintFillLayer):
153         (WebCore::InlineFlowBox::paintBoxDecorations):
154         Pass BackgroundBleedNone. At some point we may want to do the right
155         thing for split inlines.
156
157         * rendering/RenderFieldset.cpp:
158         (WebCore::RenderFieldset::paintBoxDecorations):
159         * rendering/RenderTableCell.cpp:
160         (WebCore::RenderTableCell::paintBackgroundsBehindCell):
161         Pass BackgroundBleedNone.
162
163 2011-04-19  Yuta Kitamura  <yutak@chromium.org>
164
165         Reviewed by Alexey Proskuryakov.
166
167         WebSocket: Add assertion for SocketStreamError::failingURL.
168         https://bugs.webkit.org/show_bug.cgi?id=58765
169
170         No new tests, because an existing test http/tests/inspector/console-websocket-error.html should cover this.
171
172         * websockets/WebSocketChannel.cpp:
173         (WebCore::WebSocketChannel::didFail): If error.failingURL() is provided, it must be the same as
174         m_handshake.url(). failingURL may be null if SocketStreamHandle has created a SocketStreamError
175         using zero- or one-argument constructor (which is old version but some ports are still using it).
176         In that case, m_handshake.url() is passed to addMessage().
177
178 2011-04-19  Eric Carlson  <eric.carlson@apple.com>
179
180         Reviewed by Dimitri Glazkov.
181
182         Media controls status display should not be hidden for live streams
183         https://bugs.webkit.org/show_bug.cgi?id=58952
184
185         Tested manually because we don't have any live streams to test in DRT.
186
187         * html/shadow/MediaControlElements.cpp:
188         (WebCore::MediaControlStatusDisplayElement::update): Set the status to "Loading" only until
189             there is something to display (readyState exceeds HAVE_METADATA).
190         * html/shadow/MediaControlRootElement.cpp:
191         (WebCore::MediaControlRootElement::loadedMetadata): Don't hide the status display for
192             live streams.
193
194 2011-04-19  Julien Chaffraix  <jchaffraix@codeaurora.org>
195
196         Reviewed by Alexey Proskuryakov.
197
198         https://bugs.webkit.org/show_bug.cgi?id=45425
199         HTMLLinkElement.disabled does not forward value to the Stylesheet's disabled attribute on setting
200
201         Test: fast/html/htmllink-disable.html
202         Test: fast/dom/HTMLLinkElement/disabled-attribute.html
203
204         Match the HTML5 specification by forwarding the 'disabled' attribute to our stylesheet.
205
206         Based on previous work by Bijan Amirzada <bijana@codeaurora.org>.
207
208         * html/HTMLLinkElement.cpp:
209         (WebCore::HTMLLinkElement::disabled): Return our stylesheet's 'disabled' value or
210         false if we don't have a stylesheet.
211         (WebCore::HTMLLinkElement::setDisabled): Set our stylesheet's 'disabled' value or
212         ignore the call if we don't have a stylesheet.
213         * html/HTMLLinkElement.h:
214         * html/HTMLLinkElement.idl: Remove 'Reflect' as it is not a reflected attribute anymore in HTML5.
215         This matches the way FF4, Opera and IE9 handle the attribute.
216
217 2011-04-19  Ryosuke Niwa  <rniwa@webkit.org>
218
219         Reviewed by Eric Seidel.
220
221         Remove calls to deprecatedOffset and deprecatedNode in TypingCommand
222         https://bugs.webkit.org/show_bug.cgi?id=58569
223
224         Removed all calls to deprecatedOffset and deprecatedNode.
225
226         * editing/TypingCommand.cpp:
227         (WebCore::TypingCommand::insertText):
228         (WebCore::TypingCommand::deleteKeyPressed):
229         (WebCore::TypingCommand::forwardDeleteKeyPressed):
230
231 2011-04-19  Adrienne Walker  <enne@google.com>
232
233         Reviewed by Kenneth Russell.
234
235         [chromium] Initialize depth mask to known value before getBooleanv call
236         https://bugs.webkit.org/show_bug.cgi?id=58948
237
238         This trips an assert in the GPU command buffer client code if the
239         pointed-to value is not initialized to 0 or -1.
240
241         * platform/graphics/gpu/DrawingBuffer.cpp:
242         (WebCore::DrawingBuffer::clearFramebuffer):
243
244 2011-04-19  Pratik Solanki  <psolanki@apple.com>
245
246         Reviewed by Simon Fraser.
247
248         BitmapImage::destroyMetadataAndNotify should clear m_checkedForSolidColor
249         https://bugs.webkit.org/show_bug.cgi?id=58926
250
251         * platform/graphics/BitmapImage.cpp:
252         (WebCore::BitmapImage::destroyMetadataAndNotify): Set m_checkedForSolidColor to false.
253         * platform/graphics/BitmapImage.h:
254         (WebCore::BitmapImage::assertNotSolidColor):
255         * platform/graphics/cg/ImageCG.cpp:
256         (WebCore::Image::drawPattern): Add assert to make sure this is not called for a 1x1 image.
257
258 2011-04-19  Ryosuke Niwa  <rniwa@webkit.org>
259
260         Reviewed by Ojan Vafai.
261
262         REGRESSION(r83967): Crash in selectionExtentRespectingEditingBoundary
263         https://bugs.webkit.org/show_bug.cgi?id=58910
264
265         The crash was caused by selectionExtentRespectingEditingBoundary's incorrectly assuming that
266         targetNode always have renderer when there selection has an editable root and the target node
267         is outside of the editable root.
268         
269         Fixed the bug by adding an early exit when the target node is null.
270
271         No new tests are added since we don't have a reduction for this crash.
272
273         * page/EventHandler.cpp:
274         (WebCore::selectionExtentRespectingEditingBoundary):
275
276 2011-04-19  Geoffrey Garen  <ggaren@apple.com>
277
278         Try to fix v8 build.
279
280         * bindings/scripts/CodeGeneratorV8.pm: This is a pretty bad system.
281
282 2011-04-19  Enrica Casucci  <enrica@apple.com>
283
284         Reviewed by Ryosuke Niwa.
285
286         REGRESSION(r55762): Highlight color can't be copied in gmail.
287         https://bugs.webkit.org/show_bug.cgi?id=58925
288         <rdar://problem/9253057>
289
290         Test: editing/pasteboard/copy-text-with-backgroundcolor.html
291
292         The changes of r55762 uncovered the underlying issue here. The markup fragment
293         placed in the pasteboard does not contain the background color style.
294         This occurs only if the selection is limited to a single text node, whereas if the
295         selection spans across multiple nodes, the style is preserved correctly.
296         The fix consists in changing the logic that decides whether we should include the wrapping
297         node in the markup. That logic is based on the code in highestAncestorToWrapMarkup which relies
298         on isElementPresentational to choose candidates to be the wrapping node.
299         I've extended it to accept nodes that have non fully transparent background colors.
300
301         * editing/Editor.cpp:
302         (WebCore::Editor::hasTransparentBackgroundColor): Now is a static method of the class.
303         * editing/Editor.h:
304         * editing/markup.cpp:
305         (WebCore::isElementPresentational): Modified to use hasTransparentBackgroundColor.
306
307 2011-04-19  Geoffrey Garen  <ggaren@apple.com>
308
309         Reviewed by Oliver Hunt.
310
311         Removed a use of markDOMObjectWrapper: NodeLists
312         https://bugs.webkit.org/show_bug.cgi?id=58939
313
314         * bindings/js/JSDocumentCustom.cpp:
315         (WebCore::JSDocument::markChildren): No need to mark node lists, because
316         now they use the opaque roots system to decide their lifetimes.
317
318         * bindings/js/JSNamedNodeMapCustom.cpp: Removed stray newline.
319
320         * bindings/js/JSNodeListCustom.cpp:
321         (WebCore::JSNodeListOwner::isReachableFromOpaqueRoots):
322         (WebCore::JSNodeListOwner::finalize):
323         (WebCore::wrapperOwner):
324         (WebCore::wrapperContext):
325         (WebCore::toJS): Use the opaque roots system to avoid relying on
326         markDOMObjectWrapper.
327
328         * dom/DynamicNodeList.cpp:
329         (WebCore::DynamicNodeList::isDynamicNodeList):
330         * dom/DynamicNodeList.h:
331         (WebCore::DynamicNodeList::rootNode): Added the ability to get the node
332         backing a NodeList, for use in the opaque roots system.
333
334         * dom/Node.cpp:
335         * dom/Node.h:
336         * dom/NodeList.h:
337         (WebCore::NodeList::isDynamicNodeList): Ditto. Removed cruft related
338         to the old way of marking NodeLists.
339
340         * dom/NodeList.idl: We need a custom toJS so we can specify a custom
341         WeakHandleOwner at construction time.
342
343 2011-04-19  Antoine Labour  <piman@chromium.org>
344
345         Reviewed by James Robinson.
346
347         For invisible iframes, propagate compositing to parent instead of setting self
348         as root.
349         https://bugs.webkit.org/show_bug.cgi?id=58414
350
351         Tests: compositing/iframes/invisible-iframe.html
352                compositing/iframes/invisible-nested-iframe-hide.html
353                compositing/iframes/invisible-nested-iframe-show.html
354                compositing/iframes/invisible-nested-iframe.html
355
356         * rendering/RenderLayerCompositor.cpp:
357         (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingFrame):
358         Propagate compositing to parent even if frame owner has no renderer.
359
360 2011-04-19  Dan Bernstein  <mitz@apple.com>
361
362         Reviewed by Beth Dakin.
363
364         <rdar://problem/9271848> Crash when the document element is removed
365
366         Test: fast/events/overflow-viewport-renderer-deleted.html
367
368         * page/FrameView.cpp:
369         (WebCore::FrameView::calculateScrollbarModesForLayout): Reset m_viewportRenderer, in case this
370         function takes a code path that doesn’t call applyOverflowToViewport().
371         (WebCore::FrameView::layout): Whitespace change.
372
373 2011-04-19  Beth Dakin  <bdakin@apple.com>
374
375         Reviewed by Maciej Stachowiak.
376
377         https://bugs.webkit.org/show_bug.cgi?id=57898
378         REGRESSION (r82185): Scroll position not restored on navigation back to a page in 
379         the page cache
380         -and corresponding-
381         <rdar://problem/9226652>
382
383         Setting the contentsSize of a ScrollView to (0, 0) necessarily causes the scroll 
384         position to be lost. (The scroll position is computed based on the 
385         visibleContentSize.) This patch provides a mechanism to cache the current scroll 
386         position, and then the HistoryController accesses only the cached position rather 
387         than calling scrollPosition() which does a computation based on the 
388         visibleContentSize. 
389
390         * loader/HistoryController.cpp:
391         (WebCore::HistoryController::saveScrollPositionAndViewStateToItem):
392         * page/FrameView.cpp:
393         (WebCore::FrameView::resetScrollbarsAndClearContentsSize):
394         * platform/ScrollView.h:
395         (WebCore::ScrollView::cacheCurrentScrollPosition):
396         (WebCore::ScrollView::cachedScrollPosition):
397
398 2011-04-19  Renata Hodovan  <reni@webkit.org>
399
400         Reviewed by Eric Seidel.
401
402         Move the alignment related macros in Vector.h to new Alignment.h.
403         https://bugs.webkit.org/show_bug.cgi?id=56000
404
405         Adding the new file to the forwarding headers of WebCore.
406
407         * ForwardingHeaders/wtf/Alignment.h: Added.
408
409 2011-04-19  Oliver Hunt  <oliver@apple.com>
410
411         Reviewed by Andreas Kling.
412
413         [Qt] QtInstance method cache ownership rules are unclear
414         https://bugs.webkit.org/show_bug.cgi?id=58820
415
416         Make the QtInstance method cache use WriteBarrier, and handle
417         ownership properly.
418
419         * bridge/qt/qt_class.cpp:
420         (JSC::Bindings::QtClass::fallbackObject):
421         (JSC::Bindings::QtClass::fieldNamed):
422         * bridge/qt/qt_instance.cpp:
423         (JSC::Bindings::QtInstance::~QtInstance):
424         (JSC::Bindings::QtInstance::removeCachedMethod):
425         (JSC::Bindings::QtInstance::newRuntimeObject):
426         (JSC::Bindings::QtInstance::markAggregate):
427         * bridge/qt/qt_instance.h:
428
429 2011-04-19  David Kilzer  <ddkilzer@apple.com>
430
431         <http://webkit.org/b/57867> Re-order enum ResourceLoadPriority to make Unresolved value less important
432
433         Reviewed by Antti Koivisto.
434
435         * platform/network/ResourceLoadPriority.h:
436         (enum ResourceLoadPriority): Moved Unresolved enum to the top of
437         the list and set to -1 to emphasize the fact that this is an
438         unresolved priority (rather than one higher than the highest
439         priority).  Removed whitespace from the end of all enum lines.
440
441 2011-04-19  Simon Fraser  <simon.fraser@apple.com>
442
443         Reviewed by David Hyatt.
444
445         Background radius is wrong for split inline
446         https://bugs.webkit.org/show_bug.cgi?id=58843
447         
448         When computing the radii for a segment of a split inline, we have to
449         constrain those radii for the current segment, while still drawing
450         using the entire logical width.
451
452         Tests: fast/backgrounds/border-radius-split-background-image.html
453                fast/backgrounds/border-radius-split-background.html
454
455         * rendering/InlineFlowBox.cpp:
456         (WebCore::InlineFlowBox::paintFillLayer):
457         Pass height and width for this box only to paintFillLayer()
458         
459         * rendering/RenderBox.cpp:
460         (WebCore::RenderBox::paintFillLayer):
461         Pass 0 for unused inlineBox height and width.
462
463         * rendering/RenderBoxModelObject.h:
464         * rendering/RenderBoxModelObject.cpp:
465         (WebCore::RenderBoxModelObject::getBackgroundRoundedRect):
466         When computing the rounded background rect, we have to take the size of
467         this segment of the inline box into account for radius constraining.
468         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
469         Call getBackgroundRoundedRect() in two places.
470
471 2011-04-19  Simon Fraser  <simon.fraser@apple.com>
472
473         Build fix. For some reason RenderBoxModelObject.cpp
474         was missing from my last commit.
475
476         * rendering/RenderBoxModelObject.cpp:
477         (WebCore::borderWillArcInnerEdge):
478         (WebCore::edgeFlagForSide):
479         (WebCore::includesEdge):
480         (WebCore::BorderEdge::BorderEdge):
481         (WebCore::BorderEdge::hasVisibleColorAndStyle):
482         (WebCore::BorderEdge::shouldRender):
483         (WebCore::BorderEdge::presentButInvisible):
484         (WebCore::BorderEdge::usedWidth):
485         (WebCore::BorderEdge::getDoubleBorderStripeWidths):
486         (WebCore::edgesShareColor):
487         (WebCore::styleRequiresClipPolygon):
488         (WebCore::borderStyleFillsBorderArea):
489         (WebCore::borderStyleHasInnerDetail):
490         (WebCore::borderStyleIsDottedOrDashed):
491         (WebCore::borderStyleHasUnmatchedColorsAtCorner):
492         (WebCore::colorsMatchAtCorner):
493         (WebCore::willBeOverdrawn):
494         (WebCore::borderStylesRequireMitre):
495         (WebCore::joinRequiresMitre):
496         (WebCore::RenderBoxModelObject::paintOneBorderSide):
497         (WebCore::RenderBoxModelObject::paintBorderSides):
498         (WebCore::RenderBoxModelObject::paintTranslucentBorderSides):
499         (WebCore::RenderBoxModelObject::paintBorder):
500         (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
501         (WebCore::findInnerVertex):
502         (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
503         (WebCore::RenderBoxModelObject::paintBoxShadow):
504
505 2011-04-19  Stephen White  <senorblanco@chromium.org>
506
507         Reviewed by Kenneth Russell.
508
509         Refactor GLES2Canvas state application out into its own function.
510         https://bugs.webkit.org/show_bug.cgi?id=58906
511
512         Covered by existing tests in fast/canvas and canvas/philip.
513
514         * platform/graphics/chromium/GLES2Canvas.cpp:
515         (WebCore::GLES2Canvas::applyState):
516         New function to apply compositing and clipping state.
517         (WebCore::GLES2Canvas::fillPath):
518         (WebCore::GLES2Canvas::fillRect):
519         (WebCore::GLES2Canvas::beginShadowDraw):
520         (WebCore::GLES2Canvas::endShadowDraw):
521         Refactor calls to applyState().
522         * platform/graphics/chromium/GLES2Canvas.h:
523
524 2011-04-19  Simon Fraser  <simon.fraser@apple.com>
525
526         Reviewed by Dave Hyatt.
527
528         Fix multiple border rendering issues
529         https://bugs.webkit.org/show_bug.cgi?id=58761
530         
531         Fix various border-drawing bugs, and optimize some common cases.
532         Also refactors a lot of the border-drawing code to be more maintainable.
533         
534             Rounded border rendering with different border widths looks strange
535             https://bugs.webkit.org/show_bug.cgi?id=17468
536             
537             paintBorder in RenderObject paint two times the corners
538             https://bugs.webkit.org/show_bug.cgi?id=20495
539             
540             Overdraw at box corners when using RGBA colors with alpha
541             https://bugs.webkit.org/show_bug.cgi?id=21835
542             
543             Enable antialiasing for border drawing, when transformed
544             https://bugs.webkit.org/show_bug.cgi?id=22746
545             
546             Drawing border-radius from path sometimes fails to round outer border in the double style when it should
547             https://bugs.webkit.org/show_bug.cgi?id=41301
548             
549             Drawing border-radius from path doesn't appear to always match up border edges correctly
550             https://bugs.webkit.org/show_bug.cgi?id=41302
551             
552         Also fixes
553             Should be able to create Path from RoundedIntRect
554             https://bugs.webkit.org/show_bug.cgi?id=58809
555
556         Tests: fast/borders/border-radius-different-width-001.html
557                fast/borders/border-radius-inset-outset.html
558                fast/borders/table-borders.html
559
560         * platform/graphics/FloatPoint.h:
561         * platform/graphics/FloatPoint.cpp:
562         (WebCore::findSlope):
563         (WebCore::findIntersection):
564         New geometry helper functions (should eventually move into a new
565         GeometryUtilities file).
566         
567         * platform/graphics/Path.h:
568         * platform/graphics/Path.cpp:
569         (WebCore::Path::addRoundedRect):
570         Add an overload of addRoundedRect() that takes a RoundedIntRect.
571
572         * platform/graphics/GraphicsContext.cpp:
573         (WebCore::GraphicsContext::addRoundedRectClip):
574         (WebCore::GraphicsContext::clipOutRoundedRect):
575         (WebCore::GraphicsContext::fillRectWithRoundedHole):
576         Can now add a RoundedIntRect to a Path directly.
577         
578         * platform/graphics/IntRect.h:
579         (WebCore::IntRect::minXMinYCorner):
580         (WebCore::IntRect::maxXMinYCorner):
581         (WebCore::IntRect::minXMaxYCorner):
582         (WebCore::IntRect::maxXMaxYCorner):
583         Convenience functions to get the rect corners, in a writing-mode-
584         friendly way.
585
586         * platform/graphics/RoundedIntRect.h:
587         * platform/graphics/RoundedIntRect.cpp:
588         (WebCore::RoundedIntRect::isRenderable):
589         We need to know when Path::addRoundedRect() will fail because
590         the sum of the radii exceed the height or width. This method tells
591         us that.
592         
593         * platform/graphics/cg/GraphicsContextCG.cpp:
594         (WebCore::GraphicsContext::fillRectWithRoundedHole):
595         Can now add a RoundedIntRect to a Path directly.
596
597         * rendering/RenderBoxModelObject.h:
598         * rendering/RenderBoxModelObject.cpp:
599         (WebCore::borderWillArcInnerEdge):
600         This can just to see if there are inner radii now.
601         
602         (WebCore::edgeFlagForSide):
603         (WebCore::includesEdge):
604         Convenience functions for the BorderEdgeFlags bitmask.
605         
606         (WebCore::BorderEdge::BorderEdge):
607         (WebCore::BorderEdge::hasVisibleColorAndStyle):
608         (WebCore::BorderEdge::shouldRender):
609         (WebCore::BorderEdge::presentButInvisible):
610         (WebCore::BorderEdge::usedWidth):
611         (WebCore::BorderEdge::getDoubleBorderStripeWidths):
612         Convenience class to hold data about how a single edge
613         is drawn, and to contain some commonly used width-related methods.
614         
615         (WebCore::edgesShareColor):
616         (WebCore::styleRequiresClipPolygon):
617         (WebCore::borderStyleFillsBorderArea):
618         (WebCore::borderStyleHasInnerDetail):
619         (WebCore::borderStyleIsDottedOrDashed):
620         (WebCore::borderStyleHasUnmatchedColorsAtCorner):
621         (WebCore::colorsMatchAtCorner):
622         (WebCore::willBeOverdrawn):
623         (WebCore::borderStylesRequireMitre):
624         (WebCore::joinRequiresMitre):
625         Functions used to make the border drawing code more readable,
626         which are used to determine when corners need a mitre, and
627         need antialiasing.
628         
629         (WebCore::RenderBoxModelObject::paintOneBorderSide):
630         Code to paint one side of a border, either via the path, or
631         using rects/polygons, the appropriate mitres and antialiasing
632         at the corners. includeLogicalLeftEdge and includeLogicalRightEdge need
633         to be passed all the way down here so that when we recompute the
634         path for double and ridge/groove borders, we correctly handle split box
635         borders.
636         
637         (WebCore::RenderBoxModelObject::paintBorderSides):
638         Paints the 4 border sides (if present).
639         
640         (WebCore::RenderBoxModelObject::paintTranslucentBorderSides):
641         Called when one or more of the borders has a non-opaque color,
642         and uses a transparency layer for each set of same-colored
643         sides to avoid overdraw at the corners.
644         
645         (WebCore::RenderBoxModelObject::paintBorder):
646         Builds an array of BorderEdge so we can iterate over them to 
647         detect different border compbinations, and optimizations. Has
648         a fast path for all-solid borders.
649         
650         (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
651         Moved from RenderObject, since all callers are in RenderBoxModelObject.
652         Has the following changes:
653           * Don't attempt to draw dashes if there is only space for a few,
654             since it looks bad.
655           * Handle double and groove borders on split inlines correctly,
656             making use of includeLogicalLeftEdge, includeLogicalRightEdge
657
658         (WebCore::findInnerVertex):
659         For borders with a radiused inner edge, the per-side clip polygon
660         has to project inside the padding box to avoid clipping the inner edge.
661         This function computes a reasonable inner corner for the clipping
662         polygon.
663         (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
664         Have the corner joins pass through the corners of the inner and outer
665         border rectangles, ensure we don't clip the inside if necessary,
666         and handle antialiasing on the two mitres.
667         
668         (WebCore::RenderBoxModelObject::paintBoxShadow):
669         Use RenderStyle::getRoundedInnerBorderFor() rather than computeBorderInnerRect()
670         etc.
671
672         * rendering/RenderObject.h:
673         * rendering/RenderObject.cpp:
674         (WebCore::RenderObject::drawLineForBoxSide):
675         Moved to RenderBoxModelObject.
676         
677         * rendering/style/RenderStyle.h:
678         * rendering/style/RenderStyle.cpp:
679         (WebCore::RenderStyle::getRoundedBorderFor):
680         (WebCore::RenderStyle::getRoundedInnerBorderFor):
681         There was some very clumsy code that computed a rounded rect
682         given the border rect and side widths. Cleaned this up by moving
683         some code into RenderStyle. The overloaded getRoundedInnerBorderFor()
684         which takes the border widths is used by the double and groove drawing
685         code.
686
687 2011-04-19  Ryosuke Niwa  <rniwa@webkit.org>
688
689         Reviewed by Dimitri Glazkov.
690
691         REGRESSION(r74228-75294): removing nodes is 200+ times slower when selection is inside a shadow DOM
692         https://bugs.webkit.org/show_bug.cgi?id=57061
693
694         The bug was caused by Range::compareNode's incorrectly returning NODE_INSIDE when the selection is inside
695         a shadow DOM and the node is outside of the shadow DOM. This caused respondToNodeModification to call
696         RenderView::clearSelection every time a node is removed when selection is in a shadow DOM and resulted in
697         a significant performance regression.
698
699         Fixed Ranged::compareNode by making Range::compareBoundaryPoints throw a WRONG_DOCUMENT_ERR when there are
700         no common ancestors between containerA and containerB. This will force compareNode to also throw an exception
701         and prevents respondToNodeModification from clearing selection.
702
703         No new tests because this is a performance improvement and the fix in Range cannot be tested since shadow DOM
704         isn't exposed to JavaScript.
705
706         * dom/Range.cpp:
707         (WebCore::Range::setStart): Calls compareBoundaryPoints; since we ensures that the root container noes of
708         start and end nodes are same, we should never get an exception from compareBoundaryPoints.
709         (WebCore::Range::setEnd): Ditto.
710         (WebCore::Range::isPointInRange): Calls compareBoundaryPoints; returns false when compareBoundaryPoints
711         throws an exception.
712         (WebCore::Range::comparePoint): Calls compareBoundaryPoints; exit early when an exception is thrown by
713         compareBoundaryPoints.
714         (WebCore::Range::compareBoundaryPoints): Throws an exception when two containers do not have a common ancestor.
715         (WebCore::Range::boundaryPointsValid): Calls compareBoundaryPoints and checks that it didn't throw an exception.
716         * dom/Range.h:
717         * editing/SelectionController.cpp:
718         (WebCore::SelectionController::respondToNodeModification):
719         * editing/htmlediting.cpp:
720         (WebCore::comparePositions): Calls compareBoundaryPoints.
721         * editing/markup.cpp:
722         (WebCore::createMarkup): Calls compareBoundaryPoints; since startNode and pastEnd are both in the same document
723         and neither are in a shadow DOM, it should never throw an exception.
724         * page/DOMSelection.cpp:
725         (WebCore::DOMSelection::containsNode): Calls compareBoundaryPoints; node is fully selected only if no exception
726         was thrown.
727
728 2011-04-19  Jungshik Shin  <jshin@chromium.org>
729
730         Reviewed by David Levin
731
732         Make U+FEFF be treated as a zero-width character in both
733         simple script and complex script code paths. In Chromium
734         Windows, UniscribeHelper needs a rather extensive changes
735         summarized below.  Other ports need minor changes.
736
737         https://bugs.webkit.org/show_bug.cgi?id=48860
738
739         Test: fast/text/zero-width-characters-complex-script.html
740
741         * platform/graphics/Font.h:
742         (WebCore::Font::treatAsZeroWidthSpace): U+FEFF is added to the list
743         (WebCore::Font::treatAsZeroWidthSpaceInComplexScript): Added. Same as the above except that ZWNJ and ZWJ are excluded.
744         * platform/graphics/GlyphPageTreeNode.cpp:
745         (WebCore::GlyphPageTreeNode::initializePage): U+FEFF is made to have zero-width characters in simple script (fast) code path.
746         * platform/graphics/chromium/FontUtilsChromiumWin.cpp:
747         (WebCore::FontMap::getSpaceGlyph): Added to get the gid for space glyph to use in adjustSpaceAdvance when zero-width glyph character has a non-zero width and potentially 'visible' glyph.
748         (WebCore::FontMap::FontData::FontData): spaceGlyph member added.
749         (WebCore::getDerivedFontData): spaceGlyph is retrieved as well.
750         * platform/graphics/chromium/FontUtilsChromiumWin.h:
751         * platform/graphics/chromium/UniscribeHelper.cpp:
752         (WebCore::UniscribeHelper::UniscribeHelper): m_spaceGlyph added.
753         (WebCore::UniscribeHelper::shape): spaceGlyph is obtained stored for a font tried for each item.
754         (WebCore::UniscribeHelper::adjustSpaceAdvances): For zero-width complex script characters, set the advance width to zero and replace a non-zero-width/visible glyph with a space glyph.
755         (WebCore::UniscribeHelper::applySpacing):
756         (WebCore::UniscribeHelper::containsMissingGlyphs): turned to a member function because it cannot work on glyphs alone any more but need to take into account a character corresponding to a glyph
757         * platform/graphics/chromium/UniscribeHelper.h: 
758         (WebCore::UniscribeHelper::Shaping::Shaping): m_spaceGlyph is added
759         * platform/graphics/chromium/UniscribeHelperTextRun.cpp:
760         (WebCore::UniscribeHelperTextRun::UniscribeHelperTextRun): When calling UniscriberHelper, add a new argument for spaceGlyph.
761
762 2011-04-19  Brent Fulgham  <bfulgham@webkit.org>
763
764         Reviewed by Adam Roben.
765
766         Extend the DIBPixelData class with the facility for writing the
767         bitmap representation to disk for debugging purposes.
768         https://bugs.webkit.org/show_bug.cgi?id=58862.
769
770         * platform/graphics/win/DIBPixelData.cpp:
771         (WebCore::DIBPixelData::writeToFile): New function.
772         * platform/graphics/win/DIBPixelData.h:
773
774 2011-04-19  Vsevolod Vlasov  <vsevik@chromium.org>
775
776         Reviewed by Pavel Feldman.
777
778         Web Inspector: Rename lengthReceived to encodedDataLength/dataLength
779         https://bugs.webkit.org/show_bug.cgi?id=58883
780
781         * fileapi/FileReaderLoader.cpp:
782         (WebCore::FileReaderLoader::didReceiveData):
783         * inspector/InspectorInstrumentation.cpp:
784         (WebCore::InspectorInstrumentation::didReceiveContentLengthImpl):
785         * inspector/InspectorInstrumentation.h:
786         (WebCore::InspectorInstrumentation::didReceiveContentLength):
787         * inspector/InspectorResourceAgent.cpp:
788         (WebCore::InspectorResourceAgent::didReceiveContentLength):
789         * inspector/InspectorResourceAgent.h:
790         * inspector/front-end/NetworkManager.js:
791         (WebInspector.NetworkDispatcher.prototype.dataReceived):
792         * loader/DocumentThreadableLoader.cpp:
793         (WebCore::DocumentThreadableLoader::didReceiveData):
794         (WebCore::DocumentThreadableLoader::didReceiveCachedMetadata):
795         * loader/DocumentThreadableLoader.h:
796         * loader/FrameLoaderClient.h:
797         * loader/MainResourceLoader.cpp:
798         (WebCore::MainResourceLoader::didReceiveData):
799         * loader/MainResourceLoader.h:
800         * loader/NetscapePlugInStreamLoader.cpp:
801         (WebCore::NetscapePlugInStreamLoader::didReceiveData):
802         * loader/NetscapePlugInStreamLoader.h:
803         * loader/ResourceLoadNotifier.cpp:
804         (WebCore::ResourceLoadNotifier::didReceiveData):
805         (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
806         (WebCore::ResourceLoadNotifier::sendRemainingDelegateMessages):
807         * loader/ResourceLoadNotifier.h:
808         * loader/ResourceLoader.cpp:
809         (WebCore::ResourceLoader::didReceiveData):
810         * loader/ResourceLoader.h:
811         * loader/SubresourceLoader.cpp:
812         (WebCore::SubresourceLoader::didReceiveData):
813         * loader/SubresourceLoader.h:
814         * loader/SubresourceLoaderClient.h:
815         (WebCore::SubresourceLoaderClient::didReceiveData):
816         (WebCore::SubresourceLoaderClient::didReceiveCachedMetadata):
817         * loader/WorkerThreadableLoader.cpp:
818         (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData):
819         (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveCachedMetadata):
820         * loader/appcache/ApplicationCacheGroup.cpp:
821         (WebCore::ApplicationCacheGroup::didReceiveData):
822         * loader/appcache/ApplicationCacheGroup.h:
823         * loader/appcache/ApplicationCacheHost.h:
824         * notifications/Notification.cpp:
825         (WebCore::Notification::didReceiveData):
826         * notifications/Notification.h:
827         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
828         (StreamingClient::didReceiveData):
829         * platform/network/BlobResourceHandle.cpp:
830         * platform/network/ResourceHandleClient.h:
831         (WebCore::ResourceHandleClient::didReceiveData):
832         * platform/network/android/ResourceHandleAndroid.cpp:
833         (WebCore::SyncLoader::didReceiveData):
834         * platform/network/cf/ResourceHandleCFNet.cpp:
835         (WebCore::WebCoreSynchronousLoaderClient::didReceiveData):
836         * platform/network/curl/ResourceHandleCurl.cpp:
837         * platform/network/mac/ResourceHandleMac.mm:
838         (WebCoreSynchronousLoaderClient::didReceiveData):
839         * platform/network/soup/ResourceHandleSoup.cpp:
840         * platform/network/win/ResourceHandleWin.cpp:
841         * workers/WorkerScriptLoader.h:
842         * xml/XMLHttpRequest.h:
843
844 2011-04-19  Stephen White  <senorblanco@chromium.org>
845
846         Reviewed by Eric Seidel.
847
848         Pull framebuffer clearing out into its own function.
849         https://bugs.webkit.org/show_bug.cgi?id=58897
850
851         Covered by fast/canvas and canvas/philip tests.
852
853         * platform/graphics/gpu/DrawingBuffer.cpp:
854         (WebCore::DrawingBuffer::clearFramebuffer):
855         (WebCore::DrawingBuffer::reset):
856         * platform/graphics/gpu/DrawingBuffer.h:
857
858 2011-04-19 Brian Salomon <bsalomon@google.com>
859
860         Reviewed by Eric Seidel.
861
862         When flushing GrContext in ~PlatformContextSkia be sure correct GL context is set
863         https://bugs.webkit.org/show_bug.cgi?id=58788
864
865         Chromium browser test will be added that loads canvas page and then an 
866         acclerated-composited page. Test must trigger ~PlatformContextSkia() 
867         followed by invocation of GL compositor.
868
869         * platform/graphics/skia/PlatformContextSkia.cpp:
870         (WebCore::PlatformContextSkia::~PlatformContextSkia):
871
872 2011-04-19  Csaba Osztrogonác  <ossy@webkit.org>
873
874         [Qt] REGRESSION(84176): http/tests/xmlhttprequest/event-listener-gc.html fails
875         https://bugs.webkit.org/show_bug.cgi?id=58871
876
877         Unreviewed, rolling out r84176, r84178, r84186, r84212 and r84231.
878         http://trac.webkit.org/changeset/84176 (original patch)
879         http://trac.webkit.org/changeset/84178 (original patch - part 2)
880         http://trac.webkit.org/changeset/84186 (build fix)
881         http://trac.webkit.org/changeset/84212
882         http://trac.webkit.org/changeset/84231 (skip failing test)
883
884         original bugs:
885          - https://bugs.webkit.org/show_bug.cgi?id=58718
886          - https://bugs.webkit.org/show_bug.cgi?id=58853
887
888         * bridge/qt/qt_class.cpp:
889         (JSC::Bindings::QtClass::fallbackObject):
890         * bridge/qt/qt_instance.cpp:
891         (JSC::Bindings::QtInstance::removeCachedMethod):
892         (JSC::Bindings::QtInstance::markAggregate):
893         * bridge/qt/qt_instance.h:
894
895 2011-04-19  Sheriff Bot  <webkit.review.bot@gmail.com>
896
897         Unreviewed, rolling out r84050.
898         http://trac.webkit.org/changeset/84050
899         https://bugs.webkit.org/show_bug.cgi?id=58892
900
901         fast/dom/HTMLKeygenElement/keygen.html is crashing on Chromium
902         (Requested by jknotten on #webkit).
903
904         * dom/ContainerNode.cpp:
905         (WebCore::ContainerNode::takeAllChildrenFrom):
906         (WebCore::ContainerNode::removeBetween):
907         (WebCore::ContainerNode::removeChildren):
908         (WebCore::ContainerNode::parserAddChild):
909         * dom/Document.cpp:
910         (WebCore::Document::Document):
911         (WebCore::Document::~Document):
912         (WebCore::Document::setDocType):
913         * dom/Element.h:
914         * dom/Node.cpp:
915         (WebCore::Node::treeScope):
916         (WebCore::Node::setTreeScope):
917         (WebCore::Node::setTreeScopeRecursively):
918         * dom/Node.h:
919         (WebCore::Node::document):
920         * dom/ShadowRoot.cpp:
921         (WebCore::ShadowRoot::ShadowRoot):
922         * dom/ShadowRoot.h:
923         * dom/TreeScope.cpp:
924         (WebCore::TreeScope::TreeScope):
925         (WebCore::TreeScope::setParentTreeScope):
926         * dom/TreeScope.h:
927         * rendering/RenderSlider.cpp:
928
929 2011-04-19  Kinuko Yasuda  <kinuko@chromium.org>
930
931         Not reviewed; windows build fix attempt.
932
933         * storage/StorageInfo.cpp:
934         (WebCore::StorageInfo::~StorageInfo):
935         * storage/StorageInfo.h:
936
937 2011-04-19  Kinuko Yasuda  <kinuko@chromium.org>
938
939         Reviewed by David Levin.
940
941         [Chromium] Enable QUOTA API at runtime if enable-quota flag is given
942         https://bugs.webkit.org/show_bug.cgi?id=58784
943
944         No new tests as this does not change any functionality.
945
946         * bindings/generic/RuntimeEnabledFeatures.cpp:
947         * bindings/generic/RuntimeEnabledFeatures.h:
948         (WebCore::RuntimeEnabledFeatures::quotaEnabled):
949         (WebCore::RuntimeEnabledFeatures::setQuotaEnabled):
950         * page/DOMWindow.idl:
951
952 2011-04-19  John Gregg  <johnnyg@google.com>
953
954         Reviewed by Darin Fisher.
955
956         Enable folder drag-n-drop when using a "webkitdirectory" file input
957         https://bugs.webkit.org/show_bug.cgi?id=58401
958
959         This uses a new ChromeClient API to enumerate the directory and 
960         return all the files, as if the user had selected that directory
961         by clicking the control in the normal way.
962
963         * loader/EmptyClients.h:
964         (WebCore::EmptyChromeClient::enumerateChosenDirectory):
965         * page/Chrome.cpp:
966         (WebCore::Chrome::enumerateChosenDirectory):
967         * page/Chrome.h:
968         * page/ChromeClient.h:
969         * platform/network/FormData.cpp:
970         (WebCore::FormData::appendKeyValuePairItems):
971         * rendering/RenderFileUploadControl.cpp:
972         (WebCore::RenderFileUploadControl::receiveDropForDirectoryUpload):
973         (WebCore::RenderFileUploadControl::receiveDroppedFiles):
974         * rendering/RenderFileUploadControl.h:
975
976 2011-04-19  Sheriff Bot  <webkit.review.bot@gmail.com>
977
978         Unreviewed, rolling out r84150.
979         http://trac.webkit.org/changeset/84150
980         https://bugs.webkit.org/show_bug.cgi?id=58875
981
982         Broken backspace in Search box of Web Inspector (Requested by
983         apavlov on #webkit).
984
985         * inspector/front-end/inspector.js:
986         (WebInspector.documentKeyDown):
987
988 2011-04-19  Andrey Adaikin  <aandrey@google.com>
989
990         Reviewed by Pavel Feldman.
991
992         Web Inspector: NPE in TextEditorModel
993         https://bugs.webkit.org/show_bug.cgi?id=58870
994
995         * inspector/front-end/ResourcesPanel.js:
996         (WebInspector.ResourcesPanel.prototype._frameAdded):
997         * inspector/front-end/TextEditorModel.js:
998         (WebInspector.TextEditorModel.prototype.setText):
999
1000 2011-04-19  Hans Wennborg  <hans@chromium.org>
1001
1002         Reviewed by Tony Gentilcore.
1003
1004         IndexedDB: Remove accidental header include directive from LevelDB backend.
1005         https://bugs.webkit.org/show_bug.cgi?id=58872
1006
1007         No new functionality, no new tests.
1008
1009         * storage/IDBLevelDBBackingStore.cpp:
1010
1011 2011-04-19  Herczeg Zoltan  <zherczeg@webkit.org>
1012
1013         Build fix.
1014
1015         LEFilter change doesn't compile on ARM neon targets
1016         https://bugs.webkit.org/show_bug.cgi?id=58671
1017
1018         Thanks for Charlie Lee to fixing this.
1019
1020         * WebCore.gypi:
1021
1022 2011-04-19  Daniel Bates  <dbates@webkit.org>
1023
1024         Attempt to fix the Qt Linux Release Minimal build after changeset 84225
1025         <http://trac.webkit.org/changeset/84225> (https://bugs.webkit.org/show_bug.cgi?id=52788).
1026
1027         * dom/EventDispatcher.cpp:
1028         (WebCore::EventDispatcher::ensureEventAncestors): Add ENABLE(SVG) guards around call
1029         to Node::svgShadowHost() since this method is only defined when building with SVG enabled.
1030
1031 2011-04-18  Dominic Cooney  <dominicc@chromium.org>
1032
1033         Reviewed by Dimitri Glazkov.
1034
1035         Makes SVG shadow roots and DOM shadow roots distinct.
1036         https://bugs.webkit.org/show_bug.cgi?id=52788
1037
1038         Not a functional change. Covered by existing SVG tests.
1039
1040         * dom/EventDispatcher.cpp:
1041         (WebCore::findElementInstance):
1042         (WebCore::EventDispatcher::adjustToShadowBoundaries):
1043         (WebCore::EventDispatcher::adjustRelatedTarget):
1044         (WebCore::EventDispatcher::ensureEventAncestors):
1045         * dom/Node.cpp:
1046         (WebCore::Node::setShadowHost):
1047         (WebCore::Node::svgShadowHost):
1048         (WebCore::Node::shadowTreeRootNode):
1049         * dom/Node.h:
1050         (WebCore::Node::isSVGShadowRoot):
1051         (WebCore::Node::parentNode):
1052         (WebCore::Node::parentNodeGuaranteedHostFree):
1053         * rendering/svg/RenderSVGShadowTreeRootContainer.cpp:
1054         (WebCore::RenderSVGShadowTreeRootContainer::~RenderSVGShadowTreeRootContainer):
1055         (WebCore::RenderSVGShadowTreeRootContainer::updateFromElement):
1056         * rendering/svg/SVGShadowTreeElements.cpp:
1057         (WebCore::SVGShadowTreeRootElement::SVGShadowTreeRootElement):
1058         (WebCore::SVGShadowTreeRootElement::create):
1059         (WebCore::SVGShadowTreeRootElement::attachElement):
1060         (WebCore::SVGShadowTreeRootElement::clearSVGShadowHost):
1061         * rendering/svg/SVGShadowTreeElements.h:
1062         (WebCore::SVGShadowTreeRootElement::isSVGShadowRoot):
1063         * svg/SVGStyledElement.cpp:
1064         (WebCore::SVGStyledElement::title):
1065
1066 2011-04-18  Taiju TSUIKI  <develop@tzik.jp>
1067
1068         Reviewed by Darin Fisher.
1069
1070         Vendor-prefix requestFileSystem in FileSystem API
1071         https://bugs.webkit.org/show_bug.cgi?id=58517
1072
1073         Prefix from:
1074         - window.requestFileSystem to window.webkitRequestFileSystem
1075         - window.resolveLocalFileSystemURL to window.webkitResolveLocalFileSystemURL
1076         - window.Flags to window.WebKitFlags
1077         - WorkerContext.requestFileSystem to WorkerContext.webkitRequestFileSystem
1078         - WorkerContext.resolveLocalFileSystemURL to WorkerContext.webkitResolveLocalFileSystemURL
1079         - WorkerContext.Flags to WorkerContext.WebKitFlags
1080
1081         * CMakeLists.txt:
1082         * CodeGenerators.pri:
1083         * DerivedSources.cpp:
1084         * DerivedSources.make:
1085         * GNUmakefile.list.am:
1086         * WebCore.gypi:
1087         * WebCore.pro:
1088         * WebCore.vcproj/WebCore.vcproj:
1089         * WebCore.xcodeproj/project.pbxproj:
1090         * bindings/js/JSDirectoryEntryCustom.cpp:
1091         (WebCore::JSDirectoryEntry::getFile):
1092         (WebCore::JSDirectoryEntry::getDirectory):
1093         * bindings/js/JSDirectoryEntrySyncCustom.cpp:
1094         (WebCore::getFlags):
1095         (WebCore::JSDirectoryEntrySync::getFile):
1096         (WebCore::JSDirectoryEntrySync::getDirectory):
1097         * bindings/v8/custom/V8DirectoryEntryCustom.cpp:
1098         (WebCore::V8DirectoryEntry::getDirectoryCallback):
1099         (WebCore::V8DirectoryEntry::getFileCallback):
1100         * bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp:
1101         (WebCore::getFlags):
1102         (WebCore::V8DirectoryEntrySync::getDirectoryCallback):
1103         (WebCore::V8DirectoryEntrySync::getFileCallback):
1104         * fileapi/DOMFileSystemBase.cpp:
1105         (WebCore::DOMFileSystemBase::getFile):
1106         (WebCore::DOMFileSystemBase::getDirectory):
1107         * fileapi/DOMFileSystemBase.h:
1108         * fileapi/DirectoryEntry.cpp:
1109         (WebCore::DirectoryEntry::getFile):
1110         (WebCore::DirectoryEntry::getDirectory):
1111         * fileapi/DirectoryEntry.h:
1112         * fileapi/DirectoryEntry.idl:
1113         * fileapi/DirectoryEntrySync.cpp:
1114         (WebCore::DirectoryEntrySync::getFile):
1115         (WebCore::DirectoryEntrySync::getDirectory):
1116         * fileapi/DirectoryEntrySync.h:
1117         * fileapi/DirectoryEntrySync.idl:
1118         * fileapi/WebKitFlags.h: Renamed from Source/WebCore/fileapi/Flags.h.
1119         (WebCore::WebKitFlags::create):
1120         (WebCore::WebKitFlags::isCreate):
1121         (WebCore::WebKitFlags::setCreate):
1122         (WebCore::WebKitFlags::isExclusive):
1123         (WebCore::WebKitFlags::setExclusive):
1124         (WebCore::WebKitFlags::WebKitFlags):
1125         * fileapi/WebKitFlags.idl: Renamed from Source/WebCore/fileapi/Flags.idl.
1126         * page/DOMWindow.cpp:
1127         (WebCore::DOMWindow::webkitRequestFileSystem):
1128         (WebCore::DOMWindow::webkitResolveLocalFileSystemURL):
1129         * page/DOMWindow.h:
1130         * page/DOMWindow.idl:
1131         * workers/WorkerContext.cpp:
1132         (WebCore::WorkerContext::webkitRequestFileSystem):
1133         (WebCore::WorkerContext::webkitRequestFileSystemSync):
1134         (WebCore::WorkerContext::webkitResolveLocalFileSystemURL):
1135         (WebCore::WorkerContext::webkitResolveLocalFileSystemSyncURL):
1136         * workers/WorkerContext.h:
1137         * workers/WorkerContext.idl:
1138
1139 2011-04-18  Steve Lacey  <sjl@chromium.org>
1140
1141         Reviewed by Dimitri Glazkov.
1142
1143         Decouple media controls usage from implementation.
1144         This allows each port to implement thier own controls in a different
1145         manner to the default webkit implementation.
1146
1147         Convert media controls hooks to a client interface
1148         https://bugs.webkit.org/show_bug.cgi?id=58346
1149
1150         No new tests as there is no functional change.
1151
1152         * Android.mk:
1153         * CMakeLists.txt:
1154         * GNUmakefile.list.am:
1155         * WebCore.gypi:
1156         * WebCore.pro:
1157         * WebCore.vcproj/WebCore.vcproj:
1158         * WebCore.xcodeproj/project.pbxproj:
1159         * html/HTMLMediaElement.cpp:
1160         (WebCore::HTMLMediaElement::mediaControls):
1161         (WebCore::HTMLMediaElement::ensureMediaControls):
1162         (WebCore::HTMLMediaElement::preDispatchEventHandler):
1163         * html/HTMLMediaElement.h:
1164         * html/shadow/MediaControlElements.cpp:
1165         (WebCore::MediaControlPanelMuteButtonElement::MediaControlPanelMuteButtonElement):
1166         (WebCore::MediaControlPanelMuteButtonElement::create):
1167         (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
1168         (WebCore::MediaControlTimelineElement::create):
1169         (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement):
1170         (WebCore::MediaControlFullscreenButtonElement::create):
1171         * html/shadow/MediaControlElements.h:
1172         * html/shadow/MediaControlRootElement.cpp:
1173         (WebCore::MediaControlRootElement::MediaControlRootElement):
1174         (WebCore::MediaControls::create):
1175         * html/shadow/MediaControlRootElement.h:
1176         * html/shadow/MediaControls.cpp: Added.
1177         (WebCore::MediaControls::MediaControls):
1178         * html/shadow/MediaControls.h: Added.
1179         (WebCore::MediaControls::~MediaControls):
1180
1181 2011-04-18  Pascal Massimino  <pascal.massimino@gmail.com>
1182
1183         Reviewed by Adam Barth.
1184
1185         Add incremental decoding to WebP decoder
1186         https://bugs.webkit.org/show_bug.cgi?id=58851
1187
1188         No new tests, as it's not possible for the layout test framework to
1189         force the decoders to decode incrementally.
1190
1191         * platform/image-decoders/webp/WEBPImageDecoder.cpp:
1192         (WebCore::WEBPImageDecoder::WEBPImageDecoder):
1193         (WebCore::WEBPImageDecoder::decode):
1194         * platform/image-decoders/webp/WEBPImageDecoder.h:
1195
1196 2011-04-18  Daniel Bates  <dbates@rim.com>
1197
1198         Reviewed by Adam Roben.
1199
1200         With PAN_SCROLLING, mousedown events for a mouse button aren't dispatched while
1201         pressing-and-holding another mouse button
1202         https://bugs.webkit.org/show_bug.cgi?id=58700
1203
1204         Fixes an issue where mousedown events weren't dispatched when pressing a mouse button A
1205         while pressing and holding a mouse button B, where A != B. This issue only affects builds
1206         that enable PAN_SCROLLING.
1207
1208         On mouse press with autoscroll in progress (m_autoscrollInProgress == true) we stopped
1209         the autoscroll timer, invalidated the click, and swallowed the mouse press. Instead, we
1210         should only stop the autoscroll timer.
1211
1212         Test: fast/events/fire-mousedown-while-pressing-mouse-button.html
1213
1214         * page/EventHandler.cpp:
1215         (WebCore::EventHandler::handleMousePressEvent):
1216
1217 2011-04-18  Jon Lee  <jonlee@apple.com>
1218
1219         Reviewed by Maciej Stachowiak.
1220
1221         With overlay scrollbars, textarea resize corner gains borders when the textarea becomes scrollable
1222         https://bugs.webkit.org/show_bug.cgi?id=58617
1223         <rdar://problem/9048012>
1224
1225         * rendering/RenderLayer.cpp:
1226         (WebCore::RenderLayer::paintResizer): Check for overlay scrollbars first, and then if the bars were created, before displaying the borders
1227
1228 2011-04-18  Jon Lee  <jonlee@apple.com>
1229
1230         Reviewed by Maciej Stachowiak.
1231
1232         Selected item background in list box gets rendered on top of overlay scrollbar knob (58824)
1233         https://bugs.webkit.org/show_bug.cgi?id=58824
1234         <rdar://problem/9292680>
1235
1236         * rendering/RenderListBox.cpp:
1237         (WebCore::RenderListBox::paintObject): Moving the stage of painting the scrollbars to the foreground if using overlay scrollbars
1238
1239 2011-04-18  John Bauman  <jbauman@chromium.org>
1240
1241         Reviewed by Kenneth Russell.
1242
1243         Don't cast BitmapImageSingleFrameSkia to BitmapImage
1244         https://bugs.webkit.org/show_bug.cgi?id=58821
1245
1246         BitmapImageSingleFrameSkia has isBitmap return true, but
1247         can't be cast to a BitmapImage. Instead of using BitmapImage,
1248         use isOpaque from SkBitmap to determine if the image has alpha.
1249
1250         No new tests.
1251
1252         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
1253         (WebCore::GraphicsContext3D::getImageData):
1254
1255 2011-04-18  Jessie Berlin  <jberlin@apple.com>
1256
1257         Reviewed by Steve Falkenburg.
1258
1259         If deleting the StorageTracker.db file fails, local storage is left in a strange state.
1260         https://bugs.webkit.org/show_bug.cgi?id=58805
1261
1262         * storage/StorageTracker.cpp:
1263         (WebCore::StorageTracker::syncFileSystemAndTrackerDatabase):
1264         When cleaning up the StorageTracker.db file, is not enough to call syncDeleteOrigin.
1265         deleteOrigin itself must be called to update the data structures that syncDeleteOrigin
1266         depends on and to prevent clashes between a theoretical web page editing local storage
1267         at the same time this method is called.
1268         (WebCore::StorageTracker::syncDeleteAllOrigins):
1269         If it is not possible to delete the StorageTracker.db file, empty it.
1270         (WebCore::StorageTracker::deleteOriginOnMainThread):
1271         Wrapper for deleteOrigin.
1272         * storage/StorageTracker.h:
1273
1274 2011-04-18  Geoffrey Garen  <ggaren@apple.com>
1275
1276         Build fix.
1277
1278         Added back missing #include.
1279
1280         * bindings/js/DOMWrapperWorld.cpp:
1281
1282 2011-04-18  Enrica Casucci  <enrica@apple.com>
1283
1284         Reviewed by Maciej Stachowiak.
1285
1286         Dropping a file in a WKView (WebKit2) doesn't load the file.
1287         https://bugs.webkit.org/show_bug.cgi?id=58842
1288         <rdar://problem/8514409>
1289         
1290         The URL string for the file contains an extra %00 at the end
1291         that causes the network framework to fail to load the file.
1292         
1293         * platform/win/ClipboardUtilitiesWin.cpp:
1294         (WebCore::getURL):
1295
1296 2011-04-18  Geoffrey Garen  <ggaren@apple.com>
1297
1298         Discovered and rubber-stamped by Stephanie Lewis.
1299
1300         Restored some code I accidentally deleted in <http://trac.webkit.org/changeset/83990>
1301
1302         * bindings/js/DOMWrapperWorld.cpp:
1303         (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
1304         (WebCore::DOMWrapperWorld::clearWrappers): Do clear / destroy all our
1305         window shells when clearing / destroying ourselves. r83990 removed this
1306         behavior for documents since there are no per-document maps anymore,
1307         but removing this behavior for window shells too was a typo.
1308
1309 2011-04-18  Geoffrey Garen  <ggaren@apple.com>
1310
1311         Reviewed by Oliver Hunt.
1312
1313         Made DOM handle ownership customizable, and customized it for Nodes and NamedAttrMaps
1314         https://bugs.webkit.org/show_bug.cgi?id=58828
1315
1316         * WebCore.exp.in: Blah.
1317
1318         * bindings/js/DOMWrapperWorld.cpp: Moved code related to JSNode ownership
1319         to JSNodeCustom, where other custom JSNode-related code goes.
1320
1321         (WebCore::JSDOMWrapperOwner::finalize):
1322         (WebCore::DOMWrapperWorld::DOMWrapperWorld):
1323         * bindings/js/DOMWrapperWorld.h:
1324         (WebCore::JSDOMWrapperOwner::JSDOMWrapperOwner):
1325         (WebCore::DOMWrapperWorld::defaultWrapperOwner): Renamed DOMObjectHandleOwner
1326         to JSDOMWrapperOwner, to match the name of JSDOMWrapper.
1327
1328         * bindings/js/JSArrayBufferViewHelper.h:
1329         (WebCore::toJSArrayBufferView):
1330         * bindings/js/JSCSSRuleCustom.cpp:
1331         (WebCore::toJS):
1332         * bindings/js/JSCSSValueCustom.cpp:
1333         (WebCore::toJS):
1334         * bindings/js/JSCanvasRenderingContextCustom.cpp:
1335         (WebCore::toJS): Removed "DOMObject" and "Node" from the names of wrapper-
1336         related functions, since there is no meaningful distinction between the
1337         two anymore -- they both use the same extensible interface.
1338         
1339         * bindings/js/JSDOMBinding.cpp: Removed some now-unused functions.
1340
1341         * bindings/js/JSDOMBinding.h:
1342         (WebCore::getInlineCachedWrapper):
1343         (WebCore::setInlineCachedWrapper):
1344         (WebCore::clearInlineCachedWrapper):
1345         (WebCore::wrapperOwner):
1346         (WebCore::wrapperContext):
1347         (WebCore::getCachedWrapper):
1348         (WebCore::cacheWrapper):
1349         (WebCore::uncacheWrapper):
1350         (WebCore::createWrapper):
1351         (WebCore::wrap): Created a generic, extensible mechanism for creating,
1352         caching, retrieving, marking, and destroying DOM wrappers. This eliminates
1353         the difference between DOM object wrappers and DOM node wrappers, and
1354         lays the groundwork for getting rid of MarkStack::deprecatedAppend usage
1355         for marking the remainder of our DOM objects.
1356         
1357         * bindings/js/JSDOMWindowCustom.cpp:
1358         (WebCore::JSDOMWindow::history):
1359         (WebCore::JSDOMWindow::location):
1360         * bindings/js/JSDataViewCustom.cpp:
1361         (WebCore::toJS):
1362         * bindings/js/JSDocumentCustom.cpp:
1363         (WebCore::JSDocument::location):
1364         (WebCore::toJS):
1365         * bindings/js/JSElementCustom.cpp:
1366         (WebCore::toJSNewlyCreated):
1367         * bindings/js/JSEventCustom.cpp:
1368         (WebCore::toJS):
1369         * bindings/js/JSHTMLCollectionCustom.cpp:
1370         (WebCore::toJS):
1371         * bindings/js/JSImageDataCustom.cpp:
1372         (WebCore::toJS): Updated for renames mentioned above.
1373
1374         * bindings/js/JSNamedNodeMapCustom.cpp:
1375         (WebCore::JSNamedNodeMapOwner::isReachableFromOpaqueRoots):
1376         (WebCore::JSNamedNodeMapOwner::finalize):
1377         (WebCore::wrapperOwner):
1378         (WebCore::wrapperContext):
1379         (WebCore::JSNamedNodeMap::markChildren):
1380         (WebCore::toJS): Updated to use our new interface for customizing wrapper
1381         lifetime management through function overloading without using
1382         MarkStack::deprecatedAppend.
1383
1384         * bindings/js/JSNodeCustom.cpp:
1385         (WebCore::isObservable):
1386         (WebCore::isReachableFromDOM):
1387         (WebCore::JSNodeOwner::isReachableFromOpaqueRoots):
1388         (WebCore::JSNodeOwner::finalize):
1389         (WebCore::createWrapperInline): Moved node-related code from JSDOMBinding
1390         to here. Removed special case marking code for JSNamedNodeMap because
1391         JSNamedNodeMap now knows how to maintain its own lifetime invariants.
1392
1393         * bindings/js/JSNodeCustom.h:
1394         (WebCore::wrapperOwner):
1395         (WebCore::wrapperContext):
1396         (WebCore::getInlineCachedWrapper):
1397         (WebCore::setInlineCachedWrapper):
1398         (WebCore::clearInlineCachedWrapper):
1399         (WebCore::toJS): Updated to use our new interface for customizing wrapper
1400         lifetime management through function overloading without using
1401         MarkStack::deprecatedAppend or special-case code for nodes.
1402         
1403         * bindings/js/JSSVGPathSegCustom.cpp:
1404         (WebCore::toJS):
1405         * bindings/js/JSStyleSheetCustom.cpp:
1406         (WebCore::toJS): Updated for renames mentioned above.
1407
1408         * bindings/scripts/CodeGeneratorJS.pm: Fixed up newlines. Updated for
1409         renames mentioned above.
1410
1411         * dom/NamedNodeMap.idl: NamedNodeMap needs a custom toJS function now
1412         because it needs to provide a custom WeakHandleOwner at wrapper creation time.
1413
1414 2011-04-18  Jessie Berlin  <jberlin@apple.com>
1415
1416         Rubber-stamped by Sam Weinig.
1417
1418         REGRESSION (r84094): Many tests failing assertions in WebCore::localizedString on Windows.
1419         https://bugs.webkit.org/show_bug.cgi?id=58747
1420
1421         Copy the WebCore Localizable.strings file into the output directory.
1422
1423         * WebCore.vcproj/WebCoreGenerated.vcproj:
1424         * WebCore.vcproj/WebCoreGeneratedCairo.vsprops:
1425         * WebCore.vcproj/WebCoreGeneratedCommon.vsprops:
1426         * WebCore.vcproj/copyInspectorFiles.cmd: Removed.
1427         * WebCore.vcproj/copyWebCoreResourceFiles.cmd: Copied from Source/WebCore/WebCore.vcproj/copyInspectorFiles.cmd.
1428
1429 2011-04-18  Robert Hogan  <robert@webkit.org>
1430
1431         Reviewed by Andreas Kling.
1432
1433         [Qt] PluginViewQt needs to update geometry of plugin widget before scheduling a repaint
1434
1435         When scheduling a repaint for the plugin's widget, PluginViewQt
1436         needs to make sure the widget's geometry is up to date. Otherwise
1437         the paint event happens on the widget's old location.
1438
1439         https://bugs.webkit.org/show_bug.cgi?id=57179
1440
1441         Added a manual test. 
1442
1443         * manual-tests/qt/plugin-painting.html: Added.
1444         * plugins/qt/PluginViewQt.cpp:
1445         (WebCore::PluginView::updatePluginWidget):
1446         (WebCore::PluginView::invalidateRect):
1447
1448 2011-04-18  Oliver Hunt  <oliver@apple.com>
1449
1450         Fix Qt build
1451
1452         * bridge/qt/qt_class.cpp:
1453         (JSC::Bindings::QtClass::fallbackObject):
1454         * bridge/qt/qt_instance.cpp:
1455         (JSC::Bindings::QtInstance::removeCachedMethod):
1456         * bridge/qt/qt_instance.h:
1457
1458 2011-04-18  Oliver Hunt  <oliver@apple.com>
1459
1460         Reviewed by Gavin Barraclough.
1461
1462         Remove DeprecatedPtr
1463         https://bugs.webkit.org/show_bug.cgi?id=58718
1464
1465         Replace use of DeprecatedPtr<> with Global<> as ownership rules
1466         aren't obvious, have filed bug #58820 on seeing if this is safe.
1467
1468         * bridge/qt/qt_class.cpp:
1469         (JSC::Bindings::QtClass::fallbackObject):
1470         * bridge/qt/qt_instance.cpp:
1471         (JSC::Bindings::QtInstance::removeCachedMethod):
1472         (JSC::Bindings::QtInstance::markAggregate):
1473         * bridge/qt/qt_instance.h:
1474
1475 2011-04-14  Matthew Delaney  <mdelaney@apple.com>
1476
1477         Reviewed by Simon Fraser.
1478
1479         [CG] Use vImage (un)premultiplyImageData functions for get/putImageData with IOSurfaces
1480         https://bugs.webkit.org/show_bug.cgi?id=58088
1481
1482         * platform/graphics/cg/ImageBufferDataCG.cpp:
1483         (WebCore::convertScanline): un/premultiplies and converts a scanline of image data from/to BGRA to/from RGBA
1484         (WebCore::unpremultitplyScanline):
1485         (WebCore::premultitplyScanline):
1486         (WebCore::ImageBufferData::getData):
1487         (WebCore::ImageBufferData::putData):
1488
1489 2011-04-18  Jeff Miller  <jeffm@apple.com>
1490
1491         Reviewed by Dan Bernstein.
1492
1493         Allow all log channels to be initialized from WebCoreLogLevel Windows environment variable
1494         https://bugs.webkit.org/show_bug.cgi?id=58811
1495
1496         * platform/win/LoggingWin.cpp:
1497         (WebCore::InitializeLoggingChannelsIfNecessary): Support initializing LogResourceLoading, LogProgress, and LogFileAPI from WebCoreLogLevel Windows environment variable.
1498
1499 2011-04-18  Andrew Scherkus  <scherkus@chromium.org>
1500
1501         Reviewed by Eric Seidel.
1502
1503         Reset fullscreen element reference when leaving fullscreen mode and some other cleanup.
1504
1505         https://bugs.webkit.org/show_bug.cgi?id=58719
1506
1507         Test: fullscreen/full-screen-cancel.html
1508
1509         * dom/Document.cpp:
1510         (WebCore::Document::Document): Remove m_isFullscreen.
1511         (WebCore::Document::webkitWillEnterFullScreenForElement):
1512         (WebCore::Document::webkitWillExitFullScreenForElement): Remove duplicate call to setAnimating().
1513         (WebCore::Document::webkitDidExitFullScreenForElement): Reset m_fullScreenElement reference.
1514         * dom/Document.h:
1515         (WebCore::Document::webkitIsFullScreen): Use m_fullScreenElement instead of m_isFullscreen.
1516         (WebCore::Document::webkitFullScreenKeyboardInputAllowed): Ditto.
1517
1518 2011-04-18  Dan Bernstein  <mitz@apple.com>
1519
1520         Reviewed by Eric Seidel.
1521
1522         <rdar://problem/9282486> REGRESSION (r81992): Facebook photo tags can get cut off when moving the mouse.
1523         https://bugs.webkit.org/show_bug.cgi?id=58500
1524
1525         Test: fast/repaint/text-in-relative-positioned-inline.html
1526
1527         * rendering/RenderText.cpp:
1528         (WebCore::RenderText::clippedOverflowRectForRepaint): Use the container’s repaint rect, not
1529         the containing block’s. This matters when the containing block is outside the RenderText’s
1530         enclosing layer, as is the case here.
1531
1532 2011-04-15  Stephen White  <senorblanco@chromium.org>
1533
1534         Reviewed by Kenneth Russell.
1535
1536         Speed up DrawingBuffer::reset().
1537         https://bugs.webkit.org/show_bug.cgi?id=58706
1538
1539         When DrawingBuffer::reset() is called, it should not reallocate
1540         the FBOs if the size has not changed.  It should just do a glClear().
1541
1542         Covered by tests in fast/canvas and canvas/philip.
1543
1544         * platform/graphics/chromium/DrawingBufferChromium.cpp:
1545         (WebCore::DrawingBuffer::DrawingBuffer):
1546         Initialize the size to -1, -1, so the size change check will work on
1547         first reset.
1548         * platform/graphics/gpu/DrawingBuffer.cpp:
1549         (WebCore::DrawingBuffer::reset):
1550         If the size hasn't changed, don't resize the FBOs.  Just clear the
1551         relevant buffers.
1552
1553 2011-04-18  Pavel Feldman  <pfeldman@google.com>
1554
1555         Reviewed by Yury Semikhatsky.
1556
1557         Web Inspector: group resources by type in the resources panel.
1558         https://bugs.webkit.org/show_bug.cgi?id=58796
1559
1560         * inspector/front-end/ResourcesPanel.js:
1561         (WebInspector.ResourcesPanel.prototype._frameAdded):
1562         (WebInspector.ResourcesPanel.prototype._resourceAdded):
1563         (WebInspector.BaseStorageTreeElement):
1564         (WebInspector.BaseStorageTreeElement.prototype.onattach):
1565         (WebInspector.StorageCategoryTreeElement):
1566         (WebInspector.FrameTreeElement):
1567         (WebInspector.FrameTreeElement.prototype.setTitles):
1568         (WebInspector.FrameTreeElement.prototype.set hovered):
1569         (WebInspector.FrameTreeElement.prototype.appendResource):
1570         (WebInspector.FrameTreeElement.prototype.appendChild):
1571         (WebInspector.FrameTreeElement.prototype._insertInPresentationOrder):
1572         (WebInspector.FrameTreeElement.prototype._insertInPresentationOrder.compare):
1573
1574 2011-04-18  Timothy Hatcher  <timothy@apple.com>
1575
1576         Make update-webkit-localizable-strings put WebKit/win strings in WebCore
1577         now that all localized strings in WebKit/win use WEB_UI_STRING.
1578
1579         https://webkit.org/b/58747
1580
1581         Reviewed by Dan Bernstein.
1582
1583         * English.lproj/Localizable.strings: Updated with strings from WebKit/win.
1584
1585 2011-04-15  MORITA Hajime  <morrita@google.com>
1586
1587         Reviewed by Adam Barth.
1588
1589         REGRESSION: <progress> doesn't animate if it doesn't have value
1590         https://bugs.webkit.org/show_bug.cgi?id=58693
1591
1592         The initial value of RenderProgress::m_position is accidentally same as
1593         the indeterminate value, that makes update code on updateFromElement() skipped.
1594         This change set unique invalid value for the initial value of m_position.
1595         
1596         No new tests. Testing animated bar is not possible with DRT.
1597
1598         * html/HTMLProgressElement.cpp:
1599         (WebCore::HTMLProgressElement::position):
1600         * html/HTMLProgressElement.h:
1601         * rendering/RenderProgress.cpp:
1602         (WebCore::RenderProgress::RenderProgress):
1603         (WebCore::RenderProgress::isDeterminate):
1604
1605 2011-04-18  MORITA Hajime  <morrita@google.com>
1606
1607         Reviewed by Eric Seidel.
1608
1609         REGRESSION: [Chromium Win] details-add-summary-1.html start crashing after r84039
1610         https://bugs.webkit.org/show_bug.cgi?id=58791
1611         
1612         On refreshMainSummary(), findMainSummary() possibly releases oldSummary.
1613         We should guard it again RefPtr.
1614
1615         * html/HTMLDetailsElement.cpp:
1616         (WebCore::HTMLDetailsElement::refreshMainSummary):
1617
1618 2011-04-18  Antti Koivisto  <antti@apple.com>
1619
1620         Reviewed by Simon Fraser.
1621
1622         CSSSelector double frees
1623         https://bugs.webkit.org/show_bug.cgi?id=56124
1624         <rdar://problem/9119036>
1625
1626         In all stacks this is occuring when the document is kept alive by the guard ref only
1627         and the node holding it is deleted.
1628
1629         As a speculative fix, clear the document stylesheets when it turns into a guard ref zombie.
1630         This has a pretty good chance of fixing the actual bug. At minimum it will move the
1631         crash to an earlier, more easily traceble point.
1632
1633         No tests, crash stacks only, no idea how to reproduce.
1634
1635         * dom/Document.cpp:
1636         (WebCore::Document::removedLastRef):
1637
1638 2011-04-18  Alexander Pavlov  <apavlov@chromium.org>
1639
1640         Reviewed by Yury Semikhatsky.
1641
1642         Web Inspector: Backspace in the Console is broken
1643         https://bugs.webkit.org/show_bug.cgi?id=58764
1644
1645         * inspector/front-end/inspector.js:
1646         (WebInspector.documentKeyDown):
1647
1648 2011-04-18  Hans Wennborg  <hans@chromium.org>
1649
1650         Reviewed by Steve Block.
1651
1652         LevelDB backend for IndexedDB
1653         https://bugs.webkit.org/show_bug.cgi?id=57372
1654
1655         Only available behind a run-time flag. Covered by existing layout
1656         tests.
1657
1658         * Android.mk:
1659         * CMakeLists.txt:
1660         * GNUmakefile.am:
1661         * GNUmakefile.list.am:
1662         * WebCore.gyp/WebCore.gyp:
1663         * WebCore.gypi:
1664         * WebCore.pri:
1665         * WebCore.pro:
1666         * WebCore.xcodeproj/project.pbxproj:
1667         * platform/leveldb/LevelDBComparator.h: Added.
1668         (WebCore::LevelDBComparator::~LevelDBComparator):
1669         * platform/leveldb/LevelDBDatabase.cpp: Added.
1670         (WebCore::makeSlice):
1671         (WebCore::makeLevelDBSlice):
1672         (WebCore::makeVector):
1673         (WebCore::LevelDBDatabase::LevelDBDatabase):
1674         (WebCore::LevelDBDatabase::~LevelDBDatabase):
1675         (WebCore::LevelDBDatabase::open):
1676         (WebCore::LevelDBDatabase::put):
1677         (WebCore::LevelDBDatabase::remove):
1678         (WebCore::LevelDBDatabase::get):
1679         (WebCore::LevelDBDatabase::newIterator):
1680         * platform/leveldb/LevelDBDatabase.h: Added.
1681         * platform/leveldb/LevelDBIterator.cpp: Added.
1682         (WebCore::LevelDBIterator::~LevelDBIterator):
1683         (WebCore::LevelDBIterator::LevelDBIterator):
1684         (WebCore::makeSlice):
1685         (WebCore::makeLevelDBSlice):
1686         (WebCore::LevelDBIterator::isValid):
1687         (WebCore::LevelDBIterator::seekToLast):
1688         (WebCore::LevelDBIterator::seek):
1689         (WebCore::LevelDBIterator::next):
1690         (WebCore::LevelDBIterator::prev):
1691         (WebCore::LevelDBIterator::key):
1692         (WebCore::LevelDBIterator::value):
1693         * platform/leveldb/LevelDBIterator.h: Added.
1694         * platform/leveldb/LevelDBSlice.h: Added.
1695         (WebCore::LevelDBSlice::LevelDBSlice):
1696         (WebCore::LevelDBSlice::~LevelDBSlice):
1697         (WebCore::LevelDBSlice::begin):
1698         (WebCore::LevelDBSlice::end):
1699         * storage/IDBLevelDBBackingStore.cpp:
1700         (WebCore::encodeByte):
1701         (WebCore::maxIDBKey):
1702         (WebCore::minIDBKey):
1703         (WebCore::encodeInt):
1704         (WebCore::decodeInt):
1705         (WebCore::encodeVarInt):
1706         (WebCore::decodeVarInt):
1707         (WebCore::encodeString):
1708         (WebCore::decodeString):
1709         (WebCore::encodeStringWithLength):
1710         (WebCore::decodeStringWithLength):
1711         (WebCore::encodeDouble):
1712         (WebCore::decodeDouble):
1713         (WebCore::encodeIDBKey):
1714         (WebCore::decodeIDBKey):
1715         (WebCore::extractEncodedIDBKey):
1716         (WebCore::compareEncodedIDBKeys):
1717         (WebCore::getInt):
1718         (WebCore::putInt):
1719         (WebCore::getString):
1720         (WebCore::putString):
1721         (WebCore::KeyPrefix::SchemaVersionKey::encode):
1722         (WebCore::KeyPrefix::MaxDatabaseIdKey::encode):
1723         (WebCore::KeyPrefix::DatabaseFreeListKey::DatabaseFreeListKey):
1724         (WebCore::KeyPrefix::DatabaseFreeListKey::decode):
1725         (WebCore::KeyPrefix::DatabaseFreeListKey::encode):
1726         (WebCore::KeyPrefix::DatabaseFreeListKey::databaseId):
1727         (WebCore::KeyPrefix::DatabaseFreeListKey::compare):
1728         (WebCore::KeyPrefix::DatabaseNameKey::decode):
1729         (WebCore::KeyPrefix::DatabaseNameKey::encode):
1730         (WebCore::KeyPrefix::DatabaseNameKey::origin):
1731         (WebCore::KeyPrefix::DatabaseNameKey::databaseName):
1732         (WebCore::KeyPrefix::DatabaseNameKey::compare):
1733         (WebCore::KeyPrefix::DatabaseMetaDataKey::encode):
1734         (WebCore::KeyPrefix::ObjectStoreMetaDataKey::ObjectStoreMetaDataKey):
1735         (WebCore::KeyPrefix::ObjectStoreMetaDataKey::decode):
1736         (WebCore::KeyPrefix::ObjectStoreMetaDataKey::encode):
1737         (WebCore::KeyPrefix::ObjectStoreMetaDataKey::objectStoreId):
1738         (WebCore::KeyPrefix::ObjectStoreMetaDataKey::metaDataType):
1739         (WebCore::KeyPrefix::ObjectStoreMetaDataKey::compare):
1740         (WebCore::KeyPrefix::IndexMetaDataKey::IndexMetaDataKey):
1741         (WebCore::KeyPrefix::IndexMetaDataKey::decode):
1742         (WebCore::KeyPrefix::IndexMetaDataKey::encode):
1743         (WebCore::KeyPrefix::IndexMetaDataKey::compare):
1744         (WebCore::KeyPrefix::IndexMetaDataKey::indexId):
1745         (WebCore::KeyPrefix::IndexMetaDataKey::metaDataType):
1746         (WebCore::KeyPrefix::ObjectStoreFreeListKey::ObjectStoreFreeListKey):
1747         (WebCore::KeyPrefix::ObjectStoreFreeListKey::decode):
1748         (WebCore::KeyPrefix::ObjectStoreFreeListKey::encode):
1749         (WebCore::KeyPrefix::ObjectStoreFreeListKey::objectStoreId):
1750         (WebCore::KeyPrefix::ObjectStoreFreeListKey::compare):
1751         (WebCore::KeyPrefix::IndexFreeListKey::IndexFreeListKey):
1752         (WebCore::KeyPrefix::IndexFreeListKey::decode):
1753         (WebCore::KeyPrefix::IndexFreeListKey::encode):
1754         (WebCore::KeyPrefix::IndexFreeListKey::compare):
1755         (WebCore::KeyPrefix::IndexFreeListKey::objectStoreId):
1756         (WebCore::KeyPrefix::IndexFreeListKey::indexId):
1757         (WebCore::KeyPrefix::ObjectStoreNamesKey::decode):
1758         (WebCore::KeyPrefix::ObjectStoreNamesKey::encode):
1759         (WebCore::KeyPrefix::ObjectStoreNamesKey::compare):
1760         (WebCore::KeyPrefix::ObjectStoreNamesKey::objectStoreName):
1761         (WebCore::KeyPrefix::IndexNamesKey::IndexNamesKey):
1762         (WebCore::KeyPrefix::IndexNamesKey::decode):
1763         (WebCore::KeyPrefix::IndexNamesKey::encode):
1764         (WebCore::KeyPrefix::IndexNamesKey::compare):
1765         (WebCore::KeyPrefix::IndexNamesKey::indexName):
1766         (WebCore::KeyPrefix::ObjectStoreDataKey::decode):
1767         (WebCore::KeyPrefix::ObjectStoreDataKey::encode):
1768         (WebCore::KeyPrefix::ObjectStoreDataKey::compare):
1769         (WebCore::KeyPrefix::ObjectStoreDataKey::userKey):
1770         (WebCore::KeyPrefix::ExistsEntryKey::decode):
1771         (WebCore::KeyPrefix::ExistsEntryKey::encode):
1772         (WebCore::KeyPrefix::ExistsEntryKey::compare):
1773         (WebCore::KeyPrefix::ExistsEntryKey::userKey):
1774         (WebCore::KeyPrefix::IndexDataKey::IndexDataKey):
1775         (WebCore::KeyPrefix::IndexDataKey::decode):
1776         (WebCore::KeyPrefix::IndexDataKey::encode):
1777         (WebCore::KeyPrefix::IndexDataKey::encodeMaxKey):
1778         (WebCore::KeyPrefix::IndexDataKey::compare):
1779         (WebCore::KeyPrefix::IndexDataKey::databaseId):
1780         (WebCore::KeyPrefix::IndexDataKey::objectStoreId):
1781         (WebCore::KeyPrefix::IndexDataKey::indexId):
1782         (WebCore::KeyPrefix::IndexDataKey::userKey):
1783         (WebCore::KeyPrefix::realCompare):
1784         (WebCore::KeyPrefix::compareKeys):
1785         (WebCore::KeyPrefix::compareIndexKeys):
1786         (WebCore::KeyPrefix::Comparator::compare):
1787         (WebCore::KeyPrefix::Comparator::name):
1788         (WebCore::setUpMetadata):
1789         (WebCore::IDBLevelDBBackingStore::IDBLevelDBBackingStore):
1790         (WebCore::IDBLevelDBBackingStore::open):
1791         (WebCore::IDBLevelDBBackingStore::extractIDBDatabaseMetaData):
1792         (WebCore::getNewDatabaseId):
1793         (WebCore::IDBLevelDBBackingStore::setIDBDatabaseMetaData):
1794         (WebCore::IDBLevelDBBackingStore::getObjectStores):
1795         (WebCore::getNewObjectStoreId):
1796         (WebCore::IDBLevelDBBackingStore::createObjectStore):
1797         (WebCore::deleteRange):
1798         (WebCore::IDBLevelDBBackingStore::deleteObjectStore):
1799         (WebCore::IDBLevelDBBackingStore::getObjectStoreRecord):
1800         (WebCore::getNewVersionNumber):
1801         (WebCore::IDBLevelDBBackingStore::putObjectStoreRecord):
1802         (WebCore::IDBLevelDBBackingStore::clearObjectStore):
1803         (WebCore::IDBLevelDBBackingStore::createInvalidRecordIdentifier):
1804         (WebCore::IDBLevelDBBackingStore::deleteObjectStoreRecord):
1805         (WebCore::IDBLevelDBBackingStore::nextAutoIncrementNumber):
1806         (WebCore::IDBLevelDBBackingStore::keyExistsInObjectStore):
1807         (WebCore::IDBLevelDBBackingStore::forEachObjectStoreRecord):
1808         (WebCore::IDBLevelDBBackingStore::getIndexes):
1809         (WebCore::getNewIndexId):
1810         (WebCore::IDBLevelDBBackingStore::createIndex):
1811         (WebCore::IDBLevelDBBackingStore::deleteIndex):
1812         (WebCore::IDBLevelDBBackingStore::putIndexDataForRecord):
1813         (WebCore::findGreatestKeyLessThan):
1814         (WebCore::IDBLevelDBBackingStore::deleteIndexDataForRecord):
1815         (WebCore::IDBLevelDBBackingStore::getObjectViaIndex):
1816         (WebCore::versionExists):
1817         (WebCore::IDBLevelDBBackingStore::getPrimaryKeyViaIndex):
1818         (WebCore::IDBLevelDBBackingStore::keyExistsInIndex):
1819         (WebCore::findLastIndexKeyEqualTo):
1820         (WebCore::IDBLevelDBBackingStore::openObjectStoreCursor):
1821         (WebCore::IDBLevelDBBackingStore::openIndexKeyCursor):
1822         (WebCore::IDBLevelDBBackingStore::openIndexCursor):
1823         (WebCore::IDBLevelDBBackingStore::createTransaction):
1824         * storage/IDBLevelDBBackingStore.h:
1825
1826 2011-04-18  Pavel Feldman  <pfeldman@google.com>
1827
1828         Reviewed by Yury Semikhatsky.
1829
1830         Web Inspector: add test for CSS-resource binding.
1831         https://bugs.webkit.org/show_bug.cgi?id=58786
1832
1833         Test: inspector/styles/styles-history.html
1834
1835         * inspector/InspectorCSSAgent.cpp:
1836         (WebCore::InspectorCSSAgent::setPropertyText):
1837         (WebCore::InspectorCSSAgent::toggleProperty):
1838         * inspector/InspectorStyleSheet.cpp:
1839         (WebCore::InspectorStyle::setPropertyText):
1840         (WebCore::InspectorStyle::toggleProperty):
1841         (WebCore::InspectorStyleSheet::setPropertyText):
1842         (WebCore::InspectorStyleSheet::toggleProperty):
1843         * inspector/InspectorStyleSheet.h:
1844         * inspector/front-end/CSSStyleModel.js:
1845         (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged.if):
1846         (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged.mycallback):
1847         (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged):
1848         (WebInspector.CSSStyleModel.prototype.setStyleSheetText):
1849         (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
1850         (WebInspector.CSSProperty.prototype.setText.callback):
1851         (WebInspector.CSSProperty.prototype.setText):
1852
1853 2011-04-18  Sheriff Bot  <webkit.review.bot@gmail.com>
1854
1855         Unreviewed, rolling out r83996.
1856         http://trac.webkit.org/changeset/83996
1857         https://bugs.webkit.org/show_bug.cgi?id=58790
1858
1859         layout test editing/selection/move-by-word-visually.html is
1860         failing (Requested by jknotten on #webkit).
1861
1862         * editing/visible_units.cpp:
1863         (WebCore::nextWordBreakInBoxInsideBlockWithDifferentDirectionality):
1864         (WebCore::collectWordBreaksInBoxInsideBlockWithDifferntDirectionality):
1865         (WebCore::previousWordBreakInBox):
1866         (WebCore::leftWordBoundary):
1867         (WebCore::rightWordBoundary):
1868         (WebCore::leftWordPosition):
1869         (WebCore::rightWordPosition):
1870
1871 2011-04-18  Adam Bergkvist  <adam.bergkvist@ericsson.com>
1872
1873         Reviewed by Daniel Bates.
1874
1875         Modify make_names.pl to not include conditional includes unconditionally
1876         https://bugs.webkit.org/show_bug.cgi?id=53672
1877
1878         Fixed conditional includes being unconditionally included.
1879
1880         No new tests (no change in functionality)
1881
1882         * dom/make_names.pl:
1883             - Modified printJSElementIncludes() to only print unconditional element includes.
1884             - Modified printElementIncludes() to only print unconditional element includes.
1885             - Added printConditionalElementIncludes() which takes care of printing conditional element includes.
1886
1887 2011-04-18  Sheriff Bot  <webkit.review.bot@gmail.com>
1888
1889         Unreviewed, rolling out r83803.
1890         http://trac.webkit.org/changeset/83803
1891         https://bugs.webkit.org/show_bug.cgi?id=58782
1892
1893         Caused focus rings to appear in youtube videos (Requested by
1894         inferno-sec on #webkit).
1895
1896         * rendering/RenderWidget.cpp:
1897         (WebCore::RenderWidget::paint):
1898
1899 2011-04-18  Alexander Pavlov  <apavlov@chromium.org>
1900
1901         Reviewed by Pavel Feldman.
1902
1903         Web Inspector: Need a workaround for bug 58422
1904         https://bugs.webkit.org/show_bug.cgi?id=58780
1905
1906         Instead of the A:before content, the link text is displayed as the A tag content.
1907
1908         * inspector/front-end/StylesSidebarPane.js:
1909         (WebInspector.StylePropertiesSection.linkifyUncopyable):
1910         (WebInspector.StylePropertiesSection):
1911         * inspector/front-end/inspector.css:
1912
1913 2011-04-18  Carlos Garcia Campos  <cgarcia@igalia.com>
1914
1915         Unreviewed. Fix WebKit2 GTK build after 82465.
1916
1917         * platform/gtk/LocalizedStringsGtk.cpp:
1918         (WebCore::localizedString):
1919
1920 2011-04-18  Andrey Adaikin  <aandrey@google.com>
1921
1922         Reviewed by Yury Semikhatsky.
1923
1924         Web Inspector: TAB should not move focus from the text editor while live editing
1925         https://bugs.webkit.org/show_bug.cgi?id=58537
1926
1927         * inspector/front-end/TextViewer.js:
1928         (WebInspector.TextViewer.prototype._registerShortcuts):
1929         (WebInspector.TextViewer.prototype._cancelEditing):
1930         (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo):
1931         (WebInspector.TextEditorMainPanel.prototype.handleTabKeyPress):
1932         (WebInspector.TextEditorMainPanel.prototype._setCaretLocation):
1933         (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
1934         (WebInspector.TextEditorMainPanel.prototype._setText):
1935
1936 2011-04-18  Alexander Pavlov  <apavlov@chromium.org>
1937
1938         Reviewed by Yury Semikhatsky.
1939
1940         Web Inspector: Incorrect content area dimensions in Metrics pane for box-sizing: border-box
1941         https://bugs.webkit.org/show_bug.cgi?id=58551
1942
1943         Test: inspector/styles/metrics-box-sizing.html
1944
1945         * inspector/front-end/MetricsSidebarPane.js:
1946         (WebInspector.MetricsSidebarPane.prototype._getPropertyValueAsPx):
1947         (WebInspector.MetricsSidebarPane.prototype._getBox):
1948         (WebInspector.MetricsSidebarPane.prototype._update.getContentAreaWidthPx):
1949         (WebInspector.MetricsSidebarPane.prototype._update.getContentAreaHeightPx):
1950         (WebInspector.MetricsSidebarPane.prototype._update):
1951         (WebInspector.MetricsSidebarPane.prototype.startEditing):
1952         (WebInspector.MetricsSidebarPane.prototype.editingCommitted.setEnabledValueCallback):
1953         (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
1954
1955 2011-04-18  Ilya Tikhonovsky  <loislo@chromium.org>
1956
1957         Reviewed by Yury Semikhatsky.
1958
1959         Web Inspector: Database agent stops to propagate it's events after navigation.
1960         https://bugs.webkit.org/show_bug.cgi?id=58776
1961
1962         * inspector/InspectorAgent.cpp:
1963         (WebCore::InspectorAgent::InspectorAgent):
1964         (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
1965         * inspector/InspectorDatabaseAgent.cpp:
1966         (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
1967         (WebCore::InspectorDatabaseAgent::clearFrontend):
1968         (WebCore::InspectorDatabaseAgent::enable):
1969         (WebCore::InspectorDatabaseAgent::disable):
1970         (WebCore::InspectorDatabaseAgent::restore):
1971         * inspector/InspectorDatabaseAgent.h:
1972         (WebCore::InspectorDatabaseAgent::create):
1973
1974 2011-04-18  Sheriff Bot  <webkit.review.bot@gmail.com>
1975
1976         Unreviewed, rolling out r83968.
1977         http://trac.webkit.org/changeset/83968
1978         https://bugs.webkit.org/show_bug.cgi?id=58769
1979
1980         Breaks Backspace in Web Inspector console (Requested by
1981         apavlov on #webkit).
1982
1983         * inspector/front-end/inspector.js:
1984         (WebInspector.documentKeyDown):
1985
1986 2011-04-15  Yury Semikhatsky  <yurys@chromium.org>
1987
1988         Reviewed by Pavel Feldman.
1989
1990         Web Inspector: introduce WorkerInspectorController
1991         https://bugs.webkit.org/show_bug.cgi?id=58668
1992
1993         WorkerInspectorController will be owned by WorkerContext and will hold all inspector
1994         agents and will also manage connection to the inspector frontend.
1995
1996         * CMakeLists.txt:
1997         * GNUmakefile.list.am:
1998         * WebCore.gypi:
1999         * WebCore.pro:
2000         * WebCore.vcproj/WebCore.vcproj:
2001         * WebCore.xcodeproj/project.pbxproj:
2002         * bindings/js/ScriptState.cpp:
2003         (WebCore::scriptStateFromWorkerContext):
2004         * bindings/js/ScriptState.h:
2005         * bindings/v8/ScriptState.cpp:
2006         (WebCore::scriptStateFromWorkerContext):
2007         * bindings/v8/ScriptState.h:
2008         * inspector/InspectorState.cpp:
2009         (WebCore::InspectorState::updateCookie):
2010         * inspector/WorkerInspectorController.cpp: Added.
2011         (WebCore::WorkerInspectorController::WorkerInspectorController):
2012         (WebCore::WorkerInspectorController::~WorkerInspectorController):
2013         (WebCore::WorkerInspectorController::connectFrontend):
2014         (WebCore::WorkerInspectorController::disconnectFrontend):
2015         (WebCore::WorkerInspectorController::dispatchMessageFromFrontend):
2016         * inspector/WorkerInspectorController.h: Copied from Source/WebCore/bindings/js/ScriptState.h.
2017         * workers/WorkerContext.cpp:
2018         (WebCore::WorkerContext::WorkerContext):
2019         * workers/WorkerContext.h:
2020         (WebCore::WorkerContext::workerInspectorController):
2021
2022 2011-04-17  Thierry Reding  <thierry.reding@avionic-design.de>
2023
2024         Reviewed by Adam Barth.
2025
2026         Fix build with GCC 4.6.
2027
2028         * dom/make_names.pl: Execute preprocessor without the -P option. The
2029         preprocessor in GCC 4.6 eats empty lines, effectively breaking the
2030         parsing performed by this script. Dropping the -P option when invoking
2031         the preprocessor keeps the empty lines but as a side-effect also adds
2032         additional linemarkers.
2033
2034         From the cpp manpage:
2035
2036           -P  Inhibit generation of linemarkers in the output from the
2037               preprocessor. This might be useful when running the preprocessor
2038               on something that is not C code, and will be sent to a program
2039               which might be confused by the linemarkers.
2040
2041         The linemarkers are not problematic, however, because the script
2042         properly handles them by ignoring all lines starting with a #.
2043
2044 2011-04-17  David Kilzer  <ddkilzer@apple.com>
2045
2046         <http://webkit.org/b/58463> Switch HTTP pipelining from user default to private setting
2047         <rdar://problem/9268729>
2048
2049         Reviewed by Dan Bernstein.
2050
2051         This replaces support for the WebKitEnableHTTPPipelining user
2052         default with methods on the WebCore::ResourceRequest class in
2053         WebCore, the WebView class in WebKit1, and the WebContext class
2054         in WebKit2.  It also removes support for the
2055         WebKitForceHTTPPipeliningPriorityHigh user default which was not
2056         needed.
2057
2058         Run these commands if you set the user defaults previously,
2059         replacing "BUNDLE.ID" with your application's bundle ID:
2060
2061             defaults delete BUNDLE.ID WebKitEnableHTTPPipelining
2062             defaults delete BUNDLE.ID WebKitForceHTTPPipeliningPriorityHigh
2063
2064         * WebCore.exp.in: Export ResourceRequest::httpPipeliningEnabled()
2065         and ResourceRequest::setHTTPPipeliningEnabled().
2066
2067         * platform/network/ResourceRequestBase.h:
2068         (WebCore::isHTTPPipeliningEnabled): Removed declaration.
2069         (WebCore::shouldForceHTTPPipeliningPriorityHigh): Removed declaration.
2070
2071         * platform/network/cf/ResourceRequest.h:
2072         (WebCore::ResourceRequest::httpPipeliningEnabled): Added declaration.
2073         (WebCore::ResourceRequest::setHTTPPipeliningEnabled): Added declaration.
2074         (WebCore::ResourceRequest::s_httpPipeliningEnabled): Added declaration.
2075
2076         * platform/network/cf/ResourceRequestCFNet.cpp:
2077         (WebCore::ResourceRequest::s_httpPipeliningEnabled): Added.
2078         (WebCore::ResourceRequest::httpPipeliningEnabled): Added.
2079         (WebCore::ResourceRequest::setHTTPPipeliningEnabled): Added.
2080         (WebCore::initializeMaximumHTTPConnectionCountPerHost): Switched
2081         to use ResourceRequest::httpPipeliningEnabled().
2082         (WebCore::readBooleanPreference): Removed.
2083         (WebCore::isHTTPPipeliningEnabled): Removed.
2084         (WebCore::shouldForceHTTPPipeliningPriorityHigh): Removed.
2085
2086         * platform/network/mac/ResourceRequestMac.mm:
2087         (WebCore::ResourceRequest::doUpdateResourceRequest): Switched to
2088         use ResourceRequest::httpPipeliningEnabled().  Removed check for
2089         shouldForceHTTPPipeliningPriorityHigh().
2090         (WebCore::ResourceRequest::doUpdatePlatformRequest): Ditto.
2091
2092 2011-04-17  Dan Bernstein  <mitz@apple.com>
2093
2094         Reviewed by Maciej Stachowiak.
2095
2096         REGRESSION (r84096): <br> moved to the right in fast/block/float/032.html
2097         https://bugs.webkit.org/show_bug.cgi?id=58736
2098
2099         * rendering/RenderBlockLineLayout.cpp:
2100         (WebCore::RenderBlock::appendFloatingObjectToLastLine): It is enough to extend the float so
2101         that it touches the bottom of the previous line, since RenderBlock::markLinesDirtyInBlockRange()
2102         always dirties the line after the last one in the range.
2103
2104 2011-04-17  Patrick Gansterer  <paroga@webkit.org>
2105
2106         Unreviewed. Add missing include to fix build without precompiled header.
2107
2108         * rendering/RenderMediaControls.cpp:
2109
2110 2011-04-17  Daniel Bates  <dbates@webkit.org>
2111
2112         Attempt to fix the Chromium build after changeset 84110 <http://trac.webkit.org/changeset/84110>
2113         (https://bugs.webkit.org/show_bug.cgi?id=57842).
2114
2115         * loader/cache/CachedResourceLoader.cpp:
2116         (WebCore::CachedResourceLoader::canRequest): Rename CachedResource::LinkPrefetch to CachedResource::LinkResource.
2117
2118 2011-04-17  Patrick Gansterer  <paroga@webkit.org>
2119
2120         Reviewed by Eric Seidel.
2121
2122         Remove pthread dependency of GCController
2123         https://bugs.webkit.org/show_bug.cgi?id=54833
2124
2125         * bindings/js/GCController.cpp:
2126         (WebCore::GCController::garbageCollectOnAlternateThreadForDebugging):
2127
2128 2011-04-17  Gavin Peters  <gavinp@chromium.org>
2129
2130         Reviewed by Adam Barth.
2131
2132         Add support for link rel type "subresource"
2133         https://bugs.webkit.org/show_bug.cgi?id=57842
2134
2135         Link rel=prefetch is great for cache warming for resources on
2136         subsequent pages, but it launches requests at too low a priority
2137         to use for subresources of the current page.
2138
2139         Particularly after https://bugs.webkit.org/show_bug.cgi?id=51940
2140         is implemented, a rel type that launches requests at an higher
2141         priority is going to be very useful.  This rel type is in the
2142         HTML5 spec at http://wiki.whatwg.org/wiki/RelExtensions .  An
2143         expected use case will be for servers to provide subresource hints
2144         in link headers, which will allow servers to help make the web
2145         faster.
2146
2147         This feature continues my implementation of the Link header, which
2148         we've talked about in WebKit-dev in
2149         https://lists.webkit.org/pipermail/webkit-dev/2011-February/016034.html.
2150
2151         Tests: fast/dom/HTMLLinkElement/subresource.html
2152                http/tests/misc/link-rel-prefetch-and-subresource.html
2153
2154         * html/HTMLLinkElement.cpp:
2155         (WebCore::HTMLLinkElement::~HTMLLinkElement):
2156         (WebCore::HTMLLinkElement::tokenizeRelAttribute):
2157         (WebCore::HTMLLinkElement::process):
2158         (WebCore::HTMLLinkElement::onloadTimerFired):
2159         (WebCore::HTMLLinkElement::notifyFinished):
2160         * html/HTMLLinkElement.h:
2161         (WebCore::HTMLLinkElement::RelAttribute::RelAttribute):
2162         * loader/cache/CachedResource.cpp:
2163         (WebCore::defaultPriorityForResourceType):
2164         * loader/cache/CachedResource.h:
2165         (WebCore::CachedResource::isLinkResource):
2166         * loader/cache/CachedResourceLoader.cpp:
2167         (WebCore::createResource):
2168         (WebCore::CachedResourceLoader::requestLinkResource):
2169         (WebCore::CachedResourceLoader::canRequest):
2170         (WebCore::CachedResourceLoader::incrementRequestCount):
2171         (WebCore::CachedResourceLoader::decrementRequestCount):
2172         * loader/cache/CachedResourceLoader.h:
2173         * loader/cache/CachedResourceRequest.cpp:
2174         (WebCore::cachedResourceTypeToTargetType):
2175         (WebCore::CachedResourceRequest::load):
2176
2177 2011-04-17  Dan Bernstein  <mitz@apple.com>
2178
2179         Reviewed by Joseph Pecoraro.
2180
2181         <rdar://problem/9296211> REGRESSION (r83514): Failing fast/repaint/trailing-floats-root-line-box-overflow.html
2182         https://bugs.webkit.org/show_bug.cgi?id=58745
2183
2184         This is really a regression from r82611, but it went unnoticed due to a mistake in r73385,
2185         which was fixed in r83514.
2186
2187         * rendering/RenderBlockLineLayout.cpp:
2188         (WebCore::RenderBlock::layoutInlineChildren): Actually assign the bottom visual overflow to the
2189         variable so named, not the top layout overflow.
2190
2191 2011-04-17  Geoffrey Garen  <ggaren@apple.com>
2192
2193         Strongly suggested, but not necessarily reviewed, by
2194         Sam Weinig and Maciej Stachowiak.
2195
2196         Renamed DOMObject* => JSDOMWrapper*.
2197
2198         * bindings/js/DOMWrapperWorld.cpp:
2199         (WebCore::isObservable):
2200         (WebCore::DOMObjectHandleOwner::finalize):
2201         * bindings/js/DOMWrapperWorld.h:
2202         * bindings/js/JSArrayBufferViewHelper.h:
2203         (WebCore::toJSArrayBufferView):
2204         * bindings/js/JSCSSRuleCustom.cpp:
2205         (WebCore::toJS):
2206         * bindings/js/JSCSSValueCustom.cpp:
2207         (WebCore::toJS):
2208         * bindings/js/JSDOMBinding.h:
2209         (WebCore::JSDOMWrapperWithGlobalPointer::globalObject):
2210         (WebCore::JSDOMWrapperWithGlobalPointer::JSDOMWrapperWithGlobalPointer):
2211         (WebCore::DOMConstructorObject::DOMConstructorObject):
2212         (WebCore::createDOMObjectWrapper):
2213         (WebCore::getDOMObjectWrapper):
2214         * bindings/js/JSDOMWrapper.cpp:
2215         (WebCore::JSDOMWrapper::~JSDOMWrapper):
2216         * bindings/js/JSDOMWrapper.h:
2217         (WebCore::JSDOMWrapper::JSDOMWrapper):
2218         * bindings/js/JSDocumentCustom.cpp:
2219         (WebCore::JSDocument::location):
2220         (WebCore::toJS):
2221         * bindings/js/JSEventCustom.cpp:
2222         (WebCore::toJS):
2223         * bindings/js/JSHTMLCollectionCustom.cpp:
2224         (WebCore::toJS):
2225         * bindings/js/JSImageDataCustom.cpp:
2226         (WebCore::toJS):
2227         * bindings/js/JSSVGPathSegCustom.cpp:
2228         (WebCore::toJS):
2229         * bindings/js/JSStyleSheetCustom.cpp:
2230         (WebCore::toJS):
2231         * bindings/js/ScriptWrappable.h:
2232         (WebCore::ScriptWrappable::wrapper):
2233         (WebCore::ScriptWrappable::setWrapper):
2234         * bindings/scripts/CodeGeneratorJS.pm:
2235
2236 2011-04-17  Patrick Gansterer  <paroga@webkit.org>
2237
2238         Reviewed by Adam Barth.
2239
2240         Rename PLATFORM(CA) to USE(CA)
2241         https://bugs.webkit.org/show_bug.cgi?id=58742
2242
2243         * config.h:
2244         * platform/graphics/ca/TransformationMatrixCA.cpp:
2245         * platform/graphics/cg/ImageBufferDataCG.h:
2246         * platform/graphics/transforms/TransformationMatrix.h:
2247         * platform/mac/WebCoreSystemInterface.h:
2248         * rendering/RenderLayerBacking.cpp:
2249         (WebCore::RenderLayerBacking::containsPaintedContent):
2250         * rendering/RenderLayerCompositor.cpp:
2251         (WebCore::RenderLayerCompositor::updateBacking):
2252
2253 2011-04-17  Young Han Lee  <joybro@company100.net>
2254
2255         Reviewed by Benjamin Poulain.
2256
2257         [Texmap] [Qt] Improve readability by using gInVertexAttributeIndex instead of 0.
2258         https://bugs.webkit.org/show_bug.cgi?id=58739
2259
2260         gInVertexAttributeIndex is a constant variable to point the location of
2261         "InVertex" attribute of the vertex shaders.
2262
2263         * platform/graphics/opengl/TextureMapperGL.cpp:
2264         (WebCore::TextureMapperGL::drawTexture):
2265         (WebCore::TextureMapperGL::paintToTarget):
2266
2267 2011-04-17  Kinuko Yasuda  <kinuko@chromium.org>
2268
2269         Not reviewed: Fix copyright (I had submitted the file with wrong
2270         copyright line).
2271
2272         * storage/StorageInfo.idl:
2273
2274 2011-04-17  Patrick Gansterer  <paroga@webkit.org>
2275
2276         Reviewed by Adam Barth.
2277
2278         Rename PLATFORM(CG) to USE(CG)
2279         https://bugs.webkit.org/show_bug.cgi?id=58729
2280
2281         * config.h:
2282         * html/HTMLCanvasElement.cpp:
2283         (WebCore::HTMLCanvasElement::toDataURL):
2284         * html/HTMLCanvasElement.h:
2285         * html/canvas/CanvasRenderingContext2D.cpp:
2286         (WebCore::CanvasRenderingContext2D::setShadow):
2287         (WebCore::CanvasRenderingContext2D::drawTextInternal):
2288         * html/canvas/CanvasRenderingContext2D.h:
2289         * html/canvas/CanvasStyle.cpp:
2290         (WebCore::CanvasStyle::applyStrokeColor):
2291         (WebCore::CanvasStyle::applyFillColor):
2292         * loader/cache/CachedFont.cpp:
2293         * loader/cache/CachedImage.cpp:
2294         (WebCore::CachedImage::createImage):
2295         * platform/FloatConversion.h:
2296         * platform/MIMETypeRegistry.cpp:
2297         (WebCore::initializeSupportedImageMIMETypes):
2298         (WebCore::initializeSupportedImageMIMETypesForEncoding):
2299         * platform/graphics/BitmapImage.h:
2300         * platform/graphics/Color.h:
2301         * platform/graphics/DashArray.h:
2302         * platform/graphics/FloatPoint.h:
2303         * platform/graphics/FloatRect.h:
2304         * platform/graphics/FloatSize.h:
2305         * platform/graphics/FontPlatformData.h:
2306         (WebCore::FontPlatformData::FontPlatformData):
2307         (WebCore::FontPlatformData::hash):
2308         * platform/graphics/GlyphBuffer.h:
2309         (WebCore::GlyphBuffer::advanceAt):
2310         (WebCore::GlyphBuffer::add):
2311         (WebCore::GlyphBuffer::expandLastAdvance):
2312         * platform/graphics/Gradient.h:
2313         * platform/graphics/GraphicsContext.cpp:
2314         (WebCore::GraphicsContext::setLegacyShadow):
2315         * platform/graphics/GraphicsContext.h:
2316         (WebCore::GraphicsContextState::GraphicsContextState):
2317         * platform/graphics/GraphicsContext3D.h:
2318         * platform/graphics/Image.cpp:
2319         * platform/graphics/Image.h:
2320         * platform/graphics/ImageBuffer.cpp:
2321         * platform/graphics/ImageBuffer.h:
2322         * platform/graphics/ImageBufferData.h:
2323         * platform/graphics/ImageSource.h:
2324         * platform/graphics/IntPoint.h:
2325         * platform/graphics/IntRect.h:
2326         * platform/graphics/IntSize.h:
2327         * platform/graphics/Path.h:
2328         * platform/graphics/Pattern.h:
2329         * platform/graphics/SimpleFontData.h:
2330         * platform/graphics/cg/ColorCG.cpp:
2331         * platform/graphics/cg/FloatPointCG.cpp:
2332         * platform/graphics/cg/FloatRectCG.cpp:
2333         * platform/graphics/cg/FloatSizeCG.cpp:
2334         * platform/graphics/cg/ImageCG.cpp:
2335         * platform/graphics/cg/ImageSourceCG.cpp:
2336         * platform/graphics/cg/IntPointCG.cpp:
2337         * platform/graphics/cg/IntRectCG.cpp:
2338         * platform/graphics/cg/IntSizeCG.cpp:
2339         * platform/graphics/cg/PDFDocumentImage.cpp:
2340         * platform/graphics/cg/PDFDocumentImage.h:
2341         * platform/graphics/cg/PathCG.cpp:
2342         * platform/graphics/cg/TransformationMatrixCG.cpp:
2343         * platform/graphics/chromium/ImageLayerChromium.h:
2344         * platform/graphics/chromium/LayerRendererChromium.cpp:
2345         * platform/graphics/chromium/LayerRendererChromium.h:
2346         * platform/graphics/chromium/PlatformCanvas.cpp:
2347         (WebCore::PlatformCanvas::resize):
2348         (WebCore::PlatformCanvas::AutoLocker::AutoLocker):
2349         (WebCore::PlatformCanvas::Painter::Painter):
2350         * platform/graphics/chromium/PlatformCanvas.h:
2351         * platform/graphics/chromium/PlatformImage.cpp:
2352         (WebCore::PlatformImage::updateFromImage):
2353         * platform/graphics/opentype/OpenTypeUtilities.cpp:
2354         * platform/graphics/transforms/AffineTransform.h:
2355         * platform/graphics/transforms/TransformationMatrix.h:
2356         * platform/graphics/win/DIBPixelData.h:
2357         * platform/graphics/win/FontCacheWin.cpp:
2358         (WebCore::FontCache::platformInit):
2359         (WebCore::createGDIFont):
2360         (WebCore::FontCache::createFontPlatformData):
2361         * platform/graphics/win/FontPlatformDataWin.cpp:
2362         (WebCore::FontPlatformData::FontPlatformData):
2363         * platform/graphics/win/GraphicsContextWin.cpp:
2364         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
2365         * platform/graphics/win/SimpleFontDataWin.cpp:
2366         * platform/image-decoders/ImageDecoder.cpp:
2367         * platform/image-decoders/ImageDecoder.h:
2368         * rendering/RenderObject.h:
2369         * rendering/svg/RenderSVGResourceFilter.cpp:
2370         (WebCore::RenderSVGResourceFilter::postApplyResource):
2371         * rendering/svg/RenderSVGResourceGradient.cpp:
2372         (WebCore::RenderSVGResourceGradient::RenderSVGResourceGradient):
2373         (WebCore::RenderSVGResourceGradient::applyResource):
2374         * rendering/svg/RenderSVGResourceGradient.h:
2375         * rendering/svg/RenderSVGResourceMasker.cpp:
2376         (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
2377         * rendering/svg/RenderSVGResourcePattern.cpp:
2378         (WebCore::RenderSVGResourcePattern::applyResource):
2379
2380 2011-04-16  Adam Barth  <abarth@webkit.org>
2381
2382         Reviewed by Sam Weinig.
2383
2384         about:blank documents in new tabs can XHR anywhere
2385         https://bugs.webkit.org/show_bug.cgi?id=58712
2386
2387         Empty security origins have supposed to be low-privilege, we should
2388         mark them as having a unique origin.
2389
2390         * manual-tests/about-blank-xhr.html: Added.
2391         * page/SecurityOrigin.cpp:
2392         (WebCore::SecurityOrigin::SecurityOrigin):
2393         * page/SecurityOrigin.h:
2394
2395 2011-04-16  Dan Bernstein  <mitz@apple.com>
2396
2397         Reviewed by Simon Fraser.
2398
2399         <rdar://problem/9190108> Crash when hiding a float
2400
2401         Test: fast/block/float/overhanging-tall-block.html
2402
2403         * rendering/RenderBlock.cpp:
2404         (WebCore::RenderBlock::addOverhangingFloats): Moved the call to childLogicalTop() out of the loop.
2405         Capped the logical bottom so that we get the correct maximum.
2406         * rendering/RenderBlock.h: Decleared appendFloatingObjectToLastLine().
2407         * rendering/RenderBlockLineLayout.cpp:
2408         (WebCore::RenderBlock::appendFloatingObjectToLastLine): Added. Ensures correct bookkeeping by
2409         extending the float if needed so that it touches the line.
2410         (WebCore::RenderBlock::layoutInlineChildren): Changed to call appendFloatingObjectToLastLine().
2411         (WebCore::RenderBlock::checkFloatsInCleanLine): Capped the float height so the we mark the right
2412         range of lines as dirty.
2413         * rendering/RootInlineBox.h:
2414         (WebCore::RootInlineBox::appendFloat): Replaced the floats() accessor with this function, which
2415         allows the creation of the vector to be combined with appending the first float.
2416
2417 2011-04-16  Sam Weinig  <sam@webkit.org>
2418
2419         Reviewed by Simon Fraser.
2420
2421         Pages in the PageCache don't have the correct visited link coloring after being restored
2422         https://bugs.webkit.org/show_bug.cgi?id=58721
2423
2424         * WebCore.exp.in:
2425         Add export of markPagesForVistedLinkStyleRecalc for use by WebKit2.
2426
2427         * history/CachedPage.cpp:
2428         (WebCore::CachedPage::CachedPage):
2429         (WebCore::CachedPage::restore):
2430         (WebCore::CachedPage::clear):
2431         * history/CachedPage.h:
2432         (WebCore::CachedPage::markForVistedLinkStyleRecalc):
2433         Add bit, set by calling markForVistedLinkStyleRecalc, which forces a visited link
2434         style recalc when being restored.
2435
2436         * history/PageCache.h:
2437         * history/PageCache.cpp:
2438         (WebCore::PageCache::markPagesForVistedLinkStyleRecalc):
2439         Mark all pages in the page cache as requiring visited link style recalc.
2440
2441         * page/PageGroup.cpp:
2442         (WebCore::PageGroup::addVisitedLink):
2443         (WebCore::PageGroup::removeVisitedLinks):
2444         (WebCore::PageGroup::removeAllVisitedLinks):
2445         Set dirty bit when changing any visited link information.
2446         
2447
2448 2011-04-16  Leo Yang  <leoyang.webkit@gmail.com>
2449
2450         Reviewed by Nikolas Zimmermann.
2451
2452         ASSERT failure when svg <use> element changes href
2453         https://bugs.webkit.org/show_bug.cgi?id=58726
2454
2455         m_resourceId was not empty after the pending resource
2456         becomes available. This will trigger the assertion at
2457         line 509 of SVGUseElement.cpp when the <use> element's
2458         href becomes empty or invalid.
2459
2460         This patch makes m_resourceId be empty after the pending
2461         resource becomes available to avoid assertion failure.
2462
2463         Test: svg/custom/use-crash-when-href-change.svg
2464
2465         * svg/SVGUseElement.cpp:
2466         (WebCore::SVGUseElement::buildPendingResource):
2467
2468 2011-04-16  Patrick Gansterer  <paroga@webkit.org>
2469
2470         Reviewed by Eric Seidel.
2471
2472         Rename PLATFORM(CAIRO) to USE(CAIRO)
2473         https://bugs.webkit.org/show_bug.cgi?id=55192
2474
2475         * CMakeListsEfl.txt:
2476         * config.h:
2477         * platform/MIMETypeRegistry.cpp:
2478         (WebCore::initializeSupportedImageMIMETypesForEncoding):
2479         * platform/graphics/ContextShadow.h:
2480         * platform/graphics/DashArray.h:
2481         * platform/graphics/FloatRect.h:
2482         * platform/graphics/FontPlatformData.h:
2483         (WebCore::FontPlatformData::FontPlatformData):
2484         (WebCore::FontPlatformData::hash):
2485         (WebCore::FontPlatformData::isHashTableDeletedValue):
2486         * platform/graphics/GlyphBuffer.h:
2487         (WebCore::GlyphBuffer::glyphAt):
2488         (WebCore::GlyphBuffer::add):
2489         * platform/graphics/Gradient.cpp:
2490         * platform/graphics/Gradient.h:
2491         * platform/graphics/GraphicsContext.cpp:
2492         * platform/graphics/GraphicsContext.h:
2493         (WebCore::GraphicsContextState::GraphicsContextState):
2494         * platform/graphics/GraphicsContext3D.h:
2495         * platform/graphics/ImageBufferData.h:
2496         * platform/graphics/ImageSource.h:
2497         * platform/graphics/Path.h:
2498         * platform/graphics/Pattern.h:
2499         * platform/graphics/SimpleFontData.h:
2500         * platform/graphics/cairo/DrawErrorUnderline.h:
2501         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2502         * platform/graphics/cairo/ImageCairo.cpp:
2503         * platform/graphics/gstreamer/ImageGStreamer.h:
2504         * platform/graphics/transforms/AffineTransform.h:
2505         * platform/graphics/transforms/TransformationMatrix.h:
2506         * platform/graphics/win/FontCacheWin.cpp:
2507         (WebCore::createGDIFont):
2508         (WebCore::FontCache::createFontPlatformData):
2509         * platform/graphics/win/FontPlatformDataWin.cpp:
2510         (WebCore::FontPlatformData::FontPlatformData):
2511         * platform/graphics/win/GraphicsContextWin.cpp:
2512         * plugins/win/PluginViewWin.cpp:
2513         (WebCore::PluginView::paintWindowedPluginIntoContext):
2514         * rendering/RenderObject.h:
2515
2516 2011-04-16  Patrick Gansterer  <paroga@webkit.org>
2517
2518         Unreviewed WinCE build fix for r84033.
2519
2520         * platform/win/LocalizedStringsWin.cpp:
2521         (WebCore::localizedString):
2522
2523 2011-04-16  Abhishek Arya  <inferno@chromium.org>
2524
2525         Reviewed by Nikolas Zimmermann.
2526
2527         Only allow inline child for SVG text since we cannot
2528         handle block childs.
2529         https://bugs.webkit.org/show_bug.cgi?id=58678
2530
2531         Test: svg/text/text-block-child-crash.xhtml
2532
2533         * rendering/svg/RenderSVGText.cpp:
2534         (WebCore::RenderSVGText::isChildAllowed):
2535         * rendering/svg/RenderSVGText.h:
2536
2537 2011-04-15  Ilya Tikhonovsky  <loislo@chromium.org>
2538
2539         Reviewed by Pavel Feldman.
2540
2541         Web Inspector: The list of Database entries is empty if the page opens a database just before Web Inspector.
2542         https://bugs.webkit.org/show_bug.cgi?id=57833
2543
2544         * inspector/Inspector.json:
2545         * inspector/InspectorDatabaseAgent.cpp:
2546         (WebCore::InspectorDatabaseAgent::didOpenDatabase):
2547         (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
2548         (WebCore::InspectorDatabaseAgent::setFrontend):
2549         (WebCore::InspectorDatabaseAgent::clearFrontend):
2550         (WebCore::InspectorDatabaseAgent::enable):
2551         (WebCore::InspectorDatabaseAgent::disable):
2552         (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
2553         (WebCore::InspectorDatabaseAgent::executeSQL):
2554         * inspector/InspectorDatabaseAgent.h:
2555         * inspector/front-end/inspector.js:
2556
2557 2011-04-15  Adam Barth  <abarth@webkit.org>
2558
2559         Reviewed by Eric Seidel.
2560
2561         CSP media-src is missing
2562         https://bugs.webkit.org/show_bug.cgi?id=58642
2563
2564         Yay HTMLMediaElement for having the exact hook we need!
2565
2566         Tests: http/tests/security/contentSecurityPolicy/media-src-allowed.html
2567                http/tests/security/contentSecurityPolicy/media-src-blocked.html
2568
2569         * html/HTMLMediaElement.cpp:
2570         (WebCore::HTMLMediaElement::isSafeToLoadURL):
2571             - Although it's tempting to add this branch to the previous
2572               if-block, that results in the wrong error message being logged to
2573               the console (covered by the "blocked" test).
2574         * page/ContentSecurityPolicy.cpp:
2575         (WebCore::ContentSecurityPolicy::allowMediaFromSource):
2576         (WebCore::ContentSecurityPolicy::addDirective):
2577         * page/ContentSecurityPolicy.h:
2578             - These changes are routine.
2579
2580 2011-04-15  Adam Barth  <abarth@webkit.org>
2581
2582         Reviewed by Eric Seidel.
2583
2584         CSP should block string arguments to setTimeout and setInterval unless options eval-script
2585         https://bugs.webkit.org/show_bug.cgi?id=58610
2586
2587         It's somewhat sadness that the JSC and V8 code for setTimeout and
2588         setInterval are so different.  I struggled for a while with how to
2589         handle the worker case, but I decided to punt on it for now.
2590
2591         Tests: http/tests/security/contentSecurityPolicy/eval-scripts-setInterval-allowed.html
2592                http/tests/security/contentSecurityPolicy/eval-scripts-setInterval-blocked.html
2593                http/tests/security/contentSecurityPolicy/eval-scripts-setTimeout-allowed.html
2594                http/tests/security/contentSecurityPolicy/eval-scripts-setTimeout-blocked.html
2595
2596         * bindings/js/JSDOMWindowCustom.cpp:
2597         (WebCore::JSDOMWindow::setTimeout):
2598         (WebCore::JSDOMWindow::setInterval):
2599         * bindings/js/JSWorkerContextCustom.cpp:
2600         (WebCore::JSWorkerContext::setTimeout):
2601         (WebCore::JSWorkerContext::setInterval):
2602         * bindings/js/ScheduledAction.cpp:
2603         (WebCore::ScheduledAction::create):
2604         * bindings/js/ScheduledAction.h:
2605         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2606         (WebCore::WindowSetTimeoutImpl):
2607         * page/ContentSecurityPolicy.cpp:
2608         (WebCore::ContentSecurityPolicy::allowEval):
2609         * page/ContentSecurityPolicy.h:
2610
2611 2011-04-15  Shishir Agrawal  <shishir@chromium.org>
2612
2613         Reviewed by James Robinson.
2614
2615         Add a flag to guard Page Visibility API changes.
2616         https://bugs.webkit.org/show_bug.cgi?id=58464
2617
2618         * Configurations/FeatureDefines.xcconfig:
2619
2620 2011-04-15  Fridrich Strba  <fridrich.strba@bluewin.ch>
2621
2622         Reviewed by Martin Robinson.
2623
2624         Make plugins compile during WebKit GTK Windows build.
2625         Ifdef properly relevant parts so that the PluginViewGtk compiles on Windows.
2626         https://bugs.webkit.org/show_bug.cgi?id=58580
2627
2628         * plugins/PluginView.cpp:
2629         (WebCore::PluginView::stop):
2630         * plugins/PluginView.h:
2631         * plugins/gtk/PluginViewGtk.cpp:
2632         (WebCore::PluginView::platformGetValue):
2633         (WebCore::PluginView::platformStart):
2634
2635 2011-04-15  MORITA Hajime  <morrita@google.com>
2636
2637         Reviewed by Simon Fraser.
2638
2639         Calls to WebCore::Document::mayCauseFlashOfUnstyledContent make frequently-run drawing methods slower
2640         https://bugs.webkit.org/show_bug.cgi?id=58512
2641         
2642         Manually rolled out r72367 at which mayCauseFlashOfUnstyledContent() was introduced.
2643         This change keeps an small refactoring on
2644         FrameView::shouldUpdate(), which doesn't affect on the behavior.
2645
2646         * dom/Document.cpp:
2647         * dom/Document.h:
2648         * page/FrameView.cpp:
2649         (WebCore::FrameView::invalidateRect):
2650         (WebCore::FrameView::shouldUpdate):
2651         * rendering/RenderBlock.cpp:
2652         (WebCore::RenderBlock::paintContents):
2653         * rendering/RenderLayer.cpp:
2654         (WebCore::RenderLayer::paintLayer):
2655
2656 2011-04-15  Chris Rogers  <crogers@google.com>
2657
2658         Reviewed by Kenneth Russell.
2659
2660         Reduce default kernel size of SincResampler to favor better speed over quality
2661         https://bugs.webkit.org/show_bug.cgi?id=58710
2662
2663         No new tests since audio API is not yet implemented.
2664
2665         * platform/audio/SincResampler.h:
2666
2667 2011-04-15  Fridrich Strba  <fridrich.strba@bluewin.ch>
2668
2669         Reviewed by Martin Robinson.
2670
2671         Expand the ntohs, ntohl, htons and htonl defines for OS(WINDOWS)
2672         These have to be defined for Windows in general, since win32 API
2673         does not provide them.
2674         https://bugs.webkit.org/show_bug.cgi?id=58582
2675
2676         * platform/graphics/WOFFFileFormat.cpp:
2677
2678 2011-04-15  Vsevolod Vlasov  <vsevik@chromium.org>
2679
2680         Reviewed by Adam Barth.
2681
2682         Show a console message when X-Frame-Options blocks a load
2683         https://bugs.webkit.org/show_bug.cgi?id=39087
2684
2685         Added console message when X-Frame-Options headers block resource loading
2686
2687         * loader/MainResourceLoader.cpp:
2688         (WebCore::MainResourceLoader::didReceiveResponse):
2689
2690 2011-04-15  Fridrich Strba  <fridrich.strba@bluewin.ch>
2691
2692         Reviewed by Martin Robinson.
2693
2694         Evaluate PLATFORM(GTK) before the all-encompassing OS(WINDOWS)
2695         test. This allows Windows build of WebKit GTK to chose the right
2696         path.
2697         https://bugs.webkit.org/show_bug.cgi?id=58576
2698
2699         * platform/FileSystem.h:
2700
2701 2011-04-08  Luiz Agostini  <luiz.agostini@openbossa.org>
2702
2703         Reviewed by Kenneth Rohde Christiansen.
2704
2705         [Qt] QWebPage MIME type handling inconsistency with other web browsers
2706         https://bugs.webkit.org/show_bug.cgi?id=46968
2707
2708         Implementing mime type sniffing based on
2709         http://tools.ietf.org/html/draft-abarth-mime-sniff-06.
2710
2711         * WebCore.pro:
2712         * platform/network/MIMESniffing.cpp: Added.
2713         (MagicNumbers::dataSizeNeededForImageSniffing):
2714         (MagicNumbers::maskedCompare):
2715         (MagicNumbers::checkSpaceOrBracket):
2716         (MagicNumbers::compare):
2717         (MagicNumbers::findMIMEType):
2718         (MagicNumbers::findSimpleMIMEType):
2719         (MagicNumbers::textOrBinaryTypeSniffingProcedure):
2720         (MagicNumbers::unknownTypeSniffingProcedure):
2721         (MagicNumbers::imageTypeSniffingProcedure):
2722         (MagicNumbers::checkText):
2723         (MagicNumbers::checkRDF):
2724         (MagicNumbers::skipTag):
2725         (MagicNumbers::feedTypeSniffingProcedure):
2726         (MIMESniffer::MIMESniffer):
2727         * platform/network/MIMESniffing.h: Added.
2728         (MIMESniffer::dataSize):
2729         (MIMESniffer::sniff):
2730         (MIMESniffer::isValid):
2731         * platform/network/NetworkingContext.h:
2732         * platform/network/qt/QNetworkReplyHandler.cpp:
2733         (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper):
2734         (WebCore::QNetworkReplyWrapper::release):
2735         (WebCore::QNetworkReplyWrapper::receiveMetaData):
2736         (WebCore::QNetworkReplyWrapper::receiveSniffedMIMEType):
2737         (WebCore::QNetworkReplyWrapper::emitMetaDataChanged):
2738         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
2739         (WebCore::QNetworkReplyHandler::sendNetworkRequest):
2740         (WebCore::QNetworkReplyHandler::start):
2741         * platform/network/qt/QNetworkReplyHandler.h:
2742         (WebCore::QNetworkReplyWrapper::advertisedMIMEType):
2743         (WebCore::QNetworkReplyWrapper::mimeType):
2744         * platform/network/qt/QtMIMETypeSniffer.cpp: Added.
2745         (QtMIMETypeSniffer::QtMIMETypeSniffer):
2746         (QtMIMETypeSniffer::sniff):
2747         (QtMIMETypeSniffer::trySniffing):
2748         * platform/network/qt/QtMIMETypeSniffer.h: Added.
2749         (QtMIMETypeSniffer::mimeType):
2750         (QtMIMETypeSniffer::isFinished):
2751
2752 2011-04-15  Emil A Eklund  <eae@chromium.org>
2753
2754         Reviewed by Dimitri Glazkov.
2755
2756         input field with focus makes appendChild operation ~42x slower
2757         https://bugs.webkit.org/show_bug.cgi?id=57059
2758
2759         Change ContainerNode::cloneChildNodes to only disable the
2760         deleteButtonController if the container itself (or any of its children)
2761         is being edited. Thus avoiding a reflow in cases where it's not.
2762
2763         Test: perf/clone-with-focus.html
2764
2765         * dom/ContainerNode.cpp:
2766         (WebCore::ContainerNode::cloneChildNodes):
2767
2768 2011-04-15  Kinuko Yasuda  <kinuko@chromium.org>
2769
2770         Reviewed by David Levin.
2771
2772         Expose unified Quota API if QUOTA build flag is enabled
2773         https://bugs.webkit.org/show_bug.cgi?id=58648
2774
2775         Test: storage/storageinfo-query-usage.html
2776
2777         * CMakeLists.txt: Added new file entries.
2778         * DerivedSources.cpp: Added new file entries.
2779         * DerivedSources.make: Added new file entries.
2780         * GNUmakefile.am: Added new file entries.
2781         * WebCore.gypi: Added new file entries.
2782         * WebCore.vcproj/WebCore.vcproj: Added new file entries.
2783         * WebCore.xcodeproj/project.pbxproj: Added new file entries.
2784         * page/DOMWindow.cpp:
2785         (WebCore::DOMWindow::webkitStorageInfo): Added.
2786         * page/DOMWindow.h:
2787         * page/DOMWindow.idl:
2788         * storage/StorageInfo.h: Added storage type enum.
2789         * storage/StorageInfo.idl: Added.
2790         * storage/StorageInfoErrorCallback.idl: Added.
2791         * storage/StorageInfoUsageCallback.idl: Added.
2792
2793 2011-04-15  Oliver Hunt  <oliver@apple.com>
2794
2795         GC allocate Structure
2796         https://bugs.webkit.org/show_bug.cgi?id=58483
2797
2798         Rolling r83894 r83827 r83810 r83809 r83808 back in with
2799         a workaround for the gcc bug seen by the gtk bots
2800
2801         * WebCore.exp.in:
2802         * bindings/js/JSAudioConstructor.h:
2803         (WebCore::JSAudioConstructor::createStructure):
2804         * bindings/js/JSDOMBinding.cpp:
2805         (WebCore::cacheDOMStructure):
2806         * bindings/js/JSDOMBinding.h:
2807         (WebCore::DOMObjectWithGlobalPointer::createStructure):
2808         (WebCore::DOMObjectWithGlobalPointer::DOMObjectWithGlobalPointer):
2809         (WebCore::DOMConstructorObject::createStructure):
2810         (WebCore::DOMConstructorObject::DOMConstructorObject):
2811         (WebCore::DOMConstructorWithDocument::DOMConstructorWithDocument):
2812         * bindings/js/JSDOMGlobalObject.cpp:
2813         (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
2814         (WebCore::JSDOMGlobalObject::markChildren):
2815         * bindings/js/JSDOMGlobalObject.h:
2816         (WebCore::JSDOMGlobalObject::createStructure):
2817         * bindings/js/JSDOMWindowBase.cpp:
2818         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
2819         * bindings/js/JSDOMWindowBase.h:
2820         (WebCore::JSDOMWindowBase::createStructure):
2821         * bindings/js/JSDOMWindowShell.cpp:
2822         (WebCore::JSDOMWindowShell::JSDOMWindowShell):
2823         (WebCore::JSDOMWindowShell::setWindow):
2824         * bindings/js/JSDOMWindowShell.h:
2825         (WebCore::JSDOMWindowShell::createStructure):
2826         * bindings/js/JSDOMWrapper.h:
2827         (WebCore::DOMObject::DOMObject):
2828         * bindings/js/JSEventListener.cpp:
2829         (WebCore::JSEventListener::JSEventListener):
2830         * bindings/js/JSImageConstructor.h:
2831         (WebCore::JSImageConstructor::createStructure):
2832         * bindings/js/JSImageDataCustom.cpp:
2833         (WebCore::toJS):
2834         * bindings/js/JSOptionConstructor.h:
2835         (WebCore::JSOptionConstructor::createStructure):
2836         * bindings/js/JSWorkerContextBase.cpp:
2837         (WebCore::JSWorkerContextBase::JSWorkerContextBase):
2838         * bindings/js/JSWorkerContextBase.h:
2839         (WebCore::JSWorkerContextBase::createStructure):
2840         * bindings/js/ScriptCachedFrameData.h:
2841         * bindings/js/SerializedScriptValue.h:
2842         * bindings/js/WorkerScriptController.cpp:
2843         (WebCore::WorkerScriptController::~WorkerScriptController):
2844         (WebCore::WorkerScriptController::initScript):
2845         * bindings/scripts/CodeGeneratorJS.pm:
2846         * bridge/c/CRuntimeObject.h:
2847         (JSC::Bindings::CRuntimeObject::createStructure):
2848         * bridge/c/c_instance.cpp:
2849         (JSC::Bindings::CRuntimeMethod::createStructure):
2850         * bridge/jni/jsc/JavaInstanceJSC.cpp:
2851         (JavaRuntimeMethod::createStructure):
2852         * bridge/jni/jsc/JavaRuntimeObject.h:
2853         (JSC::Bindings::JavaRuntimeObject::createStructure):
2854         * bridge/objc/ObjCRuntimeObject.h:
2855         (JSC::Bindings::ObjCRuntimeObject::createStructure):
2856         * bridge/objc/objc_instance.mm:
2857         (ObjCRuntimeMethod::createStructure):
2858         * bridge/objc/objc_runtime.h:
2859         (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
2860         * bridge/qt/qt_instance.cpp:
2861         (JSC::Bindings::QtRuntimeObject::createStructure):
2862         * bridge/qt/qt_pixmapruntime.cpp:
2863         (JSC::Bindings::QtPixmapRuntimeObject::createStructure):
2864         * bridge/qt/qt_runtime.h:
2865         (JSC::Bindings::QtRuntimeMethod::createStructure):
2866         * bridge/runtime_array.cpp:
2867         (JSC::RuntimeArray::RuntimeArray):
2868         * bridge/runtime_array.h:
2869         (JSC::RuntimeArray::createStructure):
2870         * bridge/runtime_method.cpp:
2871         (JSC::RuntimeMethod::RuntimeMethod):
2872         * bridge/runtime_method.h:
2873         (JSC::RuntimeMethod::createStructure):
2874         * bridge/runtime_object.cpp:
2875         (JSC::Bindings::RuntimeObject::RuntimeObject):
2876         * bridge/runtime_object.h:
2877         (JSC::Bindings::RuntimeObject::createStructure):
2878         * history/HistoryItem.h:
2879
2880 2011-04-15  Jessie Berlin  <jberlin@apple.com>
2881
2882         Reviewed by Brian Weinstein.
2883
2884         Hang underneath ApplicationCacheStorage::writeDataToUniqueFileInDirectory when loading
2885         http://www.webkit.org/demos/calendar.
2886         https://bugs.webkit.org/show_bug.cgi?id=58698
2887
2888         * platform/win/FileSystemWin.cpp:
2889         (WebCore::openFile):
2890         Add breaks to the case statement.
2891         (WebCore::directoryName):
2892         Remove any trailing slash in directoryName. After closer inspection of all callers, it
2893         appears the that callers do not need the trailing slash, and those that use the length do
2894         so only to change the direction of the slashes throughout the length of the path.
2895
2896 2011-04-15  Roland Steiner  <rolandsteiner@chromium.org>
2897
2898         Reviewed by Dimitri Glazkov.
2899
2900         Bug 52963 - Enable O(1) access to root from any node in shadow DOM subtree
2901         https://bugs.webkit.org/show_bug.cgi?id=52963
2902
2903         .) Change base class of ShadowRoot from DocumentFragment to TreeScope.
2904         .) Re-enable tree scope handling in Node (had ASSERT_NOT_REACHED, etc.).
2905         .) Merged setTreeScope() with setTreeScopeRecursively()
2906         .) Call setTreeScopeRecursively in DOM manipulation functions where applicable.
2907
2908         No new tests. (refactoring)
2909
2910         * dom/ContainerNode.cpp:
2911         (WebCore::ContainerNode::takeAllChildrenFrom):
2912         (WebCore::ContainerNode::removeBetween):
2913         (WebCore::ContainerNode::removeChildren):
2914         (WebCore::ContainerNode::parserAddChild):
2915         * dom/Document.cpp:
2916         (WebCore::Document::Document):
2917         (WebCore::Document::~Document):
2918         (WebCore::Document::setDocType):
2919         * dom/Element.h:
2920         * dom/Node.cpp:
2921         (WebCore::Node::treeScope):
2922         (WebCore::Node::setTreeScopeRecursively):
2923         * dom/Node.h:
2924         (WebCore::Node::document):
2925         * dom/ShadowRoot.cpp:
2926         (WebCore::ShadowRoot::ShadowRoot):
2927         (WebCore::ShadowRoot::~ShadowRoot):
2928         (WebCore::ShadowRoot::nodeType):
2929         (WebCore::ShadowRoot::cloneNode):
2930         (WebCore::ShadowRoot::childTypeAllowed):
2931         * dom/ShadowRoot.h:
2932         (WebCore::toShadowRoot):
2933         * dom/TreeScope.cpp:
2934         (WebCore::TreeScope::TreeScope):
2935         (WebCore::TreeScope::setParentTreeScope):
2936         * dom/TreeScope.h:
2937         * rendering/RenderSlider.cpp:
2938
2939 2011-04-15  Geoffrey Garen  <ggaren@apple.com>
2940
2941         Reviewed by Oliver Hunt.
2942
2943         DOM object handles are never removed from cache
2944         https://bugs.webkit.org/show_bug.cgi?id=58707
2945
2946         We were trying to remove hash table items by value instead of by key.
2947
2948         * bindings/js/DOMWrapperWorld.cpp:
2949         (WebCore::JSNodeHandleOwner::finalize): Changed to work more like
2950         DOMObjectHandleOwner::finalize because I'm going to merge them.
2951
2952         (WebCore::DOMObjectHandleOwner::finalize): Remove hash table items
2953         by key, not value. (Oops!) Use a helper function to make sure we get
2954         this right.
2955
2956         * bindings/js/JSDOMBinding.cpp:
2957         (WebCore::cacheDOMObjectWrapper): Store the hash table key as our weak
2958         handle context, so we can use it at destruction time.
2959
2960         * bindings/js/JSDOMBinding.h: Removed unnecessary include.
2961
2962         * bindings/js/JSNodeCustom.h:
2963         (WebCore::cacheDOMNodeWrapper): Store the hash table key as our weak
2964         handle context, so we can use it at destruction time.
2965
2966         * bindings/js/ScriptWrappable.h:
2967         (WebCore::ScriptWrappable::setWrapper): Forward context parameter, to
2968         support the above.
2969
2970 2011-04-15  Kenneth Russell  <kbr@google.com>
2971
2972         Unreviewed. Chromium Linux Release build fix due to unused variables.
2973
2974         * platform/audio/mkl/FFTFrameMKL.cpp:
2975         (WebCore::FFTFrame::doFFT):
2976         (WebCore::FFTFrame::doInverseFFT):
2977         (WebCore::FFTFrame::cleanup):
2978
2979 2011-04-15  Brent Fulgham  <bfulgham@webkit.org>
2980
2981         Unreviewed build change after r83945.
2982
2983         New 'PlatformPathCairo.cpp' was not added to the WinCairo build.
2984
2985         * WebCore.vcproj/WebCore.vcproj: Add missing file to WinCairo
2986           build.  Exclude for standard Apple build.
2987
2988 2011-04-15  Anders Carlsson  <andersca@apple.com>
2989
2990         Reviewed by Dan Bernstein.
2991
2992         Fade the find page overlay
2993         https://bugs.webkit.org/show_bug.cgi?id=58697
2994
2995         Add a symbol that WebKit2 needs.
2996
2997         * WebCore.exp.in:
2998
2999 2011-04-15  MORITA Hajime  <morrita@google.com>
3000
3001         Reviewed by Dimitri Glazkov.
3002
3003         RenderDetailsMarker should belong to shadow element.
3004         https://bugs.webkit.org/show_bug.cgi?id=58591
3005
3006         - Introduced DetailsMarkerControl element, which is a shadow element of <summary>, creates RenderDetailsMarker.
3007         - Removed custom layout code from RenderDetails, RenderDetailsMarker, which is now done by usual CSS layout.
3008           Note that marker size is given via style for -webkit-details-marker pseudo class.
3009         - Converted default summary implementation from pure-renderer style to shadow of HTMLDetailsElement.
3010           Now RenderDetails knows nothing about default summary.
3011         - Moved event handling code from HTMLDetailsElement to HTMLSummaryElement because now the marker is always child of 
3012           <summary>, and the clickable area is now <summary> itself.
3013
3014         - Note that the rendering result is changed due to the conversion from custom layout code to usual CSS styling.
3015
3016         * Android.mk:
3017         * CMakeLists.txt:
3018         * GNUmakefile.list.am:
3019         * WebCore.gypi:
3020         * WebCore.pro:
3021         * WebCore.vcproj/WebCore.vcproj:
3022         * WebCore.xcodeproj/project.pbxproj:
3023         * css/html.css:
3024         (summary::-webkit-details-marker):
3025         * dom/Element.cpp:
3026         (WebCore::Element::attach):
3027         * dom/Node.cpp:
3028         (WebCore::shouldCreateRendererFor):
3029         * dom/Node.h:
3030         (WebCore::Node::canHaveLightChildRendererWithShadow):
3031         * html/HTMLDetailsElement.cpp:
3032         (WebCore::HTMLDetailsElement::findSummaryFor):
3033         (WebCore::HTMLDetailsElement::findMainSummary):
3034         (WebCore::HTMLDetailsElement::refreshMainSummary):
3035         (WebCore::HTMLDetailsElement::createShadowSubtree):
3036         (WebCore::HTMLDetailsElement::childrenChanged):
3037         (WebCore::HTMLDetailsElement::finishParsingChildren):
3038         (WebCore::HTMLDetailsElement::toggleOpen):
3039         * html/HTMLDetailsElement.h:
3040         (WebCore::HTMLDetailsElement::canHaveLightChildRendererWithShadow):
3041         * html/HTMLSummaryElement.cpp:
3042         (WebCore::HTMLSummaryElement::create):
3043         (WebCore::HTMLSummaryElement::createShadowSubtree):
3044         (WebCore::HTMLSummaryElement::detailsElement):
3045         (WebCore::HTMLSummaryElement::isMainSummary):
3046         (WebCore::HTMLSummaryElement::defaultEventHandler):
3047         * html/HTMLSummaryElement.h:
3048         (WebCore::HTMLSummaryElement::canHaveLightChildRendererWithShadow):
3049         * html/shadow/DetailsMarkerControl.cpp: Added.
3050         (WebCore::DetailsMarkerControl::DetailsMarkerControl):
3051         (WebCore::DetailsMarkerControl::createRenderer):
3052         (WebCore::DetailsMarkerControl::rendererIsNeeded):
3053         (WebCore::DetailsMarkerControl::shadowPseudoId):
3054         (WebCore::DetailsMarkerControl::summaryElement):
3055         * html/shadow/DetailsMarkerControl.h: Added.
3056         (WebCore::DetailsMarkerControl::create):
3057         * rendering/RenderDetails.cpp:
3058         (WebCore::RenderDetails::RenderDetails):
3059         (WebCore::RenderDetails::styleDidChange):
3060         (WebCore::RenderDetails::moveSummaryToContents):
3061         (WebCore::RenderDetails::checkMainSummary):
3062         (WebCore::RenderDetails::layout):
3063         * rendering/RenderDetails.h:
3064         * rendering/RenderDetailsMarker.cpp:
3065         (WebCore::RenderDetailsMarker::RenderDetailsMarker):
3066         (WebCore::RenderDetailsMarker::isOpen):
3067         (WebCore::RenderDetailsMarker::getPath):
3068         (WebCore::RenderDetailsMarker::paint):
3069         (WebCore::RenderDetailsMarker::details):
3070         * rendering/RenderDetailsMarker.h:
3071
3072 2011-04-15  Sam Weinig  <sam@webkit.org>
3073
3074         Reviewed by Adam Roben.
3075
3076         Implement localize strings for windows WebKit2
3077         https://bugs.webkit.org/show_bug.cgi?id=58688
3078
3079         * platform/win/LocalizedStringsWin.cpp:
3080         (WebCore::createWebKitBundle):
3081         (WebCore::webKitBundle):
3082         (WebCore::localizedString):
3083         Add implementation of localizedString for Windows.
3084
3085 2011-04-15  Geoffrey Garen  <ggaren@apple.com>
3086
3087         Reviewed by Oliver Hunt.
3088
3089         Some mechanical DOM wrapper cleanup
3090         https://bugs.webkit.org/show_bug.cgi?id=58689
3091
3092         * WebCore.exp.in: Export!
3093
3094         * bindings/js/DOMWrapperWorld.cpp:
3095         (WebCore::isReachableFromDOM): Inverted the inDocument test to make the
3096         relationship of the special cases to the normal case clearer.
3097
3098         * bindings/js/JSArrayBufferViewHelper.h:
3099         (WebCore::toJSArrayBufferView):
3100         * bindings/js/JSCSSRuleCustom.cpp:
3101         (WebCore::toJS):
3102         * bindings/js/JSCSSValueCustom.cpp:
3103         (WebCore::toJS):
3104         * bindings/js/JSDOMBinding.cpp:
3105         (WebCore::getCachedDOMObjectWrapper):
3106         (WebCore::cacheDOMObjectWrapper):
3107         * bindings/js/JSDOMBinding.h:
3108         (WebCore::createDOMObjectWrapper):
3109         (WebCore::getDOMObjectWrapper):
3110         (WebCore::createDOMNodeWrapper):
3111         (WebCore::getDOMNodeWrapper): Changed DOM wrapper functions to operate
3112         in terms of DOMWrapperWorlds instead of ExecStates. This is clearer,
3113         and ever-so-slightly faster.
3114         
3115         Removed hasCachedXXX functions, now that they're unused.
3116
3117         * bindings/js/JSDOMWindowCustom.cpp:
3118         (WebCore::JSDOMWindow::history):
3119         (WebCore::JSDOMWindow::location):
3120         * bindings/js/JSDocumentCustom.cpp:
3121         (WebCore::JSDocument::location):
3122         (WebCore::toJS):
3123         * bindings/js/JSElementCustom.cpp:
3124         (WebCore::toJSNewlyCreated):
3125         * bindings/js/JSEventCustom.cpp:
3126         (WebCore::toJS):
3127         * bindings/js/JSHTMLCollectionCustom.cpp:
3128         (WebCore::toJS):
3129         * bindings/js/JSImageDataCustom.cpp:
3130         (WebCore::toJS):
3131         * bindings/js/JSNodeCustom.cpp:
3132         (WebCore::createWrapperInline):
3133         * bindings/js/JSNodeCustom.h:
3134         (WebCore::getCachedDOMNodeWrapper):
3135         (WebCore::cacheDOMNodeWrapper):
3136         (WebCore::toJS):
3137         * bindings/js/JSSVGPathSegCustom.cpp:
3138         (WebCore::toJS):
3139         * bindings/js/JSStyleSheetCustom.cpp:
3140         (WebCore::toJS): Updated for changes above.
3141
3142         * xml/XMLHttpRequest.cpp:
3143         (WebCore::XMLHttpRequest::dropProtection): Removed use of hasCachedDOMObjectWrapper
3144         because XHR is almost always created and used by JavaScript, so it's
3145         simpler to just always report extra cost.
3146
3147 2011-04-15  Andreas Kling  <kling@webkit.org>
3148
3149         Rolling out accidental part of r84010.
3150
3151         * platform/qt/RenderThemeQt.cpp:
3152         (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
3153         (WebCore::RenderThemeQt::setButtonPadding):
3154
3155 2011-04-15  Oliver Hunt  <oliver@apple.com>
3156
3157         Forgot windows build fix.
3158
3159         * bindings/js/JSNodeFilterCondition.cpp:
3160         (WebCore::JSNodeFilterCondition::WeakOwner::isReachableFromOpaqueRoots):
3161
3162 2011-04-15  Joseph Pecoraro  <joepeck@webkit.org>
3163
3164         Reviewed by Yury Semikhatsky.
3165
3166         Frontend Part of Web Inspector: Remote Web Inspector - Cross Platform InspectorServer
3167         https://bugs.webkit.org/show_bug.cgi?id=51364
3168
3169         The front end should not use a transparent background when
3170         loaded as a web page (remote debugging) but should when loaded
3171         regularly in a custom window. This adds a "remote" style class
3172         onto the document body when the page is loaded remotely.
3173
3174         * inspector/front-end/inspector.css:
3175         (body.detached.platform-mac-snowleopard:not(.remote) #toolbar): respect the "remote" class.
3176         * inspector/front-end/inspector.js: add a "remote" class on the body when loaded remotely.
3177
3178 2011-04-15  Joseph Pecoraro  <joepeck@webkit.org>
3179
3180         Reviewed by David Kilzer.
3181
3182         JSLock ASSERT seen often when using the inspector for long
3183         periods of time. We should take the JSLock whenever we
3184         might allocate memory in the JavaScript Heap.
3185
3186         JSC InjectedScriptHost::nodeAsScriptValue should take JSLock before possible JavaScript Allocations
3187         https://bugs.webkit.org/show_bug.cgi?id=58674
3188
3189         * bindings/js/JSInjectedScriptHostCustom.cpp:
3190         (WebCore::InjectedScriptHost::nodeAsScriptValue): take the JSLock.
3191
3192 2011-04-14  Oliver Hunt  <oliver@apple.com>
3193
3194         Reviewed by Geoffrey Garen.
3195
3196         Make JSNodeFilterCondition handle its lifetime correctly
3197         https://bugs.webkit.org/show_bug.cgi?id=58622
3198
3199         Switch over to a WeakHandle and external roots to keep the
3200         condition value live.
3201
3202         * bindings/js/JSNodeFilterCondition.cpp:
3203         (WebCore::JSNodeFilterCondition::JSNodeFilterCondition):
3204         (WebCore::JSNodeFilterCondition::markAggregate):
3205         (WebCore::JSNodeFilterCondition::acceptNode):
3206         (WebCore::JSNodeFilterCondition::WeakOwner::isReachableFromOpaqueRoots):
3207         * bindings/js/JSNodeFilterCondition.h:
3208         (WebCore::JSNodeFilterCondition::create):
3209         * bindings/js/JSNodeFilterCustom.cpp:
3210         (WebCore::toNodeFilter):
3211         * bindings/scripts/CodeGeneratorJS.pm:
3212
3213 2011-04-13  Luiz Agostini  <luiz.agostini@openbossa.org>
3214
3215         Reviewed by Andreas Kling.
3216
3217         [Qt] QNetworkReplyHandler refactoring: some adjustments
3218         https://bugs.webkit.org/show_bug.cgi?id=57092
3219
3220         - Removing flag m_redirected from QNetworkReplyHandler and using m_redirectionTargetUrl.isValid() instead.
3221         - Moving flag m_responseContainsData from QNetworkReplyHandler to the reply wrapper and removing the connection of
3222         signal metaDataChanged for m_responseContainsData to be consistent.
3223         - Using an OwnPtr to keep the reference to the QNetworkReplyWrapper.
3224
3225         * platform/network/qt/QNetworkReplyHandler.cpp:
3226         (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper):
3227         (WebCore::QNetworkReplyWrapper::receiveMetaData):
3228         (WebCore::QNetworkReplyWrapper::didReceiveReadyRead):
3229         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
3230         (WebCore::QNetworkReplyHandler::release):
3231         (WebCore::shouldIgnoreHttpError):
3232         (WebCore::QNetworkReplyHandler::finish):
3233         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
3234         (WebCore::QNetworkReplyHandler::redirect):
3235         (WebCore::QNetworkReplyHandler::forwardData):
3236         * platform/network/qt/QNetworkReplyHandler.h:
3237         (WebCore::QNetworkReplyWrapper::responseContainsData):
3238         (WebCore::QNetworkReplyWrapper::redirected):
3239
3240 2011-04-15  Alexey Proskuryakov  <ap@apple.com>
3241
3242         Chromium build fix.
3243
3244         * platform/SecureTextInput.h: CARBON_SECURE_INPUT_MODE no longer exists.
3245
3246 2011-04-15  Mike Reed  <reed@google.com>
3247
3248         Reviewed by Darin Fisher.
3249
3250         hide unused static function when SKIA_GPU is enabled
3251         https://bugs.webkit.org/show_bug.cgi?id=58670
3252
3253         No new tests. Just fixes a warning (treated as an error) when SKIA_GPU is enabled
3254
3255         * platform/graphics/skia/ImageSkia.cpp:
3256
3257 2011-04-15  Simon Fraser  <simon.fraser@apple.com>
3258
3259         Reviewed by Beth Dakin.
3260
3261         Some borders with border-radius do not have rounded inner edges
3262         https://bugs.webkit.org/show_bug.cgi?id=58457
3263         
3264         Improve the logic used to compute the inner radii on curved
3265         borders, to maintain borders of even thickness around the curve.
3266         
3267         Tests: fast/borders/mixed-border-styles-radius.html
3268                fast/borders/mixed-border-styles.html
3269
3270         * rendering/RenderBoxModelObject.h:
3271         * rendering/RenderBoxModelObject.cpp:
3272         (WebCore::RenderBoxModelObject::computeBorderOuterRect):
3273         (WebCore::RenderBoxModelObject::computeBorderInnerRect):
3274         Two new utility functions to share some code that was in both paintBorder()
3275         and paintBoxShaadow().
3276         getRoundedInnerBorderWithBorderWidths() now takes the outer border box
3277         as well as the inner box.
3278         
3279         (WebCore::RenderBoxModelObject::paintBorder): Call new methods.
3280         (WebCore::RenderBoxModelObject::paintBoxShadow): Ditto.
3281
3282         * rendering/RenderObject.cpp:
3283         (WebCore::RenderObject::drawBoxSideFromPath):
3284         getRoundedInnerBorderWithBorderWidths() now takes the outer border box
3285         as well as the inner box.
3286
3287         * rendering/style/RenderStyle.cpp:
3288         (WebCore::RenderStyle::getRoundedInnerBorderWithBorderWidths):
3289         * rendering/style/RenderStyle.h:
3290         Compute the inner radii by starting with teh radii used for the
3291         outer box, and then shrinking them down based on the border thickness.
3292
3293 2011-04-14  Alexey Proskuryakov  <ap@apple.com>
3294
3295         Reviewed by Dan Bernstein.
3296
3297         WebKit2: Password field input does not switch to ASCII-compatible source
3298         https://bugs.webkit.org/show_bug.cgi?id=58583
3299         <rdar://problem/9059651>
3300
3301         * platform/SecureTextInput.cpp:
3302         (WebCore::enableSecureTextInput):
3303         (WebCore::disableSecureTextInput):
3304         This is now only used by Chromium. There is no need to change TSMDocument properties in
3305         renderer process (and really, all secure text input logic in WebCore should be eliminated).
3306
3307 2011-04-13  Xiaomei Ji  <xji@chromium.org>
3308
3309         Reviewed by Ryosuke Niwa.
3310
3311         Continue (3rd) experiment with moving caret by word in visual order.
3312         https://bugs.webkit.org/show_bug.cgi?id=58294
3313
3314         This patch along with r82588 and r83483 implements moving caret by
3315         word in visual order.
3316         
3317         The overall algorithm is:
3318         1. First get the InlineBox and offset of the pass-in VisiblePosition.
3319         2. Based on the position (left boundary, middle, right boundary) of the offset and the
3320            direction of the movement, look for visually adjacent word breaks.
3321         2.1 If the offset is the minimum offset of the box,
3322             return the rightmost word boundary in previous boxes if moving left.
3323             return the leftmost word boundary in box and next boxes if moving right.
3324         2.2 Similar for the case when offset is at the maximum offset of the box.
3325         2.3 When offset is inside the box (not at boundaries), first find the previousWordPosition 
3326             or nextWordPosition based on the directionality of the box. If this word break position 
3327             is also inside the same box, return it. Otherwise (the nextWordPosition or 
3328             previousWordPosition is not in the same box or is at the box boundary), collect all the 
3329             word breaks in the box and search for the one closest to the input "offset" based on 
3330             box directionality, block directionality, and movement direction. Continue search in 
3331             adjacent boxes if needed.
3332
3333         Notes:
3334         1. Word boundaries are collected one box at a time. Only when a boundary that is closest to 
3335            the input position (in the moving direction) is not available in current box, word 
3336            boundaries in adjacent box will be collected. So, there is no need to save InlineBox in 
3337            word boundaries. Instead, the word boundaries are saved as a pair 
3338            (VisiblePosition, offset) to avoid recomputing VisiblePosition.
3339  
3340         2. We only collect boundaries of the right kind (i.e. left boundary of a word in LTR block
3341            and right boundary of a word in RTL block). And word boundaries are collected using 
3342            previousWordPosition() and nextWordPosition(). So when box directionality is the same as 
3343            block directionality, word boundaries are collected from right to left visually in a LTR 
3344            box, and word boundaries are collected from left to right visually in a RTL box. It is
3345            the other way around when box directionality is different from block directionality.
3346
3347         3. To find the right kinds of word boundaries, we must move back and forth between words
3348            in some situations. For example, if we're moving to the right in a LTR box in LTR block,
3349            we cannot simply return nextWordPosition() because it would return the right boundary
3350            of a word. Instead, we return nextWordPosition()'s nextWordPosition()'s previousWordPosition().
3351
3352         4. When collecting word breaks inside a box, it first computes a start position, then
3353            collect the right kind of word breaks until it reaches the end of (or beyond) the box.
3354            In the meanwhile, it might need special handling on the rightmost or leftmost position 
3355            based on the directionality of the box and block. These computations do not consider the 
3356            box's bidi level.
3357
3358         * editing/visible_units.cpp:
3359         (WebCore::nextWordBreakInBoxInsideBlockWithDifferentDirectionality):
3360         (WebCore::collectWordBreaksInBox):
3361         (WebCore::previousWordBoundaryInBox):
3362         (WebCore::nextWordBoundaryInBox):
3363         (WebCore::visuallyLastWordBoundaryInBox):
3364         (WebCore::leftWordBoundary):
3365         (WebCore::rightWordBoundary):
3366         (WebCore::leftWordPosition):
3367         (WebCore::rightWordPosition):
3368
3369 2011-04-14  Zhenyao Mo  <zmo@google.com>
3370
3371         Reviewed by Kenneth Russell.
3372
3373         Use HTMLImageElement in Canvas 2D / WebGL before response is ready causes crash
3374         https://bugs.webkit.org/show_bug.cgi?id=58501
3375
3376         * html/canvas/WebGLRenderingContext.cpp:
3377         (WebCore::WebGLRenderingContext::texImage2D): Call validateHTMLImageElement().
3378         (WebCore::WebGLRenderingContext::texSubImage2D): Ditto.
3379         (WebCore::WebGLRenderingContext::validateHTMLImageElement): Make sure image is ready.
3380         * html/canvas/WebGLRenderingContext.h:
3381
3382 2011-04-07  MORITA Hajime  <morrita@google.com>
3383
3384         Reviewed by Ryosuke Niwa.
3385
3386         DocumentMaker::AllMarkers should not be a part of DocumentMarker::MarkerType
3387         https://bugs.webkit.org/show_bug.cgi?id=58112
3388         
3389         - Converted DocumentMarker::MarkerTypes from unsigned int to a class.
3390         - Converted DocumentMarker::AllMarkers from an enum entry to a subclass of MarkerTypes.
3391         - Changed type of some MarkerType argument on DocumentMarkerController API to MarkerTypes
3392           which should allow a combination of MarkerType constansts.
3393         - Removed some MarkerType arguments on DocumentMarkerController API
3394           which only received AllMarkers.
3395         
3396         No new tests, no behavior change.
3397
3398         * WebCore.exp.in:
3399         * dom/DocumentMarker.h:
3400         (WebCore::DocumentMarker::MarkerTypes::MarkerTypes):
3401         (WebCore::DocumentMarker::MarkerTypes::contains):
3402         (WebCore::DocumentMarker::MarkerTypes::intersects):
3403         (WebCore::DocumentMarker::MarkerTypes::operator==):
3404         (WebCore::DocumentMarker::MarkerTypes::add):
3405         (WebCore::DocumentMarker::MarkerTypes::remove):
3406         (WebCore::DocumentMarker::AllMarkers::AllMarkers):
3407         * dom/DocumentMarkerController.cpp:
3408         (WebCore::DocumentMarkerController::possiblyHasMarkers):
3409         (WebCore::DocumentMarkerController::addMarker):
3410         (WebCore::DocumentMarkerController::copyMarkers):
3411         (WebCore::DocumentMarkerController::removeMarkers):
3412         (WebCore::DocumentMarkerController::markerContainingPoint):
3413         (WebCore::DocumentMarkerController::markersInRange):
3414         (WebCore::DocumentMarkerController::renderedRectsForMarkers):
3415         (WebCore::DocumentMarkerController::removeMarkersFromMarkerMapVectorPair):
3416         (WebCore::DocumentMarkerController::repaintMarkers):
3417         (WebCore::DocumentMarkerController::shiftMarkers):
3418         (WebCore::DocumentMarkerController::setMarkersActive):
3419         (WebCore::DocumentMarkerController::hasMarkers):
3420         (WebCore::DocumentMarkerController::clearDescriptionOnMarkersIntersectingRange):
3421         * dom/DocumentMarkerController.h:
3422
3423 2011-04-14  Geoffrey Garen  <ggaren@apple.com>
3424
3425         Reviewed by Oliver Hunt.
3426
3427         Complicated hash table is complicated
3428         https://bugs.webkit.org/show_bug.cgi?id=58631
3429         
3430         Now that we use the opaque roots system to track node wrapper lifetime,
3431         we can remove a lot of complicated hash-tablery that used to do the same.
3432         
3433         Now normal world node wrappers are just set as direct properties of
3434         ScriptWrappable, while isolated world node wrappers and other DOM object
3435         wrappers are stored in a shared, per-world hash table.
3436
3437         In addition to reducing complexity, this makes DOM wrapper allocation
3438         1.6X faster (tested with scratch-gc-dom3.html), and it reduces the memory
3439         footprint of normal world wrappers by ~2/3, and isolated world wrappers
3440         by ~1/3.
3441
3442         * WebCore.exp.in: Paying the patch tithe.
3443
3444         * bindings/js/DOMWrapperWorld.cpp:
3445         (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
3446         (WebCore::DOMWrapperWorld::clearWrappers): No more per-document hash tables.
3447
3448         (WebCore::JSNodeHandleOwner::finalize): Changed to call a helper function,
3449         so the code to destroy a wrapper can live next to the code to create one.
3450
3451         * bindings/js/DOMWrapperWorld.h: No more per-document hash tables.
3452
3453         * bindings/js/JSDOMBinding.cpp:
3454         (WebCore::uncacheDOMObjectWrapper):
3455         * bindings/js/JSDOMBinding.h:
3456         (WebCore::createDOMNodeWrapper):
3457         (WebCore::getDOMNodeWrapper): No more per-document hash tables.
3458         Added uncacheDOMObjectWrapper to be symmetrical with cacheDOMObjectWrapper.
3459
3460         * bindings/js/JSDocumentCustom.cpp:
3461         (WebCore::toJS):
3462         * bindings/js/JSElementCustom.cpp:
3463         (WebCore::toJSNewlyCreated):
3464         * bindings/js/JSNodeCustom.cpp:
3465         (WebCore::createWrapperInline): Ditto.
3466
3467         * bindings/js/JSNodeCustom.h:
3468         (WebCore::getCachedDOMNodeWrapper):
3469         (WebCore::cacheDOMNodeWrapper):
3470         (WebCore::uncacheDOMNodeWrapper):
3471         (WebCore::toJS): Implemented the scheme described above.
3472
3473         * bindings/js/ScriptWrappable.h:
3474         (WebCore::ScriptWrappable::wrapper):
3475         (WebCore::ScriptWrappable::setWrapper):
3476         (WebCore::ScriptWrappable::clearWrapper): ScriptWrappable needs a handle
3477         owner now, since we don't have an extra handle living in a hash table
3478         to maintain ownership for us.
3479
3480         * dom/Document.cpp:
3481         (WebCore::Document::Document):
3482         (WebCore::Document::~Document):
3483         * dom/Document.h:
3484         * dom/Node.cpp:
3485         (WebCore::Node::setDocument): No more per-document hash tables.
3486
3487         * html/HTMLCanvasElement.cpp:
3488         (WebCore::HTMLCanvasElement::createImageBuffer): Removed call to
3489         hasCachedDOMNodeWrapperUnchecked because that was the old way of doing
3490         things, and I was in the mood for getting rid of the old way. It's
3491         debatable whether the check was ever a good idea. Even when a <canvas>
3492         doesn't have a direct JS wrapper, other JS references can still keep
3493         the <canvas> alive. So, it's probably best always to report extra cost.
3494
3495 2011-04-15  Vsevolod Vlasov  <vsevik@chromium.org>
3496
3497         Reviewed by Pavel Feldman.
3498
3499         Web Inspector: Rename rawRequestHeadersText and RawResponseHeadersText to requestHeadersText and responseHeadersText
3500         https://bugs.webkit.org/show_bug.cgi?id=58650
3501
3502         * inspector/Inspector.json:
3503         * inspector/InspectorResourceAgent.cpp:
3504         (WebCore::buildObjectForResourceResponse):
3505         * inspector/front-end/NetworkManager.js:
3506         (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
3507         * inspector/front-end/Resource.js:
3508         (WebInspector.Resource.prototype.get requestHeadersText):
3509         (WebInspector.Resource.prototype.set requestHeadersText):
3510         (WebInspector.Resource.prototype.get requestHeadersSize):
3511         (WebInspector.Resource.prototype.get responseHeadersText):
3512         (WebInspector.Resource.prototype.set responseHeadersText):
3513         (WebInspector.Resource.prototype.get responseHeadersSize):
3514         (WebInspector.Resource.prototype._headersSize):
3515         * inspector/front-end/ResourceHeadersView.js:
3516         (WebInspector.ResourceHeadersView):
3517         (WebInspector.ResourceHeadersView.prototype._refreshRequestHeaders):
3518         (WebInspector.ResourceHeadersView.prototype._refreshResponseHeaders):
3519         (WebInspector.ResourceHeadersView.prototype._refreshHeadersTitle):
3520         (WebInspector.ResourceHeadersView.prototype._refreshHeadersText):
3521         (WebInspector.ResourceHeadersView.prototype._toggleRequestHeadersText):
3522         (WebInspector.ResourceHeadersView.prototype._toggleResponseHeadersText):
3523         (WebInspector.ResourceHeadersView.prototype._createHeadersToggleButton):
3524         * inspector/front-end/networkPanel.css:
3525         (.resource-headers-view .outline-disclosure li.headers-text):
3526         * platform/network/ResourceLoadInfo.h:
3527
3528 2011-04-15  Luke Macpherson   <macpherson@chromium.org>
3529
3530         Reviewed by Dimitri Glazkov.
3531
3532         Implement css overflow properties in CSSStyleApplyProperty
3533         https://bugs.webkit.org/show_bug.cgi?id=58633
3534
3535         No new tests required as no functionality changes.
3536
3537         * css/CSSStyleApplyProperty.cpp:
3538         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
3539         Add initializers for CSSPropertyOverflowX, CSSPropertyOverflowY and CSSPropertyOverflow.
3540         * css/CSSStyleSelector.cpp:
3541         (WebCore::CSSStyleSelector::applyProperty):