[Qt] When using the raster graphics system on Maemo5, allow
[webkit:qtwebkit.git] / WebCore / ChangeLog
1 2010-08-20  Girish Ramakrishnan  <girish@forwardbias.in>
2
3         Reviewed by Ariya Hidayat.
4
5         [Qt] When using the raster graphics system on Maemo5, allow
6         Flash to render directly into the raster window surface.
7         wmode=transparent is now supported as a result of this change.
8         
9         https://bugs.webkit.org/show_bug.cgi?id=44043
10         
11         * plugins/qt/PluginViewQt.cpp:
12         (WebCore::PluginView::paintUsingImageSurfaceExtension):
13
14 2010-08-18  Girish Ramakrishnan  <girish@forwardbias.in>
15
16         Reviewed by Kenneth Rohde Christiansen.
17
18         [Qt] Implement Maemo5 local rendering NPAPI extension. See 
19         https://wiki.mozilla.org/Plugins:NokiaMaemoImageSurface for details.
20
21         With the local rendering extension, Flash will paint into a 16-bit surface.
22         For wmode=transparent, Flash expects the surface to contain the contents
23         beneath it. As it is tricky to implement the content propagation across all
24         graphics systems, transparent Flash is not supported. We just fill the surface 
25         with white and wmode=transparent behaves the same as wmode=opaque with a white 
26         background.
27
28         https://bugs.webkit.org/show_bug.cgi?id=44043
29
30         * WebCore.pro:
31         * plugins/PluginView.cpp:
32         (WebCore::PluginView::setValue):
33         (WebCore::PluginView::PluginView):
34         * plugins/PluginView.h:
35         * plugins/qt/PluginViewQt.cpp:
36         (WebCore::PluginView::updatePluginWidget):
37         (WebCore::PluginView::paintUsingImageSurfaceExtension):
38         (WebCore::PluginView::paint):
39         (WebCore::PluginView::platformGetValueStatic):
40
41 2010-08-17  Girish Ramakrishnan  <girish@forwardbias.in>
42
43         Reviewed by Antonio Gomes.
44
45         [Qt] On Maemo5, there is no libgdk-x11-2.0.so symlink. Look for 
46         libgdk-x11-2.0.so.0 instead on X11 and Maemo5.
47
48         https://bugs.webkit.org/show_bug.cgi?id=44043
49
50         * plugins/qt/PluginViewQt.cpp:
51         (WebCore::getPluginDisplay):
52
53 2010-08-17  Girish Ramakrishnan  <girish@forwardbias.in>
54
55         Reviewed by Kenneth Rohde Christiansen.
56         Set PluginQuirkRequiresDefaultScreenDepth for all Flash versions and not
57         just Flash 10.
58
59         https://bugs.webkit.org/show_bug.cgi?id=44043
60
61         * plugins/PluginPackage.cpp:
62         (WebCore::PluginPackage::determineQuirks):
63
64 2010-08-18  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
65
66         Reviewed by Steve Block.
67
68         [Qt] Request for permission before starting Geolocation service
69         https://bugs.webkit.org/show_bug.cgi?id=42027
70
71         Handles starting location acquisition when request is granted for ports using 
72         "!CLIENT_BASED_GEOLOCATION and PREEMPT_GEOLOCATION_PERMISSION" policy
73         Only Qt port as of today uses the above combination. Enable 
74         PREEMPT_GEOLOCATION_PERMISSION for qt port. 
75
76         Below tests cover these changes on platform using PREEMPT_GEOLOCATION_PERMISSION
77         - fast/dom/Geolocation/delayed-permission-allowed.html
78         - fast/dom/Geolocation/delayed-permission-denied.html
79         - fast/dom/Geolocation/delayed-permission-allowed-for-multiple-requests.html
80         - fast/dom/Geolocation/delayed-permission-denied-for-multiple-requests.html
81
82         * WebCore.pro:
83         * page/Geolocation.cpp:
84         (WebCore::Geolocation::handlePendingPermissionNotifiers):
85
86 2010-08-18  Sheriff Bot  <webkit.review.bot@gmail.com>
87
88         Unreviewed, rolling out r65603.
89         http://trac.webkit.org/changeset/65603
90         https://bugs.webkit.org/show_bug.cgi?id=44179
91
92         4 tests crash on Qt bot (Requested by Ossy on #webkit).
93
94         * WebCore.pro:
95         * page/Geolocation.cpp:
96         (WebCore::Geolocation::handlePendingPermissionNotifiers):
97
98 2010-08-18  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
99
100         Reviewed by Steve Block.
101
102         [Qt] Request for permission before starting Geolocation service
103         https://bugs.webkit.org/show_bug.cgi?id=42027
104
105         Handles starting location acquisition when request is granted for ports using 
106         "!CLIENT_BASED_GEOLOCATION and PREEMPT_GEOLOCATION_PERMISSION" policy
107         Only Qt port as of today uses the above combination. Enable 
108         PREEMPT_GEOLOCATION_PERMISSION for qt port. 
109
110         Below tests cover these changes on platform using PREEMPT_GEOLOCATION_PERMISSION
111         - fast/dom/Geolocation/delayed-permission-allowed.html
112         - fast/dom/Geolocation/delayed-permission-denied.html
113         - fast/dom/Geolocation/delayed-permission-allowed-for-multiple-requests.html
114         - fast/dom/Geolocation/delayed-permission-denied-for-multiple-requests.html
115
116         * WebCore.pro:
117         * page/Geolocation.cpp:
118         (WebCore::Geolocation::handlePendingPermissionNotifiers):
119
120 2010-08-17  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
121
122         Reviewed by Steve Block.
123
124         Geolocation preemptive permissions policy is buggy
125         https://bugs.webkit.org/show_bug.cgi?id=42811
126
127         While waiting for permission, m_startRequestPermissionNotifier was 
128         used to consider only one pending request. This patch implements a set
129         m_pendingForPermissionNotifiers to maintain set of pending requests. 
130         When user grants/denies permission all listeners will be notified. 
131         Also fixed issue with hasZeroTimeout() where startTimerIfNeeded() has
132         to start irrespective of permission state
133
134         Tests: fast/dom/Geolocation/delayed-permission-allowed-for-multiple-requests.html
135                fast/dom/Geolocation/delayed-permission-denied-for-multiple-requests.html
136
137         * WebCore.pro:
138         * page/Geolocation.cpp:
139         (WebCore::Geolocation::startRequest):
140         (WebCore::Geolocation::setIsAllowed):
141         (WebCore::Geolocation::startUpdating):
142         (WebCore::Geolocation::handlePendingPermissionNotifiers):
143         * page/Geolocation.h:
144
145 2010-07-27  Steve Block  <steveblock@google.com>
146
147         Reviewed by Jeremy Orlow.
148
149         Client-based Geolocation does not pass enableHighAccuracy option to controller and client
150         https://bugs.webkit.org/show_bug.cgi?id=40374
151
152         This change passes the enableHighAccuracy request option to the GeolocationController.
153         The GeolocationController tracks whether this should be used by the client.
154
155         No new tests possible as the mock provider doesn't support this feature.
156
157         * page/Geolocation.cpp:
158         (WebCore::Geolocation::setIsAllowed):
159         (WebCore::Geolocation::startUpdating):
160         * page/GeolocationController.cpp:
161         (WebCore::GeolocationController::addObserver):
162         (WebCore::GeolocationController::removeObserver):
163         * page/GeolocationController.h:
164         * page/GeolocationControllerClient.h:
165
166 2010-08-24  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
167
168         Reviewed by Simon Hausmann.
169
170         [Qt][Symbian] Make sure WebKit headers are included before platform headers on Symbian
171         https://bugs.webkit.org/show_bug.cgi?id=31273
172
173         On Symbian PREPEND_INCLUDEPATH is the best way to make sure that
174         WebKit headers are included before platform headers. On all other
175         platforms continue to use INCLUDEPATH (as before).
176
177         This patch also removed the workarounds that are put in place 
178         now that we have a better solution.
179
180         No new tests as there is no new functionality.
181
182         * WebCore.pro:
183
184 2010-08-16  Andreas Kling  <andreas.kling@nokia.com>
185
186         Reviewed by Darin Adler.
187
188         CSS: Add fast-path for rgba() color parsing
189         https://bugs.webkit.org/show_bug.cgi?id=42965
190
191         Test: fast/canvas/rgba-parsing.html
192
193         * css/CSSParser.cpp:
194         (WebCore::CSSParser::parseColor): Extended with support for rgba().
195         (WebCore::parseAlphaValue): Added, parses an alpha value using
196         WTF::strtod() (if necessary) and clamps between 0 and 1.
197         (WebCore::isTenthAlpha):
198
199 2010-08-23  Andreas Kling  <andreas.kling@nokia.com>
200
201         Reviewed by Kenneth Rohde Christiansen.
202
203         [Qt] -webkit-text-stroke is broken due to Qt::TextBypassShaping
204         https://bugs.webkit.org/show_bug.cgi?id=44403
205
206         Don't bypass the Harfbuzz shaping if we're drawing text with a stroke.
207         For canvas, always use complex text shaping since stroke and fill are decoupled.
208
209         * html/canvas/CanvasRenderingContext2D.cpp:
210         (WebCore::CanvasRenderingContext2D::measureText):
211         (WebCore::CanvasRenderingContext2D::drawTextInternal):
212         * platform/graphics/qt/FontQt.cpp:
213         (WebCore::drawTextCommon):
214
215 2010-08-16  Andreas Kling  <andreas.kling@nokia.com>
216
217         Reviewed by Ariya Hidayat.
218
219         [Qt] Path::closeSubpath() should only close the last subpath if it has >1 point
220         https://bugs.webkit.org/show_bug.cgi?id=44061
221
222         Spec link:
223         http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-closepath
224
225         Test: fast/canvas/canvas-closePath-single-point.html
226
227         * platform/graphics/Path.h: Add a Qt-only member to track the last subpath.
228         * platform/graphics/qt/PathQt.cpp:
229         (WebCore::Path::closeSubpath): Only close the last subpath if it
230         has more than 1 point. Otherwise behave as moveTo(first point in last subpath)
231         (WebCore::Path::Path):
232         (WebCore::Path::operator=):
233         (WebCore::Path::moveTo):
234         (WebCore::Path::transform):
235
236 2010-08-19  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
237
238         Reviewed by Simon Hausmann.
239
240         [Qt] Disable XSLT for production configuration
241         https://bugs.webkit.org/show_bug.cgi?id=37445
242
243         Introduce a new CONFIG option to maintain stable configuration for
244         the QtWebKit port and disable XSLT for the stable configuration
245         because of bug 37445.
246
247         No new tests as there is no new functionality.
248
249         * features.pri:
250
251 2010-08-12  Hui Huang  <hui.2.huang@nokia.com>
252
253         Reviewed by Eric Seidel.
254
255         m_windowRect is not updated because parent of PluginView is not
256         set when updatePluginWidget is called. plugin gets wrong window
257         size on setwindow.
258         https://bugs.webkit.org/show_bug.cgi?id=43635
259
260         * plugins/symbian/PluginViewSymbian.cpp:
261         (WebCore::PluginView::setParent):
262
263 2010-08-13  Simon Hausmann  <simon.hausmann@nokia.com>
264
265         Reviewed by Ariya Hidayat.
266
267         [Qt] Clean up mobile feature useage
268         https://bugs.webkit.org/show_bug.cgi?id=43968
269
270         * WebCore.pro: Replaced use of Nokia specific platform scopes with concrete
271         feature names.
272
273 2010-08-12  Benjamin Poulain  <benjamin.poulain@nokia.com>
274
275         Reviewed by Simon Hausmann.
276
277         [Qt] Decode images directly to QPixmap
278         https://bugs.webkit.org/show_bug.cgi?id=40797
279
280         Use the new API of Qt 4.7 to decode data from the image
281         reader directly to QPixmap.
282
283         This allow us to use JDCT_IFAST when decoding jpeg images
284         to pixmap, and to decode animated GIF images, while still
285         using in-place conversion of color space.
286
287         * platform/graphics/qt/ImageDecoderQt.cpp:
288         (WebCore::ImageDecoderQt::setData):
289         (WebCore::ImageDecoderQt::internalHandleCurrentImage):
290
291 2010-08-10  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
292
293         Reviewed by Simon Hausmann.
294
295         Make sure NPAPI plugins get an initial setNPWindow on Mac
296
297         https://bugs.webkit.org/show_bug.cgi?id=43782
298
299         * plugins/mac/PluginViewMac.mm:
300
301 2010-08-04  Antonio Gomes  <tonikitoo@webkit.org>
302
303         Reviewed by Daniel Bates.
304
305         Remove superfluous non-negative checks in HitTestResult:padding{Width|Height}
306         https://bugs.webkit.org/show_bug.cgi?id=43534
307
308         As pointed out by Steve Block in https://bugs.webkit.org/show_bug.cgi?id=40197#c54 ,
309         the non-negative checks present in both paddingWidth and paddingHeight methods of
310         HitTestResults class are superflous, after we changed the rect based hit testing logic
311         of invalid padding from IntSize(-1, -1) to IntSize(0, 0). Patch addresses this issue.
312
313         No new tests needed.
314
315         * rendering/HitTestResult.h:
316         (WebCore::HitTestResult::paddingWidth):
317         (WebCore::HitTestResult::paddingHeight):
318
319 2010-07-30  Luiz Agostini  <luiz.agostini@openbossa.org>
320
321         Reviewed by Simon Fraser.
322
323         Enabling view modes to all platforms
324         https://bugs.webkit.org/show_bug.cgi?id=37505
325
326         View mode media feature implementation as specified in http://www.w3.org/TR/view-mode.
327
328         The view mode media feature layout tests are stil skipped for all platforms except Qt
329         because of the lack of support of LayoutTestController in those platforms.
330
331         Test: fast/media/view-mode-media-feature.html
332
333         * css/MediaFeatureNames.h:
334         * css/MediaQueryEvaluator.cpp:
335         (WebCore::view_modeMediaFeatureEval):
336         * page/ChromeClient.h:
337         * page/Page.cpp:
338         (WebCore::Page::Page):
339         (WebCore::createViewModesSet):
340         (WebCore::Page::setViewMode):
341         * page/Page.h:
342         (WebCore::Page::viewMode):
343
344 2010-08-05  Simon Hausmann  <simon.hausmann@nokia.com>
345
346         Reviewed by Laszlo Gombos.
347
348         [Qt] Temporary files should not be created in the current directory
349         https://bugs.webkit.org/show_bug.cgi?id=43562
350
351         Don't create temporary files in the current directory, use QDir::tempPath()
352         instead, as suggested by the QTemporaryFile documentation.
353
354         * platform/qt/FileSystemQt.cpp:
355         (WebCore::openTemporaryFile):
356
357 2010-08-05  Simon Hausmann  <simon.hausmann@nokia.com>
358
359         Reviewed by Tor Arne Vestbø.
360
361         [Qt] Clean up the input method handling
362         https://bugs.webkit.org/show_bug.cgi?id=43545
363
364         Changed input method hint interface to be more efficient by setting
365         all hints in one shot, like in QWidget.
366
367         * platform/qt/QWebPageClient.h:
368
369 2010-08-04  Abhishek Arya  <inferno@chromium.org>
370
371         Unreviewed. Put missing equivalent js bindings check.
372
373         Forgot putting js bindings check in http://trac.webkit.org/changeset/64647. This fixes the qt crash.
374
375         * bindings/js/JSDesktopNotificationsCustom.cpp:
376         (WebCore::JSNotificationCenter::requestPermission):
377
378 2010-08-03  Abhishek Arya  <inferno@chromium.org>
379
380         Reviewed by Alexey Proskuryakov.
381
382         Null the script execution context when disconnecting frame in notifications.
383         Make sure that script execution context is valid in notification requestPermission.
384         https://bugs.webkit.org/show_bug.cgi?id=43295
385
386         Tests: fast/notifications/notifications-document-close-crash.html
387
388         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
389         (WebCore::V8NotificationCenter::requestPermissionCallback):
390         * notifications/NotificationCenter.cpp:
391         (WebCore::NotificationCenter::disconnectFrame):
392
393 2010-08-04  Andreas Kling  <andreas.kling@nokia.com>
394
395         Reviewed by Simon Hausmann.
396
397         [Qt] Use a QImage for the stroke applier scratch context
398
399         This avoids leaking a server-side resource on some graphics systems.
400
401         * platform/graphics/qt/PathQt.cpp:
402         (WebCore::scratchContext):
403
404 2010-07-21 Grace Kloba  <klobag@gmail.com> , Antonio Gomes  <tonikitoo@webkit.org>
405
406         Reviewed by David Hyatt.
407
408         Enhance the hit testing to take a rectangle instead of a point
409         https://bugs.webkit.org/show_bug.cgi?id=40197
410
411         The primary goal of this change is to provide mechanisms for more precise tap
412         actions by the users on mobile devices.
413
414         Patch extends the hit testing system to work considering a rectangular area
415         as input instead of a point, when applicable. For that, the HitTestResult class
416         was modified to take a padding (IntSize). The padding specifies a fuzzy range for
417         accepting input events in pixels coordinates for both vertical and horizontal
418         orientations. In other words, it tells how much to expand the search rect
419         around a supposed touch point.
420
421         If it is non-positive padding (e.g. (-1, -1), (5, -1), (0, 0)), hit testing will behavior
422         as the current point based hit testing: methods are no-op'ed to not regress it performance-wise
423         since it is the common behavior. When positive padding is provided, the HitTestResult class will
424         keep record of all nodes that intersect the built up test area. The logic will continue searching
425         when it finds a candidate until the hit test area is fully enclosed by the boundaries of a candidate.
426         The result will be a list of nodes in the z-order they are hit-tested. Caller will decide how
427         to process them.
428
429         In order to expose the functionality, the patch:
430
431         - Adds a nodesFromRect method to the Document class, exposing the funcionality
432         to the DOM. Method returns a NodeList with all nodes that intersect the given
433         hit-tested area.
434         - Extends hitTestResultAtPoint method of the EventHandler with an extra 'padding'
435         parameter, defaulting to IntSize(-1, -1). The rect-based hit test is performed when a
436         non-negative padding is passed in.
437
438         Test: fast/dom/nodesFromRect-basic.html
439
440         * WebCore.base.exp:
441         * dom/Document.cpp:
442         (WebCore::Document::nodesFromRect): This method exposes the rect based funcionality to
443         the DOM. It works similarly to elementFromPoint, however receiving a rectangular area
444         as input instead of a point, and returning a z-index ordered list of nodes (not elements)
445         whose area intersect the hit test rect.
446         * dom/Document.h: Ditto.
447         * dom/Document.idl: Ditto.
448         * page/EventHandler.cpp:
449         (WebCore::EventHandler::hitTestResultAtPoint): The funcionality is also exposed through this
450         method. Patch adds a additional IntSize parameter to work as the padding area, building up
451         the hit test rect.
452         * page/EventHandler.h: Ditto.
453         * rendering/HitTestResult.cpp:
454         (WebCore::HitTestResult::HitTestResult): Rect based hit test constructor. Receives a
455         padding IntSize as parameter. It can be (0,0).
456         (WebCore::HitTestResult::operator=): Modified to assign the m_rectBasedTestResult as well.
457         (WebCore::HitTestResult::append): Merge to HitTestResult objects in a way that the
458         list node's of both objects get amended.
459         (WebCore::HitTestResult::addNodeToRectBasedTestResult): Adds a given Node to the list of
460         hit nodes.
461         * rendering/HitTestResult.h:
462         (WebCore::HitTestResult::padding): Returns the padding as an IntSize.
463         (WebCore::HitTestResult::isRectBasedTest): Returns if the HitTestResult is rect based or not.
464         (WebCore::HitTestResult::.rectBasedTestResult): Returns the list nodes hit.
465         (WebCore::HitTestResult::rectFromPoint): Returns the hit test rect given the hit test point
466         and padding.
467         * rendering/RenderLayer.cpp:
468         (WebCore::RenderLayer::hitTestLayer):
469         (WebCore::RenderLayer::hitTestList):
470         (WebCore::RenderLayer::hitTestChildLayerColumns):
471         * rendering/EllipsisBox.cpp:
472         (WebCore::EllipsisBox::nodeAtPoint): Method is modified to support rect based hit test extension.
473         Now it not just checks if the boundary of the node being hit-tested contains a hit test point, but
474         instead it checks if the boundary of the node intersects a hit test rect. It is implemented so
475         that the common case (point based hit test) works as previously.
476         * rendering/InlineFlowBox.cpp:
477         (WebCore::InlineFlowBox::nodeAtPoint): Ditto.
478         * rendering/InlineTextBox.cpp:
479         (WebCore::InlineTextBox::nodeAtPoint): Ditto.
480         * rendering/RenderBlock.cpp:
481         (WebCore::RenderBlock::nodeAtPoint): Ditto.
482         (WebCore::RenderBlock::hitTestColumns): Ditto.
483         * rendering/RenderBox.cpp:
484         (WebCore::RenderBox::nodeAtPoint): Ditto.
485         * rendering/RenderImage.cpp:
486         (WebCore::RenderImage::nodeAtPoint): Ditto.
487         * rendering/RenderLineBoxList.cpp:
488         (WebCore::RenderLineBoxList::hitTest):
489         * rendering/RenderSVGRoot.cpp:
490         (WebCore::RenderSVGRoot::nodeAtPoint): Ditto.
491         * rendering/RenderTable.cpp:
492         (WebCore::RenderTable::nodeAtPoint): Ditto.
493         * rendering/RenderTableSection.cpp:
494         (WebCore::RenderTableSection::nodeAtPoint): Ditto.
495         * rendering/RenderWidget.cpp:
496         (WebCore::RenderWidget::nodeAtPoint): Ditto.
497
498 2010-07-22  Ben Murdoch  <benm@google.com>
499
500         Reviewed by Simon Fraser.
501
502         Touch events do not affect the :active CSS state
503         https://bugs.webkit.org/show_bug.cgi?id=39493
504
505         Clean the code up by using a typedef based on comments
506         post landing of the original patch.
507
508         No change in functionality so no new tests.
509
510         * rendering/HitTestRequest.h: Typedef the HitTestRequestType to unsigned.
511         * WebCore.exp.in: Update export signature.
512         * WebCore.order: Ditto.
513         * page/EventHandler.cpp: use the new typedef.
514         * page/EventHandler.h: ditto.
515
516
517 2010-07-24  Andreas Kling  <andreas.kling@nokia.com>
518
519         Reviewed by Simon Hausmann.
520
521         [Qt] tst_QWebFrame::callQtInvokable() fails
522         https://bugs.webkit.org/show_bug.cgi?id=41065
523
524         Converting JS objects to QVariantMaps was broken.
525         This is a partial revert of <http://trac.webkit.org/changeset/61478>
526
527         * bridge/qt/qt_runtime.cpp:
528         (JSC::Bindings::convertValueToQVariant): Remove erroneous crash guard
529         around JSObject::getPropertyNames()
530
531 2010-07-22  Kim Grönholm  <kim.1.gronholm@nokia.com>
532
533         Reviewed by NOBODY (OOPS!).
534
535         Generate TransformAction events from touch gestures
536         https://bugs.webkit.org/show_bug.cgi?id=39979
537
538         Enabling transformaction events to be generated from multi-touch
539         gestures by adding gesture handling machinery and eventhandler hooks.
540
541         Test: fast/events/transformaction/basic-transformaction-events.html
542         Tests basic single- and multi-touch sequences and the corresponding
543         TransformAction events that are generated.
544
545         A manual test can be found from:
546         https://bug-39757-attachments.webkit.org/attachment.cgi?id=57226
547
548         * WebCore.pro:
549         * page/EventHandler.cpp:
550         (WebCore::hasTransformActionEventListener):
551         (WebCore::EventHandler::handleTouchEvent):
552         * page/EventHandler.h:
553         * page/TouchGestureHandler.cpp: Added.
554         (WebCore::TouchGestureHandler::TouchGestureHandler):
555         (WebCore::TouchGestureHandler::updateRefreshNeededState):
556         (WebCore::TouchGestureHandler::updateTouchPoints):
557         (WebCore::TouchGestureHandler::reset):
558         (WebCore::TouchGestureHandler::calcAngle):
559         (WebCore::TouchGestureHandler::diffAngle):
560         (WebCore::TouchGestureHandler::calcPos):
561         (WebCore::TouchGestureHandler::calcDistance):
562         * page/TouchGestureHandler.h: Added.
563         (WebCore::TouchGestureHandler::translateX):
564         (WebCore::TouchGestureHandler::translateY):
565         (WebCore::TouchGestureHandler::pos):
566         (WebCore::TouchGestureHandler::screenPos):
567         (WebCore::TouchGestureHandler::scale):
568         (WebCore::TouchGestureHandler::rotate):
569
570 2010-07-22  Kim Grönholm  <kim.1.gronholm@nokia.com>
571
572         Reviewed by NOBODY (OOPS!).
573
574         Add TransformActionEvent support
575         https://bugs.webkit.org/show_bug.cgi?id=39757
576
577         Added only the necessary TransformAction event interfaces and not e.g.
578         any eventhandler hooks that generate and dispatch them.
579
580         Test: fast/events/transformaction/create-transformaction-event.html
581         More tests will be added with the machinery that generates and
582         dispatches these events.
583
584         * Android.derived.jscbindings.mk:
585         * Android.derived.v8bindings.mk:
586         * Android.mk:
587         * CMakeLists.txt:
588         * DerivedSources.cpp:
589         * DerivedSources.make:
590         * GNUmakefile.am:
591         * WebCore.gypi:
592         * WebCore.pri:
593         * WebCore.pro:
594         * bindings/generic/RuntimeEnabledFeatures.cpp:
595         * bindings/generic/RuntimeEnabledFeatures.h:
596         (WebCore::RuntimeEnabledFeatures::transformactionEnabled):
597         (WebCore::RuntimeEnabledFeatures::setTransformActionEnabled):
598         (WebCore::RuntimeEnabledFeatures::ontransformactionstartEnabled):
599         (WebCore::RuntimeEnabledFeatures::ontransformactionupdateEnabled):
600         (WebCore::RuntimeEnabledFeatures::ontransformactionendEnabled):
601         * bindings/js/JSEventCustom.cpp:
602         (WebCore::toJS):
603         * bindings/v8/custom/V8EventCustom.cpp:
604         (WebCore::toV8):
605         * dom/Document.cpp:
606         (WebCore::Document::createEvent):
607         (WebCore::Document::addListenerTypeIfNeeded):
608         * dom/Document.h:
609         (WebCore::Document::):
610         * dom/Document.idl:
611         * dom/Element.h:
612         * dom/Element.idl:
613         * dom/Event.cpp:
614         (WebCore::Event::isTransformActionEvent):
615         (WebCore::Event::fromUserGesture):
616         * dom/Event.h:
617         * dom/EventNames.h:
618         * dom/TransformActionEvent.cpp: Added.
619         (WebCore::TransformActionEvent::TransformActionEvent):
620         (WebCore::TransformActionEvent::initTransformActionEvent):
621         * dom/TransformActionEvent.h: Added.
622         (WebCore::TransformActionEvent::create):
623         (WebCore::TransformActionEvent::translateX):
624         (WebCore::TransformActionEvent::translateY):
625         (WebCore::TransformActionEvent::translateSpeedX):
626         (WebCore::TransformActionEvent::translateSpeedY):
627         (WebCore::TransformActionEvent::scale):
628         (WebCore::TransformActionEvent::scaleSpeed):
629         (WebCore::TransformActionEvent::rotate):
630         (WebCore::TransformActionEvent::rotateSpeed):
631         (WebCore::TransformActionEvent::TransformActionEvent):
632         (WebCore::TransformActionEvent::isTransformActionEvent):
633         * dom/TransformActionEvent.idl: Added.
634         * html/HTMLAttributeNames.in:
635         * html/HTMLElement.cpp:
636         (WebCore::HTMLElement::parseMappedAttribute):
637         * page/DOMWindow.h:
638         * page/DOMWindow.idl:
639
640 2010-01-07  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
641
642         Reviewed by NOBODY (OOPS!).
643
644         [RVCT] ACID3 test crash
645         https://bugs.webkit.org/show_bug.cgi?id=33280
646
647         Workaround developed by Yongjun Zhang.
648
649         * dom/Element.cpp:
650         (WebCore::Element::setAttribute):
651
652 2010-07-22  Kent Tamura  <tkent@chromium.org>
653
654         Reviewed by Darin Adler.
655
656         Small refactoring for input value sanitization
657         https://bugs.webkit.org/show_bug.cgi?id=42807
658
659         Rename some functions to clarify their roles.
660
661         * dom/InputElement.cpp:
662         (WebCore::replaceEOLAndLimitLength):
663           Renamed from sanitizeUserInputValue().
664         (WebCore::InputElement::sanitizeValueForTextField):
665           Renamed from sanitizeValue(), and call replaceEOLAndLimitLength()
666           instead of sanitizeUserInputValue().
667         (WebCore::InputElement::sanitizeUserInputValue):
668           Just call replaceEOLAndLimitLength().
669         (WebCore::InputElement::updateValueIfNeeded):
670           Use non-static sanitizeValue() for consistency.
671         * dom/InputElement.h:
672         * html/HTMLInputElement.cpp:
673         (WebCore::HTMLInputElement::setInputType):
674           Revert the change of r63876. It is not needed because of the
675           updateValueIfNeeded() change.
676         (WebCore::HTMLInputElement::sanitizeValue):
677           Apply the sanitizeValue() renaming.
678
679 2010-07-22  Tony Gentilcore  <tonyg@chromium.org>
680
681         Reviewed by Darin Fisher.
682
683         webkitPerformance.timing.responseEnd should not include document parse time
684         https://bugs.webkit.org/show_bug.cgi?id=42797
685
686         No new tests because timing based test would be flaky.
687
688         * loader/FrameLoader.cpp:
689         (WebCore::FrameLoader::finishedLoading): finishedLoading() is called by the platform at the right time, but didReceiveData() synchronously invokes parsing without returning to the event loop prior to this. So by the time the didFinishLoading() method is executed, parsing is finished. The solution is to move this time to didReceiveData() prior to parsing.
690         * loader/MainResourceLoader.cpp:
691         (WebCore::MainResourceLoader::didReceiveData): Update the time each time didReceiveData() is called.
692         (WebCore::MainResourceLoader::didFinishLoading): When finished, and after parsing, set responseEnd appropriately.
693         * loader/MainResourceLoader.h:
694         * page/Timing.cpp:
695         (WebCore::Timing::resourceLoadTimeRelativeToAbsolute): Now that responseEnd is set correctly, it can be much shorter for very fast loads (like local files). This exposed the fact that this skew check was not tight enough. We need to make sure that the whole range of values from the ResourceLoadTiming API fit within fetchStart-responseEnd, not just that requestTime fits in this range.
696
697 2010-07-21  Kent Tamura  <tkent@chromium.org>
698
699         Reviewed by Darin Adler.
700
701         Assertion failure by changing the type of an input element with a
702         non-number value to 'range'.
703         https://bugs.webkit.org/show_bug.cgi?id=42643
704
705         Test: fast/forms/input-value-sanitization.html
706
707         * html/HTMLInputElement.cpp:
708         (WebCore::HTMLInputElement::setInputType):
709         Update the value by HTMLInputElement::sanitizeValue() in a case that
710         storesValueSeparateFromAttribute() state is not changed.
711
712 2010-07-21  Adam Barth  <abarth@webkit.org>
713
714         Reviewed by Eric Seidel.
715
716         Implement spec changes for basefont and bgsound
717         https://bugs.webkit.org/show_bug.cgi?id=42792
718
719         * html/HTMLTreeBuilder.cpp:
720         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
721         (WebCore::HTMLTreeBuilder::processStartTag):
722         (WebCore::HTMLTreeBuilder::processStartTagForInHead):
723
724 2010-07-21  Adam Barth  <abarth@webkit.org>
725
726         Reviewed by Eric Seidel.
727
728         Update a list of tags to match changes in the HTML5 spec
729         https://bugs.webkit.org/show_bug.cgi?id=42791
730
731         We need to atomize these strings at some point.
732
733         * html/HTMLTreeBuilder.cpp:
734         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
735
736 2010-07-21  Adam Barth  <abarth@webkit.org>
737
738         Reviewed by Eric Seidel.
739
740         HTMLTreeBuilder needs to update to match new spec behavior for <button>
741         https://bugs.webkit.org/show_bug.cgi?id=42233
742
743         The spec has some typos in this area, but this is my best guess for
744         what Ian means.  I've filed bugs against the spec for each typo.
745
746         * html/HTMLElementStack.cpp:
747         (WebCore::HTMLNames::isScopeMarker):
748         (WebCore::HTMLNames::isButtonScopeMarker):
749         (WebCore::HTMLElementStack::inButtonScope):
750         * html/HTMLElementStack.h:
751         * html/HTMLTreeBuilder.cpp:
752         (WebCore::HTMLTreeBuilder::processFakePEndTagIfPInButtonScope):
753         (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag):
754         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
755         (WebCore::HTMLTreeBuilder::processEndTagForInBody):
756         * html/HTMLTreeBuilder.h:
757
758 2010-07-21  Justin Schuh  <jschuh@chromium.org>
759
760         Reviewed by Oliver Hunt.
761
762         Prevent DeleteButtonController enable state from changing when not editing
763         https://bugs.webkit.org/show_bug.cgi?id=42659
764
765         Test: svg/custom/use-invalid-html.xhtml
766
767         * dom/ContainerNode.cpp:
768         (WebCore::ContainerNode::cloneChildNodes):
769
770 2010-07-21  Beth Dakin  <bdakin@apple.com>
771
772         Reviewed by Dan Bernstein.
773
774         Fix for https://bugs.webkit.org/show_bug.cgi?id=42605 New border-
775         radius path-based drawing code has some issues with corner-joins
776
777         GraphicsContext::clipConvexPolygon() now takes a boolean parameter 
778         indicating whether or not the clip should be antialiased.
779         * platform/graphics/GraphicsContext.h:
780         * platform/graphics/cairo/GraphicsContextCairo.cpp:
781         (WebCore::GraphicsContext::clipConvexPolygon):
782         * platform/graphics/cg/GraphicsContextCG.cpp:
783         (WebCore::GraphicsContext::clipConvexPolygon):
784         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
785         (WebCore::GraphicsContext::clipConvexPolygon):
786         * platform/graphics/qt/GraphicsContextQt.cpp:
787         (WebCore::GraphicsContext::clipConvexPolygon):
788         * platform/graphics/skia/GraphicsContextSkia.cpp:
789         (WebCore::GraphicsContext::clipConvexPolygon):
790         * platform/graphics/wince/GraphicsContextWince.cpp:
791         (WebCore::GraphicsContext::clipConvexPolygon):
792         * platform/graphics/wx/GraphicsContextWx.cpp:
793         (WebCore::GraphicsContext::clipConvexPolygon):
794
795         Compute 4 booleans determining if each edge is a "matching" edge of 
796         not. Send the two appropriate values to clipBorderSidePolygon() so 
797         we can decide there whether or not to antialias the clip based on 
798         matchy-ness.
799         * rendering/RenderBoxModelObject.cpp:
800         (WebCore::RenderBoxModelObject::paintBorder):
801
802         If both edges are matching, don't antialias. If neither edge 
803         matches, never antialias. If one edge matches and one does not, 
804         apply two clips to get the appropriate antialiasing in each corner.
805         (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
806         * rendering/RenderBoxModelObject.h:
807
808 2010-07-21  Brady Eidson  <beidson@apple.com>
809
810         Reviewed by Geoffrey Garen.
811
812         Break out "scheme registration" functionality from SecurityOrigin to a SchemeRegistry
813         https://bugs.webkit.org/show_bug.cgi?id=42783
814
815         No new tests. (No change in behavior)
816
817         * GNUmakefile.am:
818         * WebCore.exp.in:
819         * WebCore.gypi:
820         * WebCore.pro:
821         * WebCore.vcproj/WebCore.vcproj:
822         * WebCore.xcodeproj/project.pbxproj:
823         
824         * loader/FrameLoader.cpp:
825         (WebCore::FrameLoader::isMixedContent):
826         (WebCore::FrameLoader::loadFrameRequest):
827         
828         * page/SecurityOrigin.cpp:
829         (WebCore::SecurityOrigin::SecurityOrigin):
830         (WebCore::SecurityOrigin::canLoad):
831         (WebCore::SecurityOrigin::isLocal):
832         * page/SecurityOrigin.h:
833         
834         * platform/SchemeRegistry.cpp: Added.
835         (WebCore::localSchemes):
836         (WebCore::secureSchemes):
837         (WebCore::schemesWithUniqueOrigins):
838         (WebCore::SchemeRegistry::registerURLSchemeAsLocal):
839         (WebCore::SchemeRegistry::removeURLSchemeRegisteredAsLocal):
840         (WebCore::SchemeRegistry::localURLSchemes):
841         (WebCore::SchemeRegistry::shouldTreatURLAsLocal):
842         (WebCore::SchemeRegistry::shouldTreatURLSchemeAsLocal):
843         (WebCore::SchemeRegistry::registerURLSchemeAsNoAccess):
844         (WebCore::SchemeRegistry::shouldTreatURLSchemeAsNoAccess):
845         (WebCore::SchemeRegistry::registerURLSchemeAsSecure):
846         (WebCore::SchemeRegistry::shouldTreatURLSchemeAsSecure):
847         * platform/SchemeRegistry.h: Added.
848
849 2010-07-21  Chris Marrin  <cmarrin@apple.com>
850
851         Reviewed by Simon Fraser.
852
853         Assertion failure in AnimationBase::updateStateMachine() coming out of paused state
854         https://bugs.webkit.org/show_bug.cgi?id=37993
855         
856         Added logic to properly handle pausing and resuming when in the 
857         AnimationStateStartWaitStyleAvailable state. This was causing an
858         assert when going out of the pause state because the paused flag
859         was not set.
860         
861         The fix is a straightforward implementation, going into a new
862         AnimationStatePausedWaitStyleAvailable state and setting the paused
863         flag (actually setting the m_pauseTime variable to something other
864         than -1). Also added handling of the new state, both when the 
865         "style available" callback comes in while in this state and when
866         unpausing while in this state. 
867         
868         For now a LayoutTest is not possible since there's no way to go in
869         and out of the pause state. I've opened https://bugs.webkit.org/show_bug.cgi?id=42790
870         to track this.
871
872         * page/animation/AnimationBase.cpp:
873         (WebCore::AnimationBase::updateStateMachine):
874         * page/animation/AnimationBase.h:
875         (WebCore::AnimationBase::):
876
877 2010-07-21  Bo Liu  <boliu@chromium.org>
878
879         Reviewed by Darin Fisher.
880
881         [Chromium] Add chromium WebMediaPlayer to PlatformMedia
882         https://bugs.webkit.org/show_bug.cgi?id=41295
883
884         * platform/graphics/MediaPlayer.h:
885         (WebCore::PlatformMedia::):
886
887 2010-07-21  Simon Fraser  <simon.fraser@apple.com>
888
889         Reviewed by Anders Carlsson.
890
891         Composited layers don't scroll in WebKit2
892         https://bugs.webkit.org/show_bug.cgi?id=42771
893
894         Prep work: FrameView::scrollPositionChanged() sounds like a generic "did scroll" bottleneck,
895         but this is deceiving. It's only every called on one platform (Mac) when the NSScrollView gets
896         scrolled, so rename it to FrameView::scrollPositionChangedViaPlatformWidget().
897
898         * WebCore.exp.in:
899         * page/FrameView.cpp:
900         (WebCore::FrameView::scrollPositionChangedViaPlatformWidget):
901         * page/FrameView.h:
902
903 2010-07-21  Peter Beverloo  <peter@lvp-media.com>
904
905         Reviewed by Eric Carlson.
906
907         Removed support for the -khtml CSS vendor prefix and limit the
908         -apple prefix to two properties (dashboard-region and line-clamp).
909
910         Test: fast/css/limited-vendor-prefix-behavior.html
911
912         * css/CSSParser.cpp:
913         (WebCore::cssPropertyID):
914
915 2010-07-21  Adam Barth  <abarth@webkit.org>
916
917         Reviewed by Eric Seidel.
918
919         Fix the last tree HTML5 tree builder crashes
920         https://bugs.webkit.org/show_bug.cgi?id=42773
921
922         This patch changes the internal representation of a bookmark to handle
923         the case where one of the adjecent entries in the list of active
924         formatting elements is actually a marker.
925
926         After this patch, the bookmarking mechanism isn't as general, but it
927         works for the cases we need in the adoption agency.
928
929         Also, after this patch, there aren't any more known crashers in the
930         HTML5 tree builder.  :)
931
932         * html/HTMLFormattingElementList.cpp:
933         (WebCore::HTMLFormattingElementList::bookmarkFor):
934         (WebCore::HTMLFormattingElementList::swapTo):
935         * html/HTMLFormattingElementList.h:
936         (WebCore::HTMLFormattingElementList::Bookmark::Bookmark):
937         (WebCore::HTMLFormattingElementList::Bookmark::moveToAfter):
938         (WebCore::HTMLFormattingElementList::Bookmark::hasBeenMoved):
939         (WebCore::HTMLFormattingElementList::Bookmark::mark):
940         (WebCore::HTMLFormattingElementList::first):
941         * html/HTMLTreeBuilder.cpp:
942         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
943
944 2010-07-21  Tony Gentilcore  <tonyg@chromium.org>
945
946         Unreviewed build fix.
947
948         Disable overzealous ASSERT
949         https://bugs.webkit.org/show_bug.cgi?id=42775
950
951         No new tests because no changed functionality.
952
953         * loader/FrameLoader.cpp:
954         (WebCore::FrameLoader::stopLoading):
955
956 2010-07-21  Yael Aharon  <yael.aharon@nokia.com>
957
958         Reviewed by Darin Adler.
959
960         Crash in Notification::disconnectFrame() triggered by Frame::lifeSupportTimerFired()
961         https://bugs.webkit.org/show_bug.cgi?id=42534
962
963         Call NotificationsCenter::disconnectFrame() when the frame is disconnected from the page.
964         Calling it from the destructor of Frame is too late and sometimes causes access violation.
965         I was not able to reproduce this crash, so did not add new tests.
966         This patch is based on the error reported in 
967         http://code.google.com/p/chromium/issues/detail?id=49323.
968
969         * page/DOMWindow.cpp:
970         (WebCore::DOMWindow::pageDestroyed):
971         * page/DOMWindow.h:
972         * page/Frame.cpp:
973         (WebCore::Frame::pageDestroyed):
974
975 2010-07-21  Anders Carlsson  <andersca@apple.com>
976
977         Reviewed by Sam Weinig.
978
979         Don't assert when clicking on a plug-in in WebKit2
980         https://bugs.webkit.org/show_bug.cgi?id=42762
981
982         Remove a now invalid assert and return false instead.
983
984         * page/mac/EventHandlerMac.mm:
985         (WebCore::EventHandler::passMouseDownEventToWidget):
986
987 2010-07-21  Anton Muhin  <antonm@chromium.org>
988
989         Reviewed by Adam Barth.
990
991         [v8] Revert r60670 as it introduced a regression: in some cases named children couldn't be retrieved.
992         https://bugs.webkit.org/show_bug.cgi?id=42766
993
994         See http://code.google.com/p/chromium/issues/detail?id=48804 for more details.
995
996         * bindings/scripts/CodeGeneratorV8.pm:
997         * bindings/v8/ScriptController.cpp:
998         (WebCore::ScriptController::namedItemAdded):
999         (WebCore::ScriptController::namedItemRemoved):
1000         * bindings/v8/V8DOMWindowShell.cpp:
1001         (WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
1002         * bindings/v8/V8DOMWindowShell.h:
1003         * bindings/v8/V8DOMWrapper.cpp:
1004         (WebCore::V8DOMWrapper::instantiateV8Object):
1005         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
1006         (WebCore::V8HTMLDocument::namedPropertyDeleter):
1007         (WebCore::V8HTMLDocument::namedPropertyGetter):
1008         (WebCore::V8HTMLDocument::indexedPropertyGetter):
1009         (WebCore::V8HTMLDocument::allAccessorSetter):
1010         (WebCore::toV8):
1011
1012 2010-07-21  Eric Carlson  <eric.carlson@apple.com>
1013
1014         Reviewed by Simon Fraser.
1015
1016         Update plug-in proxy backed <video> and <audio> elements.
1017         https://bugs.webkit.org/show_bug.cgi?id=42770
1018         <rdar://problem/7963467>
1019
1020         * html/HTMLMediaElement.cpp:
1021         (WebCore::HTMLMediaElement::attributeChanged): Only call m_player->setControls when
1022         the 'controls' attribute changes.
1023         (WebCore::HTMLMediaElement::createRenderer): 
1024         (WebCore::HTMLMediaElement::attach): If we have a proxy widget, call the WebFrameLoaderClient's 
1025         'hide' and 'show' methods for the media proxy plug-in to make sure we remove and re-add the 
1026         plug-in's view to the global list of plugin views.
1027         (WebCore::HTMLMediaElement::createMediaPlayerProxy): Bail if m_proxyWidget is non-NULL
1028
1029         * loader/EmptyClients.h:
1030         (WebCore::EmptyFrameLoaderClient::hideMediaPlayerProxyPlugin): Empty stub method.
1031         (WebCore::EmptyFrameLoaderClient::showMediaPlayerProxyPlugin): Ditto.
1032
1033         * loader/FrameLoader.cpp:
1034         * loader/FrameLoaderClient.h:
1035         * loader/SubframeLoader.cpp:
1036         (WebCore::FrameLoader::loadMediaPlayerProxyPlugin): Always set m_containsPlugIns in loadMediaPlayerProxyPlugin(),
1037          even when we don't have a renderer.
1038         (WebCore::FrameLoader::hideMediaPlayerProxyPlugin): New, call hideMediaPlayerProxyPlugin.
1039         (WebCore::FrameLoader::showMediaPlayerProxyPlugin): New, call showMediaPlayerProxyPlugin.
1040
1041         * platform/graphics/MediaPlayer.cpp:
1042         (WebCore::NullMediaPlayerPrivate::setControls):
1043         (WebCore::MediaPlayer::setControls): New, pass through to media engine.
1044         (WebCore::MediaPlayer::enterFullscreen): Ditto.
1045         (WebCore::MediaPlayer::exitFullscreen): Ditto.
1046         * platform/graphics/MediaPlayer.h:
1047         * platform/graphics/MediaPlayerPrivate.h:
1048         (WebCore::MediaPlayerPrivateInterface::setControls):
1049         (WebCore::MediaPlayerPrivateInterface::enterFullscreen):
1050         (WebCore::MediaPlayerPrivateInterface::exitFullscreen):
1051
1052 2010-07-21  Dimitri Glazkov  <dglazkov@chromium.org>
1053
1054         Reviewed by Darin Adler.
1055
1056         Make more members of CSSStyleSelector private.
1057         https://bugs.webkit.org/show_bug.cgi?id=42757
1058
1059         No change in behavior, so no new tests.
1060
1061         * css/CSSStyleSelector.h: Made a publicly-unused methods private.
1062
1063 2010-07-21  Pavel Feldman  <pfeldman@chromium.org>
1064
1065         Reviewed by Timothy Hatcher.
1066
1067         Web Inspector: consider jQuery object to be of array nature.
1068
1069         https://bugs.webkit.org/show_bug.cgi?id=42758
1070
1071         * inspector/front-end/InjectedScript.js:
1072         (injectedScriptConstructor):
1073
1074 2010-07-21  Alexey Proskuryakov  <ap@apple.com>
1075
1076         Unreviewed Windows build fix.
1077
1078         https://bugs.webkit.org/show_bug.cgi?id=42717
1079         <rdar://problem/7062824> A wrong password entered for site or proxy auth remains in WebCore
1080         credential storage, and is sent with subsequent requests
1081
1082         * platform/network/cf/ResourceHandleCFNet.cpp:
1083         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Don't use that direct a
1084         copy/paste, oops!
1085
1086 2010-07-21  Simon Fraser  <simon.fraser@apple.com>
1087
1088         Reviewed by Darin Adler.
1089
1090         When GraphicsLayer::contentsOrientation() is CompositingCoordinatesBottomUp, need to flip repaint rects
1091         https://bugs.webkit.org/show_bug.cgi?id=42662
1092         
1093         If the contentsOrientation() on a GraphicsLayer is CompositingCoordinatesBottomUp, then we
1094         need to flip the rects passed to setNeedsDisplayInRect:.
1095         
1096         Avoid writing this code twice by making a bare function to share code
1097         between WebLayer and WebTiledLayer. Convert the existing +drawContents:ofLayer:intoContext:
1098         class method into a bare function, because the Obj-C calling overhead doesn't buy us anything.
1099         
1100         Take out an assertion in GraphicsLayerCA::updateContentsTransform() that is not
1101         correct.
1102         
1103         No new tests because no layers use bottom-up contents at present.
1104
1105         * platform/graphics/mac/GraphicsLayerCA.mm:
1106         (WebCore::GraphicsLayerCA::updateContentsTransform):
1107         * platform/graphics/mac/WebLayer.h:
1108         * platform/graphics/mac/WebLayer.mm:
1109         (drawLayerContents):
1110         (setLayerNeedsDisplayInRect):
1111         (-[WebLayer setNeedsDisplayInRect:]):
1112         (-[WebLayer drawInContext:]):
1113         * platform/graphics/mac/WebTiledLayer.mm:
1114         (-[WebTiledLayer setNeedsDisplayInRect:]):
1115         (-[WebTiledLayer drawInContext:]):
1116
1117 2010-07-20  Alexey Proskuryakov  <ap@apple.com>
1118
1119         Reviewed by Darin Adler.
1120
1121         https://bugs.webkit.org/show_bug.cgi?id=42717
1122         <rdar://problem/7062824> A wrong password entered for site or proxy auth remains in WebCore
1123         credential storage, and is sent with subsequent requests
1124
1125         Tests: http/tests/security/401-logout/401-logout.php
1126                http/tests/xmlhttprequest/remember-bad-password.html
1127
1128         * platform/network/CredentialStorage.cpp: (WebCore::CredentialStorage::remove):
1129         * platform/network/CredentialStorage.h:
1130         Added a way to remove stored credentials for a given protection space.
1131
1132         * platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
1133         * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
1134         Remove stored credentials if they didn't work the first time.
1135
1136 2010-07-20  Steve Falkenburg  <sfalken@apple.com>
1137
1138         Reviewed by Adam Roben.
1139
1140         WebKit on Windows should build optionally with an unversioned ICU DLL
1141         https://bugs.webkit.org/show_bug.cgi?id=42722
1142         <rdar://problem/8211767> WebKit needs to link against unversioned ICU
1143
1144         To get the proper value for U_DISABLE_RENAMING into all source files, we force
1145         the include of ICUVersion.h (our generated header) via the compiler options.
1146         
1147         * WebCore.vcproj/WebCore.vcproj:
1148         Add forced include of ICUVersion.h.
1149         * WebCore.vcproj/WebCoreCommon.vsprops: Add forced include of ICUVersion.h.
1150
1151 2010-07-21  Ilya Tikhonovsky  <loislo@chromium.org>
1152
1153         Reviewed by Pavel Feldman.
1154
1155         WebInspector: Serialization to JSON in InspectorValue works incorrect
1156         if comma is assigned as decimal separator. Windows with Russian locale.
1157         https://bugs.webkit.org/show_bug.cgi?id=42755
1158
1159         * inspector/InspectorValues.cpp:
1160         (WebCore::InspectorBasicValue::writeJSON):
1161
1162 2010-07-20  Simon Fraser  <simon.fraser@apple.com>
1163
1164         Reviewed by Dan Bernstein.
1165
1166         CSS rotation transform can cause elements with certain styles to vanish during rotation.
1167         https://bugs.webkit.org/show_bug.cgi?id=42579
1168         
1169         Remove some untested, broken code that, as far as I can tell, could never get hit.
1170         Use the correct rect for the PaintInfo so that zero-sized elements with overflow:hidden
1171         but a border paint correctly.
1172
1173         Test: compositing/overflow/zero-size-overflow.html
1174
1175         * rendering/RenderLayerBacking.cpp:
1176         (WebCore::RenderLayerBacking::paintIntoLayer):
1177
1178 2010-07-21  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
1179
1180         Reviewed by Laszlo Gombos.
1181
1182         [QT] Leak and few more fixes to qt port of geolocation
1183         https://bugs.webkit.org/show_bug.cgi?id=42753
1184
1185         Fixes memory leak and default values set to attributes. 
1186         
1187         Memory leak fix no new test case added. 
1188
1189         * platform/qt/GeolocationServiceQt.cpp: Added.
1190         (WebCore::GeolocationServiceQt::~GeolocationServiceQt):
1191         (WebCore::GeolocationServiceQt::positionUpdated):
1192
1193 2010-07-21  Kristian Amlie <kristian.amlie@nokia.com>
1194
1195         Reviewed by Kenneth Rohde Christiansen.
1196
1197         Added automatic sqlite extraction for Symbian to QtWebKit.
1198
1199         Also added sqlite detection in case sqlite is not present in the SDK.
1200         This is possible if WebKit is compiled standalone.
1201
1202         The inclusion part is a consequence of commit c578c6c1d6d in the Qt
1203         repository. It will not work on Qt versions < 4.7.1, but that is ok,
1204         since the only build system it will affect is marked as experimental
1205         in the whole 4.7 series.
1206
1207         * WebCore.pro:
1208
1209 2010-07-21  Adam Barth  <abarth@webkit.org>
1210
1211         Reviewed by Eric Seidel.
1212
1213         Associate elements with the active form
1214         https://bugs.webkit.org/show_bug.cgi?id=42728
1215
1216         This patch fixes fast/forms/formmove3.html.  The test still doesn't
1217         pass due to some render tree differences, but it works as intended now.
1218
1219         To fix this test, I needed to deviate from the spec slight.  Minefield
1220         seems to have the same deviation:
1221           - http://www.w3.org/Bugs/Public/show_bug.cgi?id=10216
1222
1223         * html/HTMLConstructionSite.cpp:
1224         (WebCore::HTMLConstructionSite::takeForm):
1225         (WebCore::HTMLConstructionSite::setForm):
1226         (WebCore::HTMLConstructionSite::createHTMLElement):
1227         * html/HTMLConstructionSite.h:
1228         (WebCore::HTMLConstructionSite::form):
1229         * html/HTMLTreeBuilder.cpp:
1230         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
1231
1232 2010-07-21  Adam Barth  <abarth@webkit.org>
1233
1234         Reviewed by Eric Seidel.
1235
1236         The adoption agency doesn't properly attach()
1237         https://bugs.webkit.org/show_bug.cgi?id=42727
1238
1239         The adoption agency is transliterated rather directly from the spec,
1240         but it misses some of the WebKit-specific machinations, such as
1241         attaching to the render tree.
1242
1243         The algorithm, as written, is a minor layer violation.  I've added to
1244         the problem by calling attach() from HTMLTreeBuilder (even though
1245         that's the job of the HTMLConstructionSite).  We'll need to clean up
1246         the layering a bit at some point.
1247
1248         This patch half fixes fast/forms/formmove3.html.  Hopefully I'll finish
1249         fixing it in the next patch.
1250
1251         * html/HTMLConstructionSite.cpp:
1252         (WebCore::HTMLConstructionSite::createHTMLElementFromSavedElement):
1253         * html/HTMLTreeBuilder.cpp:
1254         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
1255
1256 2010-07-21  Adam Barth  <abarth@webkit.org>
1257
1258         Reviewed by Eric Seidel.
1259
1260         <input> elements with no type attribute should be foster parented
1261         https://bugs.webkit.org/show_bug.cgi?id=42725
1262
1263         Fix spec transcription error.
1264
1265         * html/HTMLTreeBuilder.cpp:
1266         (WebCore::HTMLTreeBuilder::processStartTagForInTable):
1267
1268 2010-07-21  Adam Barth  <abarth@webkit.org>
1269
1270         Reviewed by Eric Seidel.
1271
1272         Fix fast/css/last-child-style-sharing.html
1273         https://bugs.webkit.org/show_bug.cgi?id=42731
1274
1275         Prior to this patch, we weren't calling finishParsingChildren on the
1276         body element.  We need a more systematic way of catching these bugs.
1277
1278         * html/HTMLElementStack.cpp:
1279         (WebCore::HTMLElementStack::popAll):
1280         * html/HTMLElementStack.h:
1281         * html/HTMLTreeBuilder.cpp:
1282         (WebCore::HTMLTreeBuilder::processEndOfFile):
1283
1284 2010-07-21  Hans Wennborg  <hans@chromium.org>
1285
1286         Reviewed by Steve Block.
1287
1288         Runtime feature switch for device orientation
1289         https://bugs.webkit.org/show_bug.cgi?id=42265
1290
1291         Add a runtime feature switch that decides whether device orientation
1292         events are available or not. Defaults to true.
1293
1294         * WebCore.vcproj/WebCoreCommon.vsprops: Add bindings/generic to include path.
1295         * bindings/generic/RuntimeEnabledFeatures.cpp:
1296         * bindings/generic/RuntimeEnabledFeatures.h:
1297         (WebCore::RuntimeEnabledFeatures::setDeviceOrientationEnabled):
1298         (WebCore::RuntimeEnabledFeatures::deviceOrientationEnabled):
1299         (WebCore::RuntimeEnabledFeatures::deviceOrientationEventEnabled):
1300         (WebCore::RuntimeEnabledFeatures::ondeviceorientationEnabled):
1301         * page/DOMWindow.cpp:
1302         (WebCore::DOMWindow::addEventListener):
1303         (WebCore::DOMWindow::removeEventListener):
1304         (WebCore::DOMWindow::removeAllEventListeners):
1305         * page/DOMWindow.idl:
1306         * page/Page.cpp:
1307         (WebCore::Page::Page):
1308
1309 2010-07-21  Zoltan Herczeg  <zherczeg@webkit.org>
1310
1311         Reviewed Nikolas Zimmermann.
1312
1313         SVGFilterElement & SVGFE*Element don't support dynamic invalidation, when attributes change
1314         https://bugs.webkit.org/show_bug.cgi?id=42244
1315
1316         The implementation was done by Nikolas Zimmermann before, but
1317         there was no tests for it. The patch also implements the simple
1318         setFilterRes method.
1319
1320         Tests: svg/dynamic-updates/SVGFilterElement-dom-filterRes-attr.html
1321                svg/dynamic-updates/SVGFilterElement-dom-filterUnits-attr.html
1322                svg/dynamic-updates/SVGFilterElement-dom-height-attr.html
1323                svg/dynamic-updates/SVGFilterElement-dom-primitiveUnits-attr.html
1324                svg/dynamic-updates/SVGFilterElement-dom-width-attr.html
1325                svg/dynamic-updates/SVGFilterElement-dom-x-attr.html
1326                svg/dynamic-updates/SVGFilterElement-dom-y-attr.html
1327                svg/dynamic-updates/SVGFilterElement-svgdom-filterRes-call.html
1328                svg/dynamic-updates/SVGFilterElement-svgdom-filterResX-prop.html
1329                svg/dynamic-updates/SVGFilterElement-svgdom-filterResY-prop.html
1330                svg/dynamic-updates/SVGFilterElement-svgdom-filterUnits-prop.html
1331                svg/dynamic-updates/SVGFilterElement-svgdom-height-prop.html
1332                svg/dynamic-updates/SVGFilterElement-svgdom-primitiveUnits-prop.html
1333                svg/dynamic-updates/SVGFilterElement-svgdom-width-prop.html
1334                svg/dynamic-updates/SVGFilterElement-svgdom-x-prop.html
1335                svg/dynamic-updates/SVGFilterElement-svgdom-y-prop.html
1336
1337         * svg/SVGFilterElement.cpp:
1338         (WebCore::SVGFilterElement::setFilterRes):
1339         (WebCore::SVGFilterElement::svgAttributeChanged):
1340         (WebCore::SVGFilterElement::childrenChanged):
1341         * svg/SVGFilterElement.h:
1342
1343 2010-07-21  Ben Murdoch  <benm@google.com>
1344
1345         Unreviewed, build fix.
1346
1347         Forgot to update the role of HitTestRequest.h in
1348         the xcode project after landing patch from
1349         https://bugs.webkit.org/show_bug.cgi?id=39493
1350
1351         * WebCore.xcodeproj/project.pbxproj: Make HitTestRequest.h
1352             private so it can be included in WebKit by EventHandler.h
1353             which is already private..
1354
1355 2010-07-20  Ben Murdoch  <benm@google.com>
1356
1357         Reviewed by Steve Block.
1358
1359         Touch events do not affect the :active CSS state
1360         https://bugs.webkit.org/show_bug.cgi?id=39493
1361
1362         Test: fast/events/touch/touch-active-state.html
1363
1364         * WebCore.exp.in: Update exports for new signature of
1365             hitTestResultAtPoint.
1366         * WebCore.order: ditto.
1367         * page/EventHandler.cpp:
1368         (WebCore::EventHandler::EventHandler):
1369         (WebCore::EventHandler::hitTestResultAtPoint): Pass the type
1370             of the hit test to perform as a parameter with a default
1371             value rather than harcoding it in the function body.
1372         (WebCore::EventHandler::handleMouseMoveEvent): Do not modiify
1373             the active element during a mouse move if the user is
1374             touching the screen.
1375         (WebCore::EventHandler::handleTouchEvent): Set the correct
1376             type of hit test to perform depending on the type of the
1377             touch event we are handling.
1378         * page/EventHandler.h: Update the signature of hitTestResultAtPoint.
1379
1380 2010-07-20  Yury Semikhatsky  <yurys@chromium.org>
1381
1382         Reviewed by Pavel Feldman.
1383
1384         console.assert should include stack trace with line numbers.
1385         https://bugs.webkit.org/show_bug.cgi?id=22556
1386
1387         Test: inspector/console-assert.html
1388
1389         * bindings/v8/ScriptCallStack.cpp:
1390         (WebCore::getTopFrameLocation):
1391         (WebCore::toScriptCallFramesVector):
1392         (WebCore::ScriptCallStack::create):
1393         (WebCore::ScriptCallStack::ScriptCallStack):
1394         * bindings/v8/ScriptCallStack.h:
1395         * bindings/v8/ScriptController.cpp:
1396         (WebCore::ScriptController::setCaptureCallStackForUncaughtExceptions):
1397         * bindings/v8/custom/V8ConsoleCustom.cpp:
1398         (WebCore::V8Console::traceCallback):
1399         (WebCore::V8Console::assertCallback):
1400         * inspector/ConsoleMessage.cpp:
1401         (WebCore::ConsoleMessage::ConsoleMessage):
1402         * inspector/InspectorController.cpp:
1403         (WebCore::InspectorController::addMessageToConsole):
1404         * inspector/front-end/ConsoleView.js:
1405         (WebInspector.ConsoleMessage.prototype._formatMessage):
1406         (WebInspector.ConsoleMessage.prototype.toMessageElement):
1407         * page/Console.cpp:
1408         (WebCore::Console::lastWMLErrorMessage):
1409         * page/Console.idl:
1410
1411 2010-07-20  Rafael Antognolli  <antognolli@profusion.mobi>
1412
1413         Reviewed by Kent Tamura.
1414
1415         [EFL] Use log functions instead of fprintf
1416         https://bugs.webkit.org/show_bug.cgi?id=42576
1417
1418         Use LOG and LOG_ERROR instead of fprintf.
1419
1420         No new tests, no new functionality.
1421
1422         * platform/efl/WidgetEfl.cpp:
1423         (WebCore::Widget::applyFallbackCursor):
1424
1425 2010-07-20  Ilya Tikhonovsky  <loislo@chromium.org>
1426
1427         Reviewed by Yury Semikhatsky.
1428
1429         WebInspector: the bindings generation helper script can be
1430         simplified a bit. Chromium.
1431         https://bugs.webkit.org/show_bug.cgi?id=42523
1432
1433         * WebCore.gyp/WebCore.gyp:
1434         * WebCore.gyp/scripts/rule_binding.py:
1435         * bindings/scripts/CodeGenerator.pm:
1436         * bindings/scripts/CodeGeneratorCPP.pm:
1437         * bindings/scripts/CodeGeneratorJS.pm:
1438         * bindings/scripts/CodeGeneratorObjC.pm:
1439         * bindings/scripts/CodeGeneratorV8.pm:
1440         * bindings/scripts/generate-bindings.pl:
1441         * inspector/CodeGeneratorInspector.pm:
1442
1443 2010-07-20  Steve Falkenburg  <sfalken@apple.com>
1444
1445         Re-save vsprops file after no-op edit in Visual Studio
1446         to fix manual edit issues.
1447
1448         * WebCore.vcproj/WebCoreCommon.vsprops:
1449
1450 2010-07-20  Steve Falkenburg  <sfalken@apple.com>
1451
1452         Re-save vcproj file after no-op edit in Visual Studio
1453         to fix manual edit issues.
1454
1455         * WebCore.vcproj/WebCore.vcproj:
1456
1457 2010-07-20  Adam Barth  <abarth@webkit.org>
1458
1459         Reviewed by Eric Seidel.
1460
1461         Include attributes when reconstructing elements in HTML5 tree builder
1462         https://bugs.webkit.org/show_bug.cgi?id=42594
1463
1464         Remove FIXME now that we have a test.
1465
1466         * html/HTMLConstructionSite.cpp:
1467         (WebCore::HTMLConstructionSite::createHTMLElementFromElementRecord):
1468
1469 2010-07-20  Sam Weinig  <sam@webkit.org>
1470
1471         Reviewed by Brady Eidson.
1472
1473         Patch for https://bugs.webkit.org/show_bug.cgi?id=42719
1474         Make Acid2 pass in WebKit2
1475
1476         * WebCore.exp.in: Update exported functions.
1477
1478 2010-07-20  Gavin Peters  <gavinp@chromium.org>
1479
1480         Reviewed by Adam Barth.
1481
1482         prefetch categorization is exactly wrong
1483         https://bugs.webkit.org/show_bug.cgi?id=42651
1484
1485         While I was in the area, I saw that CachedResource::schedule() was dead, so I have removed it.
1486
1487         Test: fast/dom/HTMLLinkElement/onload-completion-test.html
1488
1489         * loader/CachedCSSStyleSheet.h:
1490         * loader/CachedFont.h:
1491         * loader/CachedImage.h:
1492         * loader/CachedResource.cpp:
1493         * loader/CachedResource.h:
1494         (WebCore::CachedResource::isPrefetch):
1495         * loader/CachedScript.h:
1496         * loader/CachedXBLDocument.h:
1497         * loader/CachedXSLStyleSheet.h:
1498
1499 2010-07-20  James Hawkins  <jhawkins@chromium.org>
1500
1501         Reviewed by Darin Fisher.
1502
1503         Expose the form submission trigger on the HTMLFormElement object. This
1504         is used to verify that the user submitted the form instead of JS when
1505         saving form data in Chrome AutoFill.
1506         https://bugs.webkit.org/show_bug.cgi?id=42479
1507
1508         No new tests as this is only used by the Chromium WebKit API.
1509
1510         * html/HTMLFormElement.cpp:
1511         (WebCore::HTMLFormElement::HTMLFormElement):
1512         (WebCore::HTMLFormElement::submit):
1513         (WebCore::HTMLFormElement::reset):
1514         (WebCore::HTMLFormElement::submissionTrigger):
1515         * html/HTMLFormElement.h:
1516
1517 2010-07-20  Adam Barth  <abarth@webkit.org>
1518
1519         Unreviewed.
1520
1521         Fix fast/dom/title-content-write-set.html for HTML5 tree builder
1522         https://bugs.webkit.org/show_bug.cgi?id=42668
1523
1524         Address some late-breaking review comments.
1525
1526         * dom/CharacterData.cpp:
1527         (WebCore::CharacterData::appendDataCommon):
1528         (WebCore::CharacterData::parserAppendData):
1529         (WebCore::CharacterData::appendData):
1530         (WebCore::CharacterData::insertData):
1531         (WebCore::CharacterData::replaceData):
1532         * dom/CharacterData.h:
1533
1534 2010-07-20  Daniel Erat  <derat@chromium.org>
1535
1536         Reviewed by Ojan Vafai.
1537
1538         Subpixel rendering always disabled for Chromium Linux
1539         https://bugs.webkit.org/show_bug.cgi?id=42220
1540
1541         Explicitly initialize global Chromium Linux isSkiaSubpixelGlyphs
1542         flag to false for clarity.
1543
1544         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
1545
1546 2010-07-20  Adam Barth  <abarth@webkit.org>
1547
1548         Reviewed by Darin Adler.
1549
1550         Fix fast/dom/title-content-write-set.html for HTML5 tree builder
1551         https://bugs.webkit.org/show_bug.cgi?id=42668
1552
1553         When I split parserAppendData from appendData, it was tempting to cut
1554         the function at dispatchModifiedEvent, but that's not quite right.  We
1555         still need to notify the parent that it's children have changed.
1556
1557         * dom/CharacterData.cpp:
1558         (WebCore::CharacterData::appendDataCommon):
1559         (WebCore::CharacterData::parserAppendData):
1560         (WebCore::CharacterData::appendData):
1561         * dom/CharacterData.h:
1562
1563 2010-07-20  Chris Fleizach  <cfleizach@apple.com>
1564
1565         Reviewed by Beth Dakin.
1566
1567         CrashTracer: [USER] 300 crashes in Safari at com.apple.WebCore: WebCore::AccessibilityTable::isTableExposableThroughAccessibility + 573
1568         https://bugs.webkit.org/show_bug.cgi?id=42652
1569
1570         When a table cell accesses its parent table, we should not use getOrCreate, because creating an AXTable inspects its render tree state
1571         which may be out of date, leading to a crash.
1572         By using only get(), it implies that the AXTable must be created before AXTableCells. This should
1573         always be the case when AT clients access a table.
1574
1575         Test: accessibility/updating-attribute-in-table-causes-crash.html
1576
1577         * accessibility/AccessibilityTableCell.cpp:
1578         (WebCore::AccessibilityTableCell::parentTable):
1579
1580 2010-07-20  Abhishek Arya  <inferno@chromium.org>
1581
1582         Reviewed by David Hyatt.
1583
1584         Check the node is a text node before doing the static cast
1585         for editing commands.
1586         https://bugs.webkit.org/show_bug.cgi?id=42655
1587
1588         Test: editing/execCommand/editing-nontext-node-crash.xhtml
1589
1590         * editing/DeleteSelectionCommand.cpp:
1591         (WebCore::DeleteSelectionCommand::fixupWhitespace):
1592         * editing/InsertLineBreakCommand.cpp:
1593         (WebCore::InsertLineBreakCommand::doApply):
1594         * editing/InsertParagraphSeparatorCommand.cpp:
1595         (WebCore::InsertParagraphSeparatorCommand::doApply):
1596
1597 2010-07-20  Leo Yang  <leo.yang@torchmobile.com.cn>
1598
1599         Reviewed by David Hyatt.
1600
1601         Don't merge Anonymous block whose first child is inline run-in.
1602         Make run-in recalculate its style after its renderer is destroyed.
1603         https://bugs.webkit.org/show_bug.cgi?id=41375.
1604
1605         Test: fast/runin/crash-when-reparent-sibling.html
1606
1607         * rendering/RenderBlock.cpp:
1608         (WebCore::canMergeContiguousAnonymousBlocks):
1609         * rendering/RenderObjectChildList.cpp:
1610         (WebCore::RenderObjectChildList::destroyLeftoverChildren):
1611
1612 2010-07-20  Steve Block  <steveblock@google.com>
1613
1614         Unreviewed Qt test fix.
1615
1616         Qt should not use PREEMPT_GEOLOCATION_PERMISSION until Bug 42027 is fixed.
1617         https://bugs.webkit.org/show_bug.cgi?id=42068
1618
1619         No new tests, test fix only.
1620
1621         * WebCore.pro:
1622
1623 2010-07-20  Sheriff Bot  <webkit.review.bot@gmail.com>
1624
1625         Unreviewed, rolling out r63764.
1626         http://trac.webkit.org/changeset/63764
1627         https://bugs.webkit.org/show_bug.cgi?id=42658
1628
1629         have broken Chromium linux build (Requested by loislo on
1630         #webkit).
1631
1632         * WebCore.gyp/WebCore.gyp:
1633         * WebCore.gyp/scripts/rule_binding.py:
1634         * bindings/scripts/CodeGenerator.pm:
1635         * bindings/scripts/CodeGeneratorCPP.pm:
1636         * bindings/scripts/CodeGeneratorJS.pm:
1637         * bindings/scripts/CodeGeneratorObjC.pm:
1638         * bindings/scripts/CodeGeneratorV8.pm:
1639         * bindings/scripts/generate-bindings.pl:
1640         * inspector/CodeGeneratorInspector.pm:
1641
1642 2010-07-20  Alexey Proskuryakov  <ap@apple.com>
1643
1644         Reviewed by Brady Eidson.
1645
1646         https://bugs.webkit.org/show_bug.cgi?id=41531
1647         Asynchronous cross origin XMLHttpRequest doesn't expose 401 response when withCredentials is false
1648
1649         This doesn't match Firefox, but it matches our sync case, XHR2 spec and common sense.
1650
1651         Test: http/tests/xmlhttprequest/cross-origin-no-authorization.html (updated results).
1652
1653         * loader/DocumentThreadableLoader.cpp:
1654         (WebCore::DocumentThreadableLoader::didReceiveAuthenticationChallenge): Instead of canceling
1655         the request, continue without credentials - if the platform has a necessary method on
1656         ResourceHandle.
1657
1658         * loader/SubresourceLoader.cpp:
1659         (WebCore::SubresourceLoader::didReceiveAuthenticationChallenge): Don't ask resource loader
1660         client for credentials if subresource loader client already took care of those.
1661
1662         * platform/network/ResourceHandle.cpp: (WebCore::ResourceHandle::hasAuthenticationChallenge):
1663         * platform/network/ResourceHandle.h:
1664         Added an accessor to check whether ResourceHandle is currently waiting for credentials.
1665
1666 2010-07-20  Leandro Pereira  <leandro@profusion.mobi>
1667
1668         [EFL] Unreviewed build fix.
1669
1670         Build SVGPathBuilder, SVGPathParser and SVGPathSegListBuilder.
1671         Add websockets include directory.
1672
1673         The EFL port doesn't yet support automated tests.
1674
1675         * CMakeLists.txt:
1676
1677 2010-07-20  Ilya Tikhonovsky  <loislo@chromium.org>
1678
1679         Reviewed by Yury Semikhatsky.
1680
1681         WebInspector: the bindings generation helper script can be
1682         simplified a bit. Chromium.
1683         https://bugs.webkit.org/show_bug.cgi?id=42523
1684
1685         * WebCore.gyp/WebCore.gyp:
1686         * WebCore.gyp/scripts/rule_binding.py:
1687         * bindings/scripts/CodeGenerator.pm:
1688         * bindings/scripts/CodeGeneratorCPP.pm:
1689         * bindings/scripts/CodeGeneratorJS.pm:
1690         * bindings/scripts/CodeGeneratorObjC.pm:
1691         * bindings/scripts/CodeGeneratorV8.pm:
1692         * bindings/scripts/generate-bindings.pl:
1693         * inspector/CodeGeneratorInspector.pm:
1694
1695 2010-07-20  Joseph Pecoraro  <joepeck@webkit.org>
1696
1697         Reviewed by Geoffrey Garen.
1698
1699         WebScriptObject Should Allow Safely Checking For Key Existence
1700         https://bugs.webkit.org/show_bug.cgi?id=42613
1701
1702         Test: platform/mac/fast/objc/webScriptObject-hasWebScriptKey.html
1703
1704         Add private API "hasWebScriptKey" to check for key existence in
1705         a WebScriptObject. Like JavaScript's `in` syntax. This is intended
1706         to be made public eventually.
1707
1708         * bindings/objc/WebScriptObject.mm:
1709         (-[WebScriptObject hasWebScriptKey:]):
1710         * bindings/objc/WebScriptObjectPrivate.h:
1711
1712 2010-07-20  Adam Barth  <abarth@webkit.org>
1713
1714         Reviewed by Eric Seidel.
1715
1716         HTML5 tree builder needs to call dispatchDocumentElementAvailable
1717         https://bugs.webkit.org/show_bug.cgi?id=42654
1718
1719         This patch fixes the follout LayoutTests with --html5-treebuilder:
1720           - userscripts/script-not-run-for-fragments.html
1721           - userscripts/script-run-at-start.html
1722
1723         * html/HTMLConstructionSite.cpp:
1724         (WebCore::HTMLConstructionSite::HTMLConstructionSite):
1725         (WebCore::HTMLConstructionSite::dispatchDocumentElementAvailableIfNeeded):
1726         (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
1727         (WebCore::HTMLConstructionSite::insertHTMLHtmlElement):
1728         * html/HTMLConstructionSite.h:
1729         * html/HTMLTreeBuilder.cpp:
1730         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
1731
1732 2010-07-20  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
1733
1734         Reviewed by Steve Block.
1735
1736         Need to be able to configure Geolocation policy regarding user permissions
1737         https://bugs.webkit.org/show_bug.cgi?id=42068
1738
1739         Introducing new USE() flag PREEMPT_GEOLOCATION_PREMISSION using which
1740         acquires user permission first before starting location service
1741
1742         This change does not introduce any change in behavior for any platform. So there are no new tests
1743         added.
1744
1745         * WebCore.pro:
1746         * page/Geolocation.cpp:
1747         (WebCore::Geolocation::startRequest):
1748         (WebCore::Geolocation::setIsAllowed):
1749         (WebCore::Geolocation::startUpdating):
1750         * page/Geolocation.h:
1751
1752 2010-07-20  Adam Barth  <abarth@webkit.org>
1753
1754         Reviewed by Darin Adler.
1755
1756         HTML5 tree builder should restore form state
1757         https://bugs.webkit.org/show_bug.cgi?id=42644
1758
1759         We need to tell self-closing tags that we're done parsing their
1760         children.  This patch fixes the following LayoutTests when run with
1761         --html5-treebuilder:
1762
1763           fast/forms/button-state-restore.html
1764           fast/forms/state-restore-to-non-autocomplete-form.html
1765           fast/forms/state-restore-to-non-edited-controls.html
1766           fast/history/saves-state-after-fragment-nav.html
1767           http/tests/navigation/restore-form-state-https.html
1768
1769         * html/HTMLConstructionSite.cpp:
1770         (WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement):
1771
1772 2010-07-20  Sheriff Bot  <webkit.review.bot@gmail.com>
1773
1774         Unreviewed, rolling out r63750.
1775         http://trac.webkit.org/changeset/63750
1776         https://bugs.webkit.org/show_bug.cgi?id=42648
1777
1778         This revision breaks the windows builds (Requested by
1779         hwennborg on #webkit).
1780
1781         * bindings/generic/RuntimeEnabledFeatures.cpp:
1782         * bindings/generic/RuntimeEnabledFeatures.h:
1783         * page/DOMWindow.cpp:
1784         (WebCore::DOMWindow::addEventListener):
1785         (WebCore::DOMWindow::removeEventListener):
1786         (WebCore::DOMWindow::removeAllEventListeners):
1787         * page/DOMWindow.idl:
1788         * page/Page.cpp:
1789         (WebCore::Page::Page):
1790
1791 2010-07-20  Ilya Tikhonovsky  <loislo@chromium.org>
1792
1793         Reviewed by Pavel Feldman.
1794
1795         WebInspector: It is possible to show full call stack instead of top frame for Caller
1796         and Call Site properties in Timeline panel.
1797         https://bugs.webkit.org/show_bug.cgi?id=42620
1798
1799         * English.lproj/localizedStrings.js:
1800         * inspector/front-end/TimelinePanel.js:
1801         (WebInspector.TimelinePanel.FormattedRecord):
1802         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
1803         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
1804         (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendElementRow):
1805         (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendLinkRow):
1806         (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendStackTrace):
1807         * inspector/front-end/inspector.css:
1808         (.timeline-details):
1809         (.timeline-function-name):
1810         (.timeline-stacktrace-title):
1811
1812 2010-07-20  Leon Clarke  <leonclarke@google.com>
1813
1814         Reviewed by Pavel Feldman.
1815
1816         Make things compile again when the inspector is disabled, following
1817         recent inspector improvements.
1818         https://bugs.webkit.org/show_bug.cgi?id=42632
1819
1820         No new tests. Fixing a build break.
1821
1822
1823         * bindings/v8/ScriptCallStack.cpp:
1824         (WebCore::ScriptCallStack::stackTrace):
1825         * inspector/InspectorController.h:
1826         (WebCore::InspectorController::didInsertDOMNode):
1827         (WebCore::InspectorController::didRemoveDOMNode):
1828         (WebCore::InspectorController::didModifyDOMAttr):
1829         * inspector/InspectorDOMAgent.h:
1830         * loader/appcache/ApplicationCacheGroup.cpp:
1831
1832 2010-07-20  Anton Muhin  <antonm@chromium.org>
1833
1834         Reviewed by Adam Barth.
1835
1836         [v8] Allow handles to be disposed and WebKit objects to be dereferenced even if their map is already destroyed.
1837         https://bugs.webkit.org/show_bug.cgi?id=42634
1838
1839         Currently DOMDataStore could be destroyed even if it has some mappings (it gets destroyed
1840         when its isolated context gets GCed).  However in this case, handles allocated for
1841         such objects would never be disposed as we require presence of mapping from wrapped
1842         WebKit object to handle being collected in the map and now map is gone.  That leads to
1843         zombie objects in both WebKit (wrapped WebKit object doesn't get dereferenced) and V8
1844         (both handle and V8 wrapper object could not be destroyed).
1845
1846         See http://code.google.com/p/chromium/issues/detail?id=47125 for further discussion.
1847
1848         * bindings/v8/DOMData.h:
1849         (WebCore::DOMData::handleWeakObject):
1850         * bindings/v8/DOMDataStore.cpp:
1851         (WebCore::DOMDataStore::weakNodeCallback):
1852         * bindings/v8/V8DOMMap.h:
1853         (WebCore::WeakReferenceMap::~WeakReferenceMap):
1854
1855 2010-07-20  Hans Wennborg  <hans@chromium.org>
1856
1857         Reviewed by Steve Block.
1858
1859         Runtime feature switch for device orientation
1860         https://bugs.webkit.org/show_bug.cgi?id=42265
1861
1862         Add a runtime feature switch that decides whether device orientation
1863         events are available or not. Defaults to true.
1864
1865         * bindings/generic/RuntimeEnabledFeatures.cpp:
1866         * bindings/generic/RuntimeEnabledFeatures.h:
1867         (WebCore::RuntimeEnabledFeatures::setDeviceOrientationEnabled):
1868         (WebCore::RuntimeEnabledFeatures::deviceOrientationEnabled):
1869         (WebCore::RuntimeEnabledFeatures::deviceOrientationEventEnabled):
1870         (WebCore::RuntimeEnabledFeatures::ondeviceorientationEnabled):
1871         * page/DOMWindow.cpp:
1872         (WebCore::DOMWindow::addEventListener):
1873         (WebCore::DOMWindow::removeEventListener):
1874         (WebCore::DOMWindow::removeAllEventListeners):
1875         * page/DOMWindow.idl:
1876         * page/Page.cpp:
1877         (WebCore::Page::Page):
1878
1879 2010-07-20  Hayato Ito  <hayato@chromium.org>
1880
1881         Reviewed by Darin Adler.
1882
1883         Fixed a crash when deeply nested CSS selector is used.
1884         https://bugs.webkit.org/show_bug.cgi?id=41129
1885
1886         This patch deletes CSSSelectors iteratively so that it doesn't cause stack overflow.
1887
1888         Test: fast/css/css-selector-deeply-nested.html
1889
1890         * css/CSSSelector.cpp:
1891         (WebCore::CSSSelectorBag::~CSSSelectorBag):
1892         (WebCore::CSSSelectorBag::isEmpty):
1893         (WebCore::CSSSelectorBag::append):
1894         (WebCore::CSSSelectorBag::takeAny):
1895         (WebCore::CSSSelector::~CSSSelector):
1896         (WebCore::CSSSelector::specificity):
1897         * css/CSSSelector.h:
1898
1899 2010-07-20  Yury Semikhatsky  <yurys@chromium.org>
1900
1901         Reviewed by Pavel Feldman.
1902
1903         [v8] Web Inspector: inspected page renderer crashes when inspected page has JS syntax error
1904         https://bugs.webkit.org/show_bug.cgi?id=42642
1905
1906         * bindings/v8/V8ConsoleMessage.cpp:
1907         (WebCore::V8ConsoleMessage::handler):
1908
1909 2010-07-20  Sheriff Bot  <webkit.review.bot@gmail.com>
1910
1911         Unreviewed, rolling out r63742.
1912         http://trac.webkit.org/changeset/63742
1913         https://bugs.webkit.org/show_bug.cgi?id=42641
1914
1915         Broke Leopard Intel build. (Requested by bbandix on #webkit).
1916
1917         * WebCore.pro:
1918         * page/Geolocation.cpp:
1919         (WebCore::Geolocation::startRequest):
1920         (WebCore::Geolocation::setIsAllowed):
1921         (WebCore::Geolocation::startUpdating):
1922         * page/Geolocation.h:
1923
1924 2010-07-20  Adam Roben  <aroben@apple.com>
1925
1926         Windows build fix
1927
1928         * WebCore.vcproj/WebCore.vcproj: Fixed case of "Name" attribute.
1929
1930 2010-07-20  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
1931
1932         Reviewed by Steve Block.
1933
1934         Need to be able to configure Geolocation policy regarding user permissions
1935         https://bugs.webkit.org/show_bug.cgi?id=42068
1936
1937         Introducing new USE() flag PREEMPT_GEOLOCATION_PREMISSION using which
1938         acquires user permission first before starting location service
1939
1940         This change does not introduce any change in behavior for any platform. So there are no new tests
1941         added.
1942
1943         * WebCore.pro:
1944         * page/Geolocation.cpp:
1945         (WebCore::Geolocation::startRequest):
1946         (WebCore::Geolocation::setIsAllowed):
1947         (WebCore::Geolocation::startUpdating):
1948         * page/Geolocation.h:
1949
1950 2010-07-20  Alexander Pavlov  <apavlov@chromium.org>
1951
1952         Reviewed by Pavel Feldman.
1953
1954         Inspector: Resources Search Should Search Only Filtered Resources
1955         https://bugs.webkit.org/show_bug.cgi?id=28290
1956
1957         * inspector/front-end/AbstractTimelinePanel.js:
1958         (WebInspector.AbstractTimelinePanel.prototype._updateFilter):
1959         * inspector/front-end/ResourcesPanel.js:
1960         (WebInspector.ResourcesPanel.prototype.get searchableViews):
1961         * inspector/front-end/inspector.js:
1962         (WebInspector.performSearch):
1963         (WebInspector.doPerformSearch):
1964
1965 2010-07-20  Alexander Pavlov  <apavlov@chromium.org>
1966
1967         Reviewed by Pavel Feldman.
1968
1969         Web Inspector: Incorrect absolute URLs in tooltips of links in the ElementsTreeOutline
1970         https://bugs.webkit.org/show_bug.cgi?id=42626
1971
1972         * inspector/front-end/ElementsTreeOutline.js:
1973         (WebInspector.ElementsTreeElement.prototype._attributeHTML):
1974
1975 2010-07-20  Shinichiro Hamaji  <hamaji@chromium.org>
1976
1977         Unreviewed comment fix. The comment in IDL should be //, not # .
1978
1979         Code generator: ensure generated constants match their corresponding enums.
1980         https://bugs.webkit.org/show_bug.cgi?id=42250
1981
1982         * dom/OverflowEvent.idl:
1983
1984 2010-07-20  Hans Wennborg  <hans@chromium.org>
1985
1986         Reviewed by Steve Block.
1987
1988         Add WebCore/bindings/generic/RuntimeEnabledFeatures.cpp to build files
1989         https://bugs.webkit.org/show_bug.cgi?id=42380
1990
1991         RuntimeEnabledFeatures.cpp and .h were moved from bindings/v8 to
1992         bindings/generic a while a go (in r54593), but need to
1993         be added to the build in order to be used.
1994
1995         No new functionality so no new tests.
1996
1997         * Android.mk:
1998         * CMakeLists.txt:
1999         * GNUmakefile.am:
2000         * WebCore.pro:
2001         * WebCore.vcproj/WebCore.vcproj:
2002         * WebCore.xcodeproj/project.pbxproj:
2003         * websockets/WebSocket.cpp: Remove #if USE(V8), as RuntimeEnabledFeatures.cpp is no longer V8-only.
2004         * websockets/WebSocket.h: Ditto.
2005
2006 2010-07-20  Tony Chang  <tony@chromium.org>
2007
2008         Reviewed by Kent Tamura.
2009
2010         clean up style in ClipboardWin and PasteboardWin
2011         https://bugs.webkit.org/show_bug.cgi?id=42609
2012
2013         No new tests since this is just a style cleanup.
2014
2015         * platform/win/ClipboardUtilitiesWin.cpp:
2016         (WebCore::createGlobalData):
2017         (WebCore::markupToCFHTML):
2018         (WebCore::getURL):
2019         (WebCore::getPlainText):
2020         (WebCore::getTextHTML):
2021         (WebCore::fragmentFromFilenames):
2022         (WebCore::containsFilenames):
2023         (WebCore::fragmentFromCFHTML):
2024         (WebCore::fragmentFromHTML):
2025         * platform/win/ClipboardUtilitiesWin.h:
2026         * platform/win/ClipboardWin.cpp:
2027         (WebCore::pathRemoveBadFSCharacters):
2028         (WebCore::createGlobalHDropContent):
2029         (WebCore::createGlobalUrlFileDescriptor):
2030         (WebCore::writeURL):
2031         (WebCore::ClipboardWin::clearData):
2032         (WebCore::ClipboardWin::clearAllData):
2033         (WebCore::ClipboardWin::getData):
2034         (WebCore::ClipboardWin::types):
2035         (WebCore::ClipboardWin::declareAndWriteDragImage):
2036         (WebCore::ClipboardWin::writeRange):
2037         * platform/win/ClipboardWin.h:
2038         (WebCore::ClipboardWin::create):
2039         (WebCore::ClipboardWin::dataObject):
2040         * platform/win/PasteboardWin.cpp:
2041         (WebCore::PasteboardOwnerWndProc):
2042         (WebCore::Pasteboard::writeSelection):
2043         (WebCore::Pasteboard::writeURL):
2044         (WebCore::Pasteboard::plainText):
2045         (WebCore::Pasteboard::documentFragment):
2046
2047 2010-07-20  Yury Semikhatsky  <yurys@chromium.org>
2048
2049         Reviewed by Pavel Feldman.
2050
2051         Web Inspector: jump to source is broken for call frames logged by console.trace
2052         https://bugs.webkit.org/show_bug.cgi?id=42619
2053
2054         * inspector/front-end/ConsoleView.js:
2055         (WebInspector.ConsoleMessage.prototype._populateStackTraceTreeElement):
2056         * inspector/front-end/treeoutline.js: allow passing HTML element as a title.
2057         (TreeElement.prototype.set title):
2058         (TreeElement.prototype.set shouldRefreshChildren):
2059         (TreeElement.prototype._setListItemNodeContent):
2060         (TreeElement.prototype._attach):
2061
2062 2010-07-20  Tony Chang  <tony@chromium.org>
2063
2064         Reviewed by Dan Bernstein.
2065
2066         [chromium] crash in Position::getInlineBoxAndOffset
2067         https://bugs.webkit.org/show_bug.cgi?id=42202
2068
2069         Test: editing/selection/firstRect-crash.html
2070         Manual test: win/contextmenu-key2.html
2071
2072         * page/EventHandler.cpp: Code no longer needed
2073         * page/Frame.cpp:
2074         (WebCore::Frame::firstRectForRange): Normalize Positions to VisiblePositions because
2075             Positions may be pointing to nodes that have no renderer.  If there's no renderer,
2076             getInlineBoxAndOffset will crash.
2077
2078 2010-07-20  Adam Barth  <abarth@webkit.org>
2079
2080         Reviewed by Darin Adler.
2081
2082         Foster parenting depends on the current element at insertion time
2083         https://bugs.webkit.org/show_bug.cgi?id=42599
2084
2085         We need to consider the current element at insertion-time when deciding
2086         whether to redirect insertion to the foster parent.  Previously, we
2087         were considering the current element *both* at insertion-time and at
2088         the time we created the guard.
2089
2090         * html/HTMLConstructionSite.h:
2091         (WebCore::HTMLConstructionSite::RedirectToFosterParentGuard::RedirectToFosterParentGuard):
2092         * html/HTMLTreeBuilder.cpp:
2093         (WebCore::HTMLTreeBuilder::processStartTagForInTable):
2094         (WebCore::HTMLTreeBuilder::processEndTagForInTable):
2095         (WebCore::HTMLTreeBuilder::defaultForInTableText):
2096
2097 2010-07-20  Matthew Delaney  <mdelaney@apple.com>
2098
2099         Reviewed by Kenneth Rohde Christiansen.
2100
2101         Failing 2d.path.stroke.prune.curve philip canvas test
2102         https://bugs.webkit.org/show_bug.cgi?id=42190
2103
2104         * html/canvas/CanvasRenderingContext2D.cpp:
2105         (WebCore::CanvasRenderingContext2D::closePath): Added check to make sure there's a non-trivial path to close. Since there is currently no way to check if the current point is the start point, or similarly if there is only 1 point in the current subpath (since these are both sufficient conditions for a trivial subpath), then checking that the bounding rectangle has both zero width and height proves also to be a sufficient condition for a trivial path.
2106         (WebCore::CanvasRenderingContext2D::quadraticCurveTo): Added in simple bounds as per the spec.
2107         (WebCore::CanvasRenderingContext2D::bezierCurveTo): Added in simple bounds as per the spec.
2108         * platform/graphics/cg/PathCG.cpp:
2109         (WebCore::Path::closeSubpath): Moved the check for an empty path up on level to make it platform independent and remove redundancy.
2110
2111 2010-07-19  Victoria Kirst  <vrk@google.com>
2112
2113         Reviewed by David Levin.
2114
2115         Added a simple implementation of VideoLayerChromium. Uses the
2116         LayerChromium::updateTextureRect() to send video frames to the
2117         GPU.
2118         https://bugs.webkit.org/show_bug.cgi?id=42234
2119
2120         * WebCore.gypi: Added include for VideoLayerChromium.
2121         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2122         (WebCore::GraphicsLayerChromium::setContentsToMedia): Implemented
2123         setContentsToMedia, though it does not seem to trigger a repaint
2124         correctly.
2125         * platform/graphics/chromium/GraphicsLayerChromium.h:
2126         * platform/graphics/chromium/VideoLayerChromium.cpp: Added.
2127         (WebCore::VideoLayerChromium::create):
2128         (WebCore::VideoLayerChromium::VideoLayerChromium):
2129         (WebCore::VideoLayerChromium::updateTextureContents):
2130         * platform/graphics/chromium/VideoLayerChromium.h: Added.
2131         (WebCore::VideoLayerChromium::drawsContent):
2132
2133 2010-07-19  Dirk Schulze  <krit@webkit.org>
2134
2135         Reviewed by Nikolas Zimmermann.
2136
2137         SVG CleanUp of SVGPathData parsing
2138         https://bugs.webkit.org/show_bug.cgi?id=41410
2139
2140         Cleanup the parsing code for SVG Paths. Move classes out of the convoluted SVGParserUtilities.cpp
2141         in their own files. Make use of WebCore specific objects in parsing code like FloatPoint, AffineTransform,
2142         etc. instead of using home-brewn solutions.
2143         The SVGPathParser parses a path data string and delivers the parsed segments and values to the SVGPathConsumer.
2144         SVGPathConsumer is the base class for SVGPathBuilder and SVGPathSegListBuilder, that either build the platform
2145         Path object or a SVGPathSegList out of the segments.
2146         We're now directly parsing floats instead of truncating precision to float afterwards.
2147
2148         SVG Path with an arc with radius of 0 does not render
2149         https://bugs.webkit.org/show_bug.cgi?id=40448
2150
2151         If one of the radii on the elliptic arc are zero, we should draw a line from the starting point to
2152         the end point according to the spec. Fixed this bug with this patch, because an is zero check and 
2153         an DRT check was neccessary with the current clean-up.
2154         Extended svg/dom/path-parser.xhml to check the correct behavior.
2155
2156         * Android.mk:
2157         * GNUmakefile.am:
2158         * WebCore.gypi:
2159         * WebCore.pro:
2160         * WebCore.vcproj/WebCore.vcproj:
2161         * WebCore.xcodeproj/project.pbxproj:
2162         * platform/graphics/FloatPoint.h:
2163         (WebCore::FloatPoint::move): Follow WebKit style and use multiple lines for the function.
2164         (WebCore::FloatPoint::scale): Scale FloatPoint.
2165         (WebCore::operator+=):
2166         (WebCore::operator+): Add two FloatPoints and give back the sum as FloatPoint.
2167         * svg/SVGAllInOne.cpp: Added new created files.
2168         * svg/SVGAnimateElement.cpp:
2169         (WebCore::SVGAnimateElement::calculateFromAndToValues): Use new PathParser to create a PathSegList.
2170         * svg/SVGAnimateMotionElement.cpp:
2171         (WebCore::SVGAnimateMotionElement::parseMappedAttribute): Use new PathParser to create a Path.
2172         * svg/SVGGlyphElement.cpp:
2173         (WebCore::parsePathData): Use new PathParser to create a Path.
2174         * svg/SVGParserUtilities.cpp:
2175         (WebCore::parseArcFlag): Removed parseArcFlag(double&), we parse in float now.
2176         * svg/SVGParserUtilities.h: Removed path parsing code and a lot of unneccessary includes.
2177         * svg/SVGPathBuilder.cpp: Added.
2178         (WebCore::SVGPathBuilder::SVGPathBuilder):
2179         (WebCore::SVGPathBuilder::build): Builds a normalized Path.
2180         (WebCore::SVGPathBuilder::moveTo):
2181         (WebCore::SVGPathBuilder::lineTo):
2182         (WebCore::SVGPathBuilder::curveToCubic):
2183         (WebCore::SVGPathBuilder::closePath):
2184         * svg/SVGPathBuilder.h: Added. We just create normalized Paths, so this functions should never be reached.
2185         (WebCore::SVGPathBuilder::lineToHorizontal):
2186         (WebCore::SVGPathBuilder::lineToVertical):
2187         (WebCore::SVGPathBuilder::curveToCubicSmooth):
2188         (WebCore::SVGPathBuilder::curveToQuadratic):
2189         (WebCore::SVGPathBuilder::curveToQuadraticSmooth):
2190         (WebCore::SVGPathBuilder::arcTo):
2191         * svg/SVGPathConsumer.h: Added. Base class of SVGPathBuilder and SVGPathSegListBuilder.
2192         (WebCore::):
2193         (WebCore::SVGPathConsumer::SVGPathConsumer):
2194         (WebCore::SVGPathConsumer::~SVGPathConsumer):
2195         * svg/SVGPathElement.cpp:
2196         (WebCore::SVGPathElement::parseMappedAttribute): Use new PathParser to create a PathSegList.
2197         * svg/SVGPathParser.cpp: Added.
2198         (WebCore::SVGPathParser::SVGPathParser):
2199         (WebCore::SVGPathParser::~SVGPathParser):
2200         (WebCore::SVGPathParser::parseClosePathSegment):
2201         (WebCore::SVGPathParser::parseMoveToSegment):
2202         (WebCore::SVGPathParser::parseLineToSegment):
2203         (WebCore::SVGPathParser::parseLineToHorizontalSegment):
2204         (WebCore::SVGPathParser::parseLineToVerticalSegment):
2205         (WebCore::SVGPathParser::parseCurveToCubicSegment):
2206         (WebCore::SVGPathParser::parseCurveToCubicSmoothSegment):
2207         (WebCore::SVGPathParser::parseCurveToQuadraticSegment):
2208         (WebCore::SVGPathParser::parseCurveToQuadraticSmoothSegment):
2209         (WebCore::SVGPathParser::parseArcToSegment):
2210         (WebCore::SVGPathParser::parsePathDataString):
2211         (WebCore::SVGPathParser::decomposeArcToCubic): Normalizes an arc to multiple cubic curves.
2212         * svg/SVGPathParser.h: Added.
2213         * svg/SVGPathSegListBuilder.cpp: Added.
2214         (WebCore::SVGPathSegListBuilder::SVGPathSegListBuilder):
2215         (WebCore::SVGPathSegListBuilder::build):
2216         (WebCore::SVGPathSegListBuilder::moveTo):
2217         (WebCore::SVGPathSegListBuilder::lineTo):
2218         (WebCore::SVGPathSegListBuilder::lineToHorizontal):
2219         (WebCore::SVGPathSegListBuilder::lineToVertical):
2220         (WebCore::SVGPathSegListBuilder::curveToCubic):
2221         (WebCore::SVGPathSegListBuilder::curveToCubicSmooth):
2222         (WebCore::SVGPathSegListBuilder::curveToQuadratic):
2223         (WebCore::SVGPathSegListBuilder::curveToQuadraticSmooth):
2224         (WebCore::SVGPathSegListBuilder::arcTo):
2225         (WebCore::SVGPathSegListBuilder::closePath):
2226         * svg/SVGPathSegListBuilder.h: Added.
2227
2228 2010-07-15  Yuzo Fujishima  <yuzo@google.com>
2229
2230         Reviewed by Dan Bernstein.
2231
2232         Fix for Bug 42342 - Font download error for an @font-face rule invalidates other @font-face rules for the same font-family
2233         https://bugs.webkit.org/show_bug.cgi?id=42342
2234
2235         Test: fast/css/font-face-download-error.html
2236
2237         * css/CSSSegmentedFontFace.cpp:
2238         (WebCore::CSSSegmentedFontFace::isValid): Valid if at least one font
2239         face is valid.
2240         (WebCore::CSSSegmentedFontFace::getFontData): Check validity for each
2241         font face.
2242         * css/CSSSegmentedFontFace.h: Make isValid private.
2243
2244 2010-07-19  Kent Tamura  <tkent@chromium.org>
2245
2246         Reviewed by Shinichiro Hamaji.
2247
2248         [Chromium] Fix style errors of RenderThemeChromiumWin.cpp
2249         https://bugs.webkit.org/show_bug.cgi?id=42568
2250
2251         * rendering/RenderThemeChromiumWin.cpp:
2252         (WebCore::):
2253         (WebCore::getNonClientMetrics):
2254         (WebCore::systemFontSize):
2255         (WebCore::pointsToPixels):
2256         (WebCore::querySystemBlinkInterval):
2257         (WebCore::RenderThemeChromiumWin::platformActiveSelectionBackgroundColor):
2258         (WebCore::RenderThemeChromiumWin::platformInactiveSelectionBackgroundColor):
2259         (WebCore::RenderThemeChromiumWin::platformActiveSelectionForegroundColor):
2260         (WebCore::RenderThemeChromiumWin::platformActiveTextSearchHighlightColor):
2261         (WebCore::RenderThemeChromiumWin::paintButton):
2262         (WebCore::RenderThemeChromiumWin::paintSliderTrack):
2263         (WebCore::RenderThemeChromiumWin::paintMenuList):
2264         (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
2265         (WebCore::RenderThemeChromiumWin::paintInnerSpinButton):
2266
2267 2010-07-19  Steve Falkenburg  <sfalken@apple.com>
2268
2269         (Hopefully the last) Windows build fix.
2270         
2271         Version of CoreServices.h in WebKit Support Libraries uses
2272         pragma once, unlike the version I have locally. Switch based
2273         on __COLORSYNCDEPRECATED__ instead.
2274
2275         * WebCorePrefix.h:
2276
2277 2010-07-19  Steve Falkenburg  <sfalken@apple.com>
2278
2279         Windows build fix.
2280
2281         * WebCorePrefix.h:
2282
2283 2010-07-19  Steve Falkenburg  <sfalken@apple.com>
2284
2285         Build fix.
2286
2287         * WebCorePrefix.h:
2288
2289 2010-07-19  Steve Falkenburg  <sfalken@apple.com>
2290
2291         Build fix.
2292
2293         * WebCorePrefix.h:
2294
2295 2010-07-19  Steve Falkenburg  <sfalken@apple.com>
2296
2297         Windows Build fixes for new ColorSync API.
2298         We support both new and old APIs, since the newer headers aren't in the tree yet.
2299
2300         * WebCorePrefix.h: Removed include of CoreServices.h. Included via ColorSyncPriv.h instead, since header may not be present.
2301         * platform/graphics/cg/ColorCG.cpp:
2302         (WebCore::createCGColor): Conditionally use new ColorSync API.
2303         * platform/graphics/opentype/OpenTypeUtilities.cpp: Define Fixed if CoreServices.h doesn't.
2304         * platform/graphics/win/GraphicsLayerCACF.cpp:
2305         (WebCore::GraphicsLayerCACF::updateLayerDrawsContent): Use 0 instead of nil, since nil is no longer present via CoreServices.h.
2306         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: Include AssertMacros.h.
2307         * platform/network/cf/ResourceErrorCF.cpp:
2308         (WebCore::ResourceError::operator CFErrorRef): Use 0 instead of nil, since nil is no longer present via CoreServices.h.
2309
2310 2010-07-19  Tony Gentilcore  <tonyg@chromium.org>
2311
2312         Reviewed by Dimitri Glazkov.
2313
2314         Only set unloadEventEnd when the unload event is actually fired
2315         https://bugs.webkit.org/show_bug.cgi?id=42607
2316
2317         r63689 introduced this ASSERT and it began failing on Qt and Mac debug.
2318         For some reason, it did not fail on Windows (which is where I was
2319         testing). The ASSERT was disabled in r63699.
2320
2321         Test: page-cache related layout tests don't crash in debug mode on Mac.
2322
2323         * loader/FrameLoader.cpp:
2324         (WebCore::FrameLoader::stopLoading):
2325
2326 2010-07-19  Andreas Kling  <andreas.kling@nokia.com>
2327
2328         Reviewed by Kenneth Rohde Christiansen.
2329
2330         [Qt] Don't unnecessarily copy QPainterPath in fillPath() and strokePath()
2331         https://bugs.webkit.org/show_bug.cgi?id=42513
2332
2333         Avoid making unnecessary deep-copies of QPainterPaths that will
2334         be discarded after use.
2335
2336         * platform/graphics/qt/GraphicsContextQt.cpp:
2337         (WebCore::GraphicsContext::fillPath):
2338         (WebCore::GraphicsContext::strokePath):
2339
2340 2010-07-19  Kenneth Russell  <kbr@google.com>
2341
2342         Reviewed by Nate Chapin.
2343
2344         WebGL rendering results must be made available to Canvas.toDataURL and 2D drawImage
2345         https://bugs.webkit.org/show_bug.cgi?id=34719
2346
2347         Fixed compiler warning introduced by original patch. No new tests;
2348         covered by existing tests.
2349
2350         * platform/graphics/mac/GraphicsContext3DMac.mm:
2351         (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
2352
2353 2010-07-19  Anders Carlsson  <andersca@apple.com>
2354
2355         Reviewed by Darin Adler, Adam Roben, Dan Bernstein and Sam Weinig.
2356
2357         Handle NP_ASFILE and NP_ASFILEONLY transfer modes
2358         https://bugs.webkit.org/show_bug.cgi?id=42587
2359
2360         * WebCore.exp.in:
2361         Export functions from FileSystem.h
2362         
2363         * platform/mac/FileSystemMac.mm:
2364         (WebCore::openTemporaryFile):
2365         Try to create a temporary file using mkstemp.
2366
2367 2010-07-19  Anders Carlsson  <andersca@apple.com>
2368
2369         Reviewed by Sam Weinig.
2370
2371         Implement NPN_PostURLNotify
2372         https://bugs.webkit.org/show_bug.cgi?id=42602
2373
2374         Export symbols needed by WebKit2.
2375
2376         * WebCore.exp.in:
2377
2378 2010-07-19  Tony Gentilcore  <tonyg@chromium.org>
2379
2380         Unreviewed build fix.
2381
2382         Remove overzealous ASSERT from r63689
2383         https://bugs.webkit.org/show_bug.cgi?id=42606
2384
2385         No new tests because no new functionality.
2386
2387         * loader/FrameLoader.cpp:
2388         (WebCore::FrameLoader::stopLoading):
2389
2390 2010-07-19  Joseph Pecoraro  <joepeck@webkit.org>
2391
2392         Reviewed by Mark Rowe.
2393
2394         Web Inspector: Do Not Copy *.re2js Inspector Resources in XCode Build Phase
2395         https://bugs.webkit.org/show_bug.cgi?id=42601
2396
2397         Remove *.re2js files after copying them over in the Build Phase. We do
2398         the same to remove the WebKit.qrc file.
2399
2400         * WebCore.xcodeproj/project.pbxproj:
2401
2402 2010-07-17  Tony Gentilcore  <tonyg@chromium.org>
2403
2404         Reviewed by Darin Fisher.
2405
2406         [Web Timing] Move times to DocumentLoader and fix bugs in mark points
2407         https://bugs.webkit.org/show_bug.cgi?id=42512
2408
2409         Test: fast/dom/webtiming-navigate-within-document.html
2410
2411         * loader/DocumentLoader.h: Move the FrameLoadTimeline (now call DocumentLoadTiming) to the DocumentLoader.
2412         (WebCore::DocumentLoader::documentLoadTiming):
2413         * loader/FrameLoader.cpp:
2414         (WebCore::FrameLoader::stopLoading): Set unloadEventEnd on the provisional DocumentLoader. Add some ASSERTs to tighten things up.
2415         (WebCore::FrameLoader::loadWithDocumentLoader): This was not the right place to set navigationStart. Setting it here caused it to be set before the unload form prompt and caused it to be reset when navigating within the document.
2416         (WebCore::FrameLoader::finishedLoading): Set responseEnd on the active DocumentLoader.
2417         (WebCore::FrameLoader::continueLoadAfterWillSubmitForm): This is the right place for navigationStart as defined by the spec.
2418         * loader/FrameLoader.h: Get rid of FrameLoadTimeline.
2419         * loader/FrameLoaderTypes.h: Rename FrameLoadTimeline to DocumentLoadTiming. It is even more apparent this doesn't belong in this file now. I am planning to submit a patch moving it out ASAP, but didn't want to muddy this patch with all those build files.
2420         (WebCore::DocumentLoadTiming::DocumentLoadTiming):
2421         * loader/MainResourceLoader.cpp:
2422         (WebCore::MainResourceLoader::willSendRequest): Move fetchStart out of this method to load(), and rewrite setting of redirectStart, redirectEnd, and redirectCount to be more readable.
2423         (WebCore::MainResourceLoader::load): Set fetchStart slightly earlier here and tighten it up with some ASSERTs.
2424         * page/DOMWindow.cpp:
2425         (WebCore::DOMWindow::dispatchLoadEvent): Set loadEventStart and loadEventEnd on the DocumentLoader.
2426         * page/Navigation.cpp:
2427         (WebCore::Navigation::redirectCount): Retrieve redirectCount from the DocumentLoader.
2428         * page/Timing.cpp:
2429         (WebCore::getPossiblySkewedTimeInKnownRange): The skew problem turned out to be due to the fact that chromium's currentTime() implementation only syncs to the system time every 60 seconds. So absolute times across threads may be skewed slightly. I resolved this temporarily by clipping the time from another thread into a known bound. A better long term solution is probably to add a currentTimeFromSystemTime() method and call that for web timing marks.
2430         (WebCore::Timing::navigationStart):
2431         (WebCore::Timing::unloadEventEnd):
2432         (WebCore::Timing::redirectStart):
2433         (WebCore::Timing::redirectEnd):
2434         (WebCore::Timing::fetchStart):
2435         (WebCore::Timing::domainLookupStart):
2436         (WebCore::Timing::domainLookupEnd):
2437         (WebCore::Timing::connectStart):
2438         (WebCore::Timing::connectEnd):
2439         (WebCore::Timing::requestStart):
2440         (WebCore::Timing::requestEnd):
2441         (WebCore::Timing::responseStart):
2442         (WebCore::Timing::responseEnd):
2443         (WebCore::Timing::loadEventStart):
2444         (WebCore::Timing::loadEventEnd):
2445         (WebCore::Timing::documentLoader):
2446         (WebCore::Timing::documentLoadTiming):
2447         (WebCore::Timing::resourceLoadTiming):
2448         (WebCore::Timing::resourceLoadTimeRelativeToAbsolute): Ensure requestTime is in the range of fetchStart to responseEnd.
2449         * page/Timing.h:
2450
2451 2010-07-19  Chris Marrin  <cmarrin@apple.com>
2452
2453         Reviewed by Darin Adler.
2454
2455         https://bugs.webkit.org/show_bug.cgi?id=42118
2456         Disable WebGL on Leopard for now. 
2457
2458         LayoutTests fail on some graphics hardware on Leopard because one of the features we use,
2459         GL_ARB_framebuffer_object, is not universally available in Leopard like it is in
2460         SnowLeopard. This will allow LayoutTests to pass on Leopard until we add logic to use a
2461         software OpenGL driver on machines without this support.
2462
2463         * Configurations/FeatureDefines.xcconfig:
2464
2465 2010-07-19  Eric Carlson  <eric.carlson@apple.com>
2466
2467         Reviewed by Sam Weinig.
2468
2469         Remove HTML5 media element 'load' event
2470         https://bugs.webkit.org/show_bug.cgi?id=30464
2471         <rdar://problem/5650561>
2472
2473         * html/HTMLMediaElement.cpp:
2474         (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_completelyLoaded.
2475         (WebCore::HTMLMediaElement::parseMappedAttribute): Don't deal with 'load' event.
2476         (WebCore::HTMLMediaElement::prepareForLoad): Set m_completelyLoaded to false.
2477         (WebCore::HTMLMediaElement::setNetworkState): Don't post 'load' event.
2478         (WebCore::HTMLMediaElement::progressEventTimerFired): Bail if m_networkState != NETWORK_LOADING.
2479         (WebCore::HTMLMediaElement::userCancelledLoad): No more NETWORK_LOADED state.
2480         * html/HTMLMediaElement.h:
2481         (WebCore::HTMLMediaElement::):
2482         * html/HTMLMediaElement.idl: Remove NETWORK_LOADING.
2483
2484 2010-07-19  Alexey Proskuryakov  <ap@apple.com>
2485
2486         Reviewed by Darin Adler.
2487
2488         https://bugs.webkit.org/show_bug.cgi?id=40996
2489         Progress event should not be fired during synchronous XMLHttpRequest
2490
2491         https://bugs.webkit.org/show_bug.cgi?id=17502
2492         Assertion failure when trying to restart a sync XMLHttpRequest as an async one from onreadystatechange
2493
2494         Tests: http/tests/xmlhttprequest/xmlhttprequest-sync-no-progress-events.html
2495                http/tests/xmlhttprequest/xmlhttprequest-sync-vs-async-assertion-failure.html
2496
2497         * xml/XMLHttpRequest.cpp:
2498         (WebCore::XMLHttpRequest::callReadyStateChangeListener): We now only dispatch readystatechange
2499         event for synchronous requests in states UNSENT, OPENED and DONE. I'm not sure what exactly
2500         the spec draft says about readystatechange for sync requests, but this seems to be the most
2501         logical and backwards compatible behavior.
2502         (WebCore::XMLHttpRequest::didReceiveData): Don't dispatch progress events for sync requests.
2503         Note that we already don't dispatch upload progress events for those.
2504
2505 2010-07-19  Dan Bernstein  <mitz@apple.com>
2506
2507         Reviewed by Simon Fraser.
2508
2509         <rdar://problem/7232109> Unpainted white area appears at the edge of the page when body has bg color
2510         https://bugs.webkit.org/show_bug.cgi?id=34913
2511
2512         Tests: fast/repaint/view-background-from-body-1.html
2513                fast/repaint/view-background-from-body-2.html
2514
2515         * rendering/RenderBox.cpp:
2516         (WebCore::RenderBox::styleWillChange): If this is the body renderer and its current style is
2517         null, repaint the view, similarly to how the view is repainted for any repaint-or-higher
2518         style changes.
2519         * rendering/RenderObjectChildList.cpp:
2520         (WebCore::RenderObjectChildList::removeChildNode): If the removed child is the body renderer,
2521         repaint the view, in case the body’s background was propagated to the view.
2522
2523 2010-07-19  Adam Roben  <aroben@apple.com>
2524
2525         Fix an assertion when a plugin returns -1 from NPP_Write
2526
2527         We were forgetting to call setDefersLoading(false) before destroying
2528         the PluginStream. In the process of destroying the stream, someone
2529         would call setDefersLoading(true), and we would assert because we were
2530         already deferring loads.
2531
2532         Fixes <http://webkit.org/b/42563> Assertion failure in
2533         ResourceHandle::setDefersLoading when running
2534         plugins/return-negative-one-from-write.html on Windows
2535
2536         Reviewed by Anders Carlsson.
2537
2538         * plugins/PluginStream.cpp:
2539         (WebCore::PluginStream::deliverData): Call setDefersLoading(false)
2540         before destroying the stream, to match the setDefersLoading(true) call
2541         earlier in this function. (We already call setDefersLoading(false) in
2542         the non-error case later on.)
2543
2544 2010-07-19  Rafael Antognolli  <antognolli@profusion.mobi>
2545
2546         Reviewed by Antonio Gomes.
2547
2548         [EFL] Fix some EFL theme issues
2549         https://bugs.webkit.org/show_bug.cgi?id=42569
2550
2551         Keep a pointer to theme filename and check for it correctly.
2552         Reduce the scope of some variables.
2553         Don't test for platformWidget() since we are not using it.
2554
2555         No new tests, no new functionality.
2556
2557         * platform/efl/WidgetEfl.cpp:
2558         (WebCore::Widget::applyCursor):
2559         (WebCore::Widget::setCursor):
2560
2561 2010-07-19  Rafael Antognolli  <antognolli@profusion.mobi>
2562
2563         Reviewed by Antonio Gomes.
2564
2565         [EFL] Add ifdef to compile code just on presence of Ecore_X
2566         https://bugs.webkit.org/show_bug.cgi?id=42567
2567
2568         No new tests since there's no new functionality.
2569
2570         * platform/efl/WidgetEfl.cpp:
2571         (WebCore::Widget::setEvasObject):
2572         Add #ifdef HAVE_ECORE_X to it.
2573
2574 2010-07-19  Yury Semikhatsky  <yurys@chromium.org>
2575
2576         Reviewed by Pavel Feldman.
2577
2578         Web Inspector: add/removeStyleClass shouldn't increase number of spaces between class names.
2579         https://bugs.webkit.org/show_bug.cgi?id=42485
2580
2581         * inspector/front-end/utilities.js:
2582         (Element.prototype.removeStyleClass):
2583
2584 2010-07-19  Yury Semikhatsky  <yurys@chromium.org>
2585
2586         Reviewed by Pavel Feldman.
2587
2588         Web Inspector: show stack trace for uncaught exceptions when Web Inspector is open.
2589         https://bugs.webkit.org/show_bug.cgi?id=42560
2590
2591         * bindings/js/ScriptController.cpp:
2592         (WebCore::ScriptController::setCaptureCallStackForUncaughtExceptions):
2593         * bindings/js/ScriptController.h:
2594         * bindings/v8/ScriptController.cpp:
2595         (WebCore::ScriptController::setCaptureCallStackForUncaughtExceptions):
2596         * bindings/v8/ScriptController.h:
2597         * bindings/v8/V8ConsoleMessage.cpp:
2598         (WebCore::V8ConsoleMessage::dispatchNow):
2599         (WebCore::V8ConsoleMessage::handler):
2600         * bindings/v8/V8ConsoleMessage.h:
2601         * inspector/ConsoleMessage.cpp:
2602         (WebCore::ConsoleMessage::ConsoleMessage):
2603         * inspector/ConsoleMessage.h:
2604         * inspector/InspectorController.cpp:
2605         (WebCore::InspectorController::addMessageToConsole):
2606         (WebCore::InspectorController::startGroup):
2607         (WebCore::InspectorController::connectFrontend):
2608         (WebCore::InspectorController::disconnectFrontend):
2609         * inspector/InspectorController.h:
2610         * inspector/front-end/ConsoleView.js:
2611         (WebInspector.ConsoleMessage.prototype._formatMessage):
2612         (WebInspector.ConsoleMessage.prototype.toMessageElement):
2613         (WebInspector.ConsoleMessage.prototype._populateStackTraceTreeElement):
2614         (WebInspector.ConsoleMessage.prototype._addMessageHeader):
2615         (WebInspector.ConsoleMessage.prototype.toString):
2616         * inspector/front-end/inspector.css:
2617         (.console-message.repeated-message > ol.stack-trace):
2618         (.section .properties ol, .event-properties ol, .stack-trace ol, ol.stack-trace):
2619         (ol.stack-trace):
2620         (.section .properties ol.expanded, .event-properties ol.expanded, .stack-trace ol, ol.stack-trace):
2621         * page/Console.cpp:
2622         (WebCore::Console::addMessage):
2623         * page/Console.h:
2624         (WebCore::):
2625
2626 2010-07-19  Robin Burchell  <robin.burchell@collabora.co.uk>
2627
2628         Reviewed by Antonio Gomes
2629
2630         [Qt] Use memcpy() instead of qMemCopy()
2631         This is supposed to be more efficient, as the compiler is able to
2632         optimise more.
2633
2634         Additionally,  qMemCopy() is only strictly supposed to be used in
2635         headers (see Qt's src/corelib/qglobal.h for reference)
2636         See: https://bugs.webkit.org/show_bug.cgi?id=42392
2637
2638         * bridge/qt/qt_runtime.cpp:
2639         (JSC::Bindings::convertQVariantToValue):
2640
2641 2010-07-14  Andreas Kling  <andreas.kling@nokia.com>
2642
2643         Reviewed by Kenneth Rohde Christiansen.
2644
2645         Canvas: Rename operator==(CanvasStyle,CanvasStyle) since it isn't a proper equality check
2646         https://bugs.webkit.org/show_bug.cgi?id=42284
2647
2648         New name is isEquivalentColor(CanvasStyle).
2649
2650         * html/canvas/CanvasRenderingContext2D.cpp:
2651         (WebCore::CanvasRenderingContext2D::setStrokeStyle):
2652         (WebCore::CanvasRenderingContext2D::setFillStyle):
2653         * html/canvas/CanvasStyle.cpp:
2654         (WebCore::CanvasStyle::isEquivalentColor):
2655         * html/canvas/CanvasStyle.h:
2656
2657 2010-07-19  Andreas Kling  <andreas.kling@nokia.com>
2658
2659         Reviewed by Kenneth Rohde Christiansen.
2660
2661         [Qt] Canvas: Wrong internal positioning of drawImage() shadows
2662         https://bugs.webkit.org/show_bug.cgi?id=42510
2663
2664         * platform/graphics/qt/ImageQt.cpp:
2665         (WebCore::BitmapImage::draw):
2666         * platform/graphics/qt/StillImageQt.cpp:
2667         (WebCore::StillImage::draw):
2668
2669 2010-07-19  Andreas Kling  <andreas.kling@nokia.com>
2670
2671         Reviewed by Kenneth Rohde Christiansen.
2672
2673         [Qt] Render shadow when drawing one canvas onto another
2674         https://bugs.webkit.org/show_bug.cgi?id=42508
2675
2676         * platform/graphics/qt/StillImageQt.cpp:
2677         (WebCore::StillImage::draw):
2678
2679 2010-07-19  Andreas Kling  <andreas.kling@nokia.com>
2680
2681         Reviewed by Kenneth Rohde Christiansen.
2682
2683         [Qt] Some composition modes fail when color has alpha zero
2684         https://bugs.webkit.org/show_bug.cgi?id=36973
2685
2686         Remove erroneous optimization that ignored painting calls when
2687         the stroke/fill color had an alpha value of zero.
2688
2689         * platform/graphics/qt/GraphicsContextQt.cpp:
2690         (WebCore::GraphicsContext::drawLine):
2691         (WebCore::GraphicsContext::strokeArc):
2692         (WebCore::GraphicsContext::fillPath):
2693         (WebCore::GraphicsContext::strokePath):
2694         (WebCore::GraphicsContext::fillRect):
2695         (WebCore::GraphicsContext::fillRoundedRect):
2696
2697 2010-07-19  Andreas Kling  <andreas.kling@nokia.com>
2698
2699         Reviewed by Kenneth Rohde Christiansen.
2700
2701         CSS3 background: Number of layers should be determined by background-image element count
2702         https://bugs.webkit.org/show_bug.cgi?id=41201
2703
2704         Manual test: css3-background-layer-count.html
2705
2706         Spec link:
2707         http://www.w3.org/TR/css3-background/#layering
2708
2709         * manual-tests/css3-background-layer-count.html: Added.
2710         * rendering/style/FillLayer.cpp:
2711         (WebCore::FillLayer::fillUnsetProperties): Don't repeat
2712         image properties, they determine the total number of layers.
2713         (WebCore::FillLayer::cullEmptyLayers): Change culling logic
2714         to discard all layers after the first one without an image set.
2715         * rendering/style/RenderStyle.h:
2716         (WebCore::InheritedFlags::adjustBackgroundLayers): Call
2717         fillUnsetProperties() before cullEmptyLayers()
2718         (WebCore::InheritedFlags::adjustMaskLayers): Ditto.
2719
2720 2010-07-19  Andreas Kling  <andreas.kling@nokia.com>
2721
2722         Reviewed by Kenneth Rohde Christiansen.
2723
2724         [Qt] Avoid QImage::pixel() in getImageData()
2725         https://bugs.webkit.org/show_bug.cgi?id=42463
2726
2727         * platform/graphics/qt/ImageBufferQt.cpp:
2728         (WebCore::getImageData): Use QImage::scanLine() instead
2729         of fetching data pixel-by-pixel.
2730
2731 2010-07-19  Yury Semikhatsky  <yurys@chromium.org>
2732
2733         Reviewed by Pavel Feldman.
2734
2735         Web Inspector: hide "toggle debugger" button when debugger is always enabled
2736         https://bugs.webkit.org/show_bug.cgi?id=42558
2737
2738         * inspector/front-end/ScriptsPanel.js:
2739         (WebInspector.ScriptsPanel):
2740
2741 2010-07-19  Hans Wennborg  <hans@chromium.org>
2742
2743         Reviewed by Steve Block.
2744
2745         Explicitly declare DeviceOrientationEvent destructor and define it in the .cpp file
2746         https://bugs.webkit.org/show_bug.cgi?id=42466
2747
2748         (Original problem at https://bugs.webkit.org/show_bug.cgi?id=42447)
2749
2750         No new functionality so no new tests.
2751
2752         * dom/DeviceOrientationEvent.cpp:
2753         (WebCore::DeviceOrientationEvent::~DeviceOrientationEvent):
2754         Move here to avoid needing to have the full declaration of
2755         DeviceOrientation in DeviceOrientationEvent.h.
2756         * dom/DeviceOrientationEvent.h:
2757
2758 2010-07-18  Anders Carlsson  <andersca@apple.com>
2759
2760         Fix Build.
2761
2762         * rendering/RenderThemeMac.mm:
2763         (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
2764
2765 2010-07-18  Anders Carlsson  <andersca@apple.com>
2766
2767         Reviewed by Dan Bernstein.
2768
2769         Always set the current NSGraphicsContext before calling drawWithFrame
2770         https://bugs.webkit.org/show_bug.cgi?id=42542
2771
2772         * rendering/RenderThemeMac.mm:
2773         (WebCore::RenderThemeMac::paintMeter):
2774         (WebCore::RenderThemeMac::paintSearchField):
2775         (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
2776         (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
2777         (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
2778
2779 2010-07-18  Anders Carlsson  <andersca@apple.com>
2780
2781         Reviewed by Sam Weinig.
2782
2783         Move PluginWidget to WebKit
2784         https://bugs.webkit.org/show_bug.cgi?id=42530
2785
2786         Rename the PluginWidget class to PluginViewBase and make it an abstract base class.
2787         
2788         This is a stopgap measure until we have a single PluginView class that we can use everywhere.
2789
2790         * WebCore.exp.in:
2791         Remove PluginWidget symbols.
2792
2793         * WebCore.xcodeproj/project.pbxproj:
2794         Update.
2795
2796         * platform/Widget.h:
2797         (WebCore::Widget::isPluginViewBase):
2798         Return false.
2799
2800         * plugins/PluginViewBase.h: Added.
2801         (WebCore::PluginViewBase::platformLayer):
2802         Always return 0 here now.
2803
2804         (WebCore::PluginViewBase::isPluginViewBase):
2805         Return true.
2806
2807         * plugins/PluginWidget.h: Removed.
2808         * plugins/mac/PluginWidgetMac.mm: Removed.
2809         * rendering/RenderEmbeddedObject.cpp:
2810         (WebCore::RenderEmbeddedObject::allowsAcceleratedCompositing):
2811         Cast to PluginWidgetBase instead.
2812         
2813         * rendering/RenderLayerBacking.cpp:
2814         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
2815         Cast to PluginWidgetBase instead.
2816
2817 2010-07-18  Dean Jackson  <dino@apple.com>
2818
2819         Unreviewed.
2820
2821         Remove the unwanted extra line that Xcode
2822         added in my last commit.
2823
2824         * WebCore.xcodeproj/project.pbxproj:
2825
2826 2010-07-18  Dean Jackson  <dino@apple.com>
2827
2828         Reviewed by Simon Fraser.
2829
2830         https://bugs.webkit.org/show_bug.cgi?id=41259
2831         Interacting with a <select> element within a transformed and clipped
2832         container scrolls the container
2833
2834         The Node::getRect and ContainerNode::getRect functions were not
2835         transform-aware. This fixes both, and has a test to make sure
2836         we're not breaking any existing scrollToView code. This means
2837         that a <select> popup will appear in the correct place if it
2838         is within a transformed and scrolled container.
2839
2840         Test: fast/transforms/scrollIntoView-transformed.html
2841
2842         * dom/ContainerNode.cpp:
2843         (WebCore::ContainerNode::getUpperLeftCorner):
2844         (WebCore::ContainerNode::getLowerRightCorner):
2845         - make sure we call localToAbsolute in the right order
2846         (after we've done a local move) and pass in the flags to
2847         indicate it should look for transforms.
2848         * dom/Node.cpp:
2849         (WebCore::Node::getRect):
2850         - make sure localToAbsolute gets told to look for transforms.
2851
2852 2010-07-18  Anders Carlsson  <andersca@apple.com>
2853
2854         Reviewed by Sam Weinig.
2855
2856         Add NPJSObjectMap class
2857         https://bugs.webkit.org/show_bug.cgi?id=42524
2858
2859         Export ScriptController functions.
2860
2861         * WebCore.exp.in:
2862
2863 2010-07-18  Anders Carlsson  <andersca@apple.com>
2864
2865         Reviewed by Dan Bernstein.
2866
2867         Implement some NPRuntime related NPN_ functions
2868         https://bugs.webkit.org/show_bug.cgi?id=42518
2869
2870         * WebCore.exp.in:
2871         Export IdentifierRep functions.
2872
2873 2010-07-17  TJ Lee  <tjlee0909@gmail.com>
2874
2875         Reviewed by Timothy Hatcher.
2876
2877         HTMLLinkElement ignores dnsPrefetchingEnabled setting
2878         https://bugs.webkit.org/show_bug.cgi?id=42500
2879
2880         Changed the HTML Link tag to check that the browser
2881         has DNS-prefetching enabled before calling ResourceHandle::prepareForURL.
2882
2883         There are no test cases for this patch because it was unclear how to test
2884         this using a layout test. A possible test case would be to
2885         clear the DNS cache on the client's machine before loading a page with
2886         <link rel="dns-prefetch" href="SomeSiteThatsNotTheCurrentOne.com"> and
2887         then check the number of DNS cache entries.
2888
2889         * html/HTMLLinkElement.cpp:
2890         (WebCore::HTMLLinkElement::process):
2891
2892 2010-07-16  Maciej Stachowiak  <mjs@apple.com>
2893
2894         Reviewed by Sam Weinig.
2895
2896         Asynchronous policy checks make FrameLoader think it is done loading prematurely
2897         https://bugs.webkit.org/show_bug.cgi?id=42489
2898
2899         This caused many (~100) layout tsts to fail under WebKit2.
2900
2901         * loader/SubframeLoader.cpp:
2902         (WebCore::SubframeLoader::loadSubframe): Right after loading a new subframe,
2903         if m_complete is true, do not consider it done if it has a provisional loader.
2904         This will happen in the case where the policy check is asynchronous.
2905         * loader/FrameLoader.cpp:
2906         (WebCore::FrameLoader::subframeIsLoading): For similar reasons,
2907         consider a subframe to be loading if it has a policy decision pending.
2908
2909 2010-07-15  Qi Zhang  <qi.2.zhang@nokia.com>
2910
2911         Reviewed by Kenneth Rohde Christiansen.
2912
2913         [Qt] Failure on http://philip.html5.org/tests/canvas/suite/tests/2d.shadow.alpha.5.html
2914         https://bugs.webkit.org/show_bug.cgi?id=38400
2915
2916         FillRect with shadow need take alpha information from fillstyle
2917
2918         * platform/graphics/qt/GraphicsContextQt.cpp:
2919         (WebCore::GraphicsContext::fillRect):
2920
2921 2010-07-17  Nikita Vasilyev  <me@elv1s.ru>
2922
2923         Reviewed by Pavel Feldman.
2924
2925         Web Inspector: [REGRESSION] Edit long CSS attributes works incorrect
2926         https://bugs.webkit.org/show_bug.cgi?id=42476
2927
2928         * inspector/front-end/inspector.css:
2929         (.editing):
2930
2931 2010-07-16  Andreas Kling  <andreas.kling@nokia.com>
2932
2933         Reviewed by Sam Weinig.
2934
2935         Failing 2d.path.arcTo.ensuresubpath.* philip canvas tests
2936         https://bugs.webkit.org/show_bug.cgi?id=42186
2937
2938         Move code from Qt's Path::addArcTo() up to CanvasRenderingContext2D.
2939
2940         * html/canvas/CanvasRenderingContext2D.cpp:
2941         (WebCore::CanvasRenderingContext2D::arcTo): Behave as moveTo(x1,y1)
2942         if the current path is empty.
2943         * platform/graphics/qt/PathQt.cpp:
2944         (WebCore::Path::addArcTo): Remove now-redundant code.
2945
2946 2010-07-16  Andreas Kling  <andreas.kling@nokia.com>
2947
2948         Reviewed by Oliver Hunt.
2949
2950         QtWebkit creates an unnecessary deep copy of images when canvas drawing is done
2951         A https://bugs.webkit.org/show_bug.cgi?id=32530
2952
2953         Solve this by adding ImageBuffer::imageForRendering() which returns an image
2954         that can be used for rendering now, but isn't a copy to be kept around.
2955
2956         * platform/graphics/ImageBuffer.h:
2957         (WebCore::ImageBuffer::imageForRendering):
2958         * platform/graphics/qt/ImageBufferQt.cpp:
2959         (WebCore::ImageBuffer::imageForRendering): Added to provide an image that can
2960         be used for rendering now, but may change in the future.
2961         * platform/graphics/qt/StillImageQt.cpp:
2962         (WebCore::StillImage::StillImage):
2963         (WebCore::StillImage::~StillImage):
2964         (WebCore::StillImage::size):
2965         (WebCore::StillImage::nativeImageForCurrentFrame):
2966         (WebCore::StillImage::draw):
2967         * platform/graphics/qt/StillImageQt.h:
2968         (WebCore::StillImage::createForRendering): Added for use in
2969         ImageBuffer::imageForRendering(), provides a thin wrapper around a QPixmap*.
2970         * html/HTMLCanvasElement.cpp:
2971         (WebCore::HTMLCanvasElement::paint): Paint with ImageBuffer::imageForRendering()
2972
2973 2010-07-16  Andreas Kling  <andreas.kling@nokia.com>
2974
2975         Reviewed by Oliver Hunt.
2976
2977         [Qt] Remove redundant logic in Path::addArcTo()
2978         https://bugs.webkit.org/show_bug.cgi?id=42494
2979
2980         Bounds checking for arcTo() is now done in cross-platform code
2981         thanks to <http://trac.webkit.org/changeset/63599>
2982
2983         * platform/graphics/qt/PathQt.cpp:
2984         (WebCore::Path::addArcTo):
2985
2986 2010-07-16  Zhe Su  <suzhe@chromium.org>
2987
2988         Reviewed by Darin Adler.
2989
2990         REGRESSION(r61484): Broke focus behaviour on Qt and probably other platforms
2991         https://bugs.webkit.org/show_bug.cgi?id=42253
2992
2993         This patch just reverts the change to WebCore/page/FocusController.cpp
2994         made in changeset 61484, and add a new method named
2995         willSetInputMethodState in EditorClient interface, which gets called
2996         in FocusController just before changing the focused node.
2997
2998         No new tests, because no new functionality.
2999
3000         * loader/EmptyClients.h:
3001         (WebCore::EmptyEditorClient::willSetInputMethodState):
3002         * page/EditorClient.h:
3003         * page/FocusController.cpp:
3004         (WebCore::FocusController::setFocusedNode):
3005
3006 2010-07-16  Matthew Delaney  <mdelaney@apple.com>
3007
3008         Reviewed by Sam Weinig.
3009
3010         Failing 2d.path.stroke.prune.arc philip canvas test
3011         https://bugs.webkit.org/show_bug.cgi?id=42188
3012
3013         * html/canvas/CanvasRenderingContext2D.cpp: 
3014         Note, updated parameter names to match spec.
3015         (WebCore::CanvasRenderingContext2D::lineTo): Pulled bound checking code out of lower code to have checks for all platforms.
3016         (WebCore::CanvasRenderingContext2D::arcTo): Bound checking per the spec for arcTo parameters. Updated parameter names to match spec.
3017         * platform/graphics/Path.h: Added in new method to expose the current position.
3018         * platform/graphics/cairo/PathCairo.cpp:
3019         (WebCore::Path::currentPoint): Added in likely correct implementation for this call with a FIXME just in case.
3020         * platform/graphics/cg/PathCG.cpp:
3021         (WebCore::Path::currentPoint): Added in support for this call.
3022         * platform/graphics/haiku/PathHaiku.cpp:
3023         (WebCore::Path::currentPoint): Added in stub for this call.
3024         * platform/graphics/openvg/PathOpenVG.cpp:
3025         (WebCore::Path::currentPoint): Added in likely implementation for this call with a FIXME just in case.
3026         * platform/graphics/qt/PathQt.cpp:
3027         (WebCore::Path::currentPoint): Added in implementation for this call courtesy of Andrea Kling.
3028         * platform/graphics/skia/PathSkia.cpp:
3029         (WebCore::Path::currentPoint): Added in stub for this call.
3030         * platform/graphics/wince/PathWince.cpp:
3031         (WebCore::Path::currentPoint): Added in stub for this call.
3032         * platform/graphics/wx/PathWx.cpp:
3033         (WebCore::Path::currentPoint): Added in stub for this call.
3034
3035 2010-07-16  Sheriff Bot  <webkit.review.bot@gmail.com>
3036
3037         Unreviewed, rolling out r63593.
3038         http://trac.webkit.org/changeset/63593
3039         https://bugs.webkit.org/show_bug.cgi?id=42487
3040
3041         Broke a few chromium pixel tests (Requested by tony^work on
3042         #webkit).
3043
3044         * platform/graphics/skia/GraphicsContextSkia.cpp:
3045         (WebCore::GraphicsContext::drawConvexPolygon):
3046         (WebCore::GraphicsContext::drawEllipse):
3047         (WebCore::GraphicsContext::drawLine):
3048         (WebCore::GraphicsContext::strokeArc):
3049         (WebCore::GraphicsContext::strokePath):
3050         (WebCore::GraphicsContext::strokeRect):
3051
3052 2010-07-16  Dan Bernstein  <mitz@apple.com>
3053
3054         Reviewed by Sam Weinig.
3055
3056         Part of <rdar://problem/7233974> Deprecate +[WebView _setShouldUseFontSmoothing:]
3057         https://bugs.webkit.org/show_bug.cgi?id=29355
3058
3059         * WebCore.exp.in: Updated.
3060         * platform/graphics/Font.cpp:
3061         (WebCore::Font::Font): Added a font smoothing mode parameter to the constructor.
3062         Set the font smoothing mode in the font description.
3063         * platform/graphics/Font.h:
3064
3065 2010-07-16  Satish Sampath  <satish@chromium.org>
3066
3067         Reviewed by Anders Carlsson.
3068
3069         Add speech attribute to IDL for enabling access from JS.
3070         https://bugs.webkit.org/show_bug.cgi?id=42483
3071
3072         No tests added, this change is a pre-requisite for future layout tests.
3073
3074         * html/HTMLInputElement.cpp:
3075         (WebCore::HTMLInputElement::parseMappedAttribute): Update the renderer when speech attribute changes.
3076         * html/HTMLInputElement.idl: Added the speech attribute to IDL.
3077
3078 2010-07-16  Fady Samuel  <fsamuel@chromium.org>
3079
3080         Reviewed by David Levin.
3081         
3082         Avoids adding stroke when stroke-width is zero.
3083
3084         SVG - stroke-width:0 bug with stroke other than "none"
3085         https://bugs.webkit.org/show_bug.cgi?id=42387
3086
3087         Test: svg/stroke/path-zero-strokewidth-test.svg
3088
3089         * platform/graphics/skia/GraphicsContextSkia.cpp:
3090         (WebCore::GraphicsContext::drawConvexPolygon):
3091         (WebCore::GraphicsContext::drawEllipse):
3092         (WebCore::GraphicsContext::drawLine):
3093         (WebCore::GraphicsContext::strokeArc):
3094         (WebCore::GraphicsContext::strokePath):
3095         (WebCore::GraphicsContext::strokeRect):
3096
3097 2010-07-16  Kent Tamura  <tkent@chromium.org>
3098
3099         Unreviewed, build fix.
3100
3101         * rendering/RenderThemeChromiumWin.cpp:
3102         (WebCore::RenderThemeChromiumWin::getThemeData): Fix a typo.
3103
3104 2010-07-16  Kent Tamura  <tkent@chromium.org>
3105
3106         Reviewed by Darin Fisher.
3107
3108         [Chromium] <input type=number> UI implementation for Windows
3109         https://bugs.webkit.org/show_bug.cgi?id=42259
3110
3111         No additional tests.  Existing tests cover this change and we'll
3112         update expectations.
3113
3114         * platform/chromium/ChromiumBridge.h: Add paintSpinButton().
3115         * rendering/RenderThemeChromiumWin.cpp:
3116         (WebCore::RenderThemeChromiumWin::determineState):
3117          Add ControlSubPart parameter and add support for spin buttons.
3118         (WebCore::RenderThemeChromiumWin::determineClassicState): ditto.
3119         (WebCore::RenderThemeChromiumWin::getThemeData): ditto.
3120         (WebCore::RenderThemeChromiumWin::adjustInnerSpinButtonStyle): Added.
3121         (WebCore::RenderThemeChromiumWin::paintInnerSpinButton): Added.
3122         * rendering/RenderThemeChromiumWin.h:
3123           Declare ControlSubpart, and add it to some functions.
3124
3125 2010-07-16  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
3126
3127         Reviewed by Antonio Gomes.
3128
3129         [EFL] Use function provided by EFL for system beep
3130         https://bugs.webkit.org/show_bug.cgi?id=42481
3131
3132         EFL port does not support automated tests, yet.
3133
3134         * platform/efl/SoundEfl.cpp:
3135         (WebCore::systemBeep):
3136
3137 2010-07-16  Sarah Strong  <sarah.e.strong@gmail.com>
3138
3139         Reviewed by Gustavo Noronha Silva.
3140
3141         [GTK] Clipboard data is lost on exit
3142         https://bugs.webkit.org/show_bug.cgi?id=27411
3143
3144         No new tests. To manually test the bug fixed by this patch:
3145         1) Open an application that uses a webkit webview on a GNOME-based system
3146         2) Copy some text from that application
3147         3) Optional: paste it to another application. This should work properly with and without this patch.
3148         4) Exit the application completely.
3149         5) Paste:
3150                   Without this patch, you cannot because your clipboard is empty.
3151                   With this patch, pasting succeeds.
3152         I have not included an automated test because of the difficulty of testing behaviour after application exit.
3153
3154 2010-07-16  Kent Tamura  <tkent@chromium.org>
3155
3156         Reviewed by Darin Fisher.
3157
3158         Keyboard operations for <input type=number>
3159         https://bugs.webkit.org/show_bug.cgi?id=42076
3160
3161         - The up arrow key works as stepUp().
3162         - The down arrow key works as stepDown().
3163         - Reject characters other than + - 0-9 . e E
3164
3165         Test: fast/forms/input-number-keyoperation.html
3166
3167         * html/HTMLInputElement.cpp:
3168         (WebCore::HTMLInputElement::defaultEventHandler):
3169          Add up/down arrow keys support, and call handleBeforeTextInsertedEvent().
3170         (WebCore::isNumberCharacter):
3171         (WebCore::HTMLInputElement::handleBeforeTextInsertedEvent):
3172          For type=number, remove unacceptable characters.
3173         * html/HTMLInputElement.h:
3174
3175 2010-07-16  Kent Tamura  <tkent@chromium.org>
3176
3177         Reviewed by Darin Fisher.
3178
3179         Improve hover state handling for spin buttons
3180         https://bugs.webkit.org/show_bug.cgi?id=42260
3181
3182         Background:
3183         When we move the mouse cursor to a node from the outside of the node,
3184         the following steps are executed.
3185          1. setHovered(true) is called.
3186          2. The node is repainted for the hover state.
3187          3. 'mousemove' event is dispatched for the node.
3188         For a spin-button, RenderTheme::paint{Inner,Outer}SpinButton() is
3189         called before the event handler of the spin-button. So we can't
3190         detect which of the up part or the down part is hovered correctly.
3191
3192         Solution:
3193         The hover state of a spin-button is one of three states;
3194         Indeterminate, Up, and Down. The state is Indeterminate since
3195         setHovered(true) is called and until 'mousemove' event is
3196         dispatched.
3197
3198         No new tests because there are no implementation of spin-buttons
3199         with hovered state yet.
3200
3201         * rendering/RenderTheme.cpp:
3202         (WebCore::RenderTheme::isSpinUpButtonPartPressed):
3203         (WebCore::RenderTheme::isHovered):
3204          Return false if the node is a spin-button and the state is Indeterminate.
3205         (WebCore::RenderTheme::isSpinUpButtonPartHovered):
3206         * rendering/TextControlInnerElements.cpp:
3207         (WebCore::SpinButtonElement::SpinButtonElement):
3208          Initialize m_upDownState.
3209         (WebCore::SpinButtonElement::defaultEventHandler):
3210         (WebCore::SpinButtonElement::setHovered):
3211          Set the state to Indeterminate.
3212         * rendering/TextControlInnerElements.h:
3213         (WebCore::SpinButtonElement::upDownState):
3214
3215 2010-07-16  Dan Bernstein  <mitz@apple.com>
3216
3217         Reviewed by Simon Fraser.
3218
3219         <rdar://problem/7527532> Crash beneath setSelection() during detach()
3220         https://bugs.webkit.org/show_bug.cgi?id=42020
3221
3222         No test because I am unable to reproduce the crash.
3223
3224         * rendering/RenderView.cpp:
3225         (WebCore::RenderView::setSelection): In the clearSelection() case, where the repaint mode is
3226         RepaintNewMinusOld, avoid making RenderBlockSelectionInfo instances, and thereby avoid calling
3227         localToAbsolute() during detach().
3228
3229 2010-07-16  Anders Carlsson  <andersca@apple.com>
3230
3231         Fix release build.
3232
3233         * storage/Database.cpp:
3234         (WebCore::DerefContextTask::performTask):
3235
3236 2010-07-16  Simon Fraser  <simon.fraser@apple.com>
3237
3238         Reviewed by Sam Weinig.
3239
3240         Safari pegs CPU and drops frames on http://neography.com/experiment/circles/solarsystem/ (CSS animations)
3241         https://bugs.webkit.org/show_bug.cgi?id=41409
3242         
3243         AnimationController::isAnimatingPropertyOnRenderer() really asked whether an accelerated animation
3244         or transition was running. This prevented us from falling into compositing layers for animation
3245         on platforms, like Windows, that don't have accelerated animations.
3246         
3247         Fix by making things more explicit: we now have two methods, isRunningAnimationOnRenderer()
3248         and isRunningAcceleratedAnimationOnRenderer().
3249         
3250         Changes are more extensive because I flipped the sense of 'm_fallbackAnimating', which is
3251         now 'm_isAccelerated', for clarity.
3252
3253         Test: compositing/animation/animation-compositing.html
3254
3255         * page/animation/AnimationBase.cpp:
3256         (WebCore::AnimationBase::AnimationBase): m_fallbackAnimating -> m_isAccelerated
3257         (WebCore::AnimationBase::blendProperties): Ditto.
3258         (WebCore::AnimationBase::updateStateMachine): Ditto.
3259         * page/animation/AnimationBase.h:
3260         (WebCore::AnimationBase::isAnimatingProperty): Takes new acceleratedOnly parameter
3261         which causes the method to only return true if the animation is accelerated.
3262         (WebCore::AnimationBase::isAccelerated): Changed from isFallbackAnimating.
3263
3264         * page/animation/AnimationController.cpp:
3265         (WebCore::AnimationControllerPrivate::isRunningAnimationOnRenderer):
3266         (WebCore::AnimationControllerPrivate::isRunningAcceleratedAnimationOnRenderer):
3267         (WebCore::AnimationController::isRunningAnimationOnRenderer):
3268         (WebCore::AnimationController::isRunningAcceleratedAnimationOnRenderer):
3269
3270         * page/animation/CompositeAnimation.h:
3271         * page/animation/AnimationController.h: Rename isAnimatingPropertyOnRenderer(), add
3272         isRunningAcceleratedAnimationOnRenderer().
3273         * page/animation/AnimationControllerPrivate.h: Ditto.
3274         * page/animation/CompositeAnimation.cpp:
3275         (WebCore::CompositeAnimation::updateTransitions): !isFallbackAnimating() -> isAccelerated().
3276         (WebCore::CompositeAnimation::isAnimatingProperty): Pass acceleratedOnly down.
3277
3278         * page/animation/ImplicitAnimation.cpp:
3279         (WebCore::ImplicitAnimation::timeToNextService): !isFallbackAnimating() -> isAccelerated().
3280
3281         * page/animation/KeyframeAnimation.cpp:
3282         (WebCore::KeyframeAnimation::timeToNextService): isFallbackAnimating() -> !isAccelerated().
3283
3284         * rendering/RenderLayerBacking.cpp:
3285         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Avoid touching the transform or
3286         opacity if an accelerated animation is running.
3287
3288         * rendering/RenderLayerCompositor.cpp:
3289         (WebCore::RenderLayerCompositor::requiresCompositingForAnimation): Make compositing layers
3290         if an animation of transform or opacity is running.
3291
3292 2010-07-16  Simon Fraser  <simon.fraser@apple.com>
3293
3294         Reviewed by Sam Weinig.
3295
3296         Assertion when turning Accelerated Compositing off on a composited page
3297         https://bugs.webkit.org/show_bug.cgi?id=42408
3298
3299         When accelerated compositing is turned off, check m_hasAcceleratedCompositing
3300         before saying that the root layer will be composited. Fixes an assertion.
3301
3302         * rendering/RenderLayerCompositor.cpp:
3303         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
3304
3305 2010-07-16  Antonio Gomes  <tonikitoo@webkit.org>
3306
3307         Reviewed by Simon Fraser.
3308
3309         Spatial navigation: do not consider outline for focusable element boundaries
3310         https://bugs.webkit.org/show_bug.cgi?id=42474
3311
3312         Test: fast/events/spatial-navigation/snav-zero-margin-content.html
3313
3314         Currently in WebCore::renderRectRelativeToRootDocument function, we are calling
3315         RenderObject::absoluteClippedOverflowRect to obtain the rect boundary of a given
3316         renderer/element. This method deals with outline, which is out of elements boundary.
3317         It makes spatial navigation to fail on common sites like google.gom: "Web, Images, Map, etc"
3318         are inaccessible.
3319
3320         Patch replaces RenderObject::absoluteClippedOverflowRect by Node::getRect,
3321         which returns only the absolute bounding box rect of the Element.
3322
3323         * page/SpatialNavigation.cpp:
3324         (WebCore::renderRectRelativeToRootDocument):
3325         (WebCore::checkNegativeCoordsForNode):
3326
3327 2010-07-15  Antonio Gomes  <tonikitoo@webkit.org>
3328
3329         Reviewed by Gustavo Noronha.
3330
3331         [Qt] Remove unnecessary WebKit headers inclusion from WebCore files
3332         https://bugs.webkit.org/show_bug.cgi?id=42416
3333
3334         There are some places in WebCore unnecessarily including WebKit headers.
3335
3336         Cleaning up only, no testing needed.
3337
3338         * platform/network/qt/ResourceHandleQt.cpp:
3339         * platform/qt/RenderThemeQt.cpp:
3340         * platform/qt/WidgetQt.cpp:
3341
3342 2010-07-16  Dan Bernstein  <mitz@apple.com>
3343
3344         Reviewed by Anders Carlsson.
3345
3346         Refinement of r63556: moved the tab width computation back to Font, but added a
3347         SimpleFontData parameter.
3348
3349         * platform/graphics/Font.h:
3350         (WebCore::Font::tabWidth):
3351         * platform/graphics/WidthIterator.cpp:
3352         (WebCore::WidthIterator::advance):
3353         * platform/graphics/mac/ComplexTextController.cpp:
3354         (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
3355
3356 2010-07-16  Tony Gentilcore  <tonyg@chromium.org>
3357
3358         Reviewed by Pavel Feldman.
3359
3360         Fix unit error in calculating timings from ResourceLoadTiming API
3361         https://bugs.webkit.org/show_bug.cgi?id=42473
3362
3363         The start and end offsets are already in milliseconds so they should not be multiplied by 1000.0 like requestTime.
3364
3365         No new tests because, for a yet unknown reason, the ResourceLoadTiming API is not populated in the chromium test shell like it is in full chromium. This means the test that would have caught this bug (fast/dom/webtiming.html) currently has its expectation set to FAIL.
3366
3367         * page/Timing.cpp:
3368         (WebCore::Timing::domainLookupStart):
3369         (WebCore::Timing::domainLookupEnd):
3370         (WebCore::Timing::connectStart):
3371         (WebCore::Timing::connectEnd):
3372         (WebCore::Timing::requestStart):
3373         (WebCore::Timing::requestEnd):
3374         (WebCore::Timing::responseStart):
3375
3376 2010-07-16  Anders Carlsson  <andersca@apple.com>
3377
3378         Reviewed by Sam Weinig.
3379
3380         clang++ build fixes for JavaScriptCore and WebCore
3381         https://bugs.webkit.org/show_bug.cgi?id=42478
3382
3383         * platform/network/Credential.cpp:
3384         (WebCore::Credential::type):
3385         * platform/network/Credential.h:
3386         Remove const qualifier on Credential::type since it doesn't have an effect on the type.
3387
3388 2010-07-16  Anders Carlsson  <andersca@apple.com>
3389
3390         Reviewed by David Levin.
3391
3392         Really add WARN_UNUSED_RESULT to leakRef
3393         https://bugs.webkit.org/show_bug.cgi?id=42464
3394
3395         Get rid of a call to releaseRef here by passing the ScriptExecutionContext
3396         reference through to the DerefContextTask.
3397
3398         * storage/Database.cpp:
3399         (WebCore::DerefContextTask::create):
3400         (WebCore::DerefContextTask::performTask):
3401         (WebCore::DerefContextTask::DerefContextTask):
3402         (WebCore::Database::~Database):
3403
3404 2010-07-16  Ilya Tikhonovsky  <loislo@chromium.org>
3405
3406         Reviewed by Yury Semikhatsky.
3407
3408         WebInspector: The current implementation of generator is not ready
3409         for generation Backend part of Inspector interface. The full patch
3410         with Backend is quite big and I've split it.
3411         https://bugs.webkit.org/show_bug.cgi?id=42462
3412
3413         * inspector/CodeGeneratorInspector.pm:
3414         * inspector/Inspector.idl:
3415         * inspector/InspectorValues.cpp:
3416         (WebCore::InspectorArray::get):
3417         * inspector/InspectorValues.h:
3418         (WebCore::InspectorArray::length):
3419
3420 2010-07-15  Rob Buis  <rwlbuis@gmail.com>
3421
3422         Reviewed by Darin Adler.
3423
3424         An empty value for xml:lang isn't considered
3425         https://bugs.webkit.org/show_bug.cgi?id=42042
3426
3427         Allow :lang selector to match empty values for xml:lang and
3428         lang attributes.
3429
3430         Test: fast/css/lang-selector-empty-attribute.xhtml
3431
3432         * css/CSSStyleSelector.cpp:
3433         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
3434
3435 2010-07-16  Alexander Pavlov  <apavlov@chromium.org>
3436
3437         Reviewed by Pavel Feldman.
3438
3439         Web Inspector: Shift-Enter does not do a reverse search. It searches forward.
3440         https://bugs.webkit.org/show_bug.cgi?id=42459
3441
3442         * inspector/front-end/inspector.js:
3443         (WebInspector.performSearch):
3444
3445 2010-07-16  Pavel Feldman  <pfeldman@chromium.org>
3446
3447         Reviewed by Yury Semikhatsky.
3448
3449         Web Inspector: do not include SSL time into Waiting time.
3450
3451         https://bugs.webkit.org/show_bug.cgi?id=42458
3452
3453         * inspector/front-end/ResourcesPanel.js:
3454         (WebInspector.ResourcesPanel.prototype._showPopover):
3455
3456 2010-07-16  Dan Bernstein  <mitz@apple.com>
3457
3458         Reviewed by Anders Carlsson.
3459
3460         <rdar://problem/8198266> white-space: pre text containing tabs is not laid out correctly when the font lacks a space glyph
3461         https://bugs.webkit.org/show_bug.cgi?id=42437
3462
3463         No test because none of the fonts available to DumpRenderTree are missing a space glyph.
3464
3465         Changed the tab width computation to use the width of the space glyph from the font that has
3466         a space glyph, which may be a fallback font if the primary font lacks a space glyph.
3467
3468         * platform/graphics/Font.h: Removed Font::tabWidth().
3469         * platform/graphics/WidthIterator.cpp:
3470         (WebCore::WidthIterator::advance):
3471         * platform/graphics/mac/ComplexTextController.cpp:
3472         (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
3473
3474 2010-07-16  Yury Semikhatsky  <yurys@chromium.org>
3475
3476         Unreviewed. Chromium build fix. Add missing include.
3477
3478         * inspector/ConsoleMessage.h:
3479
3480 2010-07-16  Andreas Kling  <andreas.kling@nokia.com>
3481
3482         Reviewed by Antonio Gomes.
3483
3484         [Qt] Path: Avoid creating a new GraphicsContext in strokeContains() and strokeBoundingRect()
3485         https://bugs.webkit.org/show_bug.cgi?id=42456
3486
3487         * platform/graphics/qt/PathQt.cpp:
3488         (WebCore::scratchContext): Added, provides a scratch GraphicsContext.
3489         (WebCore::Path::strokeContains): Use the scratch context instead
3490         of creating a new GraphicsContext.
3491         (WebCore::Path::strokeBoundingRect): Ditto.
3492
3493 2010-07-16  Pavel Podivilov  <podivilov@chromium.org>
3494
3495         Reviewed by Yury Semikhatsky.
3496
3497         [V8] V8Proxy::retrieve may return null if javascript is disabled. Add a check
3498         to avoid crashes in inspected page.
3499         https://bugs.webkit.org/show_bug.cgi?id=42065
3500
3501         * bindings/v8/ScriptDebugServer.cpp:
3502         (WebCore::ScriptDebugServer::addListener):
3503
3504 2010-07-16  Pavel Feldman  <pfeldman@chromium.org>
3505
3506         Reviewed by Yury Semikhatsky.
3507
3508         Web Inspector: add SSL time label into the resources popover.
3509
3510         https://bugs.webkit.org/show_bug.cgi?id=42458
3511
3512         * English.lproj/localizedStrings.js:
3513         * inspector/InspectorResource.cpp:
3514         (WebCore::InspectorResource::buildObjectForTiming):
3515         * inspector/front-end/ResourcesPanel.js:
3516         (WebInspector.ResourcesPanel.prototype._showPopover):
3517
3518 2010-07-16  Pavel Feldman  <pfeldman@chromium.org>
3519
3520         Reviewed by Yury Semikhatsky.
3521
3522         Web Inspector: disable AppCache in chromium.
3523
3524         https://bugs.webkit.org/show_bug.cgi?id=41858
3525
3526         * inspector/front-end/Settings.js:
3527         * inspector/front-end/StoragePanel.js:
3528         (WebInspector.StoragePanel):
3529         (WebInspector.StoragePanel.prototype.reset):
3530         (WebInspector.StoragePanel.prototype.addApplicationCache):
3531
3532 2010-07-16  Yury Semikhatsky  <yurys@chromium.org>
3533
3534         Reviewed by Pavel Feldman.
3535
3536         console.trace should show file and line number for each function in the stack
3537         https://bugs.webkit.org/show_bug.cgi?id=21180
3538
3539         Test: inspector/console-trace.html
3540
3541         * bindings/js/ScriptCallStack.cpp:
3542         (WebCore::ScriptCallStack::initialize):
3543         * bindings/v8/ScriptCallFrame.cpp:
3544         (WebCore::ScriptCallFrame::ScriptCallFrame):
3545         * bindings/v8/ScriptCallFrame.h:
3546         * bindings/v8/ScriptCallStack.cpp:
3547         (WebCore::getFrameLocation):
3548         (WebCore::toScriptCallFrame):
3549         (WebCore::ScriptCallStack::create):
3550         (WebCore::ScriptCallStack::ScriptCallStack):
3551         (WebCore::ScriptCallStack::at):
3552         (WebCore::ScriptCallStack::size):
3553         * bindings/v8/ScriptCallStack.h:
3554         * bindings/v8/custom/V8ConsoleCustom.cpp:
3555         (WebCore::V8Console::traceCallback):
3556         * inspector/ConsoleMessage.cpp:
3557         (WebCore::ConsoleMessage::CallFrame::CallFrame):
3558         (WebCore::ConsoleMessage::CallFrame::isEqual):
3559         (WebCore::ConsoleMessage::CallFrame::createFrontendObject):
3560         (WebCore::ConsoleMessage::ConsoleMessage):
3561         (WebCore::ConsoleMessage::addToFrontend):
3562         (WebCore::ConsoleMessage::isEqual):
3563         * inspector/ConsoleMessage.h:
3564         * inspector/front-end/ConsoleView.js:
3565         (WebInspector.ConsoleMessage.prototype._formatMessage):
3566         (WebInspector.ConsoleMessage.prototype._createStackTraceElement):
3567         (WebInspector.ConsoleMessage.prototype._createSourceUrlLink):
3568         * inspector/front-end/inspector.css:
3569         (.console-message.expandable > .console-message-text::before):
3570         (.console-message.expandable.collapsed > .console-message-text::before):
3571         (.console-message.expandable.collapsed > ol.stack-trace):
3572         (.console-message > ol.stack-trace):
3573         (.console-message.repeated-message > ol.stack-trace):
3574         (.console-message.repeated-message > ol.stack-trace.trace-message):
3575         * page/Console.idl:
3576
3577 2010-07-16  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
3578
3579         Reviewed by Antonio Gomes.
3580
3581         [EFL] Build with MathML enabled. Fix build when MathML is enabled and
3582         make it the default.
3583         https://bugs.webkit.org/show_bug.cgi?id=42453
3584
3585         EFL port does not support automated tests, yet.
3586
3587         * CMakeLists.txt: add missing source file and sort.