RenderLayerModelObject should not call private RenderLayer functions
[WebKit-https.git] / Source / WebCore / ChangeLog-2009-06-16
1 2009-06-15  Adele Peterson  <adele@apple.com>
2
3         Reviewed by Darin Adler.
4
5         Fix for <rdar://problem/6907228> Pasting a paragraph as quotation leaves you typing in blue instead of black; repros
6
7         * editing/InsertParagraphSeparatorCommand.cpp: (WebCore::InsertParagraphSeparatorCommand::doApply):
8         When inserting a newline after the blockquote, we don't want to apply the original style after the insertion.
9
10 2009-06-15  Sam Weinig  <sam@webkit.org>
11
12         Reviewed by Anders Carlsson.
13
14         Remove outdated comment.
15
16         * bindings/js/JSDOMWindowBase.h:
17
18 2009-06-15  Sam Weinig  <sam@webkit.org>
19
20         Reviewed by Anders Carlsson.
21
22         Bring CustomGetPropertyNames more inline with the other
23         extended attributes prefixed with Custom, by making it 
24         require a complete implementation.
25
26         * bindings/js/JSDOMWindowCustom.cpp:
27         (WebCore::JSDOMWindow::getPropertyNames):
28         * bindings/js/JSHistoryCustom.cpp:
29         (WebCore::JSHistory::getPropertyNames):
30         * bindings/js/JSLocationCustom.cpp:
31         (WebCore::JSLocation::getPropertyNames):
32         * bindings/js/JSStorageCustom.cpp:
33         (WebCore::JSStorage::getPropertyNames):
34         * bindings/scripts/CodeGeneratorJS.pm:
35
36 2009-06-15  Sam Weinig  <sam@webkit.org>
37
38         Reviewed by Anders Carlsson.
39
40         Remove commented out ondataunavailable attribute event listener which
41         has now been removed from HTML 5.
42
43         * page/DOMWindow.idl:
44
45 2009-06-15  Sam Weinig  <sam@webkit.org>
46
47         Reviewed by Anders Carlsson.
48
49         Move entire custom implementation of getOwnPropertySlot and put
50         for JSDOMWindow into JSDOMWindowCustom, eliminating the bit in
51         JSDOMWindowBase.
52
53         * bindings/js/JSDOMWindowBase.cpp:
54         * bindings/js/JSDOMWindowBase.h:
55         * bindings/js/JSDOMWindowCustom.cpp:
56         (WebCore::nonCachingStaticFunctionGetter):
57         (WebCore::childFrameGetter):
58         (WebCore::indexGetter):
59         (WebCore::namedItemGetter):
60         (WebCore::JSDOMWindow::getOwnPropertySlot):
61         (WebCore::JSDOMWindow::put):
62         (WebCore::JSDOMWindow::getPropertyAttributes):
63         * bindings/js/JSDOMWindowCustom.h:
64         * page/DOMWindow.idl:
65
66 2009-06-15  Jeremy Orlow (jorlow@chromium.org)
67
68         Reviewed by Dimitri Glazkov.
69
70         https://bugs.webkit.org/show_bug.cgi?id=26356
71         Define the functions in V8CustomBindings.h.  "Forgot" this in my
72         earlier patch since it wasn't fully upstreamed when I wrote the
73         patch.
74
75         * bindings/v8/custom/V8CustomBinding.h:
76
77 2009-06-15  Andre Boule  <aboule@apple.com>
78
79         Reviewed by Cameron Zwarich and Dan Bernstein.
80
81         - fix <rdar://problem/6967975> crash with NSString drawAtPoint
82
83         No test possible because this crash can only occur if the client uses
84         WebKit text drawing without ever using WebCore text, and DumpRenderTree
85         cannot do either.
86
87         * platform/graphics/FontCache.cpp:
88         (WebCore::FontCache::purgeInactiveFontData): Null-check
89             gFontPlatformDataCache.
90
91 2009-06-15  Simon Fraser  <simon.fraser@apple.com>
92
93         Reviewed by Mark Rowe.
94
95         <rdar://problem/6974857>
96         
97         Define ENABLE_3D_RENDERING when building on 10.6, and move ENABLE_3D_RENDERING
98         switch from config.h to wtf/Platform.h.
99
100         * Configurations/FeatureDefines.xcconfig:
101         * config.h:
102
103 2009-06-15  Pavel Feldman  <pfeldman@chromium.org>
104
105         Reviewed by Timothy Hatcher.
106
107         Make WebInspector's console evaluation/completion asynchronous.
108         This way of evaluation allows serializing calls between 
109         InspectorController and its frontend.
110         
111         https://bugs.webkit.org/show_bug.cgi?id=26350
112
113         * inspector/front-end/Console.js:
114         (WebInspector.Console.prototype.completions):
115         (WebInspector.Console.prototype._reportCompletions):
116         (WebInspector.Console.prototype._evalInInspectedWindow):
117         (WebInspector.Console.prototype._enterKeyPressed.printResult):
118         (WebInspector.Console.prototype._enterKeyPressed):
119         * inspector/front-end/DatabaseQueryView.js:
120         * inspector/front-end/ObjectPropertiesSection.js:
121         (WebInspector.ObjectPropertyTreeElement.prototype.evaluateExpression):
122         * inspector/front-end/ScriptsPanel.js:
123         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
124         * inspector/front-end/TextPrompt.js:
125         (WebInspector.TextPrompt.prototype.complete):
126         (WebInspector.TextPrompt.prototype._completionsReady):
127
128 2009-06-15  Kevin McCullough  <kmccullough@apple.com>
129
130         Reviewed by Tim Hatcher.
131
132         Reverted previous change as the old behavior was correct for heavy view.
133
134         * inspector/front-end/BottomUpProfileDataGridTree.js:
135         (WebInspector.BottomUpProfileDataGridNode.prototype._populate):
136
137 2009-06-15  Kevin McCullough  <kmccullough@apple.com>
138
139         Reviewed by Tim Hatcher.
140
141         <rdar://problem/6968125> Profiler 'Call' count is incorrect in Heavy
142         view (26418)
143
144         - Removed code that copied call and time data from it's ancestor.
145
146         * inspector/front-end/BottomUpProfileDataGridTree.js:
147         (WebInspector.BottomUpProfileDataGridNode.prototype._populate):
148
149 2009-06-15  Chris Marrin  <cmarrin@apple.com>
150
151         Reviewed by Simon Fraser  <simon.fraser@apple.com>.
152
153         https://bugs.webkit.org/show_bug.cgi?id=26163
154
155         Added logic to updateTransitions similar to that in updateKeyframeAnimations
156         which detects and removes stale transitions.
157
158         Test: transitions/cancel-transition.html
159
160         * page/animation/CompositeAnimation.cpp:
161         (WebCore::CompositeAnimation::updateTransitions):
162         * page/animation/ImplicitAnimation.cpp:
163         (WebCore::ImplicitAnimation::ImplicitAnimation):
164         * page/animation/ImplicitAnimation.h:
165         (WebCore::ImplicitAnimation::active):
166         (WebCore::ImplicitAnimation::setActive):
167
168 2009-06-15  Dan Bernstein  <mitz@apple.com>
169
170         Reviewed by Tim Hatcher.
171
172         - allow the source code font in the Web Inspector to be customized
173
174         * css/view-source.css: Use the default monospace font family and size
175             for source code.
176         * inspector/front-end/inspector.css: Use the default monospace font
177             family and size for console I/O.
178
179 2009-06-15  Simon Hausmann  <simon.hausmann@nokia.com>
180
181         Reviewed by and done with Tor Arne Vestbø.
182
183         Fix initialization of uninitialized members in FontFallbackListQt, leading
184         to random crashes when rendering text.
185
186         * platform/graphics/qt/FontFallbackListQt.cpp:
187         (WebCore::FontFallbackList::FontFallbackList):
188         (WebCore::FontFallbackList::invalidate):
189
190 2009-06-15  Xan Lopez  <xlopez@igalia.com>
191
192         Reviewed by Holger Freyther.
193
194         https://bugs.webkit.org/show_bug.cgi?id=25895
195         [Gtk] Segfault when deleting the last/only character in an entry if a11y is enabled
196
197         Use computeOffsetInContainerNode instead of the inline
198         offsetInContainerNode to return the caret offset, since the former
199         can handle all types of anchoring. Otherwise we'll hit an ASSERT
200         in some situations in debug builds, and crash.
201
202         * editing/gtk/SelectionControllerGtk.cpp:
203         (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
204
205 2009-06-15  Joe Ligman  <joseph.ligman@nokia.com>
206
207         Reviewed by Simon Hausmann.
208
209         [Qt] Fix build break
210         Rename JSONObject to InspectorJSONObject
211
212         https://bugs.webkit.org/show_bug.cgi?id=26340
213
214         * GNUmakefile.am:
215         * WebCore.pro:
216         * WebCore.vcproj/WebCore.vcproj:
217         * WebCore.xcodeproj/project.pbxproj:
218         * WebCoreSources.bkl:
219         * inspector/ConsoleMessage.cpp:
220         (WebCore::ConsoleMessage::addToConsole):
221         * inspector/InspectorDOMStorageResource.cpp:
222         (WebCore::InspectorDOMStorageResource::bind):
223         * inspector/InspectorDatabaseResource.cpp:
224         (WebCore::InspectorDatabaseResource::bind):
225         * inspector/InspectorFrontend.cpp:
226         (WebCore::InspectorFrontend::newInspectorJSONObject):
227         (WebCore::InspectorFrontend::addMessageToConsole):
228         (WebCore::InspectorFrontend::addResource):
229         (WebCore::InspectorFrontend::updateResource):
230         (WebCore::InspectorFrontend::addDatabase):
231         (WebCore::InspectorFrontend::addDOMStorage):
232         * inspector/InspectorFrontend.h:
233         * inspector/InspectorJSONObject.cpp: Copied from WebCore/inspector/JSONObject.cpp.
234         (WebCore::InspectorJSONObject::InspectorJSONObject):
235         (WebCore::InspectorJSONObject::set):
236         (WebCore::InspectorJSONObject::scriptObject):
237         (WebCore::InspectorJSONObject::createNew):
238         * inspector/InspectorJSONObject.h: Copied from WebCore/inspector/JSONObject.h.
239         * inspector/InspectorResource.cpp:
240         (WebCore::populateHeadersObject):
241         (WebCore::InspectorResource::createScriptObject):
242         (WebCore::InspectorResource::updateScriptObject):
243         * inspector/JSONObject.cpp: Removed.
244         * inspector/JSONObject.h: Removed.
245
246 2009-06-12  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
247
248         Reviewed by Simon Hausmann.
249
250         Refactor handling of options in the build-webkit script
251         
252         Options are now defined in one place, and then reused when creating
253         the usage help text, the arguments to GetOptions(), and when passing
254         the options on to the underlying port-dependent build systems.
255         
256         This allows the Qt port to read the defaults for the options from the
257         pro file (dynamically), and to pass the options on to qmake at build.
258
259         * WebCore.pro:
260
261 2009-06-14  chris fleizach  <cfleizach@apple.com>
262
263         Reviewed by Darin Adler.
264
265         Bug 26399: REGRESSION: java applet accessibility broken
266         https://bugs.webkit.org/show_bug.cgi?id=26399
267  
268         Accessibility could not access the elements in a java applet 
269         when going down the AX hierarchy.
270
271         Test: DRT does not allow java applets so add a manual test:
272               manual-tests/accessibility/java-applet.html
273
274         * accessibility/AccessibilityRenderObject.cpp:
275         (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
276         * accessibility/mac/AccessibilityObjectMac.mm:
277         (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
278         * accessibility/mac/AccessibilityObjectWrapper.mm:
279         (-[AccessibilityObjectWrapper attachmentView]):
280         * manual-tests/accessibility: Added.
281         * manual-tests/accessibility/java-applet.html: Added.
282         * manual-tests/accessibility/resources: Added.
283         * manual-tests/accessibility/resources/AppletTest.class: Added.
284         * manual-tests/accessibility/resources/AppletTest.java: Added.
285         (AppletTest):
286         (AppletTest.init):
287
288 2009-06-14  Sam Weinig  <sam@webkit.org>
289
290         Reviewed by Cameron Zwarich.
291
292         Rename the CustomGetOwnPropertySlot and CustomPutFunction extended attributes
293         to DelegatingGetOwnPropertySlot and DelegatingPutFunction to more clearly describe
294         their functionality (customGetOwnPropertySlot and customPut member functions have
295         been renamed getOwnPropertySlotDelegate and putDelegate).  CustomGetOwnPropertySlot 
296         and CustomPutFunction have been repurposed to mean a complete custom implementation
297         of the function which is inline with other extended attributes prefixed with Custom.
298
299         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
300         (WebCore::JSCSSStyleDeclaration::putDelegate):
301         * bindings/js/JSDOMWindowCustom.h:
302         (WebCore::JSDOMWindow::getOwnPropertySlotDelegate):
303         (WebCore::JSDOMWindow::putDelegate):
304         * bindings/js/JSHTMLAppletElementCustom.cpp:
305         (WebCore::JSHTMLAppletElement::getOwnPropertySlotDelegate):
306         (WebCore::JSHTMLAppletElement::putDelegate):
307         * bindings/js/JSHTMLEmbedElementCustom.cpp:
308         (WebCore::JSHTMLEmbedElement::getOwnPropertySlotDelegate):
309         (WebCore::JSHTMLEmbedElement::putDelegate):
310         * bindings/js/JSHTMLObjectElementCustom.cpp:
311         (WebCore::JSHTMLObjectElement::getOwnPropertySlotDelegate):
312         (WebCore::JSHTMLObjectElement::putDelegate):
313         * bindings/js/JSHistoryCustom.cpp:
314         (WebCore::JSHistory::getOwnPropertySlotDelegate):
315         (WebCore::JSHistory::putDelegate):
316         * bindings/js/JSLocationCustom.cpp:
317         (WebCore::JSLocation::getOwnPropertySlotDelegate):
318         (WebCore::JSLocation::putDelegate):
319         (WebCore::JSLocationPrototype::putDelegate):
320         * bindings/js/JSStorageCustom.cpp:
321         (WebCore::JSStorage::putDelegate):
322         * bindings/js/JSWorkerContextCustom.cpp:
323         (WebCore::JSWorkerContext::getOwnPropertySlotDelegate):
324         * bindings/scripts/CodeGeneratorJS.pm:
325         * css/CSSStyleDeclaration.idl:
326         * html/HTMLAppletElement.idl:
327         * html/HTMLEmbedElement.idl:
328         * html/HTMLObjectElement.idl:
329         * page/DOMWindow.idl:
330         * page/History.idl:
331         * page/Location.idl:
332         * storage/Storage.idl:
333         * workers/WorkerContext.idl:
334
335 2009-06-14  Dan Bernstein  <mitz@apple.com>
336
337         Reviewed by Darin Adler.
338
339         - fix https://bugs.webkit.org/show_bug.cgi?id=26395
340           <rdar://problem/6971333> REGRESSION (r40813-r40884): No caret after
341           going back/forward to page with focused text field
342
343         No test, since the back/forward cache is disabled in DumpRenderTree
344
345         * loader/FrameLoader.cpp:
346         (WebCore::FrameLoader::open): Added a call to CachedPage::restore(),
347         which was removed in r40870.
348
349 2009-06-14  Darin Adler  <darin@apple.com>
350
351         * editing/TextIterator.cpp:
352         (WebCore::BitStack::push): Use named constant instead of hardcoded numbers.
353         (WebCore::BitStack::top): Ditto.
354
355 2009-06-14  Darin Adler  <darin@apple.com>
356
357         Reviewed by Dan Bernstein.
358
359         Bug 26364: Search can find text that's hidden by overflow:hidden
360         https://bugs.webkit.org/show_bug.cgi?id=26364
361         <rdar://problem/6952081>
362
363         Test: fast/text/find-hidden-text.html
364
365         * editing/TextIterator.cpp:
366         (WebCore::BitStack::BitStack): Added.
367         (WebCore::BitStack::push): Added.
368         (WebCore::BitStack::pop): Added.
369         (WebCore::BitStack::top): Added.
370         (WebCore::BitStack::size): Added.
371         (WebCore::parentOrShadowParent): Added. Helper function for walking up
372         the parent node chain, crossing shadow tree boundaries.
373         (WebCore::depthCrossingShadowBoundaries): Added for use in assertions.
374         Counts the depth of a node using the parentOrShadowParent function.
375         (WebCore::fullyClipsContents): Added. Returns true for an element that
376         fully clips its contents, currently defined as a box that has zero width
377         or height and hides overflow. We can add other cases here later.
378         (WebCore::ignoresContainerClip): Added. Returns true for an element that
379         ignores its container clip, currently defined as an element with absolute
380         or fixed positioning.
381         (WebCore::pushFullyClippedState): Added. Pushes a bit on the stack indicating
382         if the node in question fully clips its contents.
383         (WebCore::setUpFullyClippedStack): Added. Pushes a bit for each ancestor of
384         a node. Used when creating an iterator.
385         (WebCore::TextIterator::TextIterator): Removed code to initialize
386         m_inShadowContent. Call setUpFullyClippedStack.
387         (WebCore::TextIterator::advance): Use parentOrShadowParent. Call pop when moving
388         up to a parent node, and also one extra time when moving to a sibling node.
389         Call pushFullyClippedState when moving to a child node, or when moving to a
390         sibling node after the aforementioned call to pop.
391         (WebCore::TextIterator::handleTextNode): Return early if the node is fully clipped.
392         (WebCore::TextIterator::handleReplacedElement): Ditto.
393         (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
394         Call setUpFullyClippedStack.
395         (WebCore::SimplifiedBackwardsTextIterator::advance): Same changes as
396         TextIterator::advance above.
397
398         * editing/TextIterator.h: Added BitStack class and added m_fullyClippedStack to both
399         TextIterator and SimplifiedBackwardsTextIterator. Removed unneeded m_inShadowContent.
400
401 2009-06-14  David Hyatt  <hyatt@apple.com>
402
403         Reviewed by Simon Fraser.
404
405         https://bugs.webkit.org/show_bug.cgi?id=26362
406
407         Back out Simon's fix and replace it with a better one that doesn't needlessly destroy RenderObjects.
408         Use NoInherit rather than Detach for child index changes, and don't worry about other pseudo-class state
409         changes, since they were handled already with setNeedsStyleRecalcs on the affected objects themselves.
410
411         * dom/Element.cpp:
412         (WebCore::Element::recalcStyle):
413         * dom/Node.cpp:
414         (WebCore::Node::diff):
415         * rendering/style/RenderStyle.h:
416         (WebCore::InheritedFlags::setChildIndex):
417
418 2009-06-14  David Hyatt  <hyatt@apple.com>
419
420         Reviewed by Dan Bernstein.
421
422         Move all of the mutable member variables from Font into the refcounted FontFallbackList.  This makes
423         copying of Fonts more efficient and also effectively makes all of the mutations of a Font object happen
424         inside the FontFallbackList.
425
426         * WebCore.base.exp:
427         * platform/graphics/Font.cpp:
428         (WebCore::Font::Font):
429         (WebCore::Font::operator=):
430         (WebCore::Font::primaryFont):
431         (WebCore::Font::update):
432         * platform/graphics/Font.h:
433         (WebCore::Font::setWordSpacing):
434         (WebCore::Font::setLetterSpacing):
435         * platform/graphics/FontFallbackList.cpp:
436         (WebCore::FontFallbackList::FontFallbackList):
437         (WebCore::FontFallbackList::invalidate):
438         (WebCore::FontFallbackList::determinePitch):
439         * platform/graphics/FontFallbackList.h:
440         (WebCore::FontFallbackList::primarySimpleFontData):
441         (WebCore::FontFallbackList::primaryFontData):
442         * platform/graphics/FontFastPath.cpp:
443         (WebCore::Font::glyphDataForCharacter):
444
445 2009-06-14  Simon Fraser  <simon.fraser@apple.com>
446
447         Reviewed by Darin Adler
448         
449         https://bugs.webkit.org/show_bug.cgi?id=26362
450         
451         Fix an issue noted on quirksmode.com where dynamically adding siblings does not
452         update :nth-child style correctly.
453
454         Test: fast/css/nth-child-dynamic.html
455
456         * dom/Node.h:
457         Change diff() to take const RenderStyle*
458         * dom/Node.cpp:
459         (WebCore::Node::diff):
460         When comparing styles to decide whether to detach and reattach, we
461         need to look at whether the pseudoclass-related data in the style
462         changed (since RenderStyle::diff doesn't check this).
463         
464         * rendering/style/RenderStyle.cpp:
465         (WebCore::RenderStyle::getCachedPseudoStyle):
466         (WebCore::RenderStyle::inheritedNotEqual):
467         Make these methods const.
468         * rendering/style/RenderStyle.h:
469         (WebCore::InheritedFlags::styleType):
470         (WebCore::InheritedFlags::pseudoClassStateEquivalent):
471         Make methods const.
472         Add new method that compares the pseudoclass-related members.
473
474 2009-06-13  Peter Kasting  <pkasting@google.com>
475
476         Reviewed by Kevin Ollivier.
477
478         https://bugs.webkit.org/show_bug.cgi?id=25709 part eleven
479         Write a wx implementation so the wx port can compile.  For now this is
480         mostly a copy of the Cairo port, but in the future it can be changed to
481         use a wxBitmap as the storage type everywhere (just as Cairo can
482         probably be changed).
483         
484         Also ASSERT for any other ports who call getAddr() (I don't think there
485         are any, and besides, they probably won't link, but this doesn't hurt).
486         
487         Also fixes a dumb Cairo build bustage typo introduced in part ten.
488
489         * platform/graphics/wx/ImageSourceWx.cpp:
490         (WebCore::ImageSource::createFrameAtIndex):
491         * platform/image-decoders/ImageDecoder.h:
492         (WebCore::RGBA32Buffer::getAddr):
493         * platform/image-decoders/cairo/ImageDecoderCairo.cpp:
494         (WebCore::RGBA32Buffer::setStatus):
495         * platform/image-decoders/wx: Added.
496         * platform/image-decoders/wx/ImageDecoderWx.cpp: Added.
497         (WebCore::RGBA32Buffer::RGBA32Buffer):
498         (WebCore::RGBA32Buffer::clear):
499         (WebCore::RGBA32Buffer::zeroFill):
500         (WebCore::RGBA32Buffer::copyBitmapData):
501         (WebCore::RGBA32Buffer::setSize):
502         (WebCore::RGBA32Buffer::asNewNativeImage):
503         (WebCore::RGBA32Buffer::hasAlpha):
504         (WebCore::RGBA32Buffer::setHasAlpha):
505         (WebCore::RGBA32Buffer::setStatus):
506         (WebCore::RGBA32Buffer::operator=):
507         (WebCore::RGBA32Buffer::width):
508         (WebCore::RGBA32Buffer::height):
509         * webcore-wx.bkl:
510
511 2009-06-13  Stephen White  <senorblanco@chromium.org>
512
513         Reviewed by Dimitri Glazkov.  Landed by Adam Barth.
514
515         https://bugs.webkit.org/show_bug.cgi?id=26320
516
517         Some minor code cleanup for chromium/skia port.  Removed #ifdef's
518         around skia API changes, since the new version seems solid and we
519         don't need to go back.  Added some comments to
520         TransparencyWin.h, as requested by Brett in
521         https://bugs.webkit.org/show_bug.cgi?id=24584.
522
523         * platform/graphics/chromium/FontCacheLinux.cpp:
524         (WebCore::FontCache::createFontPlatformData):
525         * platform/graphics/chromium/TransparencyWin.h:
526         * platform/graphics/skia/PathSkia.cpp:
527         (WebCore::Path::boundingRect):
528         (WebCore::boundingBoxForCurrentStroke):
529         * platform/graphics/skia/SkiaUtils.cpp:
530         (WebCore::SkPathContainsPoint):
531
532 2009-06-13  Adam Barth  <abarth@webkit.org>
533
534         Reviewed by Darin Fisher.
535
536         https://bugs.webkit.org/show_bug.cgi?id=24492
537
538         Moved registerURLSchemeAsLocal and registerURLSchemeAsNoAccess from
539         FrameLoader to SecurityOrigin.
540
541         * WebCore.base.exp:
542         * loader/FrameLoader.cpp:
543         (WebCore::FrameLoader::loadFrameRequest):
544         (WebCore::FrameLoader::canLoad):
545         * loader/FrameLoader.h:
546         * page/SecurityOrigin.cpp:
547         (WebCore::localSchemes):
548         (WebCore::noAccessSchemes):
549         (WebCore::SecurityOrigin::SecurityOrigin):
550         (WebCore::SecurityOrigin::isLocal):
551         (WebCore::SecurityOrigin::registerURLSchemeAsLocal):
552         (WebCore::SecurityOrigin::shouldTreatURLAsLocal):
553         (WebCore::SecurityOrigin::shouldTreatURLSchemeAsLocal):
554         (WebCore::SecurityOrigin::registerURLSchemeAsNoAccess):
555         (WebCore::SecurityOrigin::shouldTreatURLSchemeAsNoAccess):
556         * page/SecurityOrigin.h:
557
558 2009-06-13  Ben Murdoch  <benm@google.com>
559
560         Reviewed by David Kilzer.  Landed by Adam Barth.
561
562         https://bugs.webkit.org/show_bug.cgi?id=26189
563
564         This patch changes the way PageGroups create their localStorage
565         objects. Rather than creating a local storage object for the page group
566         when a page is added to the group, the local storage object is now
567         created lazily when the local storage object is requested by the
568         DOMWindow.
569
570         * page/PageGroup.cpp:
571         (WebCore::PageGroup::closeLocalStorage): Before attempting to close a local storage object for a page group, ensure one has been created.
572         (WebCore::PageGroup::addPage): Do not automatically try to create a local storage object when a page is added to the group.
573         (WebCore::PageGroup::localStorage): Create a local storage object if one does not exist and return it.
574         * page/PageGroup.h: Add private hasLocalStorage method to PageGroup.
575
576
577 2009-06-13  Ben Murdoch  <benm@google.com>
578
579         Reviewed by Eric Seidel.  Landed by Adam Barth.
580
581         https://bugs.webkit.org/show_bug.cgi?id=26189
582
583         Add ENABLE(DOM_STORAGE) guards to the dom storage source files.
584
585         * storage/LocalStorage.cpp: Add ENABLE(DOM_STORAGE) guards to the file.
586         * storage/LocalStorage.h: Ditto
587         * storage/LocalStorageArea.cpp: Ditto
588         * storage/LocalStorageArea.h: Ditto
589         * storage/LocalStorageTask.cpp: Ditto
590         * storage/LocalStorageTask.h: Ditto
591         * storage/LocalStorageThread.cpp: Ditto
592         * storage/LocalStorageThread.h: Ditto
593         * storage/SessionStorage.cpp: Ditto
594         * storage/SessionStorage.h: Ditto
595         * storage/SessionStorageArea.cpp: Ditto
596         * storage/SessionStorageArea.h: Ditto
597         * storage/Storage.cpp: Ditto
598         * storage/Storage.h: Ditto
599         * storage/StorageArea.cpp: Ditto
600         * storage/StorageArea.h: Ditto
601         * storage/StorageEvent.cpp: Ditto
602         * storage/StorageEvent.h: Ditto
603         * storage/StorageMap.cpp: Ditto
604         * storage/StorageMap.h: Ditto
605         * storage/StorageEvent.idl: Add Conditional=DOM_STORAGE attribute.
606         * storage/Storage.idl: Ditto
607
608 2009-06-13  Peter Kasting  <pkasting@google.com>
609
610         Reviewed by Eric Seidel.
611
612         https://bugs.webkit.org/show_bug.cgi?id=25709 part ten
613         Make Skia use the root directory ImageDecoder.h and factor out most
614         Skia-specific bits into skia/ImageDecoderSkia.cpp.  Also fix a pair of
615         style violations in ImageDecoderCairo.cpp.  This is the last patch for
616         this bug, everything beyond this is an enhancement rather than
617         unforking.
618
619         * platform/image-decoders/ImageDecoder.h:
620         (WebCore::RGBA32Buffer::getAddr):
621         * platform/image-decoders/cairo/ImageDecoderCairo.cpp:
622         (WebCore::RGBA32Buffer::hasAlpha):
623         (WebCore::RGBA32Buffer::setHasAlpha):
624         (WebCore::setStatus):
625         * platform/image-decoders/skia/ImageDecoder.h: Removed.
626         * platform/image-decoders/skia/ImageDecoderSkia.cpp: Added.
627         (WebCore::RGBA32Buffer::RGBA32Buffer):
628         (WebCore::RGBA32Buffer::clear):
629         (WebCore::RGBA32Buffer::zeroFill):
630         (WebCore::RGBA32Buffer::copyBitmapData):
631         (WebCore::RGBA32Buffer::setSize):
632         (WebCore::RGBA32Buffer::asNewNativeImage):
633         (WebCore::RGBA32Buffer::hasAlpha):
634         (WebCore::RGBA32Buffer::setHasAlpha):
635         (WebCore::RGBA32Buffer::setStatus):
636         (WebCore::RGBA32Buffer::operator=):
637         (WebCore::RGBA32Buffer::width):
638         (WebCore::RGBA32Buffer::height):
639
640 2009-06-13  Victor Wang <victorw@chromium.org>
641
642         Reviewed by Eric Seidel.  Landed by Adam Barth.
643
644         https://bugs.webkit.org/show_bug.cgi?id=26333
645         Alert during a dragenter event handler will crash the renderer
646         
647         This crash is casued by calling NULL pointer m_documentUnderMouse in
648         DragController::tryDocumentDrag()
649
650         tryDHTMLDrag fires dragenter event. The event listener that listens
651         to this event may create a nested message loop (open a modal dialog),
652         which could process dragleave event and reset m_documentUnderMouse in
653         dragExited.
654
655         Fix the crash by checking m_documentUnderMouse after tryDHTMLDrag and
656         do not continue if the pointer has been set to NULL.
657
658         Test: DRT does not show alerts so add a manual test:
659               manual-tests/drag-enter-alert.html
660
661         * manual-tests/drag-enter-alert.html: Added.
662         * manual-tests/resources/drag-image.png: Added.
663         * page/DragController.cpp:
664         (WebCore::DragController::tryDocumentDrag):
665
666 2009-06-13  Nate Chapin  <japhet@google.com>
667
668         Reviewed by Dimitri Glazkov.  Landed by Adam Barth.
669
670         Moved V8 Bindings for V8CustomXPathNSResolver to svn.webkit.org.
671
672         https://bugs.webkit.org/show_bug.cgi?id=26227
673
674         * bindings/v8/custom/V8CustomXPathNSResolver.cpp: Added.
675         (WebCore::V8CustomXPathNSResolver::V8CustomXPathNSResolver): Moved from src.chromium.org.
676         (WebCore::V8CustomXPathNSResolver::~V8CustomXPathNSResolver): Moved from src.chromium.org.
677         (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI): Moved from src.chromium.org.
678         * bindings/v8/custom/V8CustomXPathNSResolver.h: Added.
679         * bindings/v8/custom/V8DocumentCustom.cpp: Updated includes.
680         (WebCore::CALLBACK_FUNC_DECL): Updated class name.
681
682 2009-06-13  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
683
684         Reviewed by Mark Rowe.  Landed by Adam Barth.
685
686         Remove obsolete declarations for old Symbian port
687         https://bugs.webkit.org/show_bug.cgi?id=26339
688
689         * platform/graphics/FloatPoint.h: Remove declarations for native SYMBIAN adaptation.
690         * platform/graphics/FloatRect.h: Ditto.
691         * platform/graphics/IntPoint.h: Ditto.
692         * platform/graphics/IntRect.h: Ditto.
693         * platform/graphics/IntSize.h: Ditto.
694
695 2009-06-13  Dirk Schulze  <krit@webkit.org>
696
697         Reviewed by Eric Seidel.
698
699         Added subRegion calculation to SVG filter. Every filter effect is
700         clipped to the filter region (according to the spec). This makes
701         ImageBuffers for filter effects smaller and we just need to take
702         care about big filter regions.
703         SVGFEImage needed a correction, to avoid an ASSERT. The two filter
704         effects feOffset and feFlood help to test the new subRegion code.
705
706         Tests: svg/filters/subRegion-one-effect.svg
707                svg/filters/subRegion-two-effects.svg
708
709         * platform/graphics/filters/FEBlend.h:
710         (WebCore::FEBlend::uniteChildEffectSubregions):
711         * platform/graphics/filters/FEColorMatrix.h:
712         (WebCore::FEColorMatrix::uniteChildEffectSubregions):
713         * platform/graphics/filters/FEComponentTransfer.h:
714         (WebCore::FEComponentTransfer::uniteChildEffectSubregions):
715         * platform/graphics/filters/FEComposite.h:
716         (WebCore::FEComposite::uniteChildEffectSubregions):
717         * platform/graphics/filters/Filter.h:
718         (WebCore::Filter::setSourceImage):
719         (WebCore::Filter::sourceImage):
720         * platform/graphics/filters/FilterEffect.cpp:
721         (WebCore::FilterEffect::FilterEffect):
722         (WebCore::FilterEffect::calculateUnionOfChildEffectSubregions):
723         (WebCore::FilterEffect::calculateEffectRect):
724         * platform/graphics/filters/FilterEffect.h:
725         (WebCore::FilterEffect::setUnionOfChildEffectSubregions):
726         (WebCore::FilterEffect::unionOfChildEffectSubregions):
727         (WebCore::FilterEffect::hasX):
728         (WebCore::FilterEffect::setHasX):
729         (WebCore::FilterEffect::hasY):
730         (WebCore::FilterEffect::setHasY):
731         (WebCore::FilterEffect::hasWidth):
732         (WebCore::FilterEffect::setHasWidth):
733         (WebCore::FilterEffect::hasHeight):
734         (WebCore::FilterEffect::setHasHeight):
735         (WebCore::FilterEffect::setEffectBuffer):
736         (WebCore::FilterEffect::uniteChildEffectSubregions):
737         * platform/graphics/filters/SourceAlpha.h:
738         (WebCore::SourceAlpha::calculateEffectRect):
739         * platform/graphics/filters/SourceGraphic.cpp:
740         (WebCore::SourceGraphic::calculateEffectRect):
741         (WebCore::SourceGraphic::apply):
742         * platform/graphics/filters/SourceGraphic.h:
743         * rendering/SVGRenderSupport.cpp:
744         (WebCore::SVGRenderBase::prepareToRenderSVGContent):
745         (WebCore::SVGRenderBase::finishRenderSVGContent):
746         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
747         (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
748         * svg/graphics/SVGResourceFilter.cpp:
749         (WebCore::SVGResourceFilter::prepareFilter):
750         (WebCore::SVGResourceFilter::applyFilter):
751         * svg/graphics/SVGResourceFilter.h:
752         * svg/graphics/filters/SVGFEConvolveMatrix.h:
753         (WebCore::FEConvolveMatrix::uniteChildEffectSubregions):
754         * svg/graphics/filters/SVGFEDiffuseLighting.h:
755         (WebCore::FEDiffuseLighting::uniteChildEffectSubregions):
756         * svg/graphics/filters/SVGFEDisplacementMap.h:
757         (WebCore::FEDisplacementMap::uniteChildEffectSubregions):
758         * svg/graphics/filters/SVGFEFlood.cpp:
759         (WebCore::FEFlood::apply):
760         * svg/graphics/filters/SVGFEGaussianBlur.h:
761         (WebCore::FEGaussianBlur::uniteChildEffectSubregions):
762         * svg/graphics/filters/SVGFEImage.cpp:
763         (WebCore::FEImage::FEImage):
764         * svg/graphics/filters/SVGFEImage.h:
765         * svg/graphics/filters/SVGFEMerge.cpp:
766         (WebCore::FEMerge::uniteEffectRect):
767         * svg/graphics/filters/SVGFEMerge.h:
768         * svg/graphics/filters/SVGFEMorphology.h:
769         (WebCore::FEMorphology::uniteChildEffectSubregions):
770         * svg/graphics/filters/SVGFEOffset.cpp:
771         (WebCore::FEOffset::apply):
772         * svg/graphics/filters/SVGFEOffset.h:
773         (WebCore::FEOffset::uniteChildEffectSubregions):
774         * svg/graphics/filters/SVGFESpecularLighting.h:
775         (WebCore::FESpecularLighting::uniteEffectRect):
776         * svg/graphics/filters/SVGFETile.cpp:
777         (WebCore::FETile::uniteChildEffectSubregions):
778         * svg/graphics/filters/SVGFETile.h:
779         * svg/graphics/filters/SVGFilter.cpp:
780         (WebCore::SVGFilter::calculateEffectSubRegion):
781         * svg/graphics/filters/SVGFilter.h:
782         (WebCore::SVGFilter::effectBoundingBoxMode):
783         (WebCore::SVGFilter::filterRegion):
784         (WebCore::SVGFilter::sourceImageRect):
785
786 2009-06-13  Peter Kasting  <pkasting@google.com>
787
788         Bustage: Fix broken GIFs on Cairo due to subtle typo.  Fix a warning.
789
790         * platform/image-decoders/ImageDecoder.h:
791         (WebCore::RGBA32Buffer::copyRowNTimes):
792         * platform/image-decoders/bmp/BMPImageReader.cpp:
793         (WebCore::BMPImageReader::processBitmasks):
794
795 2009-06-13  Peter Kasting  <pkasting@google.com>
796
797         GTK bustage fix.  "inline" is handled differently by different compilers.
798
799         * platform/image-decoders/ImageDecoder.h:
800         (WebCore::RGBA32Buffer::getAddr):
801         * platform/image-decoders/cairo/ImageDecoderCairo.cpp:
802
803 2009-06-13  Peter Kasting  <pkasting@google.com>
804
805         Reviewed by Eric Seidel.
806
807         https://bugs.webkit.org/show_bug.cgi?id=25709 part nine
808         Factor Cairo-specific implementation out of ImageDecoder.h into
809         ImageDecoderCairo.cpp.  Add some comments to functions declared
810         in ImageDecoder.h.
811
812         * GNUmakefile.am:
813         * WebCore.vcproj/WebCore.vcproj:
814         * platform/image-decoders/ImageDecoder.h:
815         * platform/image-decoders/cairo: Added.
816         * platform/image-decoders/cairo/ImageDecoderCairo.cpp: Added.
817         (WebCore::RGBA32Buffer::RGBA32Buffer):
818         (WebCore::RGBA32Buffer::clear):
819         (WebCore::RGBA32Buffer::zeroFill):
820         (WebCore::RGBA32Buffer::copyBitmapData):
821         (WebCore::RGBA32Buffer::setSize):
822         (WebCore::RGBA32Buffer::asNewNativeImage):
823         (WebCore::RGBA32Buffer::hasAlpha):
824         (WebCore::RGBA32Buffer::setHasAlpha):
825         (WebCore::RGBA32Buffer::operator=):
826         (WebCore::RGBA32Buffer::width):
827         (WebCore::RGBA32Buffer::height):
828         (WebCore::RGBA32Buffer::getAddr):
829
830 2009-06-13  David Hyatt  <hyatt@apple.com>
831
832         Reviewed by Darin Adler.
833
834         Cleanup of the new MidpointState class.  Turn it into a struct instead.  Fix a mistaken
835         assertion removal and some unintentional whitespace changes.
836
837         * platform/text/BidiResolver.h:
838         (WebCore::MidpointState::reset):
839         * rendering/RenderBlock.h:
840         * rendering/bidi.cpp:
841         (WebCore::BidiRun::operator delete):
842         (WebCore::chopMidpointsAt):
843         (WebCore::checkMidpoints):
844         (WebCore::addMidpoint):
845         (WebCore::appendRunsForObject):
846         (WebCore::RenderBlock::findNextLineBreak):
847
848 2009-06-12  David Hyatt  <hyatt@apple.com>
849
850         Reviewed by Dan Bernstein.
851
852         https://bugs.webkit.org/show_bug.cgi?id=26367
853
854         Remove the global variables in bidi.cpp.  Make a new struct, MidpointState, that holds all of the
855         midpoint information.  Add the remaining global variables as arguments passed down through functions
856         as needed.
857
858         * platform/text/BidiResolver.h:
859         (WebCore::MidpointState::MidpointState):
860         (WebCore::MidpointState::reset):
861         (WebCore::BidiResolver::midpointState):
862         * rendering/RenderBlock.h:
863         * rendering/bidi.cpp:
864         (WebCore::BidiRun::operator delete):
865         (WebCore::chopMidpointsAt):
866         (WebCore::checkMidpoints):
867         (WebCore::addMidpoint):
868         (WebCore::appendRunsForObject):
869         (WebCore::RenderBlock::bidiReorderLine):
870         (WebCore::RenderBlock::layoutInlineChildren):
871         (WebCore::RenderBlock::determineStartPosition):
872         (WebCore::skipNonBreakingSpace):
873         (WebCore::shouldCollapseWhiteSpace):
874         (WebCore::requiresLineBox):
875         (WebCore::RenderBlock::generatesLineBoxesForInlineChild):
876         (WebCore::RenderBlock::skipTrailingWhitespace):
877         (WebCore::RenderBlock::skipLeadingWhitespace):
878         (WebCore::shouldSkipWhitespaceAfterStartObject):
879         (WebCore::RenderBlock::findNextLineBreak):
880
881 2009-06-12  Holger Hans Peter Freyther  <zecke@selfish.org>
882
883         Build fix for Qt. After recent ImageDeocder.h changes. I want
884         the original change to be backed out as the whole Skia merging
885         is going in the wrong direction. The discussion will happen in
886         the bugtracker.
887
888         https://bugs.webkit.org/show_bug.cgi?id=25709.
889
890         * platform/image-decoders/ImageDecoder.h:
891
892 2009-06-12  Jan Michael Alonzo  <jmalonzo@webkit.org>
893
894         Gtk build fix: include cstdio so we can use sscanf
895
896         Gtk/Win Cairo build fix: use isASCIISpace instead of isspace
897         Suggested by Brent Fulgham
898
899         * platform/image-decoders/xbm/XBMImageDecoder.cpp:
900         (WebCore::XBMImageDecoder::decodeDatum):
901
902 2009-06-12  Peter Kasting  <pkasting@google.com>
903
904         Yet another Skia bustage fix.
905
906         * platform/image-decoders/skia/ImageDecoder.h:
907         (WebCore::RGBA32Buffer::setSize): Avoid symbol name clash.  The better fix is to take an IntSize(); I'll do that later.
908
909 2009-06-12  Peter Kasting  <pkasting@google.com>
910
911         Fix remaining Cairo build bustage from
912         https://bugs.webkit.org/show_bug.cgi?id=25709 changes.  Use
913         Vector<char> in place of std::string.
914
915         * platform/image-decoders/xbm/XBMImageDecoder.cpp:
916         (WebCore::XBMImageDecoder::setData):
917         (WebCore::XBMImageDecoder::decodeHeader):
918         (WebCore::XBMImageDecoder::decodeDatum):
919         * platform/image-decoders/xbm/XBMImageDecoder.h:
920
921 2009-06-12  David Levin  <levin@chromium.org>
922
923         Reviewed by Darin Adler.
924
925         UString shouldn't create sharedBuffer for SmallStrings.
926         https://bugs.webkit.org/show_bug.cgi?id=26347
927
928         Change the call to use the method UString::Rep::sharedBuffer due
929         to changes in UString.
930
931         No noticable change in behavior, so no test.
932
933         * platform/text/StringImpl.cpp:
934         (WebCore::StringImpl::create):
935
936 2009-06-12  Peter Kasting  <pkasting@google.com>
937
938         Fix Chromium and some of Cairo build bustage, fallout from
939         https://bugs.webkit.org/show_bug.cgi?id=25709 changes.
940
941         * WebCore.vcproj/WebCore.vcproj: Add missing XBM decoder files.
942         * platform/image-decoders/skia/ImageDecoder.h:
943         (WebCore::RGBA32Buffer::copyRowNTimes): Fix typo that broke Skia GIF decoding.
944
945 2009-06-12  Simon Fraser  <simon.fraser@apple.com>
946
947         Reviewed by Dan Bernstein
948
949         https://bugs.webkit.org/show_bug.cgi?id=26095
950         
951         Fix crash when a renderer for an anonymous node is composited
952         by null-checking renderer()->node().
953         
954         Test: compositing/generated-content.html
955
956         * rendering/RenderLayerBacking.cpp:
957         (WebCore::RenderLayerBacking::createGraphicsLayer):
958         (WebCore::RenderLayerBacking::rendererHasBackground):
959         (WebCore::RenderLayerBacking::rendererBackgroundColor):
960         (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):
961         (WebCore::RenderLayerBacking::paintIntoLayer):
962
963 2009-06-12  Simon Fraser  <simon.fraser@apple.com>
964
965         Fix build when ACCELERATED_COMPOSITING is defined.
966
967         * loader/EmptyClients.h:
968         (WebCore::EmptyChromeClient::attachRootGraphicsLayer):
969         (WebCore::EmptyChromeClient::setNeedsOneShotDrawingSynchronization):
970         (WebCore::EmptyChromeClient::scheduleViewUpdate):
971         Add stubs for the compositing-related ChromeClient methods.
972         
973         * rendering/RenderLayerCompositor.cpp:
974         (WebCore::RenderLayerCompositor::updateRootLayerPosition):
975         (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
976         docWidth()/docHeight() became private. Use overflowWidth()/overflowHeight() instead, which
977         matches what is used to size the WebHTMLView.
978
979 2009-06-12  jorlow  <jorlow@chromium.org>
980
981         Reviewed by David Levin.
982
983         https://bugs.webkit.org/show_bug.cgi?id=26356
984         http://crbug.com/14006
985         Create custom bindings for v8.  The rest of these files are still
986         forked (so the review is happening on the chromium review site).
987         These bindings have been tested on a hacked up Chromium instance
988         (also running --single-process) and Android.
989
990         * bindings/v8/custom/V8StorageCustom.cpp: Added.
991
992 2009-06-12  Dmitry Titov  <dimich@chromium.org>
993
994         Reviewed by David Levin.
995
996         https://bugs.webkit.org/show_bug.cgi?id=26359
997         [v8] Add XMLHttpRequest to WorkerContextExecutionProxy.
998
999         * bindings/v8/WorkerContextExecutionProxy.cpp:
1000         (WebCore::WorkerContextExecutionProxy::ToV8Object): Add type == V8ClassIndex::XMLHTTPREQUEST to the convertable types.
1001         (WebCore::WorkerContextExecutionProxy::EventTargetToV8Object): same.
1002         * bindings/v8/WorkerContextExecutionProxy.h: fix typo in the comment.
1003
1004 2009-06-12  Peter Kasting  <pkasting@google.com>
1005
1006         Reviewed by Eric Seidel.
1007
1008         https://bugs.webkit.org/show_bug.cgi?id=25709 part eight
1009         Replace placeholder Cairo BMP, ICO, XBM decoders with real ones.  Remove
1010         all the decoders from skia/ since they are now just mirrors of the Cairo
1011         ones.
1012
1013         * GNUmakefile.am:
1014         * WebCore.vcproj/WebCore.vcproj:
1015         * WebCoreSources.bkl:
1016         * platform/graphics/cairo/ImageSourceCairo.cpp:
1017         (WebCore::createDecoder): Pass IntSize() to ICOImageDecoder() so it will always decode the largest icon.  Enable XBM decoding on Windows.
1018         * platform/graphics/skia/ImageSourceSkia.cpp:
1019         * platform/graphics/wx/ImageSourceWx.cpp:
1020         (WebCore::createDecoder): Pass IntSize() to ICOImageDecoder() so it will always decode the largest icon.
1021         * platform/image-decoders/bmp/BMPImageDecoder.cpp: Replaced with WebCore/platform/image-decoders/skia/BMPImageDecoder.cpp.
1022         * platform/image-decoders/bmp/BMPImageDecoder.h: Replaced with WebCore/platform/image-decoders/skia/BMPImageDecoder.h.
1023         * platform/image-decoders/bmp/BMPImageReader.cpp: Copied from WebCore/platform/image-decoders/skia/BMPImageReader.cpp.
1024         * platform/image-decoders/bmp/BMPImageReader.h: Copied from WebCore/platform/image-decoders/skia/BMPImageReader.h.
1025         * platform/image-decoders/ico/ICOImageDecoder.cpp: Replaced with WebCore/platform/image-decoders/skia/ICOImageDecoder.cpp.
1026         * platform/image-decoders/ico/ICOImageDecoder.h: Replaced with WebCore/platform/image-decoders/skia/ICOImageDecoder.h.
1027         * platform/image-decoders/skia/BMPImageDecoder.cpp: Removed.
1028         * platform/image-decoders/skia/BMPImageDecoder.h: Removed.
1029         * platform/image-decoders/skia/BMPImageReader.cpp: Removed.
1030         * platform/image-decoders/skia/BMPImageReader.h: Removed.
1031         * platform/image-decoders/skia/GIFImageDecoder.cpp: Removed.
1032         * platform/image-decoders/skia/GIFImageDecoder.h: Removed.
1033         * platform/image-decoders/skia/GIFImageReader.cpp: Removed.
1034         * platform/image-decoders/skia/GIFImageReader.h: Removed.
1035         * platform/image-decoders/skia/ICOImageDecoder.cpp: Removed.
1036         * platform/image-decoders/skia/ICOImageDecoder.h: Removed.
1037         * platform/image-decoders/skia/JPEGImageDecoder.cpp: Removed.
1038         * platform/image-decoders/skia/JPEGImageDecoder.h: Removed.
1039         * platform/image-decoders/skia/PNGImageDecoder.cpp: Removed.
1040         * platform/image-decoders/skia/PNGImageDecoder.h: Removed.
1041         * platform/image-decoders/skia/XBMImageDecoder.cpp: Removed.
1042         * platform/image-decoders/skia/XBMImageDecoder.h: Removed.
1043         * platform/image-decoders/xbm/XBMImageDecoder.cpp: Replaced with WebCore/platform/image-decoders/skia/XBMImageDecoder.cpp.
1044         * platform/image-decoders/xbm/XBMImageDecoder.h: Replaced with WebCore/platform/image-decoders/skia/XBMImageDecoder.h.
1045
1046 2009-06-11  Peter Kasting  <pkasting@google.com>
1047
1048         Reviewed by Eric Seidel.
1049
1050         https://bugs.webkit.org/show_bug.cgi?id=25709 part seven
1051         Update Skia's ImageDecoder.h with a few changes designed to reduce the
1052         delta between specific implementations of ImageDecoder.h.  Update
1053         Cairo's ImageDecoder.h to sync up with the API changes in the Skia
1054         version in the last two chage sets.  Update Cairo's PNG/JPEG/GIF
1055         decoders to use the APIs as well.  All the Cairo image decoder changes
1056         are direct copies of the Skia versions except ImageDecoder.h, which is
1057         modified in the necessary ways for the differences between Cairo and
1058         Skia.
1059
1060         * platform/graphics/cairo/ImageSourceCairo.cpp:
1061         (WebCore::ImageSource::createFrameAtIndex): Use new RGBA32Buffer::asNewNativeImage() API.
1062         * platform/image-decoders/ImageDecoder.h: Sync up with Skia version.
1063         (WebCore::RGBA32Buffer::):
1064         (WebCore::RGBA32Buffer::RGBA32Buffer):
1065         (WebCore::RGBA32Buffer::clear):
1066         (WebCore::RGBA32Buffer::zeroFill):
1067         (WebCore::RGBA32Buffer::copyBitmapData):
1068         (WebCore::RGBA32Buffer::copyRowNTimes):
1069         (WebCore::RGBA32Buffer::setSize):
1070         (WebCore::RGBA32Buffer::asNewNativeImage):
1071         (WebCore::RGBA32Buffer::hasAlpha):
1072         (WebCore::RGBA32Buffer::disposalMethod):
1073         (WebCore::RGBA32Buffer::setHasAlpha):
1074         (WebCore::RGBA32Buffer::setDisposalMethod):
1075         (WebCore::RGBA32Buffer::setRGBA):
1076         (WebCore::RGBA32Buffer::operator=):
1077         (WebCore::RGBA32Buffer::width):
1078         (WebCore::RGBA32Buffer::height):
1079         (WebCore::RGBA32Buffer::getAddr):
1080         * platform/image-decoders/gif/GIFImageDecoder.cpp: Sync up with Skia version.
1081         (WebCore::GIFImageDecoder::initFrameBuffer):
1082         (WebCore::GIFImageDecoder::haveDecodedRow):
1083         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: Sync up with Skia version.
1084         (WebCore::JPEGImageDecoder::outputScanlines):
1085         * platform/image-decoders/png/PNGImageDecoder.cpp: Sync up with Skia version.
1086         (WebCore::PNGImageDecoder::rowAvailable):
1087         * platform/image-decoders/skia/ImageDecoder.h: Add various typedefs or helper functions to minimize differences with Cairo version.  Reorder functions slightly to match reordering of Cairo's m_hasAlpha variable, which I moved to increase readability.
1088         (WebCore::RGBA32Buffer::):
1089         (WebCore::RGBA32Buffer::copyRowNTimes):
1090         (WebCore::RGBA32Buffer::setSize):
1091         (WebCore::RGBA32Buffer::asNewNativeImage):
1092         (WebCore::RGBA32Buffer::hasAlpha):
1093         (WebCore::RGBA32Buffer::disposalMethod):
1094         (WebCore::RGBA32Buffer::setHasAlpha):
1095         (WebCore::RGBA32Buffer::setStatus):
1096         (WebCore::RGBA32Buffer::setDisposalMethod):
1097         (WebCore::RGBA32Buffer::setRGBA):
1098         (WebCore::RGBA32Buffer::operator=):
1099         (WebCore::RGBA32Buffer::width):
1100         (WebCore::RGBA32Buffer::height):
1101         (WebCore::RGBA32Buffer::getAddr):
1102         * platform/image-decoders/skia/JPEGImageDecoder.cpp: Add #include needed by JPEG headers on some platforms, plus comment.
1103
1104 2009-06-12  Brent Fulgham  <bfulgham@webkit.org>
1105
1106         Unreviewed build correction.
1107
1108         Revert accidental configuration checkin.  Was not meant to
1109         be part of the last changeset.
1110
1111         * config.h:
1112
1113 2009-06-12  Brent Fulgham  <bfulgham@webkit.org>
1114
1115         Reviewed by Eric Seidel.
1116
1117         https://bugs.webkit.org/show_bug.cgi?id=26353
1118         Corrects handling of Cairo fonts that were getting out of
1119         sync due to default copy construction.  Also refactors
1120         some incorrect platform font destruction code that belongs
1121         in the font object's destructor.
1122
1123         * platform/graphics/win/FontPlatformData.h:
1124         * platform/graphics/win/FontPlatformDataCGWin.cpp:
1125         (WebCore::FontPlatformData::~FontPlatformData):
1126         * platform/graphics/win/FontPlatformDataCairoWin.cpp:
1127         (WebCore::FontPlatformData::platformDataInit):
1128         (WebCore::FontPlatformData::FontPlatformData):
1129         (WebCore::FontPlatformData::setFont):
1130         (WebCore::FontPlatformData::~FontPlatformData):
1131         * platform/graphics/win/FontPlatformDataWin.cpp:
1132         * platform/graphics/win/SimpleFontDataCGWin.cpp:
1133         * platform/graphics/win/SimpleFontDataCairoWin.cpp:
1134         (WebCore::SimpleFontData::platformInit):
1135         (WebCore::SimpleFontData::platformWidthForGlyph):
1136         * platform/graphics/win/SimpleFontDataWin.cpp:
1137
1138 2009-06-12  Peter Kasting  <pkasting@google.com>
1139
1140         Reviewed by Eric Seidel.
1141
1142         * ChangeLog-2007-10-14: Update my email address.
1143         * ChangeLog-2008-08-10: Update my email address.
1144
1145 2009-06-12  Nate Chapin  <japhet@google.com>
1146
1147         Reviewed by David Levin.
1148
1149         Upstream V8Helpers.
1150
1151         https://bugs.webkit.org/show_bug.cgi?id=26332
1152
1153         * bindings/v8/V8Helpers.cpp: Added.
1154         (wrapNPObject): Moved from v8_helpers.cpp.
1155         (toV8Context): Moved from v8_helpers.cpp.
1156         (toV8Proxy): Moved from v8_helpers.cpp.
1157         * bindings/v8/V8Helpers.h: Added.
1158
1159 2009-06-12  Jessie Berlin  <jberlin@apple.com>
1160
1161         Reviewed by Mark Rowe.
1162
1163         https://bugs.webkit.org/show_bug.cgi?id=24792
1164         rdar://problem/6933055
1165
1166         Changes the radius in which cursor movement around the 4 arrow icon
1167         while pan-scrolling does not cause scrolling from around 10 pixels to
1168         15 pixels, similar to what is found in IE and Firefox.
1169
1170         * page/EventHandler.cpp:
1171         (WebCore::EventHandler::setPanScrollCursor):
1172         Factor out the no-pan-scroll radius.
1173         * platform/ScrollView.h:
1174         Create a constant for the no-pan-scroll radius.
1175         * rendering/RenderLayer.cpp:
1176         (WebCore::RenderLayer::panScrollFromPoint):
1177         Factor out the no-pan-scroll radius.
1178
1179 2009-06-12  Xan Lopez  <xlopez@igalia.com>
1180
1181         Reviewed by Gustavo Noronha.
1182
1183         https://bugs.webkit.org/show_bug.cgi?id=25609
1184         [GTK] Implement support for get_selection and get_n_selections
1185
1186         Only use the VisibleSelection object if it actually belongs to the
1187         object we are using.
1188
1189         This is pretty hacky-ish, but I can't seem to find a direct API to
1190         get the VisibleSelection for a given object, only the global one.
1191
1192         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1193         (selectionBelongsToObject):
1194         (webkit_accessible_text_get_n_selections):
1195         (webkit_accessible_text_get_selection):
1196
1197 2009-06-03  Eric Seidel  <eric@webkit.org>
1198
1199         Reviewed by Darin Adler.
1200
1201         Crash at Node::nodeIndex()
1202         https://bugs.webkit.org/show_bug.cgi?id=26044
1203
1204         This crash seems to be caused by calling nodeIndex() on
1205         and invalid Node pointer.  As far as I can tell, the most likely
1206         explanation is that the Range holding the node is actually
1207         deleted already (thus the memory is junk).  Looking at the code
1208         Range changes m_start.container() in its destructor to tell if
1209         the range is detached or not.  If somehow m_start.container() was
1210         cleared, the range will never be detached and the Document will end
1211         up with pointers to deleted ranges.  I don't know how to reproduce this
1212         any reproduction I could think of would hit ASSERTS in Debug mode.
1213         One reproduction I tried, did not crash in Release mode, even though it
1214         did in Debug mode.
1215
1216         I'm making a speculative fix by always detaching the Range from the document
1217         during ~Range.  This is safer, and all we lose is an ASSERT to prevent double-detach.
1218         
1219         Another solution would be to instead store an m_attached bool on the Range object, or
1220         expose a Document::isRangeAttached(range) call.  Either of those solutions
1221         could affect performance, so I went with this solution for now.
1222
1223         I also removed the RangeBoundaryPoint default constructor
1224         as it is not used anywhere (and is more likely to cause confusion).
1225
1226         Since I can't reproduce the crash, no test.
1227
1228         * dom/Document.cpp:
1229         (WebCore::Document::detachRange):
1230         * dom/Range.cpp:
1231         (WebCore::Range::~Range):
1232         (WebCore::Range::detach):
1233         * dom/RangeBoundaryPoint.h:
1234         (WebCore::RangeBoundaryPoint::RangeBoundaryPoint):
1235           RangeBoundaryPoints always have an m_containerNode, ASSERT that.
1236         (WebCore::RangeBoundaryPoint::set):
1237           ASSERT(container) to match all the other functions.
1238           All callers already ASSERT(container).  Since we only
1239           have reports if this crash from Release mode, I can only
1240           assume that those ASSERTs would have been hit in a Debug reproduction.
1241
1242 2009-06-11  Shinichiro Hamaji  <hamaji@chromium.org>
1243
1244         Reviewed by Adam Barth.
1245
1246         https://bugs.webkit.org/show_bug.cgi?id=25512
1247         Handle texts after unfinished special tags (i.e., script, style, textarea,
1248         title, xmp, and iframe) as the text node under the tags in view-source mode.
1249         Before this change, all texts in unfinished special tags cannot be seen even in view-source mode.
1250
1251         This was already done only for title. This change allows other special tags to be handled as well.
1252
1253         Test: fast/frames/viewsource-unfinished-tags.html
1254
1255         * html/HTMLTokenizer.cpp:
1256         (WebCore::HTMLTokenizer::parseNonHTMLText):
1257         (WebCore::HTMLTokenizer::parseTag):
1258         (WebCore::HTMLTokenizer::write):
1259         * html/HTMLTokenizer.h:
1260         (WebCore::HTMLTokenizer::State::inAnyNonHTMLText):
1261
1262 2009-06-11  Yongjun Zhang  <yongjun.zhang@nokia.com>
1263
1264         Reviewed by Ariya Hidayat.
1265
1266         https://bugs.webkit.org/show_bug.cgi?id=26291
1267
1268         [Qt] build break in ImageDecoderQt.cpp.
1269
1270         * platform/graphics/qt/ImageDecoderQt.cpp:
1271         (WebCore::ImageDecoderQt::reset):
1272         (WebCore::ImageDecoderQt::setData):
1273         (WebCore::ImageDecoderQt::isSizeAvailable):
1274         * platform/image-decoders/ImageDecoder.h:
1275         (WebCore::ImageDecoder::setSize):
1276
1277 2009-06-11  Simon Hausmann  <simon.hausmann@nokia.com>
1278
1279         Rubber-stamped by Ariya Hidayat.
1280
1281         Removed obsolete and unmaintained files from the old Symbian port.
1282
1283         * platform/symbian/FloatPointSymbian.cpp: Removed.
1284         * platform/symbian/FloatRectSymbian.cpp: Removed.
1285         * platform/symbian/IntPointSymbian.cpp: Removed.
1286         * platform/symbian/IntRectSymbian.cpp: Removed.
1287         * platform/symbian/IntSizeSymbian.cpp: Removed.
1288         * platform/text/symbian/StringImplSymbian.cpp: Removed.
1289         * platform/text/symbian/StringSymbian.cpp: Removed.
1290
1291 2009-06-10  Peter Kasting  <pkasting@google.com>
1292
1293         Reviewed by Eric Seidel.
1294
1295         https://bugs.webkit.org/show_bug.cgi?id=25709 part six
1296         Miscellaneous tiny changes.  The important bits here are the ANSI C++
1297         compliance fix in skia/ImageDecoders.h (needed to compile this file on
1298         non-MSVC) and some behavioral fixes for the XBM decoder that Chromium
1299         unit tests partly exposed.  Other changes are mostly cosmetic.
1300
1301         * platform/image-decoders/ImageDecoder.h: Make some variables private again.  This will break QTWebKit but those guys have agreed to wait on my finishing the ImageDecoder changes.
1302         * platform/image-decoders/gif/GIFImageDecoder.cpp:
1303         (WebCore::GIFImageDecoder::initFrameBuffer): Use IntPoint() instead of the redundant IntPoint(0, 0).
1304         (WebCore::GIFImageDecoder::frameComplete): Use IntPoint() instead of the redundant IntPoint(0, 0).
1305         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1306         (WebCore::JPEGImageDecoder::outputScanlines): Remove obvious comments.
1307         * platform/image-decoders/png/PNGImageDecoder.cpp:
1308         (WebCore::PNGImageDecoder::rowAvailable): Remove obvious comments.
1309         * platform/image-decoders/skia/BMPImageReader.cpp:
1310         (WebCore::BMPImageReader::decodeBMP): Make more in line with other decoders' comments and structure, use a ref to decrease verbosity.
1311         (WebCore::BMPImageReader::processRLEData): Use a ref to decrease verbosity.
1312         (WebCore::BMPImageReader::processNonRLEData): Use a ref to decrease verbosity.
1313         * platform/image-decoders/skia/GIFImageDecoder.cpp: Use IntPoint() instead of the redundant IntPoint(0, 0).
1314         (WebCore::GIFImageDecoder::initFrameBuffer): Use IntPoint() instead of the redundant IntPoint(0, 0).
1315         (WebCore::GIFImageDecoder::frameComplete): Use IntPoint() instead of the redundant IntPoint(0, 0).
1316         * platform/image-decoders/skia/ImageDecoder.h:
1317         (WebCore::RGBA32Buffer::copyRowNTimes): Fix ANSI violation that MSVC let me compile (!).
1318         * platform/image-decoders/skia/JPEGImageDecoder.cpp:
1319         (WebCore::JPEGImageDecoder::outputScanlines): Remove obvious comments.
1320         * platform/image-decoders/skia/PNGImageDecoder.cpp:
1321         (WebCore::PNGImageDecoder::rowAvailable): Remove obvious comments.
1322         * platform/image-decoders/skia/XBMImageDecoder.cpp:
1323         (WebCore::XBMImageDecoder::frameBufferAtIndex): Return 0 for non-zero indexes, don't try to decode unnecessarily after failure or when the size couldn't be computed, make more in line with other decoders' comments and structure, call RGBA32Buffer::setRect() appropriately.
1324
1325 2009-06-10  Ojan Vafai  <ojan@chromium.org>
1326
1327         Reviewed by Eric Seidel.
1328
1329         The shadow node inside empty textareas gets collapsed in disabled
1330         textareas. This is a regression from moving the overflow from
1331         the shadow node to it's parent. The fix is to return true in
1332         RenderBlock::hasLineIfEmpty for textarea shadow nodes as we 
1333         currently do for input shadow nodes.
1334         
1335         https://bugs.webkit.org/show_bug.cgi?id=26296
1336         
1337         Test: fast/forms/empty-textarea-toggle-disabled.html
1338
1339         * rendering/RenderBlock.cpp:
1340         (WebCore::RenderBlock::hasLineIfEmpty):
1341
1342 2009-06-10  Xan Lopez  <xlopez@igalia.com>
1343
1344         Reviewed by Gustavo Noronha.
1345
1346         https://bugs.webkit.org/show_bug.cgi?id=25609
1347         [GTK] Implement support for get_selection and get_n_selections
1348
1349         Implement atk_text_get_n_selections.
1350
1351         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1352         (webkit_accessible_text_get_n_selections):
1353
1354 2009-06-10  Dan Bernstein  <mitz@apple.com>
1355
1356         Reviewed by Anders Carlsson.
1357
1358         - fix <rdar://problem/6958664> REGRESSION (r42665): When I drag to pan a
1359           Google map in iPhoto Places, it drags a map tile instead
1360
1361         Calling stopLoadRequest() from notifyFinished() removed the
1362         ScriptElementData from the CachedScript's client set, which could make
1363         it eligible for purging. The fix is to call removeClient() only after
1364         executing the script, which protects it from being purged while it is
1365         in the document's queue of scripts to execute soon.
1366
1367         * dom/ScriptElement.cpp:
1368         (WebCore::ScriptElementData::execute): Call removeClient() here.
1369         (WebCore::ScriptElementData::notifyFinished): Instead of calling
1370         stopLoadRequest(), which calls removeClient(), just reset
1371         m_cachedScript.
1372
1373 2009-06-10  Jan Michael Alonzo  <jmalonzo@webkit.org>
1374
1375         Reviewed by Mark Rowe and Eric Seidel.
1376
1377         Update WebInspector localizedStrings.js with new resource tracking strings
1378         https://bugs.webkit.org/show_bug.cgi?id=26247
1379
1380         * English.lproj/localizedStrings.js:
1381
1382 2009-06-10  Feng Qian  <feng@chromium.org>
1383
1384         Reviewed by Eric Seidel.
1385
1386         Add Android specific files.
1387         https://bugs.webkit.org/show_bug.cgi?id=26280
1388
1389         * platform/text/android: Added.
1390         * platform/text/android/TextBreakIteratorInternalICU.cpp: Added.
1391
1392 2009-06-10  Feng Qian  <feng@chromium.org>
1393
1394         Reviewed by Eric Seidel.
1395
1396         Add Android specific file to WebCore/platform/android (part 9).
1397         https://bugs.webkit.org/show_bug.cgi?id=26266
1398
1399         * platform/android/TemporaryLinkStubs.cpp: Added.
1400
1401 2009-06-10  Feng Qian  <feng@chromium.org>
1402
1403         Reviewed by Eric Seidel.
1404
1405         Add Android platform specific files.
1406         https://bugs.webkit/org/show_bug.cgi?id=26265 (part 8).
1407
1408         * platform/android/SystemTimeAndroid.cpp: Added.
1409         * platform/android/WidgetAndroid.cpp: Added.
1410
1411 2009-06-10  Feng Qian  <feng@chromium.org>
1412
1413         Reviewed by Eric Seidel.
1414
1415         Add Android port files to WebCore/platform. (part 6).
1416         https://bugs.webkit.org/show_bug.cgi?id=26264
1417
1418         * platform/android/RenderThemeAndroid.cpp: Added.
1419         * platform/android/RenderThemeAndroid.h: Added.
1420
1421 2009-06-10  Feng Qian  <feng@chromium.org>
1422
1423         Reviewed by Eric Seidel.
1424
1425         Add Android port files to WebCore/platform (part 7).
1426         https://bugs.webkit.org/show_bug.cgi?id=23296
1427
1428         * platform/android/ScreenAndroid.cpp: Added.
1429         * platform/android/ScrollViewAndroid.cpp: Added.
1430         * platform/android/SearchPopupMenuAndroid.cpp: Added.
1431
1432 2009-06-10  Feng Qian  <feng@chromium.org>
1433
1434         Reviewed by Eric Seidel.
1435
1436         Add Android port files to WebCore/platform (part 5).
1437         https://bugs.webkit.org/show_bug.cgi?id=23296
1438
1439         * platform/android/LocalizedStringsAndroid.cpp: Added.
1440         * platform/android/PopupMenuAndroid.cpp: Added.
1441
1442 2009-06-10  Feng Qian  <feng@chromium.org>
1443
1444         Reviewed by Eric Seidel.
1445
1446         Add Android port files to WebCore/platform (part 4).
1447         https://bugs.webkit.org/show_bug.cgi?id=23296
1448
1449         * platform/android/KeyEventAndroid.cpp: Added.
1450         * platform/android/KeyboardCodes.h: Added.
1451
1452 2009-06-10  Feng Qian  <feng@chromium.org>
1453
1454         Reviewed by Eric Seidel.
1455
1456         Add Android port files to WebCore/platform (part 3).
1457         https://bugs.webkit.org/show_bug.cgi?id=23296
1458
1459         * platform/android/FileChooserAndroid.cpp: Added.
1460         * platform/android/FileSystemAndroid.cpp: Added.
1461
1462 2009-06-10  Feng Qian  <feng@chromium.org>
1463
1464         Reviewed by Eric Seidel.
1465
1466         Add Android port files to WebCore/platform (part 2).
1467         https://bugs.webkit.org/show_bug.cgi?id=23296
1468
1469         * platform/android/CursorAndroid.cpp: Added.
1470         * platform/android/DragDataAndroid.cpp: Added.
1471         * platform/android/EventLoopAndroid.cpp: Added.
1472
1473 2009-06-10  Nate Chapin  <japhet@google.com>
1474
1475         Reviewed by David Levin.
1476
1477         Finish moving V8Custom from src.chromium.org to svn.webkit.org.
1478
1479         https://bugs.webkit.org/show_bug.cgi?id=26258
1480
1481         * bindings/v8/custom/V8CustomBinding.cpp: Finished upstreaming.
1482         (WebCore::ACCESSOR_GETTER): Moved from v8_custom.cpp.
1483         (WebCore::INDEXED_ACCESS_CHECK): Moved from v8_custom.cpp.
1484         (WebCore::NAMED_ACCESS_CHECK): Moved from v8_custom.cpp.
1485         (WebCore::V8Custom::GetTargetFrame): Moved from v8_custom.cpp.
1486         (WebCore::V8Custom::DowncastSVGPathSeg): Moved from v8_custom.cpp.
1487         * bindings/v8/custom/V8CustomBinding.h: Finished upstreaming.
1488         * bindings/v8/custom/V8DatabaseCustom.cpp: Updated includes.
1489         * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp: Updated includes.
1490         * bindings/v8/custom/V8SQLTransactionCustom.cpp: Updated includes.
1491         * bindings/v8/custom/V8WebKitPointConstructor.cpp: Added.
1492         (WebCore::CALLBACK_FUNC_DECL): Moved from v8_custom.cpp.
1493
1494 2009-06-10  Takeshi Yoshino  <tyoshino@google.com>
1495
1496         Reviewed by Justin Garcia.
1497
1498         Bug 26214: RenderTextControl: Remove ASSERT for checking that visiblePositionForIndex()'s return is not null.
1499         https://bugs.webkit.org/show_bug.cgi?id=26214
1500
1501         visiblePositionForIndex can return an instance that returns true for
1502         isNotNull(). One of common case is when the corresponding input element has
1503         "-webkit-user-select: none" style attribute. We should allow the case instead
1504         of putting ASSERT.
1505
1506         Test: fast/forms/input-select-webkit-user-select-none.html
1507
1508         * rendering/RenderTextControl.cpp:
1509         (WebCore::RenderTextControl::setSelectionRange):
1510
1511 2009-06-10  Roland Steiner <rolandsteiner@google.com>
1512
1513         Reviewed by Eric Seidel.
1514
1515         Bug 26197: Incorrect variable initialization in PlatformContextSkia.cpp
1516         https://bugs.webkit.org/show_bug.cgi?id=26197
1517
1518         The PlatformContextSkia constructor does a (very likely) wrong size
1519         initialization for its m_stateStack member:
1520
1521             m_stateStack(sizeof(State))
1522
1523         The intended initialization is probably rather
1524
1525             m_stateStack(1)
1526
1527         However, since this doesn't buy much (see also comment #4),
1528         I removed the initialization completely.
1529
1530         * platform/graphics/skia/PlatformContextSkia.cpp:
1531         (PlatformContextSkia::PlatformContextSkia): remove member initialization
1532
1533 2009-06-10  Dean McNamee  <deanm@chromium.org>
1534
1535         Reviewed by Eric Seidel.
1536
1537         When there is no backing bitmap, return a transparent pattern.
1538         https://bugs.webkit.org/show_bug.cgi?id=26061
1539
1540         Test: fast/canvas/canvas-empty-image-pattern.html
1541
1542         * platform/graphics/skia/PatternSkia.cpp:
1543         (WebCore::Pattern::createPlatformPattern):
1544
1545 2009-06-10  Dean McNamee  <deanm@chromium.org>
1546
1547         Reviewed by Eric Seidel.
1548
1549         Fix a crash for radial gradients with a zero radius.
1550         https://bugs.webkit.org/show_bug.cgi?id=26059
1551
1552         Test: fast/gradients/crash-on-zero-radius.html
1553
1554         * platform/graphics/skia/GradientSkia.cpp:
1555         (WebCore::Gradient::platformGradient):
1556
1557 2009-06-10  Peter Kasting  <pkasting@google.com>
1558
1559         Reviewed by Eric Seidel.
1560
1561         https://bugs.webkit.org/show_bug.cgi?id=25709 part five
1562         Rewrite users of ImageDecoder.h to use "safe" API calls, Skia side.
1563         This tweaks the RGBA32Buffer interfaces to be implementable by Cairo as
1564         well and modifies Skia's usage of those interfaces accordingly.  Once a
1565         similar change lands on the Cairo side, the Skia and Cairo decoders
1566         should be identical except for the implementation of RGBA32Buffer.
1567
1568         * platform/graphics/skia/ImageSourceSkia.cpp:
1569         (WebCore::ImageSource::createFrameAtIndex): Use new RGBA32Buffer::asNewNativeImage() function.
1570         * platform/image-decoders/skia/BMPImageReader.cpp:
1571         (WebCore::BMPImageReader::processNonRLEData): Use new RGBA32Buffer::zeroFill() function.
1572         * platform/image-decoders/skia/GIFImageDecoder.cpp:
1573         (WebCore::GIFImageDecoder::haveDecodedRow): Rewrite to use RGBA32Buffer::setRGBA(x, y, ...) calls as well as other RGBA32Buffer interface calls instead of knowing the underlying types inside the buffer; also try and add clarity.
1574         * platform/image-decoders/skia/ImageDecoder.h: Removed bitmap(), width(), and height().
1575         (WebCore::RGBA32Buffer::zeroFill): Added.
1576         (WebCore::RGBA32Buffer::copyBitmapData): Avoid using bitmap(), which is going away.
1577         (WebCore::RGBA32Buffer::copyRowNTimes): Added.
1578         (WebCore::RGBA32Buffer::setSize): Use new zeroFill() function.
1579         (WebCore::RGBA32Buffer::asNewNativeImage): Added.
1580         (WebCore::RGBA32Buffer::setRGBA): Condensed two versions into one that takes coordinates instead of a raw pointer.
1581
1582 2009-06-10  Xan Lopez  <xlopez@igalia.com>
1583
1584         Reviewed by Gustavo Noronha.
1585
1586         https://bugs.webkit.org/show_bug.cgi?id=25671
1587         [GTK] Implement support for set_caret_offset
1588
1589         Make an implementation that actually works.
1590
1591         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1592         (webkit_accessible_text_set_caret_offset):
1593
1594 2009-06-10  Darin Fisher  <darin@chromium.org>
1595
1596         Reviewed by Dimitri Glazkov.
1597
1598         https://bugs.webkit.org/show_bug.cgi?id=26294
1599
1600         Make sure all member variables are initialized so that the default
1601         assignment operator and copy constructors do not read uninitialized
1602         memory.
1603
1604         * platform/network/ResourceResponseBase.cpp:
1605
1606 2009-06-10  Yury Semikhatsky  <yurys@chromium.org>
1607
1608         Reviewed by Timothy Hatcher.
1609
1610         Update main resource meta-data when resource tracking is disabled.
1611
1612         https://bugs.webkit.org/show_bug.cgi?id=26253
1613
1614         * inspector/InspectorController.cpp:
1615         (WebCore::InspectorController::getTrackedResource):
1616         (WebCore::InspectorController::willSendRequest):
1617         (WebCore::InspectorController::didReceiveResponse):
1618         (WebCore::InspectorController::didReceiveContentLength):
1619         (WebCore::InspectorController::didFinishLoading):
1620         (WebCore::InspectorController::didFailLoading):
1621         * inspector/InspectorController.h:
1622
1623 2009-06-10  Xan Lopez  <xlopez@igalia.com>
1624
1625         Reviewed by Gustavo Noronha.
1626
1627         https://bugs.webkit.org/show_bug.cgi?id=25609
1628         [GTK] Implement support for get_selection and get_n_selections
1629
1630         Implement atk_text_get_selection.
1631
1632         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1633         (webkit_accessible_text_get_selection):
1634
1635 2009-06-10  Xan Lopez  <xlopez@igalia.com>
1636
1637         Reviewed by Gustavo Noronha.
1638
1639         Do not check if our parent class has the finalize method, it's
1640         guaranteed to be there.
1641
1642         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1643         (webkit_accessible_finalize):
1644
1645 2009-06-10  Brent Fulgham  <bfulgham@webkit.org>
1646
1647         Build correct for Windows Cairo targets.
1648
1649         * WebCore.vcproj/WebCore.vcproj: Disable warning 4611 (interaction
1650           between '_setjmp' and C++ object destruction is non-portable) for
1651           the two Cairo targets.  This used to be disabled in a #pragma,
1652           but recent refactoring removed these lines.
1653
1654 2009-06-10  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1655
1656         Reviewed by Simon Hausmann.
1657
1658         Fix the build of PluginView on Qt with 64-bit where we disable plugins
1659         at compile time.
1660
1661         Use the FooNone.cpp files at compile-time.
1662
1663         * plugins/PluginPackageNone.cpp:
1664         * plugins/mac/PluginPackageMac.cpp:
1665         * plugins/mac/PluginViewMac.cpp:
1666
1667 2009-06-10  Simon Hausmann  <simon.hausmann@nokia.com>
1668
1669         Fix the Qt build.
1670
1671         ImageDecoderQt needs m_size and m_sizeAvailable to be protected.
1672
1673         * platform/image-decoders/ImageDecoder.h:
1674
1675 2009-06-10  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1676
1677         Reviewed by Simon Hausmann.
1678
1679         [Qt] Use absolute path for install_name on Mac
1680
1681         * WebCore.pro:
1682
1683 2009-06-10  Xan Lopez  <xlopez@igalia.com>
1684
1685         Reviewed by Jan Alonzo.
1686
1687         https://bugs.webkit.org/show_bug.cgi?id=25415
1688         [GTK][ATK] Please implement support for get_text_at_offset
1689
1690         Reduce duplicated code to access the text of a AtkText
1691         object. doAXStringForRange calls text() internally, so we are
1692         doing exactly the same after the change.
1693
1694         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1695         (getGailTextUtilForAtk):
1696         (getPangoLayoutForAtk):
1697
1698 2009-06-10  Xan Lopez  <xlopez@igalia.com>
1699
1700         Reviewed by Jan Alonzo.
1701
1702         https://bugs.webkit.org/show_bug.cgi?id=25415
1703         [GTK][ATK] Please implement support for get_text_at_offset
1704
1705         Pass a PangoLayout to the GailTextUtil function calls.
1706
1707         It's needed for LINE boundary calls to work correctly.
1708
1709         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1710         (updateLayout):
1711         (getPangoLayoutForAtk):
1712         (webkit_accessible_text_get_text_after_offset):
1713         (webkit_accessible_text_get_text_at_offset):
1714
1715 2009-06-10  Xan Lopez  <xlopez@igalia.com>
1716
1717         Reviewed by Jan Alonzo.
1718
1719         https://bugs.webkit.org/show_bug.cgi?id=25415
1720         [GTK][ATK] Please implement support for get_text_at_offset
1721
1722         Use GailUtilText instead of my crappy partial reimplementation of
1723         it. This should add support for LINE boundaries too, although it's
1724         mostly untested for now.
1725
1726         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1727         (getGailTextUtilForAtk):
1728         (webkit_accessible_text_get_text_after_offset):
1729         (webkit_accessible_text_get_text_at_offset):
1730
1731 2009-06-10  Jan Michael Alonzo  <jmalonzo@webkit.org>
1732
1733         Gtk build fix: include <stdio.h> as it is required in jpeglib.h
1734
1735         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1736
1737 2009-06-09  Peter Kasting  <pkasting@google.com>
1738
1739         Reviewed by Eric Seidel.
1740
1741         https://bugs.webkit.org/show_bug.cgi?id=25709 part four
1742         Most of the remaining Cairo changes needed before merging Skia/Cairo
1743         image decoders.  Most of these involve plumbing more error detection and
1744         handling (or, in some cases, merely the capability to detect errors, as
1745         e.g. Skia detects and handles image allocation failure while Cairo
1746         currently doesn't).  There is also some general cleanup and
1747         simplification; RGBA32Buffer::m_height and all associated functions have
1748         been removed (set but never used) and some places now rely on superclass
1749         implementations.
1750
1751         * platform/image-decoders/ImageDecoder.h:
1752         (WebCore::RGBA32Buffer::RGBA32Buffer): Remove m_height, ensureHeight() and associated stuff
1753         (WebCore::RGBA32Buffer::copyBitmapData): Add API function so refcounted backing stores (like Skia uses) can be used with GIFs
1754         (WebCore::RGBA32Buffer::setSize): Zero-fill image to avoid garbage
1755         (WebCore::RGBA32Buffer::height): Remove
1756         (WebCore::RGBA32Buffer::ensureHeight): Remove
1757         (WebCore::ImageDecoder::ImageDecoder): Keep member initialization in order, force subclasses to go through size() instead of accessing m_size directly
1758         (WebCore::ImageDecoder::isSizeAvailable): Check that decoding hasn't failed
1759         (WebCore::ImageDecoder::size): Check that decoding hasn't failed
1760         (WebCore::ImageDecoder::setSize): Protect against integer overflow
1761         (WebCore::ImageDecoder::isOverSize): Protect against integer overflow
1762         * platform/image-decoders/gif/GIFImageDecoder.cpp: Remove prepEmptyFrameBuffer()
1763         (WebCore::GIFImageDecoder::isSizeAvailable): Rely on superclass isSizeAvailable() for better failure handling
1764         (WebCore::GIFImageDecoder::sizeNowAvailable): Add return values for better failure handling, rely on superclass setSize() for overflow protection
1765         (WebCore::GIFImageDecoder::initFrameBuffer): Add return values for better failure handling, remove prepEmptyFrameBuffer(), use RGBA32Buffer::setSize() to handle potential allocation failures (won't happen with Cairo port, can in Skia), use RGBA32Buffer::copyBitmapData() so backing store can be refcounted internally (Cairo won't be, Skia is), rely on superclass size() for better failure handling
1766         (WebCore::GIFImageDecoder::haveDecodedRow): Fix style violation, remove RGBA32Buffer::ensureHeight()
1767         (WebCore::GIFImageDecoder::frameComplete): Remove RGBA32Buffer::ensureHeight()
1768         * platform/image-decoders/gif/GIFImageDecoder.h: Remove prepEmptyFrameBuffer(), add return values for better failure handling
1769         * platform/image-decoders/gif/GIFImageReader.cpp:
1770         (GIFImageReader::do_lzw): Protect against array overflow, add comments
1771         (GIFImageReader::read): Protect against array overflow, be more tolerant of bad data, better failure handling
1772         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: Remove MSVC-specific warning disable (bfulgham will move into build files)
1773         (WebCore::JPEGImageReader::decode): Better failure handling
1774         (WebCore::JPEGImageDecoder::isSizeAvailable): Rely on superclass isSizeAvailable() for better failure handling
1775         (WebCore::JPEGImageDecoder::outputScanlines): Use RGBA32Buffer::setSize() to handle potential allocation failures (won't happen with Cairo port, can in Skia), rely on superclass size() for better failure handling, remove RGBA32Buffer::ensureHeight()
1776         * platform/image-decoders/jpeg/JPEGImageDecoder.h: Rely on superclass setSize() for overflow protection
1777         * platform/image-decoders/png/PNGImageDecoder.cpp: Remove MSVC-specific warning disable (bfulgham will move into build files)
1778         (WebCore::PNGImageDecoder::PNGImageDecoder): Don't allocate a slot in the framebuffer cache until it's needed
1779         (WebCore::PNGImageDecoder::isSizeAvailable): Rely on superclass isSizeAvailable() for better failure handling
1780         (WebCore::PNGImageDecoder::frameBufferAtIndex): Don't allocate a slot in the framebuffer cache until it's needed
1781         (WebCore::PNGImageDecoder::decode): Don't allocate a slot in the framebuffer cache until it's needed
1782         (WebCore::PNGImageDecoder::decodingFailed): Fix style violation
1783         (WebCore::PNGImageDecoder::headerAvailable): Rely on superclass isSizeAvailable() and setSize() for overflow protection and better failure handling
1784         (WebCore::PNGImageDecoder::rowAvailable): Don't allocate a slot in the framebuffer cache until it's needed, use RGBA32Buffer::setSize() to handle potential allocation failures (won't happen with Cairo port, can in Skia), remove RGBA32Buffer::ensureHeight()
1785         (WebCore::PNGImageDecoder::pngComplete): Don't allocate a slot in the framebuffer cache until it's needed
1786
1787 2009-06-09  Kevin Ollivier  <kevino@theolliviers.com>
1788
1789         wx build fix, adding JSCore/assembler to the list of include dirs, and
1790         adding editing/ReplaceNodeSpanCommand.cpp to the build.
1791         
1792         * WebCoreSources.bkl:
1793         * webcore-base.bkl:
1794
1795 2009-06-09  Yury Semikhatsky  <yurys@chromium.org>
1796
1797         Reviewed by Timothy Hatcher.
1798
1799         When checking if the loader is the main resource loader make sure that the loader's frame is the main frame. 
1800
1801         https://bugs.webkit.org/show_bug.cgi?id=26218
1802
1803         * inspector/InspectorController.cpp:
1804         (WebCore::InspectorController::didLoadResourceFromMemoryCache):
1805         (WebCore::InspectorController::identifierForInitialRequest):
1806         (WebCore::InspectorController::isMainResourceLoader):
1807         * inspector/InspectorController.h:
1808
1809 2009-06-09  Pierre d'Herbemont  <pdherbemont@apple.com>
1810
1811         Reviewed by Eric Seidel.
1812
1813         https://bugs.webkit.org/show_bug.cgi?id=26190
1814
1815         Test: media/controls-css-overload.html
1816
1817         * rendering/RenderMedia.cpp:
1818         (WebCore::RenderMedia::updateControls): Prevent NULL dereference in case containers gets hidden.
1819
1820 2009-06-08  Peter Kasting  <pkasting@google.com>
1821
1822         Reviewed by Eric Seidel.
1823
1824         https://bugs.webkit.org/show_bug.cgi?id=25709 part three
1825         Various minor cleanups to the Skia files.  Mostly non-functional, except
1826         for two specific changes:
1827         * JPEGs and PNGs were always marked as transparent; now they are only
1828           marked as transparent when they actually are.  I doubt this has much
1829           of an effect but in theory it could be used to optimize their display.
1830         * Instead of arbitrarily disallowing images over 32 * 1024 * 1024 px^2,
1831           only disallow images which are so large they will cause overflow in
1832           other parts of the code.  This should fix the testcase on
1833           http://code.google.com/p/chromium/issues/detail?id=3643.
1834
1835         * platform/image-decoders/skia/BMPImageReader.h:
1836         (WebCore::BMPImageReader::setRGBA): Use simpler non-static setRGBA() form
1837         * platform/image-decoders/skia/GIFImageDecoder.cpp:
1838         (WebCore::GIFImageDecoder::initFrameBuffer): Remove unneeded code, use more readable setRGBA() form
1839         (WebCore::GIFImageDecoder::haveDecodedRow): Fix style violation
1840         * platform/image-decoders/skia/GIFImageDecoder.h: Remove unneeded code
1841         * platform/image-decoders/skia/ImageDecoder.h:
1842         (WebCore::RGBA32Buffer::setSize): setSize() should just setStatus() when it fails since all callers were doing it
1843         (WebCore::ImageDecoder::isOverSize): Ease "oversized" image constraints to allow any image that won't overflow
1844         * platform/image-decoders/skia/JPEGImageDecoder.cpp:
1845         (WebCore::JPEGImageDecoder::outputScanlines): Remove unneeded code, mark JPEGs as non-transparent
1846         * platform/image-decoders/skia/PNGImageDecoder.cpp:
1847         (WebCore::PNGImageDecoder::decodingFailed): Fix style violation
1848         (WebCore::PNGImageDecoder::rowAvailable): Mark un-decoded PNGs as non-transparent (this will get reset later as needed)
1849         * platform/image-decoders/skia/XBMImageDecoder.cpp:
1850         (WebCore::XBMImageDecoder::frameBufferAtIndex): Remove unneeded code
1851
1852 2009-06-09  Darin Fisher  <darin@chromium.org>
1853
1854         Fix Chromium build bustage.
1855         
1856         CachedResource.cpp no longer compiles if USE(JSC) is not defined.  The
1857         problem is that this file is using a macro from StdLibExtras.h without
1858         including that file.  It just happenes to get that file via a JSC
1859         specific include.
1860
1861         * loader/CachedResource.cpp:
1862
1863 2009-06-09  Dean McNamee  <deanm@chromium.org>
1864
1865         Reviewed by Oliver Hunt.
1866
1867         Make sure the graphics backends are in sync with the canvas lineWidth state.
1868         https://bugs.webkit.org/show_bug.cgi?id=26187
1869
1870         Test: fast/canvas/canvas-line-width.html
1871
1872         * html/CanvasRenderingContext2D.cpp:
1873         (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
1874
1875 2009-06-09  Michael Nordman  <michaeln@google.com>
1876
1877         Reviewed by Eric Seidel.
1878
1879         Proactively cancel pending requests at DocLoader dtor time,
1880         otherwise crashes can occur. 
1881
1882         https://bugs.webkit.org/show_bug.cgi?id=26230
1883         http://code.google.com/p/chromium/issues/detail?id=12161
1884
1885         Test: fast/frames/javascript-url-as-framesrc-crash.html
1886
1887         * loader/DocLoader.cpp:
1888         (WebCore::DocLoader::~DocLoader):
1889
1890 2009-06-09  Eric Seidel  <eric@webkit.org>
1891
1892         Reviewed by Darin Adler.
1893
1894         Fix ASSERT seen in shadow tree testing
1895         https://bugs.webkit.org/show_bug.cgi?id=25092
1896
1897         Test: svg/custom/use-mutation-event-crash.svg
1898
1899         * svg/SVGUseElement.cpp:
1900         (WebCore::SVGUseElement::instanceForShadowTreeElement):
1901
1902 2009-06-09  Brent Fulgham  <bfulgham@webkit.org>
1903
1904         Reviewed by Eric Seidel.
1905
1906         Fixes https://bugs.webkit.org/show_bug.cgi?id=22891
1907         Scrolling in Windows Cairo Broken if no background color set.
1908
1909         * platform/graphics/cairo/GradientCairo.cpp:
1910         (WebCore::Gradient::fill):  Use the GraphicsContext save and restore
1911           methods (rather than the Cairo-only functions) so that the Windows
1912           device context is kept in sync.
1913         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1914         (WebCore::GraphicsContext::GraphicsContext): Add new constructor call
1915           to sync Windows HDC with Cairo surface.
1916         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
1917         (WebCore::GraphicsContextPlatformPrivate::syncContext): Provide
1918           declaration for Windows HDC sync method (and stub for non-Windows
1919           Cairo implementations).
1920         * platform/graphics/cairo/ImageCairo.cpp:
1921         (WebCore::BitmapImage::draw): Use GraphicsContext save and restore
1922           methods (rather than the Cairo-only functions) so that the Windows
1923           device context is kept in sync.
1924         * platform/graphics/win/GraphicsContextCairoWin.cpp:
1925         (WebCore::CairoContextWithHDC): New method to create a valid Cairo
1926           context for a given HDC.
1927         (WebCore::GraphicsContext::GraphicsContext): Modify constructor to
1928           use new CairoContextWithHDC call.
1929         (WebCore::GraphicsContext::getWindowsContext): Revise to match
1930           behavior of CG implementation.
1931         (WebCore::GraphicsContext::releaseWindowsContext): Revise to match
1932           behavior of CG implementation.
1933         (WebCore::GraphicsContextPlatformPrivate::concatCTM): Get rid of
1934           incorrect new HDC, and use object's HDC member for dealing with
1935           concatCTM operations.
1936         (WebCore::GraphicsContextPlatformPrivate::syncContext): New method
1937           to sync Windows HDC with Cairo context.
1938         * platform/graphics/win/ImageCairoWin.cpp:
1939         (WebCore::BitmapImage::getHBITMAPOfSize): Revise implementation to
1940           match CG behavior.
1941
1942 2009-06-09  Jian Li  <jianli@chromium.org>
1943
1944         Reviewed by David Levin.
1945
1946         Bug 26196: Fix the problem that worker's importScripts fails if the
1947         script URL is redirected from different origin.
1948         https://bugs.webkit.org/show_bug.cgi?id=26196
1949
1950         Test: http/tests/workers/worker-importScripts.html
1951
1952         The fix is to pass an additional enum parameter to the loader in
1953         order to tell it to perform the redirect origin check or not.
1954
1955         * loader/DocumentThreadableLoader.cpp:
1956         (WebCore::DocumentThreadableLoader::create):
1957         (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
1958         (WebCore::DocumentThreadableLoader::willSendRequest):
1959         * loader/DocumentThreadableLoader.h:
1960         * loader/ThreadableLoader.cpp:
1961         (WebCore::ThreadableLoader::create):
1962         (WebCore::ThreadableLoader::loadResourceSynchronously):
1963         * loader/ThreadableLoader.h:
1964         (WebCore::):
1965         * loader/WorkerThreadableLoader.cpp:
1966         (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
1967         (WebCore::WorkerThreadableLoader::loadResourceSynchronously):
1968         (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
1969         (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader):
1970         * loader/WorkerThreadableLoader.h:
1971         (WebCore::WorkerThreadableLoader::create):
1972         * workers/WorkerContext.cpp:
1973         (WebCore::WorkerContext::importScripts):
1974         * xml/XMLHttpRequest.cpp:
1975         (WebCore::XMLHttpRequest::loadRequestAsynchronously):
1976
1977 2009-06-09  Anand K. Mistry  <amistry@google.com>
1978
1979         Reviewed by Dimitri Glazkov.
1980
1981         Paint bitmaps with the alpha channel in Skia.
1982         https://bugs.webkit.org/show_bug.cgi?id=26037
1983
1984         Test: fast/canvas/drawImage-with-globalAlpha.html
1985
1986         * platform/graphics/skia/ImageSkia.cpp:
1987         (WebCore::paintSkBitmap):
1988         * platform/graphics/skia/PlatformContextSkia.cpp:
1989         (PlatformContextSkia::getAlpha):
1990         * platform/graphics/skia/PlatformContextSkia.h:
1991
1992 2009-06-09  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
1993
1994         Reviewed by Xan Lopez.
1995
1996         https://bugs.webkit.org/show_bug.cgi?id=26104
1997         [GTK] Make NetworkRequest a proper GObject and expose SoupMessage
1998
1999         Refactor how SoupMessage is handled, so that our ResourceRequest
2000         object doesn't have to store it as a member, which complicates
2001         managing ResourceRequest's lifetime.
2002
2003         * platform/network/soup/ResourceHandleSoup.cpp:
2004         (WebCore::ResourceHandle::startHttp):
2005         * platform/network/soup/ResourceRequest.h:
2006         (WebCore::ResourceRequest::ResourceRequest):
2007         (WebCore::ResourceRequest::doUpdatePlatformRequest):
2008         (WebCore::ResourceRequest::doUpdateResourceRequest):
2009         * platform/network/soup/ResourceRequestSoup.cpp:
2010         (WebCore::ResourceRequest::toSoupMessage):
2011         (WebCore::ResourceRequest::updateFromSoupMessage):
2012
2013 2009-06-09  Simon Hausmann  <simon.hausmann@nokia.com>
2014
2015         Fix the Qt build, the time functions moved into the WTF namespace.
2016
2017         * bridge/qt/qt_runtime.cpp:
2018         (JSC::Bindings::convertValueToQVariant):
2019         (JSC::Bindings::convertQVariantToValue):
2020
2021 2009-06-08  Brady Eidson  <beidson@apple.com>
2022
2023         Reviewed by Antti Koivisto
2024
2025         <rdar://problem/6727495> Repro crash in WebCore::Loader::Host::servePendingRequests() and dupes.
2026
2027         Test: http/tests/loading/deleted-host-in-resource-load-delegate-callback.html
2028
2029         Loader::Host objects were manually managed via new/delete.
2030         There's a variety of circumstances where a Host might've been deleted while it was still in the middle
2031         of a resource load delegate callback.
2032         Changing them to be RefCounted then adding protectors in the callbacks makes this possibility disappear.
2033
2034         At the same time, remove ProcessingResource which was an earlier fix for this same problem that wasn't
2035         fully implemented.
2036
2037         * loader/loader.cpp:
2038         (WebCore::Loader::Loader):
2039         (WebCore::Loader::load):
2040         (WebCore::Loader::servePendingRequests):
2041         (WebCore::Loader::resumePendingRequests):
2042         (WebCore::Loader::cancelRequests):
2043         (WebCore::Loader::Host::didFinishLoading):
2044         (WebCore::Loader::Host::didFail):
2045         (WebCore::Loader::Host::didReceiveResponse):
2046         (WebCore::Loader::Host::didReceiveData):
2047         * loader/loader.h:
2048         (WebCore::Loader::Host::create):
2049
2050 2009-06-08  Dmitry Titov  <dimich@chromium.org>
2051
2052         Reviewed by David Levin.
2053
2054         https://bugs.webkit.org/show_bug.cgi?id=26126
2055         Refactor methods of WorkerMessagingProxy used to talk to main-thread loader into new interface.
2056
2057         Split a couple of methods used to schedule cross-thread tasks between worker thread and loader thread
2058         implemented on WorkerMessagingProxy into a separate interface so the loading can be implemented in
2059         Chromium's workers.
2060
2061         No changes in functionality so no tests added.
2062
2063         * GNUmakefile.am:
2064         * WebCore.vcproj/WebCore.vcproj:
2065         * WebCore.xcodeproj/project.pbxproj:
2066         Added WorkerLoaderProxy.h to the bulid.
2067
2068         * bindings/js/WorkerScriptController.cpp:
2069         (WebCore::WorkerScriptController::evaluate): WorkerThread::workerObjectProxy() now returns & instead of *
2070         * bindings/v8/WorkerScriptController.cpp:
2071         (WebCore::WorkerScriptController::evaluate): same.
2072         * workers/WorkerContext.cpp:
2073         (WebCore::WorkerContext::~WorkerContext): same.
2074         (WebCore::WorkerContext::reportException): same.
2075         (WebCore::WorkerContext::addMessage): same.
2076         (WebCore::WorkerContext::postMessage): same.
2077
2078         * loader/WorkerThreadableLoader.cpp:
2079         (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
2080         (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
2081         (WebCore::WorkerThreadableLoader::MainThreadBridge::destroy):
2082         (WebCore::WorkerThreadableLoader::MainThreadBridge::cancel):
2083         (WebCore::WorkerThreadableLoader::MainThreadBridge::didSendData):
2084         (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse):
2085         (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData):
2086         (WebCore::WorkerThreadableLoader::MainThreadBridge::didFinishLoading):
2087         (WebCore::WorkerThreadableLoader::MainThreadBridge::didFail):
2088         (WebCore::WorkerThreadableLoader::MainThreadBridge::didFailRedirectCheck):
2089         (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveAuthenticationCancellation):
2090         Use WorkerLoaderProxy instead of WorkerMessagingProxy for the MainThreadBridge.
2091         Mostly rename.
2092
2093         (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader):
2094         In addition to using WorkerLoaderProxy instead of WorkerMessagingProxy, the check for
2095         AskedToTerminate is removed. It seems to be an optimization for a very small number of cases
2096         when worker termination is requested a very short time before the request to load something
2097         (XHR or importScript) was dispatched on the main thread.
2098
2099         * loader/WorkerThreadableLoader.h:
2100         Now keeps a pointer to WorkerLoaderProxy rather then to a WorkerMessagingProxy. This allows
2101         to implement WorkerThreadableLoader for Chromium.
2102
2103         * workers/WorkerLoaderProxy.h: Added.
2104         (WebCore::WorkerLoaderProxy::~WorkerLoaderProxy):
2105
2106         * workers/WorkerMessagingProxy.cpp:
2107         (WebCore::WorkerMessagingProxy::startWorkerContext):
2108         (WebCore::WorkerMessagingProxy::postTaskToLoader): Added ASSERT since this needs to be implemented for nested workers.
2109         * workers/WorkerMessagingProxy.h:
2110         Derived from WorkerLoaderProxy, the methods for posting tasks cross-thread are now virtual.
2111         Removed unused postTaskToWorkerContext() method.
2112
2113         * workers/WorkerThread.cpp:
2114         (WebCore::WorkerThread::create):
2115         (WebCore::WorkerThread::WorkerThread):
2116         * workers/WorkerThread.h:
2117         (WebCore::WorkerThread::workerLoaderProxy):
2118         * workers/WorkerThread.cpp:
2119         (WebCore::WorkerThread::create):
2120         (WebCore::WorkerThread::WorkerThread):
2121         (WebCore::WorkerThread::workerThread):
2122         * workers/WorkerThread.h:
2123         (WebCore::WorkerThread::workerLoaderProxy):
2124         (WebCore::WorkerThread::workerObjectProxy):
2125         WorkerThread gets a new member of type WorkerLoaderProxy&, and accessor.
2126         Also, existing WorkerObjectProxy* member is now WorkerObjectProxy& because it can't be null.
2127
2128 2009-06-08  Dimitri Glazkov  <dglazkov@chromium.org>
2129
2130         Reviewed by Eric Seidel.
2131
2132         https://bugs.webkit.org/show_bug.cgi?id=26238
2133         Add parseDate helper to HTTPParsers, which uses WTF::parseDateFromNullTerminatedCharacters.
2134
2135         * ForwardingHeaders/runtime/DateMath.h: Removed.
2136         * ForwardingHeaders/wtf/DateMath.h: Copied from WebCore/ForwardingHeaders/runtime/DateMath.h.
2137         * platform/network/HTTPParsers.cpp:
2138         (WebCore::parseDate): Added.
2139         * platform/network/HTTPParsers.h:
2140         * platform/network/ResourceResponseBase.cpp:
2141         (WebCore::parseDateValueInHeader): Changed to use the new helper.
2142
2143 2009-06-08  Adam Langley  <agl@google.com>
2144
2145         Reviewed by Eric Siedel.
2146
2147         Chromium Linux ignored the background color on <select>s. Rather
2148         than encode magic colours, we start with a base color (specified
2149         via CSS) and derive the other colors from it. Thus, setting the
2150         CSS background-color now correctly changes the colour of the
2151         control.
2152
2153         This should not change the appearence controls without
2154         background-colors. However, <select>s with a background-color
2155         will now renderer correctly, which may require rebaselining
2156         pixel tests in the Chromium tree.
2157
2158         https://bugs.webkit.org/show_bug.cgi?id=26030
2159         http://code.google.com/p/chromium/issues/detail?id=12596
2160
2161         * platform/graphics/Color.cpp:
2162         (WebCore::Color::getHSL): new member
2163         * platform/graphics/Color.h:
2164         * rendering/RenderThemeChromiumLinux.cpp:
2165         (WebCore::RenderThemeChromiumLinux::systemColor):
2166         (WebCore::brightenColor):
2167         (WebCore::paintButtonLike):
2168
2169 2009-06-08  Victor Wang <victorw@chromium.org>
2170
2171         Reviewed by Dimitri Glazkov.
2172
2173         https://bugs.webkit.org/show_bug.cgi?id=26087
2174         Bug 26087: Removing element in JS crashes Chrome tab if it fired the change event
2175
2176         Fix tab crash caused by destroying the popup list that fired the change event on abandon.
2177
2178         If a popup list is abandoned (press a key to jump to an item
2179         and then use tab or mouse to get away from the select box),
2180         the current code fires a change event in PopupListBox::updateFromElemt().
2181         The JS that listens to this event may destroy the object and cause the
2182         rest of popup list code crashes.
2183
2184         The updateFromElement() is called before abandon() and this causes
2185         the selected index to be discarded after updateFromElement(). From
2186         the code comments, this appears to be the reason why valueChanged is
2187         called in updateFromElement.
2188
2189         Fix the issue by removing the valueChanged call in updateFromElement,
2190         saving the selected index that we should accept on abandon and pass
2191         it to the valueChange in abandon().
2192
2193         A manual test has been added.
2194
2195         * manual-tests/chromium: Added.
2196         * manual-tests/chromium/onchange-reload-popup.html: Added.
2197         * platform/chromium/PopupMenuChromium.cpp:
2198         (WebCore::PopupListBox::PopupListBox):
2199         (WebCore::PopupListBox::handleKeyEvent):
2200         (WebCore::PopupListBox::abandon):
2201         (WebCore::PopupListBox::updateFromElement):
2202
2203 2009-06-08  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2204
2205         Reviewed by Simon Hausmann.
2206
2207         [Qt] Disable a few warnings on Windows
2208
2209         * WebCore.pro:
2210
2211 2009-06-08  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2212
2213         Reviewed by Simon Hausmann.
2214
2215         [Qt] Don't enable ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH on Windows
2216         
2217         This define was brought in after refactoring some code from
2218         PluginPackage(Qt|Gtk).cpp into the shared PluginPackage.cpp.
2219
2220         * WebCore.pro:
2221
2222 2009-06-08  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2223
2224         Reviewed by Simon Hausmann.
2225
2226         [Qt] Use $QMAKE_PATH_SEP instead of hardcoded / to fix Windows build
2227
2228         * WebCore.pro:
2229
2230 2009-06-08  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2231
2232         Reviewed by Ariya Hidayat.
2233
2234         [Qt] Build fix when NETSCAPE_PLUGIN_API support is turned off
2235         https://bugs.webkit.org/show_bug.cgi?id=26244
2236
2237         * WebCore.pro: Define PLUGIN_PACKAGE_SIMPLE_HASH only if
2238         NETSCAPE_PLUGIN_API is turned on
2239         * plugins/PluginPackage.cpp: Guard initializeBrowserFuncs()
2240         * plugins/PluginViewNone.cpp: Match guards with PluginView.h
2241
2242 2009-06-07  Dan Bernstein  <mitz@apple.com>
2243
2244         Reviewed by Sam Weinig.
2245
2246         - fix <rdar://problem/6931661> -[WebView _selectionIsAll] returns YES
2247           when the selection is inside a text field.
2248
2249         * editing/VisibleSelection.cpp:
2250         (WebCore::VisibleSelection::isAll): Return false if the selection is in
2251         a shadow tree.
2252
2253 2009-06-07  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
2254
2255         Reviewed by Holger Freyther.
2256
2257         https://bugs.webkit.org/show_bug.cgi?id=26106
2258         [GTK] Crashes when you keep a combo open during a page transition, then close it
2259
2260         Hide the combo popup and disconnect from its signals during
2261         PopupMenu destruction to handle this exceptional case with no
2262         crash.
2263
2264         * platform/gtk/PopupMenuGtk.cpp:
2265         (WebCore::PopupMenu::~PopupMenu):
2266         (WebCore::PopupMenu::menuUnmapped):
2267
2268 2009-06-06  Sam Weinig  <sam@webkit.org>
2269
2270         Reviewed by Dan Bernstein.
2271
2272         Fix for <rdar://problem/6930540>
2273         REGRESSION (r43797): Serif and fantasy font-family names are wrong in result of getComputedStyle
2274
2275         Test: fast/css/font-family-builtins.html
2276
2277         * css/CSSComputedStyleDeclaration.cpp:
2278         (WebCore::identifierForFamily): Fix typo. Fantasy family should be
2279         -webkit-fantasy not, -webkit-serif.
2280
2281 2009-06-06  Sam Weinig  <sam@webkit.org>
2282
2283         Reviewed by Brady Eidson.
2284
2285         Fix for <rdar://problem/6936235>
2286         Need to support StorageEvent.storageArea to meet the Web Storage spec
2287
2288         * storage/LocalStorageArea.cpp:
2289         (WebCore::LocalStorageArea::dispatchStorageEvent): Pass the localStorage for
2290         the frame being dispatched to.
2291         * storage/SessionStorageArea.cpp:
2292         (WebCore::SessionStorageArea::dispatchStorageEvent): Ditto, only for sessionStorage.
2293
2294         * storage/StorageEvent.cpp:
2295         (WebCore::StorageEvent::StorageEvent):
2296         (WebCore::StorageEvent::initStorageEvent):
2297         * storage/StorageEvent.h:
2298         (WebCore::StorageEvent::create):
2299         (WebCore::StorageEvent::storageArea):
2300         * storage/StorageEvent.idl:
2301         Add storageArea member.
2302
2303 2009-06-05  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
2304
2305         Reviewed by Anders Carlsson.
2306
2307         Fix WMLInputElement initialization code. Don't call initialize() on attach(), let
2308         WMLCardElement handle initialization once, after the document has been parsed.
2309
2310         To keep layout tests working introduce a new function in Document.idl: initializeWMLPageState().
2311         WMLTestCase.js (the wml/ layout test framework) will use it to simulate a regular WML document,
2312         whose variable state gets initialized on WMLDocument::finishedParsing(). Force initialization
2313         of the WML variable state, right after the dynamically created elements have been inserted into the tree.
2314
2315         * dom/Document.cpp:
2316         (WebCore::Document::initializeWMLPageState):
2317         * dom/Document.h:
2318         * dom/Document.idl:
2319         * wml/WMLCardElement.cpp:
2320         (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded):
2321         * wml/WMLDocument.cpp:
2322         (WebCore::WMLDocument::finishedParsing):
2323         (WebCore::WMLDocument::initialize):
2324         * wml/WMLDocument.h:
2325         * wml/WMLInputElement.cpp:
2326         (WebCore::WMLInputElement::initialize):
2327         * wml/WMLInputElement.h:
2328
2329 2009-06-05  Sam Weinig  <sam@webkit.org>
2330
2331         Reviewed by Anders Carlsson.
2332
2333         Add ononline and onoffline attributes for the <body> element. 
2334
2335         * html/HTMLAttributeNames.in: Added ononlineAttr and onofflineAttr.
2336         * html/HTMLBodyElement.cpp:
2337         (WebCore::HTMLBodyElement::parseMappedAttribute): Map ononlineAttr
2338         and onofflineAttr to window event listeners.
2339
2340 2009-06-05  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2341
2342         Reviewed by Simon Hausmann.
2343
2344         [Qt] Add missing includes of config.h
2345
2346         * platform/qt/QWebPopup.cpp:
2347         * platform/text/qt/TextBreakIteratorQt.cpp:
2348
2349 2009-06-05  Fumitoshi Ukai  <ukai@google.com>
2350
2351         Reviewed by Dimitri Glazkov.
2352
2353         https://bugs.webkit.org/show_bug.cgi?id=26215
2354         Try to fix the Chromium build.
2355
2356         * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
2357         (WebCore::fillBMPGlyphs):
2358         (WebCore::fillNonBMPGlyphs):
2359
2360 2009-06-05  Shinichiro Hamaji  <hamaji@chromium.org>
2361
2362         Bug 26160: Compile fails in MacOSX when GNU fileutils are installed
2363
2364         <https://bugs.webkit.org/show_bug.cgi?id=26160>
2365
2366         Reviewed by Alexey Proskuryakov.
2367
2368         Use /bin/ln instead of ln for cases where this command is used with -h option.
2369         As this option is not supported by GNU fileutils, this change helps users 
2370         who have GNU fileutils in their PATH.
2371
2372         * WebCore.xcodeproj/project.pbxproj:
2373
2374 2009-06-03  Ben Murdoch  <benm@google.com>
2375
2376         <https://bugs.webkit.org/show_bug.cgi?id=25710> HTML5 Database stops executing transactions if the URL hash changes while a transaction is open and an XHR is in progress.
2377
2378         Reviewed by Alexey Proskuryakov.
2379
2380         Fix a bug that causes database transactions to fail if a history navigation to a hash fragment of the same document is made while resources (e.g. an XHR) are loading
2381
2382         Test: storage/hash-change-with-xhr.html
2383
2384         * loader/DocumentLoader.cpp:
2385         (WebCore::DocumentLoader::stopLoading):
2386         * loader/DocumentLoader.h:
2387         * loader/FrameLoader.cpp:
2388         (WebCore::FrameLoader::stopLoading):
2389         (WebCore::FrameLoader::stopAllLoaders):
2390         * loader/FrameLoader.h:
2391         * loader/FrameLoaderTypes.h:
2392         (WebCore::):
2393         * page/Page.cpp:
2394         (WebCore::Page::goToItem):
2395         * WebCore.base.exp:
2396
2397 2009-06-03  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2398
2399         Reviewed by Simon Hausmann.
2400
2401         [Qt] Make sure the correct config.h is included when shadowbuilding
2402
2403         * WebCore.pro:
2404
2405 2009-06-05  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2406
2407         Reviewed by Simon Hausmann.
2408
2409         Fix Qt build after r44452
2410
2411         * platform/network/qt/QNetworkReplyHandler.cpp:
2412         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
2413
2414 2009-06-05  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2415
2416         Reviewed by Simon Hausmann.
2417
2418         [Qt] Remove some dead code (MenuEventProxy)
2419
2420         * WebCore.pro:
2421         * platform/ContextMenu.h:
2422         * platform/qt/ContextMenuQt.cpp:
2423         * platform/qt/MenuEventProxy.h: Removed.
2424
2425 2009-06-05  Xan Lopez  <xlopez@igalia.com>
2426
2427         More build fixes.
2428
2429         * platform/graphics/gtk/GlyphPageTreeNodePango.cpp:
2430         (WebCore::GlyphPage::fill):
2431
2432 2009-06-05  Xan Lopez  <xlopez@igalia.com>
2433
2434         Fix the GTK+ build.
2435
2436         * GNUmakefile.am:
2437         * platform/graphics/gtk/FontCacheGtk.cpp:
2438         (WebCore::FontCache::getFontDataForCharacters):
2439         * platform/graphics/gtk/GlyphPageTreeNodeGtk.cpp:
2440         (WebCore::GlyphPage::fill):
2441
2442 2009-06-05  Antti Koivisto  <antti@apple.com>
2443
2444         Try to fix Windows (and possibly other platforms) build.
2445
2446         Restore ResourceResponseBase::lastModifiedDate() and setLastModifiedDate() removed in previous commit.
2447         for now since PluginStream used on some platforms expects them and calculations differ from plain 
2448         Last-modified header value.
2449         
2450         Also include <wtf/MathExtras.h> to get isfinite().
2451
2452         * platform/network/ResourceResponseBase.cpp:
2453         (WebCore::ResourceResponseBase::adopt):
2454         (WebCore::ResourceResponseBase::copyData):
2455         (WebCore::ResourceResponseBase::setLastModifiedDate):
2456         (WebCore::ResourceResponseBase::lastModifiedDate):
2457         * platform/network/ResourceResponseBase.h:
2458         * platform/network/cf/ResourceResponseCFNet.cpp:
2459         (WebCore::ResourceResponse::platformLazyInit):
2460
2461 2009-06-03  Antti Koivisto  <antti@apple.com>
2462
2463         Reviewed by Dave Kilzer.
2464
2465         https://bugs.webkit.org/show_bug.cgi?id=13128
2466         Safari not obeying cache header
2467         
2468         Implement RFC 2616 cache expiration calculations in WebKit instead of
2469         relying on the networking layer.
2470
2471         * ForwardingHeaders/runtime/DateMath.h: Added.
2472         * WebCore.base.exp:
2473         * loader/Cache.cpp:
2474         (WebCore::Cache::revalidationSucceeded):
2475         * loader/CachedResource.cpp:
2476         (WebCore::CachedResource::CachedResource):
2477         (WebCore::CachedResource::isExpired):
2478         (WebCore::CachedResource::currentAge):
2479         (WebCore::CachedResource::freshnessLifetime):
2480         (WebCore::CachedResource::setResponse):
2481         (WebCore::CachedResource::updateResponseAfterRevalidation):
2482         (WebCore::CachedResource::mustRevalidate):
2483         * loader/CachedResource.h:
2484         * platform/network/ResourceResponseBase.cpp:
2485         (WebCore::ResourceResponseBase::ResourceResponseBase):
2486         (WebCore::ResourceResponseBase::adopt):
2487         (WebCore::ResourceResponseBase::copyData):
2488         (WebCore::ResourceResponseBase::setHTTPHeaderField):
2489         (WebCore::ResourceResponseBase::parseCacheControlDirectives):
2490         (WebCore::ResourceResponseBase::cacheControlContainsNoCache):
2491         (WebCore::ResourceResponseBase::cacheControlContainsMustRevalidate):
2492         (WebCore::ResourceResponseBase::cacheControlMaxAge):
2493         (WebCore::parseDateValueInHeader):
2494         (WebCore::ResourceResponseBase::date):
2495         (WebCore::ResourceResponseBase::age):
2496         (WebCore::ResourceResponseBase::expires):
2497         (WebCore::ResourceResponseBase::lastModified):
2498         (WebCore::ResourceResponseBase::isAttachment):
2499         (WebCore::ResourceResponseBase::compare):
2500         * platform/network/ResourceResponseBase.h:
2501         * platform/network/cf/ResourceResponseCFNet.cpp:
2502         (WebCore::ResourceResponse::platformLazyInit):
2503         * platform/network/mac/ResourceResponseMac.mm:
2504         (WebCore::ResourceResponse::platformLazyInit):
2505
2506 2009-06-04  Roland Steiner <rolandsteiner@google.com>
2507
2508         Reviewed by Eric Seidel.
2509
2510         Bug 26201: Remove superfluous 'if' statements in RenderTable::addChild
2511         https://bugs.webkit.org/show_bug.cgi?id=26201
2512
2513         * rendering/RenderTable.cpp:
2514         (WebCore::RenderTable::addChild): remove superfluous 'if' statements
2515        
2516
2517 2009-06-04  Roland Steiner <rolandsteiner@google.com>
2518
2519         Reviewed by Eric Seidel.
2520
2521         Bug 26202: add macros for primitive values to simplify CSSStyleSelector::applyProperty
2522         https://bugs.webkit.org/show_bug.cgi?id=26202
2523
2524         * css/CSSStyleSelector.cpp: add HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE[_WITH_VALUE] macros
2525         (WebCore::CSSStyleSelector::applyProperty): use new macros
2526
2527 2009-06-04  Roland Steiner <rolandsteiner@google.com>
2528
2529         Reviewed by Eric Seidel
2530
2531         Bug 26203: Move parsing of 'attr(X)' values to own method
2532         https://bugs.webkit.org/show_bug.cgi?id=26203
2533
2534         * css/CSSParser.cpp:
2535         (WebCore::CSSParser::parseAttr): new method
2536         (WebCore::CSSParser::parseContent): use new parseAttr method
2537         * css/CSSParser.h:
2538         (WebCore::CSSParser::parseAttr): new method
2539
2540 2009-06-04  Roland Steiner <rolandsteiner@google.com>
2541
2542         Reviewed by Eric Seidel.
2543
2544         Bug 26205: RenderTableSection::addChild : correct comment
2545         https://bugs.webkit.org/show_bug.cgi?id=26205
2546
2547         * rendering/RenderTableSection.cpp:
2548         (WebCore::RenderTableSection::addChild): correct comment
2549
2550 2009-06-04  Roland Steiner <rolandsteiner@google.com>
2551
2552         Reviewed by Eric Seidel.
2553
2554         Bug 26204: RenderBlock : simplify handleSpecialChild, comment correction
2555         https://bugs.webkit.org/show_bug.cgi?id=26204
2556
2557         * rendering/RenderBlock.cpp:
2558         (WebCore::RenderBlock::handleSpecialChild): simplify usage
2559         (WebCore::RenderBlock::handlePositionedChild): simplify usage
2560         (WebCore::RenderBlock::handleFloatingChild): simplify usage
2561         (WebCore::RenderBlock::handleRunInChild): simplify usage
2562         (WebCore::RenderBlock::layoutBlock): correct comment
2563         (WebCore::RenderBlock::layoutBlockChildren): simplify loop, change call to handleSpecialChild
2564         * rendering/RenderBlock.h: 
2565         (WebCore::RenderBlock::handleSpecialChild): change signature
2566         (WebCore::RenderBlock::handlePositionedChild): change signature
2567         (WebCore::RenderBlock::handleFloatingChild): change signature
2568         (WebCore::RenderBlock::handleRunInChild): change signature
2569
2570 2009-06-04  Dan Bernstein  <mitz@apple.com>
2571
2572         - retry to fix the Tiger build
2573
2574         * platform/graphics/mac/SimpleFontDataMac.mm:
2575         (WebCore::initFontData):
2576
2577 2009-06-04  Dan Bernstein  <mitz@apple.com>
2578
2579         - try to fix the Tiger build
2580
2581         * platform/graphics/SimpleFontData.h:
2582
2583 2009-06-04  Dan Bernstein  <mitz@apple.com>
2584
2585         - try to fix the Leopard and Tiger builds
2586
2587         * platform/graphics/SimpleFontData.h:
2588
2589 2009-06-04  Dan Bernstein  <mitz@apple.com>
2590
2591         - try to fix the Windows build
2592
2593         * platform/graphics/win/UniscribeController.cpp:
2594         (WebCore::UniscribeController::shapeAndPlaceItem):
2595
2596 2009-06-04  Dan Bernstein  <mitz@apple.com>
2597
2598         Reviewed by Sam Weinig.
2599
2600         - make SimpleFontData's data members private
2601         - rename SimpleFontData's m_font member to m_platformData
2602
2603         * platform/graphics/Font.h:
2604         (WebCore::Font::spaceWidth):
2605         * platform/graphics/SimpleFontData.cpp:
2606         (WebCore::SimpleFontData::SimpleFontData):
2607         * platform/graphics/SimpleFontData.h:
2608         (WebCore::SimpleFontData::platformData):
2609         (WebCore::SimpleFontData::spaceWidth):
2610         (WebCore::SimpleFontData::adjustedSpaceWidth):
2611         (WebCore::SimpleFontData::syntheticBoldOffset):
2612         (WebCore::SimpleFontData::spaceGlyph):
2613         (WebCore::SimpleFontData::getNSFont):
2614         (WebCore::SimpleFontData::getQtFont):
2615         (WebCore::SimpleFontData::getWxFont):
2616         * platform/graphics/WidthIterator.cpp:
2617         (WebCore::WidthIterator::advance):
2618         * platform/graphics/cairo/FontCairo.cpp:
2619         (WebCore::Font::drawGlyphs):
2620         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
2621         (WebCore::SimpleFontData::platformInit):
2622         (WebCore::SimpleFontData::smallCapsFontData):
2623         (WebCore::SimpleFontData::determinePitch):
2624         (WebCore::SimpleFontData::platformWidthForGlyph):
2625         * platform/graphics/chromium/SimpleFontDataLinux.cpp:
2626         (WebCore::SimpleFontData::platformInit):
2627         (WebCore::SimpleFontData::smallCapsFontData):
2628         (WebCore::SimpleFontData::containsCharacters):
2629         (WebCore::SimpleFontData::platformWidthForGlyph):
2630         * platform/graphics/gtk/FontGtk.cpp:
2631         (WebCore::setPangoAttributes):
2632         * platform/graphics/gtk/SimpleFontDataGtk.cpp:
2633         (WebCore::SimpleFontData::platformInit):
2634         (WebCore::SimpleFontData::containsCharacters):
2635         (WebCore::SimpleFontData::determinePitch):
2636         (WebCore::SimpleFontData::platformWidthForGlyph):
2637         (WebCore::SimpleFontData::setFont):
2638         * platform/graphics/gtk/SimpleFontDataPango.cpp:
2639         (WebCore::SimpleFontData::platformInit):
2640         (WebCore::SimpleFontData::containsCharacters):
2641         (WebCore::SimpleFontData::determinePitch):
2642         (WebCore::SimpleFontData::platformWidthForGlyph):
2643         (WebCore::SimpleFontData::setFont):
2644         * platform/graphics/mac/CoreTextController.cpp:
2645         (WebCore::CoreTextController::adjustGlyphsAndAdvances):
2646         * platform/graphics/mac/FontMac.mm:
2647         (WebCore::Font::drawGlyphs):
2648         * platform/graphics/mac/FontMacATSUI.mm:
2649         (WebCore::initializeATSUStyle):
2650         (WebCore::overrideLayoutOperation):
2651         (WebCore::ATSULayoutParameters::initialize):
2652         * platform/graphics/mac/SimpleFontDataMac.mm:
2653         (WebCore::initFontData):
2654         (WebCore::SimpleFontData::platformInit):
2655         (WebCore::SimpleFontData::platformCharWidthInit):
2656         (WebCore::SimpleFontData::smallCapsFontData):
2657         (WebCore::SimpleFontData::containsCharacters):
2658         (WebCore::SimpleFontData::determinePitch):
2659         (WebCore::SimpleFontData::platformWidthForGlyph):
2660         (WebCore::SimpleFontData::checkShapesArabic):
2661         (WebCore::SimpleFontData::getCTFont):
2662         * platform/graphics/qt/SimpleFontDataQt.cpp:
2663         (WebCore::SimpleFontData::determinePitch):
2664         (WebCore::SimpleFontData::platformInit):
2665         (WebCore::SimpleFontData::platformCharWidthInit):
2666         * platform/graphics/win/FontCGWin.cpp:
2667         (WebCore::drawGDIGlyphs):
2668         (WebCore::Font::drawGlyphs):
2669         * platform/graphics/win/SimpleFontDataCGWin.cpp:
2670         (WebCore::SimpleFontData::platformInit):
2671         (WebCore::SimpleFontData::platformCharWidthInit):
2672         (WebCore::SimpleFontData::platformWidthForGlyph):
2673         * platform/graphics/win/SimpleFontDataCairoWin.cpp:
2674         (WebCore::SimpleFontData::platformInit):
2675         (WebCore::SimpleFontData::platformDestroy):
2676         (WebCore::SimpleFontData::platformWidthForGlyph):
2677         (WebCore::SimpleFontData::setFont):
2678         * platform/graphics/win/SimpleFontDataWin.cpp:
2679         (WebCore::SimpleFontData::initGDIFont):
2680         (WebCore::SimpleFontData::smallCapsFontData):
2681         (WebCore::SimpleFontData::containsCharacters):
2682         (WebCore::SimpleFontData::determinePitch):
2683         (WebCore::SimpleFontData::widthForGDIGlyph):
2684         (WebCore::SimpleFontData::scriptFontProperties):
2685         * platform/graphics/wx/SimpleFontDataWx.cpp:
2686         (WebCore::SimpleFontData::platformInit):
2687         (WebCore::SimpleFontData::determinePitch):
2688         (WebCore::SimpleFontData::platformWidthForGlyph):
2689
2690 2009-06-04  Paul Godavari  <paul@chromium.org>
2691
2692         Reviewed by Eric Seidel.
2693
2694         Initialize the width of PopupMenuListBox properly for Mac Chromium.
2695
2696         Added a test that works only with this patch applied. The test is
2697         a manual one, since the hit testing infrastructure in the layout
2698         tests sends keyboard and mouse events to the main window and not
2699         the cocoa control that implements the popup up, which means we can't
2700         select items from the popup up.
2701
2702         https://bugs.webkit.org/show_bug.cgi?id=25904
2703
2704
2705         * manual-tests/select-narrow-width.html: Added.
2706         * platform/chromium/PopupMenuChromium.cpp:
2707         (WebCore::PopupListBox::PopupListBox):
2708         (WebCore::PopupContainer::showExternal):
2709
2710 2009-06-04  Brent Fulgham  <bfulgham@webkit.org>
2711
2712         Unreviewed Windows build correction.
2713
2714         * WebCore.vcproj/WebCore.vcproj: Add missing 'ReplaceNodeWithSpanCommand.cpp'
2715           and 'ReplaceNodeWithSpanCommand.h'
2716
2717 2009-02-03  Eric Seidel  <eric@webkit.org>
2718
2719         Reviewed by Justin Garcia.
2720
2721         Make sure execCommand("bold") on <b style="text-decoration: underline">test</b>
2722         only removes the bold and not the underline.
2723         https://bugs.webkit.org/show_bug.cgi?id=23496
2724
2725         Test: editing/execCommand/convert-style-elements-to-spans.html
2726
2727         * WebCore.xcodeproj/project.pbxproj:
2728         * css/CSSStyleDeclaration.h:
2729         (WebCore::CSSStyleDeclaration::isEmpty):
2730         * dom/NamedAttrMap.h:
2731         (WebCore::NamedAttrMap::isEmpty):
2732         * editing/ApplyStyleCommand.cpp:
2733         (WebCore::isUnstyledStyleSpan):
2734         (WebCore::isSpanWithoutAttributesOrUnstyleStyleSpan):
2735         (WebCore::ApplyStyleCommand::applyBlockStyle):
2736         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
2737         (WebCore::ApplyStyleCommand::implicitlyStyledElementShouldBeRemovedWhenApplyingStyle):
2738         (WebCore::ApplyStyleCommand::replaceWithSpanOrRemoveIfWithoutAttributes):
2739         (WebCore::ApplyStyleCommand::removeCSSStyle):
2740         (WebCore::ApplyStyleCommand::applyTextDecorationStyle):
2741         (WebCore::ApplyStyleCommand::removeInlineStyle):
2742         (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
2743         * editing/ApplyStyleCommand.h:
2744         * editing/CompositeEditCommand.cpp:
2745         (WebCore::CompositeEditCommand::replaceNodeWithSpanPreservingChildrenAndAttributes):
2746         * editing/CompositeEditCommand.h:
2747         * editing/RemoveNodePreservingChildrenCommand.cpp:
2748         (WebCore::RemoveNodePreservingChildrenCommand::RemoveNodePreservingChildrenCommand):
2749         * editing/ReplaceNodeWithSpanCommand.cpp: Added.
2750         (WebCore::ReplaceNodeWithSpanCommand::ReplaceNodeWithSpanCommand):
2751         (WebCore::swapInNodePreservingAttributesAndChildren):
2752         (WebCore::ReplaceNodeWithSpanCommand::doApply):
2753         (WebCore::ReplaceNodeWithSpanCommand::doUnapply):
2754         * editing/ReplaceNodeWithSpanCommand.h: Added.
2755         (WebCore::ReplaceNodeWithSpanCommand::create):
2756
2757 2009-06-04  Brent Fulgham  <bfulgham@webkit.org>
2758
2759         Unreviewed build fix for Windows Cairo target.
2760
2761         Add missing post-build command to copy history/cf contents
2762         to output directory.
2763
2764         * WebCore.vcproj/WebCore.vcproj: Update Debug_Cairo and Release_Cairo
2765           target post-build steps with copy commands.
2766
2767 2009-06-04  Pierre d'Herbemont  <pdherbemont@apple.com>
2768
2769         Reviewed by Simon Fraser.
2770
2771         <rdar://problem/6854695> Movie controller thumb fails to scale with full page zoom
2772         
2773         Account for zoom level when drawing media controller thumb on Windows.
2774
2775         * rendering/RenderMediaControls.cpp:
2776         (WebCore::RenderMediaControls::adjustMediaSliderThumbSize):
2777
2778 2009-06-04  David Hyatt  <hyatt@apple.com>
2779
2780         Reviewed by Sam Weinig.
2781
2782         Move DOM window focus/blur out of SelectionController and into FocusController.  Make sure it
2783         fires on the focused frame when the page activation state changes also.  This is covered by an existing
2784         layout test (albeit badly).  I have modified the test to be correct.
2785
2786         * editing/SelectionController.cpp:
2787         (WebCore::SelectionController::setFocused):
2788         * page/FocusController.cpp:
2789         (WebCore::FocusController::setFocusedFrame):
2790         (WebCore::FocusController::setActive):
2791
2792 2009-06-04  Albert J. Wong  <ajwong@chromium.org>
2793
2794         Reviewed by Eric Seidel.
2795
2796         https://bugs.webkit.org/show_bug.cgi?id=26148
2797         Adding in empty files to stage the extract of RenderThemeChromiumSkia
2798         from RenderThemeChromiumLinux and RenderThemeChromiumWindows.
2799
2800         * rendering/RenderThemeChromiumSkia.cpp: Added.
2801         * rendering/RenderThemeChromiumSkia.h: Added.
2802
2803 2009-06-04  Andrei Popescu <andreip@google.com>
2804
2805         Reviewed by Alexey Proskuryakov.
2806
2807         https://bugs.webkit.org/show_bug.cgi?id=25562
2808         Potential crash after ApplicationCacheStorage::storeNewestCache() fails
2809
2810               Fix the crash by checking the return value of cacheStorage().storeNewestCache(this)
2811               in WebCore::ApplicationCacheGroup::checkIfLoadIsComplete. If storeNewestCache failed,
2812               we run the cache failure steps:
2813
2814         1. Fire the error events to all pending master entries, as well any other cache hosts
2815            currently associated with a cache in this group.
2816         2. Disassociate the pending master entries from the failed new cache.
2817         3. Reinstate the old "newest cache", if there was one.
2818
2819         We also introduce two other changes:
2820
2821         1. a mechanism to rollback storageID changes to the in-memory resource
2822            objects when the storing of an ApplicationCache object fails.
2823
2824         2. defer removing the pending master entries from the list of pending master entries
2825            until the entire load is complete. This matches the HTML 5 spec better. To track
2826            if the load is complete we now introduce a counter for those pending master entries
2827            that haven't yet finshed downloading.
2828
2829         * loader/appcache/ApplicationCacheGroup.cpp:
2830         (WebCore::ApplicationCacheGroup::ApplicationCacheGroup): initializes the new counter to 0
2831         (WebCore::ApplicationCacheGroup::selectCache): increments the counter when a new pending
2832         master entry is added.
2833         (WebCore::ApplicationCacheGroup::finishedLoadingMainResource): decrements the counter
2834         instead of removing the pending master entry.
2835         (WebCore::ApplicationCacheGroup::failedLoadingMainResource): decrements the counter
2836         instead of removing the pending master entry.
2837         (WebCore::ApplicationCacheGroup::setNewestCache): removes an assertion that no longer
2838         holds true. In particular, the newest cache is not necessarily new anymore. We can
2839         set an old cache as the new cache. This can happen if we failed to store a newly
2840         downloaded cache to the database and we are now reinstating the former newest cache.
2841         (WebCore::ApplicationCacheGroup::manifestNotFound): resets the counter to 0.
2842         (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete): check if the loading is complete
2843         based on the counter instead of the list of pending master entries. Empty the list of
2844         master entries if the load is complete.
2845         * loader/appcache/ApplicationCacheGroup.h: add the new counter.
2846         * loader/appcache/ApplicationCacheStorage.cpp: introduce the journaling mechanism for
2847         in-memory resource objects.
2848         (WebCore::ResourceStorageIDJournal::~ResourceStorageIDJournal):
2849         (WebCore::ResourceStorageIDJournal::add):
2850         (WebCore::ResourceStorageIDJournal::commit):
2851         (WebCore::ResourceStorageIDJournal::Record::Record):
2852         (WebCore::ResourceStorageIDJournal::Record::restore):
2853         (WebCore::ApplicationCacheStorage::store): log the changes to the in-memory resource
2854         objects.
2855         (WebCore::ApplicationCacheStorage::storeNewestCache): create the journal object.
2856         * loader/appcache/ApplicationCacheStorage.h:  modify the signature of
2857         bool store(ApplicationCache*) to add a pointer to the logger object used to
2858         trace the changes to the storageID of the resource objects.
2859
2860 2009-06-04  Jeremy Orlow  <jorlow@chromium.org>
2861
2862         Reviewed by Darin Adler.
2863
2864         https://bugs.webkit.org/show_bug.cgi?id=26154
2865         Allow underscores in the hostnames we parse out of databaseIdentifiers.
2866         This code is used for HTML 5 database support.
2867
2868         * page/SecurityOrigin.cpp:
2869         (WebCore::SecurityOrigin::createFromDatabaseIdentifier):
2870
2871 2009-06-04  Mihnea Ovidenie  <mihnea@adobe.com>
2872
2873         Reviewed by Darin Adler.
2874
2875         Bug 26084: Multiple missing images in webkit-mask-image prevent rendering
2876         https://bugs.webkit.org/show_bug.cgi?id=26084
2877
2878         When painting multiple images, make sure that at least one image is valid before pushing a transparency layer.
2879
2880         Added a manual test.
2881
2882         * manual-tests/mask-composite-missing-images.html: Added.
2883         * rendering/RenderBox.cpp:
2884         (WebCore::RenderBox::paintMaskImages):
2885
2886 2009-06-04  Jeremy Orlow  <jorlow@chromium.org>
2887
2888         Reviewed by Darin Adler.
2889
2890         https://bugs.webkit.org/show_bug.cgi?id=26180
2891         Add a fast path for SecurityOrigin::equal. If "other == this" (where
2892         other is the other security origin), then we really don't need to do
2893         all the other (expensive) comparisons. We know it's equal.
2894
2895         * page/SecurityOrigin.cpp:
2896         (WebCore::SecurityOrigin::equal):
2897
2898 2009-06-03  David Hyatt  <hyatt@apple.com>
2899
2900         Reviewed by Sam Weinig.
2901
2902         Improvements in how selection behaves with focus/activation and a reversion back to using isActive
2903         in the scrollbar theme code to remove a Chromium ifdef.
2904
2905         * editing/SelectionController.cpp:
2906         (WebCore::SelectionController::SelectionController):
2907         Make the controller set its focused state correctly upon initial creation.
2908
2909         (WebCore::SelectionController::setSelection):
2910         Make selection willing to shift the focus node if the selection is focused even if the
2911         selection is not active.  Whether or not the Page is active is irrelevant to focus changes.
2912
2913         (WebCore::SelectionController::setFocused):
2914         * editing/SelectionController.h:
2915         (WebCore::SelectionController::isFocused):
2916         Add a new isFocused() method so that code can check if the Selection is focused without caring
2917         about the active state.
2918
2919         * page/Frame.cpp:
2920         (WebCore::Frame::setFocusedNodeIfNeeded):
2921         Allow focus shifts even when the selection is not active.
2922
2923         * platform/mac/ScrollbarThemeMac.mm:
2924         (WebCore::ScrollbarThemeMac::paint):
2925         Revert Dan's change to directly talk to AppKit for checking active state.  Now that the WebCore isActive
2926         method works, ditch the Chromium-specific #ifdef and go back to the original code.
2927
2928 2009-06-04  Pierre d'Herbemont  <pdherbemont@apple.com>
2929
2930         Reviewed by Darin Adler.
2931
2932         Test: media/before-load-member-access.html
2933         
2934         https://bugs.webkit.org/show_bug.cgi?id=26081
2935
2936         * html/HTMLMediaElement.cpp:
2937         (WebCore::HTMLMediaElement::played): Ensure that if m_playedTimeRanges,
2938         is not initialized we return a valid range, and don't attempt to use it.
2939
2940 2009-06-03  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>
2941
2942         Reviewed by Simon Hausmann.
2943
2944         Implement a way to invalidate the FontCache used by the Qt port.
2945
2946         * platform/graphics/qt/FontCacheQt.cpp:
2947         (WebCore::FontCache::invalidate):
2948
2949 2009-06-04  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2950
2951         Reviewed by Ariya Hidayat.
2952
2953         https://bugs.webkit.org/show_bug.cgi?id=26015
2954
2955         [Qt] Single-threaded QtWebKit configuration
2956
2957         Turn off Database, DOM storage, icon database and Web Workers support
2958         when ENABLE_SINGLE_THREADED is turned on.
2959
2960         Set SQLITE_THREADSAFE to false to turn off SQLite mutexes
2961         when ENABLE_SINGLE_THREADED is turned on.
2962
2963         * WebCore.pro:
2964
2965 2009-06-03  Dan Bernstein  <mitz@apple.com>
2966
2967         Reviewed by Sam Weinig.
2968
2969         - add some assertions that Font methods are used on the main thread
2970
2971         * platform/graphics/Font.cpp:
2972         (WebCore::Font::setShouldUseSmoothing):
2973         * platform/graphics/Font.h:
2974         (WebCore::Font::primaryFont):
2975         * platform/graphics/FontFastPath.cpp:
2976         (WebCore::Font::glyphDataForCharacter):
2977
2978 2009-06-03  Dan Bernstein  <mitz@apple.com>
2979
2980         - Windows build fix
2981
2982         Rolled out apparently-accidental changes to config.h from r44398. These
2983         were not part of the patch as reviewed.
2984
2985         * config.h:
2986
2987 2009-06-03  Dmitry Titov  <dimich@chromium.org>
2988
2989         Not reviewed, Chromium build fix.
2990
2991         https://bugs.webkit.org/show_bug.cgi?id=26177
2992         Reverting 'private' to 'protected' on 2 classes.
2993         Chromium glue layer (not yet in Webkit tree) relies on ability to derive
2994         Chromium-specific platform classes and access the data members.
2995         See bug for more details.
2996
2997         * platform/PlatformMouseEvent.h:
2998         * platform/PlatformWheelEvent.h:
2999
3000 2009-06-03  Chris Marrin  <cmarrin@apple.com>
3001
3002         Reviewed by Simon Fraser <simonfr@apple.com>.
3003
3004         Fixed https://bugs.webkit.org/show_bug.cgi?id=26162
3005
3006         This corrects an error when destroying an animation
3007         or transition where endAnimation was never getting
3008         called and therefore the hardware animation was never
3009         getting removed.
3010
3011         This includes a manual-test since it's really impossible
3012         to make a meaningful automatic test for an animation
3013         bug like this.
3014
3015         This has no effect unless accelerated compositing is 
3016         enabled.
3017
3018         * manual-tests/interrupted-compound-transform.html: Added.
3019         * page/animation/ImplicitAnimation.cpp:
3020         (WebCore::ImplicitAnimation::~ImplicitAnimation):
3021         * page/animation/KeyframeAnimation.cpp:
3022         (WebCore::KeyframeAnimation::~KeyframeAnimation):
3023
3024 2009-06-03  Adam Langley  <agl@google.com>
3025
3026         Reviewed by Eric Seidel.
3027
3028         Make the scrollbar thumb size twice the width for Chromium Linux. This
3029         matches Firefox on Linux.
3030
3031         This will need layout test pixel results to be rebaselined in the
3032         Chromium tree.
3033
3034         http://code.google.com/p/chromium/issues/detail?id=12602
3035         https://bugs.webkit.org/show_bug.cgi?id=26176
3036
3037         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
3038         (WebCore::ScrollbarThemeChromiumLinux::minimumThumbLength):
3039         * platform/chromium/ScrollbarThemeChromiumLinux.h:
3040
3041 2009-06-03  Adam Langley  <agl@google.com>
3042
3043         Reviewed by Eric Seidel.
3044
3045         Change Chromium scrollbar theme code to use different classes on
3046         Windows and Linux rather than suppling symbols. The ScrollbarTheme
3047         class is already using virtual dispatch, so there's no reason not to.
3048
3049         This should not affect any layout tests.
3050
3051         https://bugs.webkit.org/show_bug.cgi?id=26174
3052
3053         * platform/chromium/ScrollbarThemeChromium.cpp:
3054         * platform/chromium/ScrollbarThemeChromium.h:
3055         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
3056         (WebCore::ScrollbarTheme::nativeTheme):
3057         (WebCore::ScrollbarThemeChromiumLinux::scrollbarThickness):
3058         (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
3059         (WebCore::ScrollbarThemeChromiumLinux::paintButton):
3060         (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
3061         (WebCore::ScrollbarThemeChromiumLinux::buttonSize):
3062         * platform/chromium/ScrollbarThemeChromiumLinux.h: Added.
3063         * platform/chromium/ScrollbarThemeChromiumWin.cpp:
3064         (WebCore::ScrollbarTheme::nativeTheme):
3065         (WebCore::ScrollbarThemeChromiumWin::scrollbarThickness):
3066         (WebCore::ScrollbarThemeChromiumWin::invalidateOnMouseEnterExit):
3067         (WebCore::ScrollbarThemeChromiumWin::shouldSnapBackToDragOrigin):
3068         (WebCore::ScrollbarThemeChromiumWin::paintTrackPiece):
3069         (WebCore::ScrollbarThemeChromiumWin::paintButton):
3070         (WebCore::ScrollbarThemeChromiumWin::paintThumb):
3071         (WebCore::ScrollbarThemeChromiumWin::getThemeState):
3072         (WebCore::ScrollbarThemeChromiumWin::getThemeArrowState):
3073         (WebCore::ScrollbarThemeChromiumWin::getClassicThemeState):
3074         (WebCore::ScrollbarThemeChromiumWin::buttonSize):
3075         * platform/chromium/ScrollbarThemeChromiumWin.h: Added.
3076
3077 2009-06-03  Pavel Feldman  <pfeldman@chromium.org>
3078
3079         Reviewed by Timothy Hatcher.
3080
3081         Enabling debugger requires that Scripts panel is already attached to the
3082         render tree. The reason is that recompile events result in script sources
3083         being added into the source frames. Prior to the global options introduced,
3084         debugger was enabled from the Scripts panel, so that it was guaranteed to
3085         exist. The InspectorController::enableDebugger API calls with no inspector
3086         frontend showing were failing though.
3087
3088         https://bugs.webkit.org/show_bug.cgi?id=26145
3089
3090         * WebCore.base.exp:
3091         * inspector/InspectorController.cpp:
3092         (WebCore::InspectorController::setWindowVisible):
3093         (WebCore::InspectorController::scriptObjectReady):
3094         (WebCore::InspectorController::enableDebuggerFromFrontend):
3095         (WebCore::InspectorController::enableDebugger):
3096         * inspector/InspectorController.h:
3097         * inspector/InspectorController.idl:
3098         * inspector/InspectorFrontend.cpp:
3099         (WebCore::InspectorFrontend::attachDebuggerWhenShown):
3100         * inspector/InspectorFrontend.h:
3101         * inspector/front-end/ScriptsPanel.js:
3102         (WebInspector.ScriptsPanel.prototype.show):
3103         (WebInspector.ScriptsPanel.prototype.attachDebuggerWhenShown):
3104         * inspector/front-end/inspector.js:
3105         (WebInspector.attachDebuggerWhenShown):
3106
3107 2009-06-03  Dan Bernstein  <mitz@apple.com>
3108
3109         Reviewed by Anders Carlsson.
3110
3111         - fix a regression from the previous patch
3112
3113         * platform/graphics/Font.cpp: Initialize shouldUseFontSmoothing to true.
3114
3115 2009-06-03  Dan Bernstein  <mitz@apple.com>
3116
3117         Reviewed by Anders Carlsson.
3118
3119         - eliminate WebCoreTextRenderer
3120
3121         * WebCore.base.exp: Updated.
3122         * WebCore.xcodeproj/project.pbxproj: Removed WebCoreTextRenderer.{h,mm}
3123             and promoted WebFontCache.h to private.
3124         * platform/graphics/Font.cpp:
3125         (WebCore::Font::setShouldUseSmoothing): Added this static setter for
3126             a new file-static boolean.
3127         (WebCore::Font::shouldUseSmoothing): Added this static getter.
3128         * platform/graphics/Font.h: Decleared setShouldUseSmoothing() and
3129             shouldUseSmoothing().
3130         * platform/graphics/mac/FontMac.mm:
3131         (WebCore::Font::drawGlyphs): Use Font::shouldUseSmoothing() instead of
3132         WebCoreShouldUseFontSmoothing().
3133         * platform/graphics/mac/WebLayer.mm: Removed unneeded #import.
3134         * platform/mac/WebCoreTextRenderer.h: Removed.
3135         * platform/mac/WebCoreTextRenderer.mm: Removed.
3136
3137 2009-06-03  David Levin  <levin@chromium.org>
3138
3139         Reviewed by Dimitri Glazkov.
3140
3141         v8's ScriptController::evaluate should protect the Frame like the jsc version.
3142         https://bugs.webkit.org/show_bug.cgi?id=26172
3143
3144         This change is simply copying protections done for Frame in the method
3145         WebCore::ScriptController::evaluate in the file js/ScriptController.cpp.
3146
3147         * bindings/v8/ScriptController.cpp:
3148         (WebCore::ScriptController::evaluate):
3149
3150 2009-06-03  Dan Bernstein  <mitz@apple.com>
3151
3152         Reviewed by John Sullivan.
3153
3154         - fix <rdar://problem/6841120> Use CTFontManager notifications instead
3155           of ATS notifications
3156
3157         * platform/graphics/FontCache.h: Made it an error to destroy a
3158         FontCache instance.
3159         * platform/graphics/mac/FontCacheMac.mm:
3160         (WebCore::fontCacheRegisteredFontsChangedNotificationCallback): Added
3161         this notification callback for the
3162         kCTFontManagerRegisteredFontsChangedNotification, which calls
3163         invalidate().
3164         (WebCore::FontCache::platformInit): Register for
3165         kCTFontManagerRegisteredFontsChangedNotification.
3166
3167 2009-06-03  Kevin Watters  <kevinwatters@gmail.com>
3168
3169         Reviewed by Kevin Ollivier.
3170
3171         Use CGContextShowGlyphsWithAdvances to get more accurate text rendering on Mac.
3172         
3173         https://bugs.webkit.org/show_bug.cgi?id=26161
3174
3175         * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp:
3176         (WebCore::drawTextWithSpacing):
3177
3178 2009-06-03  Pavel Feldman  <pfeldman@chromium.org>
3179
3180         Reviewed by Timothy Hatcher.
3181
3182         Reorder ResourcesPanel components initialization to unfreeze resource list scroller.
3183
3184         https://bugs.webkit.org/show_bug.cgi?id=26159
3185
3186         * inspector/front-end/ResourcesPanel.js:
3187         (WebInspector.ResourcesPanel):
3188
3189 2009-06-03  Pavel Feldman  <pfeldman@chromium.org>
3190
3191         Reviewed by Timothy Hatcher.
3192
3193         - Fix for crash (preceded by assertion) in InspectorController::didCommitLoad
3194           when reloading or navigating with the Inspector open.
3195         - Fix for Inspector's Elements panel being empty when Inspector first appears.
3196
3197         https://bugs.webkit.org/show_bug.cgi?id=26134
3198         https://bugs.webkit.org/show_bug.cgi?id=26135
3199
3200         * inspector/InspectorController.cpp:
3201         (WebCore::InspectorController::scriptObjectReady):
3202         (WebCore::InspectorController::didLoadResourceFromMemoryCache):
3203         (WebCore::InspectorController::identifierForInitialRequest):
3204         (WebCore::InspectorController::ensureResourceTrackingSettingsLoaded):
3205         * inspector/InspectorController.h:
3206
3207 2009-06-03  Adam Roben  <aroben@apple.com>
3208
3209         Windows build fix after r44379
3210
3211         * svg/graphics/SVGImage.cpp: Move EmptyClients.h back down below the
3212         other #includes to fix a compiler warning on Windows.
3213
3214 2009-06-02  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>
3215
3216         Reviewed by Simon Hausmann.
3217
3218         Add workaround for crash in Linux Flash Player when hosted by
3219         another toolkit than GTK+. Bug fixed at the Flash Player bugzilla,
3220         issue (FP-2140).
3221
3222         * plugins/qt/PluginViewQt.cpp:
3223         (WebCore::PluginView::setNPWindowIfNeeded):
3224
3225 2009-06-01  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>
3226
3227         Reviewed by Simon Hausmann.
3228
3229         Refactor the Qt plugin code to use NPP_SetWindow correctly,
3230         to make resizing of plugins work.
3231
3232         Attention was paid to make sure that the windowed plugins scroll
3233         synchronized with the page view. A manual test has been added.
3234
3235         * manual-tests/qt/plugin-iframe.html: Added.
3236         * plugins/PluginView.cpp:
3237         (WebCore::PluginView::setFrameRect):
3238         (WebCore::PluginView::frameRectsChanged):
3239         * plugins/PluginView.h:
3240         * plugins/qt/PluginContainerQt.cpp:
3241         (PluginContainerQt::PluginContainerQt):
3242         * plugins/qt/PluginContainerQt.h:
3243         * plugins/qt/PluginPackageQt.cpp:
3244         (WebCore::PluginPackage::load):
3245         * plugins/qt/PluginViewQt.cpp:
3246         (WebCore::PluginView::updatePluginWidget):
3247         (WebCore::PluginView::paint):
3248         (WebCore::PluginView::setParent):
3249         (WebCore::PluginView::setNPWindowRect):
3250         (WebCore::PluginView::setNPWindowIfNeeded):
3251         (WebCore::PluginView::handlePostReadFile):
3252         (WebCore::PluginView::getValue):
3253         (WebCore::PluginView::invalidateRect):
3254         (WebCore::PluginView::init):
3255
3256 2009-06-02  Darin Adler  <darin@apple.com>
3257
3258         Reviewed by David Hyatt.
3259
3260         Bug 26112: viewless WebKit -- make events work
3261         https://bugs.webkit.org/show_bug.cgi?id=26112
3262
3263         The main fix here is to make mouse and wheel event coordinates in the coordinate
3264         system of the top level NSView rather than the NSWindow when in the viewless mode.
3265         This is the design Hyatt chose, but the event part of it wasn't done yet.
3266
3267         Also fix FrameView to do normal reference counting instead of a strange model with
3268         an explicit deref near creation time.
3269
3270         * WebCore.base.exp: Updated.
3271
3272         * page/EventHandler.cpp:
3273         (WebCore::EventHandler::eventLoopHandleMouseUp): Moved this function into the file
3274         to reduce conditionals in the header.
3275         (WebCore::EventHandler::eventLoopHandleMouseDragged): Ditto.
3276
3277         * page/EventHandler.h: Reduced includes. Fixed formatting of Objective-C types.
3278         Made currentNSEvent a static member function. Added sendContextMenuEvent and
3279         eventMayStartDrag functions that takes NSEvent * so the conversion to PlatformMouseEvent
3280         can be done here rather than in WebKit. Reduced #if by making eventLoopHandleMouseUp and
3281         eventLoopHandleMouseDragged unconditional.
3282
3283         * page/Frame.cpp:
3284         (WebCore::Frame::setView): Made this take a PassRefPtr since it takes ownership.
3285         (WebCore::Frame::createView): Changed to use RefPtr and FrameView::create and remove
3286         the explicit deref.
3287
3288         * page/Frame.h: Changed setView to take a PassRefPtr.
3289
3290         * page/FrameTree.cpp: Added newly-needed include.
3291
3292         * page/FrameView.cpp:
3293         (WebCore::FrameView::FrameView): Got rid of one of the two constructors, and removed
3294         the initialization of m_refCount and call to show from the reamining one.
3295         (WebCore::FrameView::create): Added two create functions that do what the two
3296         constructors did before, except that they return a PassRefPtr to make sure the
3297         reference counting is handled correctly.
3298         (WebCore::FrameView::~FrameView): Removed assertion from when FrameView implemented
3299         its own reference counting.
3300
3301         * page/FrameView.h: Inherit from RefCounted for reference counting. Made the
3302         constructor private and added create functions. Got rid of the hand-implemented
3303         reference counting in this class.
3304
3305         * page/mac/EventHandlerMac.mm:
3306         (WebCore::currentNSEventSlot): Renamed currentEvent to currentNSEventSlot to
3307         make it more clear how it relates to currentNSEvent.
3308         (WebCore::EventHandler::currentNSEvent): Updated.
3309         (WebCore::CurrentEventScope::CurrentEventScope): Added. Use to set/reset the
3310         current event in a foolproof way.
3311         (WebCore::CurrentEventScope::~CurrentEventScope): Ditto.
3312         (WebCore::EventHandler::wheelEvent): Use CurrentEventScope. Pass the platform
3313         window in when constructing the PlatformWheelEvent.
3314         (WebCore::EventHandler::keyEvent): Use CurrentEventScope.
3315         (WebCore::lastEventIsMouseUp): Use currentNSEvent.
3316         (WebCore::EventHandler::passMouseDownEventToWidget): Ditto.
3317         (WebCore::EventHandler::eventLoopHandleMouseDragged): Ditto.
3318         (WebCore::EventHandler::eventLoopHandleMouseUp): Ditto.
3319         (WebCore::EventHandler::passSubframeEventToSubframe): Use
3320         currentPlatformMouseEvent to get a mouse event that has the appropriate
3321         platform window passed to create it.
3322         (WebCore::EventHandler::passWheelEventToWidget): Ditto.
3323         (WebCore::EventHandler::mouseDown): Ditto.
3324         (WebCore::EventHandler::mouseDragged): Ditto.
3325         (WebCore::EventHandler::mouseUp): Ditto.
3326         (WebCore::EventHandler::mouseMoved): Ditto.
3327         (WebCore::EventHandler::currentPlatformMouseEvent): Added. Passes the
3328         platform window that's now needed to create a PlatformMouseEvent.
3329         (WebCore::EventHandler::sendContextMenuEvent): Added.
3330         (WebCore::EventHandler::eventMayStartDrag): Added.
3331
3332         * platform/HostWindow.h: Removed unneeded includes and constructor definition.
3333
3334         * platform/PlatformMouseEvent.h: Sorted things in alphabetical order.
3335         Changed Mac constructor to take a windowView as well as the event. This is
3336         needed in viewless mode, since the "window" is actually an NSView, so the
3337         event has to know which view to compute the coordinates with. Made the
3338         same change to pointForEvent.
3339         * platform/PlatformWheelEvent.h: Ditto.
3340
3341         * platform/mac/PlatformMouseEventMac.mm:
3342         (WebCore::pointForEvent): Convert point from window coordinates to view
3343         coordinates if a windowView is passed in. This is used in viewless mode.
3344         (WebCore::PlatformMouseEvent::PlatformMouseEvent): Ditto.
3345         * platform/mac/WheelEventMac.mm:
3346         (WebCore::PlatformWheelEvent::PlatformWheelEvent): Ditto.
3347
3348         * platform/mac/WidgetMac.mm:
3349         (WebCore::Widget::convertFromContainingWindow): Fixed case where there
3350         is no platform widget and no parent. Before it would yield unpredictable
3351         results because of dispatching to a nil object and returning a structure.
3352         Now it returns the point without changing coordinates at all, which is what
3353         we need for this case in viewless mode.
3354
3355         * rendering/RenderApplet.cpp: Removed unneeded includes.
3356         (WebCore::RenderApplet::intrinsicSize): Use widget function.
3357         (WebCore::RenderApplet::createWidgetIfNecessary): Ditto.
3358
3359         * rendering/RenderApplet.h: Make more things private. Get rid of unneeded
3360         explicit destructor.
3361
3362         * rendering/RenderFrame.cpp: Removed unneeded includes.
3363         (WebCore::RenderFrame::edgeInfo): Updated to use node function so header
3364         doesn't have to define element function.
3365         (WebCore::RenderFrame::viewCleared): Ditto. Also changed to use widget
3366         function.
3367
3368         * rendering/RenderFrame.h: Removed unneeded includes. Made some things
3369         private. Got rid of element function.
3370
3371         * rendering/RenderPart.cpp: Removed unneeded includes.
3372         (WebCore::RenderPart::~RenderPart): Changed to use clearWidget function.
3373         (WebCore::RenderPart::setWidget): Changed to use widget function.
3374         (WebCore::RenderPart::deleteWidget): Changed to use passed-in widget.
3375         This is now only called by the clearWidget function.
3376
3377         * rendering/RenderPart.h: Removed unneeded forward declarations.
3378         Made more functions private. Updated deleteWidget to take widget argument.
3379
3380         * rendering/RenderPartObject.cpp:
3381         (WebCore::RenderPartObject::~RenderPartObject): use frameView function
3382         instead of getting at m_view directly.
3383         (WebCore::RenderPartObject::updateWidget): Ditto.
3384         (WebCore::RenderPartObject::layout): Ditto. Same for widget and m_widget.
3385         (WebCore::RenderPartObject::viewCleared): Ditto.
3386
3387         * rendering/RenderPartObject.h: Made some functions private.
3388
3389         * rendering/RenderWidget.cpp:
3390         (WebCore::RenderWidget::RenderWidget): Initialize m_frameView with
3391         construction syntax instead of assignment.
3392         (WebCore::RenderWidget::destroy): Updated for name change of m_view
3393         to m_frameView.
3394         (WebCore::RenderWidget::~RenderWidget): Use clearWidget to delete
3395         the widget.
3396         (WebCore::RenderWidget::setWidget): Use clearWidget.
3397         (WebCore::RenderWidget::paint): Updated for name change of m_view
3398         to m_frameView.
3399         (WebCore::RenderWidget::deleteWidget): Changed to use passed-in widget.
3400
3401         * rendering/RenderWidget.h: Made many functions protected, others
3402         private and made all data members private.
3403
3404         * svg/animation/SMILTime.h: Removed unhelpful max and min functions. These
3405         just do what std::max and std::min will already do automatically for this
3406         type, so they are not helpful.
3407
3408         * svg/graphics/SVGImage.cpp:
3409         (WebCore::SVGImage::SVGImage): Removed unneeded initial values for types
3410         that initialize to zero without anything explicit.
3411         (WebCore::SVGImage::~SVGImage): Update since m_frame and m_frameView are
3412         no longer stored.
3413         (WebCore::SVGImage::setContainerSize): Ditto.
3414         (WebCore::SVGImage::usesContainerSize): Ditto.
3415         (WebCore::SVGImage::size): Ditto.
3416         (WebCore::SVGImage::hasRelativeWidth): Ditto.
3417         (WebCore::SVGImage::hasRelativeHeight): Ditto.
3418         (WebCore::SVGImage::draw): Ditto.
3419         (WebCore::SVGImage::nativeImageForCurrentFrame): Ditto.
3420         (WebCore::SVGImage::dataChanged): Ditto.
3421
3422         * svg/graphics/SVGImage.h: Removed unneeded includes and unneeded data
3423         members m_document, m_frame, m_frameView, and m_minSize.
3424
3425 2009-06-02  Adam Langley  <agl@google.com>
3426
3427         Reviewed by Eric Seidel.
3428
3429         The previous code was assuming that we'll be painting buttons on the scrollbar
3430         which isn't true on Linux. To reproduce, resize a page with scrollbars until
3431         they are less than two widths high.
3432
3433         This will need pixel test baselines to be updated in the Chromium tree.
3434
3435         * platform/chromium/ScrollbarThemeChromium.cpp: move this function...
3436         * platform/chromium/ScrollbarThemeChromiumWin.cpp:
3437         (WebCore::ScrollbarThemeChromium::trackRect): ... to here
3438         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
3439         (WebCore::ScrollbarThemeChromium::trackRect): add an alternative which
3440         doesn't remove the track when the scrollbar is less than two widths
3441         high.
3442
3443 2009-06-02  Mark Rowe  <mrowe@apple.com>
3444
3445         Reviewed by Anders Carlsson.
3446
3447         Remove workaround that was added to address <rdar://problem/5488678> as it no longer affects our Tiger builds.
3448
3449         * Configurations/Base.xcconfig:
3450
3451 2009-06-02  Eric Seidel  <eric@webkit.org>
3452
3453         Reviewed by Maciej Stachowiak.
3454
3455         Insert*List on an stand-alone image in a content editable region ASSERTS
3456         ASSERTION FAILED: isStartOfParagraph(startOfParagraphToMove)
3457         https://bugs.webkit.org/show_bug.cgi?id=19066
3458
3459         Attempt to fix this by noticing that we inserted the list inside
3460         the selection which includes the image, and re-adjust the selection
3461         to not include the list before trying to move the image into
3462         the list item.
3463         
3464         Test: editing/execCommand/list-wrapping-image-crash.html
3465
3466         * editing/InsertListCommand.cpp:
3467         (WebCore::InsertListCommand::doApply):
3468
3469 2009-06-02  Eric Seidel  <eric@webkit.org>
3470
3471         Reviewed by Darin Adler.
3472
3473         Rename PositionIterator members in hope of further clarity
3474         https://bugs.webkit.org/show_bug.cgi?id=24854
3475
3476         Rename m_parent to m_anchorNode (since although it's always the parent
3477         of the previous m_child member, it is not always the parent of the effective position)
3478         Rename m_child to m_nodeAfterPositionInAnchor to make clear that it's the node
3479         directly following the position.  This member is often NULL, but is always
3480         a child of m_parent, now m_anchorNode if set.
3481         Rename m_offset to m_offsetInAnchor (since it's interpreted relative to m_anchorNode)
3482
3483         * dom/PositionIterator.cpp:
3484         (WebCore::PositionIterator::operator Position):
3485         (WebCore::PositionIterator::increment):
3486         (WebCore::PositionIterator::decrement):
3487         (WebCore::PositionIterator::atStart):
3488         (WebCore::PositionIterator::atEnd):
3489         (WebCore::PositionIterator::atStartOfNode):
3490         (WebCore::PositionIterator::atEndOfNode):
3491         (WebCore::PositionIterator::isCandidate):
3492         * dom/PositionIterator.h:
3493         (WebCore::PositionIterator::PositionIterator):
3494         (WebCore::PositionIterator::node):
3495         (WebCore::PositionIterator::offsetInLeafNode):
3496
3497 2009-06-02  Julien Chaffraix  <jchaffraix@webkit.org>
3498
3499         Reviewed by Eric Seidel.
3500
3501         Bug 17167: Failures in fast/dom/Node/initial-values.html
3502
3503         This partly solve a compatibility issue with other browsers. It will also
3504         make us more consistent while handling XHTML element.
3505
3506         The issue is that when we create an XHTML element inside an HTML document
3507         (as it is the case when calling createElementNS), we default to the HTML
3508         behaviour in nodeName. As we cannot test if an HTMLElement is an XHTML
3509         element, our fix is to check whether it has a prefix and then default
3510         to XML behaviour for nodeName.
3511
3512         * html/HTMLElement.cpp:
3513         (WebCore::HTMLElement::nodeName): Add a prefix check before
3514         returning the uppercase tagName (HTML behaviour).
3515
3516 2009-06-02  Eric Seidel  <eric@webkit.org>
3517
3518         Reviewed by Maciej Stachowiak.
3519
3520         Add a compareBoundaryPoints which takes RangeBoundaryPoints
3521         https://bugs.webkit.org/show_bug.cgi?id=25500
3522
3523         I noticed the need for this function when removing compareBoundaryPoints(Position, Position)
3524         This patch is almost entirely minus lines.
3525
3526         No functional changes, thus no tests.
3527
3528         * dom/Range.cpp:
3529         (WebCore::Range::setStart):
3530         (WebCore::Range::setEnd):
3531         (WebCore::Range::compareBoundaryPoints):
3532         (WebCore::Range::boundaryPointsValid):
3533         * dom/Range.h:
3534
3535 2009-06-02  Eric Seidel  <eric@webkit.org>
3536
3537         Reviewed by Maciej Stachowiak.
3538
3539         Remove Range::compareBoundaryPoints(Position, Position) per Darin's suggestion in bug 25056
3540         https://bugs.webkit.org/show_bug.cgi?id=25500
3541
3542         Darin indicated the Range should deal only with primitive DOM node/offset
3543         pairs, and that Position (which is a more robust editing construct) should have
3544         its own comparison functions and that Range.h should not mention Position at all.
3545
3546         Turns out that Position already has a comparePositions() function (which knows
3547         how to additionally handled positions in shadow trees).  So I've just changed
3548         all callers of compareBoundaryPoints(Position, Position) to use the existing
3549         comparePositions() function.  I've also added a comparePositions which takes
3550         VisiblePositions for convenience.
3551
3552         * dom/Range.cpp:
3553         * dom/Range.h:
3554         * editing/ApplyStyleCommand.cpp:
3555         (WebCore::ApplyStyleCommand::updateStartEnd):
3556         (WebCore::ApplyStyleCommand::applyBlockStyle):
3557         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
3558         (WebCore::ApplyStyleCommand::applyInlineStyle):
3559         (WebCore::ApplyStyleCommand::applyInlineStyleToRange):
3560         (WebCore::ApplyStyleCommand::removeInlineStyle):
3561         (WebCore::ApplyStyleCommand::nodeFullySelected):
3562         (WebCore::ApplyStyleCommand::nodeFullyUnselected):
3563         * editing/CompositeEditCommand.cpp:
3564         (WebCore::CompositeEditCommand::deleteInsignificantText):
3565         (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
3566         (WebCore::CompositeEditCommand::moveParagraphs):
3567         * editing/DeleteSelectionCommand.cpp:
3568         (WebCore::DeleteSelectionCommand::initializeStartEnd):
3569         (WebCore::DeleteSelectionCommand::handleGeneralDelete):
3570         (WebCore::DeleteSelectionCommand::mergeParagraphs):
3571         * editing/SelectionController.cpp:
3572         (WebCore::SelectionController::nodeWillBeRemoved):
3573         * editing/VisibleSelection.cpp:
3574         (WebCore::VisibleSelection::toNormalizedRange):
3575         * editing/htmlediting.cpp:
3576         (WebCore::comparePositions):
3577         * editing/htmlediting.h:
3578         * page/EventHandler.cpp:
3579         (WebCore::EventHandler::handleMousePressEventSingleClick):
3580
3581 2009-06-02  Albert J. Wong  <ajwong@chromium.org>
3582
3583         Reviewed by Dimitri Glazkov.
3584
3585         https://bugs.webkit.org/show_bug.cgi?id=26122
3586         Upstream v8_utility.h functions into V8Utilities.h.  This patch has
3587         some transitional code to make upstreaming easier.  This code will
3588         be deleted in a few days.
3589
3590         * bindings/v8/ScriptFunctionCall.cpp:
3591         (WebCore::ScriptFunctionCall::construct): NewInstance -> newInstance.
3592         * bindings/v8/V8Utilities.h:
3593         (WebCore::AllowAllocation::AllowAllocation): Function added.
3594         (WebCore::AllowAllocation::~AllowAllocation): Function added.
3595         (WebCore::SafeAllocation::NewInstance): Function added.
3596         * bindings/v8/WorkerContextExecutionProxy.cpp:
3597         (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
3598         NewInstance -> newInstance.
3599         (WebCore::WorkerContextExecutionProxy::toV8): NewInstance ->
3600         newInstance.
3601
3602 2009-06-02  Dan Bernstein  <mitz@apple.com>
3603
3604         Reviewed by John Sullivan.
3605
3606         - fix <rdar://problem/6940747> Search field’s focus ring is outset
3607
3608         * rendering/RenderThemeWin.cpp:
3609         (WebCore::RenderThemeWin::adjustSearchFieldStyle): Set the focused
3610         search field outline offset to -2.
3611
3612 2009-06-02  Sam Weinig  <sam@webkit.org>
3613
3614         Reviewed by Alexey Proskuryakov.
3615
3616         Add list of unimplemented event handlers to DOMWindow.
3617
3618         * page/DOMWindow.idl:
3619
3620 2009-06-02  Alexey Proskuryakov  <ap@webkit.org>
3621
3622         Reviewed by Sam Weinig.
3623
3624         https://bugs.webkit.org/show_bug.cgi?id=26133
3625         Adapt and import py-dom-xpath tests
3626
3627         Tests: fast/xpath/py-dom-xpath/abbreviations.html
3628                fast/xpath/py-dom-xpath/axes.html
3629                fast/xpath/py-dom-xpath/data.html
3630                fast/xpath/py-dom-xpath/expressions.html
3631                fast/xpath/py-dom-xpath/functions.html
3632                fast/xpath/py-dom-xpath/nodetests.html
3633                fast/xpath/py-dom-xpath/paths.html
3634                fast/xpath/py-dom-xpath/predicates.html
3635
3636         Fix bugs found with this test suite:
3637         - name and local-name were incorrect for processing instructions (XPath expanded-name
3638         doesn't match DOM exactly);
3639         - name, local-name and namespace functions should crash on attribute nodes;
3640         - attemps to make node sets from other types were not detected as errors.
3641
3642         No performance impact.
3643
3644         * xml/XPathExpressionNode.h: Track type conversion errors that happen during evaluation.
3645         An error won't stop evaluation, but an exception will be raised afterwards. We could also
3646         detect conversion errors at compile time, but not if we're going to support XPath variables
3647         (which is unnecessary for XPathEvaluator, but will be necessary if we decide to make our own
3648         XSLT one day).
3649
3650         * xml/XPathExpression.cpp: (WebCore::XPathExpression::evaluate): Check whether a type
3651         conversion exception occurred during evaluation, and raise an excpetion if it did.
3652
3653         * xml/XPathFunctions.cpp:
3654         (WebCore::XPath::expandedNameLocalPart):
3655         (WebCore::XPath::expandedName):
3656         XPath name(), local-name() and namespace-uri() functions are defined in terms of expanded-name,
3657         which doesn't match anything available via DOM exactly. Calculate the expanded name properly.
3658         (WebCore::XPath::FunNamespaceURI::evaluate): This function could crash if used with an
3659         attribute node, because it released what was possibly the only reference to attribute node
3660         before using it. Changed the function to avoid such situation.
3661         (WebCore::XPath::FunLocalName::evaluate): Ditto. Also, used the new expandedNameLocalPart()
3662         to work properly with processing instruction nodes.
3663         (WebCore::XPath::FunName::evaluate): Ditto (using expandedName()).
3664         (WebCore::XPath::FunCount::evaluate): Signal an error if the argument is not a node-set
3665         (by using toNodeSet unconditionally, which will raise an error, and return an empty set).
3666
3667         * xml/XPathPath.cpp: (WebCore::XPath::Filter::evaluate): Signal an error if the expression
3668         evaluation result is not a node-set.
3669
3670         * xml/XPathPath.h: (WebCore::XPath::Filter::resultType): A Filter's result is actually
3671         always a node-set (this is not so for FilterExpr production in the spec, but is for us,
3672         because we don't naively map BNF productions to classes).
3673
3674         * xml/XPathPredicate.cpp: (WebCore::XPath::Union::evaluate): Signal an error if either side
3675         is not a node-set.
3676
3677         * xml/XPathStep.cpp: Removed an unnecesary include.
3678
3679         * xml/XPathValue.cpp:
3680         (WebCore::XPath::Value::toNodeSet): Signal an error if conversion fails.
3681         (WebCore::XPath::Value::modifiableNodeSet): Ditto.
3682         (WebCore::XPath::Value::toNumber): Don't allow inputs that don't match XPath Number production
3683         (in particular, those using exponential notation).
3684
3685 2009-06-01  Sam Weinig  <sam@webkit.org>
3686
3687         Reviewed by Brady Eidson.
3688
3689         Part of https://bugs.webkit.org/show_bug.cgi?id=26100
3690         Add missing event handler properties to the DOMWindow
3691
3692         Added oncontextmenu, oninput, and onmessage event handlers to
3693         the DOMWindow. Aditionally, the onloadstart, onprogress, onstalled,
3694         and onsuspend event handlers were implemented but not added to
3695         DOMWindow.idl.
3696
3697         * page/DOMWindow.cpp:
3698         (WebCore::DOMWindow::oninput):
3699         (WebCore::DOMWindow::setOninput):
3700         (WebCore::DOMWindow::onmessage):
3701         (WebCore::DOMWindow::setOnmessage):
3702         (WebCore::DOMWindow::oncontextmenu):
3703         (WebCore::DOMWindow::setOncontextmenu):
3704         * page/DOMWindow.h:
3705         * page/DOMWindow.idl:
3706
3707 2009-06-01  Jeremy Orlow  <jorlow@chromium.org>
3708
3709         Reviewed by Darin Adler.  Landed by Adam Barth.
3710
3711         https://bugs.webkit.org/show_bug.cgi?id=26123
3712
3713         Remove a redundant checkEncodedString call when constructing a
3714         KURL object from a string.
3715
3716         * platform/KURL.cpp:
3717         (WebCore::KURL::KURL):
3718
3719 2009-06-01  Dimitri Glazkov  <dglazkov@chromium.org>
3720
3721         Unreviewed, build fix.
3722
3723         Reposition platform guard, improperly placed by http://trac.webkit.org/changeset/44340
3724         Bad Dimitri.
3725
3726         * platform/KeyboardCodes.h: Repositioned the guard to avoid nested
3727             WebCore namespace declarations.
3728
3729 2009-06-01  Dimitri Glazkov  <dglazkov@chromium.org>
3730
3731         Unreviewed, build fix.
3732
3733         * platform/KeyboardCodes.h: Integrated contents of platform/chromium/KeyboardCodes.h
3734             with a stern FIXME.
3735         * platform/chromium/KeyboardCodes.h: Removed.
3736
3737 2009-06-01  Nikolas Zimmermann  <zimmermann@kde.org>
3738
3739         Reviewed by Eric Seidel.
3740
3741         Fix assertion error in --filters enabled debug builds.
3742         Instead of using RefPtr<AtomicStringImpl> as keys for the hash maps in SVGFilterBuilder, just use AtomicString objects.
3743
3744         * svg/graphics/filters/SVGFilterBuilder.cpp:
3745         (WebCore::SVGFilterBuilder::SVGFilterBuilder):
3746         (WebCore::SVGFilterBuilder::add):
3747         (WebCore::SVGFilterBuilder::getEffectById):
3748         * svg/graphics/filters/SVGFilterBuilder.h:
3749
3750 2009-06-01  Nikolas Zimmermann  <zimmermann@kde.org>
3751
3752         Reviewed by Eric Seidel.
3753
3754         Fix --filters enabled build on Mac.
3755         Remove unnecessary 'boundingBox' parameter from finishRenderSVGContent() method.
3756         Kill several warnings, to make build pass.
3757
3758         * rendering/RenderPath.cpp:
3759         (WebCore::RenderPath::paint):
3760         * rendering/RenderSVGContainer.cpp:
3761         (WebCore::RenderSVGContainer::paint):
3762         * rendering/RenderSVGImage.cpp:
3763         (WebCore::RenderSVGImage::paint):
3764         * rendering/RenderSVGRoot.cpp:
3765         (WebCore::RenderSVGRoot::paint):
3766         * rendering/SVGRenderSupport.cpp:
3767         (WebCore::SVGRenderBase::finishRenderSVGContent):
3768         * rendering/SVGRenderSupport.h:
3769         * rendering/SVGRootInlineBox.cpp:
3770         (WebCore::SVGRootInlineBoxPaintWalker::chunkEndCallback):
3771         * svg/SVGFEGaussianBlurElement.cpp:
3772         (WebCore::SVGFEGaussianBlurElement::setStdDeviation):
3773         * svg/graphics/filters/SVGFEFlood.cpp:
3774         (WebCore::FEFlood::FEFlood):
3775
3776 2009-06-01  Dimitri Glazkov  <dglazkov@chromium.org>
3777
3778         Reviewed by Dave Hyatt.
3779
3780         Fix Chromium build by adding an #ifdef, restoring the code path to that
3781         before http://trac.webkit.org/changeset/44287.
3782
3783         * platform/mac/ScrollbarThemeMac.mm:
3784         (WebCore::ScrollbarThemeMac::paint): Added an #ifdef.
3785
3786 2009-06-01  Dirk Schulze  <krit@webkit.org>
3787
3788         Reviewed by Nikolas Zimmermann.
3789
3790         Remove last pieces of the old SVG filter system. They are not
3791         usable with our current filter system. The new filter effects
3792         will replace the functionality step by step.