2010-02-23 Tony Chang <tony@chromium.org>
[WebKit-https.git] / WebCore / ChangeLog
1 2010-02-23  Tony Chang  <tony@chromium.org>
2
3         Not reviewed.
4         Revert r55135 because the layout test is failing on all the bots.
5         https://bugs.webkit.org/show_bug.cgi?id=34634
6
7         * editing/ReplaceSelectionCommand.cpp:
8         (WebCore::ReplaceSelectionCommand::insertAsListItems):
9
10 2010-02-17  Steve Block  <steveblock@google.com>
11
12         Reviewed by Ariya Hidayat.
13
14         Adds cache to store Geolocation positions between browser sessions.
15         https://bugs.webkit.org/show_bug.cgi?id=34084
16
17         This is required to fully implement the Geolocation maximumAge property.
18         See Bug 30676.
19
20         No new tests, will add tests for maximumAge once complete.
21
22         * Android.mk: Modified. Added GeolocationPositionCache.cpp
23         * GNUmakefile.am: Modified. Added GeolocationPositionCache.[cpp|h]
24         * WebCore.gypi: Modified. Added GeolocationPositionCache.[cpp|h]
25         * WebCore.pro: Modified. Added GeolocationPositionCache.[cpp|h]
26         * WebCore.vcproj/WebCore.vcproj: Modified. Added GeolocationPositionCache.[cpp|h]
27         * WebCore.xcodeproj/project.pbxproj: Modified. Added GeolocationPositionCache.[cpp|h]
28         * page/GeolocationPositionCache.cpp: Added.
29         (WebCore::GeolocationPositionCache::GeolocationPositionCache):
30         (WebCore::GeolocationPositionCache::~GeolocationPositionCache):
31         (WebCore::GeolocationPositionCache::setCachedPosition):
32         (WebCore::GeolocationPositionCache::cachedPosition):
33         (WebCore::GeolocationPositionCache::setDatabasePath):
34         (WebCore::GeolocationPositionCache::readFromDB):
35         (WebCore::GeolocationPositionCache::writeToDB):
36         * page/GeolocationPositionCache.h: Added.
37
38 2010-02-23  Yuta Kitamura  <yutak@chromium.org>
39
40         Reviewed by Dan Bernstein.
41
42         Fix alignment of vertical-align: text-bottom inside an inline-block.
43         
44         This patch is based on a fix provided by Takahito Hirano.
45
46         display: inline-block + vertical-align: text-bottom causes misalignment.
47         https://bugs.webkit.org/show_bug.cgi?id=30846
48
49         Test: fast/inline-block/inline-block-vertical-align-2.html
50
51         * rendering/RenderBoxModelObject.cpp:
52         (WebCore::RenderBoxModelObject::verticalPosition): Fixed vpos calculation.
53         We cannot cut corners for inline blocks, since they may have their own
54         text metrics.
55
56 2010-02-23  Steve Block  <steveblock@google.com>
57
58         Reviewed by David Levin.
59
60         Sets default values of V8 runtime enabler flags to match behavior with JSC
61         https://bugs.webkit.org/show_bug.cgi?id=35095
62
63         No new tests, modifies a Chromium feature only.
64
65         * bindings/generic/RuntimeEnabledFeatures.cpp: Modified. Sets appcache and geolocation flag defaults to 'on'
66         * storage/Database.cpp: Modified. Sets database flag default to 'on'.
67
68 2010-02-23  Stephan Aßmus  <superstippi@gmx.de>
69
70         Reviewed by Eric Seidel.
71
72         [Haiku] Fix various issues in keyboard event generation.
73         https://bugs.webkit.org/show_bug.cgi?id=34685
74
75         Covered by existing tests.
76
77         Fixed backspace keycode.
78         Fixed using the appropriate fields from the Haiku event for mapping
79         to the VK_* codes and added mapping a great deal more codes.
80         Added extraction of modifier key flags.
81         Completed implementation of disambiguateKeyDownEvent()
82         Implemented currentCapsLockState().
83
84         * platform/haiku/PlatformKeyboardEventHaiku.cpp:
85         (WebCore::keyIdentifierForHaikuKeyCode):
86         (WebCore::windowsKeyCodeForKeyEvent):
87         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
88         (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
89         (WebCore::PlatformKeyboardEvent::currentCapsLockState):
90
91 2010-02-23  Steve Block  <steveblock@google.com>
92
93         Reviewed by Darin Adler.
94
95         Adds Client::cancelGeolocationPermissionRequestForFrame and ChromeClient::cancelGeolocationPermissionRequestForFrame
96         https://bugs.webkit.org/show_bug.cgi?id=34962
97
98         These methods are required so that a Geolocation object can cancel an
99         asynchronous permission request. This allows the chrome client to cancel
100         any UI it is showing for the permission request.
101
102         No new tests, as this is for the purposes of browser UI only.
103
104         * loader/EmptyClients.h: Modified
105         (WebCore::EmptyChromeClient::cancelGeolocationPermissionRequestForFrame): Added
106         * page/Chrome.cpp: Modified.
107         (WebCore::Chrome::cancelGeolocationPermissionRequestForFrame): Added
108         * page/Chrome.h: Modified.
109         * page/ChromeClient.h: Modified.
110         (WebCore::ChromeClient::cancelGeolocationPermissionRequestForFrame): Added
111         * page/Geolocation.cpp: Modified.
112         (WebCore::Geolocation::disconnectFrame): Modified. Call cancelGeolocationPermissionRequestForFrame
113
114 2010-02-23  Tony Chang  <tony@chromium.org>
115
116         Reviewed by Eric Seidel.
117
118         https://bugs.webkit.org/show_bug.cgi?id=34634
119         Pasting a list into the middle of another list item should split the target
120         list item into two separate list items.  This matches the behavior in other
121         browsers.
122
123         Test: editing/pasteboard/paste-list-004.html
124
125         * editing/ReplaceSelectionCommand.cpp:
126         (WebCore::ReplaceSelectionCommand::insertAsListItems):
127
128 2010-02-23  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
129
130         Reviewed by Laszlo Gombos.
131
132         [Qt] Correct build problems while building QtWebKit inside Qt.
133         https://bugs.webkit.org/show_bug.cgi?id=34975
134
135         * WebCore.pro: Change the condition !standalone_package to !QTDIR_build
136
137 2010-02-23  Noam Rosenthal  <noam.rosenthal@nokia.com>
138
139         Reviewed by Ariya Hidayat.
140
141         [Qt] Connect video with accelerated compositing
142         https://bugs.webkit.org/show_bug.cgi?id=35276
143
144         MediaControlPrivate and GraphicsLayer are patched together via
145         a shared PlatformLayer (QGraphicsItem). This patch makes sure that the
146         QGraphicsVideoItem from MediaControl becomes part of the scene 
147         associsated with GraphicsLayer
148
149         Test: http://double.co.nz/video_test/test1.html with AC turned on
150
151         * platform/graphics/qt/GraphicsLayerQt.cpp:
152         (WebCore::GraphicsLayerQtImpl::): mediaLayer member
153         (WebCore::GraphicsLayerQtImpl::opaqueArea): video is opaque
154         (WebCore::GraphicsLayerQtImpl::paint): don't paint video
155         (WebCore::GraphicsLayerQtImpl::flushChanges): flush mediaLayer
156         (WebCore::GraphicsLayerQt::setContentsToMedia): notify
157         * platform/graphics/qt/GraphicsLayerQt.h: reimp setContentsToMedia
158         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
159         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): m_compositing
160         (WebCore::MediaPlayerPrivate::paint): don't paint if compositing
161         (WebCore::MediaPlayerPrivate::acceleratedRenderingStateChanged):
162         reimp from MediaPlayerPrivateInterface to support AC
163         (WebCore::MediaPlayerPrivate::platformLayer): ditto
164         * platform/graphics/qt/MediaPlayerPrivateQt.h: 
165         (WebCore::MediaPlayerPrivate::supportsAcceleratedRendering): ditto
166
167 2010-02-23  Stephan Aßmus  <superstippi@gmx.de>
168
169         Reviewed by Eric Seidel.
170
171         Fix various issues in PlatformWheelEventHaiku.
172         https://bugs.webkit.org/show_bug.cgi?id=34685
173
174         Covered by existing tests.
175         
176         Fixed coding style violations.
177         Synced extracting the correct coordinates with Haiku WebKit implementation.
178         Added extracting modifier key flags.
179
180         * platform/haiku/PlatformWheelEventHaiku.cpp:
181         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
182
183 2010-02-23  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
184
185         Reviewed by Eric Seidel.
186
187         Build fix for PluginView
188         https://bugs.webkit.org/show_bug.cgi?id=35230
189
190         No new tests, build fix only.
191
192         * plugins/PluginView.cpp:
193         * plugins/PluginView.h:
194         * plugins/PluginViewNone.cpp:
195
196 2010-02-23  Kwang Yul Seo  <skyul@company100.net>
197
198         Reviewed by Eric Seidel.
199
200         [BREWMP] Port ScriptController::createScriptInstanceForWidget
201         https://bugs.webkit.org/show_bug.cgi?id=34413
202
203         * bindings/js/ScriptControllerBrew.cpp: Added.
204         (WebCore::ScriptController::createScriptInstanceForWidget):
205
206 2010-02-23  José Millán Soto  <jmillan@igalia.com>
207
208         Reviewed by Eric Seidel.
209
210         [Gtk] Webkit crashes when using orca
211         https://bugs.webkit.org/show_bug.cgi?id=35169
212
213         Made webkit_accessible_text_get_caret_offset check if end selection
214         node is null.
215
216         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
217         (webkit_accessible_text_get_caret_offset):
218
219 2010-02-22  Stephan Aßmus  <superstippi@gmx.de>
220
221         Reviewed by Eric Seidel.
222
223         [Haiku] Implemented PopupMenu support.
224         https://bugs.webkit.org/show_bug.cgi?id=35078
225
226         Covered by existing tests.
227
228         The implementation is currently very simple: Added a PopupMenuHaiku
229         class that derives from a native BPopUpMenu. It attaches a BHandler
230         derivative to the BApplication (WebCore main thread) which receives
231         the item invokation and menu hidden events and informs the PopupMenuClient
232         accordingly.
233
234         * platform/PopupMenu.h:
235             Changed type of m_menu for Haiku.
236         * platform/haiku/PopupMenuHaiku.cpp:
237         (WebCore::PopupMenuHandler::PopupMenuHandler):
238         (WebCore::PopupMenuHandler::MessageReceived):
239         (WebCore::PopupMenuHaiku::PopupMenuHaiku):
240         (WebCore::PopupMenuHaiku::~PopupMenuHaiku):
241         (WebCore::PopupMenuHaiku::show):
242         (WebCore::PopupMenuHaiku::hide):
243         (WebCore::PopupMenuHaiku::Hide):
244         (WebCore::PopupMenu::PopupMenu):
245         (WebCore::PopupMenu::~PopupMenu):
246             Removed bogus code.
247         (WebCore::PopupMenu::show):
248             Implemented using new PopupMenuHaiku class.
249         (WebCore::PopupMenu::hide):
250             Implemented using new PopupMenuHaiku class.
251         (WebCore::PopupMenu::updateFromElement):
252             Implemented.
253         (WebCore::PopupMenu::itemWritingDirectionIsNatural):
254             Implemented according to Gtk port.
255
256 2010-02-22  Stephan Aßmus  <superstippi@gmx.de>
257
258         Reviewed by Eric Seidel.
259
260         Fix various issues in PlatformMouseEventHaiku.
261         https://bugs.webkit.org/show_bug.cgi?id=34685
262
263         Covered by existing tests.
264         
265         Mapping Haiku button constants (bit field) to WebCore buttons was broken.
266         Extracting event time was broken (supposed to be in seconds).
267         Wrong coordinate was being extracted, needs to be content local.
268         Added extracting modifier key flags.
269
270         * platform/haiku/PlatformMouseEventHaiku.cpp:
271         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
272
273 2010-02-22  Stephan Aßmus  <superstippi@gmx.de>
274
275         Reviewed by Eric Seidel.
276
277         [Haiku] Implement creating and filling platform gradients.
278         https://bugs.webkit.org/show_bug.cgi?id=34683
279
280         Covered by existing tests.
281
282         * platform/graphics/Gradient.h:
283             Typedef PlatformGradient to BGradient
284         * platform/graphics/haiku/GradientHaiku.cpp:
285         (WebCore::Gradient::platformDestroy):
286             Delete the cached BGradient object.
287         (WebCore::Gradient::platformGradient):
288             Create a BGradient object according to the type of Gradient.
289             Return the cached object.
290         (WebCore::Gradient::fill):
291             use BView API to fill with the platform gradient.
292
293 2010-02-22  Stephan Aßmus  <superstippi@gmx.de>
294
295         Reviewed by Eric Seidel.
296
297         Build fix for debug builds of GlyphPageTreeNode.cpp
298         https://bugs.webkit.org/show_bug.cgi?id=34528
299
300         Covered by existing tests.
301
302         * platform/graphics/GlyphPageTreeNode.cpp:
303             include <stdio.h> since printf() is used if NDEBUG is not defined.
304
305 2010-02-22  Nate Chapin  <japhet@chromium.org>
306
307         Unreviewed, Chromium build fix.
308
309         Add special case in CodeGeneratorV8.pm for named getters for html plugin-related elements.
310
311         CodeGeneratorV8.pm was relying on HasOverridingNameGetter to hint
312         that a custom named getter was needed. That hint was removed in
313         http://trac.webkit.org/changeset/55104.
314
315         * bindings/scripts/CodeGeneratorV8.pm:
316
317 2010-02-22  Alexey Proskuryakov  <ap@apple.com>
318
319         Rubber-stamped by Geoff Garen.
320
321         Rename RuntimeObjectImp to RuntimeObject.
322
323         * WebCore.PluginHostProcess.exp:
324         * bindings/js/JSPluginElementFunctions.cpp:
325         (WebCore::getRuntimeObject):
326         (WebCore::runtimeObjectPropertyGetter):
327         (WebCore::runtimeObjectCustomGetOwnPropertySlot):
328         (WebCore::runtimeObjectCustomGetOwnPropertyDescriptor):
329         (WebCore::runtimeObjectCustomPut):
330         * bindings/objc/WebScriptObject.mm:
331         (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
332         * bridge/c/c_utility.cpp:
333         (JSC::Bindings::convertValueToNPVariant):
334         * bridge/jni/jni_jsobject.mm:
335         (JavaJSObject::convertValueToJObject):
336         * bridge/jni/jsc/JNIUtilityPrivate.cpp:
337         (JSC::Bindings::convertValueToJValue):
338         * bridge/jsc/BridgeJSC.cpp:
339         (JSC::Bindings::Instance::createRuntimeObject):
340         (JSC::Bindings::Instance::newRuntimeObject):
341         * bridge/jsc/BridgeJSC.h:
342         * bridge/objc/objc_runtime.mm:
343         (JSC::Bindings::callObjCFallbackObject):
344         * bridge/qt/qt_instance.cpp:
345         (JSC::Bindings::QtRuntimeObject::markChildren):
346         (JSC::Bindings::):
347         (JSC::Bindings::QtRuntimeObject::QtRuntimeObject):
348         (JSC::Bindings::QtInstance::getInstance):
349         (JSC::Bindings::QtInstance::newRuntimeObject):
350         * bridge/qt/qt_instance.h:
351         * bridge/qt/qt_pixmapruntime.cpp:
352         (JSC::Bindings::QtPixmapRuntimeObject::QtPixmapRuntimeObject):
353         (JSC::Bindings::):
354         (JSC::Bindings::QtPixmapInstance::variantFromObject):
355         (JSC::Bindings::QtPixmapInstance::createRuntimeObject):
356         * bridge/qt/qt_runtime.cpp:
357         (JSC::Bindings::valueRealType):
358         * bridge/runtime_method.cpp:
359         (JSC::callRuntimeMethod):
360         * bridge/runtime_object.cpp:
361         (JSC::RuntimeObject::RuntimeObject):
362         (JSC::RuntimeObject::~RuntimeObject):
363         (JSC::RuntimeObject::invalidate):
364         (JSC::RuntimeObject::fallbackObjectGetter):
365         (JSC::RuntimeObject::fieldGetter):
366         (JSC::RuntimeObject::methodGetter):
367         (JSC::RuntimeObject::getOwnPropertySlot):
368         (JSC::RuntimeObject::getOwnPropertyDescriptor):
369         (JSC::RuntimeObject::put):
370         (JSC::RuntimeObject::deleteProperty):
371         (JSC::RuntimeObject::defaultValue):
372         (JSC::callRuntimeObject):
373         (JSC::RuntimeObject::getCallData):
374         (JSC::callRuntimeConstructor):
375         (JSC::RuntimeObject::getConstructData):
376         (JSC::RuntimeObject::getOwnPropertyNames):
377         (JSC::RuntimeObject::throwInvalidAccessError):
378         * bridge/runtime_object.h:
379         * bridge/runtime_root.cpp:
380         (JSC::Bindings::RootObject::invalidate):
381         (JSC::Bindings::RootObject::addRuntimeObject):
382         (JSC::Bindings::RootObject::removeRuntimeObject):
383         * bridge/runtime_root.h:
384
385 2010-02-19  Peter Kasting  <pkasting@google.com>
386
387         Reviewed by Eric Seidel.
388
389         Avoid recursion when trying to get the size of a PNG; it's unnecessary
390         and in the worst case can lead to heap corruption.
391         https://bugs.webkit.org/show_bug.cgi?id=35167
392
393         Test: fast/images/bad-png.html
394
395         * platform/image-decoders/png/PNGImageDecoder.cpp:
396         (WebCore::PNGImageReader::decode):
397
398 2010-02-22  Brady Eidson  <beidson@apple.com>
399
400         Reviewed by Tim Hatcher.
401
402         Disable WebView docking to views that are too small.
403         <rdar://problem/7248409> and https://bugs.webkit.org/show_bug.cgi?id=35254
404
405         * WebCore.base.exp:
406         * inspector/InspectorController.cpp:
407         (WebCore::InspectorController::canAttachWindow): Provide a utility for WebKits to make a showWindow()
408           decision based on if attachment would be allowed or not.
409         (WebCore::InspectorController::attachWindow): Don't attach if the view is too small to attach to.
410         * inspector/InspectorController.h:
411
412 2010-02-22  Alexey Proskuryakov  <ap@apple.com>
413
414         Build fix.
415
416         * WebCore.base.exp: Export Instance::newRuntimeObject, it's virtual!
417
418 2010-02-22  Alexey Proskuryakov  <ap@apple.com>
419
420         Undo a small part of the previous commit.
421
422         * bridge/runtime_method.cpp: (JSC::callRuntimeMethod): Let's keep the instance local
423         variable as RefPtr for safety.
424
425 2010-02-22  Alexey Proskuryakov  <ap@apple.com>
426
427         Reviewed by Darin Adler.
428
429         https://bugs.webkit.org/show_bug.cgi?id=35260
430         Eliminate __apple_runtime_object
431
432         No change in functionality, so no tests.
433
434         * WebCore.base.exp: Don't export Instance::newRuntimeObject, WebKit doesn't need it.
435
436         * bindings/js/JSHTMLAppletElementCustom.cpp:
437         * bindings/js/JSHTMLEmbedElementCustom.cpp:
438         * bindings/js/JSHTMLObjectElementCustom.cpp:
439         * html/HTMLAppletElement.idl:
440         * html/HTMLEmbedElement.idl:
441         * html/HTMLObjectElement.idl:
442         These objects no longer need overriding name getters, as they no longer intercept the
443         __apple_runtime_object property.
444
445         * bindings/js/JSPluginElementFunctions.cpp:
446         (WebCore::pluginInstance): This is no longer static. It was used for callPlugin() in
447         this file, and now it's also used elsewhere when calling plug-in methods.
448         (WebCore::runtimeObjectGetter): Removed. This function was only used by the intercepting
449         name getters.
450
451         * bindings/js/JSPluginElementFunctions.h: Export pluginInstance().
452
453         * bindings/objc/WebScriptObject.mm:
454         (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
455         * bridge/runtime_method.cpp:
456         (JSC::callRuntimeMethod):
457         Take plug-in element's instance directly, without relying on fake attribute lookup.
458         One change resulting from this is that RuntimeObjectImp may not be created in some cases -
459         this code only needs an instance, but the old code had to pass the instance wrapped into
460         RuntimeObjectImp.
461
462 2010-02-22  John Sullivan  <sullivan@apple.com>
463         
464         Reviewed by Tim Hatcher.
465
466         https://bugs.webkit.org/show_bug.cgi?id=35256
467         HTMLSelectElement::setSelectedIndexByUser() can trigger unnecessary JS when there is no change to the selected index
468
469         No new tests because this code path is not used for JS-initiated changes.
470
471         * html/HTMLSelectElement.cpp:
472         (WebCore::HTMLSelectElement::setSelectedIndexByUser):
473         Bail out if the to-be-selected index matches the already-selected index.
474
475 2010-02-22  Enrica Casucci  <enrica@apple.com>
476
477         Reviewed by Dan Bernstein.
478
479         Reproducible crash in WebCore::nextLinePosition on Tweeteorites.com
480         <rdar://problem/7615758>
481         https://bugs.webkit.org/show_bug.cgi?id=35060
482
483         Test: editing/selection/extend-byline-withfloat.html
484
485         * editing/visible_units.cpp:
486         (WebCore::previousLinePosition): Skip elements with zero height.
487         (WebCore::nextLinePosition): Skip elements with zero height.
488
489 2010-02-22  Nate Chapin  <japhet@chromium.org>
490
491         Unreviewed, Chromium build fix.
492
493         * bindings/scripts/CodeGeneratorV8.pm: Compile break due to bad patch merge.
494
495 2010-02-22  Nate Chapin  <japhet@chromium.org>
496
497         Reviewed by Dimitri Glazkov.
498
499         [V8] Streamline V8 event listener code. Merge all the variants of
500         V8DOMWrapper::getEventListner() into a single version and generate
501         addEventListener() and removeEventListener() bindings for all objects 
502         except DOMWindow.
503
504         https://bugs.webkit.org/show_bug.cgi?id=35245
505
506         * Android.v8bindings.mk:
507         * WebCore.gypi:
508         * bindings/scripts/CodeGeneratorV8.pm:
509         * bindings/v8/V8DOMWrapper.cpp:
510         (WebCore::V8DOMWrapper::getEventListener):
511         * bindings/v8/V8DOMWrapper.h:
512         * bindings/v8/WorkerContextExecutionProxy.cpp:
513         * bindings/v8/WorkerContextExecutionProxy.h:
514         * bindings/v8/custom/V8AbstractWorkerCustom.cpp: Removed.
515         * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp: Removed.
516         * bindings/v8/custom/V8DOMWindowCustom.cpp:
517         (WebCore::V8DOMWindow::addEventListenerCallback):
518         (WebCore::V8DOMWindow::removeEventListenerCallback):
519         * bindings/v8/custom/V8EventSourceCustom.cpp: Removed.
520         * bindings/v8/custom/V8MessagePortCustom.cpp:
521         * bindings/v8/custom/V8NodeCustom.cpp:
522         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
523         * bindings/v8/custom/V8SVGElementInstanceCustom.cpp: Removed.
524         * bindings/v8/custom/V8WebSocketCustom.cpp:
525         * bindings/v8/custom/V8WorkerContextCustom.cpp:
526         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
527         * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
528         * dom/MessagePort.idl:
529         * dom/Node.idl:
530         * loader/appcache/DOMApplicationCache.idl:
531         * notifications/Notification.idl:
532         * page/EventSource.idl:
533         * svg/SVGElementInstance.idl:
534         * websockets/WebSocket.idl:
535         * workers/AbstractWorker.idl:
536         * workers/WorkerContext.idl:
537         * xml/XMLHttpRequest.idl:
538         * xml/XMLHttpRequestUpload.idl:
539
540 2010-02-22  Chris Fleizach  <cfleizach@apple.com>
541
542         Reviewed by Beth Dakin.
543
544         AX: AXFocused is not writable like it should be on nodes
545         https://bugs.webkit.org/show_bug.cgi?id=35186
546
547         Test: platform/mac/accessibility/element-focus.html
548
549         * accessibility/AccessibilityRenderObject.cpp:
550         (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
551
552 2010-02-22  Simon Fraser  <simon.fraser@apple.com>
553
554         Reviewed by Dan Bernstein, Darin Adler.
555
556         Remove addScrolledContentOffset/subtractScrolledContentOffset
557         https://bugs.webkit.org/show_bug.cgi?id=35225
558
559         Remove RenderLayer's addScrolledContentOffset() and subtractScrolledContentOffset()
560         methods, and instead use the existing scrolledContentOffset(), and use
561         IntSize and IntPoint instead of lots of x, y variables.
562         
563         Added new IntPoint toPoint(const IntSize&) method as a convenience to convert a size to a point,
564         which is needed in a few places.
565         
566         * page/EventHandler.cpp:
567         (WebCore::EventHandler::handleDrag): Use the new toPoint() convenience.
568         * platform/graphics/IntPoint.h:
569         (WebCore::toPoint): New convenience method to convert an IntSize to an IntPoint.
570         * rendering/LayoutState.cpp:
571         (WebCore::LayoutState::LayoutState):
572         * rendering/RenderBlock.cpp:
573         (WebCore::RenderBlock::layoutBlock):
574         (WebCore::RenderBlock::paintObject):
575         (WebCore::RenderBlock::selectionGapRectsForRepaint):
576         (WebCore::RenderBlock::nodeAtPoint):
577         (WebCore::RenderBlock::offsetForContents):
578         * rendering/RenderBoxModelObject.cpp:
579         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
580         * rendering/RenderInline.cpp:
581         (WebCore::RenderInline::clippedOverflowRectForRepaint):
582         * rendering/RenderLayer.cpp:
583         (WebCore::RenderLayer::updateLayerPosition):
584         * rendering/RenderLayer.h:
585         (WebCore::RenderLayer::size):
586         * rendering/RenderObject.cpp:
587         (WebCore::RenderObject::computeRectForRepaint):
588         * rendering/TextControlInnerElements.cpp:
589         (WebCore::RenderTextControlInnerBlock::positionForPoint):
590
591 2009-02-22  Adam Langley  <agl@google.com>
592
593         Reviewed by Darin Fisher.
594
595         fontconfig on Linux can change the render preferences on a per strike
596         basis (a strike a combination of face and size). Because of this, we
597         need to query fontconfig each time a new FontPlatformData is created
598         for a new size.
599
600         This patch adds support for querying this via ChromiumBridge.
601
602         https://bugs.webkit.org/show_bug.cgi?id=33065
603
604         * platform/chromium/ChromiumBridge.h: add getRenderStyleForStrike
605         * platform/graphics/chromium/FontCacheLinux.cpp:
606         (WebCore::FontCache::createFontPlatformData):
607         * platform/graphics/chromium/FontCustomPlatformData.cpp:
608         (WebCore::FontCustomPlatformData::fontPlatformData):
609         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
610         (WebCore::FontPlatformData::FontPlatformData):
611         (WebCore::FontPlatformData::operator=):
612         (WebCore::FontPlatformData::setupPaint):
613         (WebCore::FontPlatformData::queryStyle):
614           add code to query fontconfig via ChromiumBridge
615         * platform/graphics/chromium/FontPlatformDataLinux.h:
616
617 2010-02-22  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
618
619         Build fix for make distcheck.
620
621         * GNUmakefile.am:
622
623 2010-02-22  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
624
625         Reviewed by Kenneth Rohde Christiansen.
626
627         Fix compiler warning "suggest parentheses around"
628         https://bugs.webkit.org/show_bug.cgi?id=35197
629
630         No new tests as there is no new functionality.
631
632         * wml/WMLVariables.cpp:
633         (WebCore::substituteVariableReferences):
634
635 2010-02-22  Gustavo Noronha Silva  <gns@gnome.org>
636
637         Reviewed by Xan Lopez.
638
639         [Soup] loses information related to message flags when converting from/to Resource{Request,Response}
640         https://bugs.webkit.org/show_bug.cgi?id=35093
641
642         Store message flags in WebCore objects, and set them on the
643         SoupMessage, when creating one from them.
644
645         No behaviour change.
646
647         * platform/network/soup/ResourceHandleSoup.cpp:
648         (WebCore::fillResponseFromMessage):
649         * platform/network/soup/ResourceRequest.h:
650         (WebCore::ResourceRequest::soupMessageFlags):
651         (WebCore::ResourceRequest::setSoupMessageFlags):
652         * platform/network/soup/ResourceRequestSoup.cpp:
653         (WebCore::ResourceRequest::toSoupMessage):
654         (WebCore::ResourceRequest::updateFromSoupMessage):
655         * platform/network/soup/ResourceResponse.h:
656         (WebCore::ResourceResponse::soupMessageFlags):
657         (WebCore::ResourceResponse::setSoupMessageFlags):
658         * platform/network/soup/ResourceResponseSoup.cpp:
659         (WebCore::ResourceResponse::toSoupMessage):
660         (WebCore::ResourceResponse::updateFromSoupMessage):
661
662 2010-02-22  Steve Block  <steveblock@google.com>
663
664         Reviewed by Nate Chapin.
665
666         Shared worker types used in globalObjectPrototypeIsDOMWindow are not properly guarded
667         https://bugs.webkit.org/show_bug.cgi?id=35238
668
669         No new tests, build fix only.
670
671         * bindings/v8/V8DOMWrapper.cpp:
672         (WebCore::globalObjectPrototypeIsDOMWindow):
673
674 2010-02-22  Steve Block  <steveblock@google.com>
675
676         Reviewed by Simon Fraser.
677
678         Simplifies calculation of the transform in RenderLayer::paintLayer
679         https://bugs.webkit.org/show_bug.cgi?id=35101
680
681         No new tests, optimization only.
682
683         * rendering/RenderLayer.cpp:
684         (WebCore::RenderLayer::paintLayer):
685
686 2010-02-22  Nicholas Young  <nicholas.young@nokia.com>
687
688         Reviewed by Tor Arne Vestbø.
689
690         [Qt] Switching from Phonon to QtMultimedia Backend for Qt 4.7
691
692         https://bugs.webkit.org/show_bug.cgi?id=34631
693
694         No new tests. This patch only affects multimedia backend.
695
696         * WebCore.pro: Build depends on Qt version.
697         * css/mediaControlsQt.css: Updated media controls.
698         * platform/graphics/MediaPlayer.cpp: Different backend included depending on Qt version.
699         * platform/graphics/qt/MediaPlayerPrivateQt.cpp: Added new QtMultimedia Backend.
700         (WebCore::MediaPlayerPrivate::create):
701         (WebCore::MediaPlayerPrivate::registerMediaEngine):
702         (WebCore::MediaPlayerPrivate::getSupportedTypes):
703         (WebCore::MediaPlayerPrivate::supportsType):
704         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
705         (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
706         (WebCore::MediaPlayerPrivate::hasVideo):
707         (WebCore::MediaPlayerPrivate::hasAudio):
708         (WebCore::MediaPlayerPrivate::load):
709         (WebCore::MediaPlayerPrivate::cancelLoad):
710         (WebCore::MediaPlayerPrivate::play):
711         (WebCore::MediaPlayerPrivate::pause):
712         (WebCore::MediaPlayerPrivate::paused):
713         (WebCore::MediaPlayerPrivate::seek):
714         (WebCore::MediaPlayerPrivate::seeking):
715         (WebCore::MediaPlayerPrivate::duration):
716         (WebCore::MediaPlayerPrivate::currentTime):
717         (WebCore::MediaPlayerPrivate::buffered):
718         (WebCore::MediaPlayerPrivate::maxTimeSeekable):
719         (WebCore::MediaPlayerPrivate::bytesLoaded):
720         (WebCore::MediaPlayerPrivate::totalBytes):
721         (WebCore::MediaPlayerPrivate::setRate):
722         (WebCore::MediaPlayerPrivate::setVolume):
723         (WebCore::MediaPlayerPrivate::supportsMuting):
724         (WebCore::MediaPlayerPrivate::setMuted):
725         (WebCore::MediaPlayerPrivate::networkState):
726         (WebCore::MediaPlayerPrivate::readyState):
727         (WebCore::MediaPlayerPrivate::setVisible):
728         (WebCore::MediaPlayerPrivate::mediaStatusChanged):
729         (WebCore::MediaPlayerPrivate::handleError):
730         (WebCore::MediaPlayerPrivate::stateChanged):
731         (WebCore::MediaPlayerPrivate::nativeSizeChanged):
732         (WebCore::MediaPlayerPrivate::queuedSeekTimeout):
733         (WebCore::MediaPlayerPrivate::seekTimeout):
734         (WebCore::MediaPlayerPrivate::positionChanged):
735         (WebCore::MediaPlayerPrivate::durationChanged):
736         (WebCore::MediaPlayerPrivate::volumeChanged):
737         (WebCore::MediaPlayerPrivate::mutedChanged):
738         (WebCore::MediaPlayerPrivate::updateStates):
739         (WebCore::MediaPlayerPrivate::setSize):
740         (WebCore::MediaPlayerPrivate::naturalSize):
741         (WebCore::MediaPlayerPrivate::paint):
742         (WebCore::MediaPlayerPrivate::repaint):
743         * platform/graphics/qt/MediaPlayerPrivateQt.h: Added new QtMultimedia Backend.
744         (WebCore::MediaPlayerPrivate::isAvailable):
745         (WebCore::MediaPlayerPrivate::supportsFullscreen):
746         * platform/qt/RenderThemeQt.cpp:
747         (WebCore::RenderThemeQt::mediaControlsBaselineOpacity): New method.
748         (WebCore::RenderThemeQt::paintMediaBackground): Background depends on baseline opacity.
749         (WebCore::RenderThemeQt::paintMediaMuteButton): Changed styling.
750         (WebCore::RenderThemeQt::paintMediaCurrentTime): Added current time display.
751         (WebCore::RenderThemeQt::formatMediaControlsCurrentTime): Added time formatting.
752         (WebCore::RenderThemeQt::formatMediaControlsRemainingTime): Added time formatting.
753         (WebCore::RenderThemeQt::paintMediaVolumeSliderTrack): Volume slider added.
754         (WebCore::RenderThemeQt::paintMediaVolumeSliderThumb): Volume slider added.
755         (WebCore::RenderThemeQt::paintMediaSliderTrack): Updated for QtMultimedia.
756         (WebCore::RenderThemeQt::paintMediaSliderThumb): Dropped an unnecessary check.
757         (WebCore::RenderThemeQt::adjustSliderThumbSize): Handle a missing case.
758         * platform/qt/RenderThemeQt.h: Reimplemented a few more methods.
759
760 2010-02-22  Alexander Pavlov  <apavlov@chromium.org>
761
762         Not reviewed: mac build fix
763
764         * bindings/js/ScriptDebugServer.cpp:
765         (WebCore::ScriptDebugServer::ScriptDebugServer):
766
767 2010-02-22  Alexander Pavlov  <apavlov@chromium.org>
768
769         Reviewed by Pavel Feldman.
770
771         Web Inspector: there should be a way to "deactivate" or "skip" all breakpoints while debugging.
772         https://bugs.webkit.org/show_bug.cgi?id=33217
773
774         * English.lproj/localizedStrings.js:
775         * bindings/js/ScriptDebugServer.cpp:
776         (WebCore::ScriptDebugServer::ScriptDebugServer):
777         (WebCore::ScriptDebugServer::hasBreakpoint):
778         (WebCore::ScriptDebugServer::setBreakpointsActivated):
779         * bindings/js/ScriptDebugServer.h:
780         * bindings/v8/ScriptDebugServer.h:
781         (WebCore::ScriptDebugServer::setBreakpointsActivated):
782         * inspector/InspectorBackend.cpp:
783         (WebCore::InspectorBackend::activateBreakpoints):
784         (WebCore::InspectorBackend::deactivateBreakpoints):
785         * inspector/InspectorBackend.h:
786         * inspector/InspectorBackend.idl:
787         * inspector/front-end/Images/deactivateBreakpointsButtonGlyph.png: Added.
788         * inspector/front-end/Images/deactivateBreakpointsDisabledButtonGlyph.png: Added.
789         * inspector/front-end/InspectorBackendStub.js:
790         (.WebInspector.InspectorBackendStub.prototype.activateBreakpoints):
791         (.WebInspector.InspectorBackendStub.prototype.deactivateBreakpoints):
792         * inspector/front-end/ScriptsPanel.js:
793         (WebInspector.ScriptsPanel):
794         (WebInspector.ScriptsPanel.prototype.get breakpointsActivated):
795         (WebInspector.ScriptsPanel.prototype.addBreakpoint):
796         (WebInspector.ScriptsPanel.prototype._stepOutClicked):
797         (WebInspector.ScriptsPanel.prototype._toggleBreakpointsClicked):
798         * inspector/front-end/inspector.css:
799         * inspector/front-end/textViewer.css:
800
801 2010-02-22  Mark Rowe  <mrowe@apple.com>
802
803         Rubber-stamped by Sam Weinig and Maciej Stachowiak.
804
805         REGRESSION (r55039): Animation starts from near end when loaded over slow network
806         <http://webkit.org/b/35222> / <rdar://problem/7673523>
807
808         Roll out r55039 (related to <http://webkit.org/b/35115>) as it causes animated GIFs
809         to skip intermediate frames when loading over a slower network.
810
811         * platform/graphics/BitmapImage.cpp:
812         (WebCore::BitmapImage::startAnimation):
813
814 2010-02-22  Maciej Stachowiak  <mjs@apple.com>
815
816         Not reviewed, build fix.
817         
818         Revert the previous change.
819         
820 2010-02-21  Maciej Stachowiak  <mjs@apple.com>
821
822         Reviewed by Darin Adler.
823
824         Cache JavaScript wrappers inline in DOM nodes
825         https://bugs.webkit.org/show_bug.cgi?id=35226
826         <rdar://problem/7664202>
827
828         8.8% speedup on Dromaeo DOM Core tests.
829         3.3% speedup on Hixie DOM Core tests.
830         
831         * bindings/js/JSDOMBinding.cpp:
832         (WebCore::forgetDOMNode): Clear wrapper pointer.
833         (WebCore::cacheDOMNodeWrapper): Cache inline too if caching for normal world.
834         * bindings/js/JSDOMBinding.h:
835         (WebCore::DOMObjectWrapperMapFor): 
836         * bindings/js/JSDocumentCustom.cpp:
837         (WebCore::toJS): Remove unneeded argument from getCachedDOMNodeWrapper.
838         * bindings/js/JSNodeCustom.cpp:
839         (WebCore::createWrapperInline): Renamed version of original createWrapper.
840         (WebCore::createWrapper): Call createWrapperInline. Out-of-line version.
841         (WebCore::toJSNewlyCreated): Call createWrapperInline instead of createWrapper.
842         * bindings/js/JSNodeCustom.h: Added.
843         (WebCore::getCachedDOMNodeWrapper): Moved here so it can be inlined.
844         (WebCore::toJS): Moved here so it can be inlined.
845         * bindings/js/ScriptWrappable.h:
846         (WebCore::ScriptWrappable::ScriptWrappable): Implement this in the obvious
847         way for JavaScriptCore.
848         (WebCore::ScriptWrappable::wrapper):
849         (WebCore::ScriptWrappable::setWrapper):
850         (WebCore::ScriptWrappable::clearWrapper):
851         * bindings/scripts/CodeGeneratorJS.pm: Include CustomHeader heaaders
852         in the header, not just the impl file, so they can add inlining.
853         * dom/Node.idl: Add CustomHeader directive.
854         
855         Add new files to build.
856
857         * GNUmakefile.am:
858         * WebCore.gypi:
859         * WebCore.pro:
860         * WebCore.vcproj/WebCore.vcproj:
861
862 2010-02-22  Pavel Feldman  <pfeldman@chromium.org>
863
864         Not reviewed: windows build fix.
865
866 2010-02-21  Pavel Feldman  <pfeldman@chromium.org>
867
868         Reviewed by Timothy Hatcher.
869
870         Web Inspector: stop on inline breakpoints on reload.
871         - ScriptBreakpoint struct has been introduced and reused in InspectorController
872           and debug server.
873         - JavaScriptDebugServer was moved to bindings/js and renamed to ScriptDebugServer
874           There were no changes to semantics, only some mechanical changes:
875             - addBreakpoint and updateBreakpoint were merged into setBreakpoint
876             - ScriptDebugServer now operates ScriptBreakpoint instances instead of
877               BreakpointInfo.
878             - It no longer allocates maps and breakpoint info in heap - all done on stack.
879             - JavaScriptDebugListener is now ScriptDebugServer::Listener
880             - Listener methods no longer have ExecState (was unused).
881             - addListener/removeListener pair wuth no page argument removed (was unused).
882         - InspectorController now binds sourceID to url and maintains a map of 'sticky'
883           breakpoints. Whenever script is loaded and there is a sticky breakpoint url matching,
884           breakpoint is being 'restored' synchronously in debug server and pushed to frontend.
885           Front-end no longer stores map of sticky breakpoints.
886             - setBreakpoint/removeBreakpoint/didParseSource trio handle this logic.
887         - A bunch of if(USE_JSC/V8/other) forks removed.
888         - InspectorFrontend now operates primitive types only, got rid of USE_JSC as well.
889
890         https://bugs.webkit.org/show_bug.cgi?id=28799
891
892         * GNUmakefile.am:
893         * WebCore.base.exp:
894         * WebCore.gypi:
895         * WebCore.order:
896         * WebCore.pro:
897         * WebCore.vcproj/WebCore.vcproj:
898         * WebCore.xcodeproj/project.pbxproj:
899         * bindings/js/JSInjectedScriptHostCustom.cpp:
900         (WebCore::JSInjectedScriptHost::currentCallFrame):
901         (WebCore::JSInjectedScriptHost::isActivation):
902         * bindings/js/ScriptDebugServer.cpp:
903         (WebCore::ScriptDebugServer::shared):
904         (WebCore::ScriptDebugServer::ScriptDebugServer):
905         (WebCore::ScriptDebugServer::~ScriptDebugServer):
906         (WebCore::ScriptDebugServer::addListener):
907         (WebCore::ScriptDebugServer::removeListener):
908         (WebCore::ScriptDebugServer::pageCreated):
909         (WebCore::ScriptDebugServer::hasListenersInterestedInPage):
910         (WebCore::ScriptDebugServer::setBreakpoint):
911         (WebCore::ScriptDebugServer::removeBreakpoint):
912         (WebCore::ScriptDebugServer::hasBreakpoint):
913         (WebCore::ScriptDebugServer::clearBreakpoints):
914         (WebCore::ScriptDebugServer::setPauseOnExceptionsState):
915         (WebCore::ScriptDebugServer::pauseProgram):
916         (WebCore::ScriptDebugServer::continueProgram):
917         (WebCore::ScriptDebugServer::stepIntoStatement):
918         (WebCore::ScriptDebugServer::stepOverStatement):
919         (WebCore::ScriptDebugServer::stepOutOfFunction):
920         (WebCore::ScriptDebugServer::currentCallFrame):
921         (WebCore::ScriptDebugServer::currentCallFrameState):
922         (WebCore::ScriptDebugServer::dispatchDidParseSource):
923         (WebCore::ScriptDebugServer::dispatchFailedToParseSource):
924         (WebCore::toPage):
925         (WebCore::ScriptDebugServer::detach):
926         (WebCore::ScriptDebugServer::sourceParsed):
927         (WebCore::ScriptDebugServer::dispatchFunctionToListeners):
928         (WebCore::ScriptDebugServer::setJavaScriptPaused):
929         (WebCore::ScriptDebugServer::pauseIfNeeded):
930         (WebCore::ScriptDebugServer::callEvent):
931         (WebCore::ScriptDebugServer::atStatement):
932         (WebCore::ScriptDebugServer::returnEvent):
933         (WebCore::ScriptDebugServer::exception):
934         (WebCore::ScriptDebugServer::willExecuteProgram):
935         (WebCore::ScriptDebugServer::didExecuteProgram):
936         (WebCore::ScriptDebugServer::didReachBreakpoint):
937         (WebCore::ScriptDebugServer::recompileAllJSFunctionsSoon):
938         (WebCore::ScriptDebugServer::recompileAllJSFunctions):
939         (WebCore::ScriptDebugServer::didAddListener):
940         (WebCore::ScriptDebugServer::didRemoveListener):
941         (WebCore::ScriptDebugServer::didRemoveLastListener):
942         * bindings/js/ScriptDebugServer.h:
943         (WebCore::ScriptDebugServer::Listener::~Listener):
944         (WebCore::ScriptDebugServer::):
945         (WebCore::ScriptDebugServer::pauseOnExceptionsState):
946         (WebCore::ScriptDebugServer::hasListeners):
947         (WebCore::ScriptDebugServer::hasGlobalListeners):
948         * bindings/v8/ScriptDebugServer.cpp:
949         (WebCore::ScriptDebugServer::shared):
950         * bindings/v8/ScriptDebugServer.h:
951         (WebCore::ScriptDebugServer::Listener::~Listener):
952         (WebCore::ScriptDebugServer::addListener):
953         (WebCore::ScriptDebugServer::removeListener):
954         (WebCore::ScriptDebugServer::setBreakpoint):
955         (WebCore::ScriptDebugServer::removeBreakpoint):
956         (WebCore::ScriptDebugServer::clearBreakpoints):
957         (WebCore::ScriptDebugServer::):
958         (WebCore::ScriptDebugServer::pauseOnExceptionsState):
959         (WebCore::ScriptDebugServer::setPauseOnExceptionsState):
960         (WebCore::ScriptDebugServer::pauseProgram):
961         (WebCore::ScriptDebugServer::continueProgram):
962         (WebCore::ScriptDebugServer::stepIntoStatement):
963         (WebCore::ScriptDebugServer::stepOverStatement):
964         (WebCore::ScriptDebugServer::stepOutOfFunction):
965         (WebCore::ScriptDebugServer::recompileAllJSFunctionsSoon):
966         (WebCore::ScriptDebugServer::recompileAllJSFunctions):
967         (WebCore::ScriptDebugServer::currentCallFrameState):
968         (WebCore::ScriptDebugServer::pageCreated):
969         (WebCore::ScriptDebugServer::ScriptDebugServer):
970         (WebCore::ScriptDebugServer::~ScriptDebugServer):
971         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
972         (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
973         (WebCore::V8InjectedScriptHost::isActivationCallback):
974         * inspector/InjectedScriptHost.cpp:
975         * inspector/InjectedScriptHost.h:
976         * inspector/InjectedScriptHost.idl:
977         * inspector/InspectorBackend.cpp:
978         (WebCore::InspectorBackend::setBreakpoint):
979         (WebCore::InspectorBackend::removeBreakpoint):
980         (WebCore::InspectorBackend::pauseInDebugger):
981         (WebCore::InspectorBackend::stepOverStatementInDebugger):
982         (WebCore::InspectorBackend::stepIntoStatementInDebugger):
983         (WebCore::InspectorBackend::stepOutOfFunctionInDebugger):
984         (WebCore::InspectorBackend::pauseOnExceptionsState):
985         (WebCore::InspectorBackend::setPauseOnExceptionsState):
986         * inspector/InspectorBackend.h:
987         * inspector/InspectorBackend.idl:
988         * inspector/ScriptBreakpoint.h: Added.
989         (WebCore::InspectorBreakpoint::InspectorBreakpoint):
990         * inspector/InspectorController.cpp:
991         (WebCore::InspectorController::InspectorController):
992         (WebCore::InspectorController::setWindowVisible):
993         (WebCore::InspectorController::scriptObjectReady):
994         (WebCore::InspectorController::close):
995         (WebCore::InspectorController::didCommitLoad):
996         (WebCore::InspectorController::addProfile):
997         (WebCore::InspectorController::startUserInitiatedProfiling):
998         (WebCore::InspectorController::stopUserInitiatedProfiling):
999         (WebCore::InspectorController::enableProfiler):
1000         (WebCore::InspectorController::disableProfiler):
1001         (WebCore::InspectorController::enableDebuggerFromFrontend):
1002         (WebCore::InspectorController::disableDebugger):
1003         (WebCore::InspectorController::resumeDebugger):
1004         (WebCore::InspectorController::setBreakpoint):
1005         (WebCore::InspectorController::removeBreakpoint):
1006         (WebCore::InspectorController::didParseSource):
1007         (WebCore::InspectorController::failedToParseSource):
1008         (WebCore::InspectorController::didPause):
1009         * inspector/InspectorController.h:
1010         * inspector/InspectorFrontend.cpp:
1011         (WebCore::InspectorFrontend::parsedScriptSource):
1012         (WebCore::InspectorFrontend::restoredBreakpoint):
1013         (WebCore::InspectorFrontend::failedToParseScriptSource):
1014         (WebCore::InspectorFrontend::resumedScript):
1015         * inspector/InspectorFrontend.h:
1016         * inspector/JavaScriptDebugListener.h: Removed.
1017         * inspector/JavaScriptDebugServer.cpp: Removed.
1018         * inspector/JavaScriptDebugServer.h: Removed.
1019         * inspector/front-end/Breakpoint.js:
1020         (WebInspector.Breakpoint.prototype.set condition):
1021         * inspector/front-end/BreakpointsSidebarPane.js:
1022         (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
1023         (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
1024         * inspector/front-end/InspectorBackendStub.js:
1025         (.WebInspector.InspectorBackendStub.prototype.addBreakpoint):
1026         * inspector/front-end/ResourcesPanel.js:
1027         (WebInspector.ResourcesPanel.prototype.sourceFrameForResource):
1028         * inspector/front-end/ScriptsPanel.js:
1029         (WebInspector.ScriptsPanel):
1030         (WebInspector.ScriptsPanel.prototype.addScript):
1031         (WebInspector.ScriptsPanel.prototype.addBreakpoint):
1032         (WebInspector.ScriptsPanel.prototype.removeBreakpoint):
1033         (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
1034         * inspector/front-end/inspector.js:
1035         (WebInspector.restoredBreakpoint):
1036         * page/Page.cpp:
1037         (WebCore::Page::Page):
1038         * platform/android/TemporaryLinkStubs.cpp:
1039
1040 2010-02-21  Gavin Barraclough  <barraclough@apple.com>
1041
1042         Reviewed by Oliver Hunt.
1043
1044         Make the UChar owned/ref-counted by StringImpl::CrossThreadRefCounted be const.
1045
1046         * platform/text/StringImpl.cpp:
1047         (WebCore::StringImpl::sharedBuffer):
1048         * platform/text/StringImpl.h:
1049
1050 2010-02-07  Yuzo Fujishima  <yuzo@google.com>
1051
1052         Reviewed by Eric Seidel.
1053
1054         When page-break-{after,before} is set to always, force page breaks even for overflow-specified elements.
1055         RenderBlock::inRootBlockContext() was introduced by Changeset 5611. Although it is a reasonable criteria for choosing an optional page break location, it is not for a mandatory page break as specified by http://dev.w3.org/csswg/css3-page/#forced-pg-brk. The method is removed because it is not used anywhere else.
1056         Note: this patch makes page break work for overflow-specified elements. For tables and floated elements, more work is needed.
1057         https://bugs.webkit.org/show_bug.cgi?id=9526
1058
1059         Test: printing/page-break-always-for-overflow.html
1060
1061         * rendering/RenderBlock.cpp:
1062         (WebCore::RenderBlock::paintChildren):
1063         * rendering/RenderBlock.h:
1064
1065 2010-02-21  Julien Chaffraix  <jchaffraix@webkit.org>
1066
1067         Reviewed by Eric Seidel.
1068
1069         Remove auto_ptr usage in WebCore.
1070         https://bugs.webkit.org/show_bug.cgi?id=35157
1071
1072         The changes consists of:
1073
1074         - Changing auto_ptr arguments or return types to PassOwnPtr.
1075
1076         - Replacing local auto_ptr by OwnPtr.
1077
1078         - Removing now unneeded <memory> inclusion.
1079
1080         * css/CSSParser.cpp:
1081         (WebCore::CSSParser::addProperty):
1082         * loader/WorkerThreadableLoader.cpp:
1083         (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader):
1084         (WebCore::workerContextDidReceiveResponse):
1085         (WebCore::workerContextDidReceiveData):
1086         (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData):
1087         (WebCore::workerContextDidReceiveAuthenticationCancellation):
1088         * loader/WorkerThreadableLoader.h:
1089         * loader/icon/IconLoader.cpp:
1090         (WebCore::IconLoader::create):
1091         * loader/icon/IconLoader.h:
1092         * platform/ContextMenu.cpp:
1093         (WebCore::separatorItem):
1094         * platform/CrossThreadCopier.h:
1095         (WebCore::):
1096         * platform/network/HTTPHeaderMap.cpp:
1097         (WebCore::HTTPHeaderMap::copyData):
1098         (WebCore::HTTPHeaderMap::adopt):
1099         * platform/network/HTTPHeaderMap.h:
1100         * platform/network/ResourceRequestBase.cpp:
1101         (WebCore::ResourceRequestBase::adopt):
1102         (WebCore::ResourceRequestBase::copyData):
1103         * platform/network/ResourceRequestBase.h:
1104         * platform/network/ResourceResponseBase.cpp:
1105         (WebCore::ResourceResponseBase::adopt):
1106         (WebCore::ResourceResponseBase::copyData):
1107         * platform/network/ResourceResponseBase.h:
1108         * svg/SVGDocumentExtensions.cpp:
1109         (WebCore::SVGDocumentExtensions::removePendingResource):
1110         * svg/SVGDocumentExtensions.h:
1111         * svg/SVGElement.cpp:
1112         (WebCore::SVGElement::insertedIntoDocument):
1113         * workers/GenericWorkerTask.h:
1114         * workers/WorkerThread.cpp:
1115         (WebCore::WorkerThreadStartupData::create):
1116
1117 2010-02-21  Simon Fraser  <simon.fraser@apple.com>
1118
1119         Reviewed by Dan Bernstein.
1120
1121         https://bugs.webkit.org/show_bug.cgi?id=22215
1122         Avoid calling absoluteClippedOverflowRect() so many times
1123
1124         RenderLayer::updateLayerPositions() computes the clipped overflow rect
1125         and the outline bounds for repaint, and then calls repaintAfterLayoutIfNeeded()
1126         which can compute the same rects all over again. Avoid this by passing
1127         these two rects into repaintAfterLayoutIfNeeded() if known. This measurably
1128         reduces the time spent in updateLayerPositions() for some content.
1129
1130         * rendering/RenderLayer.cpp:
1131         (WebCore::RenderLayer::updateLayerPositions):
1132         * rendering/RenderObject.cpp:
1133         (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
1134         * rendering/RenderObject.h:
1135
1136 2010-02-20  Alexey Proskuryakov  <ap@apple.com>
1137
1138         Reviewed by Maciej Stachowiak.
1139
1140         https://bugs.webkit.org/show_bug.cgi?id=35202
1141         <rdar://problem/4856597> Calling Java method which accepts Object always passes a null argument
1142
1143         * bridge/jni/jsc/JNIUtilityPrivate.cpp: (JSC::Bindings::convertValueToJValue): Add cases for
1144         other JS types.
1145
1146 2010-02-20  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1147
1148         Reviewed by Darin Adler.
1149
1150         Fix compiler warning "suggest parentheses around"
1151         https://bugs.webkit.org/show_bug.cgi?id=35197
1152
1153         No new tests as there is no new functionality.
1154
1155         * html/DateComponents.cpp:
1156         (WebCore::beforeGregorianStartDate):
1157         * plugins/PluginDatabase.cpp:
1158         (WebCore::PluginDatabase::findPlugin):
1159
1160 2010-02-20  Noam Rosenthal  <noam.rosenthal@nokia.com>
1161
1162         Reviewed by Laszlo Gombos.
1163
1164         [Qt] ENABLE_3D_RENDERING should be optional
1165         https://bugs.webkit.org/show_bug.cgi?id=35100
1166
1167         No new tests: this is a build fix.
1168
1169         * WebCore.pri: ENABLE_3D_RENDERING is now a proper feature test
1170
1171 2010-02-20  Alexey Proskuryakov  <ap@apple.com>
1172
1173         Reviewed by Maciej Stachowiak.
1174
1175         https://bugs.webkit.org/show_bug.cgi?id=23742
1176         Applet methods can not return arrays to JS
1177
1178         * bridge/jni/jsc/JNIBridgeJSC.cpp: (JavaArray::JavaArray): Don't accidentally zero out
1179         m_rootObject (that's how PassRefPtr works). Without m_rootObject, we crash quickly.
1180
1181         * bridge/jni/jsc/JavaInstanceJSC.cpp: (JavaInstance::invokeMethod): Do handle returned arrays.
1182         Also, added an ifdef around  code that's only needed on Tiger, and removed a comment saying
1183         it can be removed when "new" plugin ships. I doubt that anyone can remember what "new"
1184         could refer to back then.
1185
1186 2010-02-20  Pavel Feldman  <pfeldman@chromium.org>
1187
1188         Reviewed by Timothy Hatcher.
1189
1190         Web Inspector: re-creating view in ResourcesPanel confuses ScriptsPanel's visibleView logic.
1191
1192         https://bugs.webkit.org/show_bug.cgi?id=35192
1193
1194         * inspector/front-end/ResourcesPanel.js:
1195         (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
1196         * inspector/front-end/ScriptsPanel.js:
1197         (WebInspector.ScriptsPanel.prototype.show):
1198         (WebInspector.ScriptsPanel.prototype.viewRecreated):
1199
1200 2010-02-20  Pavel Feldman  <pfeldman@chromium.org>
1201
1202         Reviewed by Timothy Hatcher.
1203
1204         Web Inspector: need to highlight the evaluated expression used for popovers.
1205
1206         https://bugs.webkit.org/show_bug.cgi?id=35126
1207
1208         * inspector/front-end/SourceFrame.js:
1209         (WebInspector.SourceFrame.prototype._mouseMove):
1210         (WebInspector.SourceFrame.prototype._hidePopup):
1211         (WebInspector.SourceFrame.prototype._mouseHover):
1212         (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup):
1213         (WebInspector.SourceFrame.prototype._showPopup):
1214         * inspector/front-end/inspector.css:
1215
1216 2010-02-20  Gustavo Noronha Silva  <gns@gnome.org>
1217
1218         Roll out 55047 because it causes layout, and API tests to fail
1219
1220 2010-02-19  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
1221
1222         Reviewed by Xan Lopez.
1223
1224         [Soup] loses information related to message flags when converting from/to Resource{Request,Response}
1225         https://bugs.webkit.org/show_bug.cgi?id=35093
1226
1227         Refactor updating of ResourceResponse objects from soup message
1228         objects, to avoid code duplication.
1229
1230         No behaviour change.
1231
1232         * platform/network/soup/ResourceHandleSoup.cpp:
1233         (WebCore::fillResponseFromMessage):
1234         * platform/network/soup/ResourceResponseSoup.cpp:
1235         (WebCore::ResourceResponse::updateFromSoupMessage):
1236
1237 2010-02-20  Alexey Proskuryakov  <ap@apple.com>
1238
1239         Reviewed by Maciej Stachowiak.
1240
1241         https://bugs.webkit.org/show_bug.cgi?id=35190
1242         Don't use system malloc in Java bindings
1243
1244         * bridge/jni/jsc/JavaInstanceJSC.cpp: (JavaInstance::invokeMethod): Switched to WTF::Vector.
1245
1246 2010-02-20  Alexey Proskuryakov  <ap@apple.com>
1247
1248         Reviewed by Maciej Stachowiak.
1249
1250         https://bugs.webkit.org/show_bug.cgi?id=9761
1251         LiveConnect string conversion fails for java.lang.Object
1252
1253         Can't test Java in DRT (I wonder why).
1254
1255         * bridge/jni/jsc/JNIUtilityPrivate.cpp: (JSC::Bindings::convertValueToJValue):
1256         Added the necessary conversion. Also, removed CONVERT_NULL_TO_EMPTY_STRING dead code.
1257
1258 2010-02-19  Maciej Stachowiak  <mjs@apple.com>
1259
1260         Reviewed by David Levin.
1261
1262         Add an ENABLE flag for sandboxed iframes to make it possible to disable it in releases
1263         https://bugs.webkit.org/show_bug.cgi?id=35147
1264
1265         I made ENABLE(SANDBOX) only control the sandbox attribute itself;
1266         I did not ifdef the infrastructure to make sandboxing
1267         switchable. This is because the likely concerns about sandboxing
1268         are not stability of the infrastructure code, but rather the fact
1269         that the security model exposed to authors is still evolving.
1270
1271         * Configurations/FeatureDefines.xcconfig:
1272         * GNUmakefile.am:
1273         * WebCore.pri:
1274         * html/HTMLIFrameElement.cpp:
1275         (WebCore::HTMLIFrameElement::parseMappedAttribute):
1276
1277 2010-02-19  Alexey Proskuryakov  <ap@apple.com>
1278
1279         Reviewed by Maciej Stachowiak.
1280
1281         https://bugs.webkit.org/show_bug.cgi?id=35132
1282         <rdar://problem/7664353> Mouse cursor sometimes flickers over Flash content (35132)
1283
1284         * page/EventHandler.cpp: (WebCore::EventHandler::handleMouseMoveEvent): Don't set mouse
1285         pointer when above a plug-in or applet to prevent flicker.
1286
1287 2010-02-18  Peter Kasting  <pkasting@google.com>
1288
1289         Reviewed by Adam Barth.
1290
1291         Fix regression in calculating an animated image's start time.
1292         https://bugs.webkit.org/show_bug.cgi?id=35115
1293
1294         * platform/graphics/BitmapImage.cpp:
1295         (WebCore::BitmapImage::startAnimation):
1296
1297 2010-02-19  Alexey Proskuryakov  <ap@apple.com>
1298
1299         Reviewed by Geoffrey Garen.
1300
1301         https://bugs.webkit.org/show_bug.cgi?id=35178
1302         LiveConnect code uses hand-rolled fprintf logging
1303
1304         Changed to use LOG, LOG_ERROR and ASSERT.
1305
1306         * platform/Logging.cpp:
1307         (WebCore::getChannelFromName):
1308         * platform/Logging.h:
1309         * platform/mac/LoggingMac.mm:
1310         (WebCore::InitializeLoggingChannelsIfNecessary):
1311         * platform/win/LoggingWin.cpp:
1312         (WebCore::InitializeLoggingChannelsIfNecessary):
1313         TextConversion channel was (almost) unused, renamed to LiveConnect.
1314
1315         * platform/text/gtk/TextCodecGtk.cpp: (WebCore::TextCodecGtk::registerEncodingNames):
1316         The only use of this channel was in platform specific code, commandeered it for cross-platform
1317         needs.
1318
1319         * bridge/jni/JNIBridge.cpp:
1320         * bridge/jni/JNIUtility.cpp:
1321         (JSC::Bindings::getJavaVM):
1322         (JSC::Bindings::getJNIEnv):
1323         (JSC::Bindings::getJNIField):
1324         * bridge/jni/JNIUtility.h:
1325         (JSC::Bindings::callJNIMethodV):
1326         (JSC::Bindings::callJNIStaticMethod):
1327         * bridge/jni/jni_jsobject.mm:
1328         (completedJavaScriptAccess):
1329         (dispatchToJavaScriptThread):
1330         (performJavaScriptAccess):
1331         (JavaJSObject::invoke):
1332         (JavaJSObject::call):
1333         (JavaJSObject::eval):
1334         (JavaJSObject::getMember):
1335         (JavaJSObject::setMember):
1336         (JavaJSObject::removeMember):
1337         (JavaJSObject::getSlot):
1338         (JavaJSObject::setSlot):
1339         (JavaJSObject::toString):
1340         (JavaJSObject::createNative):
1341         * bridge/jni/jsc/JNIBridgeJSC.cpp:
1342         (JavaField::valueFromInstance):
1343         (JavaField::setValueToInstance):
1344         * bridge/jni/jsc/JavaClassJSC.cpp:
1345         (JavaClass::JavaClass):
1346         * bridge/jni/jsc/JavaInstanceJSC.cpp:
1347         (JavaInstance::invokeMethod):
1348         (JObjectWrapper::JObjectWrapper):
1349         (JObjectWrapper::~JObjectWrapper):
1350
1351 2010-02-19  Dirk Schulze  <krit@webkit.org>
1352
1353         Reviewed by Nikolas Zimmermann.
1354
1355         RenderSVGResourceMasker causes an Assert on Wind builds during DRT
1356         https://bugs.webkit.org/show_bug.cgi?id=35182
1357
1358         We remove the Assert for now and return earlier, if the HashMap of the Masker
1359         does not contain the RenderObject. The RenderObject is an identifiert to get
1360         a already calculated mask.
1361         A race condition during parsing can cause the invalidation call, before the mask
1362         got calculated (only during DRT on Win build bots).
1363         The real bug will be fixed with: https://bugs.webkit.org/show_bug.cgi?id=35181
1364
1365         * rendering/RenderSVGResourceMasker.cpp:
1366         (WebCore::RenderSVGResourceMasker::invalidateClient):
1367
1368 2010-02-18  Peter Kasting  <pkasting@google.com>
1369
1370         Reviewed by Darin Fisher.
1371
1372         Make Pasteboard::writeImage() safe against NULL cachedImages, and clean
1373         up some code.
1374         https://bugs.webkit.org/show_bug.cgi?id=35136
1375
1376         * loader/ImageLoader.cpp:
1377         (WebCore::ImageLoader::updateRenderer): Shorten some code.
1378         * page/DragController.cpp:
1379         (WebCore::getImage): Shorten some code.
1380         * platform/chromium/PasteboardChromium.cpp:
1381         (WebCore::Pasteboard::writeImage): NULL-check cachedImage().
1382         * platform/gtk/PasteboardGtk.cpp:
1383         (WebCore::Pasteboard::writeImage): NULL-check cachedImage().
1384         * platform/mac/PasteboardMac.mm:
1385         (WebCore::Pasteboard::writeImage): NULL-check cachedImage().
1386         * platform/qt/PasteboardQt.cpp:
1387         (WebCore::Pasteboard::writeImage): NULL-check cachedImage().
1388         * platform/win/PasteboardWin.cpp:
1389         (WebCore::Pasteboard::writeImage): NULL-check cachedImage().
1390
1391 2010-02-19  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1392
1393         Rubberstamped by Noam Rosenthal, who wrote the original code.
1394
1395         Make mouse wheel scrolling work when using the GraphicsLayer.
1396
1397         * platform/graphics/qt/GraphicsLayerQt.cpp:
1398         (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
1399
1400 2010-02-19  Nate Chapin  <japhet@chromium.org>
1401
1402         Reviewed by Dimitri Glazkov.
1403
1404         [V8] Fix Worker crash regression in r54972
1405
1406         https://bugs.webkit.org/show_bug.cgi?id=35166
1407
1408         * bindings/v8/V8DOMWrapper.cpp:
1409         (WebCore::V8DOMWrapper::instantiateV8Object): Properly unwrap global objects when inside a WorkerContext.
1410
1411 2010-02-19  Steve Block  <steveblock@google.com>
1412
1413         Not reviewed. Reverts r55020 which causes crashes in Chromium LayoutTests
1414
1415         * bindings/generic/RuntimeEnabledFeatures.cpp:
1416         * storage/Database.cpp:
1417
1418 2010-02-19  Steve Block  <steveblock@google.com>
1419
1420         Reviewed by David Levin.
1421
1422         Sets default values of V8 runtime enabler flags to match behavior with JSC
1423         https://bugs.webkit.org/show_bug.cgi?id=35095
1424
1425         No new tests, modifies a Chromium feature only.
1426
1427         * bindings/generic/RuntimeEnabledFeatures.cpp: Modified. Sets appcache and geolocation flag defaults to 'on'
1428         * storage/Database.cpp: Modified. Sets database flag default to 'on'.
1429
1430 2010-02-19  Alexander Pavlov  <apavlov@chromium.org>
1431
1432         Reviewed by Pavel Feldman.
1433
1434         WebInspector: Elements panel: Correctly show empty elements' ending tags
1435         for XML and HTML documents.
1436         https://bugs.webkit.org/show_bug.cgi?id=26315
1437
1438         Test: inspector/elements-panel-xhtml-structure.xhtml
1439
1440         * inspector/InspectorController.cpp:
1441         (WebCore::InspectorController::populateScriptObjects):
1442         * inspector/front-end/ElementsTreeOutline.js:
1443         (WebInspector.ElementsTreeOutline.prototype.set rootDOMNode):
1444         (WebInspector.ElementsTreeOutline.prototype.get isXMLMimeType):
1445         (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired):
1446         (WebInspector.ElementsTreeElement.prototype.onexpand):
1447         (WebInspector.ElementsTreeElement.prototype.oncollapse):
1448         (WebInspector.ElementsTreeElement.prototype.updateTitle.callback):
1449         (WebInspector.ElementsTreeElement.prototype.updateTitle):
1450         (WebInspector.ElementsTreeElement.prototype._nodeTitleInfo):
1451
1452 2010-02-19  Pavel Feldman  <pfeldman@chromium.org>
1453
1454         Not reviewed. Chromium build fix: reverting r54997 and r54998.
1455
1456         * bindings/v8/custom/V8LocationCustom.cpp:
1457         (WebCore::V8Location::protocolAccessorSetter):
1458         * platform/KURLGoogle.cpp:
1459         (WebCore::KURL::setProtocol):
1460         (WebCore::KURL::isHierarchical):
1461
1462 2010-02-17  Philippe Normand  <pnormand@igalia.com>
1463
1464         Reviewed by Eric Seidel.
1465
1466         [GTK] RTP/RTSP streams playback support
1467         https://bugs.webkit.org/show_bug.cgi?id=33662
1468
1469         Added live pipelines support in updateStates().
1470
1471         * manual-tests/video-rtsp.html: Added.
1472         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
1473         (WebCore::MediaPlayerPrivate::seek):
1474         (WebCore::MediaPlayerPrivate::updateStates):
1475
1476 2010-02-18  Yaar Schnitman  <yaar@chromium.org>
1477
1478         Reviewed by Darin Adler.
1479
1480         Normalize custom ctors for Image, Option, Audio
1481         https://bugs.webkit.org/show_bug.cgi?id=34782
1482
1483         Test: fast/js/custom-constructors.html
1484
1485         * bindings/js/JSAudioConstructor.cpp:
1486         (WebCore::JSAudioConstructor::JSAudioConstructor):
1487         (WebCore::constructAudio):
1488         * bindings/js/JSImageConstructor.cpp:
1489         (WebCore::constructImage):
1490         * bindings/js/JSOptionConstructor.cpp:
1491         (WebCore::constructHTMLOptionElement):
1492         * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
1493         (WebCore::v8HTMLAudioElementConstructorCallback):
1494         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
1495         (WebCore::v8HTMLImageElementConstructorCallback):
1496         * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
1497         (WebCore::v8HTMLOptionElementConstructorCallback):
1498         * html/HTMLAudioElement.cpp:
1499         (WebCore::HTMLAudioElement::HTMLAudioElement):
1500         (WebCore::HTMLAudioElement::createForJSConstructor):
1501         * html/HTMLAudioElement.h:
1502         * html/HTMLImageElement.cpp:
1503         (WebCore::HTMLImageElement::createForJSConstructor):
1504         (WebCore::HTMLImageElement::mapToEntry):
1505         (WebCore::HTMLImageElement::createRenderer):
1506         (WebCore::HTMLImageElement::attach):
1507         (WebCore::HTMLImageElement::width):
1508         (WebCore::HTMLImageElement::height):
1509         (WebCore::HTMLImageElement::naturalHeight):
1510         * html/HTMLImageElement.h:
1511         * html/HTMLOptionElement.cpp:
1512         (WebCore::HTMLOptionElement::HTMLOptionElement):
1513         (WebCore::HTMLOptionElement::createForJSConstructor):
1514         (WebCore::HTMLOptionElement::ownerSelectElement):
1515         (WebCore::HTMLOptionElement::nonRendererRenderStyle):
1516         (WebCore::HTMLOptionElement::disabled):
1517         (WebCore::HTMLOptionElement::insertedIntoTree):
1518         * html/HTMLOptionElement.h:
1519
1520 2010-02-12  Brett Wilson  <brettw@chromium.org>
1521
1522         Reviewed by Adam Barth.
1523
1524         Update the Google-URL version of KURL and the V8 bindings to the new
1525         behavior of KURL.IsStandard.
1526
1527         https://bugs.webkit.org/show_bug.cgi?id=34859
1528
1529         This is covered by fast/dom/Window/invalid-protocol.html
1530
1531         * bindings/v8/custom/V8LocationCustom.cpp:
1532         (WebCore::V8Location::protocolAccessorSetter):
1533         * platform/KURLGoogle.cpp:
1534         (WebCore::KURL::setProtocol):
1535         (WebCore::KURL::isHierarchical):
1536
1537 2010-02-18  Simon Fraser  <simon.fraser@apple.com>
1538
1539         No Review.
1540
1541         Remove a couple of extraneous spaces that got added to the project file
1542         by hand-ending.
1543
1544         * WebCore.xcodeproj/project.pbxproj:
1545
1546 2010-02-18  Simon Fraser  <simon.fraser@apple.com>
1547
1548         Reviewed by Dan Bernstein.
1549
1550         <rdar://problem/7535894> Page contents missing from snapshot on Newsweek.com article
1551         
1552         Add logic to determine when painting via the software rendering path will give an equivalent
1553         result to the accelerated compositing presentation. This tests for the presence of 3D transforms
1554         via the existing RenderLayerCompositor::has3DContent() method.
1555         
1556         * WebCore.base.exp: Export FrameView's isSoftwareRenderable(), paintBehavior() and setPaintBehavior().
1557         * page/FrameView.h:
1558         * page/FrameView.cpp:
1559         (WebCore::FrameView::isSoftwareRenderable): New method.
1560         (WebCore::FrameView::paintBehavior): Make this non-inline so that we can reliably export it.
1561
1562 2010-02-18  Dan Bernstein  <mitz@apple.com>
1563
1564         Reviewed by John Sullivan.
1565
1566         <rdar://problem/7658811> Multiple style recalcs due to getComputedStyle() on “display: none;” element
1567         when there are pending style sheets
1568
1569         Test: fast/css/getComputedStyle/pending-stylesheet.html
1570
1571         When querying a property of a computed style declaration for a non-rendered element,
1572         CSSStyleSelector::styleForElement() was called, and if there were pending style sheet, it
1573         would behave as if the lack of renderer is due to FOUC suppression, and set a flag on
1574         the document causing it to recalculate style. On the next computed style property access,
1575         style would be recalculated for the document, but then the flag would get set again if the
1576         element did not have a renderer.
1577
1578         * dom/Document.cpp:
1579         (WebCore::Document::styleForElementIgnoringPendingStylesheets): Added. Temporarily sets
1580         m_ignorePendingStylesheets around the call to CSSStyleSelector::styleForElement().
1581         * dom/Document.h:
1582         * dom/Element.cpp:
1583         (WebCore::Element::computedStyle): Use Document::styleForElementIgnoringPendingStylesheets().
1584
1585 2010-02-18  Dirk Schulze  <krit@webkit.org>
1586
1587         Reviewed by Nikolas Zimmermann.
1588
1589         Move SVGResources to Renderers, starting with Masker
1590         https://bugs.webkit.org/show_bug.cgi?id=35020
1591
1592         We have rendering specific code in WebCore/svg/graphics. The goal is to move
1593         this code into suitable Renderers. This helps us to clean up the code and makes
1594         maintenance easier. It also makes it possible to remove rendering specific code
1595         from SVG*Elements into this renderers. So the Renderer contains everything that
1596         is needed to use the resource.
1597         RenderSVGResource will be the base class for all new resource render classes like
1598         RenderSVGResourceMasker, RenderSVGResourceClipper and the other resources.
1599
1600         This patch starts moving SVGResourceMasker to RenderSVGResourceMasker.
1601         Another benefit is the much more useful result in DRT on using masker.
1602
1603         * Android.mk:
1604         * GNUmakefile.am:
1605         * WebCore.gypi:
1606         * WebCore.pro:
1607         * WebCore.vcproj/WebCore.vcproj:
1608         * WebCore.xcodeproj/project.pbxproj:
1609         * rendering/RenderObject.cpp:
1610         (WebCore::RenderObject::toRenderSVGResource): Conversion to RenderSVGResource base class.
1611         * rendering/RenderObject.h:
1612         (WebCore::RenderObject::isSVGResource): Check if renderer is a resource.
1613         * rendering/RenderPath.cpp:
1614         * rendering/RenderSVGImage.cpp:
1615         (WebCore::RenderSVGImage::destroy): Renderer gets destroyed, unregister it from it's resources.
1616         * rendering/RenderSVGImage.h: Some code clean up according to the webkit style.
1617         (WebCore::RenderSVGImage::toSVGRenderBase):
1618         (WebCore::RenderSVGImage::renderName):
1619         (WebCore::RenderSVGImage::isSVGImage):
1620         (WebCore::RenderSVGImage::localToParentTransform):
1621         (WebCore::RenderSVGImage::strokeBoundingBox):
1622         (WebCore::RenderSVGImage::requiresLayer):
1623         (WebCore::RenderSVGImage::localTransform):
1624         * rendering/RenderSVGInlineText.h:
1625         (WebCore::RenderSVGInlineText::objectBoundingBox): Needed for SVGRenderTreeAsText
1626         * rendering/RenderSVGModelObject.cpp:
1627         (WebCore::RenderSVGModelObject::destroy): Renderer gets destroyed, unregister it from it's resources.
1628         * rendering/RenderSVGModelObject.h:
1629         * rendering/RenderSVGResource.h: Added.
1630         (WebCore::): Base class for all Resource renderers like masker, clipper and others.
1631         (WebCore::RenderSVGResource::RenderSVGResource):
1632         (WebCore::RenderSVGResource::cast):
1633         (WebCore::RenderSVGResource::toRenderSVGResource):
1634         (WebCore::RenderSVGResource::isSVGResource): 
1635         (WebCore::RenderSVGResource::drawsContents):
1636         (WebCore::getRenderSVGResourceById):
1637         * rendering/RenderSVGResourceMasker.cpp: Added.
1638         (WebCore::RenderSVGResourceMasker::RenderSVGResourceMasker):
1639         (WebCore::RenderSVGResourceMasker::~RenderSVGResourceMasker):
1640         (WebCore::RenderSVGResourceMasker::invalidateClients): Status of masker changed, remove all clients.
1641         (WebCore::RenderSVGResourceMasker::invalidateClient): Status of an object changed, remove pending client.
1642         (WebCore::RenderSVGResourceMasker::applyResource): Apply masker to object.
1643         (WebCore::RenderSVGResourceMasker::resourceBoundingBox): boundingBox of the resource, depending on the object.
1644         (WebCore::RenderSVGResourceMasker::createMaskImage): Creates the mask image, the context gets clipped with.
1645         * rendering/RenderSVGResourceMasker.h: Added.
1646         (WebCore::MaskerData::MaskerData):
1647         (WebCore::RenderSVGResourceMasker::renderName):
1648         (WebCore::RenderSVGResourceMasker::maskUnits): Unit of mask for DRT.
1649         (WebCore::RenderSVGResourceMasker::maskContentUnits): Unit of childs from mask for DRT.
1650         (WebCore::RenderSVGResourceMasker::resourceType):
1651         * rendering/RenderSVGRoot.cpp:
1652         (WebCore::RenderSVGRoot::destroy): Renderer gets destroyed, unregister it from it's resources.
1653         * rendering/RenderSVGRoot.h:
1654         * rendering/RenderSVGText.cpp:
1655         (WebCore::RenderSVGText::destroy): dito.
1656         * rendering/RenderSVGText.h:
1657         * rendering/RenderTreeAsText.cpp:
1658         (WebCore::write):
1659         * rendering/SVGRenderSupport.cpp:
1660         (WebCore::SVGRenderBase::prepareToRenderSVGContent):
1661         (WebCore::SVGRenderBase::maskerBoundingBoxForRenderer):
1662         (WebCore::SVGRenderBase::deregisterFromResources): Unregister object from all it's resources after status changed.
1663         * rendering/SVGRenderSupport.h:
1664         (WebCore::SVGRenderBase::toSVGRenderBase):
1665         (WebCore::SVGRenderBase::strokeBoundingBox):
1666         (WebCore::SVGRenderBase::markerBoundingBox):
1667         * rendering/SVGRenderTreeAsText.cpp: Update TreeAsText to dump maskers correctly.
1668         (WebCore::operator<<):
1669         (WebCore::writeSVGResource):
1670         (WebCore::writeSVGContainer):
1671         (WebCore::writeSVGText):
1672         (WebCore::writeSVGInlineText):
1673         (WebCore::writeSVGImage):
1674         (WebCore::write):
1675         (WebCore::writeResourcesToObject):
1676         * rendering/SVGRenderTreeAsText.h:
1677         * svg/SVGMaskElement.cpp: Update Masker to use the new renderer.
1678         (WebCore::SVGMaskElement::svgAttributeChanged):
1679         (WebCore::SVGMaskElement::childrenChanged):
1680         (WebCore::SVGMaskElement::maskBoundingBox):
1681         (WebCore::SVGMaskElement::createRenderer):
1682         * svg/SVGMaskElement.h:
1683         * svg/SVGStyledElement.cpp: We need to tell the renderer to unregister object, after the status changed.
1684         (WebCore::SVGStyledElement::invalidateResources):
1685         (WebCore::SVGStyledElement::invalidateResourcesInAncestorChain):
1686         * svg/SVGUnitTypes.h: Conversion of integer to SVGUnitType.
1687         (WebCore::toUnitType):
1688         * svg/graphics/SVGResource.h:
1689         (WebCore::):
1690         (WebCore::SVGResource::isMarker):
1691         * svg/graphics/SVGResourceMasker.cpp: Removed.
1692         * svg/graphics/SVGResourceMasker.h: Removed.
1693
1694 2010-02-18  Dumitru Daniliuc  <dumi@chromium.org>
1695
1696         Reviewed by Dimitri Glazkov.
1697
1698         Allow creating/dropping virtual tables when the module is FTS2.
1699
1700         https://bugs.webkit.org/show_bug.cgi?id=34867
1701
1702         * storage/DatabaseAuthorizer.cpp:
1703         (WebCore::DatabaseAuthorizer::createVTable):
1704         (WebCore::DatabaseAuthorizer::dropVTable):
1705
1706 2010-02-18  Peter Kasting  <pkasting@google.com>
1707
1708         Not reviewed, Chromium build fix.
1709
1710         r54963 had a typo in the WebCore.gypi change.
1711         https://bugs.webkit.org/show_bug.cgi?id=35003
1712
1713         * WebCore.gypi:
1714
1715 2010-02-18  Vangelis Kokkevis  <vangelis@chromium.org>
1716
1717         Reviewed by Simon Fraser.
1718
1719         Changing forward declaration of TimingFunction in GraphicsLayer.h from
1720         class to struct to match its actual definition in TimingFunction.h
1721
1722         https://bugs.webkit.org/show_bug.cgi?id=35069
1723
1724
1725         * platform/graphics/GraphicsLayer.h:
1726            Change forward declaration from: class TimingFunction to:
1727            struct TimingFunction
1728
1729 2010-02-18  Noam Rosenthal  <noam.rosenthal@nokia.com>
1730
1731         Reviewed by Kenneth Rohde Christiansen.
1732
1733         [Qt] Minor improvement to hybrid QPixmap
1734         https://bugs.webkit.org/show_bug.cgi?id=34507
1735         Instead of having toHTMLImageElement which creates a new element,
1736         assignToHTMLImageElement would set an existing HTML <img/> element to
1737         contain the native QPixmap/QImge.
1738         Also made some style fixes.
1739
1740         Additions to existing tests: see WebKit/qt/tests
1741
1742         * bridge/qt/qt_pixmapruntime.cpp:
1743         (JSC::Bindings::QtPixmapWidthField::valueFromInstance): style
1744         (JSC::Bindings::QtPixmapHeightField::valueFromInstance): style
1745         (JSC::Bindings::QtPixmapAssignToElementMethod::name): assignTo
1746         (JSC::Bindings::QtPixmapAssignToElementMethod::invoke): new function
1747         (JSC::Bindings::QtPixmapAssignToElementMethod::numParameters): 1
1748         (JSC::Bindings::QtPixmapToDataUrlMethod::invoke): style
1749         (JSC::Bindings::QtPixmapToStringMethod::invoke): style
1750         (JSC::Bindings::QtPixmapInstance::invokeMethod): style
1751         (JSC::Bindings::QtPixmapClass::methodsNamed): new func, removed old
1752         (JSC::Bindings::QtPixmapInstance::getPropertyNames): ditto
1753         (JSC::Bindings::QtPixmapInstance::defaultValue): style
1754         (JSC::Bindings::QtPixmapInstance::valueOf): style
1755         (JSC::Bindings::QtPixmapInstance::toPixmap): style
1756         (JSC::Bindings::QtPixmapInstance::variantFromObject): style
1757
1758 2010-02-18  Peter Kasting  <pkasting@google.com>
1759
1760         Not reviewed, bustage fix.
1761
1762         An extraneous line in r54839 broke GIF animation.
1763
1764         * platform/image-decoders/gif/GIFImageReader.cpp:
1765         (GIFImageReader::read):
1766
1767 2010-02-18  Dan Bernstein  <mitz@apple.com>
1768
1769         Reviewed by Simon Fraser.
1770
1771         <rdar://problem/7650652> REGRESSION: Selection painting issue in bug review textbox
1772         https://bugs.webkit.org/show_bug.cgi?id=34946
1773
1774         Test: fast/repaint/selection-gap-overflow-scroll-2.html
1775
1776         * rendering/RenderBlock.cpp:
1777         (WebCore::RenderBlock::paintSelection): localToContainerQuad() adjusts for
1778         overflow scroll, but RenderLayer::addBlockSelectionGapsBounds() takes
1779         non-scrolled coordinates, so account for that.
1780
1781 2010-02-17  Dumitru Daniliuc  <dumi@chromium.org>
1782
1783         Reviewed by Darin Adler.
1784
1785         Change the V8 and JSC SQLStatementErrorCallback to interpret
1786         'undefined' return values as 'true', as required by the spec.
1787
1788         https://bugs.webkit.org/show_bug.cgi?id=35048
1789
1790         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
1791         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
1792         * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
1793         (WebCore::V8CustomSQLStatementErrorCallback::handleEvent):
1794         * bindings/v8/custom/V8CustomVoidCallback.cpp:
1795         (WebCore::invokeCallbackHelper):
1796         (WebCore::invokeCallback):
1797         (WebCore::invokeCallbackTreatUndefinedAsTrue):
1798         * bindings/v8/custom/V8CustomVoidCallback.h:
1799
1800 2010-02-17  Ojan Vafai  <ojan@chromium.org>
1801
1802         Reviewed by Adam Barth.
1803
1804         keyboard selection sometimes moves the wrong end of the selection for Win/Linux
1805         https://bugs.webkit.org/show_bug.cgi?id=35066
1806
1807         On Windows/Linux keyboard based selections should always move the same
1808         end of the seleciton. On Mac, lineboundary and documentboundary changes
1809         move different ends of the selection depending on which direction your
1810         extending.
1811
1812         Test: editing/selection/extend-after-mouse-selection.html
1813
1814         * editing/SelectionController.cpp:
1815         (WebCore::SelectionController::positionForPlatform):
1816         (WebCore::SelectionController::startForPlatform):
1817         (WebCore::SelectionController::endForPlatform):
1818         (WebCore::SelectionController::modifyExtendingRight):
1819         (WebCore::SelectionController::modifyExtendingForward):
1820         (WebCore::SelectionController::modifyMovingForward):
1821         (WebCore::SelectionController::modifyExtendingBackward):
1822         (WebCore::SelectionController::modifyMovingBackward):
1823         * editing/SelectionController.h:
1824
1825 2010-02-18  Timothy Hatcher  <timothy@apple.com>
1826
1827         Add "with" to the list of keywords to syntax highlight.
1828
1829         http://webkit.org/b/35123
1830
1831         Reviewed by Pavel Feldman.
1832
1833         * inspector/front-end/SourceJavaScriptTokenizer.js:
1834         (WebInspector.SourceJavaScriptTokenizer): Add "width" to _keywords.
1835         * inspector/front-end/SourceJavaScriptTokenizer.re2js:
1836         (WebInspector.SourceJavaScriptTokenizer): Ditto.
1837
1838 2010-02-17  Peter Kasting  <pkasting@google.com>
1839
1840         Reviewed by Adam Barth.
1841
1842         Rework PNG-in-ICO decoding to copy the decoded framebuffer into the ICO
1843         decoder, making the logic less crazy and more like the other decoders.
1844         https://bugs.webkit.org/show_bug.cgi?id=28751
1845
1846         * platform/image-decoders/ImageDecoder.cpp:
1847         (WebCore::RGBA32Buffer::operator=):
1848         * platform/image-decoders/ImageDecoder.h:
1849         (WebCore::RGBA32Buffer::RGBA32Buffer):
1850         * platform/image-decoders/ico/ICOImageDecoder.cpp:
1851         (WebCore::ICOImageDecoder::frameBufferAtIndex):
1852         (WebCore::ICOImageDecoder::decodeAtIndex):
1853         * platform/image-decoders/ico/ICOImageDecoder.h:
1854         * platform/image-decoders/qt/RGBA32BufferQt.cpp:
1855         (WebCore::RGBA32Buffer::operator=):
1856         * platform/image-decoders/skia/ImageDecoderSkia.cpp:
1857         (WebCore::RGBA32Buffer::operator=):
1858
1859 2010-02-18  Pavel Feldman  <pfeldman@chromium.org>
1860
1861         Reviewed by Timothy Hatcher.
1862
1863         Web Inspector: multiple popovers on screen at the same time.
1864
1865         https://bugs.webkit.org/show_bug.cgi?id=35105
1866
1867         * inspector/front-end/Popover.js:
1868         (WebInspector.Popover.prototype.show):
1869         (WebInspector.Popover.prototype.hide):
1870         * inspector/front-end/SourceFrame.js:
1871         (WebInspector.SourceFrame.prototype._showPopup):
1872
1873 2010-02-18  Pavel Feldman  <pfeldman@chromium.org>
1874
1875         Reviewed by Timothy Hatcher.
1876
1877         Web Inspector: Expand Object.__proto__ properly.
1878
1879         https://bugs.webkit.org/show_bug.cgi?id=35113
1880
1881         * inspector/front-end/EventListenersSidebarPane.js:
1882         * inspector/front-end/InjectedScript.js:
1883         (injectedScriptConstructor):
1884         * inspector/front-end/ObjectProxy.js:
1885         (WebInspector.ObjectProxy):
1886         * inspector/front-end/PropertiesSidebarPane.js:
1887         (WebInspector.PropertiesSidebarPane.prototype.update.callback):
1888         * inspector/front-end/inspector.js:
1889         (WebInspector.log.logMessage):
1890         (WebInspector.log):
1891
1892 2010-02-18  Nate Chapin  <japhet@chromium.org>
1893
1894         Reviewed by Adam Barth.
1895
1896         [V8] Merge the DOMWindow and WorkerContext object wrapping code paths,
1897         and use a faster method of disambiguating between the types of contexts.
1898
1899         https://bugs.webkit.org/show_bug.cgi?id=35009
1900
1901         * bindings/scripts/CodeGeneratorV8.pm: Remove logic determining whether we need to
1902             handle the WorkerContext case.
1903         * bindings/v8/V8DOMWrapper.cpp:
1904         (WebCore::globalObjectPrototypeIsDOMWindow):
1905         (WebCore::V8DOMWrapper::instantiateV8Object): Merge instantiateV8Object paths.
1906         * bindings/v8/V8DOMWrapper.h:
1907
1908 2010-02-18  Xan Lopez  <xlopez@igalia.com>
1909
1910         Reviewed by Gustavo Noronha.
1911
1912         Remove some duplication between PluginView and Widget methods, and
1913         move the setSelfVisible calls to the parent class.
1914
1915         * platform/gtk/WidgetGtk.cpp:
1916         (WebCore::Widget::show):
1917         (WebCore::Widget::hide):
1918         * plugins/gtk/PluginViewGtk.cpp:
1919         (WebCore::PluginView::setFocus):
1920         (WebCore::PluginView::show):
1921         (WebCore::PluginView::hide):
1922
1923 2010-02-18  Simon Fraser  <simon.fraser@apple.com>
1924
1925         Reviewed by Darin Adler.
1926
1927         <rdar://problem/7655195> Switch Leopard back to using CGShading to avoid CGGradient leaks
1928
1929         Define USE_CG_SHADING on for Tiger and Leopard, and use it to toggle the methods
1930         used for Core Graphics gradient drawing.
1931
1932         * platform/graphics/Gradient.h:
1933         * platform/graphics/cg/GradientCG.cpp:
1934         (WebCore::Gradient::platformDestroy):
1935         (WebCore::Gradient::paint):
1936
1937 2010-02-18  Pavel Feldman  <pfeldman@chromium.org>
1938
1939         Reviewed by Timothy Hatcher.
1940
1941         Web Inspector: on-hover evaluation renders nodes and arrays as strings.
1942
1943         https://bugs.webkit.org/show_bug.cgi?id=35103
1944
1945         * inspector/front-end/SourceFrame.js:
1946         (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup):
1947
1948 2010-02-18  Brady Eidson  <beidson@apple.com>
1949
1950         Reviewed by Sam Weinig.
1951
1952         Particularly constructed WebFrames can try to access a null HistoryItem
1953         <rdar://problem/7638892> and https://bugs.webkit.org/show_bug.cgi?id=35063
1954
1955         Test: fast/loader/api-test-new-window-data-load-base-url.html
1956
1957         * loader/HistoryController.cpp:
1958         (WebCore::HistoryController::updateBackForwardListForFragmentScroll): We have a known case where a fragment scroll
1959           might take place with a null m_currentItem. updateBackForwardListClippedAtTarget() will either move m_currentItem 
1960           to m_previousItem then create a new m_currentItem...  or it will do nothing. So we either have both an m_currentItem 
1961           and m_previousItem, or we have neither.  In the case where we have no m_previousItem, return early.
1962
1963 2010-02-18  Nate Chapin  <japhet@chromium.org>
1964
1965         Reviewed by Eric Seidel.
1966
1967         [V8] Correctly handle the case where the event field on the
1968         global object is a v8::Object, but not a DOM wrapper.
1969
1970         https://bugs.webkit.org/show_bug.cgi?id=34899
1971
1972         Test: fast/dom/Window/window-event-override-no-crash.html
1973
1974         * bindings/v8/ScriptController.cpp:
1975         (WebCore::ScriptController::processingUserGesture):
1976         * bindings/v8/V8DOMWrapper.cpp:
1977         (WebCore::V8DOMWrapper::isValidDOMObject):
1978         (WebCore::V8DOMWrapper::isWrapperOfType):
1979         * bindings/v8/V8DOMWrapper.h:
1980
1981 2010-02-18  Pavel Feldman  <pfeldman@chromium.org>
1982
1983         Not reviewed, Qt build fix.
1984
1985         * inspector/front-end/WebKit.qrc:
1986
1987 2010-02-18  Pavel Feldman  <pfeldman@chromium.org>
1988
1989         Reviewed by Timothy Hatcher.
1990
1991         Web Inspector: Implement evaluate-on-hover for scripts panel.
1992
1993         https://bugs.webkit.org/show_bug.cgi?id=35003
1994  
1995         * WebCore.gypi:
1996         * WebCore.vcproj/WebCore.vcproj:
1997         * inspector/front-end/Images/gearButtonGlyph.png: Added.
1998         * inspector/front-end/Images/popoverArrows.png: Added.
1999         * inspector/front-end/Images/popoverBackground.png: Added.
2000         * inspector/front-end/Images/thumbActiveHoriz.png: Added.
2001         * inspector/front-end/Images/thumbActiveVert.png: Added.
2002         * inspector/front-end/Images/thumbHoriz.png: Added.
2003         * inspector/front-end/Images/thumbHoverHoriz.png: Added.
2004         * inspector/front-end/Images/thumbHoverVert.png: Added.
2005         * inspector/front-end/Images/thumbVert.png: Added.
2006         * inspector/front-end/Images/trackHoriz.png: Added.
2007         * inspector/front-end/Images/trackVert.png: Added.
2008         * inspector/front-end/Popup.js:
2009         (WebInspector.Popup):
2010         (WebInspector.Popup.prototype.show):
2011         (WebInspector.Popup.prototype.hide):
2012         (WebInspector.Popup.prototype._positionElement):
2013         * inspector/front-end/SourceFrame.js:
2014         (WebInspector.SourceFrame.prototype._createViewerIfNeeded):
2015         (WebInspector.SourceFrame.prototype._scroll):
2016         (WebInspector.SourceFrame.prototype._mouseDown):
2017         (WebInspector.SourceFrame.prototype._mouseUp):
2018         (WebInspector.SourceFrame.prototype._mouseMove):
2019         (WebInspector.SourceFrame.prototype._mouseOut):
2020         (WebInspector.SourceFrame.prototype._resetHoverTimer):
2021         (WebInspector.SourceFrame.prototype._hidePopup):
2022         (WebInspector.SourceFrame.prototype._mouseHover):
2023         (WebInspector.SourceFrame.prototype._showPopup.showTextPopup):
2024         (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup):
2025         (WebInspector.SourceFrame.prototype._showPopup.evaluateCallback):
2026         (WebInspector.SourceFrame.prototype._showPopup):
2027         (WebInspector.HoverPropertiesSection):
2028         (WebInspector.HoverPropertiesSection.prototype.update):
2029         * inspector/front-end/TextEditorHighlighter.js:
2030         (WebInspector.TextEditorHighlighter):
2031         (WebInspector.TextEditorHighlighter.prototype._lex):
2032         * inspector/front-end/TextViewer.js:
2033         (WebInspector.TextViewer.prototype._paintLine):
2034         * inspector/front-end/WebKit.qrc:
2035         * inspector/front-end/inspector.css:
2036         * inspector/front-end/inspector.html:
2037         * inspector/front-end/inspectorSyntaxHighlight.css:
2038         * inspector/front-end/popover.css: Added.
2039
2040 2010-02-18  Ben Murdoch  <benm@google.com>
2041
2042         Reviewed by Jeremy Orlow.
2043
2044         [v8] Complete upstreaming of V8 Touch Event bindings
2045         https://bugs.webkit.org/show_bug.cgi?id=35094
2046
2047         No new tests required.
2048
2049         * bindings/v8/V8Index.cpp: Add generated touch event headers.
2050
2051 2010-02-18  Steve Block  <steveblock@google.com>
2052
2053         Reviewed by Jeremy Orlow.
2054
2055         Updates Android V8 build to use DerivedSourcesAllInOne.cpp
2056         https://bugs.webkit.org/show_bug.cgi?id=35083
2057
2058         No new tests, build fix only.
2059
2060         * Android.derived.v8bindings.mk:
2061         * Android.v8bindings.mk:
2062
2063 2010-02-18  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
2064
2065         Reviewed by Xan Lopez.
2066
2067         fast/frames/iframe-reparenting.html crashing on GTK Debug bots
2068         https://bugs.webkit.org/show_bug.cgi?id=35081
2069
2070         Check that the client is alive after every call to it, since any
2071         of them could cause the load to be cancelled, and the client to go
2072         away.
2073
2074         This is much better than protecting a specific subclass of
2075         ResourceHandleClient (ResourceLoader), which makes us fail when
2076         any other client is used.
2077
2078         Test: fast/frames/iframe-reparenting.html
2079
2080         * platform/network/soup/ResourceHandleSoup.cpp:
2081         (WebCore::parseDataUrl):
2082
2083 2010-02-18  Ben Murdoch  <benm@google.com>
2084
2085         Reviewed by Nate Chapin.
2086
2087         [v8] [Android] V8 bindings for touch events are missing.
2088         https://bugs.webkit.org/show_bug.cgi?id=33795
2089
2090         No new tests as this just enables touch events in V8. Existing touch tests suffice.
2091
2092         * WebCore.gypi: Add Touch idl files.
2093         * bindings/scripts/CodeGeneratorV8.pm: Add TouchList to typeCanFailConversion map.
2094         * bindings/v8/DOMObjectsInclude.h: Add touch headers.
2095         * bindings/v8/DerivedSourcesAllInOne.cpp: Add touch generated bindings.
2096         * bindings/v8/V8Index.h: Add touch DOM object types.
2097         * bindings/v8/custom/V8EventCustom.cpp: Add conversion of event to touch event.
2098         * Android.derived.jscbindings.mk: Add the touch derived sources to the makefile.
2099         * Android.derived.v8bindings.mk: Add the touch derived sources to the makefile.
2100
2101 2010-02-18  William Chan  <willchan@chromium.org>
2102
2103         Reviewed by Adam Barth.
2104
2105         https://bugs.webkit.org/show_bug.cgi?id=35071
2106         Disable loader limiting of requests per host for the chromium port.
2107
2108         No tests because we're only changing a constant.
2109
2110         * platform/network/chromium/ResourceRequest.cpp:
2111         (WebCore::initializeMaximumHTTPConnectionCountPerHost):
2112
2113 2010-02-18  Xan Lopez  <xlopez@igalia.com>
2114
2115         Reviewed by Eric Seidel.
2116
2117         [Linux] Webkit incompatible with Java plugins
2118         https://bugs.webkit.org/show_bug.cgi?id=24912
2119
2120         The NP Version supported by WebKit is at the moment hardcoded in
2121         PluginPackage.cpp (to 24), but not all backends actually implement
2122         the methods needed to claim this. Introduce a new method to be
2123         implemented by each backend where the maximum supported version
2124         can be specified, and set the GTK+ port NPVersion to 19. This
2125         fixes an instantaneous crasher in the Sun Java NPAPI plugin.
2126
2127         * plugins/PluginPackage.cpp:
2128         (WebCore::PluginPackage::initializeBrowserFuncs):
2129         * plugins/PluginPackage.h:
2130         * plugins/gtk/PluginPackageGtk.cpp:
2131         (WebCore::PluginPackage::NPVersion):
2132         * plugins/mac/PluginPackageMac.cpp:
2133         (WebCore::PluginPackage::NPVersion):
2134         * plugins/qt/PluginPackageQt.cpp:
2135         (WebCore::PluginPackage::NPVersion):
2136         * plugins/symbian/PluginPackageSymbian.cpp:
2137         (WebCore::PluginPackage::NPVersion):
2138         * plugins/win/PluginPackageWin.cpp:
2139         (WebCore::PluginPackage::NPVersion):
2140
2141 2010-02-17  Dmitry Titov  <dimich@chromium.org>
2142
2143         Reviewed by David Levin, Darin Fisher, Simon Hausmann.
2144
2145         When a live iframe element is moved between pages, it still depends on the old page.
2146         https://bugs.webkit.org/show_bug.cgi?id=34382
2147
2148         Test: fast/frames/iframe-reparenting-new-page.html
2149
2150         * html/HTMLFrameElementBase.cpp:
2151         (WebCore::HTMLFrameElementBase::setName):
2152         Move the code setting the frame name into a separate function.
2153
2154         (WebCore::HTMLFrameElementBase::setNameAndOpenURL):
2155         (WebCore::HTMLFrameElementBase::updateOnReparenting):
2156         Called on the frame that was just re-parented and inserted into another Document.
2157         Simply invoke Frame::transferChildFrameToNewDocument(...);
2158
2159         (WebCore::HTMLFrameElementBase::insertedIntoDocument):
2160         * html/HTMLFrameElementBase.h:
2161         * html/HTMLFrameOwnerElement.h:
2162         (WebCore::HTMLFrameOwnerElement::setName):
2163         Make this a virtual function, to be able to reach it via Frame::m_ownerElement.
2164
2165         * loader/EmptyClients.h:
2166         (WebCore::EmptyFrameLoaderClient::adoptFrame):
2167         * loader/FrameLoaderClient.h:
2168         Add a new method, didTransferChildFrameToNewDocument().
2169         It compliments createFrame() in that a frame which was re-parented
2170         in DOM and potentially changes Page, should notify the WebKit
2171         implementation about potential ownership change.
2172         Many embedders assume that Page owns all the Frames, or at least
2173         all Frames are destroyed before 'their' Page is destroyed. Obviously, if Frame
2174         can be transferred to another Page, the embedders should be notified.
2175
2176         * page/Frame.cpp:
2177         (WebCore::Frame::transferChildFrameToNewDocument):
2178         Added, makes actual adjustments for Frame - resets the Page,
2179         updates the frame tree and frame name, calls to FrameLoaderClient
2180         to update external objects and recurses into children.
2181         Can only be used on child frames.
2182
2183         * page/Frame.h:
2184
2185 2010-02-17  Tony Chang  <tony@chromium.org>
2186
2187         Reviewed by Eric Seidel.
2188
2189         Copying and pasting into a contenteditable area can create <div>s surrounded by <span>s
2190         https://bugs.webkit.org/show_bug.cgi?id=26937
2191
2192         This happens because of a span added when we copy that is used to
2193         preserve styles.  To avoid this, when we paste, make sure to apply
2194         the styles to the span's children and then remove the style span.
2195
2196         This change is covered by existing layout tests.
2197
2198         * editing/ReplaceSelectionCommand.cpp:
2199         (WebCore::ReplaceSelectionCommand::handleStyleSpans):
2200         (WebCore::ReplaceSelectionCommand::copyStyleToChildren):
2201         * editing/ReplaceSelectionCommand.h:
2202
2203 2010-02-17  Tony Chang  <tony@chromium.org>
2204
2205         Reviewed by Eric Seidel.
2206
2207         https://bugs.webkit.org/show_bug.cgi?id=34914
2208         When pasting absolute font sizes into a content editable area with
2209         page zoom, adjust the font sizes to be the same after page zoom is
2210         applied.
2211
2212         Test: editing/pasteboard/page-zoom.html
2213
2214         * editing/ReplaceSelectionCommand.cpp:
2215         (WebCore::ReplaceSelectionCommand::negateStyleRulesThatAffectAppearance):
2216
2217 2010-02-17  Tony Chang  <tony@chromium.org>
2218
2219         Reviewed by Eric Seidel.
2220
2221         https://bugs.webkit.org/show_bug.cgi?id=34737
2222         Copying styled list items then pasting into a list
2223         should work the same as copying unstyle list items:
2224         it shouldn't indent an extra level, but styles should
2225         be copied.
2226
2227         Small cleanups to insertAsListItems to make variable names
2228         more descriptive.
2229
2230         Test: editing/pasteboard/paste-list-003.html
2231
2232         * editing/ReplaceSelectionCommand.cpp:
2233         (WebCore::ReplaceSelectionCommand::doApply):
2234         (WebCore::ReplaceSelectionCommand::insertAsListItems):
2235
2236 2010-02-17  Kwang Yul Seo  <skyul@company100.net>
2237
2238         Reviewed by Eric Seidel.
2239
2240         [BREWMP] Port PlatformKeyboardEvent
2241         https://bugs.webkit.org/show_bug.cgi?id=34794
2242
2243         Retrieve the type, key code, text and modifiers from BREW's keyboard event.
2244
2245         * platform/PlatformKeyboardEvent.h:
2246         * platform/brew/PlatformKeyboardEventBrew.cpp: Added.
2247         (WebCore::keyIdentifierForBrewKeyCode):
2248         (WebCore::windowsKeyCodeForKeyEvent):
2249         (WebCore::singleCharacterString):
2250         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2251         (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
2252         (WebCore::PlatformKeyboardEvent::currentCapsLockState):
2253
2254 2010-02-17  Hayato Ito  <hayato@chromium.org>
2255
2256         Reviewed by Eric Seidel.
2257
2258         Support CSS page-break-inside with a value of 'avoid'.
2259
2260         https://bugs.webkit.org/show_bug.cgi?id=34080
2261
2262         Test: printing/page-break-inside.html
2263
2264         * rendering/RenderBlock.cpp:
2265         (WebCore::RenderBlock::paintChildren):
2266
2267 2010-02-17  Fumitoshi Ukai  <ukai@chromium.org>
2268
2269         Reviewed by Alexey Proskuryakov.
2270
2271         WebSocket bufferedAmount should not be 0 when send after close.
2272         https://bugs.webkit.org/show_bug.cgi?id=34633
2273
2274         Fixed bug in webkit r54694.  check m_client after it calls user
2275         callback, because user callback may call close(), which would
2276         call onclose event handler.
2277         
2278         Test: websocket/tests/bufferedAmount-after-close.html
2279
2280         * websockets/ThreadableWebSocketChannelClientWrapper.h:
2281         (WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
2282         * websockets/WebSocket.cpp:
2283         (WebCore::WebSocket::WebSocket):
2284         (WebCore::WebSocket::send):
2285         (WebCore::WebSocket::close):
2286         (WebCore::WebSocket::bufferedAmount):
2287         (WebCore::WebSocket::didConnect):
2288         (WebCore::WebSocket::didClose):
2289         * websockets/WebSocket.h:
2290         * websockets/WebSocketChannel.cpp:
2291         (WebCore::WebSocketChannel::WebSocketChannel):
2292         (WebCore::WebSocketChannel::send):
2293         (WebCore::WebSocketChannel::bufferedAmount):
2294         (WebCore::WebSocketChannel::didClose):
2295         (WebCore::WebSocketChannel::didReceiveData):
2296         * websockets/WebSocketChannel.h:
2297         * websockets/WebSocketChannelClient.h:
2298         (WebCore::WebSocketChannelClient::didClose):
2299         * websockets/WorkerThreadableWebSocketChannel.cpp:
2300         (WebCore::workerContextDidClose):
2301         (WebCore::WorkerThreadableWebSocketChannel::Peer::didClose):
2302         * websockets/WorkerThreadableWebSocketChannel.h:
2303
2304 2010-02-17  Yuzo Fujishima  <yuzo@google.com>
2305
2306         Reviewed by Eric Seidel.
2307
2308         In diffing render styles, consider all pseudo style changes.
2309         Without this patch, only :before and :after are considered. This is the cause of the following bug.
2310         https://bugs.webkit.org/show_bug.cgi?id=32187
2311
2312         Test: fast/css/first-letter-first-line-hover.html
2313
2314         * dom/Node.cpp:
2315         (WebCore::Node::diff):
2316         * rendering/style/RenderStyle.cpp:
2317         (WebCore::RenderStyle::hasAnyPublicPseudoStyles):
2318         * rendering/style/RenderStyle.h:
2319         * rendering/style/RenderStyleConstants.h:
2320         (WebCore::):
2321
2322 2010-02-17  Kwang Yul Seo  <skyul@company100.net>
2323
2324         Reviewed by Eric Seidel.
2325
2326         [BREWMP] Add WebCore::prefetchDNS
2327         https://bugs.webkit.org/show_bug.cgi?id=34873
2328
2329         DNS prefetching is not implemented because the maximum number
2330         of UDP sockets is quite small in most BREW devices.
2331
2332         * platform/network/brew/DNSBrew.cpp: Added.
2333         (WebCore::prefetchDNS):
2334
2335 2010-02-17  Kent Tamura  <tkent@chromium.org>
2336
2337         Reviewed by Eric Seidel.
2338
2339         Introduces new Icon loading interface in order to support
2340         asynchronous loading.
2341         https://bugs.webkit.org/show_bug.cgi?id=32054
2342
2343         It's hard for Chromium port to load an icon inside
2344         Icon::createIconForFiles() because of sanbox and multi-process
2345         architecture. So this change adds a method to request an icon to
2346         Chrome class, and makes FileChooser receives an Icon instance
2347         asynchronously.  Synchronous loading also works with the new interface.
2348
2349         Because all ports don't have implementations of Chrome::iconForFiles()
2350         yet, FileChooser tries to load an Icon synchronously with
2351         Icon::createIconForFiles(), then tries to load an Icon asynchronously
2352         with Chrome::iconForFiles() if Icon::createIconForFiles() returns 0.
2353
2354         The existing Icon::createIconForFiles() implementations should be
2355         moved to Chrome::iconForFiles(). We're going to remove
2356         Icon::createIconForFiles().
2357
2358         * loader/EmptyClients.h:
2359         (WebCore::EmptyChromeClient::iconForFiles): Add an empty implementation.
2360         * page/Chrome.cpp:
2361         (WebCore::Chrome::iconForFiles): Delegate to ChromeClient::iconForFiles().
2362         * page/Chrome.h:
2363         * page/ChromeClient.h:
2364         (WebCore::ChromeClient::iconForFiles): Add a declaration as a pure virtual method.
2365         * platform/FileChooser.cpp:
2366         (WebCore::FileChooser::FileChooser): Use loadIcon().
2367         (WebCore::FileChooser::chooseFiles): ditto.
2368         (WebCore::FileChooser::loadIcon): Added.
2369         (WebCore::FileChooser::iconLoaded): Added.
2370         * platform/FileChooser.h: Add two methods to FileChooserClient; repaint() and iconForFiles().
2371         * platform/graphics/Icon.h: Add a FIXME comment.
2372         * platform/graphics/gtk/IconGtk.cpp: ditto.
2373         * platform/graphics/mac/IconMac.mm: ditto.
2374         * platform/graphics/qt/IconQt.cpp: ditto.
2375         * platform/graphics/win/IconWin.cpp: ditto.
2376         * rendering/RenderFileUploadControl.cpp:
2377         (WebCore::RenderFileUploadControl::iconForFiles): Delegate to Chrome::iconForFiles().
2378         (WebCore::RenderFileUploadControl::click): Use chrome().
2379         (WebCore::RenderFileUploadControl::chrome):
2380         * rendering/RenderFileUploadControl.h:
2381         (WebCore::RenderFileUploadControl::repaint):
2382
2383 2010-02-17  Mark Rowe  <mrowe@apple.com>
2384
2385         Reviewed by Darin Adler.
2386
2387         Bug 35065: Delay between page loading and animated GIF playing
2388         <http://webkit.org/b/35065> / <rdar://problem/7109548>
2389
2390         BitmapImage::startAnimation was adding the current frame duration to the desired start time
2391         of the frame for every time it was called.  If the function then bailed out due to not having
2392         sufficient data to render the frame, this would lead to the desired start time of the frame
2393         being pushed out multiple times.  On an animated GIF that took mulitple seconds to load this
2394         could happen many times for a single frame, resulting in the start time of the second frame
2395         of the animation being pushed out by as much as five seconds.
2396
2397         * platform/graphics/BitmapImage.cpp:
2398         (WebCore::BitmapImage::startAnimation): Change the order of the code slightly so that the
2399         desired start time is only updated after determining that we have sufficient data to handle
2400         the next frame.
2401
2402 2010-02-17  Stephan Aßmus  <superstippi@gmx.de>
2403
2404         Reviewed by Eric Seidel.
2405
2406         Implemented homeDirectoryPath() and listDirectory() on the Haiku platform.
2407         https://bugs.webkit.org/show_bug.cgi?id=34687
2408
2409         Covered by existing tests.
2410
2411         * platform/haiku/FileSystemHaiku.cpp:
2412         (WebCore::homeDirectoryPath): Implemented
2413         (WebCore::listDirectory): Implemented
2414
2415 2010-02-17  Kwang Yul Seo  <skyul@company100.net>
2416
2417         Reviewed by Eric Seidel.
2418
2419         [BREWMP] Port userIdleTime
2420         https://bugs.webkit.org/show_bug.cgi?id=34259
2421
2422         Return an arbitrarily high userIdleTime so that releasing pages from the page
2423         cache isn't postponed.
2424
2425         * platform/brew/SystemTimeBrew.cpp: Added.
2426         (WebCore::userIdleTime):
2427
2428 2010-02-17  Dirk Schulze  <krit@webkit.org>
2429
2430         Rolling out r54909. Breaks SL and Win.
2431
2432 2010-02-17  Dumitru Daniliuc  <dumi@chromium.org>
2433
2434         Reviewed by Dimitri Glazkov.
2435
2436         Fix Chromium's bindings for Database.transaction(): a 'null'
2437         callback should be treated as no callback.
2438
2439         Test: storage/null-callbacks.html
2440
2441         https://bugs.webkit.org/show_bug.cgi?id=35047
2442
2443         * bindings/v8/custom/V8DatabaseCustom.cpp:
2444         (WebCore::createTransaction):
2445
2446 2010-02-17  Dirk Schulze  <krit@webkit.org>
2447
2448         Reviewed by Nikolas Zimmermann.
2449
2450         Move SVGResources to Renderers, starting with Masker
2451         https://bugs.webkit.org/show_bug.cgi?id=35020
2452
2453         We have rendering specific code in WebCore/svg/graphics. The goal is to move
2454         this code into suitable Renderers. This helps us to clean up the code and makes
2455         maintenance easier. It also makes it possible to remove rendering specific code
2456         from SVG*Elements into this renderers. So the Renderer contains everything that
2457         is needed to use the resource.
2458         RenderSVGResource will be the base class for all new resource render classes like
2459         RenderSVGResourceMasker, RenderSVGResourceClipper and the other resources.
2460
2461         This patch starts moving SVGResourceMasker to RenderSVGResourceMasker.
2462         Another benefit is the much more useful result in DRT on using masker.
2463
2464         * Android.mk:
2465         * GNUmakefile.am:
2466         * WebCore.gypi:
2467         * WebCore.pro:
2468         * WebCore.vcproj/WebCore.vcproj:
2469         * WebCore.xcodeproj/project.pbxproj:
2470         * rendering/RenderObject.cpp:
2471         (WebCore::RenderObject::toRenderSVGResource): Conversion to RenderSVGResource base class.
2472         * rendering/RenderObject.h:
2473         (WebCore::RenderObject::isSVGResource): Check if renderer is a resource.
2474         * rendering/RenderPath.cpp:
2475         * rendering/RenderSVGImage.cpp:
2476         (WebCore::RenderSVGImage::destroy): Renderer gets destroyed, unregister it from it's resources.
2477         * rendering/RenderSVGImage.h: Some code clean up according to the webkit style.
2478         (WebCore::RenderSVGImage::toSVGRenderBase):
2479         (WebCore::RenderSVGImage::renderName):
2480         (WebCore::RenderSVGImage::isSVGImage):
2481         (WebCore::RenderSVGImage::localToParentTransform):
2482         (WebCore::RenderSVGImage::strokeBoundingBox):
2483         (WebCore::RenderSVGImage::requiresLayer):
2484         (WebCore::RenderSVGImage::localTransform):
2485         * rendering/RenderSVGInlineText.h:
2486         (WebCore::RenderSVGInlineText::objectBoundingBox): Needed for SVGRenderTreeAsText
2487         * rendering/RenderSVGModelObject.cpp:
2488         (WebCore::RenderSVGModelObject::destroy): Renderer gets destroyed, unregister it from it's resources.
2489         * rendering/RenderSVGModelObject.h:
2490         * rendering/RenderSVGResource.h: Added.
2491         (WebCore::): Base class for all Resource renderers like masker, clipper and others.
2492         (WebCore::RenderSVGResource::RenderSVGResource):
2493         (WebCore::RenderSVGResource::cast):
2494         (WebCore::RenderSVGResource::toRenderSVGResource):
2495         (WebCore::RenderSVGResource::isSVGResource): 
2496         (WebCore::RenderSVGResource::drawsContents):
2497         (WebCore::getRenderSVGResourceById):
2498         * rendering/RenderSVGResourceMasker.cpp: Added.
2499         (WebCore::RenderSVGResourceMasker::RenderSVGResourceMasker):
2500         (WebCore::RenderSVGResourceMasker::~RenderSVGResourceMasker):
2501         (WebCore::RenderSVGResourceMasker::invalidateClients): Status of masker changed, remove all clients.
2502         (WebCore::RenderSVGResourceMasker::invalidateClient): Status of an object changed, remove pending client.
2503         (WebCore::RenderSVGResourceMasker::applyResource): Apply masker to object.
2504         (WebCore::RenderSVGResourceMasker::resourceBoundingBox): boundingBox of the resource, depending on the object.
2505         (WebCore::RenderSVGResourceMasker::createMaskImage): Creates the mask image, the context gets clipped with.
2506         * rendering/RenderSVGResourceMasker.h: Added.
2507         (WebCore::MaskerData::MaskerData):
2508         (WebCore::RenderSVGResourceMasker::renderName):
2509         (WebCore::RenderSVGResourceMasker::maskUnits): Unit of mask for DRT.
2510         (WebCore::RenderSVGResourceMasker::maskContentUnits): Unit of childs from mask for DRT.
2511         (WebCore::RenderSVGResourceMasker::resourceType):
2512         * rendering/RenderSVGRoot.cpp:
2513         (WebCore::RenderSVGRoot::destroy): Renderer gets destroyed, unregister it from it's resources.
2514         * rendering/RenderSVGRoot.h:
2515         * rendering/RenderSVGText.cpp:
2516         (WebCore::RenderSVGText::destroy): dito.
2517         * rendering/RenderSVGText.h:
2518         * rendering/RenderTreeAsText.cpp:
2519         (WebCore::write):
2520         * rendering/SVGRenderSupport.cpp:
2521         (WebCore::SVGRenderBase::prepareToRenderSVGContent):
2522         (WebCore::SVGRenderBase::maskerBoundingBoxForRenderer):
2523         (WebCore::SVGRenderBase::deregisterFromResources): Unregister object from all it's resources after status changed.
2524         * rendering/SVGRenderSupport.h:
2525         (WebCore::SVGRenderBase::toSVGRenderBase):
2526         (WebCore::SVGRenderBase::strokeBoundingBox):
2527         (WebCore::SVGRenderBase::markerBoundingBox):
2528         * rendering/SVGRenderTreeAsText.cpp: Update TreeAsText to dump maskers correctly.
2529         (WebCore::operator<<):
2530         (WebCore::writeSVGResource):
2531         (WebCore::writeSVGContainer):
2532         (WebCore::writeSVGText):
2533         (WebCore::writeSVGInlineText):
2534         (WebCore::writeSVGImage):
2535         (WebCore::write):
2536         (WebCore::writeResourcesToObject):
2537         * rendering/SVGRenderTreeAsText.h:
2538         * svg/SVGMaskElement.cpp: Update Masker to use the new renderer.
2539         (WebCore::SVGMaskElement::svgAttributeChanged):
2540         (WebCore::SVGMaskElement::childrenChanged):
2541         (WebCore::SVGMaskElement::maskBoundingBox):
2542         (WebCore::SVGMaskElement::createRenderer):
2543         * svg/SVGMaskElement.h:
2544         * svg/SVGStyledElement.cpp: We need to tell the renderer to unregister object, after the status changed.
2545         (WebCore::SVGStyledElement::invalidateResources):
2546         (WebCore::SVGStyledElement::invalidateResourcesInAncestorChain):
2547         * svg/SVGUnitTypes.h: Conversion of integer to SVGUnitType.
2548         (WebCore::toUnitType):
2549         * svg/graphics/SVGResource.h:
2550         (WebCore::):
2551         (WebCore::SVGResource::isMarker):
2552         * svg/graphics/SVGResourceMasker.cpp: Removed.
2553         * svg/graphics/SVGResourceMasker.h: Removed.
2554
2555 2010-02-17  Kenneth Russell  <kbr@google.com>
2556
2557         Reviewed by Oliver Hunt.
2558
2559         Refactor texImage2D and texSubImage2D taking Image to use common code
2560         https://bugs.webkit.org/show_bug.cgi?id=34458
2561
2562         Merged the Safari and Chromium code which extracts the data from
2563         Image objects into common entry points on GraphicsContext3D. This
2564         immediately fixes the following three problems:
2565           - Chromium not implementing texSubImage2D taking Image.
2566           - Safari not obeying the flipY parameter to texImage2D or
2567             texSubImage2D taking Image.
2568           - Safari not obeying the premultipyAlpha parameter to texImage2D
2569             or texSubImage2D taking Image.
2570         Added new test verifying the behavior of texImage2D and
2571         texSubImage2D and the flipY parameter. The premultiplyAlpha
2572         parameter can not be tested yet as the implementation is not yet
2573         spec compliant. This will be fixed in a follow-on bug.
2574
2575         Ran all WebGL demos in demo repository on Safari and Chromium;
2576         textures are now the right way up in both browsers, and
2577         transparent textures in Particles demo now look correct in Safari.
2578
2579         Test: fast/canvas/webgl/tex-image-and-sub-image-2d-with-image.html
2580
2581         * WebCore.gyp/WebCore.gyp:
2582         * WebCore.gypi:
2583         * WebCore.xcodeproj/project.pbxproj:
2584         * platform/graphics/GraphicsContext3D.cpp: Added.
2585         (WebCore::GraphicsContext3D::extractImageData):
2586         (WebCore::GraphicsContext3D::processImageData):
2587         (WebCore::GraphicsContext3D::premultiplyAlpha):
2588         (WebCore::GraphicsContext3D::unmultiplyAlpha):
2589         * platform/graphics/GraphicsContext3D.h:
2590         (WebCore::GraphicsContext3D::):
2591         * platform/graphics/cg/GraphicsContext3DCG.cpp: Added.
2592         (WebCore::GraphicsContext3D::getImageData):
2593         * platform/graphics/mac/GraphicsContext3DMac.cpp:
2594         (WebCore::GraphicsContext3D::texImage2D):
2595         (WebCore::GraphicsContext3D::texSubImage2D):
2596         * platform/graphics/skia/GraphicsContext3DSkia.cpp: Added.
2597         (WebCore::GraphicsContext3D::getImageData):
2598
2599 2010-02-17  Noam Rosenthal  <noam.rosenthal@nokia.com>
2600
2601         Reviewed by Ariya Hidayat.
2602
2603         [Qt] GraphicsLayer: support perspective and 3D transforms
2604         https://bugs.webkit.org/show_bug.cgi?id=34960
2605
2606         New tests: http://webkit.org/blog-files/3d-transforms/perspective-by-example.html
2607
2608         * platform/graphics/qt/GraphicsLayerQt.cpp:
2609         (WebCore::GraphicsLayerQtImpl::updateTransform):
2610         (WebCore::GraphicsLayerQtImpl::setBaseTransform):
2611         (WebCore::GraphicsLayerQtImpl::computeTransform):
2612         (WebCore::GraphicsLayerQtImpl::flushChanges):
2613         (WebCore::TransformAnimationQt::~TransformAnimationQt):
2614
2615 2010-02-17  Peter Kasting  <pkasting@google.com>
2616
2617         Unreviewed, build fix.
2618
2619         Fix crashes due to an omitted line in r54839.
2620
2621         * platform/image-decoders/png/PNGImageDecoder.cpp:
2622         (WebCore::decodingFailed):
2623
2624 2010-02-17  Alok Priyadarshi  <alokp@chromium.org>
2625
2626         Reviewed by Ariya Hidayat.
2627
2628         Bug 34900: Implement accelerated compositing for chromium.
2629         https://bugs.webkit.org/show_bug.cgi?id=34900
2630
2631         Do not exclude files needed for accelerated compositing. In fact there is no need to exclude these files.
2632         These files are already guarded with WTF_USE_ACCELERATED_COMPOSITING flag.
2633
2634         * WebCore.gyp/WebCore.gyp: Removed GraphicsLayer.cpp, RenderLayerBacking.cpp,
2635         and RenderLayerCompositor.cpp from excluded list.
2636
2637 2010-02-17  Jian Li  <jianli@chromium.org>
2638
2639         Reviewed by Darin Fisher.
2640
2641         [chromium] Remove the obsolete chromium interface for handling DownloadURL.
2642         https://bugs.webkit.org/show_bug.cgi?id=34982
2643
2644         * platform/chromium/ChromiumDataObject.cpp:
2645         (WebCore::ChromiumDataObject::clear):
2646         (WebCore::ChromiumDataObject::hasData):
2647         (WebCore::ChromiumDataObject::ChromiumDataObject):
2648         * platform/chromium/ChromiumDataObject.h:
2649         * platform/chromium/ClipboardChromium.cpp:
2650         (WebCore::ClipboardChromium::setData):
2651
2652 2010-02-17  Dan Bernstein  <mitz@apple.com>
2653
2654         Reviewed by Darin Adler.
2655
2656         <rdar://problem/7645569> REGRESSION (r51324): Incorrect marker rects for blocks that span multiple columns
2657
2658         * manual-tests/match-marker-rects.html: Added.
2659         * rendering/InlineTextBox.cpp:
2660         (WebCore::InlineTextBox::paintTextMatchMarker): Use the text renderer rather
2661         than its ancestor block for the local-to-absolute transformation.
2662         (WebCore::InlineTextBox::computeRectForReplacementMarker): Ditto.
2663
2664 2010-02-17 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
2665
2666         Reviewed by Xan Lopez.
2667
2668         Does not send an Accept header for subresources, causing some sites to break
2669         https://bugs.webkit.org/show_bug.cgi?id=33242
2670
2671         Set */* as the Accept header when downloading resources
2672         that did not set an Accept header. This behaviour is similar to
2673         the one adopted by Chromium.
2674
2675         Test: http/tests/misc/image-checks-for-accept.html
2676
2677         * platform/network/soup/ResourceHandleSoup.cpp:
2678         (WebCore::startHttp):
2679
2680 2010-02-17  Marcus Bulach  <bulach@chromium.org>
2681
2682         Reviewed by Jeremy Orlow.
2683
2684         Fixes initialization order of members for GeolocationServiceChromium.
2685         https://bugs.webkit.org/show_bug.cgi?id=35034
2686
2687         * platform/chromium/GeolocationServiceChromium.cpp:
2688
2689 2010-02-17  Xan Lopez  <xlopez@igalia.com>
2690
2691         Reviewed by Gustavo Noronha.
2692
2693         [Linux] Webkit incompatible with Java plugins
2694         https://bugs.webkit.org/show_bug.cgi?id=24912
2695
2696         Resolve symlinks before trying to load plugins as modules, since
2697         GModule won't do it.
2698
2699         Based on original work by Gustavo Noronha.
2700
2701         * plugins/gtk/PluginPackageGtk.cpp:
2702         (WebCore::PluginPackage::load):
2703
2704 2010-02-17  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
2705
2706         Reviewed by Xan Lopez.
2707
2708         Protect the resource loader object from disappearing during
2709         parseDataUrl.
2710
2711         Tested by testdownload API test.
2712
2713         * platform/network/soup/ResourceHandleSoup.cpp:
2714         (WebCore::parseDataUrl):
2715
2716 2010-02-17  Marcus Bulach  <bulach@chromium.org>
2717
2718         Reviewed by Jeremy Orlow.
2719
2720         Implements GeolocationServices for Chromium.
2721         https://bugs.webkit.org/show_bug.cgi?id=32068
2722
2723         This is part of implementing Geolocation framework for Chromium. Existing layout tests should pass.
2724
2725         * WebCore.gypi:
2726         * page/Geolocation.h:
2727         * platform/GeolocationService.h:
2728
2729 2010-02-17  Steve Block  <steveblock@google.com>
2730
2731         Reviewed by Ariya Hidayat.
2732
2733         Adds missing platform and feature guards to V8 bindings
2734         https://bugs.webkit.org/show_bug.cgi?id=34987
2735
2736         No new tests, build fix only.
2737
2738         * bindings/v8/V8Proxy.cpp: Modified. Adds CHROMIUM guards and uses PlatformBridge in place of ChromiumBridge
2739         * bindings/v8/V8Proxy.h: Modified. Adds CHROMIUM guards and uses PlatformBridge in place of ChromiumBridge
2740         * bindings/v8/custom/V8DocumentCustom.cpp: Modified. Adds XPATH guards
2741
2742 2010-02-17  Steve Block  <steveblock@google.com>
2743
2744         Reviewed by Ariya Hidayat.
2745
2746         Include WebCore's npruntime.h for Android in V8 bindings
2747         https://bugs.webkit.org/show_bug.cgi?id=35002
2748
2749         Currently, the V8 bindings include bindings/npruntime.h, which is a
2750         Chromium-specific file outside of the WebKit tree.
2751
2752         No new tests, build fix only.
2753
2754         * bindings/v8/NPV8Object.cpp:
2755         * bindings/v8/NPV8Object.h:
2756         * bindings/v8/V8NPObject.h:
2757         * bindings/v8/V8NPUtils.h:
2758         * bindings/v8/npruntime_impl.h:
2759         * bindings/v8/npruntime_priv.h:
2760
2761 2010-01-07  Philippe Normand  <pnormand@igalia.com>
2762
2763         Reviewed by Gustavo Noronha Silva.
2764
2765         [GStreamer] Should handle BUFFERING messages
2766         https://bugs.webkit.org/show_bug.cgi?id=30004
2767
2768         Initial support for on-disk buffering of videos. This works only
2769         for Quicktime and flv though.
2770
2771         * css/mediaControlsGtk.css:
2772         * platform/gtk/RenderThemeGtk.cpp:
2773         (WebCore::RenderThemeGtk::paintMediaSliderTrack): Draw the
2774         buffering status in the media controls.
2775         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
2776         (WebCore::mediaPlayerPrivateMessageCallback): Defer buffering
2777         messages handling to processBufferingStats().
2778         (WebCore::bufferingTimeoutCallback): Closure called periodically
2779         during the on-disk buffering process.
2780         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): New instance
2781         variables and create playbin2 here instead of doing it in load().
2782         (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate): New instance
2783         variables.
2784         (WebCore::MediaPlayerPrivate::load): Simply set uri on playbin2
2785         instead of creating the pipeline and setting uri all together.
2786         (WebCore::MediaPlayerPrivate::processBufferingStats): Start a new
2787         timeout source if the player is starting on-disk buffering.
2788         (WebCore::MediaPlayerPrivate::queryBufferingStats): Method called
2789         200ms during on-disk buffering to update the maxTimeLoaded and few
2790         other private variables.
2791         (WebCore::MediaPlayerPrivate::maxTimeSeekable):
2792         (WebCore::MediaPlayerPrivate::maxTimeLoaded):
2793         (WebCore::MediaPlayerPrivate::bytesLoaded): Fixed implementations
2794         regarding buffering.
2795         (WebCore::MediaPlayerPrivate::totalBytes): Improved logging.
2796         (WebCore::MediaPlayerPrivate::updateStates): Start playback if it
2797         was internally paused at beginning of on-disk buffering and set
2798         ready/network states depending on the state of the on-disk
2799         buffering process.
2800         (WebCore::MediaPlayerPrivate::didEnd): Emit durationChanged.
2801         (WebCore::MediaPlayerPrivate::setAutobuffer): Edit playbin2 flags
2802         property depending on autoBuffer value.
2803         (WebCore::MediaPlayerPrivate::createGSTPlayBin): Don't set uri
2804         there, it is now done in load().
2805         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: New methods
2806         and instance variables.
2807
2808 2010-02-16  Chris Evans  <cevans@chromium.org>
2809
2810         Reviewed by Adam Barth.
2811
2812         Add a new setting which gives the option of assigning every file:///
2813         to its own unique domain.
2814
2815         https://bugs.webkit.org/show_bug.cgi?id=34778
2816
2817         Test: Pending in forthcoming separate change due to non-trivial
2818         dependencies.
2819
2820         * dom/Document.cpp:
2821         (WebCore::Document::initSecurityContext): Place file:/// URI documents
2822         into their own unique domains if the new setting requires it.
2823         * page/Settings.h:
2824         * page/Settings.cpp:
2825         (WebCore::Settings::setAllowFileAccessFromFileURLs): Simple setter.
2826         * page/SecurityOrigin.h:
2827         * page/SecurityOrigin.cpp:
2828         (WebCore::SecurityOrigin::makeUnique): Add simple ability to force an
2829         origin to be considered unique.
2830
2831 2010-02-16  Pavel Feldman  <pfeldman@chromium.org>
2832
2833         Reviewed by Timothy Hatcher.
2834
2835         Web Inspector: drosera/demo.js not syntax highlighted correctly.
2836
2837         https://bugs.webkit.org/show_bug.cgi?id=35008
2838
2839         * inspector/front-end/SourceTokenizer.js:
2840         (WebInspector.SourceTokenizer.Registry):
2841         (WebInspector.SourceTokenizer.Registry.prototype.getTokenizer):
2842
2843 2010-02-16  Pavel Feldman  <pfeldman@chromium.org>
2844
2845         Reviewed by Timothy Hatcher.
2846
2847         Web Inspector: prefer smooth scrolling to instant highlight.
2848
2849         https://bugs.webkit.org/show_bug.cgi?id=34978
2850
2851         * inspector/front-end/TextViewer.js:
2852         (WebInspector.TextViewer):
2853         (WebInspector.TextViewer.prototype._scroll):
2854         (WebInspector.TextChunk):
2855         (WebInspector.TextChunk.prototype._createRow):
2856         * inspector/front-end/textViewer.css:
2857
2858 2010-02-16  Yael Aharon  <yael.aharon@nokia.com>
2859
2860         Reviewed by Nikolas Zimmermann.
2861
2862         SVG not rendered as background-image from data URI
2863         https://bugs.webkit.org/show_bug.cgi?id=33630
2864
2865         When the background image is an SVG image, and it is smaller than the area
2866         it is supposed to fill, we were using renderSubTreeToImage to draw it.
2867         That call was not going through all the drawing phases, and so the SVG itself
2868         would not be drawn.
2869
2870         Test: svg/css/background-image-svg.html
2871
2872         * svg/graphics/SVGImage.cpp:
2873         (WebCore::SVGImage::nativeImageForCurrentFrame):
2874
2875 2010-02-16  Bryan Yeung  <bryeung@chromium.org>
2876
2877         Reviewed by Nikolas Zimmermann.
2878
2879         Remove the bounds on stroke width and miter for the skia platform.
2880         https://bugs.webkit.org/show_bug.cgi?id=34954
2881
2882         Test: svg/custom/stroke-width-large.svg
2883
2884         * platform/graphics/skia/PlatformContextSkia.cpp:
2885         (PlatformContextSkia::setupPaintForStroking):
2886
2887 2010-02-16  MORITA Hajime  <morrita@gmail.com>
2888
2889         Reviewed by Nikolas Zimmermann.
2890
2891         REGRESSION: SVG text disappaears after double click
2892         https://bugs.webkit.org/show_bug.cgi?id=34880
2893
2894         Tests: svg/text/selection-doubleclick.svg
2895                svg/text/selection-tripleclick.svg
2896
2897         * rendering/SVGRootInlineBox.cpp:
2898         (WebCore::SVGRootInlineBoxPaintWalker::mayHaveSelection):
2899         Use InlineTextBox::selectionStartEnd() instead of
2900         RenderObject::selectionStartEnd() because latter may span multiple
2901         comparing startPos and endPos is irrelevant in some cases.
2902         former selectionStartEnd() is for single line and comparing
2903         startPos and endPos will make sense.
2904
2905 2010-02-16  Jessie Berlin  <jberlin@webkit.org>
2906
2907         Reviewed by Timothy Hatcher.
2908
2909         Inspector should display Array lengths in the property lists.
2910         https://bugs.webkit.org/show_bug.cgi?id=20695
2911
2912         * inspector/front-end/InjectedScript.js:
2913         (injectedScriptConstructor):
2914         For objects of type 'array' (which includes Arrays, NodeLists, and HTMLCollections), make the length of the object available via propertyLength on the proxy object.
2915         * inspector/front-end/ObjectPropertiesSection.js:
2916         (WebInspector.ObjectPropertyTreeElement.prototype.update):
2917         For properties that have propertyLength defined, append it to the displayed description.
2918
2919 2010-02-16  Yusuke Sato  <yusukes@chromium.org>
2920
2921         Reviewed by Dimitri Glazkov.
2922
2923         [Chromium] OpenType font with CFF glyphs is not handled correctly on Windows XP
2924         https://bugs.webkit.org/show_bug.cgi?id=34735
2925
2926         Use 0xFFFF as invalidGlyph when fontData is a OpenType font with CFF glyphs.
2927         
2928         Test: fast/css/font-face-opentype.html
2929
2930         * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
2931         (WebCore::fillBMPGlyphs):
2932
2933 2010-02-16  Darin Adler  <darin@apple.com>
2934
2935         * page/MediaCanStartListener.h: Fixed license.
2936
2937 2010-02-16  Darin Adler  <darin@apple.com>
2938
2939         Reviewed by Sam Weinig.
2940
2941         Generalize delayed plug-in start for background tabs for use for other media
2942         https://bugs.webkit.org/show_bug.cgi?id=34981
2943
2944         Also did some simple cleanup of HTMLMediaElement to get ready to make it
2945         a client of the same mechanism.
2946
2947         * WebCore.base.exp: Added Page::setCanStartMedia and resorted.
2948         * WebCore.xcodeproj/project.pbxproj: Added MediaCanStartListener.h.
2949
2950         * html/HTMLAudioElement.h: Added an implementation of isVideo since that
2951         is now a pure virtual function in HTMLMediaElement. Also made tagPriority
2952         private.
2953
2954         * html/HTMLMediaElement.h: Made it clearer that HTMLMediaElement is an
2955         abstract base class by making its constructor protected and making the
2956         isVideo function a pure virtual function.
2957
2958         * page/Page.cpp:
2959         (WebCore::Page::Page): Updated for name change from m_canStartPlugins
2960         to m_canStartMedia.
2961         (WebCore::Page::addMediaCanStartListener): Renamed and added an assertion.
2962         (WebCore::Page::removeUnstartedMedia): Ditto.
2963         (WebCore::Page::setCanStartMedia): Renamed plugin to media and moved
2964         the code here from PageWin.cpp. The main change from the one in PageWin.cpp
2965         is that this function calls mediaCanStart rather than explicitly calling a
2966         combination of start and dispatchDidFailToStartPlugin on a PluginView.
2967
2968         * page/Page.h: Re-sorted forward class declarations. Renamed the plugin
2969         starting functions to media starting names and changed types from
2970         PluginView to MediaCanStartListener.
2971
2972         * page/MediaCanStartListener.h: Added.
2973
2974         * page/win/PageWin.cpp: Moved setCanStartPlugins to the platform-independent
2975         Page.cpp file so it can be used for more than just Windows plug-ins.
2976
2977         * plugins/PluginView.cpp: Sorted includes.
2978         (WebCore::PluginView::startOrAddToUnstartedList): Use addMediaCanStartListener.
2979         (WebCore::PluginView::mediaCanStart): Added. Called when the page decides that
2980         media can start. Contains the code that used to be in Page::setCanStartPlugins.
2981         (WebCore::PluginView::removeFromUnstartedListIfNecessary): Use
2982         removeMediaCanStartListener.
2983
2984         * plugins/PluginView.h: Adopted MediaCanStartListener.
2985
2986 2010-02-16  Simon Fraser  <simon.fraser@apple.com>
2987
2988         Reviewed by Dan Bernstein.
2989
2990         https://bugs.webkit.org/show_bug.cgi?id=34999
2991         Compositing layers inside overflow:scroll divs are not always updated on scrolling
2992         
2993         When RenderLayer::scrollToOffset() updates compositing layer positions, it needs
2994         to start updating at its stacking context rather than just its compositing ancestor.
2995         The stacking context is guaranteed to contain all descendants of the overflow
2996         layer, including those that are not direct descendants of the overflow layer in stacking
2997         (and therefore compositing) order.
2998
2999         Test: compositing/overflow/scroll-ancestor-update.html
3000
3001         * rendering/RenderLayer.cpp:
3002         (WebCore::RenderLayer::scrollToOffset):
3003
3004 2010-02-16  Dan Bernstein  <mitz@apple.com>
3005
3006         Reviewed by Simon Fraser.
3007
3008         Allow FloatRect::center() to return fractional coordinates. It was
3009         mistakenly converting to integers.
3010
3011         * platform/graphics/FloatRect.h:
3012         (WebCore::FloatRect::center):
3013
3014 2010-02-16  Gavin Barraclough  <barraclough@apple.com>
3015
3016         Reviewed by Oliver Hunt.
3017
3018         https://bugs.webkit.org/show_bug.cgi?id=34964
3019         Leaks tool reports false memory leaks due to Rope implementation.
3020
3021         Renamed cUStringImpl::size() to UStringImpl::size()UStringImpl::length()
3022         (matches WebCore::StringImpl).
3023
3024         * bridge/jni/jsc/JavaStringJSC.h:
3025         (JSC::Bindings::JavaStringImpl::length):
3026         * platform/text/AtomicString.cpp:
3027         (WebCore::AtomicString::add):
3028         (WebCore::AtomicString::find):
3029
3030 2010-02-15  Jon Honeycutt  <jhoneycutt@apple.com>
3031
3032         <rdar://problem/7288853> Message about missing plugin does not specify
3033         the type or download link for download
3034
3035         Reviewed by Mark Rowe.
3036
3037         * plugins/PluginDatabase.cpp:
3038         (WebCore::PluginDatabase::findPlugin):
3039         Only update the mimeType out param if we find a plug-in for the file
3040         extension.
3041
3042 2010-02-16  Simon Fraser  <simon.fraser@apple.com>
3043
3044         Build fix for Tiger.
3045
3046         Add #if USE(ACCELERATED_COMPOSITING) around the call to mediaPlayerRenderingModeChanged().
3047         
3048         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3049         (WebCore::MediaPlayerPrivate::setUpVideoRendering):
3050
3051 2010-02-16  Csaba Osztrogonác  <ossy@webkit.org>
3052
3053         Reviewed by Eric Carlson.
3054
3055         Buildfix for r54826.
3056
3057         HTMLMediaElement class defined by HTMLMediaElement.h in #if ENABLE(VIDEO) block,
3058         it should be in #if ENABLE(VIDEO) block in rendering/RenderLayerBacking.cpp too.
3059
3060         * rendering/RenderLayerBacking.cpp: Missing #if ENABLE(VIDEO) guard added.
3061         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
3062
3063 2010-02-16  Julie Parent  <jparent@chromium.org>
3064
3065         Unreviewed: Chromium build fix.
3066
3067         http://trac.webkit.org/changeset/54823 introduced an unused variable.  Remove it.
3068
3069         * platform/image-decoders/ImageDecoder.cpp:
3070         (WebCore::ImageDecoder::create):
3071
3072 2010-02-16  Mark Rowe  <mrowe@apple.com>
3073
3074         Reviewed by Alexey Proskuryakov.
3075
3076         Bug 34974: Leak of ScheduledAction during layout tests
3077         <https://bugs.webkit.org/show_bug.cgi?id=34974>
3078
3079         ScheduledAction::create was returning a raw pointer which was threaded down through to an OwnPtr in DOMTimer.
3080         If any of the code paths in between hit an error case and returned early the raw pointer would be leaked.  We
3081         can avoid this by passing it as a PassOwnPtr.  This will ensure that the ScheduledAction is cleaned up should
3082         an error case be hit.
3083
3084         * bindings/js/JSDOMWindowCustom.cpp:
3085         (WebCore::JSDOMWindow::setTimeout): Store the newly-created ScheduledAction in an OwnPtr and then hand it off
3086         as the function argument.
3087         (WebCore::JSDOMWindow::setInterval): Ditto.
3088         * bindings/js/JSWorkerContextCustom.cpp:
3089         (WebCore::JSWorkerContext::setTimeout): Ditto.
3090         (WebCore::JSWorkerContext::setInterval): Ditto.
3091         * bindings/js/ScheduledAction.cpp:
3092         (WebCore::ScheduledAction::create): Return a PassOwnPtr.
3093         * bindings/js/ScheduledAction.h:
3094         * page/DOMTimer.cpp:
3095         (WebCore::DOMTimer::DOMTimer): Update argument type.
3096         (WebCore::DOMTimer::install): Ditto.
3097         * page/DOMTimer.h:
3098         * page/DOMWindow.cpp:
3099         (WebCore::DOMWindow::setTimeout): Ditto.
3100         (WebCore::DOMWindow::setInterval): Ditto.
3101         * page/DOMWindow.h:
3102
3103 2010-02-16  Nikolas Zimmermann  <nzimmermann@rim.com>
3104
3105         Reviewed by David Hyatt.
3106
3107         SVG units don't stay consistently sized on zoom
3108         https://bugs.webkit.org/show_bug.cgi?id=14004
3109
3110         Large step towards making WebKit an usable SVG viewer.
3111
3112         Make zooming into SVG documents work as expected, in both standalone and XHTML/SVG compound documents.
3113         SVG applies a global scale to the document, whereas CSS zooms all individual length units (on full-page-zoom).
3114         Scaling has to be avoided for all SVG specific CSS properties (already works) and for some selected CSS
3115         properties shared between CSS & SVG that explicitely need a different treatment in the context of SVG.
3116         To name a few: font-size, letter-spacing, etc. should stay invariant under zoom in SVG document fragments.
3117
3118         Some new rules regarding zooming:
3119         - "Zoom text only" should never affect SVG documents, neither text nor content should zoom.
3120           This option doesn't make much sense for SVG, so it's wise to avoid side-effects and disable it.
3121           In compound documents the SVG would stay as-is and only text of surrounding XHTML content would zoom.
3122
3123         - "Full page zoom" is the only zoom mode affecting SVG. (Panning only works in standalone documents.)
3124
3125         Cover all mentioned cases above by a new set of layout tests.
3126
3127         Tests: svg/zoom/page/absolute-sized-document-no-scrollbars.svg
3128                svg/zoom/page/absolute-sized-document-scrollbars.svg
3129                svg/zoom/page/relative-sized-document-scrollbars.svg
3130                svg/zoom/page/zoom-coords-viewattr-01-b.svg
3131                svg/zoom/page/zoom-foreignObject.svg
3132                svg/zoom/page/zoom-hixie-mixed-008.xml
3133                svg/zoom/page/zoom-hixie-mixed-009.xml
3134                svg/zoom/page/zoom-hixie-rendering-model-004.xhtml
3135                svg/zoom/page/zoom-svg-float-border-padding.xml
3136                svg/zoom/text/absolute-sized-document-no-scrollbars.svg
3137                svg/zoom/text/absolute-sized-document-scrollbars.svg
3138                svg/zoom/text/relative-sized-document-scrollbars.svg
3139                svg/zoom/text/zoom-coords-viewattr-01-b.svg
3140                svg/zoom/text/zoom-foreignObject.svg
3141                svg/zoom/text/zoom-hixie-mixed-008.xml
3142                svg/zoom/text/zoom-hixie-mixed-009.xml
3143                svg/zoom/text/zoom-hixie-rendering-model-004.xhtml
3144                svg/zoom/text/zoom-svg-float-border-padding.xml
3145
3146         * css/CSSStyleSelector.cpp: Blacklist certain properties not to be zoomed for SVG elements.
3147         (WebCore::CSSStyleSelector::styleForDocument): Don't zoom font-sizes.
3148         (WebCore::CSSStyleSelector::applyProperty): Ditto (+ letter/word-spacing).
3149         (WebCore::CSSStyleSelector::setFontSize): Ditto.
3150         (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize): Never apply text zoom to SVG.
3151         * css/CSSStyleSelector.h:
3152         * css/SVGCSSStyleSelector.cpp: -webkit-shadow + SVG was incorrectly respecting zoom factor.
3153         (WebCore::CSSStyleSelector::applySVGProperty):
3154         * page/Frame.cpp:
3155         (WebCore::Frame::shouldApplyTextZoom): Remove SVG special cases.
3156         (WebCore::Frame::shouldApplyPageZoom): Ditto.
3157         (WebCore::Frame::setZoomFactor): Don't force setZoomsTextOnly() - SVG now uses FPZ as well.
3158         * rendering/RenderSVGRoot.cpp:
3159         (WebCore::RenderSVGRoot::calcReplacedWidth): CSSPropertyWidth is explicitely not scaled by CSSStyleSelector, fix that for outermost <svg> elements.
3160         (WebCore::RenderSVGRoot::calcReplacedHeight): Ditto for CSSPropertyHeight.
3161         (WebCore::RenderSVGRoot::layout): Simplify & cleanup code, take advantage of new calcWidth/Height functionality, no need to scale anything here.
3162         (WebCore::RenderSVGRoot::paint): Use parentOriginToBorderBox() instead of duplicating code.
3163         (WebCore::RenderSVGRoot::calcViewport): Simplify code.
3164         (WebCore::RenderSVGRoot::localToBorderBoxTransform): Calculate viewBoxToViewTransformation() against unscaled width()/height() values.
3165         * rendering/RenderSVGRoot.h:
3166         * svg/SVGLength.cpp:
3167         (WebCore::SVGLength::PercentageOfViewport): Cleanup & document function.
3168         * svg/SVGSVGElement.cpp:
3169         (WebCore::SVGSVGElement::currentScale): Return pageZoomFactor(), not just the zoomFactor() - as we want to ignore text-only zoom.
3170         (WebCore::SVGSVGElement::setCurrentScale): Pass isTextOnly=false to setZoomFactor().
3171
3172 2010-02-16  Julie Parent  <jparent@chromium.org>
3173
3174         Unreviewed: Chromium build fix.
3175
3176         https://bugs.webkit.org/show_bug.cgi?id=34998
3177
3178         Move include of JavaScriptProfile.h behind if (USE_JSC).
3179
3180         * inspector/InspectorController.cpp:
3181
3182 2010-02-16  Alexey Proskuryakov  <ap@apple.com>
3183
3184         Reviewed by Geoffrey Garen and Kevin Decker.
3185
3186         https://bugs.webkit.org/show_bug.cgi?id=34989
3187         <rdar://problem/7417965> Cursor disappears on scroll bars that are over plugin content
3188
3189         * html/HTMLPlugInElement.cpp: (WebCore::HTMLPlugInElement::defaultEventHandler): Added some
3190         comments about the way we pass events down to plug-ins.
3191
3192 2010-02-16  Simon Fraser  <simon.fraser@apple.com>
3193
3194         Reviewed by Eric Carlson.
3195
3196         With hardware acceleration turned off, video frames never display if poster
3197         image is specified
3198         https://bugs.webkit.org/show_bug.cgi?id=34965
3199         
3200         HTMLVideoElement's m_shouldDisplayPosterImage was never updated after
3201         the movie supplied its first video frame, so the poster would continue to show.
3202         
3203         Fixed by calling updatePosterImage() from mediaPlayerRepaint(), which is called
3204         each time a new frame is available. updatePosterImage() is cheap.
3205         
3206         Also made updatePosterImage() virtual on HTMLMediaElement to avoid a number of
3207         ugly casts.
3208
3209         Test: manual-tests/media-elements/video-replaces-poster.html
3210
3211         * html/HTMLMediaElement.cpp:
3212         (WebCore::HTMLMediaElement::noneSupported): Call updatePosterImage() without video check.
3213         (WebCore::HTMLMediaElement::setNetworkState): Ditto.
3214         (WebCore::HTMLMediaElement::setReadyState): Ditto.
3215         (WebCore::HTMLMediaElement::mediaPlayerRepaint): Call udpatePosterImage().
3216         * html/HTMLMediaElement.h:
3217         (WebCore::HTMLMediaElement::updatePosterImage): Make this an empty virtual
3218         method on the base class.
3219         * html/HTMLVideoElement.h: Override updatePosterImage().
3220
3221 2010-02-16  Simon Fraser  <simon.fraser@apple.com>
3222
3223         Build fix for platforms without ACCELERATED_COMPOSITING defined.
3224
3225         mediaPlayerRenderingModeChanged() is only available when ACCELERATED_COMPOSITING is defined.
3226         
3227         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
3228         (WebCore::MediaPlayerPrivate::setUpVideoRendering):
3229
3230 2010-02-16  Simon Fraser  <simon.fraser@apple.com>
3231
3232         Reviewed by Eric Carlson.
3233
3234         Autoplaying video with poster doesn't reliably show up
3235         https://bugs.webkit.org/show_bug.cgi?id=34966
3236         
3237         A timing issue with compositing updates when replacing the poster image
3238         with the video could cause the video to not display.
3239         
3240         Fix by making video layer hook up more similar to WebGL etc, by having the
3241         video kick off a recalcStyle() via a SyntheticStyleChange. This requires
3242         vending a PlaformLayer* from the media player, up through the element.
3243
3244         Test: media/video-replaces-poster.html
3245
3246         * html/HTMLMediaElement.cpp:
3247         (WebCore::HTMLMediaElement::mediaPlayerRenderingModeChanged): Use setNeedsStyleRecalc()
3248         to kick off a compositing update.
3249
3250         * html/HTMLMediaElement.h:
3251         (WebCore::HTMLMediaElement::platformLayer): Export the media engine's layer.
3252
3253         * platform/graphics/MediaPlayer.cpp:
3254         (WebCore::NullMediaPlayerPrivate::platformLayer): Method to vend the media layer.
3255         (WebCore::MediaPlayer::platformLayer):
3256
3257         * platform/graphics/MediaPlayer.h:
3258         (WebCore::MediaPlayerClient::mediaPlayerRenderingModeChanged): New client callback
3259         to indicate that the rendering mode changed. The element uses this to kick off a
3260         recalcStyle.
3261
3262         * platform/graphics/MediaPlayerPrivate.h:
3263         (WebCore::MediaPlayerPrivateInterface::platformLayer): Method to vend the media layer.
3264         * platform/graphics/mac/MediaPlayerPrivateQTKit.h: Ditto
3265         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3266         (WebCore::MediaPlayerPrivate::createQTMovieLayer): No longer parent the layer directly
3267         via setContentsToMedia().
3268         (WebCore::MediaPlayerPrivate::acceleratedRenderingStateChanged): Ditto.
3269         (WebCore::MediaPlayerPrivate::setUpVideoRendering): Tell the client that the
3270         rendering mode changed.
3271         (WebCore::MediaPlayerPrivate::platformLayer): Method to vend the media layer.
3272         * rendering/RenderLayerBacking.cpp:
3273         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): Call setContentsToMedia()
3274         here.
3275
3276         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h: Add platformLayer().
3277         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
3278         (WebCore::MediaPlayerPrivate::platformLayer): Method to vend the media layer.
3279         (WebCore::MediaPlayerPrivate::setUpVideoRendering): Call mediaPlayerRenderingModeChanged()
3280         (WebCore::MediaPlayerPrivate::createLayerForMovie): Don't parent the layer ourselves any more.
3281
3282         * rendering/RenderVideo.h: videoGraphicsLayer() is no longer needed.
3283         * rendering/RenderVideo.cpp: Ditto.
3284
3285 2010-02-12  Peter Kasting  <pkasting@google.com>
3286
3287         Reviewed by Adam Barth.
3288
3289         Code cleanup in ImageDecoders; no functional change.
3290         https://bugs.webkit.org/show_bug.cgi?id=28751
3291
3292         * Make code mostly comply with the style guide (switch indenting, use of
3293           "!" vs. "== 0", don't unnecessarily wrap lines, etc.)
3294         * Eliminate m_allDataReceived in ICO/BMP decoders since it's in the
3295           base ImageDecoder class
3296         * Remove some useless or wrong comments, add others
3297         * Wrap comments at 80 columns (most already were) for
3298           consistency/readability
3299         * Avoid casts by using correct variable types
3300         * Consistent naming of decode() function/args
3301         * Shorter code in some places
3302         * Make declaration and definition order match
3303
3304         * platform/graphics/qt/ImageDecoderQt.cpp:
3305         (WebCore::ImageDecoderQt::frameCount):
3306         (WebCore::ImageDecoderQt::frameBufferAtIndex):
3307         (WebCore::ImageDecoderQt::forceLoadEverything):
3308         * platform/image-decoders/ImageDecoder.cpp:
3309         (WebCore::ImageDecoder::create):
3310         (WebCore::RGBA32Buffer::clear):
3311         (WebCore::RGBA32Buffer::setSize):
3312         * platform/image-decoders/ImageDecoder.h:
3313         (WebCore::RGBA32Buffer::):
3314         (WebCore::ImageDecoder::ImageDecoder):
3315         * platform/image-decoders/bmp/BMPImageDecoder.cpp:
3316         (WebCore::BMPImageDecoder::BMPImageDecoder):
3317         (WebCore::BMPImageDecoder::setData):
3318         (WebCore::BMPImageDecoder::isSizeAvailable):
3319         (WebCore::BMPImageDecoder::frameBufferAtIndex):
3320         (WebCore::BMPImageDecoder::decode):
3321         (WebCore::BMPImageDecoder::decodeHelper):
3322         (WebCore::BMPImageDecoder::processFileHeader):
3323         * platform/image-decoders/bmp/BMPImageDecoder.h:
3324         (WebCore::BMPImageDecoder::readUint32):
3325         * platform/image-decoders/bmp/BMPImageReader.cpp:
3326         (WebCore::BMPImageReader::BMPImageReader):
3327         (WebCore::BMPImageReader::decodeBMP):
3328         (WebCore::BMPImageReader::readInfoHeaderSize):
3329         (WebCore::BMPImageReader::processInfoHeader):
3330         (WebCore::BMPImageReader::readInfoHeader):
3331         (WebCore::BMPImageReader::isInfoHeaderValid):
3332         (WebCore::BMPImageReader::processBitmasks):
3333         (WebCore::BMPImageReader::processColorTable):
3334         (WebCore::BMPImageReader::processRLEData):
3335         (WebCore::BMPImageReader::processNonRLEData):
3336         * platform/image-decoders/bmp/BMPImageReader.h:
3337         (WebCore::BMPImageReader::readUint32):
3338         (WebCore::BMPImageReader::pastEndOfImage):
3339         (WebCore::BMPImageReader::readCurrentPixel):
3340         (WebCore::BMPImageReader::getComponent):
3341         (WebCore::BMPImageReader::getAlpha):
3342         (WebCore::BMPImageReader::setI):
3343         (WebCore::BMPImageReader::setRGBA):
3344         * platform/image-decoders/gif/GIFImageDecoder.cpp:
3345         (WebCore::GIFImageDecoder::GIFImageDecoder):
3346         (WebCore::GIFImageDecoder::setData):
3347         (WebCore::GIFImageDecoder::isSizeAvailable):
3348         (WebCore::GIFImageDecoder::frameCount):
3349         (WebCore::GIFImageDecoder::frameBufferAtIndex):
3350         (WebCore::GIFImageDecoder::clearFrameBufferCache):
3351         (WebCore::GIFImageDecoder::sizeNowAvailable):
3352         (WebCore::GIFImageDecoder::haveDecodedRow):
3353         (WebCore::GIFImageDecoder::frameComplete):
3354         (WebCore::GIFImageDecoder::decode):
3355         (WebCore::GIFImageDecoder::initFrameBuffer):
3356         * platform/image-decoders/gif/GIFImageDecoder.h:
3357         (WebCore::GIFImageDecoder::):
3358         (WebCore::GIFImageDecoder::filenameExtension):
3359         * platform/image-decoders/gif/GIFImageReader.cpp:
3360         (GIFImageReader::do_lzw):
3361         (GIFImageReader::read):
3362         * platform/image-decoders/gif/GIFImageReader.h:
3363         (GIFImageReader::~GIFImageReader):
3364         * platform/image-decoders/ico/ICOImageDecoder.cpp:
3365         (WebCore::ICOImageDecoder::ICOImageDecoder):
3366         (WebCore::ICOImageDecoder::~ICOImageDecoder):
3367         (WebCore::ICOImageDecoder::setData):
3368         (WebCore::ICOImageDecoder::isSizeAvailable):
3369         (WebCore::ICOImageDecoder::frameSizeAtIndex):
3370         (WebCore::ICOImageDecoder::frameCount):
3371         (WebCore::ICOImageDecoder::frameBufferAtIndex):
3372         (WebCore::ICOImageDecoder::compareEntries):
3373         (WebCore::ICOImageDecoder::setDataForPNGDecoderAtIndex):
3374         (WebCore::ICOImageDecoder::decode):
3375         (WebCore::ICOImageDecoder::decodeDirectory):
3376         (WebCore::ICOImageDecoder::decodeAtIndex):
3377         (WebCore::ICOImageDecoder::processDirectoryEntries):
3378         (WebCore::ICOImageDecoder::readDirectoryEntry):
3379         * platform/image-decoders/ico/ICOImageDecoder.h:
3380         (WebCore::ICOImageDecoder::readUint16):
3381         (WebCore::ICOImageDecoder::readUint32):
3382         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
3383         (WebCore::):
3384         (WebCore::JPEGImageReader::JPEGImageReader):
3385         (WebCore::JPEGImageReader::skipBytes):
3386         (WebCore::JPEGImageReader::decode):
3387         (WebCore::error_exit):
3388         (WebCore::fill_input_buffer):
3389         (WebCore::term_source):
3390         (WebCore::JPEGImageDecoder::setData):
3391         (WebCore::JPEGImageDecoder::setSize):
3392         (WebCore::JPEGImageDecoder::frameBufferAtIndex):
3393         (WebCore::JPEGImageDecoder::jpegComplete):
3394         (WebCore::JPEGImageDecoder::decode):
3395         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
3396         (WebCore::JPEGImageDecoder::filenameExtension):
3397         * platform/image-decoders/png/PNGImageDecoder.cpp:
3398         (WebCore::decodingFailed):
3399         (WebCore::decodingWarning):
3400         (WebCore::headerAvailable):
3401         (WebCore::rowAvailable):
3402         (WebCore::pngComplete):
3403         (WebCore::PNGImageReader::PNGImageReader):
3404         (WebCore::PNGImageReader::close):
3405         (WebCore::PNGImageReader::decode):
3406         (WebCore::PNGImageReader::createInterlaceBuffer):
3407         (WebCore::PNGImageDecoder::setData):
3408         (WebCore::PNGImageDecoder::frameBufferAtIndex):
3409         (WebCore::PNGImageDecoder::headerAvailable):
3410         (WebCore::PNGImageDecoder::rowAvailable):
3411         (WebCore::PNGImageDecoder::pngComplete):
3412         (WebCore::PNGImageDecoder::decode):
3413         * platform/image-decoders/png/PNGImageDecoder.h:
3414         (WebCore::PNGImageDecoder::filenameExtension):
3415         * platform/image-decoders/qt/RGBA32BufferQt.cpp:
3416         (WebCore::RGBA32Buffer::setDecodedImage):
3417
3418 2010-02-16  Csaba Osztrogonác  <ossy@webkit.org>
3419
3420         [Qt] Unreviewed buildfix.
3421
3422         * WebCore.pro: Missing backslash added.
3423
3424 2010-02-16  Mikhail Naganov  <mnaganov@chromium.org>
3425
3426         Reviewed by Pavel Feldman.
3427
3428         Move JSC-specific wrappers for Profile and ProfileNode to bindings/js.
3429
3430         https://bugs.webkit.org/show_bug.cgi?id=34848
3431
3432         * GNUmakefile.am:
3433         * WebCore.gypi:
3434         * WebCore.pro:
3435         * WebCore.vcproj/WebCore.vcproj:
3436         * WebCore.xcodeproj/project.pbxproj:
3437         * bindings/js/JavaScriptProfile.cpp: Added.
3438         (WebCore::profileCache):
3439         (WebCore::getTitleCallback):
3440         (WebCore::getHeadCallback):
3441         (WebCore::getUniqueIdCallback):
3442         (WebCore::focus):
3443         (WebCore::exclude):
3444         (WebCore::restoreAll):
3445         (WebCore::finalize):
3446         (WebCore::ProfileClass):
3447         (WebCore::toJS):
3448         * bindings/js/JavaScriptProfile.h: Added.
3449         * bindings/js/JavaScriptProfileNode.cpp: Added.
3450         (WebCore::profileNodeCache):
3451         (WebCore::getFunctionName):
3452         (WebCore::getURL):
3453         (WebCore::getLineNumber):
3454         (WebCore::getTotalTime):
3455         (WebCore::getSelfTime):
3456         (WebCore::getNumberOfCalls):
3457         (WebCore::getChildren):
3458         (WebCore::getVisible):
3459         (WebCore::getCallUID):
3460         (WebCore::finalize):
3461         (WebCore::ProfileNodeClass):
3462         (WebCore::toJS):
3463         * bindings/js/JavaScriptProfileNode.h: Added.
3464         * inspector/JavaScriptProfile.cpp: Removed.
3465         * inspector/JavaScriptProfile.h: Removed.
3466         * inspector/JavaScriptProfileNode.cpp: Removed.
3467         * inspector/JavaScriptProfileNode.h: Removed.
3468
3469 2010-02-16  Alexander Pavlov  <apavlov@chromium.org>
3470
3471         Reviewed by Pavel Feldman.
3472
3473         Web Inspector: Elements Panel: Limit the number of initially loaded element children
3474         https://bugs.webkit.org/show_bug.cgi?id=34421
3475
3476         Test: inspector/elements-panel-limited-children.html
3477
3478         * English.lproj/localizedStrings.js:
3479         * inspector/front-end/DOMAgent.js:
3480         (WebInspector.DOMNode.prototype._insertChild):
3481         * inspector/front-end/ElementsPanel.js:
3482         (WebInspector.ElementsPanel.prototype.updateModifiedNodes):
3483         * inspector/front-end/ElementsTreeOutline.js:
3484         (WebInspector.ElementsTreeOutline.prototype.createTreeElementFor):
3485         (WebInspector.ElementsTreeOutline.prototype.revealAndSelectNode):
3486         (WebInspector.ElementsTreeElement):
3487         (WebInspector.ElementsTreeElement.prototype.get expandedChildrenLimit):
3488         (WebInspector.ElementsTreeElement.prototype.set expandedChildrenLimit):
3489         (WebInspector.ElementsTreeElement.prototype.get expandedChildCount):
3490         (WebInspector.ElementsTreeElement.prototype.showChild):
3491         (WebInspector.ElementsTreeElement.prototype.insertChildElement):
3492         (WebInspector.ElementsTreeElement.prototype.moveChild):
3493         (WebInspector.ElementsTreeElement.prototype._updateChildren.updateChildrenOfNode):
3494         (WebInspector.ElementsTreeElement.prototype._updateChildren):
3495         (WebInspector.ElementsTreeElement.prototype.adjustCollapsedRange):
3496         (WebInspector.ElementsTreeElement.prototype.handleLoadAllChildren):
3497         ():
3498         * inspector/front-end/inspector.css:
3499
3500 2010-02-16  Ismail Donmez  <ismail@namtrac.org>
3501
3502         Reviewed by Pavel Feldman.
3503
3504         Fix compilation with inspector disabled.
3505         https://bugs.webkit.org/show_bug.cgi?id=32724
3506
3507         * rendering/RenderLayerBacking.cpp:
3508         (WebCore::inspectorTimelineAgent):
3509
3510 2010-02-16  Pavel Feldman  <pfeldman@chromium.org>
3511
3512         Reviewed by Timothy Hatcher.
3513
3514         Web Inspector: turn off line wrapping in source view.
3515
3516         https://bugs.webkit.org/show_bug.cgi?id=34935
3517
3518         * inspector/front-end/TextViewer.js:
3519         (WebInspector.TextViewer.prototype.markAndRevealRange):
3520         (WebInspector.TextViewer.prototype._paintLine):
3521         * inspector/front-end/textViewer.css:
3522         * inspector/front-end/utilities.js:
3523
3524 2010-02-16  Pavel Feldman  <pfeldman@chromium.org>
3525
3526         Reviewed by Timothy Hatcher.
3527
3528         Web Inspector: let search iterate over views in Resources
3529         and keep the view in Scripts.
3530
3531         https://bugs.webkit.org/show_bug.cgi?id=34968
3532
3533         * inspector/front-end/Panel.js:
3534         (WebInspector.Panel.prototype.jumpToNextSearchResult):
3535         (WebInspector.Panel.prototype.jumpToPreviousSearchResult):
3536         (WebInspector.Panel.prototype.showSourceLineForURL):
3537         (WebInspector.Panel.prototype.searchIteratesOverViews):
3538         * inspector/front-end/ResourcesPanel.js:
3539         (WebInspector.ResourcesPanel.prototype.get _resources):
3540         (WebInspector.ResourcesPanel.prototype.searchIteratesOverViews):
3541         * inspector/front-end/SourceView.js:
3542         (WebInspector.SourceView.prototype.showingLastSearchResult):
3543         * inspector/front-end/inspector.js:
3544         (WebInspector.documentKeyDown):
3545         (WebInspector.focusSearchField):
3546
3547 2010-02-16  Noam Rosenthal  <noam.rosenthal@nokia.com>
3548
3549         Reviewed by Ariya Hidayat.
3550
3551         [Qt] canvas clipping is buggy
3552         https://bugs.webkit.org/show_bug.cgi?id=32405
3553
3554         Apparently the bug was in GraphicsContext::roundToDevicePixels, we
3555         didn't take unto accounts rotation, so the device pixels were rounded
3556         incorrectly. The new formula is a 1:1 copy from GraphicsContextCG so
3557         it should be rather safe
3558
3559         Test: http://glimr.rubyforge.org/cake/canvas.html#Polaroids now looks right
3560
3561         * platform/graphics/qt/GraphicsContextQt.cpp:
3562         (WebCore::GraphicsContext::roundToDevicePixels): Copy the formula from
3563         GraphicsContextCG
3564
3565 2010-02-16  Yury Semikhatsky  <yurys@chromium.org>
3566
3567         Not Reviewed, build fix.
3568
3569         * platform/graphics/FloatRect.h:
3570         (WebCore::FloatRect::center): make conversion from float to int explicit so that compiler
3571         doesn't complain about that.
3572
3573 2010-02-15  Dan Bernstein  <mitz@apple.com>
3574
3575         Reviewed by Simon Fraser.
3576
3577         <rdar://problem/7645609> [webView selectionRect] API is broken for multicolumn layout