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