1 2010-04-21 Xan Lopez <xlopez@igalia.com>
3 Reviewed by Adam Barth.
5 [GTK] GObject DOM bindings
6 https://bugs.webkit.org/show_bug.cgi?id=33590
8 Initial version of the GObject DOM bindings.
10 Only bindings for Node.idl and a few of its dependencies are
11 provided, without public API to access them at the
12 moment. References to the Document interfaces and to
13 EventListeners in Node.idl are ignored for GObject to make the
14 initial patch as small as possible, but will be enabled in a
18 * bindings/gobject/ConvertToUTF8String.cpp: Added.
19 (convertToUTF8String):
20 * bindings/gobject/ConvertToUTF8String.h: Added.
21 * bindings/gobject/WebKitDOMBinding.cpp: Added.
23 (WebKit::DOMObjectCache::get):
24 (WebKit::DOMObjectCache::put):
25 (WebKit::DOMObjectCache::forget):
26 (WebKit::createWrapper):
28 * bindings/gobject/WebKitDOMBinding.h: Added.
29 * bindings/gobject/WebKitDOMObject.cpp: Added.
30 (webkit_dom_object_init):
31 (webkit_dom_object_class_init):
32 * bindings/gobject/WebKitDOMObject.h: Added.
33 * bindings/scripts/CodeGeneratorGObject.pm: Added.
34 * bindings/scripts/gobject-generate-headers.pl: Added.
37 2010-04-21 Gustavo Sverzut Barbieri <barbieri@profusion.mobi>
39 Reviewed by Xan Lopez.
41 Wrong header being included in FontPlatformDataCairo.cpp
42 https://bugs.webkit.org/show_bug.cgi?id=37829
44 No behavior changes, so no new tests were added.
46 * platform/graphics/cairo/FontPlatformDataCairo.cpp:
48 2010-04-21 Adam Roben <aroben@apple.com>
50 Fix leaks of FilterData/SVGFilterBuilder in RenderSVGResourceFilter
52 Fixes <http://webkit.org/b/37922>.
54 Reviewed by Dave Hyatt.
56 * rendering/RenderSVGResourceFilter.cpp:
57 (WebCore::RenderSVGResourceFilter::applyResource): Use an OwnPtr to
58 hold the heap-allocated FilterData object, so that we won't leak it
59 when we bail out of this function on error.
61 2010-04-21 Zoltan Herczeg <zherczeg@webkit.org>
63 Reviewed by Kenneth Rohde Christiansen.
65 [Qt] startAnimation() is not needed to preceede nativeImageForCurrentFrame()
66 https://bugs.webkit.org/show_bug.cgi?id=37844
68 nativeImageForCurrentFrame() resets the m_decoder parameter under Qt,
69 which is required by startAnimation() to detect frame and repetition counts.
70 Hence, Image::drawTiled cannot start animations under Qt:
71 <html><body background="animated.gif"></body></html> does not work
73 * platform/graphics/qt/ImageDecoderQt.cpp:
74 (WebCore::ImageDecoderQt::internalHandleCurrentImage):
76 2010-04-21 Benjamin Poulain <ikipou@gmail.com>
78 Reviewed by Simon Fraser.
80 Update of fixed elements is not made correctly when the page has been scrolled
81 https://bugs.webkit.org/show_bug.cgi?id=36783
83 When a fixed element was updated, the old geometry was not repainted correctly
84 because the repaint rect was cached during the layout and not updated when
87 The rect is now updated while scrolling so the region updated correspond to the
88 region of the element on the screen.
90 The method RenderLayer::updateRepaintRectsAfterScroll() updates
91 the repaint rect of all fixed tree after scroll.
93 Tests: fast/repaint/fixed-child-move-after-scroll.html
94 fast/repaint/fixed-child-of-fixed-move-after-scroll.html
95 fast/repaint/fixed-child-of-transformed-move-after-scroll.html
96 fast/repaint/fixed-move-after-scroll.html
99 (WebCore::FrameView::scrollPositionChanged):
100 * rendering/RenderLayer.cpp:
101 (WebCore::RenderLayer::updateRepaintRectsAfterScroll):
102 * rendering/RenderLayer.h:
104 2010-04-21 Gustavo Sverzut Barbieri <barbieri@profusion.mobi>
106 Reviewed by Adam Roben.
108 Update EFL port to match recent API changes.
109 http://webkit.org/b/37853
111 No behavior changes, so no new tests were added.
113 * platform/efl/FileSystemEfl.cpp:
114 * platform/efl/LocalizedStringsEfl.cpp:
115 (WebCore::missingPluginText):
116 (WebCore::crashedPluginText):
117 * platform/efl/MIMETypeRegistryEfl.cpp:
118 (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
119 * platform/graphics/efl/ImageEfl.cpp:
121 2010-04-21 Avi Drissman <avi@chromium.org>
123 Reviewed by Simon Fraser.
125 JPG images fail to print in Chromium
126 https://bugs.webkit.org/show_bug.cgi?id=37796
128 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.
130 * platform/graphics/cg/ImageSourceCG.cpp:
131 (WebCore::ImageSource::setData):
133 2010-04-21 Marcus Bulach <bulach@chromium.org>
135 Reviewed by Nate Chapin.
137 EventSource needs to be marked as an ActiveDomType.
138 https://bugs.webkit.org/show_bug.cgi?id=37857
139 Existing layout tests (fast/eventsource and http/tests/eventsource/) should pass when compiling with eventsource enabled.
141 * bindings/scripts/CodeGeneratorV8.pm:
142 * bindings/v8/V8DOMWrapper.cpp:
143 * bindings/v8/custom/V8EventSourceConstructor.cpp:
144 (WebCore::V8EventSource::constructorCallback):
146 2010-04-21 Gustavo Sverzut Barbieri <barbieri@profusion.mobi>
148 Reviewed by Nikolas Zimmermann.
150 Add missing includes to platform/posix/FileSystemPOSIX.cpp
151 https://bugs.webkit.org/show_bug.cgi?id=37861
153 No behavior changes, so no new tests were added.
155 * platform/posix/FileSystemPOSIX.cpp:
157 2010-04-21 No'am Rosenthal <noam.rosenthal@nokia.com>
159 Reviewed by Simon Fraser.
161 [Qt] Fix or remove the runtime flag for accelerated compositing.
163 This adds a way for a chrome client to disallow layers from becoming composited,
164 even if the settings enable accelerated compositing. This is necessary for platforms
165 where different views can be applied with the same settings to the same page.
167 We enable an API through ChromeClient to ask the chrome-client whether or not
168 it can render composited layers, which is taken into account when the compositor
169 decides whether or not to start compositing.
171 https://bugs.webkit.org/show_bug.cgi?id=37313
173 Pages under LayoutTests/compositing now work under QWebView, even when
174 QWebSettings::AcceleratedCompositingEnabled is on.
176 * page/ChromeClient.h:
177 (WebCore::ChromeClient::allowsAcceleratedCompositing):
178 * platform/qt/QWebPageClient.h:
179 (QWebPageClient::allowsAcceleratedCompositing):
180 * rendering/RenderLayerCompositor.cpp:
181 (WebCore::RenderLayerCompositor::canBeComposited):
183 2010-04-21 Ryosuke Niwa <rniwa@webkit.org>
185 No review. Spurious whitespace was removed from project file.
187 * WebCore.xcodeproj/project.pbxproj:
189 2010-04-20 Ryosuke Niwa <rniwa@webkit.org>
191 Reviewed by Eric Seidel.
193 [Qt] Build fix: warning on L933 of CompositeEditCommand.cpp
194 https://bugs.webkit.org/show_bug.cgi?id=37912
196 Replaced the ternary operator by an if statement because GCC was confused by the use of
197 ternary operator and producing warnings on Qt builds.
199 * WebCore.xcodeproj/project.pbxproj:
200 * editing/CompositeEditCommand.cpp:
201 (WebCore::CompositeEditCommand::moveParagraphs):
203 2010-04-20 Ryosuke Niwa <rniwa@webkit.org>
205 Reviewed by Justin Garcia.
207 Nested <ul>s are mishandled when converted to <ol> using execCommand('insertorderedlist')
208 https://bugs.webkit.org/show_bug.cgi?id=19539
210 Fixes a bug where two consecutive lists are not merged if they have been converted
211 from ordered/unordered lists inside another list.
213 The bug was caused by InsertListCommand::doApply where it did not merge a newly inserted
214 list element and its neighbors. This patch adds code to doApply so that after inserting
215 the list element, it updates previousList and nextList to the outermost list elements around
216 insertionPos under the same enclosing list. Because the next and the previous list elements
217 are not necessarily visually next to the newly inserted element before moveParagraph moves
218 the paragraph into the new list element, doApply merges lists after moveParagraph is called.
220 Test: editing/execCommand/insert-lists-inside-another-list.html
222 * editing/InsertListCommand.cpp:
223 (WebCore::InsertListCommand::doApply): Modified as described above
224 * editing/htmlediting.cpp:
225 (WebCore::outermostEnclosingList): Added rootNode. Returns the outermost list element,
226 which is a descendent of rootNode.
227 * editing/htmlediting.h:
229 2010-04-20 Alexey Proskuryakov <ap@apple.com>
231 Reviewed by Darin Adler.
233 https://bugs.webkit.org/show_bug.cgi?id=37776
234 <rdar://problem/7877716> REGRESSION: When using dvorak, keydown/keyup reports qwerty keyCodes
236 * platform/cocoa/KeyEventCocoa.mm: (WebCore::windowsKeyCodeForCharCode): Re-added mapping
237 for Roman letters and punctuation.
239 * platform/mac/KeyEventMac.mm: (WebCore::windowsKeyCodeForKeyEvent): Improved approximation
240 of IE behavior. Keyboard layouts that change location of Roman letters (like AZERTY or Dvorak)
241 also switch their keycodes. Also, restored Safari 4 behavior for punctuation. It's difficult
242 to match Windows for punctuation exactly, because keyboard layouts make arbitrary changes
245 2010-04-20 Shinichiro Hamaji <hamaji@chromium.org>
247 Reviewed by Darin Adler and Alexey Proskuryakov.
249 A backslash in EUC-JP becomes to a yen sign when it is copied
250 https://bugs.webkit.org/show_bug.cgi?id=36419
252 Tests: editing/execCommand/transpose-backslash-with-euc.html
253 editing/pasteboard/copy-backslash-with-euc.html
255 * editing/Editor.cpp: Remove an unnecessary displayStringModifiedByEncoding calls.
256 (WebCore::Editor::addToKillRing):
257 * editing/TextIterator.cpp: TextIterator can use RenderText::textWithoutTranscoding and now plainText() uses this version
258 (WebCore::TextIterator::TextIterator):
259 (WebCore::TextIterator::init):
260 (WebCore::TextIterator::emitText):
261 (WebCore::plainTextToMallocAllocatedBuffer):
262 * editing/TextIterator.h:
264 * platform/mac/PasteboardMac.mm: Remove an unnecessary displayStringModifiedByEncoding call.
265 (WebCore::Pasteboard::writeSelection):
266 * platform/text/TextEncoding.h: Make backslashAsCurrencySymbol public.
267 * rendering/RenderText.cpp: Add RenderText::textWithoutTranscoding
268 (WebCore::RenderText::RenderText):
269 (WebCore::RenderText::updateNeedsTranscoding):
270 (WebCore::RenderText::styleDidChange):
271 (WebCore::isInlineFlowOrEmptyText):
272 (WebCore::RenderText::previousCharacter):
273 (WebCore::RenderText::setTextInternal):
274 (WebCore::RenderText::textWithoutTranscoding):
275 (WebCore::RenderText::transformText):
276 * rendering/RenderText.h:
277 * rendering/RenderTextControl.cpp: Remove an unnecessary displayStringModifiedByEncoding call.
278 (WebCore::RenderTextControl::setInnerTextValue):
279 (WebCore::RenderTextControl::finishText):
280 * rendering/RenderTextFragment.cpp:
281 (WebCore::RenderTextFragment::previousCharacter):
282 * rendering/RenderTextFragment.h:
284 2010-04-20 Nate Chapin <japhet@chromium.org>
286 Reviewed by Dimitri Glazkov.
288 https://bugs.webkit.org/show_bug.cgi?id=37367
290 Fix style violations in code generated by CodeGeneratorV8.pm.
292 * bindings/scripts/CodeGeneratorV8.pm:
293 * bindings/v8/test/V8TestObj.cpp:
294 * bindings/v8/test/V8TestObj.h:
296 2010-04-20 Sheriff Bot <webkit.review.bot@gmail.com>
298 Unreviewed, rolling out r57924.
299 http://trac.webkit.org/changeset/57924
300 https://bugs.webkit.org/show_bug.cgi?id=37898
302 It broke 3-4 test on all bot (Requested by Ossy on #webkit).
304 * page/AbstractView.idl:
305 * page/DOMWindow.cpp:
306 (WebCore::DOMWindow::media):
308 * page/DOMWindow.idl:
310 2010-04-20 Gavin Barraclough <barraclough@apple.com>
312 Reviewed by Oliver Hunt.
314 Bug 37895 - Share common code from UStringImplBase with StringImpl
315 Add forwarding header.
317 * ForwardingHeaders/wtf/text/StringImplBase.h: Added.
319 2010-04-20 Adam Barth <abarth@webkit.org>
321 Unreviewed build fix fro Chromium.
323 * loader/DocumentWriter.cpp:
325 2010-04-20 Pavel Feldman <pfeldman@chromium.org>
327 Reviewed by Timothy Hatcher.
329 Web Inspector: Support live edit while on a breakpoint, preserve breakpoints when adding new lines.
331 https://bugs.webkit.org/show_bug.cgi?id=37820
333 * inspector/front-end/ScriptsPanel.js:
334 (WebInspector.ScriptsPanel.prototype.editScriptLine.mycallback):
335 (WebInspector.ScriptsPanel.prototype.editScriptLine):
336 * inspector/front-end/TextViewer.js:
337 (WebInspector.TextViewer.prototype._handleDoubleClick):
338 (WebInspector.TextViewer.prototype._cancelEditingLine):
340 2010-04-20 Adam Barth <abarth@webkit.org>
342 Reviewed by Eric Seidel.
344 Factor DocumentWriter out of FrameLoader
345 https://bugs.webkit.org/show_bug.cgi?id=37175
347 This patch separates the begin/write/end cycle of decoding network
348 bytes and putting them into a document from the rest of the loading
349 machinery. The code and state required to write bytes into a document
350 doesn't interact very much with the rest of the loading machinery.
352 No tests because there is no behavior change (hopefully!).
359 * WebCore.vcproj/WebCore.vcproj:
360 * WebCore.xcodeproj/project.pbxproj:
361 * bindings/ScriptControllerBase.cpp:
362 (WebCore::ScriptController::executeIfJavaScriptURL):
364 (WebCore::Document::close):
365 * dom/ProcessingInstruction.cpp:
366 (WebCore::ProcessingInstruction::checkStyleSheet):
367 * dom/ScriptElement.cpp:
368 (WebCore::ScriptElementData::scriptCharset):
369 * html/HTMLLinkElement.cpp:
370 (WebCore::HTMLLinkElement::process):
371 * loader/DocLoader.cpp:
372 (WebCore::DocLoader::requestPreload):
373 * loader/DocumentLoader.cpp:
374 (WebCore::DocumentLoader::finishedLoading):
375 (WebCore::DocumentLoader::setupForReplaceByMIMEType):
376 * loader/DocumentWriter.cpp: Added.
377 * loader/DocumentWriter.h: Added.
378 * loader/FrameLoader.cpp:
379 (WebCore::FrameLoader::FrameLoader):
380 (WebCore::FrameLoader::init):
381 (WebCore::FrameLoader::clear):
382 (WebCore::FrameLoader::receivedFirstData):
383 (WebCore::FrameLoader::setURL):
384 (WebCore::FrameLoader::didBeginDocument):
385 (WebCore::FrameLoader::didEndDocument):
386 (WebCore::FrameLoader::willSetEncoding):
387 (WebCore::FrameLoader::addData):
388 (WebCore::FrameLoader::transitionToCommitted):
389 (WebCore::FrameLoader::open):
390 (WebCore::FrameLoader::finishedLoadingDocument):
391 (WebCore::FrameLoader::addExtraFieldsToRequest):
392 * loader/FrameLoader.h:
393 (WebCore::FrameLoader::writer):
394 (WebCore::FrameLoader::isDisplayingInitialEmptyDocument):
395 * loader/MediaDocument.cpp:
396 (WebCore::MediaDocument::replaceMediaElementTimerFired):
397 * loader/PluginDocument.cpp:
398 (WebCore::PluginTokenizer::createDocumentStructure):
399 * platform/network/FormDataBuilder.cpp:
400 (WebCore::FormDataBuilder::dataEncoding):
401 * svg/graphics/SVGImage.cpp:
402 (WebCore::SVGImage::dataChanged):
404 2010-04-20 Kenneth Rohde Christiansen <kenneth@webkit.org>
406 Reviewed by Simon Fraser.
408 Rename window.media to window.styleMedia
409 https://bugs.webkit.org/show_bug.cgi?id=36187
411 It has been defined that the AbstractView media extension
412 defined in the CSSOM View spec should be renamed to styleMedia.
413 This patch does that and updates the current layout tests
416 * page/AbstractView.idl:
417 * page/DOMWindow.cpp:
418 (WebCore::DOMWindow::styleMedia):
420 * page/DOMWindow.idl:
422 2010-04-20 Timothy Hatcher <timothy@apple.com>
424 Fix matching of "file:///*" patterns by not trying to compare the host. The host is
425 irrelevant for file URLs.
427 Also fix comparisons to be case insensitive.
429 https://bugs.webkit.org/show_bug.cgi?id=37889
431 Reviewed by Dave Hyatt.
433 * page/UserContentURLPattern.cpp:
434 (WebCore::UserContentURLPattern::parse): Use equalIgnoringCase when comparing for "file" schemes.
435 (WebCore::UserContentURLPattern::matches): Use equalIgnoringCase when comparing schemes. Only call
436 matchesHost if the scheme isn't "file".
437 (WebCore::UserContentURLPattern::matchesHost): Call equalIgnoringCase when comparing hosts. The endsWith
438 was already doing a case-insensitive compare, so existing tests worked though this path.
440 2010-04-20 Justin Schuh <jschuh@chromium.org>
442 Reviewed by Adam Barth.
444 Invalid cast due to <video> inside <foreignObject> inside <svg> inside <img>
445 https://bugs.webkit.org/show_bug.cgi?id=37331
447 Added a setting to enable/disable media per-page and have the SVGImage
448 disable media for its dummy page. Also found and fixed a related bad
449 cast in the V8 bindings (JSC had a custom wrapper for this already).
451 Tests: media/svg-as-image-with-media-blocked.html
453 * dom/make_names.pl: Added media enabled check and V8 cast wrapper
454 * page/Settings.cpp: Added m_isMediaEnabled (defaults to true)
455 (WebCore::Settings::Settings):
456 (WebCore::Settings::setMediaEnabled):
458 (WebCore::Settings::isMediaEnabled):
459 * svg/graphics/SVGImage.cpp: Disables media in dummy page
460 (WebCore::SVGImage::dataChanged):
462 2010-04-19 Antonio Gomes <tonikitoo@webkit.org>
464 Reviewed by Simon Fraser.
466 Spatial Navigation: at @updateFocusCandidateIfCloser make an assignment shortcut when FocusCandidate is null
467 https://bugs.webkit.org/show_bug.cgi?id=37802
469 In updateFocusCandidateIfCloser method, we do all bail out checks in the begining of
470 the method body. If after those bail out checks, no "best FocusCandidate" has been taken
471 yet (i.e. focusCandidate.isNull() == true), we can safely take the current candidate,
474 No behavior change, it is just a safe assignment shortcut.
476 * page/FocusController.cpp:
477 (WebCore::updateFocusCandidateIfCloser):
479 2010-04-20 Simon Fraser <simon.fraser@apple.com>
481 Reviewed by Dan Bernstein.
483 Hook compositing layers together across iframes
484 https://bugs.webkit.org/show_bug.cgi?id=37878
486 First step: if an iframe's document goes into compositing mode, also throw the parent
487 document into compositing mode (all the way up to the root). This is required both
488 to preserve layering (since parent document content can obscure iframe content),
489 and so that we can eventually hook the layer trees together.
491 Test: compositing/iframes/composited-iframe.html
493 * rendering/RenderIFrame.h:
494 * rendering/RenderIFrame.cpp:
495 (WebCore::RenderIFrame::requiresLayer): In order to make an iframe composited, it also has to have
496 a RenderLayer, so must return |true| from requiresLayer().
497 (WebCore::RenderIFrame::requiresAcceleratedCompositing): Returns true if the content document
498 is in compositing mode.
499 (WebCore::RenderIFrame::isRenderIFrame): Required so that RenderLayerCompositor can check
500 if a renderer is an iframe.
501 (WebCore::toRenderIFrame): Required so that RenderLayerCompositor can cast to a RenderIFrame.
503 * rendering/RenderLayerCompositor.h:
504 * rendering/RenderLayerCompositor.cpp:
505 (WebCore::RenderLayerCompositor::enableCompositingMode): Call out to the RenderView when
506 the compositing mode changes, so that the parent document can update its compositing status.
507 (WebCore::RenderLayerCompositor::requiresCompositingLayer): Call requiresCompositingForIFrame().
508 (WebCore::RenderLayerCompositor::requiresCompositingForIFrame): Check to see if the iframe
509 wants to be composited.
511 * rendering/RenderObject.h:
512 (WebCore::RenderObject::isRenderIFrame): Base class returns false.
514 * rendering/RenderView.h:
515 * rendering/RenderView.cpp:
516 (WebCore::RenderView::compositingStateChanged): New method that allows an iframe to notify
517 its parent document that a recalcStyle is required, to update compositing state.
519 2010-04-20 Gavin Barraclough <barraclough@apple.com>
521 Reviewed by NOBODY (build fix).
522 Speculative tiger build fix.
525 * WebCore.PluginHostProcess.exp:
528 2010-04-20 Pavel Feldman <pfeldman@chromium.org>
530 Reviewed by Timothy Hatcher.
532 Web Inspector: add basic script editing capabilities to the front-end.
534 https://bugs.webkit.org/show_bug.cgi?id=37875
536 * bindings/js/ScriptDebugServer.cpp:
537 (WebCore::ScriptDebugServer::setBreakpoint):
538 (WebCore::ScriptDebugServer::removeBreakpoint):
539 * inspector/front-end/ScriptView.js:
540 (WebInspector.ScriptView):
541 (WebInspector.ScriptView.prototype._editLine):
542 (WebInspector.ScriptView.prototype._editLineComplete):
543 * inspector/front-end/ScriptsPanel.js:
544 (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
545 (WebInspector.ScriptsPanel.prototype.canEditScripts):
546 (WebInspector.ScriptsPanel.prototype.editScriptLine):
547 * inspector/front-end/SourceFrame.js:
548 (WebInspector.SourceFrame):
549 (WebInspector.SourceFrame.prototype.updateContent):
550 (WebInspector.SourceFrame.prototype._createViewerIfNeeded):
551 * inspector/front-end/TextEditorHighlighter.js:
552 (WebInspector.TextEditorHighlighter):
553 (WebInspector.TextEditorHighlighter.prototype.reset):
554 * inspector/front-end/TextEditorModel.js:
555 (WebInspector.TextEditorModel.prototype.copyRange):
556 * inspector/front-end/TextViewer.js:
557 (WebInspector.TextViewer):
558 (WebInspector.TextViewer.prototype.set editCallback):
559 (WebInspector.TextViewer.prototype._buildChunks):
560 (WebInspector.TextViewer.prototype._handleKeyDown):
561 (WebInspector.TextViewer.prototype._handleDoubleClick):
562 (WebInspector.TextViewer.prototype._commitEditingLine):
563 (WebInspector.TextViewer.prototype._cancelEditingLine):
564 * inspector/front-end/inspector.js:
565 (WebInspector.documentKeyDown):
566 (WebInspector.log.logMessage):
568 (WebInspector.isEditingAnyField):
569 (WebInspector.startEditing.cleanUpAfterEditing):
571 2010-04-20 Gavin Barraclough <barraclough@apple.com>
573 Reviewed by Geoff Garen.
575 Add forwarding header.
577 * ForwardingHeaders/runtime/RopeImpl.h: Added.
579 2010-04-20 Gavin Barraclough <barraclough@apple.com>
581 Reviewed by Geoff Garen.
583 Bug 37828 - Move WebCore's String classes to WTF
585 Move these classes up to WTF so they are available to all clients of WTF (in
588 As a first patch, making the most minimal change possible, since this patch
589 could easily grow rather large since we'll have to change every class forward
590 declaration ( e.g. every "namespace WebCore { class String; }" much change to
591 "namespace WTF { class String; }").
593 Moving the files, but leaving the classes logically in the WebCore namespace –
594 which is technically a layering violation – I'll come back and fix this up in a
598 * ForwardingHeaders/wtf/StaticConstructors.h: Added.
599 * ForwardingHeaders/wtf/text/AtomicString.h: Added.
600 * ForwardingHeaders/wtf/text/AtomicStringImpl.h: Added.
601 * ForwardingHeaders/wtf/text/StringBuffer.h: Added.
602 * ForwardingHeaders/wtf/text/StringHash.h: Added.
603 * ForwardingHeaders/wtf/text/StringImpl.h: Added.
604 * ForwardingHeaders/wtf/text/WTFString.h: Added.
608 * WebCore.vcproj/WebCore.vcproj:
609 * WebCore.xcodeproj/project.pbxproj:
610 * css/MediaFeatureNames.cpp:
611 * dom/QualifiedName.cpp:
613 * platform/StaticConstructors.h: Removed.
614 * platform/text/AtomicString.cpp: Removed.
615 * platform/text/AtomicString.h:
616 * platform/text/AtomicStringImpl.h:
617 * platform/text/PlatformString.h:
618 * platform/text/String.cpp:
619 * platform/text/StringHash.h:
620 * platform/text/StringImpl.cpp: Removed.
621 * platform/text/StringImpl.h:
623 2010-04-20 Kent Tamura <tkent@chromium.org>
625 Reviewed by Darin Adler.
627 Change a parameter type of chooseIconForFiles()
628 https://bugs.webkit.org/show_bug.cgi?id=37504
630 Change PassRefPtr<FileChooser> parameter of chooseIconForFiles()
631 to FileChooser*. Though an implementation of chooseIconForFiles()
632 might have ownership of the FileChooser instance, we don't need to
633 use PassRefPtr<> in this case.
635 * loader/EmptyClients.h:
636 (WebCore::EmptyChromeClient::chooseIconForFiles):
638 (WebCore::Chrome::chooseIconForFiles):
640 * page/ChromeClient.h:
642 2010-04-20 Diego Escalante Urrelo <descalante@igalia.com>
644 Reviewed by Xan Lopez.
646 [Gtk] Evaluate and create tests for all the AtkRole's implemented by
648 https://bugs.webkit.org/show_bug.cgi?id=34449
650 Implement ATK_ROLE_FORM.
652 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
653 (webkit_accessible_get_role):
655 2010-04-20 Martin Robinson <mrobinson@webkit.org>
657 Reviewed by Gustavo Noronha Silva.
659 [GTK] Enable DOM clipboard and drag-and-drop access
660 https://bugs.webkit.org/show_bug.cgi?id=30623
662 Move most of the PasteboardHelper logic into WebCore. This helps
663 prepare for WebKit2 and leads to a clearer separation of concerns
664 between the WebKit and WebCore layers.
666 No new tests as functionality has not changed.
668 * GNUmakefile.am: Add PastboardHelper.cpp to list of sources.
669 * platform/Pasteboard.h: Added a getter for the PasteboardHelper and made the member private.
670 * platform/gtk/PasteboardGtk.cpp: Update PasteboardHelper method calls to use new naming.
671 (WebCore::clipboard_get_contents_cb): Ditto.
672 (WebCore::Pasteboard::helper): Added, member is now private.
673 (WebCore::Pasteboard::writeURL): Ditto.
674 (WebCore::Pasteboard::documentFragment): Update to reflect method renaming.
675 (WebCore::Pasteboard::plainText): Ditto.
676 * platform/gtk/PasteboardHelper.cpp: Added.
677 (WebCore::PasteboardHelper::PasteboardHelper): Added.
678 (WebCore::PasteboardHelper::~PasteboardHelper): Added.
679 (WebCore::PasteboardHelper::initializeTargetList): Added, originally from WebKit.
680 (WebCore::widgetFromFrame): Added helper function.
681 (WebCore::PasteboardHelper::getCurrentClipboard): Added, originally from WebKit.
682 (WebCore::PasteboardHelper::getClipboard): Ditto.
683 (WebCore::PasteboardHelper::getPrimarySelectionClipboard): Ditto.
684 (WebCore::PasteboardHelper::targetList): Ditto.
685 (WebCore::PasteboardHelper::fillSelectionData): Ditto.
686 (WebCore::PasteboardHelper::targetListForDataObject): Ditto.
687 (WebCore::getClipboardContentsCallback): Ditto.
688 (WebCore::clearClipboardContentsCallback): Ditto.
689 (WebCore::PasteboardHelper::writeClipboardContents): Ditto.
690 * platform/gtk/PasteboardHelper.h: Moved methods from WebKit to WebCore.
692 2010-04-20 Simon Fraser <simon.fraser@apple.com>
694 Reviewed by Anders Carlsson.
696 backgroundColor is oddly indented in layer tree dump
697 https://bugs.webkit.org/show_bug.cgi?id=37885
699 The writeIndent() was mistakenly outside the LayerTreeAsTextDebug clause, causing indents
702 * platform/graphics/GraphicsLayer.cpp:
703 (WebCore::GraphicsLayer::dumpProperties):
705 2010-04-20 Simon Fraser <simon.fraser@apple.com>
707 Reviewed by Dimitri Glazkov.
709 Clean up RenderPart/RenderPartObject/RenderFrame/RenderEmbeddedObject
710 https://bugs.webkit.org/show_bug.cgi?id=37741
712 RenderPartObject is a useless intermediate class between RenderPart and
713 RenderEmbeddedObject, and we can now remove it. Its only method, viewCleared(),
714 applies to objects and embeds when the content is a FrameView, so can move
715 to RenderEmbeddedObject.
721 * WebCore.vcproj/WebCore.vcproj:
722 * WebCore.xcodeproj/project.pbxproj:
723 * rendering/RenderEmbeddedObject.cpp:
724 (WebCore::RenderEmbeddedObject::RenderEmbeddedObject):
725 (WebCore::RenderEmbeddedObject::requiresLayer):
726 (WebCore::RenderEmbeddedObject::paint):
727 (WebCore::RenderEmbeddedObject::viewCleared):
728 * rendering/RenderEmbeddedObject.h:
729 * rendering/RenderFrameBase.h:
730 * rendering/RenderPart.cpp:
731 (WebCore::RenderPart::RenderPart):
732 * rendering/RenderPart.h:
733 * rendering/RenderPartObject.cpp: Removed.
734 * rendering/RenderPartObject.h: Removed.
736 2010-04-20 Robin Cao <robin.webkit@gmail.com>
738 Reviewed by Dirk Schulze.
740 SVG no AnimateColor for stroke or fill if they are set to none on target.
741 https://bugs.webkit.org/show_bug.cgi?id=36718
743 SVGAnimateElement::resetToBaseValue reset 'm_propertyType' in the process of animation.
744 This will cause problems when attributes 'fill' and 'stroke' have the value 'none', because in this case
745 the property type determined by base value may be different from the one determined by 'fromTo' values.
747 No new tests. The test suite in svg/animation is not working for target element with attribute 'fill' set to 'none'.
748 Now animateColor on target element with attributes 'fill' and 'stroke' set to 'none' is possible.
750 * svg/SVGAnimateElement.cpp:
751 (WebCore::SVGAnimateElement::calculateFromAndToValues):
752 (WebCore::SVGAnimateElement::resetToBaseValue):
754 2010-04-20 Sheriff Bot <webkit.review.bot@gmail.com>
756 Unreviewed, rolling out r57892.
757 http://trac.webkit.org/changeset/57892
758 https://bugs.webkit.org/show_bug.cgi?id=37864
760 Caused an assertion in Mac builds (Requested by smfr on
763 * WebCore.xcodeproj/project.pbxproj:
764 * editing/Editor.cpp:
765 (WebCore::Editor::insideVisibleArea):
767 (WebCore::Frame::ownerRenderer):
769 * page/FrameView.cpp:
770 (WebCore::FrameView::~FrameView):
771 (WebCore::FrameView::clear):
772 (WebCore::FrameView::invalidateRect):
773 (WebCore::FrameView::createScrollbar):
774 * rendering/RenderFrameBase.h:
775 * rendering/RenderObject.h:
777 2010-04-20 Jakub Wieczorek <jwieczorek@webkit.org>
779 Reviewed by Darin Adler.
781 RenderListItem: change enclosingList() to only traverse the render tree.
782 https://bugs.webkit.org/show_bug.cgi?id=37319
784 This makes the function safe to use for items with nodes that are detached from
785 the DOM tree and simplifies the code quite a bit.
787 Covered by existing tests.
789 * rendering/RenderListItem.cpp:
790 (WebCore::enclosingList):
791 (WebCore::previousListItem):
792 (WebCore::RenderListItem::explicitValueChanged):
794 2010-04-20 Simon Fraser <simon.fraser@apple.com>
796 Reviewed by Dan Bernstein.
798 Clean up RenderPart/RenderPartObject/RenderFrame/RenderEmbeddedObject
799 https://bugs.webkit.org/show_bug.cgi?id=37741
801 Make Frame::ownerRenderer() return a RenderFrameBase* rather than a
802 RenderPart*, and add the necessary toRenderFrameBase() and isRenderFrameBase().
804 * WebCore.xcodeproj/project.pbxproj:
805 * editing/Editor.cpp:
806 (WebCore::Editor::insideVisibleArea):
808 (WebCore::Frame::ownerRenderer):
810 * page/FrameView.cpp:
811 (WebCore::FrameView::~FrameView):
812 (WebCore::FrameView::clear):
813 (WebCore::FrameView::invalidateRect):
814 (WebCore::FrameView::createScrollbar):
815 * rendering/RenderFrameBase.h:
816 (WebCore::RenderFrameBase::isRenderFrameBase):
817 (WebCore::toRenderFrameBase):
818 * rendering/RenderObject.h:
819 (WebCore::RenderObject::isRenderFrameBase):
821 2010-04-20 Jay Civelli <jcivelli@chromium.org>
823 Reviewed by Dimitri Glazkov.
825 [chromium] Pressing tab now closes the select popup as it should.
826 https://bugs.webkit.org/show_bug.cgi?id=37721
828 * platform/chromium/PopupMenuChromium.cpp:
829 (WebCore::PopupListBox::handleKeyEvent):
831 2010-04-20 Yaar Schnitman <yaar@chromium.org>
833 Reviewed by Nate Chapin.
835 Null value should be legit value for wrapped types. This requires some cleanup in canvas which was missing built-in null argument checks;
836 https://bugs.webkit.org/show_bug.cgi?id=37810
838 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
839 (WebCore::JSCanvasRenderingContext2D::drawImage): Passes ec to drawImage(3) too
840 * bindings/scripts/CodeGeneratorV8.pm: A null value is now legit value for wrapped types.
841 * bindings/v8/test/V8TestObj.cpp:
842 (WebCore::TestObjInternal::overloadedMethodCallback):
843 * html/canvas/CanvasRenderingContext2D.cpp:
844 (WebCore::CanvasRenderingContext2D::drawImage): Added null checks.
845 (WebCore::CanvasRenderingContext2D::createPattern): Added null checks.
846 * html/canvas/CanvasRenderingContext2D.h: Added needed raises "DOMException".
847 * html/canvas/CanvasRenderingContext2D.idl: Added needed raises "DOMException".
849 2010-04-20 Evan Stade <estade@chromium.org>
851 Reviewed by David Levin.
853 [chromium] crash when dragging images
854 https://bugs.webkit.org/show_bug.cgi?id=37715
856 NULL check the return value of nativeImageForCurrentFrame(),
857 and NULL check Image just for good measure.
859 Tested by new DragImageTest unit test.
861 * platform/chromium/DragImageChromiumSkia.cpp:
862 (WebCore::createDragImageFromImage):
864 2010-04-20 Dirk Schulze <krit@webkit.org>
866 Reviewed by Nikolas Zimmermann.
868 SVGResourceFilter needs to be moved to under Renderers
869 https://bugs.webkit.org/show_bug.cgi?id=35320
871 This patch adds a renderer for SVGFilterElement. SVGFilterElement is now independent
872 from the SVGResources.
873 A clean-up solves the dependencies between SVGFilterElement, the filter primitives
874 and SVGResources. This shall make the filter code more readable and better maintable.
875 The Filter primitives get dumped now, as long as they have externalRepresentation
878 No behavior changes, so no new tests were added.
884 * WebCore.vcproj/WebCore.vcproj:
885 * WebCore.xcodeproj/project.pbxproj:
886 * rendering/RenderPath.cpp:
887 (WebCore::RenderPath::paint):
888 * rendering/RenderSVGContainer.cpp:
889 (WebCore::RenderSVGContainer::selfWillPaint):
890 (WebCore::RenderSVGContainer::paint):
891 * rendering/RenderSVGImage.cpp:
892 (WebCore::RenderSVGImage::paint):
893 * rendering/RenderSVGResource.h:
895 (WebCore::RenderSVGResource::postApplyResource):
896 * rendering/RenderSVGResourceClipper.cpp:
897 (WebCore::RenderSVGResourceClipper::applyResource):
898 * rendering/RenderSVGResourceClipper.h:
899 * rendering/RenderSVGResourceFilter.cpp: Added.
900 (WebCore::RenderSVGResourceFilter::RenderSVGResourceFilter):
901 (WebCore::RenderSVGResourceFilter::~RenderSVGResourceFilter):
902 (WebCore::RenderSVGResourceFilter::invalidateClients):
903 (WebCore::RenderSVGResourceFilter::invalidateClient):
904 (WebCore::RenderSVGResourceFilter::buildPrimitives):
905 (WebCore::RenderSVGResourceFilter::fitsInMaximumImageSize):
906 (WebCore::RenderSVGResourceFilter::applyResource):
907 (WebCore::RenderSVGResourceFilter::postApplyResource):
908 (WebCore::RenderSVGResourceFilter::resourceBoundingBox):
909 * rendering/RenderSVGResourceFilter.h: Added.
910 (WebCore::FilterData::FilterData):
911 (WebCore::RenderSVGResourceFilter::renderName):
912 (WebCore::RenderSVGResourceFilter::filterUnits):
913 (WebCore::RenderSVGResourceFilter::primitiveUnits):
914 (WebCore::RenderSVGResourceFilter::resourceType):
915 * rendering/RenderSVGResourceMarker.h:
916 (WebCore::RenderSVGResourceMarker::applyResource):
917 * rendering/RenderSVGResourceMasker.cpp:
918 (WebCore::RenderSVGResourceMasker::applyResource):
919 * rendering/RenderSVGResourceMasker.h:
920 * rendering/RenderSVGRoot.cpp:
921 (WebCore::RenderSVGRoot::selfWillPaint):
922 (WebCore::RenderSVGRoot::paint):
923 * rendering/RenderSVGText.cpp:
924 * rendering/SVGRenderSupport.cpp:
925 (WebCore::SVGRenderBase::prepareToRenderSVGContent):
926 (WebCore::SVGRenderBase::finishRenderSVGContent):
927 (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
928 (WebCore::deregisterFromResources):
929 * rendering/SVGRenderSupport.h:
930 * rendering/SVGRenderTreeAsText.cpp:
931 (WebCore::writeStyle):
932 (WebCore::writeSVGResource):
933 (WebCore::writeResources):
934 (WebCore::writeRenderResources):
935 * rendering/SVGRootInlineBox.cpp:
936 (WebCore::SVGRootInlineBoxPaintWalker::SVGRootInlineBoxPaintWalker):
937 (WebCore::SVGRootInlineBox::paint):
938 * svg/SVGFEBlendElement.cpp:
939 (WebCore::SVGFEBlendElement::build):
940 * svg/SVGFEBlendElement.h:
941 * svg/SVGFEColorMatrixElement.cpp:
942 (WebCore::SVGFEColorMatrixElement::build):
943 * svg/SVGFEColorMatrixElement.h:
944 * svg/SVGFEComponentTransferElement.cpp:
945 (WebCore::SVGFEComponentTransferElement::build):
946 * svg/SVGFEComponentTransferElement.h:
947 * svg/SVGFECompositeElement.cpp:
948 (WebCore::SVGFECompositeElement::build):
949 * svg/SVGFECompositeElement.h:
950 * svg/SVGFEDiffuseLightingElement.cpp:
951 (WebCore::SVGFEDiffuseLightingElement::build):
952 * svg/SVGFEDiffuseLightingElement.h:
953 * svg/SVGFEDisplacementMapElement.cpp:
954 (WebCore::SVGFEDisplacementMapElement::build):
955 * svg/SVGFEDisplacementMapElement.h:
956 * svg/SVGFEFloodElement.cpp:
957 (WebCore::SVGFEFloodElement::build):
958 * svg/SVGFEFloodElement.h:
959 * svg/SVGFEGaussianBlurElement.cpp:
960 (WebCore::SVGFEGaussianBlurElement::build):
961 * svg/SVGFEGaussianBlurElement.h:
962 * svg/SVGFEImageElement.cpp:
963 (WebCore::SVGFEImageElement::build):
964 * svg/SVGFEImageElement.h:
965 * svg/SVGFEMergeElement.cpp:
966 (WebCore::SVGFEMergeElement::build):
967 * svg/SVGFEMergeElement.h:
968 * svg/SVGFEMorphologyElement.cpp:
969 (WebCore::SVGFEMorphologyElement::build):
970 * svg/SVGFEMorphologyElement.h:
971 * svg/SVGFEOffsetElement.cpp:
972 (WebCore::SVGFEOffsetElement::build):
973 * svg/SVGFEOffsetElement.h:
974 * svg/SVGFESpecularLightingElement.cpp:
975 (WebCore::SVGFESpecularLightingElement::build):
976 * svg/SVGFESpecularLightingElement.h:
977 * svg/SVGFETileElement.cpp:
978 (WebCore::SVGFETileElement::build):
979 * svg/SVGFETileElement.h:
980 * svg/SVGFETurbulenceElement.cpp:
981 (WebCore::SVGFETurbulenceElement::build):
982 * svg/SVGFETurbulenceElement.h:
984 * svg/SVGFilterElement.cpp:
985 (WebCore::SVGFilterElement::createRenderer):
986 * svg/SVGFilterElement.h:
987 * svg/SVGFilterPrimitiveStandardAttributes.cpp:
988 (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
989 * svg/SVGFilterPrimitiveStandardAttributes.h:
990 (WebCore::SVGFilterPrimitiveStandardAttributes::isFilterEffect):
991 (WebCore::SVGFilterPrimitiveStandardAttributes::rendererIsNeeded):
992 * svg/SVGStyledElement.cpp:
993 (WebCore::SVGStyledElement::invalidateResources):
994 * svg/graphics/SVGResource.cpp:
995 * svg/graphics/SVGResource.h:
997 (WebCore::SVGResource::isPaintServer):
998 * svg/graphics/SVGResourceFilter.cpp: Removed.
999 * svg/graphics/SVGResourceFilter.h: Removed.
1000 * svg/graphics/filters/SVGFEDisplacementMap.cpp:
1001 (WebCore::FEDisplacementMap::externalRepresentation):
1002 * svg/graphics/filters/SVGFilterBuilder.h:
1003 (WebCore::SVGFilterBuilder::namedEffects):
1005 2010-04-20 Sheriff Bot <webkit.review.bot@gmail.com>
1007 Unreviewed, rolling out r57880.
1008 http://trac.webkit.org/changeset/57880
1009 https://bugs.webkit.org/show_bug.cgi?id=37846
1011 Broke several bots, FEDisplacmentMap dumps includes pointers,
1012 no one noticed. Dirk will upload a new patch later. (Requested
1013 by WildFox on #webkit).
1019 * WebCore.vcproj/WebCore.vcproj:
1020 * WebCore.xcodeproj/project.pbxproj:
1021 * rendering/RenderPath.cpp:
1022 (WebCore::RenderPath::paint):
1023 * rendering/RenderSVGContainer.cpp:
1024 (WebCore::RenderSVGContainer::selfWillPaint):
1025 (WebCore::RenderSVGContainer::paint):
1026 * rendering/RenderSVGImage.cpp:
1027 (WebCore::RenderSVGImage::paint):
1028 * rendering/RenderSVGResource.h:
1030 * rendering/RenderSVGResourceClipper.cpp:
1031 (WebCore::RenderSVGResourceClipper::applyResource):
1032 * rendering/RenderSVGResourceClipper.h:
1033 * rendering/RenderSVGResourceFilter.cpp: Removed.
1034 * rendering/RenderSVGResourceFilter.h: Removed.
1035 * rendering/RenderSVGResourceMarker.h:
1036 (WebCore::RenderSVGResourceMarker::applyResource):
1037 * rendering/RenderSVGResourceMasker.cpp:
1038 (WebCore::RenderSVGResourceMasker::applyResource):
1039 * rendering/RenderSVGResourceMasker.h:
1040 * rendering/RenderSVGRoot.cpp:
1041 (WebCore::RenderSVGRoot::selfWillPaint):
1042 (WebCore::RenderSVGRoot::paint):
1043 * rendering/RenderSVGText.cpp:
1044 * rendering/SVGRenderSupport.cpp:
1045 (WebCore::SVGRenderBase::prepareToRenderSVGContent):
1046 (WebCore::SVGRenderBase::finishRenderSVGContent):
1047 (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
1048 (WebCore::deregisterFromResources):
1049 * rendering/SVGRenderSupport.h:
1050 * rendering/SVGRenderTreeAsText.cpp:
1051 (WebCore::writeStyle):
1052 (WebCore::writeSVGResource):
1053 (WebCore::writeResources):
1054 (WebCore::writeRenderResources):
1055 * rendering/SVGRootInlineBox.cpp:
1056 (WebCore::SVGRootInlineBoxPaintWalker::SVGRootInlineBoxPaintWalker):
1057 (WebCore::SVGRootInlineBox::paint):
1058 * svg/SVGFEBlendElement.cpp:
1059 (WebCore::SVGFEBlendElement::build):
1060 * svg/SVGFEBlendElement.h:
1061 * svg/SVGFEColorMatrixElement.cpp:
1062 (WebCore::SVGFEColorMatrixElement::build):
1063 * svg/SVGFEColorMatrixElement.h:
1064 * svg/SVGFEComponentTransferElement.cpp:
1065 (WebCore::SVGFEComponentTransferElement::build):
1066 * svg/SVGFEComponentTransferElement.h:
1067 * svg/SVGFECompositeElement.cpp:
1068 (WebCore::SVGFECompositeElement::build):
1069 * svg/SVGFECompositeElement.h:
1070 * svg/SVGFEDiffuseLightingElement.cpp:
1071 (WebCore::SVGFEDiffuseLightingElement::build):
1072 * svg/SVGFEDiffuseLightingElement.h:
1073 * svg/SVGFEDisplacementMapElement.cpp:
1074 (WebCore::SVGFEDisplacementMapElement::build):
1075 * svg/SVGFEDisplacementMapElement.h:
1076 * svg/SVGFEFloodElement.cpp:
1077 (WebCore::SVGFEFloodElement::build):
1078 * svg/SVGFEFloodElement.h:
1079 * svg/SVGFEGaussianBlurElement.cpp:
1080 (WebCore::SVGFEGaussianBlurElement::build):
1081 * svg/SVGFEGaussianBlurElement.h:
1082 * svg/SVGFEImageElement.cpp:
1083 (WebCore::SVGFEImageElement::build):
1084 * svg/SVGFEImageElement.h:
1085 * svg/SVGFEMergeElement.cpp:
1086 (WebCore::SVGFEMergeElement::build):
1087 * svg/SVGFEMergeElement.h:
1088 * svg/SVGFEMorphologyElement.cpp:
1089 (WebCore::SVGFEMorphologyElement::build):
1090 * svg/SVGFEMorphologyElement.h:
1091 * svg/SVGFEOffsetElement.cpp:
1092 (WebCore::SVGFEOffsetElement::build):
1093 * svg/SVGFEOffsetElement.h:
1094 * svg/SVGFESpecularLightingElement.cpp:
1095 (WebCore::SVGFESpecularLightingElement::build):
1096 * svg/SVGFESpecularLightingElement.h:
1097 * svg/SVGFETileElement.cpp:
1098 (WebCore::SVGFETileElement::build):
1099 * svg/SVGFETileElement.h:
1100 * svg/SVGFETurbulenceElement.cpp:
1101 (WebCore::SVGFETurbulenceElement::build):
1102 * svg/SVGFETurbulenceElement.h:
1104 * svg/SVGFilterElement.cpp:
1105 (WebCore::SVGFilterElement::buildFilter):
1106 (WebCore::SVGFilterElement::canvasResource):
1107 * svg/SVGFilterElement.h:
1108 (WebCore::SVGFilterElement::rendererIsNeeded):
1109 * svg/SVGFilterPrimitiveStandardAttributes.cpp:
1110 (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
1111 * svg/SVGFilterPrimitiveStandardAttributes.h:
1112 (WebCore::SVGFilterPrimitiveStandardAttributes::isFilterEffect):
1113 (WebCore::SVGFilterPrimitiveStandardAttributes::rendererIsNeeded):
1114 * svg/SVGStyledElement.cpp:
1115 (WebCore::SVGStyledElement::invalidateResources):
1116 * svg/graphics/SVGResource.cpp:
1117 * svg/graphics/SVGResource.h:
1119 (WebCore::SVGResource::isFilter):
1120 * svg/graphics/SVGResourceFilter.cpp: Added.
1121 (WebCore::SVGResourceFilter::SVGResourceFilter):
1122 (WebCore::SVGResourceFilter::~SVGResourceFilter):
1123 (WebCore::SVGResourceFilter::filterBoundingBox):
1124 (WebCore::shouldProcessFilter):
1125 (WebCore::SVGResourceFilter::addFilterEffect):
1126 (WebCore::SVGResourceFilter::fitsInMaximumImageSize):
1127 (WebCore::SVGResourceFilter::prepareFilter):
1128 (WebCore::SVGResourceFilter::applyFilter):
1129 (WebCore::SVGResourceFilter::externalRepresentation):
1130 (WebCore::getFilterById):
1131 * svg/graphics/SVGResourceFilter.h: Added.
1132 (WebCore::SVGResourceFilter::create):
1133 (WebCore::SVGResourceFilter::resourceType):
1134 (WebCore::SVGResourceFilter::setFilterResolution):
1135 (WebCore::SVGResourceFilter::setHasFilterResolution):
1136 (WebCore::SVGResourceFilter::filterBoundingBoxMode):
1137 (WebCore::SVGResourceFilter::setFilterBoundingBoxMode):
1138 (WebCore::SVGResourceFilter::effectBoundingBoxMode):
1139 (WebCore::SVGResourceFilter::setEffectBoundingBoxMode):
1140 (WebCore::SVGResourceFilter::filterRect):
1141 (WebCore::SVGResourceFilter::setFilterRect):
1142 (WebCore::SVGResourceFilter::scaleX):
1143 (WebCore::SVGResourceFilter::scaleY):
1144 (WebCore::SVGResourceFilter::setFilterBoundingBox):
1145 (WebCore::SVGResourceFilter::builder):
1146 * svg/graphics/filters/SVGFilterBuilder.h:
1148 2010-04-20 Dirk Schulze <krit@webkit.org>
1150 Reviewed by Nikolas Zimmermann.
1152 SVGResourceFilter needs to be moved to under Renderers
1153 https://bugs.webkit.org/show_bug.cgi?id=35320
1155 This patch adds a renderer for SVGFilterElement. SVGFilterElement is now independent
1156 from the SVGResources.
1157 A clean-up solves the dependencies between SVGFilterElement, the filter primitives
1158 and SVGResources. This shall make the filter code more readable and better maintable.
1159 The Filter primitives get dumped now, as long as they have externalRepresentation
1162 No behavior changes, so no new tests were added.
1168 * WebCore.vcproj/WebCore.vcproj:
1169 * WebCore.xcodeproj/project.pbxproj:
1170 * rendering/RenderPath.cpp:
1171 (WebCore::RenderPath::paint):
1172 * rendering/RenderSVGContainer.cpp:
1173 (WebCore::RenderSVGContainer::selfWillPaint):
1174 (WebCore::RenderSVGContainer::paint):
1175 * rendering/RenderSVGImage.cpp:
1176 (WebCore::RenderSVGImage::paint):
1177 * rendering/RenderSVGResource.h:
1179 * rendering/RenderSVGResourceClipper.cpp:
1180 (WebCore::RenderSVGResourceClipper::applyResource):
1181 * rendering/RenderSVGResourceClipper.h:
1182 * rendering/RenderSVGResourceFilter.cpp: Added.
1183 (WebCore::RenderSVGResourceFilter::RenderSVGResourceFilter):
1184 (WebCore::RenderSVGResourceFilter::~RenderSVGResourceFilter):
1185 (WebCore::RenderSVGResourceFilter::invalidateClients):
1186 (WebCore::RenderSVGResourceFilter::invalidateClient):
1187 (WebCore::RenderSVGResourceFilter::buildPrimitives):
1188 (WebCore::RenderSVGResourceFilter::fitsInMaximumImageSize):
1189 (WebCore::RenderSVGResourceFilter::applyResource):
1190 (WebCore::RenderSVGResourceFilter::postApplyResource):
1191 (WebCore::RenderSVGResourceFilter::resourceBoundingBox):
1192 * rendering/RenderSVGResourceFilter.h: Added.
1193 (WebCore::FilterData::FilterData):
1194 (WebCore::RenderSVGResourceFilter::renderName):
1195 (WebCore::RenderSVGResourceFilter::filterUnits):
1196 (WebCore::RenderSVGResourceFilter::primitiveUnits):
1197 (WebCore::RenderSVGResourceFilter::resourceType):
1198 * rendering/RenderSVGResourceMarker.h:
1199 (WebCore::RenderSVGResourceMarker::applyResource):
1200 * rendering/RenderSVGResourceMasker.cpp:
1201 (WebCore::RenderSVGResourceMasker::applyResource):
1202 * rendering/RenderSVGResourceMasker.h:
1203 * rendering/RenderSVGRoot.cpp:
1204 (WebCore::RenderSVGRoot::selfWillPaint):
1205 (WebCore::RenderSVGRoot::paint):
1206 * rendering/RenderSVGText.cpp:
1207 * rendering/SVGRenderSupport.cpp:
1208 (WebCore::SVGRenderBase::prepareToRenderSVGContent):
1209 (WebCore::SVGRenderBase::finishRenderSVGContent):
1210 (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
1211 (WebCore::deregisterFromResources):
1212 * rendering/SVGRenderSupport.h:
1213 * rendering/SVGRenderTreeAsText.cpp:
1214 (WebCore::writeStyle):
1215 (WebCore::writeSVGResource):
1216 (WebCore::writeResources):
1217 (WebCore::writeRenderResources):
1218 * rendering/SVGRootInlineBox.cpp:
1219 (WebCore::SVGRootInlineBoxPaintWalker::SVGRootInlineBoxPaintWalker):
1220 (WebCore::SVGRootInlineBox::paint):
1221 * svg/SVGFEBlendElement.cpp:
1222 (WebCore::SVGFEBlendElement::build):
1223 * svg/SVGFEBlendElement.h:
1224 * svg/SVGFEColorMatrixElement.cpp:
1225 (WebCore::SVGFEColorMatrixElement::build):
1226 * svg/SVGFEColorMatrixElement.h:
1227 * svg/SVGFEComponentTransferElement.cpp:
1228 (WebCore::SVGFEComponentTransferElement::build):
1229 * svg/SVGFEComponentTransferElement.h:
1230 * svg/SVGFECompositeElement.cpp:
1231 (WebCore::SVGFECompositeElement::build):
1232 * svg/SVGFECompositeElement.h:
1233 * svg/SVGFEDiffuseLightingElement.cpp:
1234 (WebCore::SVGFEDiffuseLightingElement::build):
1235 * svg/SVGFEDiffuseLightingElement.h:
1236 * svg/SVGFEDisplacementMapElement.cpp:
1237 (WebCore::SVGFEDisplacementMapElement::build):
1238 * svg/SVGFEDisplacementMapElement.h:
1239 * svg/SVGFEFloodElement.cpp:
1240 (WebCore::SVGFEFloodElement::build):
1241 * svg/SVGFEFloodElement.h:
1242 * svg/SVGFEGaussianBlurElement.cpp:
1243 (WebCore::SVGFEGaussianBlurElement::build):
1244 * svg/SVGFEGaussianBlurElement.h:
1245 * svg/SVGFEImageElement.cpp:
1246 (WebCore::SVGFEImageElement::build):
1247 * svg/SVGFEImageElement.h:
1248 * svg/SVGFEMergeElement.cpp:
1249 (WebCore::SVGFEMergeElement::build):
1250 * svg/SVGFEMergeElement.h:
1251 * svg/SVGFEMorphologyElement.cpp:
1252 (WebCore::SVGFEMorphologyElement::build):
1253 * svg/SVGFEMorphologyElement.h:
1254 * svg/SVGFEOffsetElement.cpp:
1255 (WebCore::SVGFEOffsetElement::build):
1256 * svg/SVGFEOffsetElement.h:
1257 * svg/SVGFESpecularLightingElement.cpp:
1258 (WebCore::SVGFESpecularLightingElement::build):
1259 * svg/SVGFESpecularLightingElement.h:
1260 * svg/SVGFETileElement.cpp:
1261 (WebCore::SVGFETileElement::build):
1262 * svg/SVGFETileElement.h:
1263 * svg/SVGFETurbulenceElement.cpp:
1264 (WebCore::SVGFETurbulenceElement::build):
1265 * svg/SVGFETurbulenceElement.h:
1267 * svg/SVGFilterElement.cpp:
1268 (WebCore::SVGFilterElement::createRenderer):
1269 * svg/SVGFilterElement.h:
1270 * svg/SVGFilterPrimitiveStandardAttributes.cpp:
1271 (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
1272 * svg/SVGFilterPrimitiveStandardAttributes.h:
1273 (WebCore::SVGFilterPrimitiveStandardAttributes::isFilterEffect):
1274 (WebCore::SVGFilterPrimitiveStandardAttributes::rendererIsNeeded):
1275 * svg/SVGStyledElement.cpp:
1276 (WebCore::SVGStyledElement::invalidateResources):
1277 * svg/graphics/SVGResource.cpp:
1278 * svg/graphics/SVGResource.h:
1280 (WebCore::SVGResource::isPaintServer):
1281 * svg/graphics/SVGResourceFilter.cpp: Removed.
1282 * svg/graphics/SVGResourceFilter.h: Removed.
1283 * svg/graphics/filters/SVGFilterBuilder.h:
1284 (WebCore::SVGFilterBuilder::namedEffects):
1286 2010-04-20 Gavin Barraclough <barraclough@apple.com>
1288 Rubber stamped by Maciej Stachowiak (relanding r57829).
1289 Added missing JS_EXPORTDATA
1291 * ForwardingHeaders/wtf/WTFThreadData.h: Copied from WebCore/ForwardingHeaders/wtf/WTFThreadData.h.
1292 * platform/ThreadGlobalData.cpp:
1293 (WebCore::ThreadGlobalData::ThreadGlobalData):
1294 (WebCore::ThreadGlobalData::~ThreadGlobalData):
1295 * platform/ThreadGlobalData.h:
1296 (WebCore::ThreadGlobalData::eventNames):
1297 * platform/text/AtomicString.cpp:
1298 (WebCore::AtomicStringTable::create):
1299 (WebCore::AtomicStringTable::table):
1300 (WebCore::AtomicStringTable::destroy):
1301 (WebCore::stringTable):
1303 2010-04-20 No'am Rosenthal <noam.rosenthal@nokia.com>
1305 Reviewed by Antti Koivisto.
1307 [Qt] GraphicsLayer: support fill-modes
1308 https://bugs.webkit.org/show_bug.cgi?id=36216
1309 Implement the CSS-animation "fill mode" concept in GraphicsLayerQt. The concept
1310 enables a key-frame animation to go to the animation's starting point before the delay,
1311 and/or to stay at the animation's ending point after its ended, without reverting to the default
1313 We do that by manually setting the value to keyframe-0 before the delay if fill-mode is backwards/both,
1314 and manually modifying the default value to the animated value as we animate, with fill-mode forwards/both.
1316 * platform/graphics/qt/GraphicsLayerQt.cpp:
1317 (WebCore::AnimationQtBase::AnimationQtBase):
1318 (WebCore::TransformAnimationQt::~TransformAnimationQt):
1319 (WebCore::TransformAnimationQt::applyFrame):
1320 (WebCore::GraphicsLayerQt::addAnimation):
1322 2010-04-19 Leandro Pereira <leandro@profusion.mobi>
1324 Reviewed by David Hyatt.
1326 Add missing dummy implementations in PluginPackageNone and PluginViewNone.
1327 http://webkit.org/b/37478
1329 * plugins/PluginPackageNone.cpp:
1330 (WebCore::PluginPackage::NPVersion): Add dummy implementation.
1331 * plugins/PluginViewNone.cpp:
1332 (WebCore::PluginView::handleFocusInEvent): Add dummy implementation.
1333 (WebCore::PluginView::handleFocusOutEvent): Add dummy implementation.
1335 2010-04-19 Simon Fraser <simon.fraser@apple.com>
1337 Reviewed by Geoff Garen.
1339 Clean up RenderPart/RenderPartObject/RenderFrame/RenderEmbeddedObject
1340 https://bugs.webkit.org/show_bug.cgi?id=37741
1342 Move m_hasFallbackContent from RenderPart to RenderEmbeddedObject,
1343 since it's only used for <object> fallback.
1345 * rendering/RenderEmbeddedObject.cpp:
1346 (WebCore::RenderEmbeddedObject::RenderEmbeddedObject):
1347 * rendering/RenderEmbeddedObject.h:
1348 (WebCore::RenderEmbeddedObject::hasFallbackContent):
1349 * rendering/RenderPart.cpp:
1350 (WebCore::RenderPart::RenderPart):
1351 * rendering/RenderPart.h:
1353 2010-04-19 Simon Fraser <simon.fraser@apple.com>
1355 Reviewed by Darin Adler.
1357 Clean up RenderPart/RenderPartObject/RenderFrame/RenderEmbeddedObject
1358 https://bugs.webkit.org/show_bug.cgi?id=37741
1360 Add a new renderer for iframes, named RenderIFrame. Add a new shared base class
1361 between this and RenderFrame, called RenderFrameBase (following the existing HTMLFrameElementBase),
1362 and move code from RenderPart and RenderPartObject into these new classes.
1364 There should be no functionality difference with this change, so no new tests.
1366 Fixing up renderer names in the layout tests will be done in a later pass.
1368 Fix build systems to include the new files.
1374 * WebCore.vcproj/WebCore.vcproj:
1375 * WebCore.xcodeproj/project.pbxproj:
1376 * html/HTMLIFrameElement.cpp:
1377 (WebCore::HTMLIFrameElement::createRenderer):
1378 * rendering/RenderEmbeddedObject.h:
1379 * rendering/RenderFrame.cpp:
1380 (WebCore::RenderFrame::RenderFrame):
1381 * rendering/RenderFrame.h:
1382 * rendering/RenderFrameBase.cpp: Added.
1383 (WebCore::RenderFrameBase::RenderFrameBase):
1384 (WebCore::RenderFrameBase::layoutWithFlattening):
1385 * rendering/RenderFrameBase.h: Added.
1386 * rendering/RenderIFrame.cpp: Added.
1387 (WebCore::RenderIFrame::RenderIFrame):
1388 (WebCore::RenderIFrame::calcHeight):
1389 (WebCore::RenderIFrame::calcWidth):
1390 (WebCore::RenderIFrame::flattenFrame):
1391 (WebCore::RenderIFrame::layout):
1392 * rendering/RenderIFrame.h: Added.
1393 (WebCore::RenderIFrame::renderName):
1394 * rendering/RenderPart.cpp:
1395 * rendering/RenderPart.h:
1396 * rendering/RenderPartObject.cpp:
1397 * rendering/RenderPartObject.h:
1399 2010-04-19 Dumitru Daniliuc <dumi@chromium.org>
1401 Reviewed by Geoffrey Garen.
1404 https://bugs.webkit.org/show_bug.cgi?id=37833
1406 Move some WebSQLDatabases logic out of the bindings into
1407 DOMWindow.cpp where it should be.
1409 * bindings/js/JSDOMWindowCustom.cpp:
1410 (WebCore::JSDOMWindow::openDatabase):
1411 * bindings/v8/custom/V8DOMWindowCustom.cpp:
1412 (WebCore::V8DOMWindow::openDatabaseCallback):
1413 * page/DOMWindow.cpp:
1414 (WebCore::DOMWindow::openDatabase):
1416 2010-04-19 Kevin Ollivier <kevino@theolliviers.com>
1418 Fix the Mac builders for now by restoring the keepAlive function.
1420 * plugins/PluginViewNone.cpp:
1421 (WebCore::PluginView::keepAlive):
1423 2010-04-19 Kevin Ollivier <kevino@theolliviers.com>
1425 [wx] Build fix, remove a method that has been moved to PluginView.cpp.
1427 * plugins/PluginViewNone.cpp:
1429 2010-04-19 Gavin Barraclough <barraclough@apple.com>
1431 Reviewed by NOBODY (rolling out r57829).
1434 * ForwardingHeaders/wtf/WTFThreadData.h: Removed.
1435 * platform/ThreadGlobalData.cpp:
1436 (WebCore::ThreadGlobalData::ThreadGlobalData):
1437 (WebCore::ThreadGlobalData::~ThreadGlobalData):
1438 * platform/ThreadGlobalData.h:
1439 (WebCore::ThreadGlobalData::atomicStringTable):
1440 * platform/text/AtomicString.cpp:
1441 (WebCore::stringTable):
1443 2010-04-19 Mark Rowe <mrowe@apple.com>
1447 * platform/graphics/mac/GraphicsContext3DMac.cpp:
1449 2010-04-19 Chris Fleizach <cfleizach@apple.com>
1451 Reviewed by Beth Dakin.
1453 AX: aria-haspopup needs to be exposed
1454 https://bugs.webkit.org/show_bug.cgi?id=37808
1456 Test: platform/mac/accessibility/element-haspopup.html
1458 * accessibility/AccessibilityObject.h:
1459 (WebCore::AccessibilityObject::ariaHasPopup):
1460 * accessibility/AccessibilityRenderObject.cpp:
1461 (WebCore::AccessibilityRenderObject::ariaHasPopup):
1462 (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
1463 * accessibility/AccessibilityRenderObject.h:
1464 * accessibility/mac/AccessibilityObjectWrapper.mm:
1465 (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
1466 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
1468 2010-04-19 Anders Carlsson <andersca@apple.com>
1470 Reviewed by Sam Weinig.
1472 Fix a crash when rendering <select> elements with WebKit2.
1474 * rendering/RenderThemeMac.mm:
1475 (WebCore::RenderThemeMac::paintMenuList):
1476 Set the current NSGraphicsContext before calling out to AppKit, otherwise the current graphics context
1477 could point to a CGContext whose memory has been freed.
1479 2010-04-08 Dimitri Glazkov <dglazkov@chromium.org>
1481 Reviewed by Darin Adler.
1483 Manipulating document fragment members while adding it to tree may result in loss of tree integrity.
1484 https://bugs.webkit.org/show_bug.cgi?id=36031
1486 Changes the logic of appending/inserting document fragment to first stashing all of its children
1487 to a vector, then processing the vector. This avoids ghastliness that would be caused by mutation
1488 events mucking with the document fragment while it's being appended/inserted.
1490 Test: fast/dom/Node/fragment-mutation.html
1492 * dom/ContainerNode.cpp:
1493 (WebCore::targetNodes): Added method to populate a vector of nodes (targets) to be used in
1494 inserting/appending operation.
1495 (WebCore::ContainerNode::insertBefore): Changed to use vector-based iteration.
1496 (WebCore::ContainerNode::appendChild): Ditto.
1498 (WebCore::Node::checkReplaceChild): Cleaned up comments.
1499 (WebCore::Node::checkAddChild): Ditto.
1501 2010-04-19 Eric Carlson <eric.carlson@apple.com>
1503 Reviewed by Simon Fraser.
1505 Fix regression introduced in r57820.
1507 * html/HTMLMediaElement.cpp:
1508 (WebCore::HTMLMediaElement::loadNextSourceChild): Create a new MediaPlayer instead of
1509 just setting a URL on the one used for the previous <source> element. This restores
1510 the behavior prior to the changes for https://bugs.webkit.org/show_bug.cgi?id=37728.
1512 2010-04-19 Gavin Barraclough <barraclough@apple.com>
1514 Reviewed by Sam Weinig.
1516 https://bugs.webkit.org/show_bug.cgi?id=37745
1517 Move string uniquing tables to (new) WTFThreadData class.
1519 Remove AtomicString's dependency on ThreadGlobalData so that we can move
1520 WebCore's string classes up to WTF.
1522 * ForwardingHeaders/wtf/WTFThreadData.h: Added.
1523 * platform/ThreadGlobalData.cpp: Remove m_atomicStringTable, all wtfThreadData() to ensure threadsafely initialized.
1524 (WebCore::ThreadGlobalData::ThreadGlobalData):
1525 (WebCore::ThreadGlobalData::~ThreadGlobalData):
1526 * platform/ThreadGlobalData.h: Remove m_atomicStringTable.
1527 (WebCore::ThreadGlobalData::eventNames):
1528 * platform/text/AtomicString.cpp:
1529 (WebCore::AtomicStringTable::create):
1530 (WebCore::AtomicStringTable::table):
1531 (WebCore::AtomicStringTable::destroy):
1532 (WebCore::stringTable): Access the AtomicStringTable on wtfThreadData() rather then threadGlobalData().
1534 2010-04-19 Ada Chan <adachan@apple.com>
1536 Build fix: wrap Settings::setLocalStorageQuota() and Settings::setSessionStorageQuota()
1537 in #if ENABLE(DOM_STORAGE).
1539 * page/Settings.cpp:
1540 (WebCore::Settings::Settings):
1543 2010-04-19 Dave Moore <davemoore@chromium.org>
1545 Reviewed by Dimitri Glazkov.
1547 Added notification when the favicons for a page are changed
1549 The Document object will notify the frame loader, which will
1550 notify the client. Implementations of FrameLoaderClient will
1551 have to add one method; dispatchDidChangeIcons().
1553 https://bugs.webkit.org/show_bug.cgi?id=33812
1555 Test: fast/dom/icon-url-property.html
1558 (WebCore::Document::setIconURL):
1559 * loader/DocumentLoader.cpp:
1560 (WebCore::DocumentLoader::setIconURL):
1561 * loader/DocumentLoader.h:
1562 (WebCore::DocumentLoader::iconURL):
1563 * loader/EmptyClients.h:
1564 (WebCore::EmptyFrameLoaderClient::dispatchDidChangeIcons):
1565 * loader/FrameLoader.cpp:
1566 (WebCore::FrameLoader::setIconURL):
1567 (WebCore::FrameLoader::didChangeIcons):
1568 * loader/FrameLoader.h:
1569 * loader/FrameLoaderClient.h:
1571 2010-04-19 Ada Chan <adachan@apple.com>
1573 Reviewed by Jeremy Orlow.
1575 https://bugs.webkit.org/show_bug.cgi?id=37717
1576 Allow clients concerned with memory consumption to set a quota on session storage
1577 since the memory used won't be released until the Page is destroyed.
1578 The default is noQuota, which matches the current behavior.
1580 * WebCore.base.exp: Export Settings::setSessionStorageQuota().
1582 (WebCore::Page::sessionStorage):
1583 * page/Settings.cpp:
1584 (WebCore::Settings::Settings):
1585 (WebCore::Settings::setSessionStorageQuota):
1587 (WebCore::Settings::sessionStorageQuota):
1588 * storage/StorageNamespace.cpp:
1589 (WebCore::StorageNamespace::sessionStorageNamespace):
1590 * storage/StorageNamespace.h:
1591 * storage/StorageNamespaceImpl.cpp:
1592 (WebCore::StorageNamespaceImpl::sessionStorageNamespace):
1593 * storage/StorageNamespaceImpl.h:
1595 2010-04-19 Eric Carlson <eric.carlson@apple.com>
1597 Reviewed by Simon Fraser.
1599 Setting media element 'src' attribute should trigger immediate load
1600 https://bugs.webkit.org/show_bug.cgi?id=37728
1602 * html/HTMLMediaElement.cpp:
1603 (WebCore::HTMLMediaElement::attributeChanged): Schedule load every time 'src' attribute
1604 changes unless it is missing.
1605 (WebCore::HTMLMediaElement::prepareForLoad): Include steps 3 to 6 from loadInternal.
1606 (WebCore::HTMLMediaElement::loadInternal): Steps 3 to 6 are now in prepareForLoad.
1607 (WebCore::HTMLMediaElement::loadResource): MediaPlayer is now allocated in prepareForLoad
1608 so the previously loading file, if any, is cancelled there.
1610 2010-04-19 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
1612 Reviewed by Simon Hausmann.
1614 [Qt] Fix compilation against namespaced Qt.
1616 * platform/graphics/GraphicsLayer.h:
1617 * platform/graphics/Tile.h:
1618 * platform/graphics/qt/MediaPlayerPrivateQt.h:
1619 * platform/network/qt/NetworkStateNotifierPrivate.h:
1621 2010-04-19 Balazs Kelemen <kb@inf.u-szeged.hu>
1623 Reviewed by Kenneth Rohde Christiansen.
1625 [Qt] Destroy SharedTimerQt before destruction of QCoreApplication.
1627 To avoid unsafe situations caused by running WebCore code (through firing timers) when destruction of QCoreApplication
1628 has been started, we should explicitly destroy the SharedTimerQt instance on application exit.
1629 We can achieve that through installing a self-destroying slot for the QCoreApplication::aboutToQuit() signal
1630 into the SharedTimerQt instance.
1632 https://bugs.webkit.org/show_bug.cgi?id=36832
1634 No functional change so no new tests.
1636 * platform/qt/SharedTimerQt.cpp:
1637 (WebCore::SharedTimerQt::SharedTimerQt):
1638 (WebCore::SharedTimerQt::destroy):
1639 (WebCore::SharedTimerQt::inst):
1641 2010-04-19 Dan Bernstein <mitz@apple.com>
1643 Reviewed by Darin Adler.
1645 Make the fix for <rdar://problem/7873647> from r57759 more robust.
1647 * rendering/RenderLayer.cpp:
1648 (WebCore::RenderLayer::updateHoverActiveState): Use RefPtrs for the Nodes.
1650 2010-04-19 Yury Semikhatsky <yurys@chromium.org>
1652 Unreviewed. Chromium build fix.
1654 * bindings/v8/JavaScriptCallFrame.h:
1656 2010-04-19 Yury Semikhatsky <yurys@chromium.org>
1658 Reviewed by Pavel Feldman.
1660 Web Inspector: implement JavaScriptCallFrame that works for v8.
1661 Implementing this binding for v8 allows to make evaluations on
1662 call frames and protects access to the debugger context from
1665 https://bugs.webkit.org/show_bug.cgi?id=37755
1667 * WebCore.gyp/WebCore.gyp:
1669 * bindings/js/JSJavaScriptCallFrameCustom.cpp:
1670 (WebCore::JSJavaScriptCallFrame::scopeType):
1671 * bindings/v8/JavaScriptCallFrame.cpp: Added.
1672 (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
1673 (WebCore::JavaScriptCallFrame::~JavaScriptCallFrame):
1674 (WebCore::JavaScriptCallFrame::caller):
1675 (WebCore::JavaScriptCallFrame::sourceID):
1676 (WebCore::JavaScriptCallFrame::line):
1677 (WebCore::JavaScriptCallFrame::functionName):
1678 (WebCore::JavaScriptCallFrame::scopeChain):
1679 (WebCore::JavaScriptCallFrame::scopeType):
1680 (WebCore::JavaScriptCallFrame::thisObject):
1681 (WebCore::JavaScriptCallFrame::evaluate):
1682 * bindings/v8/JavaScriptCallFrame.h: Added.
1683 (WebCore::JavaScriptCallFrame::create):
1684 * bindings/v8/ScriptDebugServer.cpp:
1685 (WebCore::ScriptDebugServer::currentCallFrame):
1686 * bindings/v8/ScriptDebugServer.h:
1687 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
1688 (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
1689 * bindings/v8/custom/V8JavaScriptCallFrameCustom.cpp: Added.
1690 (WebCore::V8JavaScriptCallFrame::evaluateCallback):
1691 (WebCore::V8JavaScriptCallFrame::scopeChainAccessorGetter):
1692 (WebCore::V8JavaScriptCallFrame::scopeTypeCallback):
1693 (WebCore::V8JavaScriptCallFrame::thisObjectAccessorGetter):
1694 (WebCore::V8JavaScriptCallFrame::typeAccessorGetter):
1695 * inspector/JavaScriptCallFrame.idl:
1696 * inspector/front-end/InjectedScript.js:
1697 (injectedScriptConstructor.):
1699 2010-04-19 Jessie Berlin <jberlin@webkit.org>
1701 Rubber Stamped by Adam Roben
1703 Chromium Release Build Fix.
1705 * css/CSSSelector.cpp:
1706 (WebCore::CSSSelector::pseudoId):
1707 In the case where the DATALIST is not enabled, fall through to NOPSEUDO instead of omitting PseudoInputListButton entirely from the switch.
1709 2010-04-19 Jessie Berlin <jberlin@webkit.org>
1711 Reviewed by Dave Hyatt.
1713 First steps towards fixing bug 24021 - pseudo-element styles not accessible / retrievable via DOM methods.
1714 https://bugs.webkit.org/show_bug.cgi?id=24021
1716 Allows access to the computed styles for the pseudo-elements through the second argument to getComputedStyle.
1717 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.
1718 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.
1720 Test: fast/css/getComputedStyle/getComputedStyle-with-pseudo-element.html
1723 * css/CSSComputedStyleDeclaration.cpp:
1724 (WebCore::CSSComputedStyleDeclaration::CSSComputedStyleDeclaration):
1725 Parse the and store the pseudo-element specifier from the string provided by the user.
1726 (WebCore::CSSComputedStyleDeclaration::getFontSizeCSSValuePreferringKeyword):
1727 Get the computed style for the pseudo-element if it has been specified.
1728 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1729 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.
1730 (WebCore::CSSComputedStyleDeclaration::length):
1731 Get the computed style for the pseudo-element if it has been specified.
1732 (WebCore::CSSComputedStyleDeclaration::cssPropertyMatches):
1734 * css/CSSComputedStyleDeclaration.h:
1735 (WebCore::computedStyle):
1736 Take into consideration the pseudo-element.
1738 * css/CSSSelector.cpp:
1739 (WebCore::CSSSelector::pseudoId):
1740 Return the PseudoId that corresponds to the given PseudoType. If there is no corresponding PseudoId, returns NOPSEUDO.
1741 (WebCore::nameToPseudoTypeMap):
1742 Create and return the mapping between string names and PseudoTypes.
1743 (WebCore::CSSSelector::parsePseudoType):
1744 Parse and the given string into a PseudoType.
1745 (WebCore::CSSSelector::extractPseudoType):
1746 Refactored to use parsePseudoType.
1747 * css/CSSSelector.h:
1749 * css/CSSStyleSelector.cpp:
1750 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
1751 Refactored to use pseudoId.
1754 (WebCore::Element::computedStyle):
1755 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.
1757 (WebCore::Element::virtualComputedStyle):
1758 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.
1761 (WebCore::Node::computedStyle):
1764 (WebCore::Node::virtualComputedStyle):
1765 Get the computed style for the pseudo-element if it has been specified.
1767 * page/DOMWindow.cpp:
1768 (WebCore::DOMWindow::getComputedStyle):
1771 2010-04-18 Simon Hausmann <simon.hausmann@nokia.com>
1773 Reviewed by Laszlo Gombos.
1775 [Qt] Fix JavaScriptCore's include path for WinCE builds
1777 https://bugs.webkit.org/show_bug.cgi?id=36751
1781 2010-04-17 Alexey Proskuryakov <ap@apple.com>
1783 Reviewed by Adam Barth.
1785 https://bugs.webkit.org/show_bug.cgi?id=37720
1786 <rdar://problem/7873752> HTMLFrameSetElement-window-eventListener-attributes.html sometimes
1787 crashes on SnowLeopard Release
1790 * fast/dom/Window/HTMLBodyElement-window-eventListener-attributes.html:
1791 * fast/dom/Window/HTMLFrameSetElement-window-eventListener-attributes.html:
1793 * bindings/scripts/CodeGeneratorJS.pm: Use global object as a wrapper for window event
1794 listeners set via document.body. The body wrapper can go away if nothing else references it.
1796 * html/HTMLBodyElement.idl: Override listeners that exist on Element with custom implementations,
1797 because we need to use window object as a wrapper, not the element. Marked all window event
1798 listeners as such for code generator.
1800 * html/HTMLFrameSetElement.idl: Ditto.
1802 2010-04-17 Juan C. Montemayor <jmonte03@cs.tufts.edu>
1804 Reviewed by Joseph Pecoraro.
1806 Databases pane doesn't recognize table creation/deletion
1807 https://bugs.webkit.org/show_bug.cgi?id=20219
1809 * inspector/front-end/DatabaseQueryView.js:
1810 (WebInspector.DatabaseQueryView.prototype._queryFinished):
1812 2010-04-17 Yaar Schnitman <yaar@chromium.org>
1814 Reviewed by Adam Barth.
1816 Auto-generate V8 bindings for canvas.* overloads
1817 https://bugs.webkit.org/show_bug.cgi?id=37453
1819 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: Deleted custom code that is now auto-generated.
1820 * bindings/scripts/CodeGeneratorV8.pm: Not generating custom signatures for overloaded methods and accepting Object as a string input.
1821 * html/canvas/CanvasRenderingContext2D.cpp:
1822 (WebCore::CanvasRenderingContext2D::drawImage): Added missing 9-arguments overloads for drawImage.
1823 * html/canvas/CanvasRenderingContext2D.h:
1824 * html/canvas/CanvasRenderingContext2D.idl: Overloaded methods defined (V8 only).
1826 2010-04-17 Yury Semikhatsky <yurys@chromium.org>
1828 Reviewed by Pavel Feldman.
1830 Web Inspector: move JavaScriptCallFrame.{h,cpp} to WebCore/bindings/js
1832 https://bugs.webkit.org/show_bug.cgi?id=37740
1837 * WebCore.vcproj/WebCore.vcproj:
1838 * WebCore.xcodeproj/project.pbxproj:
1839 * bindings/js/JSBindingsAllInOne.cpp:
1840 * bindings/js/JavaScriptCallFrame.cpp: Renamed from WebCore/inspector/JavaScriptCallFrame.cpp.
1841 (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
1842 (WebCore::JavaScriptCallFrame::caller):
1843 (WebCore::JavaScriptCallFrame::scopeChain):
1844 (WebCore::JavaScriptCallFrame::dynamicGlobalObject):
1845 (WebCore::JavaScriptCallFrame::functionName):
1846 (WebCore::JavaScriptCallFrame::type):
1847 (WebCore::JavaScriptCallFrame::thisObject):
1848 (WebCore::JavaScriptCallFrame::evaluate):
1849 * bindings/js/JavaScriptCallFrame.h: Renamed from WebCore/inspector/JavaScriptCallFrame.h.
1850 (WebCore::JavaScriptCallFrame::create):
1851 (WebCore::JavaScriptCallFrame::invalidate):
1852 (WebCore::JavaScriptCallFrame::isValid):
1853 (WebCore::JavaScriptCallFrame::sourceID):
1854 (WebCore::JavaScriptCallFrame::line):
1855 (WebCore::JavaScriptCallFrame::update):
1856 * inspector/InjectedScriptHost.h:
1857 * inspector/InspectorController.h:
1859 2010-04-17 Vangelis Kokkevis <vangelis@chromium.org>
1861 Reviewed by Dimitri Glazkov.
1863 Adding definition of GLES2Context class.
1864 https://bugs.webkit.org/show_bug.cgi?id=37541
1866 No new functionality implemented yet, no tests.
1868 * WebCore.gypi: Added GLES2Context.h
1869 * platform/chromium/GLES2Context.h: Added.
1871 2010-04-17 Julien Chaffraix <jchaffraix@webkit.org>
1873 Reviewed by Darin Adler.
1875 Crash while handling SVG font in the wrong namespace imported with @font-face
1876 https://bugs.webkit.org/show_bug.cgi?id=18862
1878 Test: fast/invalid/invalidSVGFont.html
1880 * loader/CachedFont.cpp:
1881 (WebCore::CachedFont::getSVGFontById): Make sure we really get an SVGFontElement by using
1882 getElementsByNameNS: the element factory chooses which element to create based on both
1883 localName and namespace.
1885 2010-04-16 Sheriff Bot <webkit.review.bot@gmail.com>
1887 Unreviewed, rolling out r57770.
1888 http://trac.webkit.org/changeset/57770
1889 https://bugs.webkit.org/show_bug.cgi?id=37746
1891 8 test cases crashed (Requested by Ossy on #webkit).
1893 * platform/graphics/qt/GraphicsLayerQt.cpp:
1894 (WebCore::AnimationQtBase::AnimationQtBase):
1895 (WebCore::TransformAnimationQt::~TransformAnimationQt):
1896 (WebCore::TransformAnimationQt::applyFrame):
1897 (WebCore::OpacityAnimationQt::applyFrame):
1898 (WebCore::GraphicsLayerQt::addAnimation):
1900 2010-04-16 Daniel Bates <dbates@rim.com>
1902 Reviewed by Adam Treat.
1904 https://bugs.webkit.org/show_bug.cgi?id=36312
1906 Adds support for the viewport meta tag. The code is largely derived in whole
1907 or in part from the WebCore-528.15 source published as part of the iPhone 3.1.3
1908 source code <http://www.opensource.apple.com/source/WebCore/WebCore-528.15/>.
1910 * Android.mk: Added file ViewportArguments.cpp.
1911 * GNUmakefile.am: Added files ViewportArguments.cpp and ViewportArguments.h.
1912 * WebCore.gypi: Ditto.
1913 * WebCore.pro: Ditto.
1914 * WebCore.vcproj/WebCore.vcproj: Ditto.
1915 * WebCore.xcodeproj/project.pbxproj: Ditto.
1917 (WebCore::isSeparator): Added.
1918 (WebCore::Document::processArguments): Added.
1919 (WebCore::Document::processViewport): Added.
1921 * dom/ViewportArguments.cpp: Added.
1922 (WebCore::setViewportFeature):
1923 (WebCore::viewportErrorMessageTemplate):
1924 (WebCore::viewportErrorMessageLevel):
1925 (WebCore::reportViewportWarning):
1926 * dom/ViewportArguments.h: Added.
1928 (WebCore::ViewportArguments::):
1929 (WebCore::ViewportArguments::ViewportArguments):
1930 (WebCore::ViewportArguments::hasCustomArgument):
1931 * html/HTMLMetaElement.cpp:
1932 (WebCore::HTMLMetaElement::process): Modified to call Document::processViewport.
1933 * page/ChromeClient.h:
1934 (WebCore::ChromeClient::didReceiveViewportArguments): Added.
1936 2010-04-16 No'am Rosenthal <noam.rosenthal@nokia.com>
1938 Reviewed by Antti Koivisto.
1940 [Qt] GraphicsLayer: support fill-modes
1941 https://bugs.webkit.org/show_bug.cgi?id=36216
1942 Implement the CSS-animation "fill mode" concept in GraphicsLayerQt. The concept
1943 enables a key-frame animation to go to the animation's starting point before the delay,
1944 and/or to stay at the animation's ending point after its ended, without reverting to the default
1946 We do that by manually setting the value to keyframe-0 before the delay if fill-mode is backwards/both,
1947 and manually modifying the default value to the animated value as we animate, with fill-mode forwards/both.
1949 * platform/graphics/qt/GraphicsLayerQt.cpp:
1950 (WebCore::AnimationQtBase::AnimationQtBase):
1951 (WebCore::TransformAnimationQt::~TransformAnimationQt):
1952 (WebCore::TransformAnimationQt::applyFrame):
1953 (WebCore::GraphicsLayerQt::addAnimation):
1955 2010-04-16 Gavin Barraclough <barraclough@apple.com>
1957 Reviewed by NOBODY (arm build fix).
1959 * bindings/js/JSDesktopNotificationsCustom.cpp:
1960 (WebCore::JSNotification::addEventListener):
1961 (WebCore::JSNotification::removeEventListener):
1963 2010-04-16 Dmitry Titov <dimich@chromium.org>
1965 Reviewed by Yury Semikhatsky.
1967 [v8] In Workers, script errors right after close() are not delivered to the Worker.onerror.
1968 https://bugs.webkit.org/show_bug.cgi?id=37691
1970 Existing worker-close.html will now work in Chromium.
1972 * bindings/v8/V8Utilities.cpp:
1973 (WebCore::getScriptExecutionContext): Stop using proxy() to just retrieve WorkerContext which should be always available.
1974 * bindings/v8/WorkerContextExecutionProxy.h: removed workerContext() accessor which moved to WorkerScriptController.
1975 * bindings/v8/WorkerScriptController.h:
1976 (WebCore::WorkerScriptController::workerContext): Added, to be able to pull WorkerContext out from the controller.
1978 2010-04-16 Gavin Barraclough <barraclough@apple.com>
1980 Reviewed by Sam Weinig.
1982 https://bugs.webkit.org/show_bug.cgi?id=37735
1983 Remove JSC specific code from WebCore::AtomicString
1985 Add generic constructor/add/find methods that take a UChar* & length, along
1986 with a known existing hash for the string.
1987 This removes the remaining JSC specific code from platform/text.
1989 * bindings/js/JSAbstractWorkerCustom.cpp:
1990 (WebCore::JSAbstractWorker::addEventListener):
1991 (WebCore::JSAbstractWorker::removeEventListener):
1992 * bindings/js/JSDOMApplicationCacheCustom.cpp:
1993 (WebCore::JSDOMApplicationCache::addEventListener):
1994 (WebCore::JSDOMApplicationCache::removeEventListener):
1995 * bindings/js/JSDOMBinding.cpp:
1996 (WebCore::ustringToAtomicString):
1997 (WebCore::identifierToAtomicString):
1998 (WebCore::findAtomicString):
1999 * bindings/js/JSDOMBinding.h:
2000 * bindings/js/JSDOMWindowCustom.cpp:
2001 (WebCore::childFrameGetter):
2002 (WebCore::JSDOMWindow::getOwnPropertySlot):
2003 (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
2004 (WebCore::JSDOMWindow::open):
2005 (WebCore::JSDOMWindow::addEventListener):
2006 (WebCore::JSDOMWindow::removeEventListener):
2007 * bindings/js/JSElementCustom.cpp:
2008 (WebCore::JSElement::setAttribute):
2009 (WebCore::JSElement::setAttributeNS):
2010 * bindings/js/JSEventSourceCustom.cpp:
2011 (WebCore::JSEventSource::addEventListener):
2012 (WebCore::JSEventSource::removeEventListener):
2013 * bindings/js/JSHTMLAllCollectionCustom.cpp:
2014 (WebCore::getNamedItems):
2015 (WebCore::JSHTMLAllCollection::canGetItemsForName):
2016 * bindings/js/JSHTMLCollectionCustom.cpp:
2017 (WebCore::getNamedItems):
2018 (WebCore::JSHTMLCollection::canGetItemsForName):
2019 * bindings/js/JSHTMLDocumentCustom.cpp:
2020 (WebCore::JSHTMLDocument::canGetItemsForName):
2021 * bindings/js/JSHTMLFormElementCustom.cpp:
2022 (WebCore::JSHTMLFormElement::canGetItemsForName):
2023 (WebCore::JSHTMLFormElement::nameGetter):
2024 * bindings/js/JSHTMLFrameSetElementCustom.cpp:
2025 (WebCore::JSHTMLFrameSetElement::canGetItemsForName):
2026 (WebCore::JSHTMLFrameSetElement::nameGetter):
2027 * bindings/js/JSMessageEventCustom.cpp:
2028 (WebCore::JSMessageEvent::initMessageEvent):
2029 * bindings/js/JSMessagePortCustom.cpp:
2030 (WebCore::JSMessagePort::addEventListener):
2031 (WebCore::JSMessagePort::removeEventListener):
2032 * bindings/js/JSMimeTypeArrayCustom.cpp:
2033 (WebCore::JSMimeTypeArray::canGetItemsForName):
2034 (WebCore::JSMimeTypeArray::nameGetter):
2035 * bindings/js/JSNodeCustom.cpp:
2036 (WebCore::JSNode::addEventListener):
2037 (WebCore::JSNode::removeEventListener):
2038 * bindings/js/JSNodeListCustom.cpp:
2039 (WebCore::JSNodeList::canGetItemsForName):
2040 (WebCore::JSNodeList::nameGetter):
2041 * bindings/js/JSPluginArrayCustom.cpp:
2042 (WebCore::JSPluginArray::canGetItemsForName):
2043 (WebCore::JSPluginArray::nameGetter):
2044 * bindings/js/JSPluginCustom.cpp:
2045 (WebCore::JSPlugin::canGetItemsForName):
2046 (WebCore::JSPlugin::nameGetter):
2047 * bindings/js/JSPopStateEventCustom.cpp:
2048 (WebCore::JSPopStateEvent::initPopStateEvent):
2049 * bindings/js/JSSVGElementInstanceCustom.cpp:
2050 (WebCore::JSSVGElementInstance::addEventListener):
2051 (WebCore::JSSVGElementInstance::removeEventListener):
2052 * bindings/js/JSWebSocketCustom.cpp:
2053 (WebCore::JSWebSocket::addEventListener):
2054 (WebCore::JSWebSocket::removeEventListener):
2055 * bindings/js/JSWorkerContextCustom.cpp:
2056 (WebCore::JSWorkerContext::addEventListener):
2057 (WebCore::JSWorkerContext::removeEventListener):
2058 * bindings/js/JSXMLHttpRequestCustom.cpp:
2059 (WebCore::JSXMLHttpRequest::setRequestHeader):
2060 (WebCore::JSXMLHttpRequest::getResponseHeader):
2061 (WebCore::JSXMLHttpRequest::addEventListener):
2062 (WebCore::JSXMLHttpRequest::removeEventListener):
2063 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
2064 (WebCore::JSXMLHttpRequestUpload::addEventListener):
2065 (WebCore::JSXMLHttpRequestUpload::removeEventListener):
2066 * platform/text/AtomicString.cpp:
2067 (WebCore::AtomicString::add):
2068 (WebCore::AtomicString::find):
2069 * platform/text/AtomicString.h:
2070 (WebCore::AtomicString::AtomicString):
2072 2010-04-16 Fumitoshi Ukai <ukai@chromium.org>
2074 Reviewed by Alexey Proskuryakov.
2076 WebSocket crash when it receives bad header.
2077 https://bugs.webkit.org/show_bug.cgi?id=37682
2079 If name or value is not valid UTF-8, nameStr or valueStr would be
2080 null string, so crashed in headers->add(nameStr, valueStr).
2081 Check both nameStr and valueStr are not null string.
2082 Otherwise handshake will fail.
2084 Test: websocket/tests/bad-handshake-crash.html
2086 * websockets/WebSocketHandshake.cpp:
2087 (WebCore::WebSocketHandshake::readHTTPHeaders): check nameStr and valueStr are not null string.
2089 2010-04-16 Dan Bernstein <mitz@apple.com>
2091 Reviewed by Simon Fraser.
2093 <rdar://problem/7873647> Crash when updating hover state
2095 Test: fast/dynamic/hover-style-recalc-crash.html
2097 Updating the hover state of an element caused the document to need style
2098 recalc, and then updating the hover state of a link caused style recalc,
2099 which changed the render tree while updateHoverActiveState() was iterating
2100 over it, leading to a crash.
2102 * rendering/RenderLayer.cpp:
2103 (WebCore::RenderLayer::updateHoverActiveState): Collect the nodes to be
2104 updated into vectors, then update their active and hover states.
2106 2010-04-16 Dumitru Daniliuc <dumi@chromium.org>
2108 Reviewed by Alexey Proskuryakov.
2110 Make Safari correctly allocate 5MB of DB storage to all new
2112 https://bugs.webkit.org/show_bug.cgi?id=36671
2114 Eric fixed the same problem in
2115 DatabaseTracker::fullPathForDatabaseNoLock() in r57128, but forgot
2116 to fix it in DatabaseTracker::detailsForNameAndOrigin() too.
2118 * storage/DatabaseTracker.cpp:
2119 (WebCore::DatabaseTracker::detailsForNameAndOrigin):
2121 2010-04-16 Kinuko Yasuda <kinuko@chromium.org>
2123 Reviewed by Jian Li.
2125 Implement FileStreamProxy that calls FileStream methods on FileThread for FileAPI
2126 https://bugs.webkit.org/show_bug.cgi?id=37218
2128 No new tests; tests will be added when we add upper layer implementations.
2133 * WebCore.vcproj/WebCore.vcproj:
2134 * WebCore.xcodeproj/project.pbxproj:
2135 * html/FileStream.cpp:
2136 (WebCore::FileStream::stop):
2137 * html/FileStream.h:
2138 * html/FileStreamClient.h:
2139 (WebCore::FileStreamClient::didStop):
2140 * html/FileStreamProxy.cpp: Added
2141 * html/FileStreamProxy.h: Added
2142 * html/FileThreadTask.h: Added
2144 2010-04-16 Gavin Barraclough <barraclough@apple.com>
2146 Reviewed by Oliver Hunt.
2148 Bug 37730 - Remove JSC::UString dependencies from WebCore::StringImpl
2149 (Following on from bug #37675).
2151 Remove ustring() method, and constructor passed a UString.
2154 * bindings/js/JSDOMBinding.cpp:
2155 (WebCore::stringimplToUString):
2156 (WebCore::jsStringSlowCase):
2157 (WebCore::ustringToString):
2158 (WebCore::stringToUString):
2159 (WebCore::identifierToString):
2160 * bindings/js/JSDOMBinding.h:
2161 (WebCore::jsString):
2162 * platform/text/AtomicString.cpp:
2163 (WebCore::AtomicString::operator UString):
2164 * platform/text/StringImpl.cpp:
2165 (WebCore::StringImpl::create):
2166 * platform/text/StringImpl.h:
2168 2010-04-16 Jarkko Sakkinen <jarkko.j.sakkinen@gmail.com>
2170 Reviewed by Simon Hausmann.
2172 [Qt] WebGL is not visible when QGLWidget viewport is used
2173 https://bugs.webkit.org/show_bug.cgi?id=37070
2175 Added HostWindow parameter to the constructor of GraphicsContext3D.
2176 Shared OpenGL context is initialized with parent QGLWidget.
2178 * html/canvas/WebGLRenderingContext.cpp:
2179 (WebCore::WebGLRenderingContext::create):
2180 * platform/graphics/GraphicsContext3D.h:
2181 * platform/graphics/mac/GraphicsContext3DMac.cpp:
2182 (WebCore::GraphicsContext3D::create):
2183 (WebCore::GraphicsContext3D::GraphicsContext3D):
2184 * platform/graphics/qt/GraphicsContext3DQt.cpp:
2185 (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
2186 (WebCore::GraphicsContext3DInternal::~GraphicsContext3DInternal):
2187 (WebCore::GraphicsContext3DInternal::getOwnerGLWidget):
2188 (WebCore::GraphicsContext3D::create):
2189 (WebCore::GraphicsContext3D::GraphicsContext3D):
2191 2010-04-16 Jarkko Sakkinen <jarkko.j.sakkinen@gmail.com>
2193 Reviewed by Simon Hausmann.
2195 [Qt] WebKit compilation fails with --3d-canvas
2196 https://bugs.webkit.org/show_bug.cgi?id=37699
2198 API for readPixels() has been changed.
2200 * platform/graphics/qt/GraphicsContext3DQt.cpp:
2201 (WebCore::GraphicsContext3D::readPixels):
2203 2010-04-16 No'am Rosenthal <noam.rosenthal@nokia.com>
2205 Reviewed by Antti Koivisto.
2207 [Qt]QtLauncher crash on page with CSS 3D transform
2208 https://bugs.webkit.org/show_bug.cgi?id=36859
2210 Added a neccessary null-pointer check, lack of which created the crash circumstances.
2212 Tested by http://css-vfx.googlecode.com/svn/trunk/snowstack/snowstack.html
2214 * platform/graphics/qt/GraphicsLayerQt.cpp:
2215 (WebCore::GraphicsLayerQtImpl::flushChanges):
2217 2010-04-16 Anders Carlsson <andersca@apple.com>
2219 Reviewed by Sam Weinig.
2221 Make sure to update the current graphics context when calling out to AppKit.
2223 * platform/mac/ThemeMac.mm:
2224 (WebCore::paintCheckbox):
2225 (WebCore::paintRadio):
2227 2010-04-15 Gavin Barraclough <barraclough@apple.com>
2229 Reviewed by Sam Weinig & Oliver Hunt.
2231 https://bugs.webkit.org/show_bug.cgi?id=37675
2232 Remove casts/constructors to/from JSC::UString type from WebCore::String
2234 WebCore's strings should not know about JSC::UString, this should be abstracted
2235 away in the bindings. Add explicit conversion methods rather than relying on
2236 overloaded cast operators / constructors being implicitly called.
2238 This patch only changes the class String, once this has landed StringImpl, and
2239 hopefully AtomicString too, should follow suit.
2242 WebCore::identifierToString
2243 WebCore::ustringToString
2244 WebCore::stringToUString
2246 - to JSDOMBindings.h, and updates code to call these methods.
2250 * bindings/js/CachedScriptSourceProvider.h:
2251 (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider):
2252 * bindings/js/JSAudioConstructor.cpp:
2253 (WebCore::constructAudio):
2254 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
2255 (WebCore::JSCSSStyleDeclaration::nameGetter):
2256 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
2257 (WebCore::toHTMLCanvasStyle):
2258 (WebCore::JSCanvasRenderingContext2D::setFillColor):
2259 (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
2260 (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
2261 (WebCore::JSCanvasRenderingContext2D::setShadow):
2262 (WebCore::JSCanvasRenderingContext2D::fillText):
2263 (WebCore::JSCanvasRenderingContext2D::strokeText):
2264 * bindings/js/JSClipboardCustom.cpp:
2265 (WebCore::JSClipboard::types):
2266 (WebCore::JSClipboard::clearData):
2267 (WebCore::JSClipboard::getData):
2268 (WebCore::JSClipboard::setData):
2269 * bindings/js/JSCustomXPathNSResolver.cpp:
2270 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
2271 * bindings/js/JSDOMBinding.cpp:
2272 (WebCore::identifierToString):
2273 (WebCore::ustringToString):
2274 (WebCore::stringToUString):
2275 (WebCore::valueToStringWithNullCheck):
2276 (WebCore::valueToStringWithUndefinedOrNullCheck):
2277 (WebCore::reportException):
2278 * bindings/js/JSDOMBinding.h:
2279 * bindings/js/JSDOMFormDataCustom.cpp:
2280 (WebCore::JSDOMFormData::append):
2281 * bindings/js/JSDOMWindowCustom.cpp:
2282 (WebCore::namedItemGetter):
2283 (WebCore::JSDOMWindow::setLocation):
2284 (WebCore::JSDOMWindow::openDatabase):
2285 * bindings/js/JSDatabaseCustom.cpp:
2286 (WebCore::JSDatabase::changeVersion):
2287 * bindings/js/JSDocumentCustom.cpp:
2288 (WebCore::JSDocument::setLocation):
2289 * bindings/js/JSEventListener.cpp:
2290 (WebCore::JSEventListener::handleEvent):
2291 * bindings/js/JSEventSourceConstructor.cpp:
2292 (WebCore::constructEventSource):
2293 * bindings/js/JSHTMLAllCollectionCustom.cpp:
2294 (WebCore::callHTMLAllCollection):
2295 * bindings/js/JSHTMLCanvasElementCustom.cpp:
2296 (WebCore::JSHTMLCanvasElement::getContext):
2297 * bindings/js/JSHTMLCollectionCustom.cpp:
2298 (WebCore::callHTMLCollection):
2299 * bindings/js/JSHTMLDocumentCustom.cpp:
2300 (WebCore::JSHTMLDocument::nameGetter):
2301 (WebCore::documentWrite):
2302 * bindings/js/JSInjectedScriptHostCustom.cpp:
2303 (WebCore::InjectedScriptHost::createInjectedScript):
2304 * bindings/js/JSInspectorFrontendHostCustom.cpp:
2305 (WebCore::JSInspectorFrontendHost::showContextMenu):
2306 * bindings/js/JSLazyEventListener.cpp:
2307 (WebCore::JSLazyEventListener::initializeJSFunction):
2308 * bindings/js/JSLocationCustom.cpp:
2309 (WebCore::JSLocation::setHref):
2310 (WebCore::JSLocation::setProtocol):
2311 (WebCore::JSLocation::setHost):
2312 (WebCore::JSLocation::setHostname):
2313 (WebCore::JSLocation::setPathname):
2314 (WebCore::JSLocation::setSearch):
2315 (WebCore::JSLocation::setHash):
2316 (WebCore::JSLocation::replace):
2317 (WebCore::JSLocation::assign):
2318 * bindings/js/JSMessageEventCustom.cpp:
2319 (WebCore::JSMessageEvent::initMessageEvent):
2320 * bindings/js/JSNamedNodeMapCustom.cpp:
2321 (WebCore::JSNamedNodeMap::canGetItemsForName):
2322 (WebCore::JSNamedNodeMap::nameGetter):
2323 * bindings/js/JSOptionConstructor.cpp:
2324 (WebCore::constructHTMLOptionElement):
2325 * bindings/js/JSSQLResultSetRowListCustom.cpp:
2326 (WebCore::JSSQLResultSetRowList::item):
2327 * bindings/js/JSSQLTransactionCustom.cpp:
2328 (WebCore::JSSQLTransaction::executeSql):
2329 * bindings/js/JSSharedWorkerConstructor.cpp:
2330 (WebCore::constructSharedWorker):
2331 * bindings/js/JSStorageCustom.cpp:
2332 (WebCore::JSStorage::canGetItemsForName):
2333 (WebCore::JSStorage::nameGetter):
2334 (WebCore::JSStorage::deleteProperty):
2335 (WebCore::JSStorage::getOwnPropertyNames):
2336 (WebCore::JSStorage::putDelegate):
2337 * bindings/js/JSStyleSheetListCustom.cpp:
2338 (WebCore::JSStyleSheetList::canGetItemsForName):
2339 (WebCore::JSStyleSheetList::nameGetter):
2340 * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
2341 (WebCore::constructWebKitCSSMatrix):
2342 * bindings/js/JSWebSocketConstructor.cpp:
2343 (WebCore::constructWebSocket):
2344 * bindings/js/JSWebSocketCustom.cpp:
2345 (WebCore::JSWebSocket::send):
2346 * bindings/js/JSWorkerConstructor.cpp:
2347 (WebCore::constructWorker):
2348 * bindings/js/JSWorkerContextCustom.cpp:
2349 (WebCore::JSWorkerContext::importScripts):
2350 * bindings/js/JSXMLHttpRequestCustom.cpp:
2351 (WebCore::JSXMLHttpRequest::open):
2352 (WebCore::JSXMLHttpRequest::setRequestHeader):
2353 (WebCore::JSXMLHttpRequest::send):
2354 (WebCore::JSXMLHttpRequest::overrideMimeType):
2355 * bindings/js/JSXSLTProcessorCustom.cpp:
2356 (WebCore::JSXSLTProcessor::setParameter):
2357 (WebCore::JSXSLTProcessor::getParameter):
2358 (WebCore::JSXSLTProcessor::removeParameter):
2359 * bindings/js/ScheduledAction.cpp:
2360 (WebCore::ScheduledAction::create):
2361 * bindings/js/ScriptCallFrame.cpp:
2362 (WebCore::ScriptCallFrame::ScriptCallFrame):
2363 * bindings/js/ScriptController.cpp:
2364 (WebCore::ScriptController::evaluateInWorld):
2365 * bindings/js/ScriptDebugServer.cpp:
2366 (WebCore::ScriptDebugServer::hasBreakpoint):
2367 (WebCore::ScriptDebugServer::dispatchDidParseSource):
2368 (WebCore::ScriptDebugServer::dispatchFailedToParseSource):
2369 (WebCore::ScriptDebugServer::sourceParsed):
2370 * bindings/js/ScriptEventListener.cpp:
2371 (WebCore::getEventListenerHandlerBody):
2372 * bindings/js/ScriptFunctionCall.cpp:
2373 (WebCore::ScriptFunctionCall::appendArgument):
2374 (WebCore::ScriptFunctionCall::call):
2375 (WebCore::ScriptFunctionCall::construct):
2376 * bindings/js/ScriptObject.cpp:
2377 (WebCore::ScriptObject::set):
2378 * bindings/js/ScriptProfiler.cpp:
2379 (WebCore::ScriptProfiler::start):
2380 (WebCore::ScriptProfiler::stop):
2381 * bindings/js/ScriptString.h:
2382 (WebCore::ScriptString::operator String):
2383 (WebCore::ScriptString::ustring):
2384 (WebCore::ScriptString::operator+=):
2385 * bindings/js/ScriptValue.cpp:
2386 (WebCore::ScriptValue::getString):
2387 * bindings/js/ScriptValue.h:
2388 (WebCore::ScriptValue::toString):
2389 * bindings/js/SerializedScriptValue.cpp:
2390 (WebCore::SerializedObject::set):
2391 (WebCore::SerializingTreeWalker::convertIfTerminal):
2392 (WebCore::DeserializingTreeWalker::putProperty):
2393 * bindings/js/StringSourceProvider.h:
2394 (WebCore::StringSourceProvider::StringSourceProvider):
2395 * bindings/objc/WebScriptObject.mm:
2396 (-[WebScriptObject callWebScriptMethod:withArguments:]):
2397 (-[WebScriptObject setValue:forKey:]):
2398 (-[WebScriptObject valueForKey:]):
2399 (-[WebScriptObject removeWebScriptKey:]):
2400 * bindings/scripts/CodeGeneratorJS.pm:
2401 * bridge/IdentifierRep.cpp:
2402 (WebCore::IdentifierRep::get):
2403 * bridge/c/c_utility.cpp:
2404 (JSC::Bindings::identifierFromNPIdentifier):
2405 * inspector/InspectorController.cpp:
2406 (WebCore::InspectorController::scriptImported):
2407 (WebCore::InspectorController::addProfileFinishedMessageToConsole):
2408 (WebCore::InspectorController::createProfileHeader):
2409 * inspector/InspectorResource.cpp:
2410 (WebCore::InspectorResource::sourceString):
2411 * inspector/JavaScriptCallFrame.cpp:
2412 (WebCore::JavaScriptCallFrame::functionName):
2414 (WebCore::KURL::operator const String&):
2415 * platform/text/AtomicString.cpp:
2416 (WebCore::AtomicString::operator UString):
2417 * platform/text/AtomicString.h:
2418 * platform/text/PlatformString.h:
2419 * platform/text/String.cpp:
2421 2010-04-16 Anders Carlsson <andersca@apple.com>
2423 Reviewed by David Hyatt.
2425 Always pass a view to the AppKit drawing functions.
2426 https://bugs.webkit.org/show_bug.cgi?id=37724
2428 * platform/mac/ThemeMac.mm:
2429 (WebCore::paintCheckbox):
2430 (WebCore::paintRadio):
2431 * rendering/RenderThemeMac.mm:
2432 (WebCore::RenderThemeMac::paintMenuList):
2433 (WebCore::RenderThemeMac::paintSliderThumb):
2434 (WebCore::RenderThemeMac::paintSearchField):
2435 (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
2436 (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
2437 (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
2439 2010-04-16 Alexey Proskuryakov <ap@apple.com>
2441 Reviewed by Dan Bernstein.
2443 https://bugs.webkit.org/show_bug.cgi?id=37718
2444 Safari crashes with certain JavaScript charCode events in EventHandler::needsKeyboardEventDisambiguationQuirks
2446 Test: fast/events/recorded-keydown-event.html
2448 * dom/KeyboardEvent.cpp: (WebCore::KeyboardEvent::charCode): Check if the view (window) is
2451 2010-04-16 Jian Li <jianli@chromium.org>
2453 Reviewed by Dmitry Titov.
2455 Update FormDataList to fix style violations in old code.
2456 https://bugs.webkit.org/show_bug.cgi?id=37689
2458 * html/FormDataList.h:
2459 (WebCore::FormDataList::appendData):
2460 (WebCore::FormDataList::appendBlob):
2462 2010-04-16 Anders Carlsson <andersca@apple.com>
2468 2010-04-16 Jay Civelli <jcivelli@chromium.org>
2470 Reviewed by Dimitri Glazkov.
2472 [chromium] Fix Mac build.
2473 https://bugs.webkit.org/show_bug.cgi?id=37436
2475 * platform/chromium/PopupMenuChromium.h:
2477 2010-04-16 Jay Civelli <jcivelli@chromium.org>
2479 Reviewed by Dimitri Glazkov.
2481 [chromium] Select popups would assert when destroyed.
2482 https://bugs.webkit.org/show_bug.cgi?id=37436
2485 * platform/chromium/PopupMenuChromium.cpp:
2486 (WebCore::PopupContainer::PopupContainer):
2487 (WebCore::PopupContainer::showPopup):
2488 (WebCore::PopupContainer::notifyPopupHidden):
2489 * platform/chromium/PopupMenuChromium.h:
2491 2010-04-16 Antonio Gomes <tonikitoo@webkit.org>
2493 Unreviewed QtWebKit (with Qt 4.7) build fix.
2495 Bug 37683 moved code from FontQt.cpp to FontPlatformDataQt.cpp but did not
2496 renamed the variable used.
2498 * platform/graphics/qt/FontPlatformDataQt.cpp:
2499 (WebCore::FontPlatformData::FontPlatformData):
2501 2010-04-16 Noam Rosenthal <noam.rosenthal@nokia.com>
2503 Reviewed by Kenneth Rohde Christiansen.
2505 Make GraphicsLayerQt always use ItemCoordinateCache, and remove ItemUsesExtendedStyleOption.
2506 This aligns our implementation with the Safari implementation - layers are always uploaded
2507 to textures in item units, and WebCore is responsible for the heuristics.
2509 [Qt] GraphicsLayer: performance optimizations
2510 https://bugs.webkit.org/show_bug.cgi?id=35393
2512 No new tests. Still no FPS benchmarks available (on any platform)
2513 but animations are noticably better.
2515 * platform/graphics/qt/GraphicsLayerQt.cpp:
2516 (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
2517 (WebCore::GraphicsLayerQtImpl::paint):
2518 (WebCore::GraphicsLayerQtImpl::flushChanges):
2519 (WebCore::TransformAnimationQt::updateState):
2521 2010-04-16 Simon Hausmann <simon.hausmann@nokia.com>
2523 Reviewed by Kenneth Rohde Christiansen.
2525 [Qt] WebCore::Font::font() causes a QFont detach
2526 https://bugs.webkit.org/show_bug.cgi?id=37683
2528 Moved the setStyleStrategy call to FontPlatformData
2529 to avoid the detach.
2531 Thanks to Holger for spotting this.
2533 * platform/graphics/qt/FontPlatformDataQt.cpp:
2534 (WebCore::FontPlatformData::FontPlatformData):
2535 * platform/graphics/qt/FontQt.cpp:
2536 (WebCore::Font::font):
2538 2010-04-15 Matt Perry <mpcomplete@chromium.org>
2540 Reviewed by Adam Barth.
2542 Remove the check for the main frame's scheme when deciding which
2543 v8 extensions to add to a script context. Instead, Chromium will
2544 handle that check elsewhere to allow finer-grained control over
2545 what APIs we expose to web pages.
2546 https://bugs.webkit.org/show_bug.cgi?id=37681
2548 * bindings/v8/V8DOMWindowShell.cpp:
2549 (WebCore::V8DOMWindowShell::createNewContext):
2551 2010-04-15 Luiz Agostini <luiz.agostini@openbossa.org>
2553 Reviewed by Antti Koivisto.
2555 No default selection for <select multiple> menu lists.
2556 https://bugs.webkit.org/show_bug.cgi?id=37530
2558 Manual test: manual-tests/no-listbox-rendering.html
2560 For menu lists, if the selection is not indicated by the html file, the first <option> will be
2561 selected after loading the page or reseting the form. On the other hand listboxes may have no
2562 element selected after loading the page or reseting the form.
2564 When NO_LISTBOX_RENDERING is enabled listboxes becomes menu lists. Those <select multiple>
2565 that did not have selected elements, now being menu lists, will have the first <option>
2566 selected. That is the behavior difference that this patch corrects.
2568 When NO_LISTBOX_RENDERING is enabled usesMenuList() always returns true then usesMenuList() cannot
2569 be used to decide about initial selection of the elements. This patch replaces (usesMenuLists())
2570 by (!multiple && size <= 1) where initial selection is considered.
2572 * dom/SelectElement.cpp:
2573 (WebCore::SelectElement::recalcListItems):
2574 (WebCore::SelectElement::reset):
2575 * manual-tests/no-listbox-rendering.html: Added.
2577 2010-04-15 Zhenyao Mo <zmo@google.com>
2579 Reviewed by Dimitri Glazkov.
2581 Index validation code validates too many vertex attributes
2582 https://bugs.webkit.org/show_bug.cgi?id=31892
2584 * html/canvas/WebGLProgram.cpp:
2585 (WebCore::WebGLProgram::cacheActiveAttribLocations): Cache active attribute locations for a program at linkProgram time.
2586 (WebCore::WebGLProgram::getActiveAttribLocation): Get the cached attribute location.
2587 (WebCore::WebGLProgram::numActiveAttribLocations): Get the number of cached attribute locations.
2588 * html/canvas/WebGLProgram.h: Add attribute locations member.
2589 * html/canvas/WebGLRenderingContext.cpp:
2590 (WebCore::WebGLRenderingContext::validateRenderingState): Add logic not to validate those attributes that do not belong to the current program.
2591 (WebCore::WebGLRenderingContext::linkProgram): Call cacheActiveAttribLocations().
2593 2010-04-16 Adam Roben <aroben@apple.com>
2595 Don't assert when soft-linked libraries can't be found
2597 In some situations (e.g., when using SOFT_LINK_OPTIONAL), we expect soft-link libraries not
2598 to be able to be found in all cases. So we shouldn't assert that they're always found.
2600 Reviewed by Sam Weinig.
2602 * platform/win/SoftLinking.h:
2603 (SOFT_LINK): Don't assert when LoadLibrary fails.
2605 2010-04-15 Dmitry Titov <dimich@chromium.org>
2607 Unreviewed, rolling out r57688.
2608 http://trac.webkit.org/changeset/57688
2609 https://bugs.webkit.org/show_bug.cgi?id=34992
2611 Makes fast/workers/dedicated-worker-lifecycle.html crashing on all GTK bots
2613 * bindings/js/JSWorkerContextCustom.cpp:
2614 * bindings/v8/custom/V8WorkerContextCustom.cpp:
2615 * storage/Database.idl:
2616 * storage/SQLError.idl:
2617 * storage/SQLResultSet.idl:
2618 * storage/SQLResultSetRowList.idl:
2619 * storage/SQLTransaction.idl:
2620 * workers/WorkerContext.cpp:
2621 (WebCore::WorkerContext::openDatabase):
2622 * workers/WorkerContext.h:
2623 (WebCore::WorkerContext::databaseExceededQuota):
2624 * workers/WorkerContext.idl:
2626 2010-04-15 Yury Semikhatsky <yurys@google.com>
2628 Reviewed by Pavel Feldman.
2630 Support basic debugging capabilities including step in/over/out in v8
2631 implementation of ScriptDebugServer.
2633 https://bugs.webkit.org/show_bug.cgi?id=37604
2635 * bindings/js/JSInjectedScriptHostCustom.cpp:
2636 (WebCore::InjectedScriptHost::createInjectedScript):
2637 * bindings/v8/ScriptDebugServer.cpp:
2638 (WebCore::ScriptDebugServer::ScriptDebugServer):
2639 (WebCore::ScriptDebugServer::setDebuggerScriptSource):
2640 (WebCore::ScriptDebugServer::addListener):
2641 (WebCore::ScriptDebugServer::removeListener):
2642 (WebCore::ScriptDebugServer::setBreakpoint):
2643 (WebCore::ScriptDebugServer::removeBreakpoint):
2644 (WebCore::ScriptDebugServer::clearBreakpoints):
2645 (WebCore::ScriptDebugServer::setBreakpointsActivated):
2646 (WebCore::ScriptDebugServer::continueProgram):
2647 (WebCore::ScriptDebugServer::stepIntoStatement):
2648 (WebCore::ScriptDebugServer::stepOverStatement):
2649 (WebCore::ScriptDebugServer::stepOutOfFunction):
2650 (WebCore::ScriptDebugServer::currentCallFrameState):
2651 (WebCore::ScriptDebugServer::currentCallFrameV8):
2652 (WebCore::ScriptDebugServer::onV8DebugMessage):
2653 (WebCore::ScriptDebugServer::onV8DebugHostDispatch):
2654 (WebCore::ScriptDebugServer::handleV8DebugHostDispatch):
2655 (WebCore::ScriptDebugServer::handleV8DebugMessage):
2656 (WebCore::ScriptDebugServer::dispatchDidParseSource):
2657 (WebCore::ScriptDebugServer::ensureDebuggerScriptCompiled):
2658 (WebCore::ScriptDebugServer::didResume):
2659 * bindings/v8/ScriptDebugServer.h:
2660 (WebCore::ScriptDebugServer::pauseOnExceptionsState):
2661 (WebCore::ScriptDebugServer::setPauseOnExceptionsState):
2662 (WebCore::ScriptDebugServer::setMessageLoopDispatchHandler):
2663 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2664 (WebCore::InjectedScriptHost::createInjectedScript):
2665 (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
2666 (WebCore::V8InjectedScriptHost::isActivationCallback):
2667 * inspector/front-end/InjectedScript.js:
2668 (injectedScriptConstructor):
2669 (injectedScriptConstructor.):
2670 * inspector/front-end/ScriptsPanel.js:
2671 (WebInspector.ScriptsPanel):
2673 2010-04-15 Jian Li <jianli@chromium.org>
2675 Reviewed by Dmitry Titov.
2677 Support using FormData to send a sliced file via XHR.
2678 https://bugs.webkit.org/show_bug.cgi?id=36678
2680 Tests: http/tests/local/formdata/send-form-data-with-sliced-file.html
2683 (WebCore::Blob::isFile):
2684 * html/DOMFormData.cpp:
2685 (WebCore::DOMFormData::append):
2687 (WebCore::File::isFile):
2688 * html/FormDataList.h:
2689 (WebCore::FormDataList::appendBlob):
2690 (WebCore::FormDataList::Item::Item):
2691 (WebCore::FormDataList::Item::blob):
2692 * html/HTMLInputElement.cpp:
2693 (WebCore::HTMLInputElement::appendFormData):
2694 * platform/network/FormData.cpp:
2695 (WebCore::FormData::appendDOMFormData):
2696 * platform/network/mac/FormDataStreamMac.mm:
2697 (WebCore::closeCurrentStream):
2699 2010-04-15 Zhenyao Mo <zmo@google.com>
2701 Reviewed by Dimitri Glazkov.
2703 Must enable GL_VERTEX_PROGRAM_POINT_SIZE during initialization
2704 https://bugs.webkit.org/show_bug.cgi?id=37178
2706 Test: fast/canvas/webgl/point-size.html
2708 * platform/graphics/mac/GraphicsContext3DMac.cpp: Enable GL_VERTEX_PROGRAM_POINT_SIZE during initialization.
2709 (WebCore::GraphicsContext3D::GraphicsContext3D):
2711 2010-04-15 Eric Uhrhane <ericu@chromium.org>
2713 Reviewed by Dmitry Titov.
2715 Add bindings for async DB API in Workers.
2716 https://bugs.webkit.org/show_bug.cgi?id=34992
2718 Tests: storage/change-version-handle-reuse-worker.html
2719 storage/execute-sql-args-worker.html
2721 * bindings/js/JSWorkerContextCustom.cpp: Add openDatabase binding.
2722 (WebCore::JSWorkerContext::openDatabase):
2724 * 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.
2725 (WebCore::V8WorkerContext::openDatabaseCallback):
2727 Add NoStaticTables flags to all objects now shared with workers.
2728 * storage/Database.idl:
2729 * storage/SQLError.idl:
2730 * storage/SQLResultSet.idl:
2731 * storage/SQLResultSetRowList.idl:
2732 * storage/SQLTransaction.idl:
2734 * workers/WorkerContext.h: Add databaseExceededQuota.
2735 * workers/WorkerContext.cpp:
2736 (WebCore::WorkerContext::databaseExceededQuota): Add stub implementation for testing; you just get 5MB for now.
2737 (WebCore::WorkerContext::openDatabase): Remove invalid assertion.
2739 Add the IDL for the call to openDatabase.
2740 * workers/WorkerContext.idl:
2742 2010-04-15 Nicolas Weber <thakis@chromium.org>
2744 Reviewed by Dimitri Glazkov.
2746 Fix drag image thumbnails for indexed images.
2747 https://bugs.webkit.org/show_bug.cgi?id=37621
2749 * platform/chromium/DragImageChromiumMac.cpp:
2750 (WebCore::scaleDragImage): Always use RGB color space.
2751 (WebCore::dissolveDragImageToFraction): Always use RGB color space.
2753 2010-04-15 Adam Roben <aroben@apple.com>
2755 Expose UserContentURLPattern as WebKit SPI
2757 Fixes <http://webkit.org/b/37354>.
2759 Reviewed by Tim Hatcher.
2761 * WebCore.base.exp: Export UserContentURLPattern::parse, and sorted
2764 * WebCore.xcodeproj/project.pbxproj: Marked UserContentURLPattern.h as
2767 * page/UserContentURLPattern.h:
2768 (WebCore::UserContentURLPattern::UserContentURLPattern): Added a
2769 default constructor.
2770 (WebCore::UserContentURLPattern::isValid): Added this getter.
2772 2010-04-15 Chris Fleizach <cfleizach@apple.com>
2774 Reviewed by Beth Dakin.
2776 AXHelp is being appended from ancestors incorrectly
2777 https://bugs.webkit.org/show_bug.cgi?id=37659
2779 Test: platform/mac/accessibility/unexpected-help-text.html
2781 * accessibility/AccessibilityRenderObject.cpp:
2782 (WebCore::AccessibilityRenderObject::helpText):
2784 2010-04-15 David Hyatt <hyatt@apple.com>
2786 Reviewed by Anders Carlsson.
2788 https://bugs.webkit.org/show_bug.cgi?id=37669, REGRESSION: visited styles don't work right when only the visited path specifies
2791 Rework the pseudo cache on RenderStyles to support nesting, i.e., a pseudo hanging off a pseudo. The existing model gets
2792 confused by this concept, since it relies on a singly linked list of chained pseudo styles (instead of a Vector owned by a primary
2793 style). I changed the style cache to be a Vector instead.
2795 Reworked both styleForElement and pseudoStyleForElement to resolve visited styles first, since in the pseudoStyleForElement case
2796 you need to do this in order to know to allocate an unvisited pseudo style even if one shouldn't normally exist.
2798 * css/CSSStyleSelector.cpp:
2799 (WebCore::CSSStyleSelector::styleForElement):
2800 (WebCore::CSSStyleSelector::pseudoStyleForElement):
2802 (WebCore::Element::pseudoStyleCacheIsInvalid):
2803 * rendering/style/RenderStyle.cpp:
2804 (WebCore::RenderStyle::getCachedPseudoStyle):
2805 (WebCore::RenderStyle::addCachedPseudoStyle):
2806 * rendering/style/RenderStyle.h:
2808 (WebCore::InheritedFlags::cachedPseudoStyles):
2810 2010-04-15 Albert J. Wong <ajwong@chromium.org>
2812 Unreviewed, rolling out r57660.
2813 http://trac.webkit.org/changeset/57660
2814 https://bugs.webkit.org/show_bug.cgi?id=37604
2816 Broke a large number of inspector layout tests in chromium.
2818 * bindings/js/JSInjectedScriptHostCustom.cpp:
2819 (WebCore::InjectedScriptHost::createInjectedScript):
2820 * bindings/v8/ScriptDebugServer.cpp:
2821 * bindings/v8/ScriptDebugServer.h:
2822 (WebCore::ScriptDebugServer::addListener):
2823 (WebCore::ScriptDebugServer::removeListener):
2824 (WebCore::ScriptDebugServer::setBreakpoint):
2825 (WebCore::ScriptDebugServer::removeBreakpoint):
2826 (WebCore::ScriptDebugServer::clearBreakpoints):
2827 (WebCore::ScriptDebugServer::setBreakpointsActivated):
2828 (WebCore::ScriptDebugServer::pauseOnExceptionsState):
2829 (WebCore::ScriptDebugServer::setPauseOnExceptionsState):
2830 (WebCore::ScriptDebugServer::continueProgram):
2831 (WebCore::ScriptDebugServer::stepIntoStatement):
2832 (WebCore::ScriptDebugServer::stepOverStatement):
2833 (WebCore::ScriptDebugServer::stepOutOfFunction):
2834 (WebCore::ScriptDebugServer::currentCallFrameState):
2835 (WebCore::ScriptDebugServer::ScriptDebugServer):
2836 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2837 (WebCore::InjectedScriptHost::createInjectedScript):
2838 (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
2839 (WebCore::V8InjectedScriptHost::isActivationCallback):
2840 * inspector/front-end/InjectedScript.js:
2841 (injectedScriptConstructor):
2842 * inspector/front-end/ScriptsPanel.js:
2843 (WebInspector.ScriptsPanel):
2845 2010-04-14 Dumitru Daniliuc <dumi@chromium.org>
2847 Reviewed by Dimitri Glazkov.
2849 DatabaseTracker refactoring: remove the dependency on
2850 OriginQuotaManager from DatabaseTracker.h
2851 https://bugs.webkit.org/show_bug.cgi?id=31482
2853 * storage/DatabaseTracker.cpp:
2854 (WebCore::DatabaseTracker::DatabaseTracker):
2855 (WebCore::DatabaseTracker::~DatabaseTracker):
2856 (WebCore::DatabaseTracker::canEstablishDatabase):
2857 (WebCore::DatabaseTracker::hasEntryForOrigin):
2858 (WebCore::DatabaseTracker::getMaxSizeForDatabase):
2859 (WebCore::DatabaseTracker::databaseChanged):
2860 (WebCore::DatabaseTracker::fullPathForDatabaseNoLock):
2861 (WebCore::DatabaseTracker::fullPathForDatabase):
2862 (WebCore::DatabaseTracker::populateOrigins):
2863 (WebCore::DatabaseTracker::origins):
2864 (WebCore::DatabaseTracker::databaseNamesForOrigin):
2865 (WebCore::DatabaseTracker::addOpenDatabase):
2866 (WebCore::DatabaseTracker::removeOpenDatabase):
2867 (WebCore::DatabaseTracker::usageForOriginNoLock):
2868 (WebCore::DatabaseTracker::usageForOrigin):
2869 (WebCore::DatabaseTracker::quotaForOrigin):
2870 (WebCore::DatabaseTracker::setQuota):
2871 (WebCore::DatabaseTracker::deleteOrigin):
2872 (WebCore::DatabaseTracker::deleteDatabase):
2873 (WebCore::DatabaseTracker::deleteDatabaseFile):
2874 * storage/DatabaseTracker.h:
2875 * storage/SQLTransactionClient.cpp:
2876 (WebCore::SQLTransactionClient::didExecuteStatement):
2878 2010-04-15 Zhenyao Mo <zmo@google.com>
2880 Reviewed by Adam Barth.
2882 Several tests in fast/canvas/webgl/ failed randomly on Leopard Commit Bot
2883 This fixes an uninitialized variable bug and restores a glFinish call that used to be present.
2884 https://bugs.webkit.org/show_bug.cgi?id=36908
2886 * platform/graphics/mac/GraphicsContext3DMac.cpp:
2887 (WebCore::GraphicsContext3D::GraphicsContext3D): Initialize width/height to 0/0.
2888 (WebCore::GraphicsContext3D::prepareTexture): Restore glFinish() in every path.
2890 2010-04-14 Antonio Gomes <tonikitoo@webkit.org>
2892 Reviewed by Simon Fraser.
2894 Spatial Navigation: make hasOffscreenRect() to earlier return 'true' if absoluteClippedOverflowRect() gives an empty rect
2895 https://bugs.webkit.org/show_bug.cgi?id=37635
2897 absoluteClippedOverflowRect method of RenderObject does return an empty IntRect for offscreen nodes.
2898 So hasOffscreenRect method (SpatialNavigation.cpp) can safily bail out earlier in such cases.
2900 * page/SpatialNavigation.cpp:
2901 (WebCore::hasOffscreenRect):
2903 2010-04-14 Antonio Gomes <tonikitoo@webkit.org>
2905 Reviewed by Simon Fraser.
2907 Spatial Navigation: remove unnecessery assignment in updateFocusCandidateIfCloser method
2908 https://bugs.webkit.org/show_bug.cgi?id=37634
2910 This assignment line is not longer needed after r57061, bug that refactored all
2911 assignment logic to happen lines below in the method.
2913 * page/FocusController.cpp:
2914 (WebCore::updateFocusCandidateIfCloser):
2916 2010-04-15 Yury Semikhatsky <yurys@google.com>
2918 Reviewed by Pavel Feldman.
2920 Support basic debugging capabilities including step in/over/out in v8
2921 implementation of ScriptDebugServer.
2923 https://bugs.webkit.org/show_bug.cgi?id=37604
2925 * bindings/js/JSInjectedScriptHostCustom.cpp:
2926 (WebCore::InjectedScriptHost::createInjectedScript):
2927 * bindings/v8/ScriptDebugServer.cpp:
2928 (WebCore::ScriptDebugServer::ScriptDebugServer):
2929 (WebCore::ScriptDebugServer::setDebuggerScriptSource):
2930 (WebCore::ScriptDebugServer::addListener):
2931 (WebCore::ScriptDebugServer::removeListener):
2932 (WebCore::ScriptDebugServer::setBreakpoint):
2933 (WebCore::ScriptDebugServer::removeBreakpoint):
2934 (WebCore::ScriptDebugServer::clearBreakpoints):
2935 (WebCore::ScriptDebugServer::setBreakpointsActivated):
2936 (WebCore::ScriptDebugServer::continueProgram):
2937 (WebCore::ScriptDebugServer::stepIntoStatement):
2938 (WebCore::ScriptDebugServer::stepOverStatement):
2939 (WebCore::ScriptDebugServer::stepOutOfFunction):
2940 (WebCore::ScriptDebugServer::currentCallFrameState):
2941 (WebCore::ScriptDebugServer::currentCallFrameV8):
2942 (WebCore::ScriptDebugServer::onV8DebugMessage):
2943 (WebCore::ScriptDebugServer::onV8DebugHostDispatch):
2944 (WebCore::ScriptDebugServer::handleV8DebugHostDispatch):
2945 (WebCore::ScriptDebugServer::handleV8DebugMessage):
2946 (WebCore::ScriptDebugServer::dispatchDidParseSource):
2947 (WebCore::ScriptDebugServer::ensureDebuggerScriptCompiled):
2948 (WebCore::ScriptDebugServer::didResume):
2949 * bindings/v8/ScriptDebugServer.h:
2950 (WebCore::ScriptDebugServer::pauseOnExceptionsState):
2951 (WebCore::ScriptDebugServer::setPauseOnExceptionsState):
2952 (WebCore::ScriptDebugServer::setMessageLoopDispatchHandler):
2953 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2954 (WebCore::InjectedScriptHost::createInjectedScript):
2955 (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
2956 (WebCore::V8InjectedScriptHost::isActivationCallback):
2957 * inspector/front-end/InjectedScript.js:
2958 (injectedScriptConstructor):
2959 (injectedScriptConstructor.):
2960 * inspector/front-end/ScriptsPanel.js:
2961 (WebInspector.ScriptsPanel):
2963 2010-04-15 Nikolas Zimmermann <nzimmermann@rim.com>
2965 Reviewed by Beth Dakin.
2967 RenderSVGResource <-> id mapping should be cached
2968 https://bugs.webkit.org/show_bug.cgi?id=37575
2970 Test: svg/custom/clip-path-id-changes.svg
2972 * rendering/RenderSVGResource.h:
2973 (WebCore::RenderSVGResource::RenderSVGResource):
2974 (WebCore::RenderSVGResource::~RenderSVGResource):
2975 (WebCore::RenderSVGResource::idChanged):
2976 (WebCore::getRenderSVGResourceById):
2977 * svg/SVGDocumentExtensions.cpp:
2978 (WebCore::SVGDocumentExtensions::addResource):
2979 (WebCore::SVGDocumentExtensions::removeResource):
2980 (WebCore::SVGDocumentExtensions::resourceById):
2981 * svg/SVGDocumentExtensions.h:
2982 * svg/SVGStyledElement.cpp:
2983 (WebCore::SVGStyledElement::svgAttributeChanged):
2985 2010-04-15 Justin Schuh <jschuh@chromium.org>
2987 Reviewed by Dimitri Glazkov.
2989 LayoutTest breakage in V8 bindings after r57627
2990 https://bugs.webkit.org/show_bug.cgi?id=37660
2992 Fixes breakage of the following tests due to an error in V8 bindings for
2994 hc_namednodemapinuseattributeerr.html
2995 hc_namednodemapsetnameditemreturnvalue.html
2996 hc_namednodemapwrongdocumenterr.html
2997 hc_namednodemapinvalidtype1.html
2998 NamedNodeMap-setNamedItem-crash.html
3000 * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
3001 (WebCore::V8NamedNodeMap::setNamedItemNSCallback):
3002 (WebCore::V8NamedNodeMap::setNamedItemCallback):
3004 2010-04-15 David Hyatt <hyatt@apple.com>
3006 Reviewed by Anders Carlsson.
3008 https://bugs.webkit.org/show_bug.cgi?id=37567, :first-letter inside a :visited link is wrong color. Make sure
3009 that the pseudo style caching allows visited link styles to hang off other pseudo styles.
3011 * rendering/RenderBlock.cpp:
3012 (WebCore::RenderBlock::updateFirstLetter):
3013 * rendering/style/RenderStyle.cpp:
3014 (WebCore::RenderStyle::getCachedPseudoStyle):
3016 2010-04-15 Ben Murdoch <benm@google.com>
3018 Unreviewed, rolling out r57652.
3019 http://trac.webkit.org/changeset/57652
3020 https://bugs.webkit.org/show_bug.cgi?id=37609
3022 Caused a build break on Chromium Mac and Layout Test fail on
3025 * platform/PlatformTouchPoint.h:
3026 (WebCore::PlatformTouchPoint::):
3027 * platform/qt/PlatformTouchPointQt.cpp:
3028 (WebCore::PlatformTouchPoint::PlatformTouchPoint):
3030 2010-04-15 Yaar Schnitman <yaar@chromium.org>
3032 Reviewed by Nate Chapin.
3034 Overloads auto-generation in V8
3035 https://bugs.webkit.org/show_bug.cgi?id=37373
3037 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.
3039 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).
3041 * bindings/scripts/CodeGeneratorV8.pm: Identify and output overloads callbacks and dispatch code.
3042 * bindings/v8/test/TestObj.idl: Overloads sample.
3043 * bindings/v8/test/V8TestObj.cpp: Output change.
3045 2010-04-15 Ben Murdoch <benm@google.com>
3047 Reviewed by Kenneth Rohde Christiansen.
3049 The TouchStationary state of WebCore::PlatformTouchPoint
3050 is not handled inside the touch event handler.
3051 https://bugs.webkit.org/show_bug.cgi?id=37609
3053 After discussions at the WebKit contributors meeting, we decided
3054 that this is a currently unused state without a good future use
3055 case in the Touch API and thus decided to remove it. This patch
3056 actions that decision.
3058 As the TouchStationary state is not handled in the EventHandler,
3059 there is no change in functionality so no new tests are required.
3061 * platform/PlatformTouchPoint.h:
3062 (WebCore::PlatformTouchPoint::): Remove TouchStationary.
3063 * platform/qt/PlatformTouchPointQt.cpp:
3064 (WebCore::PlatformTouchPoint::PlatformTouchPoint): Remove TouchStationary.
3066 2010-04-15 Steve Falkenburg <sfalken@apple.com>
3068 Reviewed by Adam Roben.
3070 Use a lower-overhead mechanism for plug-in message throttling
3071 https://bugs.webkit.org/show_bug.cgi?id=37642
3072 <rdar://problem/7418285> Very high CPU usage idling in gmail under Windows 7 (plug-in related)
3074 GMail has an instance of Flash that loads on the main mail page.
3075 This Flash content sends us a constant stream of WM_USER+1 messsages.
3077 There was already code in PluginMessageThrottlerWin to queue and process these
3078 excess WM_USER+1 messages from Flash. Unfortunately, there were a couple of
3079 problems with this code:
3081 - The timer used to process the excess messages had a very low timeout (1ms).
3082 Chrome uses a value of 5ms for this delay, and doesn't use excess CPU here,
3083 while still maintaining good Flash frame rate.
3085 - The overhead involved in generating a constant stream of 5ms timers still swamped
3086 the CPU, resulting in continued high CPU utilization.
3088 To fix this, I changed the throttling code to:
3090 - Process a queued WM_USER+1 message directly if none has been processed in 5ms.
3091 This allows us to avoid the overhead of a timer.
3093 - Process remaining delayed WM_USER+1 messages on a 16ms timer.
3095 This reduces our CPU utilization idling in GMail from ~20% to ~2-3% on my system.
3096 I also verified the frame rate for Flash content wasn't reduced with this change.
3098 * plugins/win/PluginMessageThrottlerWin.cpp:
3099 (WebCore::PluginMessageThrottlerWin::PluginMessageThrottlerWin): Initialize m_lastMessageTime.
3100 (WebCore::PluginMessageThrottlerWin::appendMessage): Process a queued message directly if >5ms have passed.
3101 (WebCore::PluginMessageThrottlerWin::processQueuedMessage): Split out from messageThrottleTimerFired.
3102 (WebCore::PluginMessageThrottlerWin::messageThrottleTimerFired): Call through to processQueuedMessage.
3103 * plugins/win/PluginMessageThrottlerWin.h: Add processQueuedMessage, m_lastMessageTime.
3105 2010-04-15 Shinichiro Hamaji <hamaji@chromium.org>
3107 Reviewed by David Levin.
3109 LEAK: in ThreadableWebSocketChannel::create()
3110 https://bugs.webkit.org/show_bug.cgi?id=37584
3112 No new tests because this change just fixes a leak.
3114 * websockets/WorkerThreadableWebSocketChannel.cpp:
3115 (WebCore::WorkerThreadableWebSocketChannel::WorkerThreadableWebSocketChannel):
3116 * websockets/WorkerThreadableWebSocketChannel.h:
3117 (WebCore::WorkerThreadableWebSocketChannel::Bridge::create):
3119 2010-04-15 Gyuyoung Kim <gyuyoung.kim@samsung.com>
3121 Reviewed by Eric Seidel.
3123 Duplicated patches related to wml were pushed to trunk. So, one of
3124 the patches should be reverted.
3125 https://bugs.webkit.org/show_bug.cgi?id=37542
3127 * wml/WMLOptionElement.h:
3128 * wml/WMLSelectElement.h:
3130 2010-04-15 Bruno Schmidt <bruno.schmidt@gmail.com>
3132 Reviewed by Kenneth Rohde Christiansen.
3134 [Qt] Null QObjects properties cause Segmentation Fault
3135 https://bugs.webkit.org/show_bug.cgi?id=34730
3137 QObjects exported to the QWebkit javascript with properties that are
3138 a null "QObject*" cause Segmentation Fault.
3140 If an QObject is added to the javascript context and it contains
3141 properties of the type QObject* with NULL value, calling the property
3142 causes Segmentation Fault.
3143 So now the code below properly checks for null pointers:
3145 * bridge/qt/qt_instance.cpp:
3146 (JSC::Bindings::QtInstance::getClass): may return NULL
3147 (JSC::Bindings::QtInstance::getMethod): may return jsNull()
3148 (JSC::Bindings::QtInstance::stringValue): may return jsNull()
3149 (JSC::Bindings::QtInstance::booleanValue): may return false
3150 * bridge/qt/qt_runtime.cpp:
3151 (JSC::Bindings::convertValueToQVariant):
3152 (JSC::Bindings::convertQVariantToValue): May return jsNull on QObjectStar
3154 2010-04-14 Simon Fraser <simon.fraser@apple.com>
3156 Reviewed by Dan Bernstein.
3158 Repaint of fixed, transformed element is broken
3159 https://bugs.webkit.org/show_bug.cgi?id=37637
3161 RenderBox::computeRectForRepaint() failed to set the 'fixed' flag correctly
3162 for elements that had both fixed position and a transform. If the element has
3163 a transform, 'fixed' should only remain true if the element itself is fixed
3166 Also cache style()->position() in a local variable for performance.
3168 Test: fast/repaint/fixed-tranformed.html
3170 * rendering/RenderBox.cpp:
3171 (WebCore::RenderBox::computeRectForRepaint):
3173 2010-04-14 Luiz Agostini <luiz.agostini@openbossa.org>
3175 Reviewed by Kenneth Rohde Christiansen.
3177 Changing view mode names due to specification changes
3178 https://bugs.webkit.org/show_bug.cgi?id=37615
3180 test: fast/media/media-feature-wgt-view-mode.html
3182 specification: http://dev.w3.org/2006/waf/widgets-vmmf/
3184 * css/MediaQueryEvaluator.cpp:
3185 (WebCore::view_modeMediaFeatureEval):
3186 * page/ChromeClient.h:
3187 (WebCore::ChromeClient::isWindowed):
3188 (WebCore::ChromeClient::isMaximized):
3189 (WebCore::ChromeClient::isMinimized):
3191 2010-04-14 Adam Barth <abarth@webkit.org>
3193 Unreviewed attempt to fix Qt build.
3195 * bindings/js/JSNodeCustom.cpp:
3197 2010-04-14 Justin Schuh <jschuh@chromium.org>
3199 Reviewed by Adam Barth.
3201 Javascript URL can be set as iframe.src via multiple DOM aliases
3202 https://bugs.webkit.org/show_bug.cgi?id=37031
3204 Moved frame/iframe checks from Attr to Node on inherited members.
3205 Node child manipulation methods now return NOT_SUPPORTED_ERR if used
3206 on a frame/iframe src attribute.
3207 NamedNodeMap set methods now perform frame/iframe src checks.
3208 Moved allowSettingSrcToJavascriptURL static helper function from
3209 JSElementCustom.cpp to exported function in JSDOMBinding.h.
3211 * bindings/js/JSAttrCustom.cpp:
3212 (WebCore::JSAttr::setValue):
3213 * bindings/js/JSDOMBinding.cpp:
3214 (WebCore::allowSettingSrcToJavascriptURL):
3215 * bindings/js/JSDOMBinding.h:
3216 * bindings/js/JSElementCustom.cpp:
3217 * bindings/js/JSNamedNodeMapCustom.cpp:
3218 (WebCore::JSNamedNodeMap::setNamedItem):
3219 (WebCore::JSNamedNodeMap::setNamedItemNS):
3220 * bindings/js/JSNodeCustom.cpp:
3221 (WebCore::isAttrFrameSrc):
3222 (WebCore::JSNode::setNodeValue):
3223 (WebCore::JSNode::setTextContent):
3224 (WebCore::JSNode::insertBefore):
3225 (WebCore::JSNode::replaceChild):
3226 (WebCore::JSNode::removeChild):
3227 (WebCore::JSNode::appendChild):
3228 * bindings/v8/custom/V8AttrCustom.cpp:
3229 * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
3230 (WebCore::V8NamedNodeMap::setNamedItemNSCallback):
3231 (WebCore::V8NamedNodeMap::setNamedItemCallback):
3233 * bindings/v8/custom/V8NodeCustom.cpp:
3234 (WebCore::isFrameSrc):
3235 (WebCore::V8Node::textContentAccessorSetter):
3236 (WebCore::V8Node::nodeValueAccessorSetter):
3237 (WebCore::V8Node::insertBeforeCallback):
3238 (WebCore::V8Node::replaceChildCallback):
3239 (WebCore::V8Node::removeChildCallback):
3240 (WebCore::V8Node::appendChildCallback):
3242 * dom/NamedNodeMap.idl:
3245 2010-04-14 Alejandro G. Castro <alex@igalia.com>
3247 Reviewed by Xan Lopez.
3249 We have to check if the resource handler is cancelled before
3250 checking the client, other case it could crash.
3252 * platform/network/soup/ResourceHandleSoup.cpp:
3253 (WebCore::parseDataUrl):
3255 2010-04-14 Sheriff Bot <webkit.review.bot@gmail.com>
3257 Unreviewed, rolling out r57609.
3258 http://trac.webkit.org/changeset/57609
3259 https://bugs.webkit.org/show_bug.cgi?id=37614
3261 "Broke multiple builders. Probably needs new test results,
3262 but may be an Inspector bug." (Requested by eseidel on
3265 * inspector/InspectorController.cpp:
3266 (WebCore::InspectorController::didReceiveResponse):
3267 (WebCore::InspectorController::didFailLoading):
3268 * inspector/front-end/Resource.js:
3269 (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
3270 * inspector/front-end/ResourcesPanel.js:
3271 (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
3273 2010-04-14 Steve Falkenburg <sfalken@apple.com>
3275 Reviewed by Dan Bernstein.
3277 Don't cache SimpleFontData* in getLastResortFallbackFont. The cached entry may be invalidated.
3278 https://bugs.webkit.org/show_bug.cgi?id=37599
3280 * platform/graphics/win/FontCacheWin.cpp:
3281 (WebCore::fontDataFromDescriptionAndLogFont):
3282 (WebCore::FontCache::getLastResortFallbackFont):
3284 2010-04-14 Andrey Kosyakov <caseq@chromium.ru>
3286 Reviewed by Timothy Hatcher.
3288 Log error message to inspector console if a resource fails to load.
3289 Disable checking of mime-type consistency for failed resources.
3290 https://bugs.webkit.org/show_bug.cgi?id=37215
3292 Test: inspector/console-resource-errors.html
3294 * inspector/InspectorController.cpp:
3295 (WebCore::InspectorController::didReceiveResponse):
3296 (WebCore::InspectorController::didFailLoading):
3297 * inspector/front-end/Resource.js:
3298 (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
3299 * inspector/front-end/ResourcesPanel.js:
3300 (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
3302 2010-04-14 Sheriff Bot <webkit.review.bot@gmail.com>
3304 Unreviewed, rolling out r57599.
3305 http://trac.webkit.org/changeset/57599
3306 https://bugs.webkit.org/show_bug.cgi?id=37605
3308 "Broke Chromium build" (Requested by dglazkov on #webkit).
3310 * platform/chromium/PopupMenuChromium.cpp:
3311 (WebCore::PopupContainer::PopupContainer):
3312 (WebCore::PopupContainer::showPopup):
3313 (WebCore::PopupContainer::notifyPopupHidden):
3314 * platform/chromium/PopupMenuChromium.h:
3316 2010-04-14 Aaron Boodman <aa@chromium.org>
3318 Reviewed by David Levin.
3320 Support relative URLs for notifications on Chromium. They weren't working previously because WebCore was inserting
3321 the relative URL into a KURL instance, but when KURL is backed by GURL as it is on Chromium, relative URLs are
3322 unsupported. Fixed by resolving the relative URL first.
3324 https://bugs.webkit.org/show_bug.cgi?id=36623
3326 Adding tests for this is difficult because we don't currently have DRT support for notifications on Mac, only Windows.
3328 * notifications/Notification.cpp:
3329 (WebCore::Notification::Notification): Accept resolved KURL instead of relative string.
3330 * notifications/Notification.h:
3331 (WebCore::Notification::create): Ditto.
3332 (WebCore::Notification::iconURL): Return resolved KURL instead of relative string.
3333 * notifications/NotificationCenter.h:
3334 (WebCore::NotificationCenter::createHTMLNotification): Immediately resolve URL instead of passing off relative string.
3335 (WebCore::NotificationCenter::createNotification): Ditto.
3336 * notifications/NotificationContents.h:
3337 (WebCore::NotificationContents::NotificationContents): Accept resolved KURL instead of relative string.
3338 (WebCore::NotificationContents::icon): Return resolved URL.
3340 2010-04-14 Anders Carlsson <andersca@apple.com>
3342 Reviewed by Sam Weinig.
3344 Add ThemeMac::ensuredView and get rid of a workaround in ThemeMac::paintButton.
3345 https://bugs.webkit.org/show_bug.cgi?id=37601
3347 * platform/mac/ThemeMac.h:
3348 * platform/mac/ThemeMac.mm:
3349 (-[WebCoreFlippedView isFlipped]):
3350 (WebCore::paintButton):
3351 (WebCore::ThemeMac::ensuredView):
3353 2010-04-14 Jay Civelli <jcivelli@chromium.org>
3355 Reviewed by Dimitri Glazkov.
3357 [chromium] Select popups would assert when destroyed.
3358 https://bugs.webkit.org/show_bug.cgi?id=37436
3360 * platform/chromium/PopupMenuChromium.cpp:
3361 (WebCore::PopupContainer::PopupContainer):
3362 (WebCore::PopupContainer::showPopup):
3363 (WebCore::PopupContainer::notifyPopupHidden):
3364 * platform/chromium/PopupMenuChromium.h:
3367 2010-04-14 Dumitru Daniliuc <dumi@chromium.org>
3369 Reviewed by Jian Li.
3371 Remove an incorrect ASSERT in UniscribeHelper::draw().
3372 https://bugs.webkit.org/show_bug.cgi?id=37533
3374 * platform/graphics/chromium/UniscribeHelper.cpp:
3375 (WebCore::UniscribeHelper::draw):
3377 2010-04-14 Pavel Feldman <pfeldman@chromium.org>
3379 Reviewed by Timothy Hatcher.
3381 Web Inspector: readline shortcuts don't work in Chromium.
3383 * inspector/front-end/TextPrompt.js:
3384 (WebInspector.TextPrompt.prototype._onKeyDown):
3385 (WebInspector.TextPrompt.prototype._moveCaretToStartOfPrompt):
3387 2010-04-14 Alexander Pavlov <apavlov@chromium.org>
3389 Reviewed by Timothy Hatcher.
3391 Web Inspector: Console: Shift-Tab does not cycle autocompletions in the reverse order
3392 https://bugs.webkit.org/show_bug.cgi?id=37582
3394 * inspector/front-end/TextPrompt.js:
3395 (WebInspector.TextPrompt.prototype.complete):
3396 (WebInspector.TextPrompt.prototype._completionsReady):
3397 (WebInspector.TextPrompt.prototype._tabKeyPressed):
3399 2010-04-14 Jeff Schiller <codedread@gmail.com>
3401 Reviewed by Dirk Schulze.
3403 Render SVG Paths up to first error, bug 37413: https://bugs.webkit.org/show_bug.cgi?id=37413
3405 * svg/SVGParserUtilities.cpp:
3406 (WebCore::SVGPathSegListBuilder::build):
3408 2010-04-14 Alexander Pavlov <apavlov@chromium.org>
3410 Reviewed by Joseph Pecoraro.
3412 Web Inspector: Ctrl-L (Clear History) does nothing on Windows
3413 https://bugs.webkit.org/show_bug.cgi?id=37579
3415 * inspector/front-end/ConsoleView.js:
3416 (WebInspector.ConsoleView):
3418 2010-04-14 Anton Muhin <antonm@chromium.org>
3420 Not review, build fix.
3422 Add <limits.h> include to bring UINT_MAX.
3424 * html/canvas/WebGLArray.h:
3426 2010-04-14 Nikolas Zimmermann <nzimmermann@rim.com>
3428 Not reviewed. Attempt to unbreak build - NodeRenderStyle.h is an _interessting_ concept...
3430 * rendering/style/SVGRenderStyle.cpp: Include 'NodeRenderStyle.h'
3432 2010-04-14 Nikolas Zimmermann <nzimmermann@rim.com>
3434 Reviewed by Dirk Schulze.
3436 SVGRenderStyle/SVGRenderStyleDefs needs a cleanup
3437 https://bugs.webkit.org/show_bug.cgi?id=37568
3439 Cleanup SVGRenderStyle / SVGRenderStyleDefs:
3440 - use copy constructors in initialization list to initialize members, instead of assignment operators in the body
3441 - fix style issues (misplaced references, abbrevations)
3442 - merge StyleClipData/StyleMaskData to save memory, rename it StyleResourceData
3443 - move filter property in StyleResourceData
3444 - rename StyleMarkerData to StyleInheritedResourceData to highlight the difference to StyleResourceData
3445 - unify naming schemes for all resources (filter/clipper/masker/markers)
3446 - clipPath() -> clipperResource()
3447 - maskElement() -> maskerResource()
3448 - startMarker() -> markerStartResource()
3449 - midMarker() -> markerMidResource()
3450 - endMarker() -> markerEndResource()
3451 - filter() -> filterResource()
3453 Adapt all callsites to the renames above.
3454 No new tests, as this doesn't affect anything except memory overhead.
3456 * css/SVGCSSComputedStyleDeclaration.cpp:
3457 (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
3458 * css/SVGCSSStyleSelector.cpp:
3459 (WebCore::CSSStyleSelector::applySVGProperty):
3460 * rendering/RenderPath.cpp:
3461 (WebCore::RenderPath::calculateMarkerBoundsIfNeeded):
3462 * rendering/RenderSVGContainer.cpp:
3463 (WebCore::RenderSVGContainer::selfWillPaint):
3464 * rendering/RenderSVGRoot.cpp:
3465 (WebCore::RenderSVGRoot::selfWillPaint):
3466 * rendering/SVGRenderSupport.cpp:
3467 (WebCore::SVGRenderBase::prepareToRenderSVGContent):
3468 (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
3469 (WebCore::SVGRenderBase::clipperBoundingBoxForRenderer):
3470 (WebCore::SVGRenderBase::maskerBoundingBoxForRenderer):
3471 (WebCore::deregisterFromResources):
3472 * rendering/SVGRenderTreeAsText.cpp:
3473 (WebCore::writeStyle):
3474 (WebCore::writeResources):
3475 * rendering/style/SVGRenderStyle.cpp:
3476 (WebCore::SVGRenderStyle::SVGRenderStyle):
3477 (WebCore::SVGRenderStyle::operator==):
3478 (WebCore::SVGRenderStyle::inheritedNotEqual):
3479 (WebCore::SVGRenderStyle::inheritFrom):
3480 * rendering/style/SVGRenderStyle.h:
3481 * rendering/style/SVGRenderStyleDefs.cpp:
3482 (WebCore::StyleFillData::StyleFillData):
3483 (WebCore::StyleFillData::operator==):
3484 (WebCore::StyleStrokeData::StyleStrokeData):
3485 (WebCore::StyleStrokeData::operator==):
3486 (WebCore::StyleStopData::StyleStopData):
3487 (WebCore::StyleStopData::operator==):
3488 (WebCore::StyleTextData::StyleTextData):
3489 (WebCore::StyleMiscData::StyleMiscData):
3490 (WebCore::StyleMiscData::operator==):
3491 (WebCore::StyleShadowSVGData::StyleShadowSVGData):
3492 (WebCore::StyleShadowSVGData::operator==):
3493 (WebCore::StyleResourceData::StyleResourceData):
3494 (WebCore::StyleResourceData::operator==):
3495 (WebCore::StyleInheritedResourceData::StyleInheritedResourceData):
3496 (WebCore::StyleInheritedResourceData::operator==):
3497 * rendering/style/SVGRenderStyleDefs.h:
3498 (WebCore::StyleFillData::operator!=):
3499 (WebCore::StyleStopData::operator!=):
3500 (WebCore::StyleMiscData::create):
3501 (WebCore::StyleMiscData::copy):
3502 (WebCore::StyleMiscData::operator!=):
3503 (WebCore::StyleShadowSVGData::create):
3504 (WebCore::StyleShadowSVGData::copy):
3505 (WebCore::StyleShadowSVGData::operator!=):
3506 (WebCore::StyleResourceData::create):
3507 (WebCore::StyleResourceData::copy):
3508 (WebCore::StyleResourceData::operator!=):
3509 (WebCore::StyleInheritedResourceData::create):
3510 (WebCore::StyleInheritedResourceData::copy):
3511 (WebCore::StyleInheritedResourceData::operator!=):
3512 * svg/SVGDocumentExtensions.cpp:
3513 (WebCore::SVGDocumentExtensions::addResource):
3514 (WebCore::SVGDocumentExtensions::removeResource):
3515 * svg/SVGDocumentExtensions.h:
3516 * svg/SVGStyledElement.cpp:
3517 (WebCore::SVGStyledElement::invalidateResources):
3519 2010-04-14 Zhenyao Mo <zmo@google.com>
3521 Reviewed by Dimitri Glazkov.
3523 readPixels must take PACK_ALIGNMENT into account
3524 https://bugs.webkit.org/show_bug.cgi?id=34718
3526 Test: fast/canvas/webgl/read-pixels.html
3528 * html/canvas/WebGLRenderingContext.cpp:
3529 (WebCore::WebGLRenderingContext::WebGLRenderingContext): Init members to support pack_alignment.
3530 (WebCore::WebGLRenderingContext::pixelStorei): Save pack/unpack_alignment.
3531 (WebCore::WebGLRenderingContext::readPixels): Validate enum and deal with pack_alignment.
3532 * html/canvas/WebGLRenderingContext.h: Add members to support pack_alignment.
3533 * platform/graphics/GraphicsContext3D.h: Refactor readPixels.
3534 * platform/graphics/mac/GraphicsContext3DMac.cpp:
3535 (WebCore::GraphicsContext3D::readPixels): Move array allocation and alpha fix to WebGLRenderingContext; flush before read pixels.
3537 2010-04-13 Dirk Schulze <krit@webkit.org>
3539 Reviewed by Eric Seidel.
3541 REGRESSION(r57511): many new graphics / svg related leaks
3542 https://bugs.webkit.org/show_bug.cgi?id=37527
3544 The content of a HashMap was not correctly deleted. Fixed this
3545 in the DTor and in invalidateClient of RenderSVGResourceClipper.
3547 * rendering/RenderSVGResourceClipper.cpp:
3548 (WebCore::RenderSVGResourceClipper::~RenderSVGResourceClipper):
3549 (WebCore::RenderSVGResourceClipper::invalidateClient):
3551 2010-04-13 Zhenyao Mo <zmo@google.com>
3553 Reviewed by Oliver Hunt.
3555 Fix a potential integer overflow in WebGL*Array::slice()
3556 https://bugs.webkit.org/show_bug.cgi?id=37466
3558 * html/canvas/WebGLArray.h:
3559 (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.
3560 * html/canvas/WebGLByteArray.cpp:
3561 (WebCore::WebGLByteArray::slice): Changed according to new semantic of WebCore::WebGLArray::clampOffsetAndNumElements.
3562 * html/canvas/WebGLFloatArray.cpp:
3563 (WebCore::WebGLFloatArray::slice): Ditto.
3564 * html/canvas/WebGLIntArray.cpp:
3565 (WebCore::WebGLIntArray::slice): Ditto.
3566 * html/canvas/WebGLShortArray.cpp:
3567 (WebCore::WebGLShortArray::slice): Ditto.
3568 * html/canvas/WebGLUnsignedByteArray.cpp:
3569 (WebCore::WebGLUnsignedByteArray::slice): Ditto.
3570 * html/canvas/WebGLUnsignedIntArray.cpp:
3571 (WebCore::WebGLUnsignedIntArray::slice): Ditto.
3572 * html/canvas/WebGLUnsignedShortArray.cpp:
3573 (WebCore::WebGLUnsignedShortArray::slice): Ditto.
3575 2010-04-13 Darin Fisher <darin@chromium.org>
3577 Reviewed by Brady Eidson.
3579 If the browsing context's session history contains only one Document,