8c9455f72445344f96e44e17ddadae34cf478fff
[WebKit-https.git] / WebCore / ChangeLog
1 2010-04-01  Daniel Bates  <dbates@rim.com>
2
3         Reviewed by Darin Adler.
4
5         https://bugs.webkit.org/show_bug.cgi?id=36901
6
7         Removed functions Range::operator == and Range::operator != as they
8         were using C++ code that was not sound and hence may have undefined
9         behavior.
10
11         Test case: manual-tests/crash-on-find-with-no-selection.html
12
13         * dom/Range.cpp:
14         (WebCore::areRangesEqual): Added.
15         * dom/Range.h:
16         * editing/markup.cpp:
17         (WebCore::createMarkup): Modified to call WebCore::areRangesEqual.
18         * manual-tests/crash-on-find-with-no-selection.html: Added.
19         * page/Frame.cpp:
20         (WebCore::Frame::findString): Modified to call WebCore::areRangesEqual.
21
22 2010-04-01  Geoffrey Garen  <ggaren@apple.com>
23
24         Reviewed by Sam Weinig.
25
26         Synchronous rendering when setting form control values slows down JavaScript
27         https://bugs.webkit.org/show_bug.cgi?id=36967
28
29         This patch basically reverts http://trac.webkit.org/changeset/19006.
30         
31         Dan asked me to investigate why 19006 is no longer needed. I have two answers:
32
33             (1) I was also able to remove the synchronous call to updateFromElement().
34             That call was the proximate cause of the crash that 19006 fixed.
35
36             (2) updateFromElement() no longer calls HTMLElement::setInnerText()
37             in the way that it used to. (However, it doesn't seem prudent to
38             rely on this happy coincidence.)
39
40         * html/HTMLInputElement.cpp:
41         (WebCore::HTMLInputElement::setValue): Simplified some logic here. Moved
42         setNeedsValidityCheck() outside of individual 'if' clauses, since they all
43         called it.
44         
45         Removed call to updateStyleIfNeeded(), which does rendering synchronously,
46         since that was the performance problem. (setNeedsStyleRecalc() ensures
47         that rendering will happen asynchronously.) Also removed comment about
48         ordering dangers introduced by updateStyleIfNeeded().
49         
50         Removed call to updateFromElement(), since it's dangerous and also a minor
51         performance problem. (setNeedsStyleRecalc() ensures that updateFromElement()
52         will happen asynchronously, too.)
53
54         * html/HTMLTextAreaElement.cpp:
55         (WebCore::HTMLTextAreaElement::setNonDirtyValue): Ditto. Here, I had to
56         add a call to setNeedsStyleRecalc(), since there wasn't one before.
57
58 2010-04-01  Ilya Tikhonovsky  <loislo@chromium.org>
59
60         Reviewed by Pavel Feldman.
61
62         Web Inspector: Sometimes js code can detach page from it's frame and in that case
63         Dispatch Events will stay in the TimelineAgent's events stack. Only immediate events will
64         appear at frontend.
65         https://bugs.webkit.org/show_bug.cgi?id=36890
66
67         * bindings/v8/V8Proxy.cpp:
68         (WebCore::V8Proxy::callFunction):
69         * dom/Node.cpp:
70         (WebCore::Node::dispatchGenericEvent):
71         * page/DOMWindow.cpp:
72         (WebCore::DOMWindow::dispatchEvent):
73
74 2010-04-01  Chris Fleizach  <cfleizach@apple.com>
75
76         Reviewed by Beth Dakin.
77
78         Bug 36977 - aria-label doesn't work on image map area
79         https://bugs.webkit.org/show_bug.cgi?id=36977
80
81         Test: platform/mac/accessibility/area-with-aria-label.html
82
83         * accessibility/AccessibilityImageMapLink.cpp:
84         (WebCore::AccessibilityImageMapLink::accessibilityDescription):
85
86 2010-04-01  Simon Fraser  <simon.fraser@apple.com>
87
88         Reviewed by Dan Bernstein.
89
90         Assertion failure: !repaintContainer || repaintContainer == this
91         https://bugs.webkit.org/show_bug.cgi?id=36672
92         
93         RenderText's implementation of clippedOverflowRectForRepaint() uses containingBlock()
94         to get the renderer to use for computing the repaint rect. However, the renderer returned
95         by containingBlock() may be an ancestor of the repaintContainer, and containingBlock()
96         doesn't have the 'repaintContainerSkipped' logic that container() has.
97         
98         So in this case, check to see whether repaintContainer is actually a descendant of the
99         containing block, and in that case just repaint the entire repaintContainer.
100
101         Test: compositing/repaint/inline-repaint-container.html
102
103         * rendering/RenderText.cpp:
104         (WebCore::RenderText::clippedOverflowRectForRepaint):
105
106 2010-04-01  Csaba Osztrogonác  <ossy@webkit.org>
107
108         Reviewed by Jian Li.
109
110         [Qt] REGRESSION(r56869): Windows build is broken
111         https://bugs.webkit.org/show_bug.cgi?id=36929
112
113         * WebCore.pro: LIBS += -lOle32 added.
114         * platform/UUID.cpp: Define ARRAYSIZE macro if it isn't defined before.
115
116 2010-04-01  Chris Fleizach  <cfleizach@apple.com>
117
118         Reviewed by Beth Dakin.
119
120         Bug 36968 - 1 crash in Safari at com.apple.WebCore: WebCore::Element::getAttribute const
121         https://bugs.webkit.org/show_bug.cgi?id=36968
122
123         Test: accessibility/crash-with-noelement-selectbox.html
124
125         When a <select> element had no options, the selectedIndex == -1 and that was being
126         used to index into an empty array.
127
128         * accessibility/AccessibilityRenderObject.cpp:
129         (WebCore::AccessibilityRenderObject::stringValue):
130
131 2010-04-01  MORITA Hajime  <morrita@google.com>
132
133         Reviewed by Shinichiro Hamaji.
134
135         https://bugs.webkit.org/show_bug.cgi?id=36948
136         Refactoring: Position::primaryDirection() should be extracted.
137
138         No new tests. No functinal change.
139
140         * dom/Position.cpp:
141         (WebCore::Position::getInlineBoxAndOffset):
142         (WebCore::Position::primaryDirection): Added
143         * dom/Position.h:
144         * editing/VisiblePosition.cpp:
145         (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
146         (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
147
148 2010-04-01  Alexander Pavlov  <apavlov@chromium.org>
149
150         Reviewed by Pavel Feldman.
151
152         Web Inspector: Audits: fix parsing of injected script-evaluated result for CssInHeadRule
153         https://bugs.webkit.org/show_bug.cgi?id=36952
154
155         * inspector/front-end/AuditRules.js:
156         (WebInspector.AuditRules.CssInHeadRule.prototype.doRun):
157
158 2010-03-31  Jeremy Orlow  <jorlow@chromium.org>
159
160         Reviewed by Nate Chapin.
161
162         Misc IndexedDatabase cleanup
163         https://bugs.webkit.org/show_bug.cgi?id=36889
164
165         No functional changes.
166
167         * bindings/v8/custom/V8CustomIDBCallbacks.h:  
168         (WebCore::V8CustomIDBCallbacks::onSuccess):
169         (WebCore::V8CustomIDBCallbacks::onError):
170         (WebCore::V8CustomIDBCallbacks::V8CustomIDBCallbacks):
171             Get rid of 2 largely redundant bools
172
173         * storage/IndexedDatabase.h:
174         * storage/IndexedDatabaseImpl.cpp:
175         (WebCore::IndexedDatabaseImpl::open):
176         * storage/IndexedDatabaseImpl.h:
177         * storage/IndexedDatabaseRequest.cpp:
178         (WebCore::IndexedDatabaseRequest::open):
179         * storage/IndexedDatabaseRequest.h:
180             Plumb the Frame* and style cleanups.
181
182 2010-03-31  Nikolas Zimmermann  <nzimmermann@rim.com>
183
184         Reviewed by Dirk Schulze.
185
186         REGRESSION: document.documentElement.getScreenCTM() returns incorrect matrix.
187         https://bugs.webkit.org/show_bug.cgi?id=27183
188
189         Rewrite getCTM() / getScreenCTM() handling in an iterative way, fixing all known problems/limitations.
190         The bug mentioned above is actually not a regression, getScreenCTM() only worked before, because we
191         did not handle non-SVG CSS box parents properly. When support was added to handle those cases, the
192         getScreenCTM() handling was completly off, causing a lot of trouble in real-life SVG applications (carto.net for instance)
193
194         Tests: svg/custom/svgsvgelement-ctm.xhtml (fixed typo, missing unit identifier in CSS 'height' property, leading to incorrect results)
195                svg/custom/svgsvgelement-ctm2.xhtml
196                svg/custom/svgsvgelement-ctm3.xhtml
197                svg/custom/svgsvgelement-ctm4.xhtml
198                svg/custom/svgsvgelement-ctm5.xhtml
199
200         * svg/SVGLocatable.cpp:
201         (WebCore::SVGLocatable::getBBox):
202         (WebCore::SVGLocatable::computeCTM):
203         * svg/SVGLocatable.h:
204         (WebCore::SVGLocatable::localCoordinateSpaceTransform):
205         * svg/SVGSVGElement.cpp:
206         (WebCore::SVGSVGElement::localCoordinateSpaceTransform):
207         (WebCore::SVGSVGElement::createRenderer):
208         * svg/SVGSVGElement.h:
209         * svg/SVGStyledElement.cpp:
210         (WebCore::SVGStyledElement::localCoordinateSpaceTransform):
211         * svg/SVGStyledElement.h:
212         * svg/SVGStyledLocatableElement.cpp:
213         (WebCore::SVGStyledLocatableElement::getCTM):
214         (WebCore::SVGStyledLocatableElement::getScreenCTM):
215         * svg/SVGStyledLocatableElement.h:
216         (WebCore::SVGStyledLocatableElement::localCoordinateSpaceTransform):
217         * svg/SVGStyledTransformableElement.cpp:
218         (WebCore::SVGStyledTransformableElement::getCTM):
219         (WebCore::SVGStyledTransformableElement::getScreenCTM):
220         * svg/SVGStyledTransformableElement.h:
221         (WebCore::SVGStyledTransformableElement::localCoordinateSpaceTransform):
222         * svg/SVGTextElement.cpp:
223         (WebCore::SVGTextElement::getCTM):
224         (WebCore::SVGTextElement::getScreenCTM):
225         * svg/SVGTextElement.h:
226         (WebCore::SVGTextElement::localCoordinateSpaceTransform):
227         * svg/SVGTransformable.cpp:
228         (WebCore::SVGTransformable::SVGTransformable):
229         * svg/SVGTransformable.h:
230         (WebCore::SVGTransformable::localCoordinateSpaceTransform):
231
232 2010-04-01  Vitaly Repeshko  <vitalyr@chromium.org>
233
234         Reviewed by Darin Fisher.
235
236         [V8] Quick fix for failure in SerializedScriptValue
237         https://bugs.webkit.org/show_bug.cgi?id=36943
238
239         This allows the web worker layout tests to pass again.
240
241         * bindings/v8/SerializedScriptValue.h:
242         (WebCore::SerializedScriptValue::deserializeAndSetProperty):
243
244 2010-03-31  MORITA Hajime  <morrita@google.com>
245         
246         Reviewed by Darin Adler.
247
248         Crash when writing into a detached TITLE element
249         https://bugs.webkit.org/show_bug.cgi?id=25567
250         
251         Document::setTitle() invoked HTMLTitleElement::setText(), which
252         contains DOM tree modification, even when setTitle() is called
253         from HTMLTitleElement::childrenChanged().  Fix to skip setText()
254         when setTitle() is called childrenChanged() to avoid cascading
255         DOM mutations between Document and HTMLTitleElement.
256
257         Test: fast/dom/title-content-write-set.html
258
259         * dom/Document.cpp:
260         (WebCore::Document::setTitle):
261
262 2010-04-01  Roland Steiner  <rolandsteiner@chromium.org>
263
264         Reviewed by Darin Adler.
265
266         Bug 36803 - 'Inline-table' workaround for <ruby> broken with ruby support
267         https://bugs.webkit.org/show_bug.cgi?id=36803
268
269         Don't use ruby rendering if the underlying 'display' property has been
270         changed into a value other than 'inline' or 'block' (such as 'inline-table').
271
272         Test: fast/ruby/ruby-inline-table.html
273
274         * rendering/RenderObject.cpp:
275         (WebCore::RenderObject::createObject):
276
277 2010-03-31  Geoffrey Garen  <ggaren@apple.com>
278
279         Reviewed by Darin Adler.
280
281         Crash submitting display:none textarea in a form
282         https://bugs.webkit.org/show_bug.cgi?id=36905
283
284         Test: fast/forms/textarea-submit-crash.html
285
286         * html/HTMLTextAreaElement.cpp:
287         (WebCore::HTMLTextAreaElement::appendFormData): Do update layout before
288         asking our renderer for its text, since we can't rely on our renderer's
289         text if layout is needed.
290
291         * rendering/RenderTextControl.cpp:
292         (WebCore::RenderTextControl::textWithHardLineBreaks): Don't update layout
293         while being asked for our text, since doing so may delete us, causing a crash.
294
295 2010-03-31  Chris Fleizach  <cfleizach@apple.com>
296
297         Reviewed by Darin Adler.
298
299         Bug 36845 - AX: need a way to set the label of a AXWebArea through WebKit
300         https://bugs.webkit.org/show_bug.cgi?id=36845
301
302         Provide a way through WebKit to set an accessible label that describes the web area.
303
304         Test: platform/mac/accessibility/html-with-aria-label.html
305
306         * accessibility/AccessibilityObject.h:
307         (WebCore::AccessibilityObject::setAccessibleName):
308         * accessibility/AccessibilityRenderObject.cpp:
309         (WebCore::AccessibilityRenderObject::accessibilityDescription):
310         (WebCore::AccessibilityRenderObject::setAccessibleName):
311         * accessibility/AccessibilityRenderObject.h:
312
313 2010-03-31  Mark Rowe  <mrowe@apple.com>
314
315         Reviewed by Darin Adler.
316
317         <http://webkit.org/b/36878> REGRESSION: Trailing colon on hostnames (with no port specified) causes "Not allowed to use restricted network port"
318
319         * platform/KURL.cpp:
320         (WebCore::KURL::port): Explicitly handle the case of a colon being present in the URL after the host name but with
321         no port number before the path.  This is handled in the same manner as the colon and port being omitted completely.
322
323 2010-03-31  Gavin Barraclough  <barraclough@apple.com>
324
325         Reviewed by Oliver Hunt.
326
327         Remove dependency on TextBreakIterator from StringImpl.cpp,
328         and from member methods of String.
329
330         Make 'numGraphemeClusters' & 'numCharactersInGraphemeClusters'
331         global function defined in PlatformString.h, rather than
332         member methods on String (these can be implemented purely
333         using the characters() and length() public interface),
334         and make 'makeCapitalized' a static function in RenderText.cpp.
335
336         * dom/InputElement.cpp:
337         (WebCore::InputElement::sanitizeUserInputValue):
338         (WebCore::InputElement::handleBeforeTextInsertedEvent):
339         * html/HTMLInputElement.cpp:
340         (WebCore::HTMLInputElement::tooLong):
341         * html/HTMLTextAreaElement.cpp:
342         (WebCore::HTMLTextAreaElement::handleBeforeTextInsertedEvent):
343         (WebCore::HTMLTextAreaElement::sanitizeUserInputValue):
344         (WebCore::HTMLTextAreaElement::tooLong):
345         * platform/text/PlatformString.h:
346         (WebCore::String::makeSecure):
347         * platform/text/String.cpp:
348         (WebCore::numGraphemeClusters):
349         (WebCore::numCharactersInGraphemeClusters):
350         * platform/text/StringImpl.cpp:
351         * platform/text/StringImpl.h:
352         * rendering/RenderText.cpp:
353         (WebCore::makeCapitalized):
354         (WebCore::RenderText::setTextInternal):
355
356 2010-03-31  Vitaly Repeshko  <vitalyr@chromium.org>
357
358         Reviewed by David Levin.
359
360         [V8] SerializedScriptValue must be deserialized only once and in the right context
361         https://bugs.webkit.org/show_bug.cgi?id=36892
362
363         See also https://bugs.webkit.org/show_bug.cgi?id=34227 for the
364         corresponding JSC change.
365
366         General idea: SerializedScriptValue must be deserialized only once
367         and in the context of the intended MessageEvent recepient. The
368         approach we take for now is to eagerly deserialize when a
369         JavaScript wrapper for MessageEvent is created.
370
371         A better fix would be to keep a reference to the context in
372         MessageEvent and use it when lazily deserializing. It's harder to
373         do since the API doesn't have a clean method to have such a reference.
374
375         Tested by fast/dom/Window/window-postmessage-clone-frames.html. This
376         test still fails but only for the types which we can't serialize yet.
377
378         * bindings/scripts/CodeGeneratorV8.pm:
379         * bindings/v8/SerializedScriptValue.h:
380         (WebCore::SerializedScriptValue::deserializeAndSetProperty):
381         * bindings/v8/custom/V8MessageEventCustom.cpp:
382         (WebCore::V8MessageEvent::initMessageEventCallback):
383
384 2010-03-31  Adam Barth  <abarth@webkit.org>
385
386         Reviewed by Darin Fisher.
387
388         Cleanup RedirectScheduler
389         https://bugs.webkit.org/show_bug.cgi?id=36874
390
391         Removed the nutty ScheduledRedirection struct in favor of a hierarchy
392         of classes to represent the various kinds of scheduled redirects.
393         Doing this lets us get rid of the pseudo RTTI switch statements on
394         "type" in favour of calling virtual functions.
395
396         No new tests because this change should be API identical with the
397         existing RedirectScheduler.
398
399         * loader/RedirectScheduler.cpp:
400         (WebCore::ScheduledNavigation::ScheduledNavigation):
401         (WebCore::ScheduledNavigation::~ScheduledNavigation):
402         (WebCore::ScheduledNavigation::isLocationChange):
403         (WebCore::ScheduledNavigation::shouldStartTimer):
404         (WebCore::ScheduledNavigation::didStartTimer):
405         (WebCore::ScheduledNavigation::didStopTimer):
406         (WebCore::ScheduledNavigation::delay):
407         (WebCore::ScheduledNavigation::lockHistory):
408         (WebCore::ScheduledNavigation::lockBackForwardList):
409         (WebCore::ScheduledNavigation::wasDuringLoad):
410         (WebCore::ScheduledURLNavigation::ScheduledURLNavigation):
411         (WebCore::ScheduledURLNavigation::fire):
412         (WebCore::ScheduledURLNavigation::didStartTimer):
413         (WebCore::ScheduledURLNavigation::didStopTimer):
414         (WebCore::ScheduledURLNavigation::url):
415         (WebCore::ScheduledURLNavigation::referrer):
416         (WebCore::ScheduledURLNavigation::wasUserGesture):
417         (WebCore::ScheduledRedirect::ScheduledRedirect):
418         (WebCore::ScheduledRedirect::isLocationChange):
419         (WebCore::ScheduledRedirect::shouldStartTimer):
420         (WebCore::ScheduledLocationChange::ScheduledLocationChange):
421         (WebCore::ScheduledRefresh::ScheduledRefresh):
422         (WebCore::ScheduledRefresh::fire):
423         (WebCore::ScheduledHistoryNavigation::ScheduledHistoryNavigation):
424         (WebCore::ScheduledHistoryNavigation::fire):
425         (WebCore::ScheduledFormSubmission::ScheduledFormSubmission):
426         (WebCore::ScheduledFormSubmission::fire):
427         (WebCore::RedirectScheduler::redirectScheduledDuringLoad):
428         (WebCore::RedirectScheduler::clear):
429         (WebCore::RedirectScheduler::scheduleRedirect):
430         (WebCore::RedirectScheduler::mustLockBackForwardList):
431         (WebCore::RedirectScheduler::scheduleLocationChange):
432         (WebCore::RedirectScheduler::scheduleFormSubmission):
433         (WebCore::RedirectScheduler::scheduleRefresh):
434         (WebCore::RedirectScheduler::locationChangePending):
435         (WebCore::RedirectScheduler::scheduleHistoryNavigation):
436         (WebCore::RedirectScheduler::timerFired):
437         (WebCore::RedirectScheduler::schedule):
438         (WebCore::RedirectScheduler::startTimer):
439         (WebCore::RedirectScheduler::cancel):
440         * loader/RedirectScheduler.h:
441
442 2010-03-31  Zhenyao Mo  <zmo@google.com>
443
444         Reviewed by Darin Fisher.
445
446         Hook up WebGLContextAttributes to OpenGL context creation code
447         https://bugs.webkit.org/show_bug.cgi?id=33416
448
449         Test: fast/canvas/webgl/context-attributes-alpha-depth-stencil-antialias.html
450
451         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: Fix an index bug.
452         (WebCore::V8HTMLCanvasElement::getContextCallback):
453         * platform/graphics/GraphicsContext3D.h: Add members/functions for multisampling/stencil buffer purpose.
454         * platform/graphics/mac/Canvas3DLayer.h: Add GraphicsContext3D as a member of Canvas3DLayer.
455         * platform/graphics/mac/Canvas3DLayer.mm: Add multisampling support.
456         (-[Canvas3DLayer drawInCGLContext:pixelFormat:forLayerTime:displayTime:]):
457         * platform/graphics/mac/GraphicsContext3DMac.cpp: Hook up WebGLContextAttributes to OpenGL context creation code for Mac.
458         (WebCore::GraphicsContext3D::GraphicsContext3D):
459         (WebCore::GraphicsContext3D::~GraphicsContext3D):
460         (WebCore::GraphicsContext3D::validateAttributes):
461         (WebCore::GraphicsContext3D::reshape):
462         (WebCore::GraphicsContext3D::prepareTexture):
463         (WebCore::GraphicsContext3D::bindFramebuffer):
464         (WebCore::GraphicsContext3D::readPixels):
465         * platform/graphics/mac/GraphicsLayerCA.mm: Adjust to modified Canvas3DLayer init call.
466         (WebCore::GraphicsLayerCA::setContentsToGraphicsContext3D):
467
468 2010-03-31  Jian Li  <jianli@chromium.org>
469
470         Reviewed by Dmitry Titov.
471
472         Add support to create UUID string.
473         https://bugs.webkit.org/show_bug.cgi?id=36472
474
475         * GNUmakefile.am:
476         * WebCore.gypi:
477         * WebCore.pro:
478         * WebCore.vcproj/WebCore.vcproj:
479         * WebCore.xcodeproj/project.pbxproj:
480         * platform/UUID.cpp: Added.
481         (WebCore::createCanonicalUUIDString):
482         * platform/UUID.h: Added.
483
484 2010-03-31  Darin Adler  <darin@apple.com>
485
486         * rendering/RenderThemeChromiumWin.h: Fix inconsistent line endings.
487
488 2010-03-31  Luiz Agostini  <luiz.agostini@openbossa.org>
489
490         Reviewed by Kenneth Rohde Christiansen.
491
492         [Qt] Maemo5 theme - form controls style
493         https://bugs.webkit.org/show_bug.cgi?id=36370
494
495         Adjusting Mameo5 form elements rendering.
496
497         * WebCore.pri:
498         * WebCore.pro:
499         * css/themeQtMaemo5.css: Added.
500         (select):
501         (select:disabled):
502         (select:active):
503         (select:active:disabled):
504         (textarea):
505         (textarea:disabled):
506         (textarea:active):
507         * platform/qt/Maemo5Webstyle.cpp: Added.
508         (Maemo5WebStyle::Maemo5WebStyle):
509         (drawRectangularControlBackgorund):
510         (Maemo5WebStyle::drawChecker):
511         (Maemo5WebStyle::findChecker):
512         (Maemo5WebStyle::drawRadio):
513         (Maemo5WebStyle::findRadio):
514         (Maemo5WebStyle::drawControl):
515         (Maemo5WebStyle::drawComplexControl):
516         * platform/qt/Maemo5Webstyle.h: Added.
517         * platform/qt/RenderThemeQt.cpp:
518         (WebCore::RenderThemeQt::RenderThemeQt):
519         (WebCore::RenderThemeQt::isControlStyled):
520         (WebCore::RenderThemeQt::popupInternalPaddingBottom):
521         (WebCore::RenderThemeQt::extraDefaultStyleSheet):
522         (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
523         * platform/qt/RenderThemeQt.h:
524
525 2010-03-31  Alexey Proskuryakov  <ap@apple.com>
526
527         https://bugs.webkit.org/show_bug.cgi?id=36897
528         <rdar://problem/7804018> REGRESSION (r56429): Flash ads are clipped when main page is scrolled (boxofficemojo.com)
529
530         Addressing additional review comments.
531
532         * rendering/RenderWidget.cpp: Removed an unneeded include.
533         * rendering/RenderWidget.h: Reworded the new comment.
534
535 2010-03-31  Alexey Proskuryakov  <ap@apple.com>
536
537         Reviewed by Dan Bernstein.
538
539         https://bugs.webkit.org/show_bug.cgi?id=36897
540         <rdar://problem/7804018> REGRESSION (r56429): Flash ads are clipped when main page is scrolled (boxofficemojo.com)
541
542         * manual-tests/plugin-in-iframe-scroll.html: Added.
543         * manual-tests/resources/plugin-in-iframe-scroll-iframe.html: Added.
544
545         * rendering/RenderWidget.cpp:
546         (WebCore::RenderWidget::setWidgetGeometry): This method isn't called when an iframe containing
547         the widget moves, so we should store a value that is not dependent on current scroll offset.
548         (WebCore::RenderWidget::windowClipRect): Apply scroll offset and window clip now.
549
550         * rendering/RenderWidget.h: Renamed m_windowClipRect to m_clipRect, because it is no longer
551         in window coordinates.
552
553         * WebCore.base.exp: Export RenderWidget::windowClipRect(), since it's no longer inline.
554
555 2010-03-31  Kenneth Rohde Christiansen  <kenneth@webkit.org>
556
557         Unreviewed crash fix.
558
559         Crash with frame flattening on after r56854
560         https://bugs.webkit.org/show_bug.cgi?id=36894
561
562         Solution tested by Greg Bolsinga, thanks.
563
564         * page/FrameView.cpp:
565         (WebCore::FrameView::avoidScrollbarCreation):
566         * platform/ScrollView.cpp:
567         (WebCore::ScrollView::setHasHorizontalScrollbar):
568         (WebCore::ScrollView::setHasVerticalScrollbar):
569
570 2010-03-31  Kenneth Rohde Christiansen  <kenneth@webkit.org>
571
572         Reviewed by Antti Koivisto.
573
574         iframe flattening doesn't flatten
575         https://bugs.webkit.org/show_bug.cgi?id=36798
576
577         Do not draw scrollbars for subframes when frame flattening is
578         enabled. Implemented using a virtual method in ScrollView as
579         suggested by Dave Hyatt.
580
581         Do not suppress scrollbars as that is wrong according to
582         Dave Hyatt.
583
584         Covered by current tests.
585
586         * page/FrameView.cpp:
587         (WebCore::FrameView::avoidScrollbarCreation):
588         * page/FrameView.h:
589         * platform/ScrollView.cpp:
590         (WebCore::ScrollView::setHasHorizontalScrollbar):
591         (WebCore::ScrollView::setHasVerticalScrollbar):
592         * platform/ScrollView.h:
593         (WebCore::ScrollView::avoidScrollbarCreation):
594         * rendering/RenderPart.cpp:
595         (WebCore::RenderPart::layoutWithFlattening):
596
597 2010-03-30  Kenneth Rohde Christiansen  <kenneth@webkit.org>
598
599         Reviewed by Antti Koivisto.
600
601         iframe flattening doesn't flatten
602         https://bugs.webkit.org/show_bug.cgi?id=36798
603
604         Fix wrongly reversing logic in frame flattening check.
605
606         Tests:
607         fast/frames/flattening/iframe-flattening-fixed-height.html
608         fast/frames/flattening/iframe-flattening-fixed-width.html
609         fast/frames/flattening/iframe-flattening-fixed-width-and-height.html
610         fast/frames/flattening/iframe-flattening-fixed-width-and-height-no-scrolling.html
611
612         * rendering/RenderPartObject.cpp:
613         (WebCore::RenderPartObject::flattenFrame):
614
615 2010-03-31  Marcus Bulach  <bulach@chromium.org>
616
617         Reviewed by Jeremy Orlow.
618
619         Implements cancelGeolocationPermissionRequestForFrame.
620         Similar to requestGeolocationPermissionForFrame(), passes Geolocation* to cancelGeolocationPermissionRequestForFrame(),
621         so that the embedder can identify which Geolocation object is cancelling the pending permission request.
622         Calls cancelGeolocationPermissionRequestForFrame() before stopUpdating() so it better matches the startUpdating() / requestPermission() flow.
623         https://bugs.webkit.org/show_bug.cgi?id=35031
624
625         * loader/EmptyClients.h:
626         (WebCore::EmptyChromeClient::cancelGeolocationPermissionRequestForFrame):
627         * page/Chrome.cpp:
628         (WebCore::Chrome::cancelGeolocationPermissionRequestForFrame):
629         * page/Chrome.h:
630         * page/ChromeClient.h:
631         * page/Geolocation.cpp:
632         (WebCore::Geolocation::disconnectFrame):
633
634 2010-03-31  Yael Aharon  <yael.aharon@nokia.com>
635
636         Reviewed by Antti Koivisto.
637
638         Add animation to progress element
639         https://bugs.webkit.org/show_bug.cgi?id=36664
640
641         Add a timer to control the animation. The timer is started after painting
642         or a state change in the progress bar, to prevent animation from running
643         when the progress bar is not visible.
644
645         * html/HTMLProgressElement.cpp:
646         (WebCore::HTMLProgressElement::createRenderer):
647         * manual-tests/dom: Added.
648         * manual-tests/dom/progressbar.html: Added.
649         * platform/qt/RenderThemeQt.cpp:
650         (WebCore::RenderThemeQt::animationRepeatIntervalForProgressBar):
651         (WebCore::RenderThemeQt::animationDurationForProgressBar):
652         (WebCore::RenderThemeQt::paintProgressBar):
653         * platform/qt/RenderThemeQt.h:
654         * rendering/RenderProgress.cpp:
655         (WebCore::RenderProgress::RenderProgress):
656         (WebCore::RenderProgress::layout):
657         (WebCore::RenderProgress::updateFromElement):
658         (WebCore::RenderProgress::animationProgress):
659         (WebCore::RenderProgress::animationTimerFired):
660         (WebCore::RenderProgress::paint):
661         (WebCore::RenderProgress::updateAnimationState):
662         * rendering/RenderProgress.h:
663         * rendering/RenderTheme.cpp:
664         (WebCore::RenderTheme::animationRepeatIntervalForProgressBar):
665         (WebCore::RenderTheme::animationDurationForProgressBar):
666         * rendering/RenderTheme.h:
667
668 2010-03-31  Pavel Feldman  <pfeldman@chromium.org>
669
670         Not reviewed. Rolling out r56829 since it broke chromium layout tests.
671
672         [REGRESSION] Inspector tests started crashing since r56829
673         https://bugs.webkit.org/show_bug.cgi?id=36888
674
675         * bindings/scripts/CodeGeneratorV8.pm:
676         * bindings/v8/V8Utilities.cpp:
677         * bindings/v8/V8Utilities.h:
678         * loader/FrameLoaderClient.h:
679
680 2010-03-31  Pavel Feldman  <pfeldman@chromium.org>
681
682         Reviewed by Timothy Hatcher.
683
684         Web Inspector: creating new style bugfixing.
685
686         https://bugs.webkit.org/show_bug.cgi?id=36884
687
688         - InspectorDOMAgent should clear internal state upon reset (we are re-using
689           single dom agent instance throughout entire inspector controller lifetime) 
690         - Brought back blank style 'refresh' processing logic - remove it by mistake earlier
691         - Blocked couple of click handlers so that double-click to edit was not
692           expanding / collapsing the pane
693         - There is no need to reach out for matched rules upon 'refresh' update -
694           getting computed style is sufficient.
695
696         * css/CSSStyleSelector.cpp:
697         (WebCore::CSSStyleSelector::matchRulesForList):
698         * inspector/InspectorDOMAgent.cpp:
699         (WebCore::InspectorDOMAgent::discardBindings):
700         * inspector/front-end/StylesSidebarPane.js:
701         (WebInspector.StylesSidebarPane.prototype.update.getStylesCallback):
702         (WebInspector.StylesSidebarPane.prototype.update.getComputedStyleCallback):
703         (WebInspector.StylesSidebarPane.prototype.update):
704         (WebInspector.StylesSidebarPane.prototype._refreshUpdate):
705         (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
706         (WebInspector.StylesSidebarPane.prototype._refreshStyleRules):
707         (WebInspector.StylesSidebarPane.prototype.addBlankSection):
708         (WebInspector.StylePropertiesSection.prototype._dblclickEmptySpace):
709         (WebInspector.StylePropertiesSection.prototype._clickSelector):
710
711 2010-03-31  Yury Semikhatsky  <yurys@chromium.org>
712
713         Unreviewed. Chromium build fix: create missing v8::HandleScope.
714
715         https://bugs.webkit.org/show_bug.cgi?id=36828
716
717         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
718         (WebCore::InjectedScriptHost::canAccessInspectedWindow):
719
720 2010-03-31  Yury Semikhatsky  <yurys@chromium.org>
721
722         Reviewed by Pavel Feldman.
723
724         Check that injected script can still access inspected window object when wrapping console object. When the window cannot be access serialize objects as strings. Also don't call InjectedScript.dispatch if the window cannot be accessed (due to frame navigation).
725
726         https://bugs.webkit.org/show_bug.cgi?id=36828
727
728         * bindings/js/JSInjectedScriptHostCustom.cpp:
729         (WebCore::InjectedScriptHost::canAccessInspectedWindow):
730         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
731         (WebCore::InjectedScriptHost::canAccessInspectedWindow):
732         * inspector/InjectedScript.cpp:
733         (WebCore::InjectedScript::wrapForConsole):
734         * inspector/InjectedScriptHost.h:
735         * inspector/front-end/InjectedScript.js:
736         (injectedScriptConstructor):
737
738 2010-03-31  Mattias Nissler  <mnissler@google.com>
739
740         Reviewed by Pavel Feldman.
741
742         Allow generic resource URLs for cookie handling in the inspector. This
743         enables display of all cookies, not only those that are associated
744         with resources accessed through http, https or file.
745         https://bugs.webkit.org/show_bug.cgi?id=36877
746
747         * inspector/front-end/CookieItemsView.js:
748         (WebInspector.CookieItemsView.prototype._filterCookiesForDomain):
749         * inspector/front-end/DOMAgent.js:
750         (WebInspector.Cookies.cookieMatchesResourceURL):
751         * inspector/front-end/inspector.js:
752         (WebInspector.updateResource):
753
754 2010-03-30  Jeremy Orlow  <jorlow@chromium.org>
755
756         Reviewed by Nate Chapin.
757
758         IndexedDB: Finish hooking up bindings for IndexedDatabaseRequest
759         https://bugs.webkit.org/show_bug.cgi?id=36830
760
761         Still not enough hooked up to test.  Soon!
762
763         * WebCore.gypi:
764         * bindings/v8/custom/V8CustomIDBCallback.h: Removed.
765         * bindings/v8/custom/V8CustomIDBCallbacks.h: Added.
766         (WebCore::V8CustomIDBCallbacks::create):
767         (WebCore::V8CustomIDBCallbacks::~V8CustomIDBCallbacks):
768         (WebCore::V8CustomIDBCallbacks::onSuccess):
769         (WebCore::V8CustomIDBCallbacks::onError):
770         (WebCore::V8CustomIDBCallbacks::V8CustomIDBCallbacks):
771         * bindings/v8/custom/V8IndexedDatabaseRequestCustom.cpp:
772         (WebCore::V8IndexedDatabaseRequest::openCallback):
773         * storage/IDBDatabaseRequest.cpp: Added.
774         (WebCore::IDBDatabaseRequest::IDBDatabaseRequest):
775         (WebCore::IDBDatabaseRequest::~IDBDatabaseRequest):
776         * storage/IDBDatabaseRequest.h:
777         (WebCore::IDBDatabaseRequest::create):
778         * storage/IndexedDatabaseRequest.cpp:
779         (WebCore::IndexedDatabaseRequest::open):
780         * storage/IndexedDatabaseRequest.h:
781
782 2010-03-31  Zhenyao Mo  <zmo@google.com>
783
784         Reviewed by Darin Fisher.
785
786         Implement memmove behavior for WebGLArray set()
787         https://bugs.webkit.org/show_bug.cgi?id=35619
788
789         New test cases are added to fast/canvas/webgl/array-setters.html.
790
791         * html/canvas/WebGLArray.cpp: Use memmove instead of memcpy; with memmove, copying takes place as if an intermediate buffer was used, allowing the destination and source to overlap.
792         (WebCore::WebGLArray::setImpl):
793
794 2010-03-31  Benjamin Poulain  <benjamin.poulain@nokia.com>
795
796         Reviewed by Darin Adler.
797
798         tryLayoutDoingPositionedMovementOnly does not have to be in RenderObject or be virtual
799         https://bugs.webkit.org/show_bug.cgi?id=36810
800
801         Move tryLayoutDoingPositionedMovementOnly as a regular method of RenderBox
802
803         * rendering/RenderBox.h:
804         (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly):
805         * rendering/RenderObject.h:
806
807 2010-03-31  John Gregg  <johnnyg@google.com>
808
809         Reviewed by Darin Fisher.
810
811         [chromium] add logging of cross-frame property accesses for site isolation
812         https://bugs.webkit.org/show_bug.cgi?id=35773
813
814         No new tests as no new functionality.
815
816         * bindings/scripts/CodeGeneratorV8.pm:
817         * bindings/v8/V8Utilities.cpp:
818         (WebCore::logPropertyAccess):
819         * bindings/v8/V8Utilities.h:
820         * loader/FrameLoaderClient.h:
821         (WebCore::FrameLoaderClient::logCrossFramePropertyAccess):
822
823 2010-03-30  Gavin Barraclough  <barraclough@apple.com>
824
825         Rubber stamped by Sam Weinig.
826
827         https://bugs.webkit.org/show_bug.cgi?id=36866
828         Move CString to WTF
829
830         * Android.mk:
831         * ForwardingHeaders/wtf/text: Added.
832         * ForwardingHeaders/wtf/text/CString.h: Added.
833         * GNUmakefile.am:
834         * WebCore.base.exp:
835         * WebCore.gypi:
836         * WebCore.order:
837         * WebCore.pro:
838         * WebCore.vcproj/WebCore.vcproj:
839         * WebCore.xcodeproj/project.pbxproj:
840         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
841         * bindings/js/JSDOMWindowBase.cpp:
842         * bindings/js/ScheduledAction.cpp:
843         * bindings/js/ScriptController.cpp:
844         * bindings/v8/ScriptController.cpp:
845         * bindings/v8/V8Binding.cpp:
846         * bindings/v8/V8DOMWindowShell.cpp:
847         * bridge/jni/JNIBridge.cpp:
848         * bridge/jni/v8/JavaStringV8.h:
849         (JSC::Bindings::JavaStringImpl::init):
850         * css/CSSParser.cpp:
851         * dom/CharacterData.cpp:
852         * dom/Document.cpp:
853         * dom/Element.cpp:
854         * dom/Node.cpp:
855         * dom/Position.cpp:
856         * dom/Range.cpp:
857         * dom/Text.cpp:
858         * dom/XMLTokenizer.cpp:
859         * dom/XMLTokenizerLibxml2.cpp:
860         * dom/XMLTokenizerQt.cpp:
861         * editing/SelectionController.cpp:
862         * editing/VisiblePosition.cpp:
863         * editing/VisibleSelection.cpp:
864         * history/CachedFrame.cpp:
865         * history/HistoryItem.cpp:
866         * history/qt/HistoryItemQt.cpp:
867         * html/FormDataList.h:
868         (WebCore::FormDataList::appendData):
869         (WebCore::FormDataList::Item::Item):
870         (WebCore::FormDataList::Item::data):
871         * html/HTMLDocument.cpp:
872         * html/PreloadScanner.cpp:
873         * inspector/InspectorController.cpp:
874         * inspector/InspectorDOMAgent.cpp:
875         * loader/DocLoader.cpp:
876         * loader/FTPDirectoryDocument.cpp:
877         * loader/FrameLoader.cpp:
878         * loader/HistoryController.cpp:
879         * loader/ProgressTracker.cpp:
880         * loader/appcache/ApplicationCacheStorage.cpp:
881         * loader/archive/cf/LegacyWebArchive.cpp:
882         * loader/icon/wince/IconDatabaseWince.cpp:
883         * loader/loader.cpp:
884         * page/Console.cpp:
885         * page/DOMWindow.cpp:
886         * page/SecurityOrigin.cpp:
887         * page/XSSAuditor.cpp:
888         * page/animation/AnimationBase.cpp:
889         * platform/ContextMenu.cpp:
890         * platform/FileSystem.h:
891         * platform/KURL.cpp:
892         * platform/KURLGoogle.cpp:
893         * platform/KURLGooglePrivate.h:
894         * platform/Pasteboard.h:
895         * platform/android/FileSystemAndroid.cpp:
896         * platform/android/TemporaryLinkStubs.cpp:
897         * platform/brew/KURLBrew.cpp:
898         * platform/cf/FileSystemCF.cpp:
899         * platform/chromium/MIMETypeRegistryChromium.cpp:
900         * platform/efl/FileSystemEfl.cpp:
901         * platform/efl/PasteboardEfl.cpp:
902         * platform/efl/PlatformKeyboardEventEfl.cpp:
903         * platform/efl/PlatformScreenEfl.cpp:
904         * platform/efl/RenderThemeEfl.cpp:
905         * platform/efl/ScrollbarEfl.cpp:
906         * platform/efl/SharedBufferEfl.cpp:
907         * platform/efl/WidgetEfl.cpp:
908         * platform/graphics/GlyphPageTreeNode.cpp:
909         * platform/graphics/cairo/FontPlatformDataCairo.cpp:
910         * platform/graphics/cg/ImageBufferCG.cpp:
911         * platform/graphics/chromium/FontCacheLinux.cpp:
912         * platform/graphics/chromium/FontPlatformDataLinux.h:
913         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
914         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
915         * platform/graphics/gtk/FontPlatformDataPango.cpp:
916         * platform/graphics/gtk/IconGtk.cpp:
917         * platform/graphics/gtk/ImageGtk.cpp:
918         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
919         * platform/graphics/mac/GraphicsContext3DMac.cpp:
920         * platform/graphics/mac/GraphicsLayerCA.mm:
921         * platform/graphics/qt/GraphicsContext3DQt.cpp:
922         * platform/graphics/qt/ImageBufferQt.cpp:
923         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
924         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
925         * platform/graphics/skia/GraphicsLayerSkia.cpp:
926         * platform/graphics/win/GraphicsLayerCACF.cpp:
927         * platform/graphics/win/WKCACFLayer.cpp:
928         * platform/graphics/wx/FontPlatformData.h:
929         * platform/gtk/ClipboardGtk.cpp:
930         * platform/gtk/ContextMenuItemGtk.cpp:
931         * platform/gtk/DataObjectGtk.h:
932         * platform/gtk/FileChooserGtk.cpp:
933         * platform/gtk/FileSystemGtk.cpp:
934         * platform/gtk/GeolocationServiceGtk.cpp:
935         * platform/gtk/KURLGtk.cpp:
936         * platform/gtk/Language.cpp:
937         * platform/gtk/LocalizedStringsGtk.cpp:
938         * platform/gtk/PasteboardGtk.cpp:
939         * platform/gtk/PopupMenuGtk.cpp:
940         * platform/gtk/RenderThemeGtk.cpp:
941         * platform/gtk/SharedBufferGtk.cpp:
942         * platform/haiku/FileSystemHaiku.cpp:
943         * platform/haiku/PlatformKeyboardEventHaiku.cpp:
944         * platform/network/CredentialStorage.cpp:
945         * platform/network/FormData.cpp:
946         * platform/network/FormData.h:
947         * platform/network/FormDataBuilder.cpp:
948         * platform/network/FormDataBuilder.h:
949         * platform/network/HTTPParsers.cpp:
950         * platform/network/android/ResourceHandleAndroid.cpp:
951         * platform/network/cf/FormDataStreamCFNet.cpp:
952         * platform/network/cf/ResourceHandleCFNet.cpp:
953         * platform/network/chromium/ResourceResponse.h:
954         * platform/network/curl/FormDataStreamCurl.cpp:
955         * platform/network/curl/ResourceHandleManager.cpp:
956         * platform/network/curl/ResourceHandleManager.h:
957         * platform/network/mac/FormDataStreamMac.mm:
958         * platform/network/mac/ResourceHandleMac.mm:
959         * platform/network/qt/QNetworkReplyHandler.cpp:
960         * platform/network/soup/CookieJarSoup.cpp:
961         * platform/network/soup/ResourceHandleSoup.cpp:
962         * platform/network/soup/ResourceRequestSoup.cpp:
963         * platform/network/soup/ResourceResponseSoup.cpp:
964         * platform/network/win/ResourceHandleWin.cpp:
965         * platform/posix/FileSystemPOSIX.cpp:
966         * platform/qt/FileSystemQt.cpp:
967         * platform/qt/KURLQt.cpp:
968         * platform/qt/TemporaryLinkStubs.cpp:
969         * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
970         * platform/text/CString.cpp: Removed.
971         * platform/text/CString.h: Removed.
972         * platform/text/PlatformString.h:
973         * platform/text/String.cpp:
974         * platform/text/StringImpl.cpp:
975         * platform/text/TextCodec.h:
976         * platform/text/TextCodecICU.cpp:
977         * platform/text/TextCodecLatin1.cpp:
978         * platform/text/TextCodecUTF16.cpp:
979         * platform/text/TextCodecUserDefined.cpp:
980         * platform/text/TextEncoding.cpp:
981         * platform/text/TextEncoding.h:
982         * platform/text/chromium/TextBreakIteratorInternalICUChromium.cpp:
983         * platform/text/gtk/TextCodecGtk.cpp:
984         * platform/text/haiku/StringHaiku.cpp:
985         * platform/text/mac/TextCodecMac.cpp:
986         * platform/text/qt/TextCodecQt.cpp:
987         * platform/text/wx/StringWx.cpp:
988         * platform/win/ClipboardUtilitiesWin.cpp:
989         * platform/win/ClipboardWin.cpp:
990         * platform/win/ContextMenuItemWin.cpp:
991         * platform/win/ContextMenuWin.cpp:
992         * platform/win/FileSystemWin.cpp:
993         * platform/win/GDIObjectCounter.cpp:
994         * platform/win/Language.cpp:
995         * platform/win/PasteboardWin.cpp:
996         * platform/wince/FileSystemWince.cpp:
997         * platform/wince/KeygenWince.cpp:
998         * platform/wince/PasteboardWince.cpp:
999         * platform/wx/FileSystemWx.cpp:
1000         * platform/wx/LoggingWx.cpp:
1001         * plugins/PluginDebug.h:
1002         * plugins/PluginPackage.cpp:
1003         * plugins/PluginStream.cpp:
1004         * plugins/PluginStream.h:
1005         * plugins/PluginView.h:
1006         * plugins/gtk/PluginPackageGtk.cpp:
1007         * plugins/mac/PluginPackageMac.cpp:
1008         * plugins/qt/PluginPackageQt.cpp:
1009         * plugins/symbian/PluginPackageSymbian.cpp:
1010         * plugins/win/PluginPackageWin.cpp:
1011         * rendering/RenderLayer.cpp:
1012         * rendering/RenderLayerCompositor.cpp:
1013         * rendering/RenderTreeAsText.cpp:
1014         * storage/Database.cpp:
1015         * storage/SQLTransactionCoordinator.cpp:
1016         * storage/SQLTransactionCoordinator.h:
1017         * storage/StorageAreaSync.cpp:
1018         * storage/StorageSyncManager.cpp:
1019         * storage/chromium/DatabaseTrackerChromium.cpp:
1020         * storage/chromium/QuotaTracker.cpp:
1021         * storage/chromium/QuotaTracker.h:
1022         * svg/SVGFontFaceElement.cpp:
1023         * svg/SVGStyledElement.cpp:
1024         * svg/SVGUseElement.cpp:
1025         * websockets/WebSocket.cpp:
1026         * websockets/WebSocketChannel.cpp:
1027         * websockets/WebSocketHandshake.cpp:
1028         * wml/WMLErrorHandling.cpp:
1029         * wml/WMLGoElement.cpp:
1030         * wml/WMLPageState.cpp:
1031         * wml/WMLPostfieldElement.cpp:
1032         * wml/WMLSelectElement.cpp:
1033         * xml/XMLHttpRequest.cpp:
1034         * xml/XSLStyleSheetLibxslt.cpp:
1035         * xml/XSLTProcessorLibxslt.cpp:
1036
1037 2010-03-30  Kent Tamura  <tkent@chromium.org>
1038
1039         Reviewed by Brady Eidson.
1040
1041         REGRESSION (r56439) - Crash when a renderer for a file upload control
1042         with a selected file is recreated
1043         https://bugs.webkit.org/show_bug.cgi?id=36723
1044
1045         RenderFileUploadControl::chooseIconForFiles was called before
1046         m_fileChooser was initialized.
1047
1048         * platform/FileChooser.cpp:
1049         (WebCore::FileChooser::FileChooser): Introduce m_isInitializing flag to
1050           avoid FileChooserClient::repaint() call.
1051         (WebCore::FileChooser::loadIcon):
1052         (WebCore::FileChooser::iconLoaded):
1053         * platform/FileChooser.h: Add a FielChooser parameter to
1054           FileChooserClient::chooseIconForFiles().
1055         * rendering/RenderFileUploadControl.cpp:
1056         (WebCore::RenderFileUploadControl::chooseIconForFiles):
1057         (WebCore::RenderFileUploadControl::paintObject): Add an assertion.
1058         * rendering/RenderFileUploadControl.h:
1059
1060 2010-03-30  Stanislav Paltis  <Stanislav.Paltis@nokia.com>
1061
1062         Reviewed by Laszlo Gombos.
1063
1064         [Qt] qmake/symbian build failure
1065         https://bugs.webkit.org/show_bug.cgi?id=36745
1066
1067         Fix build break in Symbian build introduced in r56714,
1068         by modifying comment escape character from ";" to "#".
1069
1070         * WebCore.pro:
1071
1072 2010-03-30  Kevin Ollivier  <kevino@theolliviers.com>
1073
1074         [wx] Build fix after new localized string addition.
1075
1076         * platform/wx/LocalizedStringsWx.cpp:
1077         (WebCore::missingPluginText):
1078
1079 2010-03-30  Sam Weinig  <sam@webkit.org>
1080
1081         Reviewed by Anders Carlsson.
1082
1083         Add missing export.
1084
1085         * WebCore.base.exp:
1086
1087 2010-03-30  Enrica Casucci  <enrica@apple.com>
1088
1089         Reviewed by Darin Adler.
1090
1091         Incorrect insertion position after typing THAI CHARACTER SARA AM = 0E33.
1092         <rdar://problem/7810749>
1093         https://bugs.webkit.org/show_bug.cgi?id=36858
1094
1095         Test: fast/text/multiglyph-characters.html
1096
1097         Characters with multiple glyph were not supported correctly.
1098         Computing the advance width was producing a division by zero.
1099         
1100         * platform/graphics/mac/ComplexTextController.cpp:
1101         (WebCore::ComplexTextController::advance):
1102
1103 2010-03-30  Chris Evans  <cevans@chromium.org>
1104
1105         Reviewed by Adam Barth.
1106
1107         Taint the canvas if an SVG-derived pattern is rendered into it.
1108
1109         https://bugs.webkit.org/show_bug.cgi?id=36838
1110
1111         Test: fast/canvas/svg-taint.html
1112
1113         * html/canvas/CanvasRenderingContext2D.cpp:
1114         (WebCore::CanvasRenderingContext2D::createPattern):
1115           Take into account the image's hasSingleSecurityOrigin() property.
1116
1117 2010-03-30  Alexey Proskuryakov  <ap@apple.com>
1118
1119         Reviewed by Darin Adler.
1120
1121         https://bugs.webkit.org/show_bug.cgi?id=36616
1122         Dvorak-Qwerty keyboard layout gives unexpected results in javascript keydown
1123
1124         https://bugs.webkit.org/show_bug.cgi?id=36797
1125         For non-Roman layouts, keydown Event.keyCode is always 0
1126
1127         * platform/cocoa/KeyEventCocoa.mm:
1128         (WebCore::windowsKeyCodeForKeyCode): This is now the primary function for determining
1129         Windows key code - there is no reason to round trip a virtual key code via character code to
1130         get Windows virtual key code, and this can't work for non-Roman alphabets.
1131         (WebCore::windowsKeyCodeForCharCode): Removed keys that are now handled in windowsKeyCodeForKeyCode(),
1132         only keeping those for which we don't have known key codes (yet?).
1133
1134         * platform/mac/KeyEventMac.mm: (WebCore::windowsKeyCodeForKeyEvent): Added comments.
1135
1136 2010-03-30  Marcus Bulach  <bulach@chromium.org>
1137
1138         Reviewed by Darin Fisher.
1139
1140         Rename / tidy up Geolocation bridge
1141         Uses Geoposition instead of individual params for setLastPosition.
1142         https://bugs.webkit.org/show_bug.cgi?id=36535
1143
1144         * platform/chromium/GeolocationServiceChromium.cpp:
1145         (WebCore::GeolocationServiceChromium::GeolocationServiceChromium):
1146         (WebCore::GeolocationServiceChromium::setIsAllowed):
1147         (WebCore::GeolocationServiceChromium::setLastPosition):
1148         * platform/chromium/GeolocationServiceChromium.h:
1149
1150 2010-03-30  Adam Langley  <agl@chromium.org>
1151
1152         Reviewed by David Levin.
1153
1154         [chromium] linux: prefer the "hinting" fontconfig preference.
1155
1156         fontconfig can give contradictory hinting information, setting
1157         "hinting" to zero and "hintstyle" to non-zero. In this case we
1158         should take the "hinting" preference.
1159
1160         https://bugs.webkit.org/show_bug.cgi?id=36602
1161
1162         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
1163         (WebCore::FontPlatformData::setupPaint):
1164
1165 2010-03-30  Pavel Feldman  <pfeldman@chromium.org>
1166
1167         Reviewed by Timothy Hatcher.
1168
1169         Web Inspector: Copying from the Content tab in Resources includes line numbers.
1170
1171         https://bugs.webkit.org/show_bug.cgi?id=35104
1172
1173         * inspector/front-end/TextViewer.js:
1174         (WebInspector.TextViewer):
1175         (WebInspector.TextViewer.prototype._beforeCopy):
1176         (WebInspector.TextViewer.prototype._copy):
1177
1178 2010-03-30  Pavel Feldman  <pfeldman@chromium.org>
1179
1180         Reviewed by Timothy Hatcher.
1181
1182         Web Inspector: Do not send empty matching rules for pseudo elements to frontend.
1183
1184         https://bugs.webkit.org/show_bug.cgi?id=36834
1185
1186         * inspector/InspectorDOMAgent.cpp:
1187         (WebCore::InspectorDOMAgent::buildArrayForPseudoElements):
1188         * inspector/front-end/StylesSidebarPane.js:
1189         (WebInspector.StylesSidebarPane.prototype._update):
1190
1191 2010-03-30  Dirk Schulze  <krit@webkit.org>
1192
1193         Reviewed by Nikolas Zimmermann.
1194
1195         Cannot animate "points" attribute for <svg:polygon>
1196         https://bugs.webkit.org/show_bug.cgi?id=21371
1197
1198         Add animation support for 'points' on polygons in SVG. 
1199
1200         Test: svg/animations/animate-points.html
1201
1202         * svg/SVGAnimateElement.cpp:
1203         (WebCore::SVGAnimateElement::determinePropertyType):
1204         (WebCore::SVGAnimateElement::calculateAnimatedValue):
1205         (WebCore::SVGAnimateElement::calculateFromAndToValues):
1206         (WebCore::SVGAnimateElement::resetToBaseValue):
1207         (WebCore::SVGAnimateElement::applyResultsToTarget):
1208         * svg/SVGAnimateElement.h:
1209         (WebCore::SVGAnimateElement::): added PropertyType PointsProperty
1210         * svg/SVGPointList.cpp:
1211         (WebCore::blendFunc):
1212         (WebCore::SVGPointList::createAnimated): calculates animated PointList
1213         * svg/SVGPointList.h:
1214
1215 2010-03-30  Alexander Pavlov  <apavlov@chromium.org>
1216
1217         Reviewed by Pavel Feldman.
1218
1219         Web Inspector: Audits: bad CSS selector results in exception inside evaluated code
1220         https://bugs.webkit.org/show_bug.cgi?id=36821
1221
1222         * inspector/front-end/AuditRules.js:
1223         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.routine):
1224         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback):
1225
1226 2010-03-29  Janne Koskinen  <janne.p.koskinen@digia.com>
1227
1228         Reviewed by Simon Hausmann.
1229
1230         [Qt] Package build fixes for Symbian
1231
1232         * enable building standalone QtWebkit for Symbian using qtlibinfix configuration option
1233
1234         qtlibinfix adds possibility having multiple versions of Qt in Symbian devices.
1235         Fix also allows unfrozen DLL exports during development.
1236
1237         * Removed heap size configuration. DLLs don't have a heap.
1238
1239         * Removed enforcement to def files for package builds. Instead inherit the setting from
1240         Qt's qconfig.pri whether to use def files or not. It's still possible to override this
1241         also at qmake time by passing CONFIG+=def_files.
1242
1243         * WebCore.pro:
1244
1245 2010-03-30  Ilya Tikhonovsky  <loislo@chromium.org>
1246
1247         Reviewed by Pavel Feldman.
1248
1249         Web Inspector: Title for show/hide short records button was adjusted.
1250         Some unused code was removed.
1251         https://bugs.webkit.org/show_bug.cgi?id=36823
1252
1253         * inspector/front-end/TimelinePanel.js:
1254         (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
1255         (WebInspector.TimelinePanel.prototype._toggleFilterButtonClicked):
1256         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
1257
1258 2010-03-30  Adam Roben  <aroben@apple.com>
1259
1260         Enable extra Direct3D debugging information in Debug builds
1261
1262         This makes it easier to track down memory leaks and misuses of the D3D
1263         APIs in Debug builds.
1264
1265         Fixes <http://webkit.org/b/36820>
1266
1267         Reviewed by John Sullivan.
1268
1269         * platform/graphics/win/WKCACFLayerRenderer.cpp: Define D3D_DEBUG_INFO
1270         in Debug builds before #including d3d9.h so that extra D3D debugging
1271         information will be enabled.
1272
1273 2010-03-30  Luiz Agostini  <luiz.agostini@openbossa.org>
1274
1275         Reviewed by Kenneth Rohde Christiansen.
1276
1277         [Qt] Maemo5 theme - QtMaemoWebPopup class
1278         https://bugs.webkit.org/show_bug.cgi?id=36790
1279
1280         Moving maemo5 theme related code from WebCore.pri to WebCore.pro and adding
1281         new maemo menu lists popup class source and header to the project.
1282
1283         The code was in .pri file because of a theme css that was conditionally included.
1284         As the css file is been included unconditionally there is no need to this
1285         code to be kept in webcore.pri.
1286
1287         * WebCore.pri:
1288         * WebCore.pro:
1289
1290 2010-03-30  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1291
1292         Reviewed by David Kilzer.
1293
1294         Guard Geolocation files with ENABLE_GEOLOCATION
1295         https://bugs.webkit.org/show_bug.cgi?id=25756
1296
1297         The intent is to guard the Geolocation implementation files 
1298         and minimize the impact on on clients/call sites.
1299
1300         * DerivedSources.make:
1301         * WebCore.Geolocation.exp: Added. Exported interfaces if GEOLOCATION
1302         is enabled.
1303         * WebCore.base.exp:
1304         * bindings/js/JSCustomPositionCallback.cpp:
1305         * bindings/js/JSCustomPositionErrorCallback.cpp:
1306         * bindings/js/JSGeolocationCustom.cpp:
1307         * page/Geolocation.cpp:
1308         (WebCore::Geolocation::disconnectFrame): Stub implementation if
1309         GEOLOCATION is turned off.
1310         (WebCore::Geolocation::Geolocation): Ditto.
1311         (WebCore::Geolocation::~Geolocation): Ditto.
1312         (WebCore::Geolocation::setIsAllowed): Ditto.
1313         * page/Geolocation.h: 
1314         * page/Geolocation.idl:
1315         * page/GeolocationPositionCache.cpp:
1316         * page/Geoposition.idl:
1317         * page/PositionError.idl:
1318         * platform/GeolocationService.cpp:
1319         * platform/mock/GeolocationServiceMock.cpp:
1320
1321 2010-03-30  Andrey Kosyakov  <caseq@chromium.org>
1322
1323         Reviewed by Pavel Feldman.
1324
1325         Support EventTarget interface in fake workers (both for Worker object
1326         and WorkerContext). Use MessagePort to implement message passing to
1327         support passing ports in PostMessage.
1328         https://bugs.webkit.org/show_bug.cgi?id=36763
1329
1330         * inspector/front-end/InjectedFakeWorker.js:
1331         (InjectedFakeWorker.Worker.onmessageGetter):
1332         (InjectedFakeWorker.Worker.onmessageSetter):
1333         (InjectedFakeWorker.Worker):
1334         (InjectedFakeWorker.FakeWorker):
1335         (InjectedFakeWorker.FakeWorker.prototype.postMessage):
1336         (InjectedFakeWorker.FakeWorker.prototype.terminate):
1337         (InjectedFakeWorker.FakeWorker.prototype._onWorkerFrameLoaded):
1338         (InjectedFakeWorker.FakeWorker.prototype._setupWorkerContext.onmessageGetter):
1339         (InjectedFakeWorker.FakeWorker.prototype._setupWorkerContext.onmessageSetter):
1340         (InjectedFakeWorker.FakeWorker.prototype._setupWorkerContext):
1341         (InjectedFakeWorker.FakeWorker.prototype._addEventListener):
1342         (InjectedFakeWorker.FakeWorker.prototype._removeEventListener):
1343         (InjectedFakeWorker.FakeWorker.prototype._callbackWrapper):
1344         (InjectedFakeWorker.FakeWorker.prototype._handleException):
1345
1346 2010-03-30  Kristian Monsen  <kristianm@google.com>
1347
1348         Reviewed by David Levin.
1349
1350         [v8] Add if ENABLE guard for Worker specific code.
1351         https://bugs.webkit.org/show_bug.cgi?id=36597
1352
1353         Build fix only, no new tests.
1354
1355         * bindings/v8/V8DOMWrapper.h:
1356
1357 2010-03-29  Jeremy Orlow  <jorlow@chromium.org>
1358
1359         Reviewed by Darin Fisher.
1360
1361         More IndexedDB work
1362         https://bugs.webkit.org/show_bug.cgi?id=36770
1363
1364         Add the "singleton" IndexedDatabase object to PageGroup
1365         IndexedDatabase now has a create() method since PageGroup can own the instance (at least for now)
1366         Rip out the IDBRequest stuff (now obsolete).
1367         DOMWindow now can instantiate indexedDatabase objects on demand.
1368
1369         New layout tests starting with the next patch (which should make indexedDB.open() "work").
1370
1371         * WebCore.gypi:
1372         * bindings/v8/custom/V8IDBRequestCustom.cpp: Removed.
1373         * page/DOMWindow.cpp:
1374         (WebCore::DOMWindow::indexedDB):
1375         * page/DOMWindow.h:
1376         * page/PageGroup.cpp:
1377         (WebCore::PageGroup::indexedDatabase):
1378         * page/PageGroup.h:
1379         * storage/IDBDatabase.cpp:
1380         * storage/IDBDatabaseRequest.h:
1381         (WebCore::IDBDatabaseRequest::createObjectStore):
1382         * storage/IDBDatabaseRequest.idl:
1383         * storage/IDBRequest.cpp: Removed.
1384         * storage/IDBRequest.h: Removed.
1385         * storage/IDBRequest.idl: Removed.
1386         * storage/IndexedDatabase.cpp:
1387         (WebCore::IndexedDatabase::create):
1388         * storage/IndexedDatabase.h:
1389         * storage/IndexedDatabaseImpl.cpp:
1390         (WebCore::IndexedDatabaseImpl::create):
1391         (WebCore::IndexedDatabaseImpl::IndexedDatabaseImpl):
1392         (WebCore::IndexedDatabaseImpl::~IndexedDatabaseImpl):
1393         * storage/IndexedDatabaseImpl.h:
1394         * storage/IndexedDatabaseRequest.cpp:
1395         (WebCore::IndexedDatabaseRequest::IndexedDatabaseRequest):
1396         * storage/IndexedDatabaseRequest.h:
1397         (WebCore::IndexedDatabaseRequest::create):
1398         * storage/IndexedDatabaseRequest.idl:
1399         * storage/chromium/IndexedDatabase.cpp:
1400         (WebCore::IndexedDatabase::create):
1401
1402 2010-03-30  Dirk Schulze  <krit@webkit.org>
1403
1404         Reviewed by Nikolas Zimmermann.
1405
1406         SVG Glyph transformations wrong on use of SVGFont
1407         https://bugs.webkit.org/show_bug.cgi?id=36731
1408
1409         Kerning on SVGFonts should be applied to the userSpace of the current Char
1410         and not to the userSpace of the viewport. This means scaling the kerning
1411         to match the current userSpace.
1412
1413         Test: svg/custom/glyph-transformation-with-hkern.svg
1414
1415         * rendering/SVGRootInlineBox.cpp:
1416         (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
1417
1418 2010-03-30  Dirk Schulze  <krit@webkit.org>
1419
1420         Reviewed by Nikolas Zimmermann.
1421
1422         SVG Animation doesn't respect 'currentColor'
1423         https://bugs.webkit.org/show_bug.cgi?id=36695
1424
1425         Test: svg/custom/animation-currentColor.svg
1426
1427         SVG Animation can't handle currentColor at the moment. This patch catches the
1428         color value of the target element and replaces 'currentColor' with it's color string.
1429
1430         * svg/SVGAnimationElement.cpp:
1431         (WebCore::adjustForCurrentColor):
1432         (WebCore::SVGAnimationElement::startedActiveInterval):
1433
1434 2010-03-30  Ilya Tikhonovsky  <loislo@chromium.org>
1435
1436         Reviewed by Pavel Feldman.
1437
1438         Web Inspector: Visible/captured records counter should be implemented in Timeline panel.
1439         https://bugs.webkit.org/show_bug.cgi?id=36708
1440
1441         * English.lproj/localizedStrings.js:
1442         * inspector/front-end/TimelinePanel.js:
1443         (WebInspector.TimelinePanel.prototype.get statusBarItems):
1444         (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
1445         (WebInspector.TimelinePanel.prototype._updateRecordsCounter):
1446         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
1447         (WebInspector.TimelinePanel.prototype._createRootRecord):
1448         (WebInspector.TimelinePanel.prototype._refresh):
1449         (WebInspector.TimelinePanel.prototype._filterRecords):
1450         * inspector/front-end/inspector.css:
1451         (.timeline-records-counter):
1452
1453 2010-03-30  Philippe Normand  <pnormand@igalia.com>
1454
1455         [GStreamer] define static variables with DEFINE_STATIC_LOCAL macro
1456         https://bugs.webkit.org/show_bug.cgi?id=36653
1457
1458         Unreviewed, don't define the bool variable with
1459         DEFINE_STATIC_LOCAL, it makes sense only for objects which have a
1460         destructor. Thanks to Dan Bernstein for spotting this.
1461
1462         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1463         (WebCore::mimeTypeCache):
1464
1465 2010-03-29  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1466
1467         Reviewed by Eric Seidel.
1468
1469         There is a build break due to the disabled() when wml feature is
1470         enabled. This break comes from the Bug 35056 - Disabled menu options
1471         are still submitted.(https://bugs.webkit.org/show_bug.cgi?id=35056)
1472         The WMLOptionElement.h needs to define the disabled() as well.
1473         And, there is an additional break due to Bug 36177 -  Multiselect Popup
1474         - Listbox click simulation. (https://bugs.webkit.org/show_bug.cgi?id=36177)
1475         virtual void listBoxSelectItem() should be added to WMLSelectElement.h as well.
1476
1477         https://bugs.webkit.org/show_bug.cgi?id=36698
1478
1479         * wml/WMLOptionElement.h:
1480         (WebCore::WMLOptionElement::disabled):
1481         * wml/WMLSelectElement.h:
1482         (WebCore::WMLSelectElement::listBoxSelectItem):
1483
1484 2010-03-29  Shinichiro Hamaji  <hamaji@chromium.org>
1485
1486         Reviewed by David Hyatt.
1487
1488         No vertical scrollbar after the CSS class change
1489         https://bugs.webkit.org/show_bug.cgi?id=36461
1490
1491         Don't suppress scrollbar change for non-first layouts.
1492         In the first layout, the scrollbar change will happen in later
1493         adjustViewSize() call, but in other layouts, adjustViewSize() may
1494         not be called when the size of contents doesn't change.
1495
1496         * page/FrameView.cpp:
1497         (WebCore::FrameView::layout):
1498
1499 2010-03-29  Chris Evans  <cevans@chromium.org>
1500
1501         Reviewed by Adam Barth.
1502
1503         Don't use unique domains for file:// separation: it breaks local
1504         databases, and access to your own same-origin iframes. Instead, use
1505         path-based access checks.
1506
1507         https://bugs.webkit.org/show_bug.cgi?id=36692
1508
1509         Test: fast/xmlhttprequest/xmlhttprequest-no-file-access.html
1510
1511         * dom/Document.cpp:
1512         (WebCore::Document::initSecurityContext): renamed API.
1513         * page/SecurityOrigin.h:
1514         * page/SecurityOrigin.cpp:
1515         (WebCore::SecurityOrigin::SecurityOrigin):
1516           Initialize new flag. Take note of file:// path.
1517           Copy new fields in copy constructor.
1518         (WebCore::SecurityOrigin::canAccess):
1519           Take into account path-based origin separation for file://
1520         (WebCore::SecurityOrigin::enforceFilePathSeparation):
1521           New method to enable file:// path origin separation.
1522         (WebCore::SecurityOrigin::toString):
1523           Return a null domain for an isolated file origin.
1524         (WebCore::SecurityOrigin::isSameSchemeHostPort):
1525           Take into account path-based origin separation for file://
1526         (WebCore::SecurityOrigin::passesFileCheck):
1527           Abstraction of common logic for file:// access checks.
1528
1529 2010-03-29  Rafael Weinstein  <rafaelw@chromium.org>
1530
1531         Reviewed by Adam Barth.
1532
1533         Change NotificationPresenter::checkPermission() to take the source frames full KURL,
1534         rather than its SecurityOrigin. This will aid chromium in having more fine grained
1535         permissions to control notification spam.
1536
1537         * notifications/Notification.cpp:
1538         (WebCore::Notification::Notification):
1539         * notifications/NotificationCenter.cpp:
1540         (WebCore::NotificationCenter::checkPermission):
1541         * notifications/NotificationPresenter.h:
1542
1543 2010-03-29  Luiz Agostini  <luiz.agostini@openbossa.org>
1544
1545         Reviewed by Kenneth Rohde Christiansen.
1546
1547         [Qt] Multiselect - Adding method itemIsSelected() to QtAbstractWebPopup
1548         https://bugs.webkit.org/show_bug.cgi?id=36769
1549
1550         Adding method itemIsSelected() to QtAbstractWebPopup.
1551
1552         * platform/qt/QtAbstractWebPopup.h:
1553         (WebCore::QtAbstractWebPopup::itemIsSelected):
1554
1555 2010-03-29  Dawit Alemayehu  <adawit@kde.org>
1556
1557         Reviewed by Simon Hausmann.
1558
1559         Added a function, WebCore::shouldTreatAsAttachment, to HTTPParsers.*
1560
1561         https://bugs.webkit.org/show_bug.cgi?id=36395
1562
1563         This function, which was moved from WebKit/chromium/src/FrameClientImpl.cpp,
1564         is used to check whether or not a request is supposed to be rendered or
1565         simply downloaded based on the "Content-Disposition" header sent by the
1566         web server. The intent of code refactoring is to avoid code duplication
1567         so that this piece of code can be used by other implementations such as
1568         QtWebKit.
1569
1570         * platform/network/HTTPParsers.cpp:
1571         (WebCore::shouldTreatAsAttachment):
1572         * platform/network/HTTPParsers.h:
1573
1574 2010-03-29  Chris Fleizach  <cfleizach@apple.com>
1575
1576         Reviewed by Beth Dakin.
1577
1578         Bug 36735 - Live regions don't send out notifications when the element changing is the live region
1579         https://bugs.webkit.org/show_bug.cgi?id=36735
1580
1581         Test: platform/mac/accessibility/aria-liveregion-on-image.html
1582
1583         * accessibility/AccessibilityRenderObject.cpp:
1584         (WebCore::AccessibilityRenderObject::contentChanged):
1585
1586 2010-03-29  Stephen White  <senorblanco@chromium.org>
1587
1588         Reviewed by Dave Hyatt.
1589
1590         In order to speed up multiple calls to CSSPrimitiveValue::cssText(),
1591         this CL caches the String result.  When m_value is changed, the
1592         cached string is cleared.  This gives a good speedup on benchmarks
1593         which do a lot of CSS property gets, such as Peacekeeper.
1594         The processing cost should be negligible, since the strings are 
1595         refcounted.  The memory cost is an additional 4 bytes per
1596         CSSPrimitiveValue, and the extended lifetime of the computed string
1597         (potentially, the same as the lifetime of the CSSPrimitiveValue).
1598
1599         https://bugs.webkit.org/show_bug.cgi?id=36556
1600
1601         Covered by fast/css/cssText-cache.html, and more.
1602
1603         * css/CSSPrimitiveValue.cpp:
1604         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1605         (WebCore::CSSPrimitiveValue::cleanup):
1606         (WebCore::CSSPrimitiveValue::cssText):
1607         * css/CSSPrimitiveValue.h:
1608
1609 2010-03-22  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1610
1611         Reviewed by Simon Fraser.
1612
1613         Add support for Widgets 1.0: View Mode Media Feature
1614         https://bugs.webkit.org/show_bug.cgi?id=35446
1615
1616         When enabling Web Widgets, add support for the view-mode media
1617         feature (http://www.w3.org/TR/widgets-vmmf/).
1618
1619         Test: fast/media/media-feature-wgt-view-mode.html
1620
1621         * css/CSSValueKeywords.in:
1622         * css/MediaFeatureNames.h:
1623         * css/MediaQueryEvaluator.cpp:
1624         (WebCore::view_modeMediaFeatureEval):
1625         * page/ChromeClient.h:
1626         (WebCore::ChromeClient::isDocked):
1627         (WebCore::ChromeClient::isFloating):
1628         (WebCore::ChromeClient::isApplication):
1629         (WebCore::ChromeClient::isFullscreen):
1630
1631 2010-03-29  Kenneth Russell  <kbr@google.com>
1632
1633         Reviewed by Darin Fisher.
1634
1635         Eliminate use of GL_BGRA in GraphicsContext3DSkia.cpp
1636         https://bugs.webkit.org/show_bug.cgi?id=36737
1637
1638         No new tests; ran WebGL demos in Chromium on Windows to verify fix.
1639
1640         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
1641         (WebCore::GraphicsContext3D::getImageData):
1642
1643 2010-03-29  Alexander Pavlov  <apavlov@chromium.org>
1644
1645         Reviewed by Pavel Feldman.
1646
1647         Web Inspector: Cover the Audits panel with tests
1648         https://bugs.webkit.org/show_bug.cgi?id=36613
1649
1650         Sort results, add a few drive-by fixes and refactorings to improve testability.
1651
1652         Test: inspector/audits-panel-functional.html
1653
1654         * English.lproj/localizedStrings.js:
1655         * inspector/front-end/AuditResultView.js:
1656         (WebInspector.AuditResultView):
1657         (WebInspector.AuditCategoryResultPane.ruleSorter):
1658         (WebInspector.AuditCategoryResultPane):
1659         * inspector/front-end/AuditRules.js:
1660         (WebInspector.AuditRules.GzipRule.prototype.doRun):
1661         (WebInspector.AuditRules.CombineExternalResourcesRule.prototype.doRun):
1662         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
1663         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
1664         (WebInspector.AuditRules.CssInHeadRule.prototype.doRun):
1665         (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies):
1666         * inspector/front-end/AuditsPanel.js:
1667         (WebInspector.AuditRuleResult.linkifyDisplayName):
1668         (WebInspector.AuditRuleResult.resourceDomain):
1669         (WebInspector.AuditRuleResult.prototype.addURL):
1670         * inspector/front-end/inspector.js:
1671         (WebInspector.displayNameForURL):
1672
1673 2010-03-29  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1674
1675         Reviewed by nobody, build fix.
1676
1677         [Qt] Fix build break introduced in r56724.
1678
1679         * WebCore.pro:
1680
1681 2010-03-29  Alexander Pavlov  <apavlov@chromium.org>
1682
1683         Reviewed by Pavel Feldman.
1684
1685         Web Inspector should highlight when clicking a node's closing tag
1686         https://bugs.webkit.org/show_bug.cgi?id=16258
1687
1688         * inspector/front-end/ElementsTreeOutline.js:
1689         (WebInspector.ElementsTreeOutline.prototype.set suppressRevealAndSelect):
1690         (WebInspector.ElementsTreeOutline.prototype.revealAndSelectNode):
1691         (WebInspector.ElementsTreeOutline.prototype._keyDown):
1692         (WebInspector.ElementsTreeOutline.prototype._onmousemove):
1693         (WebInspector.ElementsTreeElement):
1694         (WebInspector.ElementsTreeElement.prototype.showChild):
1695         (WebInspector.ElementsTreeElement.prototype.onpopulate):
1696         (WebInspector.ElementsTreeElement.prototype.updateChildren):
1697         (WebInspector.ElementsTreeElement.prototype.insertChildElement):
1698         (WebInspector.ElementsTreeElement.prototype.moveChild):
1699         (WebInspector.ElementsTreeElement.prototype._updateChildren):
1700         (WebInspector.ElementsTreeElement.prototype.onexpand):
1701         (WebInspector.ElementsTreeElement.prototype.oncollapse):
1702         (WebInspector.ElementsTreeElement.prototype.onselect):
1703         (WebInspector.ElementsTreeElement.prototype.ondblclick):
1704         ():
1705
1706 2010-03-29  Marcus Bulach  <bulach@chromium.org>
1707
1708         Reviewed by Jeremy Orlow.
1709
1710         https://bugs.webkit.org/show_bug.cgi?id=36315
1711
1712         Remove obsolete Geolocation::m_currentPosition
1713         (follow up on https://bugs.webkit.org/show_bug.cgi?id=30676)
1714
1715         * page/Geolocation.cpp:
1716         (WebCore::Geolocation::positionChanged):
1717         (WebCore::Geolocation::makeSuccessCallbacks):
1718         * page/Geolocation.h:
1719         * platform/chromium/GeolocationServiceChromium.cpp:
1720         (WebCore::GeolocationServiceChromium::GeolocationServiceChromium):
1721
1722 2010-03-29  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1723
1724         Reviewed by Simon Hausmann.
1725
1726         [Qt] Do not generate INSTALLS for webkit when building inside Qt.
1727         Qt will do this for us.
1728
1729         * WebCore.pro:
1730
1731 2010-03-29  Antti Koivisto  <koivisto@iki.fi>
1732
1733         Reviewed by Kenneth Rohde Christiansen.
1734
1735         https://bugs.webkit.org/show_bug.cgi?id=36703
1736         Timer restart loop during page loading
1737         
1738         Fix regression introduced in http://trac.webkit.org/changeset/54526. 
1739         Restarting the request timer unconditionally from the timer callback is a bad idea. 
1740         Instead, start the timer when a non-cached request completes.
1741
1742         * loader/loader.cpp:
1743         (WebCore::Loader::Host::nonCacheRequestComplete):
1744         (WebCore::Loader::Host::servePendingRequests):
1745
1746 2010-03-29  Thomas Zander  <t.zander@nokia.com>
1747
1748         Reviewed by Simon Hausmann.
1749
1750         [Qt] Shadowbuilds of WebCore with Qt on Symbian fails.
1751
1752         https://bugs.webkit.org/show_bug.cgi?id=36749
1753
1754         Doing a 'make sis' expects the dll in the libdir, so place it
1755         there. This fixes out-of-source building to always put the dll
1756         in the expected dir.
1757
1758         * WebCore.pro: Fix for shadow builds inside Qt.
1759
1760 2010-03-26  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1761
1762         Reviewed by Antti Koivisto.
1763
1764         Implement flattening for iframes.
1765
1766         Refactoring of frameset flattening code to reuse it for
1767         iframe flattening.
1768
1769         Tests: fast/frames/flattening/iframe-flattening-simple.html
1770
1771         * WebCore.base.exp:
1772         * page/FrameView.cpp:
1773         (WebCore::FrameView::layout):
1774         (WebCore::FrameView::scheduleRelayout):
1775         * page/Settings.cpp:
1776         (WebCore::Settings::Settings):
1777         (WebCore::Settings::setFrameFlatteningEnabled):
1778         * page/Settings.h:
1779         (WebCore::Settings::frameFlatteningEnabled):
1780         * rendering/RenderFrame.cpp:
1781         * rendering/RenderFrame.h:
1782         * rendering/RenderFrameSet.cpp:
1783         (WebCore::RenderFrameSet::flattenFrameSet):
1784         * rendering/RenderFrameSet.h:
1785         * rendering/RenderPart.cpp:
1786         (WebCore::RenderPart::layoutWithFlattening):
1787         * rendering/RenderPart.h:
1788         * rendering/RenderPartObject.cpp:
1789         (WebCore::RenderPartObject::flattenFrame):
1790         (WebCore::RenderPartObject::calcHeight):
1791         (WebCore::RenderPartObject::calcWidth):
1792         (WebCore::RenderPartObject::layout):
1793         * rendering/RenderPartObject.h:
1794
1795 2010-03-29  Andrei Popescu  <andreip@google.com>
1796
1797         Reviewed by Adam Barth.
1798
1799         Page Cache does not work on Android with V8
1800         https://bugs.webkit.org/show_bug.cgi?id=36665
1801
1802         No new tests, existing tests should suffice, this is platform code.
1803
1804         This implementation simply saves the context and the global object
1805         just before the frame is navigated to a new url. At restore time,
1806         the global object is reattached to the context and the context
1807         is attached to the window shell of the frame.
1808
1809         Note that isolated worlds are not taken into account in any way,
1810         as Android does not use them.
1811
1812         * bindings/v8/ScriptCachedFrameData.cpp: Added.
1813         (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
1814         (WebCore::ScriptCachedFrameData::domWindow):
1815         (WebCore::ScriptCachedFrameData::~ScriptCachedFrameData):
1816         (WebCore::ScriptCachedFrameData::restore):
1817         (WebCore::ScriptCachedFrameData::clear):
1818         * bindings/v8/ScriptCachedFrameData.h:
1819         * bindings/v8/V8DOMWindowShell.cpp:
1820         (WebCore::V8DOMWindowShell::setContext):
1821         * bindings/v8/V8DOMWindowShell.h:
1822
1823 2010-03-29  Thomas Zander  <t.zander@nokia.com>
1824
1825         Reviewed by Simon Hausmann.
1826
1827         [Qt] Make it possible to build using both Windows and Linux for Symbian
1828         https://bugs.webkit.org/show_bug.cgi?id=36748
1829
1830         * WebCore.pro: don't assume Windows buildsystem is the only one
1831         and exclude the windows-only setters from the linux builds.
1832
1833 2010-03-29  Thomas Zander  <t.zander@nokia.com>
1834
1835         Reviewed by Simon Hausmann.
1836
1837         https://bugs.webkit.org/show_bug.cgi?id=36745
1838
1839         [Qt] Fix def file builds with Qt 4.7.
1840
1841         Switched to using DEF_FILE, which is the official variable.
1842
1843         * WebCore.pro: Use DEF_FILE
1844
1845 2010-03-24  Jeremy Orlow  <jorlow@chromium.org>
1846
1847         Reviewed by Darin Fisher.
1848
1849         A few more steps towards IndexedDB
1850         https://bugs.webkit.org/show_bug.cgi?id=36546
1851
1852         Add a callback interface to be used by all async methods.
1853         Add the first fragments of IDBDatabase.
1854         Clean up on IDBDatabaseError.
1855         Flesh out IndexedDatabase further.
1856
1857         Not enough hooked up yet to test.  Soon though...
1858
1859         * WebCore.gypi:
1860         * storage/IDBCallbacks.h: Added.
1861         (WebCore::IDBCallbacks::~IDBCallbacks):
1862         * storage/IDBDatabase.cpp: Added.
1863         * storage/IDBDatabase.h: Added.
1864         (WebCore::IDBDatabase::~IDBDatabase):
1865         * storage/IDBDatabaseError.h:
1866         (WebCore::IDBDatabaseError::create):
1867         (WebCore::IDBDatabaseError::message):
1868         (WebCore::IDBDatabaseError::IDBDatabaseError):
1869         * storage/IndexedDatabase.h:
1870         * storage/IndexedDatabaseImpl.cpp:
1871         (WebCore::IndexedDatabaseImpl::IndexedDatabaseImpl):
1872         (WebCore::IndexedDatabaseImpl::~IndexedDatabaseImpl):
1873         (WebCore::IndexedDatabaseImpl::open):
1874         * storage/IndexedDatabaseImpl.h:
1875         * storage/IndexedDatabaseRequest.cpp:
1876         (WebCore::IndexedDatabaseRequest::open):
1877
1878 2010-03-29  Mikhail Naganov  <mnaganov@chromium.org>
1879
1880         Reviewed by Pavel Feldman.
1881
1882         Remove a possibility of confusion from Profiles panel Welcome screen
1883         by turning buttons into non-clickable glyphs. Also, span instructions
1884         alongside panel width.
1885
1886         https://bugs.webkit.org/show_bug.cgi?id=34319
1887
1888         * English.lproj/localizedStrings.js:
1889         * inspector/front-end/ProfileView.js:
1890         (WebInspector.CPUProfileType.prototype.get welcomeMessage):
1891         * inspector/front-end/ProfilesPanel.js:
1892         (WebInspector.ProfilesPanel.prototype._addWelcomeMessage):
1893         * inspector/front-end/inspector.css:
1894         (.panel-enabler-view.welcome .instructions):
1895         (.panel-enabler-view.welcome button.status-bar-item):
1896
1897 2010-03-26  Philippe Normand  <pnormand@igalia.com>
1898
1899         Reviewed by Eric Seidel.
1900
1901         [GStreamer] define static variables with DEFINE_STATIC_LOCAL macro
1902         https://bugs.webkit.org/show_bug.cgi?id=36653
1903
1904         Defined the static variables using DEFINE_STATIC_GLOBAL.
1905
1906         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1907         (WebCore::mimeTypeCache):
1908
1909 2010-03-26  Philippe Normand  <pnormand@igalia.com>
1910
1911         Reviewed by Eric Seidel.
1912
1913         [GStreamer] player header cleanups
1914         https://bugs.webkit.org/show_bug.cgi?id=36656
1915
1916         Destructor made private and added missing
1917         mediaPlayerPrivateMuteChangedCallback declaration.
1918
1919         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
1920
1921 2010-03-29  Yury Semikhatsky  <yurys@chromium.org>
1922
1923         Reviewed by Pavel Feldman.
1924
1925         Protect global object from being GC'ed if there are messages written to console from the iframe with that global object.
1926
1927         Whent serializing objects in the injected script check that global object properties are still defined before using them as arguments. The may become undefined if owning frame navigated to a different domain.
1928
1929         https://bugs.webkit.org/show_bug.cgi?id=36612
1930
1931         Test: http/tests/inspector-enabled/console-log-before-frame-navigation.html
1932
1933         * bindings/js/ScriptState.h:
1934         (WebCore::ScriptStateProtectedPtr::ScriptStateProtectedPtr):
1935         (WebCore::ScriptStateProtectedPtr::get):
1936         * bindings/v8/ScriptState.h:
1937         (WebCore::ScriptStateProtectedPtr::ScriptStateProtectedPtr):
1938         (WebCore::ScriptStateProtectedPtr::~ScriptStateProtectedPtr):
1939         (WebCore::ScriptStateProtectedPtr::get):
1940         * inspector/ConsoleMessage.cpp:
1941         (WebCore::ConsoleMessage::addToFrontend):
1942         * inspector/ConsoleMessage.h:
1943         * inspector/front-end/InjectedScript.js:
1944         (injectedScriptConstructor):
1945         (injectedScriptConstructor.):
1946
1947 2010-03-26  Philippe Normand  <pnormand@igalia.com>
1948
1949         Reviewed by Eric Carlson.
1950
1951         It should be possible to use GStreamer in addition to another media engine
1952         https://bugs.webkit.org/show_bug.cgi?id=36654
1953
1954         Renamed gstreamer player and added a WTF_USE_GSTREAMER
1955         define. Made the MediaPlayer register the GStreamer backend only
1956         if it's enabled (true by default on WebKitGTK+).
1957
1958         * GNUmakefile.am:
1959         * platform/graphics/MediaPlayer.cpp:
1960         (WebCore::installedMediaEngines):
1961         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1962         (WebCore::mediaPlayerPrivateMessageCallback):
1963         (WebCore::mediaPlayerPrivateSourceChangedCallback):
1964         (WebCore::mediaPlayerPrivateVolumeChangedCallback):
1965         (WebCore::mediaPlayerPrivateMuteChangedCallback):
1966         (WebCore::mediaPlayerPrivateRepaintCallback):
1967         (WebCore::MediaPlayerPrivateGStreamer::create):
1968         (WebCore::MediaPlayerPrivateGStreamer::registerMediaEngine):
1969         (WebCore::MediaPlayerPrivateGStreamer::isAvailable):
1970         (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
1971         (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
1972         (WebCore::MediaPlayerPrivateGStreamer::load):
1973         (WebCore::MediaPlayerPrivateGStreamer::commitLoad):
1974         (WebCore::MediaPlayerPrivateGStreamer::changePipelineState):
1975         (WebCore::MediaPlayerPrivateGStreamer::prepareToPlay):
1976         (WebCore::MediaPlayerPrivateGStreamer::play):
1977         (WebCore::MediaPlayerPrivateGStreamer::pause):
1978         (WebCore::MediaPlayerPrivateGStreamer::duration):
1979         (WebCore::MediaPlayerPrivateGStreamer::currentTime):
1980         (WebCore::MediaPlayerPrivateGStreamer::seek):
1981         (WebCore::MediaPlayerPrivateGStreamer::startEndPointTimerIfNeeded):
1982         (WebCore::MediaPlayerPrivateGStreamer::cancelSeek):
1983         (WebCore::MediaPlayerPrivateGStreamer::endPointTimerFired):
1984         (WebCore::MediaPlayerPrivateGStreamer::paused):
1985         (WebCore::MediaPlayerPrivateGStreamer::seeking):
1986         (WebCore::MediaPlayerPrivateGStreamer::naturalSize):
1987         (WebCore::MediaPlayerPrivateGStreamer::hasVideo):
1988         (WebCore::MediaPlayerPrivateGStreamer::hasAudio):
1989         (WebCore::MediaPlayerPrivateGStreamer::setVolume):
1990         (WebCore::MediaPlayerPrivateGStreamer::volumeChangedTimerFired):
1991         (WebCore::MediaPlayerPrivateGStreamer::volumeChanged):
1992         (WebCore::MediaPlayerPrivateGStreamer::setRate):
1993         (WebCore::MediaPlayerPrivateGStreamer::networkState):
1994         (WebCore::MediaPlayerPrivateGStreamer::readyState):
1995         (WebCore::MediaPlayerPrivateGStreamer::buffered):
1996         (WebCore::MediaPlayerPrivateGStreamer::processBufferingStats):
1997         (WebCore::MediaPlayerPrivateGStreamer::fillTimerFired):
1998         (WebCore::MediaPlayerPrivateGStreamer::maxTimeSeekable):
1999         (WebCore::MediaPlayerPrivateGStreamer::maxTimeLoaded):
2000         (WebCore::MediaPlayerPrivateGStreamer::bytesLoaded):
2001         (WebCore::MediaPlayerPrivateGStreamer::totalBytes):
2002         (WebCore::MediaPlayerPrivateGStreamer::cancelLoad):
2003         (WebCore::MediaPlayerPrivateGStreamer::updateStates):
2004         (WebCore::MediaPlayerPrivateGStreamer::mediaLocationChanged):
2005         (WebCore::MediaPlayerPrivateGStreamer::loadNextLocation):
2006         (WebCore::MediaPlayerPrivateGStreamer::loadStateChanged):
2007         (WebCore::MediaPlayerPrivateGStreamer::sizeChanged):
2008         (WebCore::MediaPlayerPrivateGStreamer::timeChanged):
2009         (WebCore::MediaPlayerPrivateGStreamer::didEnd):
2010         (WebCore::MediaPlayerPrivateGStreamer::durationChanged):
2011         (WebCore::MediaPlayerPrivateGStreamer::supportsMuting):
2012         (WebCore::MediaPlayerPrivateGStreamer::setMuted):
2013         (WebCore::MediaPlayerPrivateGStreamer::muteChangedTimerFired):
2014         (WebCore::MediaPlayerPrivateGStreamer::muteChanged):
2015         (WebCore::MediaPlayerPrivateGStreamer::loadingFailed):
2016         (WebCore::MediaPlayerPrivateGStreamer::setSize):
2017         (WebCore::MediaPlayerPrivateGStreamer::setVisible):
2018         (WebCore::MediaPlayerPrivateGStreamer::repaint):
2019         (WebCore::MediaPlayerPrivateGStreamer::paint):
2020         (WebCore::MediaPlayerPrivateGStreamer::getSupportedTypes):
2021         (WebCore::MediaPlayerPrivateGStreamer::supportsType):
2022         (WebCore::MediaPlayerPrivateGStreamer::hasSingleSecurityOrigin):
2023         (WebCore::MediaPlayerPrivateGStreamer::supportsFullscreen):
2024         (WebCore::MediaPlayerPrivateGStreamer::setPreload):
2025         (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
2026         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
2027
2028 2010-03-28  Alexey Proskuryakov  <ap@apple.com>
2029
2030         Reviewed by Sam Weinig.
2031
2032         https://bugs.webkit.org/show_bug.cgi?id=36733
2033         Use a common header for Windows virtual key codes on all platforms
2034
2035         No change in functionality, so no new tests.
2036
2037         * platform/WindowsKeyboardCodes.h: Added. Define VK_* key codes as macros, matching Windows.
2038
2039         * platform/KeyboardCodes.h: Removed.
2040         * platform/android/KeyboardCodes.h: Removed.
2041         * platform/chromium/KeyboardCodesPosix.h: Removed.
2042         * platform/chromium/KeyboardCodesWin.h: Removed.
2043         * platform/haiku/KeyboardCodes.h: Removed.
2044         * platform/wx/KeyboardCodes.h: Removed.
2045         Removed platform specific attempts to do the same thing. In fact, platform/KeyboardCodes.h
2046         was supposed to be cross-platform, but it didn't have a sufficiently descriptive name, and
2047         its name was the same as platform-specific versions, so I chose a new one.
2048
2049         * platform/chromium/KeyboardCodes.h: Copied from WebCore/platform/chromium/KeyboardCodesWin.h.
2050         Chromium redefines Windows constants to different names; keeping the header doing that to
2051         avoid breaking Chromium code.
2052
2053         * GNUmakefile.am:
2054         * WebCore.gypi:
2055         Replaced KeyboardCodes.h with WindowsKeyboardCodes.h.
2056
2057         * WebCore.xcodeproj/project.pbxproj:
2058         * platform/cocoa/KeyEventCocoa.mm:
2059         (WebCore::windowsKeyCodeForKeyCode):
2060         (WebCore::windowsKeyCodeForCharCode):
2061         Mac used to hardcode the key codes; changed to use VK_* macros.
2062
2063         * config.h: Removed a hack to include KeyboardCodes.h, it shouldn't be necessary any more.
2064
2065         * platform/android/KeyEventAndroid.cpp:
2066         * platform/brew/PlatformKeyboardEventBrew.cpp:
2067         * platform/efl/PlatformKeyboardEventEfl.cpp:
2068         * platform/gtk/KeyEventGtk.cpp:
2069         * platform/haiku/PlatformKeyboardEventHaiku.cpp:
2070         * platform/qt/PlatformKeyboardEventQt.cpp:
2071         * platform/wx/KeyboardEventWx.cpp:
2072         Changed to include WindowsKeyboardCodes.h.
2073
2074 2010-03-28  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2075
2076         Reviewed by Simon Hausmann.
2077
2078         [Qt] Remove the definition of WTF_CHANGES guards from the build system
2079         https://bugs.webkit.org/show_bug.cgi?id=31670
2080
2081         No new tests as there is no new functionality.
2082
2083         * WebCore.pri: Remove the definition of WTF_CHANGES
2084         as it is already defined in config.h
2085
2086 2010-03-28  Sam Weinig  <sam@webkit.org>
2087
2088         Reviewed by Dan Bernstein.
2089
2090         Clean up the Xcode project a bit.
2091
2092         * WebCore.xcodeproj/project.pbxproj:
2093
2094 2010-03-28  Pavel Feldman  <pfeldman@chromium.org>
2095
2096         Reviewed by Timothy Hatcher.
2097
2098         Web Inspector: Toggling style properties on/off does not always work.
2099
2100         https://bugs.webkit.org/show_bug.cgi?id=36720
2101
2102         * inspector/InspectorController.cpp:
2103         * inspector/InspectorDOMAgent.cpp:
2104         (WebCore::InspectorDOMAgent::toggleStyleEnabled):
2105         (WebCore::InspectorDOMAgent::buildObjectForStyle):
2106         (WebCore::InspectorDOMAgent::buildArrayForDisabledStyleProperties):
2107         * inspector/InspectorDOMAgent.h:
2108         * inspector/front-end/DOMAgent.js:
2109         (WebInspector.CSSStyleDeclaration):
2110
2111 2010-03-28  Pavel Feldman  <pfeldman@chromium.org>
2112
2113         Reviewed by Timothy Hatcher.
2114
2115         Web Inspector: resource links should navigate to resource panel enabler when resource tracking is off.
2116
2117         https://bugs.webkit.org/show_bug.cgi?id=36722
2118
2119         * English.lproj/localizedStrings.js:
2120         * inspector/front-end/inspector.js:
2121         (WebInspector.documentMouseOver):
2122         (WebInspector.documentClick.followLink):
2123         (WebInspector.documentClick):
2124
2125 2010-03-28  Dirk Schulze  <krit@webkit.org>
2126
2127         Unreviewed build-fix for chromium linux.
2128
2129         SVGResourceMarker needs to be moved to RenderersSVGResourceMarker
2130         https://bugs.webkit.org/show_bug.cgi?id=36185
2131
2132         * svg/SVGStyledElement.cpp:
2133         (WebCore::SVGStyledElement::invalidateResources):
2134
2135 2010-03-28  Dirk Schulze  <krit@webkit.org>
2136
2137         Reviewed by Nikolas Zimmermann.
2138
2139         SVGResourceMarker needs to be moved to RenderersSVGResourceMarker
2140         https://bugs.webkit.org/show_bug.cgi?id=36185
2141
2142         This moves SVGResourceMarker to RenderersSVGResourceMarker. This follows other
2143         SVG resources like masker and clipper and makes DRT results more readable and
2144         adds additonal informations.
2145         Some marker specific code also moved out from RenderSVGViewportContainer to 
2146         RenderersSVGResourceMarker.
2147
2148         * Android.mk:
2149         * GNUmakefile.am:
2150         * WebCore.gypi:
2151         * WebCore.pro:
2152         * WebCore.vcproj/WebCore.vcproj:
2153         * WebCore.xcodeproj/project.pbxproj:
2154         * rendering/RenderPath.cpp:
2155         (WebCore::RenderPath::calculateMarkerBoundsIfNeeded):
2156         * rendering/RenderSVGImage.cpp:
2157         (WebCore::RenderSVGImage::destroy):
2158         * rendering/RenderSVGResource.h:
2159         (WebCore::):
2160         * rendering/RenderSVGResourceMarker.cpp: Added.
2161         (WebCore::RenderSVGResourceMarker::RenderSVGResourceMarker):
2162         (WebCore::RenderSVGResourceMarker::~RenderSVGResourceMarker):
2163         (WebCore::RenderSVGResourceMarker::layout):
2164         (WebCore::RenderSVGResourceMarker::addClient):
2165         (WebCore::RenderSVGResourceMarker::invalidateClients):
2166         (WebCore::RenderSVGResourceMarker::invalidateClient):
2167         (WebCore::RenderSVGResourceMarker::applyViewportClip):
2168         (WebCore::RenderSVGResourceMarker::markerBoundaries):
2169         (WebCore::RenderSVGResourceMarker::localToParentTransform):
2170         (WebCore::RenderSVGResourceMarker::referencePoint):
2171         (WebCore::RenderSVGResourceMarker::angle):
2172         (WebCore::RenderSVGResourceMarker::markerTransformation):
2173         (WebCore::RenderSVGResourceMarker::draw):
2174         (WebCore::RenderSVGResourceMarker::markerContentTransformation):
2175         (WebCore::RenderSVGResourceMarker::viewportTransform):
2176         (WebCore::RenderSVGResourceMarker::calcViewport):
2177         * rendering/RenderSVGResourceMarker.h: Added.
2178         (WebCore::RenderSVGResourceMarker::renderName):
2179         (WebCore::RenderSVGResourceMarker::applyResource):
2180         (WebCore::RenderSVGResourceMarker::resourceBoundingBox):
2181         (WebCore::RenderSVGResourceMarker::markerUnits):
2182         (WebCore::RenderSVGResourceMarker::resourceType):
2183         * rendering/RenderSVGViewportContainer.cpp:
2184         (WebCore::RenderSVGViewportContainer::calcViewport):
2185         (WebCore::RenderSVGViewportContainer::viewportTransform):
2186         * rendering/RenderSVGViewportContainer.h:
2187         * rendering/SVGMarkerData.h:
2188         (WebCore::SVGMarkerData::SVGMarkerData):
2189         (WebCore::SVGMarkerData::marker):
2190         (WebCore::SVGMarkerData::updateTypeAndMarker):
2191         * rendering/SVGMarkerLayoutInfo.cpp:
2192         (WebCore::processStartAndMidMarkers):
2193         (WebCore::SVGMarkerLayoutInfo::calculateBoundaries):
2194         (WebCore::SVGMarkerLayoutInfo::addLayoutedMarker):
2195         * rendering/SVGMarkerLayoutInfo.h:
2196         (WebCore::MarkerLayout::MarkerLayout):
2197         (WebCore::SVGMarkerLayoutInfo::midMarker):
2198         * rendering/SVGRenderSupport.cpp:
2199         (WebCore::deregisterFromResources):
2200         * rendering/SVGRenderSupport.h:
2201         * rendering/SVGRenderTreeAsText.cpp:
2202         (WebCore::operator<<):
2203         (WebCore::writeSVGResource):
2204         * svg/SVGMarkerElement.cpp:
2205         (WebCore::SVGMarkerElement::svgAttributeChanged):
2206         (WebCore::SVGMarkerElement::childrenChanged):
2207         (WebCore::SVGMarkerElement::setOrientToAuto):
2208         (WebCore::SVGMarkerElement::setOrientToAngle):
2209         (WebCore::SVGMarkerElement::createRenderer):
2210         * svg/SVGMarkerElement.h:
2211         (WebCore::SVGMarkerElement::):
2212         * svg/SVGStyledElement.cpp:
2213         (WebCore::SVGStyledElement::invalidateResources):
2214         * svg/graphics/SVGResource.h:
2215         (WebCore::):
2216         (WebCore::SVGResource::isFilter):
2217         * svg/graphics/SVGResourceMarker.cpp: Removed.
2218         * svg/graphics/SVGResourceMarker.h: Removed.
2219
2220 2010-03-28  Joseph Pecoraro  <joepeck@webkit.org>
2221
2222         Reviewed by Pavel Feldman.
2223
2224         Web Inspector: Consolidate Tree Hierarchy Attribute HTML Generation
2225         https://bugs.webkit.org/show_bug.cgi?id=36719
2226
2227           Consolidates the generation of Element Tree Hierarchy attribute code
2228           generation to a single function: _attributeHTML.
2229
2230         * inspector/front-end/ElementsTreeOutline.js:
2231         (WebInspector.ElementsTreeElement.prototype._addNewAttribute): convert to use attributeHTML.
2232         (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted.regenerateStyledAttribute): convert to use attributeHTML.
2233         (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):
2234         (WebInspector.ElementsTreeElement.prototype._attributeHTML): a single point for generating the html for attributes.
2235
2236 2010-03-28  Joseph Pecoraro  <joepeck@webkit.org>
2237
2238         Reviewed by Pavel Feldman.
2239
2240         Web Inspector: Edit Tag Names
2241         https://bugs.webkit.org/show_bug.cgi?id=36481
2242
2243           Ensure blacklisting happens by checking it in _startEditingTagName
2244           instead of all the possible entry points.
2245
2246         * inspector/front-end/ElementsTreeOutline.js:
2247         (WebInspector.ElementsTreeElement.prototype._startEditingFromEvent): don't check blacklist here.
2248         (WebInspector.ElementsTreeElement.prototype._startEditingTagName): check blacklist here.
2249
2250 2010-03-28  Kim Grönholm  <kim.gronholm@nomovok.com>
2251
2252         Reviewed by Simon Hausmann.
2253
2254         [Qt] GraphicsLayer: Timing functions don't work with transitions
2255         https://bugs.webkit.org/show_bug.cgi?id=36589
2256
2257         If the animation value doesn't have timing function set, we need to
2258         use the animation's timing function.
2259         
2260         Fixed also a bug in passing the duration to solveCubicBezierFunction.
2261         The duration was divided two times by 1000 and meanwhile casted to int.
2262         It needs to be kept as double and divided by 1000 only once.
2263
2264         Test case: https://bugs.webkit.org/attachment.cgi?id=51619
2265
2266         * platform/graphics/qt/GraphicsLayerQt.cpp:
2267         (WebCore::applyTimingFunction):
2268         (WebCore::AnimationQt:::AnimationQtBase):
2269         (WebCore::AnimationQt::updateCurrentTime):
2270
2271 2010-03-27  Joseph Pecoraro  <joepeck@webkit.org>
2272
2273         Reviewed by Pavel Feldman.
2274
2275         Web Inspector: Edit Tag Names
2276         https://bugs.webkit.org/show_bug.cgi?id=36481
2277
2278         Allow tabbing back and forth between the tag name and element
2279         attributes when editing. Also, fixed a number of minor issues with
2280         editing attributes and tabbing.
2281
2282         * inspector/front-end/ElementsTreeOutline.js:
2283         (WebInspector.ElementsTreeElement.prototype._startEditingTagName): find the tag name if it wasn't provided.
2284         (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted): fix tabbing issues, enable tab to tag name.
2285         (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted.regenerateStyledAttribute): cleanup styles when tabbing.
2286         * inspector/front-end/inspector.css: do not display <br>s while editing
2287
2288 2010-03-27  Joseph Pecoraro  <joepeck@webkit.org>
2289
2290         Reviewed by Pavel Feldman.
2291
2292         Web Inspector: Edit Tag Names
2293         https://bugs.webkit.org/show_bug.cgi?id=36481
2294         
2295         Allow editing an Element's Tag Name by double clicking
2296         on the tag name in the Element's Tree Hierarchy.
2297         
2298           The usual asynchronous InspectorBackend, InspectorDOMAgent, InspectorFrontend flow.
2299
2300         * inspector/InspectorBackend.cpp: moved DOM manipulation to InspectorDOMAgent
2301         (WebCore::InspectorBackend::removeNode):
2302         (WebCore::InspectorBackend::changeTagName):
2303         * inspector/InspectorBackend.h:
2304         * inspector/InspectorBackend.idl:
2305         * inspector/InspectorDOMAgent.cpp:
2306         (WebCore::InspectorDOMAgent::removeNode):
2307         (WebCore::InspectorDOMAgent::changeTagName):
2308         * inspector/InspectorDOMAgent.h:
2309         * inspector/InspectorFrontend.cpp:
2310         (WebCore::InspectorFrontend::didChangeTagName):
2311         * inspector/InspectorFrontend.h:
2312
2313         * inspector/front-end/DOMAgent.js:
2314
2315           Handle the UI for editing an Element's tag name.
2316
2317         * inspector/front-end/ElementsTreeOutline.js:
2318         (WebInspector.ElementsTreeElement.prototype._startEditingFromEvent): allow editing from double click.
2319         (WebInspector.ElementsTreeElement.prototype._startEditingTagName.keyupListener): update the closing tag
2320         (WebInspector.ElementsTreeElement.prototype._startEditingTagName.editingComitted): remove extra listener and commit
2321         (WebInspector.ElementsTreeElement.prototype._startEditingTagName.editingCancelled): remove extra listener and cancel
2322         (WebInspector.ElementsTreeElement.prototype._startEditingTagName):
2323         (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.cancel):
2324         (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.moveToNextAttributeIfNeeded):
2325         (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.editTagNameCallback):
2326         (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted):
2327         (WebInspector.ElementsTreeElement.prototype._distinctClosingTagElement): get the closing tag for an opening tag
2328         (WebInspector.ElementsTreeElement.prototype._nodeTitleInfo): wrap the tagName in span.webkit-html-tag-name
2329
2330           Miscellaneous updates.
2331
2332         * inspector/front-end/treeoutline.js: fixed a typo.
2333
2334 2010-03-27  Dmitry Gorbik  <socket.h@gmail.com>
2335
2336         Reviewed by Pavel Feldman.
2337
2338         Fix the regression caused by r28078: a global variable
2339         definition masks a local one in an inspector console
2340         https://bugs.webkit.org/show_bug.cgi?id=32442
2341
2342         * inspector/front-end/InjectedScript.js:
2343         (injectedScriptConstructor):
2344
2345 2010-03-27  Dan Bernstein  <mitz@apple.com>
2346
2347         Reviewed by Darin Adler.
2348
2349         <rdar://problem/7801598> REGRESSION (r56182): iWeb shadow drawn around image rectangle, not around opaque part of the image
2350         https://bugs.webkit.org/show_bug.cgi?id=36700
2351
2352         * css/CSSPrimitiveValue.cpp:
2353         (WebCore::CSSPrimitiveValue::createColor): Reverted to returning an RGB color value rather than an
2354         identifier for the transparent color.
2355
2356 2010-03-26  Joseph Pecoraro  <joepeck@webkit.org>
2357
2358         Reviewed by Pavel Feldman.
2359
2360         Web Inspector: Converge Inspector ids to be long, not ints
2361         https://bugs.webkit.org/show_bug.cgi?id=36706
2362
2363           Part 1: Converge on `long` for callIds, nodeIds, and other Ids.
2364
2365         * inspector/InspectorController.cpp:
2366         * inspector/InspectorController.h:
2367         * inspector/InspectorDOMAgent.cpp:
2368         * inspector/InspectorFrontend.cpp:
2369         * inspector/InspectorFrontend.h:
2370
2371 2010-03-27  Pavel Feldman  <pfeldman@chromium.org>
2372
2373         Reviewed by Timothy Hatcher.
2374
2375         Web Inspector: add layout test for styles panel.
2376
2377         https://bugs.webkit.org/show_bug.cgi?id=36699
2378
2379         Test: inspector/elements-panel-styles.html
2380
2381         * inspector/front-end/inspector.css:
2382         (#elements-content):
2383         (#elements-sidebar):
2384         * inspector/front-end/inspector.js:
2385         (WebInspector.displayNameForURL):
2386         * inspector/front-end/utilities.js:
2387         (String.prototype.trimURL):
2388
2389 2010-03-27  Mark Rowe  <mrowe@apple.com>
2390
2391         Reviewed by Darin Adler.
2392
2393         CSSPrimitiveValue::setFloatValue/setStringValue should throw an exception if passed an incorrect unit type.
2394         <http://webkit.org/b/36680> / <rdar://problem/7801016>
2395
2396         Test: fast/dom/setPrimitiveValue-exceptions.html
2397
2398         * css/CSSPrimitiveValue.cpp:
2399         (WebCore::CSSPrimitiveValue::setFloatValue): Throw an INVALID_ACCESS_ERR if either of our type or the passed-in
2400         type is not a numeric type.
2401         (WebCore::CSSPrimitiveValue::setStringValue): Throw an INVALID_ACCESS_ERR if either of our type or the passed-in
2402         type is not a string type.
2403
2404 2010-03-27  Robert Hogan  <robert@webkit.org>
2405
2406         Reviewed by nobody, fix typo in previous commit.
2407
2408         Allow plugins implemented by the application, such as mimetype 'x-qt-plugin',
2409          when pluginsEnabled is false
2410
2411         Fix parentheses typo in r56661. This happened while rebasing and was not present
2412         in the reviewed patch, so committing unreviewed.
2413
2414         https://bugs.webkit.org/attachment.cgi?id=49515
2415
2416         * loader/FrameLoader.cpp:
2417         (WebCore::FrameLoader::requestObject):
2418
2419 2010-03-26  Robert Hogan  <robert@roberthogan.net>
2420
2421         Reviewed by Simon Hausmann.
2422
2423         Allow plugins implemented by the application, such as mimetype 'x-qt-plugin',
2424          when pluginsEnabled is false.
2425
2426         The purpose of disabling plugins is to prevent the execution of third-party code
2427         that may be untrustworthy. Qt plugins are implemented by the client rather than
2428         loaded from an external source, so the client should have the opportunity to
2429         consider them separately from other plugins.
2430
2431         Add a function MimeTypeRegistry::isApplicationPluginMIMEType() that WebKit
2432         uses in conjunction with arePluginsEnabled() to determine if it should attempt
2433         to load a plugin. If isApplicationPluginMIMEType() returns true, WebKit will load
2434         the plugin even if arePluginsEnabled() is false.
2435
2436         Currently, only Qt has application-implemented plugins: these use the mimetype
2437         'x-qt-plugin' and 'x-qt-styled-widget'. This patch permits Qt clients'
2438         reimplementation of QWebPage::createPlugin() to decide whether or not
2439         to create a Qt plugin, even when arePluginsEnabled is false.
2440
2441         For all platforms apart from Qt, isApplicationPluginMIMEType() returns false.
2442
2443         https://bugs.webkit.org/show_bug.cgi?id=32196
2444
2445         Test: plugins/application-plugin-plugins-disabled.html
2446
2447         * loader/FrameLoader.cpp:
2448         (WebCore::FrameLoader::requestObject):
2449         * platform/MIMETypeRegistry.h:
2450         * platform/brew/MIMETypeRegistryBrew.cpp:
2451         (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
2452         * platform/chromium/MIMETypeRegistryChromium.cpp:
2453         (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
2454         * platform/gtk/MIMETypeRegistryGtk.cpp:
2455         (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
2456         * platform/haiku/MIMETypeRegistryHaiku.cpp:
2457         (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
2458         * platform/mac/MIMETypeRegistryMac.mm:
2459         (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
2460         * platform/qt/MIMETypeRegistryQt.cpp:
2461         (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
2462         * platform/win/MIMETypeRegistryWin.cpp:
2463         (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
2464         * platform/wince/MIMETypeRegistryWince.cpp:
2465         (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
2466         * platform/wx/MimeTypeRegistryWx.cpp:
2467         (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
2468
2469 2010-03-27  Dan Bernstein  <mitz@apple.com>
2470
2471         Reviewed by Mark Rowe.
2472
2473         Fix Acid3 text-shadow rendering regression introduced in r56597.
2474
2475         * platform/graphics/mac/FontMac.mm:
2476         (WebCore::Font::drawGlyphs): Revert to using the simple shadow logic for zero-blur shadows,
2477         except for color bitmap fonts.
2478
2479 2010-03-26  Daniel Bates  <dbates@rim.com>
2480
2481         Reviewed by Beth Dakin.
2482
2483         https://bugs.webkit.org/show_bug.cgi?id=9268
2484
2485         As per sections 14.2 (http://www.w3.org/TR/CSS2/colors.html#background)
2486         and 17.5.1 (http://www.w3.org/TR/CSS2/tables.html#table-layers) of the
2487         CSS 2.1 spec., the background-image of a table-row should span the
2488         entire area of the table-row (i.e cover all the <td>'s). Moreover,
2489         fixes background image painting with respect to row-groups, columns
2490         and column-groups (*).
2491
2492         Currently, the background-image of a table row, row-group, and column-group
2493         is inherited by the table cells. This directly contradicts section 14.2.
2494         Instead, the background-image should cover the entire area of the table row,
2495         row-group, column, or column-group, respectively as described in section 17.5.1.
2496
2497         (*) A follow up patch to compute the absolute content box of a column, and
2498         column-group is needed so that background image positioning for these table
2499         elements works. See bug #36104.
2500
2501         Tests: fast/table/table-background.html
2502                fast/table/table-cell-border-draws-on-top-of-col-background.html
2503                fast/table/table-cell-border-draws-on-top-of-col-group-background.html
2504                fast/table/table-cell-border-draws-on-top-of-row-background.html
2505                fast/table/table-cell-border-draws-on-top-of-row-group-background.html
2506                fast/table/table-cell-overrides-row-background.html
2507                fast/table/table-col-background.html
2508                fast/table/table-col-group-background.html
2509                fast/table/table-col-group-col-span-background.html
2510                fast/table/table-col-group-span-background.html
2511                fast/table/table-col-span-background.html
2512                fast/table/table-row-background-left-50px.html
2513                fast/table/table-row-background-right-100percent.html
2514                fast/table/table-row-background-right-50px.html
2515                fast/table/table-row-background.html
2516                fast/table/table-row-group-background-positioned.html
2517                fast/table/table-row-group-background.html
2518
2519         * rendering/RenderBoxModelObject.cpp:
2520         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
2521         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): Modified
2522         to call RenderObject::adjustBackgroundImagePosition.
2523         * rendering/RenderBoxModelObject.h:
2524         * rendering/RenderObject.h:
2525         (WebCore::RenderObject::adjustBackgroundImagePosition): Added.
2526         * rendering/RenderTableCell.cpp:
2527         (WebCore::RenderTableCell::adjustBackgroundImagePosition): Added.
2528         * rendering/RenderTableCell.h:
2529
2530 2010-03-26  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2531
2532         Unreviewed, minor build fix.
2533
2534         [Gtk] Guard defined but not used function
2535         
2536         Eliminate the "defined but not used" warning after r52684.
2537         No new tests as there is no new functionality.
2538
2539         * platform/ContextMenu.cpp:
2540
2541 2010-03-26  Justin Schuh  <jschuh@chromium.org>
2542
2543         Reviewed by Adam Barth.
2544
2545         Security: iFrame.src accepts JavaScript URL via nodeValue or textContent
2546         https://bugs.webkit.org/show_bug.cgi?id=36502
2547
2548         Overrode inherited nodeValue and textContent in Attr.idl so they proxy 
2549         to value, which performs a security check.
2550
2551         Test: http/tests/security/xss-DENIED-iframe-src-alias.html
2552
2553         * bindings/js/JSAttrCustom.cpp:
2554         (WebCore::JSAttr::nodeValue):
2555         (WebCore::JSAttr::setNodeValue):
2556         (WebCore::JSAttr::textContent):
2557         (WebCore::JSAttr::setTextContent):
2558         * bindings/v8/custom/V8AttrCustom.cpp:
2559         (WebCore::V8Attr::nodeValueAccessorSetter):
2560         (WebCore::V8Attr::nodeValueAccessorGetter):
2561         (WebCore::V8Attr::textContentAccessorSetter):
2562         (WebCore::V8Attr::textContentAccessorGetter):
2563         * dom/Attr.idl:
2564
2565 2010-03-26  Eric Carlson  <eric.carlson@apple.com>
2566
2567         <rdar://problem/7320584> 
2568         https://bugs.webkit.org/show_bug.cgi?id=36681
2569         "new Audio()" doesn't work with plug-in backed media engine.
2570
2571         Don't require plug-in backed <video> and <audio> elements to be in the document to play.
2572
2573         * html/HTMLMediaElement.cpp:
2574         (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_proxyWidget
2575         (WebCore::HTMLMediaElement::createRenderer): Set renderer widget if it has already been
2576         allocated.
2577         (WebCore::HTMLMediaElement::scheduleLoad): Call createMediaPlayerProxy to make sure we
2578         have a plug-in proxy.
2579         (WebCore::HTMLMediaElement::loadResource): Ditto.
2580         (WebCore::HTMLMediaElement::ensureMediaPlayer): Allocate media player.
2581         (WebCore::HTMLMediaElement::setMediaPlayerProxy): Call ensureMediaPlayer.
2582         (WebCore::HTMLMediaElement::getPluginProxyParams): New, return the url and params vectors.
2583         (WebCore::HTMLMediaElement::finishParsingChildren): Call createMediaPlayerProxy.
2584         (WebCore::HTMLMediaElement::createMediaPlayerProxy): New, allocate the proxy widget if necessary.
2585         * html/HTMLMediaElement.h:
2586
2587         * loader/EmptyClients.h:
2588         (WebCore::EmptyFrameLoaderClient::createMediaPlayerProxyPlugin): Add declaration.
2589
2590         * loader/FrameLoader.cpp:
2591         (WebCore::toPlugInElement): Don't allow an audio or video element to be cast to a plug-in element.
2592         (WebCore::FrameLoader::loadPlugin):
2593         (WebCore::FrameLoader::loadMediaPlayerProxyPlugin): New, allocate a media player proxy plug-in.
2594
2595         * loader/FrameLoader.h: Declare loadMediaPlayerProxyPlugin.
2596
2597         * loader/FrameLoaderClient.h: Declare createMediaPlayerProxyPlugin.
2598
2599         * rendering/RenderEmbeddedObject.cpp:
2600         (WebCore::RenderEmbeddedObject::updateWidget): Call loadMediaPlayerProxyPlugin when passed an
2601         audio or video node.
2602
2603         * rendering/RenderLayerCompositor.cpp:
2604         (WebCore::RenderLayerCompositor::requiresCompositingForVideo):
2605
2606          * rendering/RenderVideo.cpp:
2607          (WebCore::RenderVideo::RenderVideo): Get default width and height from defaultSize.
2608          (WebCore::RenderVideo::defaultSize): New, return the spec defined default width and height.
2609          * rendering/RenderVideo.h:
2610
2611 2010-03-26  Simon Fraser  <simon.fraser@apple.com>
2612
2613         Reviewed by Dan Bernstein, Darin Adler.
2614
2615         Re-entrant layout via plug-ins may cause crashes with bad RenderWidgets
2616         https://bugs.webkit.org/show_bug.cgi?id=36675
2617         <rdar://problem/7787617>
2618         
2619         Fix two places in the code where RenderWidgets can get destroyed while being iterated over.
2620         This can happen when plug-ins execute script from NPP_SetWindow, and that script makes a change
2621         to the page that destroys a RenderWidget.
2622
2623         Tests: plugins/reentrant-update-widget-positions.html
2624                plugins/update-widgets-crash.html
2625
2626         * page/FrameView.cpp:
2627         (WebCore::FrameView::updateWidgets): ref() the RenderEmbeddedObjects that are put into the
2628         vector before iterating of them, and deref() them at the end. Rather than checking the m_widgetUpdateSet
2629         to see if the RenderWidget is still live, test object->node().
2630         
2631         * rendering/RenderView.cpp:
2632         (WebCore::RenderView::RenderView): Initialize some data members to make it more obvious in the debugger
2633         that the object is not garbage.
2634         (WebCore::RenderView::updateWidgetPositions): Use a Vector of RenderWidget* to keep the RenderWidgets
2635         alive during iteration, by reffing and dereffing them.
2636         * rendering/RenderWidget.h:
2637         (WebCore::RenderWidget::ref): Make this and deref() public.
2638
2639 2010-03-26 Beth Dakin <bdakin@apple.com>
2640
2641         Reviewed by Darin Adler.
2642
2643         Partial fix for https://bugs.webkit.org/show_bug.cgi?id=36564 
2644         Performance regression for setting content of <text> in SVG
2645         -and corresponding-
2646         <rdar://problem/7693963>
2647
2648         toClipPath() is extremely inefficient, so this patch removes the 
2649         call to it from RenderSVGResourceClipper::resourceBoundingBox() 
2650         which is very hot code in SVG with clip-paths. It is sufficient to 
2651         call unite with the objectBoundingBox(), which will return early if 
2652         objectBoundingBox() is empty.
2653
2654         * rendering/RenderSVGResourceClipper.cpp:
2655         (WebCore::RenderSVGResourceClipper::resourceBoundingBox):
2656
2657 2010-03-26  Joseph Pecoraro  <joepeck@webkit.org>
2658
2659         Reviewed by Dave Hyatt.
2660
2661         Generated run-in Content is Mistakenly Getting Deleted
2662         https://bugs.webkit.org/show_bug.cgi?id=36505
2663         <rdar://problem/7767161>
2664
2665         Test: fast/runin/generated2.html
2666         Test: fast/runin/generated3.html
2667         Test: fast/runin/generated4.html
2668
2669         Do not destroy :before/:after generated content with display run-in
2670         when relaying out different nodes. Have their real owners correctly
2671         handle them.
2672
2673         * rendering/RenderObjectChildList.cpp:
2674         (WebCore::RenderObjectChildList::updateBeforeAfterContent): simplified logic
2675         (WebCore::RenderObjectChildList::beforeAfterContainer): skip generated run-ins when checking children, check for them in grandchildren
2676
2677 2010-03-25  Ojan Vafai  <ojan@chromium.org>
2678
2679         Reviewed by Darin Adler.
2680
2681         shift+home/end and cmd+shift+left/right don't extend the selection correctly
2682         https://bugs.webkit.org/show_bug.cgi?id=36539
2683
2684         * WebCore.base.exp:
2685         * editing/SelectionController.cpp:
2686         (WebCore::SelectionController::modify):
2687         * editing/SelectionController.h:
2688
2689 2010-03-26  Janne Koskinen  <janne.p.koskinen@digia.com>
2690
2691         Reviewed by Laszlo Gombos.
2692
2693         Don't undefine SKIP_STATIC_CONSTRUCTORS_ON_GCC for Symbian HW targets.
2694         https://bugs.webkit.org/show_bug.cgi?id=34081
2695
2696         Defining StringImpl instances as globals will cause a crash on process exit as 
2697         StringImpl::Remove expects TLS which was already deleted at time of exiting main and ends up
2698         constructing one exiting thread.
2699
2700         * config.h:
2701
2702 2010-03-26  Andrey Kosyakov  <caseq@chromium.org>
2703
2704         Reviewed by Pavel Feldman.
2705
2706
2707         Send worker resource content to inspector to enable display of web
2708         workers in inspector's resource tab.
2709         https://bugs.webkit.org/show_bug.cgi?id=36658
2710
2711         * inspector/InspectorController.cpp:
2712         (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
2713         (WebCore::InspectorController::scriptImported):
2714         * inspector/InspectorResource.cpp:
2715         (WebCore::InspectorResource::type):
2716         (WebCore::InspectorResource::setOverrideContent):
2717         (WebCore::InspectorResource::sourceString):
2718         * inspector/InspectorResource.h:
2719         * workers/DefaultSharedWorkerRepository.cpp:
2720         (WebCore::SharedWorkerScriptLoader::notifyFinished):
2721         * workers/Worker.cpp:
2722         (WebCore::Worker::notifyFinished):
2723
2724 2010-03-26  Yael Aharon  <yael.aharon@nokia.com>
2725
2726         Reviewed by Antti Koivisto.
2727
2728         Fix the rendering of HTMLProgressElement
2729         https://bugs.webkit.org/show_bug.cgi?id=36206
2730
2731         Update the rendering and css to conform to
2732         http://www.whatwg.org/specs/web-apps/current-work/complete.html#the-progress-element-0.
2733         Updated the tests and the expected results accordingly.
2734
2735         * css/html.css:
2736         (progress):
2737         * rendering/RenderProgress.cpp:
2738         (WebCore::RenderProgress::RenderProgress):
2739         (WebCore::RenderProgress::updateFromElement):
2740         * rendering/RenderProgress.h:
2741         (WebCore::RenderProgress::isProgress):
2742
2743 2010-03-26  Julien Chaffraix  <jchaffraix@webkit.org>
2744
2745         Unreviewed build fix.
2746
2747         FontPlatformDataPango.cpp: prototype for
2748         'WebCore::FontPlatformData::FontPlatformData(cairo_font_face_t*, int, bool, bool)'
2749         does not match any in class
2750         https://bugs.webkit.org/show_bug.cgi?id=36496
2751
2752         * platform/graphics/gtk/FontPlatformDataPango.cpp:
2753         (WebCore::FontPlatformData::FontPlatformData): The 'size' parameter
2754         should be a float to match the declaration and the other definitions.
2755
2756 2010-03-26  Shu Chang  <chang.shu@nokia.com>
2757
2758         Reviewed by Eric Seidel.
2759
2760         [Qt] Prevent referring d->m_job in the future because calling abort()
2761         deletes the instance itself.
2762         https://bugs.webkit.org/show_bug.cgi?id=36618
2763
2764         Test: http/tests/appcache/fallback.html
2765
2766         * platform/network/qt/ResourceHandleQt.cpp:
2767         (WebCore::ResourceHandle::cancel):
2768
2769 2010-03-26  Stephen White  <senorblanco@chromium.org>
2770
2771         Unreviewed; build fix.
2772
2773         Rolling out 56620; too many layout test failures.
2774
2775         Covered by fast/css/*.
2776
2777         * css/CSSPrimitiveValue.cpp:
2778         (WebCore::CSSPrimitiveValue::cleanup):
2779         (WebCore::CSSPrimitiveValue::cssText):
2780         * css/CSSPrimitiveValue.h:
2781         (WebCore::CSSPrimitiveValue::):
2782
2783 2010-03-26  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2784
2785         Reviewed by Simon Hausmann.
2786
2787         [Qt] Build JavaScriptCore as a static library.
2788         https://bugs.webkit.org/show_bug.cgi?id=36590
2789
2790         This patch takes what was left of the unused JavaScriptCore.pro
2791         and moved the compilation logic from JavaScriptCore.pri to
2792         JavaScriptCore.pro.
2793
2794         * WebCore.pro:
2795
2796 2010-03-26  Olivier Goffart  <ogoffart@trolltech.com>
2797
2798         Reviewed by Simon Hausmann.
2799
2800         [Qt] Fix compilation on Windows
2801
2802         For some reason, the MSVC compiler choose the
2803         operator+(const QString &, const QString &) instead of
2804         operator+(const WebCore::String &, const WebCore::String &)
2805         resulting in errors when QT_USE_FAST_OPERATOR_PLUS is used.
2806
2807         * dom/XMLTokenizerQt.cpp:
2808         (WebCore::handleElementNamespaces):
2809
2810 2010-03-24  Stephen White  <senorblanco@chromium.org>
2811
2812         Reviewed by Darin Adler.
2813
2814         In order to speed up multiple calls to CSSPrimitiveValue::cssText(),
2815         this CL caches the String result.  When m_value is changed, the
2816         cached string is cleared.  This gives a good speedup on benchmarks
2817         which do a lot of CSS property gets, such as Peacekeeper.
2818         The processing cost should be negligible, since the strings are 
2819         refcounted.  The memory cost is an additional 4 bytes per
2820         CSSPrimitiveValue, and the extended lifetime of the computed string
2821         (potentially, the same as the lifetime of the CSSPrimitiveValue).
2822
2823         https://bugs.webkit.org/show_bug.cgi?id=36556
2824
2825         Covered by fast/css/large-number-round-trip.html, and more.
2826
2827         * css/CSSPrimitiveValue.cpp:
2828         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2829         (WebCore::CSSPrimitiveValue::cleanup):
2830         (WebCore::CSSPrimitiveValue::cssText):
2831         * css/CSSPrimitiveValue.h:
2832
2833 2010-03-26  Qi Zhang  <qi.2.zhang@nokia.com>
2834
2835         Reviewed by Laszlo Gombos.
2836
2837         [Qt] fast/canvas/drawImage-with-negative-source-destination.html failed
2838         https://bugs.webkit.org/show_bug.cgi?id=35005
2839
2840         To support negative width or height at context.drawImage
2841
2842         * platform/graphics/qt/StillImageQt.cpp:
2843         (WebCore::StillImage::draw):
2844
2845 2010-03-08  Philippe Normand  <pnormand@igalia.com>
2846
2847         Reviewed by Gustavo Noronha.
2848
2849         [GStreamer] soften dependency on libsoup in the http src element
2850         https://bugs.webkit.org/show_bug.cgi?id=35864
2851
2852         Replaced SoupURI calls with KURL and pause/resume internal soup
2853         messages only if the element is compiled for a port depending on
2854         libsoup.
2855
2856         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2857         (webkit_web_src_init):
2858         (webKitWebSrcSetUri):
2859         (webKitWebSrcNeedDataMainCb):
2860         (webKitWebSrcEnoughDataMainCb):
2861
2862 2010-03-25  Ilya Tikhonovsky  <loislo@chromium.org>
2863
2864         Reviewed by Pavel Feldman.
2865
2866         Web Inspector: Shot record filter is implemented in Timeline Panel.
2867         https://bugs.webkit.org/show_bug.cgi?id=36606
2868
2869         * English.lproj/localizedStrings.js:
2870         * inspector/front-end/TimelinePanel.js:
2871         (WebInspector.TimelinePanel):
2872         (WebInspector.TimelinePanel.prototype.get statusBarItems):
2873         (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
2874         (WebInspector.TimelinePanel.prototype._toggleFilterButtonClicked):
2875         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
2876         (WebInspector.TimelinePanel.prototype._addToRecordsWindow):
2877         (WebInspector.TimelineRecordGraphRow.prototype.update):
2878         (WebInspector.TimelinePanel.FormattedRecord.prototype.get _isLongEvent):
2879         * inspector/front-end/inspector.css:
2880
2881 2010-03-25  Pavel Feldman  <pfeldman@chromium.org>
2882
2883         Reviewed by Timothy Hatcher.
2884
2885         Web Inspector: Implement CSSStyleSelector::pseudoStyleForElement and use it in the InspectorDOMAgent.
2886
2887         https://bugs.webkit.org/show_bug.cgi?id=36509
2888
2889         This change provides pseudo elements information into the inspector styles sidebar pane.
2890         Changes applied:
2891         - CSSStyleSelector::pseudoStyleRulesForElement implemented. I changed the signature to accept
2892           PseudoId instead of a String since it better reflected the needs;
2893         - Accompanied elementStyle checks with m_collectRulesOnly checks;
2894         - Removed pseudoStyleRulesForElement usage from DOMWindow::getMatchedCSSRules. It was anyways
2895           returning 0, while I would need to convert String to PseudoId in order to leave the call in place;
2896         - Needed to introduce AFTER_LAST_INTERNAL_PSEUDOID marker const in RenderStyleConstants' PseudoId enum
2897         - InspectorDOMAgent is now iterating over all pseudo ids to get all styles (including internal ones).
2898         - Brushed up front-end code so that proper overriding took place locally within pseudo id categories.
2899
2900         * English.lproj/localizedStrings.js:
2901         * css/CSSStyleSelector.cpp:
2902         (WebCore::CSSStyleSelector::styleRulesForElement):
2903         (WebCore::CSSStyleSelector::pseudoStyleRulesForElement):
2904         (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
2905         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
2906         * css/CSSStyleSelector.h:
2907         * inspector/InspectorDOMAgent.cpp:
2908         (WebCore::InspectorDOMAgent::getStyles):
2909         (WebCore::InspectorDOMAgent::buildObjectForAttributeStyles):
2910         (WebCore::InspectorDOMAgent::buildArrayForCSSRules):
2911         (WebCore::InspectorDOMAgent::buildArrayForPseudoElements):
2912         * inspector/InspectorDOMAgent.h:
2913         * inspector/front-end/StylesSidebarPane.js:
2914         (WebInspector.StylesSidebarPane.prototype.update.callback):
2915         (WebInspector.StylesSidebarPane.prototype.update):
2916         (WebInspector.StylesSidebarPane.prototype._update):
2917         (WebInspector.StylesSidebarPane.prototype._refreshStyleRules):
2918         (WebInspector.StylesSidebarPane.prototype._rebuildStyleRules.insertInheritedNodeSeparator):
2919         (WebInspector.StylesSidebarPane.prototype._rebuildStyleRules):
2920         (WebInspector.StylesSidebarPane.prototype._markUsedProperties):
2921         (WebInspector.StylesSidebarPane.prototype._refreshSectionsForStyleRules):
2922         (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
2923         (WebInspector.StylesSidebarPane.prototype._changeColorFormat):
2924         (WebInspector.StylesSidebarPane.prototype.addBlankSection):
2925         (WebInspector.StylesSidebarPane.prototype.removeSection):
2926         * inspector/front-end/inspector.css:
2927         (.styles-sidebar-separator):
2928         * page/DOMWindow.cpp:
2929         (WebCore::DOMWindow::getMatchedCSSRules):
2930         * rendering/style/RenderStyleConstants.h:
2931         (WebCore::):
2932
2933 2010-03-25  Charlie Reis  <creis@chromium.org>
2934
2935         Reviewed by Adam Barth.
2936
2937         onbeforeunload not called at window close + frame or iframe focused
2938         https://bugs.webkit.org/show_bug.cgi?id=27481
2939
2940         Test: fast/events/onbeforeunload-focused-iframe.html
2941
2942         Replaces initial manual tests with a layout test.
2943
2944         * manual-tests/onbeforeunload-focused-iframe.html: Removed.
2945         * manual-tests/resources/focused-iframe.html: Removed.
2946
2947 2010-03-25  Eric Uhrhane  <ericu@chromium.org>
2948
2949         Reviewed by David Levin.
2950
2951         Missing lock in call to doneCreatingDatabase
2952         https://bugs.webkit.org/show_bug.cgi?id=36473
2953
2954         Added new test storage/open-database-over-quota.html.
2955
2956         * storage/DatabaseTracker.cpp:
2957         (WebCore::DatabaseTracker::canEstablishDatabase):  Added missing lock call.
2958
2959 2010-03-25  Ojan Vafai  <ojan@chromium.org>
2960
2961         Reviewed by Eric Seidel.
2962
2963         [chromium] REGRESSION: Some LayoutTests fail after r56567
2964         https://bugs.webkit.org/show_bug.cgi?id=36630
2965
2966         Fix boolean logic goofup. This was a last minute code review
2967         change that didn't get tested on Windows before commit.
2968
2969         * editing/SelectionController.cpp:
2970         (WebCore::SelectionController::setIsDirectional):
2971
2972 2010-03-25  Dan Bernstein  <mitz@apple.com>
2973
2974         Reviewed by Darin Adler.
2975
2976         <rdar://problem/7728903> Support color bitmap fonts
2977
2978         Test: platform/mac/fonts/color-bitmap.html
2979
2980         * platform/graphics/mac/FontMac.mm:
2981         (WebCore::showGlyphsWithAdvances): Added. Calls CGContextShowGlyphsWithAdvances()
2982         or CTFontShowGlyphs() depending on whether the font is a color bitmap font.
2983         (WebCore::Font::drawGlyphs): Use showGlyphsWithAdvances(). Don’t include the font’s matrix in
2984         the context’s text matrix when drawing with a color bitmap font, because CTFontShowGlyphs()
2985         factors it in.
2986         * platform/graphics/mac/FontPlatformData.h:
2987         (WebCore::FontPlatformData::FontPlatformData): Added m_isColorBitmapFont member
2988         and initialized it in constructors.
2989         (WebCore::FontPlatformData::isColorBitmapFont): Added this getter.
2990         * platform/graphics/mac/FontPlatformDataMac.mm:
2991         (WebCore::FontPlatformData::FontPlatformData): Initialize m_isColorBitmapFont.
2992         (WebCore::FontPlatformData::operator=): Copy m_isColorBitmapFont.
2993         (WebCore::FontPlatformData::setFont): Set m_isColorBitmapFont.
2994
2995 2010-03-25  Adam Barth  <abarth@webkit.org>
2996
2997         Reviewed by Sam Weinig.
2998
2999         Implement allow-top-navigation for HTML5 sandbox attribute
3000         https://bugs.webkit.org/show_bug.cgi?id=36549
3001
3002         Tests: fast/frames/sandboxed-iframe-navigation-top-by-constant-name.html
3003                fast/frames/sandboxed-iframe-navigation-top-by-constant-name2.html
3004                fast/frames/sandboxed-iframe-navigation-top-by-name-denied.html
3005                fast/frames/sandboxed-iframe-navigation-top-by-name.html
3006                fast/frames/sandboxed-iframe-navigation-top-denied.html
3007                fast/frames/sandboxed-iframe-navigation-top.html
3008
3009         * bindings/generic/BindingDOMWindow.h:
3010         (WebCore::::createWindow):
3011         * bindings/js/JSDOMWindowCustom.cpp:
3012         (WebCore::createWindow):
3013           Moved the security check to FrameLoader because we need to allow
3014           window.open navigation to succeed sometimes when the
3015           SandboxNavigation bit is set.
3016         * html/HTMLIFrameElement.cpp:
3017         (WebCore::parseSandboxAttribute):
3018           Added allow-top-navigation to the parser.
3019         * loader/FrameLoader.cpp:
3020         (WebCore::FrameLoader::createWindow):
3021           The SandboxNavigation check now occurs after we search for the frame
3022           by name.  Notice that the named frame navigation case is caught by
3023           the generic navigation access check.
3024         (WebCore::FrameLoader::shouldAllowNavigation):
3025           Update the navigation access check to allow navigating of top unless
3026           it's forbidden.
3027         * loader/FrameLoaderTypes.h:
3028           Introduce a bit for SandboxedTopNavigation.
3029         (WebCore::):
3030
3031 2010-03-25  Dumitru Daniliuc  <dumi@chromium.org>
3032
3033         Unreviewed, Chromium build fix.
3034
3035         V8CustomVoidCallback should not check if a return value is a
3036         boolean. It should only convert the value to a boolean.
3037
3038         * bindings/v8/custom/V8CustomVoidCallback.cpp:
3039         (WebCore::invokeCallback):
3040
3041 2010-03-25  Dmitry Titov  <dimich@chromium.org>
3042
3043         No review, rolling out r56585.
3044         http://trac.webkit.org/changeset/56585
3045         https://bugs.webkit.org/show_bug.cgi?id=36621
3046
3047         Broke Chromium builds on waterfall
3048
3049         * plugins/PluginView.cpp:
3050         (WebCore::PluginView::getValue):
3051         * plugins/PluginView.h:
3052         * plugins/PluginViewNone.cpp:
3053         (WebCore::PluginView::setJavaScriptPaused):
3054
3055 2010-03-25  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
3056
3057         Reviewed by Darin Adler.
3058
3059         Fix build if NPAPI support is disabled
3060         https://bugs.webkit.org/show_bug.cgi?id=36621
3061
3062         No new tests, this is a build fix.
3063
3064         * plugins/PluginView.cpp: Guard getValueStatic() with
3065         NETSCAPE_PLUGIN_API
3066         (WebCore::PluginView::getValue):
3067         * plugins/PluginView.h: Guard getValue() with NETSCAPE_PLUGIN_API
3068         * plugins/PluginViewNone.cpp: Guard platformGetValue() and
3069         platformGetValueStatic with NETSCAPE_PLUGIN_API;
3070         Guard privateBrowsingStateChanged() and setJavaScriptPaused() with
3071         PLATFORM(MAC)
3072
3073 2010-03-25  Drew Wilson  <atwilson@chromium.org>
3074
3075         Reviewed by Nate Chapin.
3076
3077         [v8] Error in getScriptExecutionContext() when worker context is terminating.
3078         https://bugs.webkit.org/show_bug.cgi?id=36565
3079
3080         Removed WorkerScriptExecutionProxy::retrieve() and added WorkerScriptController::controllerForContext(). This allows
3081         callers to differentiate between "the current context is shutting down" vs "the current context is not a worker context".
3082
3083         Test: Existing worker tests suffice.
3084
3085         * bindings/v8/V8DOMWrapper.cpp:
3086         (WebCore::V8DOMWrapper::getConstructor):
3087         Changed to use WorkerScriptController::controllerForContext() instead of WorkerScriptExecutionProxy::retrieve().
3088         * bindings/v8/V8Utilities.cpp:
3089         (WebCore::getScriptExecutionContext):
3090         Changed to use WorkerScriptController::controllerForContext() instead of WorkerScriptExecutionProxy::retrieve().
3091         * bindings/v8/WorkerContextExecutionProxy.cpp:
3092         Removed WorkerScriptExecutionProxy::retrieve().
3093         * bindings/v8/WorkerContextExecutionProxy.h:
3094         Removed WorkerScriptExecutionProxy::retrieve().
3095         * bindings/v8/WorkerScriptController.cpp:
3096         (WebCore::WorkerScriptController::controllerForContext):
3097         Added helper function to get the WorkerScriptController for the current context.
3098         * bindings/v8/WorkerScriptController.h:
3099         Added declaration for controllerForContext().
3100
3101 2010-03-25  Simon Hausmann  <simon.hausmann@nokia.com>
3102
3103         Reviewed by Kenneth Rohde Christiansen.
3104
3105         [Qt] Fix the package build on Maemo 5
3106
3107         https://bugs.webkit.org/show_bug.cgi?id=36607
3108
3109         Always embed the stylesheet for the no-listbox rendering. This way it'll be
3110         included in the generated files for the package generation.
3111
3112         * WebCore.pri:
3113
3114 2010-03-24  Dumitru Daniliuc  <dumi@chromium.org>
3115
3116         Reviewed by Dimitri Glazkov.
3117
3118         Changing the V8 and JSC implementations of
3119         SQLStatementErrorCallback to interpret as false all results that
3120         could be converted to a false boolean. Pretty much a revert of
3121         r54981.
3122
3123         https://bugs.webkit.org/show_bug.cgi?id=36569
3124
3125         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
3126         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
3127         * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
3128         (WebCore::V8CustomSQLStatementErrorCallback::handleEvent):
3129         * bindings/v8/custom/V8CustomVoidCallback.cpp:
3130         (WebCore::invokeCallback):
3131         * bindings/v8/custom/V8CustomVoidCallback.h:
3132
3133 2010-03-25  Dmitry Titov  <dimich@chromium.org>
3134
3135         Unreviewed, fix Chromium tests.
3136
3137         Recent http://trac.webkit.org/changeset/56489 made all urls in Chromium that
3138         have unspecified port to return invalidPortNumber from KURL::port().
3139
3140         * platform/KURLGoogle.cpp: Return 0 for unspecified ports, mimic WebKit KURL behavior for invalid ports.
3141         (WebCore::KURL::port):
3142
3143 2010-03-25  Dirk Schulze  <krit@webkit.org>
3144
3145         Reviewed by Nikolas Zimmermann.
3146
3147         This is a follow up of:
3148         https://bugs.webkit.org/show_bug.cgi?id=30055
3149         Bad DOM performance in large SVG files
3150
3151         Just save and restore the GraphicsContext, if we realy modify it.
3152         (Cairo)Path::contains checks if a point is in the boundingBox
3153         as a heuristic. The intention was to make the process faster for
3154         points outside of this rect, but it rather causes the
3155         opposite.
3156
3157         No new test cases added. No change in functionality.
3158
3159         * platform/graphics/cairo/PathCairo.cpp:
3160         (WebCore::Path::contains):
3161         * rendering/RenderPath.cpp:
3162         (WebCore::RenderPath::paint):
3163
3164 2010-03-25  Ojan Vafai  <ojan@chromium.org>
3165
3166         Reviewed by David Levin.
3167
3168         mouse-based selections are always directional on Windows/Linux
3169         https://bugs.webkit.org/show_bug.cgi?id=25195
3170
3171         Change m_lastChangeWasHorizontalExtension to m_isDirectional
3172         and make m_isDirectional always be true for Windows/Linux.
3173
3174         * editing/SelectionController.cpp:
3175         (WebCore::SelectionController::SelectionController):
3176         (WebCore::SelectionController::setSelection):
3177         (WebCore::SelectionController::setIsDirectional):
3178         (WebCore::SelectionController::willBeModified):
3179         When double-clicking, the base/extent will be in the middle
3180         of the selection instead of the start/end of it. Changed to
3181         maintain that modifications after double-click still move the
3182         start/end of the selection, not the base/extent.
3183         (WebCore::SelectionController::modify):
3184         * editing/SelectionController.h:
3185         * page/EventHandler.cpp:
3186         (WebCore::EventHandler::handleMousePressEventSingleClick):
3187         (WebCore::EventHandler::updateSelectionForMouseDrag):
3188
3189 2010-03-25  Simon Fraser  <simon.fraser@apple.com>
3190
3191         Revert r56565 which was based on an incorrect premise.
3192
3193         * page/animation/CompositeAnimation.cpp:
3194         (WebCore::CompositeAnimation::clearRenderer):
3195         (WebCore::CompositeAnimation::updateKeyframeAnimations):
3196         (WebCore::CompositeAnimation::getAnimatedStyle):
3197         (WebCore::CompositeAnimation::setAnimating):
3198         (WebCore::CompositeAnimation::timeToNextService):
3199         (WebCore::CompositeAnimation::getAnimationForProperty):
3200         (WebCore::CompositeAnimation::suspendAnimations):
3201         (WebCore::CompositeAnimation::resumeAnimations):
3202         (WebCore::CompositeAnimation::isAnimatingProperty):
3203         (WebCore::CompositeAnimation::pauseAnimationAtTime):
3204         (WebCore::CompositeAnimation::numberOfActiveAnimations):
3205
3206 2010-03-25  Simon Fraser  <simon.fraser@apple.com>
3207
3208         Reviewed by Eric Carlson.
3209
3210         Make calls to m_keyframeAnimations.checkConsistency() debug-only
3211         https://bugs.webkit.org/show_bug.cgi?id=36555
3212
3213         Remove lots of calls to m_keyframeAnimations.checkConsistency(); which were left after some earlier
3214         debugging. Leave one in CompositeAnimation::animate() to catch any future issues, which is OK since
3215         these calls are no-ops in release builds.
3216         
3217         * page/animation/CompositeAnimation.cpp:
3218         (WebCore::CompositeAnimation::clearRenderer):
3219         (WebCore::CompositeAnimation::updateKeyframeAnimations):
3220         (WebCore::CompositeAnimation::getAnimatedStyle):
3221         (WebCore::CompositeAnimation::setAnimating):
3222         (WebCore::CompositeAnimation::timeToNextService):
3223         (WebCore::CompositeAnimation::getAnimationForProperty):
3224         (WebCore::CompositeAnimation::suspendAnimations):
3225         (WebCore::CompositeAnimation::resumeAnimations):
3226         (WebCore::CompositeAnimation::isAnimatingProperty):
3227         (WebCore::CompositeAnimation::pauseAnimationAtTime):
3228         (WebCore::CompositeAnimation::numberOfActiveAnimations):
3229
3230 2010-03-25  Simon Fraser  <simon.fraser@apple.com>
3231
3232         Reviewed by Geoffrey Garen.
3233
3234         https://bugs.webkit.org/show_bug.cgi?id=36557
3235         Animations use the wrong timing-function sometimes
3236         
3237         Fix an issue where animations picked the wrong style for their "unanimated" value.
3238         
3239         Previously, the "unanimated" style was considered to be the style before the animation
3240         was applied. This caused us to pick up stale values for animation timing functions, for
3241         blending when a property is missing from the first keyframe, and for resuming transitions
3242         once an animation ends.
3243         
3244         Instead, we need to use the "current" style, which is the one that causes the animation
3245         to kick off.
3246
3247         Tests: animations/longhand-timing-function.html
3248                animations/transition-and-animation-3.html
3249                animations/unanimated-style.html
3250
3251         * page/animation/CompositeAnimation.cpp:
3252         (WebCore::CompositeAnimation::updateKeyframeAnimations):
3253
3254 2010-03-25  Gavin Barraclough  <barraclough@apple.com>
3255
3256         Reviewed by Geoff Garen.
3257
3258         Bug 36611 - Cleanup JSC::CString
3259         Rename CString::c_str() -> CString::data(), CString::size() -> CString::length(),
3260         remove UString::getCString() (all uses are wrong, should use UString::UTF8String()).
3261
3262         * bridge/NP_jsobject.cpp:
3263         (_NPN_Enumerate):
3264         * bridge/c/c_utility.cpp:
3265         (JSC::Bindings::convertValueToNPVariant):
3266         * bridge/jni/jsc/JNIBridgeJSC.cpp:
3267         (JavaField::valueFromInstance):
3268         (JavaField::setValueToInstance):
3269         * bridge/jni/jsc/JavaInstanceJSC.cpp:
3270         (JavaInstance::invokeMethod):
3271         * bridge/jni/jsc/JavaStringJSC.h:
3272         (JSC::Bindings::JavaStringImpl::UTF8String):
3273
3274 2010-03-25  Jakub Wieczorek  <jwieczorek@webkit.org>
3275
3276         Reviewed by Eric Seidel.
3277
3278         [Qt] RenderTheme: fix size adjustment for text fields
3279         https://bugs.webkit.org/show_bug.cgi?id=36413
3280
3281         To match other ports, remove the hardcoded dimensions for text fields so that
3282         the default ones from WebCore can be used.
3283         Properly apply the correct padding to text areas - this fixes their appearance
3284         with the Oxygen style.
3285
3286         * platform/qt/RenderThemeQt.cpp:
3287         (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
3288
3289 2010-03-25  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
3290
3291         Reviewed by Simon Hausmann.
3292
3293         [Qt] Implement ChromeClient::windowResizerRect()
3294
3295         https://bugs.webkit.org/show_bug.cgi?id=21300
3296
3297         The helper function geometryRelativeToOwnerWidget() in the page
3298         client is used to clip the resize rect to the actual size of the
3299         viewport, not the size of the QGraphicsView.
3300
3301         * platform/qt/QWebPageClient.h:
3302
3303 2010-03-25  Joseph Pecoraro  <joepeck@webkit.org>
3304
3305         Reviewed by Pavel Feldman.
3306
3307         Web Inspector: reloading debug target window with cmd-R from inspector window produces beep.
3308         https://bugs.webkit.org/show_bug.cgi?id=36554
3309
3310         * inspector/front-end/inspector.js:
3311         (WebInspector.documentKeyDown): prevent the default behavior, if handled, which would result in a system beep.
3312
3313 2010-03-25  Jochen Eisinger  <jochen@chromium.org>
3314
3315         Reviewed by Jeremy Orlow.
3316
3317         Forward DatabaseTracker::canEstablishDatabase to chromium layer.
3318         https://bugs.webkit.org/show_bug.cgi?id=36595
3319
3320         * storage/chromium/DatabaseObserver.h:
3321         * storage/chromium/DatabaseTrackerChromium.cpp:
3322         (WebCore::DatabaseTracker::canEstablishDatabase):
3323
3324 2010-03-25  yael aharon  <yael.aharon@nokia.com>
3325
3326         Reviewed by Laszlo Gombos.
3327
3328         [Qt] Windowed netscape plugins don't work with QGraphicsWebView on Symbian
3329         https://bugs.webkit.org/show_bug.cgi?id=35112
3330
3331         Add a proxy widget when loading a QWidget based plugin in a QGraphicsWebView.
3332
3333         * plugins/symbian/PluginContainerSymbian.cpp:
3334         (PluginContainerSymbian::PluginContainerSymbian):
3335         (PluginContainerSymbian::focusInEvent):
3336         * plugins/symbian/PluginContainerSymbian.h:
3337         (WebCore::PluginContainerSymbian::proxy):
3338         * plugins/symbian/PluginViewSymbian.cpp:
3339         (WebCore::PluginView::updatePluginWidget):
3340         (WebCore::PluginView::platformStart):
3341         (WebCore::PluginView::platformDestroy):
3342
3343 2010-03-25  Simon Fraser  <simon.fraser@apple.com>
3344
3345         Reviewed by Adele Peterson.
3346
3347         https://bugs.webkit.org/show_bug.cgi?id=35714
3348         Computed style on delayed transform animations is incorrect
3349         
3350         When fetching computed style while a delayed accelerated animation is in effect,
3351         we would get the value form the first keyframe, rather than getting the current
3352         style.
3353         
3354         Fix by checking to see whether we've in the delay phase (with no backwards-fill)
3355         in KeyframeAnimation::getAnimatedStyle().
3356
3357         Test: compositing/animation/computed-style-during-delay.html
3358
3359         * page/animation/KeyframeAnimation.cpp:
3360         (WebCore::KeyframeAnimation::getAnimatedStyle):
3361
3362 2010-03-25  Yury Semikhatsky  <yurys@chromium.org>
3363
3364         Reviewed by Pavel Feldman.
3365
3366         Initialize Web Inspector title with inspected page URL when opening Web Inspector.
3367
3368         https://bugs.webkit.org/show_bug.cgi?id=36534
3369
3370         * inspector/InspectorController.cpp:
3371         (WebCore::InspectorController::setFrontend):
3372
3373 2010-03-25  Antti Koivisto  <koivisto@iki.fi>
3374
3375         Reviewed by Kenneth Rohde Christiansen.
3376
3377         https://bugs.webkit.org/show_bug.cgi?id=36316
3378         Tiles of selected content do not update if not in viewport
3379         
3380         Don't clip repaints to viewport when tiling is enabled.
3381
3382         * page/Frame.cpp:
3383         (WebCore::Frame::setView):
3384         (WebCore::Frame::setTiledBackingStoreEnabled):
3385
3386 2010-03-25  Diego Gonzalez  <diego.gonzalez@openbossa.org>
3387
3388         Reviewed by Eric Seidel.
3389
3390         Missing forward ENABLE_DATALIST macro to JavaScript enabled features macros
3391         on WebKit.pri
3392
3393         [Qt] Forward ENABLE_DATALIST macro to JavaScript enabled macros
3394         https://bugs.webkit.org/show_bug.cgi?id=36547
3395
3396         * WebCore.pri:
3397
3398 2010-03-25  Pavel Feldman  <pfeldman@chromium.org>
3399
3400         Reviewed by Timothy Hatcher.
3401
3402         Web Inspector: Expect console object wrapping to fail.
3403
3404         https://bugs.webkit.org/show_bug.cgi?id=36587
3405
3406         * inspector/front-end/InjectedScript.js:
3407         (injectedScriptConstructor):
3408
3409 2010-03-25  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
3410
3411         Reviewed by Eric Seidel.
3412
3413         https://bugs.webkit.org/show_bug.cgi?id=36371
3414         [Gtk] Elements with a title attribute should not be ignored
3415
3416         * accessibility/AccessibilityRenderObject.cpp:
3417         (AccessibilityRenderObject::accessibilityIsIgnored):
3418
3419 2010-03-24  Steve Block  <steveblock@google.com>
3420
3421         Reviewed by David Levin.
3422
3423         Adds a missing ENABLE(WORKERS) guards to the V8 bindings.
3424         https://bugs.webkit.org/show_bug.cgi?id=36550
3425
3426         Build fix only, no new tests.
3427
3428         * bindings/v8/V8DOMWrapper.cpp:
3429         (WebCore::V8DOMWrapper::instantiateV8Object):
3430
3431 2010-03-25  Leandro Pereira  <leandro@profusion.mobi>
3432
3433         Reviewed by Eric Seidel.
3434
3435         Add EFL-specific code to platform/ScrollView.cpp and
3436         platform/Scrollbar.cpp.
3437         http://webkit.org/b/36305
3438
3439         * platform/ScrollView.cpp:
3440         * platform/Scrollbar.cpp:
3441
3442 2010-03-25  Tasuku Suzuki  <tasuku.suzuki@nokia.com>
3443
3444         Reviewed by Eric Seidel.
3445
3446         [Qt]Fix compile error with QT_NO_LIBRARY
3447         https://bugs.webkit.org/show_bug.cgi?id=36533
3448
3449         * platform/FileSystem.h:
3450         * platform/qt/FileSystemQt.cpp:
3451         (WebCore::unloadModule):
3452
3453 2010-03-25  Tasuku Suzuki  <tasuku.suzuki@nokia.com>
3454
3455         Reviewed by Eric Seidel.
3456
3457         [Qt]Fix compile error with QT_NO_ANIMATION
3458         https://bugs.webkit.org/show_bug.cgi?id=36526
3459
3460         * platform/graphics/qt/GraphicsLayerQt.cpp:
3461         (WebCore::GraphicsLayerQtImpl::~GraphicsLayerQtImpl):
3462         * platform/graphics/qt/GraphicsLayerQt.h:
3463
3464 2010-03-25  Tony Chang  <tony@chromium.org>
3465
3466         Reviewed by Eric Seidel.
3467
3468         https://bugs.webkit.org/show_bug.cgi?id=33697
3469         Have dragOpFromIEOp("move") return DragOperationGeneric | DragOperationMove
3470         because only returning Generic doesn't work for platforms that don't
3471         have a generic operation.
3472
3473         Covered by existing tests (fast/events/drag-and-drop.html).
3474
3475         * dom/Clipboard.cpp:
3476         (WebCore::dragOpFromIEOp):
3477         (WebCore::Clipboard::destinationOperation):
3478         (WebCore::Clipboard::setDestinationOperation):
3479
3480 2010-03-25  Fumitoshi Ukai  <ukai@chromium.org>
3481
3482         Reviewed by Eric Seidel.
3483
3484         [Qt] websocket/tests/long-invalid-header.html fails
3485         https://bugs.webkit.org/show_bug.cgi?id=36492
3486
3487         trim message at most 128 bytes from the current position.
3488         I believe it's enough data to investigate the error reason and
3489         it makes test not depend on buffered size.
3490
3491         * websockets/WebSocketHandshake.cpp:
3492         (WebCore::trimConsoleMessage):
3493         (WebCore::WebSocketHandshake::readServerHandshake):
3494         (WebCore::WebSocketHandshake::readHTTPHeaders):
3495
3496 2010-03-24  Jon Honeycutt  <jhoneycutt@apple.com>
3497
3498         <rdar://problem/7780798> Missing plug-ins should be represented by text
3499         only, instead of lego block
3500
3501         https://bugs.webkit.org/show_bug.cgi?id=36583
3502
3503         Reviewed by Dan Bernstein.
3504
3505         * rendering/RenderEmbeddedObject.cpp:
3506         (WebCore::RenderEmbeddedObject::paintReplaced):
3507         Set the font rendering mode and the computed size, so that the text will
3508         draw properly on Windows.
3509
3510 2010-03-24  Vangelis Kokkevis  <vangelis@chromium.org>
3511
3512         Reviewed by Dimitri Glazkov.
3513
3514         Removing unecessary redraws of LayerSkia contents:
3515         https://bugs.webkit.org/show_bug.cgi?id=36470
3516
3517         Test: No new functionality added, no tests.
3518
3519         * platform/graphics/skia/LayerRendererSkia.cpp:
3520         (WebCore::LayerRendererSkia::drawLayerInCanvasRecursive):
3521         Debug borders now rendered at composite time rather than update time.
3522         * platform/graphics/skia/LayerSkia.cpp:
3523         (WebCore::LayerSkia::updateContents):
3524         (WebCore::LayerSkia::drawDebugBorder):
3525         Debug border drawing removed from updateContents and split into a separate method that
3526         can be called at composite time.
3527         (WebCore::LayerSkia::setBounds):
3528         Resetting the bounds causes the layer to redraw its contents.
3529         (WebCore::LayerSkia::setNeedsDisplay):
3530         * platform/graphics/skia/LayerSkia.h:
3531         Added declaration for drawDebugBorders method.
3532
3533 2010-03-24  Mark Rowe  <mrowe@apple.com>
3534
3535         Revert the portion of r56489 that dealt with port zero as it introduced some test failures.
3536
3537         * platform/KURL.cpp:
3538         (WebCore::KURL::port): Use the "ok" argument to charactersToUIntStrict to determine whether
3539         it was able to successfully parse the string as an unsigned integer, rather than relying on
3540         the fact it returned zero when it failed.
3541
3542 2010-03-24  Gavin Barraclough  <barraclough@apple.com>
3543
3544         Reviewed by Sam Weinig.
3545
3546         * platform/text/String.cpp:
3547         (WebCore::putUTF8Triple): Correct capitalization of function name.
3548         (WebCore::String::utf8): Fix C-style casts.
3549         (WebCore::String::fromUTF8): Remove unnecessary newline.
3550         (WebCore::String::fromUTF8WithLatin1Fallback): Use early return.
3551
3552 2010-03-24  Mark Rowe  <mrowe@apple.com>
3553
3554         Reviewed by Darin Adler.
3555
3556         WebKit should treat port numbers outside the valid range as being blacklisted
3557         <http://webkit.org/b/36571> / <rdar://problem/7790908>
3558
3559         * platform/KURL.cpp:
3560         (WebCore::KURL::port): Map invalid port numbers to invalidPortNumber.
3561         (WebCore::portAllowed): Add invalidPortNumber to the blacklist.
3562         * platform/KURLGoogle.cpp:  invalid port numbers to invalidPortNumber.
3563         (WebCore::KURL::port): Add invalidPortNumber to the blacklist.
3564         Also bring this in to sync with KURL.  Having this identical code in two places is stupid.
3565
3566 2010-03-24  Sam Weinig  <sam@webkit.org>
3567
3568         Reviewed by Mark Rowe.
3569
3570         Add some missing exports.
3571
3572         * WebCore.base.exp:
3573
3574 2010-03-24  Gavin Barraclough  <barraclough@apple.com>
3575
3576         Reviewed by Sam Weinig.
3577
3578         Switch String::latin1, String::utf8, String::fromUTF8 to
3579         use WTF's Unicode conversion methods rather than TextEncoder.
3580         These methods only perform simple conversion, and don't need
3581         really require TextEncoder's full capability (to look up arbitrary
3582         encodings by name), switching to only be dependent on WTF will
3583         make it easier if we chose to move WebCore::String to WTF.
3584
3585         * platform/text/String.cpp:
3586         (WebCore::String::latin1):
3587         (WebCore::putUTF8triple):
3588         (WebCore::String::utf8):
3589         (WebCore::String::fromUTF8):
3590
3591 2010-03-24  Dmitry Titov  <dimich@chromium.org>
3592
3593         No review, rolling out r56453.
3594         http://trac.webkit.org/changeset/56453
3595         https://bugs.webkit.org/show_bug.cgi?id=36426
3596
3597         In Chromium port, it broke invalid-image-data-standalone.html
3598         invalid-image-data.html multipart-wait-before-boundary.html
3599         stop-crash.html win-boundary-crash.html
3600
3601         * loader/FrameLoader.cpp:
3602         (WebCore::FrameLoader::finishedLoadingDocument):
3603
3604 2010-03-24  Ilya Tikhonovsky  <loislo@chromium.org>
3605
3606         Reviewed by Pavel Feldman.
3607
3608         Web Inspector: Significant scroll speed degradation if Timeline has
3609         an expanded record with significant number of children.
3610         https://bugs.webkit.org/show_bug.cgi?id=36543
3611
3612
3613         * inspector/front-end/TimelinePanel.js:
3614         (WebInspector.TimelinePanel.prototype._updateBoundaries):
3615         (WebInspector.TimelinePanel.prototype._addToRecordsWindow):
3616         (WebInspector.TimelinePanel.prototype._filterRecords):
3617         (WebInspector.TimelinePanel.prototype._refreshRecords):
3618
3619 2010-03-24  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
3620
3621         Reviewed by Eric Carlson.
3622
3623         [GStreamer] Fails to go to Loaded state because of floating point discrepancies
3624         https://bugs.webkit.org/show_bug.cgi?id=35891
3625
3626         Use the m_fillStatus variable, which is more reliable, instead of
3627         using the calculation, for the completed case.
3628
3629         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
3630         (WebCore::MediaPlayerPrivate::fillTimerFired):
3631
3632 2010-03-24  Dmitry Titov  <dimich@chromium.org>
3633
3634         Unreviewed, Chromium test fix.
3635
3636         Recent r56445 added CustomEvent and a test but it didn't work on Chromium bots.
3637         Test crashed due to infinte recursion because the compiler did not have the right definition of toV8(CustomEvent*)
3638         and was substituting toV8(Event*).
3639
3640         Fixing test fast/events/custom-event.html
3641
3642         * bindings/v8/custom/V8EventCustom.cpp:
3643
3644 2010-03-24  MORITA Hajime  <morrita@google.com>
3645
3646         Reviewed by Darin Adler.
3647
3648         Refactoring: HTMLFormControlElement should not have redundant null check
3649         https://bugs.webkit.org/show_bug.cgi?id=36487
3650         
3651         No new tests as there is no new functionality.        
3652
3653         * html/HTMLFormControlElement.cpp:
3654         (WebCore::HTMLFormControlElement::dispatchFocusEvent):
3655         (WebCore::HTMLFormControlElement::dispatchBlurEvent):
3656
3657 2010-03-24  Eric Uhrhane  <ericu@chromium.org>
3658
3659         Reviewed by Alexey Proskuryakov.
3660
3661         DOMCoreException needs NoStaticTables modifier
3662         https://bugs.webkit.org/show_bug.cgi?id=36458
3663
3664         No new tests, but this shows up in tests of Database accesses from the
3665         Worker thread that I'll be checking in soon.  The symptom is that
3666         DOMCoreException.toString() returns [object DOMException] instead of
3667         something more helpful.
3668
3669         * dom/DOMCoreException.idl:  Added NoStaticTables.
3670
3671 2010-03-24  Drew Wilson  <atwilson@chromium.org>
3672
3673         Reviewed by Dmitry Titov.
3674
3675         Failed assertion in V8Proxy::setDOMException() if worker is shutting down.
3676         https://bugs.webkit.org/show_bug.cgi?id=36514
3677
3678         Test: none (existing worker tests suffice)
3679
3680         * bindings/v8/V8Proxy.cpp:
3681         (WebCore::V8Proxy::setDOMException):
3682         Updated setDOMException() to check for an empty exception (due to no active context) and avoid throwing in that case.
3683
3684 2010-03-23  Evan Martin  <evan@chromium.org>
3685
3686         Reviewed by Dmitry Titov.
3687
3688         [chromium] use integral glyph widths
3689         https://bugs.webkit.org/show_bug.cgi?id=36510
3690
3691         Despite WebKit (and Skia, to an extent) supporting non-integral
3692         glyph widths, the font code path we hit in Skia only supports
3693         integral glyph positions.  This means that we would accumulate
3694         offsets when drawing a sequence up non-integer-width glyphs
3695         which would cause gaps when snapped to the pixel grid when drawing.
3696
3697         * platform/graphics/chromium/SimpleFontDataLinux.cpp:
3698         (WebCore::SimpleFontData::platformWidthForGlyph):
3699         round glyph widths to integers.
3700
3701 2010-03-24  Dean Jackson  <dino@apple.com>
3702
3703         Reviewed by Kevin Decker.
3704
3705         <rdar://problem/7785305>
3706         Fix regression caused by r55576. It turned out that ensuring
3707         CoreAnimation always gets a correct fill parameter caused flashing
3708         as non-filled animations ended (CA briefly showed the initial animation
3709         value before the style system set the final value).
3710
3711         * platform/graphics/mac/GraphicsLayerCA.mm:
3712         (WebCore::GraphicsLayerCA::setupAnimation):
3713
3714 2010-03-24  Hayato Ito  <hayato@chromium.org>
3715
3716         Reviewed by Shinichiro Hamaji.
3717
3718         Refactor computePageRects so that Mac can make use of it.
3719         https://bugs.webkit.org/show_bug.cgi?id=36159
3720
3721         Refactoring only, so no new tests.
3722
3723         * WebCore.base.exp:
3724         * page/PrintContext.cpp:
3725         (WebCore::PrintContext::computePageRects):
3726         (WebCore::PrintContext::computePageRectsWithPageSize):
3727         (WebCore::PrintContext::computePageRectsWithPageSizeInternal):
3728         (WebCore::PrintContext::pageNumberForElement):
3729         (WebCore::PrintContext::numberOfPages):
3730         * page/PrintContext.h:
3731
3732 2010-03-24  Jeremy Moskovich  <jeremy@chromium.org>
3733
3734         Reviewed by Jeremy Orlow.
3735
3736         Add some diagnostics to try to track down cause of crash in ArchiveFactory::isArchiveMimeType().
3737
3738         https://bugs.webkit.org/show_bug.cgi?id=36426
3739
3740         No new tests as there is no new functionality.
3741
3742         * loader/FrameLoader.cpp:
3743         (WebCore::FrameLoader::finishedLoadingDocument): Make copy of mimeType string to isolate crash.
3744
3745 2010-03-24  Anton Muhin  <antonm@chromium.org>
3746
3747         Reviewed by Nate Chapin.
3748
3749         Use newly introduced SetPrototype method to deal with global objects.
3750         https://bugs.webkit.org/show_bug.cgi?id=36497
3751
3752         No new tests, should be covered by the current test infrastructure.
3753
3754         * bindings/v8/V8DOMWindowShell.cpp:
3755         (WebCore::V8DOMWindowShell::installDOMWindow):
3756         * bindings/v8/V8DOMWrapper.cpp:
3757         (WebCore::V8DOMWrapper::getConstructor):
3758         * bindings/v8/WorkerContextExecutionProxy.cpp:
3759         (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
3760
3761 2010-03-24  Dmitry Titov  <dimich@chromium.org>
3762
3763         Unreviewed, Chromium build fix.
3764
3765         * platform/chromium/PopupMenuChromium.cpp:
3766         (WebCore::PopupContainer::PopupContainer): Fix order of initializers.
3767         (WebCore::PopupContainer::layout): Remove unused variable.
3768
3769 2010-03-23  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3770
3771         Reviewed by Simon Hausmann.
3772
3773         Add a way to check if the page client is making use of
3774         a QWidget.
3775
3776         * platform/qt/QWebPageClient.h:
3777         (QWebPageClient::isQWidgetClient):
3778
3779 2010-03-24  Jay Campan  <jcampan@google.com>
3780
3781         Reviewed by Darin Fisher.
3782
3783         Making Chromium select popups not steal activation from the browser.
3784         Select popups are now like autocomplete popups, shown in non-activated
3785         windows.
3786         https://bugs.webkit.org/show_bug.cgi?id=36062
3787
3788         * page/chromium/ChromeClientChromium.h:
3789         * platform/chromium/PopupMenuChromium.cpp:
3790         (WebCore::):
3791         (WebCore::PopupListBox::setMaxHeight):
3792         (WebCore::PopupListBox::disconnectClient):
3793         (WebCore::PopupListBox::PopupListBox):
3794         (WebCore::PopupContainer::create):
3795         (WebCore::PopupContainer::PopupContainer):
3796         (WebCore::PopupContainer::showPopup):
3797         (WebCore::PopupContainer::showExternal):
3798         (WebCore::PopupContainer::hidePopup):
3799         (WebCore::PopupContainer::layout):
3800         (WebCore::PopupContainer::chromeClientChromium):
3801         (WebCore::PopupListBox::hidePopup):
3802         (WebCore::PopupListBox::layout):
3803         (WebCore::PopupMenu::~PopupMenu):
3804         (WebCore::PopupMenu::show):
3805         * platform/chromium/PopupMenuChromium.h:
3806         (WebCore::PopupItem::):
3807         (WebCore::PopupItem::PopupItem):
3808         (WebCore::PopupContainerSettings::):
3809         (WebCore::PopupContainer::):
3810         (WebCore::PopupContainer::listBox):
3811         (WebCore::PopupContainer::popupType):
3812
3813 2010-03-10  David Levin  <levin@chromium.org>
3814
3815         Reviewed by Oliver Hunt.
3816
3817         Need to move items that CanvasRenderingContext2D depends on into CanvasSurface.
3818         https://bugs.webkit.org/show_bug.cgi?id=35453
3819
3820         Prepartory changes to allow for an OffscreenCanvas which may be used in a worker
3821         or outside of the DOM.
3822
3823         No change in functionality, so new tests.
3824
3825         * dom/CanvasSurface.cpp: Moved functionality that CanvasRenderingContext2D depends on
3826         into this class (and removed dependencies on document/html element).
3827         (WebCore::CanvasSurface::CanvasSurface):
3828         (WebCore::CanvasSurface::~CanvasSurface): Put the desctructor in the cpp file
3829         to avoid needing access to ~ImageBuffer in the header file.
3830         (WebCore::CanvasSurface::setSurfaceSize): Does basic items needed
3831         when the size changes. It is protected to force outside callers to go
3832         through HTMLCanvasElement::setSize.
3833         (WebCore::CanvasSurface::toDataURL): Just moved from HTMLCanvasElement and
3834         made a note about a method to fix for worker usage.
3835         (WebCore::CanvasSurface::willDraw): Made this virtual to allow an overide
3836         which uses the renderbox and tracks a dirtyRect.
3837         (WebCore::CanvasSurface::convertLogicalToDevice): Moved and changed to
3838         rely on a member variable for page scale (to avoid using the document).
3839         (WebCore::CanvasSurface::createImageBuffer):
3840         (WebCore::CanvasSurface::drawingContext): Simple move from HTMLCanvasElement.
3841         (WebCore::CanvasSurface::buffer): Ditto.
3842         (WebCore::CanvasSurface::baseTransform): Ditto.
3843         * dom/CanvasSurface.h:
3844         (WebCore::CanvasSurface::width): Simple move from HTMLCanvasElement.
3845         (WebCore::CanvasSurface::height): Ditto.
3846         (WebCore::CanvasSurface::size): Ditto.
3847         (WebCore::CanvasSurface::setOriginTainted): Ditto.
3848         (WebCore::CanvasSurface::originClean): Ditto.
3849         (WebCore::CanvasSurface::hasCreatedImageBuffer): Ditto (with small name change).
3850         * html/HTMLCanvasElement.cpp:
3851         (WebCore::HTMLCanvasElement::HTMLCanvasElement): Pass in the scale factor to CanvasSurface
3852         so it doesn't need the document.
3853         (WebCore::HTMLCanvasElement::willDraw): Moved the relevant portion to CanvasSurface.
3854         (WebCore::HTMLCanvasElement::reset): Small changes due to refactoring.
3855         (WebCore::HTMLCanvasElement::paint): Ditto.
3856         * html/HTMLCanvasElement.h:
3857         (WebCore::HTMLCanvasElement::setSize): Ditto.
3858         * platform/MIMETypeRegistry.cpp:
3859         (WebCore::MIMETypeRegistry::isSupportedImageMIMETypeForEncoding): Added assert
3860         to verify that this is only called on the main thread.
3861         * platform/graphics/Image.cpp:
3862         (WebCore::Image::nullImage): Ditto.
3863         * platform/graphics/cg/ImageBufferCG.cpp:
3864         (WebCore::utiFromMIMEType): Ditto.
3865
3866 2010-03-24  Alexander Pavlov  <apavlov@chromium.org>
3867
3868         Reviewed by Pavel Feldman.
3869
3870         Inspector: XML Tags should not be converted to lowercase
3871         https://bugs.webkit.org/show_bug.cgi?id=28600
3872
3873         * inspector/front-end/ElementsPanel.js:
3874         (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
3875         (WebInspector.ElementsPanel.prototype.decorateNodeLabel):
3876         * inspector/front-end/ElementsTreeOutline.js:
3877         (WebInspector.ElementsTreeOutline.prototype.nodeNameToCorrectCase):
3878         (WebInspector.ElementsTreeElement.prototype._updateChildren):
3879         (WebInspector.ElementsTreeElement.prototype._nodeTitleInfo):
3880
3881 2010-03-03  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3882
3883         Reviewed by Antti Koivisto.
3884
3885         Add support for DOM Level 3 Custom Event
3886         http://www.w3.org/TR/DOM-Level-3-Events
3887
3888         V8 Generator change by Nate Chapin <japhet@chromium.org>, Thanks!
3889
3890         Test: fast/events/custom-event.html
3891
3892         * DerivedSources.cpp:
3893         * GNUmakefile.am:
3894         * WebCore.gypi:
3895         * WebCore.pri:
3896         * WebCore.pro:
3897         * WebCore/DerivedSources.make:
3898         * WebCore.vcproj/WebCore.vcproj:
3899         * WebCore.xcodeproj/project.pbxproj:
3900         * bindings/js/JSEventCustom.cpp:
3901         (WebCore::toJS):
3902         * bindings/scripts/CodeGeneratorJS.pm:
3903         * bindings/scripts/CodeGeneratorV8.pm:
3904         * dom/CustomEvent.cpp: Added.
3905         (WebCore::CustomEvent::CustomEvent):
3906         (WebCore::CustomEvent::initCustomEvent):
3907         (WebCore::CustomEvent::isCustomEvent):
3908         * dom/CustomEvent.h: Added.
3909         (WebCore::CustomEvent::create):
3910         (WebCore::CustomEvent::detail):
3911         * dom/Document.cpp:
3912         (WebCore::Document::createEvent):
3913         * dom/Event.cpp:
3914         (WebCore::Event::isCustomEvent):
3915         * dom/Event.h:
3916
3917 2010-03-24  Alexander Pavlov  <apavlov@chromium.org>
3918
3919         Reviewed by Pavel Feldman.
3920
3921         Web Inspector: Error when highlighting JavaScript with an invalid mime type
3922         https://bugs.webkit.org/show_bug.cgi?id=36530
3923
3924         * inspector/front-end/SourceTokenizer.js:
3925         (WebInspector.SourceTokenizer.Registry):
3926         * inspector/front-end/SourceView.js:
3927         (WebInspector.SourceView.prototype._contentLoaded):
3928         (WebInspector.SourceView.prototype._canonicalMimeType):
3929         * inspector/front-end/TextEditorHighlighter.js:
3930         (WebInspector.TextEditorHighlighter):
3931
3932 2010-03-24  Pavel Feldman  <pfeldman@chromium.org>
3933
3934         Not reviewed. Chromium test fix: added a frameCount check to the
3935         debugger function call.
3936
3937         * bindings/v8/V8Proxy.cpp:
3938         (WebCore::V8Proxy::createUtilityContext):
3939
3940 2010-03-19  Miikka Heikkinen  <miikka.heikkinen@digia.com>
3941
3942         Reviewed by Simon Hausmann.
3943
3944         [Qt] Support for QT_LIBINFIX in Symbian builds
3945
3946         Configuring Qt with -qtlibinfix parameter will enable installing
3947         an alternate version of Qt on devices that already have it on ROM.
3948         This patch provides support for infixed builds of Webkit.
3949
3950         * WebCore.pro:
3951
3952 2010-03-24  Kent Tamura  <tkent@chromium.org>
3953
3954         Reviewed by Darin Adler.
3955
3956         Make Icon::createIconForFiles() optional.
3957         https://bugs.webkit.org/show_bug.cgi?id=35072
3958
3959         r54923 made Icon::createIconForFiles() deprecated. However moving
3960         existing icon loading code to outside of WebCore is not good.  So,
3961         we assume:
3962         - ChromeClient::chooseIconForFiles(), renamed from iconForFiles(), is
3963           the primary API to load icons.
3964         - Icon::createIconForFiles() is an optional API to help
3965           implementing ChromeClient::iconForFiles().
3966
3967         This patch removes a call to Icon::createIconForFiles() from
3968         FileChooser::loadIcon(), and ChromeClient::chooseIconForFiles() of
3969         non-Chromium ports calls Icon::createIconForFiles().
3970
3971         * WebCore.base.exp: Export FileChooser::iconLoaded(),
3972           Icon::createIconForFiles(), and Icon::~Icon().
3973         * WebCore.xcodeproj/project.pbxproj: Export Icon.h
3974         * loader/EmptyClient.h: Rename iconForFiles() to chooseIconForFiles().
3975         * page/Chrome.cpp: ditto.
3976         * page/Chrome.h: ditto.
3977         * page/ChromeClient.h: ditto.
3978         * platform/FileChooser.cpp:
3979         (WebCore::FileChooser::loadIcon):
3980         * platform/graphics/Icon.h: Remove a comment on createIconForFiles().
3981         * platform/graphics/chromium/IconChromiumLinux.cpp: Remove createIconForFiles().
3982         * platform/graphics/chromium/IconChromiumMac.cpp: ditto.
3983         * platform/graphics/chromium/IconChromiumWin.cpp: ditto.
3984         * rendering/RenderFileUploadControl.cpp: Rename iconForFiles() to chooseIconForFiles().
3985         * rendering/RenderFileUploadControl.h: ditto.
3986
3987 2010-03-23  Dan Bernstein  <mitz@apple.com>
3988
3989         Fixed typos.
3990
3991         * manual-tests/plugin-visible-rect-change.html:
3992
3993 2010-03-23  Dan Bernstein  <mitz@apple.com>
3994
3995         Reviewed by John Sullivan.
3996
3997         WebCore part of
3998         <rdar://problem/7197736> Plug-in clip rect does not update when overflow
3999         clip changes
4000         https://bugs.webkit.org/show_bug.cgi?id=36479.
4001
4002         * manual-tests/plugin-visible-rect-change.html: Added.
4003         * platform/mac/WidgetMac.mm:
4004         (WebCore::WidgetPrivate::WidgetPrivate): Added previousVisibleRect.
4005         (WebCore::Widget::setFrameRect): If the visible rect changed but the
4006         frame rect did not, send a -visibleRectDidChange message to the view,
4007         if it responds to it.
4008         (WebCore::Widget::releasePlatformWidget): Reset previousVisibleRect.
4009         * rendering/RenderWidget.cpp:
4010         (WebCore::RenderWidget::setWidgetGeometry): Track changes to the clip rect
4011         imposed by the enclosing layer. Call Widget::setFrameRect when it changes,
4012         even if the frame rect did not.
4013         * rendering/RenderWidget.h:
4014         (WebCore::RenderWidget::windowClipRect): Added this accessor.
4015
4016 2010-03-23  Simon Fraser  <simon.fraser@apple.com>
4017
4018         Reviewed by Dan Bernstein.
4019
4020         Assertion ASSERTION FAILED: rootLayer == m_clipRectsRoot at hulu.com
4021         https://bugs.webkit.org/show_bug.cgi?id=34065
4022         
4023         Fix another cause of assertions related to the clip rects root. Embeds
4024         with zero size caused the overlap testing to fail, yet we require them to work
4025         for correct compositing, so when the composited bounds is empty, use a 1x1 rect
4026         for overlap testing.
4027
4028         Test: compositing/geometry/empty-embed-rects.html
4029
4030         * rendering/RenderLayerCompositor.cpp:
4031         (WebCore::RenderLayerCompositor::addToOverlapMap):
4032         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
4033
4034 2010-03-23  David Levin  <levin@chromium.org>
4035
4036         Reviewed by Nate Chapin.
4037
4038         [chromium] XMLHttpRequest.send sends 'undefined' string when passed undefined value.
4039         https://bugs.webkit.org/show_bug.cgi?id=36506
4040
4041         Test: http/tests/xmlhttprequest/send-undefined-and-null.html
4042
4043         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
4044         (WebCore::isDocumentType): Unrelated style fix: fixed the casing of the method.
4045         (WebCore::V8XMLHttpRequest::sendCallback): Added check for null/undefined to do the send.
4046         This mirrors what is done in the JSC bindings. Previously, sending 'null' worked because
4047         the last case, which did "toWebCoreStringWithNullCheck", resulted in sending an empty
4048         request body.
4049
4050 2010-03-23  Chris Evans  <cevans@chromium.org>
4051
4052         Reviewed by Darin Adler.
4053
4054         Fix hard-to-see crash due to incorrect libxml API usage.
4055
4056         https://bugs.webkit.org/show_bug.cgi?id=36000
4057
4058         Test: fast/text/bad-encoding.html
4059
4060         * dom/XMLTokenizerLibxml2.cpp:
4061         (WebCore::XMLTokenizer::doEnd): Avoid operations on a closed context.
4062
4063 2010-03-23  Nate Chapin  <japhet@chromium.org>
4064
4065         Unreviewed, revert r56376.
4066
4067         This revision introduced a crash in a couple of layout tests
4068         on Chromium Linux.
4069
4070         * page/chromium/ChromeClientChromium.h:
4071         * platform/chromium/PopupMenuChromium.cpp:
4072         (WebCore::):
4073         (WebCore::PopupContainer::create):
4074         (WebCore::PopupContainer::PopupContainer):
4075         (WebCore::PopupContainer::showPopup):
4076         (WebCore::PopupContainer::showExternal):
4077         (WebCore::PopupContainer::hidePopup):
4078         (WebCore::PopupMenu::show):
4079         * platform/chromium/PopupMenuChromium.h:
4080         (WebCore::PopupItem::):
4081         (WebCore::PopupItem::PopupItem):
4082         (WebCore::PopupContainerSettings::):
4083         (WebCore::PopupContainer::listBox):
4084
4085 2010-03-23  David Hyatt  <hyatt@apple.com>
4086
4087         Reviewed by Simon Fraser and Darin Adler.
4088
4089         https://bugs.webkit.org/show_bug.cgi?id=36272, make sure nth-child can work when the portion with "n" is omitted.
4090
4091         Added fast/css/nth-child-implied-step.html
4092
4093         * css/CSSGrammar.y:
4094         * css/tokenizer.flex:
4095
4096 2010-03-23  Darin Adler  <darin@apple.com>
4097
4098         Reviewed by Sam Weinig.
4099
4100         Reduce and straighten internal use of DOMImplementation
4101         https://bugs.webkit.org/show_bug.cgi?id=36501
4102
4103         * WebCore.xcodeproj/project.pbxproj: Xcode decided to
4104         re-sort this file.
4105
4106         * dom/Clipboard.cpp: Removed unneeded include of DOMImplementation.h.
4107
4108         * dom/DOMImplementation.cpp: Removed unneeded createDocument and
4109         createHTMLDocument functions. These should be done directly instead
4110         of involving the DOMImplementation class.
4111         * dom/DOMImplementation.h: Ditto.
4112
4113         * dom/DocumentType.cpp: Removed unneeded include of DOMImplementation.h.
4114
4115         * html/HTMLViewSourceDocument.cpp:
4116         (WebCore::HTMLViewSourceDocument::createTokenizer): Don't allocate a
4117         DOMImplementation object just to use a class member function.
4118
4119         * loader/CachedFont.cpp: Removed unneeded include of DOMImplementation.h.
4120
4121         * xml/XMLHttpRequest.cpp:
4122         (WebCore::XMLHttpRequest::responseXML): Use Document::create to create a
4123         new document instead of involving DOMImplementation.
4124         * xml/XSLTProcessor.cpp:
4125         (WebCore::XSLTProcessor::createDocumentFromSource): Ditto. And in the case
4126         where we do need to call DOMImplementation to interpret the MIME type,
4127         don't allocate a DOMImplementation object just to use a class member
4128         function.
4129
4130 2010-03-23  Luiz Agostini  <luiz.agostini@openbossa.org>
4131
4132         Reviewed by Kenneth Rohde Christiansen.
4133
4134         [Qt] Maemo5 theme - all <select> elements should be rendered as menu lists.
4135         https://bugs.webkit.org/show_bug.cgi?id=36367
4136
4137         Enabling NO_LISTBOX_RENDERING in WebCore.pri for Maemo5.
4138
4139         * WebCore.pri:
4140
4141 2010-03-22  Joseph Pecoraro  <joepeck@webkit.org>
4142
4143         Reviewed by David Kilzer.
4144
4145         Upstream iPhone KeyEvent platform code and share with Mac platform
4146         https://bugs.webkit.org/show_bug.cgi?id=35870
4147
4148         * platform/iphone/KeyEventCodesIPhone.h: Improper comment for #endif.
4149         * platform/iphone/KeyEventIPhone.mm: Fixed headers.
4150
4151 2010-03-23  David Hyatt  <hyatt@apple.com>
4152
4153         Reviewed by Jeremy Orlow.
4154
4155         https://bugs.webkit.org/show_bug.cgi?id=36277, make sure nth-child supports the positive unary prefix (+) as well as the negative
4156         one (-).
4157
4158         Added fast/css/nth-child-unary-prefix.html
4159
4160         * css/tokenizer.flex:
4161
4162 2010-03-23  Andrey Kosyakov  <caseq@chromium.org>
4163
4164         Reviewed by Dmitry Titov.
4165
4166         Change notification sent to inspector frontend on workers creation / destruction
4167         to be posted asynchronously to avoid JS reenterability problems. Also, renamed
4168         willDestroyWorker to didDestroyWorker to reflect that it gets called later and got
4169         rid of explicit IDs for workers (use addresses instead).
4170         https://bugs.webkit.org/show_bug.cgi?id=36213
4171
4172         * inspector/InjectedScriptHost.cpp:
4173         (WebCore::InjectedScriptHost::didDestroyWorker):
4174         * inspector/InjectedScriptHost.h:
4175         * inspector/InjectedScriptHost.idl:
4176         * inspector/InspectorController.cpp:
4177         (WebCore::PostWorkerNotificationToFrontendTask::create):
4178         (WebCore::PostWorkerNotificationToFrontendTask::PostWorkerNotificationToFrontendTask):
4179         (WebCore::PostWorkerNotificationToFrontendTask::performTask):
4180         (WebCore::InspectorController::postWorkerNotificationToFrontend):
4181         (WebCore::InspectorController::didCreateWorker):
4182         (WebCore::InspectorController::didDestroyWorker):
4183         * inspector/InspectorController.h:
4184         (WebCore::InspectorController::):
4185         * inspector/InspectorFrontend.cpp:
4186         (WebCore::InspectorFrontend::didDestroyWorker):
4187         * inspector/InspectorFrontend.h:
4188         * inspector/InspectorWorkerResource.h:
4189         (WebCore::InspectorWorkerResource::create):
4190         (WebCore::InspectorWorkerResource::id):
4191         (WebCore::InspectorWorkerResource::InspectorWorkerResource):
4192         * inspector/front-end/InjectedFakeWorker.js:
4193         (InjectedFakeWorker.FakeWorker.prototype.terminate):
4194         * inspector/front-end/WorkersSidebarPane.js:
4195         (WebInspector.didDestroyWorker):
4196         * workers/AbstractWorker.cpp:
4197         (WebCore::AbstractWorker::AbstractWorker):
4198         (WebCore::AbstractWorker::onDestroyWorker):
4199         * workers/AbstractWorker.h:
4200         (WebCore::AbstractWorker::asID):
4201         * workers/SharedWorker.cpp:
4202         (WebCore::SharedWorker::SharedWorker):
4203         * workers/Worker.cpp:
4204         (WebCore::Worker::Worker):
4205
4206 2010-03-22  David Hyatt  <hyatt@apple.com>
4207
4208         Reviewed by Sam Weinig.
4209
4210         https://bugs.webkit.org/show_bug.cgi?id=36266, support DOM Level 3 focusin/focusout events.  Add support for
4211         IE onfocusin/onfocusout extensions to HTML.  The old DOM level 2 names (DOMFocusIn/DOMFocusOut are still supported).
4212
4213         Added fast/events/focusinout.html
4214
4215         * dom/Document.cpp:
4216         (WebCore::Document::setFocusedNode):
4217         * dom/Event.cpp:
4218         (WebCore::Event::aliasedType):
4219         (WebCore::Event::hasAliasedType):
4220         * dom/Event.h:
4221         * dom/EventNames.h:
4222         * dom/EventTarget.cpp:
4223         (WebCore::EventTarget::fireEventListeners):
4224         * dom/EventTarget.h:
4225         * dom/Node.cpp:
4226         (WebCore::Node::dispatchUIEvent):
4227         * html/HTMLAttributeNames.in:
4228         * html/HTMLButtonElement.cpp:
4229         (WebCore::HTMLButtonElement::parseMappedAttribute):
4230         * html/HTMLElement.cpp:
4231         (WebCore::HTMLElement::parseMappedAttribute):
4232         * html/HTMLFormControlElement.cpp:
4233         (WebCore::HTMLTextFormControlElement::parseMappedAttribute):
4234         * html/HTMLFrameSetElement.cpp:
4235         (WebCore::HTMLFrameSetElement::parseMappedAttribute):
4236         * html/HTMLSelectElement.cpp:
4237         (WebCore::HTMLSelectElement::parseMappedAttribute):
4238         * svg/SVGElement.cpp:
4239         (WebCore::SVGElement::parseMappedAttribute):
4240
4241 2010-03-23  MORITA Hajime  <morrita@google.com>
4242
4243         Reviewed by Alexey Proskuryakov.
4244
4245         WebCore::SelectionController::setSelection NULL pointer
4246         https://bugs.webkit.org/show_bug.cgi?id=31545
4247
4248         Added missing NULL-check that other APIs have.
4249
4250         Test: svg/dom/frame-related-api-during-load.html
4251
4252         * svg/SVGSVGElement.cpp:
4253         (WebCore::SVGSVGElement::deselectAll):
4254
4255 2010-03-23  Qi Zhang  <qi.2.zhang@nokia.com>
4256
4257         Reviewed by Simon Hausmann.
4258
4259         [Qt] LayoutTests/fast/canvas/fillrect_gradient.html failed
4260         https://bugs.webkit.org/show_bug.cgi?id=36444
4261
4262         Handle duplicated or unsorted colorStop at platformDestory
4263
4264         * platform/graphics/qt/GradientQt.cpp:
4265         (WebCore::Gradient::platformGradient):