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