1 2010-05-06 Jian Li <jianli@chromium.org>
3 Reviewed by Adam Barth.
5 Improve code generator scripts to support converting ScriptString.
6 https://bugs.webkit.org/show_bug.cgi?id=38699
8 Change both JSC and V8 generators to introduce "ConvertScriptString"
9 attribute to allow converting from ScriptString. Also updated the
12 These changes are necessary in order to avoid adding custom binding codes
13 when we add the FileReader interface.
15 * bindings/scripts/CodeGeneratorJS.pm:
16 * bindings/scripts/CodeGeneratorV8.pm:
17 * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
18 (webkit_dom_test_obj_get_script_string_attr):
19 (webkit_dom_test_obj_get_property):
20 (webkit_dom_test_obj_class_init):
21 * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
22 * bindings/scripts/test/JS/JSTestObj.cpp:
24 (WebCore::jsTestObjScriptStringAttr):
25 * bindings/scripts/test/JS/JSTestObj.h:
26 * bindings/scripts/test/ObjC/DOMTestObj.h:
27 * bindings/scripts/test/ObjC/DOMTestObj.mm:
28 (-[DOMTestObj scriptStringAttr]):
29 * bindings/scripts/test/TestObj.idl:
30 * bindings/scripts/test/V8/V8TestObj.cpp:
31 (WebCore::TestObjInternal::scriptStringAttrAttrGetter):
34 2010-05-06 Jian Li <jianli@chromium.org>
36 Reviewed by Adam Barth.
38 Improve code generator scripts to pass additional ScriptExecutionContext
39 argument to the constructor.
40 https://bugs.webkit.org/show_bug.cgi?id=38687
42 Change both JSC and V8 generators to introduce "CallWith=ScriptExecutionContext"
43 attribute to allow passing the additional ScriptExecutionContext argument to
44 the constructor. Also add another test IDL file to test interface-level
47 These changes are necessary in order to avoid adding custom binding codes
48 when we add the FileReader interface.
50 * bindings/scripts/CodeGeneratorJS.pm:
51 * bindings/scripts/CodeGeneratorV8.pm:
52 * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp: Added.
53 * bindings/scripts/test/GObject/WebKitDOMTestInterface.h: Added.
54 * bindings/scripts/test/GObject/WebKitDOMTestInterfacePrivate.h: Added.
55 * bindings/scripts/test/JS/JSTestInterface.cpp: Added.
56 * bindings/scripts/test/JS/JSTestInterface.h: Added.
57 * bindings/scripts/test/ObjC/DOMTestInterface.h: Added.
58 * bindings/scripts/test/ObjC/DOMTestInterface.mm: Added.
59 * bindings/scripts/test/ObjC/DOMTestInterfaceInternal.h: Added.
60 * bindings/scripts/test/TestInterface.idl: Added.
61 * bindings/scripts/test/V8/V8TestInterface.cpp: Added.
62 * bindings/scripts/test/V8/V8TestInterface.h: Added.
63 * bindings/v8/V8Proxy.h:
64 (WebCore::V8Proxy::constructDOMObjectWithScriptExecutionContext):
66 2010-05-06 Maciej Stachowiak <mjs@apple.com>
68 Build fix, not reviewed.
70 Speculative Windows and Debug build fixes for the last change.
73 (WebCore::Node::inDocument):
74 (WebCore::Node::setFlag):
76 2010-05-06 James Robinson <jamesr@chromium.org>
78 Reviewed by Eric Seidel.
80 Fix warnings emitted by gcc 4.4.1 on linux in chromium-specific platform graphics files.
81 https://bugs.webkit.org/show_bug.cgi?id=38158
85 - remove unusued locals
86 - add parens around ambiguous looking compound predicates like (a || b && c)
88 This also adds a check for x >= 0 to FontLinux.cpp's in this statement:
89 if (x < walker.width())
90 This is more documentation than anything else since walker.width() returns
91 an unsigned the current behavior is that x is promoted to unsigned and as
92 long as x + walker.width() is less than 2^31 all negative values of x
93 end up wrapping around and not being < walker.width(). This behavior is
94 tested by fast/text/international/khmer-selection.html
96 * platform/graphics/chromium/FontLinux.cpp:
97 (WebCore::adjustTextRenderMode):
98 (WebCore::TextRunWalker::TextRunWalker):
99 (WebCore::TextRunWalker::length):
100 (WebCore::TextRunWalker::width):
101 (WebCore::TextRunWalker::getTextRun):
102 (WebCore::TextRunWalker::getNormalizedTextRun):
103 (WebCore::Font::offsetForPositionForComplexText):
104 * platform/graphics/chromium/FontPlatformDataLinux.cpp:
105 (WebCore::FontPlatformData::setupPaint):
106 * platform/graphics/chromium/HarfbuzzSkia.cpp:
107 (WebCore::getOutlinePoint):
108 * platform/graphics/skia/GraphicsContext3DSkia.cpp:
109 (WebCore::GraphicsContext3D::getImageData):
110 * platform/graphics/skia/GraphicsContextSkia.cpp:
111 (WebCore::isCoordinateSkiaSafe):
112 (WebCore::GraphicsContext::fillRect):
113 (WebCore::GraphicsContext::strokePath):
114 (WebCore::GraphicsContext::strokeRect):
116 2010-05-06 Ada Chan <adachan@apple.com>
118 Reviewed by David Kilzer.
120 https://bugs.webkit.org/show_bug.cgi?id=38695
122 Check the result from widget() for NULL before accessing it.
124 * rendering/RenderIFrame.cpp:
125 (WebCore::RenderIFrame::calcHeight):
126 (WebCore::RenderIFrame::calcWidth):
128 2010-05-06 Maciej Stachowiak <mjs@apple.com>
130 Reviewed by Darin Adler.
132 further fixes towards REGRESSION (r57292): 1% PLT regression from visited link information leak fix
133 https://bugs.webkit.org/show_bug.cgi?id=38682
134 <rdar://problem/7859794>
136 Looks like a 1-2% speedup on PLT.
138 - Reorder CSS properties.
139 - Remove short circuit tag check in matchRulesForList which costs more than it saves.
140 - Inline initForStyleResolve.
141 - Optimize applyDeclarations to avoid switch and take fewer branches in the inner loop.
143 - Change the way Node handles flags - replace bitfield with a uint32_t and explicit masking,
144 to make it cheaper to initialize the bits and give faster access.
145 - Added new Node flags to check for isStyledElement, isHTMLElement, isSVGElement, isComment,
146 and devirtualize those methods.
147 - Inline constructors for Node, Element, Text, CharacterData, StyledElement, etc since
148 they are very simple and lots of nodes get constructed.
150 * css/CSSPropertyNames.in: Move a few of the properties up front so we can check for them
151 with < instead of switch statements
152 * css/CSSStyleSelector.cpp:
153 (WebCore::CSSStyleSelector::matchRulesForList): Remove unnecessary preflight check
154 for tag match before checking selector. This check very rarely short circuits anything,
155 since most rules with a tag end up in the appropriate tag bucket. So doing the check
156 cost more time than the time saved.
157 (WebCore::CSSStyleSelector::initForStyleResolve): Inline. Create RenderStyle in a better way.
158 (WebCore::CSSStyleSelector::applyDeclarations): Get rid of switch statement and use <= to
159 check for the high priority properties. Convert to template to avoid checking "applyFirst"
160 each time through the loop.
161 (WebCore::CSSStyleSelector::styleForElement): Adjust for new applyDeclarations() signature.
162 (WebCore::CSSStyleSelector::keyframeStylesForAnimation): ditto
163 (WebCore::CSSStyleSelector::pseudoStyleForElement): ditto
164 * css/CSSStyleSelector.h: Adjust for new applyDeclarations() signature.
165 * rendering/style/RenderStyle.cpp:
166 (WebCore::RenderStyle::RenderStyle): Inline constructor.
167 * rendering/style/RenderStyle.h: Make constructor private so it can be inline.
169 (WebCore::): See high-level description of changes above. Redid the
170 way boolean flags work.
171 (WebCore::Node::isElementNode):
172 (WebCore::Node::isContainerNode):
173 (WebCore::Node::isTextNode):
174 (WebCore::Node::isHTMLElement):
175 (WebCore::Node::isSVGElement):
176 (WebCore::Node::isStyledElement):
177 (WebCore::Node::isCommentNode):
178 (WebCore::Node::hasID):
179 (WebCore::Node::hasClass):
180 (WebCore::Node::active):
181 (WebCore::Node::inActiveChain):
182 (WebCore::Node::inDetach):
183 (WebCore::Node::hovered):
184 (WebCore::Node::attached):
185 (WebCore::Node::setAttached):
186 (WebCore::Node::needsStyleRecalc):
187 (WebCore::Node::styleChangeType):
188 (WebCore::Node::childNeedsStyleRecalc):
189 (WebCore::Node::isLink):
190 (WebCore::Node::setHasID):
191 (WebCore::Node::setHasClass):
192 (WebCore::Node::setChildNeedsStyleRecalc):
193 (WebCore::Node::clearChildNeedsStyleRecalc):
194 (WebCore::Node::setInDocument):
195 (WebCore::Node::clearInDocument):
196 (WebCore::Node::setInActiveChain):
197 (WebCore::Node::clearInActiveChain):
198 (WebCore::Node::setIsLink):
199 (WebCore::Node::clearIsLink):
200 (WebCore::Node::setActive):
201 (WebCore::Node::setHovered):
202 (WebCore::Node::inDocument):
204 (WebCore::Node::getFlag):
205 (WebCore::Node::setFlag):
206 (WebCore::Node::clearFlag):
207 (WebCore::Node::hasRareData):
208 (WebCore::Node::isParsingChildrenFinished):
209 (WebCore::Node::setIsParsingChildrenFinished):
210 (WebCore::Node::clearIsParsingChildrenFinished):
211 (WebCore::Node::isStyleAttributeValid):
212 (WebCore::Node::setIsStyleAttributeValid):
213 (WebCore::Node::clearIsStyleAttributeValid):
214 (WebCore::Node::isSynchronizingStyleAttribute):
215 (WebCore::Node::setIsSynchronizingStyleAttribute):
216 (WebCore::Node::clearIsSynchronizingStyleAttribute):
217 (WebCore::Node::areSVGAttributesValid):
218 (WebCore::Node::setAreSVGAttributesValid):
219 (WebCore::Node::clearAreSVGAttributesValid):
220 (WebCore::Node::isSynchronizingSVGAttributes):
221 (WebCore::Node::setIsSynchronizingSVGAttributes):
222 (WebCore::Node::clearIsSynchronizingSVGAttributes):
223 (WebCore::Node::hasRareSVGData):
224 (WebCore::Node::setHasRareSVGData):
225 (WebCore::Node::clearHasRareSVGData):
226 (WebCore::Node::initialRefCount):
228 (WebCore::Node::trackForDebugging): Adjusted for changes in
230 (WebCore::Node::ensureRareData): ditto
231 (WebCore::Node::setStyleChange): ditto
232 (WebCore::Node::setNeedsStyleRecalc): ditto
233 (WebCore::Node::lazyAttach): ditto
234 (WebCore::Node::attach): ditto
235 (WebCore::Node::detach): ditto
236 (WebCore::Node::insertedIntoDocument): ditto
237 (WebCore::Node::removedFromDocument): ditto
238 * dom/CharacterData.cpp:
239 * dom/CharacterData.h:
240 (WebCore::CharacterData::CharacterData): Inline the constructor (moved from .cpp)
242 (WebCore::Comment::Comment): Tell the base class that we're a comment.
243 * dom/Comment.h: Remove isCommentNode override.
244 * dom/ContainerNode.cpp:
245 (WebCore::ContainerNode::detach): Adjusted for changes in flag
247 (WebCore::ContainerNode::removedFromDocument): ditto
249 (WebCore::Document::Document): Adjusted for changes in flag handling.
250 (WebCore::Document::recalcStyle): ditto
251 (WebCore::Document::setFocusedNode): ditto
253 (WebCore::Node::Node): Inline the Node constructor - goes here
254 because it uses Document.
255 * dom/DocumentFragment.cpp: include Document.h due to above change
256 * dom/EditingText.cpp: ditto
257 * dom/EntityReference.cpp: ditto
259 (WebCore::Element::getAttribute): Adjusted for changes in flag
261 (WebCore::Element::setAttribute): ditto
262 (WebCore::Element::hasAttributes): ditto
263 (WebCore::Element::recalcStyle): ditto
264 (WebCore::Element::finishParsingChildren): ditto
266 (WebCore::Element::Element): Inline (moved from .cpp)
267 (WebCore::Element::isFinishedParsingChildren):
268 (WebCore::Element::beginParsingChildren):
269 (WebCore::Element::attributes): Adjusted for changes in flag
271 * dom/StyledElement.cpp:
272 (WebCore::StyledElement::updateStyleAttribute): Adjust for
273 changes to flag handling.
274 (WebCore::StyledElement::mapToEntry): ditto
275 (WebCore::StyledElement::parseMappedAttribute): ditto
276 (WebCore::StyledElement::copyNonAttributeProperties): ditto
277 * dom/StyledElement.h:
278 (WebCore::StyledElement::StyledElement): Inline (moved from.cpp)
279 (WebCore::StyledElement::invalidateStyleAttribute): Adjust for
280 changes in flag handling.
282 (WebCore::Text::Text): Inline (moved from .cpp)
284 * html/HTMLAnchorElement.cpp:
285 (WebCore::HTMLAnchorElement::HTMLAnchorElement): Adjust for changes in
287 (WebCore::HTMLAnchorElement::parseMappedAttribute): ditto
288 * html/HTMLElement.cpp:
289 (WebCore::HTMLElement::create): Tell base class we're an HTML element.
290 * html/HTMLElement.h: ditto above; remove isHTMLElement override.
291 * html/HTMLFormControlElement.h: Tell base class we're an HTML element.
292 * html/HTMLFrameOwnerElement.cpp:
293 (WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement): ditto
294 * html/HTMLProgressElement.cpp:
295 (WebCore::HTMLProgressElement::HTMLProgressElement): ditto
296 * mathml/MathMLElement.cpp:
297 (WebCore::MathMLElement::MathMLElement): Tell base class we're a styled
299 * rendering/MediaControlElements.cpp:
300 (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
301 Adjust for changes in flag handling.
302 (WebCore::MediaControlElement::MediaControlElement): ditto
303 (WebCore::MediaControlInputElement::MediaControlInputElement): ditto
304 * rendering/RenderFileUploadControl.cpp:
305 (WebCore::RenderFileUploadControl::updateFromElement): ditto
306 * rendering/RenderLayer.cpp:
307 (WebCore::RenderLayer::updateHoverActiveState): ditto
308 * rendering/RenderProgress.cpp:
309 (WebCore::RenderProgress::updateValuePartState): ditto
310 * rendering/RenderSlider.cpp:
311 (WebCore::RenderSlider::updateFromElement): ditto
312 * rendering/SVGShadowTreeElements.cpp:
313 (WebCore::SVGShadowTreeRootElement::SVGShadowTreeRootElement): ditto
314 * rendering/TextControlInnerElements.cpp:
315 (WebCore::TextControlInnerElement::attachInnerElement): ditto
316 * svg/SVGAnimatedProperty.h:
317 (WebCore::SVGAnimatedPropertyTearOff::setBaseVal): ditto
318 (WebCore::SVGAnimatedPropertyTearOff::setAnimVal): ditto
319 * svg/SVGElement.cpp:
320 (WebCore::SVGElement::SVGElement): Tell base class we're
322 (WebCore::SVGElement::ensureRareSVGData): Adjust for flag handling
324 (WebCore::SVGElement::updateAnimatedSVGAttribute): ditto
326 (WebCore::SVGElement::invalidateSVGAttributes): ditto
327 * svg/SVGPolyElement.cpp:
328 (WebCore::SVGPolyElement::svgAttributeChanged): ditto
329 * wml/WMLAnchorElement.cpp:
330 (WebCore::WMLAnchorElement::WMLAnchorElement): ditto
331 * wml/WMLElement.cpp:
332 (WebCore::WMLElement::WMLElement): Tell base class we're a styled
335 2010-05-06 Adam Barth <abarth@webkit.org>
337 Unreviewed. Fix indent. Sorry, my OCD was acting up.
339 * page/EventHandler.cpp:
340 (WebCore::EventHandler::handleMouseReleaseEvent):
342 2010-05-06 Pavel Feldman <pfeldman@chromium.org>
344 Reviewed by Joseph Pecoraro.
346 Web Inspector: store selected Headers / Content tab on explicit switch and/or explicit navigate only.
348 https://bugs.webkit.org/show_bug.cgi?id=38660
350 * inspector/front-end/ResourceView.js:
351 (WebInspector.ResourceView):
352 (WebInspector.ResourceView.prototype._selectHeadersTab):
353 (WebInspector.ResourceView.prototype.selectContentTab):
354 * inspector/front-end/ResourcesPanel.js:
355 (WebInspector.ResourcesPanel.prototype.showResource):
357 2010-05-06 Luiz Agostini <luiz.agostini@openbossa.org>
359 Rubber-stamped by Simon Hausmann.
361 [Qt] use QT_MOBILE_THEME in Symbian
362 https://bugs.webkit.org/show_bug.cgi?id=38440
364 Putting QT_MOBILE_THEME into use for Symbian.
368 2010-05-06 Laszlo Gombos <laszlo.1.gombos@nokia.com>
370 Unreviewed, build fix WinCE for QtWebKit.
372 [Qt] Compilation with Plugins disabled is broken
373 https://bugs.webkit.org/show_bug.cgi?id=31407
375 Rename platform/qt/TemporaryLinkStubs.cpp to avoid name collition on
378 Thanks for Ismail "cartman" Donmez for help.
380 No new tests, as there is no new functionality.
384 * platform/qt/TemporaryLinkStubs.cpp: Removed.
385 * platform/qt/TemporaryLinkStubsQt.cpp: Copied from WebCore/platform/qt/TemporaryLinkStubs.cpp.
387 2010-05-06 Simon Hausmann <simon.hausmann@nokia.com>
389 Reviewed by Kenneth Rohde Christiansen.
391 [Qt] REGRESSION: Loading of external CSS and JS files over network fails in some cases
392 https://bugs.webkit.org/show_bug.cgi?id=36755
394 Enable the direct connection between QtNetwork and QtWebKit only for Qt versions
395 greater than 4.6.2, due to a bug in Qt that's been fixed after 4.6.2.
397 * platform/network/qt/QNetworkReplyHandler.cpp:
399 2010-05-06 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
401 Reviewed by Xan Lopez.
403 Rework where we get page step and line step from, so we do not
404 depend on scrollbars existing. Caught by API test I forgot to run.
406 * platform/gtk/ScrollViewGtk.cpp:
407 (WebCore::ScrollView::setGtkAdjustments):
409 2010-05-06 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
411 Reviewed by Xan Lopez.
413 [GTK] Adjustment resetting uses wrong values, and misses page_size and steps
414 https://bugs.webkit.org/show_bug.cgi?id=38657
416 Fix resetting adjustment values. In the page cache case, we were
417 confusing page_size and upper, leading to stray scrollbars
420 * platform/gtk/ScrollViewGtk.cpp:
421 (WebCore::ScrollView::setGtkAdjustments):
423 2010-05-06 Darin Adler <darin@apple.com>
425 Reviewed by Beth Dakin.
427 Page::setCanStartMedia does not properly handle the case where a media listener is removed
428 https://bugs.webkit.org/show_bug.cgi?id=38602
430 We can't find any real case where this causes a crash at this time, but
431 we want to harden the code anyway. Thus there are no new regression tests.
434 (WebCore::Page::removeMediaCanStartListener): Removed incorrect assertion.
435 (WebCore::Page::setCanStartMedia): Change algorithm so we notify listeners
436 one at a time and don't notify any listener that has already been removed
439 2010-05-05 Ojan Vafai <ojan@chromium.org>
441 Reviewed by Darin Adler.
443 shift+click on an existing selection doesn't work right
444 https://bugs.webkit.org/show_bug.cgi?id=36542
446 NSTextView behavior is to move the end of the selection
447 closest to the shift-click. Win/Linux behavior is to always
448 move the focus end of the selection.
450 Test: editing/selection/shift-click.html
452 * page/EventHandler.cpp:
453 (WebCore::textDistance):
454 (WebCore::EventHandler::handleMousePressEventSingleClick):
456 2010-05-06 Pavel Feldman <pfeldman@chromium.org>
458 Reviewed by Timothy Hatcher.
460 Web Inspector: implement panels history traversal on Cmd+Left/Right.
462 https://bugs.webkit.org/show_bug.cgi?id=38649
464 * inspector/front-end/inspector.js:
465 (WebInspector.set currentPanel):
466 (WebInspector.loaded):
467 (WebInspector.documentKeyDown):
468 (WebInspector.PanelHistory):
469 (WebInspector.PanelHistory.prototype.canGoBack):
470 (WebInspector.PanelHistory.prototype.goBack):
471 (WebInspector.PanelHistory.prototype.canGoForward):
472 (WebInspector.PanelHistory.prototype.goForward):
473 (WebInspector.PanelHistory.prototype.setPanel):
475 2010-05-03 Evan Martin <evan@chromium.org>
477 Reviewed by Eric Seidel.
479 [chromium] use glyphDataForCharacter so we hit the glyphdata cache
480 https://bugs.webkit.org/show_bug.cgi?id=38500
482 Calling fontDataForCharacters() while rendering text is expensive.
483 Examining the relevant Mac code in WebKit revealed that calling the
484 similarly-named glyphDataForCharacters() results in caching the font
485 data on a per-glyph basis.
487 Since we now choose a font based on the first character in a run, we
488 need to be careful that all the glyphs within the run use the same font.
489 This is also similar to the WebKit Mac code. We need to remove all of
490 the script run bits eventually and this is a step in that direction.
492 Tests: fast/text/international/danda-space.html spacing changes slightly
493 (now matches Firefox better) and fast/text/international/thai-baht-space.html
494 now picks the correct (serif) font for the digits.
496 * platform/graphics/chromium/FontLinux.cpp:
497 (WebCore::TextRunWalker::nextScriptRun):
498 (WebCore::TextRunWalker::setupFontForScriptRun):
500 2010-05-06 Martin Robinson <mrobinson@webkit.org>
502 Reviewed by Gustavo Noronha Silva.
504 [GTK] Enable DOM clipboard and drag-and-drop access
505 https://bugs.webkit.org/show_bug.cgi?id=30623
507 Convert dragging portion of drag-and-drop to use DataObjectGtk.
509 No new tests, because functionality has not changed.
511 * page/gtk/EventHandlerGtk.cpp:
512 (WebCore::EventHandler::createDraggingClipboard): Pass the DataObjectGtk as a parameter here.
513 * platform/gtk/ClipboardGtk.h:
514 (WebCore::ClipboardGtk::create): Take the DataObject as a parameter instead of creating it here.
515 (WebCore::ClipboardGtk::helper): Added.
516 (WebCore::ClipboardGtk::dataObject): Added.
517 * platform/gtk/PasteboardHelper.h: Make targetListForDataObject a public method.
519 2010-05-06 Pavel Feldman <pfeldman@chromium.org>
521 Reviewed by Timothy Hatcher.
523 Web Inspector: Do not show content tab for resources
524 not supporting content preview.
526 https://bugs.webkit.org/show_bug.cgi?id=38635
528 * English.lproj/localizedStrings.js:
529 * inspector/front-end/FontView.js:
530 (WebInspector.FontView.prototype.hasContentTab):
531 * inspector/front-end/ImageView.js:
532 (WebInspector.ImageView.prototype.hasContentTab):
533 * inspector/front-end/ResourceView.js:
534 (WebInspector.ResourceView):
535 (WebInspector.ResourceView.prototype._selectTab):
536 (WebInspector.ResourceView.prototype.hasContentTab):
537 * inspector/front-end/SourceView.js:
538 (WebInspector.SourceView.prototype.hasContentTab):
540 2010-05-06 Antonio Gomes <tonikitoo@webkit.org>
542 Reviewed by Kenneth Christiansen.
544 Spatial Navigation: adapt the logic of {deep}findFocusableNodeInDirection to do traversal starting from Node* not Document*
545 https://bugs.webkit.org/show_bug.cgi?id=37803
547 Instead of receiving a Document pointer as incoming parameter, patch modifies
548 findFocusableNodeInDirection and deepFindFocusableNodeInDirection methods to
549 receive a Node pointer as start for content traversal.
550 This way we can make good use of deepFindFocusableNodeInDirection to traverse
551 other scrollable container like scrollable div's, and not only frames or iframes.
553 Patch also makes use of 'while' instead of 'for' to loop control, that gives move
554 flexibility to the incremental step: e.g. if a scrollable div was processed, the incremental
555 step in the loop does not have to do node->traverseNextNode() but node->traverseNextSibling().
557 No behavior change. It is a preparation for supporting scrollable containers in Spatial
560 * page/FocusController.cpp:
561 (WebCore::FocusController::advanceFocusDirectionally):
562 (WebCore::FocusController::findFocusableNodeInDirection):
563 (WebCore::FocusController::deepFindFocusableNodeInDirection):
564 * page/FocusController.h:
566 2010-05-06 Csaba Osztrogonác <ossy@webkit.org>
568 Unreviewed WinCE buildfix after r58842.
569 Preprocessor doesn't understand "true", changed to "1"
571 * platform/graphics/MediaPlayer.cpp:
573 2010-05-06 Mikhail Naganov <mnaganov@chromium.org>
575 Reviewed by Pavel Feldman.
577 Temporarily disable 'console.profiles' until we can distinguish
578 functions from different frames
580 https://bugs.webkit.org/show_bug.cgi?id=38638
582 * bindings/v8/custom/V8ConsoleCustom.cpp:
583 (WebCore::V8Console::profilesAccessorGetter):
585 2010-05-06 Steve Block <steveblock@google.com>
587 Reviewed by Eric Seidel.
589 MAC_JAVA_BRIDGE should be renamed JAVA_BRIDGE
590 https://bugs.webkit.org/show_bug.cgi?id=38544
592 No new tests, build fix only.
594 * DerivedSources.make:
595 * bindings/js/ScriptController.cpp:
596 (WebCore::ScriptController::ScriptController):
597 * bindings/js/ScriptController.h:
598 * bindings/js/ScriptControllerMac.mm:
599 (WebCore::ScriptController::createScriptInstanceForWidget):
600 * bridge/jni/JNIBridge.cpp:
601 * bridge/jni/JNIBridge.h:
602 * bridge/jni/JNIUtility.cpp:
603 * bridge/jni/JNIUtility.h:
604 * bridge/jni/jni_jsobject.h:
605 * bridge/jni/jni_jsobject.mm:
606 * bridge/jni/jni_objc.mm:
607 * bridge/jni/jsc/JNIBridgeJSC.cpp:
608 * bridge/jni/jsc/JNIBridgeJSC.h:
609 * bridge/jni/jsc/JNIUtilityPrivate.cpp:
610 * bridge/jni/jsc/JNIUtilityPrivate.h:
611 * bridge/jni/jsc/JavaClassJSC.cpp:
612 * bridge/jni/jsc/JavaClassJSC.h:
613 * bridge/jni/jsc/JavaInstanceJSC.cpp:
614 * bridge/jni/jsc/JavaInstanceJSC.h:
615 * loader/FrameLoaderClient.h:
617 2010-05-05 Alejandro G. Castro <alex@igalia.com>
619 Reviewed by Xan Lopez.
621 Fixed the gobject introspection compilation with the new DOM
622 bindings, we needed to add DOM objects.
626 2010-05-06 Adam Barth <abarth@webkit.org>
628 Reviewed by Eric Seidel.
630 drop support for sessionStorage in sandbox iframes
631 https://bugs.webkit.org/show_bug.cgi?id=38151
633 This patch causes us to throw a security exception when a sandboxed
634 iframe attempts to access sessionStorage, matching our behavior for
635 localStorage. The letter of the spec asks us to create a separate
636 storage area for each unique origin. We might want to do that in a
637 future patch, but throwing a security error seems like a safe move now.
639 * page/DOMWindow.cpp:
640 (WebCore::DOMWindow::sessionStorage):
641 (WebCore::DOMWindow::localStorage):
643 * page/DOMWindow.idl:
644 * page/SecurityOrigin.h:
645 (WebCore::SecurityOrigin::canAccessSessionStorage):
646 * storage/StorageEventDispatcher.cpp:
647 (WebCore::StorageEventDispatcher::dispatch):
649 2010-05-06 Andy Estes <aestes@apple.com>
651 Reviewed by Maciej Stachowiak.
653 Allow forms submitting to target="_blank" to open popups if the submission
654 originated from a user gesture.
656 https://bugs.webkit.org/show_bug.cgi?id=37335
657 <rdar://problem/7884980>
659 Test: fast/events/popup-allowed-from-gesture-initiated-form-submit.html
661 * bindings/js/ScriptController.cpp:
662 (WebCore::ScriptController::processingUserGesture): If no DOM event is
663 being processed, consult UserGestureIndicator to determine return value.
664 * bindings/js/ScriptController.h: Moved the logic of processingUserGestureEvent()
665 into processingUserGesture().
667 2010-05-06 Xan Lopez <xlopez@igalia.com>
669 Rubber-stamped by Eric Seidel.
671 [GTK] Refactor GenerateProperties in CodeGenerationGObject.pm
672 https://bugs.webkit.org/show_bug.cgi?id=38577
674 Thinko caught while refactoring, $custom variable was not
677 * bindings/scripts/CodeGeneratorGObject.pm:
678 * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
679 (webkit_dom_test_obj_set_property):
680 (webkit_dom_test_obj_get_property):
681 (webkit_dom_test_obj_class_init):
683 2010-05-06 Xan Lopez <xlopez@igalia.com>
685 Rubber-stamped by Eric Seidel.
687 [GTK] Refactor GenerateProperties in CodeGenerationGObject.pm
688 https://bugs.webkit.org/show_bug.cgi?id=38577
690 Refactor GenerateProperty out of GenerateProperties. This is in
691 preparation for EventListeren attributes, which won't generate
692 normal GObject properties.
694 * bindings/scripts/CodeGeneratorGObject.pm:
696 2010-05-06 Pavel Feldman <pfeldman@chromium.org>
698 Reviewed by Joseph Pecoraro.
700 Web Inspector: follow up to linkify event listeners.
702 https://bugs.webkit.org/show_bug.cgi?id=38257
704 * bindings/js/ScriptEventListener.cpp:
705 (WebCore::eventListenerHandlerLocation):
706 * bindings/v8/ScriptEventListener.cpp:
707 (WebCore::eventListenerHandlerLocation):
708 * inspector/front-end/ElementsPanel.js:
709 (WebInspector.ElementsPanel.prototype.linkifyNodeReference):
710 * inspector/front-end/EventListenersSidebarPane.js:
712 2010-05-05 Charles Wei <charles.wei@torchmobile.com.cn>
714 Reviewed by George Staikos
716 https://bugs.webkit.org/show_bug.cgi?id=37848
717 This patch adds WCSS -wap-input-format and -wap-input-required support to WebKit
719 Tests: fast/wcss/wap-input-format.xhtml
720 fast/wcss/wap-input-required.xhtml
723 (WebCore::CSSParser::parseValue):
724 (WebCore::CSSParser::parseWCSSInputProperty):
726 * css/CSSStyleSelector.cpp:
727 (WebCore::CSSStyleSelector::applyProperty):
728 * css/WCSSPropertyNames.in:
729 * dom/InputElement.cpp:
730 (WebCore::InputElement::sanitizeValue):
731 (WebCore::InputElement::handleBeforeTextInsertedEvent):
732 (WebCore::InputElementData::InputElementData):
733 (WebCore::formatCodes):
734 (WebCore::cursorPositionToMaskIndex):
735 (WebCore::InputElement::isConformToInputMask):
736 (WebCore::InputElement::validateInputMask):
737 * dom/InputElement.h:
738 (WebCore::InputElementData::inputFormatMask):
739 (WebCore::InputElementData::setInputFormatMask):
740 (WebCore::InputElementData::maxInputCharsAllowed):
741 (WebCore::InputElementData::setMaxInputCharsAllowed):
742 * html/HTMLInputElement.cpp:
743 (WebCore::HTMLInputElement::setWapInputFormat):
744 * html/HTMLInputElement.h:
745 (WebCore::HTMLInputElement::data):
746 * wml/WMLInputElement.h:
747 (WebCore::WMLInputElement::data):
749 2010-05-05 MORITA Hajime <morrita@google.com>
751 Reviewed by Darin Adler.
753 https://bugs.webkit.org/show_bug.cgi?id=38150
754 Refactoring: webkitEditableContentChangedEvent should be handled by the owner of appropriate the renderer.
756 Moved a part of code chunk in HTMLFormControlElementWithState::defaultEventHandler()
757 which accesses the renderer from foreign node,
758 to TextControlInnerTextElement::defaultEventHandler() which owns the renderer.
760 No new tests. No behavioral change.
762 * html/HTMLFormControlElement.cpp:
763 (WebCore::HTMLFormControlElementWithState::defaultEventHandler):
764 * html/HTMLFormControlElement.h:
765 * html/HTMLInputElement.h:
766 * html/HTMLTextAreaElement.h:
767 * rendering/TextControlInnerElements.cpp:
768 (WebCore::TextControlInnerTextElement::defaultEventHandler):
770 2010-05-05 Joseph Pecoraro <joepeck@webkit.org>
772 Reviewed by Timothy Hatcher.
774 Web Inspector: Line Numbers should be Aligned with the Source Code Line
775 https://bugs.webkit.org/show_bug.cgi?id=38593
777 If there is a message bubble, such as an error message, in a source view
778 the line number should be in line with the source code line, not centered
779 between the source and bubble.
781 * inspector/front-end/textViewer.css:
782 (.webkit-line-number): added vertical-align: top
784 2010-05-05 Dan Bernstein <mitz@apple.com>
786 Fix the decelerated compositing build.
788 * page/FrameView.cpp:
789 (WebCore::FrameView::isEnclosedInCompositingLayer):
792 2010-05-05 Gavin Barraclough <barraclough@apple.com>
794 Reviewed by Darin Adler.
796 Bug 38604 - workers-gc2 crashing on Qt
798 This appears to be due to a couple of issues.
799 (1) When the atomic string table is deleted it does not clear the 'inTable' bit
800 on AtomicStrings - it implicitly assumes that all AtomicStrings have already
801 been deleted at this point (otherwise they will crash in their destructor when
802 they try to remove themselves from the atomic string table).
803 (2) We don't fix the ordering in which WTF::WTFThreadData and
804 WebCore::ThreadGlobalData are destructed.
806 We should make sure that ThreadGlobalData is cleaned up before worker threads
807 terminate and WTF::WTFThreadData is destroyed, and we should clear the inTable
808 bit of members on atomic string table destruction.
810 WTF changes (fix issue 2, above) - clean up the thread data on worker termination.
812 * platform/ThreadGlobalData.cpp:
813 (WebCore::ThreadGlobalData::~ThreadGlobalData):
814 (WebCore::ThreadGlobalData::destroy):
815 * platform/ThreadGlobalData.h:
816 * workers/WorkerThread.cpp:
817 (WebCore::WorkerThread::workerThread):
819 2010-05-05 Dan Bernstein <mitz@apple.com>
821 Reviewed by Simon Fraser.
823 <rdar://problem/7932072> Iframes in composited layers don’t repaint correctly (affects Yahoo! Mail with Flash Player 10.1)
824 https://bugs.webkit.org/show_bug.cgi?id=38427
826 Test: compositing/iframes/iframe-in-composited-layer.html
828 * WebCore.base.exp: Export FrameView::isEnclosedInCompositingLayer().
829 * page/FrameView.cpp:
830 (WebCore::FrameView::isEnclosedInCompositingLayer): Added this predicate.
833 2010-05-05 Chris Marrin <cmarrin@apple.com>
835 Reviewed by Simon Fraser.
837 Got composited iframes showing up on Mac again
838 https://bugs.webkit.org/show_bug.cgi?id=38565
840 This was broken by http://trac.webkit.org/changeset/58798. That
841 change connected iframes through the parent document to the root
842 of the layer tree. That is correct for Windows, but not for Mac.
843 So the places where the linkage is made were wrapped in
844 shouldPropagateCompositingToIFrameParent() calls, which is
845 always false for Mac.
847 Test: compositing/iframes/composited-iframe-alignment.html
849 * rendering/RenderLayerCompositor.cpp:Avoid doing composited iframe linkage on Mac
850 (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
851 (WebCore::RenderLayerCompositor::didMoveOnscreen):
852 (WebCore::RenderLayerCompositor::willMoveOffscreen):
853 (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
855 2010-05-05 Alexey Proskuryakov <ap@apple.com>
857 Reviewed by Darin Adler.
859 https://bugs.webkit.org/show_bug.cgi?id=38260
860 <rdar://problem/7917548> Fix whitespace removing in deprecatedParseURL().
862 Broken all the way since r4 (yes, that's a revision number).
864 Test: http/tests/security/xss-DENIED-javascript-with-spaces.html
866 * css/CSSHelper.cpp: (WebCore::deprecatedParseURL): Fixed loop conditions for remaining length.
868 2010-05-05 Chris Fleizach <cfleizach@apple.com>
870 Reviewed by Beth Dakin.
872 Many AXUnknown showing up in the hierarchy
873 https://bugs.webkit.org/show_bug.cgi?id=38607
875 The RenderTableSection should not be an accessible element.
877 Test: platform/mac/accessibility/parent-of-table-row-is-table.html
879 * accessibility/AccessibilityRenderObject.cpp:
880 (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
882 2010-05-05 Csaba Osztrogonác <ossy@webkit.org>
884 Reviewed by Simon Hausmann.
886 [Qt]Disable Qt Multimedia backend for HTML 5 Audio and Video elements
887 Fall back to the Phonon backend until the release situation has been cleared up.
889 https://bugs.webkit.org/show_bug.cgi?id=38612
891 Buildfix for QT_VERSION >= 0x040700 after r58810.
893 * platform/graphics/MediaPlayer.cpp:
895 2010-05-05 Jian Li <jianli@chromium.org>
897 Reviewed by David Levin.
899 XMLHttpRequestUpload events do not fire when sending a raw file or FormData object.
900 https://bugs.webkit.org/show_bug.cgi?id=37771
902 Test: http/tests/local/formdata/upload-events.html
904 * xml/XMLHttpRequest.cpp:
905 (WebCore::XMLHttpRequest::createRequest):
907 2010-05-05 Csaba Osztrogonác <ossy@webkit.org>
909 Reviewed by Simon Hausmann.
911 [Qt] Qt port should use its own QUuid class to create UUID string.
912 https://bugs.webkit.org/show_bug.cgi?id=38581
915 (WebCore::createCanonicalUUIDString): Added PLATFORM(QT) case.
917 2010-05-05 Alexey Proskuryakov <ap@apple.com>
919 Roll out r58830 for breaking tests.
921 Was: https://bugs.webkit.org/show_bug.cgi?id=38546
922 Node.focus() fails to move focus from subframe properly
924 * html/HTMLFrameElementBase.cpp:
925 (WebCore::HTMLFrameElementBase::setFocus):
927 2010-05-05 Jian Li <jianli@chromium.org>
929 Reviewed by Adam Barth.
931 Implement FileReader class.
932 https://bugs.webkit.org/show_bug.cgi?id=38157
934 This patch only contains the implementation of FileReader class as defined
935 in the File API spec: http://www.w3.org/TR/file-upload/#dfn-filereader.
937 New test will be added when a IDL is exposed and the FILE_READER is turned
943 * WebCore.vcproj/WebCore.vcproj:
944 * WebCore.xcodeproj/project.pbxproj:
946 * dom/EventTarget.cpp:
947 (WebCore::EventTarget::toFileReader):
950 (WebCore::FileError::FileError):
951 * html/FileReader.cpp: Added.
952 * html/FileReader.h: Added.
953 * html/FileStream.cpp:
954 (WebCore::FileStream::FileStream):
955 (WebCore::FileStream::openForRead):
956 (WebCore::FileStream::close):
957 (WebCore::FileStream::read):
960 2010-05-05 Steve Falkenburg <sfalken@apple.com>
962 Reviewed by Maciej Stachowiak.
964 REGRESSION(r57969) Image decoder is repeatedly destroyed/created in CoreGraphics-based Windows WebKit
965 https://bugs.webkit.org/show_bug.cgi?id=38595
967 * platform/graphics/cg/ImageSourceCG.cpp:
968 (WebCore::ImageSource::setData):
970 2010-05-05 Alexey Proskuryakov <ap@apple.com>
972 Reviewed by Adele Peterson.
974 https://bugs.webkit.org/show_bug.cgi?id=38546
975 Node.focus() fails to move focus from subframe properly
977 Test: fast/frames/take-focus-from-iframe.html
979 * html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::setFocus): Don't clear
980 focus if this frame doesn't have it. This can happen if page's and HTMLFrameElement's ideas
981 of focused frame get out of sync temporarily.
983 2010-05-05 Alexey Proskuryakov <ap@apple.com>
985 Reviewed by Adele Peterson.
987 https://bugs.webkit.org/show_bug.cgi?id=26824
988 <rdar://problem/7018610> EventHandler can operate on a wrong frame if focus changes during
989 keyboard event dispatch.
991 EventHandler object is tied to a frame, so it's wrong for it to continue processing a keyboard
992 event if focused frame changes between keydown and keypress.
994 * manual-tests/focus-change-between-key-events.html: Added.
996 * page/EventHandler.cpp: (WebCore::EventHandler::keyEvent): Bail out early if focused frame
997 changes while dispatching keydown. Also made similar changes for Windows to maintain matching
998 behavior, even though EventHandler was re-entered anyway due to WM_KEYDOWN and WM_CHAR being
1001 2010-05-05 Steve Block <steveblock@google.com>
1003 Reviewed by Adam Barth.
1005 MediaError.h is missing PassRefPtr.h include
1006 https://bugs.webkit.org/show_bug.cgi?id=38575
1008 No new tests, build fix only.
1010 * html/MediaError.h:
1012 2010-05-05 Alexander Pavlov <apavlov@chromium.org>
1014 Reviewed by Pavel Feldman.
1016 Web Inspector: Audits panel: Resource counters get reset when switching panels while reloading page
1017 https://bugs.webkit.org/show_bug.cgi?id=38579
1019 * inspector/front-end/AuditLauncherView.js:
1020 (WebInspector.AuditLauncherView.prototype.updateResourceTrackingState):
1021 (WebInspector.AuditLauncherView.prototype._updateResourceProgress):
1023 2010-05-05 Pavel Feldman <pfeldman@chromium.org>
1025 Reviewed by Joseph Pecoraro.
1027 Web Inspector: Doubleclick on line number should not trigger source editing.
1029 https://bugs.webkit.org/show_bug.cgi?id=38588
1031 * inspector/front-end/TextViewer.js:
1032 (WebInspector.TextViewer.prototype._handleDoubleClick):
1034 2010-05-05 Martin Robinson <mrobinson@webkit.org>
1036 Reviewed by Gustavo Noronha.
1038 [GTK] Enable DOM clipboard and drag-and-drop access
1039 https://bugs.webkit.org/show_bug.cgi?id=30623
1041 Add support in the PasteboardHelper for images, in preparation for drag-and-drop data.
1043 No new tests as functionality has not changed.
1045 * platform/gtk/PasteboardHelper.cpp:
1046 (WebCore::PasteboardHelper::fillSelectionData): Add support for images here.
1047 (WebCore::PasteboardHelper::targetListForDataObject): Add support for images here.
1049 2010-05-05 Stuart Morgan <stuartmorgan@chromium.org>
1051 Reviewed by Darin Fisher.
1053 Add a "focused" parameter to Widget::setFocus, and updates Document
1054 so that Widget is informed of focus loss as well as focus gain.
1055 Changes all existing setFocus implementations so that they ignore
1056 the 'false' case, so no behavior is changed until individual
1057 platforms are updated to handle the new case (if they want to).
1059 https://bugs.webkit.org/show_bug.cgi?id=37961
1062 (WebCore::Document::setFocusedNode):
1063 * platform/Widget.h:
1064 * platform/android/WidgetAndroid.cpp:
1065 (WebCore::Widget::setFocus):
1066 * platform/chromium/WidgetChromium.cpp:
1067 (WebCore::Widget::setFocus):
1068 * platform/efl/WidgetEfl.cpp:
1069 (WebCore::Widget::setFocus):
1070 * platform/gtk/WidgetGtk.cpp:
1071 (WebCore::Widget::setFocus):
1072 * platform/haiku/WidgetHaiku.cpp:
1073 (WebCore::Widget::setFocus):
1074 * platform/mac/WidgetMac.mm:
1075 (WebCore::Widget::setFocus):
1076 * platform/qt/WidgetQt.cpp:
1077 (WebCore::Widget::setFocus):
1078 * platform/win/WidgetWin.cpp:
1079 (WebCore::Widget::setFocus):
1080 * platform/wx/WidgetWx.cpp:
1081 (WebCore::Widget::setFocus):
1082 * plugins/PluginView.h:
1083 * plugins/PluginViewNone.cpp:
1084 (WebCore::PluginView::setFocus):
1085 * plugins/gtk/PluginViewGtk.cpp:
1086 (WebCore::PluginView::setFocus):
1087 * plugins/mac/PluginViewMac.cpp:
1088 (WebCore::PluginView::setFocus):
1089 * plugins/qt/PluginViewQt.cpp:
1090 (WebCore::PluginView::setFocus):
1091 * plugins/symbian/PluginViewSymbian.cpp:
1092 (WebCore::PluginView::setFocus):
1093 * plugins/win/PluginViewWin.cpp:
1094 (WebCore::PluginView::setFocus):
1096 2010-05-05 Steve Block <steveblock@google.com>
1098 Reviewed by Pavel Feldman.
1100 Move V8 ScriptDebugServer::topStackFrame() to ScriptCallStack
1101 https://bugs.webkit.org/show_bug.cgi?id=38531
1103 ScriptCallStack::create() uses ScriptDebugServer::topStackFrame(), but ScriptDebugServer
1104 is guarded with ENABLE(JAVASCRIPT_DEBUGGER). This prevents ScriptCallStack from being
1105 built on platforms that do not define ENABLE(JAVASCRIPT_DEBUGGER).
1107 No new tests, build fix only.
1109 * bindings/v8/ScriptCallStack.cpp:
1110 (WebCore::ScriptCallStack::callLocation):
1111 (WebCore::ScriptCallStack::createUtilityContext): Helper for topStackFrame, moved from ScriptDebugServer
1112 (WebCore::ScriptCallStack::topStackFrame): Moved from ScriptDebugServer
1113 * bindings/v8/ScriptCallStack.h:
1114 (WebCore::ScriptCallStack::utilityContext): Helper for topStackFrame, moved from ScriptDebugServer
1115 * bindings/v8/ScriptDebugServer.cpp:
1116 * bindings/v8/ScriptDebugServer.h:
1118 2010-05-05 Csaba Osztrogonác <ossy@webkit.org>
1120 Rubber-stamped by Simon Hausmann.
1122 [Qt] REGRESSION(r56869): WinCE build is broken
1123 https://bugs.webkit.org/show_bug.cgi?id=36929
1125 * WebCore.pro: LIBS += -lOle32 added.
1127 2010-05-05 Simon Hausmann <simon.hausmann@nokia.com>
1129 Reviewed by Tor Arne Vestbø.
1131 [Qt] Disable Qt Multimedia backend for HTML 5 Audio and Video elements
1133 Fall back to the Phonon backend until the release situation has been cleared up.
1137 2010-05-05 Ilya Tikhonovsky <loislo@chromium.org>
1139 Reviewed by Pavel Feldman.
1141 WebInspector: Clickable links to resources should be used as 'details' part for the all suitable kinds of records.
1142 https://bugs.webkit.org/show_bug.cgi?id=38542
1144 * inspector/front-end/TimelinePanel.js:
1145 (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
1146 (WebInspector.TimelineRecordListRow):
1147 (WebInspector.TimelineRecordListRow.prototype.update):
1148 (WebInspector.TimelinePanel.FormattedRecord):
1149 (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
1150 (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
1151 (WebInspector.TimelinePanel.PopupContentHelper):
1152 (WebInspector.TimelinePanel.PopupContentHelper.prototype._createCell):
1153 (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendTextRow):
1154 (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendElementRow):
1155 (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendLinkRow):
1157 2010-05-05 Nikolas Zimmermann <nzimmermann@rim.com>
1159 Not reviewed. Add missing files generated by "run-bindings-test", after the DOMTestCallback.idl addition.
1161 * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp: Added.
1163 (webkit_dom_test_callback_callback_with_class1param):
1164 (webkit_dom_test_callback_callback_with_class2param):
1165 (webkit_dom_test_callback_callback_with_non_bool_return_type):
1166 (WebKit::wrapTestCallback):
1168 (webkit_dom_test_callback_finalize):
1169 (webkit_dom_test_callback_set_property):
1170 (webkit_dom_test_callback_get_property):
1171 (webkit_dom_test_callback_class_init):
1172 (webkit_dom_test_callback_init):
1173 * bindings/scripts/test/GObject/WebKitDOMTestCallback.h: Added.
1174 * bindings/scripts/test/GObject/WebKitDOMTestCallbackPrivate.h: Added.
1175 * bindings/scripts/test/ObjC/DOMTestCallback.h: Added.
1176 * bindings/scripts/test/ObjC/DOMTestCallback.mm: Added.
1177 (-[DOMTestCallback dealloc]):
1178 (-[DOMTestCallback finalize]):
1179 (-[DOMTestCallback callbackWithClass1Param:]):
1180 (-[DOMTestCallback callbackWithClass2Param:strArg:]):
1181 (-[DOMTestCallback callbackWithNonBoolReturnType:]):
1182 (-[DOMTestCallback customCallback:class6Param:]):
1185 * bindings/scripts/test/ObjC/DOMTestCallbackInternal.h: Added.
1187 2010-05-05 Joseph Pecoraro <joepeck@webkit.org>
1189 Reviewed by Pavel Feldman.
1191 Web Inspector: FontView needs Cleanup
1192 https://bugs.webkit.org/show_bug.cgi?id=38567
1194 FontView was missing some of the newer practices for initialization
1195 that other Resource Views had. Also its width calculations could
1196 result in a single character wrapping. This is general cleanup.
1198 * inspector/front-end/FontView.js:
1199 (WebInspector.FontView): move initialization into contentTabSelected
1200 (WebInspector.FontView.prototype.contentTabSelected): handle initialization like other Resource Views
1201 (WebInspector.FontView.prototype.updateFontPreviewSize): use a narrower width to prevent text from widowing
1203 2010-05-05 Dirk Schulze <krit@webkit.org>
1205 Reviewed by Nikolas Zimmermann.
1207 SVG hit testing is *way* too slow
1208 https://bugs.webkit.org/show_bug.cgi?id=19312
1210 Use the cached stroke and fill boundaries in RenderPath as a heuristik to
1211 speed up SVG's hit testing.
1215 * rendering/RenderPath.cpp:
1216 (WebCore::RenderPath::fillContains):
1217 (WebCore::RenderPath::strokeContains):
1219 2010-05-04 Dumitru Daniliuc <dumi@chromium.org>
1221 Reviewed by Adam Barth.
1223 Auto-generate all Database callbacks.
1224 https://bugs.webkit.org/show_bug.cgi?id=38503
1226 * DerivedSources.cpp:
1227 * DerivedSources.make:
1232 * WebCore.vcproj/WebCore.vcproj:
1233 * WebCore.xcodeproj/project.pbxproj:
1234 * bindings/js/JSBindingsAllInOne.cpp:
1235 * bindings/js/JSCustomSQLStatementCallback.cpp: Removed.
1236 * bindings/js/JSCustomSQLStatementCallback.h: Removed.
1237 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
1238 (WebCore::JSSQLStatementErrorCallback::handleEvent):
1239 * bindings/js/JSCustomSQLStatementErrorCallback.h: Removed.
1240 * bindings/js/JSCustomSQLTransactionCallback.cpp: Removed.
1241 * bindings/js/JSCustomSQLTransactionCallback.h: Removed.
1242 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: Removed.
1243 * bindings/js/JSCustomSQLTransactionErrorCallback.h: Removed.
1244 * bindings/js/JSDatabaseCallback.cpp: Removed.
1245 * bindings/js/JSDatabaseCallback.h: Removed.
1246 * bindings/js/JSDatabaseCustom.cpp:
1247 (WebCore::JSDatabase::changeVersion):
1248 (WebCore::createTransaction):
1249 * bindings/js/JSSQLTransactionCustom.cpp:
1250 (WebCore::JSSQLTransaction::executeSql):
1251 * bindings/scripts/CodeGeneratorJS.pm:
1252 * bindings/scripts/test/JS/JSTestCallback.cpp:
1253 * bindings/v8/custom/V8CustomSQLStatementCallback.cpp: Removed.
1254 * bindings/v8/custom/V8CustomSQLStatementCallback.h: Removed.
1255 * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
1256 (WebCore::V8SQLStatementErrorCallback::handleEvent):
1257 * bindings/v8/custom/V8CustomSQLStatementErrorCallback.h: Removed.
1258 * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp: Removed.
1259 * bindings/v8/custom/V8CustomSQLTransactionCallback.h: Removed.
1260 * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp: Removed.
1261 * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.h: Removed.
1262 * bindings/v8/custom/V8DatabaseCallback.cpp: Removed.
1263 * bindings/v8/custom/V8DatabaseCallback.h: Removed.
1264 * bindings/v8/custom/V8DatabaseCustom.cpp:
1265 (WebCore::V8Database::changeVersionCallback):
1266 (WebCore::createTransaction):
1267 * bindings/v8/custom/V8SQLTransactionCustom.cpp:
1268 (WebCore::V8SQLTransaction::executeSqlCallback):
1269 * storage/DatabaseCallback.h:
1270 * storage/DatabaseCallback.idl: Added.
1271 * storage/SQLStatement.cpp:
1272 (WebCore::SQLStatement::performCallback):
1273 * storage/SQLStatementCallback.h:
1274 * storage/SQLStatementCallback.idl: Added.
1275 * storage/SQLStatementErrorCallback.idl: Added.
1276 * storage/SQLTransaction.cpp:
1277 (WebCore::SQLTransaction::deliverTransactionCallback):
1278 * storage/SQLTransactionCallback.h:
1279 * storage/SQLTransactionCallback.idl: Added.
1280 * storage/SQLTransactionErrorCallback.h:
1281 * storage/SQLTransactionErrorCallback.idl: Added.
1283 2010-05-04 Chris Marrin <cmarrin@apple.com>
1285 Reviewed by Simon Fraser.
1287 Made composited iframes work on Windows
1288 https://bugs.webkit.org/show_bug.cgi?id=32446
1290 This completes the work in http://trac.webkit.org/changeset/57919
1291 to create compositing layers in the parent document when an iframe has
1292 a compositing layer. The parent document has a layer for the iframe
1293 element and builds a layer tree to the page root. The layer tree for the
1294 iframe document is then parented to the iframe element's GraphicsLayer.
1296 The RenderLayerCompositor for the iframe document (which owns the
1297 root of the layer tree) now has a clippingLayer which is the
1298 parent of the layer tree root so it can be clipped to the parent
1299 iframe's bounds, taking into account borders, padding, etc. in
1300 the parent iframe element.
1302 I also got rid of a no longer used function: RenderLayerCompositor::parentInRootLayer
1304 Test: compositing/iframes/composited-parent-iframe.html
1306 * rendering/RenderLayerBacking.cpp:Make calls to RenderLayerCompositor to set the clipping bounds for iframe content
1307 * rendering/RenderLayerCompositor.cpp:Hook the iframe content to the parent iframe element
1308 * rendering/RenderLayerCompositor.h:
1310 2010-05-03 Alexey Proskuryakov <ap@apple.com>
1312 Reviewed by Adam Barth.
1314 https://bugs.webkit.org/show_bug.cgi?id=38497
1315 <rdar://problem/7759438> Make sure that http URLs always have a host in SecurityOrigin
1317 This is a hardening fix, and behavior really depends on what an underlying networking layer
1320 * page/SecurityOrigin.cpp:
1321 (WebCore::schemeRequiresAuthority): List schemes that need an authority for successful loading.
1322 (WebCore::SecurityOrigin::SecurityOrigin): Never let e.g. http origins with empty authorities
1323 have the same security origin.
1325 2010-05-04 Zhenyao Mo <zmo@google.com>
1327 Reviewed by Dimitri Glazkov.
1329 getFramebufferAttachmentParameter should return the original WebGLTexture/WebGLRenderbuffer instead of creating new ones sharing names.
1330 https://bugs.webkit.org/show_bug.cgi?id=38236
1332 * html/canvas/CanvasObject.h: Add type check functions.
1333 (WebCore::CanvasObject::isBuffer):
1334 (WebCore::CanvasObject::isFramebuffer):
1335 (WebCore::CanvasObject::isProgram):
1336 (WebCore::CanvasObject::isRenderbuffer):
1337 (WebCore::CanvasObject::isShader):
1338 (WebCore::CanvasObject::isTexture):
1339 * html/canvas/WebGLBuffer.h: Add type check functions.
1340 (WebCore::WebGLBuffer::isBuffer):
1341 * html/canvas/WebGLFramebuffer.h: Add type check functions.
1342 (WebCore::WebGLFramebuffer::isFramebuffer):
1343 * html/canvas/WebGLProgram.h: Add type check functions.
1344 (WebCore::WebGLProgram::isProgram):
1345 * html/canvas/WebGLRenderbuffer.cpp: remove constructor using existing name.
1346 * html/canvas/WebGLRenderbuffer.h: Add type check functions; remove constructor using existing name.
1347 (WebCore::WebGLRenderbuffer::isRenderbuffer):
1348 * html/canvas/WebGLRenderingContext.cpp:
1349 (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter): Return original Texture/Renderbuffer instead of creating new ones.
1350 (WebCore::WebGLRenderingContext::findTexture): Find a WebGLTexture using a name.
1351 (WebCore::WebGLRenderingContext::findRenderbuffer): Find a WebGLRenderbuffer using a name.
1352 * html/canvas/WebGLRenderingContext.h: Add find* functions.
1353 * html/canvas/WebGLShader.h: Add type check functions.
1354 (WebCore::WebGLShader::isShader):
1355 * html/canvas/WebGLTexture.cpp: remove constructor using existing name.
1356 * html/canvas/WebGLTexture.h: Add type check functions; remove constructor using existing name.
1357 (WebCore::WebGLTexture::isTexture):
1359 2010-05-04 Luiz Agostini <luiz.agostini@openbossa.org>
1361 Reviewed by Simon Hausmann.
1363 [Qt] QT_MOBILE_THEME compile time flag
1364 https://bugs.webkit.org/show_bug.cgi?id=38439
1366 Replacing preprocessor conditional used in RenderThemeQt from Q_WS_MAEMO_5 to
1367 USE(QT_MOBILE_THEME).
1370 * platform/qt/RenderThemeQt.cpp:
1371 (WebCore::RenderThemeQt::RenderThemeQt):
1372 (WebCore::RenderThemeQt::qStyle):
1373 (WebCore::RenderThemeQt::extraDefaultStyleSheet):
1374 (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
1375 (WebCore::RenderThemeQt::setPaletteFromPageClientIfExists):
1376 * platform/qt/RenderThemeQt.h:
1378 2010-05-04 Joseph Pecoraro <joepeck@webkit.org>
1380 Reviewed by Dan Bernstein.
1382 SVG fonts trigger GlyphPage::fill with null font
1383 https://bugs.webkit.org/show_bug.cgi?id=38530
1385 SVG fonts do not use the glyph page cache. This change detects when
1386 attempting to fill a GlyphPage with an SVG font and indicates that
1387 the glyphs were not available.
1389 * platform/graphics/GlyphPageTreeNode.cpp:
1390 (WebCore::fill): helper method which handles attempts to fill a GlyphPage with SVG or non-SVG fonts
1391 (WebCore::GlyphPageTreeNode::initializePage): use the helper where appropriate
1393 2010-05-04 Kent Tamura <tkent@chromium.org>
1395 Reviewed by David Levin (and unofficially by Enrica Casucci).
1397 REGRESSION(r54368): Text drag-and-drop from input/textarea doesn't work
1398 if the text is like a URL
1399 https://bugs.webkit.org/show_bug.cgi?id=38374
1401 Since r54368, documentFragmentFromDragData() creates an <a> element
1402 with no anchor text for URL-like text dragged from input/textarea
1403 element. If such text is dropped to input/textarea element, the text
1405 To fix this problem, use the original text or the URL as an anchor
1408 Test: editing/pasteboard/drag-drop-url-text.html
1410 * page/DragController.cpp:
1411 (WebCore::documentFragmentFromDragData):
1413 2010-05-04 Steve Block <steveblock@google.com>
1415 Reviewed by Darin Adler.
1417 JavaInstanceJSC.cpp and JNIUtilityPrivate.cpp need to include jni_jsobject.h for jlong_to_pt() and ptr_to_jlong()
1418 https://bugs.webkit.org/show_bug.cgi?id=38525
1420 No new tests, build fix only.
1422 * bridge/jni/jni_jsobject.h: Guard Mac-specific code with PLATFORM(MAC)
1423 * bridge/jni/jsc/JNIUtilityPrivate.cpp: Include jni_jsobject.h
1424 * bridge/jni/jsc/JavaInstanceJSC.cpp: Include jni_jsobject.h
1426 2010-05-04 Steve Block <steveblock@google.com>
1428 Reviewed by Darin Adler.
1430 New FileSystemPOSIX functions cause linker errors on Android
1431 https://bugs.webkit.org/show_bug.cgi?id=38521
1433 No new tests, build fix only.
1435 * platform/android/FileSystemAndroid.cpp: Remove closeFile, which is provided in FileSystemPOSIX.cpp
1436 * platform/posix/FileSystemPOSIX.cpp: Guard writeToFile with !PLATFORM(ANDROID)
1438 2010-05-04 Pavel Feldman <pfeldman@chromium.org>
1440 Reviewed by Timothy Hatcher.
1442 Web Inspector: restore main and sidebar scroller positions
1443 when switching between panels.
1445 https://bugs.webkit.org/show_bug.cgi?id=38522
1447 * inspector/front-end/ElementsPanel.js:
1448 (WebInspector.ElementsPanel.prototype.elementsToRestoreScrollPositionsFor):
1449 * inspector/front-end/Panel.js:
1450 (WebInspector.Panel.prototype.show):
1451 (WebInspector.Panel.prototype.hide):
1452 (WebInspector.Panel.prototype.elementsToRestoreScrollPositionsFor):
1453 (WebInspector.Panel.prototype._storeScrollPositions):
1454 (WebInspector.Panel.prototype._restoreScrollPositions):
1455 * inspector/front-end/ResourcesPanel.js:
1456 (WebInspector.ResourcesPanel.prototype.elementsToRestoreScrollPositionsFor):
1457 * inspector/front-end/ScriptsPanel.js:
1458 (WebInspector.ScriptsPanel.prototype.elementsToRestoreScrollPositionsFor):
1460 2010-05-04 Steven Lai <steven_lai@asia.apple.com>
1462 Reviewed by Darin Adler.
1464 https://bugs.webkit.org/show_bug.cgi?id=37900
1465 <rdar://problem/7806164> cloneNode() does not preserve z-index with more than six digits
1467 Tests: fast/dom/HTMLInputElement/clone-input-checked.html
1468 fast/dom/clone-node-z-index.html
1470 * dom/Element.cpp: undid the order change of calling copyNonAttributeProperties() before setAttributes()
1471 (WebCore::Element::cloneElementWithoutChildren): uncheck the previous radio button in the same radio button group only when the checked radio box is appended to the dom tree
1472 * html/HTMLInputElement.cpp:
1473 (WebCore::HTMLInputElement::updateCheckedRadioButtons):
1474 (WebCore::HTMLInputElement::attach):
1475 (WebCore::HTMLInputElement::setChecked):
1476 * html/HTMLInputElement.h:
1478 2010-04-29 John Gregg <johnnyg@google.com>
1480 Reviewed by Dmitry Titov.
1482 notifications should have dir and replaceId attributes.
1483 Note that tests are only enabled in Chromium, skipped elsewhere
1484 since notifications aren't implemented.
1485 https://bugs.webkit.org/show_bug.cgi?id=38336
1487 Tests: fast/notifications/notifications-replace.html
1488 fast/notifications/notifications-rtl.html
1490 * notifications/Notification.h:
1491 (WebCore::Notification::dir):
1492 (WebCore::Notification::setDir):
1493 (WebCore::Notification::replaceId):
1494 (WebCore::Notification::setReplaceId):
1495 * notifications/Notification.idl:
1497 2010-05-04 Alejandro G. Castro <alex@igalia.com>
1499 Reviewed by Xan Lopez.
1501 Fixed error defining the float/double minimum in the object
1502 properties, the smallest value of a float/double is
1503 -G_MAXDOUBLE/-G_MAXFLOAT.
1505 * bindings/scripts/CodeGeneratorGObject.pm:
1507 2010-05-03 Joseph Pecoraro <joepeck@webkit.org>
1509 Reviewed by Dan Bernstein.
1511 REGRESSION: Text clipped in absolutely positioned search inputs
1512 https://bugs.webkit.org/show_bug.cgi?id=38468
1514 Previously I incorrectly added x() and y() to the tx and ty positioning.
1515 This clips a search input like a text input, respecting the vertically
1518 * rendering/RenderTextControlSingleLine.cpp:
1519 (WebCore::RenderTextControlSingleLine::layout): only the Y changes, so change setLocation to setY
1520 (WebCore::RenderTextControlSingleLine::controlClipRect):
1522 2010-05-04 Alexander Pavlov <apavlov@chromium.org>
1524 Reviewed by Timothy Hatcher.
1526 Web Inspector: REGRESSION: Up/Down, PgUp/PgDown keys do not change numeric style properties
1527 https://bugs.webkit.org/show_bug.cgi?id=38516
1529 * inspector/front-end/StylesSidebarPane.js:
1530 (WebInspector.StylePropertyTreeElement.prototype):
1532 2010-05-04 Ben Murdoch <benm@google.com>
1534 Reviewed by Simon Hausmann.
1536 Crash in handleTouchEvent: using dangling node ptrs in hashmap
1537 https://bugs.webkit.org/show_bug.cgi?id=38514
1539 When navigating away from a page, if you have your finger still
1540 pressed and then lift it on the new page we see a crash if the
1541 node got deleted as we still have a dangling pointer in the
1542 m_originatingTouchPointTargets hashmap and try to use it as the
1543 receiver to dispatch a touchend event.
1545 Test: fast/events/touch/touch-stale-node-crash.html
1547 * page/EventHandler.cpp:
1548 (WebCore::EventHandler::clear): Clear the hashmap of touch targets.
1550 2010-05-04 Joseph Pecoraro <joepeck@webkit.org>
1552 Reviewed by Pavel Feldman.
1554 Web Inspector: Drawer Misbehaving when Docking / Undocking in Console Panel
1555 https://bugs.webkit.org/show_bug.cgi?id=38510
1557 * inspector/front-end/inspector.js:
1558 (WebInspector.set attached): resize the drawer after docking/undocking
1560 2010-05-04 Laszlo Gombos <laszlo.1.gombos@nokia.com>
1562 Unreviewed, build fix for Symbian.
1564 [Symbian] Build fix after r58598.
1566 Use C99 integer types for the Symbian plugin
1569 No new tests, as there is no new functionality.
1571 * plugins/symbian/PluginPackageSymbian.cpp:
1572 (WebCore::PluginPackage::NPVersion):
1573 * plugins/symbian/PluginViewSymbian.cpp:
1574 (WebCore::PluginView::handlePostReadFile):
1576 2010-05-04 Nikolas Zimmermann <nzimmermann@rim.com>
1578 Reviewed by Dirk Schulze.
1580 Split SVGCharacterLayoutInfo in smaller pieces
1581 https://bugs.webkit.org/show_bug.cgi?id=38513
1583 Split SVGCharacterLayoutInfo into SVGCharacterLayoutInfo/SVGCharacterData and SVGTextChunkLayoutInfo.
1584 This is a preparation for more work in the text area.
1586 * Android.mk: Add SVGCharacterData.(cpp|h) and SVGTextChunkLayoutInfo.h to build.
1587 * GNUmakefile.am: Ditto.
1588 * WebCore.gypi: Ditto.
1589 * WebCore.pro: Ditto
1590 * WebCore.vcproj/WebCore.vcproj: Ditto.
1591 * WebCore.xcodeproj/project.pbxproj: Ditto.
1592 * rendering/SVGCharacterData.cpp: Copied from rendering/SVGCharacterLayoutInfo.cpp.
1593 * rendering/SVGCharacterData.h: Copied from rendering/SVGCharacterLayoutInfo.h.
1594 (WebCore::SVGChar::SVGChar):
1595 * rendering/SVGCharacterLayoutInfo.cpp:
1596 (WebCore::SVGCharacterLayoutInfo::isInitialLayout): Introduced new helper function to share code between addLayoutInformation/addStackContent.
1597 (WebCore::SVGCharacterLayoutInfo::addLayoutInformation): Use new helper function.
1598 (WebCore::SVGCharacterLayoutInfo::addStackContent): Ditto
1599 * rendering/SVGCharacterLayoutInfo.h:
1600 * rendering/SVGRootInlineBox.h: Include new files.
1601 * rendering/SVGTextChunkLayoutInfo.h: Copied from rendering/SVGCharacterLayoutInfo.h.
1603 2010-05-04 Xan Lopez <xlopez@igalia.com>
1605 Reviewed by Holger Freyther.
1607 [GTK] GObject DOM bindings
1608 https://bugs.webkit.org/show_bug.cgi?id=33590
1610 Use helper functions from CodeGenerator.pm to figure out whether a
1611 type is "fundamental" or not (basically whether it's anything
1612 other than a string or a non-pointer type).
1614 * bindings/scripts/CodeGeneratorGObject.pm:
1616 2010-04-30 Alexander Pavlov <apavlov@chromium.org>
1618 Reviewed by Yury Semikhatsky.
1620 Web Inspector: REGRESSION: Disabled style properties are absent in Styles sidebar after WebInspector is re-opened
1621 https://bugs.webkit.org/show_bug.cgi?id=38255
1623 Moved stylesheet-related mappings into a separate object stored
1624 in InspectorController rather than InspectorDOMAgent (which gets reset
1625 on every frontend [dis]connect).
1630 * WebCore.vcproj/WebCore.vcproj:
1631 * WebCore.xcodeproj/project.pbxproj:
1632 * inspector/InspectorCSSStore.cpp: Added.
1633 (WebCore::InspectorCSSStore::InspectorCSSStore):
1634 (WebCore::InspectorCSSStore::~InspectorCSSStore):
1635 (WebCore::InspectorCSSStore::reset):
1636 * inspector/InspectorCSSStore.h: Added.
1637 * inspector/InspectorController.cpp:
1638 (WebCore::InspectorController::InspectorController):
1639 (WebCore::InspectorController::setFrontend):
1640 (WebCore::InspectorController::didCommitLoad):
1641 * inspector/InspectorController.h:
1642 * inspector/InspectorDOMAgent.cpp:
1643 (WebCore::InspectorDOMAgent::InspectorDOMAgent):
1644 (WebCore::InspectorDOMAgent::discardBindings):
1645 (WebCore::InspectorDOMAgent::applyStyleText):
1646 (WebCore::InspectorDOMAgent::setStyleText):
1647 (WebCore::InspectorDOMAgent::setStyleProperty):
1648 (WebCore::InspectorDOMAgent::toggleStyleEnabled):
1649 (WebCore::InspectorDOMAgent::setRuleSelector):
1650 (WebCore::InspectorDOMAgent::addRule):
1651 (WebCore::InspectorDOMAgent::bindStyle):
1652 (WebCore::InspectorDOMAgent::bindRule):
1653 (WebCore::InspectorDOMAgent::buildObjectForStyle):
1654 (WebCore::InspectorDOMAgent::buildObjectForRule):
1655 * inspector/InspectorDOMAgent.h:
1656 (WebCore::InspectorDOMAgent::create):
1657 (WebCore::InspectorDOMAgent::cssStore):
1659 2010-05-04 Mikhail Naganov <mnaganov@chromium.org>
1661 Reviewed by Pavel Feldman.
1663 Display "Recording..." item when recording an user-initiated CPU profile.
1665 https://bugs.webkit.org/show_bug.cgi?id=38043
1667 * English.lproj/localizedStrings.js:
1668 * inspector/front-end/ProfilesPanel.js:
1669 (WebInspector.ProfilesPanel.prototype.addProfileHeader):
1670 (WebInspector.ProfilesPanel.prototype.removeProfileHeader):
1671 (WebInspector.ProfilesPanel.prototype.showProfile):
1672 * inspector/front-end/inspector.js:
1673 (WebInspector.setRecordingProfile):
1675 2010-05-04 Tucker Jay <jay.tucker@nokia.com>
1677 Reviewed by Holger Freyther.
1679 Animated GIF images does not animate 10x as expected by default.
1680 https://bugs.webkit.org/show_bug.cgi?id=36818
1682 Added test case to existing manual test to test the
1683 fixed functionality.
1685 * manual-tests/qt/qt-10loop-anim.gif: Added.
1686 * manual-tests/qt/qt-gif-test.html:
1687 * platform/graphics/qt/ImageDecoderQt.cpp:
1688 (WebCore::ImageDecoderQt::repetitionCount):
1690 2010-05-04 Dirk Schulze <krit@webkit.org>
1692 Unreviewed sort of XCodes project file.
1694 * WebCore.xcodeproj/project.pbxproj:
1696 2010-05-03 Steven Lai <steven_lai@asia.apple.com>
1698 Reviewed by Brady Eidson.
1700 Reverted hashchange() event back to async.
1701 (This change does not update HashChangeEvent to its new proposed interface)
1702 https://bugs.webkit.org/show_bug.cgi?id=36201
1703 rdar://problem/7780794
1704 rdar://problem/7761278 (partial fix)
1706 Tests: fast/loader/hashchange-event-async.html
1708 * dom/Document.cpp: reverted hashchange() event back to async
1709 (WebCore::Document::enqueueHashchangeEvent):
1711 2010-05-03 Holger Hans Peter Freyther <zecke@selfish.org>
1713 Rubber-stamped by Xan Lopez.
1715 [Cairo,WX] Stop leaking a FontPlatformData.
1716 https://bugs.webkit.org/show_bug.cgi?id=37500
1718 Stephan Aßmus pointed out that the pango font backend
1719 is leaking memory and fixed it. The WX font backend
1720 and the Cairo/Fontconfig backend have the same snippet
1721 of code and are leaking memory as well. This commit is
1724 * platform/graphics/cairo/SimpleFontDataCairo.cpp:
1725 (WebCore::SimpleFontData::smallCapsFontData):
1726 * platform/graphics/wx/SimpleFontDataWx.cpp:
1727 (WebCore::SimpleFontData::smallCapsFontData):
1729 2010-05-03 James Robinson <jamesr@chromium.org>
1731 Reviewed by Eric Seidel.
1733 Clean up a few compiler warnings
1734 https://bugs.webkit.org/show_bug.cgi?id=38073
1736 * html/TextMetrics.h:
1737 (WebCore::TextMetrics::width):
1738 * rendering/style/StyleRareInheritedData.h:
1739 * rendering/style/StyleRareNonInheritedData.h:
1741 2010-05-02 Dumitru Daniliuc <dumi@chromium.org>
1743 Reviewed by Adam Barth.
1745 Add the ability to auto-generate callbacks to all code generators.
1746 https://bugs.webkit.org/show_bug.cgi?id=38414
1748 * bindings/scripts/CodeGeneratorJS.pm:
1749 * bindings/scripts/CodeGeneratorV8.pm:
1750 * bindings/scripts/test/JS/JSTestCallback.cpp: Added.
1751 (WebCore::JSTestCallback::JSTestCallback):
1752 (WebCore::JSTestCallback::~JSTestCallback):
1753 (WebCore::JSTestCallback::callbackWithClass1Param):
1754 (WebCore::JSTestCallback::callbackWithClass2Param):
1755 * bindings/scripts/test/JS/JSTestCallback.h: Added.
1756 (WebCore::JSTestCallback::create):
1757 * bindings/scripts/test/V8/JSTestCallback.cpp: Added.
1758 (WebCore::V8TestCallback::V8TestCallback):
1759 (WebCore::V8TestCallback::~V8TestCallback):
1760 (WebCore::V8TestCallback::callbackWithClass1Param):
1761 (WebCore::V8TestCallback::callbackWithClass2Param):
1762 * bindings/scripts/test/V8/V8TestCallback.h: Added.
1763 (WebCore::V8TestCallback::create):
1764 * bindings/scripts/test/TestCallback.idl: Added.
1766 2010-05-03 Kevin Watters <kevinwatters@gmail.com>
1768 Reviewed by Kevin Ollivier.
1770 [wx] Build and use Mac's ComplexTextController to support complex text in wx.
1771 https://bugs.webkit.org/show_bug.cgi?id=38482
1773 * platform/graphics/FloatSize.h:
1774 * platform/graphics/GlyphBuffer.h:
1775 (WebCore::GlyphBuffer::advanceAt):
1776 (WebCore::GlyphBuffer::add):
1777 * platform/graphics/SimpleFontData.h:
1778 (WebCore::SimpleFontData::getNSFont):
1779 * platform/graphics/mac/ComplexTextController.cpp:
1780 * platform/graphics/mac/ComplexTextController.h:
1781 * platform/graphics/wx/FontCacheWx.cpp:
1782 (WebCore::FontCache::getFontDataForCharacters):
1783 (WebCore::FontCache::getLastResortFallbackFont):
1784 * platform/graphics/wx/FontPlatformData.h:
1786 (WebCore::FontPlatformData::FontPlatformData):
1787 (WebCore::FontPlatformData::allowsLigatures):
1788 * platform/graphics/wx/FontPlatformDataWx.cpp:
1789 (WebCore::FontPlatformData::FontPlatformData):
1790 (WebCore::FontPlatformData::cgFont):
1791 * platform/graphics/wx/FontPlatformDataWxMac.mm: Added.
1792 (WebCore::FontPlatformData::nsFont):
1793 (WebCore::FontPlatformData::cacheNSFont):
1794 * platform/graphics/wx/FontWx.cpp:
1795 (WebCore::Font::canReturnFallbackFontsForComplexText):
1796 (WebCore::Font::selectionRectForComplexText):
1797 (WebCore::Font::drawComplexText):
1798 (WebCore::Font::floatWidthForComplexText):
1799 (WebCore::Font::offsetForPositionForComplexText):
1800 * platform/graphics/wx/SimpleFontDataWx.cpp:
1801 (WebCore::SimpleFontData::platformInit):
1802 (WebCore::SimpleFontData::containsCharacters):
1803 (WebCore::SimpleFontData::platformWidthForGlyph):
1804 * platform/wx/wxcode/fontprops.h:
1805 * platform/wx/wxcode/mac/carbon/fontprops.mm:
1806 (wxFontContainsCharacters):
1808 * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp:
1809 (WebCore::drawTextWithSpacing):
1810 * platform/wx/wxcode/win/fontprops.cpp:
1811 (wxFontContainsCharacters):
1814 2010-05-03 Abhishek Arya <inferno@chromium.org>
1816 Reviewed by Adam Barth.
1818 Add support for controlling clipboard access from javascript.
1819 Clipboard access from javascript is disabled by default.
1820 https://bugs.webkit.org/show_bug.cgi?id=27751
1822 Test: editing/execCommand/clipboard-access.html
1825 * editing/EditorCommand.cpp:
1826 (WebCore::supportedCopyCut):
1827 (WebCore::supportedPaste):
1828 (WebCore::createCommandMap):
1829 * page/Settings.cpp:
1830 (WebCore::Settings::Settings):
1831 (WebCore::Settings::setJavaScriptCanAccessClipboard):
1833 (WebCore::Settings::javaScriptCanAccessClipboard):
1835 2010-05-03 Alexey Proskuryakov <ap@apple.com>
1837 Reviewed by Adam Barth.
1839 https://bugs.webkit.org/show_bug.cgi?id=38285
1840 <rdar://problem/7903453> REGRESSION: Javascript command window.open does not work in empty tab
1842 Cannot be tested, because new windows created in DRT always have an opener, and thus inherit
1843 its security origin. Only new windows and tabs created by browser chrome had this problem.
1845 * loader/FrameLoader.cpp: (WebCore::FrameLoader::init): Moved updateSandboxFlags() call to
1846 the beginning, so that an initial document would get correct flags.
1848 2010-05-03 Noam Rosenthal <noam.rosenthal@nokia.com>
1850 Reviewed by Darin Adler.
1852 WebGL compile issue.
1853 Added ExceptionCode.h to JSWebGLArrayBufferConstructor.cpp, for some reason it was missing.
1854 https://bugs.webkit.org/show_bug.cgi?id=38453
1856 No new tests: compile fix.
1858 * bindings/js/JSWebGLArrayBufferConstructor.cpp:
1860 2010-05-03 Eric Seidel <eric@webkit.org>
1862 Unreviewed, rolling out r58685.
1863 http://trac.webkit.org/changeset/58685
1864 https://bugs.webkit.org/show_bug.cgi?id=38461
1868 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1869 (WebCore::MediaPlayerPrivateGStreamer::updateStates):
1871 2010-05-03 Yael Aharon <yael.aharon@nokia.com>
1873 Reviewed by Darin Adler.
1875 Use HTML5 number parsing in HTMLProgressElement
1876 https://bugs.webkit.org/show_bug.cgi?id=38434
1878 Use parseToDoubleForNumberType instead of toDouble.
1879 Throw an exception when the number is NaN or Infinity.
1881 * html/HTMLProgressElement.cpp:
1882 (WebCore::HTMLProgressElement::value):
1883 (WebCore::HTMLProgressElement::setValue):
1884 (WebCore::HTMLProgressElement::max):
1885 (WebCore::HTMLProgressElement::setMax):
1886 * html/HTMLProgressElement.h:
1887 * html/HTMLProgressElement.idl:
1889 2010-05-03 Jens Alfke <snej@chromium.org>
1891 Reviewed by Darin Fisher.
1893 [chromium] Add "willSendSubmitEvent" hook to WebFrameClient and FrameLoaderClient
1894 https://bugs.webkit.org/show_bug.cgi?id=38397
1896 No tests (functionality is exposed only through native WebKit API.)
1898 * html/HTMLFormElement.cpp:
1899 (WebCore::HTMLFormElement::prepareSubmit): Call frame loader's dispatchWillSendSubmitEvent
1900 * loader/EmptyClients.h:
1901 * loader/FrameLoaderClient.h:
1902 (WebCore::FrameLoaderClient::dispatchWillSendSubmitEvent): New empty method
1904 2010-05-03 Philippe Normand <pnormand@igalia.com>
1906 Reviewed by Eric Carlson.
1908 [GStreamer] forgotten call to durationChanged in updateStates()
1909 https://bugs.webkit.org/show_bug.cgi?id=38461
1911 Notify MediaPlayer if duration is known after playback started.
1913 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1914 (WebCore::MediaPlayerPrivateGStreamer::updateStates):
1916 2010-05-03 Ryuan Choi <ryuan.choi@gmail.com>
1918 Reviewed by Darin Adler.
1920 fixing build break due to clearWatch() when Geolocation feature is
1923 https://bugs.webkit.org/show_bug.cgi?id=38091
1925 no test because this is a build fix only
1927 * page/Geolocation.cpp:
1928 (WebCore::Geolocation::clearWatch):
1930 2010-05-03 Stephan Aßmus <superstippi@gmx.de>
1932 Reviewed by Holger Freyther.
1934 [Gtk] Fix leaking the FontPlatformData instance used to create the the
1935 small caps font data.
1936 https://bugs.webkit.org/show_bug.cgi?id=37500
1938 No new tests needed.
1940 * platform/graphics/gtk/SimpleFontDataPango.cpp:
1941 (WebCore::SimpleFontData::smallCapsFontData):
1942 - Use a stack allocated FontPlatformData instead of a heap allocated
1943 one that is never freed.
1945 2010-05-03 Jarkko Sakkinen <jarkko.j.sakkinen@gmail.com>
1947 Reviewed by Simon Hausmann.
1949 [Qt] GraphicsLayer: support webGL
1950 https://bugs.webkit.org/show_bug.cgi?id=35388
1952 Added support GraphicsContext3D to GraphicsLayer.
1953 Added paint method to GraphicsContext3D for Qt platform that
1954 uses drawTexture() when QGLWidget is used as viewport of
1956 Fine-tuned texture and handling and image to texture conversion to
1957 work also when drawTexture() blitting is used.
1959 * platform/graphics/GraphicsContext3D.h:
1960 * platform/graphics/qt/GraphicsContext3DQt.cpp:
1961 (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
1962 (WebCore::GraphicsContext3D::beginPaint):
1963 (WebCore::GraphicsContext3D::paint):
1964 (WebCore::GraphicsContext3D::texImage2D):
1965 (WebCore::GraphicsContext3D::texSubImage2D):
1966 (WebCore::GraphicsContext3D::getImageData):
1967 * platform/graphics/qt/GraphicsLayerQt.cpp:
1968 (WebCore::GraphicsLayerQtImpl::):
1969 (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
1970 (WebCore::GraphicsLayerQtImpl::paint):
1971 (WebCore::GraphicsLayerQtImpl::flushChanges):
1972 (WebCore::GraphicsLayerQt::setContentsToGraphicsContext3D):
1973 (WebCore::GraphicsLayerQt::setGraphicsContext3DNeedsDisplay):
1974 * platform/graphics/qt/GraphicsLayerQt.h:
1976 2010-05-03 Janne Koskinen <janne.p.koskinen@digia.com>
1978 Reviewed by Simon Hausmann.
1980 [Qt] Fix qtlibraryinfix not to contain space
1982 List catenation with += adds whitespace cutting the infix
1983 from the final target.
1987 2010-05-03 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
1989 Reviewed by Simon Hausmann.
1991 [Qt] Fix rendering of <button> elements on Mac OS X
1993 The <button> element has ButtonPart appearance, not PushButton part,
1994 so we have to include ButtonPart when we decide if we should draw the
1995 button as raised on Mac OS X.
1997 https://bugs.webkit.org/show_bug.cgi?id=38458
1999 * platform/qt/RenderThemeQt.cpp:
2000 (WebCore::RenderThemeQt::initializeCommonQStyleOptions):
2002 2010-04-30 Philippe Normand <pnormand@igalia.com>
2004 Reviewed by Eric Seidel.
2006 [GStreamer] endless loop after playback ended
2007 https://bugs.webkit.org/show_bug.cgi?id=38384
2009 At playback end ensure duration() will return a valid duration if
2010 we managed to calculate it based on current position.
2012 Test: media/video-duration-known-after-eos.html
2014 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2015 (WebCore::MediaPlayerPrivateGStreamer::didEnd):
2017 2010-05-03 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
2019 [Qt] Fix build break on Mac OS X
2021 * plugins/mac/PluginPackageMac.cpp: Use correct type
2022 * WebCore.pro: Remove duplicate symbol, we now have a Qt implementation
2024 2010-05-03 Thomas Zander <t.zander@nokia.com>
2026 Reviewed by Simon Hausmann.
2028 [Qt] Fix library infix usage when compiling inside of Qt
2030 Don't apply the infix when building inside Qt, as that's done through the
2031 inclusion of qbase.pri.
2035 2010-05-02 Dan Bernstein <mitz@apple.com>
2037 Reviewed by Simon Fraser.
2039 Another case of <rdar://problem/7552959> REGRESSION: Infinite recursion in Position::getInlineBoxAndOffset()
2040 https://bugs.webkit.org/show_bug.cgi?id=38445
2042 Test: editing/selection/mixed-editability-11.html
2045 (WebCore::downstreamIgnoringEditingBoundaries): Added. Returns the furthest visually equivalent
2046 position downstream, crossing any editability boundaries.
2047 (WebCore::upstreamIgnoringEditingBoundaries): Similarly for upstream.
2048 (WebCore::Position::getInlineBoxAndOffset): Changed the logic for finding an inline box for positions
2049 whose node is a block flow. Instead of traversing the DOM, advance downstream or upstream as far as
2050 possible, crossing any editability boudaries. Infinite recursion is avoided by advancing all the way
2051 and checking that the new position is different from the starting position. Also replaced the specific
2052 test for buttons with the generic and more comprehensive canHaveChildrenForEditing().
2054 2010-05-02 Tasuku Suzuki <tasuku.suzuki@nokia.com>
2056 Reviewed by Simon Hausmann.
2058 [Qt] Fix compilation with QT_NO_BEARERMANAGEMENT
2059 https://bugs.webkit.org/show_bug.cgi?id=38324
2061 * platform/network/NetworkStateNotifier.h:
2062 * platform/network/qt/NetworkStateNotifierQt.cpp:
2064 2010-04-29 Janne Koskinen <janne.p.koskinen@digia.com>
2066 Reviewed by Simon Hausmann.
2068 [Qt] QtWebKit versioning added
2069 https://bugs.webkit.org/show_bug.cgi?id=37207
2071 QtWebkit releases separated from Qt release cycle.
2075 2010-05-02 Joseph Pecoraro <joepeck@webkit.org>
2077 Reviewed by Timothy Hatcher.
2079 Web Inspector: Old Style trimWhitespace() should be trim()
2080 https://bugs.webkit.org/show_bug.cgi?id=38441
2082 * inspector/front-end/SourceFrame.js:
2083 (WebInspector.SourceFrame.prototype._evalSelectionInCallFrame):
2085 2010-05-02 Tasuku Suzuki <tasuku.suzuki@nokia.com>
2087 Reviewed by Simon Hausmann.
2089 [Qt] Fix compilation with QT_NO_LINEEDIT
2090 https://bugs.webkit.org/show_bug.cgi?id=38324
2092 * platform/qt/RenderThemeQt.cpp:
2093 (WebCore::RenderThemeQt::~RenderThemeQt):
2094 (WebCore::RenderThemeQt::findFrameLineWidth):
2096 2010-05-02 Pavel Feldman <pfeldman@chromium.org>
2098 Not reviewed: Touch inspector controller to kick windows tests.
2100 * inspector/InspectorController.cpp:
2102 2010-05-02 Pavel Feldman <pfeldman@chromium.org>
2104 Reviewed by Timothy Hatcher.
2106 Web Inspector: IMG nodes are being added to the DOM tree late, sometimes hiding the revealed element.
2108 https://bugs.webkit.org/show_bug.cgi?id=38432
2110 * inspector/front-end/ElementsTreeOutline.js:
2111 (WebInspector.ElementsTreeOutline.prototype._onmousemove):
2112 (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.setTooltip):
2113 (WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
2114 (WebInspector.ElementsTreeElement.prototype.updateTitle):
2115 (WebInspector.ElementsTreeElement.prototype._attributeHTML):
2118 2010-05-02 Dirk Schulze <krit@webkit.org>
2120 Reviewed by Nikolas Zimmermann.
2122 SVG hkern implementation incomplete
2123 https://bugs.webkit.org/show_bug.cgi?id=38407
2125 Test: svg/text/text-hkern.svg
2127 The current SVG hkern implementation is incomplete and partly wrong. We pass the ACID3 test
2129 The new implementation supports all glyph and unicode combinations that are allowed by the Spec
2130 and fixes various of bugs. The parser moved from SVGFontElement to the general parsing code in
2132 Some clean-up makes the code more readable and reuseable for the upcoming vkern implementation.
2133 hkern support for text on path is missing and will be added by a following patch.
2134 Unicode strings of hkern elements are just parsed once and not on every glyph again anymore.
2136 * rendering/SVGRootInlineBox.cpp:
2137 (WebCore::calculateCSSKerning):
2138 (WebCore::applySVGKerning):
2139 (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
2140 * svg/SVGFontElement.cpp:
2141 (WebCore::stringMatchesUnicodeRange):
2142 (WebCore::stringMatchesGlyphName):
2144 (WebCore::SVGFontElement::getHorizontalKerningPairForStringsAndGlyphs):
2145 * svg/SVGFontElement.h:
2146 * svg/SVGHKernElement.cpp:
2147 (WebCore::SVGHKernElement::buildHorizontalKerningPair):
2148 * svg/SVGHKernElement.h:
2149 * svg/SVGParserUtilities.cpp:
2150 (WebCore::parseGlyphName):
2151 (WebCore::parseUnicodeRange):
2152 (WebCore::parseKerningUnicodeString):
2153 * svg/SVGParserUtilities.h:
2155 2010-05-02 Pavel Feldman <pfeldman@chromium.org>
2157 Reviewed by Timothy Hatcher.
2159 Web Inspector: debugger shortcuts are processed twice if source frame has focus.
2161 https://bugs.webkit.org/show_bug.cgi?id=38431
2163 * inspector/front-end/SourceFrame.js:
2164 (WebInspector.SourceFrame):
2165 (WebInspector.SourceFrame.prototype._createViewerIfNeeded):
2167 2010-05-02 Jarkko Sakkinen <jarkko.j.sakkinen@gmail.com>
2169 Reviewed by Eric Seidel.
2171 [Qt] Build error in GraphicsContext3DQt.cpp
2172 https://bugs.webkit.org/show_bug.cgi?id=38382
2174 Removed duplicate implementation of isGLES2Compliant from
2175 GraphicsContext3DQt.cpp. Removed deprecated API stuff for
2176 texImage2D/texSubImage2D.
2177 * platform/graphics/qt/GraphicsContext3DQt.cpp:
2179 2010-05-02 Garret Kelly <gdk@chromium.org>
2181 Reviewed by David Levin.
2183 Make the Touch RuntimeEnabledFeature disabled by default.
2184 https://bugs.webkit.org/show_bug.cgi?id=38392
2186 * bindings/generic/RuntimeEnabledFeatures.cpp: Disable the Touch feature by default.
2188 2010-05-02 Michael Nordman <michaeln@google.com>
2190 Reviewed by Dmitry Titov.
2192 Define two new ResourceRequestBase TargetTypes for worker and shared worker
2193 main resources. Use the new target types where appropiate. Add logic to marshal
2194 the target type specified by requests initiated on a background worker thread.
2196 https://bugs.webkit.org/show_bug.cgi?id=38295
2198 No new tests. This doesn't have script visible artifacts.
2200 * platform/network/ResourceRequestBase.cpp: marshal the values
2201 (WebCore::ResourceRequestBase::adopt):
2202 (WebCore::ResourceRequestBase::copyData):
2203 * platform/network/ResourceRequestBase.h: define the types
2204 (WebCore::ResourceRequestBase::):
2205 * workers/DefaultSharedWorkerRepository.cpp: use TargetIsSharedWorker
2206 (WebCore::SharedWorkerScriptLoader::load):
2207 * workers/Worker.cpp: use TargetIsWorker
2208 (WebCore::Worker::Worker):
2209 * workers/WorkerContext.cpp: use TargetIsScript for importScripts
2210 (WebCore::WorkerContext::importScripts):
2211 * workers/WorkerScriptLoader.cpp: add a data member for the target type
2212 (WebCore::WorkerScriptLoader::WorkerScriptLoader):
2213 (WebCore::WorkerScriptLoader::createResourceRequest):
2214 * workers/WorkerScriptLoader.h:
2216 2010-05-02 Noam Rosenthal <noam.rosenthal@nokia.com>
2218 Reviewed by Adele Peterson.
2220 Webkit doesn't compile with 3D-canvas enabled and video disabled
2221 https://bugs.webkit.org/show_bug.cgi?id=38297
2223 Added a #ifdef ENABLE(VIDEO) to WebGL code
2225 No new tests: compile fix.
2227 * bindings/js/JSWebGLRenderingContextCustom.cpp:
2228 (WebCore::JSWebGLRenderingContext::texImage2D):
2229 (WebCore::JSWebGLRenderingContext::texSubImage2D):
2231 2010-05-01 Evan Stade <estade@chromium.org>
2233 Reviewed by David Levin.
2235 [chromium] Skia needs to fade DragImages
2236 https://bugs.webkit.org/show_bug.cgi?id=38008
2238 tested by DragImageTest
2240 * platform/chromium/DragImageChromiumSkia.cpp:
2241 (WebCore::dissolveDragImageToFraction):implement
2242 (WebCore::createDragImageFromImage):deep copy instead of shallow
2244 2010-05-01 Maciej Stachowiak <mjs@apple.com>
2246 Reviewed by Sam Weinig.
2248 REGRESSION (r58273): Visited links do not change color immediately when Cmd-clicked
2249 https://bugs.webkit.org/show_bug.cgi?id=38422
2250 <rdar://problem/7921778>
2253 manual-tests/visited-link-new-window.html
2255 * css/CSSStyleSelector.cpp:
2256 (WebCore::CSSStyleSelector::initElement): Only cache the visited link state
2257 when invoked as part of a helper call to styleForElement or pseudoStyleForElement,
2258 to avoid caching the visited link state beyond the scope of a single style lookup.
2259 (WebCore::CSSStyleSelector::styleForElement): Adjust for above change.
2260 (WebCore::CSSStyleSelector::pseudoStyleForElement): Adjust for above change.
2261 * css/CSSStyleSelector.h:
2262 (WebCore::CSSStyleSelector::styleForElement): Change so "visited link helper mode"
2263 can't accidentally be called from outside CSSStyleSelector itself.
2264 (WebCore::CSSStyleSelector::pseudoStyleForElement): ditto
2265 * manual-tests/visited-link-new-window.html: Added. I could not figure out any way
2266 to make an automated test that supports visited link coloring.
2268 2010-05-01 Yael Aharon <yael.aharon@nokia.com>
2270 Reviewed by Darin Adler.
2272 Move number parsing code out of HTMLInputElement.
2273 https://bugs.webkit.org/show_bug.cgi?id=38203
2275 The numebr parsing code follows HTML5 parsing rules and should be available outside of HTMLInputElement.
2276 No new tests as no new functionality was introduced.
2278 * html/HTMLInputElement.cpp:
2279 * html/HTMLInputElement.h:
2280 * html/HTMLParser.cpp:
2281 (WebCore::serializeForNumberType):
2282 (WebCore::parseToDoubleForNumberType):
2283 * html/HTMLParser.h:
2284 * html/StepRange.cpp:
2285 (WebCore::StepRange::clampValue):
2286 (WebCore::StepRange::valueFromElement):
2287 * html/ValidityState.cpp:
2288 (WebCore::ValidityState::typeMismatch):
2289 * rendering/RenderSlider.cpp:
2290 (WebCore::RenderSlider::setValueForPosition):
2292 2010-05-01 Xan Lopez <xlopez@igalia.com>
2294 Reviewed by Oliver Hunt.
2296 [GTK] GObject DOM bindings
2297 https://bugs.webkit.org/show_bug.cgi?id=33590
2299 Unify more logic to skip functions into SkipFunction, and
2300 whitelist the two [Custom] methods in HTMLCollection.idl.
2302 * bindings/scripts/CodeGeneratorGObject.pm:
2304 2010-05-01 Robert Hogan <robert@webkit.org>
2306 Reviewed by Simon Hausmann.
2308 [Qt] Add smart paste support
2310 https://bugs.webkit.org/show_bug.cgi?id=38136
2313 * editing/qt/SmartReplaceQt.cpp: Added.
2314 (WebCore::isCharacterSmartReplaceExempt):
2315 * platform/qt/PasteboardQt.cpp:
2316 (WebCore::Pasteboard::writeSelection):
2317 (WebCore::Pasteboard::canSmartReplace):
2319 2010-04-30 Yoshiki Hayashi <yhayashi@google.com>
2321 Reviewed by Shinichiro Hamaji.
2323 https://bugs.webkit.org/show_bug.cgi?id=38249
2325 Fixes an issue where border height and padding height are ignored when computing vertically shrinking flexbox's height.
2327 Test: fast/flexbox/child-flexing.html
2329 * rendering/RenderFlexibleBox.cpp:
2330 (WebCore::RenderFlexibleBox::allowedChildFlex):
2332 2010-04-30 Shinichiro Hamaji <hamaji@chromium.org>
2334 Reviewed by Darin Adler.
2336 Add layoutTestController.setPrinting()
2337 https://bugs.webkit.org/show_bug.cgi?id=37203
2339 Use the renderer's width insteead of screen's width as the width of
2340 a screen depends on machines.
2342 * rendering/RenderTreeAsText.cpp:
2343 (WebCore::externalRepresentation):
2345 2010-04-30 Joseph Pecoraro <joepeck@webkit.org>
2347 Reviewed by Timothy Hatcher.
2349 Web Inspector: Missing INSPECTOR Guard in Console::lastWMLErrorMessage
2350 https://bugs.webkit.org/show_bug.cgi?id=38366
2352 Console::lastWMLErrorMessage is only available if WML is enabled, however
2353 its implementation only makes sense as long as INSPECTOR is enabled
2354 as well. So this adds the ENABLE(INSPECTOR) guard in the function. A
2355 browser without ENABLE(INSPECTOR) will always get an empty result.
2359 2010-04-28 Joseph Pecoraro <joepeck@webkit.org>
2361 Reviewed by Oliver Hunt.
2363 REGRESSION(r58313): Regression evident in pixel tests: the search icon is always clipped at the bottom.
2364 https://bugs.webkit.org/show_bug.cgi?id=38253
2366 Test: fast/css/input-search-padding.html
2368 An <input type="search"> contains an inner block, which is explicitly
2369 centered in RenderTextControlSingleLine based on the height of the element.
2370 However, the clipping rect was not using the set location, and instead
2371 calculated off of the top border and padding alone. This also vertically
2372 centers the Caps Lock indicator.
2374 * rendering/RenderTextControl.cpp: moved controlClipRect implementation to RenderTextControlSingleLine
2375 * rendering/RenderTextControl.h: allow a subclass implementation of controlClipRect, removed redundant hasControlClip implementation, and moved controlClipRect
2376 * rendering/RenderTextControlSingleLine.cpp:
2377 (WebCore::RenderTextControlSingleLine::paint): vertically center the Caps Lock indicator
2378 (WebCore::RenderTextControlSingleLine::controlClipRect): use the set location of the anonymous inner block instead
2379 * rendering/RenderTextControlSingleLine.h: allow for an implementation of controlClipRect for <input type="search">
2381 2010-04-30 Jon Honeycutt <jhoneycutt@apple.com>
2383 Caret may fail to blink if a focus handler brings up a modal dialog
2384 https://bugs.webkit.org/show_bug.cgi?id=38372
2386 Reviewed by Darin Adler.
2388 * manual-tests/onfocus-alert-blinking-caret.html: Added.
2390 * page/EventHandler.cpp:
2391 (WebCore::EventHandler::handleMousePressEvent):
2392 Moved the call to setCaretBlinkingSuspended() from here...
2393 (WebCore::EventHandler::handleMousePressEvent):
2394 ... to here. This makes us suspend caret blinking before dispatching the
2395 mouse down event. If dispatching the mouse down event allows the message
2396 loop to run, we want mouse up events received in that message loop to be
2397 able to resume caret blinking.
2398 (WebCore::EventHandler::lostMouseCapture):
2399 We've lost mouse capture and won't be notified of mouse up events;
2400 resume caret blinking.
2402 * page/EventHandler.h:
2403 Declare lostMouseCapture().
2405 2010-04-30 Dimitri Glazkov <dglazkov@chromium.org>
2407 Unreviewed, build fix.
2409 [Chromium] Added a simple IdentifierRep struct and removed dependency on
2412 * bindings/v8/V8NPObject.cpp: Added simple IdentifierRep struct.
2414 2010-04-30 Dimitri Glazkov <dglazkov@chromium.org>
2416 Unreviewed, build fix.
2418 [Chromium] Remove bridge/ from include paths.
2420 * WebCore.gyp/WebCore.gyp: Removed bridge/ from include path.
2422 2010-04-30 Abhishek Arya <inferno@chromium.org>
2424 Reviewed by David Kilzer.
2426 Convert m_documentUnderMouse, m_dragInitiator to RefPtr.
2427 Eliminated unused m_dragInitiator accessor to prevent dereferencing.
2428 https://bugs.webkit.org/show_bug.cgi?id=37618
2430 Test: editing/pasteboard/drag-drop-iframe-refresh-crash.html
2432 * page/DragController.cpp:
2433 (WebCore::DragController::tryDocumentDrag):
2434 (WebCore::DragController::concludeEditDrag):
2435 * page/DragController.h:
2436 (WebCore::DragController::draggingImageURL):
2437 (WebCore::DragController::documentUnderMouse):
2439 2010-04-29 James Robinson <jamesr@chromium.org>
2441 Reviewed by Simon Fraser.
2443 Calls FrameView::scrollPositionChanged whenever a ScrollView is scrolled
2444 https://bugs.webkit.org/show_bug.cgi?id=38286
2446 When a ScrollView's scroll position is changed, we have to call
2447 FrameView::scrollPositionChanged to generate repaint invalidation for
2448 fixed position elements. This ends up getting called indirectly when
2449 the ScrollView has a platformWidget through the port layer
2450 (see WebHTMLView.mm's _frameOrBoundsChanged method for how the mac
2451 port does it) but not when there is no platformWidget.
2453 This is tested by the fast/repaint/fixed-* tests when run in pixel
2456 Test: fast/repaint/fixed-move-after-keyboard-scroll.html
2459 * platform/ScrollView.cpp:
2460 (WebCore::ScrollView::valueChanged):
2461 * platform/ScrollView.h:
2462 (WebCore::ScrollView::scrollPositionChanged):
2464 2010-04-30 Anders Carlsson <andersca@apple.com>
2466 Reviewed by Darin Adler.
2468 Use C99 integer types in more places.
2470 * manual-tests/NPN_Invoke/main.c:
2476 (functionPointerForTVector):
2477 * plugins/mac/PluginViewMac.cpp:
2478 (WebCore::PluginView::platformGetValueStatic):
2479 (WebCore::PluginView::handlePostReadFile):
2481 2010-04-30 Darin Adler <darin@apple.com>
2483 Reviewed by Oliver Hunt.
2485 Remove unused scrollRectIntoViewRecursively function
2486 https://bugs.webkit.org/show_bug.cgi?id=38403
2489 (WebCore::Chrome::scrollRectIntoView): Moved comment here that was previously
2490 in the scrollRectIntoViewRecursively function.
2492 * platform/ScrollView.cpp: Get rid scrollRectIntoViewRecursively.
2493 * platform/ScrollView.h: Ditto. Fix comment that refers to the two functions.
2494 Also correct all uses of the term "method" to use the C++ term "function" and
2495 got rid of double spaces after periods.
2497 2010-04-30 Anders Carlsson <andersca@apple.com>
2499 Another Qt build fix.
2501 * plugins/qt/PluginViewQt.cpp:
2502 (WebCore::PluginView::platformGetValueStatic):
2504 2010-04-30 Anders Carlsson <andersca@apple.com>
2506 Add back TRUE, FALSE and NULL macros. They were not meant to be removed!
2510 2010-04-30 Anders Carlsson <andersca@apple.com>
2512 Try to fix the Qt build this time.
2514 * plugins/qt/PluginPackageQt.cpp:
2515 (WebCore::staticPluginQuirkRequiresGtkToolKit_NPN_GetValue):
2516 (WebCore::PluginPackage::NPVersion):
2518 2010-04-30 Anders Carlsson <andersca@apple.com>
2520 Yet another build fix.
2522 * plugins/gtk/PluginPackageGtk.cpp:
2523 (WebCore::PluginPackage::NPVersion):
2525 2010-04-30 Anders Carlsson <andersca@apple.com>
2531 2010-04-30 Jian Li <jianli@chromium.org>
2533 Reviewed by Darin Fisher.
2535 [chromium] Add WebFileSystem interface and hook up with all FileSystem methods.
2536 https://bugs.webkit.org/show_bug.cgi?id=38228
2538 * platform/chromium/ChromiumBridge.h:
2539 * platform/chromium/FileSystemChromium.cpp:
2540 (WebCore::openFile):
2541 (WebCore::closeFile):
2542 (WebCore::seekFile):
2543 (WebCore::truncateFile):
2544 (WebCore::readFromFile):
2545 (WebCore::writeToFile):
2547 2010-04-30 Anders Carlsson <andersca@apple.com>
2549 Reviewed by Dan Bernstein.
2553 https://bugs.webkit.org/show_bug.cgi?id=20784
2554 move npapi.h to C99 integer types
2557 Remove the old types.
2559 2010-04-30 Sheriff Bot <webkit.review.bot@gmail.com>
2561 Unreviewed, rolling out r58569.
2562 http://trac.webkit.org/changeset/58569
2563 https://bugs.webkit.org/show_bug.cgi?id=38399
2565 This broke the GTK bots due to bad GC behavior (Requested by
2568 * bindings/js/JSWorkerContextCustom.cpp:
2569 * bindings/v8/custom/V8WorkerContextCustom.cpp:
2570 * storage/Database.idl:
2571 * storage/SQLError.idl:
2572 * storage/SQLResultSet.idl:
2573 * storage/SQLResultSetRowList.idl:
2574 * storage/SQLTransaction.idl:
2575 * workers/WorkerContext.cpp:
2576 (WebCore::WorkerContext::openDatabase):
2577 * workers/WorkerContext.h:
2578 (WebCore::WorkerContext::databaseExceededQuota):
2579 * workers/WorkerContext.idl:
2581 2010-04-30 Anders Carlsson <andersca@apple.com>
2585 * plugins/gtk/PluginViewGtk.cpp:
2586 (WebCore::PluginView::handlePostReadFile):
2587 (WebCore::PluginView::platformGetValueStatic):
2589 2010-04-30 Anders Carlsson <andersca@apple.com>
2593 * plugins/qt/PluginViewQt.cpp:
2594 (WebCore::PluginView::handlePostReadFile):
2595 (WebCore::PluginView::platformGetValue):
2597 2010-04-30 Anders Carlsson <andersca@apple.com>
2599 Reviewed by Timothy Hatcher.
2601 Next step towards fixing
2603 https://bugs.webkit.org/show_bug.cgi?id=20784
2604 move npapi.h to C99 integer types
2606 Use the C99 types everywhere. The "old" types are still around but will be removed
2607 in a subsequent commit.
2611 * plugins/PluginPackage.h:
2612 * plugins/PluginStream.cpp:
2613 (WebCore::PluginStream::deliverData):
2614 * plugins/PluginStream.h:
2615 * plugins/PluginView.cpp:
2616 (WebCore::PluginView::postURLNotify):
2617 (WebCore::PluginView::postURL):
2618 (WebCore::PluginView::write):
2619 (WebCore::PluginView::handlePost):
2620 * plugins/PluginView.h:
2621 * plugins/PluginViewNone.cpp:
2622 (WebCore::PluginView::handlePostReadFile):
2623 * plugins/npapi.cpp:
2626 (NPN_PostURLNotify):
2629 * plugins/npfunctions.h:
2630 * plugins/win/PluginPackageWin.cpp:
2631 (WebCore::PluginPackage::NPVersion):
2632 * plugins/win/PluginViewWin.cpp:
2633 (WebCore::PluginView::handlePostReadFile):
2635 2010-04-30 Peter Kasting <pkasting@google.com>
2637 Reviewed by David Levin.
2639 Make all image decoders set the "failed" bit if an image could not be
2640 completely decoded, but no more data is coming. The ICO and BMP
2641 decoders already did this.
2642 https://bugs.webkit.org/show_bug.cgi?id=35411
2644 "Failed" does not cause the image to not be displayed, it simply causes
2645 us to not bother to try to decode again if future requests are made, and
2646 for some decoders, lets the decoder clean up some of its temporary
2649 No layout tests because this does not change the visible output of decoding in any way.
2651 * platform/image-decoders/gif/GIFImageDecoder.cpp:
2652 (WebCore::GIFImageDecoder::frameComplete): Return whether the frame could be marked as complete.
2653 (WebCore::GIFImageDecoder::decode): Fail if read() needs more data (and thus returns false) and no more is coming.
2654 * platform/image-decoders/gif/GIFImageDecoder.h:
2655 * platform/image-decoders/gif/GIFImageReader.cpp:
2656 (GIFImageReader::do_lzw): Instead of returning true for buffer underrun and false for failure, return false for both and set the failure flag on failure.
2657 (GIFImageReader::read): Ditto.
2658 * platform/image-decoders/gif/GIFImageReader.h:
2659 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
2661 (WebCore::JPEGImageReader::decode): See do_lzw() comment above.
2662 (WebCore::JPEGImageDecoder::decode): Fail if decode() needs more data (and thus returns false) and no more is coming.
2663 * platform/image-decoders/jpeg/JPEGImageDecoder.h:
2664 * platform/image-decoders/png/PNGImageDecoder.cpp:
2665 (WebCore::PNGImageReader::decode): Return true for decode success, false for buffer underrun or decode failure, and set the failure flag on decode failure.
2666 (WebCore::PNGImageDecoder::decode): See JPEGImageDecoder::decode() comment above.
2667 * platform/image-decoders/png/PNGImageDecoder.h:
2669 2010-04-30 Brady Eidson <beidson@apple.com>
2671 Reviewed by Eric Carlson.
2673 <rdar://problem/7902467> - Audio plays upon loading of npr.org but shouldn't
2675 No new tests. (Currently no way to test such site specific hack behavior)
2677 * html/HTMLMediaElement.cpp:
2678 (WebCore::HTMLMediaElement::HTMLMediaElement):
2679 (WebCore::HTMLMediaElement::asyncEventTimerFired): If the event to be dispatched is the canplay
2680 event, wrap the dispatch with m_dispatchingCanPlayEvent set.
2681 (WebCore::HTMLMediaElement::play): If m_dispatchingCanPlayEvent is true and the site is npr.org,
2682 don't perform the play().
2683 * html/HTMLMediaElement.h: Add m_dispatchingCanPlayEvent member.
2685 2010-04-30 Dan Bernstein <mitz@apple.com>
2687 Reviewed by Adele Peterson.
2689 Part of <rdar://problem/6649734> Text repainting does not account for glyphs which draw outside the typographic bounds of the font
2690 https://bugs.webkit.org/show_bug.cgi?id=6274
2692 Account for glyph overflow of characters in the range U+1E00..U+2000, but without sending them
2693 through the complex text code path. Instead, introduce a variant of the fast path that tracks
2696 * platform/graphics/Font.cpp:
2697 (WebCore::Font::drawText): Use codePath().
2698 (WebCore::Font::floatWidth): Use codePath(). Pass the GlyphOverflow pointer through to
2699 floatWidthForSimpleText() if the code path is SimpleWithGlyphOverflow.
2700 (WebCore::Font::selectionRectForText): Use codePath().
2701 (WebCore::Font::offsetForPosition): Ditto.
2702 * platform/graphics/Font.h: Replaced canUseGlyphCache() with codePath(). Added a GlyphOverflow
2703 parameter to floatWidthForSimpleText().
2704 * platform/graphics/FontFastPath.cpp:
2705 Removed ROMAN_AND_GREEK_DIACRITICS_CAN_USE_GLYPH_CACHE.
2706 (WebCore::Font::codePath): Renamed canUseGlyphCache() to this. Where it used to return false,
2707 it now returns Complex. Where it used to return true, it now returns Simple, except for
2708 the range U+1E00..U+2000, where it now returns SimpleWithGlyphOverflow.
2709 (WebCore::Font::floatWidthForSimpleText): Added a GlyphOverflow parameter. If not 0, have the
2710 width iterator account for glyph bounds, then update the GlyphOverflow accordingly.
2711 * platform/graphics/WidthIterator.cpp:
2712 (WebCore::WidthIterator::WidthIterator): Added boolean parameter telling the width iterator
2713 whether to account for glyph bounds. Initialize m_accountForGlyphBounds accordingly. Initialize
2714 m_maxGlyphBoundingBoxY, m_minGlyphBoundingBoxY, m_firstGlyphOverflow and m_lastGlyphOverflow.
2715 (WebCore::WidthIterator::advance): If accounting for glyph bounds, update the above member variables.
2716 * platform/graphics/WidthIterator.h:
2717 (WebCore::WidthIterator::maxGlyphBoundingBoxY): Added this accessor.
2718 (WebCore::WidthIterator::minGlyphBoundingBoxY): Ditto.
2719 (WebCore::WidthIterator::firstGlyphOverflow): Ditto.
2720 (WebCore::WidthIterator::lastGlyphOverflow): Ditto.
2722 2010-04-30 Chris Marrin <cmarrin@apple.com>
2724 Reviewed by Simon Fraser.
2726 Reversed the order of the CSSMatrix.multiply method
2727 https://bugs.webkit.org/show_bug.cgi?id=38337
2729 Test: transforms/svg-vs-css.xhtml
2731 * css/WebKitCSSMatrix.cpp:
2732 (WebCore::WebKitCSSMatrix::multiply):
2733 * platform/graphics/transforms/TransformationMatrix.cpp:
2735 2010-04-30 Kevin Ollivier <kevino@theolliviers.com>
2737 Unreviewed. Attempt to fix the Chromium Mac build after the last commit.
2741 2010-04-30 Kevin Ollivier <kevino@theolliviers.com>
2743 Reviewed by Dan Bernstein.
2745 Allow other ports to compile ATSUI and CoreText functions in SimpleFontData for Mac.
2746 https://bugs.webkit.org/show_bug.cgi?id=38334
2748 * WebCore.xcodeproj/project.pbxproj:
2749 * platform/graphics/mac/SimpleFontDataATSUI.mm: Copied from WebCore/platform/graphics/mac/SimpleFontDataMac.mm.
2750 * platform/graphics/mac/SimpleFontDataCoreText.cpp: Copied from WebCore/platform/graphics/mac/SimpleFontDataMac.mm.
2751 * platform/graphics/mac/SimpleFontDataMac.mm:
2753 2010-04-30 Shinichiro Hamaji <hamaji@chromium.org>
2755 Reviewed by Simon Fraser.
2757 SHOULD NEVER BE REACHED assertion loading forbes.com
2758 https://bugs.webkit.org/show_bug.cgi?id=38272
2760 Ignore page media related pseudo classes.
2762 Test: printing/pseudo-class-outside-page.html
2764 * css/CSSStyleSelector.cpp:
2765 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
2767 2010-04-30 Laszlo Gombos <laszlo.1.gombos@nokia.com>
2769 Unreviewed, build fix.
2771 Fix compiler warning "suggest parentheses around"
2773 No new tests as there is no new functionality.
2775 * svg/SVGAnimateElement.cpp:
2776 (WebCore::SVGAnimateElement::calculateFromAndToValues):
2778 2010-04-30 Kent Tamura <tkent@chromium.org>
2780 Unreviewed. Regression fix.
2782 Revert a part of r58564 to be compatible with prior behavior
2783 https://bugs.webkit.org/show_bug.cgi?id=38383
2785 * rendering/RenderTextControlSingleLine.cpp:
2786 (WebCore::RenderTextControlSingleLine::forwardEvent):
2787 r58564 made a region check for the cancel button stricter, but it
2788 made some tests failing on Chromium. So, relax the check again.
2790 2010-04-29 Jeremy Orlow <jorlow@chromium.org>
2792 Reviewed by Darin Fisher.
2794 Change StorageEvent.uri to StorageEvent.url to match the spec
2795 https://bugs.webkit.org/show_bug.cgi?id=38331
2797 As I mentioned in http://www.mail-archive.com/public-webapps@w3.org/msg08495.html
2798 WebKit is the only one who places the document's URL in a 'uri' property
2799 rather than a 'url' property. Even though we've shipped several versions of
2800 browsers with the old name, we probably should change this to comply with the
2803 This stuff is covered by existing tests.
2805 * storage/StorageEvent.cpp:
2806 (WebCore::StorageEvent::create):
2807 (WebCore::StorageEvent::StorageEvent):
2808 (WebCore::StorageEvent::initStorageEvent):
2809 * storage/StorageEvent.h:
2810 (WebCore::StorageEvent::url):
2811 * storage/StorageEvent.idl:
2813 2010-04-30 Nikolas Zimmermann <nzimmermann@rim.com>
2815 Reviewed by Dirk Schulze.
2817 REGRESSION: RenderPath does not handle repaints correctly anymore if bounds changed
2818 https://bugs.webkit.org/show_bug.cgi?id=38385
2820 The last SVG performance patch broke repainting if bounds of a RenderPath get smaller.
2821 It would only repaint the smaller part, not the original larger bounds.
2823 Remove all lazy calculation of the repaint rects, instead calculate object/strokeBoundingBox and repaintRectInLocalCoordinates
2824 once in layout - after LayoutRepainter grabbed the initial bounds, before calling repaintAfterLayout(). We can now inline
2825 all these functions, and save a lot of m_path.isEmpty() checks, which are expensive. No need to store a seperated markerBoundingBox(),
2826 combine with strokeBoundingBox() -> save one FloatRect per RenderPath. Move strokeBoundingBox() from SVGRenderBase to RenderObject,
2827 right next to objectBoundingBox() - to save unnecessary toSVGRenderBase() calls. Completly remove this method.
2829 Overall this is a regression fix, a performance improvement and saves memory. Something for everyone.
2831 Tests: svg/custom/repaint-stroke-width-changes.svg
2833 * rendering/RenderObject.cpp: Added strokeBoundingBox() here, to avoid the toSVGRenderBase() dance.
2834 (WebCore::RenderObject::strokeBoundingBox):
2835 * rendering/RenderObject.h: Ditto.
2836 * rendering/RenderPath.cpp:
2837 (WebCore::RenderPath::RenderPath):
2838 (WebCore::RenderPath::layout): Fix regression, do repainting correctly, by recalculating the boundaries, if needed, instead of nulling them.
2839 (WebCore::RenderPath::paint): Cache SVGRenderStyle in local variable, remove no longer valid FIXME.
2840 (WebCore::RenderPath::calculateMarkerBoundsIfNeeded): Return a FloatRect, to avoid having to store the marker bounding box seperated.
2841 (WebCore::RenderPath::styleWillChange): Mark boundaries as dirty.
2842 (WebCore::RenderPath::updateCachedBoundaries): New function to (re-)calculate all cached boundaries, only called from layout().
2843 * rendering/RenderPath.h: Rename cached rect variables to have more sensible names.
2844 (WebCore::RenderPath::objectBoundingBox): Inlined, just returns the cached value - no more lazy creation. Huge speedup as this is hot code.
2845 (WebCore::RenderPath::strokeBoundingBox): Ditto.
2846 (WebCore::RenderPath::repaintRectInLocalCoordinates): Ditto.
2847 * rendering/RenderSVGBlock.h: Remove toSVGRenderBase() method.
2848 * rendering/RenderSVGImage.h: Ditto.
2849 * rendering/RenderSVGInline.cpp: No need to call toSVGRenderBase() just to get the strokeBoundingBox(). Unifies code to retrieve bounding boxes.
2850 (WebCore::RenderSVGInline::strokeBoundingBox):
2851 * rendering/RenderSVGInline.h: Remove toSVGRenderBase() method.
2852 * rendering/RenderSVGModelObject.h: Ditto.
2853 * rendering/RenderSVGResourceFilter.cpp: No need to call toSVGRenderBase() anymore, just grab the strokeBoundingBox() from the RenderObject.
2854 (WebCore::RenderSVGResourceFilter::applyResource):
2855 * rendering/RenderSVGText.h: Remove toSVGRenderBase() method.
2856 * rendering/SVGRenderSupport.h: Ditto. Remove markerBoundingBox() method, now combined with strokeBoundingBox().
2857 (WebCore::SVGRenderBase::strokeBoundingBox):
2858 * rendering/SVGRootInlineBox.h: Remove toSVGRenderBase() method.
2859 * rendering/style/SVGRenderStyle.h: Add hasMarkers() helper method, to avoid doing unnecessary work in RenderPath.
2860 (WebCore::SVGRenderStyle::hasMarkers):
2862 2010-04-30 Eric Uhrhane <ericu@chromium.org>
2864 Reviewed by Dmitry Titov.
2866 Add bindings for async DB API in Workers.
2867 https://bugs.webkit.org/show_bug.cgi?id=34992
2869 Tests: storage/change-version-handle-reuse-worker.html
2870 storage/execute-sql-args-worker.html
2872 * bindings/js/JSWorkerContextCustom.cpp: Add openDatabase binding.
2873 (WebCore::JSWorkerContext::openDatabase):
2875 * 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.
2876 (WebCore::V8WorkerContext::openDatabaseCallback):
2878 Add NoStaticTables flags to all objects now shared with workers.
2879 * storage/Database.idl:
2880 * storage/SQLError.idl:
2881 * storage/SQLResultSet.idl:
2882 * storage/SQLResultSetRowList.idl:
2883 * storage/SQLTransaction.idl:
2885 * workers/WorkerContext.h: Add databaseExceededQuota.
2886 * workers/WorkerContext.cpp:
2887 (WebCore::WorkerContext::databaseExceededQuota): Add stub implementation for testing; you just get 5MB for now.
2888 (WebCore::WorkerContext::openDatabase): Remove invalid assertion.
2890 Add the IDL for the call to openDatabase.
2891 * workers/WorkerContext.idl:
2893 2010-04-30 Shinichiro Hamaji <hamaji@chromium.org>
2895 Reviewed by Darin Adler.
2897 Unnecessary PrintContext::end() calls
2898 https://bugs.webkit.org/show_bug.cgi?id=38247
2900 Refactoring only, so no new tests.
2902 * page/PrintContext.cpp:
2903 (WebCore::PrintContext::pageNumberForElement):
2904 (WebCore::PrintContext::numberOfPages):
2906 2010-04-30 Kent Tamura <tkent@chromium.org>
2908 Reviewed by Adele Peterson.
2910 Implement interactive behavior of spin buttons.
2911 https://bugs.webkit.org/show_bug.cgi?id=35686
2913 Introduce SpinButtonElement. It is a shadow element class for
2914 spin buttons. If the upper side of the element is clicked, calls
2915 HTMLInputElement::stepUpFromRenderer(1). If the lower button is
2916 clicked, calls HTMLInputElement::stepUpFromRenderer(-1).
2918 SpinButtonElement tracks the mouse pointer position, and
2919 RenderTheme sets ControlStates::SpinUpState if the pointer is on
2922 Test: platform/mac/fast/forms/input-number-click.html
2925 (WebCore::Element::isSpinButtonElement):
2926 * editing/VisibleSelection.cpp:
2927 (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries):
2928 Remove an assertion. lastEditablePositionBeforePositionInRoot() can
2929 return null in a case that m_end is at a shadow element (a spin button)
2930 and baseRoot is another shadow element (inner text block) in the same
2931 node (an INPUT element).
2932 * html/HTMLInputElement.cpp:
2933 (WebCore::HTMLInputElement::stepUpFromRenderer):
2934 * html/HTMLInputElement.h:
2935 (WebCore::HTMLInputElement::hasSpinButton):
2936 Add types supporting step attribute except RANGE.
2937 * rendering/RenderTextControlSingleLine.cpp:
2938 (WebCore::RenderTextControlSingleLine::nodeAtPoint):
2939 (WebCore::RenderTextControlSingleLine::forwardEvent):
2940 (WebCore::RenderTextControlSingleLine::preferredContentWidth):
2941 (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
2942 * rendering/RenderTextControlSingleLine.h:
2943 * rendering/RenderTheme.cpp:
2944 (WebCore::RenderTheme::controlStatesForRenderer):
2945 (WebCore::RenderTheme::isSpinUpButtonPartPressed):
2946 (WebCore::RenderTheme::isSpinUpButtonPartHovered):
2947 * rendering/RenderTheme.h:
2948 * rendering/TextControlInnerElements.cpp:
2949 (WebCore::SpinButtonElement::SpinButtonElement):
2950 (WebCore::SpinButtonElement::defaultEventHandler):
2951 * rendering/TextControlInnerElements.h:
2952 (WebCore::SpinButtonElement::isSpinButtonElement):
2953 (WebCore::SpinButtonElement::isEnabledFormControl):
2954 (WebCore::SpinButtonElement::onUpButton):
2956 2010-04-30 Yael Aharon <yael.aharon@nokia.com>
2958 Reviewed by Kenneth Rohde Christiansen.
2960 [Qt] Enable DOMWindow constructor for HTMLProgressElement
2961 https://bugs.webkit.org/show_bug.cgi?id=38333
2963 Add ENABLE_PROGRESS_TAG to FEATURES_DEFINES_JAVASCRIPT.
2967 2010-04-30 Kent Tamura <tkent@chromium.org>
2969 Reviewed by Adele Peterson.
2971 Mac implementation of outer-spin-button appearance, and anonymous
2972 element generation for <input type=number>.
2973 https://bugs.webkit.org/show_bug.cgi?id=32813
2975 The implementation uses NSStepperCell. Like the other Mac
2976 controls, it has only three candidates for sizes.
2978 The editable block of an input element is shrunk, and the
2979 anonymous block for a spin button is put on the right of the
2982 Tests: platform/mac/fast/forms/input-appearance-spinbutton-size.html
2983 platform/mac/fast/forms/input-appearance-spinbutton.html
2986 (WebCore::Element::pseudoStyleCacheIsInvalid):
2987 * dom/InputElement.h:
2988 (WebCore::InputElement::hasSpinButton):
2989 * html/HTMLInputElement.h:
2990 (WebCore::HTMLInputElement::hasSpinButton): Return true for NUMBER type.
2991 * platform/mac/ThemeMac.mm:
2992 (WebCore::sizeFromNSControlSize): Split the main part of sizeFromFont()
2993 to this in order to use stepperControlSizeForFont() instead of
2994 controlSizeForFont().
2995 (WebCore::sizeFromFont): Just calls sizeFromNSControlSize() with
2996 sizeFromFont(). No behavior changes.
2997 (WebCore::stepperSizes): Returns sizes for mini, small, and regular.
2998 (WebCore::stepperControlSizeForFont):
2999 Dedicated version of controlSizeForFont().
3000 (WebCore::stepper): Returns NSStepperCell object with specified settings.
3001 (WebCore::paintStepper):
3002 (WebCore::ThemeMac::controlSize): Support for OuterSpinButton.
3003 (WebCore::ThemeMac::minimumControlSize): ditto.
3004 (WebCore::ThemeMac::inflateControlPaintRect): ditto.
3005 (WebCore::ThemeMac::paint): ditto.
3006 * rendering/RenderBox.cpp:
3007 (WebCore::RenderBox::paintBoxDecorations):
3008 Move the content to paintBoxDecorationsWithSize().
3009 (WebCore::RenderBox::paintBoxDecorationsWithSize):
3010 * rendering/RenderBox.h: Declare paintBoxDecorationsWithSize().
3011 * rendering/RenderTextControlSingleLine.cpp:
3012 (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine):
3013 (WebCore::RenderTextControlSingleLine::paintBoxDecorations):
3014 Call paintBoxDecorationsWithSize() with smaller width by decorationWidthRight().
3015 (WebCore::RenderTextControlSingleLine::addFocusRingRects):
3016 Add a rectangle of which width is smaller by decorationWidthRight().
3017 (WebCore::RenderTextControlSingleLine::layout):
3018 Adjust m_outerSpinButton position.
3019 (WebCore::RenderTextControlSingleLine::styleDidChange):
3020 (WebCore::RenderTextControlSingleLine::textBlockWidth):
3021 (WebCore::RenderTextControlSingleLine::decorationWidthRight):
3022 (WebCore::RenderTextControlSingleLine::preferredDecorationWidthRight):
3023 (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
3024 Creates an element for m_outerSpinButton if it is needed.
3025 (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
3026 (WebCore::RenderTextControlSingleLine::createOuterSpinButtonStyle):
3027 * rendering/RenderTextControlSingleLine.h: Declare new methods and m_outerSpinButton.
3028 * rendering/RenderThemeMac.mm:
3029 (WebCore::RenderThemeMac::adjustRepaintRect): Support for OuterSpinButton.
3031 2010-04-29 Adam Barth <abarth@webkit.org>
3033 Unreviewed. Update JSC CodeGenerator baseline. Not sure how I missed
3036 * bindings/scripts/test/JS/JSTestObj.cpp:
3037 (WebCore::jsTestObjPrototypeFunctionSerializedValue):
3039 2010-04-29 Justin Garcia <justin.garcia@apple.com>
3041 Reviewed by Adele Peterson.
3043 Need to updateLayout after typing commands too
3044 https://bugs.webkit.org/show_bug.cgi?id=38352
3046 Replaced !m_parent checks in EditCommand.cpp by the more descriptive isTopLevelCommand().
3047 Move the post editing operation updateLayout() call to {un,re}appliedEditing so that text insertions,
3048 which don't go through EditCommand::{un,re}apply() can benefit from it too. No test case possible
3049 since most platforms have a layout performed as a side effect of post operation selection code.
3051 * editing/EditCommand.cpp:
3052 (WebCore::EditCommand::apply):
3053 (WebCore::EditCommand::unapply):
3054 (WebCore::EditCommand::reapply):
3055 * editing/EditCommand.h:
3056 (WebCore::EditCommand::isTopLevelCommand):
3057 * editing/Editor.cpp:
3058 (WebCore::Editor::appliedEditing):
3059 (WebCore::Editor::unappliedEditing):
3060 (WebCore::Editor::reappliedEditing):
3062 2010-04-29 Dan Bernstein <mitz@apple.com>
3064 Reviewed by Simon Fraser.
3066 <rdar://problem/7918086> REGRESSION (r57820): Controller is not displayed in window when opening a MP3 file in browser window
3067 https://bugs.webkit.org/show_bug.cgi?id=38350
3069 Tests: media/audio-only-video-intrinsic-size.html
3070 media/media-document-audio-size.html
3072 * rendering/RenderVideo.cpp:
3073 (WebCore::RenderVideo::RenderVideo): Until metadata is available, ignore the natural size
3074 reported by the player.
3075 (WebCore::RenderVideo::videoSizeChanged): Respect a natural size of zero if reported by the
3076 player, except in standalone media documents.
3078 2010-04-29 Anders Carlsson <andersca@apple.com>
3080 Reviewed by Dan Bernstein.
3083 https://bugs.webkit.org/show_bug.cgi?id=20784
3084 move npapi.h to C99 integer types.
3086 Add nptypes.h to the build.
3088 * WebCore.xcodeproj/project.pbxproj:
3090 * bridge/npruntime.h:
3091 * bridge/nptypes.h: Added.
3093 2010-04-29 Xan Lopez <xlopez@igalia.com>
3095 Rubber-stamped by Adam Barth.
3097 Update GObject bindings test results. We are actually moving
3098 backwards here, but we'll update them again when we figure out
3101 * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
3102 (webkit_dom_test_obj_set_property):
3103 (webkit_dom_test_obj_get_property):
3105 2010-04-29 Sam Weinig <sam@webkit.org>
3107 Reviewed by Anders Carlsson.
3109 Fix for https://bugs.webkit.org/show_bug.cgi?id=38277
3110 MiniBrowser: -[WebCoreFlippedView currentEditor]: unrecognized selector
3112 * platform/mac/ThemeMac.mm:
3113 (-[WebCoreFlippedView currentEditor]): Added currentEditor nil implementation.
3115 2010-04-29 Adam Barth <abarth@webkit.org>
3117 Reviewed by Eric Seidel.
3119 CodeGeneratorJS.pm should be consistent about castedThis versus castedThisObj
3120 https://bugs.webkit.org/show_bug.cgi?id=38338
3122 Currently CodeGeneratorJS.pm uses castThis for methods and
3123 castedThisObj for attributes. This inconsistency makes it difficult to
3124 factor common code genereration code into methods shared by both kinds
3125 of bindings. This match aligns the names so that a future patch (e.g.,
3126 in https://bugs.webkit.org/show_bug.cgi?id=38313) can reduce copy/paste
3129 * bindings/scripts/CodeGeneratorJS.pm:
3130 * bindings/scripts/test/JS/JSTestObj.cpp:
3131 (WebCore::setJSTestObjIntAttr):
3132 (WebCore::setJSTestObjLongLongAttr):
3133 (WebCore::setJSTestObjUnsignedLongLongAttr):
3134 (WebCore::setJSTestObjStringAttr):
3135 (WebCore::setJSTestObjTestObjAttr):
3136 (WebCore::setJSTestObjAttrWithException):
3137 (WebCore::setJSTestObjAttrWithSetterException):
3138 (WebCore::setJSTestObjAttrWithGetterException):
3139 (WebCore::jsTestObjPrototypeFunctionVoidMethod):
3140 (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
3141 (WebCore::jsTestObjPrototypeFunctionIntMethod):
3142 (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
3143 (WebCore::jsTestObjPrototypeFunctionObjMethod):
3144 (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
3145 (WebCore::jsTestObjPrototypeFunctionMethodWithException):
3146 (WebCore::jsTestObjPrototypeFunctionCustomMethod):
3147 (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs):
3148 (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
3149 (WebCore::jsTestObjPrototypeFunctionAddEventListener):
3150 (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
3151 (WebCore::jsTestObjPrototypeFunctionWithDynamicFrame):
3152 (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg):
3153 (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
3154 (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
3155 (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
3156 (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoid):
3157 (WebCore::jsTestObjPrototypeFunctionWithScriptStateObj):
3158 (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException):
3159 (WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
3160 (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
3161 (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
3162 (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
3164 2010-04-29 Gustavo Noronha Silva <gustavo.noronhaollabora.co.uk>
3166 Reviewed by Xan Lopez.
3168 [GTK] pointerCursor should use the default cursor set for the window, not GDK_LEFT_PTR
3169 https://bugs.webkit.org/show_bug.cgi?id=36963
3171 Use the default cursor instead of hard-coding left pointer.
3173 * platform/gtk/CursorGtk.cpp:
3174 (WebCore::Cursor::Cursor):
3175 (WebCore::pointerCursor):
3177 2010-04-29 Ilya Tikhonovsky <loislo@chromium.org>
3179 Reviewed by Yury Semikhatsky.
3181 WebInspector: If Timeline panel is in recording mode and is not visible and has received
3182 new events then these events do not appear in the panel when the panel becomes visible.
3183 Timeline popup may appear in the upper left window corner when you switch to another panel.
3184 https://bugs.webkit.org/show_bug.cgi?id=38322
3186 * inspector/front-end/Popover.js:
3187 (WebInspector.PopoverHelper.prototype._mouseMove.doHide):
3188 (WebInspector.PopoverHelper.prototype._mouseMove):
3189 (WebInspector.PopoverHelper.prototype.hidePopup):
3190 (WebInspector.PopoverHelper.prototype._hidePopup):
3191 * inspector/front-end/TimelinePanel.js:
3192 (WebInspector.TimelinePanel.prototype.show):
3193 (WebInspector.TimelinePanel.prototype._scheduleRefresh):
3194 (WebInspector.TimelinePanel.prototype._refresh):
3196 2010-04-29 Anton Muhin <antonm@chromium.org>
3198 Reviewed by Darin Adler.
3200 Let's cache nodelists instead of DynamicNodeList::Caches
3201 https://bugs.webkit.org/show_bug.cgi?id=33696
3203 Test: fast/dom/Element/node-list-identity.html
3205 * bindings/js/JSNodeCustom.cpp:
3206 (WebCore::JSNode::markChildren): Mark all cached node lists as well
3207 * dom/ClassNodeList.cpp:
3208 (WebCore::ClassNodeList::ClassNodeList): Don't need DynamicNodeList::Caches argument any more
3209 (WebCore::ClassNodeList::~ClassNodeList): Remove from the cache
3210 * dom/ClassNodeList.h: Added a field with original class names to be used as a key for removal from the cache
3211 (WebCore::ClassNodeList::create): Don't need DynamicNodeList::Caches argument any more
3212 * dom/NameNodeList.cpp:
3213 (WebCore::NameNodeList::NameNodeList): Don't need DynamicNodeList::Caches argument any more
3214 (WebCore::NameNodeList::~NameNodeList): Remove from the cache
3215 * dom/NameNodeList.h:
3216 (WebCore::NameNodeList::create): Don't need DynamicNodeList::Caches argument any more
3218 (WebCore::Node::removeCachedClassNodeList): Remove ClassNodeList from the cache
3219 (WebCore::Node::removeCachedNameNodeList): Remove NameNodeList from the cache
3220 (WebCore::Node::removeCachedTagNodeList): Remove TagNodeList from the cache
3221 (WebCore::Node::getElementsByTagNameNS): Switch to caching node lists themselves, not the data
3222 (WebCore::Node::getElementsByName): Switch to caching node lists themselves, not the data
3223 (WebCore::Node::getElementsByClassName): Switch to caching node lists themselves, not the data
3224 (WebCore::NodeListsNodeData::invalidateCaches): Switch to caching node lists themselves, not the data
3225 (WebCore::NodeListsNodeData::invalidateCachesThatDependOnAttributes): Switch to caching node lists themselves, not the data
3226 (WebCore::NodeListsNodeData::isEmpty): Switch to caching node lists themselves, not the data
3227 (WebCore::markNodeLists): Helper to mark all the node lists in the cache
3228 (WebCore::Node::markCachedNodeListsSlow): Mark all the cached node lists if any could be present
3230 (WebCore::Node::markCachedNodeLists): Fast-path marking of cached node lists---bails out if there is no rare data
3231 * dom/NodeRareData.h: Changed type of caches to hold raw pointers to node lists, not RefPtr's to data
3232 * dom/TagNodeList.cpp:
3233 (WebCore::TagNodeList::TagNodeList): Don't need DynamicNodeList::Caches argument any more
3234 (WebCore::TagNodeList::~TagNodeList): Remove from the cache
3235 * dom/TagNodeList.h:
3236 (WebCore::TagNodeList::create): Don't need DynamicNodeList::Caches argument any more
3238 2010-04-29 Mikhail Naganov <mnaganov@chromium.org>
3240 Reviewed by Yury Semikhatsky.
3242 [Chromium] Update ScriptProfileNode to retrieve execution time in milliseconds.
3244 https://bugs.webkit.org/show_bug.cgi?id=38330
3246 * bindings/v8/ScriptProfileNode.cpp:
3247 (WebCore::ScriptProfileNode::totalTime):
3248 (WebCore::ScriptProfileNode::selfTime):
3250 2010-04-28 Dimitri Glazkov <dglazkov@chromium.org>
3252 Reviewed by Darin Adler.
3254 A form without a submit button unexpectedly performs its action when Return is pressed
3255 https://bugs.webkit.org/show_bug.cgi?id=9756
3257 Implemented implicit form submission algorithm as defined in HTML5 spec:
3258 http://www.whatwg.org/specs/web-apps/current-work/multipage/association-of-controls-and-forms.html#implicit-submission,
3259 falling back to match IE's behavior in the edge cases.
3261 The underlying rules are:
3263 * If the form has no enabled submit buttons, submit if Enter/Return is pressed on the only single-line text field.
3265 * Otherwise, submit form using first enabled submit button if Enter/Return is pressed on a field
3266 that's not a textarea or a select.
3268 Test: fast/forms/implicit-submission.html
3270 * dom/SelectElement.cpp:
3271 (WebCore::SelectElement::menuListDefaultEventHandler): Ripped out implicit submission for select elements.
3272 (WebCore::SelectElement::listBoxDefaultEventHandler): Ditto.
3273 (WebCore::SelectElement::defaultEventHandler): Ditto.
3274 * dom/SelectElement.h: Ditto.
3275 (WebCore::HTMLFormElement::submitImplicitly): Renamed submitClick to submitImplicitly to better match HTML5 spec
3276 language, changed the logic to match the rules above.
3277 * html/HTMLInputElement.cpp:
3278 (WebCore::HTMLInputElement::defaultEventHandler): Reamed clickDefaultButton to implicitSubmission to better match
3279 HTML5 spec language, made radio element to trigger implicit submission.
3280 * html/HTMLSelectElement.cpp:
3281 (WebCore::HTMLSelectElement::defaultEventHandler): Removed passing of form() as parameter, because it's no longer
3284 2010-04-29 Paweł Hajdan, Jr. <phajdan.jr@chromium.org>
3286 Reviewed by Jeremy Orlow.
3288 Fix building with libpng-1.4.
3289 https://bugs.webkit.org/show_bug.cgi?id=33287
3291 No new tests (no behavior change).
3293 Original patch by John Bowler <jbowler@acm.org>
3295 * platform/image-encoders/skia/PNGImageEncoder.cpp:
3296 (WebCore::PNGImageEncoder::encode):
3298 2010-04-29 Adam Langley <agl@chromium.org>
3300 Reviewed by David Levin.
3302 This patch adds support for WOFF in Chromium. Since Chromium
3303 already transcodes all OpenType files for security reasons we
3304 are adding WOFF support into the transcoder.
3306 https://bugs.webkit.org/show_bug.cgi?id=38217
3308 * css/CSSFontFaceSrcValue.cpp:
3309 (WebCore::CSSFontFaceSrcValue::isSupportedFormat):
3310 Recognise "woff" as a font-face format value (guarded by
3311 ENABLE(OPENTYPE_SANITIZER) at this point)
3312 * platform/graphics/opentype/OpenTypeSanitizer.cpp:
3313 (WebCore::OpenTypeSanitizer::sanitize):
3314 Change so that the transcoded font can be larger than the original.
3315 (WOFF files are compressed, so the transcoded TTF is typically
3318 2010-04-29 Alex Milowski <alex@milowski.com>
3320 Reviewed by Kenneth Rohde Christiansen.
3322 Updates to the Qt build to enable building MathML support.
3327 2010-04-29 Xan Lopez <xlopez@igalia.com>
3329 Reviewed by Gustavo Noronha.
3331 [GTK] GObject DOM bindings
3332 https://bugs.webkit.org/show_bug.cgi?id=33590
3334 Do not generate unneeded boilerplate in {get,set}_property methods
3335 when there are no properties to generate code for. This gets rid
3336 of lots of compiler warnings.
3338 * bindings/scripts/CodeGeneratorGObject.pm:
3340 2010-04-29 Simon Hausmann <simon.hausmann@nokia.com>
3342 Reviewed by Kenneth Rohde Christiansen.
3344 [Qt] Speed up text layouting
3345 https://bugs.webkit.org/show_bug.cgi?id=31719
3347 Use QFontMetrics::width() for the text width calculation instead
3348 of QTextLayout. This avoids expensive bearing calculations and the
3351 * platform/graphics/qt/FontQt.cpp:
3352 (WebCore::Font::floatWidthForComplexText):
3354 2010-04-29 Kwang Yul Seo <skyul@company100.net>
3356 Reviewed by Simon Hausmann.
3358 [WINCE] Export g_stackBase with JS_EXPORTDATA
3359 https://bugs.webkit.org/show_bug.cgi?id=37437
3361 Declare g_stackBase with JS_EXPORTDATA as it is imported from JavaScriptCore.
3363 * platform/wince/SharedTimerWince.cpp:
3365 2010-04-29 Adam Barth <abarth@webkit.org>
3367 Reviewed by Maciej Stachowiak.
3369 Remove custom bindings for PopStateEvent.initPopStateEvent
3370 https://bugs.webkit.org/show_bug.cgi?id=38311
3372 Our code generation of SerializedScriptValue was slightly buggy, but
3373 it's easy to fix. Notice that the conversion to an atomic string is
3374 handled by the C++ type system and doesn't require logic in the code
3377 * bindings/js/JSPopStateEventCustom.cpp:
3378 * bindings/scripts/CodeGeneratorJS.pm:
3379 * bindings/scripts/CodeGeneratorV8.pm:
3380 * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
3381 (webkit_dom_test_obj_serialized_value):
3382 * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
3383 * bindings/scripts/test/JS/JSTestObj.cpp:
3385 (WebCore::jsTestObjPrototypeFunctionSerializedValue):
3386 * bindings/scripts/test/JS/JSTestObj.h:
3387 * bindings/scripts/test/ObjC/DOMTestObj.h:
3388 * bindings/scripts/test/ObjC/DOMTestObj.mm:
3389 (-[DOMTestObj serializedValue:]):
3390 * bindings/scripts/test/TestObj.idl:
3391 * bindings/scripts/test/V8/V8TestObj.cpp:
3392 (WebCore::TestObjInternal::serializedValueCallback):
3393 (WebCore::ConfigureV8TestObjTemplate):
3394 * bindings/v8/custom/V8PopStateEventCustom.cpp:
3395 * dom/PopStateEvent.idl:
3397 2010-04-29 Kent Tamura <tkent@chromium.org>
3399 Reviewed by Darin Adler.
3401 Fix a bug that selection drag-and-drop doesn't work for input/textarea.
3402 https://bugs.webkit.org/show_bug.cgi?id=38175
3404 The code supposed the selected region was in the destination text
3405 field. It is not true in a case of drag-and-drop.
3407 Test: editing/pasteboard/drag-drop-input-textarea.html
3409 * dom/InputElement.cpp:
3410 (WebCore::InputElement::handleBeforeTextInsertedEvent):
3411 * html/HTMLTextAreaElement.cpp:
3412 (WebCore::HTMLTextAreaElement::handleBeforeTextInsertedEvent):
3414 2010-04-29 Adam Barth <abarth@webkit.org>
3416 Reviewed by Maciej Stachowiak.
3418 Remove custom bindings for NodeFilter.acceptNode
3419 https://bugs.webkit.org/show_bug.cgi?id=38309
3421 This "custom" code was just an instance of the CallWith=ScriptState
3422 pattern. Also, it looks like V8 just had a garbage implemenation that
3426 * bindings/js/JSNodeFilterCustom.cpp:
3427 * bindings/v8/custom/V8NodeFilterCustom.cpp: Removed.
3428 * dom/NodeFilter.idl:
3430 2010-04-29 Noam Rosenthal <noam.rosenthal@nokia.com>
3432 Reviewed by Laszlo Gombos.
3434 [Qt] QtWebkit doesn't link with 3D canvas
3435 https://bugs.webkit.org/show_bug.cgi?id=38299
3437 Added implementation for GraphicsContext3D::isGLES2Compliant, which returns the correct value based on a Qt #define.
3439 No new tests: build fix
3441 * platform/graphics/qt/GraphicsContext3DQt.cpp:
3442 (WebCore::GraphicsContext3D::isGLES2Compliant):
3444 2010-04-29 Simon Hausmann <simon.hausmann@nokia.com>
3446 Reviewed by Tor Arne Vestbø.
3448 [Qt] REGRESSION(r57638): tst_qwebframe::objectDeleted() fails
3449 https://bugs.webkit.org/show_bug.cgi?id=38316
3451 Accessing properties of a deleted objects doesn't throw an exception
3454 Continue to expose the QObject class wrapper for objects that
3455 previously existed but don't exist anymore. QtClass is safe to
3456 use with a deleted QObject.
3458 * bridge/qt/qt_instance.cpp:
3459 (JSC::Bindings::QtInstance::getClass): Return null only if m_class
3460 doesn't exist yet and there's no m_object.
3462 2010-04-29 Noam Rosenthal <noam.rosenthal@nokia.com>
3464 Reviewed by Simon Hausmann.
3466 Reverse animations don't work in some use cases
3467 https://bugs.webkit.org/show_bug.cgi?id=38075
3469 This was due to a code path special-casing reverse animations, that became obselete when we aligned our animation code
3470 with the CA implementation. That special case code path is now a bug - and this patch removes it.
3472 http://staff.washington.edu/fmf/2009/03/25/iphone-3d-css-transformations/ now runs the reverse
3473 animation correctly.
3475 * platform/graphics/qt/GraphicsLayerQt.cpp:
3476 (WebCore::TransformAnimationQt::applyFrame):
3478 2010-04-29 Jan Hanssen <jhanssen@codeaurora.org>
3480 Reviewed by Adam Barth.
3482 HTMLOptionElement::ownerSelectElement() needs to consider keygen elements
3483 https://bugs.webkit.org/show_bug.cgi?id=26016
3485 Patch written by Grace Kloba <klobag@gmail.com>, test fixed by me.
3487 Test: fast/dom/HTMLKeygenElement/keygen-option-select.html
3489 * html/HTMLOptionElement.cpp:
3490 (WebCore::HTMLOptionElement::ownerSelectElement):
3491 Make HTMLOptionElement::ownerSelectElement() consider the keygen element in addition to the current select element.
3493 2010-04-29 Gustavo Sverzut Barbieri <barbieri@profusion.mobi>
3495 Reviewed by Eric Seidel.
3497 Add EFL-specific code to Widget.h and move the empty
3498 frameRectsChanged() definition to Widget.cpp, since the EFL port
3499 needs to override that.
3500 http://webkit.org/b/36317
3502 No new tests required.
3505 * platform/Widget.cpp:
3506 (WebCore::Widget::frameRectsChanged):
3507 * platform/Widget.h:
3509 2010-04-29 Jarkko Sakkinen <jarkko.j.sakkinen@gmail.com>
3511 Reviewed by Simon Hausmann.
3513 [Qt] GraphicsContext3DQt.cpp does not implement isGLES2Compliant()
3514 https://bugs.webkit.org/show_bug.cgi?id=38216
3516 * platform/graphics/qt/GraphicsContext3DQt.cpp:
3517 (WebCore::GraphicsContext3D::isGLES2Compliant):
3519 2010-04-29 Zhenyao Mo <zmo@google.com>
3521 Reviewed by Dimitri Glazkov.
3523 Remove the unnecessary texImage2D function with Image as input in GraphicsContext3D
3524 https://bugs.webkit.org/show_bug.cgi?id=38235
3526 * html/canvas/WebGLRenderingContext.cpp:
3527 (WebCore::WebGLRenderingContext::texImage2D): Add extractImageData; add a common entry point for texImage2D with image input.
3528 (WebCore::WebGLRenderingContext::texImage2DBase): Add this function as the common entry point for texImage2D.
3529 (WebCore::WebGLRenderingContext::texSubImage2D): Add extractImageData; add a common entry point for texSubImage2D with image input.
3530 (WebCore::WebGLRenderingContext::texSubImage2DBase): Add this function as the common entry point for texSubImage2D.
3531 * html/canvas/WebGLRenderingContext.h: Add tex*Image{Base/Image} function declaration.
3532 * platform/graphics/GraphicsContext3D.h: Remove tex*Image declaration with Image input.
3533 * platform/graphics/mac/GraphicsContext3DMac.cpp: Remove tex*Image implementation with Image input.
3534 (WebCore::GraphicsContext3D::texImage2D):
3535 (WebCore::GraphicsContext3D::texSubImage2D):
3537 2010-04-29 Noam Rosenthal <noam.rosenthal@nokia.com>
3539 Reviewed by Simon Hausmann.
3541 [Qt] GraphicsLayer: flicker when starting an animation before the previous one ended.
3542 https://bugs.webkit.org/show_bug.cgi?id=38076
3544 This was due to the cude in the removeAnimations functions, which called deleteLater() without stopping the
3545 animation synchronously. The delay between the call to that function and the actual call to the animation's destructor
3546 is when the flicker occured. We fix this by calling stop() synchronously, and making sure that the value is reverted
3547 upon stop (updateState) and not upon the object's destruction.
3549 http://staff.washington.edu/fmf/2009/03/25/iphone-3d-css-transformations/ now doesn't flicker when
3550 the animation is toggled frequently.
3552 * platform/graphics/qt/GraphicsLayerQt.cpp:
3553 (WebCore::TransformAnimationQt::~TransformAnimationQt):
3554 (WebCore::TransformAnimationQt::applyFrame):
3555 (WebCore::TransformAnimationQt::updateState):
3556 (WebCore::OpacityAnimationQt::~OpacityAnimationQt):
3557 (WebCore::OpacityAnimationQt::updateState):
3558 (WebCore::GraphicsLayerQt::removeAnimationsForProperty):
3559 (WebCore::GraphicsLayerQt::removeAnimationsForKeyframes):
3561 2010-04-28 Luiz Agostini <luiz.agostini@openbossa.org>
3563 Reviewed by Simon Fraser.
3565 Media queries empty values
3566 https://bugs.webkit.org/show_bug.cgi?id=38116
3568 Adding isValid() method to MediaQueryExp to make it possible to differentiate
3569 between queries with empty values and queries with invalid values.
3571 Test: fast/media/media-query-invalid-value.html
3573 * css/MediaQueryEvaluator.cpp:
3574 (WebCore::MediaQueryEvaluator::eval):
3575 * css/MediaQueryExp.cpp:
3576 (WebCore::MediaQueryExp::MediaQueryExp):
3577 * css/MediaQueryExp.h:
3578 (WebCore::MediaQueryExp::isValid):
3580 2010-04-28 Pavel Feldman <pfeldman@chromium.org>
3582 Reviewed by Yury Semikhatsky.
3584 Web Inspector: Allow editing script resources when resource tracking is enabled.
3586 https://bugs.webkit.org/show_bug.cgi?id=38269
3588 * inspector/front-end/ScriptView.js:
3589 * inspector/front-end/ScriptsPanel.js:
3590 (WebInspector.ScriptsPanel.prototype.canEditScripts):
3591 (WebInspector.ScriptsPanel.prototype.editScriptSource):
3592 * inspector/front-end/SourceFrame.js:
3593 (WebInspector.SourceFrame.prototype.get textModel):
3594 * inspector/front-end/SourceView.js:
3595 (WebInspector.SourceView):
3596 (WebInspector.SourceView.prototype._addBreakpoint):
3597 (WebInspector.SourceView.prototype._editLine):
3598 (WebInspector.SourceView.prototype._editLineComplete):
3599 (WebInspector.SourceView.prototype._sourceIDForLine):
3601 2010-04-25 Antonio Gomes <tonikitoo@webkit.org>
3603 Reviewed by Darin Adler.
3605 Clicking a scrollbar blurs the currently focused element
3606 https://bugs.webkit.org/show_bug.cgi?id=16809
3608 WebKit ports that do not use native (platform) widgets for rendering the scrollbars
3609 are currently mismatching a common behaviour of other browser vendors (including
3610 Firefox and Opera): clicking on a frame scrollbar *should not* steal focus from content.
3611 WebKit browsers based ports that do use WebCore for handling scrollbars, like QtWebKit for
3612 instance, can observe the opposite behaviour.
3614 Patch fixes this behaviour by checking if current MouseDown event targets a frame scrollbar.
3615 If that is the case, it bails out and do not change focus behavior at all.
3617 It is important to note that the given way this is implemented by this patch, non-frame
3618 scrollbars (e.g. a vertical scrollbar of an overflowed textareas or divs) will keep working
3619 in the same way as it works currently.
3621 Tests: scrollbars/scrollbar-click-does-not-blur-content.html
3622 scrollbars/scrollbar-iframe-click-does-not-blur-content.html
3624 * page/EventHandler.cpp:
3625 (WebCore::EventHandler::dispatchMouseEvent):
3627 2010-04-28 Dan Bernstein <mitz@apple.com>
3629 Rubber-stamped by Maciej Stachowiak.
3631 Try to fix test failures seen on the Leopard build bot after r58467
3633 * platform/graphics/SimpleFontData.cpp:
3634 (WebCore::SimpleFontData::platformGlyphInit): Initialize m_zeroWidthSpaceGlyph before
3635 calling widthForGlyph(), as the latter uses the former.
3637 2010-04-28 Martin Robinson <mrobinson@webkit.org>
3639 Reviewed by Gustavo Noronha.
3641 [GTK] Enable DOM clipboard and drag-and-drop access
3642 https://bugs.webkit.org/show_bug.cgi?id=30623
3644 Make ClipboardGtk a "live" DataTransfer object, able to modify
3645 the clipboard when setData(...) is called.
3647 * platform/gtk/ClipboardGtk.cpp:
3648 (WebCore::Editor::newGeneralClipboard): Pass the GtkClipboard into the factory method.
3649 (WebCore::ClipboardGtk::ClipboardGtk): Create two separate constructors, one for DnD data and one for clipboard data.
3650 (WebCore::dataObjectTypeFromHTMLClipboardType): Added.
3651 (WebCore::ClipboardGtk::clearData): Clear the member DataObject, optionally write the clipboard.
3652 (WebCore::ClipboardGtk::clearAllData): Ditto.
3653 (WebCore::joinURIList): Added.
3654 (WebCore::ClipboardGtk::getData): Get the data from the clipboard, if possible.
3655 (WebCore::ClipboardGtk::setData): Write data to the DataObject and maybe the clipboard.
3656 (WebCore::ClipboardGtk::types): Read the clipboard/DataObject to find applicable types.
3657 (WebCore::ClipboardGtk::files): Read the clipboard/DataObject to find the files.
3658 (WebCore::ClipboardGtk::writeURL): Write to the DataObject and maybe the clipboard.
3659 (WebCore::ClipboardGtk::writeRange): Ditto.
3660 (WebCore::ClipboardGtk::writePlainText): Ditto.
3661 (WebCore::ClipboardGtk::hasData): Query the clipboard/DataObject.
3662 * platform/gtk/ClipboardGtk.h:
3663 (WebCore::ClipboardGtk::create): Added one factory for pasteboard-backed DataObjects and one for DnD-backed objects.
3664 * platform/gtk/DataObjectGtk.cpp:
3665 (WebCore::replaceNonBreakingSpaceWithSpace): Added this helper function to clean from plain text.
3666 (WebCore::DataObjectGtk::markup): Actually return the range if it's set.
3667 (WebCore::DataObjectGtk::setText): Clean from plain text.
3668 (WebCore::DataObjectGtk::clearText): Added.
3669 (WebCore::DataObjectGtk::clearMarkup): Added.
3670 * platform/gtk/DataObjectGtk.h:
3671 (WebCore::DataObjectGtk::clearURIList): Added.
3672 (WebCore::DataObjectGtk::clearImage): Added.
3673 * platform/gtk/PasteboardHelper.cpp:
3674 (WebCore::PasteboardHelper::initializeTargetList): Added target ID's for URI list and Netscape URL targets.
3675 (WebCore::urisToKURLVector): Added.
3676 (WebCore::PasteboardHelper::getClipboardContents): Added.
3677 (WebCore::PasteboardHelper::fillSelectionData): Added logic for URI lists and Netscape URLs.
3678 (WebCore::PasteboardHelper::targetListForDataObject): Ditto.
3679 * platform/gtk/PasteboardHelper.h: Added default argument to writeClipboardContents and new method.
3681 2010-04-28 Martin Robinson <mrobinson@webkit.org>
3683 Reviewed by Gustavo Noronha.
3685 [GTK] Enable DOM clipboard and drag-and-drop access
3686 https://bugs.webkit.org/show_bug.cgi?id=30623
3688 Use the length of the UTF-8 markup data in bytes when filling GtkSelectionData.
3690 No new tests, because pasteboard DataTransfer tests will be enabled
3691 with the completion of the GTK+ DataTransfer object.
3693 * platform/gtk/PasteboardGtk.cpp:
3694 (WebCore::clipboard_get_contents_cb): Use strlen here instead of g_utf8_strlen.
3696 2010-04-28 Dan Bernstein <mitz@apple.com>
3698 Reviewed by Adele Peterson.
3700 More of <rdar://problem/7855777> REGRESSION: Memory usage increase caused by storing glyph bounds in GlyphMetricsMap
3701 https://bugs.webkit.org/show_bug.cgi?id=37936
3703 Assigning zero width and empty bounds to the ZERO WIDTH SPACE glyph often allocates a width map
3704 page and a bounds map page for the glyph, each of which pages contains 255 unused entries. Save
3705 this space by not storing the zero width and empty bounds in the metrics maps.
3707 * platform/graphics/SimpleFontData.cpp:
3708 (WebCore::SimpleFontData::SimpleFontData): Initialize m_zeroWidthSpaceGlyph.
3709 (WebCore::SimpleFontData::platformGlyphInit): Set m_zeroWidthSpaceGlyph. Don’t create entries
3710 for the ZERO WIDTH SPACE glyph in the width map and in the bounds map.
3711 * platform/graphics/SimpleFontData.h:
3712 (WebCore::SimpleFontData::boundsForGlyph): Return empty bounds for the ZERO WIDTH SPACE glyph
3713 without consulting the bounds map.
3714 (WebCore::SimpleFontData::widthForGlyph): Return zero for the ZERO WIDTH SPACE glyph without
3715 consulting the width map.
3717 2010-04-28 Mark Rowe <mrowe@apple.com>
3719 Reviewed by Adele Peterson.
3721 <rdar://problem/7847573> Safari welcome page logs JavaScript exception during page load
3723 The Safari welcome page runs afoul of the same-origin restriction on access to stylesheet rules
3724 that was added to address <https://bugs.webkit.org/show_bug.cgi?id=20527>. To work around this we're
3725 adding a temporary site-specific quirk that relaxes this restriction for the particular cross-origin
3726 access that occurs on the Safari welcome page.
3728 * css/CSSStyleSheet.cpp:
3729 (WebCore::CSSStyleSheet::cssRules):
3731 2010-04-28 Mike Thole <mthole@apple.com>
3733 Reviewed by Mark Rowe.
3735 Add separate exports file for symbols dependent on WTF_USE_PROTECTION_SPACE_AUTH_CALLBACK.
3737 * DerivedSources.make: Updated for WebCore.ProtectionSpaceAuthCallback.exp.
3738 * WebCore.ProtectionSpaceAuthCallback.exp: Added.
3739 * WebCore.xcodeproj/project.pbxproj:
3741 2010-04-28 Evan Martin <evan@chromium.org>
3743 Reviewed by David Levin.
3745 [chromium] revert getFontDataForCharacters change in r58341
3746 https://bugs.webkit.org/show_bug.cgi?id=38288
3748 It caused a performance regression.
3750 * platform/chromium/ChromiumBridge.h:
3751 * platform/graphics/chromium/FontCacheLinux.cpp:
3752 (WebCore::FontCache::getFontDataForCharacters):
3754 2010-04-28 Eric Seidel <eric@webkit.org>
3756 Unreviewed, rolling out r58441.
3757 http://trac.webkit.org/changeset/58441
3758 https://bugs.webkit.org/show_bug.cgi?id=37618
3762 * page/DragController.cpp:
3763 (WebCore::DragController::tryDocumentDrag):
3764 (WebCore::DragController::concludeEditDrag):
3765 * page/DragController.h:
3766 (WebCore::DragController::setDragInitiator):
3767 (WebCore::DragController::dragInitiator):
3768 (WebCore::DragController::documentUnderMouse):
3770 2010-04-28 Darin Adler <darin@apple.com>
3772 Reviewed by Dan Bernstein.
3774 Remove some obsolete scrolling code
3775 https://bugs.webkit.org/show_bug.cgi?id=38293
3778 (WebCore::Chrome::scrollRectIntoView): Removed ScrollView* argument.
3779 * page/Chrome.h: Made scrollRectIntoView non-virtual, and removed ScrollView* argument.
3781 * page/FrameView.cpp: Removed scrollRectIntoViewRecursively.
3782 * page/FrameView.h: Removed scrollRectIntoViewRecursively and made
3783 setScrollPosition non-virtual, since there is no class derived from
3784 this class, and ScrollView's setScrollPosition is non-virtual.
3786 * platform/HostWindow.h: Removed scrollRectIntoView.
3788 * platform/ScrollView.cpp:
3789 (WebCore::ScrollView::scrollRectIntoViewRecursively): Updated comment
3790 since I was able to do most of the tasks listed here.
3792 * rendering/RenderLayer.cpp:
3793 (WebCore::RenderLayer::scrollRectToVisible): Removed 0 passed for
3794 ScrollView* argument to Chrome::scrollRectIntoView.
3796 2010-04-28 Mike Thole <mthole@apple.com>
3798 Reviewed by David Kilzer.
3800 Add canAuthenticateAgainstProtectionSpace() to frame loader so that a protection space
3801 can be inspected before attempting to authenticate against it
3802 https://bugs.webkit.org/show_bug.cgi?id=38271
3804 * loader/EmptyClients.h:
3805 (WebCore::EmptyFrameLoaderClient::canAuthenticateAgainstProtectionSpace): Added.
3806 * loader/FrameLoader.cpp:
3807 (WebCore::FrameLoader::canAuthenticateAgainstProtectionSpace): Added.
3808 * loader/FrameLoader.h:
3809 * loader/FrameLoaderClient.h:
3810 * loader/ResourceLoader.cpp:
3811 (WebCore::ResourceLoader::canAuthenticateAgainstProtectionSpace): Added.
3812 * loader/ResourceLoader.h:
3813 (WebCore::ResourceLoader::canAuthenticateAgainstProtectionSpace): Added.
3814 * platform/network/ProtectionSpace.h:
3816 * platform/network/ResourceHandle.h:
3817 * platform/network/ResourceHandleClient.h:
3818 (WebCore::ResourceHandleClient::canAuthenticateAgainstProtectionSpace): Added.
3819 * platform/network/mac/AuthenticationMac.mm:
3821 Add cases for case ProtectionSpaceAuthenticationSchemeServerTrustEvaluationRequested and
3822 ProtectionSpaceAuthenticationSchemeClientCertificateRequested. Guarded with the
3823 #if USE(PROTECTION_SPACE_AUTH_CALLBACK) as the new NSURLProtectionSpace constants don't
3824 exist prior to Mac OS X 10.6.
3825 (WebCore::core): Ditto.
3826 * platform/network/mac/ResourceHandleMac.mm:
3827 (WebCore::ResourceHandle::canAuthenticateAgainstProtectionSpace): Added.
3828 (-[WebCoreResourceHandleAsDelegate connection:canAuthenticateAgainstProtectionSpace:]): Added.
3830 2010-04-28 Abhishek Arya <inferno@chromium.org>
3832 Reviewed by Eric Seidel.
3834 Convert m_documentUnderMouse, m_dragInitiator to RefPtr.
3835 Eliminated unused m_dragInitiator accessor to prevent dereferencing.
3836 https://bugs.webkit.org/show_bug.cgi?id=37618
3838 Test: editing/pasteboard/drag-drop-iframe-refresh-crash.html
3840 * page/DragController.cpp:
3841 (WebCore::DragController::tryDocumentDrag):
3842 (WebCore::DragController::concludeEditDrag):
3843 * page/DragController.h:
3844 (WebCore::DragController::draggingImageURL):
3845 (WebCore::DragController::documentUnderMouse):
3847 2010-04-28 Dumitru Daniliuc <dumi@chromium.org>
3849 Unreviewed, fixing a build problem introduced by the previous patch.
3851 * storage/DatabaseSync.cpp:
3852 (WebCore::DatabaseSync::openDatabaseSync):
3854 2010-04-23 Dumitru Daniliuc <dumi@chromium.org>
3856 Reviewed by Jeremy Orlow.
3858 Adding some required classes for the sync WebSQLDatabases API.
3859 https://bugs.webkit.org/show_bug.cgi?id=34994
3864 * WebCore.vcproj/WebCore.vcproj:
3865 * WebCore.xcodeproj/project.pbxproj:
3866 * storage/DatabaseSync.cpp: Added.
3867 (WebCore::DatabaseSync::databaseInfoTableName):
3868 (WebCore::DatabaseSync::setIsAvailable):
3869 (WebCore::DatabaseSync::isAvailable):
3870 (WebCore::DatabaseSync::openDatabaseSync):
3871 (WebCore::DatabaseSync::DatabaseSync):
3872 (WebCore::DatabaseSync::~DatabaseSync):
3873 (WebCore::DatabaseSync::version):
3874 (WebCore::DatabaseSync::changeVersion):
3875 (WebCore::DatabaseSync::transaction):
3876 * storage/DatabaseSync.h: Added.
3877 (WebCore::DatabaseSync::databaseDebugName):
3878 * storage/SQLTransactionSync.cpp: Added.
3879 (WebCore::SQLTransactionSync::create):
3880 (WebCore::SQLTransactionSync::SQLTransactionSync):
3881 (WebCore::SQLTransactionSync::~SQLTransactionSync):
3882 (WebCore::SQLTransactionSync::executeSQL):
3883 * storage/SQLTransactionSync.h: Added.
3884 (WebCore::SQLTransactionSync::database):
3885 (WebCore::SQLTransactionSync::isReadOnly):
3886 * storage/SQLTransactionSyncCallback.h: Added.
3887 (WebCore::SQLTransactionSyncCallback::~SQLTransactionSyncCallback):
3889 2010-04-28 İsmail Dönmez <ismail@namtrac.org>
3891 Reviewed by Simon Hausmann.
3893 Fix compilation with QT_NO_CURSOR defined.
3895 * platform/qt/QWebPageClient.h:
3896 (QWebPageClient::resetCursor):
3897 (QWebPageClient::setCursor):
3899 2010-04-28 Abhishek Arya <inferno@chromium.org>
3901 Reviewed by Alexey Proskuryakov.
3903 Added a check to make sure that resources from a different https origin are not cached.
3904 https://bugs.webkit.org/show_bug.cgi?id=33456
3906 Test: http/tests/appcache/different-https-origin-resource-main.html
3908 * loader/appcache/ManifestParser.cpp:
3909 (WebCore::parseManifest):
3911 2010-04-28 Sam Weinig <sam@webkit.org>
3913 Reviewed by Mark Rowe.
3915 Only set -allowable_client WebKit2 for engineering builds on SnowLeopard
3918 * Configurations/WebCore.xcconfig:
3920 2010-04-28 Darin Adler <darin@apple.com>
3922 Reviewed by Adele Peterson.
3924 REGRESSION: Autoscroll does not work in Mail messages
3925 https://bugs.webkit.org/show_bug.cgi?id=38267
3926 rdar://problem/7559799
3928 Still haven't figured out a good way to test this with DumpRenderTree
3929 or with Safari. Testing has to be done with Mail for now.
3931 The machinery to make autoscrolling work on Mac OS X when a WebView is embedded in another
3932 view had gotten broken in multiple ways. For some reason, a combination of bugs made it
3933 partly work until around r48064. This brings it back.
3935 There were three problems:
3937 1) Code in EventHandler decided there was nothing to scroll, so didn't start
3938 the autoscroll timer.
3939 2) The wrong rectangle was passed to Chrome::scrollRectIntoView.
3940 3) The Mac WebKit implementation of ChromeClient::scrollRectIntoView did incorrect
3941 coordinate conversion.
3943 I verified that none of these have any effect on regression tests, or behavior in
3944 web browsers, or behavior on platforms other than Mac.
3946 * page/EventHandler.cpp:
3947 (WebCore::canAutoscroll): Added. Returns true for boxes that can scroll directly
3948 and for the top level box of the top frame.
3949 (WebCore::EventHandler::handleMouseDraggedEvent): Use canAutoscroll.
3950 (WebCore::EventHandler::updateAutoscrollRenderer): Ditto.
3952 * page/FrameView.cpp:
3953 (WebCore::FrameView::scrollToAnchor): Fixed comment.
3955 * platform/ScrollView.cpp:
3956 (WebCore::ScrollView::scrollRectIntoViewRecursively): Put ASSERT_NOT_REACHED into this
3957 now-unused function along with some comments about removing some obsolete code.
3959 * rendering/RenderLayer.cpp:
3960 (WebCore::RenderLayer::scrollRectToVisible): Removed call to scrollRectIntoViewRecursively
3961 since from the WebKit point of view this is the topmost scroll view anyway. Instead call
3962 setScrollPosition. Moved the code to call Chrome::scrollRectIntoView here since it needs
3963 to use a different rectangle anyway.
3965 2010-04-21 Ojan Vafai <ojan@chromium.org>
3967 Reviewed by Adele Peterson.
3969 http://trac.webkit.org/changeset/57215 caused perf/memory regressions
3970 https://bugs.webkit.org/show_bug.cgi?id=37292
3972 #if out the canUseGlyphCache Changes from r57215 as they caused a
3973 8% perf regression on Chromium's international page load tests so that
3974 the perf regression can be fixed properly without being left in the tree.
3976 * platform/graphics/FontFastPath.cpp:
3977 (WebCore::Font::canUseGlyphCache):
3979 2010-04-28 Beth Dakin <bdakin@apple.com>
3981 Reviewed by Darin Adler.
3983 Fix for <rdar://problem/7474349>
3985 Add a synchronous display mechanism for WKCACFLayerRenderer.
3987 * platform/graphics/win/WKCACFLayerRenderer.cpp:
3988 (WebCore::WKCACFLayerRenderer::setRootContentsAndDisplay): This is
3989 just like setRootContents(), but it calls paint() instead of
3991 * platform/graphics/win/WKCACFLayerRenderer.h:
3993 2010-04-28 Dmitry Titov <dimich@chromium.org>
3995 Reviewed by Geoffrey Garen.
3997 REGRESSION: fast/workers/wrapper-map-gc.html crashes on Snow Leopard Release Bot
3998 https://bugs.webkit.org/show_bug.cgi?id=37554
4000 The flaky fast/workers/wrapper-map-gc.html will stop being flaky.
4002 * bindings/js/JSEventListener.cpp:
4003 (WebCore::JSEventListener::handleEvent):
4004 check if JS execution was terminated, as in cases of Worker.terminate() or WorkerGlobalScope.close().
4005 * bindings/js/JSWorkerContextBase.cpp:
4006 (WebCore::toJS): ASSERT the value of workerContextWrapper, it should never be 0.
4007 * bindings/js/WorkerScriptController.h:
4008 (WebCore::WorkerScriptController::workerContextWrapper): remove returning 0 if JS execution was forbidden.
4009 (WebCore::WorkerScriptController::isExecutionForbidden):
4010 * bindings/v8/WorkerScriptController.h:
4011 (WebCore::WorkerScriptController::isExecutionForbidden):
4013 Add ScriptExecutionContext::isJSExecutionTerminated(), it is always 'false' for Document
4014 and 'true' for WorkerContext when script is terminated.
4015 * dom/ScriptExecutionContext.h:
4017 (WebCore::Document::isJSExecutionTerminated):
4018 * workers/WorkerContext.cpp:
4019 (WebCore::WorkerContext::isJSExecutionTerminated):
4020 * workers/WorkerContext.h:
4022 2010-04-28 Ilya Tikhonovsky <loislo@chromium.org>
4024 Reviewed by Yury Semikhatsky.
4026 WebInspector: Multiple Main Resource Content Loaded marks appear in Resource panel.
4027 https://bugs.webkit.org/show_bug.cgi?id=38270
4029 * inspector/front-end/ResourcesPanel.js:
4030 (WebInspector.ResourcesPanel.prototype.updateGraphDividersIfNeeded):
4032 2010-04-28 Ilya Tikhonovsky <loislo@chromium.org>
4034 Reviewed by Yury Semikhatsky.
4036 WebInspector: Timeline: We can have precise urls in the EvaluateScript records.
4037 https://bugs.webkit.org/show_bug.cgi?id=38264
4039 * inspector/front-end/TimelinePanel.js:
4040 (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
4041 (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
4043 2010-04-28 Pavel Feldman <pfeldman@chromium.org>
4045 Reviewed by Timothy Hatcher.
4047 Web Inspector: Linkify node and function in the event listeners panel.
4049 https://bugs.webkit.org/show_bug.cgi?id=38251
4051 * bindings/js/ScriptEventListener.cpp:
4052 (WebCore::eventListenerHandlerBody):
4053 (WebCore::eventListenerHandlerLocation):
4054 * bindings/js/ScriptEventListener.h:
4055 * bindings/v8/ScriptEventListener.cpp:
4056 (WebCore::eventListenerHandlerBody):
4057 (WebCore::eventListenerHandlerLocation):
4058 * bindings/v8/ScriptEventListener.h:
4059 * inspector/InspectorDOMAgent.cpp:
4060 (WebCore::InspectorDOMAgent::buildObjectForEventListener):
4061 * inspector/front-end/ElementsPanel.js:
4062 (WebInspector.ElementsPanel.prototype.linkifyNodeReference):
4063 (WebInspector.ElementsPanel.prototype.linkifyNodeReference.preventDefault):
4064 * inspector/front-end/EventListenersSidebarPane.js:
4065 (WebInspector.EventListenersSidebarPane.prototype.update.callback):
4066 (WebInspector.EventListenersSidebarPane.prototype.update):
4068 * inspector/front-end/StylesSidebarPane.js:
4069 (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
4070 * inspector/front-end/inspector.css:
4073 2010-04-28 Julien Chaffraix <jchaffraix@webkit.org>
4075 Reviewed by Alexey Proskuryakov.
4077 [XHR] Cross-Origin synchronous request with credential raises NETWORK_ERR
4078 https://bugs.webkit.org/show_bug.cgi?id=37781
4079 <rdar://problem/7905150>
4081 Tests: http/tests/xmlhttprequest/access-control-preflight-credential-async.html
4082 http/tests/xmlhttprequest/access-control-preflight-credential-sync.html
4084 Rolling the patch in as I could not reproduce Qt results locally.
4086 * loader/DocumentThreadableLoader.cpp:
4087 (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): Now we remove the
4088 credential from the request here to avoid forgetting to do so in the different code path.
4089 (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest): Just add the
4091 (WebCore::DocumentThreadableLoader::loadRequest): Check here the the credential have
4092 been removed so that we don't leak them. Also tweaked a comment to make it clear that
4093 the URL check has issue when credential is involved.
4095 2010-04-28 Noam Rosenthal <noam.rosenthal@nokia.com>
4097 Reviewed by Kenneth Rohde Christiansen.
4099 [Qt] GraphicsLayer: preserves-3d and backface visibility
4100 https://bugs.webkit.org/show_bug.cgi?id=35312
4102 Implement preserves-3d by maintaining the 3D transformation heirarchy inside GraphicsLayerQt, and extrapolating
4103 the relative QTransform. When the extrapolation fails (un-invertible matrix) we ignore the transformation change.
4105 WebKitSite/blog-files/3d-transforms test now work with Qt.
4107 * platform/graphics/qt/GraphicsLayerQt.cpp:
4108 (WebCore::GraphicsLayerQtImpl::updateTransform):
4109 (WebCore::GraphicsLayerQtImpl::opaqueArea):
4110 (WebCore::GraphicsLayerQtImpl::boundingRect):
4111 (WebCore::GraphicsLayerQtImpl::paint):
4112 (WebCore::GraphicsLayerQtImpl::flushChanges):
4114 2010-04-28 Ilya Tikhonovsky <loislo@chromium.org>
4116 Reviewed by Yury Semikhatsky.
4118 Web Inspector: View frame selector for Timeline overview panel is redesigned a bit.
4119 Now it is possible to adjust view frame by resizer bars and by click-n-drag in overview pane.
4120 https://bugs.webkit.org/show_bug.cgi?id=38251
4122 * inspector/front-end/TimelineOverviewPane.js:
4123 (WebInspector.TimelineOverviewPane):
4124 (WebInspector.TimelineOverviewPane.prototype.reset):
4125 (WebInspector.TimelineOverviewPane.prototype._dragWindow):
4126 (WebInspector.TimelineOverviewPane.prototype._windowSelectorDragging):
4127 (WebInspector.TimelineOverviewPane.prototype._endWindowSelectorDragging):
4128 (WebInspector.TimelineOverviewPane.prototype._resizeWindowLeft):
4129 (WebInspector.TimelineOverviewPane.prototype._resizeWindowRight):
4130 (WebInspector.TimelineOverviewPane.prototype._setWindowPosition):
4131 (WebInspector.TimelinePanel.WindowSelector):
4132 (WebInspector.TimelinePanel.WindowSelector.prototype._createSelectorElement):
4133 (WebInspector.TimelinePanel.WindowSelector.prototype._close):
4134 (WebInspector.TimelinePanel.WindowSelector.prototype._updatePosition):
4135 * inspector/front-end/inspector.css:
4136 (#timeline-overview-grid):
4137 (.timeline-window-selector):
4138 (#timeline-overview-window):
4139 (.timeline-overview-dividers-background):
4140 (.timeline-overview-window-rulers):
4141 (.timeline-window-resizer):
4143 2010-04-28 Marcus Bulach <bulach@chromium.org>
4145 Reviewed by Jeremy Orlow.
4147 Reverts 58340 (https://bugs.webkit.org/show_bug.cgi?id=38158) due to regression on fast/text/international/khmer-selection.html
4148 https://bugs.webkit.org/show_bug.cgi?id=38254
4150 * platform/graphics/chromium/FontLinux.cpp:
4151 (WebCore::adjustTextRenderMode):
4152 (WebCore::TextRunWalker::getTextRun):
4153 (WebCore::TextRunWalker::getNormalizedTextRun):
4154 (WebCore::TextRunWalker::setGlyphXPositions):
4155 (WebCore::glyphIndexForXPositionInScriptRun):
4156 (WebCore::Font::offsetForPositionForComplexText):
4157 (WebCore::Font::selectionRectForComplexText):
4158 * platform/graphics/chromium/FontPlatformDataLinux.cpp:
4159 (WebCore::FontPlatformData::setupPaint):
4160 * platform/graphics/chromium/HarfbuzzSkia.cpp:
4161 (WebCore::getOutlinePoint):
4162 * platform/graphics/skia/GraphicsContext3DSkia.cpp:
4163 (WebCore::GraphicsContext3D::getImageData):
4164 * platform/graphics/skia/GraphicsContextSkia.cpp:
4165 (WebCore::isCoordinateSkiaSafe):
4166 (WebCore::GraphicsContext::fillRect):
4167 (WebCore::GraphicsContext::strokePath):
4168 (WebCore::GraphicsContext::strokeRect):
4170 2010-04-28 Andrey Kosyakov <caseq@chromium.org>
4172 Reviewed by Yury Semikhatsky.
4174 Log error message to inspector console if a resource fails to load.
4175 Disable checking of mime-type consistency for failed resources.
4176 https://bugs.webkit.org/show_bug.cgi?id=37215
4178 Test: http/tests/inspector/console-resource-errors.html
4180 * inspector/InspectorController.cpp:
4181 (WebCore::InspectorController::didReceiveResponse):
4182 (WebCore::InspectorController::didFailLoading):
4183 * inspector/front-end/Resource.js:
4184 (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
4185 * inspector/front-end/ResourcesPanel.js:
4186 (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
4188 2010-04-28 Yury Semikhatsky <yurys@chromium.org>
4190 Reviewed by Pavel Feldman.
4192 Support pause on exceptions in v8 implementation of ScriptDebugServer.
4194 https://bugs.webkit.org/show_bug.cgi?id=38205
4196 * bindings/v8/ScriptDebugServer.cpp:
4197 (WebCore::ScriptDebugServer::addListener):
4198 (WebCore::ScriptDebugServer::pauseOnExceptionsState):
4199 (WebCore::ScriptDebugServer::setPauseOnExceptionsState):
4200 (WebCore::ScriptDebugServer::currentCallFrame):
4201 (WebCore::ScriptDebugServer::handleV8DebugMessage):
4202 (WebCore::ScriptDebugServer::dispatchDidParseSource):
4203 * bindings/v8/ScriptDebugServer.h:
4205 2010-04-28 Sheriff Bot <webkit.review.bot@gmail.com>
4207 Unreviewed, rolling out r58313.
4208 http://trac.webkit.org/changeset/58313
4209 https://bugs.webkit.org/show_bug.cgi?id=38253
4211 Regression evident in pixel tests: the search icon is always
4212 clipped at the bottom. (Requested by jorlow on #webkit).
4214 * rendering/RenderTextControl.cpp:
4215 (WebCore::RenderTextControl::controlClipRect):
4216 * rendering/RenderTextControl.h:
4217 (WebCore::RenderTextControl::hasControlClip):
4218 * rendering/RenderTextControlSingleLine.cpp:
4219 (WebCore::RenderTextControlSingleLine::paint):
4220 * rendering/RenderTextControlSingleLine.h:
4222 2010-04-28 Justin McPherson <justin.mcpherson@nokia.com>
4224 Reviewed by Simon Hausmann.
4226 [Qt] Fix detection of Qt 4.7's multimedia libraries
4228 QtMultimedia has been split into an additional media services library, which
4229 we're using. mediaservices depends on multimedia.