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