1370f1eec9f56c80201e6a013248bd07e6b52359
[WebKit-https.git] / WebCore / ChangeLog
1 2010-04-21  Charles Wei  <charles.wei@torchmobile.com.cn>
2
3         Reviewed by George Staikos.
4
5         Fix webkit build problem when xhtmlmp enabled, which is introduced by revision 57927, for 
6         bug fix of 37175 , which seperates DocumentWriter from FrameLoader
7         https://bugs.webkit.org/show_bug.cgi?id=37915
8
9         No new tests since this only fixes the build problem.
10
11         * dom/Document.cpp:
12         (WebCore::Document::isXHTMLMPDocument):
13
14 2010-04-21  Shinichiro Hamaji  <hamaji@chromium.org>
15
16         Reviewed by Darin Adler.
17
18         Call sites of TextIterator constructor are difficult to read
19         https://bugs.webkit.org/show_bug.cgi?id=37909
20
21         Now we use enum parameters instead of boolean parameters and
22         boolean version of constructors are eliminated.
23
24         This change also changes the names of boolean members so they are
25         now third person singular.
26
27         No new tests because this is just a refactoring.
28
29         * WebCore.base.exp:
30         * editing/TextIterator.cpp:
31         (WebCore::TextIterator::TextIterator):
32         (WebCore::TextIterator::advance):
33         (WebCore::TextIterator::handleReplacedElement):
34         (WebCore::TextIterator::shouldRepresentNodeOffsetZero):
35         (WebCore::TextIterator::shouldEmitSpaceBeforeAndAfterNode):
36         (WebCore::TextIterator::handleNonTextNode):
37         (WebCore::TextIterator::exitNode):
38         (WebCore::TextIterator::emitCharacter):
39         (WebCore::TextIterator::emitText):
40         (WebCore::CharacterIterator::CharacterIterator):
41         (WebCore::TextIterator::rangeLength):
42         (WebCore::TextIterator::rangeFromLocationAndLength):
43         (WebCore::findPlainText):
44         * editing/TextIterator.h:
45         (WebCore::):
46         * editing/VisibleSelection.cpp:
47         (WebCore::VisibleSelection::appendTrailingWhitespace):
48         * editing/visible_units.cpp:
49         (WebCore::nextBoundary):
50
51 2010-04-21  Jesus Sanchez-Palencia  <jesus@webkit.org>
52
53         Reviewed by Kenneth Rohde Christiansen.
54
55         Add PageClientQt files.
56
57         [Qt] PageClientQt specific implementation for QWidget
58         https://bugs.webkit.org/show_bug.cgi?id=37858
59
60         * WebCore.pro:
61
62 2010-04-21  Diego Escalante Urrelo  <descalante@igalia.com>
63
64         Reviewed by Xan Lopez.
65
66         [Gtk] Evaluate and create tests for all the AtkRole's implemented by
67         WebKitGtk
68         https://bugs.webkit.org/show_bug.cgi?id=34449
69
70         Implement ATK_ROLE_SEPARATOR.
71
72         * accessibility/AccessibilityRenderObject.cpp:
73         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
74         * accessibility/gtk/AccessibilityObjectAtk.cpp:
75         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
76
77 2010-04-21  David Leong  <david.leong@nokia.com>
78
79         Reviewed by Simon Hausmann.
80
81         [Qt] Symbian apps crash on exit due to a bad qObject_cast.
82
83         https://bugs.webkit.org/show_bug.cgi?id=37303
84
85         Added check for NULL to avoid the crash. Reworked to fix memory leak
86            
87         * plugins/symbian/PluginViewSymbian.cpp:
88         (WebCore::PluginView::platformDestroy):
89
90 2009-04-21  Chris Fleizach  <cfleizach@apple.com>
91
92         Reviewed by Alexey Proskuryakov.
93
94         aria-liveregion-notifications.html fails on leopard release bot
95         https://bugs.webkit.org/show_bug.cgi?id=37112
96
97         Change the method that DRT uses to monitor AX notifications so that its robust
98         by just sending out NSNotification that can be listened to by anyone, instead
99         of keeping a static function pointer around.
100    
101         This change is aimed to avoid flakiness seen in DRT when the notification handlers
102         are not being called at the appropriate time.
103
104         Tests: platform/mac/accessibility/aria-liveregions-addedelement.html
105                platform/mac/accessibility/aria-liveregions-changedalt.html
106                platform/mac/accessibility/aria-liveregions-changedtext.html
107                platform/mac/accessibility/aria-liveregions-removedelement.html
108
109         * accessibility/mac/AccessibilityObjectWrapper.h:
110         * accessibility/mac/AccessibilityObjectWrapper.mm:
111         (-[AccessibilityObjectWrapper accessibilitySetShouldRepostNotifications:]):
112         (-[AccessibilityObjectWrapper accessibilityPostedNotification:]):
113
114 2010-04-21  Gavin Barraclough  <barraclough@apple.com>
115
116         Reviewed by NOBODY (Leopard build fix).
117         Remove old exports.
118
119         * WebCore.base.exp:
120
121 2010-04-21  Gavin Barraclough  <barraclough@apple.com>
122
123         Reviewed by Darin Adler.
124
125         Bug 37949 - Do no copy strings into a shared buffer when converting UStrings to Strings
126         UString and String now have the same internal representation; Just re-wrap the internal impl.
127
128         * bindings/js/JSDOMBinding.cpp:
129         (WebCore::jsStringSlowCase):
130         * bindings/js/JSDOMBinding.h:
131         (WebCore::ustringToString):
132         (WebCore::stringToUString):
133         (WebCore::identifierToString):
134         (WebCore::ustringToAtomicString):
135         (WebCore::identifierToAtomicString):
136
137 2010-04-21  Mark Rowe  <mrowe@apple.com>
138
139         Reviewed by Eric Carlson.
140
141         <rdar://problem/7313430> Many crashes in Safari inside Flip4Mac below -[NSAlert didEndAlert:returnCode:contextInfo:]
142
143         A manual test case is required here as the Flip4Mac plug-in displays an alert, and some manual tweaking of the plug-in's
144         preference file on disk is often required to reproduce the bug.
145
146         * manual-tests/plugins/flip4mac-update-alert-over-navigation.html: Added.
147
148 2010-04-21  Mark Rowe  <mrowe@apple.com>
149
150         Reviewed by Maciej Stachowiak.
151
152         <rdar://problem/7856151> REGRESSION: NPP_Destroy is not called when page navigates when plug-in is displaying modal dialog
153
154         This is a manual test case as I was not able to construct an automated test that reproduced the same issue without displaying
155         a modal dialog on-screen.
156
157         * manual-tests/plugins/timeout-dialog-displayed-over-navigation.html: Added.
158         * manual-tests/plugins/timeout-dialog-displayed-over-navigation.swf: Added.
159
160 2010-04-21  Sam Weinig  <sam@webkit.org>
161
162         Reviewed by Geoffrey Garen.
163
164         Fix for https://bugs.webkit.org/show_bug.cgi?id=37937
165         Wean JavaScriptCore off calls to isMainThread()
166
167         No change in behavior.
168
169         * bindings/js/JSDOMWindowBase.cpp:
170         (WebCore::JSDOMWindowBase::commonJSGlobalData):
171         Explicitly set a large stack type for the common JSGlobalData and
172         set the currently running thread as the exclusive thread for its 
173         execution.
174
175         * bindings/js/WorkerScriptController.cpp:
176         (WebCore::WorkerScriptController::WorkerScriptController):
177         Explicitly set a small stack type for the workers JSGlobalData. 
178
179 2010-04-21  Gavin Barraclough  <barraclough@apple.com>
180
181         Reviewed by NOBODY (Qt build fix).
182
183         * WebCore.gypi:
184         * WebCore.pro:
185         * platform/text/qt/StringQt.cpp: Removed.
186
187 2010-04-20  Gavin Barraclough  <barraclough@apple.com>
188
189         Reviewed by Oliver Hunt, Darin Adler.
190
191         Bug 37906 - Remove JSC::UStringImpl; unify with StringImpl.
192         Add include for StringHash.h.
193
194         * WebCore.xcodeproj/project.pbxproj:
195         * bridge/c/c_class.cpp:
196
197 2010-04-21  Alexey Proskuryakov  <ap@apple.com>
198
199         Tiger build fix.
200
201         * platform/network/mac/ResourceHandleMac.mm:
202         (WebCore::createNSURLConnection): Fixed a typo, named an argument.
203         (WebCore::ResourceHandle::start): Moved shouldUseCredentialStorage out of #if, since it's
204         now passed to createNSURLConneciton() on all platforms (and then ignored on Tiger).
205
206 2010-04-21  Alexey Proskuryakov  <ap@apple.com>
207
208         Reviewed by Adam Roben.
209
210         Windows build fix.
211
212         * platform/network/cf/ResourceHandleCFNet.cpp: Declare CFURLConnectionCreateWithProperties
213         for now, as it's mistakenly missing from WebKitSupportLibrary headers.
214
215 2010-04-21  Dimitri Glazkov  <dglazkov@chromium.org>
216
217         Reviewed by Darin Adler.
218
219         REGRESSION(r57292): Safari/Win and Chromium/Win no longer pass the acid3 test.
220         https://bugs.webkit.org/show_bug.cgi?id=37902
221
222         The issue is due to MSVC creating enums as signed. The fix is to store the value
223         as unsigned.
224
225         Test: http://acid3.acidtests.org/
226
227         * rendering/style/RenderStyle.h:
228         (WebCore::InheritedFlags): Changed type of _insideLink to unsigned.
229
230 2010-04-21  Alexey Proskuryakov  <ap@apple.com>
231
232         Reviewed by Brady Eidson.
233
234         https://bugs.webkit.org/show_bug.cgi?id=37933
235         <rdar://problem/7719540> XMLHttpRequest.withCredentials should be better enforced.
236
237         Test: http/tests/xmlhttprequest/cross-origin-authorization-with-embedder.html
238
239         This improves integration between ResourceHandle and Apple networking libraries.
240
241         * platform/network/cf/ResourceHandleCFNet.cpp:
242         (WebCore::createConnectionProperties): A new helper for creating connection properties dictionary.
243         (WebCore::ResourceHandle::start): Pass connection properties.
244         (WebCore::WebCoreSynchronousLoader::load): Ditto.
245
246         * platform/network/mac/ResourceHandleMac.mm:
247         (WebCore::createNSURLConnection): Factor out OS version dependent code for creating
248         NSURLConnection. Tell NSURLConnection about credential policy upfront.
249         (WebCore::ResourceHandle::start): Use the new function.
250         (+[WebCoreSynchronousLoader loadRequest:allowStoredCredentials:returningResponse:error:]): Ditto.
251
252 2010-04-21  Xiaomei Ji  <xji@chromium.org>
253
254         Reviewed by Dimitri Glazkov
255
256         This patch fixes [chromium] RTL <select> dropdown box expands to right
257         instead of left.
258         https://bugs.webkit.org/show_bug.cgi?id=37232
259
260         No automatic test is possible.
261
262         * manual-tests/select_dropdown_box_alignment.html: Added.
263         * platform/chromium/PopupMenuChromium.cpp:
264         (WebCore::PopupContainer::layout): Adjust the x-axis of dropdown box 
265         for RTL.
266
267 2010-04-21  anton muhin  <antonm@google.com>
268
269         Reviewed by Adam Barth.
270
271         [v8] Bail out if fetching of Object.prototype fails.
272         https://bugs.webkit.org/show_bug.cgi?id=37661
273
274         If for any reason we failed to fetch Object.prototype, context cannot
275         be properly initialized and we bail out.
276
277         * bindings/v8/V8DOMWindowShell.cpp:
278         (WebCore::V8DOMWindowShell::initContextIfNeeded): bail out if installHiddenObjectPrototype failed
279         (WebCore::V8DOMWindowShell::installHiddenObjectPrototype): bail out if failed to fetch Object.prototype
280         * bindings/v8/V8DOMWindowShell.h: return false if installHiddenObjectPrototype failed
281
282 2010-04-21  Timothy Hatcher  <timothy@apple.com>
283
284         Make UserContentURLPattern correctly check for subdomains and the URL
285         has the same suffix as the pattern. Also improve the parsing of the host.
286
287         https://bugs.webkit.org/show_bug.cgi?id=37357
288
289         Reviewed by Darin Adler.
290
291         * page/UserContentURLPattern.cpp:
292         (WebCore::UserContentURLPattern::parse): Simplify the subdomain pattern parsing to
293         simply check for "*" only or a "*." prefix and then do a substring.
294         (WebCore::UserContentURLPattern::matchesHost): Check that the host has a "." in the
295         position before the suffix to ensure it a subdomain and not just a suffix match.
296
297 2010-04-21  Xan Lopez  <xlopez@igalia.com>
298
299         Try to fix compilation on GTK+ debug bots.
300
301         * bindings/gobject/WebKitDOMBinding.cpp:
302         (WebKit::createWrapper):
303
304 2010-04-21  Jakub Wieczorek  <jwieczorek@webkit.org>
305
306         Reviewed by Darin Adler.
307
308         List item markers are not always updated after changes in the DOM.
309         https://bugs.webkit.org/show_bug.cgi?id=37060
310
311         In particular, they would not be updated when adding/removing an item
312         that is not a direct child of the list element.
313
314         Tests: fast/lists/ol-nested-items-dynamic-insert.html
315                fast/lists/ol-nested-items-dynamic-remove.html
316                fast/lists/ol-nested-items.html
317                fast/lists/ol-nested-list-dynamic-insert.html
318                fast/lists/ol-nested-list-dynamic-remove.html
319                fast/lists/ol-nested-list.html
320
321         * rendering/RenderListItem.cpp:
322         (WebCore::updateListMarkerNumbers): Change it to traverse the whole subtree of a list, not only siblings of an item.
323         * rendering/RenderListItem.h:
324         * rendering/RenderObject.cpp: Move the updateListMarkerNumbers function to RenderListItem.cpp.
325         (WebCore::RenderObject::addChild): Move the code updating list markers to RenderObjectChildList for consistency.
326         * rendering/RenderObjectChildList.cpp: Move the updateListMarkerNumbers function to RenderListItem.cpp.
327         (WebCore::RenderObjectChildList::removeChildNode): Pass the actual node being removed, not the next sibling.
328         (WebCore::RenderObjectChildList::appendChildNode): Pass the actual node being added, not the next sibling.
329         (WebCore::RenderObjectChildList::insertChildNode): Pass the actual node being added, not the next sibling.
330         * rendering/RenderTreeAsText.cpp:
331         (WebCore::markerTextForListItem):
332
333 2010-04-21  Xan Lopez  <xlopez@igalia.com>
334
335         Reviewed by Adam Barth.
336
337         [GTK] GObject DOM bindings
338         https://bugs.webkit.org/show_bug.cgi?id=33590
339
340         Initial version of the GObject DOM bindings.
341
342         Only bindings for Node.idl and a few of its dependencies are
343         provided, without public API to access them at the
344         moment. References to the Document interfaces and to
345         EventListeners in Node.idl are ignored for GObject to make the
346         initial patch as small as possible, but will be enabled in a
347         follow-up patch.
348
349         * GNUmakefile.am:
350         * bindings/gobject/ConvertToUTF8String.cpp: Added.
351         (convertToUTF8String):
352         * bindings/gobject/ConvertToUTF8String.h: Added.
353         * bindings/gobject/WebKitDOMBinding.cpp: Added.
354         (WebKit::domObjects):
355         (WebKit::DOMObjectCache::get):
356         (WebKit::DOMObjectCache::put):
357         (WebKit::DOMObjectCache::forget):
358         (WebKit::createWrapper):
359         (WebKit::kit):
360         * bindings/gobject/WebKitDOMBinding.h: Added.
361         * bindings/gobject/WebKitDOMObject.cpp: Added.
362         (webkit_dom_object_init):
363         (webkit_dom_object_class_init):
364         * bindings/gobject/WebKitDOMObject.h: Added.
365         * bindings/scripts/CodeGeneratorGObject.pm: Added.
366         * bindings/scripts/gobject-generate-headers.pl: Added.
367         * dom/Node.idl:
368
369 2010-04-21  Gustavo Sverzut Barbieri  <barbieri@profusion.mobi>
370
371         Reviewed by Xan Lopez.
372
373         Wrong header being included in FontPlatformDataCairo.cpp
374         https://bugs.webkit.org/show_bug.cgi?id=37829
375
376         No behavior changes, so no new tests were added.
377
378         * platform/graphics/cairo/FontPlatformDataCairo.cpp:
379
380 2010-04-21  Adam Roben  <aroben@apple.com>
381
382         Fix leaks of FilterData/SVGFilterBuilder in RenderSVGResourceFilter
383
384         Fixes <http://webkit.org/b/37922>.
385
386         Reviewed by Dave Hyatt.
387
388         * rendering/RenderSVGResourceFilter.cpp:
389         (WebCore::RenderSVGResourceFilter::applyResource): Use an OwnPtr to
390         hold the heap-allocated FilterData object, so that we won't leak it
391         when we bail out of this function on error.
392
393 2010-04-21  Zoltan Herczeg  <zherczeg@webkit.org>
394
395         Reviewed by Kenneth Rohde Christiansen.
396
397         [Qt] startAnimation() is not needed to preceede nativeImageForCurrentFrame()
398         https://bugs.webkit.org/show_bug.cgi?id=37844
399
400         nativeImageForCurrentFrame() resets the m_decoder parameter under Qt,
401         which is required by startAnimation() to detect frame and repetition counts.
402         Hence, Image::drawTiled cannot start animations under Qt:
403         <html><body background="animated.gif"></body></html> does not work
404
405         * platform/graphics/qt/ImageDecoderQt.cpp:
406         (WebCore::ImageDecoderQt::internalHandleCurrentImage):
407
408 2010-04-21  Benjamin Poulain  <ikipou@gmail.com>
409
410         Reviewed by Simon Fraser.
411
412         Update of fixed elements is not made correctly when the page has been scrolled
413         https://bugs.webkit.org/show_bug.cgi?id=36783
414
415         When a fixed element was updated, the old geometry was not repainted correctly
416         because the repaint rect was cached during the layout and not updated when 
417         scrolling.
418
419         The rect is now updated while scrolling so the region updated correspond to the
420         region of the element on the screen.
421
422         The method RenderLayer::updateRepaintRectsAfterScroll() updates
423         the repaint rect of all fixed tree after scroll.
424
425         Tests: fast/repaint/fixed-child-move-after-scroll.html
426                fast/repaint/fixed-child-of-fixed-move-after-scroll.html
427                fast/repaint/fixed-child-of-transformed-move-after-scroll.html
428                fast/repaint/fixed-move-after-scroll.html
429
430         * page/FrameView.cpp:
431         (WebCore::FrameView::scrollPositionChanged):
432         * rendering/RenderLayer.cpp:
433         (WebCore::RenderLayer::updateRepaintRectsAfterScroll):
434         * rendering/RenderLayer.h:
435
436 2010-04-21  Gustavo Sverzut Barbieri  <barbieri@profusion.mobi>
437
438         Reviewed by Adam Roben.
439
440         Update EFL port to match recent API changes.
441         http://webkit.org/b/37853
442
443         No behavior changes, so no new tests were added.
444
445         * platform/efl/FileSystemEfl.cpp:
446         * platform/efl/LocalizedStringsEfl.cpp:
447         (WebCore::missingPluginText):
448         (WebCore::crashedPluginText):
449         * platform/efl/MIMETypeRegistryEfl.cpp:
450         (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
451         * platform/graphics/efl/ImageEfl.cpp:
452
453 2010-04-21  Avi Drissman  <avi@chromium.org>
454
455         Reviewed by Simon Fraser.
456
457         JPG images fail to print in Chromium
458         https://bugs.webkit.org/show_bug.cgi?id=37796
459
460         Image sources of JPG data with final=false fail to draw into PDF contexts even if later updated (<rdar://problem/7874035>). Therefore, destroy and re-create the image source when the final data arrives.
461
462         * platform/graphics/cg/ImageSourceCG.cpp:
463         (WebCore::ImageSource::setData):
464
465 2010-04-21  Marcus Bulach  <bulach@chromium.org>
466
467         Reviewed by Nate Chapin.
468
469         EventSource needs to be marked as an ActiveDomType.
470         https://bugs.webkit.org/show_bug.cgi?id=37857
471         Existing layout tests (fast/eventsource and http/tests/eventsource/) should pass when compiling with eventsource enabled.
472
473         * bindings/scripts/CodeGeneratorV8.pm:
474         * bindings/v8/V8DOMWrapper.cpp:
475         * bindings/v8/custom/V8EventSourceConstructor.cpp:
476         (WebCore::V8EventSource::constructorCallback):
477
478 2010-04-21  Gustavo Sverzut Barbieri  <barbieri@profusion.mobi>
479
480         Reviewed by Nikolas Zimmermann.
481
482         Add missing includes to platform/posix/FileSystemPOSIX.cpp
483         https://bugs.webkit.org/show_bug.cgi?id=37861
484
485         No behavior changes, so no new tests were added.
486
487         * platform/posix/FileSystemPOSIX.cpp:
488
489 2010-04-21  No'am Rosenthal  <noam.rosenthal@nokia.com>
490
491         Reviewed by Simon Fraser.
492
493         [Qt] Fix or remove the runtime flag for accelerated compositing.
494
495         This adds a way for a chrome client to disallow layers from becoming composited,
496         even if the settings enable accelerated compositing. This is necessary for platforms
497         where different views can be applied with the same settings to the same page.
498
499         We enable an API through ChromeClient to ask the chrome-client whether or not
500         it can render composited layers, which is taken into account when the compositor
501         decides whether or not to start compositing.
502
503         https://bugs.webkit.org/show_bug.cgi?id=37313
504
505         Pages under LayoutTests/compositing now work under QWebView, even when
506         QWebSettings::AcceleratedCompositingEnabled is on.
507
508         * page/ChromeClient.h:
509         (WebCore::ChromeClient::allowsAcceleratedCompositing):
510         * platform/qt/QWebPageClient.h:
511         (QWebPageClient::allowsAcceleratedCompositing):
512         * rendering/RenderLayerCompositor.cpp:
513         (WebCore::RenderLayerCompositor::canBeComposited):
514
515 2010-04-21  Ryosuke Niwa  <rniwa@webkit.org>
516
517         No review. Spurious whitespace was removed from project file.
518
519         * WebCore.xcodeproj/project.pbxproj:
520
521 2010-04-20  Ryosuke Niwa  <rniwa@webkit.org>
522
523         Reviewed by Eric Seidel.
524
525         [Qt] Build fix: warning on L933 of CompositeEditCommand.cpp
526         https://bugs.webkit.org/show_bug.cgi?id=37912
527
528         Replaced the ternary operator by an if statement because GCC was confused by the use of
529         ternary operator and producing warnings on Qt builds.
530
531         * WebCore.xcodeproj/project.pbxproj:
532         * editing/CompositeEditCommand.cpp:
533         (WebCore::CompositeEditCommand::moveParagraphs):
534
535 2010-04-20  Ryosuke Niwa  <rniwa@webkit.org>
536
537         Reviewed by Justin Garcia.
538
539         Nested <ul>s are mishandled when converted to <ol> using execCommand('insertorderedlist')
540         https://bugs.webkit.org/show_bug.cgi?id=19539
541
542         Fixes a bug where two consecutive lists are not merged if they have been converted
543         from ordered/unordered lists inside another list.
544
545         The bug was caused by InsertListCommand::doApply where it did not merge a newly inserted
546         list element and its neighbors. This patch adds code to doApply so that after inserting
547         the list element, it updates previousList and nextList to the outermost list elements around
548         insertionPos under the same enclosing list. Because the next and the previous list elements
549         are not necessarily visually next to the newly inserted element before moveParagraph moves
550         the paragraph into the new list element, doApply merges lists after moveParagraph is called.
551
552         Test: editing/execCommand/insert-lists-inside-another-list.html
553
554         * editing/InsertListCommand.cpp:
555         (WebCore::InsertListCommand::doApply): Modified as described above
556         * editing/htmlediting.cpp:
557         (WebCore::outermostEnclosingList): Added rootNode. Returns the outermost list element,
558           which is a descendent of rootNode.
559         * editing/htmlediting.h:
560
561 2010-04-20  Alexey Proskuryakov  <ap@apple.com>
562
563         Reviewed by Darin Adler.
564
565         https://bugs.webkit.org/show_bug.cgi?id=37776
566         <rdar://problem/7877716> REGRESSION: When using dvorak, keydown/keyup reports qwerty keyCodes
567
568         * platform/cocoa/KeyEventCocoa.mm: (WebCore::windowsKeyCodeForCharCode): Re-added mapping
569         for Roman letters and punctuation.
570
571         * platform/mac/KeyEventMac.mm: (WebCore::windowsKeyCodeForKeyEvent): Improved approximation
572         of IE behavior. Keyboard layouts that change location of Roman letters (like AZERTY or Dvorak)
573         also switch their keycodes. Also, restored Safari 4 behavior for punctuation. It's difficult
574         to match Windows for punctuation exactly, because keyboard layouts make arbitrary changes
575         to their keycodes.
576
577 2010-04-20  Shinichiro Hamaji  <hamaji@chromium.org>
578
579         Reviewed by Darin Adler and Alexey Proskuryakov.
580
581         A backslash in EUC-JP becomes to a yen sign when it is copied
582         https://bugs.webkit.org/show_bug.cgi?id=36419
583
584         Tests: editing/execCommand/transpose-backslash-with-euc.html
585                editing/pasteboard/copy-backslash-with-euc.html
586
587         * editing/Editor.cpp: Remove an unnecessary displayStringModifiedByEncoding calls.
588         (WebCore::Editor::addToKillRing):
589         * editing/TextIterator.cpp: TextIterator can use RenderText::textWithoutTranscoding and now plainText() uses this version
590         (WebCore::TextIterator::TextIterator):
591         (WebCore::TextIterator::init):
592         (WebCore::TextIterator::emitText):
593         (WebCore::plainTextToMallocAllocatedBuffer):
594         * editing/TextIterator.h:
595         (WebCore::):
596         * platform/mac/PasteboardMac.mm: Remove an unnecessary displayStringModifiedByEncoding call.
597         (WebCore::Pasteboard::writeSelection):
598         * platform/text/TextEncoding.h: Make backslashAsCurrencySymbol public.
599         * rendering/RenderText.cpp: Add RenderText::textWithoutTranscoding
600         (WebCore::RenderText::RenderText):
601         (WebCore::RenderText::updateNeedsTranscoding):
602         (WebCore::RenderText::styleDidChange):
603         (WebCore::isInlineFlowOrEmptyText):
604         (WebCore::RenderText::previousCharacter):
605         (WebCore::RenderText::setTextInternal):
606         (WebCore::RenderText::textWithoutTranscoding):
607         (WebCore::RenderText::transformText):
608         * rendering/RenderText.h:
609         * rendering/RenderTextControl.cpp: Remove an unnecessary displayStringModifiedByEncoding call.
610         (WebCore::RenderTextControl::setInnerTextValue):
611         (WebCore::RenderTextControl::finishText):
612         * rendering/RenderTextFragment.cpp:
613         (WebCore::RenderTextFragment::previousCharacter):
614         * rendering/RenderTextFragment.h:
615
616 2010-04-20  Nate Chapin  <japhet@chromium.org>
617
618         Reviewed by Dimitri Glazkov.
619
620         https://bugs.webkit.org/show_bug.cgi?id=37367
621
622         Fix style violations in code generated by CodeGeneratorV8.pm.
623
624         * bindings/scripts/CodeGeneratorV8.pm:
625         * bindings/v8/test/V8TestObj.cpp:
626         * bindings/v8/test/V8TestObj.h:
627
628 2010-04-20  Sheriff Bot  <webkit.review.bot@gmail.com>
629
630         Unreviewed, rolling out r57924.
631         http://trac.webkit.org/changeset/57924
632         https://bugs.webkit.org/show_bug.cgi?id=37898
633
634         It broke 3-4 test on all bot (Requested by Ossy on #webkit).
635
636         * page/AbstractView.idl:
637         * page/DOMWindow.cpp:
638         (WebCore::DOMWindow::media):
639         * page/DOMWindow.h:
640         * page/DOMWindow.idl:
641
642 2010-04-20  Gavin Barraclough  <barraclough@apple.com>
643
644         Reviewed by Oliver Hunt.
645
646         Bug 37895 - Share common code from UStringImplBase with StringImpl
647         Add forwarding header.
648
649         * ForwardingHeaders/wtf/text/StringImplBase.h: Added.
650
651 2010-04-20  Adam Barth  <abarth@webkit.org>
652
653         Unreviewed build fix fro Chromium.
654
655         * loader/DocumentWriter.cpp:
656
657 2010-04-20  Pavel Feldman  <pfeldman@chromium.org>
658
659         Reviewed by Timothy Hatcher.
660
661         Web Inspector: Support live edit while on a breakpoint, preserve breakpoints when adding new lines.
662
663         https://bugs.webkit.org/show_bug.cgi?id=37820
664
665         * inspector/front-end/ScriptsPanel.js:
666         (WebInspector.ScriptsPanel.prototype.editScriptLine.mycallback):
667         (WebInspector.ScriptsPanel.prototype.editScriptLine):
668         * inspector/front-end/TextViewer.js:
669         (WebInspector.TextViewer.prototype._handleDoubleClick):
670         (WebInspector.TextViewer.prototype._cancelEditingLine):
671
672 2010-04-20  Adam Barth  <abarth@webkit.org>
673
674         Reviewed by Eric Seidel.
675
676         Factor DocumentWriter out of FrameLoader
677         https://bugs.webkit.org/show_bug.cgi?id=37175
678
679         This patch separates the begin/write/end cycle of decoding network
680         bytes and putting them into a document from the rest of the loading
681         machinery.  The code and state required to write bytes into a document
682         doesn't interact very much with the rest of the loading machinery.
683
684         No tests because there is no behavior change (hopefully!).
685
686         * Android.mk:
687         * GNUmakefile.am:
688         * WebCore.base.exp:
689         * WebCore.gypi:
690         * WebCore.pro:
691         * WebCore.vcproj/WebCore.vcproj:
692         * WebCore.xcodeproj/project.pbxproj:
693         * bindings/ScriptControllerBase.cpp:
694         (WebCore::ScriptController::executeIfJavaScriptURL):
695         * dom/Document.cpp:
696         (WebCore::Document::close):
697         * dom/ProcessingInstruction.cpp:
698         (WebCore::ProcessingInstruction::checkStyleSheet):
699         * dom/ScriptElement.cpp:
700         (WebCore::ScriptElementData::scriptCharset):
701         * html/HTMLLinkElement.cpp:
702         (WebCore::HTMLLinkElement::process):
703         * loader/DocLoader.cpp:
704         (WebCore::DocLoader::requestPreload):
705         * loader/DocumentLoader.cpp:
706         (WebCore::DocumentLoader::finishedLoading):
707         (WebCore::DocumentLoader::setupForReplaceByMIMEType):
708         * loader/DocumentWriter.cpp: Added.
709         * loader/DocumentWriter.h: Added.
710         * loader/FrameLoader.cpp:
711         (WebCore::FrameLoader::FrameLoader):
712         (WebCore::FrameLoader::init):
713         (WebCore::FrameLoader::clear):
714         (WebCore::FrameLoader::receivedFirstData):
715         (WebCore::FrameLoader::setURL):
716         (WebCore::FrameLoader::didBeginDocument):
717         (WebCore::FrameLoader::didEndDocument):
718         (WebCore::FrameLoader::willSetEncoding):
719         (WebCore::FrameLoader::addData):
720         (WebCore::FrameLoader::transitionToCommitted):
721         (WebCore::FrameLoader::open):
722         (WebCore::FrameLoader::finishedLoadingDocument):
723         (WebCore::FrameLoader::addExtraFieldsToRequest):
724         * loader/FrameLoader.h:
725         (WebCore::FrameLoader::writer):
726         (WebCore::FrameLoader::isDisplayingInitialEmptyDocument):
727         * loader/MediaDocument.cpp:
728         (WebCore::MediaDocument::replaceMediaElementTimerFired):
729         * loader/PluginDocument.cpp:
730         (WebCore::PluginTokenizer::createDocumentStructure):
731         * platform/network/FormDataBuilder.cpp:
732         (WebCore::FormDataBuilder::dataEncoding):
733         * svg/graphics/SVGImage.cpp:
734         (WebCore::SVGImage::dataChanged):
735
736 2010-04-20  Kenneth Rohde Christiansen  <kenneth@webkit.org>
737
738         Reviewed by Simon Fraser.
739
740         Rename window.media to window.styleMedia
741         https://bugs.webkit.org/show_bug.cgi?id=36187
742
743         It has been defined that the AbstractView media extension
744         defined in the CSSOM View spec should be renamed to styleMedia.
745         This patch does that and updates the current layout tests
746         making use of it.
747
748         * page/AbstractView.idl:
749         * page/DOMWindow.cpp:
750         (WebCore::DOMWindow::styleMedia):
751         * page/DOMWindow.h:
752         * page/DOMWindow.idl:
753
754 2010-04-20  Timothy Hatcher  <timothy@apple.com>
755
756         Fix matching of "file:///*" patterns by not trying to compare the host. The host is
757         irrelevant for file URLs.
758
759         Also fix comparisons to be case insensitive.
760
761         https://bugs.webkit.org/show_bug.cgi?id=37889
762
763         Reviewed by Dave Hyatt.
764
765         * page/UserContentURLPattern.cpp:
766         (WebCore::UserContentURLPattern::parse): Use equalIgnoringCase when comparing for "file" schemes.
767         (WebCore::UserContentURLPattern::matches): Use equalIgnoringCase when comparing schemes. Only call
768         matchesHost if the scheme isn't "file".
769         (WebCore::UserContentURLPattern::matchesHost): Call equalIgnoringCase when comparing hosts. The endsWith
770         was already doing a case-insensitive compare, so existing tests worked though this path.
771
772 2010-04-20  Justin Schuh  <jschuh@chromium.org>
773
774         Reviewed by Adam Barth.
775
776         Invalid cast due to <video> inside <foreignObject> inside <svg> inside <img>
777         https://bugs.webkit.org/show_bug.cgi?id=37331
778
779         Added a setting to enable/disable media per-page and have the SVGImage 
780         disable media for its dummy page. Also found and fixed a related bad
781         cast in the V8 bindings (JSC had a custom wrapper for this already).
782
783         Tests: media/svg-as-image-with-media-blocked.html
784
785         * dom/make_names.pl: Added media enabled check and V8 cast wrapper
786         * page/Settings.cpp: Added m_isMediaEnabled (defaults to true)
787         (WebCore::Settings::Settings):
788         (WebCore::Settings::setMediaEnabled):
789         * page/Settings.h:
790         (WebCore::Settings::isMediaEnabled):
791         * svg/graphics/SVGImage.cpp: Disables media in dummy page
792         (WebCore::SVGImage::dataChanged):
793
794 2010-04-19  Antonio Gomes  <tonikitoo@webkit.org>
795
796         Reviewed by Simon Fraser.
797
798         Spatial Navigation: at @updateFocusCandidateIfCloser make an assignment shortcut when FocusCandidate is null
799         https://bugs.webkit.org/show_bug.cgi?id=37802
800
801         In updateFocusCandidateIfCloser method, we do all bail out checks in the begining of
802         the method body. If after those bail out checks, no "best FocusCandidate" has been taken
803         yet (i.e. focusCandidate.isNull() == true), we can safely take the current candidate,
804         and exit earlier.
805
806         No behavior change, it is just a safe assignment shortcut.
807
808         * page/FocusController.cpp:
809         (WebCore::updateFocusCandidateIfCloser):
810
811 2010-04-20  Simon Fraser  <simon.fraser@apple.com>
812
813         Reviewed by Dan Bernstein.
814
815         Hook compositing layers together across iframes
816         https://bugs.webkit.org/show_bug.cgi?id=37878
817         
818         First step: if an iframe's document goes into compositing mode, also throw the parent
819         document into compositing mode (all the way up to the root). This is required both
820         to preserve layering (since parent document content can obscure iframe content),
821         and so that we can eventually hook the layer trees together.
822
823         Test: compositing/iframes/composited-iframe.html
824
825         * rendering/RenderIFrame.h:
826         * rendering/RenderIFrame.cpp:
827         (WebCore::RenderIFrame::requiresLayer): In order to make an iframe composited, it also has to have
828         a RenderLayer, so must return |true| from requiresLayer().
829         (WebCore::RenderIFrame::requiresAcceleratedCompositing): Returns true if the content document
830         is in compositing mode.
831         (WebCore::RenderIFrame::isRenderIFrame): Required so that RenderLayerCompositor can check
832         if a renderer is an iframe.
833         (WebCore::toRenderIFrame): Required so that RenderLayerCompositor can cast to a RenderIFrame.
834
835         * rendering/RenderLayerCompositor.h:
836         * rendering/RenderLayerCompositor.cpp:
837         (WebCore::RenderLayerCompositor::enableCompositingMode): Call out to the RenderView when
838         the compositing mode changes, so that the parent document can update its compositing status.
839         (WebCore::RenderLayerCompositor::requiresCompositingLayer): Call requiresCompositingForIFrame().
840         (WebCore::RenderLayerCompositor::requiresCompositingForIFrame): Check to see if the iframe
841         wants to be composited.
842
843         * rendering/RenderObject.h:
844         (WebCore::RenderObject::isRenderIFrame): Base class returns false.
845
846         * rendering/RenderView.h:
847         * rendering/RenderView.cpp:
848         (WebCore::RenderView::compositingStateChanged): New method that allows an iframe to notify
849         its parent document that a recalcStyle is required, to update compositing state.
850
851 2010-04-20  Gavin Barraclough  <barraclough@apple.com>
852
853         Reviewed by NOBODY (build fix).
854         Speculative tiger build fix.
855
856         * WebCore.NPAPI.exp:
857         * WebCore.PluginHostProcess.exp:
858         * WebCore.base.exp:
859
860 2010-04-20  Pavel Feldman  <pfeldman@chromium.org>
861
862         Reviewed by Timothy Hatcher.
863
864         Web Inspector: add basic script editing capabilities to the front-end.
865
866         https://bugs.webkit.org/show_bug.cgi?id=37875
867
868         * bindings/js/ScriptDebugServer.cpp:
869         (WebCore::ScriptDebugServer::setBreakpoint):
870         (WebCore::ScriptDebugServer::removeBreakpoint):
871         * inspector/front-end/ScriptView.js:
872         (WebInspector.ScriptView):
873         (WebInspector.ScriptView.prototype._editLine):
874         (WebInspector.ScriptView.prototype._editLineComplete):
875         * inspector/front-end/ScriptsPanel.js:
876         (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
877         (WebInspector.ScriptsPanel.prototype.canEditScripts):
878         (WebInspector.ScriptsPanel.prototype.editScriptLine):
879         * inspector/front-end/SourceFrame.js:
880         (WebInspector.SourceFrame):
881         (WebInspector.SourceFrame.prototype.updateContent):
882         (WebInspector.SourceFrame.prototype._createViewerIfNeeded):
883         * inspector/front-end/TextEditorHighlighter.js:
884         (WebInspector.TextEditorHighlighter):
885         (WebInspector.TextEditorHighlighter.prototype.reset):
886         * inspector/front-end/TextEditorModel.js:
887         (WebInspector.TextEditorModel.prototype.copyRange):
888         * inspector/front-end/TextViewer.js:
889         (WebInspector.TextViewer):
890         (WebInspector.TextViewer.prototype.set editCallback):
891         (WebInspector.TextViewer.prototype._buildChunks):
892         (WebInspector.TextViewer.prototype._handleKeyDown):
893         (WebInspector.TextViewer.prototype._handleDoubleClick):
894         (WebInspector.TextViewer.prototype._commitEditingLine):
895         (WebInspector.TextViewer.prototype._cancelEditingLine):
896         * inspector/front-end/inspector.js:
897         (WebInspector.documentKeyDown):
898         (WebInspector.log.logMessage):
899         (WebInspector.log):
900         (WebInspector.isEditingAnyField):
901         (WebInspector.startEditing.cleanUpAfterEditing):
902
903 2010-04-20  Gavin Barraclough  <barraclough@apple.com>
904
905         Reviewed by Geoff Garen.
906
907         Add forwarding header.
908
909         * ForwardingHeaders/runtime/RopeImpl.h: Added.
910
911 2010-04-20  Gavin Barraclough  <barraclough@apple.com>
912
913         Reviewed by Geoff Garen.
914
915         Bug 37828 - Move WebCore's String classes to WTF
916
917         Move these classes up to WTF so they are available to all clients of WTF (in
918         particular JSC).
919
920         As a first patch, making the most minimal change possible, since this patch
921         could easily grow rather large since we'll have to change every class forward
922         declaration ( e.g. every "namespace WebCore { class String; }" much change to
923         "namespace WTF { class String; }").
924
925         Moving the files, but leaving the classes logically in the WebCore namespace –
926         which is technically a layering violation – I'll come back and fix this up in a
927         subsequent patch.
928
929         * Android.mk:
930         * ForwardingHeaders/wtf/StaticConstructors.h: Added.
931         * ForwardingHeaders/wtf/text/AtomicString.h: Added.
932         * ForwardingHeaders/wtf/text/AtomicStringImpl.h: Added.
933         * ForwardingHeaders/wtf/text/StringBuffer.h: Added.
934         * ForwardingHeaders/wtf/text/StringHash.h: Added.
935         * ForwardingHeaders/wtf/text/StringImpl.h: Added.
936         * ForwardingHeaders/wtf/text/WTFString.h: Added.
937         * GNUmakefile.am:
938         * WebCore.gypi:
939         * WebCore.pro:
940         * WebCore.vcproj/WebCore.vcproj:
941         * WebCore.xcodeproj/project.pbxproj:
942         * css/MediaFeatureNames.cpp:
943         * dom/QualifiedName.cpp:
944         * dom/make_names.pl:
945         * platform/StaticConstructors.h: Removed.
946         * platform/text/AtomicString.cpp: Removed.
947         * platform/text/AtomicString.h:
948         * platform/text/AtomicStringImpl.h:
949         * platform/text/PlatformString.h:
950         * platform/text/String.cpp:
951         * platform/text/StringHash.h:
952         * platform/text/StringImpl.cpp: Removed.
953         * platform/text/StringImpl.h:
954
955 2010-04-20  Kent Tamura  <tkent@chromium.org>
956
957         Reviewed by Darin Adler.
958
959         Change a parameter type of chooseIconForFiles()
960         https://bugs.webkit.org/show_bug.cgi?id=37504
961
962         Change PassRefPtr<FileChooser> parameter of chooseIconForFiles()
963         to FileChooser*. Though an implementation of chooseIconForFiles()
964         might have ownership of the FileChooser instance, we don't need to
965         use PassRefPtr<> in this case.
966
967         * loader/EmptyClients.h:
968         (WebCore::EmptyChromeClient::chooseIconForFiles):
969         * page/Chrome.cpp:
970         (WebCore::Chrome::chooseIconForFiles):
971         * page/Chrome.h:
972         * page/ChromeClient.h:
973
974 2010-04-20  Diego Escalante Urrelo  <descalante@igalia.com>
975
976         Reviewed by Xan Lopez.
977
978         [Gtk] Evaluate and create tests for all the AtkRole's implemented by
979         WebKitGtk
980         https://bugs.webkit.org/show_bug.cgi?id=34449
981
982         Implement ATK_ROLE_FORM.
983
984         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
985         (webkit_accessible_get_role):
986
987 2010-04-20  Martin Robinson  <mrobinson@webkit.org>
988
989         Reviewed by Gustavo Noronha Silva.
990
991         [GTK] Enable DOM clipboard and drag-and-drop access
992         https://bugs.webkit.org/show_bug.cgi?id=30623
993
994         Move most of the PasteboardHelper logic into WebCore. This helps
995         prepare for WebKit2 and leads to a clearer separation of concerns
996         between the WebKit and WebCore layers.
997
998         No new tests as functionality has not changed.
999
1000         * GNUmakefile.am: Add PastboardHelper.cpp to list of sources.
1001         * platform/Pasteboard.h: Added a getter for the PasteboardHelper and made the member private.
1002         * platform/gtk/PasteboardGtk.cpp: Update PasteboardHelper method calls to use new naming.
1003         (WebCore::clipboard_get_contents_cb): Ditto.
1004         (WebCore::Pasteboard::helper): Added, member is now private.
1005         (WebCore::Pasteboard::writeURL): Ditto.
1006         (WebCore::Pasteboard::documentFragment): Update to reflect method renaming.
1007         (WebCore::Pasteboard::plainText): Ditto.
1008         * platform/gtk/PasteboardHelper.cpp: Added.
1009         (WebCore::PasteboardHelper::PasteboardHelper): Added.
1010         (WebCore::PasteboardHelper::~PasteboardHelper): Added.
1011         (WebCore::PasteboardHelper::initializeTargetList): Added, originally from WebKit.
1012         (WebCore::widgetFromFrame): Added helper function.
1013         (WebCore::PasteboardHelper::getCurrentClipboard): Added, originally from WebKit.
1014         (WebCore::PasteboardHelper::getClipboard): Ditto.
1015         (WebCore::PasteboardHelper::getPrimarySelectionClipboard): Ditto.
1016         (WebCore::PasteboardHelper::targetList): Ditto.
1017         (WebCore::PasteboardHelper::fillSelectionData): Ditto.
1018         (WebCore::PasteboardHelper::targetListForDataObject): Ditto.
1019         (WebCore::getClipboardContentsCallback): Ditto.
1020         (WebCore::clearClipboardContentsCallback): Ditto.
1021         (WebCore::PasteboardHelper::writeClipboardContents): Ditto.
1022         * platform/gtk/PasteboardHelper.h: Moved methods from WebKit to WebCore.
1023
1024 2010-04-20  Simon Fraser  <simon.fraser@apple.com>
1025
1026         Reviewed by Anders Carlsson.
1027
1028         backgroundColor is oddly indented in layer tree dump
1029         https://bugs.webkit.org/show_bug.cgi?id=37885
1030
1031         The writeIndent() was mistakenly outside the LayerTreeAsTextDebug clause, causing indents
1032         to be written twice.
1033         
1034         * platform/graphics/GraphicsLayer.cpp:
1035         (WebCore::GraphicsLayer::dumpProperties):
1036
1037 2010-04-20  Simon Fraser  <simon.fraser@apple.com>
1038
1039         Reviewed by Dimitri Glazkov.
1040
1041         Clean up RenderPart/RenderPartObject/RenderFrame/RenderEmbeddedObject
1042         https://bugs.webkit.org/show_bug.cgi?id=37741
1043
1044         RenderPartObject is a useless intermediate class between RenderPart and
1045         RenderEmbeddedObject, and we can now remove it. Its only method, viewCleared(),
1046         applies to objects and embeds when the content is a FrameView, so can move
1047         to RenderEmbeddedObject.
1048
1049         * Android.mk:
1050         * GNUmakefile.am:
1051         * WebCore.gypi:
1052         * WebCore.pro:
1053         * WebCore.vcproj/WebCore.vcproj:
1054         * WebCore.xcodeproj/project.pbxproj:
1055         * rendering/RenderEmbeddedObject.cpp:
1056         (WebCore::RenderEmbeddedObject::RenderEmbeddedObject):
1057         (WebCore::RenderEmbeddedObject::requiresLayer):
1058         (WebCore::RenderEmbeddedObject::paint):
1059         (WebCore::RenderEmbeddedObject::viewCleared):
1060         * rendering/RenderEmbeddedObject.h:
1061         * rendering/RenderFrameBase.h:
1062         * rendering/RenderPart.cpp:
1063         (WebCore::RenderPart::RenderPart):
1064         * rendering/RenderPart.h:
1065         * rendering/RenderPartObject.cpp: Removed.
1066         * rendering/RenderPartObject.h: Removed.
1067
1068 2010-04-20  Robin Cao  <robin.webkit@gmail.com>
1069
1070         Reviewed by Dirk Schulze.
1071
1072         SVG no AnimateColor for stroke or fill if they are set to none on target.
1073         https://bugs.webkit.org/show_bug.cgi?id=36718
1074
1075         SVGAnimateElement::resetToBaseValue reset 'm_propertyType' in the process of animation.
1076         This will cause problems when attributes 'fill' and 'stroke' have the value 'none', because in this case 
1077         the property type determined by base value may be different from the one determined by 'fromTo' values.
1078
1079         No new tests. The test suite in svg/animation is not working for target element with attribute 'fill' set to 'none'.
1080         Now animateColor on target element with attributes 'fill' and 'stroke' set to 'none' is possible.
1081
1082         * svg/SVGAnimateElement.cpp:
1083         (WebCore::SVGAnimateElement::calculateFromAndToValues):
1084         (WebCore::SVGAnimateElement::resetToBaseValue):
1085
1086 2010-04-20  Sheriff Bot  <webkit.review.bot@gmail.com>
1087
1088         Unreviewed, rolling out r57892.
1089         http://trac.webkit.org/changeset/57892
1090         https://bugs.webkit.org/show_bug.cgi?id=37864
1091
1092         Caused an assertion in Mac builds (Requested by smfr on
1093         #webkit).
1094
1095         * WebCore.xcodeproj/project.pbxproj:
1096         * editing/Editor.cpp:
1097         (WebCore::Editor::insideVisibleArea):
1098         * page/Frame.cpp:
1099         (WebCore::Frame::ownerRenderer):
1100         * page/Frame.h:
1101         * page/FrameView.cpp:
1102         (WebCore::FrameView::~FrameView):
1103         (WebCore::FrameView::clear):
1104         (WebCore::FrameView::invalidateRect):
1105         (WebCore::FrameView::createScrollbar):
1106         * rendering/RenderFrameBase.h:
1107         * rendering/RenderObject.h:
1108
1109 2010-04-20  Jakub Wieczorek  <jwieczorek@webkit.org>
1110
1111         Reviewed by Darin Adler.
1112
1113         RenderListItem: change enclosingList() to only traverse the render tree.
1114         https://bugs.webkit.org/show_bug.cgi?id=37319
1115
1116         This makes the function safe to use for items with nodes that are detached from
1117         the DOM tree and simplifies the code quite a bit.
1118
1119         Covered by existing tests.
1120
1121         * rendering/RenderListItem.cpp:
1122         (WebCore::enclosingList):
1123         (WebCore::previousListItem):
1124         (WebCore::RenderListItem::explicitValueChanged):
1125
1126 2010-04-20  Simon Fraser  <simon.fraser@apple.com>
1127
1128         Reviewed by Dan Bernstein.
1129
1130         Clean up RenderPart/RenderPartObject/RenderFrame/RenderEmbeddedObject
1131         https://bugs.webkit.org/show_bug.cgi?id=37741
1132
1133         Make Frame::ownerRenderer() return a RenderFrameBase* rather than a
1134         RenderPart*, and add the necessary toRenderFrameBase() and isRenderFrameBase().
1135
1136         * WebCore.xcodeproj/project.pbxproj:
1137         * editing/Editor.cpp:
1138         (WebCore::Editor::insideVisibleArea):
1139         * page/Frame.cpp:
1140         (WebCore::Frame::ownerRenderer):
1141         * page/Frame.h:
1142         * page/FrameView.cpp:
1143         (WebCore::FrameView::~FrameView):
1144         (WebCore::FrameView::clear):
1145         (WebCore::FrameView::invalidateRect):
1146         (WebCore::FrameView::createScrollbar):
1147         * rendering/RenderFrameBase.h:
1148         (WebCore::RenderFrameBase::isRenderFrameBase):
1149         (WebCore::toRenderFrameBase):
1150         * rendering/RenderObject.h:
1151         (WebCore::RenderObject::isRenderFrameBase):
1152
1153 2010-04-20  Jay Civelli  <jcivelli@chromium.org>
1154
1155         Reviewed by Dimitri Glazkov.
1156
1157         [chromium] Pressing tab now closes the select popup as it should.
1158         https://bugs.webkit.org/show_bug.cgi?id=37721
1159
1160         * platform/chromium/PopupMenuChromium.cpp:
1161         (WebCore::PopupListBox::handleKeyEvent):
1162
1163 2010-04-20  Yaar Schnitman  <yaar@chromium.org>
1164
1165         Reviewed by Nate Chapin.
1166
1167         Null value should be legit value for wrapped types. This requires some cleanup in canvas which was missing built-in null argument checks;
1168         https://bugs.webkit.org/show_bug.cgi?id=37810
1169
1170         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
1171         (WebCore::JSCanvasRenderingContext2D::drawImage): Passes ec to drawImage(3) too
1172         * bindings/scripts/CodeGeneratorV8.pm: A null value is now legit value for wrapped types.
1173         * bindings/v8/test/V8TestObj.cpp:
1174         (WebCore::TestObjInternal::overloadedMethodCallback):
1175         * html/canvas/CanvasRenderingContext2D.cpp:
1176         (WebCore::CanvasRenderingContext2D::drawImage): Added null checks.
1177         (WebCore::CanvasRenderingContext2D::createPattern): Added null checks.
1178         * html/canvas/CanvasRenderingContext2D.h: Added needed raises "DOMException".
1179         * html/canvas/CanvasRenderingContext2D.idl: Added needed raises "DOMException".
1180
1181 2010-04-20  Evan Stade  <estade@chromium.org>
1182
1183         Reviewed by David Levin.
1184
1185         [chromium] crash when dragging images
1186         https://bugs.webkit.org/show_bug.cgi?id=37715
1187
1188         NULL check the return value of nativeImageForCurrentFrame(),
1189         and NULL check Image just for good measure.
1190
1191         Tested by new DragImageTest unit test.
1192
1193         * platform/chromium/DragImageChromiumSkia.cpp:
1194         (WebCore::createDragImageFromImage):
1195
1196 2010-04-20  Dirk Schulze  <krit@webkit.org>
1197
1198         Reviewed by Nikolas Zimmermann.
1199
1200         SVGResourceFilter needs to be moved to under Renderers
1201         https://bugs.webkit.org/show_bug.cgi?id=35320
1202
1203         This patch adds a renderer for SVGFilterElement. SVGFilterElement is now independent
1204         from the SVGResources.
1205         A clean-up solves the dependencies between SVGFilterElement, the filter primitives
1206         and SVGResources. This shall make the filter code more readable and better maintable.
1207         The Filter primitives get dumped now, as long as they have externalRepresentation
1208         implemented.
1209
1210         No behavior changes, so no new tests were added.
1211
1212         * Android.mk:
1213         * GNUmakefile.am:
1214         * WebCore.gypi:
1215         * WebCore.pro:
1216         * WebCore.vcproj/WebCore.vcproj:
1217         * WebCore.xcodeproj/project.pbxproj:
1218         * rendering/RenderPath.cpp:
1219         (WebCore::RenderPath::paint):
1220         * rendering/RenderSVGContainer.cpp:
1221         (WebCore::RenderSVGContainer::selfWillPaint):
1222         (WebCore::RenderSVGContainer::paint):
1223         * rendering/RenderSVGImage.cpp:
1224         (WebCore::RenderSVGImage::paint):
1225         * rendering/RenderSVGResource.h:
1226         (WebCore::):
1227         (WebCore::RenderSVGResource::postApplyResource):
1228         * rendering/RenderSVGResourceClipper.cpp:
1229         (WebCore::RenderSVGResourceClipper::applyResource):
1230         * rendering/RenderSVGResourceClipper.h:
1231         * rendering/RenderSVGResourceFilter.cpp: Added.
1232         (WebCore::RenderSVGResourceFilter::RenderSVGResourceFilter):
1233         (WebCore::RenderSVGResourceFilter::~RenderSVGResourceFilter):
1234         (WebCore::RenderSVGResourceFilter::invalidateClients):
1235         (WebCore::RenderSVGResourceFilter::invalidateClient):
1236         (WebCore::RenderSVGResourceFilter::buildPrimitives):
1237         (WebCore::RenderSVGResourceFilter::fitsInMaximumImageSize):
1238         (WebCore::RenderSVGResourceFilter::applyResource):
1239         (WebCore::RenderSVGResourceFilter::postApplyResource):
1240         (WebCore::RenderSVGResourceFilter::resourceBoundingBox):
1241         * rendering/RenderSVGResourceFilter.h: Added.
1242         (WebCore::FilterData::FilterData):
1243         (WebCore::RenderSVGResourceFilter::renderName):
1244         (WebCore::RenderSVGResourceFilter::filterUnits):
1245         (WebCore::RenderSVGResourceFilter::primitiveUnits):
1246         (WebCore::RenderSVGResourceFilter::resourceType):
1247         * rendering/RenderSVGResourceMarker.h:
1248         (WebCore::RenderSVGResourceMarker::applyResource):
1249         * rendering/RenderSVGResourceMasker.cpp:
1250         (WebCore::RenderSVGResourceMasker::applyResource):
1251         * rendering/RenderSVGResourceMasker.h:
1252         * rendering/RenderSVGRoot.cpp:
1253         (WebCore::RenderSVGRoot::selfWillPaint):
1254         (WebCore::RenderSVGRoot::paint):
1255         * rendering/RenderSVGText.cpp:
1256         * rendering/SVGRenderSupport.cpp:
1257         (WebCore::SVGRenderBase::prepareToRenderSVGContent):
1258         (WebCore::SVGRenderBase::finishRenderSVGContent):
1259         (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
1260         (WebCore::deregisterFromResources):
1261         * rendering/SVGRenderSupport.h:
1262         * rendering/SVGRenderTreeAsText.cpp:
1263         (WebCore::writeStyle):
1264         (WebCore::writeSVGResource):
1265         (WebCore::writeResources):
1266         (WebCore::writeRenderResources):
1267         * rendering/SVGRootInlineBox.cpp:
1268         (WebCore::SVGRootInlineBoxPaintWalker::SVGRootInlineBoxPaintWalker):
1269         (WebCore::SVGRootInlineBox::paint):
1270         * svg/SVGFEBlendElement.cpp:
1271         (WebCore::SVGFEBlendElement::build):
1272         * svg/SVGFEBlendElement.h:
1273         * svg/SVGFEColorMatrixElement.cpp:
1274         (WebCore::SVGFEColorMatrixElement::build):
1275         * svg/SVGFEColorMatrixElement.h:
1276         * svg/SVGFEComponentTransferElement.cpp:
1277         (WebCore::SVGFEComponentTransferElement::build):
1278         * svg/SVGFEComponentTransferElement.h:
1279         * svg/SVGFECompositeElement.cpp:
1280         (WebCore::SVGFECompositeElement::build):
1281         * svg/SVGFECompositeElement.h:
1282         * svg/SVGFEDiffuseLightingElement.cpp:
1283         (WebCore::SVGFEDiffuseLightingElement::build):
1284         * svg/SVGFEDiffuseLightingElement.h:
1285         * svg/SVGFEDisplacementMapElement.cpp:
1286         (WebCore::SVGFEDisplacementMapElement::build):
1287         * svg/SVGFEDisplacementMapElement.h:
1288         * svg/SVGFEFloodElement.cpp:
1289         (WebCore::SVGFEFloodElement::build):
1290         * svg/SVGFEFloodElement.h:
1291         * svg/SVGFEGaussianBlurElement.cpp:
1292         (WebCore::SVGFEGaussianBlurElement::build):
1293         * svg/SVGFEGaussianBlurElement.h:
1294         * svg/SVGFEImageElement.cpp:
1295         (WebCore::SVGFEImageElement::build):
1296         * svg/SVGFEImageElement.h:
1297         * svg/SVGFEMergeElement.cpp:
1298         (WebCore::SVGFEMergeElement::build):
1299         * svg/SVGFEMergeElement.h:
1300         * svg/SVGFEMorphologyElement.cpp:
1301         (WebCore::SVGFEMorphologyElement::build):
1302         * svg/SVGFEMorphologyElement.h:
1303         * svg/SVGFEOffsetElement.cpp:
1304         (WebCore::SVGFEOffsetElement::build):
1305         * svg/SVGFEOffsetElement.h:
1306         * svg/SVGFESpecularLightingElement.cpp:
1307         (WebCore::SVGFESpecularLightingElement::build):
1308         * svg/SVGFESpecularLightingElement.h:
1309         * svg/SVGFETileElement.cpp:
1310         (WebCore::SVGFETileElement::build):
1311         * svg/SVGFETileElement.h:
1312         * svg/SVGFETurbulenceElement.cpp:
1313         (WebCore::SVGFETurbulenceElement::build):
1314         * svg/SVGFETurbulenceElement.h:
1315         (WebCore::):
1316         * svg/SVGFilterElement.cpp:
1317         (WebCore::SVGFilterElement::createRenderer):
1318         * svg/SVGFilterElement.h:
1319         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
1320         (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
1321         * svg/SVGFilterPrimitiveStandardAttributes.h:
1322         (WebCore::SVGFilterPrimitiveStandardAttributes::isFilterEffect):
1323         (WebCore::SVGFilterPrimitiveStandardAttributes::rendererIsNeeded):
1324         * svg/SVGStyledElement.cpp:
1325         (WebCore::SVGStyledElement::invalidateResources):
1326         * svg/graphics/SVGResource.cpp:
1327         * svg/graphics/SVGResource.h:
1328         (WebCore::):
1329         (WebCore::SVGResource::isPaintServer):
1330         * svg/graphics/SVGResourceFilter.cpp: Removed.
1331         * svg/graphics/SVGResourceFilter.h: Removed.
1332         * svg/graphics/filters/SVGFEDisplacementMap.cpp:
1333         (WebCore::FEDisplacementMap::externalRepresentation):
1334         * svg/graphics/filters/SVGFilterBuilder.h:
1335         (WebCore::SVGFilterBuilder::namedEffects):
1336
1337 2010-04-20  Sheriff Bot  <webkit.review.bot@gmail.com>
1338
1339         Unreviewed, rolling out r57880.
1340         http://trac.webkit.org/changeset/57880
1341         https://bugs.webkit.org/show_bug.cgi?id=37846
1342
1343         Broke several bots, FEDisplacmentMap dumps includes pointers,
1344         no one noticed. Dirk will upload a new patch later. (Requested
1345         by WildFox on #webkit).
1346
1347         * Android.mk:
1348         * GNUmakefile.am:
1349         * WebCore.gypi:
1350         * WebCore.pro:
1351         * WebCore.vcproj/WebCore.vcproj:
1352         * WebCore.xcodeproj/project.pbxproj:
1353         * rendering/RenderPath.cpp:
1354         (WebCore::RenderPath::paint):
1355         * rendering/RenderSVGContainer.cpp:
1356         (WebCore::RenderSVGContainer::selfWillPaint):
1357         (WebCore::RenderSVGContainer::paint):
1358         * rendering/RenderSVGImage.cpp:
1359         (WebCore::RenderSVGImage::paint):
1360         * rendering/RenderSVGResource.h:
1361         (WebCore::):
1362         * rendering/RenderSVGResourceClipper.cpp:
1363         (WebCore::RenderSVGResourceClipper::applyResource):
1364         * rendering/RenderSVGResourceClipper.h:
1365         * rendering/RenderSVGResourceFilter.cpp: Removed.
1366         * rendering/RenderSVGResourceFilter.h: Removed.
1367         * rendering/RenderSVGResourceMarker.h:
1368         (WebCore::RenderSVGResourceMarker::applyResource):
1369         * rendering/RenderSVGResourceMasker.cpp:
1370         (WebCore::RenderSVGResourceMasker::applyResource):
1371         * rendering/RenderSVGResourceMasker.h:
1372         * rendering/RenderSVGRoot.cpp:
1373         (WebCore::RenderSVGRoot::selfWillPaint):
1374         (WebCore::RenderSVGRoot::paint):
1375         * rendering/RenderSVGText.cpp:
1376         * rendering/SVGRenderSupport.cpp:
1377         (WebCore::SVGRenderBase::prepareToRenderSVGContent):
1378         (WebCore::SVGRenderBase::finishRenderSVGContent):
1379         (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
1380         (WebCore::deregisterFromResources):
1381         * rendering/SVGRenderSupport.h:
1382         * rendering/SVGRenderTreeAsText.cpp:
1383         (WebCore::writeStyle):
1384         (WebCore::writeSVGResource):
1385         (WebCore::writeResources):
1386         (WebCore::writeRenderResources):
1387         * rendering/SVGRootInlineBox.cpp:
1388         (WebCore::SVGRootInlineBoxPaintWalker::SVGRootInlineBoxPaintWalker):
1389         (WebCore::SVGRootInlineBox::paint):
1390         * svg/SVGFEBlendElement.cpp:
1391         (WebCore::SVGFEBlendElement::build):
1392         * svg/SVGFEBlendElement.h:
1393         * svg/SVGFEColorMatrixElement.cpp:
1394         (WebCore::SVGFEColorMatrixElement::build):
1395         * svg/SVGFEColorMatrixElement.h:
1396         * svg/SVGFEComponentTransferElement.cpp:
1397         (WebCore::SVGFEComponentTransferElement::build):
1398         * svg/SVGFEComponentTransferElement.h:
1399         * svg/SVGFECompositeElement.cpp:
1400         (WebCore::SVGFECompositeElement::build):
1401         * svg/SVGFECompositeElement.h:
1402         * svg/SVGFEDiffuseLightingElement.cpp:
1403         (WebCore::SVGFEDiffuseLightingElement::build):
1404         * svg/SVGFEDiffuseLightingElement.h:
1405         * svg/SVGFEDisplacementMapElement.cpp:
1406         (WebCore::SVGFEDisplacementMapElement::build):
1407         * svg/SVGFEDisplacementMapElement.h:
1408         * svg/SVGFEFloodElement.cpp:
1409         (WebCore::SVGFEFloodElement::build):
1410         * svg/SVGFEFloodElement.h:
1411         * svg/SVGFEGaussianBlurElement.cpp:
1412         (WebCore::SVGFEGaussianBlurElement::build):
1413         * svg/SVGFEGaussianBlurElement.h:
1414         * svg/SVGFEImageElement.cpp:
1415         (WebCore::SVGFEImageElement::build):
1416         * svg/SVGFEImageElement.h:
1417         * svg/SVGFEMergeElement.cpp:
1418         (WebCore::SVGFEMergeElement::build):
1419         * svg/SVGFEMergeElement.h:
1420         * svg/SVGFEMorphologyElement.cpp:
1421         (WebCore::SVGFEMorphologyElement::build):
1422         * svg/SVGFEMorphologyElement.h:
1423         * svg/SVGFEOffsetElement.cpp:
1424         (WebCore::SVGFEOffsetElement::build):
1425         * svg/SVGFEOffsetElement.h:
1426         * svg/SVGFESpecularLightingElement.cpp:
1427         (WebCore::SVGFESpecularLightingElement::build):
1428         * svg/SVGFESpecularLightingElement.h:
1429         * svg/SVGFETileElement.cpp:
1430         (WebCore::SVGFETileElement::build):
1431         * svg/SVGFETileElement.h:
1432         * svg/SVGFETurbulenceElement.cpp:
1433         (WebCore::SVGFETurbulenceElement::build):
1434         * svg/SVGFETurbulenceElement.h:
1435         (WebCore::):
1436         * svg/SVGFilterElement.cpp:
1437         (WebCore::SVGFilterElement::buildFilter):
1438         (WebCore::SVGFilterElement::canvasResource):
1439         * svg/SVGFilterElement.h:
1440         (WebCore::SVGFilterElement::rendererIsNeeded):
1441         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
1442         (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
1443         * svg/SVGFilterPrimitiveStandardAttributes.h:
1444         (WebCore::SVGFilterPrimitiveStandardAttributes::isFilterEffect):
1445         (WebCore::SVGFilterPrimitiveStandardAttributes::rendererIsNeeded):
1446         * svg/SVGStyledElement.cpp:
1447         (WebCore::SVGStyledElement::invalidateResources):
1448         * svg/graphics/SVGResource.cpp:
1449         * svg/graphics/SVGResource.h:
1450         (WebCore::):
1451         (WebCore::SVGResource::isFilter):
1452         * svg/graphics/SVGResourceFilter.cpp: Added.
1453         (WebCore::SVGResourceFilter::SVGResourceFilter):
1454         (WebCore::SVGResourceFilter::~SVGResourceFilter):
1455         (WebCore::SVGResourceFilter::filterBoundingBox):
1456         (WebCore::shouldProcessFilter):
1457         (WebCore::SVGResourceFilter::addFilterEffect):
1458         (WebCore::SVGResourceFilter::fitsInMaximumImageSize):
1459         (WebCore::SVGResourceFilter::prepareFilter):
1460         (WebCore::SVGResourceFilter::applyFilter):
1461         (WebCore::SVGResourceFilter::externalRepresentation):
1462         (WebCore::getFilterById):
1463         * svg/graphics/SVGResourceFilter.h: Added.
1464         (WebCore::SVGResourceFilter::create):
1465         (WebCore::SVGResourceFilter::resourceType):
1466         (WebCore::SVGResourceFilter::setFilterResolution):
1467         (WebCore::SVGResourceFilter::setHasFilterResolution):
1468         (WebCore::SVGResourceFilter::filterBoundingBoxMode):
1469         (WebCore::SVGResourceFilter::setFilterBoundingBoxMode):
1470         (WebCore::SVGResourceFilter::effectBoundingBoxMode):
1471         (WebCore::SVGResourceFilter::setEffectBoundingBoxMode):
1472         (WebCore::SVGResourceFilter::filterRect):
1473         (WebCore::SVGResourceFilter::setFilterRect):
1474         (WebCore::SVGResourceFilter::scaleX):
1475         (WebCore::SVGResourceFilter::scaleY):
1476         (WebCore::SVGResourceFilter::setFilterBoundingBox):
1477         (WebCore::SVGResourceFilter::builder):
1478         * svg/graphics/filters/SVGFilterBuilder.h:
1479
1480 2010-04-20  Dirk Schulze  <krit@webkit.org>
1481
1482         Reviewed by Nikolas Zimmermann.
1483
1484         SVGResourceFilter needs to be moved to under Renderers
1485         https://bugs.webkit.org/show_bug.cgi?id=35320
1486
1487         This patch adds a renderer for SVGFilterElement. SVGFilterElement is now independent
1488         from the SVGResources.
1489         A clean-up solves the dependencies between SVGFilterElement, the filter primitives
1490         and SVGResources. This shall make the filter code more readable and better maintable.
1491         The Filter primitives get dumped now, as long as they have externalRepresentation
1492         implemented.
1493
1494         No behavior changes, so no new tests were added.
1495
1496         * Android.mk:
1497         * GNUmakefile.am:
1498         * WebCore.gypi:
1499         * WebCore.pro:
1500         * WebCore.vcproj/WebCore.vcproj:
1501         * WebCore.xcodeproj/project.pbxproj:
1502         * rendering/RenderPath.cpp:
1503         (WebCore::RenderPath::paint):
1504         * rendering/RenderSVGContainer.cpp:
1505         (WebCore::RenderSVGContainer::selfWillPaint):
1506         (WebCore::RenderSVGContainer::paint):
1507         * rendering/RenderSVGImage.cpp:
1508         (WebCore::RenderSVGImage::paint):
1509         * rendering/RenderSVGResource.h:
1510         (WebCore::):
1511         * rendering/RenderSVGResourceClipper.cpp:
1512         (WebCore::RenderSVGResourceClipper::applyResource):
1513         * rendering/RenderSVGResourceClipper.h:
1514         * rendering/RenderSVGResourceFilter.cpp: Added.
1515         (WebCore::RenderSVGResourceFilter::RenderSVGResourceFilter):
1516         (WebCore::RenderSVGResourceFilter::~RenderSVGResourceFilter):
1517         (WebCore::RenderSVGResourceFilter::invalidateClients):
1518         (WebCore::RenderSVGResourceFilter::invalidateClient):
1519         (WebCore::RenderSVGResourceFilter::buildPrimitives):
1520         (WebCore::RenderSVGResourceFilter::fitsInMaximumImageSize):
1521         (WebCore::RenderSVGResourceFilter::applyResource):
1522         (WebCore::RenderSVGResourceFilter::postApplyResource):
1523         (WebCore::RenderSVGResourceFilter::resourceBoundingBox):
1524         * rendering/RenderSVGResourceFilter.h: Added.
1525         (WebCore::FilterData::FilterData):
1526         (WebCore::RenderSVGResourceFilter::renderName):
1527         (WebCore::RenderSVGResourceFilter::filterUnits):
1528         (WebCore::RenderSVGResourceFilter::primitiveUnits):
1529         (WebCore::RenderSVGResourceFilter::resourceType):
1530         * rendering/RenderSVGResourceMarker.h:
1531         (WebCore::RenderSVGResourceMarker::applyResource):
1532         * rendering/RenderSVGResourceMasker.cpp:
1533         (WebCore::RenderSVGResourceMasker::applyResource):
1534         * rendering/RenderSVGResourceMasker.h:
1535         * rendering/RenderSVGRoot.cpp:
1536         (WebCore::RenderSVGRoot::selfWillPaint):
1537         (WebCore::RenderSVGRoot::paint):
1538         * rendering/RenderSVGText.cpp:
1539         * rendering/SVGRenderSupport.cpp:
1540         (WebCore::SVGRenderBase::prepareToRenderSVGContent):
1541         (WebCore::SVGRenderBase::finishRenderSVGContent):
1542         (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
1543         (WebCore::deregisterFromResources):
1544         * rendering/SVGRenderSupport.h:
1545         * rendering/SVGRenderTreeAsText.cpp:
1546         (WebCore::writeStyle):
1547         (WebCore::writeSVGResource):
1548         (WebCore::writeResources):
1549         (WebCore::writeRenderResources):
1550         * rendering/SVGRootInlineBox.cpp:
1551         (WebCore::SVGRootInlineBoxPaintWalker::SVGRootInlineBoxPaintWalker):
1552         (WebCore::SVGRootInlineBox::paint):
1553         * svg/SVGFEBlendElement.cpp:
1554         (WebCore::SVGFEBlendElement::build):
1555         * svg/SVGFEBlendElement.h:
1556         * svg/SVGFEColorMatrixElement.cpp:
1557         (WebCore::SVGFEColorMatrixElement::build):
1558         * svg/SVGFEColorMatrixElement.h:
1559         * svg/SVGFEComponentTransferElement.cpp:
1560         (WebCore::SVGFEComponentTransferElement::build):
1561         * svg/SVGFEComponentTransferElement.h:
1562         * svg/SVGFECompositeElement.cpp:
1563         (WebCore::SVGFECompositeElement::build):
1564         * svg/SVGFECompositeElement.h:
1565         * svg/SVGFEDiffuseLightingElement.cpp:
1566         (WebCore::SVGFEDiffuseLightingElement::build):
1567         * svg/SVGFEDiffuseLightingElement.h:
1568         * svg/SVGFEDisplacementMapElement.cpp:
1569         (WebCore::SVGFEDisplacementMapElement::build):
1570         * svg/SVGFEDisplacementMapElement.h:
1571         * svg/SVGFEFloodElement.cpp:
1572         (WebCore::SVGFEFloodElement::build):
1573         * svg/SVGFEFloodElement.h:
1574         * svg/SVGFEGaussianBlurElement.cpp:
1575         (WebCore::SVGFEGaussianBlurElement::build):
1576         * svg/SVGFEGaussianBlurElement.h:
1577         * svg/SVGFEImageElement.cpp:
1578         (WebCore::SVGFEImageElement::build):
1579         * svg/SVGFEImageElement.h:
1580         * svg/SVGFEMergeElement.cpp:
1581         (WebCore::SVGFEMergeElement::build):
1582         * svg/SVGFEMergeElement.h:
1583         * svg/SVGFEMorphologyElement.cpp:
1584         (WebCore::SVGFEMorphologyElement::build):
1585         * svg/SVGFEMorphologyElement.h:
1586         * svg/SVGFEOffsetElement.cpp:
1587         (WebCore::SVGFEOffsetElement::build):
1588         * svg/SVGFEOffsetElement.h:
1589         * svg/SVGFESpecularLightingElement.cpp:
1590         (WebCore::SVGFESpecularLightingElement::build):
1591         * svg/SVGFESpecularLightingElement.h:
1592         * svg/SVGFETileElement.cpp:
1593         (WebCore::SVGFETileElement::build):
1594         * svg/SVGFETileElement.h:
1595         * svg/SVGFETurbulenceElement.cpp:
1596         (WebCore::SVGFETurbulenceElement::build):
1597         * svg/SVGFETurbulenceElement.h:
1598         (WebCore::):
1599         * svg/SVGFilterElement.cpp:
1600         (WebCore::SVGFilterElement::createRenderer):
1601         * svg/SVGFilterElement.h:
1602         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
1603         (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
1604         * svg/SVGFilterPrimitiveStandardAttributes.h:
1605         (WebCore::SVGFilterPrimitiveStandardAttributes::isFilterEffect):
1606         (WebCore::SVGFilterPrimitiveStandardAttributes::rendererIsNeeded):
1607         * svg/SVGStyledElement.cpp:
1608         (WebCore::SVGStyledElement::invalidateResources):
1609         * svg/graphics/SVGResource.cpp:
1610         * svg/graphics/SVGResource.h:
1611         (WebCore::):
1612         (WebCore::SVGResource::isPaintServer):
1613         * svg/graphics/SVGResourceFilter.cpp: Removed.
1614         * svg/graphics/SVGResourceFilter.h: Removed.
1615         * svg/graphics/filters/SVGFilterBuilder.h:
1616         (WebCore::SVGFilterBuilder::namedEffects):
1617
1618 2010-04-20  Gavin Barraclough  <barraclough@apple.com>
1619
1620         Rubber stamped by Maciej Stachowiak (relanding r57829).
1621         Added missing JS_EXPORTDATA
1622
1623         * ForwardingHeaders/wtf/WTFThreadData.h: Copied from WebCore/ForwardingHeaders/wtf/WTFThreadData.h.
1624         * platform/ThreadGlobalData.cpp:
1625         (WebCore::ThreadGlobalData::ThreadGlobalData):
1626         (WebCore::ThreadGlobalData::~ThreadGlobalData):
1627         * platform/ThreadGlobalData.h:
1628         (WebCore::ThreadGlobalData::eventNames):
1629         * platform/text/AtomicString.cpp:
1630         (WebCore::AtomicStringTable::create):
1631         (WebCore::AtomicStringTable::table):
1632         (WebCore::AtomicStringTable::destroy):
1633         (WebCore::stringTable):
1634
1635 2010-04-20  No'am Rosenthal  <noam.rosenthal@nokia.com>
1636
1637         Reviewed by Antti Koivisto.
1638
1639         [Qt] GraphicsLayer: support fill-modes
1640         https://bugs.webkit.org/show_bug.cgi?id=36216
1641         Implement the CSS-animation "fill mode" concept in GraphicsLayerQt. The concept
1642         enables a key-frame animation to go to the animation's starting point before the delay,
1643         and/or to stay at the animation's ending point after its ended, without reverting to the default
1644         value.
1645         We do that by manually setting the value to keyframe-0 before the delay if fill-mode is backwards/both,
1646         and manually modifying the default value to the animated value as we animate, with fill-mode forwards/both.
1647
1648         * platform/graphics/qt/GraphicsLayerQt.cpp:
1649         (WebCore::AnimationQtBase::AnimationQtBase):
1650         (WebCore::TransformAnimationQt::~TransformAnimationQt):
1651         (WebCore::TransformAnimationQt::applyFrame):
1652         (WebCore::GraphicsLayerQt::addAnimation):
1653
1654 2010-04-19  Leandro Pereira  <leandro@profusion.mobi>
1655
1656         Reviewed by David Hyatt.
1657
1658         Add missing dummy implementations in PluginPackageNone and PluginViewNone.
1659         http://webkit.org/b/37478
1660
1661         * plugins/PluginPackageNone.cpp:
1662         (WebCore::PluginPackage::NPVersion): Add dummy implementation.
1663         * plugins/PluginViewNone.cpp:
1664         (WebCore::PluginView::handleFocusInEvent): Add dummy implementation.
1665         (WebCore::PluginView::handleFocusOutEvent): Add dummy implementation.
1666
1667 2010-04-19  Simon Fraser  <simon.fraser@apple.com>
1668
1669         Reviewed by Geoff Garen.
1670
1671         Clean up RenderPart/RenderPartObject/RenderFrame/RenderEmbeddedObject
1672         https://bugs.webkit.org/show_bug.cgi?id=37741
1673
1674         Move m_hasFallbackContent from RenderPart to RenderEmbeddedObject,
1675         since it's only used for <object> fallback.
1676
1677         * rendering/RenderEmbeddedObject.cpp:
1678         (WebCore::RenderEmbeddedObject::RenderEmbeddedObject):
1679         * rendering/RenderEmbeddedObject.h:
1680         (WebCore::RenderEmbeddedObject::hasFallbackContent):
1681         * rendering/RenderPart.cpp:
1682         (WebCore::RenderPart::RenderPart):
1683         * rendering/RenderPart.h:
1684
1685 2010-04-19  Simon Fraser  <simon.fraser@apple.com>
1686
1687         Reviewed by Darin Adler.
1688
1689         Clean up RenderPart/RenderPartObject/RenderFrame/RenderEmbeddedObject
1690         https://bugs.webkit.org/show_bug.cgi?id=37741
1691
1692         Add a new renderer for iframes, named RenderIFrame. Add a new shared base class
1693         between this and RenderFrame, called RenderFrameBase (following the existing HTMLFrameElementBase),
1694         and move code from RenderPart and RenderPartObject into these new classes.
1695         
1696         There should be no functionality difference with this change, so no new tests.
1697         
1698         Fixing up renderer names in the layout tests will be done in a later pass.
1699         
1700         Fix build systems to include the new files.
1701         
1702         * Android.mk:
1703         * GNUmakefile.am:
1704         * WebCore.gypi:
1705         * WebCore.pro:
1706         * WebCore.vcproj/WebCore.vcproj:
1707         * WebCore.xcodeproj/project.pbxproj:
1708         * html/HTMLIFrameElement.cpp:
1709         (WebCore::HTMLIFrameElement::createRenderer):
1710         * rendering/RenderEmbeddedObject.h:
1711         * rendering/RenderFrame.cpp:
1712         (WebCore::RenderFrame::RenderFrame):
1713         * rendering/RenderFrame.h:
1714         * rendering/RenderFrameBase.cpp: Added.
1715         (WebCore::RenderFrameBase::RenderFrameBase):
1716         (WebCore::RenderFrameBase::layoutWithFlattening):
1717         * rendering/RenderFrameBase.h: Added.
1718         * rendering/RenderIFrame.cpp: Added.
1719         (WebCore::RenderIFrame::RenderIFrame):
1720         (WebCore::RenderIFrame::calcHeight):
1721         (WebCore::RenderIFrame::calcWidth):
1722         (WebCore::RenderIFrame::flattenFrame):
1723         (WebCore::RenderIFrame::layout):
1724         * rendering/RenderIFrame.h: Added.
1725         (WebCore::RenderIFrame::renderName):
1726         * rendering/RenderPart.cpp:
1727         * rendering/RenderPart.h:
1728         * rendering/RenderPartObject.cpp:
1729         * rendering/RenderPartObject.h:
1730
1731 2010-04-19  Dumitru Daniliuc  <dumi@chromium.org>
1732
1733         Reviewed by Geoffrey Garen.
1734
1735         Bindings clean-up.
1736         https://bugs.webkit.org/show_bug.cgi?id=37833
1737
1738         Move some WebSQLDatabases logic out of the bindings into
1739         DOMWindow.cpp where it should be.
1740
1741         * bindings/js/JSDOMWindowCustom.cpp:
1742         (WebCore::JSDOMWindow::openDatabase):
1743         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1744         (WebCore::V8DOMWindow::openDatabaseCallback):
1745         * page/DOMWindow.cpp:
1746         (WebCore::DOMWindow::openDatabase):
1747
1748 2010-04-19  Kevin Ollivier  <kevino@theolliviers.com>
1749
1750         Fix the Mac builders for now by restoring the keepAlive function.
1751
1752         * plugins/PluginViewNone.cpp:
1753         (WebCore::PluginView::keepAlive):
1754
1755 2010-04-19  Kevin Ollivier  <kevino@theolliviers.com>
1756
1757         [wx] Build fix, remove a method that has been moved to PluginView.cpp.
1758
1759         * plugins/PluginViewNone.cpp:
1760
1761 2010-04-19  Gavin Barraclough  <barraclough@apple.com>
1762
1763         Reviewed by NOBODY (rolling out r57829).
1764         This broke windows.
1765
1766         * ForwardingHeaders/wtf/WTFThreadData.h: Removed.
1767         * platform/ThreadGlobalData.cpp:
1768         (WebCore::ThreadGlobalData::ThreadGlobalData):
1769         (WebCore::ThreadGlobalData::~ThreadGlobalData):
1770         * platform/ThreadGlobalData.h:
1771         (WebCore::ThreadGlobalData::atomicStringTable):
1772         * platform/text/AtomicString.cpp:
1773         (WebCore::stringTable):
1774
1775 2010-04-19  Mark Rowe  <mrowe@apple.com>
1776
1777         Build fix.
1778
1779         * platform/graphics/mac/GraphicsContext3DMac.cpp:
1780
1781 2010-04-19  Chris Fleizach  <cfleizach@apple.com>
1782
1783         Reviewed by Beth Dakin.
1784
1785         AX: aria-haspopup needs to be exposed
1786         https://bugs.webkit.org/show_bug.cgi?id=37808
1787
1788         Test: platform/mac/accessibility/element-haspopup.html
1789
1790         * accessibility/AccessibilityObject.h:
1791         (WebCore::AccessibilityObject::ariaHasPopup):
1792         * accessibility/AccessibilityRenderObject.cpp:
1793         (WebCore::AccessibilityRenderObject::ariaHasPopup):
1794         (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
1795         * accessibility/AccessibilityRenderObject.h:
1796         * accessibility/mac/AccessibilityObjectWrapper.mm:
1797         (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
1798         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
1799
1800 2010-04-19  Anders Carlsson  <andersca@apple.com>
1801
1802         Reviewed by Sam Weinig.
1803
1804         Fix a crash when rendering <select> elements with WebKit2.
1805
1806         * rendering/RenderThemeMac.mm:
1807         (WebCore::RenderThemeMac::paintMenuList):
1808         Set the current NSGraphicsContext before calling out to AppKit, otherwise the current graphics context
1809         could point to a CGContext whose memory has been freed.
1810
1811 2010-04-08  Dimitri Glazkov  <dglazkov@chromium.org>
1812
1813         Reviewed by Darin Adler.
1814
1815         Manipulating document fragment members while adding it to tree may result in loss of tree integrity.
1816         https://bugs.webkit.org/show_bug.cgi?id=36031
1817
1818         Changes the logic of appending/inserting document fragment to first stashing all of its children
1819         to a vector, then processing the vector. This avoids ghastliness that would be caused by mutation
1820         events mucking with the document fragment while it's being appended/inserted.
1821
1822         Test: fast/dom/Node/fragment-mutation.html
1823
1824         * dom/ContainerNode.cpp:
1825         (WebCore::targetNodes): Added method to populate a vector of nodes (targets) to be used in
1826             inserting/appending operation.
1827         (WebCore::ContainerNode::insertBefore): Changed to use vector-based iteration.
1828         (WebCore::ContainerNode::appendChild): Ditto.
1829         * dom/Node.cpp:
1830         (WebCore::Node::checkReplaceChild): Cleaned up comments.
1831         (WebCore::Node::checkAddChild): Ditto.
1832
1833 2010-04-19  Eric Carlson  <eric.carlson@apple.com>
1834
1835         Reviewed by Simon Fraser.
1836
1837         Fix regression introduced in r57820.
1838
1839         * html/HTMLMediaElement.cpp:
1840         (WebCore::HTMLMediaElement::loadNextSourceChild): Create a new MediaPlayer instead of
1841         just setting a URL on the one used for the previous <source> element. This restores
1842         the behavior prior to the changes for https://bugs.webkit.org/show_bug.cgi?id=37728.
1843
1844 2010-04-19  Gavin Barraclough  <barraclough@apple.com>
1845
1846         Reviewed by Sam Weinig.
1847
1848         https://bugs.webkit.org/show_bug.cgi?id=37745
1849         Move string uniquing tables to (new) WTFThreadData class.
1850
1851         Remove AtomicString's dependency on ThreadGlobalData so that we can move
1852         WebCore's string classes up to WTF.
1853
1854         * ForwardingHeaders/wtf/WTFThreadData.h: Added.
1855         * platform/ThreadGlobalData.cpp: Remove m_atomicStringTable, all wtfThreadData() to ensure threadsafely initialized.
1856         (WebCore::ThreadGlobalData::ThreadGlobalData):
1857         (WebCore::ThreadGlobalData::~ThreadGlobalData):
1858         * platform/ThreadGlobalData.h: Remove m_atomicStringTable.
1859         (WebCore::ThreadGlobalData::eventNames):
1860         * platform/text/AtomicString.cpp:
1861         (WebCore::AtomicStringTable::create):
1862         (WebCore::AtomicStringTable::table):
1863         (WebCore::AtomicStringTable::destroy):
1864         (WebCore::stringTable): Access the AtomicStringTable on wtfThreadData() rather then threadGlobalData().
1865
1866 2010-04-19  Ada Chan  <adachan@apple.com>
1867
1868         Build fix: wrap Settings::setLocalStorageQuota() and Settings::setSessionStorageQuota()
1869         in #if ENABLE(DOM_STORAGE).
1870
1871         * page/Settings.cpp:
1872         (WebCore::Settings::Settings):
1873         * page/Settings.h:
1874
1875 2010-04-19  Dave Moore  <davemoore@chromium.org>
1876
1877         Reviewed by Dimitri Glazkov.
1878
1879         Added notification when the favicons for a page are changed
1880         from a script.
1881         The Document object will notify the frame loader, which will
1882         notify the client. Implementations of FrameLoaderClient will
1883         have to add one method; dispatchDidChangeIcons().
1884
1885         https://bugs.webkit.org/show_bug.cgi?id=33812
1886
1887         Test: fast/dom/icon-url-property.html
1888
1889         * dom/Document.cpp:
1890         (WebCore::Document::setIconURL):
1891         * loader/DocumentLoader.cpp:
1892         (WebCore::DocumentLoader::setIconURL):
1893         * loader/DocumentLoader.h:
1894         (WebCore::DocumentLoader::iconURL):
1895         * loader/EmptyClients.h:
1896         (WebCore::EmptyFrameLoaderClient::dispatchDidChangeIcons):
1897         * loader/FrameLoader.cpp:
1898         (WebCore::FrameLoader::setIconURL):
1899         (WebCore::FrameLoader::didChangeIcons):
1900         * loader/FrameLoader.h:
1901         * loader/FrameLoaderClient.h:
1902
1903 2010-04-19  Ada Chan  <adachan@apple.com>
1904
1905         Reviewed by Jeremy Orlow.
1906
1907         https://bugs.webkit.org/show_bug.cgi?id=37717
1908         Allow clients concerned with memory consumption to set a quota on session storage
1909         since the memory used won't be released until the Page is destroyed.
1910         The default is noQuota, which matches the current behavior.
1911
1912         * WebCore.base.exp: Export Settings::setSessionStorageQuota().
1913         * page/Page.cpp:
1914         (WebCore::Page::sessionStorage):
1915         * page/Settings.cpp:
1916         (WebCore::Settings::Settings):
1917         (WebCore::Settings::setSessionStorageQuota):
1918         * page/Settings.h:
1919         (WebCore::Settings::sessionStorageQuota):
1920         * storage/StorageNamespace.cpp:
1921         (WebCore::StorageNamespace::sessionStorageNamespace):
1922         * storage/StorageNamespace.h:
1923         * storage/StorageNamespaceImpl.cpp:
1924         (WebCore::StorageNamespaceImpl::sessionStorageNamespace):
1925         * storage/StorageNamespaceImpl.h:
1926
1927 2010-04-19  Eric Carlson  <eric.carlson@apple.com>
1928
1929         Reviewed by Simon Fraser.
1930
1931         Setting media element 'src' attribute should trigger immediate load
1932         https://bugs.webkit.org/show_bug.cgi?id=37728
1933
1934         * html/HTMLMediaElement.cpp:
1935         (WebCore::HTMLMediaElement::attributeChanged): Schedule load every time 'src' attribute
1936         changes unless it is missing.
1937         (WebCore::HTMLMediaElement::prepareForLoad): Include steps 3 to 6 from loadInternal.
1938         (WebCore::HTMLMediaElement::loadInternal): Steps 3 to 6 are now in prepareForLoad.
1939         (WebCore::HTMLMediaElement::loadResource): MediaPlayer is now allocated in prepareForLoad
1940         so the previously loading file, if any, is cancelled there.
1941
1942 2010-04-19  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1943
1944         Reviewed by Simon Hausmann.
1945
1946         [Qt] Fix compilation against namespaced Qt.
1947
1948         * platform/graphics/GraphicsLayer.h:
1949         * platform/graphics/Tile.h:
1950         * platform/graphics/qt/MediaPlayerPrivateQt.h:
1951         * platform/network/qt/NetworkStateNotifierPrivate.h:
1952
1953 2010-04-19  Balazs Kelemen  <kb@inf.u-szeged.hu>
1954
1955         Reviewed by Kenneth Rohde Christiansen.
1956
1957         [Qt] Destroy SharedTimerQt before destruction of QCoreApplication.
1958
1959         To avoid unsafe situations caused by running WebCore code (through firing timers) when destruction of QCoreApplication
1960         has been started, we should explicitly destroy the SharedTimerQt instance on application exit.
1961         We can achieve that through installing a self-destroying slot for the QCoreApplication::aboutToQuit() signal
1962         into the SharedTimerQt instance.
1963
1964         https://bugs.webkit.org/show_bug.cgi?id=36832
1965
1966         No functional change so no new tests.
1967
1968         * platform/qt/SharedTimerQt.cpp:
1969         (WebCore::SharedTimerQt::SharedTimerQt):
1970         (WebCore::SharedTimerQt::destroy):
1971         (WebCore::SharedTimerQt::inst):
1972
1973 2010-04-19  Dan Bernstein  <mitz@apple.com>
1974
1975         Reviewed by Darin Adler.
1976
1977         Make the fix for <rdar://problem/7873647> from r57759 more robust.
1978
1979         * rendering/RenderLayer.cpp:
1980         (WebCore::RenderLayer::updateHoverActiveState): Use RefPtrs for the Nodes.
1981
1982 2010-04-19  Yury Semikhatsky  <yurys@chromium.org>
1983
1984         Unreviewed. Chromium build fix.
1985
1986         * bindings/v8/JavaScriptCallFrame.h:
1987
1988 2010-04-19  Yury Semikhatsky  <yurys@chromium.org>
1989
1990         Reviewed by Pavel Feldman.
1991
1992         Web Inspector: implement JavaScriptCallFrame that works for v8.
1993         Implementing this binding for v8 allows to make evaluations on
1994         call frames and protects access to the debugger context from
1995         inspected context.
1996
1997         https://bugs.webkit.org/show_bug.cgi?id=37755
1998
1999         * WebCore.gyp/WebCore.gyp:
2000         * WebCore.gypi:
2001         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
2002         (WebCore::JSJavaScriptCallFrame::scopeType):
2003         * bindings/v8/JavaScriptCallFrame.cpp: Added.
2004         (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
2005         (WebCore::JavaScriptCallFrame::~JavaScriptCallFrame):
2006         (WebCore::JavaScriptCallFrame::caller):
2007         (WebCore::JavaScriptCallFrame::sourceID):
2008         (WebCore::JavaScriptCallFrame::line):
2009         (WebCore::JavaScriptCallFrame::functionName):
2010         (WebCore::JavaScriptCallFrame::scopeChain):
2011         (WebCore::JavaScriptCallFrame::scopeType):
2012         (WebCore::JavaScriptCallFrame::thisObject):
2013         (WebCore::JavaScriptCallFrame::evaluate):
2014         * bindings/v8/JavaScriptCallFrame.h: Added.
2015         (WebCore::JavaScriptCallFrame::create):
2016         * bindings/v8/ScriptDebugServer.cpp:
2017         (WebCore::ScriptDebugServer::currentCallFrame):
2018         * bindings/v8/ScriptDebugServer.h:
2019         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2020         (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
2021         * bindings/v8/custom/V8JavaScriptCallFrameCustom.cpp: Added.
2022         (WebCore::V8JavaScriptCallFrame::evaluateCallback):
2023         (WebCore::V8JavaScriptCallFrame::scopeChainAccessorGetter):
2024         (WebCore::V8JavaScriptCallFrame::scopeTypeCallback):
2025         (WebCore::V8JavaScriptCallFrame::thisObjectAccessorGetter):
2026         (WebCore::V8JavaScriptCallFrame::typeAccessorGetter):
2027         * inspector/JavaScriptCallFrame.idl:
2028         * inspector/front-end/InjectedScript.js:
2029         (injectedScriptConstructor.):
2030
2031 2010-04-19  Jessie Berlin  <jberlin@webkit.org>
2032
2033         Rubber Stamped by Adam Roben
2034
2035         Chromium Release Build Fix.
2036
2037         * css/CSSSelector.cpp:
2038         (WebCore::CSSSelector::pseudoId):
2039         In the case where the DATALIST is not enabled, fall through to NOPSEUDO instead of omitting PseudoInputListButton entirely from the switch.
2040
2041 2010-04-19  Jessie Berlin  <jberlin@webkit.org>
2042
2043         Reviewed by Dave Hyatt.
2044
2045         First steps towards fixing bug 24021 - pseudo-element styles not accessible / retrievable via DOM methods.
2046         https://bugs.webkit.org/show_bug.cgi?id=24021
2047
2048         Allows access to the computed styles for the pseudo-elements through the second argument to getComputedStyle.
2049         This approach does not provide the correct values for 'length' properties and does not work for the ':selection' pseudo-element and will instead return results similiar to those returned by Firefox. This approach also requires waiting until at least one iteration of a hardware accelerated composited animation to return the correct values for the "opacity" and "transform" properties of a pseudo-element associated with the element being animated.
2050         Those values need to be retrieved from the renderer for the pseudo-element as opposed to the cached RenderStyle for the element on which the pseudo-element is defined, which is further complicated by the fact that not all elements have renderers.
2051
2052         Test: fast/css/getComputedStyle/getComputedStyle-with-pseudo-element.html
2053
2054         * WebCore.base.exp:
2055         * css/CSSComputedStyleDeclaration.cpp:
2056         (WebCore::CSSComputedStyleDeclaration::CSSComputedStyleDeclaration):
2057         Parse the and store the pseudo-element specifier from the string provided by the user.
2058         (WebCore::CSSComputedStyleDeclaration::getFontSizeCSSValuePreferringKeyword):
2059         Get the computed style for the pseudo-element if it has been specified.
2060         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2061         Get the computed style for the pseudo-element if it has been specified, with a FIXME noting that the values returned for the "opacity" and "transform" properties of a pseudo-element associated with an element being animated and using hardware accelerated compositing will not be correct until after the first iteration of the animation.
2062         (WebCore::CSSComputedStyleDeclaration::length):
2063         Get the computed style for the pseudo-element if it has been specified.
2064         (WebCore::CSSComputedStyleDeclaration::cssPropertyMatches):
2065         Ditto.
2066         * css/CSSComputedStyleDeclaration.h:
2067         (WebCore::computedStyle):
2068         Take into consideration the pseudo-element.
2069
2070         * css/CSSSelector.cpp:
2071         (WebCore::CSSSelector::pseudoId):
2072         Return the PseudoId that corresponds to the given PseudoType. If there is no corresponding PseudoId, returns NOPSEUDO.
2073         (WebCore::nameToPseudoTypeMap):
2074         Create and return the mapping between string names and PseudoTypes.
2075         (WebCore::CSSSelector::parsePseudoType):
2076         Parse and the given string into a PseudoType.
2077         (WebCore::CSSSelector::extractPseudoType):
2078         Refactored to use parsePseudoType.
2079         * css/CSSSelector.h:
2080
2081         * css/CSSStyleSelector.cpp:
2082         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
2083         Refactored to use pseudoId.
2084
2085         * dom/Element.cpp:
2086         (WebCore::Element::computedStyle):
2087         If the pseudo-element is specified, then return the cached RenderStyle for that PseudoId. Added a FIXME to find the actual renders of the pseudo-elements instead of just the cached RenderStyle of the RenderStyle for the associated element.
2088         * dom/Element.h:
2089         (WebCore::Element::virtualComputedStyle):
2090         Because Element::computedStyle is used so often, don't make it virtual. Instead, provide a virtualComputedStyle method in the Node.h class andmake computedStyle non-virtual. That way the Element version and the Node version of computedStyle will have the same name and look the same at the call site, but the Element version will be more efficient.
2091
2092         * dom/Node.h:
2093         (WebCore::Node::computedStyle):
2094         Ditto.
2095         * dom/Node.cpp:
2096         (WebCore::Node::virtualComputedStyle):
2097         Get the computed style for the pseudo-element if it has been specified.
2098
2099         * page/DOMWindow.cpp:
2100         (WebCore::DOMWindow::getComputedStyle):
2101         Ditto.
2102
2103 2010-04-18  Simon Hausmann  <simon.hausmann@nokia.com>
2104
2105         Reviewed by Laszlo Gombos.
2106
2107         [Qt] Fix JavaScriptCore's include path for WinCE builds
2108
2109         https://bugs.webkit.org/show_bug.cgi?id=36751
2110
2111         * WebCore.pro:
2112
2113 2010-04-17  Alexey Proskuryakov  <ap@apple.com>
2114
2115         Reviewed by Adam Barth.
2116
2117         https://bugs.webkit.org/show_bug.cgi?id=37720
2118         <rdar://problem/7873752> HTMLFrameSetElement-window-eventListener-attributes.html sometimes
2119         crashes on SnowLeopard Release
2120
2121         Tests: 
2122         * fast/dom/Window/HTMLBodyElement-window-eventListener-attributes.html:
2123         * fast/dom/Window/HTMLFrameSetElement-window-eventListener-attributes.html:
2124
2125         * bindings/scripts/CodeGeneratorJS.pm: Use global object as a wrapper for window event
2126         listeners set via document.body. The body wrapper can go away if nothing else references it.
2127
2128         * html/HTMLBodyElement.idl: Override listeners that exist on Element with custom implementations,
2129         because we need to use window object as a wrapper, not the element. Marked all window event
2130         listeners as such for code generator.
2131
2132         * html/HTMLFrameSetElement.idl: Ditto.
2133
2134 2010-04-17  Juan C. Montemayor  <jmonte03@cs.tufts.edu>
2135
2136         Reviewed by Joseph Pecoraro.
2137
2138         Databases pane doesn't recognize table creation/deletion
2139         https://bugs.webkit.org/show_bug.cgi?id=20219
2140
2141         * inspector/front-end/DatabaseQueryView.js:
2142         (WebInspector.DatabaseQueryView.prototype._queryFinished):
2143
2144 2010-04-17  Yaar Schnitman  <yaar@chromium.org>
2145
2146         Reviewed by Adam Barth.
2147
2148         Auto-generate V8 bindings for canvas.* overloads
2149         https://bugs.webkit.org/show_bug.cgi?id=37453
2150
2151         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: Deleted custom code that is now auto-generated.
2152         * bindings/scripts/CodeGeneratorV8.pm: Not generating custom signatures for overloaded methods and accepting Object as a string input.
2153         * html/canvas/CanvasRenderingContext2D.cpp:
2154         (WebCore::CanvasRenderingContext2D::drawImage): Added missing 9-arguments overloads for drawImage.
2155         * html/canvas/CanvasRenderingContext2D.h: 
2156         * html/canvas/CanvasRenderingContext2D.idl: Overloaded methods defined (V8 only).
2157
2158 2010-04-17  Yury Semikhatsky  <yurys@chromium.org>
2159
2160         Reviewed by Pavel Feldman.
2161
2162         Web Inspector: move JavaScriptCallFrame.{h,cpp} to WebCore/bindings/js
2163
2164         https://bugs.webkit.org/show_bug.cgi?id=37740
2165
2166         * GNUmakefile.am:
2167         * WebCore.gypi:
2168         * WebCore.pro:
2169         * WebCore.vcproj/WebCore.vcproj:
2170         * WebCore.xcodeproj/project.pbxproj:
2171         * bindings/js/JSBindingsAllInOne.cpp:
2172         * bindings/js/JavaScriptCallFrame.cpp: Renamed from WebCore/inspector/JavaScriptCallFrame.cpp.
2173         (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
2174         (WebCore::JavaScriptCallFrame::caller):
2175         (WebCore::JavaScriptCallFrame::scopeChain):
2176         (WebCore::JavaScriptCallFrame::dynamicGlobalObject):
2177         (WebCore::JavaScriptCallFrame::functionName):
2178         (WebCore::JavaScriptCallFrame::type):
2179         (WebCore::JavaScriptCallFrame::thisObject):
2180         (WebCore::JavaScriptCallFrame::evaluate):
2181         * bindings/js/JavaScriptCallFrame.h: Renamed from WebCore/inspector/JavaScriptCallFrame.h.
2182         (WebCore::JavaScriptCallFrame::create):
2183         (WebCore::JavaScriptCallFrame::invalidate):
2184         (WebCore::JavaScriptCallFrame::isValid):
2185         (WebCore::JavaScriptCallFrame::sourceID):
2186         (WebCore::JavaScriptCallFrame::line):
2187         (WebCore::JavaScriptCallFrame::update):
2188         * inspector/InjectedScriptHost.h:
2189         * inspector/InspectorController.h:
2190
2191 2010-04-17  Vangelis Kokkevis  <vangelis@chromium.org>
2192
2193         Reviewed by Dimitri Glazkov.
2194
2195         Adding definition of GLES2Context class.
2196         https://bugs.webkit.org/show_bug.cgi?id=37541
2197
2198         No new functionality implemented yet, no tests.
2199
2200         * WebCore.gypi: Added GLES2Context.h
2201         * platform/chromium/GLES2Context.h: Added.
2202
2203 2010-04-17  Julien Chaffraix  <jchaffraix@webkit.org>
2204
2205         Reviewed by Darin Adler.
2206
2207         Crash while handling SVG font in the wrong namespace imported with @font-face
2208         https://bugs.webkit.org/show_bug.cgi?id=18862
2209
2210         Test: fast/invalid/invalidSVGFont.html
2211
2212         * loader/CachedFont.cpp:
2213         (WebCore::CachedFont::getSVGFontById): Make sure we really get an SVGFontElement by using
2214         getElementsByNameNS: the element factory chooses which element to create based on both
2215         localName and namespace.
2216
2217 2010-04-16  Sheriff Bot  <webkit.review.bot@gmail.com>
2218
2219         Unreviewed, rolling out r57770.
2220         http://trac.webkit.org/changeset/57770
2221         https://bugs.webkit.org/show_bug.cgi?id=37746
2222
2223         8 test cases crashed (Requested by Ossy on #webkit).
2224
2225         * platform/graphics/qt/GraphicsLayerQt.cpp:
2226         (WebCore::AnimationQtBase::AnimationQtBase):
2227         (WebCore::TransformAnimationQt::~TransformAnimationQt):
2228         (WebCore::TransformAnimationQt::applyFrame):
2229         (WebCore::OpacityAnimationQt::applyFrame):
2230         (WebCore::GraphicsLayerQt::addAnimation):
2231
2232 2010-04-16  Daniel Bates  <dbates@rim.com>
2233
2234         Reviewed by Adam Treat.
2235
2236         https://bugs.webkit.org/show_bug.cgi?id=36312
2237
2238         Adds support for the viewport meta tag. The code is largely derived in whole
2239         or in part from the WebCore-528.15 source published as part of the iPhone 3.1.3
2240         source code <http://www.opensource.apple.com/source/WebCore/WebCore-528.15/>.
2241
2242         * Android.mk: Added file ViewportArguments.cpp.
2243         * GNUmakefile.am: Added files ViewportArguments.cpp and ViewportArguments.h.
2244         * WebCore.gypi: Ditto.
2245         * WebCore.pro: Ditto.
2246         * WebCore.vcproj/WebCore.vcproj: Ditto.
2247         * WebCore.xcodeproj/project.pbxproj: Ditto.
2248         * dom/Document.cpp:
2249         (WebCore::isSeparator): Added.
2250         (WebCore::Document::processArguments): Added.
2251         (WebCore::Document::processViewport): Added.
2252         * dom/Document.h:
2253         * dom/ViewportArguments.cpp: Added.
2254         (WebCore::setViewportFeature):
2255         (WebCore::viewportErrorMessageTemplate):
2256         (WebCore::viewportErrorMessageLevel):
2257         (WebCore::reportViewportWarning):
2258         * dom/ViewportArguments.h: Added.
2259         (WebCore::):
2260         (WebCore::ViewportArguments::):
2261         (WebCore::ViewportArguments::ViewportArguments):
2262         (WebCore::ViewportArguments::hasCustomArgument):
2263         * html/HTMLMetaElement.cpp:
2264         (WebCore::HTMLMetaElement::process): Modified to call Document::processViewport.
2265         * page/ChromeClient.h:
2266         (WebCore::ChromeClient::didReceiveViewportArguments): Added.
2267
2268 2010-04-16  No'am Rosenthal  <noam.rosenthal@nokia.com>
2269
2270         Reviewed by Antti Koivisto.
2271
2272         [Qt] GraphicsLayer: support fill-modes
2273         https://bugs.webkit.org/show_bug.cgi?id=36216
2274         Implement the CSS-animation "fill mode" concept in GraphicsLayerQt. The concept
2275         enables a key-frame animation to go to the animation's starting point before the delay,
2276         and/or to stay at the animation's ending point after its ended, without reverting to the default
2277         value.
2278         We do that by manually setting the value to keyframe-0 before the delay if fill-mode is backwards/both,
2279         and manually modifying the default value to the animated value as we animate, with fill-mode forwards/both.
2280
2281         * platform/graphics/qt/GraphicsLayerQt.cpp:
2282         (WebCore::AnimationQtBase::AnimationQtBase):
2283         (WebCore::TransformAnimationQt::~TransformAnimationQt):
2284         (WebCore::TransformAnimationQt::applyFrame):
2285         (WebCore::GraphicsLayerQt::addAnimation):
2286
2287 2010-04-16  Gavin Barraclough  <barraclough@apple.com>
2288
2289         Reviewed by NOBODY (arm build fix).
2290
2291         * bindings/js/JSDesktopNotificationsCustom.cpp:
2292         (WebCore::JSNotification::addEventListener):
2293         (WebCore::JSNotification::removeEventListener):
2294
2295 2010-04-16  Dmitry Titov  <dimich@chromium.org>
2296
2297         Reviewed by Yury Semikhatsky.
2298
2299         [v8] In Workers, script errors right after close() are not delivered to the Worker.onerror.
2300         https://bugs.webkit.org/show_bug.cgi?id=37691
2301
2302         Existing worker-close.html will now work in Chromium.
2303
2304         * bindings/v8/V8Utilities.cpp:
2305         (WebCore::getScriptExecutionContext): Stop using proxy() to just retrieve WorkerContext which should be always available.
2306         * bindings/v8/WorkerContextExecutionProxy.h: removed workerContext() accessor which moved to WorkerScriptController.
2307         * bindings/v8/WorkerScriptController.h:
2308         (WebCore::WorkerScriptController::workerContext): Added, to be able to pull WorkerContext out from the controller.
2309
2310 2010-04-16  Gavin Barraclough  <barraclough@apple.com>
2311
2312         Reviewed by Sam Weinig.
2313
2314         https://bugs.webkit.org/show_bug.cgi?id=37735
2315         Remove JSC specific code from WebCore::AtomicString
2316
2317         Add generic constructor/add/find methods that take a UChar* & length, along
2318         with a known existing hash for the string.
2319         This removes the remaining JSC specific code from platform/text.
2320
2321         * bindings/js/JSAbstractWorkerCustom.cpp:
2322         (WebCore::JSAbstractWorker::addEventListener):
2323         (WebCore::JSAbstractWorker::removeEventListener):
2324         * bindings/js/JSDOMApplicationCacheCustom.cpp:
2325         (WebCore::JSDOMApplicationCache::addEventListener):
2326         (WebCore::JSDOMApplicationCache::removeEventListener):
2327         * bindings/js/JSDOMBinding.cpp:
2328         (WebCore::ustringToAtomicString):
2329         (WebCore::identifierToAtomicString):
2330         (WebCore::findAtomicString):
2331         * bindings/js/JSDOMBinding.h:
2332         * bindings/js/JSDOMWindowCustom.cpp:
2333         (WebCore::childFrameGetter):
2334         (WebCore::JSDOMWindow::getOwnPropertySlot):
2335         (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
2336         (WebCore::JSDOMWindow::open):
2337         (WebCore::JSDOMWindow::addEventListener):
2338         (WebCore::JSDOMWindow::removeEventListener):
2339         * bindings/js/JSElementCustom.cpp:
2340         (WebCore::JSElement::setAttribute):
2341         (WebCore::JSElement::setAttributeNS):
2342         * bindings/js/JSEventSourceCustom.cpp:
2343         (WebCore::JSEventSource::addEventListener):
2344         (WebCore::JSEventSource::removeEventListener):
2345         * bindings/js/JSHTMLAllCollectionCustom.cpp:
2346         (WebCore::getNamedItems):
2347         (WebCore::JSHTMLAllCollection::canGetItemsForName):
2348         * bindings/js/JSHTMLCollectionCustom.cpp:
2349         (WebCore::getNamedItems):
2350         (WebCore::JSHTMLCollection::canGetItemsForName):
2351         * bindings/js/JSHTMLDocumentCustom.cpp:
2352         (WebCore::JSHTMLDocument::canGetItemsForName):
2353         * bindings/js/JSHTMLFormElementCustom.cpp:
2354         (WebCore::JSHTMLFormElement::canGetItemsForName):
2355         (WebCore::JSHTMLFormElement::nameGetter):
2356         * bindings/js/JSHTMLFrameSetElementCustom.cpp:
2357         (WebCore::JSHTMLFrameSetElement::canGetItemsForName):
2358         (WebCore::JSHTMLFrameSetElement::nameGetter):
2359         * bindings/js/JSMessageEventCustom.cpp:
2360         (WebCore::JSMessageEvent::initMessageEvent):
2361         * bindings/js/JSMessagePortCustom.cpp:
2362         (WebCore::JSMessagePort::addEventListener):
2363         (WebCore::JSMessagePort::removeEventListener):
2364         * bindings/js/JSMimeTypeArrayCustom.cpp:
2365         (WebCore::JSMimeTypeArray::canGetItemsForName):
2366         (WebCore::JSMimeTypeArray::nameGetter):
2367         * bindings/js/JSNodeCustom.cpp:
2368         (WebCore::JSNode::addEventListener):
2369         (WebCore::JSNode::removeEventListener):
2370         * bindings/js/JSNodeListCustom.cpp:
2371         (WebCore::JSNodeList::canGetItemsForName):
2372         (WebCore::JSNodeList::nameGetter):
2373         * bindings/js/JSPluginArrayCustom.cpp:
2374         (WebCore::JSPluginArray::canGetItemsForName):
2375         (WebCore::JSPluginArray::nameGetter):
2376         * bindings/js/JSPluginCustom.cpp:
2377         (WebCore::JSPlugin::canGetItemsForName):
2378         (WebCore::JSPlugin::nameGetter):
2379         * bindings/js/JSPopStateEventCustom.cpp:
2380         (WebCore::JSPopStateEvent::initPopStateEvent):
2381         * bindings/js/JSSVGElementInstanceCustom.cpp:
2382         (WebCore::JSSVGElementInstance::addEventListener):
2383         (WebCore::JSSVGElementInstance::removeEventListener):
2384         * bindings/js/JSWebSocketCustom.cpp:
2385         (WebCore::JSWebSocket::addEventListener):
2386         (WebCore::JSWebSocket::removeEventListener):
2387         * bindings/js/JSWorkerContextCustom.cpp:
2388         (WebCore::JSWorkerContext::addEventListener):
2389         (WebCore::JSWorkerContext::removeEventListener):
2390         * bindings/js/JSXMLHttpRequestCustom.cpp:
2391         (WebCore::JSXMLHttpRequest::setRequestHeader):
2392         (WebCore::JSXMLHttpRequest::getResponseHeader):
2393         (WebCore::JSXMLHttpRequest::addEventListener):
2394         (WebCore::JSXMLHttpRequest::removeEventListener):
2395         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
2396         (WebCore::JSXMLHttpRequestUpload::addEventListener):
2397         (WebCore::JSXMLHttpRequestUpload::removeEventListener):
2398         * platform/text/AtomicString.cpp:
2399         (WebCore::AtomicString::add):
2400         (WebCore::AtomicString::find):
2401         * platform/text/AtomicString.h:
2402         (WebCore::AtomicString::AtomicString):
2403
2404 2010-04-16  Fumitoshi Ukai  <ukai@chromium.org>
2405
2406         Reviewed by Alexey Proskuryakov.
2407
2408         WebSocket crash when it receives bad header.
2409         https://bugs.webkit.org/show_bug.cgi?id=37682
2410
2411         If name or value is not valid UTF-8, nameStr or valueStr would be
2412         null string, so crashed in headers->add(nameStr, valueStr).
2413         Check both nameStr and valueStr are not null string.
2414         Otherwise handshake will fail.
2415
2416         Test: websocket/tests/bad-handshake-crash.html
2417
2418         * websockets/WebSocketHandshake.cpp:
2419         (WebCore::WebSocketHandshake::readHTTPHeaders): check nameStr and valueStr are not null string.
2420
2421 2010-04-16  Dan Bernstein  <mitz@apple.com>
2422
2423         Reviewed by Simon Fraser.
2424
2425         <rdar://problem/7873647> Crash when updating hover state
2426
2427         Test: fast/dynamic/hover-style-recalc-crash.html
2428
2429         Updating the hover state of an element caused the document to need style
2430         recalc, and then updating the hover state of a link caused style recalc,
2431         which changed the render tree while updateHoverActiveState() was iterating
2432         over it, leading to a crash.
2433
2434         * rendering/RenderLayer.cpp:
2435         (WebCore::RenderLayer::updateHoverActiveState): Collect the nodes to be
2436         updated into vectors, then update their active and hover states.
2437
2438 2010-04-16  Dumitru Daniliuc  <dumi@chromium.org>
2439
2440         Reviewed by Alexey Proskuryakov.
2441
2442         Make Safari correctly allocate 5MB of DB storage to all new
2443         origins.
2444         https://bugs.webkit.org/show_bug.cgi?id=36671
2445
2446         Eric fixed the same problem in
2447         DatabaseTracker::fullPathForDatabaseNoLock() in r57128, but forgot
2448         to fix it in DatabaseTracker::detailsForNameAndOrigin() too.
2449
2450         * storage/DatabaseTracker.cpp:
2451         (WebCore::DatabaseTracker::detailsForNameAndOrigin):
2452
2453 2010-04-16  Kinuko Yasuda  <kinuko@chromium.org>
2454
2455         Reviewed by Jian Li.
2456
2457         Implement FileStreamProxy that calls FileStream methods on FileThread for FileAPI
2458         https://bugs.webkit.org/show_bug.cgi?id=37218
2459
2460         No new tests; tests will be added when we add upper layer implementations.
2461
2462         * GNUmakefile.am:
2463         * WebCore.gypi:
2464         * WebCore.pro:
2465         * WebCore.vcproj/WebCore.vcproj:
2466         * WebCore.xcodeproj/project.pbxproj:
2467         * html/FileStream.cpp:
2468         (WebCore::FileStream::stop):
2469         * html/FileStream.h:
2470         * html/FileStreamClient.h:
2471         (WebCore::FileStreamClient::didStop):
2472         * html/FileStreamProxy.cpp: Added
2473         * html/FileStreamProxy.h: Added
2474         * html/FileThreadTask.h: Added
2475
2476 2010-04-16  Gavin Barraclough  <barraclough@apple.com>
2477
2478         Reviewed by Oliver Hunt.
2479
2480         Bug 37730 - Remove JSC::UString dependencies from WebCore::StringImpl
2481         (Following on from bug #37675).
2482
2483         Remove ustring() method, and constructor passed a UString.
2484
2485         * WebCore.base.exp:
2486         * bindings/js/JSDOMBinding.cpp:
2487         (WebCore::stringimplToUString):
2488         (WebCore::jsStringSlowCase):
2489         (WebCore::ustringToString):
2490         (WebCore::stringToUString):
2491         (WebCore::identifierToString):
2492         * bindings/js/JSDOMBinding.h:
2493         (WebCore::jsString):
2494         * platform/text/AtomicString.cpp:
2495         (WebCore::AtomicString::operator UString):
2496         * platform/text/StringImpl.cpp:
2497         (WebCore::StringImpl::create):
2498         * platform/text/StringImpl.h:
2499
2500 2010-04-16  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
2501  
2502         Reviewed by Simon Hausmann.
2503  
2504         [Qt] WebGL is not visible when QGLWidget viewport is used
2505         https://bugs.webkit.org/show_bug.cgi?id=37070
2506  
2507         Added HostWindow parameter to the constructor of GraphicsContext3D.
2508         Shared OpenGL context is initialized with parent QGLWidget.
2509  
2510         * html/canvas/WebGLRenderingContext.cpp:
2511         (WebCore::WebGLRenderingContext::create):
2512         * platform/graphics/GraphicsContext3D.h:
2513         * platform/graphics/mac/GraphicsContext3DMac.cpp:
2514         (WebCore::GraphicsContext3D::create):
2515         (WebCore::GraphicsContext3D::GraphicsContext3D):
2516         * platform/graphics/qt/GraphicsContext3DQt.cpp:
2517         (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
2518         (WebCore::GraphicsContext3DInternal::~GraphicsContext3DInternal):
2519         (WebCore::GraphicsContext3DInternal::getOwnerGLWidget):
2520         (WebCore::GraphicsContext3D::create):
2521         (WebCore::GraphicsContext3D::GraphicsContext3D):
2522
2523 2010-04-16  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
2524
2525         Reviewed by Simon Hausmann.
2526
2527         [Qt] WebKit compilation fails with --3d-canvas
2528         https://bugs.webkit.org/show_bug.cgi?id=37699 
2529         
2530         API for readPixels() has been changed. 
2531
2532         * platform/graphics/qt/GraphicsContext3DQt.cpp:
2533         (WebCore::GraphicsContext3D::readPixels):
2534
2535 2010-04-16  No'am Rosenthal  <noam.rosenthal@nokia.com>
2536
2537         Reviewed by Antti Koivisto.
2538
2539         [Qt]QtLauncher crash on page with CSS 3D transform
2540         https://bugs.webkit.org/show_bug.cgi?id=36859
2541
2542         Added a neccessary null-pointer check, lack of which created the crash circumstances.
2543
2544         Tested by http://css-vfx.googlecode.com/svn/trunk/snowstack/snowstack.html
2545
2546         * platform/graphics/qt/GraphicsLayerQt.cpp:
2547         (WebCore::GraphicsLayerQtImpl::flushChanges):
2548
2549 2010-04-16  Anders Carlsson  <andersca@apple.com>
2550
2551         Reviewed by Sam Weinig.
2552
2553         Make sure to update the current graphics context when calling out to AppKit.
2554
2555         * platform/mac/ThemeMac.mm:
2556         (WebCore::paintCheckbox):
2557         (WebCore::paintRadio):
2558
2559 2010-04-15  Gavin Barraclough  <barraclough@apple.com>
2560
2561         Reviewed by Sam Weinig & Oliver Hunt.
2562
2563         https://bugs.webkit.org/show_bug.cgi?id=37675
2564         Remove casts/constructors to/from JSC::UString type from WebCore::String
2565         
2566         WebCore's strings should not know about JSC::UString, this should be abstracted
2567         away in the bindings.  Add explicit conversion methods rather than relying on
2568         overloaded cast operators / constructors being implicitly called.
2569
2570         This patch only changes the class String, once this has landed StringImpl, and
2571         hopefully AtomicString too, should follow suit.
2572
2573         This patch adds:
2574             WebCore::identifierToString
2575             WebCore::ustringToString
2576             WebCore::stringToUString
2577
2578         - to JSDOMBindings.h, and updates code to call these methods.
2579
2580         * WebCore.base.exp:
2581         * WebCore.order:
2582         * bindings/js/CachedScriptSourceProvider.h:
2583         (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider):
2584         * bindings/js/JSAudioConstructor.cpp:
2585         (WebCore::constructAudio):
2586         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
2587         (WebCore::JSCSSStyleDeclaration::nameGetter):
2588         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
2589         (WebCore::toHTMLCanvasStyle):
2590         (WebCore::JSCanvasRenderingContext2D::setFillColor):
2591         (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
2592         (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
2593         (WebCore::JSCanvasRenderingContext2D::setShadow):
2594         (WebCore::JSCanvasRenderingContext2D::fillText):
2595         (WebCore::JSCanvasRenderingContext2D::strokeText):
2596         * bindings/js/JSClipboardCustom.cpp:
2597         (WebCore::JSClipboard::types):
2598         (WebCore::JSClipboard::clearData):
2599         (WebCore::JSClipboard::getData):
2600         (WebCore::JSClipboard::setData):
2601         * bindings/js/JSCustomXPathNSResolver.cpp:
2602         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
2603         * bindings/js/JSDOMBinding.cpp:
2604         (WebCore::identifierToString):
2605         (WebCore::ustringToString):
2606         (WebCore::stringToUString):
2607         (WebCore::valueToStringWithNullCheck):
2608         (WebCore::valueToStringWithUndefinedOrNullCheck):
2609         (WebCore::reportException):
2610         * bindings/js/JSDOMBinding.h:
2611         * bindings/js/JSDOMFormDataCustom.cpp:
2612         (WebCore::JSDOMFormData::append):
2613         * bindings/js/JSDOMWindowCustom.cpp:
2614         (WebCore::namedItemGetter):
2615         (WebCore::JSDOMWindow::setLocation):
2616         (WebCore::JSDOMWindow::openDatabase):
2617         * bindings/js/JSDatabaseCustom.cpp:
2618         (WebCore::JSDatabase::changeVersion):
2619         * bindings/js/JSDocumentCustom.cpp:
2620         (WebCore::JSDocument::setLocation):
2621         * bindings/js/JSEventListener.cpp:
2622         (WebCore::JSEventListener::handleEvent):
2623         * bindings/js/JSEventSourceConstructor.cpp:
2624         (WebCore::constructEventSource):
2625         * bindings/js/JSHTMLAllCollectionCustom.cpp:
2626         (WebCore::callHTMLAllCollection):
2627         * bindings/js/JSHTMLCanvasElementCustom.cpp:
2628         (WebCore::JSHTMLCanvasElement::getContext):
2629         * bindings/js/JSHTMLCollectionCustom.cpp:
2630         (WebCore::callHTMLCollection):
2631         * bindings/js/JSHTMLDocumentCustom.cpp:
2632         (WebCore::JSHTMLDocument::nameGetter):
2633         (WebCore::documentWrite):
2634         * bindings/js/JSInjectedScriptHostCustom.cpp:
2635         (WebCore::InjectedScriptHost::createInjectedScript):
2636         * bindings/js/JSInspectorFrontendHostCustom.cpp:
2637         (WebCore::JSInspectorFrontendHost::showContextMenu):
2638         * bindings/js/JSLazyEventListener.cpp:
2639         (WebCore::JSLazyEventListener::initializeJSFunction):
2640         * bindings/js/JSLocationCustom.cpp:
2641         (WebCore::JSLocation::setHref):
2642         (WebCore::JSLocation::setProtocol):
2643         (WebCore::JSLocation::setHost):
2644         (WebCore::JSLocation::setHostname):
2645         (WebCore::JSLocation::setPathname):
2646         (WebCore::JSLocation::setSearch):
2647         (WebCore::JSLocation::setHash):
2648         (WebCore::JSLocation::replace):
2649         (WebCore::JSLocation::assign):
2650         * bindings/js/JSMessageEventCustom.cpp:
2651         (WebCore::JSMessageEvent::initMessageEvent):
2652         * bindings/js/JSNamedNodeMapCustom.cpp:
2653         (WebCore::JSNamedNodeMap::canGetItemsForName):
2654         (WebCore::JSNamedNodeMap::nameGetter):
2655         * bindings/js/JSOptionConstructor.cpp:
2656         (WebCore::constructHTMLOptionElement):
2657         * bindings/js/JSSQLResultSetRowListCustom.cpp:
2658         (WebCore::JSSQLResultSetRowList::item):
2659         * bindings/js/JSSQLTransactionCustom.cpp:
2660         (WebCore::JSSQLTransaction::executeSql):
2661         * bindings/js/JSSharedWorkerConstructor.cpp:
2662         (WebCore::constructSharedWorker):
2663         * bindings/js/JSStorageCustom.cpp:
2664         (WebCore::JSStorage::canGetItemsForName):
2665         (WebCore::JSStorage::nameGetter):
2666         (WebCore::JSStorage::deleteProperty):
2667         (WebCore::JSStorage::getOwnPropertyNames):
2668         (WebCore::JSStorage::putDelegate):
2669         * bindings/js/JSStyleSheetListCustom.cpp:
2670         (WebCore::JSStyleSheetList::canGetItemsForName):
2671         (WebCore::JSStyleSheetList::nameGetter):
2672         * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
2673         (WebCore::constructWebKitCSSMatrix):
2674         * bindings/js/JSWebSocketConstructor.cpp:
2675         (WebCore::constructWebSocket):
2676         * bindings/js/JSWebSocketCustom.cpp:
2677         (WebCore::JSWebSocket::send):
2678         * bindings/js/JSWorkerConstructor.cpp:
2679         (WebCore::constructWorker):
2680         * bindings/js/JSWorkerContextCustom.cpp:
2681         (WebCore::JSWorkerContext::importScripts):
2682         * bindings/js/JSXMLHttpRequestCustom.cpp:
2683         (WebCore::JSXMLHttpRequest::open):
2684         (WebCore::JSXMLHttpRequest::setRequestHeader):
2685         (WebCore::JSXMLHttpRequest::send):
2686         (WebCore::JSXMLHttpRequest::overrideMimeType):
2687         * bindings/js/JSXSLTProcessorCustom.cpp:
2688         (WebCore::JSXSLTProcessor::setParameter):
2689         (WebCore::JSXSLTProcessor::getParameter):
2690         (WebCore::JSXSLTProcessor::removeParameter):
2691         * bindings/js/ScheduledAction.cpp:
2692         (WebCore::ScheduledAction::create):
2693         * bindings/js/ScriptCallFrame.cpp:
2694         (WebCore::ScriptCallFrame::ScriptCallFrame):
2695         * bindings/js/ScriptController.cpp:
2696         (WebCore::ScriptController::evaluateInWorld):
2697         * bindings/js/ScriptDebugServer.cpp:
2698         (WebCore::ScriptDebugServer::hasBreakpoint):
2699         (WebCore::ScriptDebugServer::dispatchDidParseSource):
2700         (WebCore::ScriptDebugServer::dispatchFailedToParseSource):
2701         (WebCore::ScriptDebugServer::sourceParsed):
2702         * bindings/js/ScriptEventListener.cpp:
2703         (WebCore::getEventListenerHandlerBody):
2704         * bindings/js/ScriptFunctionCall.cpp:
2705         (WebCore::ScriptFunctionCall::appendArgument):
2706         (WebCore::ScriptFunctionCall::call):
2707         (WebCore::ScriptFunctionCall::construct):
2708         * bindings/js/ScriptObject.cpp:
2709         (WebCore::ScriptObject::set):
2710         * bindings/js/ScriptProfiler.cpp:
2711         (WebCore::ScriptProfiler::start):
2712         (WebCore::ScriptProfiler::stop):
2713         * bindings/js/ScriptString.h:
2714         (WebCore::ScriptString::operator String):
2715         (WebCore::ScriptString::ustring):
2716         (WebCore::ScriptString::operator+=):
2717         * bindings/js/ScriptValue.cpp:
2718         (WebCore::ScriptValue::getString):
2719         * bindings/js/ScriptValue.h:
2720         (WebCore::ScriptValue::toString):
2721         * bindings/js/SerializedScriptValue.cpp:
2722         (WebCore::SerializedObject::set):
2723         (WebCore::SerializingTreeWalker::convertIfTerminal):
2724         (WebCore::DeserializingTreeWalker::putProperty):
2725         * bindings/js/StringSourceProvider.h:
2726         (WebCore::StringSourceProvider::StringSourceProvider):
2727         * bindings/objc/WebScriptObject.mm:
2728         (-[WebScriptObject callWebScriptMethod:withArguments:]):
2729         (-[WebScriptObject setValue:forKey:]):
2730         (-[WebScriptObject valueForKey:]):
2731         (-[WebScriptObject removeWebScriptKey:]):
2732         * bindings/scripts/CodeGeneratorJS.pm:
2733         * bridge/IdentifierRep.cpp:
2734         (WebCore::IdentifierRep::get):
2735         * bridge/c/c_utility.cpp:
2736         (JSC::Bindings::identifierFromNPIdentifier):
2737         * inspector/InspectorController.cpp:
2738         (WebCore::InspectorController::scriptImported):
2739         (WebCore::InspectorController::addProfileFinishedMessageToConsole):
2740         (WebCore::InspectorController::createProfileHeader):
2741         * inspector/InspectorResource.cpp:
2742         (WebCore::InspectorResource::sourceString):
2743         * inspector/JavaScriptCallFrame.cpp:
2744         (WebCore::JavaScriptCallFrame::functionName):
2745         * platform/KURL.h:
2746         (WebCore::KURL::operator const String&):
2747         * platform/text/AtomicString.cpp:
2748         (WebCore::AtomicString::operator UString):
2749         * platform/text/AtomicString.h:
2750         * platform/text/PlatformString.h:
2751         * platform/text/String.cpp:
2752
2753 2010-04-16  Anders Carlsson  <andersca@apple.com>
2754
2755         Reviewed by David Hyatt.
2756
2757         Always pass a view to the AppKit drawing functions.
2758         https://bugs.webkit.org/show_bug.cgi?id=37724
2759
2760         * platform/mac/ThemeMac.mm:
2761         (WebCore::paintCheckbox):
2762         (WebCore::paintRadio):
2763         * rendering/RenderThemeMac.mm:
2764         (WebCore::RenderThemeMac::paintMenuList):
2765         (WebCore::RenderThemeMac::paintSliderThumb):
2766         (WebCore::RenderThemeMac::paintSearchField):
2767         (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
2768         (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
2769         (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
2770
2771 2010-04-16  Alexey Proskuryakov  <ap@apple.com>
2772
2773         Reviewed by Dan Bernstein.
2774
2775         https://bugs.webkit.org/show_bug.cgi?id=37718
2776         Safari crashes with certain JavaScript charCode events in EventHandler::needsKeyboardEventDisambiguationQuirks
2777
2778         Test: fast/events/recorded-keydown-event.html
2779
2780         * dom/KeyboardEvent.cpp: (WebCore::KeyboardEvent::charCode): Check if the view (window) is
2781         frameless.
2782
2783 2010-04-16  Jian Li  <jianli@chromium.org>
2784
2785         Reviewed by Dmitry Titov.
2786
2787         Update FormDataList to fix style violations in old code.
2788         https://bugs.webkit.org/show_bug.cgi?id=37689
2789
2790         * html/FormDataList.h:
2791         (WebCore::FormDataList::appendData):
2792         (WebCore::FormDataList::appendBlob):
2793
2794 2010-04-16  Anders Carlsson  <andersca@apple.com>
2795
2796         Fix WebKit2 build.
2797
2798         * WebCore.base.exp:
2799
2800 2010-04-16  Jay Civelli  <jcivelli@chromium.org>
2801
2802         Reviewed by Dimitri Glazkov.
2803
2804         [chromium] Fix Mac build.
2805         https://bugs.webkit.org/show_bug.cgi?id=37436
2806
2807         * platform/chromium/PopupMenuChromium.h:
2808
2809 2010-04-16  Jay Civelli  <jcivelli@chromium.org>
2810
2811         Reviewed by Dimitri Glazkov.
2812
2813         [chromium] Select popups would assert when destroyed.
2814         https://bugs.webkit.org/show_bug.cgi?id=37436
2815
2816
2817         * platform/chromium/PopupMenuChromium.cpp:
2818         (WebCore::PopupContainer::PopupContainer):
2819         (WebCore::PopupContainer::showPopup):
2820         (WebCore::PopupContainer::notifyPopupHidden):
2821         * platform/chromium/PopupMenuChromium.h:
2822
2823 2010-04-16  Antonio Gomes  <tonikitoo@webkit.org>
2824
2825         Unreviewed QtWebKit (with Qt 4.7) build fix.
2826
2827         Bug 37683 moved code from FontQt.cpp to FontPlatformDataQt.cpp but did not
2828         renamed the variable used.
2829
2830         * platform/graphics/qt/FontPlatformDataQt.cpp:
2831         (WebCore::FontPlatformData::FontPlatformData):
2832
2833 2010-04-16  Noam Rosenthal  <noam.rosenthal@nokia.com>
2834
2835         Reviewed by Kenneth Rohde Christiansen.
2836
2837         Make GraphicsLayerQt always use ItemCoordinateCache, and remove ItemUsesExtendedStyleOption.
2838         This aligns our implementation with the Safari implementation - layers are always uploaded
2839         to textures in item units, and WebCore is responsible for the heuristics.
2840
2841         [Qt] GraphicsLayer: performance optimizations
2842         https://bugs.webkit.org/show_bug.cgi?id=35393
2843
2844         No new tests. Still no FPS benchmarks available (on any platform)
2845         but animations are noticably better.
2846
2847         * platform/graphics/qt/GraphicsLayerQt.cpp:
2848         (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
2849         (WebCore::GraphicsLayerQtImpl::paint):
2850         (WebCore::GraphicsLayerQtImpl::flushChanges):
2851         (WebCore::TransformAnimationQt::updateState):
2852
2853 2010-04-16  Simon Hausmann  <simon.hausmann@nokia.com>
2854
2855         Reviewed by Kenneth Rohde Christiansen.
2856
2857         [Qt] WebCore::Font::font() causes a QFont detach
2858         https://bugs.webkit.org/show_bug.cgi?id=37683
2859
2860         Moved the setStyleStrategy call to FontPlatformData
2861         to avoid the detach.
2862
2863         Thanks to Holger for spotting this.
2864
2865         * platform/graphics/qt/FontPlatformDataQt.cpp:
2866         (WebCore::FontPlatformData::FontPlatformData):
2867         * platform/graphics/qt/FontQt.cpp:
2868         (WebCore::Font::font):
2869
2870 2010-04-15  Matt Perry  <mpcomplete@chromium.org>
2871
2872         Reviewed by Adam Barth.
2873
2874         Remove the check for the main frame's scheme when deciding which
2875         v8 extensions to add to a script context. Instead, Chromium will
2876         handle that check elsewhere to allow finer-grained control over
2877         what APIs we expose to web pages.
2878         https://bugs.webkit.org/show_bug.cgi?id=37681
2879
2880         * bindings/v8/V8DOMWindowShell.cpp:
2881         (WebCore::V8DOMWindowShell::createNewContext):
2882
2883 2010-04-15  Luiz Agostini  <luiz.agostini@openbossa.org>
2884
2885         Reviewed by Antti Koivisto.
2886
2887         No default selection for <select multiple> menu lists.
2888         https://bugs.webkit.org/show_bug.cgi?id=37530
2889
2890         Manual test: manual-tests/no-listbox-rendering.html
2891
2892         For menu lists, if the selection is not indicated by the html file, the first <option> will be
2893         selected after loading the page or reseting the form. On the other hand listboxes may have no
2894         element selected after loading the page or reseting the form.
2895
2896         When NO_LISTBOX_RENDERING is enabled listboxes becomes menu lists. Those <select multiple>
2897         that did not have selected elements, now being menu lists, will have the first <option>
2898         selected. That is the behavior difference that this patch corrects.
2899
2900         When NO_LISTBOX_RENDERING is enabled usesMenuList() always returns true then usesMenuList() cannot
2901         be used to decide about initial selection of the elements. This patch replaces (usesMenuLists())
2902         by (!multiple && size <= 1) where initial selection is considered.
2903
2904         * dom/SelectElement.cpp:
2905         (WebCore::SelectElement::recalcListItems):
2906         (WebCore::SelectElement::reset):
2907         * manual-tests/no-listbox-rendering.html: Added.
2908
2909 2010-04-15  Zhenyao Mo  <zmo@google.com>
2910
2911         Reviewed by Dimitri Glazkov.
2912
2913         Index validation code validates too many vertex attributes
2914         https://bugs.webkit.org/show_bug.cgi?id=31892
2915
2916         * html/canvas/WebGLProgram.cpp:
2917         (WebCore::WebGLProgram::cacheActiveAttribLocations): Cache active attribute locations for a program at linkProgram time.
2918         (WebCore::WebGLProgram::getActiveAttribLocation): Get the cached attribute location.
2919         (WebCore::WebGLProgram::numActiveAttribLocations): Get the number of cached attribute locations.
2920         * html/canvas/WebGLProgram.h: Add attribute locations member.
2921         * html/canvas/WebGLRenderingContext.cpp:
2922         (WebCore::WebGLRenderingContext::validateRenderingState): Add logic not to validate those attributes that do not belong to the current program.
2923         (WebCore::WebGLRenderingContext::linkProgram): Call cacheActiveAttribLocations().
2924
2925 2010-04-16  Adam Roben  <aroben@apple.com>
2926
2927         Don't assert when soft-linked libraries can't be found
2928
2929         In some situations (e.g., when using SOFT_LINK_OPTIONAL), we expect soft-link libraries not
2930         to be able to be found in all cases. So we shouldn't assert that they're always found.
2931
2932         Reviewed by Sam Weinig.
2933
2934         * platform/win/SoftLinking.h:
2935         (SOFT_LINK): Don't assert when LoadLibrary fails.
2936
2937 2010-04-15  Dmitry Titov  <dimich@chromium.org>
2938
2939         Unreviewed, rolling out r57688.
2940         http://trac.webkit.org/changeset/57688
2941         https://bugs.webkit.org/show_bug.cgi?id=34992
2942
2943         Makes fast/workers/dedicated-worker-lifecycle.html crashing on all GTK bots
2944
2945         * bindings/js/JSWorkerContextCustom.cpp:
2946         * bindings/v8/custom/V8WorkerContextCustom.cpp:
2947         * storage/Database.idl:
2948         * storage/SQLError.idl:
2949         * storage/SQLResultSet.idl:
2950         * storage/SQLResultSetRowList.idl:
2951         * storage/SQLTransaction.idl:
2952         * workers/WorkerContext.cpp:
2953         (WebCore::WorkerContext::openDatabase):
2954         * workers/WorkerContext.h:
2955         (WebCore::WorkerContext::databaseExceededQuota):
2956         * workers/WorkerContext.idl:
2957
2958 2010-04-15  Yury Semikhatsky  <yurys@google.com>
2959
2960         Reviewed by Pavel Feldman.
2961     
2962         Support basic debugging capabilities including step in/over/out in v8
2963         implementation of ScriptDebugServer.
2964
2965         https://bugs.webkit.org/show_bug.cgi?id=37604
2966
2967         * bindings/js/JSInjectedScriptHostCustom.cpp:
2968         (WebCore::InjectedScriptHost::createInjectedScript):
2969         * bindings/v8/ScriptDebugServer.cpp:
2970         (WebCore::ScriptDebugServer::ScriptDebugServer):
2971         (WebCore::ScriptDebugServer::setDebuggerScriptSource):
2972         (WebCore::ScriptDebugServer::addListener):
2973         (WebCore::ScriptDebugServer::removeListener):
2974         (WebCore::ScriptDebugServer::setBreakpoint):
2975         (WebCore::ScriptDebugServer::removeBreakpoint):
2976         (WebCore::ScriptDebugServer::clearBreakpoints):
2977         (WebCore::ScriptDebugServer::setBreakpointsActivated):
2978         (WebCore::ScriptDebugServer::continueProgram):
2979         (WebCore::ScriptDebugServer::stepIntoStatement):
2980         (WebCore::ScriptDebugServer::stepOverStatement):
2981         (WebCore::ScriptDebugServer::stepOutOfFunction):
2982         (WebCore::ScriptDebugServer::currentCallFrameState):
2983         (WebCore::ScriptDebugServer::currentCallFrameV8):
2984         (WebCore::ScriptDebugServer::onV8DebugMessage):
2985         (WebCore::ScriptDebugServer::onV8DebugHostDispatch):
2986         (WebCore::ScriptDebugServer::handleV8DebugHostDispatch):
2987         (WebCore::ScriptDebugServer::handleV8DebugMessage):
2988         (WebCore::ScriptDebugServer::dispatchDidParseSource):
2989         (WebCore::ScriptDebugServer::ensureDebuggerScriptCompiled):
2990         (WebCore::ScriptDebugServer::didResume):
2991         * bindings/v8/ScriptDebugServer.h:
2992         (WebCore::ScriptDebugServer::pauseOnExceptionsState):
2993         (WebCore::ScriptDebugServer::setPauseOnExceptionsState):
2994         (WebCore::ScriptDebugServer::setMessageLoopDispatchHandler):
2995         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2996         (WebCore::InjectedScriptHost::createInjectedScript):
2997         (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
2998         (WebCore::V8InjectedScriptHost::isActivationCallback):
2999         * inspector/front-end/InjectedScript.js:
3000         (injectedScriptConstructor):
3001         (injectedScriptConstructor.):
3002         * inspector/front-end/ScriptsPanel.js:
3003         (WebInspector.ScriptsPanel):
3004
3005 2010-04-15  Jian Li  <jianli@chromium.org>
3006
3007         Reviewed by Dmitry Titov.
3008
3009         Support using FormData to send a sliced file via XHR.
3010         https://bugs.webkit.org/show_bug.cgi?id=36678
3011
3012         Tests: http/tests/local/formdata/send-form-data-with-sliced-file.html
3013
3014         * html/Blob.h:
3015         (WebCore::Blob::isFile):
3016         * html/DOMFormData.cpp:
3017         (WebCore::DOMFormData::append):
3018         * html/File.h:
3019         (WebCore::File::isFile):
3020         * html/FormDataList.h:
3021         (WebCore::FormDataList::appendBlob):
3022         (WebCore::FormDataList::Item::Item):
3023         (WebCore::FormDataList::Item::blob):
3024         * html/HTMLInputElement.cpp:
3025         (WebCore::HTMLInputElement::appendFormData):
3026         * platform/network/FormData.cpp:
3027         (WebCore::FormData::appendDOMFormData):
3028         * platform/network/mac/FormDataStreamMac.mm:
3029         (WebCore::closeCurrentStream):
3030
3031 2010-04-15  Zhenyao Mo  <zmo@google.com>
3032
3033         Reviewed by Dimitri Glazkov.
3034
3035         Must enable GL_VERTEX_PROGRAM_POINT_SIZE during initialization
3036         https://bugs.webkit.org/show_bug.cgi?id=37178
3037
3038         Test: fast/canvas/webgl/point-size.html
3039
3040         * platform/graphics/mac/GraphicsContext3DMac.cpp: Enable GL_VERTEX_PROGRAM_POINT_SIZE during initialization.
3041         (WebCore::GraphicsContext3D::GraphicsContext3D):
3042
3043 2010-04-15  Eric Uhrhane  <ericu@chromium.org>
3044
3045         Reviewed by Dmitry Titov.
3046
3047         Add bindings for async DB API in Workers.
3048         https://bugs.webkit.org/show_bug.cgi?id=34992
3049
3050         Tests: storage/change-version-handle-reuse-worker.html
3051                storage/execute-sql-args-worker.html
3052
3053         * bindings/js/JSWorkerContextCustom.cpp: Add openDatabase binding.
3054         (WebCore::JSWorkerContext::openDatabase):
3055
3056         * bindings/v8/custom/V8WorkerContextCustom.cpp: Add openDatabase stub; Chromium will need work both in V8 and in the browser process before we can turn this on there.
3057         (WebCore::V8WorkerContext::openDatabaseCallback):
3058
3059         Add NoStaticTables flags to all objects now shared with workers.
3060         * storage/Database.idl:
3061         * storage/SQLError.idl:
3062         * storage/SQLResultSet.idl:
3063         * storage/SQLResultSetRowList.idl:
3064         * storage/SQLTransaction.idl:
3065         
3066         * workers/WorkerContext.h: Add databaseExceededQuota.
3067         * workers/WorkerContext.cpp:
3068         (WebCore::WorkerContext::databaseExceededQuota): Add stub implementation for testing; you just get 5MB for now.
3069         (WebCore::WorkerContext::openDatabase): Remove invalid assertion.
3070
3071         Add the IDL for the call to openDatabase.
3072         * workers/WorkerContext.idl:
3073
3074 2010-04-15  Nicolas Weber  <thakis@chromium.org>
3075
3076         Reviewed by Dimitri Glazkov.
3077
3078         Fix drag image thumbnails for indexed images.
3079         https://bugs.webkit.org/show_bug.cgi?id=37621
3080
3081         * platform/chromium/DragImageChromiumMac.cpp:
3082         (WebCore::scaleDragImage): Always use RGB color space.
3083         (WebCore::dissolveDragImageToFraction): Always use RGB color space.
3084
3085 2010-04-15  Adam Roben  <aroben@apple.com>
3086
3087         Expose UserContentURLPattern as WebKit SPI
3088
3089         Fixes <http://webkit.org/b/37354>.
3090
3091         Reviewed by Tim Hatcher.
3092
3093         * WebCore.base.exp: Export UserContentURLPattern::parse, and sorted
3094         the file.
3095
3096         * WebCore.xcodeproj/project.pbxproj: Marked UserContentURLPattern.h as
3097         "Private".
3098
3099         * page/UserContentURLPattern.h:
3100         (WebCore::UserContentURLPattern::UserContentURLPattern): Added a
3101         default constructor.
3102         (WebCore::UserContentURLPattern::isValid): Added this getter.
3103
3104 2010-04-15  Chris Fleizach  <cfleizach@apple.com>
3105
3106         Reviewed by Beth Dakin.
3107
3108         AXHelp is being appended from ancestors incorrectly
3109         https://bugs.webkit.org/show_bug.cgi?id=37659
3110
3111         Test: platform/mac/accessibility/unexpected-help-text.html
3112
3113         * accessibility/AccessibilityRenderObject.cpp:
3114         (WebCore::AccessibilityRenderObject::helpText):
3115
3116 2010-04-15  David Hyatt  <hyatt@apple.com>
3117
3118         Reviewed by Anders Carlsson.
3119
3120         https://bugs.webkit.org/show_bug.cgi?id=37669, REGRESSION: visited styles don't work right when only the visited path specifies
3121         a pseudoelement.
3122         
3123         Rework the pseudo cache on RenderStyles to support nesting, i.e., a pseudo hanging off a pseudo.  The existing model gets
3124         confused by this concept, since it relies on a singly linked list of chained pseudo styles (instead of a Vector owned by a primary
3125         style).  I changed the style cache to be a Vector instead.
3126         
3127         Reworked both styleForElement and pseudoStyleForElement to resolve visited styles first, since in the pseudoStyleForElement case
3128         you need to do this in order to know to allocate an unvisited pseudo style even if one shouldn't normally exist.
3129
3130         * css/CSSStyleSelector.cpp:
3131         (WebCore::CSSStyleSelector::styleForElement):
3132         (WebCore::CSSStyleSelector::pseudoStyleForElement):
3133         * dom/Element.cpp:
3134         (WebCore::Element::pseudoStyleCacheIsInvalid):
3135         * rendering/style/RenderStyle.cpp:
3136         (WebCore::RenderStyle::getCachedPseudoStyle):
3137         (WebCore::RenderStyle::addCachedPseudoStyle):
3138         * rendering/style/RenderStyle.h:
3139         (WebCore::):
3140         (WebCore::InheritedFlags::cachedPseudoStyles):
3141
3142 2010-04-15  Albert J. Wong  <ajwong@chromium.org>
3143
3144         Unreviewed, rolling out r57660.
3145         http://trac.webkit.org/changeset/57660
3146         https://bugs.webkit.org/show_bug.cgi?id=37604
3147
3148         Broke a large number of inspector layout tests in chromium.
3149
3150         * bindings/js/JSInjectedScriptHostCustom.cpp:
3151         (WebCore::InjectedScriptHost::createInjectedScript):
3152         * bindings/v8/ScriptDebugServer.cpp:
3153         * bindings/v8/ScriptDebugServer.h:
3154         (WebCore::ScriptDebugServer::addListener):
3155         (WebCore::ScriptDebugServer::removeListener):
3156         (WebCore::ScriptDebugServer::setBreakpoint):
3157         (WebCore::ScriptDebugServer::removeBreakpoint):
3158         (WebCore::ScriptDebugServer::clearBreakpoints):
3159         (WebCore::ScriptDebugServer::setBreakpointsActivated):
3160         (WebCore::ScriptDebugServer::pauseOnExceptionsState):
3161         (WebCore::ScriptDebugServer::setPauseOnExceptionsState):
3162         (WebCore::ScriptDebugServer::continueProgram):
3163         (WebCore::ScriptDebugServer::stepIntoStatement):
3164         (WebCore::ScriptDebugServer::stepOverStatement):
3165         (WebCore::ScriptDebugServer::stepOutOfFunction):
3166         (WebCore::ScriptDebugServer::currentCallFrameState):
3167         (WebCore::ScriptDebugServer::ScriptDebugServer):
3168         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
3169         (WebCore::InjectedScriptHost::createInjectedScript):
3170         (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
3171         (WebCore::V8InjectedScriptHost::isActivationCallback):
3172         * inspector/front-end/InjectedScript.js:
3173         (injectedScriptConstructor):
3174         * inspector/front-end/ScriptsPanel.js:
3175         (WebInspector.ScriptsPanel):
3176
3177 2010-04-14  Dumitru Daniliuc  <dumi@chromium.org>
3178
3179         Reviewed by Dimitri Glazkov.
3180
3181         DatabaseTracker refactoring: remove the dependency on
3182         OriginQuotaManager from DatabaseTracker.h
3183         https://bugs.webkit.org/show_bug.cgi?id=31482
3184
3185         * storage/DatabaseTracker.cpp:
3186         (WebCore::DatabaseTracker::DatabaseTracker):
3187         (WebCore::DatabaseTracker::~DatabaseTracker):
3188         (WebCore::DatabaseTracker::canEstablishDatabase):
3189         (WebCore::DatabaseTracker::hasEntryForOrigin):
3190         (WebCore::DatabaseTracker::getMaxSizeForDatabase):
3191         (WebCore::DatabaseTracker::databaseChanged):
3192         (WebCore::DatabaseTracker::fullPathForDatabaseNoLock):
3193         (WebCore::DatabaseTracker::fullPathForDatabase):
3194         (WebCore::DatabaseTracker::populateOrigins):
3195         (WebCore::DatabaseTracker::origins):
3196         (WebCore::DatabaseTracker::databaseNamesForOrigin):
3197         (WebCore::DatabaseTracker::addOpenDatabase):
3198         (WebCore::DatabaseTracker::removeOpenDatabase):
3199         (WebCore::DatabaseTracker::usageForOriginNoLock):
3200         (WebCore::DatabaseTracker::usageForOrigin):
3201         (WebCore::DatabaseTracker::quotaForOrigin):
3202         (WebCore::DatabaseTracker::setQuota):
3203         (WebCore::DatabaseTracker::deleteOrigin):
3204         (WebCore::DatabaseTracker::deleteDatabase):
3205         (WebCore::DatabaseTracker::deleteDatabaseFile):
3206         * storage/DatabaseTracker.h:
3207         * storage/SQLTransactionClient.cpp:
3208         (WebCore::SQLTransactionClient::didExecuteStatement):
3209
3210 2010-04-15  Zhenyao Mo  <zmo@google.com>
3211
3212         Reviewed by Adam Barth.
3213
3214         Several tests in fast/canvas/webgl/ failed randomly on Leopard Commit Bot
3215         This fixes an uninitialized variable bug and restores a glFinish call that used to be present.
3216         https://bugs.webkit.org/show_bug.cgi?id=36908
3217
3218         * platform/graphics/mac/GraphicsContext3DMac.cpp:
3219         (WebCore::GraphicsContext3D::GraphicsContext3D): Initialize width/height to 0/0.
3220         (WebCore::GraphicsContext3D::prepareTexture): Restore glFinish() in every path.
3221
3222 2010-04-14  Antonio Gomes  <tonikitoo@webkit.org>
3223
3224         Reviewed by Simon Fraser.
3225
3226         Spatial Navigation: make hasOffscreenRect() to earlier return 'true' if absoluteClippedOverflowRect() gives an empty rect
3227         https://bugs.webkit.org/show_bug.cgi?id=37635
3228
3229         absoluteClippedOverflowRect method of RenderObject does return an empty IntRect for offscreen nodes.
3230         So hasOffscreenRect method (SpatialNavigation.cpp) can safily bail out earlier in such cases.
3231
3232         * page/SpatialNavigation.cpp:
3233         (WebCore::hasOffscreenRect):
3234
3235 2010-04-14  Antonio Gomes  <tonikitoo@webkit.org>
3236
3237         Reviewed by Simon Fraser.
3238
3239         Spatial Navigation: remove unnecessery assignment in updateFocusCandidateIfCloser method
3240         https://bugs.webkit.org/show_bug.cgi?id=37634
3241
3242         This assignment line is not longer needed after r57061, bug that refactored all
3243         assignment logic to happen lines below in the method.
3244
3245         * page/FocusController.cpp:
3246         (WebCore::updateFocusCandidateIfCloser):
3247
3248 2010-04-15  Yury Semikhatsky  <yurys@google.com>
3249
3250         Reviewed by Pavel Feldman.
3251     
3252         Support basic debugging capabilities including step in/over/out in v8
3253         implementation of ScriptDebugServer.
3254
3255         https://bugs.webkit.org/show_bug.cgi?id=37604
3256
3257         * bindings/js/JSInjectedScriptHostCustom.cpp:
3258         (WebCore::InjectedScriptHost::createInjectedScript):
3259         * bindings/v8/ScriptDebugServer.cpp:
3260         (WebCore::ScriptDebugServer::ScriptDebugServer):
3261         (WebCore::ScriptDebugServer::setDebuggerScriptSource):
3262         (WebCore::ScriptDebugServer::addListener):
3263         (WebCore::ScriptDebugServer::removeListener):
3264         (WebCore::ScriptDebugServer::setBreakpoint):
3265         (WebCore::ScriptDebugServer::removeBreakpoint):
3266         (WebCore::ScriptDebugServer::clearBreakpoints):
3267         (WebCore::ScriptDebugServer::setBreakpointsActivated):
3268         (WebCore::ScriptDebugServer::continueProgram):
3269         (WebCore::ScriptDebugServer::stepIntoStatement):
3270         (WebCore::ScriptDebugServer::stepOverStatement):
3271         (WebCore::ScriptDebugServer::stepOutOfFunction):
3272         (WebCore::ScriptDebugServer::currentCallFrameState):
3273         (WebCore::ScriptDebugServer::currentCallFrameV8):
3274         (WebCore::ScriptDebugServer::onV8DebugMessage):
3275         (WebCore::ScriptDebugServer::onV8DebugHostDispatch):
3276         (WebCore::ScriptDebugServer::handleV8DebugHostDispatch):
3277         (WebCore::ScriptDebugServer::handleV8DebugMessage):
3278         (WebCore::ScriptDebugServer::dispatchDidParseSource):
3279         (WebCore::ScriptDebugServer::ensureDebuggerScriptCompiled):
3280         (WebCore::ScriptDebugServer::didResume):
3281         * bindings/v8/ScriptDebugServer.h:
3282         (WebCore::ScriptDebugServer::pauseOnExceptionsState):
3283         (WebCore::ScriptDebugServer::setPauseOnExceptionsState):
3284         (WebCore::ScriptDebugServer::setMessageLoopDispatchHandler):
3285         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
3286         (WebCore::InjectedScriptHost::createInjectedScript):
3287         (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
3288         (WebCore::V8InjectedScriptHost::isActivationCallback):
3289         * inspector/front-end/InjectedScript.js:
3290         (injectedScriptConstructor):
3291         (injectedScriptConstructor.):
3292         * inspector/front-end/ScriptsPanel.js:
3293         (WebInspector.ScriptsPanel):
3294
3295 2010-04-15  Nikolas Zimmermann  <nzimmermann@rim.com>
3296
3297         Reviewed by Beth Dakin.
3298
3299         RenderSVGResource <-> id mapping should be cached
3300         https://bugs.webkit.org/show_bug.cgi?id=37575
3301
3302         Test: svg/custom/clip-path-id-changes.svg
3303
3304         * rendering/RenderSVGResource.h:
3305         (WebCore::RenderSVGResource::RenderSVGResource):
3306         (WebCore::RenderSVGResource::~RenderSVGResource):
3307         (WebCore::RenderSVGResource::idChanged):
3308         (WebCore::getRenderSVGResourceById):
3309         * svg/SVGDocumentExtensions.cpp:
3310         (WebCore::SVGDocumentExtensions::addResource):
3311         (WebCore::SVGDocumentExtensions::removeResource):
3312         (WebCore::SVGDocumentExtensions::resourceById):
3313         * svg/SVGDocumentExtensions.h:
3314         * svg/SVGStyledElement.cpp:
3315         (WebCore::SVGStyledElement::svgAttributeChanged):
3316
3317 2010-04-15  Justin Schuh  <jschuh@chromium.org>
3318
3319         Reviewed by Dimitri Glazkov.
3320
3321         LayoutTest breakage in V8 bindings after r57627
3322         https://bugs.webkit.org/show_bug.cgi?id=37660
3323
3324         Fixes breakage of the following tests due to an error in V8 bindings for
3325         NamedNodeMap:
3326         hc_namednodemapinuseattributeerr.html
3327         hc_namednodemapsetnameditemreturnvalue.html
3328         hc_namednodemapwrongdocumenterr.html
3329         hc_namednodemapinvalidtype1.html
3330         NamedNodeMap-setNamedItem-crash.html
3331
3332         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
3333         (WebCore::V8NamedNodeMap::setNamedItemNSCallback):
3334         (WebCore::V8NamedNodeMap::setNamedItemCallback):
3335
3336 2010-04-15  David Hyatt  <hyatt@apple.com>
3337
3338         Reviewed by Anders Carlsson.
3339
3340         https://bugs.webkit.org/show_bug.cgi?id=37567, :first-letter inside a :visited link is wrong color.  Make sure
3341         that the pseudo style caching allows visited link styles to hang off other pseudo styles.
3342
3343         * rendering/RenderBlock.cpp:
3344         (WebCore::RenderBlock::updateFirstLetter):
3345         * rendering/style/RenderStyle.cpp:
3346         (WebCore::RenderStyle::getCachedPseudoStyle):
3347
3348 2010-04-15  Ben Murdoch  <benm@google.com>
3349
3350         Unreviewed, rolling out r57652.
3351         http://trac.webkit.org/changeset/57652
3352         https://bugs.webkit.org/show_bug.cgi?id=37609
3353
3354         Caused a build break on Chromium Mac and Layout Test fail on
3355         Qt
3356
3357         * platform/PlatformTouchPoint.h:
3358         (WebCore::PlatformTouchPoint::):
3359         * platform/qt/PlatformTouchPointQt.cpp:
3360         (WebCore::PlatformTouchPoint::PlatformTouchPoint):
3361
3362 2010-04-15  Yaar Schnitman  <yaar@chromium.org>
3363
3364         Reviewed by Nate Chapin.
3365
3366         Overloads auto-generation in V8
3367         https://bugs.webkit.org/show_bug.cgi?id=37373
3368
3369         This will be used by XHR.send/open, Canvas.*, WebGL.* methods that are currently custom. When more than a single overload exists for a method, the correct overload is chosen based on the total number of arguments passed as well as the values passed to non-primitive arguments.
3370
3371         Overload dispatch order depends on the order the functions are defined in the IDL. Overloads must be specified from the most precise (overloads with wrapper type arguments) to the least precise (overloads with only primitive type arguments).
3372
3373         * bindings/scripts/CodeGeneratorV8.pm: Identify and output overloads callbacks and dispatch code.
3374         * bindings/v8/test/TestObj.idl: Overloads sample.
3375         * bindings/v8/test/V8TestObj.cpp: Output change.
3376
3377 2010-04-15  Ben Murdoch  <benm@google.com>
3378
3379         Reviewed by Kenneth Rohde Christiansen.
3380
3381         The TouchStationary state of WebCore::PlatformTouchPoint
3382         is not handled inside the touch event handler.
3383         https://bugs.webkit.org/show_bug.cgi?id=37609
3384
3385         After discussions at the WebKit contributors meeting, we decided
3386         that this is a currently unused state without a good future use
3387         case in the Touch API and thus decided to remove it. This patch
3388         actions that decision.
3389
3390         As the TouchStationary state is not handled in the EventHandler,
3391         there is no change in functionality so no new tests are required.
3392
3393         * platform/PlatformTouchPoint.h:
3394         (WebCore::PlatformTouchPoint::): Remove TouchStationary.
3395         * platform/qt/PlatformTouchPointQt.cpp:
3396         (WebCore::PlatformTouchPoint::PlatformTouchPoint): Remove TouchStationary.
3397
3398 2010-04-15  Steve Falkenburg  <sfalken@apple.com>
3399
3400         Reviewed by Adam Roben.
3401
3402         Use a lower-overhead mechanism for plug-in message throttling
3403         https://bugs.webkit.org/show_bug.cgi?id=37642        
3404         <rdar://problem/7418285> Very high CPU usage idling in gmail under Windows 7 (plug-in related)
3405         
3406         GMail has an instance of Flash that loads on the main mail page.
3407         This Flash content sends us a constant stream of WM_USER+1 messsages.
3408         
3409         There was already code in PluginMessageThrottlerWin to queue and process these
3410         excess WM_USER+1 messages from Flash. Unfortunately, there were a couple of
3411         problems with this code:
3412         
3413         - The timer used to process the excess messages had a very low timeout (1ms).
3414           Chrome uses a value of 5ms for this delay, and doesn't use excess CPU here,
3415           while still maintaining good Flash frame rate.
3416         
3417         - The overhead involved in generating a constant stream of 5ms timers still swamped
3418           the CPU, resulting in continued high CPU utilization.
3419           
3420         To fix this, I changed the throttling code to:
3421         
3422         - Process a queued WM_USER+1 message directly if none has been processed in 5ms.
3423           This allows us to avoid the overhead of a timer.
3424           
3425         - Process remaining delayed WM_USER+1 messages on a 16ms timer.
3426         
3427         This reduces our CPU utilization idling in GMail from ~20% to ~2-3% on my system.
3428         I also verified the frame rate for Flash content wasn't reduced with this change.
3429
3430         * plugins/win/PluginMessageThrottlerWin.cpp:
3431         (WebCore::PluginMessageThrottlerWin::PluginMessageThrottlerWin): Initialize m_lastMessageTime.
3432         (WebCore::PluginMessageThrottlerWin::appendMessage): Process a queued message directly if >5ms have passed.
3433         (WebCore::PluginMessageThrottlerWin::processQueuedMessage): Split out from messageThrottleTimerFired.
3434         (WebCore::PluginMessageThrottlerWin::messageThrottleTimerFired): Call through to processQueuedMessage.
3435         * plugins/win/PluginMessageThrottlerWin.h: Add processQueuedMessage, m_lastMessageTime.
3436
3437 2010-04-15  Shinichiro Hamaji  <hamaji@chromium.org>
3438
3439         Reviewed by David Levin.
3440
3441         LEAK: in ThreadableWebSocketChannel::create()
3442         https://bugs.webkit.org/show_bug.cgi?id=37584
3443
3444         No new tests because this change just fixes a leak.
3445
3446         * websockets/WorkerThreadableWebSocketChannel.cpp:
3447         (WebCore::WorkerThreadableWebSocketChannel::WorkerThreadableWebSocketChannel):
3448         * websockets/WorkerThreadableWebSocketChannel.h:
3449         (WebCore::WorkerThreadableWebSocketChannel::Bridge::create):
3450
3451 2010-04-15  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3452
3453         Reviewed by Eric Seidel.
3454
3455         Duplicated patches related to wml were pushed to trunk. So, one of
3456         the patches should be reverted.
3457         https://bugs.webkit.org/show_bug.cgi?id=37542
3458
3459         * wml/WMLOptionElement.h:
3460         * wml/WMLSelectElement.h:
3461
3462 2010-04-15  Bruno Schmidt  <bruno.schmidt@gmail.com>
3463
3464         Reviewed by Kenneth Rohde Christiansen.
3465
3466         [Qt] Null QObjects properties cause Segmentation Fault
3467         https://bugs.webkit.org/show_bug.cgi?id=34730
3468
3469         QObjects exported to the QWebkit javascript with properties that are
3470         a null "QObject*" cause Segmentation Fault.
3471
3472         If an QObject is added to the javascript context and it contains
3473         properties of the type QObject* with NULL value, calling the property
3474         causes Segmentation Fault.
3475         So now the code below properly checks for null pointers:
3476
3477         * bridge/qt/qt_instance.cpp:
3478         (JSC::Bindings::QtInstance::getClass): may return NULL
3479         (JSC::Bindings::QtInstance::getMethod): may return jsNull()
3480         (JSC::Bindings::QtInstance::stringValue): may return jsNull()
3481         (JSC::Bindings::QtInstance::booleanValue): may return false
3482         * bridge/qt/qt_runtime.cpp:
3483         (JSC::Bindings::convertValueToQVariant): 
3484         (JSC::Bindings::convertQVariantToValue): May return jsNull on QObjectStar
3485
3486 2010-04-14  Simon Fraser  <simon.fraser@apple.com>
3487
3488         Reviewed by Dan Bernstein.
3489
3490         Repaint of fixed, transformed element is broken
3491         https://bugs.webkit.org/show_bug.cgi?id=37637
3492
3493         RenderBox::computeRectForRepaint() failed to set the 'fixed' flag correctly
3494         for elements that had both fixed position and a transform. If the element has
3495         a transform, 'fixed' should only remain true if the element itself is fixed
3496         position.
3497         
3498         Also cache style()->position() in a local variable for performance.
3499         
3500         Test: fast/repaint/fixed-tranformed.html
3501
3502         * rendering/RenderBox.cpp:
3503         (WebCore::RenderBox::computeRectForRepaint):
3504
3505 2010-04-14  Luiz Agostini  <luiz.agostini@openbossa.org>
3506
3507         Reviewed by Kenneth Rohde Christiansen.
3508
3509         Changing view mode names due to specification changes
3510         https://bugs.webkit.org/show_bug.cgi?id=37615
3511
3512         test: fast/media/media-feature-wgt-view-mode.html
3513
3514         specification: http://dev.w3.org/2006/waf/widgets-vmmf/
3515
3516         * css/MediaQueryEvaluator.cpp:
3517         (WebCore::view_modeMediaFeatureEval):
3518         * page/ChromeClient.h:
3519         (WebCore::ChromeClient::isWindowed):
3520         (WebCore::ChromeClient::isMaximized):
3521         (WebCore::ChromeClient::isMinimized):
3522
3523 2010-04-14  Adam Barth  <abarth@webkit.org>
3524
3525         Unreviewed attempt to fix Qt build.
3526
3527         * bindings/js/JSNodeCustom.cpp:
3528
3529 2010-04-14  Justin Schuh  <jschuh@chromium.org>
3530
3531         Reviewed by Adam Barth.
3532
3533         Javascript URL can be set as iframe.src via multiple DOM aliases
3534         https://bugs.webkit.org/show_bug.cgi?id=37031
3535
3536         Moved frame/iframe checks from Attr to Node on inherited members.
3537         Node child manipulation methods now return NOT_SUPPORTED_ERR if used
3538         on a frame/iframe src attribute.
3539         NamedNodeMap set methods now perform frame/iframe src checks.
3540         Moved allowSettingSrcToJavascriptURL static helper function from 
3541         JSElementCustom.cpp to exported function in JSDOMBinding.h.
3542
3543         * bindings/js/JSAttrCustom.cpp:
3544         (WebCore::JSAttr::setValue):
3545         * bindings/js/JSDOMBinding.cpp:
3546         (WebCore::allowSettingSrcToJavascriptURL):
3547         * bindings/js/JSDOMBinding.h:
3548         * bindings/js/JSElementCustom.cpp:
3549         * bindings/js/JSNamedNodeMapCustom.cpp:
3550         (WebCore::JSNamedNodeMap::setNamedItem):
3551         (WebCore::JSNamedNodeMap::setNamedItemNS):
3552         * bindings/js/JSNodeCustom.cpp:
3553         (WebCore::isAttrFrameSrc):
3554         (WebCore::JSNode::setNodeValue):
3555         (WebCore::JSNode::setTextContent):
3556         (WebCore::JSNode::insertBefore):
3557         (WebCore::JSNode::replaceChild):
3558         (WebCore::JSNode::removeChild):
3559         (WebCore::JSNode::appendChild):
3560         * bindings/v8/custom/V8AttrCustom.cpp:
3561         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
3562         (WebCore::V8NamedNodeMap::setNamedItemNSCallback):
3563         (WebCore::V8NamedNodeMap::setNamedItemCallback):
3564         (WebCore::toV8):
3565         * bindings/v8/custom/V8NodeCustom.cpp:
3566         (WebCore::isFrameSrc):
3567         (WebCore::V8Node::textContentAccessorSetter):
3568         (WebCore::V8Node::nodeValueAccessorSetter):
3569         (WebCore::V8Node::insertBeforeCallback):
3570         (WebCore::V8Node::replaceChildCallback):
3571         (WebCore::V8Node::removeChildCallback):
3572         (WebCore::V8Node::appendChildCallback):
3573         * dom/Attr.idl:
3574         * dom/NamedNodeMap.idl:
3575         * dom/Node.idl:
3576
3577 2010-04-14  Alejandro G. Castro  <alex@igalia.com>
3578
3579         Reviewed by Xan Lopez.
3580
3581         We have to check if the resource handler is cancelled before
3582         checking the client, other case it could crash.
3583
3584         * platform/network/soup/ResourceHandleSoup.cpp:
3585         (WebCore::parseDataUrl):
3586
3587 2010-04-14  Sheriff Bot  <webkit.review.bot@gmail.com>
3588
3589         Unreviewed, rolling out r57609.
3590         http://trac.webkit.org/changeset/57609
3591         https://bugs.webkit.org/show_bug.cgi?id=37614
3592
3593         "Broke multiple builders.  Probably needs new test results,
3594         but may be an Inspector bug." (Requested by eseidel on
3595         #webkit).
3596
3597         * inspector/InspectorController.cpp:
3598         (WebCore::InspectorController::didReceiveResponse):
3599         (WebCore::InspectorController::didFailLoading):
3600         * inspector/front-end/Resource.js:
3601         (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
3602         * inspector/front-end/ResourcesPanel.js:
3603         (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
3604
3605 2010-04-14  Steve Falkenburg  <sfalken@apple.com>
3606
3607         Reviewed by Dan Bernstein.
3608
3609         Don't cache SimpleFontData* in getLastResortFallbackFont. The cached entry may be invalidated.
3610         https://bugs.webkit.org/show_bug.cgi?id=37599
3611
3612         * platform/graphics/win/FontCacheWin.cpp:
3613         (WebCore::fontDataFromDescriptionAndLogFont):
3614         (WebCore::FontCache::getLastResortFallbackFont):
3615
3616 2010-04-14  Andrey Kosyakov  <caseq@chromium.ru>
3617
3618         Reviewed by Timothy Hatcher.
3619
3620         Log error message to inspector console if a resource fails to load.
3621         Disable checking of mime-type consistency for failed resources.
3622         https://bugs.webkit.org/show_bug.cgi?id=37215
3623
3624         Test: inspector/console-resource-errors.html
3625
3626         * inspector/InspectorController.cpp:
3627         (WebCore::InspectorController::didReceiveResponse):
3628         (WebCore::InspectorController::didFailLoading):
3629         * inspector/front-end/Resource.js:
3630         (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
3631         * inspector/front-end/ResourcesPanel.js:
3632         (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
3633
3634 2010-04-14  Sheriff Bot  <webkit.review.bot@gmail.com>
3635
3636         Unreviewed, rolling out r57599.
3637         http://trac.webkit.org/changeset/57599
3638         https://bugs.webkit.org/show_bug.cgi?id=37605
3639
3640         "Broke Chromium build" (Requested by dglazkov on #webkit).
3641
3642         * platform/chromium/PopupMenuChromium.cpp:
3643         (WebCore::PopupContainer::PopupContainer):
3644         (WebCore::PopupContainer::showPopup):
3645         (WebCore::PopupContainer::notifyPopupHidden):
3646         * platform/chromium/PopupMenuChromium.h:
3647
3648 2010-04-14  Aaron Boodman  <aa@chromium.org>
3649
3650         Reviewed by David Levin.
3651
3652         Support relative URLs for notifications on Chromium. They weren't working previously because WebCore was inserting
3653         the relative URL into a KURL instance, but when KURL is backed by GURL as it is on Chromium, relative URLs are
3654         unsupported. Fixed by resolving the relative URL first.
3655
3656         https://bugs.webkit.org/show_bug.cgi?id=36623
3657
3658         Adding tests for this is difficult because we don't currently have DRT support for notifications on Mac, only Windows.
3659
3660         * notifications/Notification.cpp:
3661         (WebCore::Notification::Notification): Accept resolved KURL instead of relative string.
3662         * notifications/Notification.h:
3663         (WebCore::Notification::create): Ditto.
3664         (WebCore::Notification::iconURL): Return resolved KURL instead of relative string.
3665         * notifications/NotificationCenter.h:
3666         (WebCore::NotificationCenter::createHTMLNotification): Immediately resolve URL instead of passing off relative string.
3667         (WebCore::NotificationCenter::createNotification): Ditto.
3668         * notifications/NotificationContents.h:
3669         (WebCore::NotificationContents::NotificationContents): Accept resolved KURL instead of relative string.
3670         (WebCore::NotificationContents::icon): Return resolved URL.
3671
3672 2010-04-14  Anders Carlsson  <andersca@apple.com>
3673
3674         Reviewed by Sam Weinig.
3675
3676         Add ThemeMac::ensuredView and get rid of a workaround in ThemeMac::paintButton.
3677         https://bugs.webkit.org/show_bug.cgi?id=37601
3678
3679         * platform/mac/ThemeMac.h:
3680         * platform/mac/ThemeMac.mm:
3681         (-[WebCoreFlippedView isFlipped]):
3682         (WebCore::paintButton):
3683         (WebCore::ThemeMac::ensuredView):
3684
3685 2010-04-14  Jay Civelli  <jcivelli@chromium.org>
3686  
3687         Reviewed by Dimitri Glazkov.
3688
3689         [chromium] Select popups would assert when destroyed.
3690         https://bugs.webkit.org/show_bug.cgi?id=37436
3691  
3692         * platform/chromium/PopupMenuChromium.cpp:
3693         (WebCore::PopupContainer::PopupContainer):
3694         (WebCore::PopupContainer::showPopup):
3695         (WebCore::PopupContainer::notifyPopupHidden):
3696         * platform/chromium/PopupMenuChromium.h:
3697  
3698
3699 2010-04-14  Dumitru Daniliuc  <dumi@chromium.org>
3700
3701         Reviewed by Jian Li.
3702
3703         Remove an incorrect ASSERT in UniscribeHelper::draw().
3704         https://bugs.webkit.org/show_bug.cgi?id=37533
3705
3706         * platform/graphics/chromium/UniscribeHelper.cpp:
3707         (WebCore::UniscribeHelper::draw):
3708
3709 2010-04-14  Pavel Feldman  <pfeldman@chromium.org>
3710
3711         Reviewed by Timothy Hatcher.
3712
3713         Web Inspector: readline shortcuts don't work in Chromium.
3714
3715         * inspector/front-end/TextPrompt.js:
3716         (WebInspector.TextPrompt.prototype._onKeyDown):
3717         (WebInspector.TextPrompt.prototype._moveCaretToStartOfPrompt):
3718
3719 2010-04-14  Alexander Pavlov  <apavlov@chromium.org>
3720
3721         Reviewed by Timothy Hatcher.
3722
3723         Web Inspector: Console: Shift-Tab does not cycle autocompletions in the reverse order
3724         https://bugs.webkit.org/show_bug.cgi?id=37582
3725
3726         * inspector/front-end/TextPrompt.js:
3727         (WebInspector.TextPrompt.prototype.complete):
3728         (WebInspector.TextPrompt.prototype._completionsReady):
3729         (WebInspector.TextPrompt.prototype._tabKeyPressed):
3730
3731 2010-04-14  Jeff Schiller  <codedread@gmail.com>
3732
3733         Reviewed by Dirk Schulze.
3734
3735         Render SVG Paths up to first error, bug 37413: https://bugs.webkit.org/show_bug.cgi?id=37413
3736
3737         * svg/SVGParserUtilities.cpp:
3738         (WebCore::SVGPathSegListBuilder::build):
3739
3740 2010-04-14  Alexander Pavlov  <apavlov@chromium.org>
3741
3742         Reviewed by Joseph Pecoraro.
3743
3744         Web Inspector: Ctrl-L (Clear History) does nothing on Windows
3745         https://bugs.webkit.org/show_bug.cgi?id=37579
3746
3747         * inspector/front-end/ConsoleView.js:
3748         (WebInspector.ConsoleView):
3749
3750 2010-04-14  Anton Muhin  <antonm@chromium.org>
3751
3752         Not review, build fix.
3753
3754         Add <limits.h> include to bring UINT_MAX.
3755
3756         * html/canvas/WebGLArray.h:
3757
3758 2010-04-14  Nikolas Zimmermann  <nzimmermann@rim.com>
3759
3760         Not reviewed. Attempt to unbreak build - NodeRenderStyle.h is an _interessting_ concept...
3761
3762         * rendering/style/SVGRenderStyle.cpp: Include 'NodeRenderStyle.h'
3763
3764 2010-04-14  Nikolas Zimmermann  <nzimmermann@rim.com>
3765
3766         Reviewed by Dirk Schulze.
3767
3768         SVGRenderStyle/SVGRenderStyleDefs needs a cleanup
3769         https://bugs.webkit.org/show_bug.cgi?id=37568
3770
3771         Cleanup SVGRenderStyle / SVGRenderStyleDefs:
3772         - use copy constructors in initialization list to initialize members, instead of assignment operators in the body
3773         - fix style issues (misplaced references, abbrevations)
3774         - merge StyleClipData/StyleMaskData to save memory, rename it StyleResourceData
3775         - move filter property in StyleResourceData
3776         - rename StyleMarkerData to StyleInheritedResourceData to highlight the difference to StyleResourceData
3777         - unify naming schemes for all resources (filter/clipper/masker/markers)
3778           - clipPath() -> clipperResource()
3779           - maskElement() -> maskerResource()
3780           - startMarker() -> markerStartResource()
3781           - midMarker() -> markerMidResource()
3782           - endMarker() -> markerEndResource()
3783           - filter() -> filterResource()
3784
3785         Adapt all callsites to the renames above.
3786         No new tests, as this doesn't affect anything except memory overhead.
3787
3788         * css/SVGCSSComputedStyleDeclaration.cpp:
3789         (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
3790         * css/SVGCSSStyleSelector.cpp:
3791         (WebCore::CSSStyleSelector::applySVGProperty):
3792         * rendering/RenderPath.cpp:
3793         (WebCore::RenderPath::calculateMarkerBoundsIfNeeded):
3794         * rendering/RenderSVGContainer.cpp:
3795         (WebCore::RenderSVGContainer::selfWillPaint):
3796         * rendering/RenderSVGRoot.cpp:
3797         (WebCore::RenderSVGRoot::selfWillPaint):
3798         * rendering/SVGRenderSupport.cpp:
3799         (WebCore::SVGRenderBase::prepareToRenderSVGContent):
3800         (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
3801         (WebCore::SVGRenderBase::clipperBoundingBoxForRenderer):
3802         (WebCore::SVGRenderBase::maskerBoundingBoxForRenderer):
3803         (WebCore::deregisterFromResources):
3804         * rendering/SVGRenderTreeAsText.cpp:
3805         (WebCore::writeStyle):
3806         (WebCore::writeResources):
3807         * rendering/style/SVGRenderStyle.cpp:
3808         (WebCore::SVGRenderStyle::SVGRenderStyle):
3809         (WebCore::SVGRenderStyle::operator==):
3810         (WebCore::SVGRenderStyle::inheritedNotEqual):
3811         (WebCore::SVGRenderStyle::inheritFrom):
3812         * rendering/style/SVGRenderStyle.h:
3813         * rendering/style/SVGRenderStyleDefs.cpp:
3814         (WebCore::StyleFillData::StyleFillData):
3815         (WebCore::StyleFillData::operator==):
3816         (WebCore::StyleStrokeData::StyleStrokeData):
3817         (WebCore::StyleStrokeData::operator==):
3818         (WebCore::StyleStopData::StyleStopData):
3819         (WebCore::StyleStopData::operator==):
3820         (WebCore::StyleTextData::StyleTextData):
3821         (WebCore::StyleMiscData::StyleMiscData):
3822         (WebCore::StyleMiscData::operator==):
3823         (WebCore::StyleShadowSVGData::StyleShadowSVGData):
3824         (WebCore::StyleShadowSVGData::operator==):
3825         (WebCore::StyleResourceData::StyleResourceData):
3826         (WebCore::StyleResourceData::operator==):
3827         (WebCore::StyleInheritedResourceData::StyleInheritedResourceData):
3828         (WebCore::StyleInheritedResourceData::operator==):
3829         * rendering/style/SVGRenderStyleDefs.h:
3830         (WebCore::StyleFillData::operator!=):
3831         (WebCore::StyleStopData::operator!=):
3832         (WebCore::StyleMiscData::create):
3833         (WebCore::StyleMiscData::copy):
3834         (WebCore::StyleMiscData::operator!=):
3835         (WebCore::StyleShadowSVGData::create):
3836         (WebCore::StyleShadowSVGData::copy):
3837         (WebCore::StyleShadowSVGData::operator!=):
3838         (WebCore::StyleResourceData::create):
3839         (WebCore::StyleResourceData::copy):
3840         (WebCore::StyleResourceData::operator!=):
3841         (WebCore::StyleInheritedResourceData::create):
3842         (WebCore::StyleInheritedResourceData::copy):
3843         (WebCore::StyleInheritedResourceData::operator!=):
3844         * svg/SVGDocumentExtensions.cpp:
3845         (WebCore::SVGDocumentExtensions::addResource):
3846         (WebCore::SVGDocumentExtensions::removeResource):
3847         * svg/SVGDocumentExtensions.h:
3848         * svg/SVGStyledElement.cpp:
3849         (WebCore::SVGStyledElement::invalidateResources):
3850
3851 2010-04-14  Zhenyao Mo  <zmo@google.com>
3852
3853         Reviewed by Dimitri Glazkov.
3854
3855         readPixels must take PACK_ALIGNMENT into account
3856         https://bugs.webkit.org/show_bug.cgi?id=34718
3857
3858         Test: fast/canvas/webgl/read-pixels.html
3859
3860         * html/canvas/WebGLRenderingContext.cpp:
3861         (WebCore::WebGLRenderingContext::WebGLRenderingContext): Init members to support pack_alignment.
3862         (WebCore::WebGLRenderingContext::pixelStorei): Save pack/unpack_alignment.
3863         (WebCore::WebGLRenderingContext::readPixels): Validate enum and deal with pack_alignment.
3864         * html/canvas/WebGLRenderingContext.h: Add members to support pack_alignment.
3865         * platform/graphics/GraphicsContext3D.h: Refactor readPixels.
3866         * platform/graphics/mac/GraphicsContext3DMac.cpp:
3867         (WebCore::GraphicsContext3D::readPixels): Move array allocation and alpha fix to WebGLRenderingContext; flush before read pixels.
3868
3869 2010-04-13  Dirk Schulze  <krit@webkit.org>
3870
3871         Reviewed by Eric Seidel.
3872
3873         REGRESSION(r57511): many new graphics / svg related leaks
3874         https://bugs.webkit.org/show_bug.cgi?id=37527
3875
3876         The content of a HashMap was not correctly deleted. Fixed this
3877         in the DTor and in invalidateClient of RenderSVGResourceClipper.
3878
3879         * rendering/RenderSVGResourceClipper.cpp:
3880         (WebCore::RenderSVGResourceClipper::~RenderSVGResourceClipper):
3881         (WebCore::RenderSVGResourceClipper::invalidateClient):
3882
3883 2010-04-13  Zhenyao Mo  <zmo@google.com>
3884
3885         Reviewed by Oliver Hunt.
3886
3887         Fix a potential integer overflow in WebGL*Array::slice()
3888         https://bugs.webkit.org/show_bug.cgi?id=37466
3889
3890         * html/canvas/WebGLArray.h:
3891         (WebCore::WebGLArray::clampOffsetAndNumElements): Input parameter "offset"'s semantic changed from in bytes from buffer to in elements from array view; calculate offset in bytes from buffer inside the function, avoiding overflow. 
3892         * html/canvas/WebGLByteArray.cpp:
3893         (WebCore::WebGLByteArray::slice): Changed according to new semantic of WebCore::WebGLArray::clampOffsetAndNumElements.
3894         * html/canvas/WebGLFloatArray.cpp:
3895         (WebCore::WebGLFloatArray::slice): Ditto.
3896         * html/canvas/WebGLIntArray.cpp:
3897         (WebCore::WebGLIntArray::slice): Ditto.
3898         * html/canvas/WebGLShortArray.cpp:
3899         (WebCore::WebGLShortArray::slice): Ditto.
3900         * html/canvas/WebGLUnsignedByteArray.cpp:
3901         (WebCore::WebGLUnsignedByteArray::slice): Ditto.
3902         * html/canvas/WebGLUnsignedIntArray.cpp:
3903         (WebCore::WebGLUnsignedIntArray::slice): Ditto.
3904         * html/canvas/WebGLUnsignedShortArray.cpp:
3905         (WebCore::WebGLUnsignedShortArray::slice): Ditto.
3906
3907 2010-04-13  Darin Fisher  <darin@chromium.org>
3908
3909         Reviewed by Brady Eidson.
3910
3911         If the browsing context's session history contains only one Document,
3912         and that was the about:blank Document created when the browsing context
3913         was created, then the navigation must be done with replacement enabled.
3914
3915         https://bugs.webkit.org/show_bug.cgi?id=37126
3916
3917         Tests: fast/loader/frame-location-change-not-added-to-history.html
3918                fast/loader/frame-src-change-not-added-to-history.html
3919
3920         * loader/FrameLoader.cpp:
3921         (WebCore::FrameLoader::clientRedirected):
3922         (WebCore::FrameLoader::findFrameForNavigation):
3923         * loader/HistoryController.cpp:
3924         (WebCore::HistoryController::currentItemShouldBeReplaced):
3925         * loader/HistoryController.h:
3926
3927 2010-04-13  Geoffrey Garen  <ggaren@apple.com>
3928
3929         Reviewed by Oliver Hunt.
3930
3931         Separated a DOMWrapperWorld's behavior of keeping wrappers alive from
3932         its own lifetime, so a DOMWrapperWorld's controller can throw away
3933         its wrappers even before its refcount reaches 0.
3934
3935         * WebCore.base.exp:
3936         * bindings/js/DOMWrapperWorld.cpp:
3937         (WebCore::DOMWrapperWorld::DOMWrapperWorld):
3938         (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
3939         (WebCore::DOMWrapperWorld::registerWorld):
3940         (WebCore::DOMWrapperWorld::unregisterWorld):
3941         * bindings/js/DOMWrapperWorld.h: Factored out DOMWrapperWorld registration
3942         and unregistration into helper functions, so unregistering could be done manually.
3943
3944         * bindings/js/ScriptController.cpp:
3945         (WebCore::ScriptController::destroyWindowShell): Added an ASSERT to match
3946         similar code.
3947
3948 2010-04-13  Chang Shu  <chang.shu@nokia.com>
3949
3950         Reviewed by Darin Fisher.
3951
3952         https://bugs.webkit.org/show_bug.cgi?id=34653
3953
3954         Based on W3C spec and Firefox behavior, while invoking XHR Send with parameter
3955         as String, the charset in Content-Type should be forced to set to UTF-8.
3956
3957         Test: http/tests/xmlhttprequest/request-encoding2.html
3958
3959         * platform/network/HTTPParsers.cpp:
3960         (WebCore::extractCharsetFromMediaType):
3961         (WebCore::findCharsetInMediaType):
3962         * platform/network/HTTPParsers.h:
3963         * xml/XMLHttpRequest.cpp:
3964         (WebCore::setCharsetInMediaType):
3965         (WebCore::XMLHttpRequest::send):
3966
3967 2010-04-12  Timothy Hatcher  <timothy@apple.com>
3968
3969         SecurityOrigin needs a way to remove individual OriginAccessEntries
3970         https://bugs.webkit.org/show_bug.cgi?id=37449
3971
3972         Test: http/tests/xmlhttprequest/origin-whitelisting-removal.html
3973
3974         Reviewed by Dave Hyatt.
3975
3976         * WebCore.base.exp: Added SecurityOrigin::removeOriginAccessWhitelistEntry.
3977         * page/OriginAccessEntry.h:
3978         (WebCore::OriginAccessEntry::protocol): Added. Returns m_protocol.
3979         (WebCore::OriginAccessEntry::host): Added. Returns m_host.
3980         (WebCore::OriginAccessEntry::subdomainSettings): Added. Returns m_subdomainSettings.
3981         (WebCore::operator==): Added. Compares OriginAccessEntry.
3982         (WebCore::operator!=): Ditto.
3983         * page/SecurityOrigin.cpp:
3984         (WebCore::SecurityOrigin::addOriginAccessWhitelistEntry): Use the add method to prevent a
3985         second hash lookup.
3986         (WebCore::SecurityOrigin::removeOriginAccessWhitelistEntry): Added. Find a matching
3987         OriginAccessEntry and remove it.
3988         * page/SecurityOrigin.h: Added removeOriginAccessWhitelistEntry.
3989
3990 2010-04-13  Timothy Hatcher  <timothy@apple.com>
3991
3992         Rename SecurityOrigin::whiteListAccessFromOrigin to addOriginAccessWhitelistEntry.
3993         And SecurityOrigin::resetOriginAccessWhiteLists to resetOriginAccessWhitelists.
3994
3995         SecurityOrigin needs a way to remove individual OriginAccessEntries
3996         https://bugs.webkit.org/show_bug.cgi?id=37449
3997
3998         Reviewed by Dave Hyatt.
3999
4000         * WebCore.base.exp:
4001         * page/SecurityOrigin.cpp:
4002         (WebCore::SecurityOrigin::addOriginAccessWhitelistEntry):
4003         (WebCore::SecurityOrigin::resetOriginAccessWhitelists):
4004         * page/SecurityOrigin.h:
4005
4006 2010-04-13  Geoffrey Garen  <ggaren@apple.com>
4007
4008         Reviewed by Mark Rowe.
4009
4010         Tidied up some more DOMWrapperWorld lifetime issues.
4011         
4012         Made DOMWrapperWorld aware of its JSDOMWindowShells, so it can clear them.
4013
4014         * bindings/js/DOMWrapperWorld.cpp:
4015         (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
4016         * bindings/js/DOMWrapperWorld.h:
4017         (WebCore::DOMWrapperWorld::didCreateWindowShell):
4018         (WebCore::DOMWrapperWorld::didDestroyWindowShell): Functionality for
4019         tracking window shells that reference a given DOMWrapperWorld.
4020
4021         * bindings/js/ScriptController.cpp:
4022         (WebCore::ScriptController::~ScriptController):
4023         (WebCore::ScriptController::destroyWindowShell):
4024         (WebCore::ScriptController::createWindowShell):
4025         (WebCore::ScriptController::clearWindowShell):
4026         (WebCore::ScriptController::initScript):
4027         * bindings/js/ScriptController.h: Refactored to update a DOMWrapperWorld
4028         when adding or removing a JSDOMWindowShell.
4029
4030         * dom/Document.cpp:
4031         (WebCore::Document::destroyAllWrapperCaches): Changed to use isEmpty(),
4032         which is slightly faster and simpler than iterator comparison.
4033
4034 2010-04-13  Dumitru Daniliuc  <dumi@chromium.org>
4035
4036         Reviewed by Adam Barth.
4037
4038         Make all HTML5 DB callbacks run in the correct context.
4039         https://bugs.webkit.org/show_bug.cgi?id=27698
4040
4041         Tests: storage/statement-error-callback-isolated-world.html
4042                storage/statement-success-callback-isolated-world.html
4043                storage/transaction-callback-isolated-world.html
4044                storage/transaction-error-callback-isolated-world.html
4045
4046         * bindings/js/JSCustomSQLStatementCallback.cpp:
4047         (WebCore::JSCustomSQLStatementCallback::JSCustomSQLStatementCallback):
4048         (WebCore::JSCustomSQLStatementCallback::handleEvent):
4049         * bindings/js/JSCustomSQLStatementCallback.h:
4050         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
4051         (WebCore::JSCustomSQLStatementErrorCallback::JSCustomSQLStatementErrorCallback):
4052         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
4053         * bindings/js/JSCustomSQLStatementErrorCallback.h:
4054         * bindings/js/JSCustomSQLTransactionCallback.cpp:
4055         (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback):
4056         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
4057         * bindings/js/JSCustomSQLTransactionCallback.h:
4058         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
4059         (WebCore::JSCustomSQLTransactionErrorCallback::JSCustomSQLTransactionErrorCallback):
4060         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
4061         * bindings/js/JSCustomSQLTransactionErrorCallback.h:
4062         * bindings/v8/custom/V8CustomSQLStatementCallback.cpp:
4063         (WebCore::V8CustomSQLStatementCallback::V8CustomSQLStatementCallback):
4064         (WebCore::V8CustomSQLStatementCallback::handleEvent):
4065         * bindings/v8/custom/V8CustomSQLStatementCallback.h:
4066         * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
4067         (WebCore::V8CustomSQLStatementErrorCallback::V8CustomSQLStatementErrorCallback):
4068         (WebCore::V8CustomSQLStatementErrorCallback::handleEvent):
4069         * bindings/v8/custom/V8CustomSQLStatementErrorCallback.h:
4070         * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp:
4071         (WebCore::V8CustomSQLTransactionCallback::V8CustomSQLTransactionCallback):
4072         (WebCore::V8CustomSQLTransactionCallback::handleEvent):
4073         * bindings/v8/custom/V8CustomSQLTransactionCallback.h:
4074         * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp:
4075         (WebCore::V8CustomSQLTransactionErrorCallback::V8CustomSQLTransactionErrorCallback):
4076         (WebCore::V8CustomSQLTransactionErrorCallback::handleEvent):
4077         * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.h:
4078         * storage/SQLStatement.cpp:
4079         (WebCore::SQLStatement::performCallback):
4080         * storage/SQLStatementCallback.h:
4081         * storage/SQLStatementErrorCallback.h:
4082         * storage/SQLTransaction.cpp:
4083         (WebCore::SQLTransaction::deliverTransactionCallback):
4084         (WebCore::SQLTransaction::deliverTransactionErrorCallback):
4085         * storage/SQLTransactionCallback.h:
4086         * storage/SQLTransactionErrorCallback.h:
4087         (WebCore::SQLTransactionErrorCallback::~SQLTransactionErrorCallback):
4088
4089 2010-04-13  Mikhail Naganov  <mnaganov@chromium.org>
4090
4091         Reviewed by Pavel Feldman.
4092
4093         Fix search behavior in Profiles tab.
4094
4095         https://bugs.webkit.org/show_bug.cgi?id=37498
4096
4097         * inspector/front-end/ProfileView.js:
4098         (WebInspector.CPUProfileView.profileCallback):
4099         (WebInspector.CPUProfileView):
4100
4101 2010-04-13  David Hyatt  <hyatt@apple.com>
4102
4103         Reviewed by Oliver Hunt.
4104
4105         https://bugs.webkit.org/show_bug.cgi?id=37513, clean up StyleBoxData and the RenderStyle variable that uses it.
4106
4107         * rendering/style/RenderStyle.cpp:
4108         (WebCore::RenderStyle::RenderStyle):
4109         (WebCore::RenderStyle::operator==):
4110         (WebCore::RenderStyle::diff):
4111         * rendering/style/RenderStyle.h:
4112         (WebCore::):
4113         (WebCore::InheritedFlags::width):
4114         (WebCore::InheritedFlags::height):
4115         (WebCore::InheritedFlags::minWidth):
4116         (WebCore::InheritedFlags::maxWidth):
4117         (WebCore::InheritedFlags::minHeight):
4118         (WebCore::InheritedFlags::maxHeight):
4119         (WebCore::InheritedFlags::verticalAlignLength):
4120         (WebCore::InheritedFlags::boxSizing):
4121         (WebCore::InheritedFlags::setWidth):
4122         (WebCore::InheritedFlags::setHeight):
4123         (WebCore::InheritedFlags::setMinWidth):
4124         (WebCore::InheritedFlags::setMaxWidth):
4125         (WebCore::InheritedFlags::setMinHeight):
4126         (WebCore::InheritedFlags::setMaxHeight):
4127         (WebCore::InheritedFlags::setVerticalAlignLength):
4128         (WebCore::InheritedFlags::hasAutoZIndex):
4129         (WebCore::InheritedFlags::setHasAutoZIndex):
4130         (WebCore::InheritedFlags::zIndex):
4131         (WebCore::InheritedFlags::setZIndex):
4132         (WebCore::InheritedFlags::setBoxSizing):
4133         * rendering/style/StyleBoxData.cpp:
4134         (WebCore::StyleBoxData::StyleBoxData):
4135         (WebCore::StyleBoxData::operator==):
4136         * rendering/style/StyleBoxData.h:
4137         (WebCore::StyleBoxData::width):
4138         (WebCore::StyleBoxData::height):
4139         (WebCore::StyleBoxData::minWidth):
4140         (WebCore::StyleBoxData::minHeight):
4141         (WebCore::StyleBoxData::maxWidth):
4142         (WebCore::StyleBoxData::maxHeight):
4143         (WebCore::StyleBoxData::verticalAlign):
4144         (WebCore::StyleBoxData::zIndex):
4145         (WebCore::StyleBoxData::hasAutoZIndex):
4146         (WebCore::StyleBoxData::boxSizing):
4147
4148 2010-04-12  yael aharon  <yael.aharon@nokia.com>
4149
4150         Reviewed by Tor Arne Vestbo.
4151
4152         Minor fix to pass RenderProgress instead of RenderObject
4153         https://bugs.webkit.org/show_bug.cgi?id=37481
4154
4155         * accessibility/AXObjectCache.cpp:
4156         (WebCore::AXObjectCache::getOrCreate):
4157         * accessibility/AccessibilityProgressIndicator.cpp:
4158         (WebCore::AccessibilityProgressIndicator::AccessibilityProgressIndicator):
4159         (WebCore::AccessibilityProgressIndicator::create):
4160         * accessibility/AccessibilityProgressIndicator.h:
4161
4162 2010-04-13  David Hyatt  <hyatt@apple.com>
4163
4164         Reviewed by Oliver Hunt.
4165
4166         https://bugs.webkit.org/show_bug.cgi?id=37510, clean up StyleBackgroundData
4167
4168         * rendering/style/RenderStyle.cpp:
4169         (WebCore::RenderStyle::RenderStyle):
4170         (WebCore::RenderStyle::operator==):
4171         (WebCore::RenderStyle::diff):
4172         * rendering/style/RenderStyle.h:
4173         (WebCore::):
4174         (WebCore::InheritedFlags::hasBackground):
4175         (WebCore::InheritedFlags::hasBackgroundImage):
4176         (WebCore::InheritedFlags::hasFixedBackgroundImage):
4177         (WebCore::InheritedFlags::outlineWidth):
4178         (WebCore::InheritedFlags::outlineStyle):
4179         (WebCore::InheritedFlags::outlineStyleIsAuto):
4180         (WebCore::InheritedFlags::outlineColor):
4181         (WebCore::InheritedFlags::backgroundColor):
4182         (WebCore::InheritedFlags::backgroundImage):
4183         (WebCore::InheritedFlags::backgroundRepeatX):
4184         (WebCore::InheritedFlags::backgroundRepeatY):
4185         (WebCore::InheritedFlags::backgroundComposite):
4186         (WebCore::InheritedFlags::backgroundAttachment):
4187         (WebCore::InheritedFlags::backgroundClip):
4188         (WebCore::InheritedFlags::backgroundOrigin):
4189         (WebCore::InheritedFlags::backgroundXPosition):
4190         (WebCore::InheritedFlags::backgroundYPosition):
4191         (WebCore::InheritedFlags::backgroundSizeType):
4192         (WebCore::InheritedFlags::backgroundSizeLength):
4193         (WebCore::InheritedFlags::accessBackgroundLayers):
4194         (WebCore::InheritedFlags::backgroundLayers):
4195         (WebCore::InheritedFlags::outlineOffset):
4196         (WebCore::InheritedFlags::resetOutline):
4197         (WebCore::InheritedFlags::setBackgroundColor):
4198         (WebCore::InheritedFlags::setBackgroundXPosition):
4199         (WebCore::InheritedFlags::setBackgroundYPosition):
4200         (WebCore::InheritedFlags::setBackgroundSize):
4201         (WebCore::InheritedFlags::setBackgroundSizeLength):
4202         (WebCore::InheritedFlags::setOutlineWidth):
4203         (WebCore::InheritedFlags::setOutlineStyle):
4204         (WebCore::InheritedFlags::setOutlineColor):
4205         (WebCore::InheritedFlags::clearBackgroundLayers):
4206         (WebCore::InheritedFlags::inheritBackgroundLayers):
4207         (WebCore::InheritedFlags::setOutlineOffset):
4208         * rendering/style/StyleBackgroundData.h:
4209         (WebCore::StyleBackgroundData::background):
4210         (WebCore::StyleBackgroundData::color):
4211         (WebCore::StyleBackgroundData::outline):
4212
4213 2010-04-13  Stephan Aßmus  <superstippi@gmx.de>
4214
4215         Reviewed by David Levin.
4216
4217         [Haiku] Use the system clipboard instead of a private clipboard.
4218                 Fix various problems in the previous implementation.
4219
4220         https://bugs.webkit.org/show_bug.cgi?id=37421
4221
4222         No new tests needed.
4223
4224 &n