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