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