2009-11-11 Joanmarie Diggs <joanmarie.diggs@gmail.com>
[WebKit-https.git] / WebCore / ChangeLog
1 2009-11-11  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
2
3         Reviewed by Reviewed by Jan Alonzo.
4
5         https://bugs.webkit.org/show_bug.cgi?id=30901
6         [Gtk] Need to de-lint the Atk a11y code
7
8         Cleaned up some missed capitalization style-guideline violations.
9
10         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
11
12 2009-11-11  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
13
14         Reviewed by Eric Seidel.
15
16         [Qt] Make the default style background color valid.
17         Currently the color is transparent but invalid, this causes
18         list boxes in QtWebKit to be drawn with a black background
19         since r49242.
20         https://bugs.webkit.org/show_bug.cgi?id=31295
21
22         * rendering/style/RenderStyle.h:
23         (WebCore::InheritedFlags::initialBackgroundColor):
24         * rendering/style/StyleBackgroundData.cpp:
25         (WebCore::StyleBackgroundData::StyleBackgroundData):
26
27 2009-11-10  Gavin Barraclough  <barraclough@apple.com>
28
29         Reviewed by Geoff Garen.
30
31         Simplify the ownership model for worlds - rather than having a pair of weak references
32         between DOMWrapperWorld and ScriptController/ScriptCachedFrameData, give the latter an
33         ref pointer to the former.  This reduces complexity & cost of the caching entries in the
34         back forward cache.
35
36         * WebCore.base.exp:
37         * bindings/js/JSDOMBinding.cpp:
38         (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
39         * bindings/js/JSDOMBinding.h:
40         (WebCore::DOMWrapperWorld::forgetDocument):
41         * bindings/js/ScriptCachedFrameData.cpp:
42         (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
43         (WebCore::ScriptCachedFrameData::restore):
44         (WebCore::ScriptCachedFrameData::clear):
45         * bindings/js/ScriptCachedFrameData.h:
46         * bindings/js/ScriptController.cpp:
47         (WebCore::ScriptController::~ScriptController):
48         (WebCore::ScriptController::clearWindowShell):
49         (WebCore::ScriptController::initScript):
50         (WebCore::ScriptController::updateDocument):
51         * bindings/js/ScriptController.h:
52
53 2009-11-10  Shinichiro Hamaji  <hamaji@chromium.org>
54
55         Reviewed by Darin Adler.
56
57         rename counter to makeCounterNode in RenderCounter.cpp
58         https://bugs.webkit.org/show_bug.cgi?id=31289
59
60         No new test because this is just a small refactoring.
61
62         * rendering/RenderCounter.cpp:
63         (WebCore::findPlaceForCounter):
64         (WebCore::makeCounterNode):
65         (WebCore::RenderCounter::originalText):
66
67 2009-11-10  Daniel Bates  <dbates@webkit.org>
68
69         Reviewed by Oliver Hunt.
70
71         https://bugs.webkit.org/show_bug.cgi?id=30754
72
73         Patch 2 of 2.
74
75         Removed method EventHandler::dragSourceMovedTo, since it is no longer
76         needed. This method fired a drag event whenever the mouse moved, but
77         section 7.9.4 of the HTML 5 spec. defines the drag-and-drop processing
78         model independent of when the mouse moves. See "Among other changes..."
79         in the change log for patch 1 for more details.
80
81         * WebCore.DragSupport.exp:
82         * page/EventHandler.cpp: Removed method EventHandler::dragSourceMovedTo.
83         (WebCore::EventHandler::handleDrag): Updated comment about reentrancy issue.
84         * page/EventHandler.h:
85
86 2009-11-10  Daniel Bates  <dbates@webkit.org>
87
88         Reviewed by Oliver Hunt.
89
90         https://bugs.webkit.org/show_bug.cgi?id=30754
91
92         Patch 1 of 2.
93
94         As per Section 7.9.4 of the HTML 5 spec. <http://dev.w3.org/html5/spec/Overview.html#drag-and-drop-processing-model>,
95         the drag event should always fire before the dragover event.
96
97         In fixing this bug, this patch also makes our drag processing model
98         conform to the HTML 5 spec.
99
100         Among the changes, this patch ensures that the drag event isn't fired outside
101         of the drag-and-drop processing loop, WebCore::EventHandler::updateDragAndDrop.
102         Currently, the drag event is fired whenever the mouse button is down and the OS
103         detects the mouse moved. But, as per the spec, the drag event should
104         fire approx. every 350ms so long as the mouse button is down.
105
106         Test: fast/events/drag-and-drop-fire-drag-dragover.html
107
108         * page/EventHandler.cpp:
109         (WebCore::EventHandler::clear):
110         (WebCore::EventHandler::canHandleDragAndDropForTarget): Formerly named handleDragAndDropForTarget.
111         Modified to determine when we are in the correct instance of EventHandler to service the drag
112         and drop operation.
113         (WebCore::EventHandler::updateDragAndDrop): Moved code from WebCore::EventHandler::dragSourceMovedTo
114         into this method.
115         (WebCore::EventHandler::cancelDragAndDrop):
116         (WebCore::EventHandler::performDragAndDrop):
117         (WebCore::EventHandler::clearDragState):
118         * page/EventHandler.h: Added field m_shouldOnlyFireDragOverEvent to determine whether
119         we should fire both drag and dragover events or only the dragover event.
120
121 2009-11-10  Vitaly Repeshko  <vitalyr@chromium.org>
122
123         Reviewed by Dimitri Glazkov.
124
125         [V8] Fix crash in V8CustomXPathNSResolver (http://crbug.com/26726).
126         https://bugs.webkit.org/show_bug.cgi?id=31301
127
128         Tested by new fast/xpath/xpath-detached-iframe-resolver-crash.html.
129
130         Allowed passing V8Proxy for the calling JS context:
131         * bindings/v8/V8DOMWrapper.h:
132         (WebCore::V8DOMWrapper::getXPathNSResolver):
133         * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
134         (WebCore::V8CustomXPathNSResolver::create):
135         (WebCore::V8CustomXPathNSResolver::V8CustomXPathNSResolver):
136         (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
137         * bindings/v8/custom/V8CustomXPathNSResolver.h:
138         * bindings/v8/custom/V8DocumentCustom.cpp:
139         (WebCore::CALLBACK_FUNC_DECL):
140
141 2009-11-10  Yael Aharon  <yael.aharon@nokia.com>
142
143         Reviewed by Timothy Hatcher.
144
145         Implement URL decomposition IDL attributes for HTMLAnchorElement.
146         https://bugs.webkit.org/show_bug.cgi?id=29972.
147
148         Add methods for setting different parts of the URL in href attribute.
149
150         Tests: fast/dom/HTMLAnchorElement/set-href-attribute-hash.html
151                fast/dom/HTMLAnchorElement/set-href-attribute-host.html
152                fast/dom/HTMLAnchorElement/set-href-attribute-hostname.html
153                fast/dom/HTMLAnchorElement/set-href-attribute-pathname.html
154                fast/dom/HTMLAnchorElement/set-href-attribute-port.html
155                fast/dom/HTMLAnchorElement/set-href-attribute-protocol.html
156                fast/dom/HTMLAnchorElement/set-href-attribute-search.html
157
158         * bindings/js/JSLocationCustom.cpp:
159         (WebCore::JSLocation::setPort):
160         * html/HTMLAnchorElement.cpp:
161         (WebCore::parsePortFromStringPosition):
162         (WebCore::HTMLAnchorElement::setHash):
163         (WebCore::HTMLAnchorElement::setHost):
164         (WebCore::HTMLAnchorElement::setHostname):
165         (WebCore::HTMLAnchorElement::setPathname):
166         (WebCore::HTMLAnchorElement::setPort):
167         (WebCore::HTMLAnchorElement::setProtocol):
168         (WebCore::HTMLAnchorElement::setSearch):
169         * html/HTMLAnchorElement.h:
170         * html/HTMLAnchorElement.idl:
171         * loader/FrameLoader.cpp:
172         (WebCore::FrameLoader::iconURL):
173         * platform/KURL.cpp:
174         (WebCore::KURL::removePort):
175         (WebCore::KURL::setPort):
176         (WebCore::KURL::prettyURL):
177         (WebCore::protocolIsValid):
178         * platform/KURL.h:
179         (WebCore::KURL::canSetHostOrPort):
180         (WebCore::KURL::canSetPathname):
181         (WebCore::KURL::hasPort):
182         * platform/network/soup/ResourceHandleSoup.cpp:
183         (WebCore::):
184
185 2009-11-10  Nate Chapin  <japhet@chromium.org>
186
187         Unreviewed, fix Chromium build after http://trac.webkit.org/changeset/50760.
188
189         * platform/chromium/PopupMenuChromium.cpp:
190         (WebCore::PopupContainer::paintBorder):
191         (WebCore::PopupListBox::paint):
192         (WebCore::PopupListBox::paintRow):
193         * platform/graphics/chromium/TransparencyWin.cpp:
194         (WebCore::TransparencyWin::setupLayerForWhiteLayer):
195         * platform/graphics/skia/GraphicsContextSkia.cpp:
196         (WebCore::GraphicsContext::fillRect):
197         (WebCore::GraphicsContext::fillRoundedRect):
198         (WebCore::GraphicsContext::setPlatformFillColor):
199         (WebCore::GraphicsContext::setPlatformStrokeColor):
200         * rendering/RenderMediaControlsChromium.cpp:
201         (WebCore::paintMediaSlider):
202         (WebCore::paintMediaVolumeSlider):
203         (WebCore::paintMediaTimelineContainer):
204         * rendering/RenderThemeChromiumMac.mm:
205         (WebCore::RenderThemeChromiumMac::paintMenuListButton):
206
207 2009-11-10  Brady Eidson  <beidson@apple.com>
208
209         Reviewed by Sam Weinig.
210
211         Repro crash saving pcmag.com article as a webarchive.
212         <rdar://problem/7381219> and https://webkit.org/b/31322
213
214         Test: http/tests/webarchive/cross-origin-stylesheet-crash.html
215
216         * css/CSSStyleSheet.cpp:
217         (WebCore::CSSStyleSheet::addSubresourceStyleURLs): Walk the stylesheet itself instead
218           of creating a CSSRuleList (and subjecting ourselves to the security origin check)
219
220 2009-11-10  Beth Dakin  <bdakin@apple.com>
221
222         Attempt 2 to fix Tiger build. No review needed.
223
224         * platform/graphics/cg/GraphicsContextCG.cpp:
225         (WebCore::deviceRGBColorSpaceRef):
226         (WebCore::sRGBColorSpaceRef):
227
228 2009-11-10  Kevin Ollivier  <kevino@theolliviers.com>
229
230         wx build fix. Changes needed after r50760.
231
232         * platform/graphics/wx/GraphicsContextWx.cpp:
233         (WebCore::GraphicsContext::GraphicsContext):
234         * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp:
235         (WebCore::drawTextWithSpacing):
236
237 2009-11-10  Alexey Proskuryakov  <ap@apple.com>
238
239         Qt build fix.
240
241         * platform/network/ResourceHandle.h: Only inherit from AuthenticationClient on platforms
242         that use ResourceHandle as a delegate (Mac, CFNetwork, Curl).
243
244 2009-11-10  Beth Dakin  <bdakin@apple.com>
245
246         Tiger build fix. No review needed.
247
248         * platform/graphics/cg/GraphicsContextCG.cpp:
249         (WebCore::sRGBColorSpaceRef):
250
251 2009-11-10  Alexey Proskuryakov  <ap@apple.com>
252
253         Reviewed by Dan Bernstein.
254
255         https://bugs.webkit.org/show_bug.cgi?id=31312
256         Decouple authentication panel callbacks from ResourceHandle
257
258         No change in functionality.
259
260         SocketStreamHandle also needs to request credentials, so it's not appropriate to store
261         ResourceHandle as delegate.
262
263         * WebCore.vcproj/WebCore.vcproj:
264         * platform/network/AuthenticationClient.h: Added.
265         Added a new interface for listening to authentication panel notifications.
266
267         * WebCore.xcodeproj/project.pbxproj: Added AuthenticationClient.h. Let Visual Studio do what
268         it wants with the project file.
269
270         (WebCore::AuthenticationClient::ref): Using our usual method of exposing refcounting on an
271         interface class.
272         (WebCore::AuthenticationClient::deref): Ditto.
273
274         * platform/network/ResourceHandle.h:
275         (WebCore::ResourceHandle::refAuthenticationClient): Ditto.
276         (WebCore::ResourceHandle::derefAuthenticationClient): Ditto.
277
278         * platform/network/cf/AuthenticationCF.cpp:
279         (WebCore::AuthenticationChallenge::AuthenticationChallenge):
280         (WebCore::AuthenticationChallenge::platformCompare):
281         * platform/network/cf/AuthenticationChallenge.h:
282         (WebCore::AuthenticationChallenge::authenticationClient):
283         * platform/network/chromium/AuthenticationChallenge.h:
284         (WebCore::AuthenticationChallenge::authenticationClient):
285         * platform/network/curl/AuthenticationChallenge.h:
286         (WebCore::AuthenticationChallenge::authenticationClient):
287         Keeping a reference to AuthenticationClient, not to ResourceHandle.
288
289 2009-11-10  Beth Dakin  <bdakin@apple.com>
290
291        Second attempted gtk build fix. No review needed.
292
293         * html/canvas/CanvasStyle.cpp:
294         (WebCore::CanvasStyle::applyStrokeColor):
295
296
297 2009-11-10  Gavin Barraclough  <barraclough@apple.com>
298
299         Reviewed by Geoff Garen.
300
301         Fix back/forwards cache with JSC isolated worlds.
302         https://bugs.webkit.org/show_bug.cgi?id=31310
303         <rdar://problem/7328111> Cached back navigation doesn't restore global object in extension isolated world
304
305         Store the global object for all worlds, not just the normal world.
306         Also maintain bidirectional weak references between the ScriptCachedFrameData and the DOMWrapperWorld,
307         so we can forget global objects if a world goes away.
308
309         * bindings/js/JSDOMBinding.cpp:
310         (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
311         * bindings/js/JSDOMBinding.h:
312         (WebCore::DOMWrapperWorld::rememberScriptCachedFrameData):
313         (WebCore::DOMWrapperWorld::forgetScriptCachedFrameData):
314         * bindings/js/ScriptCachedFrameData.cpp:
315         (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
316         (WebCore::ScriptCachedFrameData::forgetWorld):
317         (WebCore::ScriptCachedFrameData::domWindow):
318         (WebCore::ScriptCachedFrameData::restore):
319         (WebCore::ScriptCachedFrameData::clear):
320         * bindings/js/ScriptCachedFrameData.h:
321         * bindings/js/ScriptController.h:
322
323 2009-11-10  Csaba Osztrogonác  <ossy@webkit.org>
324
325         [Qt] Unreviewed buildfix after r50760.
326
327         * platform/graphics/qt/GraphicsContextQt.cpp:
328         (WebCore::GraphicsContext::GraphicsContext):
329
330 2009-11-10  Beth Dakin  <bdakin@apple.com>
331
332         Attempted build fix. (No review needed.)
333
334         * GNUmakefile.am: Adding ColorSpace.h
335
336 2009-11-10  Brian Weinstein  <bweinstein@apple.com>
337
338         Reviewed by NOBODY - Build Fix.
339
340         Updated function calls to take a ColorSpace argument, passing
341         in DeviceColorSpace for now - this should be fixed. Also added
342         ColorSpace.h to WebCore project.
343
344         * WebCore.vcproj/WebCore.vcproj:
345         * platform/graphics/win/FontCGWin.cpp:
346         (WebCore::Font::drawGlyphs):
347         * platform/graphics/win/GraphicsContextCGWin.cpp:
348         (WebCore::GraphicsContext::GraphicsContext):
349         * platform/win/PopupMenuWin.cpp:
350         (WebCore::PopupMenu::paint):
351         * platform/win/WebCoreTextRenderer.cpp:
352         (WebCore::doDrawTextAtPoint):
353         * rendering/RenderThemeSafari.cpp:
354         (WebCore::RenderThemeSafari::paintMenuListButton):
355
356 2009-11-10  Jens Alfke  <snej@chromium.org>
357
358         Reviewed by Darin Adler.
359
360         Optimizations to Element::getAttribute
361         https://bugs.webkit.org/show_bug.cgi?id=30926
362
363         * dom/Element.cpp:
364         (WebCore::Element::getAttribute):  User case-insensitive compare instead of lowercasing the name.
365         * dom/NamedAttrMap.cpp:
366         (WebCore::NamedNodeMap::getAttributeItem):  Avoid redundant compares, and do fast/likely compares first.
367         * platform/text/PlatformString.h:
368         (WebCore::equalPossiblyIgnoringCase):  New inline method, used by both of the above.
369
370 2009-11-10  Beth Dakin  <bdakin@apple.com>
371
372         Reviewed by Darin Adler.
373
374         Fix for <rdar://problem/7059710> 
375         -and corresponding-
376         https://bugs.webkit.org/show_bug.cgi?id=31196 Implement -webkit-
377         color-correction for CSS colors
378
379         New exported symbol for GraphicsContext::fillColor() which now 
380         accepts a ColorSpace as an optional parameter.
381         * WebCore.base.exp:
382
383         Added a new file, ColorSpace.h, to define the ColorSpace enum.
384         * WebCore.xcodeproj/project.pbxproj:
385
386         Computed Style for -webkit-color-correction
387         * css/CSSComputedStyleDeclaration.cpp:
388         (WebCore::):
389         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
390
391         Parse -webkit-color-correction
392         * css/CSSParser.cpp:
393         (WebCore::CSSParser::parseValue):
394
395        Map CSS identifiers to the appropriate values of the ColorSpace enum
396         * css/CSSPrimitiveValueMappings.h:
397         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
398         (WebCore::CSSPrimitiveValue::operator ColorSpace):
399
400         New property -webkit-color-correction
401         * css/CSSPropertyNames.in:
402
403         Map -webkit-color-correction into the RenderStyle.
404         * css/CSSStyleSelector.cpp:
405         (WebCore::CSSStyleSelector::applyProperty):
406
407         Add new value sRGB.
408         * css/CSSValueKeywords.in:
409
410         Comment out the reference to sRGB since it will now be inherited as 
411         a value from CSSValueKeywords.
412         * css/SVGCSSValueKeywords.in:
413
414         Definition of the ColorSpace enum.
415         * platform/graphics/ColorSpace.h: Added.
416         (WebCore::):
417
418         These functions all now take a ColorSpace as a parameter.
419         * platform/graphics/GraphicsContext.cpp:
420         (WebCore::GraphicsContext::setStrokeColor):
421         (WebCore::GraphicsContext::setFillColor):
422         (WebCore::GraphicsContext::drawHighlightForText):
423
424         Return the appropriate ColorSpace.
425         (WebCore::GraphicsContext::strokeColorSpace):
426         (WebCore::GraphicsContext::fillColorSpace):
427
428         These functions all call other functions which require a ColorSpace 
429         as a parameter.
430         (WebCore::GraphicsContext::setStrokePattern):
431         (WebCore::GraphicsContext::setFillPattern):
432         (WebCore::GraphicsContext::setStrokeGradient):
433         (WebCore::GraphicsContext::setFillGradient):
434
435         All of the GraphicsContext functions that take a Color should now 
436         also take a ColorSpace.
437         * platform/graphics/GraphicsContext.h:
438
439         Added new member variables stokeColorSpace and fillColorSpace.
440         * platform/graphics/GraphicsContextPrivate.h:
441         (WebCore::GraphicsContextState::GraphicsContextState):
442
443         Attempt to keep the Cairo port building with all of the massive 
444         changes to GraphicsContext.        
445         * platform/graphics/cairo/GraphicsContextCairo.cpp:
446         (WebCore::GraphicsContext::fillRect):
447         (WebCore::GraphicsContext::setPlatformFillColor):
448         (WebCore::GraphicsContext::setPlatformStrokeColor):
449         (WebCore::GraphicsContext::fillRoundedRect):
450
451         
452         * platform/graphics/cg/GraphicsContextCG.cpp:
453         (WebCore::sRGBColorSpaceRef): New static function that returns a 
454         CGColorSpaceRef for the sRGB color space.
455         (WebCore::deviceRGBColorSpaceRef): New static function that returns 
456         a CGColorSpaceRef for the device RGB color space.
457
458         (WebCore::setCGFillColor): Now takes a ColorSpace parameter and 
459         sets the fill color to the specified color in the given ColorSpace.
460         (WebCore::setCGStrokeColor): Same, but for stroke.
461
462         (WebCore::setCGFillColorSpace): New static to set the 
463         CGFillColorSpace to the given ColorSpace
464         (WebCore::setCGStrokeColorSpace): Same, but for stroke.
465
466         Send ColorSpaces when appropriate, set ColorSpaces when 
467         appropriate, and check ColorSpaces when appropriate.
468         (WebCore::GraphicsContext::GraphicsContext):
469         (WebCore::GraphicsContext::drawRect):
470         (WebCore::GraphicsContext::drawLine):
471         (WebCore::GraphicsContext::fillPath):
472         (WebCore::GraphicsContext::strokePath):
473         (WebCore::GraphicsContext::fillRect):
474         (WebCore::GraphicsContext::fillRoundedRect):
475         (WebCore::GraphicsContext::strokeRect):
476         (WebCore::GraphicsContext::drawLineForText):
477         (WebCore::GraphicsContext::setPlatformStrokeColor):
478         (WebCore::GraphicsContext::setPlatformFillColor):
479
480         Attempt to keep Haiku building.
481         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
482         (WebCore::GraphicsContext::fillRect):
483         (WebCore::GraphicsContext::fillRoundedRect):
484         (WebCore::GraphicsContext::setPlatformStrokeColor):
485         (WebCore::GraphicsContext::setPlatformFillColor):
486
487         Attempt to keep QT building.
488         * platform/graphics/qt/GraphicsContextQt.cpp:
489         (WebCore::GraphicsContext::fillRect):
490         (WebCore::GraphicsContext::fillRoundedRect):
491         (WebCore::GraphicsContext::setPlatformStrokeColor):
492         (WebCore::GraphicsContext::setPlatformFillColor):
493
494         Attempt to keep Wince building.
495         * platform/graphics/wince/GraphicsContextWince.cpp:
496         (WebCore::GraphicsContext::fillRect):
497         (WebCore::GraphicsContext::setPlatformFillColor):
498         (WebCore::GraphicsContext::setPlatformStrokeColor):
499         (WebCore::GraphicsContext::clearRect):
500         (WebCore::GraphicsContext::fillRoundedRect):
501         (WebCore::GraphicsContext::setPlatformShadow):
502
503         Attempt to keep WX building.
504         * platform/graphics/wx/GraphicsContextWx.cpp:
505         (WebCore::GraphicsContext::fillRect):
506         (WebCore::GraphicsContext::fillRoundedRect):
507         (WebCore::GraphicsContext::setPlatformStrokeColor):
508         (WebCore::GraphicsContext::setPlatformFillColor):
509
510         Added functions colorSpace() and setColorSpace()
511         * rendering/style/RenderStyle.h:
512         (WebCore::InheritedFlags::colorSpace):
513         (WebCore::InheritedFlags::setColorSpace):
514
515         The ColorSpace is stored here.
516         * rendering/style/StyleRareInheritedData.cpp:
517         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
518         (WebCore::StyleRareInheritedData::operator==):
519         * rendering/style/StyleRareInheritedData.h:
520
521         All of these call sites call GraphicsContext functions which now 
522         require ColorSpaces.
523         * editing/SelectionController.cpp:
524         (WebCore::SelectionController::paintCaret):
525         * html/canvas/CanvasRenderingContext2D.cpp:
526         (WebCore::CanvasRenderingContext2D::drawTextInternal):
527         * html/canvas/CanvasStyle.cpp:
528         (WebCore::CanvasStyle::applyStrokeColor):
529         (WebCore::CanvasStyle::applyFillColor):
530         * inspector/InspectorController.cpp:
531         (WebCore::drawOutlinedQuad):
532         * page/FrameView.cpp:
533         (WebCore::FrameView::paintContents):
534         * platform/ScrollbarTheme.h:
535         (WebCore::ScrollbarTheme::paintScrollCorner):
536         * platform/ScrollbarThemeComposite.cpp:
537         (WebCore::ScrollbarThemeComposite::paintScrollCorner):
538         * platform/graphics/Image.cpp:
539         (WebCore::Image::fillWithSolidColor):
540         * platform/graphics/mac/FontMac.mm:
541         (WebCore::Font::drawGlyphs):
542         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
543         (WebCore::MediaPlayerPrivate::paint):
544         * rendering/EllipsisBox.cpp:
545         (WebCore::EllipsisBox::paint):
546         * rendering/InlineFlowBox.cpp:
547         (WebCore::InlineFlowBox::paintTextDecorations):
548         * rendering/InlineTextBox.cpp:
549         (WebCore::updateGraphicsContext):
550         (WebCore::paintTextWithShadows):
551         (WebCore::InlineTextBox::paint):
552         (WebCore::InlineTextBox::paintSelection):
553         (WebCore::InlineTextBox::paintCompositionBackground):
554         (WebCore::InlineTextBox::paintDecoration):
555         (WebCore::InlineTextBox::paintTextMatchMarker):
556         (WebCore::InlineTextBox::paintCompositionUnderline):
557         * rendering/InlineTextBox.h:
558         * rendering/RenderBlock.cpp:
559         (WebCore::RenderBlock::fillHorizontalSelectionGap):
560         (WebCore::RenderBlock::fillVerticalSelectionGap):
561         (WebCore::RenderBlock::fillLeftSelectionGap):
562         (WebCore::RenderBlock::fillRightSelectionGap):
563         * rendering/RenderBoxModelObject.cpp:
564         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
565         (WebCore::RenderBoxModelObject::paintBoxShadow):
566         * rendering/RenderFileUploadControl.cpp:
567         (WebCore::RenderFileUploadControl::paintObject):
568         * rendering/RenderFrameSet.cpp:
569         (WebCore::RenderFrameSet::paintColumnBorder):
570         (WebCore::RenderFrameSet::paintRowBorder):
571         * rendering/RenderImage.cpp:
572         (WebCore::RenderImage::paintReplaced):
573         * rendering/RenderLayer.cpp:
574         (WebCore::RenderLayer::paintScrollCorner):
575         (WebCore::RenderLayer::paintResizer):
576         * rendering/RenderListBox.cpp:
577         (WebCore::RenderListBox::paintItemForeground):
578         (WebCore::RenderListBox::paintItemBackground):
579         * rendering/RenderListMarker.cpp:
580         (WebCore::RenderListMarker::paint):
581         * rendering/RenderObject.cpp:
582         (WebCore::RenderObject::drawLineForBoxSide):
583         (WebCore::RenderObject::drawArcForBoxSide):
584         * rendering/RenderReplaced.cpp:
585         (WebCore::RenderReplaced::paint):
586         * rendering/RenderScrollbarTheme.cpp:
587         (WebCore::RenderScrollbarTheme::paintScrollCorner):
588         * rendering/RenderThemeMac.mm:
589         (WebCore::RenderThemeMac::paintMenuListButton):
590         * rendering/RenderView.cpp:
591         (WebCore::RenderView::paintBoxDecorations):
592         * rendering/RenderWidget.cpp:
593         (WebCore::RenderWidget::paint):
594         * rendering/SVGInlineTextBox.cpp:
595         (WebCore::SVGInlineTextBox::paintSelection):
596         * svg/graphics/SVGPaintServerGradient.cpp:
597         (WebCore::SVGPaintServerGradient::setup):
598         * svg/graphics/SVGPaintServerSolid.cpp:
599         (WebCore::SVGPaintServerSolid::setup):
600
601 2009-11-10  Keishi Hattori  <casey.hattori@gmail.com>
602
603         Reviewed by Timothy Hatcher.
604
605         Web Inspector: Speed up syntax highlighter
606         https://bugs.webkit.org/show_bug.cgi?id=31291
607
608         * inspector/front-end/SourceFrame.js:
609         (WebInspector.SourceFrame.prototype._loaded):
610         (WebInspector.SourceSyntaxHighlighter.prototype.process.moveToNextLine): Replace the line content node.
611         (WebInspector.SourceSyntaxHighlighter.prototype.process):
612         (WebInspector.SourceSyntaxHighlighter.prototype.appendNonToken):
613         (WebInspector.SourceSyntaxHighlighter.prototype.syntaxHighlightNode):
614         (WebInspector.CSSSourceSyntaxHighlighter):
615         (WebInspector.JavaScriptSourceSyntaxHighlighter):
616
617 2009-11-09  Jeremy Orlow  <jorlow@chromium.org>
618
619         Reviewed by Eric Seidel.
620
621         Remove session storage setting
622         https://bugs.webkit.org/show_bug.cgi?id=31279
623
624         Remove session storage from Settings.  It was added temporarily so we could
625         disable it by default at runtime in Chromium.  We now disable these things in a
626         different way, so it's time to remove it.  Qt also depended on this setting for
627         a short period of time, but after talking to them we agreed that it should be
628         removed.
629
630         This bug is the second half of https://bugs.webkit.org/show_bug.cgi?id=30602
631
632         * page/DOMWindow.cpp:
633         (WebCore::DOMWindow::sessionStorage):
634         * page/Settings.cpp:
635         (WebCore::Settings::Settings):
636         * page/Settings.h:
637
638 2009-11-10  Dan Bernstein  <mitz@apple.com>
639
640         Reviewed by Eric Carlson and Darin Adler.
641
642         WebCore part of making full-screen video pause during scrubbing.
643
644         * WebCore.Video.exp: Sorted and added HTMLMediaElement::beginScrubbing()
645         and HTMLMediaElement::endScrubbing().
646
647 2009-11-10  Anton Muhin  <antonm@chromium.org>
648
649         Reviewed by Adam Barth.
650
651         Reapply 50562 reverted by 50588 due to issues with sandboxing (should be fine now).
652         https://bugs.webkit.org/show_bug.cgi?id=31051
653
654         * bindings/v8/V8GCController.cpp:
655         (WebCore::V8GCController::gcEpilogue):
656         (WebCore::V8GCController::checkMemoryUsage):
657         * bindings/v8/V8GCController.h:
658         * bindings/v8/V8Proxy.cpp:
659         (WebCore::V8Proxy::evaluate):
660         (WebCore::V8Proxy::runScript):
661         (WebCore::V8Proxy::callFunction):
662
663 2009-11-10  Zoltan Horvath  <zoltan@webkit.org>
664
665         Reviewed by Darin Adler.
666
667         Allow custom memory allocation control for the part of loader directory in WebCore
668         https://bugs.webkit.org/show_bug.cgi?id=31161
669
670         Inherits the following classes from Noncopyable because these are instantiated
671         by 'new' and these are no need to be copyable:
672
673         class Request - WebCore/loader/loader.cpp:100
674         struct ScheduledRedirection - WebCore/loader/RedirectScheduler.cpp:164
675         class ApplicationCacheStorage - WebCore/loader/appcache/ApplicationCacheStorage.cpp:1121
676         class ApplicationCacheHost -  WebCore/loader/DocumentLoader.cpp:151
677         class ImageEventSender - WebCore/loader/ImageLoader.cpp:54
678         struct ProgressItem - WebCore/loader/ProgressTracker.cpp:169
679
680         Inherits ThreadableLoaderClient class from Noncopyable because (its child class) 
681         MainThreadBridge is instantiated by 'new' in 
682         WebCore/loader/WorkerThreadableLoader.cpp:59 it is no need to be copyable.
683
684         ThreadableLoaderClient's inheriting has been changed to public.
685
686         * loader/ImageLoader.cpp:
687         * loader/ProgressTracker.cpp:
688         * loader/RedirectScheduler.cpp:
689         * loader/Request.h:
690         * loader/ThreadableLoaderClient.h:
691         * loader/WorkerThreadableLoader.h:
692         * loader/appcache/ApplicationCacheHost.h:
693         * loader/appcache/ApplicationCacheStorage.h:
694
695 2009-11-10  Philippe Normand  <pnormand@igalia.com>
696
697         Reviewed by Eric Seidel.
698
699         https://bugs.webkit.org/show_bug.cgi?id=31047
700         [GTK] Failing test media/video-played-ranges-1.html
701
702         WebKit coding style fixes.
703
704         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
705         (WebCore::mediaPlayerPrivateMessageCallback):
706         (WebCore::MediaPlayerPrivate::naturalSize):
707         (WebCore::MediaPlayerPrivate::paint):
708         (WebCore::mimeTypeCache):
709
710 2009-11-10  Oliver Hunt  <oliver@apple.com>
711
712         Remove build failure introduced by earlier build fix.
713
714         * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
715
716 2009-11-10  Oliver Hunt  <oliver@apple.com>
717
718         Is this the last build fix? grep tells me yes.
719
720         * bindings/v8/custom/V8DocumentCustom.cpp:
721         (WebCore::CALLBACK_FUNC_DECL):
722
723 2009-11-10  Oliver Hunt  <oliver@apple.com>
724
725         Hopefully the last one.  Why aren't these autogenerated?
726
727         * bindings/v8/V8DOMWrapper.cpp:
728         (WebCore::V8DOMWrapper::setIndexedPropertiesToExternalArray):
729         (WebCore::V8DOMWrapper::getTemplate):
730         (WebCore::V8DOMWrapper::convertToV8Object):
731
732 2009-11-10  Oliver Hunt  <oliver@apple.com>
733
734         Another chrome build fix.
735
736         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
737         (WebCore::CALLBACK_FUNC_DECL):
738
739 2009-11-10  Oliver Hunt  <oliver@apple.com>
740
741         Yet another chrome buildfix
742
743         * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp:
744         (WebCore::CALLBACK_FUNC_DECL):
745         * bindings/v8/custom/V8WebGLArrayCustom.h:
746         (WebCore::constructCanvasArray):
747         * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
748         (WebCore::CALLBACK_FUNC_DECL):
749         (WebCore::INDEXED_PROPERTY_GETTER):
750         (WebCore::INDEXED_PROPERTY_SETTER):
751         * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
752         (WebCore::CALLBACK_FUNC_DECL):
753         (WebCore::INDEXED_PROPERTY_GETTER):
754         (WebCore::INDEXED_PROPERTY_SETTER):
755         * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
756         (WebCore::CALLBACK_FUNC_DECL):
757         (WebCore::INDEXED_PROPERTY_GETTER):
758         (WebCore::INDEXED_PROPERTY_SETTER):
759         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
760         (WebCore::CALLBACK_FUNC_DECL):
761         (WebCore::vertexAttribAndUniformHelperf):
762         (WebCore::uniformHelperi):
763         (WebCore::uniformMatrixHelper):
764         * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
765         (WebCore::CALLBACK_FUNC_DECL):
766         (WebCore::INDEXED_PROPERTY_GETTER):
767         (WebCore::INDEXED_PROPERTY_SETTER):
768         * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
769         (WebCore::CALLBACK_FUNC_DECL):
770         (WebCore::INDEXED_PROPERTY_GETTER):
771         (WebCore::INDEXED_PROPERTY_SETTER):
772         * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
773         (WebCore::CALLBACK_FUNC_DECL):
774         (WebCore::INDEXED_PROPERTY_GETTER):
775         (WebCore::INDEXED_PROPERTY_SETTER):
776         * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
777         (WebCore::CALLBACK_FUNC_DECL):
778         (WebCore::INDEXED_PROPERTY_GETTER):
779         (WebCore::INDEXED_PROPERTY_SETTER):
780
781 2009-11-10  Oliver Hunt  <oliver@apple.com>
782
783         Chrome build fix.
784
785         * bindings/v8/V8Index.h:
786
787 2009-11-10  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
788
789         Reviewed by Reviewed by Jan Alonzo.
790
791         https://bugs.webkit.org/show_bug.cgi?id=30901
792         [Gtk] Need to de-lint the Atk a11y code
793
794         Removal of various and sundry style-violating nits.
795
796         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
797
798 2009-11-10  Philippe Normand  <pnormand@igalia.com>
799
800         Reviewed by Jan Alonzo.
801
802         https://bugs.webkit.org/show_bug.cgi?id=31047
803         [GTK] Failing test media/video-played-ranges-1.html
804
805         Fix playback rate setter by remembering the rate was changed. Also
806         correctly handle reverse playback by doing a seek from end to
807         beginning of the media.
808
809         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
810         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
811         (WebCore::MediaPlayerPrivate::currentTime):
812         (WebCore::MediaPlayerPrivate::seek):
813         (WebCore::MediaPlayerPrivate::hasAudio):
814         (WebCore::MediaPlayerPrivate::setVolume):
815         (WebCore::MediaPlayerPrivate::setRate):
816         (WebCore::MediaPlayerPrivate::updateStates):
817         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
818
819 2009-11-10  Oliver Hunt  <oliver@apple.com>
820
821         Reviewed by Maciej Stachowiak.
822
823         Rename 3D Canvas related classes to use WebGL prefix
824         https://bugs.webkit.org/show_bug.cgi?id=29095
825
826         Automatic rename of all WebGL related types from Canvas* to
827         WebGL* per more recent version of the WebGL spec.
828
829         Due to the automatic rename I've removed the 600+ line change list.
830
831 2009-11-09  Dirk Schulze  <krit@webkit.org>
832
833         Reviewed by Oliver Hunt.
834
835         SVG feDisplacementMap is not implemented
836         [https://bugs.webkit.org/show_bug.cgi?id=31255]
837
838         This is the implementation of the SVG filter effect
839         feDisplacementMap. 
840
841         Test: svg/filters/feDisplacementMap.svg
842
843         * svg/graphics/filters/SVGFEDisplacementMap.cpp:
844         (WebCore::FEDisplacementMap::apply):
845
846 2009-11-09  Kent Tamura  <tkent@chromium.org>
847
848         Reviewed by Darin Adler.
849
850         Add a comment about null strings and hash functions.
851         https://bugs.webkit.org/show_bug.cgi?id=29118
852
853         * platform/text/StringHash.h:
854
855 2009-11-09  Martin Robinson  <martin.james.robinson@gmail.com>
856
857         Reviewed by Darin Adler.
858
859         Compiler warnings in InspectorResource.h
860         https://bugs.webkit.org/show_bug.cgi?id=29231
861
862         Fix compilation warnings by removing addition operation on an enum type.
863
864         * inspector/InspectorResource.h:
865         (WebCore::InspectorResource::):
866         (WebCore::InspectorResource::Changes::hasChange):
867         (WebCore::InspectorResource::Changes::set):
868         (WebCore::InspectorResource::Changes::setAll):
869
870 2009-11-09  Anders Carlsson  <andersca@apple.com>
871
872         Reviewed by Darin Adler and Dan Bernstein.
873
874         <rdar://problem/7328395>
875         https://bugs.webkit.org/show_bug.cgi?id=31277
876
877         When an object tag's style changes (for example when child nodes are added/removed),
878         reuse its Frame (if it has one) instead of creating multiple Frames.
879
880         Test: fast/dom/HTMLObjectElement/children-changed.html
881
882         * loader/FrameLoader.cpp:
883         (WebCore::FrameLoader::requestObject):
884
885 2009-11-09  Norbert Leser  <norbert.leser@nokia.com>
886
887         Reviewed by Kenneth Rohde Christiansen.
888
889         Moved macro MMP_RULES (LINKEROPTION) into symbian instead of symbian-sbsv2,
890         since adjustment of RW-section base address will be needed for all new symbian
891         tool chains, specifically for arm and gcc compilation targets.
892         Also, change target address to 0xE00000 to be sufficient for all targets.
893
894         * WebCore.pro:
895
896 2009-11-09  Pavel Feldman  <pfeldman@chromium.org>
897
898         Reviewed by Timothy Hatcher.
899
900         Web Inspector: Crash when inspecting
901         WebCore\manual-tests\inspector\dom-mutation.html
902
903         https://bugs.webkit.org/show_bug.cgi?id=31259
904
905         * inspector/InspectorDOMAgent.cpp:
906         (WebCore::InspectorDOMAgent::handleEvent):
907
908 2009-11-09  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
909
910         Reviewed by Kenneth Rohde Christiansen.
911
912         [Qt] Few classes have virtual functions but non-virtual destructor
913         https://bugs.webkit.org/show_bug.cgi?id=31269
914
915         No new tests as there is no functional change.
916
917         * platform/qt/QWebPageClient.h:
918         (QWebPageClient::~QWebPageClient): Add virtual destructor.
919
920 2009-11-09  Yael Aharon  <yael.aharon@nokia.com>
921
922         Reviewed by Kenneth Rohde Christiansen.
923
924         [Qt] Allow setting HTTP headers with empty value in XMLHTTPRequest
925         https://bugs.webkit.org/show_bug.cgi?id=31140
926
927         QtNetwork interprets null string as request to remove the header, not add it.
928         Replace null values with empty values before passing them to QtNetwork.
929
930         Test: http/tests/xmlhttprequest/xmlhttprequest-setrequestheader-no-value.html
931
932         * platform/network/qt/ResourceRequestQt.cpp:
933         (WebCore::ResourceRequest::toNetworkRequest):
934
935 2009-11-09  Vadim Zeitlin  <vadim@wxwidgets.org>
936
937         Reviewed by Kevin Ollivier.
938
939         [wx] Fix handling of alpha channel when using wxWidgets 2.9: it was
940         simply ignored before resulting in transparent areas being black in PNG
941         images for example.
942         
943         https://bugs.webkit.org/show_bug.cgi?id=30823
944
945         * platform/image-decoders/wx/ImageDecoderWx.cpp:
946         (WebCore::RGBA32Buffer::asNewNativeImage):
947
948 2009-11-09  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
949
950         Reviewed by Kenneth Rohde Christiansen.
951
952         Use explicit parentheses to silence gcc 4.4 -Wparentheses warnings
953         https://bugs.webkit.org/show_bug.cgi?id=31040
954
955         No new tests as there is no functional change.
956
957         * dom/Document.cpp:
958         (WebCore::Document::recalcStyleSelector):
959         * editing/TextIterator.cpp:
960         (WebCore::pushFullyClippedState):
961         * editing/VisibleSelection.cpp:
962         (WebCore::VisibleSelection::appendTrailingWhitespace):
963         * html/HTMLLinkElement.cpp:
964         (WebCore::HTMLLinkElement::process):
965         * loader/RedirectScheduler.cpp:
966         (WebCore::RedirectScheduler::mustLockBackForwardList):
967         * loader/appcache/ApplicationCacheGroup.cpp:
968         (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
969         * platform/graphics/qt/FontCacheQt.cpp:
970         (WebCore::FontPlatformDataCacheKey::computeHash):
971         * rendering/RenderBlock.cpp:
972         (WebCore::RenderBlock::handleRunInChild):
973         * rendering/RenderBox.cpp:
974         (WebCore::RenderBox::calcHeight):
975         * rendering/RenderTextControlMultiLine.cpp:
976         (WebCore::RenderTextControlMultiLine::nodeAtPoint):
977         * rendering/style/RenderStyle.cpp:
978         (WebCore::RenderStyle::diff):
979         * svg/SVGAnimateElement.cpp:
980         (WebCore::parseNumberValueAndUnit):
981         * svg/SVGAnimationElement.cpp:
982         (WebCore::SVGAnimationElement::startedActiveInterval):
983         * svg/SVGPreserveAspectRatio.cpp:
984         (WebCore::SVGPreserveAspectRatio::getCTM):
985
986 2009-11-09  Shinichiro Hamaji  <hamaji@chromium.org>
987
988         Reviewed by Dimitri Glazkov.
989
990         Win chromium is slow to draw transparent texts
991         https://bugs.webkit.org/show_bug.cgi?id=31258
992
993         Clip graphics context to reduce calculation.
994
995         No new tests because this change only affects performance.
996
997         * platform/graphics/chromium/FontChromiumWin.cpp:
998         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
999         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
1000
1001 2009-11-09  Carol Szabo  <carol.szabo@nokia.com>
1002
1003         Reviewed by Darin Adler.
1004
1005         showTree(CounterNode*) generates too little info and has too many spaces.
1006         https://bugs.webkit.org/show_bug.cgi?id=31212
1007
1008         No new tests as the change has no functional effect it is just for
1009         improved debugging.
1010
1011         * rendering/CounterNode.cpp:
1012         (WebCore::showTreeAndMark):
1013         Changed to also show addresses of parent, next and previous
1014         siblings.
1015
1016 2009-11-09  Stuart Morgan  <stuartmorgan@chromium.org>
1017
1018         Reviewed by Darin Adler.
1019
1020         Moves Mac implementation of setUseSecureKeyboardEntry to Frame.cpp and
1021         enables it PLATFORM(CHROMIUM) in addition to PLATFORM(MAC).
1022
1023         https://bugs.webkit.org/show_bug.cgi?id=31083
1024
1025         No new tests; implementation is unchanged.
1026
1027         * page/Frame.cpp:
1028         (WebCore::Frame::setUseSecureKeyboardEntry):
1029         * page/mac/FrameMac.mm:
1030
1031 2009-11-09  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1032
1033         Reviewed by Jan Alonzo.
1034
1035         Make XP_UNIX tests consistent
1036         https://bugs.webkit.org/show_bug.cgi?id=31250
1037
1038         No new tests as there is no functional change.
1039
1040         * plugins/PluginView.cpp:
1041         (WebCore::PluginView::setFrameRect): Test if XP_UNIX is defined
1042         instead of the value of the macro
1043
1044         * plugins/gtk/PluginViewGtk.cpp:
1045         (WebCore::PluginView::setNPWindowIfNeeded): Test if the XP_UNIX is
1046         defined instead of using the PLATFORM macro to be consistent
1047         (WebCore::PluginView::getValue): Ditto.
1048
1049 2009-11-09  Kevin Watters  <kevinwatters@gmail.com>
1050
1051         Reviewed by Darin Adler.
1052
1053         Thunk to the main thread from ~Database to deref Database's m_document.
1054
1055         If the Database was the Document's last referrer, then ~Document occurs on the
1056         Database thread, and ASSERT(!m_styleRecalcTimer.isActive()) hits a main thread
1057         ASSERT in debug builds.
1058
1059         * storage/Database.cpp:
1060         (WebCore::derefDocument):
1061         (WebCore::Database::~Database):
1062
1063 2009-11-09  Mark Mentovai  <mark@chromium.org>
1064
1065         Reviewed by Dan Bernstein.
1066
1067         Track "can have scrollbar" state within FrameView independently of the
1068         individual scrollbar states in ScrollView.
1069
1070         rdar://problem/7215132, https://bugs.webkit.org/show_bug.cgi?id=29167
1071         REGRESSION (r48064): mint.com loses scrollbars after coming out of
1072         edit mode.
1073
1074         rdar://problem/7314421, https://bugs.webkit.org/show_bug.cgi?id=30517
1075         REGRESSION (r48064): Extra scroll bars in GarageBand Lesson Store.
1076
1077         Test: fast/overflow/scrollbar-restored.html
1078
1079         * WebCore.base.exp:
1080         * page/FrameView.cpp:
1081         (WebCore::FrameView::FrameView):
1082         (WebCore::FrameView::resetScrollbars):
1083         (WebCore::FrameView::setCanHaveScrollbars):
1084         (WebCore::FrameView::updateCanHaveScrollbars):
1085         (WebCore::FrameView::layout):
1086         * page/FrameView.h:
1087         * platform/ScrollView.h:
1088
1089 2009-11-09  Keishi Hattori  <casey.hattori@gmail.com>
1090
1091         Reviewed by Timothy Hatcher.
1092
1093         Web Inspector: CSS syntax highlighter doesn't recognize negative numbers
1094         https://bugs.webkit.org/show_bug.cgi?id=31257
1095
1096         * inspector/front-end/SourceFrame.js:
1097
1098 2009-11-09  Alexander Pavlov  <apavlov@chromium.org>
1099
1100         Reviewed by Timothy Hatcher.
1101
1102         Web Inspector: Debugger shortcuts (F8, F10, F11) have no effect if the Console view is open
1103         https://bugs.webkit.org/show_bug.cgi?id=31252
1104
1105         Route F1-F12 keypresses in the Console view to the current panel if there is one.
1106
1107         Test: manual-tests/inspector/debugger-shortcuts-with-console-opened.html
1108
1109         * inspector/front-end/ConsoleView.js:
1110         (WebInspector.ConsoleView.prototype._promptKeyDown):
1111         * inspector/front-end/utilities.js:
1112         ():
1113         * manual-tests/inspector/debugger-shortcuts-with-console-opened.html: Added.
1114
1115 2009-11-09  Yael Aharon  <yael.aharon@nokia.com>
1116
1117         Reviewed by Kenneth Rohde Christiansen.
1118
1119         [Qt] Pass credentials provided by XMLHTTPRequest to the network request.
1120         https://bugs.webkit.org/show_bug.cgi?id=31208
1121
1122         After r42483, the credentials are no longer passed to the network request
1123         in the URL of the request.
1124         Pass the credentials from XMLHTTPRequest to the network request, the same
1125         way that other ports do.
1126
1127         After this patch LayoutTests/http/xmlhttprequest/basic-auth.html passes.
1128
1129         * platform/network/qt/ResourceHandleQt.cpp:
1130         (WebCore::ResourceHandle::start):
1131         (WebCore::ResourceHandle::loadResourceSynchronously):
1132
1133 2009-11-09  Zoltan Horvath  <zoltan@webkit.org>
1134
1135         Unreviewed.
1136
1137         https://bugs.webkit.org/show_bug.cgi?id=31161
1138
1139         Roll back r50657 because it breaks the MAC builds.
1140
1141         * loader/ImageLoader.cpp:
1142         * loader/ProgressTracker.cpp:
1143         * loader/RedirectScheduler.cpp:
1144         * loader/Request.h:
1145         * loader/ThreadableLoaderClient.h:
1146         * loader/WorkerThreadableLoader.h:
1147         * loader/appcache/ApplicationCacheHost.h:
1148         * loader/appcache/ApplicationCacheStorage.h:
1149         * loader/icon/IconDatabaseClient.h:
1150
1151 2009-11-09  Zoltan Horvath  <zoltan@webkit.org>
1152
1153         Reviewed by Darin Adler.
1154
1155         Allow custom memory allocation control for the part of loader directory in WebCore
1156         https://bugs.webkit.org/show_bug.cgi?id=31161
1157
1158         Inherits the following classes from Noncopyable because these are instantiated
1159         by 'new' and these are no need to be copyable:
1160
1161         class Request - WebCore/loader/loader.cpp:100
1162         struct ScheduledRedirection - WebCore/loader/RedirectScheduler.cpp:164
1163         class IconDatabaseClient - WebCore/loader/icon/IconDatabase.cpp:89
1164         class ApplicationCacheStorage - WebCore/loader/appcache/ApplicationCacheStorage.cpp:1121
1165         class ApplicationCacheHost -  WebCore/loader/DocumentLoader.cpp:151
1166         class ImageEventSender - WebCore/loader/ImageLoader.cpp:54
1167         struct ProgressItem - WebCore/loader/ProgressTracker.cpp:169
1168
1169         Inherits ThreadableLoaderClient class from Noncopyable because (its child class) 
1170         MainThreadBridge is instantiated by 'new' in 
1171         WebCore/loader/WorkerThreadableLoader.cpp:59 it is no need to be copyable.
1172
1173         ThreadableLoaderClient's inheriting has been changed to public.
1174
1175         * loader/ImageLoader.cpp:
1176         * loader/ProgressTracker.cpp:
1177         * loader/RedirectScheduler.cpp:
1178         * loader/Request.h:
1179         * loader/ThreadableLoaderClient.h:
1180         * loader/WorkerThreadableLoader.h:
1181         * loader/appcache/ApplicationCacheHost.h:
1182         * loader/appcache/ApplicationCacheStorage.h:
1183         * loader/icon/IconDatabaseClient.h:
1184
1185 2009-11-09  Zoltan Horvath  <zoltan@webkit.org>
1186
1187         Reviewed by Darin Adler.
1188
1189         Allow custom memory allocation control for WebCore's DocLoader
1190         https://bugs.webkit.org/show_bug.cgi?id=31163
1191
1192         Inherits DocLoader class from Noncopyable because it is
1193         instantiated by 'new' in WebCore/dom/Document.cpp:370 and 
1194         it is no need to be copyable.
1195
1196         * loader/DocLoader.h:
1197
1198 2009-11-09  Zoltan Horvath  <zoltan@webkit.org>
1199
1200         Reviewed by Darin Adler.
1201
1202         Allow custom memory allocation control for WebCore's Tokenizer
1203         https://bugs.webkit.org/show_bug.cgi?id=31162
1204
1205         Inherits Tokenizer class from Noncopyable because (its child class)
1206         ImageTokenizer instantiated by 'new' in WebCore/loader/ImageDocument.cpp:178 
1207         and it is no need to be copyable.
1208
1209         * dom/Tokenizer.h:
1210
1211 2009-11-09  Zoltan Horvath  <zoltan@webkit.org>
1212
1213         Reviewed by Darin Adler.
1214
1215         Allow custom memory allocation control for WebCore's DeleteButtonController
1216         https://bugs.webkit.org/show_bug.cgi?id=31105
1217
1218         Inherits DeleteButtonController class from Noncopyable because it is 
1219         instantiated by 'new' in WebCore/editing/Editor.cpp:919 and
1220         it is no need to be copyable.  
1221
1222         * editing/DeleteButtonController.h:
1223
1224 2009-11-09  Martin Robinson  <martin.james.robinson@gmail.com>
1225
1226         Reviewed by Jan Alonzo.
1227
1228         [GTK] Expose Page::tabKeyCyclesThroughElements in the API
1229         https://bugs.webkit.org/show_bug.cgi?id=30482
1230
1231         Expose Page::tabKeyCyclesThroughElements as a property of
1232         WebKitWebView.
1233
1234         No new tests; fast/events/keypress-insert-tab.html is no longer skipped.
1235
1236         * platform/gtk/KeyEventGtk.cpp: Correct m_text for tab key presses.
1237         (WebCore::singleCharacterString):
1238
1239 2009-11-09  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
1240
1241         Reviewed by Xan Lopez.
1242
1243         https://bugs.webkit.org/show_bug.cgi?id=25415
1244         [GTK][ATK] Please implement support for get_text_at_offset
1245
1246         Fix a crasher that occurred with text which included newline
1247         chars in the markup.
1248
1249         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1250         (convertUniCharToUTF8):
1251
1252 2009-11-05  Jakub Wieczorek  <faw217@gmail.com>
1253
1254         Reviewed by Holger Freyther.
1255
1256         [Qt] The XML tokenizer reports a parse error twice if it occurs before the document element is found.
1257         https://bugs.webkit.org/show_bug.cgi?id=31144
1258
1259         XMLTokenizer::doEnd() uses an additional logic to report a parse failure in
1260         documents that end prematurely but are not considered invalid by QXmlStream.
1261         This is to stay compatible with the libxml2 implementation.
1262         However, that code path would be also hit in situations when it should not,
1263         i.e. the error would have already been caught and handled. As a result, the
1264         same error would be reported twice.
1265
1266         No new tests, because the problem is already covered by
1267         fast/parser/xml-declaration-missing-ending-mark.html.
1268
1269         * dom/XMLTokenizerQt.cpp:
1270         (WebCore::XMLTokenizer::doEnd):
1271
1272 2009-11-08  Keishi Hattori  <casey.hattori@gmail.com>
1273
1274         Reviewed by Pavel Feldman.
1275
1276         Web Inspector: Inspector should support copy() in the command line
1277         https://bugs.webkit.org/show_bug.cgi?id=31238
1278
1279         * inspector/InspectorBackend.cpp:
1280         (WebCore::InspectorBackend::copyText): Added.
1281         * inspector/InspectorBackend.h: Added copyText
1282         * inspector/InspectorBackend.idl: Added copyText
1283         * inspector/front-end/InjectedScript.js:
1284         (InjectedScript._copy): Added.
1285         (InjectedScript._ensureCommandLineAPIInstalled):
1286
1287 2009-11-08  Drew Wilson  <atwilson@chromium.org>
1288
1289         Reviewed by Dimitri Glazkov.
1290
1291         V8 WorkerContextExecutionProxy does not handle SharedWorkers
1292         https://bugs.webkit.org/show_bug.cgi?id=31226
1293
1294         Now checks to see what type of context is active and creates the
1295         appropriate wrapper (DEDICATEDWORKERCONTEXT vs SHAREDWORKERCONTEXT).
1296
1297         Added support for converting to SharedWorkers and SharedWorkerContexts.
1298
1299         Test: Existing layout tests cover this case (start passing in Chrome).
1300
1301         * bindings/v8/WorkerContextExecutionProxy.cpp:
1302         (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
1303         Now generates the right type of DOMWrapper for SharedWorkerContexts.
1304         (WebCore::WorkerContextExecutionProxy::convertToV8Object):
1305         Added support for SHAREDWORKERCONTEXT.
1306         (WebCore::WorkerContextExecutionProxy::convertEventTargetToV8Object):
1307         Added support for SharedWorker and SharedWorkerContext.
1308
1309 2009-11-08  Johnny Ding  <johnnyding.webkit@gmail.com>
1310
1311         Reviewed by Dimitri Glazkov.
1312
1313         https://bugs.webkit.org/show_bug.cgi?id=31224
1314         [V8] Return StyleSheet object instead of HTMLStyleElement w/document.styleSheets named property getter.
1315
1316         Test: fast/dom/StyleSheet/get-stylesheet-byname.html
1317
1318         * bindings/v8/custom/V8StyleSheetListCustom.cpp:
1319         (WebCore::NAMED_PROPERTY_GETTER):
1320
1321 2009-11-08  Pavel Feldman  <pfeldman@chromium.org>
1322
1323         Reviewed by Timothy Hatcher.
1324
1325         Web Inspector: "Search again" on scripts panel switches
1326         to the script this search started with.
1327
1328         https://bugs.webkit.org/show_bug.cgi?id=31243
1329
1330         * inspector/front-end/Panel.js:
1331         (WebInspector.Panel.prototype.jumpToNextSearchResult):
1332
1333 2009-11-08  Kent Tamura  <tkent@chromium.org>
1334
1335         Reviewed by Darin Adler.
1336
1337         Simplify Icon interface.
1338         https://bugs.webkit.org/show_bug.cgi?id=31154
1339
1340         - Remove Icon::createIconForFile().  createIconForFiles() covers
1341           createIconForFile()'s role.
1342         - Remove FileChooser::chooseIcon()
1343         - Change the parameter types of FileChooser constructor and the
1344           factory method, String -> const Vector<String>&, in order to
1345           support initialization with multiple files.
1346         - Remove the icon loading code in IconChromiumWin.cpp, which
1347           doesn't work because of the sandbox.
1348
1349         No tests because it's just a refactoring.
1350
1351         * platform/FileChooser.cpp:
1352         (WebCore::FileChooser::FileChooser):
1353         (WebCore::FileChooser::create):
1354         (WebCore::FileChooser::chooseFile):
1355         (WebCore::FileChooser::chooseFiles):
1356         * platform/FileChooser.h:
1357         * platform/graphics/Icon.h:
1358         * platform/graphics/chromium/IconChromiumLinux.cpp:
1359         * platform/graphics/chromium/IconChromiumMac.cpp:
1360         * platform/graphics/chromium/IconChromiumWin.cpp:
1361         (WebCore::Icon::createIconForFiles):
1362         * platform/graphics/gtk/IconGtk.cpp:
1363         (WebCore::Icon::createIconForFiles):
1364         * platform/graphics/haiku/IconHaiku.cpp:
1365         * platform/graphics/mac/IconMac.mm:
1366         (WebCore::Icon::createIconForFiles):
1367         * platform/graphics/qt/IconQt.cpp:
1368         (WebCore::Icon::createIconForFiles):
1369         * platform/graphics/win/IconWin.cpp:
1370         (WebCore::Icon::createIconForFiles):
1371         * platform/graphics/wx/IconWx.cpp:
1372         * rendering/RenderFileUploadControl.cpp:
1373         (WebCore::RenderFileUploadControl::RenderFileUploadControl):
1374
1375 2009-11-08  Daniel Bates  <dbates@webkit.org>
1376
1377         Reviewed by Adam Barth.
1378
1379         https://bugs.webkit.org/show_bug.cgi?id=31098
1380
1381         Allows same-origin plugin-based content to load.
1382
1383         Test: http/tests/security/xssAuditor/object-src-inject.html
1384
1385         * page/XSSAuditor.cpp:
1386         (WebCore::XSSAuditor::canLoadExternalScriptFromSrc): Modified to call XSSAuditor::isSameOriginResource.
1387         (WebCore::XSSAuditor::canLoadObject): Ditto.
1388         (WebCore::XSSAuditor::canSetBaseElementURL): Ditto. 
1389         (WebCore::XSSAuditor::isSameOriginResource): Added.
1390         * page/XSSAuditor.h:
1391
1392 2009-11-08  David Levin  <levin@chromium.org>
1393
1394         Reviewed by NOBODY (chromium build fix).
1395
1396         * platform/network/HTTPParsers.cpp:
1397         (WebCore::parseDate): Changed this to not
1398         use a date parser that needs ExecState passed.
1399         
1400 2009-11-08  David Levin  <levin@chromium.org>
1401
1402         Unreviewed build fix for chromium.
1403
1404         * platform/graphics/skia/GraphicsContextSkia.cpp:
1405         (WebCore::GraphicsContext::fillPath):
1406         (WebCore::GraphicsContext::fillRect):
1407         (WebCore::GraphicsContext::strokePath):
1408         (WebCore::GraphicsContext::strokeRect):
1409
1410 2009-11-08  David Levin  <levin@chromium.org>
1411
1412         Unreviewed build fix for chromium.
1413
1414         Build fix for https://bugs.webkit.org/show_bug.cgi?id=31219
1415         Clean up GraphicsContext's current concept of ColorSpace
1416
1417         * platform/graphics/skia/GraphicsContextSkia.cpp:
1418         (WebCore::GraphicsContext::fillPath):
1419         (WebCore::GraphicsContext::fillRect):
1420         (WebCore::GraphicsContext::strokePath):
1421         (WebCore::GraphicsContext::strokeRect):
1422
1423 2009-11-08  Pavel Feldman  <pfeldman@chromium.org>
1424
1425         Reviewed by Timothy Hatcher.
1426
1427         Web Inspector: [REGRESSION] committing style edit
1428         clears elements panel selection.
1429
1430         https://bugs.webkit.org/show_bug.cgi?id=31242
1431
1432         * inspector/front-end/ElementsTreeOutline.js:
1433         (WebInspector.ElementsTreeOutline.prototype.update):
1434         * inspector/front-end/StylesSidebarPane.js:
1435         (WebInspector.StylePropertyTreeElement.prototype.):
1436         (WebInspector.StylePropertyTreeElement.prototype):
1437
1438 2009-11-08  Janne Koskinen  <janne.p.koskinen@digia.com>
1439
1440         Reviewed by Holger Freyther.
1441
1442         ResourceRequest to be class instead of struct
1443         https://bugs.webkit.org/show_bug.cgi?id=30670
1444
1445         Started as a compilation fix for Symbian where the compiler makes a distinction between
1446         class and struct in function argument signatures.
1447         Changed all forward declarations of ResourceRequest to have class in the forward
1448         declaration instead of struct and changed the definition of ResourceRequest to be class
1449         and added access qualifiers where missing. Additionally two references of friend
1450         struct ResourceRequestBase changed to class instead.
1451
1452         * history/HistoryItem.h:
1453         * inspector/InspectorController.h:
1454         * inspector/InspectorResource.h:
1455         * loader/DocumentThreadableLoader.h:
1456         * loader/FrameLoaderClient.h:
1457         * loader/MainResourceLoader.h:
1458         * loader/ResourceLoadNotifier.h:
1459         * loader/SubresourceLoader.h:
1460         * loader/SubresourceLoaderClient.h:
1461         * loader/ThreadableLoader.h:
1462         * loader/WorkerThreadableLoader.h:
1463         * loader/appcache/ApplicationCache.h:
1464         * loader/appcache/ApplicationCacheHost.h:
1465         * platform/CrossThreadCopier.h:
1466         * platform/network/ResourceHandle.h:
1467         * platform/network/ResourceHandleClient.h:
1468         * platform/network/ResourceRequestBase.h:
1469         * platform/network/cf/ResourceRequest.h:
1470         * platform/network/cf/ResourceRequestCFNet.h:
1471         * platform/network/chromium/ResourceRequest.h:
1472         * platform/network/curl/ResourceRequest.h:
1473         * platform/network/qt/ResourceRequest.h:
1474         * platform/network/soup/ResourceRequest.h:
1475         * xml/XMLHttpRequest.h:
1476
1477 2009-11-08  Dan Bernstein  <mitz@apple.com>
1478
1479         Reviewed by Simon Fraser.
1480
1481         <rdar://problem/7363434> Crash inside RenderObject::localToAbsolute
1482         below FrameView::layout
1483         https://bugs.webkit.org/show_bug.cgi?id=31093
1484
1485         Test: fast/block/positioning/relative-positioned-inline-container.html
1486
1487         In <http://trac.webkit.org/changeset/19148>, setStaticY() was changed
1488         to mark the object for layout, doing so without marking its ancestors.
1489         However, RenderBlock::skipLeadingWhitespace and
1490         RenderBlock::skipTrailingWhitespace() call setStaticY() on a relative-
1491         positioned inline container, causing it to be marked for layout without
1492         ever going back to give it layout, and thus layout could end with a
1493         dirty object still in the tree, leading to all sorts of badness.
1494
1495         The fix is to revert setStaticY() to not marking the object dirty, and
1496         instead do it in the call sites that require it, which are in
1497         RenderBlock and RenderFlexibleBox.
1498
1499         * rendering/RenderBlock.cpp:
1500         (WebCore::RenderBlock::adjustPositionedBlock):
1501         * rendering/RenderFlexibleBox.cpp:
1502         (WebCore::RenderFlexibleBox::layoutHorizontalBox):
1503         (WebCore::RenderFlexibleBox::layoutVerticalBox):
1504         * rendering/RenderLayer.cpp:
1505         * rendering/RenderLayer.h:
1506         (WebCore::RenderLayer::setStaticY):
1507
1508 2009-11-07  Daniel Bates  <dbates@webkit.org>
1509
1510         Reviewed by Darin Adler.
1511
1512         https://bugs.webkit.org/show_bug.cgi?id=20780
1513         
1514         Fixes an issue where the onchange event handler is not fired when the 
1515         input field is autocompleted.
1516         
1517         We cannot test this using DRT since DRT cannot emulate autocompletion.
1518         So, a manual-test is included.
1519
1520         Tests: manual-tests/autocompletion-fire-onchange.html
1521
1522         * manual-tests/autocompletion-fire-onchange.html: Added.
1523         * rendering/RenderTextControl.cpp:
1524         (WebCore::RenderTextControl::setInnerTextValue):
1525
1526 2009-11-07  Benjamin Otte  <otte@gnome.org>
1527
1528         Reviewed by Holger Freyther.
1529
1530         Mark redrawn areas on image surfaces as dirty.
1531
1532         This is required to conform to the Cairo API, but is currently only
1533         used by debugging tools like cairo-trace.
1534
1535         * platform/graphics/cairo/ImageBufferCairo.cpp:
1536         (WebCore::ImageBuffer::platformTransformColorSpace):
1537         (WebCore::putImageData):
1538
1539 2009-11-07  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
1540
1541         Reviewed by Xan Lopez.
1542
1543         https://bugs.webkit.org/show_bug.cgi?id=30878
1544         [Gtk] atk_text_get_text() fails in entries when the end_offset is -1
1545
1546         If the end_offset is -1, use the String length as the end_offset.
1547
1548         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1549         (webkit_accessible_text_get_text):
1550
1551 2009-11-06  Beth Dakin  <bdakin@apple.com>
1552
1553         Reviewed by Adele Peterson.
1554
1555         Fix for https://bugs.webkit.org/show_bug.cgi?id=31219 Clean up 
1556         GraphicsContext's current concept of ColorSpace
1557
1558         ColorSpace is now called ColorType. The variables on the state we 
1559         appropriately re-named as well. I removed strokeColorSpace() and 
1560         fillColorSpace() from GraphicsContext since they were never called. 
1561
1562         * platform/graphics/GraphicsContext.cpp:
1563         (WebCore::GraphicsContext::setStrokeColor):
1564         (WebCore::GraphicsContext::setFillColor):
1565         (WebCore::GraphicsContext::setStrokePattern):
1566         (WebCore::GraphicsContext::setFillPattern):
1567         (WebCore::GraphicsContext::setStrokeGradient):
1568         (WebCore::GraphicsContext::setFillGradient):
1569         * platform/graphics/GraphicsContext.h:
1570         (WebCore::):
1571         * platform/graphics/GraphicsContextPrivate.h:
1572         (WebCore::GraphicsContextState::GraphicsContextState):
1573         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1574         (WebCore::GraphicsContext::fillPath):
1575         (WebCore::GraphicsContext::strokePath):
1576         * platform/graphics/cg/GraphicsContextCG.cpp:
1577         (WebCore::calculateDrawingMode):
1578         (WebCore::GraphicsContext::drawPath):
1579         (WebCore::GraphicsContext::fillPath):
1580         (WebCore::GraphicsContext::strokePath):
1581         (WebCore::GraphicsContext::fillRect):
1582         (WebCore::GraphicsContext::strokeRect):
1583         * platform/graphics/qt/GraphicsContextQt.cpp:
1584         (WebCore::GraphicsContext::fillPath):
1585         (WebCore::GraphicsContext::strokePath):
1586         (WebCore::GraphicsContext::fillRect):
1587         * platform/graphics/wince/GraphicsContextWince.cpp:
1588         (WebCore::GraphicsContext::fillPath):
1589         (WebCore::GraphicsContext::fillRect):
1590
1591 2009-11-06  Brian Weinstein  <bweinstein@apple.com>
1592
1593         Reviewed by Tim Hatcher.
1594
1595         Fixes <http://webkit.org/b/31177>.
1596         Web Inspector: Bind backspace to delete cookies and DOM Storage.
1597         
1598         Refactor editing code from DOMStorageDataGrid to DataGrid, so other
1599         places in the inspector can use editing in DataGrid (added a FIXME for
1600         some stuff that needs to be generalized).
1601         
1602         Also added deleting functionality to DataGrid, and implemented it for
1603         Cookies and DOM Storage. The reason this patch is so big is because of
1604         the refactoring of editing code, which won't be used yet in a cross-datagrid
1605         way, but should be able to.
1606         
1607         Additionally, moved the callbacks members from DOMStorageDataGrid to
1608         DOMStorageItemsView, which allowed us to delete DOMStorageDataGrid, to 
1609         make the architecture of DOM Storage look a lot more like the Cookies view.
1610         
1611         Lastly, added a preventDefault call in ElementsTreeOutline to prevent the 
1612         inspector from beeping at you when you delete an element.
1613
1614         * WebCore.gypi: Removed DOMStorageDataGrid.
1615         * WebCore.vcproj/WebCore.vcproj: Removed DOMStorageDataGrid.
1616         * inspector/front-end/CookieItemsView.js:
1617         (WebInspector.CookieItemsView.prototype.dataGridForCookies):
1618         (WebInspector.CookieItemsView.prototype._deleteButtonClicked):
1619         (WebInspector.CookieItemsView.prototype._deleteCookieCallback):
1620         * inspector/front-end/DOMStorageDataGrid.js: Removed.
1621         * inspector/front-end/DOMStorageItemsView.js:
1622         (WebInspector.DOMStorageItemsView.prototype._dataGridForDOMStorageEntries):
1623         (WebInspector.DOMStorageItemsView.prototype._deleteButtonClicked):
1624         (WebInspector.DOMStorageItemsView.prototype._refreshButtonClicked):
1625         (WebInspector.DOMStorageItemsView.prototype._editingCallback):
1626         (WebInspector.DOMStorageItemsView.prototype.deleteSelectedRow):
1627         (WebInspector.DOMStorageItemsView.prototype._deleteCallback):
1628         * inspector/front-end/DataGrid.js:
1629         (WebInspector.DataGrid):
1630         (WebInspector.DataGrid.prototype._ondblclick): Moved from DOMStorageDataGrid to DataGrid + Refactoring.
1631         (WebInspector.DataGrid.prototype._startEditingColumnOfDataGridNode): Ditto.
1632         (WebInspector.DataGrid.prototype._startEditing): Ditto.
1633         (WebInspector.DataGrid.prototype._editingCommitted.moveToNextIfNeeded): Ditto.
1634         (WebInspector.DataGrid.prototype._editingCommitted): Ditto.
1635         (WebInspector.DataGrid.prototype._editingCancelled): Ditto.
1636         (WebInspector.DataGrid.prototype.handleKeyEvent): Added case for delete/backspace.
1637         * inspector/front-end/ElementsTreeOutline.js:
1638         (WebInspector.ElementsTreeOutline.prototype.handleKeyEvent): Added preventDefault call.
1639         * inspector/front-end/WebKit.qrc: Removed DOMStorageDataGrid.
1640         * inspector/front-end/inspector.html: Removed DOMStorageDataGrid.
1641
1642 2009-11-06  Geoffrey Garen  <ggaren@apple.com>
1643
1644         Qt build fix: added an ExecState parameter.
1645
1646         * bridge/qt/qt_runtime.cpp:
1647         (JSC::Bindings::convertValueToQVariant):
1648         (JSC::Bindings::convertQVariantToValue):
1649
1650 2009-11-06  Geoffrey Garen  <ggaren@apple.com>
1651
1652         https://bugs.webkit.org/show_bug.cgi?id=31197
1653         Implemented a timezone cache not based on Mac OS X's notify_check API.
1654
1655         Updated for JavaScriptCore internal API change.
1656
1657         * bridge/qt/qt_runtime.cpp:
1658         (JSC::Bindings::convertValueToQVariant):
1659         (JSC::Bindings::convertQVariantToValue): Updated for namespace change.
1660
1661         * platform/network/HTTPParsers.cpp:
1662         (WebCore::parseDate): Pass 0 for ExecState, since we don't have one.
1663         (This function probably shouldn't be using a JavaScript date parser
1664         to begin with, but oh well.)
1665
1666 2009-11-06  Anantanarayanan G Iyengar  <ananta@chromium.org>
1667
1668         Reviewed by Adam Barth.
1669
1670         The associated webkit bug is https://bugs.webkit.org/show_bug.cgi?id=31067,
1671         which affects Chromium only.
1672         
1673         Changes to V8HTMLDocumentCustom.cpp are as below:-
1674         1. The HTMLDocumentOpen function would cause a crash in Chromium if
1675            there was no calling javascript context. We now check for this case
1676            and pass in NULL to the HTMLDocument::open function which can handle
1677            a NULL document parameter.
1678         2. The other functions like HTMLDocumentWrite, HTMLDocumentWriteln, etc
1679            had ASSERTS for a NULL caller frame, which was bogus as it would crash
1680            anyway. We now check for this case and return a failure.
1681            
1682         Changes to V8DOMWindowCustom.cpp are as below:-
1683         1. Instead of failing the window.open call made by NPAPI for lack of a
1684            calling javascript context, we now use the entered context as the calling
1685            context.
1686
1687         Tests: plugins/document-open.html
1688                plugins/window-open.html
1689
1690         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1691         (WebCore::CALLBACK_FUNC_DECL):
1692         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
1693         (WebCore::CALLBACK_FUNC_DECL):
1694
1695 2009-11-06  Steve Block  <steveblock@google.com>
1696
1697         Reviewed by Eric Seidel.
1698
1699         Geolocation error code UNKNOWN_ERROR is deprecated.
1700         https://bugs.webkit.org/show_bug.cgi?id=31184
1701
1702         Remove this error code from PositionError, both for use from C++ code and from the JS object.
1703
1704         Updated fast/dom/Geolocation/error.html to test this.
1705
1706         * page/PositionError.h: Modified.
1707         (WebCore::PositionError::): Remove ErrorCode::UNKNOWN_ERROR.
1708         * page/PositionError.idl: Modified. Remove UNKNOWN_ERROR constant.
1709         * page/Geolocation.cpp: Modified.
1710         (WebCore::Geolocation::startRequest): Replace UNKNOWN_ERROR with POSITION_UNAVAILABLE.
1711         * platform/gtk/GeolocationServiceGtk.cpp: Modified.
1712         (WebCore::GeolocationServiceGtk::startUpdating): Replace UNKNOWN_ERROR with POSITION_UNAVAILABLE.
1713
1714 2009-11-06  Dirk Schulze  <krit@webkit.org>
1715
1716         Reviewed by Nikolas Zimmermann.
1717
1718         feMorphology filter is not implemented
1719         [https://bugs.webkit.org/show_bug.cgi?id=5863]
1720
1721         The Implementation of feMorphology.
1722         
1723         Test: We have allready a test for feMorphology
1724               svg/W3C-SVG-1.1/filters-morph-01-f.svg
1725
1726         * svg/graphics/filters/SVGFEMorphology.cpp:
1727         (WebCore::FEMorphology::apply):
1728
1729 2009-11-06  Steve Block  <steveblock@google.com>
1730
1731         Reviewed by Eric Seidel.
1732
1733         V8DOMWindowCustom.cpp is missing WEB_SOCKETS guard on include.
1734         https://bugs.webkit.org/show_bug.cgi?id=31209
1735
1736         Build fix only. No new tests possible.
1737
1738         * bindings/v8/custom/V8DOMWindowCustom.cpp: Modified. Added WEB_SOCKETS guard on inclue of WebSockets.h.
1739
1740 2009-11-06  Drew Wilson  <atwilson@chromium.org>
1741
1742         Reviewed by David Levin.
1743
1744         V8 bindings do not support SharedWorkers as event targets
1745         https://bugs.webkit.org/show_bug.cgi?id=31199
1746
1747         No new tests because existing layout tests suffice (they currently
1748         crash on Chromium)
1749
1750         * bindings/v8/V8DOMWrapper.cpp:
1751         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
1752         Added clause to create a DOM wrapper for SharedWorkers.
1753
1754 2009-11-06  Anton Muhin  <antonm@chromium.org>
1755
1756         Reviewed by Adam Barth.
1757
1758         Do not unnecessarly synchronzie in weak reference callbacks.
1759         https://bugs.webkit.org/show_bug.cgi?id=31191
1760
1761         * bindings/v8/DOMData.h:
1762         (WebCore::DOMData::handleWeakObject):
1763
1764 2009-11-06  Alexander Pavlov  <apavlov@chromium.org>
1765
1766         Reviewed by Pavel Feldman.
1767
1768         Fix resource content search.
1769         https://bugs.webkit.org/show_bug.cgi?id=31202
1770
1771         * inspector/front-end/AbstractTimelinePanel.js:
1772         (WebInspector.AbstractTimelinePanel.prototype.refresh):
1773         (WebInspector.AbstractTimelinePanel.prototype.removeItem):
1774         * inspector/front-end/TimelinePanel.js:
1775         (WebInspector.TimelineGraph.prototype.refresh):
1776
1777 2009-11-05  Yuta Kitamura  <yutak@chromium.org>
1778
1779         Reviewed by Eric Seidel.
1780
1781         Fix ASSERT(currentStyle = renderStyle()).
1782         https://bugs.webkit.org/show_bug.cgi?id=31152
1783
1784         * dom/Element.cpp:
1785         (WebCore::Element::pseudoStyleCacheIsInvalid): We should have used "==" instead of "=".
1786
1787 2009-11-05  Alpha Lam  <hclam@chromium.org>
1788
1789         Revert 50562 because it broke Chromium. Not reviewed since this is a build fix and revert.
1790
1791         * bindings/v8/V8GCController.cpp:
1792         (WebCore::V8GCController::gcEpilogue):
1793         * bindings/v8/V8GCController.h:
1794         * bindings/v8/V8Proxy.cpp:
1795         (WebCore::V8Proxy::evaluate):
1796         (WebCore::V8Proxy::runScript):
1797         (WebCore::V8Proxy::callFunction):
1798
1799 2009-11-05  Adam Barth  <abarth@webkit.org>
1800
1801         Reviewed by Sam Weinig.
1802
1803         Cross-domain access to stylesheet text should not be allowed
1804         https://bugs.webkit.org/show_bug.cgi?id=20527
1805
1806         Check whether whether the current document can read the cssRules from
1807         the style sheet.  Firefox throws a security error here, but we return
1808         null instead because that's what we usually do in these cases.
1809
1810         Test: http/tests/security/cannot-read-cssrules-redirect.html
1811               http/tests/security/cannot-read-cssrules.html
1812
1813         * css/CSSStyleSheet.cpp:
1814         (WebCore::CSSStyleSheet::cssRules):
1815
1816 2009-11-05  Steve Block  <steveblock@google.com>
1817
1818         Reviewed by Eric Seidel.
1819
1820         If the Geolocation service fails to start, invoke the error callback asynchronously.
1821         https://bugs.webkit.org/show_bug.cgi?id=28276
1822
1823         All Geolocation callbacks must be invoked asynchronously.
1824         See http://www.w3.org/TR/geolocation-API/#geolocation_interface
1825
1826         No new tests possible with current LayoutTestController.
1827
1828         * page/Geolocation.cpp:
1829         (WebCore::Geolocation::getCurrentPosition): Modified. Asserts that startRequest returned a notifier.
1830         (WebCore::Geolocation::watchPosition): Modified. Asserts that startRequest returned a notifier.
1831         (WebCore::Geolocation::startRequest): Modified. If the Geolocation service fails to start, set a fatal error on the notifier.
1832
1833 2009-11-05  Chris Jerdonek  <chris.jerdonek@gmail.com>
1834
1835         Reviewed by Eric Seidel.
1836
1837         Removed the "this is part of the KDE project" comments from 
1838         all *.h, *.cpp, *.idl, and *.pm files.
1839         
1840         https://bugs.webkit.org/show_bug.cgi?id=31167
1841         
1842         The maintenance and architecture page in the project wiki lists
1843         this as a task.
1844         
1845         This change includes no changes or additions to test cases 
1846         since the change affects only comments.
1847
1848         * bindings/scripts/CodeGeneratorV8.pm:
1849         * bindings/scripts/IDLParser.pm:
1850         * bindings/scripts/IDLStructure.pm:
1851         * css/CSSInheritedValue.cpp:
1852         * css/CSSInitialValue.cpp:
1853         * css/CSSMediaRule.cpp:
1854         * css/CSSNamespace.h:
1855         * css/CSSProperty.cpp:
1856         * css/CSSProperty.h:
1857         * css/CSSRuleList.cpp:
1858         * css/CSSRuleList.h:
1859         * css/CSSSelector.h:
1860         * css/CSSValueList.cpp:
1861         * css/FontValue.cpp:
1862         * css/MediaFeatureNames.cpp:
1863         * css/MediaFeatureNames.h:
1864         * css/Pair.h:
1865         * css/SVGCSSStyleSelector.cpp:
1866         * css/ShadowValue.cpp:
1867         * css/StyleSheet.cpp:
1868         * css/StyleSheetList.cpp:
1869         * css/maketokenizer:
1870         * dom/BeforeUnloadEvent.cpp:
1871         * dom/BeforeUnloadEvent.h:
1872         * dom/CSSMappedAttributeDeclaration.cpp:
1873         * dom/EventNames.cpp:
1874         * dom/EventTarget.cpp:
1875         * dom/MappedAttributeEntry.h:
1876         * dom/MouseRelatedEvent.h:
1877         * dom/RangeException.h:
1878         * dom/StyleElement.h:
1879         * dom/Tokenizer.h:
1880         * html/HTMLHeadElement.h:
1881         * html/HTMLHeadingElement.cpp:
1882         * html/HTMLHeadingElement.h:
1883         * html/HTMLHtmlElement.h:
1884         * html/HTMLImageLoader.h:
1885         * html/HTMLMetaElement.h:
1886         * html/HTMLModElement.cpp:
1887         * html/HTMLModElement.h:
1888         * html/HTMLOptionsCollection.cpp:
1889         * html/HTMLPlugInElement.cpp:
1890         * html/HTMLPreElement.cpp:
1891         * html/HTMLPreElement.h:
1892         * html/HTMLTableCellElement.cpp:
1893         * html/HTMLTableCellElement.h:
1894         * html/HTMLTableColElement.cpp:
1895         * html/HTMLTableColElement.h:
1896         * html/HTMLTablePartElement.cpp:
1897         * html/HTMLTablePartElement.h:
1898         * html/HTMLTitleElement.h:
1899         * page/MouseEventWithHitTestResults.h:
1900         * platform/StaticConstructors.h:
1901         * platform/text/AtomicStringImpl.h:
1902         * platform/text/qt/TextBreakIteratorQt.cpp:
1903         * rendering/AutoTableLayout.h:
1904         * rendering/CounterNode.cpp:
1905         * rendering/EllipsisBox.cpp:
1906         * rendering/EllipsisBox.h:
1907         * rendering/FixedTableLayout.cpp:
1908         * rendering/FixedTableLayout.h:
1909         * rendering/HitTestRequest.h:
1910         * rendering/HitTestResult.h:
1911         * rendering/InlineRunBox.h:
1912         * rendering/PointerEventsHitRules.cpp:
1913         * rendering/PointerEventsHitRules.h:
1914         * rendering/RenderBR.cpp:
1915         * rendering/RenderBR.h:
1916         * rendering/RenderButton.cpp:
1917         * rendering/RenderButton.h:
1918         * rendering/RenderFieldset.cpp:
1919         * rendering/RenderFrameSet.cpp:
1920         * rendering/RenderListItem.cpp:
1921         * rendering/RenderTableRow.cpp:
1922         * rendering/RenderView.h:
1923         * rendering/RootInlineBox.h:
1924         * rendering/SVGInlineTextBox.cpp:
1925         * rendering/SVGInlineTextBox.h:
1926         * rendering/TableLayout.h:
1927         * rendering/break_lines.h:
1928         * rendering/style/SVGRenderStyle.cpp:
1929         * rendering/style/SVGRenderStyle.h:
1930         * rendering/style/SVGRenderStyleDefs.cpp:
1931         * rendering/style/SVGRenderStyleDefs.h:
1932         * svg/GradientAttributes.h:
1933         * svg/LinearGradientAttributes.h:
1934         * svg/PatternAttributes.h:
1935         * svg/RadialGradientAttributes.h:
1936         * svg/SVGAElement.cpp:
1937         * svg/SVGAngle.idl:
1938         * svg/SVGAnimateColorElement.cpp:
1939         * svg/SVGAnimateColorElement.h:
1940         * svg/SVGAnimateElement.cpp:
1941         * svg/SVGAnimateElement.h:
1942         * svg/SVGAnimateTransformElement.h:
1943         * svg/SVGAnimatedPathData.cpp:
1944         * svg/SVGAnimatedPathData.h:
1945         * svg/SVGAnimatedPoints.cpp:
1946         * svg/SVGAnimatedPoints.h:
1947         * svg/SVGAnimationElement.cpp:
1948         * svg/SVGCircleElement.cpp:
1949         * svg/SVGClipPathElement.cpp:
1950         * svg/SVGColor.cpp:
1951         * svg/SVGColor.idl:
1952         * svg/SVGComponentTransferFunctionElement.cpp:
1953         * svg/SVGComponentTransferFunctionElement.h:
1954         * svg/SVGCursorElement.cpp:
1955         * svg/SVGDefsElement.cpp:
1956         * svg/SVGDescElement.cpp:
1957         * svg/SVGDescElement.h:
1958         * svg/SVGDocument.idl:
1959         * svg/SVGElement.idl:
1960         * svg/SVGElementInstanceList.cpp:
1961         * svg/SVGElementInstanceList.h:
1962         * svg/SVGEllipseElement.cpp:
1963         * svg/SVGExternalResourcesRequired.cpp:
1964         * svg/SVGFEBlendElement.cpp:
1965         * svg/SVGFEBlendElement.h:
1966         * svg/SVGFEColorMatrixElement.cpp:
1967         * svg/SVGFEColorMatrixElement.h:
1968         * svg/SVGFEComponentTransferElement.cpp:
1969         * svg/SVGFEComponentTransferElement.h:
1970         * svg/SVGFECompositeElement.cpp:
1971         * svg/SVGFECompositeElement.h:
1972         * svg/SVGFEFloodElement.cpp:
1973         * svg/SVGFEFloodElement.h:
1974         * svg/SVGFEFuncAElement.cpp:
1975         * svg/SVGFEFuncAElement.h:
1976         * svg/SVGFEFuncBElement.cpp:
1977         * svg/SVGFEFuncBElement.h:
1978         * svg/SVGFEFuncGElement.cpp:
1979         * svg/SVGFEFuncGElement.h:
1980         * svg/SVGFEFuncRElement.cpp:
1981         * svg/SVGFEFuncRElement.h:
1982         * svg/SVGFEGaussianBlurElement.cpp:
1983         * svg/SVGFEGaussianBlurElement.h:
1984         * svg/SVGFEImageElement.cpp:
1985         * svg/SVGFEMergeElement.cpp:
1986         * svg/SVGFEMergeElement.h:
1987         * svg/SVGFEMergeNodeElement.cpp:
1988         * svg/SVGFEOffsetElement.cpp:
1989         * svg/SVGFEOffsetElement.h:
1990         * svg/SVGFETileElement.cpp:
1991         * svg/SVGFETileElement.h:
1992         * svg/SVGFETurbulenceElement.cpp:
1993         * svg/SVGFETurbulenceElement.h:
1994         * svg/SVGFilterElement.cpp:
1995         * svg/SVGGElement.cpp:
1996         * svg/SVGGradientElement.cpp:
1997         * svg/SVGHKernElement.idl:
1998         * svg/SVGLangSpace.cpp:
1999         * svg/SVGLangSpace.h:
2000         * svg/SVGLength.cpp:
2001         * svg/SVGLength.h:
2002         * svg/SVGLength.idl:
2003         * svg/SVGLengthList.cpp:
2004         * svg/SVGLengthList.h:
2005         * svg/SVGLineElement.cpp:
2006         * svg/SVGLinearGradientElement.h:
2007         * svg/SVGList.h:
2008         * svg/SVGListTraits.h:
2009         * svg/SVGLocatable.h:
2010         * svg/SVGMaskElement.cpp:
2011         * svg/SVGMatrix.idl:
2012         * svg/SVGMetadataElement.cpp:
2013         * svg/SVGMetadataElement.h:
2014         * svg/SVGMetadataElement.idl:
2015         * svg/SVGNumber.idl:
2016         * svg/SVGNumberList.cpp:
2017         * svg/SVGNumberList.h:
2018         * svg/SVGPaint.cpp:
2019         * svg/SVGPathElement.cpp:
2020         * svg/SVGPathSeg.h:
2021         * svg/SVGPathSegArc.cpp:
2022         * svg/SVGPathSegArc.h:
2023         * svg/SVGPathSegClosePath.cpp:
2024         * svg/SVGPathSegClosePath.h:
2025         * svg/SVGPathSegCurvetoCubic.cpp:
2026         * svg/SVGPathSegCurvetoCubic.h:
2027         * svg/SVGPathSegCurvetoCubicSmooth.cpp:
2028         * svg/SVGPathSegCurvetoCubicSmooth.h:
2029         * svg/SVGPathSegCurvetoQuadratic.cpp:
2030         * svg/SVGPathSegCurvetoQuadratic.h:
2031         * svg/SVGPathSegCurvetoQuadraticSmooth.cpp:
2032         * svg/SVGPathSegCurvetoQuadraticSmooth.h:
2033         * svg/SVGPathSegLineto.cpp:
2034         * svg/SVGPathSegLineto.h:
2035         * svg/SVGPathSegLinetoHorizontal.cpp:
2036         * svg/SVGPathSegLinetoHorizontal.h:
2037         * svg/SVGPathSegLinetoVertical.cpp:
2038         * svg/SVGPathSegLinetoVertical.h:
2039         * svg/SVGPathSegMoveto.cpp:
2040         * svg/SVGPathSegMoveto.h:
2041         * svg/SVGPatternElement.cpp:
2042         * svg/SVGPoint.idl:
2043         * svg/SVGPointList.cpp:
2044         * svg/SVGPointList.h:
2045         * svg/SVGPolyElement.cpp:
2046         * svg/SVGPolygonElement.cpp:
2047         * svg/SVGPolygonElement.h:
2048         * svg/SVGPolylineElement.cpp:
2049         * svg/SVGPolylineElement.h:
2050         * svg/SVGPreserveAspectRatio.cpp:
2051         * svg/SVGPreserveAspectRatio.h:
2052         * svg/SVGRadialGradientElement.h:
2053         * svg/SVGRect.idl:
2054         * svg/SVGRectElement.cpp:
2055         * svg/SVGRenderingIntent.h:
2056         * svg/SVGSVGElement.idl:
2057         * svg/SVGScriptElement.cpp:
2058         * svg/SVGSetElement.cpp:
2059         * svg/SVGSetElement.h:
2060         * svg/SVGStopElement.cpp:
2061         * svg/SVGStringList.cpp:
2062         * svg/SVGStringList.h:
2063         * svg/SVGStylable.cpp:
2064         * svg/SVGStylable.h:
2065         * svg/SVGStyleElement.cpp:
2066         * svg/SVGStyleElement.h:
2067         * svg/SVGStyledElement.h:
2068         * svg/SVGStyledLocatableElement.cpp:
2069         * svg/SVGStyledLocatableElement.h:
2070         * svg/SVGStyledTransformableElement.cpp:
2071         * svg/SVGStyledTransformableElement.h:
2072         * svg/SVGSwitchElement.cpp:
2073         * svg/SVGSymbolElement.cpp:
2074         * svg/SVGTRefElement.cpp:
2075         * svg/SVGTSpanElement.cpp:
2076         * svg/SVGTSpanElement.h:
2077         * svg/SVGTests.h:
2078         * svg/SVGTextElement.cpp:
2079         * svg/SVGTextElement.h:
2080         * svg/SVGTextPathElement.cpp:
2081         * svg/SVGTextPositioningElement.cpp:
2082         * svg/SVGTextPositioningElement.h:
2083         * svg/SVGTitleElement.cpp:
2084         * svg/SVGTitleElement.h:
2085         * svg/SVGTransform.cpp:
2086         * svg/SVGTransform.h:
2087         * svg/SVGTransform.idl:
2088         * svg/SVGTransformList.cpp:
2089         * svg/SVGTransformList.h:
2090         * svg/SVGTransformable.h:
2091         * svg/SVGURIReference.h:
2092         * svg/SVGUnitTypes.h:
2093         * svg/SVGUseElement.cpp:
2094         * svg/SVGViewElement.cpp:
2095         * svg/SVGZoomAndPan.cpp:
2096         * svg/SVGZoomAndPan.h:
2097         * svg/SVGZoomEvent.cpp:
2098
2099 2009-11-05  Jeremy Orlow  <jorlow@chromium.org>
2100
2101         Reviewed by Dimitri Glazkov.
2102
2103         REGRESSION Clean up security origin usage in DOM Storage.
2104         https://bugs.webkit.org/show_bug.cgi?id=31188
2105
2106         Clean up security origin usage in DOM Storage.  This fixes a bug in my
2107         refactoring here: https://bugs.webkit.org/show_bug.cgi?id=31149
2108
2109         Instead of having StorageAreaSync's constructor (which is called in the
2110         constructor for StorageAreaImpl) calling a method on StoargeAreaImpl to get the
2111         database identifier, simply have StorageAreaImpl pass the identifier into
2112         StorageAreaSync.
2113
2114         No test because there's no change in externally observable behavior.
2115
2116         * storage/StorageAreaImpl.cpp:
2117         (WebCore::StorageAreaImpl::StorageAreaImpl):
2118         * storage/StorageAreaImpl.h:
2119         * storage/StorageAreaSync.cpp:
2120         (WebCore::StorageAreaSync::create):
2121         (WebCore::StorageAreaSync::StorageAreaSync):
2122         * storage/StorageAreaSync.h:
2123
2124 2009-11-05  Scott Violet  <sky@google.com>
2125
2126         Reviewed by Dimitri Glazkov.
2127
2128         Need notification of scrolling frame
2129         https://bugs.webkit.org/show_bug.cgi?id=31145
2130
2131         Adds FrameLoaderClient::didChangeScrollOffset that is called when
2132         the frame scrolls. This will be used to know when history state
2133         needs to be updated.
2134
2135         * loader/FrameLoaderClient.h:
2136         (WebCore::FrameLoaderClient::didChangeScrollOffset):
2137         * page/FrameView.cpp:
2138         (WebCore::FrameView::valueChanged):
2139
2140 2009-11-05  Kenneth Russell  <kbr@google.com>
2141
2142         Reviewed by Dimitri Glazkov.
2143
2144         [V8] Update bindings to use new API for external arrays
2145         https://bugs.webkit.org/show_bug.cgi?id=31181
2146
2147         No new tests; covered by existing WebGL tests.
2148
2149         * bindings/v8/V8DOMWrapper.cpp:
2150         (WebCore::V8DOMWrapper::setIndexedPropertiesToExternalArray):
2151         (WebCore::V8DOMWrapper::getTemplate):
2152         (WebCore::V8DOMWrapper::convertToV8Object):
2153         * bindings/v8/V8DOMWrapper.h:
2154         * bindings/v8/custom/V8CanvasArrayCustom.h:
2155         (WebCore::constructCanvasArray):
2156
2157 2009-11-05  Alpha Lam  <hclam@chromium.org>
2158
2159         Not reviewed, Chromium build fix.
2160
2161         50561 introduces a custom method for SVGMatrix, we need to implement
2162         this in V8.
2163
2164         * bindings/v8/custom/V8CustomBinding.h:
2165         Adding definition for V8SVGMatrixMultiply.
2166         * bindings/v8/custom/V8SVGMatrixCustom.cpp:
2167         (WebCore::CALLBACK_FUNC_DECL):
2168         Implement V8SVGMatrixMultiply according to the same method in JSC.
2169
2170 2009-11-05  Jeremy Orlow  <jorlow@chromium.org>
2171
2172         Revert 50569 since it broke QT.  Build fix and just a revert, so no review.
2173
2174         * page/DOMWindow.cpp:
2175         (WebCore::DOMWindow::sessionStorage):
2176         * page/Settings.cpp:
2177         (WebCore::Settings::Settings):
2178         (WebCore::Settings::setSessionStorageEnabled):
2179         * page/Settings.h:
2180         (WebCore::Settings::sessionStorageEnabled):
2181
2182 2009-11-05  Pavel Feldman  <pfeldman@chromium.org>
2183
2184         Reviewed by Timothy Hatcher.
2185
2186         REGRESSION: Web Inspector doesn't show CSS rules properly for iframes
2187
2188         https://bugs.webkit.org/show_bug.cgi?id=30884
2189
2190         Test: inspector/styles-iframe.html
2191
2192         * inspector/front-end/DOMAgent.js:
2193         (WebInspector.DOMNode):
2194         * inspector/front-end/InjectedScript.js:
2195         (InjectedScript.getStyles):
2196         (InjectedScript.getComputedStyle):
2197         (InjectedScript.addStyleSelector):
2198         * inspector/front-end/TestController.js:
2199         (WebInspector.TestController.prototype.notifyDone):
2200         (WebInspector.TestController.prototype.runAfterPendingDispatches):
2201         (WebInspector.evaluateForTestInFrontend.invokeMethod):
2202         (WebInspector.evaluateForTestInFrontend):
2203
2204 2009-11-05  Vitaly Repeshko  <vitalyr@chromium.org>
2205
2206         Reviewed by Geoffrey Garen and Dimitri Glazkov.
2207
2208         Rehashing of EventListenerMap leads to loss of EvenListenerList.
2209         https://bugs.webkit.org/show_bug.cgi?id=31027
2210
2211         Tested by new fast/events/event-listener-map-rehash-crash.html.
2212
2213         EventListenerMap modified to store pointers to listener vectors:
2214         * dom/EventTarget.cpp:
2215         (WebCore::EventTargetData::~EventTargetData):
2216         (WebCore::EventTarget::addEventListener):
2217         (WebCore::EventTarget::removeEventListener):
2218         (WebCore::EventTarget::fireEventListeners):
2219         (WebCore::EventTarget::getEventListeners):
2220         (WebCore::EventTarget::removeAllEventListeners):
2221         * dom/EventTarget.h:
2222
2223         Usages updated after interface changes:
2224         * inspector/InspectorDOMAgent.cpp:
2225         (WebCore::InspectorDOMAgent::getEventListenersForNode):
2226         * svg/SVGUseElement.cpp:
2227         (WebCore::SVGUseElement::transferEventListenersToShadowTree):
2228
2229 2009-11-05  Dan Kegel  <dank@chromium.org>
2230
2231         Reviewed by Dmitri Titov.
2232
2233         Add missing initialization for m_createdByParser.
2234         https://bugs.webkit.org/show_bug.cgi?id=31089
2235
2236         Test: fast/dom/beforeload/pi-before-load.xhtml in Valgrind
2237
2238         * dom/ProcessingInstruction.cpp:
2239         (WebCore::ProcessingInstruction::ProcessingInstruction):
2240
2241 2009-11-04  Jeremy Orlow  <jorlow@chromium.org>
2242
2243         Reviewed by Adam Barth.
2244
2245         DOM Storage runtime flag changes
2246         https://bugs.webkit.org/show_bug.cgi?id=30602
2247
2248         Part 2/2.
2249
2250         Revert my changes to Settings and instead implement DOM Storage enabling via
2251         the methods agreed upon in https://bugs.webkit.org/show_bug.cgi?id=30240
2252
2253         This stuff was (intentionally) never exposed to web pages or DRT, so there's no
2254         LayoutTest visible changes and thus no tests.
2255
2256         * bindings/v8/custom/V8CustomBinding.h:
2257         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2258         (WebCore::ACCESSOR_RUNTIME_ENABLER):
2259         * page/DOMWindow.cpp:
2260         (WebCore::DOMWindow::sessionStorage):
2261         * page/DOMWindow.idl:
2262         * page/Settings.cpp:
2263         (WebCore::Settings::Settings):
2264         * page/Settings.h:
2265         * storage/Storage.cpp:
2266         (WebCore::Storage::setLocalStorageAvailable):
2267         (WebCore::Storage::localStorageAvailable):
2268         (WebCore::Storage::setSessionStorageAvailable):
2269         (WebCore::Storage::sessionStorageAvailable):
2270         * storage/Storage.h:
2271
2272 2009-11-05  Jian Li  <jianli@chromium.org>
2273
2274         Reviewed by Pavel Feldman.
2275
2276         Bug 31108 - [V8] REGRESSION: Pause on exception is broken
2277         https://bugs.webkit.org/show_bug.cgi?id=31108
2278
2279         * bindings/v8/V8AbstractEventListener.cpp:
2280         (WebCore::V8AbstractEventListener::invokeEventHandler):
2281         * bindings/v8/V8Utilities.cpp:
2282         (WebCore::reportException):
2283
2284 2009-11-05  Jian Li  <jianli@chromium.org>
2285
2286         Reviewed by Dmitri Titov.
2287
2288         We should not bubble up events if we drag something to an iframe that
2289         has an invalid source.
2290         https://bugs.webkit.org/show_bug.cgi?id=30469
2291
2292         Test: http/tests/misc/bubble-drag-events.html
2293
2294         * page/EventHandler.cpp:
2295         (WebCore::EventHandler::handleDragAndDropForTarget):
2296         (WebCore::EventHandler::updateDragAndDrop):
2297         (WebCore::EventHandler::cancelDragAndDrop):
2298         (WebCore::EventHandler::performDragAndDrop):
2299         * page/EventHandler.h:
2300         (WebCore::EventHandler::):
2301
2302 2009-11-05  Pavel Feldman  <pfeldman@chromium.org>
2303
2304         Reviewed by Timothy Hatcher.
2305
2306         Web Inspector: speed up Timelines Clear by a factor of thousands.
2307
2308         https://bugs.webkit.org/show_bug.cgi?id=31160
2309
2310         * inspector/front-end/utilities.js:
2311         (Element.prototype.removeChildren):
2312
2313 2009-11-05  Anton Muhin  <antonm@chromium.org>
2314
2315         Reviewed by Adam Barth.
2316
2317         If high memory usage is detected, hint to V8 that it might be due
2318         to external objects retained by V8 objects.
2319         https://bugs.webkit.org/show_bug.cgi?id=31051
2320
2321         * bindings/v8/V8GCController.cpp:
2322         (WebCore::GetMemoryUsageInMB):
2323         (WebCore::V8GCController::gcEpilogue):
2324         (WebCore::V8GCController::checkMemoryUsage):
2325         * bindings/v8/V8GCController.h:
2326         * bindings/v8/V8Proxy.cpp:
2327         (WebCore::V8Proxy::evaluate):
2328         (WebCore::V8Proxy::runScript):
2329         (WebCore::V8Proxy::callFunction):
2330
2331 2009-11-05  Jeff Schiller  <codedread@gmail.com>
2332
2333         Reviewed by Simon Fraser.
2334
2335         Correct order of matrix multiplication for SVGMatrix.
2336         https://bugs.webkit.org/show_bug.cgi?id=16062
2337
2338         Test: svg/dom/SVGMatrix-interface.xhtml
2339
2340         * bindings/js/JSSVGMatrixCustom.cpp:
2341         (WebCore::JSSVGMatrix::multiply):
2342         * svg/SVGMatrix.idl:
2343
2344 2009-11-04  Pavel Feldman  <pfeldman@chromium.org>
2345
2346         Reviewed by Timothy Hatcher.
2347
2348         Web Inspector: Make resource-related records in timeline
2349         actually take some time.
2350
2351         https://bugs.webkit.org/show_bug.cgi?id=31139
2352
2353         * English.lproj/localizedStrings.js:
2354         * inspector/front-end/TimelinePanel.js:
2355         (WebInspector.TimelinePanel):
2356         (WebInspector.TimelinePanel.prototype._formatRecord):
2357         (WebInspector.TimelinePanel.prototype._getRecordDetails):
2358         (WebInspector.TimelinePanel.prototype.reset):
2359
2360 2009-11-04  Jeremy Orlow  <jorlow@chromium.org>
2361
2362         Reviewed by Darin Fisher.
2363
2364         Simplify LocalStorageThread
2365         https://bugs.webkit.org/show_bug.cgi?id=30935
2366
2367         This is a re-submit of 50519.  LocalStorageTask should have never been ref
2368         counted.  I've removed that and switched a PassRefPtr over to a PassOwnPtr.
2369
2370         On LocalStoragethread: Remove reference counting. Get rid of locking. Make some
2371         of the method names a bit more clear. Assert proper thread usage. Join rather
2372         than detaching the thread and doing an ad-hoc form of join. Avoid touching
2373         variables on the background thread when simple to do so.  Also create a generic
2374         scheduleTask function rather than one for each task.
2375
2376         No behavior should have changed.
2377
2378         * storage/LocalStorageTask.h:
2379         * storage/LocalStorageThread.cpp:
2380         (WebCore::LocalStorageThread::create):
2381         (WebCore::LocalStorageThread::LocalStorageThread):
2382         (WebCore::LocalStorageThread::~LocalStorageThread):
2383         (WebCore::LocalStorageThread::start):
2384         (WebCore::LocalStorageThread::threadEntryPointCallback):
2385         (WebCore::LocalStorageThread::threadEntryPoint):
2386         (WebCore::LocalStorageThread::scheduleTask):
2387         (WebCore::LocalStorageThread::terminate):
2388         (WebCore::LocalStorageThread::performTerminate):
2389         * storage/LocalStorageThread.h:
2390         * storage/StorageSyncManager.cpp:
2391         (WebCore::StorageSyncManager::StorageSyncManager):
2392         (WebCore::StorageSyncManager::~StorageSyncManager):
2393         (WebCore::StorageSyncManager::scheduleImport):
2394         (WebCore::StorageSyncManager::scheduleSync):
2395         * storage/StorageSyncManager.h:
2396
2397 2009-11-04  Jeremy Orlow  <jorlow@chromium.org>
2398
2399         Reviewed by Darin Fisher.
2400
2401         Calling databaseIdentifier on LocalStorage's background thread is not safe.
2402         https://bugs.webkit.org/show_bug.cgi?id=31149
2403
2404         Calling SecurityOrigin::databaseIdentifier on LocalStorage's background thread
2405         is not safe.  databaseIdentifier does a bunch of string concatenation which
2406         ref-counts StringImpls in some cases.  This was caught by valgrind thread
2407         sanitizer: http://code.google.com/p/chromium/issues/detail?id=25645
2408
2409         There's no way to test for such racyness, unfortunately.
2410
2411         * storage/StorageAreaSync.cpp:
2412         (WebCore::StorageAreaSync::StorageAreaSync):
2413         (WebCore::StorageAreaSync::performImport):
2414         * storage/StorageAreaSync.h:
2415         * storage/StorageSyncManager.cpp:
2416         (WebCore::StorageSyncManager::fullDatabaseFilename):
2417         * storage/StorageSyncManager.h:
2418
2419 2009-11-03  Jeremy Orlow  <jorlow@chromium.org>
2420
2421         Reviewed by Darin Fisher.
2422
2423         Clean up StorageAreaSync
2424         https://bugs.webkit.org/show_bug.cgi?id=31100
2425
2426         Major fixes: Break the ref count cycle for StorageArea on the main
2427         thread, not the background thread since the latter is not safe.
2428         Length() needs to block on the import completing.
2429
2430         Small fixes: setItem needs to handle the copy on write case even if it
2431         has an exception.  setItem and removeItem should just bail from the
2432         the function if the value hasn't changed rather than wrapping the end
2433         in an if block.  Clear should only send an event if it wasn't already
2434         cleared.  StorageAreaSync should assert that the final sync was
2435         scheduled.
2436
2437         * storage/StorageAreaImpl.cpp:
2438         (WebCore::StorageAreaImpl::length):
2439           Forgot to block on the import.
2440         (WebCore::StorageAreaImpl::key):
2441         (WebCore::StorageAreaImpl::setItem):
2442           Handle the copy on write case even when there's an exception.
2443         (WebCore::StorageAreaImpl::removeItem):
2444         (WebCore::StorageAreaImpl::clear):
2445         * storage/StorageAreaSync.cpp:
2446         (WebCore::StorageAreaSync::~StorageAreaSync):
2447         (WebCore::StorageAreaSync::scheduleFinalSync):
2448         (WebCore::StorageAreaSync::performImport):
2449         (WebCore::StorageAreaSync::markImported):
2450         (WebCore::StorageAreaSync::blockUntilImportComplete):
2451         * storage/StorageAreaSync.h:
2452
2453 2009-11-05  Zoltan Horvath  <zoltan@webkit.org>
2454
2455         Reviewed by Eric Seidel.
2456
2457         Allow custom memory allocation control for WebCore's CachedResource
2458         https://bugs.webkit.org/show_bug.cgi?id=31114
2459
2460         Inherits CachedResource class from Noncopyable because its (its child
2461         class) CachedCSSStyleSheet instantiated by 'new' in WebCore/loader/Cache.cpp:75 
2462         and it is no need to be copyable.
2463
2464         * loader/CachedResource.h:
2465
2466 2009-11-04  Mark Mentovai  <mark@chromium.org>
2467
2468         Reviewed by Mark Rowe.
2469
2470         Separate the difference between HAVE(CGINTERPOLATION_MEDIUM), which
2471         is true when building on 10.6 or later, and USE(CGINTERPOLATION_MEDIUM)
2472         which is true when targeting 10.6 or later.
2473
2474         HAVE(CGINTERPOLATION_MEDIUM) indicates that kCGInterpolationMedium
2475         is present in the CGInterpolationQuality enum, and must be handled
2476         by a switch that has cases for each enumerated value.
2477
2478         USE(CGINTERPOLATION_MEDIUM) indicates that the product will only run
2479         on 10.6 or later, and that CoreGraphics will understand when
2480         InterpolationMedium is mapped to kCGInterpolationMedium at runtime.
2481
2482         * platform/graphics/cg/GraphicsContextCG.cpp:
2483         (WebCore::GraphicsContext::setImageInterpolationQuality):
2484         (WebCore::GraphicsContext::imageInterpolationQuality):
2485
2486 2009-11-04  Dan Kegel  <dank@chromium.org>
2487
2488         Reviewed by Alexey Proskuryakov.
2489
2490         Fix buffer overrun in WebCore::Page::userStyleSheetLocationChanged()
2491         https://bugs.webkit.org/show_bug.cgi?id=31138
2492
2493         Test: LayoutTests/platform/mac/fast/loader/user-stylesheet-fast-path.html in Valgrind
2494
2495         * page/Page.cpp:
2496         (WebCore::Page::userStyleSheetLocationChanged):
2497
2498 2009-11-04  Timothy Hatcher  <timothy@apple.com>
2499
2500         Update the Web Inspector Timeline panel to better match the mock-up.
2501
2502         https://bugs.webkit.org/show_bug.cgi?id=31150
2503
2504         Reviewed by Pavel Feldman.
2505
2506         * inspector/front-end/TimelinePanel.js:
2507         (WebInspector.TimelinePanel.prototype._getRecordDetails):
2508         (WebInspector.TimelinePanel.prototype._dragWindow):
2509         (WebInspector.TimelinePanel.prototype._resizeWindowLeft):
2510         (WebInspector.TimelinePanel.prototype._resizeWindowRight):
2511         (WebInspector.TimelineCategoryTreeElement.prototype.onattach):
2512         (WebInspector.TimelineRecordTreeElement.prototype.onattach):
2513         (WebInspector.TimelineRecordTreeElement.prototype.refresh):
2514         (WebInspector.TimelineCategoryGraph):
2515         * inspector/front-end/inspector.css:
2516
2517 2009-11-05  Justin Garcia  <justin.garcia@apple.com>
2518
2519         Reviewed by Adele Peterson.
2520
2521         https://bugs.webkit.org/show_bug.cgi?id=25439
2522         Deleting when in front of a block image removes character from previous paragraph
2523
2524         Added editing/deleting/25439-{1,2,3}.html
2525
2526         * editing/DeleteSelectionCommand.cpp:
2527         (WebCore::DeleteSelectionCommand::mergeParagraphs): Block images, tables and HRs cannot 
2528         be made inline with other content.  Instead of merging, just move the caret to just before 
2529         the selection we deleted.
2530         * editing/htmlediting.cpp:
2531         (WebCore::firstInSpecialElement): Added a FIXME.  This function begins iterating up from pos.node(), which 
2532         doesn't necessarily contain pos (suppose pos was [img, 0]).
2533         (WebCore::lastInSpecialElement): Ditto.
2534         (WebCore::isRenderedAsNonInlineTableImageOrHR): Moved from visible_units.cpp.  Added a check for non-inline images.
2535         * editing/htmlediting.h:
2536         * editing/visible_units.cpp:
2537         (WebCore::startOfParagraph): Use moved/renamed function.  Removed FIXME.  The problem causing 
2538         5027702 is now squarely in first/lastInSpecialElement
2539         (WebCore::endOfParagraph): Ditto.
2540         
2541 2009-11-04  Enrica Casucci  <enrica@apple.com>
2542
2543         Reviewed by Adele Peterson.
2544
2545         Hang in Mail on attempting to change indent level.
2546         <rdar://problem/7131805>
2547         https://bugs.webkit.org/show_bug.cgi?id=31127
2548
2549         The hang was caused by an infinite loop inside outdentRegion.
2550         The code did not account for the fact that, when a list item
2551         contains multiple paragraphs, outdent moves all paragraphs at
2552         once, invalidating some of the positions we keep track of in the loop.
2553         Some code refactoring has also been done to minimize duplicated code.
2554         
2555         Test: editing/execCommand/outdent-multiparagraph-list.html
2556
2557         * editing/IndentOutdentCommand.cpp:
2558         (WebCore::IndentOutdentCommand::indentRegion): Moved code in common with
2559         outdentRegion to doApply.
2560         (WebCore::IndentOutdentCommand::outdentRegion): Fixed endless loop.
2561         (WebCore::IndentOutdentCommand::doApply): Some code refactoring.
2562         * editing/IndentOutdentCommand.h: Added VisiblePosition parameters to
2563         indentRegion and outdentRegion.
2564
2565 2009-11-04  Alpha Lam  <hclam@chromium.org>
2566
2567         Reviewed by Eric Carlson.
2568
2569         Volume slider doesn't have a thumb
2570         https://bugs.webkit.org/show_bug.cgi?id=31135
2571
2572         Fixed an incorrect if statement that prevents volume slider
2573         being updated.
2574
2575         The statement checks if the slider value equals to the current
2576         volume value of the media control to avoid updating the volume
2577         slider. Updating the volume slider control shouldn't be within
2578         this condition because we explicitly set them to be equals
2579         during creation of the controls and also when mouse events are
2580         received on the volume control.
2581
2582         No new tests because existing code breaks:
2583         LayoutTests/media/video-volume-slider.html
2584
2585         It should now start passing on Chromium.
2586
2587         * rendering/MediaControlElements.cpp:
2588         (WebCore::MediaControlVolumeSliderElement::update):
2589         Update the volume slider regardless of the current volume value
2590         of the media control.
2591
2592 2009-11-04  Jenn Braithwaite  <jennb@chromium.org>
2593
2594         Reviewed by David Levin.
2595
2596         Need to properly disable applicationCache at runtime
2597         https://bugs.webkit.org/show_bug.cgi?id=30417
2598
2599         Adding applicationCacheEnabled bit to V8 RuntimeEnabledFeatures.
2600
2601         No new exposed functionality, so no new tests.
2602
2603         * bindings/v8/RuntimeEnabledFeatures.cpp:
2604         * bindings/v8/RuntimeEnabledFeatures.h:
2605         (WebCore::RuntimeEnabledFeatures::setApplicationCacheEnabled):
2606         (WebCore::RuntimeEnabledFeatures::applicationCacheEnabled):
2607         * bindings/v8/custom/V8CustomBinding.h:
2608         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2609         (WebCore::ACCESSOR_RUNTIME_ENABLER):
2610         * page/DOMWindow.idl:
2611
2612 2009-11-04  Alexey Proskuryakov  <ap@apple.com>
2613
2614         Reviewed by Dan Bernstein.
2615
2616         https://bugs.webkit.org/show_bug.cgi?id=31143
2617         Assertion failure in CredentialStorage::set() when proxy credentials are being set
2618
2619         No test, cannot test proxy behavior.
2620
2621         * platform/network/CredentialStorage.cpp: (WebCore::CredentialStorage::set): Account for the
2622         possibility of null url. Release mode changes are likely inconsequential - e.g. we used to
2623         add "://" to origin set, which is weird, but safe.
2624
2625 2009-11-04  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
2626
2627         Reviewed by Timothy Hatcher.
2628
2629         Web Inspector: Leftover Breakpoints in the Sidebar Pane
2630         https://bugs.webkit.org/show_bug.cgi?id=30659
2631
2632         No new tests.
2633
2634         * inspector/front-end/ScriptsPanel.js:
2635         (WebInspector.ScriptsPanel.prototype.addScript):
2636
2637 2009-11-04  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2638
2639         Reviewed by Timothy Hatcher.
2640
2641         WebInspector: Use a different method to identify the webkit port in
2642         InspectorBackent::platform().
2643         This corrects the inspector expected behavior with Qt on Windows.
2644         https://bugs.webkit.org/show_bug.cgi?id=31116
2645
2646         * inspector/InspectorBackend.cpp:
2647         (WebCore::InspectorBackend::platform):
2648         (WebCore::InspectorBackend::port):
2649         * inspector/InspectorBackend.h:
2650         * inspector/InspectorBackend.idl:
2651         * inspector/front-end/InspectorControllerStub.js:
2652         (.WebInspector.InspectorControllerStub.prototype.port):
2653         * inspector/front-end/inspector.css:
2654         * inspector/front-end/inspector.js:
2655         (WebInspector.loaded):
2656         (WebInspector.toolbarDragStart):
2657
2658 2009-11-04  Benjamin Otte  <otte@gnome.org>
2659
2660         Reviewed by Gustavo Noronha.
2661
2662         Update Cairo requirement to 1.6.
2663
2664         Also remove all conditional code and workarounds for older versions of
2665         Cairo.
2666         In particular, gain image quality by removing the use of
2667         CAIRO_FILTER_NEAREST when rendering images and use the default
2668         bilinear filter instead.
2669         https://bugs.webkit.org/show_bug.cgi?id=19266
2670
2671         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2672         (WebCore::GraphicsContext::clipOut):
2673         * platform/graphics/cairo/ImageCairo.cpp:
2674         (WebCore::BitmapImage::draw):
2675         (WebCore::BitmapImage::drawPattern):
2676         * platform/graphics/cairo/PathCairo.cpp:
2677         (WebCore::Path::isEmpty):
2678         (WebCore::Path::boundingRect):
2679         * platform/gtk/RenderThemeGtk.cpp:
2680         (WebCore::paintMozWidget):
2681
2682 2009-11-04  Kevin Ollivier  <kevino@theolliviers.com>
2683
2684         wx build fix. Restore removed string conversion after cleanup.
2685
2686         * platform/graphics/wx/FontPlatformDataWx.cpp:
2687         (WebCore::FontPlatformData::computeHash):
2688
2689 2009-11-04  Chris Fleizach  <cfleizach@apple.com>
2690
2691         Reviewed by Beth Dakin.
2692
2693         Need to implement ARIA role="combobox"
2694         https://bugs.webkit.org/show_bug.cgi?id=31096
2695
2696         Test: accessibility/aria-combobox.html
2697
2698         * accessibility/AccessibilityObject.h:
2699         (WebCore::AccessibilityObject::isComboBox):
2700         (WebCore::AccessibilityObject::isExpanded):
2701         (WebCore::AccessibilityObject::expandObject):
2702         (WebCore::AccessibilityObject::increment):
2703         (WebCore::AccessibilityObject::decrement):
2704         * accessibility/AccessibilityRenderObject.cpp:
2705         (WebCore::AccessibilityRenderObject::expandObject):
2706         (WebCore::AccessibilityRenderObject::isExpanded):
2707         (WebCore::createARIARoleMap):
2708         * accessibility/AccessibilityRenderObject.h:
2709         * accessibility/mac/AccessibilityObjectWrapper.mm:
2710         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
2711         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
2712         (-[AccessibilityObjectWrapper accessibilityPerformShowMenuAction]):
2713         * html/HTMLAttributeNames.in:
2714
2715 2009-11-04  Kelly Norton  <knorton@google.com>
2716
2717         Reviewed by Pavel Feldman.
2718
2719         Fixes naming inconsistencies in TimelineRecordFactory.
2720         https://bugs.webkit.org/show_bug.cgi?id=31132
2721
2722         * inspector/InspectorTimelineAgent.cpp:
2723         (WebCore::InspectorTimelineAgent::willPaint):
2724         (WebCore::InspectorTimelineAgent::willChangeXHRReadyState):
2725         (WebCore::InspectorTimelineAgent::willLoadXHR):
2726         (WebCore::InspectorTimelineAgent::willEvaluateScript):
2727         (WebCore::InspectorTimelineAgent::willSendResourceRequest):
2728         (WebCore::InspectorTimelineAgent::didReceiveResourceResponse):
2729         (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
2730         * inspector/TimelineRecordFactory.cpp:
2731         (WebCore::TimelineRecordFactory::createXHRReadyStateChangeRecord):
2732         (WebCore::TimelineRecordFactory::createXHRLoadRecord):
2733         (WebCore::TimelineRecordFactory::createEvaluateScriptRecord):
2734         (WebCore::TimelineRecordFactory::createMarkTimelineRecord):
2735         (WebCore::TimelineRecordFactory::createResourceSendRequestRecord):
2736         (WebCore::TimelineRecordFactory::createResourceReceiveResponseRecord):
2737         (WebCore::TimelineRecordFactory::createResourceFinishRecord):
2738         (WebCore::TimelineRecordFactory::createPaintRecord):
2739         * inspector/TimelineRecordFactory.h:
2740
2741 2009-11-04  Eric Z. Ayers  <zundel@google.com>
2742
2743         Reviewed by Pavel Feldman.
2744
2745         Followon to bug 31080, which protects Timeline
2746         instrumentation in the case where InspectorTimelineAgent
2747         is enabled or disabled during an event dispatch.
2748         
2749         https://bugs.webkit.org/show_bug.cgi?id=31121
2750
2751         * bindings/v8/V8Proxy.cpp:
2752         (WebCore::V8Proxy::evaluate):
2753         * dom/Document.cpp:
2754         (WebCore::Document::recalcStyle):
2755         * dom/Node.cpp:
2756         (WebCore::Node::dispatchGenericEvent):
2757         * html/HTMLTokenizer.cpp:
2758         (WebCore::HTMLTokenizer::write):
2759         * page/DOMWindow.cpp:
2760         (WebCore::DOMWindow::inspectorTimelineAgent):
2761         (WebCore::DOMWindow::dispatchEvent):
2762         * page/DOMWindow.h:
2763         * page/FrameView.cpp:
2764         (WebCore::FrameView::layout):
2765         (WebCore::FrameView::paintContents):
2766         * xml/XMLHttpRequest.cpp:
2767         (WebCore::XMLHttpRequest::callReadyStateChangeListener):
2768
2769 2009-11-04  Jeremy Orlow  <jorlow@chromium.org>
2770
2771         Revert 50519 while I work out what went wrong.
2772
2773         * storage/LocalStorageThread.cpp:
2774         (WebCore::LocalStorageThread::create):
2775         (WebCore::LocalStorageThread::LocalStorageThread):
2776         (WebCore::LocalStorageThread::start):
2777         (WebCore::LocalStorageThread::localStorageThreadStart):
2778         (WebCore::LocalStorageThread::localStorageThread):
2779         (WebCore::LocalStorageThread::scheduleImport):
2780         (WebCore::LocalStorageThread::scheduleSync):
2781         (WebCore::LocalStorageThread::terminate):
2782         (WebCore::LocalStorageThread::performTerminate):
2783         * storage/LocalStorageThread.h:
2784         * storage/StorageSyncManager.cpp:
2785         (WebCore::StorageSyncManager::StorageSyncManager):
2786         (WebCore::StorageSyncManager::~StorageSyncManager):
2787         (WebCore::StorageSyncManager::scheduleImport):
2788         (WebCore::StorageSyncManager::scheduleSync):
2789         * storage/StorageSyncManager.h:
2790
2791 2009-11-04  Pavel Feldman  <pfeldman@chromium.org>
2792
2793         Reviewed by Timothy Hatcher.
2794
2795         Web Inspector: Add basic support for resource events and marks.
2796         Couple of drive-by fixes. Enabling the panel!
2797
2798         https://bugs.webkit.org/show_bug.cgi?id=31130
2799
2800         * English.lproj/localizedStrings.js:
2801         * inspector/front-end/TimelinePanel.js:
2802         (WebInspector.TimelinePanel):
2803         (WebInspector.TimelinePanel.prototype._formatRecord):
2804         (WebInspector.TimelinePanel.prototype._getRecordDetails):
2805         (WebInspector.TimelinePanel.prototype.reset):
2806         (WebInspector.TimelineCategoryTreeElement.prototype._onCheckboxClicked):
2807         (WebInspector.TimelineRecordTreeElement.prototype.onattach):
2808         * inspector/front-end/inspector.js:
2809         (WebInspector._createPanels):
2810
2811 2009-11-03  Jeremy Orlow  <jorlow@chromium.org>
2812
2813         Reviewed by Darin Fisher.
2814
2815         Simplify LocalStorageThread
2816         https://bugs.webkit.org/show_bug.cgi?id=30935
2817
2818         On LocalStoragethread: Remove reference counting. Get rid of locking. Make some
2819         of the method names a bit more clear. Assert proper thread usage. Join rather
2820         than detaching the thread and doing an ad-hoc form of join. Avoid touching
2821         variables on the background thread when simple to do so.  Also create a generic
2822         scheduleTask function rather than one for each task.
2823
2824         No behavior should have changed.
2825
2826         * storage/LocalStorageThread.cpp:
2827         (WebCore::LocalStorageThread::create):
2828         (WebCore::LocalStorageThread::LocalStorageThread):
2829         (WebCore::LocalStorageThread::~LocalStorageThread):
2830         (WebCore::LocalStorageThread::start):
2831         (WebCore::LocalStorageThread::threadEntryPointCallback):
2832         (WebCore::LocalStorageThread::threadEntryPoint):
2833         (WebCore::LocalStorageThread::scheduleTask):
2834         (WebCore::LocalStorageThread::terminate):
2835         (WebCore::LocalStorageThread::performTerminate):
2836         * storage/LocalStorageThread.h:
2837         * storage/StorageSyncManager.cpp:
2838         (WebCore::StorageSyncManager::StorageSyncManager):
2839         (WebCore::StorageSyncManager::~StorageSyncManager):
2840         (WebCore::StorageSyncManager::scheduleImport):
2841         (WebCore::StorageSyncManager::scheduleSync):
2842         * storage/StorageSyncManager.h:
2843
2844 2009-11-04  Vadim Zeitlin  <vadim@wxwidgets.org>
2845
2846         Reviewed by Eric Seidel.
2847
2848         [wx] Small cleanup: avoid unnecessary wxString::mb_str() calls.
2849
2850         * platform/graphics/wx/FontPlatformDataWx.cpp:
2851         (WebCore::FontPlatformData::computeHash):
2852
2853 2009-11-04  Kelly Norton  <knorton@google.com>
2854
2855         Reviewed by Pavel Feldman.
2856
2857         Adds lightweight network resources to InspectorTimelineAgent.
2858         https://bugs.webkit.org/show_bug.cgi?id=31065
2859
2860         * inspector/InspectorController.cpp:
2861         (WebCore::InspectorController::willSendRequest):
2862         (WebCore::InspectorController::didReceiveResponse):
2863         (WebCore::InspectorController::didFinishLoading):
2864         (WebCore::InspectorController::didFailLoading):
2865         * inspector/InspectorTimelineAgent.cpp:
2866         (WebCore::InspectorTimelineAgent::willSendResourceRequest):
2867         (WebCore::InspectorTimelineAgent::didReceiveResourceResponse):
2868         (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
2869         * inspector/InspectorTimelineAgent.h:
2870         (WebCore::):
2871         * inspector/TimelineRecordFactory.cpp:
2872         (WebCore::TimelineRecordFactory::createResourceSendRequestTimelineRecord):
2873         (WebCore::TimelineRecordFactory::createResourceReceiveResponseTimelineRecord):
2874         (WebCore::TimelineRecordFactory::createResourceFinishTimelineRecord):
2875         * inspector/TimelineRecordFactory.h:
2876         * inspector/front-end/TimelineAgent.js:
2877
2878 2009-11-04  Yael Aharon  <yael.aharon@nokia.com>
2879
2880         Reviewed by Tor Arne Vestbø.
2881
2882         [Qt] ASSERT failure when receiving 401 HTTP Authentication response.
2883         https://bugs.webkit.org/show_bug.cgi?id=31077
2884
2885         Allow sending the response body under the same conditions that we
2886         allow it to finish without reporting an error.
2887
2888         * platform/network/qt/QNetworkReplyHandler.cpp:
2889         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
2890
2891 2009-11-04  Adam Roben  <aroben@apple.com>
2892
2893         Sort WebCore.base.exp
2894
2895         Rubber-stamped by Dan Bernstein.
2896
2897         * WebCore.base.exp: Sorted.
2898
2899 2009-11-04  Csaba Osztrogonác  <ossy@webkit.org>
2900
2901         Unreviewed rollout.
2902
2903         Revert r50496 because it broke all layout tests on QtBuildBot.
2904
2905         * WebCore.pro:
2906         * platform/graphics/qt/FontCacheQt.cpp:
2907         (WebCore::fontCache):
2908         (WebCore::FontCache::FontCache):
2909         (WebCore::FontCache::getTraitsInFamily):
2910         (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
2911         (WebCore::FontPlatformDataCacheKey::isHashTableDeletedValue):
2912         (WebCore::FontPlatformDataCacheKey::):
2913         (WebCore::FontPlatformDataCacheKey::operator==):
2914         (WebCore::FontPlatformDataCacheKey::hash):
2915         (WebCore::FontPlatformDataCacheKey::computeHash):
2916         (WebCore::FontPlatformDataCacheKey::hashTableDeletedSize):
2917         (WebCore::FontPlatformDataCacheKeyHash::hash):
2918         (WebCore::FontPlatformDataCacheKeyHash::equal):
2919         (WebCore::FontPlatformDataCacheKeyTraits::emptyValue):
2920         (WebCore::FontPlatformDataCacheKeyTraits::constructDeletedValue):
2921         (WebCore::FontPlatformDataCacheKeyTraits::isDeletedValue):
2922         (WebCore::FontCache::getCachedFontPlatformData):
2923         (WebCore::FontCache::getCachedFontData):
2924         (WebCore::FontCache::getLastResortFallbackFont):
2925         (WebCore::FontCache::releaseFontData):
2926         (WebCore::FontCache::purgeInactiveFontData):
2927         (WebCore::FontCache::addClient):
2928         (WebCore::FontCache::removeClient):
2929         (WebCore::FontCache::invalidate):
2930         * platform/graphics/qt/FontFallbackListQt.cpp: Added.
2931         (WebCore::FontFallbackList::FontFallbackList):
2932         (WebCore::FontFallbackList::invalidate):
2933         (WebCore::FontFallbackList::releaseFontData):
2934         (WebCore::FontFallbackList::determinePitch):
2935         (WebCore::FontFallbackList::fontDataAt):
2936         (WebCore::FontFallbackList::fontDataForCharacters):
2937         (WebCore::FontFallbackList::setPlatformFont):
2938         * platform/graphics/qt/FontPlatformData.h:
2939         (WebCore::FontPlatformData::pixelSize):
2940         * platform/graphics/qt/FontPlatformDataQt.cpp:
2941         (WebCore::FontPlatformData::FontPlatformData):
2942
2943 2009-11-04  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
2944
2945         Reviewed by Jan Alonzo.
2946
2947         https://bugs.webkit.org/show_bug.cgi?id=31044
2948         [Gtk] assertion when webkit_accessible_get_index_in_parent attempts to get parent of the web view
2949
2950         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
2951         (atkParentOfWebView):
2952         (webkit_accessible_get_index_in_parent):
2953         (webkit_accessible_get_parent):
2954
2955 2009-11-04  Dominik Röttsches  <dominik.roettsches@access-company.com>
2956
2957         Reviewed by Eric Seidel.
2958
2959         https://bugs.webkit.org/show_bug.cgi?id=15914
2960         [GTK] Implement Unicode functionality using GLib
2961
2962         Initial version of this patch by Jürg Billeter and Naiem Shaik.
2963         Patch 2/4 - Moving TextCodecs to GLib
2964         
2965         Added probing for a hard-coded lists of text encodings.
2966         The basis of this list is taken from the encodings supported by iconv,
2967         then extended by e.g. tis-620, windows-1251, euc-kr, windows-1253 and
2968         a number of Chinese ones.
2969
2970         Probing is necessary with the current design of text codecs
2971         as iconv/GLib do not support enumerating available encodings.
2972
2973         * GNUmakefile.am:
2974         * platform/ThreadGlobalData.cpp:
2975         (WebCore::ThreadGlobalData::ThreadGlobalData):
2976         (WebCore::ThreadGlobalData::~ThreadGlobalData):
2977         * platform/text/TextEncoding.cpp:
2978         (WebCore::TextEncoding::encode):
2979         * platform/text/TextEncodingRegistry.cpp:
2980         (WebCore::buildBaseTextCodecMaps):
2981         (WebCore::extendTextCodecMaps):
2982         * platform/text/gtk/TextCodecGtk.cpp: Added.
2983         (WebCore::):
2984         (WebCore::newTextCodecGtk):
2985         (WebCore::TextCodecGtk::isEncodingAvailable):
2986         (WebCore::TextCodecGtk::registerEncodingNames):
2987         (WebCore::TextCodecGtk::registerCodecs):
2988         (WebCore::TextCodecGtk::registerBaseEncodingNames):
2989         (WebCore::TextCodecGtk::registerBaseCodecs):
2990         (WebCore::TextCodecGtk::registerExtendedEncodingNames):
2991         (WebCore::TextCodecGtk::registerExtendedCodecs):
2992         (WebCore::TextCodecGtk::TextCodecGtk):
2993         (WebCore::TextCodecGtk::~TextCodecGtk):
2994         (WebCore::TextCodecGtk::releaseIConv):
2995         (WebCore::TextCodecGtk::createIConvDecoder):
2996         (WebCore::TextCodecGtk::createIConvEncoder):
2997         (WebCore::TextCodecGtk::decode):
2998         (WebCore::TextCodecGtk::encode):
2999         * platform/text/gtk/TextCodecGtk.h: Added.
3000
3001 2009-11-04  Martin Robinson  <martin.james.robinson@gmail.com>
3002
3003         Reviewed by Jan Alonzo.
3004
3005         [GTK] Enable DOM clipboard and drag-and-drop access
3006         https://bugs.webkit.org/show_bug.cgi?id=30623
3007
3008         Unify redudant methods which will always return the same value.
3009
3010         * platform/gtk/PasteboardGtk.cpp:
3011         (WebCore::Pasteboard::writeSelection):
3012         * platform/gtk/PasteboardHelper.h:
3013
3014 2009-11-04  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
3015
3016         Reviewed by Jan Alonzo.
3017
3018         https://bugs.webkit.org/show_bug.cgi?id=31035
3019         [GTK] some accessibility tests hitting assertion in debug builds
3020
3021         Removes the assertions in webkit_accessible_ref_child; adds sanity checks.
3022         Any app or AT can attempt to ref a child at a bogus index.
3023
3024         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3025         (webkit_accessible_ref_child):
3026
3027 2009-11-04  Benjamin Otte  <otte@gnome.org>
3028
3029         Reviewed by Jan Alonzo.
3030
3031         [gtk] Use gst_element_class_set_details_simple()
3032
3033         Cosmetic change, just code simplification
3034
3035         * platform/graphics/gtk/VideoSinkGStreamer.cpp:
3036         (webkit_video_sink_base_init):
3037 2009-11-04  Kelly Norton  <knorton@google.com>
3038
3039         Reviewed by Timothy Hatcher.
3040
3041         Adds paint rectangle information to TimelineAgent's didPaint callback.
3042         https://bugs.webkit.org/show_bug.cgi?id=31087
3043
3044         * inspector/InspectorTimelineAgent.cpp:
3045         (WebCore::InspectorTimelineAgent::willPaint):
3046         * inspector/InspectorTimelineAgent.h:
3047         * inspector/TimelineRecordFactory.cpp:
3048         (WebCore::TimelineRecordFactory::createPaintTimelineRecord):
3049         * inspector/TimelineRecordFactory.h:
3050         * page/FrameView.cpp:
3051         (WebCore::FrameView::paintContents):
3052
3053 2009-11-04  Jaime Yap  <jaimeyap@google.com>
3054
3055         Reviewed by Timothy Hatcher.
3056
3057         This patch adds API to the console object for annotating the
3058         inspector timeline. This allows developers to mark logical
3059         checkpoints in their apps and have them overlaid in the event
3060         record tree.
3061
3062         tests updated: LayoutTests/fast/dom/Window/window-properties.html
3063         https://bugs.webkit.org/show_bug.cgi?id=31082
3064
3065
3066         * inspector/InspectorController.cpp:
3067         (WebCore::InspectorController::markTimeline):
3068         * inspector/InspectorController.h:
3069         * inspector/InspectorTimelineAgent.cpp:
3070         (WebCore::InspectorTimelineAgent::didMarkTimeline):
3071         * inspector/InspectorTimelineAgent.h:
3072         (WebCore::):
3073         * inspector/TimelineRecordFactory.cpp:
3074         (WebCore::TimelineRecordFactory::createMarkTimelineRecord):
3075         * inspector/TimelineRecordFactory.h:
3076         * inspector/front-end/TimelineAgent.js:
3077         * page/Console.cpp:
3078         (WebCore::Console::markTimeline):
3079         * page/Console.h:
3080         * page/Console.idl:
3081
3082 2009-11-03  Simon Hausmann  <hausmann@webkit.org>
3083
3084         Unreviewed build fix for WebInspector with Qt build.
3085
3086         Simply re-generate the Qt resource file by running
3087         WebKitTools/Scripts/generate-qt-inspector-resource
3088
3089         * inspector/front-end/WebKit.qrc:
3090
3091 2009-11-02  Benjamin Poulain  <benjamin.poulain@nokia.com>
3092
3093         Reviewed by Simon Hausmann.
3094
3095         [Qt] Handle fonts like the other ports
3096
3097         Remove FontFallbackListQt and rely on the common FontFallbackList
3098         to handle the fonts. FontCache and FontPlatformData have been
3099         updated to work with the common FontFallbackList.
3100
3101         In the previous implementation, FontPlatformDataCacheKey
3102         was a clone of FontPlatformData with the hashing
3103         capabilities added in order to use it as a key in the cache's
3104         hashmap. FontPlatformData has been modified to handle the hashing
3105         function directly so the data are not copied twice in memory.
3106
3107         FontFallbackList::fontDataAt() from FontFallbackListQt was a copy of
3108         code from FontCache::getFontData() and FontFallbackList::fontDataAt().
3109         The behavior is similar except currFamily->family().length() was
3110         not tested and the fallback fonts selector were not used.
3111
3112         https://bugs.webkit.org/show_bug.cgi?id=29856
3113
3114         Test: svg/text/text-font-invalid.html
3115
3116         * WebCore.pro:
3117         * platform/graphics/qt/FontCacheQt.cpp:
3118         (WebCore::FontCache::platformInit):
3119         (WebCore::FontCache::getFontDataForCharacters):
3120         (WebCore::FontCache::getSimilarFontPlatformData):
3121         (WebCore::FontCache::getLastResortFallbackFont):
3122         (WebCore::FontCache::getTraitsInFamily):
3123         (WebCore::FontCache::createFontPlatformData):
3124         * platform/graphics/qt/FontFallbackListQt.cpp:
3125         Removed. We now use the implementation from FontFallbackList.cpp
3126         * platform/graphics/qt/FontPlatformData.h:
3127         Add hashing capabilities to be able to use the data with the FontCache.
3128         This was previously done in FontCacheQt.cpp
3129         (WebCore::FontPlatformData::FontPlatformData):
3130         Added a boolean to identify deleted value in the hash table.
3131         (WebCore::FontPlatformData::isHashTableDeletedValue):
3132         (WebCore::FontPlatformData::hash):
3133         (WebCore::FontPlatformData::operator==):
3134         * platform/graphics/qt/FontPlatformDataQt.cpp:
3135         (WebCore::FontPlatformData::FontPlatformData):
3136
3137 2009-11-03  Dan Bernstein  <mitz@apple.com>
3138
3139         Leopard build fix
3140
3141         * platform/network/mac/AuthenticationMac.mm:
3142         (WebCore::mac):
3143         (WebCore::core):
3144
3145 2009-11-03  Dan Bernstein  <mitz@apple.com>
3146
3147         Reviewed by Alexey Proskuryakov.
3148
3149         Fix an assertion failure in core(NSURLProtectionSpace *) by handling NTLM
3150         authentication in AuthenticationMac
3151
3152         * platform/network/mac/AuthenticationMac.mm:
3153
3154 2009-11-03  Eric Z. Ayers  <zundel@google.com>
3155
3156         Reviewed by Timothy Hatcher.
3157
3158         Fixes a problem where the timeline instrumentation crashes if
3159         timeline profiling is enabled or disabled in the middle of an
3160         event dispatch.
3161
3162         https://bugs.webkit.org/show_bug.cgi?id=31080
3163
3164         Test: inspector/timeline-trivial.html
3165
3166         * bindings/js/ScriptController.cpp:
3167         (WebCore::ScriptController::evaluateInWorld):
3168         (WebCore::ScriptController::processingUserGestureEvent):
3169         * inspector/InspectorTimelineAgent.cpp:
3170         (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
3171         * page/DOMTimer.cpp:
3172         (WebCore::DOMTimer::fired):
3173
3174 2009-11-03  Dan Bernstein  <mitz@apple.com>
3175
3176         Reviewed by Dave Hyatt.
3177
3178         Allow a frame to go back to copy-on-scroll when it ceases being overlapped
3179
3180         The code was not testing slow-scrolling frames for overlappedness, thinking the answer
3181         would not matter. That is not the case if the only reason for the slow-scrolling is
3182         being overlapped.
3183
3184         * page/FrameView.cpp:
3185         (WebCore::FrameView::useSlowRepaintsIfNotOverlapped): Added. Returns whether there is any
3186         reason besides being overlapped that the frame would need to fully repaint on scroll.
3187         * page/FrameView.h:
3188         * rendering/RenderWidget.cpp:
3189         (WebCore::RenderWidget::paint): Use useSlowRepaintsIfNotOverlapped().
3190
3191 2009-11-03  Dmitry Titov  <dimich@chromium.org>
3192
3193         Not reviewed, Qt build fix.
3194
3195         Need to use right capitalization for include file.
3196
3197         * page/Navigator.cpp:
3198
3199 2009-11-03  Pavel Feldman  <pfeldman@chromium.org>
3200
3201         Reviewed by Timothy Hatcher.
3202
3203         Web Inspector: Migrate from top bar filters to check boxes in Timeline.
3204
3205         https://bugs.webkit.org/show_bug.cgi?id=31081
3206
3207         * inspector/front-end/AbstractTimelinePanel.js:
3208         (WebInspector.AbstractTimelinePanel.prototype.showCategory):
3209         (WebInspector.AbstractTimelinePanel.prototype.hideCategory):
3210         (WebInspector.AbstractTimelinePanel.prototype.filter):
3211         * inspector/front-end/TimelinePanel.js:
3212         (WebInspector.TimelinePanel):
3213         (WebInspector.TimelineCategoryTreeElement.prototype.onattach):
3214         (WebInspector.TimelineCategoryTreeElement.prototype._onCheckboxClick):
3215         (WebInspector.TimelineCategoryGraph.prototype.clearChunks):
3216         (WebInspector.TimelineCategoryGraph.prototype.set dimmed):
3217         * inspector/front-end/inspector.css:
3218
3219 2009-11-03  Pavel Feldman  <pfeldman@chromium.org>
3220
3221         Reviewed by Timothy Hatcher.
3222
3223         Web Inspector: clear overview on Clear action and panel reset.
3224
3225         https://bugs.webkit.org/show_bug.cgi?id=31078
3226
3227         * inspector/front-end/TimelinePanel.js:
3228         (WebInspector.TimelinePanel.prototype._getRecordDetails):
3229         (WebInspector.TimelinePanel.prototype.reset):
3230
3231 2009-11-03  Yaar Schnitman  <yaar@chromium.org>
3232
3233         Reviewed by Dimitri Glazkov.
3234
3235         Imported action and rules python files that WebCore.gyp depends on. 
3236         These files used to live in chromium.org and deal mostly with auto-generation
3237         of code by wrapping existing webkit perl scripts.
3238
3239         https://bugs.webkit.org/show_bug.cgi?id=31071
3240
3241         * WebCore.gyp/WebCore.gyp: Fixed paths in actions and rules.
3242         * WebCore.gyp/scripts/action_csspropertynames.py: Added.
3243         * WebCore.gyp/scripts/action_cssvaluekeywords.py: Added.
3244         * WebCore.gyp/scripts/action_makenames.py: Added.
3245         * WebCore.gyp/scripts/action_maketokenizer.py: Added.
3246         * WebCore.gyp/scripts/action_useragentstylesheets.py: Added.
3247         * WebCore.gyp/scripts/rule_binding.py: Added.
3248         * WebCore.gyp/scripts/rule_bison.py: Added.
3249         * WebCore.gyp/scripts/rule_gperf.py: Added.
3250
3251 2009-11-03  Bradley Green  <brg@chromium.org>
3252
3253         Reviewed by Dmitry Titov.
3254
3255         Implement window.navigator.registerProtocolHandler in webkit,
3256         https://bugs.webkit.org/b/29651
3257
3258         Also implemented its sister API window.navigator.registerContentHandler.
3259
3260         These methods are as described in the HTML5 specification which can be
3261         found here,
3262         http://dev.w3.org/html5/spec/Overview.html#dom-navigator-registerprotocolhandler
3263         http://dev.w3.org/html5/spec/Overview.html#dom-navigator-registercontenthandler
3264
3265         As specified in the document, the behavior of the browser is determined
3266         by the current registered handler.  The state of a registered handler
3267         can change at any time, with the user clearing a registered handler,
3268         registering a different page as handler, or deferring the hander to the
3269         OS.  If webkit was to track the state of the currently registered
3270         handlers, it would need more APIs and complexity to keep in sync with
3271         user actions reported to webkit from the UA.  For simplicity, the state
3272         of protocol handlers should be kept isolated from webkit and webkit only
3273         notifies the UA that a page has made the call.  The UA is then
3274         responsible for correctly handling the registerProtocolHandler call and
3275         the redirects which result from registration.
3276
3277         We do however follow the specification in insuring that the reserved
3278         schemes and mimeTypes are not passed to the UA as custom handler
3279         registration tests.  We also insure that the "%s" token is present as
3280         required by the specification.
3281
3282         Updated test expectations for window.clientInformation and navigator
3283         objects.
3284
3285         Tests: fast/dom/registerContentHandler.html
3286                fast/dom/registerProtocolHandler.html
3287
3288         * page/Chrome.cpp:
3289         (WebCore::Chrome::registerProtocolHandler):
3290         (WebCore::Chrome::registerContentHandler):
3291         * page/Chrome.h:
3292         * page/ChromeClient.h:
3293         (WebCore::ChromeClient::registerProtocolHandler):
3294         (WebCore::ChromeClient::registerContentHandler):
3295         * page/Navigator.cpp:
3296         (WebCore::verifyCustomHandlerURL):
3297         (WebCore::verifyProtocolHandlerScheme):
3298         (WebCore::Navigator::registerProtocolHandler):
3299         (WebCore::verifyProtocolHandlerMimeType):
3300         (WebCore::Navigator::registerContentHandler):
3301         * page/Navigator.h:
3302         * page/Navigator.idl:
3303
3304 2009-11-03  Brady Eidson  <beidson@apple.com>
3305
3306         Reviewed by Darin Adler.
3307
3308         https://bugs.webkit.org/show_bug.cgi?id=31079 - Remove #include "Page.h" from Document.h
3309
3310         No new tests. (No change in functionality)
3311
3312         * dom/Document.cpp:
3313         (WebCore::Document::inspectorTimelineAgent): Moved from Document.h
3314         * dom/Document.h:
3315
3316         Include "Page.h" directly:
3317         * html/HTMLVideoElement.cpp:
3318         * loader/RedirectScheduler.cpp:
3319         * page/History.cpp:
3320         * rendering/MediaControlElements.cpp:
3321         * storage/StorageAreaImpl.cpp:
3322
3323 2009-11-03  Keishi Hattori  <casey.hattori@gmail.com>
3324
3325         Reviewed by Timothy Hatcher.
3326
3327         Web Inspector: hover over JS "things" in source and see their values
3328         https://bugs.webkit.org/show_bug.cgi?id=30913
3329
3330         * inspector/front-end/SourceFrame.js:
3331
3332 2009-11-03  Pavel Feldman  <pfeldman@chromium.org>
3333
3334         Reviewed by Timothy Hatcher.
3335
3336         Web Inspector: update timeline content boundaries on timer.
3337
3338         https://bugs.webkit.org/show_bug.cgi?id=31072
3339
3340         * inspector/front-end/TimelinePanel.js:
3341         (WebInspector.TimelinePanel.prototype.refresh):
3342         (WebInspector.TimelinePanel.prototype._setWindowPosition):
3343
3344 2009-11-03  Dan Bernstein  <mitz@apple.com>
3345
3346         Reviewed by Anders Carlsson and Beth Dakin.
3347
3348         https://bugs.webkit.org/show_bug.cgi?id=31070
3349         Fix <rdar://problem/7194735> Crashes at RenderText::RenderText()
3350         Fix <rdar://problem/6937089> Crashes at RenderWidget::destroy()
3351
3352         Tests: plugins/attach-during-destroy.html
3353                plugins/destroy-reentry.html
3354
3355         These crashes were caused by plug-in code running during detach(),
3356         causing re-entry into RenderWidget::destroy() in one case and a call
3357         into attach() in the other. The fix is to prevent plug-in code from
3358         being called at certain unsafe times (during attach(), detach(), and
3359         recalcStyle()) by deferring changes to the widget hierarchy.
3360
3361         * dom/Document.cpp:
3362         (WebCore::Document::recalcStyle): Suspend widget hierarchy updates
3363             during style recalculation.
3364
3365         * dom/Element.cpp:
3366         (WebCore::Element::attach): Suspend widget hierarchy updates during
3367             attach().
3368         (WebCore::Element::detach): Suspend widget hierarchy updates during
3369             detach().
3370
3371         * rendering/RenderWidget.cpp:
3372         (WebCore::widgetNewParentMap): Returns a static map of pending changes
3373             to the widget hierarchy.
3374         (WebCore::RenderWidget::suspendWidgetHierarchyUpdates): Increments the
3375             suspend count.
3376         (WebCore::RenderWidget::resumeWidgetHierarchyUpdates): Decrements the
3377             suspend count. If the count is going to be zero, updates the widget
3378             hierarchy by executing the pending changes stored in the map.
3379         (WebCore::moveWidgetToParentSoon): Updates the widget hierarchy
3380             immediately or makes or updates an entry in the map, depending on
3381             whether updates are suspended.
3382         (WebCore::RenderWidget::destroy): Removed earlier bandaid fix for
3383             <rdar://problem/6937089>.
3384         (WebCore::RenderWidget::setWidgetGeometry): Assert that widget updates
3385             are not suspended, because this function updates the widget’s
3386             bounds, which can result in arbitrary native and JavaScript code
3387             execution. I think this assertion is true thanks to some deferred-
3388             update mechanisms that have already been deployed in other places
3389             in the code.
3390         (WebCore::RenderWidget::setWidget): Call moveWidgetToParentSoon instead
3391             of changing the widget hierarchy directly.
3392         * rendering/RenderWidget.h: Declared suspendWidgetHierarchyUpdates()
3393             and resumeWidgetHierarchyUpdates().
3394
3395 2009-11-03  Pavel Feldman  <pfeldman@chromium.org>
3396
3397         Reviewed by Timothy Hatcher.
3398
3399         Web Inspector: only show timeline records that contribute
3400         to the current window.
3401
3402         https://bugs.webkit.org/show_bug.cgi?id=31069
3403
3404         * inspector/front-end/TimelinePanel.js:
3405         (WebInspector.TimelinePanel.prototype.refresh):
3406         (WebInspector.TimelineGraph):
3407         (WebInspector.TimelineGraph.prototype.refresh):
3408
3409 2009-11-03  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
3410
3411         Reviewed by Timothy Hatcher.
3412
3413         Watch expression editor should stay open after Add button was clicked
3414         https://bugs.webkit.org/show_bug.cgi?id=31049
3415
3416         No new tests, was a regression, use existing manual test.
3417
3418         * inspector/front-end/WatchExpressionsSidebarPane.js:
3419         (WebInspector.WatchExpressionsSection.prototype.update):
3420         (WebInspector.WatchExpressionsSection.prototype.addExpression):
3421
3422 2009-11-03  Evan Martin  <evan@chromium.org>
3423
3424         Reviewed by Darin Adler.
3425
3426         Fix an off-by-one in the CSS lexer that causes memory corruption in
3427         hard-to-trigger circumstances.
3428
3429         https://bugs.webkit.org/show_bug.cgi?id=30827
3430
3431         Test: fast/css/end-of-buffer-crash.html
3432
3433         * css/maketokenizer: Add comments, fix off-by-one.
3434
3435 2009-11-02  Darin Adler  <darin@apple.com>
3436
3437         Reviewed by Dan Bernstein.
3438
3439         Crash due to double-destroy related to CSS run-in property
3440         https://bugs.webkit.org/show_bug.cgi?id=31034
3441         rdar://problem/7328458
3442
3443         Test: fast/css/run-in-crash.html
3444
3445         * rendering/RenderBlock.cpp:
3446         (WebCore::RenderBlock::destroy): Reorder destruction so the
3447         continuation is destroyed after anonymous children. See comment
3448         in the code for more details of why this is right.
3449         * rendering/RenderInline.cpp:
3450         (WebCore::RenderInline::destroy): Ditto.
3451
3452 2009-11-03  Alexander Pavlov  <apavlov@chromium.org>
3453
3454         Reviewed by Pavel Feldman.
3455
3456         Fix exception in ElementsPanel.js when moving pointer out of crumbs and window
3457
3458         There might be no new node under mouse if the pointer is moved out of the window
3459         in which case we get an exception.
3460         https://bugs.webkit.org/show_bug.cgi?id=31061
3461
3462         * inspector/front-end/ElementsPanel.js:
3463         (WebInspector.ElementsPanel.prototype._mouseMovedOutOfCrumbs):
3464
3465 2009-11-03  Zoltan Horvath  <zoltan@webkit.org>
3466
3467         Reviewed by Darin Adler.
3468
3469         Allow custom memory allocation control for the dom directory of WebCore
3470         https://bugs.webkit.org/show_bug.cgi?id=31053
3471
3472         Inherits the following classes from Noncopyable because these are
3473         instantiated by 'new' and these are no need to be copyable:
3474
3475         class EventNames - 'new' call: WebCore/platform/ThreadGlobalData.cpp:73
3476         struct PerformTaskContext - 'new' call: WebCore/dom/Document.cpp:4581
3477         class EventData - 'new' call: WebCore/dom/MessagePortChannel.cpp:38
3478         struct NodeListsNodeData - 'new' call: WebCore/dom/NodeRareData.h:51 
3479         struct EventTargetData - 'new' call: WebCore/dom/NodeRareData.h:100
3480         class NodeRareData - 'new' call: WebCore/dom/Node.cpp:552
3481
3482         Inherits QualifiedName class from FastAllocBase because it is
3483         instantiated by 'new' in WebCore/editing/markup.cpp:319
3484
3485         * dom/Document.cpp:
3486         * dom/EventNames.h:
3487         * dom/EventTarget.h:
3488         * dom/MessagePortChannel.h:
3489         * dom/NodeRareData.h:
3490         * dom/QualifiedName.h:
3491
3492 2009-11-03  Pavel Feldman  <pfeldman@chromium.org>
3493
3494         Reviewed by Timothy Hatcher.
3495
3496         Web Inspector: Implement timeline summary panel.
3497
3498         https://bugs.webkit.org/show_bug.cgi?id=31064
3499
3500         * inspector/front-end/TimelinePanel.js:
3501         (WebInspector.TimelinePanel.prototype._createOverview):
3502         (WebInspector.TimelinePanel.prototype.refresh):
3503         (WebInspector.TimelineCategoryGraph):
3504         (WebInspector.TimelineCategoryGraph.prototype.get graphElement):
3505         (WebInspector.TimelineCategoryGraph.prototype.addChunk):
3506         (WebInspector.TimelineCategoryGraph.prototype.clearChunks):
3507         (WebInspector.TimelineGraph.prototype.refresh):
3508         * inspector/front-end/inspector.css:
3509
3510 2009-11-03  Alexander Pavlov  <apavlov@chromium.org>
3511
3512         Reviewed by Timothy Hatcher.
3513
3514         Toggle off 'Search for node' when the Inspector window is closing
3515
3516         Searching for node should be toggled off when the Inspector window is closed,
3517         in a platform-independent manner.
3518         https://bugs.webkit.org/show_bug.cgi?id=31059
3519
3520         * inspector/InspectorController.cpp:
3521         (WebCore::InspectorController::setWindowVisible):
3522
3523 2009-11-03  Mikhail Naganov  <mnaganov@chromium.org>
3524
3525         Reviewed by Timothy Hatcher.
3526
3527         Prepare for heap profiles upstreaming:
3528         - pass profile type id from InspectorController;
3529         - this makes WebInspector.CPUProfile redundant---removed;
3530         - support multiple profile types when populating profiles.
3531
3532         https://bugs.webkit.org/show_bug.cgi?id=31052
3533
3534         * inspector/InspectorController.cpp:
3535         (WebCore::InspectorController::createProfileHeader):
3536         * inspector/front-end/ProfileView.js:
3537         (WebInspector.CPUProfileView.profileCallback):
3538         (WebInspector.CPUProfileView):
3539         (WebInspector.CPUProfileView.prototype._sortData):
3540         * inspector/front-end/ProfilesPanel.js:
3541         (WebInspector.ProfilesPanel.prototype.addProfileHeader):
3542         * inspector/front-end/inspector.js:
3543         (WebInspector.addProfileHeader):
3544
3545 2009-11-03  Dan Kegel  <dank@chromium.org>
3546
3547         Reviewed by Dimitri Glazkov.
3548
3549         UMR in WebCore::AccessibilityRenderObject::children(); m_childrenDirty uninitialized in constructor
3550         https://bugs.webkit.org/show_bug.cgi?id=31063
3551
3552         * accessibility/AccessibilityRenderObject.cpp:
3553         (WebCore::AccessibilityRenderObject::AccessibilityRenderObject):
3554
3555 2009-11-03  Pavel Feldman  <pfeldman@chromium.org>
3556
3557         Reviewed by Timothy Hatcher.
3558
3559         Web Inspector: Implement Timeline Window, wire it to the bottom timeline.
3560
3561         https://bugs.webkit.org/show_bug.cgi?id=31056
3562
3563         * English.lproj/localizedStrings.js:
3564         * inspector/front-end/AbstractTimelinePanel.js:
3565         (WebInspector.AbstractTimelinePanel.prototype.get items):
3566         (WebInspector.AbstractTimelinePanel.prototype.createInterface):
3567         (WebInspector.AbstractTimelinePanel.prototype.updateGraphDividersIfNeeded):
3568         (WebInspector.AbstractTimelinePanel.prototype._updateDividersLabelBarPosition):
3569         (WebInspector.AbstractTimelinePanel.prototype.invalidateAllItems):
3570         (WebInspector.AbstractTimelinePanel.prototype.refresh):
3571         (WebInspector.AbstractTimelinePanel.prototype.adjustScrollPosition):
3572         (WebInspector.AbstractTimelinePanel.prototype.addExtraDivider):
3573         (WebInspector.TimelineGrid):
3574         (WebInspector.TimelineGrid.prototype.get itemsGraphsElement):
3575         (WebInspector.TimelineGrid.prototype.updateDividers):
3576         (WebInspector.TimelineGrid.prototype.addExtraDivider):
3577         (WebInspector.TimelineGrid.prototype.setScrollAndDividerTop):
3578         * inspector/front-end/ResourcesPanel.js:
3579         (WebInspector.ResourcesPanel):
3580         (WebInspector.ResourcesPanel.prototype.updateGraphDividersIfNeeded):
3581         (WebInspector.ResourcesPanel.prototype.get _resources):
3582         * inspector/front-end/TimelinePanel.js:
3583         (WebInspector.TimelinePanel):
3584         (WebInspector.TimelinePanel.prototype.get categories):
3585         (WebInspector.TimelinePanel.prototype._formatRecord):
3586         (WebInspector.TimelinePanel.prototype.reset):
3587         (WebInspector.TimelinePanel.prototype._createOverview):
3588         (WebInspector.TimelinePanel.prototype.setSidebarWidth):
3589         (WebInspector.TimelinePanel.prototype.updateMainViewWidth):
3590         (WebInspector.TimelinePanel.prototype.updateGraphDividersIfNeeded):
3591         (WebInspector.TimelinePanel.prototype.refresh):
3592         (WebInspector.TimelinePanel.prototype._resizeWindow):
3593         (WebInspector.TimelinePanel.prototype._windowResizeDragging):
3594         (WebInspector.TimelinePanel.prototype._dragWindow):
3595         (WebInspector.TimelinePanel.prototype._windowDragging):
3596         (WebInspector.TimelinePanel.prototype._resizeWindowLeft):
3597         (WebInspector.TimelinePanel.prototype._resizeWindowRight):
3598         (WebInspector.TimelinePanel.prototype._setWindowPosition):
3599         (WebInspector.TimelinePanel.prototype._endWindowDragging):
3600         (WebInspector.TimelineCategoryTreeElement):
3601         (WebInspector.TimelineCategoryTreeElement.prototype.onattach):
3602         (WebInspector.TimelineCalculator.prototype.computeBarGraphPercentages):
3603         (WebInspector.TimelineCalculator.prototype.get minimumBoundary):
3604         (WebInspector.TimelineCalculator.prototype.get maximumBoundary):
3605         (WebInspector.TimelineCalculator.prototype.reset):
3606         (WebInspector.TimelineCalculator.prototype.updateBoundaries):
3607         (WebInspector.TimelineCalculator.prototype.formatValue):
3608         * inspector/front-end/inspector.css:
3609
3610 2009-11-03  Simon Hausmann  <hausmann@webkit.org>
3611
3612         Reviewed by Tor Arne Vestbø.
3613
3614         Make QWebPluginDatabase private API for now.
3615
3616         https://bugs.webkit.org/show_bug.cgi?id=30775
3617
3618         * WebCore.pro:
3619
3620 2009-11-03  Simon Hausmann  <hausmann@webkit.org>
3621
3622         Reviewed by Tor Arne Vestbø.
3623
3624         Extended the conversion of the WebCore ResourceRequest to the
3625         QNetworkRequest with a mandatory originating object argument,
3626         which is meant to be the QWebFrame the request belongs to.
3627
3628         https://bugs.webkit.org/show_bug.cgi?id=29975
3629
3630         * platform/network/qt/QNetworkReplyHandler.cpp:
3631         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
3632         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
3633         (WebCore::QNetworkReplyHandler::start):
3634         * platform/network/qt/ResourceRequest.h:
3635