8e4c74446672da08d9b2acc82d9dc6ccf391e2c9
[WebKit.git] / Source / WebCore / ChangeLog
1 2011-01-24  Ryosuke Niwa  <rniwa@webkit.org>
2
3         Reviewed by Eric Seidel.
4
5         Stop instantiating legacy editing positions in InsertTextCommand, MoveSelectionCommand,
6         ReplaceSelectionCommand, SelectionController, SpellChecker, TypingCommand, and markup.cpp
7         https://bugs.webkit.org/show_bug.cgi?id=52676
8
9         Stop instantiating legacy editing positions in the following files.
10
11         * editing/InsertTextCommand.cpp:
12         (WebCore::InsertTextCommand::prepareForTextInsertion):
13         (WebCore::InsertTextCommand::performTrivialReplace):
14         (WebCore::InsertTextCommand::input):
15         (WebCore::InsertTextCommand::insertTab):
16         * editing/MoveSelectionCommand.cpp:
17         (WebCore::MoveSelectionCommand::doApply):
18         * editing/ReplaceSelectionCommand.cpp:
19         (WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds):
20         (WebCore::ReplaceSelectionCommand::mergeEndIfNeeded):
21         (WebCore::ReplaceSelectionCommand::doApply):
22         (WebCore::ReplaceSelectionCommand::shouldRemoveEndBR):
23         (WebCore::ReplaceSelectionCommand::performTrivialReplace):
24         * editing/SelectionController.cpp:
25         (WebCore::SelectionController::setSelectionFromNone):
26         * editing/SpellChecker.cpp:
27         (WebCore::SpellChecker::didCheck):
28         * editing/TypingCommand.cpp:
29         (WebCore::TypingCommand::makeEditableRootEmpty):
30         (WebCore::TypingCommand::deleteKeyPressed):
31         (WebCore::TypingCommand::forwardDeleteKeyPressed):
32         * editing/markup.cpp:
33         (WebCore::StyledMarkupAccumulator::appendText):
34         (WebCore::StyledMarkupAccumulator::serializeNodes):
35         (WebCore::highestAncestorToWrapMarkup):
36         (WebCore::createMarkup):
37
38 2011-01-24  Peter Kasting  <pkasting@google.com>
39
40         Reviewed by Darin Adler.
41
42         Roll back r67261 ("Don't fire onclick on middle clicks") due to
43         regressions.
44         https://bugs.webkit.org/show_bug.cgi?id=46733
45
46         * html/HTMLAnchorElement.cpp:
47         (WebCore::isLinkClick):
48         * html/HTMLInputElement.cpp:
49         (WebCore::HTMLInputElement::preDispatchEventHandler):
50         (WebCore::HTMLInputElement::postDispatchEventHandler):
51         (WebCore::HTMLInputElement::defaultEventHandler):
52         * page/EventHandler.cpp:
53         (WebCore::EventHandler::handleMouseDoubleClickEvent):
54         (WebCore::EventHandler::handleMouseReleaseEvent):
55
56 2011-01-24  Martin Robinson  <mrobinson@igalia.com>
57
58         Reviewed by Eric Seidel.
59
60         [GTK] Many DOM XHTML tests time out
61         https://bugs.webkit.org/show_bug.cgi?id=52553
62
63         Properly handle the situation where a synchronous load fails before the inner
64         event loop has started. In this case, we simply do not run the inner event loop,
65         or else it will block indefinitely (since no GIO or libsoup callbacks will fire).
66
67         * platform/network/soup/ResourceHandleSoup.cpp:
68         (WebCore::ResourceHandle::loadResourceSynchronously): Bail out of a synchronous
69         load if it fails up front.
70
71 2011-01-24  Zhenyao Mo  <zmo@google.com>
72
73         Reviewed by Darin Adler.
74
75         Remove sizeInBytes from GraphicsContext3D's various implementations
76         https://bugs.webkit.org/show_bug.cgi?id=52339
77
78         * html/canvas/WebGLRenderingContext.cpp:
79         (WebCore::WebGLRenderingContext::sizeInBytes):
80         * platform/graphics/GraphicsContext3D.h:
81         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
82         * platform/graphics/qt/GraphicsContext3DQt.cpp:
83
84 2011-01-24  Adam Roben  <aroben@apple.com>
85
86         Windows Production build fix
87
88         * WebCore.vcproj/WebCore.make: Update for move of WebCore into Source.
89
90 2011-01-24  Anton Muhin  <antonm@chromium.org>
91
92         Reviewed by Nate Chapin.
93
94         [v8] Refactoring: extract IntrusiveDOMWrapperMap into a seprate class and files.
95         https://bugs.webkit.org/show_bug.cgi?id=52911
96
97         Plain refactoring, covered by the existing tests.
98
99         * WebCore.gypi: IntrusiveDOMWrapperMap.h added.
100         * bindings/v8/DOMDataStore.cpp: IntrusiveDOMWrapperMap is moved out of DOMDataStore class.
101         * bindings/v8/DOMDataStore.h: IntrusiveDOMWrapperMap is moved out of DOMDataStore class.
102         * bindings/v8/IntrusiveDOMWrapperMap.h: Added.
103         (WebCore::ChunkedTable::ChunkedTable):
104         (WebCore::ChunkedTable::add):
105         (WebCore::ChunkedTable::remove):
106         (WebCore::ChunkedTable::clear):
107         (WebCore::ChunkedTable::visit):
108         (WebCore::ChunkedTable::Chunk::Chunk):
109         (WebCore::ChunkedTable::clearEntries):
110         (WebCore::ChunkedTable::visitEntries):
111         (WebCore::IntrusiveDOMWrapperMap::IntrusiveDOMWrapperMap):
112         (WebCore::IntrusiveDOMWrapperMap::get):
113         (WebCore::IntrusiveDOMWrapperMap::set):
114         (WebCore::IntrusiveDOMWrapperMap::contains):
115         (WebCore::IntrusiveDOMWrapperMap::visit):
116         (WebCore::IntrusiveDOMWrapperMap::removeIfPresent):
117         (WebCore::IntrusiveDOMWrapperMap::clear):
118         (WebCore::IntrusiveDOMWrapperMap::ChunkedTableTraits::move):
119         (WebCore::IntrusiveDOMWrapperMap::ChunkedTableTraits::clear):
120         (WebCore::IntrusiveDOMWrapperMap::ChunkedTableTraits::visit):
121         * bindings/v8/StaticDOMDataStore.h: include added.
122
123 2011-01-24  Shane Stephens  <shanestephens@google.com>
124
125         Reviewed by Chris Marrin.
126
127         TransformationMatrix multiply operations apply operands in wrong order.
128         https://bugs.webkit.org/show_bug.cgi?id=52780
129
130         Rename TranformationMatrix::multLeft into multiply (the method does a multRight,
131         not a multLeft).
132
133         Remove TransformationMatrix::multiply, which was actually doing a multLeft.
134
135         Fix TransformationMatrix::operator* and operator*= such that the operand is
136         applied to the right-hand side of the matrix that the method is called on.
137         i.e., previously "a * b" used to compute "b * a", and "a *= b" used to store
138         "b * a" in "a".  This has now been fixed so "a * b" computes "a * b" and
139         "a *= b" stores "a * b" in "a".
140
141         Convert all call sites for these methods to provide operands in the correct order.
142
143         No new tests as patch adds no new functionality.
144
145         * css/WebKitCSSMatrix.cpp:
146         (WebCore::WebKitCSSMatrix::multiply):
147         * platform/graphics/transforms/Matrix3DTransformOperation.h:
148         (WebCore::Matrix3DTransformOperation::apply):
149         * platform/graphics/transforms/MatrixTransformOperation.h:
150         (WebCore::MatrixTransformOperation::apply):
151         * platform/graphics/transforms/TransformationMatrix.cpp:
152         (WebCore::TransformationMatrix::scaleNonUniform):
153         (WebCore::TransformationMatrix::scale3d):
154         (WebCore::TransformationMatrix::rotate3d):
155         (WebCore::TransformationMatrix::skew):
156         (WebCore::TransformationMatrix::applyPerspective):
157         (WebCore::TransformationMatrix::multiply):
158         (WebCore::TransformationMatrix::recompose):
159         * platform/graphics/transforms/TransformationMatrix.h:
160         (WebCore::TransformationMatrix::operator*=):
161         (WebCore::TransformationMatrix::operator*):
162         * rendering/RenderLayer.cpp:
163         (WebCore::transparencyClipBox):
164         * rendering/RenderObject.cpp:
165         (WebCore::RenderObject::getTransformFromContainer):
166         * rendering/TransformState.cpp:
167         (WebCore::TransformState::applyTransform):
168         (WebCore::HitTestingTransformState::applyTransform):
169
170 2011-01-24  Andrei Popescu  <andreip@google.com>
171
172         Reviewed by Nate Chapin.
173
174         IndexedDatabase methods should not take arguments of type OptionsObject
175         https://bugs.webkit.org/show_bug.cgi?id=53012
176
177         This patch reverts all IDB methods, except IDBDatabase::createObjectStore and
178         IDBObjectStore::createIndex, to using a plain list of arguments instead of
179         grouping the various parameters inside a single OptionsObject argument.
180         This decision was made on public-webapps@w3.org mailing list.
181
182         We also add support (v8 only for now) for passing DOMStringList objects as arguments to native
183         methods. The code for obtaining a DOMStringList object from a JS array of strings existed already
184         in OptionsObject.cpp, I just copied it to V8Bindings.cpp and taught the v8 code generator how to
185         use it.
186
187         * bindings/scripts/CodeGeneratorV8.pm:
188         * bindings/v8/V8Binding.cpp:
189         (WebCore::v8ValueToWebCoreDOMStringList):
190         * bindings/v8/V8Binding.h:
191         * storage/IDBDatabase.cpp:
192         (WebCore::IDBDatabase::transaction):
193         * storage/IDBDatabase.h:
194         (WebCore::IDBDatabase::transaction):
195         * storage/IDBDatabase.idl:
196         * storage/IDBIndex.cpp:
197         (WebCore::IDBIndex::openCursor):
198         (WebCore::IDBIndex::openKeyCursor):
199         * storage/IDBIndex.h:
200         (WebCore::IDBIndex::openCursor):
201         (WebCore::IDBIndex::openKeyCursor):
202         * storage/IDBIndex.idl:
203         * storage/IDBObjectStore.cpp:
204         (WebCore::IDBObjectStore::openCursor):
205         * storage/IDBObjectStore.h:
206         (WebCore::IDBObjectStore::openCursor):
207         * storage/IDBObjectStore.idl:
208
209 2011-01-24  Pavel Feldman  <pfeldman@chromium.org>
210
211         Reviewed by Yury Semikhatsky.
212
213         Web Inspector: extract dispatch API from network manager.
214         https://bugs.webkit.org/show_bug.cgi?id=53009
215
216         * WebCore.xcodeproj/project.pbxproj:
217         * inspector/front-end/NetworkManager.js:
218         (WebInspector.NetworkManager):
219         (WebInspector.NetworkManager.prototype.reset):
220         (WebInspector.NetworkManager.prototype.requestContent):
221         (WebInspector.NetworkManager.prototype._processCachedResources):
222         (WebInspector.NetworkDispatcher):
223         (WebInspector.NetworkDispatcher.prototype._updateResourceWithRequest):
224         (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
225         (WebInspector.NetworkDispatcher.prototype._updateResourceWithCachedResource):
226         (WebInspector.NetworkDispatcher.prototype.identifierForInitialRequest):
227         (WebInspector.NetworkDispatcher.prototype.willSendRequest):
228         (WebInspector.NetworkDispatcher.prototype.didReceiveResponse):
229         (WebInspector.NetworkDispatcher.prototype.didLoadResourceFromMemoryCache):
230         (WebInspector.NetworkDispatcher.prototype.didCommitLoadForFrame):
231         (WebInspector.NetworkDispatcher.prototype.didCreateWebSocket):
232         (WebInspector.NetworkDispatcher.prototype._appendRedirect):
233         (WebInspector.NetworkDispatcher.prototype._startResource):
234         (WebInspector.NetworkDispatcher.prototype._updateResource):
235         (WebInspector.NetworkDispatcher.prototype._finishResource):
236         (WebInspector.NetworkDispatcher.prototype._addFramesRecursively):
237         (WebInspector.NetworkDispatcher.prototype._dispatchEventToListeners):
238         (WebInspector.NetworkDispatcher.prototype._createResource):
239         * inspector/front-end/Resource.js:
240         (WebInspector.Resource.prototype._innerRequestContent):
241         * inspector/front-end/ResourceTreeModel.js:
242         (WebInspector.ResourceTreeModel):
243         (WebInspector.ResourceTreeModel.prototype.reset):
244         (WebInspector.ResourceTreeModel.prototype.unbindResourceURL):
245
246 2011-01-24  Yury Semikhatsky  <yurys@chromium.org>
247
248         Reviewed by Pavel Feldman.
249
250         Web Inspector: [JSC] remove ScriptDebugServer::pageCreated
251         https://bugs.webkit.org/show_bug.cgi?id=53007
252
253         It's impossible to create "provisional" inspector for pages which are
254         not yet created so there is no need to listen for page creation in ScriptDebugServer.
255
256         * bindings/js/ScriptDebugServer.cpp:
257         * bindings/js/ScriptDebugServer.h:
258         * page/Page.cpp:
259         (WebCore::Page::Page):
260
261 2011-01-24  Pavel Podivilov  <podivilov@chromium.org>
262
263         Reviewed by Pavel Feldman.
264
265         Web Inspector: [REGRESSION] AppCache view on resources panel is broken.
266         https://bugs.webkit.org/show_bug.cgi?id=53002
267
268
269         * inspector/front-end/ApplicationCacheItemsView.js:
270         (WebInspector.ApplicationCacheItemsView.prototype._update):
271         * inspector/front-end/DOMAgent.js:
272         (WebInspector.ApplicationCacheDispatcher.getApplicationCachesAsync):
273
274 2011-01-24  Andreas Kling  <kling@webkit.org>
275
276         Reviewed by Kenneth Rohde Christiansen.
277
278         [Qt] Fix warnings about unregistering an invalid timer
279         https://bugs.webkit.org/show_bug.cgi?id=53006
280
281         The ShadowBuffer's purge timer ID was initialized with 0 which lead
282         to us calling QObject::killTimer(0), causing some qWarnings.
283
284         * platform/graphics/qt/ContextShadowQt.cpp:
285         (WebCore::ShadowBuffer::ShadowBuffer):
286         (WebCore::ShadowBuffer::schedulePurge):
287
288 2011-01-21  Mikhail Naganov  <mnaganov@chromium.org>
289
290         Reviewed by Pavel Feldman.
291
292         Web Inspector: [Chromium] Fix heap snapshot table sorting.
293
294         Fix table sorting to avoid qsort instability artefacts.
295
296         https://bugs.webkit.org/show_bug.cgi?id=52914
297
298         * inspector/front-end/HeapSnapshotView.js:
299         (WebInspector.HeapSnapshotView.prototype._sortData):
300         (WebInspector.HeapSnapshotDataGridList.propertyComparator.comparator):
301         (WebInspector.HeapSnapshotDataGridList.propertyComparator):
302
303 2011-01-24  Mikhail Naganov  <mnaganov@chromium.org>
304
305         Reviewed by Yury Semikhatsky.
306
307         Web Inspector: Find duplicate strings in localizedStrings.js, update it.
308
309         https://bugs.webkit.org/show_bug.cgi?id=53005
310
311         * English.lproj/localizedStrings.js:
312
313 2011-01-24  Pavel Podivilov  <podivilov@chromium.org>
314
315         Unreviewed, build fix  for r76509.
316
317         * inspector/InspectorDebuggerAgent.cpp:
318         (WebCore::InspectorDebuggerAgent::setBreakpoint):
319
320 2011-01-24  Pavel Podivilov  <podivilov@chromium.org>
321
322         Unreviewed, build fix  for r76509.
323
324         * bindings/js/ScriptDebugServer.h:
325
326 2011-01-24  Pavel Podivilov  <podivilov@chromium.org>
327
328         Reviewed by Yury Semikhatsky.
329
330         Web Inspector: set breakpoints by line:column.
331         https://bugs.webkit.org/show_bug.cgi?id=52615
332
333         * CMakeLists.txt:
334         * GNUmakefile.am:
335         * WebCore.gypi:
336         * WebCore.pro:
337         * WebCore.vcproj/WebCore.vcproj:
338         * WebCore.xcodeproj/project.pbxproj:
339         * bindings/js/ScriptDebugServer.cpp:
340         (WebCore::ScriptDebugServer::setBreakpoint):
341         (WebCore::ScriptDebugServer::removeBreakpoint):
342         (WebCore::ScriptDebugServer::hasBreakpoint):
343         (WebCore::ScriptDebugServer::clearBreakpoints):
344         * bindings/js/ScriptDebugServer.h:
345         * bindings/v8/DebuggerScript.js:
346         ():
347         * bindings/v8/ScriptDebugServer.cpp:
348         (WebCore::ScriptDebugServer::setBreakpoint):
349         * bindings/v8/ScriptDebugServer.h:
350         * inspector/Inspector.idl:
351         * inspector/InspectorBrowserDebuggerAgent.cpp:
352         (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint):
353         * inspector/InspectorDebuggerAgent.cpp:
354         (WebCore::InspectorDebuggerAgent::setStickyBreakpoint):
355         (WebCore::InspectorDebuggerAgent::setBreakpoint):
356         (WebCore::InspectorDebuggerAgent::restoreBreakpoint):
357         (WebCore::InspectorDebuggerAgent::didParseSource):
358         * inspector/InspectorDebuggerAgent.h:
359         * inspector/ScriptBreakpoint.cpp: Removed.
360         * inspector/ScriptBreakpoint.h:
361         (WebCore::ScriptBreakpoint::ScriptBreakpoint):
362         * inspector/front-end/Breakpoint.js:
363         (WebInspector.Breakpoint):
364         (WebInspector.Breakpoint.prototype.get url):
365         * inspector/front-end/BreakpointManager.js:
366         (WebInspector.JavaScriptBreakpoint.prototype._serializeToJSON):
367         * inspector/front-end/DebuggerModel.js:
368         (WebInspector.DebuggerModel.prototype.continueToLine):
369         (WebInspector.DebuggerModel.prototype.setBreakpoint):
370         (WebInspector.DebuggerModel.prototype._breakpointSetOnBackend):
371         (WebInspector.DebuggerDispatcher.prototype.breakpointResolved):
372
373 2011-01-24  Peter Beverloo  <peter@chromium.org>
374
375         Reviewed by Pavel Feldman.
376
377         Web Inspector: recognize application/x-font-woff as a valid mime-type.
378         https://bugs.webkit.org/show_bug.cgi?id=52977
379
380         No new tests.
381
382         * inspector/front-end/inspector.js:
383
384 2011-01-24  Pavel Podivilov  <podivilov@chromium.org>
385
386         Unreviewed, fix for r76497.
387
388         * inspector/front-end/ResourcesPanel.js:
389         (WebInspector.ResourcesPanel.prototype.show):
390
391 2011-01-24  Andreas Kling  <kling@webkit.org>
392
393         Reviewed by Tor Arne Vestbø.
394
395         [Qt] Use rad2deg() from WTF instead of rolling our own.
396         https://bugs.webkit.org/show_bug.cgi?id=52993
397
398         * platform/graphics/qt/GraphicsContextQt.cpp:
399         (WebCore::GraphicsContext::rotate):
400         * platform/graphics/qt/PathQt.cpp:
401         (WebCore::Path::addArc):
402
403 2011-01-24  Sergio Villar Senin  <svillar@igalia.com>
404
405         Reviewed by Martin Robinson.
406
407         [Gtk] ResourceHandleSoup: do not wait for streams to close to issue didFinishLoading
408         https://bugs.webkit.org/show_bug.cgi?id=52885
409
410         No new tests as it does not change functionality. We will not wait for
411         the the input stream to close to issue didFinishLoading to
412         WebCore. We expect a subtle performance improvement with this
413         patch when loading complex web pages, as we wouldn't have to wait
414         for the stream to close (which involves creating a thread among
415         other things).
416
417         * platform/network/soup/ResourceHandleSoup.cpp:
418         (WebCore::closeCallback):
419         (WebCore::readCallback):
420
421 2011-01-21  Pavel Podivilov  <podivilov@chromium.org>
422
423         Reviewed by Pavel Feldman.
424
425         Web Inspector: eliminate SourceView and ScriptView classes.
426         https://bugs.webkit.org/show_bug.cgi?id=52896
427
428         SourceView and ScriptView delegate everything to SourceFrame and should be eliminated.
429
430         * WebCore.gypi:
431         * WebCore.vcproj/WebCore.vcproj:
432         * inspector/front-end/GoToLineDialog.js:
433         (WebInspector.GoToLineDialog.prototype._highlightSelectedLine):
434         * inspector/front-end/ResourceView.js:
435         (WebInspector.ResourceView.createResourceView):
436         (WebInspector.ResourceView.resourceViewTypeMatchesResource):
437         (WebInspector.SourceFrameContentProviderForResource):  Moved from SourceView.
438         * inspector/front-end/ResourcesPanel.js:
439         (WebInspector.ResourcesPanel.prototype.show):
440         (WebInspector.ResourcesPanel.prototype._applyDiffMarkup):
441         (WebInspector.FrameResourceTreeElement.prototype._errorsWarningsUpdated):
442         * inspector/front-end/ScriptView.js: Removed.
443         * inspector/front-end/ScriptsPanel.js:
444         (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
445         (WebInspector.ScriptsPanel.prototype._sourceFrameForScriptOrResource):
446         (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
447         (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions):
448         (WebInspector.ScriptsPanel.prototype._formatScript):
449         (WebInspector.SourceFrameContentProviderForScript): Moved from ScriptView.
450         * inspector/front-end/SourceFrame.js:
451         (WebInspector.SourceFrame):
452         (WebInspector.SourceFrame.prototype.show):
453         (WebInspector.SourceFrame.prototype.hide):
454         (WebInspector.SourceFrame.prototype.hasContent):
455         (WebInspector.SourceFrame.prototype._createTextViewer):
456         (WebInspector.SourceFrame.prototype.performSearch.doFindSearchMatches):
457         (WebInspector.SourceFrame.prototype.performSearch):
458         * inspector/front-end/SourceView.js: Removed.
459         * inspector/front-end/WebKit.qrc:
460         * inspector/front-end/inspector.html:
461
462 2011-01-24  Andras Becsi  <abecsi@webkit.org>
463
464         Reviewed by Csaba Osztrogonác.
465
466         [Qt] Move project files into Source
467         https://bugs.webkit.org/show_bug.cgi?id=52891
468
469         No new tests needed.
470
471         * WebCore.pri:
472         * WebCore.pro:
473
474 2011-01-24  Kent Tamura  <tkent@chromium.org>
475
476         Unreviewed, trivial fix.
477
478         Fix a Chromium-only assertion failure by r76491.
479         https://bugs.webkit.org/show_bug.cgi?id=38982
480
481         Separate icon loading from the FileChooser constructor in order to avoid
482         ref() before adoptRef().
483
484         * platform/FileChooser.cpp:
485         (WebCore::FileChooser::FileChooser):
486         (WebCore::FileChooser::initialize):
487         (WebCore::FileChooser::create):
488         * platform/FileChooser.h:
489
490 2011-01-24  MORITA Hajime  <morrita@google.com>
491
492         Reviewed by Kent Tamura.
493
494         TextControlInnerElement::m_shadowParent should be removed.
495         https://bugs.webkit.org/show_bug.cgi?id=52998
496
497         No new tests. No behavioral change.
498
499         * rendering/TextControlInnerElements.cpp:
500         (WebCore::TextControlInnerElement::TextControlInnerElement):
501         * rendering/TextControlInnerElements.h:
502
503 2011-01-24  Yury Semikhatsky  <yurys@chromium.org>
504
505         Reviewed by Pavel Feldman.
506
507         REGRESSION (r72895): console.trace crashes
508         https://bugs.webkit.org/show_bug.cgi?id=52981
509
510         - Use local RefPtr variable for accessing PassRefPtr arguments to make sure the PassRefPtr has
511         non-null value.
512         - Use PassRefPtr for objects whos ownership is passed to the inspector.
513
514         * GNUmakefile.am:
515         * WebCore.gypi:
516         * WebCore.pro:
517         * WebCore.vcproj/WebCore.vcproj:
518         * WebCore.xcodeproj/project.pbxproj:
519         * inspector/InspectorConsoleInstrumentation.h: Added. Extract inline methods called from the console into their
520         own header to reduce compilation time of other classes that depend on the inspector instrumentation.
521         (WebCore::InspectorInstrumentation::addMessageToConsole):
522         (WebCore::InspectorInstrumentation::consoleCount):
523         (WebCore::InspectorInstrumentation::startConsoleTiming):
524         (WebCore::InspectorInstrumentation::stopConsoleTiming):
525         (WebCore::InspectorInstrumentation::consoleMarkTimeline):
526         (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsole):
527         (WebCore::InspectorInstrumentation::addProfile):
528         (WebCore::InspectorInstrumentation::profilerEnabled):
529         (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileName):
530         * inspector/InspectorDatabaseInstrumentation.h: Added. Extract inline methods called from the datanase code into their
531         own header to reduce compilation time of other classes that depend on the inspector instrumentation.
532         (WebCore::InspectorInstrumentation::didOpenDatabase):
533         * inspector/InspectorInstrumentation.cpp:
534         (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
535         (WebCore::InspectorInstrumentation::consoleCountImpl):
536         (WebCore::InspectorInstrumentation::stopConsoleTimingImpl):
537         (WebCore::InspectorInstrumentation::consoleMarkTimelineImpl):
538         (WebCore::InspectorInstrumentation::addProfileImpl):
539         (WebCore::InspectorInstrumentation::didOpenDatabaseImpl):
540         * inspector/InspectorInstrumentation.h:
541         * page/Console.cpp: use RefPtr local variable instead of accessing PassRefPtr argument directly.
542         (WebCore::Console::addMessage):
543         (WebCore::Console::trace):
544         (WebCore::Console::count):
545         (WebCore::Console::markTimeline):
546         (WebCore::Console::profileEnd):
547         (WebCore::Console::timeEnd):
548         (WebCore::Console::group):
549         (WebCore::Console::groupCollapsed):
550         * storage/Database.cpp:
551         (WebCore::Database::openDatabase):
552
553 2010-01-24  Kent Tamura  <tkent@chromium.org>
554
555         Reviewed by Darin Fisher.
556
557         [Chromium] Support icon loading for <input type=file>
558         https://bugs.webkit.org/show_bug.cgi?id=38982
559
560         An icon data in Chromium port is represented as WebCore::Image. We
561         don't need OS-specific code anymore.
562
563         * WebCore.gypi:
564         * platform/graphics/Icon.h:
565         (WebCore::Icon::create): Add Chromium-specific factory.
566         * platform/graphics/chromium/IconChromium.cpp: Added.
567         * platform/graphics/chromium/IconChromiumLinux.cpp: Removed.
568         * platform/graphics/chromium/IconChromiumMac.cpp: Removed.
569         * platform/graphics/chromium/IconChromiumWin.cpp: Removed.
570         * platform/graphics/chromium/PlatformIcon.h:
571
572 2011-01-21  Pavel Podivilov  <podivilov@chromium.org>
573
574         Reviewed by Pavel Feldman.
575
576         Web Inspector: move search functions from SourceView to SourceFrame.
577         https://bugs.webkit.org/show_bug.cgi?id=52895
578
579         This is the last step before eliminating SourceView and ScriptView since
580         this classes just delegate everything to SourceFrame.
581
582         * inspector/front-end/SourceFrame.js:
583         (WebInspector.SourceFrame.prototype.set visible):
584         (WebInspector.SourceFrame.prototype._clearLineHighlight):
585         (WebInspector.SourceFrame.prototype._createTextViewer):
586         (WebInspector.SourceFrame.prototype.performSearch.doFindSearchMatches):
587         (WebInspector.SourceFrame.prototype.performSearch):
588         (WebInspector.SourceFrame.prototype.searchCanceled):
589         (WebInspector.SourceFrame.prototype.jumpToFirstSearchResult):
590         (WebInspector.SourceFrame.prototype.jumpToLastSearchResult):
591         (WebInspector.SourceFrame.prototype.jumpToNextSearchResult):
592         (WebInspector.SourceFrame.prototype.jumpToPreviousSearchResult):
593         (WebInspector.SourceFrame.prototype.showingFirstSearchResult):
594         (WebInspector.SourceFrame.prototype.showingLastSearchResult):
595         (WebInspector.SourceFrame.prototype._jumpToSearchResult):
596         * inspector/front-end/SourceView.js:
597         (WebInspector.SourceView.prototype.hide):
598         (WebInspector.SourceView.prototype.searchCanceled):
599         (WebInspector.SourceView.prototype.performSearch):
600         (WebInspector.SourceView.prototype.jumpToFirstSearchResult):
601         (WebInspector.SourceView.prototype.jumpToLastSearchResult):
602         (WebInspector.SourceView.prototype.jumpToNextSearchResult):
603         (WebInspector.SourceView.prototype.jumpToPreviousSearchResult):
604         (WebInspector.SourceView.prototype.showingFirstSearchResult):
605         (WebInspector.SourceView.prototype.showingLastSearchResult):
606         (WebInspector.SourceView.prototype.clearMessages):
607
608 2011-01-24  Sheriff Bot  <webkit.review.bot@gmail.com>
609
610         Unreviewed, rolling out r76463.
611         http://trac.webkit.org/changeset/76463
612         https://bugs.webkit.org/show_bug.cgi?id=52993
613
614         It broke canvas/philip/tests/2d.path.stroke.skew.html
615         (Requested by Ossy on #webkit).
616
617         * platform/graphics/qt/GraphicsContextQt.cpp:
618         (WebCore::GraphicsContext::rotate):
619         * platform/graphics/qt/PathQt.cpp:
620         (WebCore::Path::addArc):
621
622 2011-01-23  Andrey Kosyakov  <caseq@chromium.org>
623
624         Reviewed by Pavel Feldman.
625
626         Web Inspector: summary bar is not resized properly with the rest of network panel
627         https://bugs.webkit.org/show_bug.cgi?id=52881
628
629         * inspector/front-end/NetworkPanel.js:
630         (WebInspector.NetworkPanel.prototype.updateSidebarWidth):
631         (WebInspector.NetworkPanel.prototype._positionSummaryBar):
632         (WebInspector.NetworkPanel.prototype._toggleGridMode):
633
634 2011-01-19  MORITA Hajime  <morrita@google.com>
635
636         Reviewed by Ryosuke Niwa.
637
638         Space and tab characters "sent" by an input method give totally different results than typing them directly
639         https://bugs.webkit.org/show_bug.cgi?id=5241
640         
641         * Introduced TextEvent::InputTypeComposition and TypingCommand::TextCompositionType to 
642           distinguish text input which is originated by composition.
643         * Generalized rebalanceWhitespaceAt() to rebalanceWhitespaceOnTextSubstring() to rebalancing 
644           range of string on text node, instead of surrounding part of that.
645
646         Test: editing/inserting/insert-composition-whitespace.html
647
648         * dom/TextEvent.h:
649         (WebCore::TextEvent::isComposition):
650         * dom/TextEventInputType.h: Added TextEventInputComposition as a member of TextEvent::InputType
651         * editing/CompositeEditCommand.cpp:
652         (WebCore::containsOnlyWhitespace):
653         (WebCore::CompositeEditCommand::shouldRebalanceLeadingWhitespaceFor):
654         (WebCore::CompositeEditCommand::canRebalance):
655         (WebCore::CompositeEditCommand::rebalanceWhitespaceAt):
656         (WebCore::CompositeEditCommand::rebalanceWhitespaceOnTextSubstring): Added: A generalized version of rebalanceWhitespaceAt(), which takes a range inside Text string.
657         * editing/CompositeEditCommand.h:
658         * editing/Editor.cpp:
659         (WebCore::Editor::insertTextForConfirmedComposition): Added.
660         (WebCore::Editor::insertTextWithoutSendingTextEvent):
661         (WebCore::Editor::confirmComposition): Now uses insertTextForConfirmedComposition().
662         (WebCore::Editor::setComposition):
663         * editing/Editor.h:
664         * editing/InsertTextCommand.cpp:
665         (WebCore::InsertTextCommand::input):
666         * editing/InsertTextCommand.h:
667         * editing/TypingCommand.cpp:
668         (WebCore::TypingCommand::TypingCommand):
669         (WebCore::TypingCommand::insertText):
670         (WebCore::TypingCommand::insertTextRunWithoutNewlines):
671         * editing/TypingCommand.h: Added TypingCommand::m_compositionType and TypingCommand::TextCompositionType
672         (WebCore::TypingCommand::setCompositionType): Added.
673         (WebCore::TypingCommand::create):
674
675 2011-01-23  Mark Rowe  <mrowe@apple.com>
676
677         Follow-up to r76477.
678
679         Fix the scripts that detect problematic code such as static initializers
680         and destructors, weak vtables, inappropriate files in the framework wrappers,
681         and public headers including private headers. These had all been broken
682         since the projects were moved in to the Source directory as the paths to the
683         scripts were not updated at that time.
684
685         Stop copying an IDL file in to the framework wrapper. Doing that doesn't even make sense.
686
687         * WebCore.xcodeproj/project.pbxproj:
688
689 2011-01-23  Mark Rowe  <mrowe@apple.com>
690
691         Build fix after r76459.
692
693         Static member variables or globals of types that have constructors or destructors are bad as
694         they generate static initializers and destructors. This is code that is run either at link time
695         when the library is loaded in to memory or at application termination time. Both of these are
696         terrible for performance and are thus outlawed in WebKit code.
697
698         The typical solution is to replace the static member or global with a function that allocates
699         the necessary variable on the heap. The variable is leaked to prevent it from being destroyed
700         at application termination time. The DEFINE_STATIC_LOCAL macro wraps this in to a concise little
701         package, but sadly fails to work in this case due to the type containing multiple template
702         parameters.
703         
704         * inspector/InspectorInstrumentation.cpp:
705         (WebCore::InspectorInstrumentation::inspectorAgents):
706         * inspector/InspectorInstrumentation.h:
707         (WebCore::InspectorInstrumentation::bindInspectorAgent):
708         (WebCore::InspectorInstrumentation::unbindInspectorAgent):
709         (WebCore::InspectorInstrumentation::inspectorAgentForPage):
710
711 2011-01-21  Vangelis Kokkevis  <vangelis@chromium.org>
712
713         Reviewed by Kenneth Russell.
714
715         [chromium] Add support for -webkit-mask properties to the
716         accelerated compositing path.
717         https://bugs.webkit.org/show_bug.cgi?id=49780
718          
719         Tests: Existing tests in LayoutTests/compositing/masks
720
721         * platform/graphics/chromium/ContentLayerChromium.cpp:
722         (WebCore::ContentLayerChromium::draw):
723         (WebCore::ContentLayerChromium::unreserveContentsTexture):
724         (WebCore::ContentLayerChromium::bindContentsTexture):
725         * platform/graphics/chromium/ContentLayerChromium.h:
726         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
727         (WebCore::GraphicsLayerChromium::setMaskLayer):
728         * platform/graphics/chromium/GraphicsLayerChromium.h:
729         * platform/graphics/chromium/LayerChromium.cpp:
730         (WebCore::LayerChromium::LayerChromium):
731         * platform/graphics/chromium/LayerChromium.h:
732         (WebCore::LayerChromium::setMaskLayer):
733         (WebCore::LayerChromium::maskLayer):
734         (WebCore::LayerChromium::unreserveContentsTexture):
735         (WebCore::LayerChromium::bindContentsTexture):
736         * platform/graphics/chromium/LayerRendererChromium.cpp:
737         (WebCore::LayerRendererChromium::updateLayersRecursive):
738         * platform/graphics/chromium/LayerTexture.cpp:
739         (WebCore::LayerTexture::bindTexture):
740         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
741         (WebCore::RenderSurfaceChromium::SharedValues::SharedValues):
742         (WebCore::RenderSurfaceChromium::SharedValues::~SharedValues):
743         (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
744         (WebCore::RenderSurfaceChromium::draw):
745         * platform/graphics/chromium/RenderSurfaceChromium.h:
746         (WebCore::RenderSurfaceChromium::SharedValues::maskShaderProgram):
747         (WebCore::RenderSurfaceChromium::SharedValues::maskShaderSamplerLocation):
748         (WebCore::RenderSurfaceChromium::SharedValues::maskShaderMaskSamplerLocation):
749         (WebCore::RenderSurfaceChromium::SharedValues::maskShaderMatrixLocation):
750         (WebCore::RenderSurfaceChromium::SharedValues::maskShaderAlphaLocation):
751
752 2011-01-23  Patrick Gansterer  <paroga@webkit.org>
753
754         Reviewed by Darin Adler.
755
756         Use WTF::StringHasher in WebCore
757         https://bugs.webkit.org/show_bug.cgi?id=52934
758
759         * loader/appcache/ApplicationCacheStorage.cpp:
760         (WebCore::urlHostHash):
761         * platform/LinkHash.cpp:
762         (WebCore::visitedLinkHashInline):
763         * platform/cf/BinaryPropertyList.cpp:
764         (WebCore::IntegerArrayHash::hash):
765         * platform/graphics/wx/FontPlatformDataWx.cpp:
766         (WebCore::FontPlatformData::computeHash):
767         * platform/network/ProtectionSpaceHash.h:
768         (WebCore::ProtectionSpaceHash::hash):
769
770 2011-01-23  Patrick Gansterer  <paroga@webkit.org>
771
772         Reviewed by David Kilzer.
773
774         Add an overload to base64Encode with String output
775         https://bugs.webkit.org/show_bug.cgi?id=50122
776
777         This change removes duplicated code.
778
779         * inspector/InspectorResourceAgent.cpp:
780         (WebCore::InspectorResourceAgent::resourceContentBase64):
781         * page/DOMWindow.cpp:
782         (WebCore::DOMWindow::btoa):
783         * platform/graphics/skia/FontCustomPlatformData.cpp:
784         (WebCore::createUniqueFontName):
785         * platform/graphics/win/FontCustomPlatformData.cpp:
786         (WebCore::createUniqueFontName):
787         * platform/graphics/wince/FontCustomPlatformData.cpp:
788         (WebCore::createUniqueFontName):
789         * platform/network/cf/ResourceHandleCFNet.cpp:
790         (WebCore::encodeBasicAuthorization):
791         * platform/network/mac/ResourceHandleMac.mm:
792         (WebCore::encodeBasicAuthorization):
793         * platform/text/Base64.cpp:
794         (WebCore::base64Encode):
795         * platform/text/Base64.h:
796         (WebCore::base64Encode):
797         * platform/wince/KeygenWinCE.cpp:
798         (WebCore::WebCore::signedPublicKeyAndChallengeString):
799
800 2011-01-23  Patrick Gansterer  <paroga@webkit.org>
801
802         Reviewed by David Kilzer.
803
804         Add String::containsOnlyLatin1()
805         https://bugs.webkit.org/show_bug.cgi?id=52979
806
807         Use String::containsOnlyLatin1() instead of isSafeToConvertCharList().
808
809         * page/DOMWindow.cpp:
810         (WebCore::DOMWindow::btoa):
811         (WebCore::DOMWindow::atob):
812
813 2011-01-23  Patrick Gansterer  <paroga@webkit.org>
814
815         Reviewed by Andreas Kling.
816
817         [CMake] Add missing CodeGenerator dependencies
818         https://bugs.webkit.org/show_bug.cgi?id=52976
819
820         * CMakeLists.txt:
821
822 2011-01-23  Yael Aharon  <yael.aharon@nokia.com>
823
824         Reviewed by Kenneth Rohde Christiansen.
825
826         [Qt][Symbian] Fix --minimal build
827         https://bugs.webkit.org/show_bug.cgi?id=52839
828
829         Some of the plugins' functionality is reimplemented in
830         Symbian specific files.
831         Some of this functionality should be compiled in even if 
832         the guard NETSCAPE_PLUGIN_API is turned off.
833         This patch moves that functionality out of the
834         NETSCAPE_PLUGIN_API guard.
835
836         Build fix so no new tests.
837
838         * WebCore.pro:
839         * plugins/symbian/PluginPackageSymbian.cpp:
840
841 2011-01-23  Andreas Kling  <kling@webkit.org>
842
843         Reviewed by Tor Arne Vestbø.
844
845         [Qt] Use rad2deg() from WTF instead of rolling our own.
846
847         * platform/graphics/qt/GraphicsContextQt.cpp:
848         (WebCore::GraphicsContext::rotate):
849         * platform/graphics/qt/PathQt.cpp:
850         (WebCore::Path::addArc):
851
852 2011-01-23  Kenneth Rohde Christiansen <kenneth@webkit.org>
853
854         Reviewed by Andreas Kling.
855
856         Viewport meta: Always adjust device dimensions to the device pixel ratio.
857
858         * dom/ViewportArguments.cpp:
859         (WebCore::computeViewportAttributes):
860
861 2011-01-23  Andreas Kling  <kling@webkit.org>
862
863         Reviewed by Kenneth Rohde Christiansen.
864
865         Don't scale absolute geometry specified by viewport meta tag.
866
867         * dom/ViewportArguments.cpp:
868         (WebCore::computeViewportAttributes):
869
870 2011-01-23  Ilya Tikhonovsky  <loislo@chromium.org>
871
872         Unreviewed build fix.
873
874         Web Inspector: looks like efl doesn't regenerate InspectorBackendDispatcher.
875
876         Touch Inspector.idl.
877
878         * inspector/Inspector.idl:
879
880 2011-01-22  Ilya Tikhonovsky  <loislo@chromium.org>
881
882         Reviewed by Pavel Feldman.
883
884         Web Inspector: next step in splitting InspectorController.
885
886         Splitting InspectorController is a bit tricky process.
887
888         As a first step I'll do the next things:
889         1) rename existing InspectorController to InspectorAgent;
890         2) s/nspectorController/nspectorAgent/g everywhere in WebCore/inspector but InspectorInstrumentation;
891         3) create a fake InspectorController derived from the InspectorAgent for the rest of WebCore and WebKit;
892
893         The second step is a migration of a small set of functions described in bug 52510 from InspectorAgent to InspectorController.
894
895         As far as the second step will have significant changes in the functions' implementation I'll do it as a separate patch.
896
897         https://bugs.webkit.org/show_bug.cgi?id=52955
898
899         * CMakeLists.txt:
900         * GNUmakefile.am:
901         * WebCore.exp.in:
902         * WebCore.gypi:
903         * WebCore.pro:
904         * WebCore.vcproj/WebCore.vcproj:
905         * WebCore.xcodeproj/project.pbxproj:
906         * bindings/js/JSInjectedScriptHostCustom.cpp:
907         (WebCore::JSInjectedScriptHost::nodeForId):
908         (WebCore::JSInjectedScriptHost::selectDOMStorage):
909         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
910         (WebCore::V8InjectedScriptHost::nodeForIdCallback):
911         * inspector/CodeGeneratorInspector.pm:
912         * inspector/InjectedScriptHost.cpp:
913         (WebCore::InjectedScriptHost::InjectedScriptHost):
914         (WebCore::InjectedScriptHost::clearConsoleMessages):
915         (WebCore::InjectedScriptHost::databaseForId):
916         (WebCore::InjectedScriptHost::selectDatabase):
917         (WebCore::InjectedScriptHost::selectDOMStorage):
918         (WebCore::InjectedScriptHost::injectedScriptForMainFrame):
919         (WebCore::InjectedScriptHost::inspectorDOMAgent):
920         (WebCore::InjectedScriptHost::frontend):
921         (WebCore::InjectedScriptHost::didCreateWorker):
922         (WebCore::InjectedScriptHost::didDestroyWorker):
923         * inspector/InjectedScriptHost.h:
924         (WebCore::InjectedScriptHost::create):
925         (WebCore::InjectedScriptHost::inspectorAgent):
926         (WebCore::InjectedScriptHost::disconnectController):
927         * inspector/InspectorAgent.cpp: Copied from Source/WebCore/inspector/InspectorController.cpp.
928         (WebCore::InspectorAgent::InspectorAgent):
929         (WebCore::InspectorAgent::~InspectorAgent):
930         (WebCore::InspectorAgent::inspectedPageDestroyed):
931         (WebCore::InspectorAgent::enabled):
932         (WebCore::InspectorAgent::inspectorStartsAttached):
933         (WebCore::InspectorAgent::setInspectorStartsAttached):
934         (WebCore::InspectorAgent::setInspectorAttachedHeight):
935         (WebCore::InspectorAgent::inspectorAttachedHeight):
936         (WebCore::InspectorAgent::searchingForNodeInPage):
937         (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
938         (WebCore::InspectorAgent::inspect):
939         (WebCore::InspectorAgent::focusNode):
940         (WebCore::InspectorAgent::highlight):
941         (WebCore::InspectorAgent::highlightDOMNode):
942         (WebCore::InspectorAgent::highlightFrame):
943         (WebCore::InspectorAgent::hideHighlight):
944         (WebCore::InspectorAgent::mouseDidMoveOverElement):
945         (WebCore::InspectorAgent::handleMousePress):
946         (WebCore::InspectorAgent::setInspectorFrontendClient):
947         (WebCore::InspectorAgent::didClearWindowObjectInWorld):
948         (WebCore::InspectorAgent::setSearchingForNode):
949         (WebCore::InspectorAgent::connectFrontend):
950         (WebCore::InspectorAgent::show):
951         (WebCore::InspectorAgent::showPanel):
952         (WebCore::InspectorAgent::close):
953         (WebCore::InspectorAgent::disconnectFrontend):
954         (WebCore::InspectorAgent::resourceAgent):
955         (WebCore::InspectorAgent::releaseFrontendLifetimeAgents):
956         (WebCore::InspectorAgent::populateScriptObjects):
957         (WebCore::InspectorAgent::pushDataCollectedOffline):
958         (WebCore::InspectorAgent::restoreDebugger):
959         (WebCore::InspectorAgent::restoreProfiler):
960         (WebCore::InspectorAgent::unbindAllResources):
961         (WebCore::InspectorAgent::didCommitLoad):
962         (WebCore::InspectorAgent::mainResourceFiredDOMContentEvent):
963         (WebCore::InspectorAgent::mainResourceFiredLoadEvent):
964         (WebCore::InspectorAgent::isMainResourceLoader):
965         (WebCore::InspectorAgent::willSendRequest):
966         (WebCore::InspectorAgent::ensureSettingsLoaded):
967         (WebCore::InspectorAgent::startTimelineProfiler):
968         (WebCore::InspectorAgent::stopTimelineProfiler):
969         (WebCore::PostWorkerNotificationToFrontendTask::create):
970         (WebCore::PostWorkerNotificationToFrontendTask::PostWorkerNotificationToFrontendTask):
971         (WebCore::PostWorkerNotificationToFrontendTask::performTask):
972         (WebCore::InspectorAgent::postWorkerNotificationToFrontend):
973         (WebCore::InspectorAgent::didCreateWorker):
974         (WebCore::InspectorAgent::didDestroyWorker):
975         (WebCore::InspectorAgent::didOpenDatabase):
976         (WebCore::InspectorAgent::getCookies):
977         (WebCore::InspectorAgent::buildArrayForCookies):
978         (WebCore::InspectorAgent::buildObjectForCookie):
979         (WebCore::InspectorAgent::deleteCookie):
980         (WebCore::InspectorAgent::didUseDOMStorage):
981         (WebCore::InspectorAgent::didCreateWebSocket):
982         (WebCore::InspectorAgent::willSendWebSocketHandshakeRequest):
983         (WebCore::InspectorAgent::didReceiveWebSocketHandshakeResponse):
984         (WebCore::InspectorAgent::didCloseWebSocket):
985         (WebCore::InspectorAgent::isRecordingUserInitiatedProfile):
986         (WebCore::InspectorAgent::startUserInitiatedProfiling):
987         (WebCore::InspectorAgent::stopUserInitiatedProfiling):
988         (WebCore::InspectorAgent::profilerEnabled):
989         (WebCore::InspectorAgent::enableProfiler):
990         (WebCore::InspectorAgent::disableProfiler):
991         (WebCore::InspectorAgent::showAndEnableDebugger):
992         (WebCore::InspectorAgent::enableDebugger):
993         (WebCore::InspectorAgent::disableDebugger):
994         (WebCore::InspectorAgent::resume):
995         (WebCore::InspectorAgent::setAllBrowserBreakpoints):
996         (WebCore::InspectorAgent::evaluateForTestInFrontend):
997         (WebCore::InspectorAgent::didEvaluateForTestInFrontend):
998         (WebCore::quadToPath):
999         (WebCore::drawOutlinedQuad):
1000         (WebCore::drawOutlinedQuadWithClip):
1001         (WebCore::drawHighlightForBox):
1002         (WebCore::drawHighlightForLineBoxesOrSVGRenderer):
1003         (WebCore::convertFromFrameToMainFrame):
1004         (WebCore::frameToMainFrameOffset):
1005         (WebCore::InspectorAgent::drawNodeHighlight):
1006         (WebCore::InspectorAgent::drawElementTitle):
1007         (WebCore::InspectorAgent::openInInspectedWindow):
1008         (WebCore::InspectorAgent::addScriptToEvaluateOnLoad):
1009         (WebCore::InspectorAgent::removeAllScriptsToEvaluateOnLoad):
1010         (WebCore::InspectorAgent::setInspectorExtensionAPI):
1011         (WebCore::InspectorAgent::inspectedURL):
1012         (WebCore::InspectorAgent::reloadPage):
1013         (WebCore::InspectorAgent::setExtraHeaders):
1014         * inspector/InspectorAgent.h: Copied from Source/WebCore/inspector/InspectorController.h.
1015         (WebCore::InspectorAgent::inspectorBackendDispatcher):
1016         (WebCore::InspectorAgent::inspectorClient):
1017         (WebCore::InspectorAgent::injectedScriptHost):
1018         (WebCore::InspectorAgent::inspectedPage):
1019         (WebCore::InspectorAgent::hideDOMNodeHighlight):
1020         (WebCore::InspectorAgent::hideFrameHighlight):
1021         (WebCore::InspectorAgent::frontend):
1022         (WebCore::InspectorAgent::inspectorController):
1023         (WebCore::InspectorAgent::inspectorAgent):
1024         (WebCore::InspectorAgent::consoleAgent):
1025         (WebCore::InspectorAgent::cssAgent):
1026         (WebCore::InspectorAgent::domAgent):
1027         (WebCore::InspectorAgent::injectedScriptAgent):
1028         (WebCore::InspectorAgent::runtimeAgent):
1029         (WebCore::InspectorAgent::timelineAgent):
1030         (WebCore::InspectorAgent::databaseAgent):
1031         (WebCore::InspectorAgent::domStorageAgent):
1032         (WebCore::InspectorAgent::fileSystemAgent):
1033         (WebCore::InspectorAgent::browserDebuggerAgent):
1034         (WebCore::InspectorAgent::debuggerAgent):
1035         (WebCore::InspectorAgent::profilerAgent):
1036         (WebCore::InspectorAgent::applicationCacheAgent):
1037         (WebCore::InspectorAgent::hasInspectorFrontendClient):
1038         (WebCore::InspectorAgent::hasFrontend):
1039         (WebCore::InspectorAgent::startProfiling):
1040         (WebCore::InspectorAgent::stopProfiling):
1041         (WebCore::InspectorAgent::debuggerEnabled):
1042         (WebCore::InspectorAgent::state):
1043         (WebCore::InspectorAgent::settings):
1044         * inspector/InspectorApplicationCacheAgent.cpp:
1045         (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
1046         (WebCore::InspectorApplicationCacheAgent::getApplicationCaches):
1047         * inspector/InspectorApplicationCacheAgent.h:
1048         * inspector/InspectorBrowserDebuggerAgent.cpp:
1049         (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
1050         (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged):
1051         (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint):
1052         (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
1053         (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
1054         (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode):
1055         (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode):
1056         (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr):
1057         (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
1058         (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
1059         (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
1060         * inspector/InspectorBrowserDebuggerAgent.h:
1061         (WebCore::InspectorBrowserDebuggerAgent::create):
1062         * inspector/InspectorConsoleAgent.cpp:
1063         (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
1064         (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
1065         (WebCore::InspectorConsoleAgent::clearConsoleMessages):
1066         (WebCore::InspectorConsoleAgent::addMessageToConsole):
1067         (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest):
1068         (WebCore::InspectorConsoleAgent::didReceiveResponse):
1069         (WebCore::InspectorConsoleAgent::didFailLoading):
1070         (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled):
1071         (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
1072         (WebCore::InspectorConsoleAgent::addConsoleMessage):
1073         * inspector/InspectorConsoleAgent.h:
1074         * inspector/InspectorController.cpp:
1075         (WebCore::InspectorController::InspectorController):
1076         * inspector/InspectorController.h:
1077         * inspector/InspectorDatabaseAgent.cpp:
1078         * inspector/InspectorDebuggerAgent.cpp:
1079         (WebCore::InspectorDebuggerAgent::create):
1080         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
1081         (WebCore::InspectorDebuggerAgent::~InspectorDebuggerAgent):
1082         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
1083         (WebCore::InspectorDebuggerAgent::getCompletionsOnCallFrame):
1084         (WebCore::InspectorDebuggerAgent::currentCallFrames):
1085         * inspector/InspectorDebuggerAgent.h:
1086         * inspector/InspectorFileSystemAgent.cpp:
1087         (WebCore::InspectorFileSystemAgentCallbacks::didOpenFileSystem):
1088         (WebCore::InspectorFileSystemAgent::InspectorFileSystemAgent):
1089         (WebCore::InspectorFileSystemAgent::stop):
1090         (WebCore::InspectorFileSystemAgent::getFileSystemPathAsync):
1091         (WebCore::InspectorFileSystemAgent::didGetFileSystemPath):
1092         (WebCore::InspectorFileSystemAgent::didGetFileSystemError):
1093         * inspector/InspectorFileSystemAgent.h:
1094         (WebCore::InspectorFileSystemAgent::create):
1095         * inspector/InspectorFrontendHost.cpp:
1096         (WebCore::InspectorFrontendHost::setExtensionAPI):
1097         * inspector/InspectorProfilerAgent.cpp:
1098         (WebCore::InspectorProfilerAgent::create):
1099         (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
1100         (WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole):
1101         (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
1102         (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
1103         (WebCore::InspectorProfilerAgent::stopUserInitiatedProfiling):
1104         * inspector/InspectorProfilerAgent.h:
1105
1106 2011-01-22  Chris Rogers  <crogers@google.com>
1107
1108         Rubber-stamped by Anders Carlsson.
1109
1110         Fix FFTFrameStub to compile properly
1111         https://bugs.webkit.org/show_bug.cgi?id=52969
1112
1113         No new tests since this is a build fix.
1114
1115         * platform/audio/FFTFrameStub.cpp:
1116         (WebCore::FFTFrame::FFTFrame):
1117
1118 2011-01-22  Andrei Popescu  <andreip@google.com>
1119
1120         Reviewed by Jeremy Orlow.
1121
1122         IndexedDB corrupts data on disk
1123         https://bugs.webkit.org/show_bug.cgi?id=52890
1124
1125         We need to store the SerializedScriptValues on disk in a BLOB column rather than TEXT.
1126         Test: storage/indexeddb/data-corruption.html
1127
1128         * platform/sql/SQLiteStatement.cpp:
1129         (WebCore::SQLiteStatement::bindBlob):
1130         (WebCore::SQLiteStatement::getColumnBlobAsString):
1131         (WebCore::SQLiteStatement::getColumnBlobAsVector):
1132         * platform/sql/SQLiteStatement.h:
1133         * storage/IDBCursorBackendImpl.cpp:
1134         (WebCore::IDBCursorBackendImpl::loadCurrentRow):
1135         * storage/IDBFactoryBackendImpl.cpp:
1136         (WebCore::runCommands):
1137         (WebCore::createTables):
1138         (WebCore::createMetaDataTable):
1139         (WebCore::migrateDatabase):
1140         * storage/IDBObjectStoreBackendImpl.cpp:
1141         (WebCore::IDBObjectStoreBackendImpl::getInternal):
1142         (WebCore::putObjectStoreData):
1143
1144 2011-01-22  Nikolas Zimmermann  <nzimmermann@rim.com>
1145
1146         Not reviewed. Fix WinCE build.
1147
1148         * platform/graphics/wince/GraphicsContextWinCE.cpp:
1149         (WebCore::GraphicsContext::drawText):
1150         * rendering/RenderThemeWinCE.cpp:
1151         (WebCore::RenderThemeWinCE::adjustMenuListButtonStyle):
1152
1153 2011-01-22  Nikolas Zimmermann  <nzimmermann@rim.com>
1154
1155         Reviewed by Dirk Schulze.
1156
1157         REGRESSION: Vertical line metrics incorrect
1158         https://bugs.webkit.org/show_bug.cgi?id=52960
1159
1160         SimpleFontDataMac.mm contains a hack to modifiy lineGap/descent for the 'Hiragino' font.
1161         That didn't influence the lineSpacing so far, but does now, causing regressions.
1162
1163         Restore old line spacing behaviour to fix the regression.
1164         Covered by existing fast/blockflow, fast/repaint and fast/text/international test cases.
1165
1166         * platform/graphics/FontMetrics.h:
1167         (WebCore::FontMetrics::FontMetrics):
1168         (WebCore::FontMetrics::floatLineSpacing):
1169         (WebCore::FontMetrics::setLineSpacing):
1170         (WebCore::FontMetrics::lineSpacing):
1171         (WebCore::FontMetrics::reset):
1172         * platform/graphics/SimpleFontData.cpp:
1173         (WebCore::SimpleFontData::SimpleFontData):
1174         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
1175         (WebCore::SimpleFontData::platformInit):
1176         * platform/graphics/chromium/SimpleFontDataLinux.cpp:
1177         (WebCore::SimpleFontData::platformInit):
1178         * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
1179         (WebCore::SimpleFontData::platformInit):
1180         * platform/graphics/haiku/SimpleFontDataHaiku.cpp:
1181         (WebCore::SimpleFontData::platformInit):
1182         * platform/graphics/mac/SimpleFontDataMac.mm:
1183         (WebCore::SimpleFontData::platformInit):
1184         * platform/graphics/pango/SimpleFontDataPango.cpp:
1185         (WebCore::SimpleFontData::platformInit):
1186         * platform/graphics/qt/SimpleFontDataQt.cpp:
1187         (WebCore::SimpleFontData::platformInit):
1188         * platform/graphics/win/SimpleFontDataCGWin.cpp:
1189         (WebCore::SimpleFontData::platformInit):
1190         * platform/graphics/win/SimpleFontDataCairoWin.cpp:
1191         (WebCore::SimpleFontData::platformInit):
1192         * platform/graphics/win/SimpleFontDataWin.cpp:
1193         (WebCore::SimpleFontData::initGDIFont):
1194         * platform/graphics/wince/SimpleFontDataWinCE.cpp:
1195         (WebCore::SimpleFontData::platformInit):
1196         * platform/graphics/wx/SimpleFontDataWx.cpp:
1197         (WebCore::SimpleFontData::platformInit):
1198
1199 2011-01-22  Andreas Kling  <kling@webkit.org>
1200
1201         Reviewed by Kenneth Rohde Christiansen.
1202
1203         [Qt] fast/backgrounds/svg-as-mask.html fails
1204         https://bugs.webkit.org/show_bug.cgi?id=52906
1205
1206         Transparency layers should start out with in SourceOver mode with
1207         alpha 1.0 (modeled after CGContextBeginTransparencyLayer.)
1208
1209         * platform/graphics/qt/TransparencyLayer.h:
1210         (WebCore::TransparencyLayer::TransparencyLayer):
1211
1212 2011-01-22  Nikolas Zimmermann  <nzimmermann@rim.com>
1213
1214         Not reviewed.
1215
1216         Introduce FontMetrics abstraction
1217         https://bugs.webkit.org/show_bug.cgi?id=51456
1218
1219         Fix Chromium/Win build.
1220
1221         * platform/graphics/chromium/UniscribeHelperTextRun.cpp: s/->/./
1222         (WebCore::UniscribeHelperTextRun::UniscribeHelperTextRun):
1223
1224 2011-01-21  Nikolas Zimmermann  <nzimmermann@rim.com>
1225
1226         Reviewed by Dirk Schulze.
1227
1228         Introduce FontMetrics abstraction
1229         https://bugs.webkit.org/show_bug.cgi?id=51456
1230
1231         Encapsulate ascent/descent/lineHeight/lineGap methods in a single FontMetrics class, instead of
1232         having to define them in both Font & SimpleFontData. Changed to store floating point values
1233         as default, in order to get accurate information for small sized fonts. All these methods
1234         now have floating-point and integer versions. Whenever an integer variant of these functions
1235         is called, lroundf() is used to round the value.
1236
1237         This makes it possible to support small font-sizes for SVG in a follow-up patch, as well
1238         as fixing rounding issues when using SVG Fonts.
1239         
1240         Shouldn't affect existing tests.
1241
1242         * GNUmakefile.am: Add FontMetrics.h to build. 
1243         * WebCore.gypi: Ditto.
1244         * WebCore.pro: Ditto.
1245         * WebCore.vcproj/WebCore.vcproj: Ditto.
1246         * WebCore.xcodeproj/project.pbxproj: Ditto.
1247         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: Use style->fontMetrics() instead of style->font() to access the metrics.
1248         (baselinePositionForAccessibilityRenderObject):
1249         * css/CSSPrimitiveValue.cpp:         
1250         (WebCore::CSSPrimitiveValue::computeLengthDouble):
1251         * html/canvas/CanvasRenderingContext2D.cpp: Ditto.
1252         (WebCore::CanvasRenderingContext2D::drawTextInternal):
1253         * inspector/InspectorController.cpp: Ditto.
1254         (WebCore::InspectorController::drawElementTitle):
1255         * platform/chromium/PopupMenuChromium.cpp: Ditto.
1256         (WebCore::PopupListBox::paintRow):
1257         (WebCore::PopupListBox::getRowHeight):
1258         * platform/graphics/Font.h: Remove ascent/descent/height/lineGap/lineSpacing/xHeight/unitsPerEm accessor...
1259         (WebCore::Font::fontMetrics): ... and only expose a single FontMetrics object here.
1260         * platform/graphics/FontFastPath.cpp: Use fontMetrics() to query metrics information.
1261         (WebCore::Font::emphasisMarkAscent):
1262         (WebCore::Font::emphasisMarkDescent):
1263         (WebCore::Font::emphasisMarkHeight):
1264         (WebCore::Font::floatWidthForSimpleText):
1265         * platform/graphics/FontMetrics.h: Added.
1266         (WebCore::FontMetrics::FontMetrics): Creates a FontMetrics object, stored in SimpleFontData.
1267         (WebCore::FontMetrics::unitsPerEm): Returns an unsigned describing the unitsPerEm.
1268         (WebCore::FontMetrics::setUnitsPerEm): Sets the unitsPerEm value.
1269         (WebCore::FontMetrics::floatAscent): Returns the stored m_ascent float.
1270         (WebCore::FontMetrics::setAscent): Sets the stored m_ascent float.
1271         (WebCore::FontMetrics::floatDescent): Returns the stored m_descent float.
1272         (WebCore::FontMetrics::setDescent): Sets the stored m_descent float.
1273         (WebCore::FontMetrics::floatHeight): Returns floatAscent() + floatDescent().
1274         (WebCore::FontMetrics::floatLineGap): Returns the stored m_lineGap float.
1275         (WebCore::FontMetrics::setLineGap): Sets the stored m_lineGap float.
1276         (WebCore::FontMetrics::floatLineSpacing): Returns the stored m_lineSpacing float.
1277         (WebCore::FontMetrics::setLineSpacing): Sets the stored m_lineSpacing float.
1278         (WebCore::FontMetrics::xHeight): Returns the stored m_xHeight float (no integer version available, hence no 'float' prefix).
1279         (WebCore::FontMetrics::setXHeight): Sets the stored m_xHeight float.
1280         (WebCore::FontMetrics::ascent): Returns a rounded version of ascent().
1281         (WebCore::FontMetrics::descent): Ditto (for descent).
1282         (WebCore::FontMetrics::height): Returns ascent() + descent().
1283         (WebCore::FontMetrics::lineGap): Returns a rounded version of lineGap().
1284         (WebCore::FontMetrics::lineSpacing): Ditto (for lineSpacing).
1285         (WebCore::FontMetrics::reset): Nulls all members, used only by the platform variants of SimpleFontData.
1286         * platform/graphics/SimpleFontData.cpp: Adapt SVG Fonts code, to initialize the FontMetrics object, as the m_ascent/etc.. members are gone.
1287         (WebCore::SimpleFontData::SimpleFontData):
1288         (WebCore::SimpleFontData::initCharWidths):
1289         * platform/graphics/SimpleFontData.h: Remove ascent/descent/height/lineSpacing/lineGap/xHeight/unitsPerEm accessors, and members, just store a FontMetrics object and expose it.
1290         (WebCore::SimpleFontData::fontMetrics):
1291         (WebCore::SimpleFontData::avgCharWidth):
1292         * platform/graphics/chromium/FontChromiumWin.cpp: Use fontMetrics() to query font metrics.
1293         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::estimateTextBounds):
1294         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
1295         (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::estimateTextBounds):
1296         (WebCore::Font::drawComplexText):
1297         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: Adapt platform code, to initialize the FontMetrics object.
1298         (WebCore::SimpleFontData::platformInit):
1299         * platform/graphics/chromium/SimpleFontDataLinux.cpp: Ditto.
1300         (WebCore::SimpleFontData::platformInit):
1301         * platform/graphics/chromium/UniscribeHelperTextRun.cpp: Use fontMetrics() to query font metrics.
1302         (WebCore::UniscribeHelperTextRun::UniscribeHelperTextRun):
1303         (WebCore::UniscribeHelperTextRun::nextWinFontData):
1304         * platform/graphics/freetype/SimpleFontDataFreeType.cpp: Adapt platform code, to initialize the FontMetrics object.
1305         (WebCore::SimpleFontData::platformInit):
1306         * platform/graphics/haiku/SimpleFontDataHaiku.cpp: Ditto.
1307         (WebCore::SimpleFontData::platformInit):
1308         * platform/graphics/mac/FontComplexTextMac.cpp: Use fontMetrics() to query font metrics.
1309         (WebCore::Font::floatWidthForComplexText):
1310         * platform/graphics/mac/FontMac.mm: Ditto.
1311         (WebCore::showGlyphsWithAdvances):
1312         * platform/graphics/mac/SimpleFontDataMac.mm: Adapt platform code, to initialize the FontMetrics object.
1313         (WebCore::SimpleFontData::platformInit):
1314         (WebCore::SimpleFontData::platformCharWidthInit):
1315         * platform/graphics/pango/SimpleFontDataPango.cpp: Ditto.
1316         (WebCore::SimpleFontData::platformInit):
1317         * platform/graphics/qt/SimpleFontDataQt.cpp: Ditto. (+ Switch to QFontMetricsF to get floating-point accurancy.)
1318         (WebCore::SimpleFontData::platformInit):
1319         * platform/graphics/win/FontCGWin.cpp: Use fontMetrics() to query font metrics.
1320         (WebCore::drawGDIGlyphs):
1321         * platform/graphics/win/FontWin.cpp: Ditto.
1322         (WebCore::Font::floatWidthForComplexText):
1323         * platform/graphics/win/SimpleFontDataCGWin.cpp: Adapt platform code, to initialize the FontMetrics object.
1324         (WebCore::SimpleFontData::platformInit):
1325         (WebCore::SimpleFontData::platformBoundsForGlyph):
1326         * platform/graphics/win/SimpleFontDataCairoWin.cpp: Ditto.
1327         (WebCore::SimpleFontData::platformInit):
1328         * platform/graphics/win/SimpleFontDataWin.cpp: Ditto.
1329         (WebCore::SimpleFontData::initGDIFont):
1330         * platform/graphics/wince/GraphicsContextWinCE.cpp: Use fontMetrics() to query font metrics.
1331         (WebCore::GraphicsContext::drawText):
1332         * platform/graphics/wince/SimpleFontDataWinCE.cpp: Adapt platform code, to initialize the FontMetrics object.
1333         (WebCore::SimpleFontData::platformInit):
1334         * platform/graphics/wx/SimpleFontDataWx.cpp: Ditto.
1335         (WebCore::SimpleFontData::platformInit):
1336         * platform/win/PopupMenuWin.cpp: Use style->fontMetrics() instead of style->font() to access the metrics.
1337         (WebCore::PopupMenuWin::calculatePositionAndSize): 
1338         (WebCore::PopupMenuWin::paint):
1339         * rendering/EllipsisBox.cpp: Ditto.
1340         (WebCore::EllipsisBox::paint):
1341         (WebCore::EllipsisBox::nodeAtPoint):
1342         * rendering/InlineBox.cpp: Ditto.
1343         (WebCore::InlineBox::logicalHeight):
1344         * rendering/InlineFlowBox.cpp: Ditto.
1345         (WebCore::verticalPositionForBox):
1346         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
1347         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
1348         * rendering/InlineTextBox.cpp: Ditto.
1349         (WebCore::InlineTextBox::paint):
1350         (WebCore::InlineTextBox::paintDecoration):
1351         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
1352         (WebCore::InlineTextBox::paintCompositionUnderline):
1353         * rendering/RenderBlock.cpp: Ditto.
1354         (WebCore::RenderBlock::baselinePosition):
1355         (WebCore::RenderBlock::firstLineBoxBaseline):
1356         (WebCore::RenderBlock::lastLineBoxBaseline):
1357         * rendering/RenderBox.cpp: Ditto.
1358         (WebCore::RenderBox::localCaretRect):
1359         * rendering/RenderEmbeddedObject.cpp: Ditto.
1360         (WebCore::RenderEmbeddedObject::paintReplaced):
1361         * rendering/RenderImage.cpp: Ditto.
1362         (WebCore::RenderImage::setImageSizeForAltText):
1363         (WebCore::RenderImage::paintReplaced):
1364         * rendering/RenderInline.cpp: Ditto.
1365         (WebCore::RenderInline::baselinePosition):
1366         * rendering/RenderListBox.cpp: Ditto.
1367         (WebCore::RenderListBox::paintItemForeground):
1368         (WebCore::RenderListBox::itemHeight):
1369         * rendering/RenderListMarker.cpp: Ditto.
1370         (WebCore::RenderListMarker::paint):
1371         (WebCore::RenderListMarker::layout):
1372         (WebCore::RenderListMarker::computePreferredLogicalWidths):
1373         (WebCore::RenderListMarker::updateMargins):
1374         (WebCore::RenderListMarker::getRelativeMarkerRect):
1375         * rendering/RenderTextControl.cpp: Ditto.
1376         (WebCore::RenderTextControl::paintPlaceholder):
1377         * rendering/RenderTextControlSingleLine.cpp: Ditto.
1378         (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
1379         * rendering/RenderThemeWin.cpp: Ditto.
1380         (WebCore::RenderThemeWin::adjustMenuListButtonStyle):
1381         * rendering/mathml/RenderMathMLFraction.cpp: Ditto.
1382         (WebCore::RenderMathMLFraction::baselinePosition):
1383         * rendering/style/RenderStyle.h: Add "const FontMetrics& fontMetrics() const" accessor.
1384         (WebCore::InheritedFlags::fontMetrics):
1385         (WebCore::InheritedFlags::computedLineHeight):
1386         * rendering/svg/RenderSVGInlineText.cpp: Use style->fontMetrics() instead of style->font() to access the metrics.
1387         (WebCore::RenderSVGInlineText::positionForPoint):
1388         * rendering/svg/SVGInlineTextBox.cpp: Ditto.
1389         (WebCore::SVGInlineTextBox::selectionRectForTextFragment):
1390         (WebCore::positionOffsetForDecoration):
1391         (WebCore::SVGInlineTextBox::paintDecorationWithStyle):
1392         (WebCore::SVGInlineTextBox::paintTextWithShadows):
1393         (WebCore::SVGInlineTextBox::calculateBoundaries):
1394         * rendering/svg/SVGTextLayoutEngineBaseline.cpp: Ditto.
1395         (WebCore::SVGTextLayoutEngineBaseline::calculateBaselineShift):
1396         (WebCore::SVGTextLayoutEngineBaseline::calculateAlignmentBaselineShift):
1397         (WebCore::SVGTextLayoutEngineBaseline::calculateGlyphAdvanceAndOrientation):
1398         * rendering/svg/SVGTextLayoutEngineSpacing.cpp: Ditto.
1399         (WebCore::SVGTextLayoutEngineSpacing::calculateSVGKerning):
1400         * rendering/svg/SVGTextMetrics.cpp: Ditto.
1401         (WebCore::SVGTextMetrics::SVGTextMetrics):
1402         * rendering/svg/SVGTextQuery.cpp: Ditto.
1403         (WebCore::calculateGlyphBoundaries):
1404         * svg/SVGFontFaceElement.cpp: 
1405         (WebCore::SVGFontFaceElement::unitsPerEm): Rename defaultUnitsPerEm global to gDefaultUnitsPerEm.
1406         * svg/SVGLength.cpp: Use style->fontMetrics() instead of style->font() to access the metrics.
1407         (WebCore::SVGLength::convertValueFromUserUnitsToEXS):
1408         (WebCore::SVGLength::convertValueFromEXSToUserUnits):
1409
1410 2011-01-22  Ryosuke Niwa  <rniwa@webkit.org>
1411
1412         Reviewed by Eric Seidel.
1413
1414         Stop instantiating legacy editing positions in VisibleSelection, visible_units.cpp, Frame, and RenderBlock
1415         https://bugs.webkit.org/show_bug.cgi?id=52759
1416
1417         Stopped instantiating legacy editing positions in the following files.
1418
1419         * editing/VisibleSelection.cpp:
1420         (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries):
1421         * editing/visible_units.cpp:
1422         (WebCore::previousBoundary):
1423         (WebCore::previousLinePosition):
1424         (WebCore::nextLinePosition):
1425         (WebCore::startOfBlock):
1426         * page/Frame.cpp:
1427         (WebCore::Frame::visiblePositionForPoint):
1428         * rendering/RenderBlock.cpp: Removed RenderBlock::positionForRenderer because it was not called anywhere.
1429         * rendering/RenderBlock.h: Ditto.
1430
1431 2011-01-22  Adrienne Walker  <enne@google.com>
1432
1433         Reviewed by James Robinson.
1434
1435         [chromium] Fix compositor repaints for offscreen fixed elements
1436         https://bugs.webkit.org/show_bug.cgi?id=52681
1437
1438         The fast path scrolling was clipping offscreen invalidations.
1439         Additionally, the compositor was ignoring all invalidations that were
1440         entirely out of the content rect.
1441
1442         Test: compositing/ to verify this caused no regressions.
1443         Tested fix manually in browser as I could not generate a LayoutTest that reproduced the bug in run-webkit-tests.
1444
1445         * page/FrameView.cpp:
1446         (WebCore::FrameView::scrollContentsFastPath):
1447         * platform/graphics/chromium/LayerRendererChromium.cpp:
1448         (WebCore::LayerRendererChromium::invalidateRootLayerRect):
1449
1450 2011-01-22  Alexey Proskuryakov  <ap@apple.com>
1451
1452         Reviewed by Dan Bernstein.
1453
1454         https://bugs.webkit.org/show_bug.cgi?id=52951
1455         WebKit2 generates a bad PDF for cross process messaging
1456
1457         * page/PrintContext.cpp: (WebCore::PrintContext::spoolRect): Use a correct offset to actually
1458         draw inside the requested rectangle.
1459
1460 2011-01-21  Yury Semikhatsky  <yurys@chromium.org>
1461
1462         Reviewed by Adam Barth.
1463
1464         Regression: new window.onerror() implementation leaks cross-origin Javascript errors
1465         https://bugs.webkit.org/show_bug.cgi?id=52903
1466
1467         In case of an exception in a script from different domain only generic message
1468         will be passed to window.onerror hander.
1469
1470         Tests: http/tests/security/cross-origin-script-window-onerror-redirected.html
1471                http/tests/security/cross-origin-script-window-onerror.html
1472
1473         * bindings/js/CachedScriptSourceProvider.h: use URL from the resource response to make sure we do all
1474         cross origin checks agains real script URL, not the original URL which may have resulted in a sequence
1475         of redirects to different domains.
1476         (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider):
1477         * bindings/v8/ScriptSourceCode.h: same for v8.
1478         (WebCore::ScriptSourceCode::url):
1479         * dom/ScriptExecutionContext.cpp:
1480         (WebCore::ScriptExecutionContext::dispatchErrorEvent): in case the error occurred in a script we cannot
1481         access provide concise "Script error." message without any information about the error source. This is
1482         what Firefox does in this case.
1483
1484 2011-01-21  Andreas Kling  <kling@webkit.org>
1485
1486         Reviewed by Kenneth Rohde Christiansen.
1487
1488         [Qt] Always set composition mode through GraphicsContext
1489         https://bugs.webkit.org/show_bug.cgi?id=52940
1490
1491         GraphicsContext tracks the current composition mode so we should
1492         never call through to the QPainter directly.
1493
1494         * platform/graphics/GraphicsContext.h:
1495         * platform/graphics/qt/GraphicsContextQt.cpp:
1496         (WebCore::toQtCompositionMode): Changed this method to a static inline
1497         since it's only used by GraphicsContextQt.cpp now.
1498
1499         * platform/graphics/qt/ImageQt.cpp:
1500         (WebCore::Image::drawPattern):
1501         (WebCore::BitmapImage::draw):
1502
1503 2011-01-21  Dan Bernstein  <mitz@apple.com>
1504
1505         Reviewed by Adele Peterson.
1506
1507         Inconsistent handling of no-break space in justification logic
1508         https://bugs.webkit.org/show_bug.cgi?id=52938
1509
1510         Test: fast/text/justify-nbsp.html
1511
1512         * rendering/RenderBlockLineLayout.cpp:
1513         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Count no-break space as a
1514         space when computing the distribution of space between text boxes on the line.
1515
1516 2011-01-21  Charlie Reis  <creis@chromium.org>
1517
1518         Reviewed by Darin Fisher.
1519
1520         Crash in WebCore::HistoryController::itemsAreClones
1521         https://bugs.webkit.org/show_bug.cgi?id=52819
1522
1523         Adds sanity checks to help diagnose the crash.
1524
1525         * loader/HistoryController.cpp:
1526
1527 2011-01-21  Andreas Kling  <kling@webkit.org>
1528
1529         Reviewed by Ariya Hidayat.
1530
1531         [Qt] Let QPainter decide whether a composition mode is supported or not
1532
1533         Lacking Porter-Duff support in the paint engine shouldn't exclude the
1534         Source and Source-Over modes (and has nothing to do with the blend
1535         and raster-op modes.)
1536
1537         Delegate this decision to QPainter instead (this will cause warnings
1538         if an unsupported mode is used, but that's a good thing.)
1539
1540         * platform/graphics/qt/GraphicsContextQt.cpp:
1541         (WebCore::GraphicsContext::clearRect):
1542         (WebCore::GraphicsContext::setPlatformCompositeOperation):
1543         * platform/graphics/qt/TransparencyLayer.h:
1544         (WebCore::TransparencyLayer::TransparencyLayer):
1545
1546 2011-01-21  Chris Rogers  <crogers@google.com>
1547
1548         Reviewed by Kenneth Russell.
1549
1550         fix audio build: header file should be "Noncopyable.h" and not "NonCopyable.h"
1551         https://bugs.webkit.org/show_bug.cgi?id=52933
1552
1553         No new tests since this just fixes the build
1554
1555         * webaudio/RealtimeAnalyser.h:
1556
1557 2011-01-21  Chris Rogers  <crogers@google.com>
1558
1559         Reviewed by Kenneth Russell.
1560
1561         Fix audio build: change ChromiumBridge to PlatformBridge
1562         https://bugs.webkit.org/show_bug.cgi?id=52928
1563
1564         No new tests since audio API is not yet implemented.
1565
1566         * platform/audio/chromium/AudioBusChromium.cpp:
1567         (WebCore::AudioBus::loadPlatformResource):
1568
1569 2011-01-21  Chris Rogers  <crogers@google.com>
1570
1571         Reviewed by Kenneth Russell.
1572
1573         Add FFTFrameStub to avoid link errors during bringup on platforms without an FFT implementation
1574         https://bugs.webkit.org/show_bug.cgi?id=52922
1575
1576         No new tests since audio API is not yet implemented.
1577
1578         * WebCore.gypi:
1579         * platform/audio/FFTFrameStub.cpp: Added.
1580         (WebCore::FFTFrame::FFTFrame):
1581         (WebCore::FFTFrame::~FFTFrame):
1582         (WebCore::FFTFrame::multiply):
1583         (WebCore::FFTFrame::doFFT):
1584         (WebCore::FFTFrame::doInverseFFT):
1585         (WebCore::FFTFrame::cleanup):
1586         (WebCore::FFTFrame::realData):
1587         (WebCore::FFTFrame::imagData):
1588
1589 2011-01-21  Tony Chang  <tony@chromium.org>
1590
1591         Reviewed by Sam Weinig.
1592
1593         reduce number of FrameLoaderClient::didChangeScrollOffset calls
1594         https://bugs.webkit.org/show_bug.cgi?id=52915
1595
1596         Only notify of changes in scroll offset when there actually is a change.
1597         This regressed in r76291.
1598
1599         Covered by Chromium browser_tests.
1600
1601         * platform/ScrollAnimator.cpp:
1602         (WebCore::ScrollAnimator::scrollToOffsetWithoutAnimation):
1603
1604 2011-01-21  Pavel Feldman  <pfeldman@chromium.org>
1605
1606         Reviewed by Yury Semikhatsky.
1607
1608         Web Inspector: ~InspectorResourceAgent crashes on closing inspected page.
1609         https://bugs.webkit.org/show_bug.cgi?id=52900
1610
1611         * inspector/InspectorController.cpp:
1612         (WebCore::InspectorController::~InspectorController):
1613         (WebCore::InspectorController::inspectedPageDestroyed):
1614
1615 2011-01-21  Chris Rogers  <crogers@google.com>
1616
1617         Reviewed by Darin Fisher.
1618
1619         Add run-time enable support for the web audio API
1620         https://bugs.webkit.org/show_bug.cgi?id=52741
1621
1622         No new tests since audio API is not yet implemented.
1623
1624         * WebCore.exp.in:
1625         * bindings/generic/RuntimeEnabledFeatures.cpp:
1626         * bindings/generic/RuntimeEnabledFeatures.h:
1627         (WebCore::RuntimeEnabledFeatures::setWebkitAudioContextEnabled):
1628         (WebCore::RuntimeEnabledFeatures::webkitAudioContextEnabled):
1629         * page/DOMWindow.idl:
1630         * page/Settings.cpp:
1631         (WebCore::Settings::Settings):
1632         (WebCore::Settings::setWebAudioEnabled):
1633         * page/Settings.h:
1634         (WebCore::Settings::webAudioEnabled):
1635
1636 2011-01-21  Martin Robinson  <mrobinson@igalia.com>
1637
1638         Reviewed by Xan Lopez.
1639
1640         [GTK] Menulist text often collides with separator
1641         https://bugs.webkit.org/show_bug.cgi?id=51155
1642
1643         Move menulist rendering to RenderThemeGtk and correct padding code
1644         for separators in menulists.
1645
1646         * platform/gtk/RenderThemeGtk.cpp:
1647         (WebCore::RenderThemeGtk::RenderThemeGtk): Initialize new widget members.
1648         (WebCore::RenderThemeGtk::getComboBoxSeparatorWidth): Added.
1649         (WebCore::RenderThemeGtk::comboBoxArrowSize): Added.
1650         (WebCore::getButtonInnerBorder): Added.
1651         (WebCore::RenderThemeGtk::getComboBoxPadding): Do this manually instead of using
1652         Mozilla code.
1653         (WebCore::RenderThemeGtk::paintMenuList): Ditto.
1654         (WebCore::setupWidget): Abstracted this part of the setupWidgetAndAddToContainer
1655         out to handle child widgets of comboboxes.
1656         (WebCore::RenderThemeGtk::setupWidgetAndAddToContainer): Abstracted out setupWidget.
1657         (WebCore::RenderThemeGtk::gtkContainer): Added.
1658         (WebCore::getGtkComboBoxButton): Added.
1659         (WebCore::getGtkComboBoxPieces): Added.
1660         (WebCore::RenderThemeGtk::gtkComboBox): Call setupWidget here.
1661         (WebCore::RenderThemeGtk::refreshComboBoxChildren): Added.
1662         (WebCore::RenderThemeGtk::gtkComboBoxButton): Added.
1663         (WebCore::RenderThemeGtk::gtkComboBoxArrow): Added.
1664         (WebCore::RenderThemeGtk::gtkComboBoxSeparator): Added.
1665         * platform/gtk/RenderThemeGtk.h: Added new members and methods.
1666         * platform/gtk/WidgetRenderingContext.h: Added new members and methods.
1667         * platform/gtk/WidgetRenderingContextGtk2.cpp:
1668         (WebCore::WidgetRenderingContext::gtkPaintArrow):
1669         (WebCore::WidgetRenderingContext::gtkPaintVLine):
1670         * platform/gtk/WidgetRenderingContextGtk3.cpp:
1671         (WebCore::WidgetRenderingContext::gtkPaintArrow):
1672         (WebCore::WidgetRenderingContext::gtkPaintVLine):
1673         * platform/gtk/gtk2drawing.c: Removed code for drawing menulists and buttons.
1674         (moz_gtk_init):
1675         (moz_gtk_get_widget_border):
1676         (moz_gtk_widget_paint):
1677         * platform/gtk/gtk3drawing.c:
1678         (moz_gtk_init):
1679         (moz_gtk_get_widget_border):
1680         (moz_gtk_widget_paint):
1681         * platform/gtk/gtkdrawing.h:
1682
1683 2011-01-21  Sam Weinig  <sam@webkit.org>
1684
1685         Fix chromium mac build.
1686
1687         * platform/chromium/ScrollbarThemeChromiumMac.mm:
1688         (WebCore::scrollbarStateToThemeState):
1689         (WebCore::ScrollbarThemeChromiumMac::paint):
1690
1691 2011-01-21  Sam Weinig  <sam@webkit.org>
1692
1693         Fix the windows build.
1694
1695         * platform/ScrollbarThemeComposite.cpp:
1696         (WebCore::ScrollbarThemeComposite::paint):
1697
1698 2011-01-21  Chris Rogers  <crogers@google.com>
1699
1700         Reviewed by Kenneth Russell.
1701
1702         Add chromium bundled audio spatialization resources to WebAudio.grd
1703         https://bugs.webkit.org/show_bug.cgi?id=52651
1704
1705         No new tests since audio API is not yet implemented.
1706
1707         * WebCore.gyp/WebCore.gyp:
1708         * platform/audio/chromium/AudioBusChromium.cpp:
1709         (WebCore::AudioBus::loadPlatformResource):
1710
1711 2011-01-21  Xiyuan Xia  <xiyuan@chromium.org>
1712
1713         Reviewed by Tony Chang.
1714
1715         Use WebThemeEngine for relevant RenderTheme parts for chromium/linux.
1716         https://bugs.webkit.org/show_bug.cgi?id=52826
1717
1718         * platform/chromium/ChromiumBridge.h:
1719         * rendering/RenderThemeChromiumLinux.cpp:
1720         (WebCore::getWebThemeState):
1721         (WebCore::RenderThemeChromiumLinux::adjustSliderThumbSize):
1722         (WebCore::RenderThemeChromiumLinux::paintCheckbox):
1723         (WebCore::RenderThemeChromiumLinux::setCheckboxSize):
1724         (WebCore::RenderThemeChromiumLinux::paintRadio):
1725         (WebCore::RenderThemeChromiumLinux::setRadioSize):
1726         (WebCore::RenderThemeChromiumLinux::paintButton):
1727         (WebCore::RenderThemeChromiumLinux::paintTextField):
1728         (WebCore::RenderThemeChromiumLinux::paintMenuList):
1729         (WebCore::RenderThemeChromiumLinux::paintSliderTrack):
1730         (WebCore::RenderThemeChromiumLinux::paintSliderThumb):
1731         (WebCore::RenderThemeChromiumLinux::adjustInnerSpinButtonStyle):
1732         (WebCore::RenderThemeChromiumLinux::paintInnerSpinButton):
1733         (WebCore::RenderThemeChromiumLinux::paintProgressBar):
1734         * rendering/RenderThemeChromiumLinux.h:
1735         * rendering/RenderThemeChromiumSkia.cpp:
1736         (WebCore::RenderThemeChromiumSkia::setCheckboxSize):
1737         (WebCore::RenderThemeChromiumSkia::setSizeIfAuto):
1738         (WebCore::RenderThemeChromiumSkia::indeterminateProgressValueRectFor):
1739         * rendering/RenderThemeChromiumSkia.h:
1740
1741 2011-01-21  Sam Weinig  <sam@webkit.org>
1742
1743         Reviewed by Anders Carlsson.
1744
1745         Part 2 of "Cleanup Scrollbar/ScrollbarClient relationship"
1746         https://bugs.webkit.org/show_bug.cgi?id=52779
1747
1748         Rename ScrollbarClient -> ScrollableArea.
1749
1750         - Also replaces Scrollbar::setClient with Scrollbar::disconnectFromScrollableArea
1751           since that was its only use case.
1752
1753         * CMakeLists.txt:
1754         * GNUmakefile.am:
1755         * WebCore.gypi:
1756         * WebCore.pro:
1757         * WebCore.vcproj/WebCore.vcproj:
1758         * WebCore.xcodeproj/project.pbxproj:
1759         * accessibility/AccessibilityScrollbar.cpp:
1760         (WebCore::AccessibilityScrollbar::setValue):
1761         * css/CSSStyleSelector.cpp:
1762         (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
1763         * page/FrameView.h:
1764         * platform/PopupMenuClient.h:
1765         * platform/ScrollAnimator.cpp:
1766         (WebCore::ScrollAnimator::create):
1767         (WebCore::ScrollAnimator::ScrollAnimator):
1768         (WebCore::ScrollAnimator::scroll):
1769         (WebCore::ScrollAnimator::notityPositionChanged):
1770         * platform/ScrollAnimator.h:
1771         * platform/ScrollAnimatorWin.cpp:
1772         (WebCore::ScrollAnimator::create):
1773         (WebCore::ScrollAnimatorWin::ScrollAnimatorWin):
1774         (WebCore::ScrollAnimatorWin::scroll):
1775         * platform/ScrollAnimatorWin.h:
1776         * platform/ScrollView.cpp:
1777         (WebCore::ScrollView::scroll):
1778         (WebCore::ScrollView::updateScrollbars):
1779         (WebCore::ScrollView::wheelEvent):
1780         * platform/ScrollView.h:
1781         * platform/ScrollableArea.cpp: Copied from WebCore/platform/ScrollbarClient.cpp.
1782         (WebCore::ScrollableArea::ScrollableArea):
1783         (WebCore::ScrollableArea::~ScrollableArea):
1784         (WebCore::ScrollableArea::scroll):
1785         (WebCore::ScrollableArea::scrollToOffsetWithoutAnimation):
1786         (WebCore::ScrollableArea::scrollToXOffsetWithoutAnimation):
1787         (WebCore::ScrollableArea::scrollToYOffsetWithoutAnimation):
1788         (WebCore::ScrollableArea::setScrollOffsetFromAnimation):
1789         * platform/ScrollableArea.h: Copied from WebCore/platform/ScrollbarClient.h.
1790         * platform/Scrollbar.cpp:
1791         (WebCore::Scrollbar::createNativeScrollbar):
1792         (WebCore::Scrollbar::Scrollbar):
1793         (WebCore::Scrollbar::offsetDidChange):
1794         (WebCore::Scrollbar::autoscrollPressedPart):
1795         (WebCore::Scrollbar::moveThumb):
1796         (WebCore::Scrollbar::mouseMoved):
1797         (WebCore::Scrollbar::isWindowActive):
1798         (WebCore::Scrollbar::invalidateRect):
1799         (WebCore::Scrollbar::convertToContainingView):
1800         (WebCore::Scrollbar::convertFromContainingView):
1801         * platform/Scrollbar.h:
1802         (WebCore::Scrollbar::disconnectFromScrollableArea):
1803         (WebCore::Scrollbar::scrollableArea):
1804         * platform/ScrollbarClient.cpp: Removed.
1805         * platform/ScrollbarClient.h: Removed.
1806         * platform/ScrollbarThemeComposite.cpp:
1807         * platform/chromium/FramelessScrollView.h:
1808         * platform/chromium/ScrollbarThemeChromium.cpp:
1809         (WebCore::ScrollbarThemeChromium::paintTickmarks):
1810         * platform/efl/ScrollbarEfl.cpp:
1811         (Scrollbar::createNativeScrollbar):
1812         (ScrollbarEfl::ScrollbarEfl):
1813         (scrollbarEflEdjeMessage):
1814         * platform/efl/ScrollbarEfl.h:
1815         * platform/gtk/MainFrameScrollbarGtk.cpp:
1816         (MainFrameScrollbarGtk::create):
1817         (MainFrameScrollbarGtk::MainFrameScrollbarGtk):
1818         (MainFrameScrollbarGtk::gtkValueChanged):
1819         * platform/gtk/MainFrameScrollbarGtk.h:
1820         * platform/mac/ScrollAnimatorMac.h:
1821         * platform/mac/ScrollAnimatorMac.mm:
1822         (WebCore::ScrollAnimator::create):
1823         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
1824         (WebCore::ScrollAnimatorMac::scroll):
1825         * platform/mac/ScrollbarThemeMac.mm:
1826         (WebCore::ScrollbarThemeMac::paint):
1827         * platform/qt/ScrollbarQt.cpp:
1828         (WebCore::Scrollbar::contextMenu):
1829         * platform/win/PopupMenuWin.cpp:
1830         (WebCore::PopupMenuWin::scrollToRevealSelection):
1831         (WebCore::PopupMenuWin::wndProc):
1832         * platform/win/PopupMenuWin.h:
1833         * platform/win/ScrollbarThemeSafari.cpp:
1834         (WebCore::ScrollbarThemeSafari::paintTrackBackground):
1835         (WebCore::ScrollbarThemeSafari::paintButton):
1836         (WebCore::ScrollbarThemeSafari::paintThumb):
1837         * platform/wx/ScrollbarThemeWx.cpp:
1838         (WebCore::ScrollbarThemeWx::paint):
1839         * rendering/RenderDataGrid.h:
1840         * rendering/RenderLayer.cpp:
1841         (WebCore::RenderLayer::scrollToOffset):
1842         (WebCore::RenderLayer::destroyScrollbar):
1843         (WebCore::RenderLayer::scroll):
1844         * rendering/RenderLayer.h:
1845         * rendering/RenderListBox.cpp:
1846         (WebCore::RenderListBox::scrollToRevealElementAtListIndex):
1847         (WebCore::RenderListBox::scroll):
1848         (WebCore::RenderListBox::logicalScroll):
1849         (WebCore::RenderListBox::setScrollTop):
1850         (WebCore::RenderListBox::destroyScrollbar):
1851         * rendering/RenderListBox.h:
1852         * rendering/RenderMenuList.cpp:
1853         (WebCore::RenderMenuList::createScrollbar):
1854         * rendering/RenderMenuList.h:
1855         * rendering/RenderScrollbar.cpp:
1856         (WebCore::RenderScrollbar::createCustomScrollbar):
1857         (WebCore::RenderScrollbar::RenderScrollbar):
1858         * rendering/RenderScrollbar.h:
1859         * rendering/RenderTextControlSingleLine.cpp:
1860         (WebCore::RenderTextControlSingleLine::createScrollbar):
1861         * rendering/RenderTextControlSingleLine.h:
1862
1863 2011-01-21  Darin Adler  <darin@apple.com>
1864
1865         Fix Leopard build.
1866
1867         * rendering/mathml/RenderMathMLFraction.cpp:
1868         (WebCore::RenderMathMLFraction::layout): Use ceilf instead of ceil.
1869
1870 2011-01-21  Anton Muhin  <antonm@chromium.org>
1871
1872         Reviewed by Nate Chapin.
1873
1874         [v8] Properly deal with the case when conversion to string throws an exception for HTMLCollection accessors
1875         https://bugs.webkit.org/show_bug.cgi?id=52901
1876
1877         Test: fast/dom/htmlcollection-conversion-throws-exception.html
1878
1879         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
1880         (WebCore::getItem):
1881
1882 2011-01-21  Adam Roben  <aroben@apple.com>
1883
1884         Separate flushing layer changes from rendering in CACFLayerTreeHost
1885
1886         Old model:
1887           1) A change is made to a GraphicsLayer.
1888           2) CACFLayerTreeHost::flushPendingGraphicsLayerChangesSoon is called, which schedules the
1889              render timer.
1890           3) The timer fires, which calls through to CACFLayerTreeHost::render, which performs the
1891              flush and then renders.
1892
1893         New model:
1894           1) A change is made to a GraphicsLayer.
1895           2) CACFLayerTreeHost::flushPendingGraphicsLayerChangesSoon is called, which tells the new
1896              LayerChangesFlusher singleton that this host has changes that need to be flushed.
1897           3) LayerChangesFlusher sets up a Windows hook that will get called on the next iteration
1898              of the message loop.
1899           4) LayerChangesFlusher's hook is called, which calls through to
1900              CACFLayerTreeHost::flushPendingLayerChangesNow.
1901           5) CACFLayerTreeHost::flushPendingLayerChangesNow schedules the render timer so the changes
1902              that were just flushed to the context will be rendered.
1903
1904         When a change is made to a PlatformCALayer that doesn't have a corresponding GraphicsLayer
1905         (e.g., for rendering <video>), CACFLayerTreeHost::layerTreeDidChange takes care of
1906         scheduling the flush.
1907
1908         This change has three advantages:
1909           1) Whenever we flush layer changes, we first update layout. This can cause the page to
1910              leave compositing mode, which in turn can cause all references to the CACFLayerTreeHost
1911              to be dropped. By separating flushing (and thus updating layout) from rendering, we no
1912              longer have to worry about this happen during rendering.
1913           2) The new model is much more similar to how things work on the Mac, so will hopefully
1914              reduce the number of platform-specific bugs.
1915           3) CACFLayerTreeHost::shouldRender, which was used to make sure we didn't render while a
1916              layout was pending, is no longer needed. It actually hasn't been needed since at least
1917              r75987, but removing it before now would have resulted in a crash whenever a page came
1918              out of compositing mode due to (1).
1919
1920         Fixes <http://webkit.org/b/52852> Flushing layer changes and rendering are intertwined in
1921         CACFLayerTreeHost, but shouldn't be
1922
1923         Reviewed by Simon Fraser.
1924
1925         * WebCore.vcproj/WebCore.vcproj: Added LayerChangesFlusher.
1926
1927         * platform/graphics/ca/win/CACFLayerTreeHost.cpp: Added new #include, sorted existing
1928         #includes.
1929         (WebCore::CACFLayerTreeHost::CACFLayerTreeHost): Initialize new member.
1930         (WebCore::CACFLayerTreeHost::layerTreeDidChange): If we aren't already flushing changes,
1931         schedule a flush. Removed the call to renderSoon(), which now happens when the flush is
1932         finished.
1933         (WebCore::CACFLayerTreeHost::destroyRenderer): Cancel any pending flush we had scheduled. Also
1934         fixed a bug where we'd fail to clear the context's layer.
1935         (WebCore::CACFLayerTreeHost::render): Removed code to ask the client if we should render, which
1936         is no longer needed. Moved code to flush layer changes from here to
1937         flushPendingLayerChangesNow, which is called via the above-described mechanism.
1938         (WebCore::CACFLayerTreeHost::flushPendingGraphicsLayerChangesSoon): Schedule a flush. Removed
1939         code to schedule a render, which now happens after we've flushed.
1940         (WebCore::CACFLayerTreeHost::flushPendingLayerChangesNow): Added. Some of this code came from
1941         render(). First we flush GraphicsLayer changes from GraphicsLayers to their underlying
1942         PlatformCALayers, then we flush changes from PlatformCALayers to the context, then we
1943         schedule a render so that the changes will be rendered to the screen.
1944
1945         * platform/graphics/ca/win/CACFLayerTreeHost.h: Removed
1946         CACFLayerTreeHostClient::shouldRender. Added flushPendingLayerChangesNow and
1947         m_isFlushingLayerChanges.
1948
1949         * platform/graphics/ca/win/LayerChangesFlusher.cpp: Added.
1950         (WebCore::LayerChangesFlusher::shared):
1951         (WebCore::LayerChangesFlusher::LayerChangesFlusher):
1952         (WebCore::LayerChangesFlusher::flushPendingLayerChangesSoon):
1953         (WebCore::LayerChangesFlusher::cancelPendingFlush):
1954         (WebCore::LayerChangesFlusher::hookCallback):
1955         (WebCore::LayerChangesFlusher::hookFired):
1956         (WebCore::LayerChangesFlusher::setHook):
1957         (WebCore::LayerChangesFlusher::removeHook):
1958
1959         * platform/graphics/ca/win/LayerChangesFlusher.cpp: Added.
1960         (WebCore::LayerChangesFlusher::shared): Returns the singleton.
1961         (WebCore::LayerChangesFlusher::LayerChangesFlusher): Initialize our members.
1962         (WebCore::LayerChangesFlusher::flushPendingLayerChangesSoon): Add the host to the set of
1963         hosts with changes that need to be flushed, and set up our hook if we haven't already.
1964         (WebCore::LayerChangesFlusher::cancelPendingFlush): Remove the host from the set of hosts
1965         with changes that need to be flushed. If we have no more such hosts, remove our hook, unless
1966         we're currently in the process of calling out to our hosts, in which case we'll take care of
1967         the hook once we're done calling out.
1968         (WebCore::LayerChangesFlusher::hookCallback): This is the function that Windows calls when
1969         our hook fires. Just calls through to hookFired on the singleton.
1970         (WebCore::LayerChangesFlusher::hookFired): Tell all the hosts with changes that needed to be
1971         flushed that it's time to flush. If no hosts re-added themselves to our set during this
1972         process, remove our hook.
1973         (WebCore::LayerChangesFlusher::setHook): Calls through to ::SetWindowsHookExW.
1974         (WebCore::LayerChangesFlusher::removeHook): Calls through to ::UnhookWindowsHookEx.
1975
1976         * platform/graphics/ca/win/LayerChangesFlusher.h: Added.
1977
1978 2011-01-21  Simon Fraser  <simon.fraser@apple.com>
1979
1980         Reviewed by Sam Weinig.
1981
1982         GraphicsLayer should be non-copyable
1983         https://bugs.webkit.org/show_bug.cgi?id=52909
1984
1985         Use WTF_MAKE_NONCOPYABLE on GraphicsLayer, and WTF_MAKE_FAST_ALLOCATED
1986         on that and KeyframeValueList.
1987         
1988         * platform/graphics/GraphicsLayer.h:
1989
1990 2011-01-21  Simon Fraser  <simon.fraser@apple.com>
1991
1992         Reviewed by Sam Weinig.
1993
1994         Report the sized used by canvases and types arrays
1995         https://bugs.webkit.org/show_bug.cgi?id=52856
1996
1997         Report the memory cost associated with canvas elements,
1998         and typed arrays to JavaScript as extraCost, so that it
1999         can figure this into its GC behavior.
2000
2001         * bindings/js/JSArrayBufferViewHelper.h:
2002         (WebCore::toJSArrayBufferView): New templatized function, similar
2003         to getDOMObjectWrapper() but calls reportExtraMemoryCost() with
2004         the byteLength of the array.
2005         
2006         * bindings/js/JSFloat32ArrayCustom.cpp:
2007         (WebCore::toJS): Use toJSArrayBufferView.
2008         * bindings/js/JSInt16ArrayCustom.cpp:
2009         (WebCore::toJS): Use toJSArrayBufferView.
2010         * bindings/js/JSInt32ArrayCustom.cpp:
2011         (WebCore::toJS): Use toJSArrayBufferView.
2012         * bindings/js/JSInt8ArrayCustom.cpp:
2013         (WebCore::toJS): Use toJSArrayBufferView.
2014         * bindings/js/JSUint16ArrayCustom.cpp:
2015         (WebCore::toJS): Use toJSArrayBufferView.
2016         * bindings/js/JSUint32ArrayCustom.cpp:
2017         (WebCore::toJS): Use toJSArrayBufferView.
2018         * bindings/js/JSUint8ArrayCustom.cpp:
2019         (WebCore::toJS): Use toJSArrayBufferView.
2020
2021         * html/HTMLCanvasElement.cpp:
2022         (WebCore::HTMLCanvasElement::createImageBuffer): Call heap.reportExtraMemoryCost()
2023         with the size of the canvas backing store.
2024         
2025         * html/canvas/TypedArrayBase.h:
2026         (WebCore::TypedArrayBase::byteLength): byteLength needs to
2027         be public.
2028         
2029         * platform/graphics/ImageBuffer.h: Add dataSize() method.
2030         
2031         * platform/graphics/cairo/ImageBufferCairo.cpp:
2032         (WebCore::ImageBuffer::dataSize): Implement dataSize().
2033         * platform/graphics/cg/ImageBufferCG.cpp:
2034         (WebCore::ImageBuffer::dataSize): Implement dataSize().
2035         * platform/graphics/haiku/ImageBufferHaiku.cpp:
2036         (WebCore::ImageBuffer::dataSize): Implement dataSize().
2037         * platform/graphics/qt/ImageBufferQt.cpp:
2038         (WebCore::ImageBuffer::dataSize): Implement dataSize().
2039         * platform/graphics/skia/ImageBufferSkia.cpp:
2040         (WebCore::ImageBuffer::dataSize): Implement dataSize().
2041         * platform/graphics/wince/ImageBufferWinCE.cpp:
2042         (WebCore::ImageBuffer::dataSize): Implement dataSize().
2043         * platform/graphics/wx/ImageBufferWx.cpp:
2044         (WebCore::ImageBuffer::dataSize): Implement dataSize().
2045
2046 2011-01-21  Adam Roben  <aroben@apple.com>
2047
2048         Rename WKCACFLayerRenderer[Client] to CACFLayerTreeHost[Client]
2049
2050         Also renamed a few functions and data members to match.
2051
2052         Fixes <http://webkit.org/b/52898> WKCACFLayerRenderer sounds like a render object, but isn't
2053
2054         Reviewed by Simon Fraser.
2055
2056         * WebCore.vcproj/WebCore.vcproj: Updated files' names and paths.
2057
2058         * WebCore.vcproj/WebCoreQuartzCore.vsprops: Added platform/graphics/ca/win to the include
2059         path.
2060
2061         * WebCore.vcproj/copyForwardingHeaders.cmd: Copy headers from platform/graphics/ca/win, too.
2062
2063         * platform/graphics/ca/win/CACFLayerTreeHost.cpp: Renamed from Source/WebCore/platform/graphics/win/WKCACFLayerRenderer.cpp.
2064         * platform/graphics/ca/win/CACFLayerTreeHost.h: Renamed from Source/WebCore/platform/graphics/win/WKCACFLayerRenderer.h.
2065
2066         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
2067         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
2068         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h:
2069         Updated for renames.
2070
2071 2011-01-21  Patrick Gansterer  <paroga@paroga.com>
2072
2073         Original patch from François Sausset  <sausset@gmail.com>
2074
2075         Reviewed by Darin Adler.
2076
2077         Code cleaning in rendering/mathml/RenderMathMLFraction.cpp
2078         https://bugs.webkit.org/show_bug.cgi?id=52201
2079
2080         Replace unneeded doubles by floats and remove unneeded casts.
2081
2082         * rendering/mathml/RenderMathMLFraction.cpp:
2083         (WebCore::RenderMathMLFraction::paint):
2084         * rendering/mathml/RenderMathMLFraction.h:
2085
2086 2011-01-21  Dimitri Glazkov  <dglazkov@chromium.org>
2087
2088         Reviewed by Darin Adler.
2089
2090         REGRESSION(r73618): Clicking on a search input causes a crash.
2091         https://bugs.webkit.org/show_bug.cgi?id=52905
2092
2093         The problem is caused by TextControlInnerElement being used both as
2094         shadow root and an element in a shadow subtree. The code assumed it is
2095         only used as a shadow root.
2096
2097         Since this code is all just workaround for in-progress conversion to
2098         new shadow DOM, I am just adding a check. This code will disappear
2099         completely once bug 52788 is fixed.
2100
2101         Test: fast/dom/search-shadow-host-crash.html
2102
2103         * dom/Node.cpp:
2104         (WebCore::Node::setShadowHost): Added an ASSERT for early detection
2105             of attempting to stomp on the parentNode.
2106         * rendering/TextControlInnerElements.cpp:
2107         (WebCore::TextControlInnerElement::detach): Added a check to only
2108             clear shadow host if we have one.
2109
2110 2011-01-21  Adam Roben  <aroben@apple.com>
2111
2112         Replace some "sync compositing state" terminology with "flush pending GraphicsLayer changes"
2113
2114         This seems to be the direction in which our code is moving. I chose "GraphicsLayer" as
2115         opposed to just "layer" because there are cases where we flush changes to CACFLayers that
2116         don't have a corresponding GraphicsLayer.
2117
2118         Fixes <http://webkit.org/b/52894> "Sync compositing state" terminology in
2119         WKCACFLayerRenderer and friends is confusing
2120
2121         Reviewed by Simon Fraser.
2122
2123         * platform/graphics/win/WKCACFLayerRenderer.cpp:
2124         (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer):
2125         (WebCore::WKCACFLayerRenderer::render):
2126         Updated for renames.
2127
2128         (WebCore::WKCACFLayerRenderer::flushPendingGraphicsLayerChangesSoon): Renamed from
2129         syncCompositingStateSoon, and updated for other renames.
2130
2131         * platform/graphics/win/WKCACFLayerRenderer.h: Renamed m_syncLayerChanges to
2132         * m_shouldFlushPendingGraphicsLayerChanges.
2133         (WebCore::WKCACFLayerRendererClient::flushPendingGraphicsLayerChanges): Renamed from
2134         syncCompositingState.
2135
2136 2011-01-21  Adam Roben  <aroben@apple.com>
2137
2138         Clean up PlatformCAAnimationWin
2139
2140         Fixes <http://webkit.org/b/52904> PlatformCAAnimationWin is leaky and inefficient
2141
2142         Reviewed by Simon Fraser.
2143
2144         * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
2145         (toCACFFillModeType):
2146         (fromCACFFillModeType):
2147         (toCACFValueFunctionType):
2148         (fromCACFValueFunctionType):
2149         Changed to take and return CFStringRefs. There's no need to convert to WebCore::String just
2150         so we can later convert back to CFStringRef.
2151
2152         (toCACFTimingFunction): Fixed leaks by changing this to return a RetainPtr and adopting the
2153         results of CACFTimingFunctionCreate.
2154         (PlatformCAAnimation::PlatformCAAnimation): Changed not to needlessly roundtrip through
2155         WebCore::String. Also changed an ASSERT(0) to ASSERT_NOT_REACHED().
2156
2157         (PlatformCAAnimation::setFillMode):
2158         (PlatformCAAnimation::setTimingFunction):
2159         (PlatformCAAnimation::setValueFunction):
2160         (PlatformCAAnimation::setTimingFunctions):
2161         Updated for changes to the above conversion functions.
2162
2163 2011-01-21  Charlie Reis  <creis@chromium.org>
2164
2165         Reviewed by Darin Fisher.
2166
2167         FrameLoader::checkLoadCompleteForThisFrame uses wrong history item
2168         https://bugs.webkit.org/show_bug.cgi?id=48812
2169
2170         Most calls to stopAllLoaders now clear the history's provisional item(s).
2171         We can now avoid resetting the back/forward state if a new navigation
2172         is in progress.
2173
2174         Test: http/tests/navigation/back-twice-without-commit.html
2175         Test: http/tests/navigation/forward-and-cancel.html
2176
2177         * loader/FrameLoader.cpp:
2178         * loader/FrameLoader.h:
2179         * loader/FrameLoaderTypes.h:
2180         * WebCore.exp.in: Update stopAllLoaders signature.
2181
2182 2011-01-21  Carlos Garcia Campos  <cgarcia@igalia.com>
2183
2184         Reviewed by Martin Robinson.
2185
2186         [GTK] Show caps lock indicator in password fields
2187         https://bugs.webkit.org/show_bug.cgi?id=52878
2188
2189         Test: manual-tests/password-caps-lock.html
2190
2191         * platform/gtk/KeyEventGtk.cpp:
2192         (WebCore::PlatformKeyboardEvent::currentCapsLockState): Implement
2193         currentCapsLockState() using GDK API.
2194         * platform/gtk/RenderThemeGtk.cpp:
2195         (WebCore::RenderThemeGtk::paintCapsLockIndicator): Paint an icon
2196         in the password field when the caps lock modifier is locked.
2197         * platform/gtk/RenderThemeGtk.h:
2198
2199 2011-01-21  Pavel Podivilov  <podivilov@chromium.org>
2200
2201         Reviewed by Pavel Feldman.
2202
2203         Web Inspector: move sticky breakpoints management from InspectorController to InspectorBrowserDebuggerAgent.
2204         https://bugs.webkit.org/show_bug.cgi?id=52874
2205
2206         This is the first step of debugger api refactoring (see bug 52879).
2207         JavaScript breakpoints are still in the same list as native breakpoints and are restored by InspectorBrowserDebuggerAgent.
2208         The second step will be to move sticky JavaScript breakpoints to InspectorDebuggerAgent.
2209
2210         * inspector/Inspector.idl:
2211         * inspector/InspectorBrowserDebuggerAgent.cpp:
2212         (WebCore::InspectorBrowserDebuggerAgent::setAllBrowserBreakpoints):
2213         (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged):
2214         (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint):
2215         (WebCore::InspectorBrowserDebuggerAgent::discardBindings):
2216         (WebCore::InspectorBrowserDebuggerAgent::didInsertDOMNode):
2217         (WebCore::InspectorBrowserDebuggerAgent::didRemoveDOMNode):
2218         (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
2219         (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
2220         (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
2221         (WebCore::InspectorBrowserDebuggerAgent::hasBreakpoint):
2222         (WebCore::InspectorBrowserDebuggerAgent::updateSubtreeBreakpoints):
2223         * inspector/InspectorBrowserDebuggerAgent.h:
2224         * inspector/InspectorController.cpp:
2225         (WebCore::InspectorController::restoreInspectorStateFromCookie):
2226         (WebCore::InspectorController::connectFrontend):
2227         (WebCore::InspectorController::didCommitLoad):
2228         (WebCore::InspectorController::enableDebugger):
2229         (WebCore::InspectorController::resume):
2230         (WebCore::InspectorController::inspectedURL):
2231         * inspector/InspectorController.h:
2232         * inspector/InspectorState.cpp:
2233         (WebCore::InspectorState::InspectorState):
2234         * inspector/InspectorState.h:
2235         * inspector/front-end/BreakpointManager.js:
2236         (WebInspector.BreakpointManager):
2237         (WebInspector.BreakpointManager.prototype._saveBreakpoints):
2238
2239 2011-01-21  John Knottenbelt  <jknotten@chromium.org>
2240
2241         Reviewed by Jeremy Orlow.
2242
2243         Turn off uninitialized errors for ARM linux build.
2244         https://bugs.webkit.org/show_bug.cgi?id=52893
2245
2246         Fix ARM compiler breakage.
2247
2248         * WebCore.gyp/WebCore.gyp:
2249
2250 2011-01-21  Mikhail Naganov  <mnaganov@chromium.org>
2251
2252         Reviewed by Yury Semikhatsky.
2253
2254         Web Inspector: [Chromium] REGRESSION: Using the "Back" button
2255         while profiling causes renderer crash.
2256
2257         https://bugs.webkit.org/show_bug.cgi?id=52808
2258
2259         * inspector/InspectorProfilerAgent.cpp:
2260         (WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole):
2261         (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
2262
2263 2011-01-20  Ilya Tikhonovsky  <loislo@chromium.org>
2264
2265         Reviewed by Pavel Feldman.
2266
2267         Web Inspector: switch page/Console implementation from InspectorController to InspectorInstrumentation.
2268
2269         There are some places in WebCore where we still using direct InspectorController calls.
2270         The idea is to pass all the Inspector related calls via InspectorInstrumentaion which is the
2271         Inspector facade for WebCore.
2272
2273         https://bugs.webkit.org/show_bug.cgi?id=52869
2274
2275         * inspector/InspectorController.cpp:
2276         * inspector/InspectorController.h:
2277         * inspector/InspectorInstrumentation.cpp:
2278         (WebCore::InspectorInstrumentation::addProfileImpl):
2279         (WebCore::InspectorInstrumentation::profilerEnabledImpl):
2280         (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileNameImpl):
2281         * inspector/InspectorInstrumentation.h:
2282         (WebCore::InspectorInstrumentation::addProfile):
2283         (WebCore::InspectorInstrumentation::profilerEnabled):
2284         (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileName):
2285         * page/Console.cpp:
2286         (WebCore::Console::profile):
2287         (WebCore::Console::profileEnd):
2288
2289 2011-01-12  Pavel Podivilov  <podivilov@chromium.org>
2290
2291         Reviewed by Pavel Feldman.
2292
2293         Web Inspector: breakpoints are restored incorrectly when reverting live edit.
2294         https://bugs.webkit.org/show_bug.cgi?id=52300
2295
2296         Fix breakpoints restoring when reverting to old revision by using text diff.
2297         Move live edit logic from ScriptsPanel to DebuggerModel.
2298         Eliminate unnecessary editLine delegate in TextViewer.
2299
2300         * inspector/front-end/DebuggerModel.js:
2301         (WebInspector.DebuggerModel):
2302         (WebInspector.DebuggerModel.prototype.reset):
2303         (WebInspector.DebuggerModel.prototype.editScriptSource):
2304         (WebInspector.DebuggerModel.prototype._updateScriptSource):
2305         (WebInspector.DebuggerModel.prototype.get callFrames):
2306         (WebInspector.DebuggerModel.prototype.pausedScript):
2307         (WebInspector.DebuggerModel.prototype.resumedScript):
2308         * inspector/front-end/Script.js:
2309         (WebInspector.Script.prototype.get source):
2310         * inspector/front-end/ScriptView.js:
2311         (WebInspector.ScriptView):
2312         * inspector/front-end/ScriptsPanel.js:
2313         (WebInspector.ScriptsPanel):
2314         (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
2315         * inspector/front-end/SourceFrame.js:
2316         (WebInspector.SourceFrame):
2317         (WebInspector.SourceFrame.prototype._createViewerIfNeeded):
2318         (WebInspector.SourceFrame.prototype._doubleClick.didEditLine):
2319         (WebInspector.SourceFrame.prototype._doubleClick):
2320         * inspector/front-end/SourceView.js:
2321         (WebInspector.SourceView):
2322         * inspector/front-end/TextViewer.js:
2323         (WebInspector.TextViewer):
2324         (WebInspector.TextViewer.prototype._handleKeyDown):
2325         (WebInspector.TextViewer.prototype.editLine.finishEditing):
2326         (WebInspector.TextViewer.prototype.editLine):
2327         (WebInspector.TextChunk.prototype._createRow):
2328
2329 2011-01-21  Adam Klein  <adamk@chromium.org>
2330
2331         Reviewed by Eric Seidel.
2332
2333         [chromium] Rename ChromiumBridge to PlatformBridge
2334         https://bugs.webkit.org/show_bug.cgi?id=52471
2335
2336         No tests added as this is a rename; no change in behavior.
2337
2338         * WebCore.gypi:
2339         * bindings/v8/V8DOMWindowShell.cpp:
2340         (WebCore::reportFatalErrorInV8):
2341         * page/PageGroup.cpp:
2342         (WebCore::PageGroup::isLinkVisited):
2343         * platform/android/PlatformBridge.h:
2344         * platform/audio/chromium/AudioBusChromium.cpp:
2345         (WebCore::createBusFromInMemoryAudioFile):
2346         * platform/chromium/ChromiumBridge.h: Removed.
2347         * platform/chromium/ChromiumDataObjectLegacy.cpp:
2348         (WebCore::ChromiumDataObjectLegacy::getData):
2349         * platform/chromium/DragDataChromium.cpp:
2350         (WebCore::DragData::asURL):
2351         * platform/chromium/FileSystemChromium.cpp:
2352         (WebCore::deleteFile):
2353         (WebCore::deleteEmptyDirectory):
2354         (WebCore::getFileSize):
2355         (WebCore::getFileModificationTime):
2356         (WebCore::revealFolderInOS):
2357         (WebCore::directoryName):
2358         (WebCore::pathByAppendingComponent):
2359         (WebCore::makeAllDirectories):
2360         (WebCore::fileExists):
2361         (WebCore::openFile):
2362         (WebCore::closeFile):
2363         (WebCore::seekFile):
2364         (WebCore::truncateFile):
2365         (WebCore::readFromFile):
2366         (WebCore::writeToFile):
2367         * platform/chromium/LanguageChromium.cpp:
2368         (WebCore::platformDefaultLanguage):
2369         * platform/chromium/LinkHashChromium.cpp:
2370         (WebCore::visitedLinkHash):
2371         * platform/chromium/MIMETypeRegistryChromium.cpp:
2372         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2373         (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
2374         (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
2375         (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType):
2376         (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
2377         * platform/chromium/PasteboardChromium.cpp:
2378         (WebCore::Pasteboard::writeSelection):
2379         (WebCore::Pasteboard::writePlainText):
2380         (WebCore::Pasteboard::writeURL):
2381         (WebCore::Pasteboard::writeImage):
2382         (WebCore::Pasteboard::canSmartReplace):
2383         (WebCore::Pasteboard::plainText):
2384         (WebCore::Pasteboard::documentFragment):
2385         * platform/chromium/PlatformBridge.h:
2386         * platform/chromium/PlatformScreenChromium.cpp:
2387         (WebCore::screenDepth):
2388         (WebCore::screenDepthPerComponent):
2389         (WebCore::screenIsMonochrome):
2390         (WebCore::screenRect):
2391         (WebCore::screenAvailableRect):
2392         * platform/chromium/ReadableDataObject.cpp:
2393         (WebCore::ReadableDataObject::getData):
2394         (WebCore::ReadableDataObject::urlTitle):
2395         (WebCore::ReadableDataObject::htmlBaseUrl):
2396         (WebCore::ReadableDataObject::filenames):
2397         (WebCore::ReadableDataObject::ensureTypeCacheInitialized):
2398         * platform/chromium/SSLKeyGeneratorChromium.cpp:
2399         (WebCore::signedPublicKeyAndChallengeString):
2400         * platform/chromium/ScrollbarThemeChromium.cpp:
2401         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
2402         (WebCore::ScrollbarThemeChromiumLinux::scrollbarThickness):
2403         (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
2404         (WebCore::ScrollbarThemeChromiumLinux::paintButton):
2405         (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
2406         (WebCore::ScrollbarThemeChromiumLinux::buttonSize):
2407         (WebCore::ScrollbarThemeChromiumLinux::minimumThumbLength):
2408         * platform/chromium/ScrollbarThemeChromiumMac.mm:
2409         (WebCore::scrollbarStateToThemeState):
2410         (WebCore::ScrollbarThemeChromiumMac::paint):
2411         * platform/chromium/ScrollbarThemeChromiumWin.cpp:
2412         (WebCore::ScrollbarThemeChromiumWin::scrollbarThickness):
2413         (WebCore::ScrollbarThemeChromiumWin::paintTrackPiece):
2414         (WebCore::ScrollbarThemeChromiumWin::paintButton):
2415         (WebCore::ScrollbarThemeChromiumWin::paintThumb):
2416         (WebCore::ScrollbarThemeChromiumWin::buttonSize):
2417         * platform/chromium/SharedTimerChromium.cpp:
2418         (WebCore::setSharedTimerFiredFunction):
2419         (WebCore::setSharedTimerFireTime):
2420         (WebCore::stopSharedTimer):
2421         * platform/chromium/SuddenTerminationChromium.cpp:
2422         (WebCore::disableSuddenTermination):
2423         (WebCore::enableSuddenTermination):
2424         * platform/chromium/SystemTimeChromium.cpp:
2425         (WebCore::currentTime):
2426         * platform/chromium/WritableDataObject.cpp:
2427         (WebCore::WritableDataObject::setData):
2428         * platform/graphics/chromium/CrossProcessFontLoading.mm:
2429         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
2430         (WebCore::fontContainsCharacter):
2431         (WebCore::FillLogFont):
2432         * platform/graphics/chromium/FontCacheLinux.cpp:
2433         (WebCore::FontCache::getFontDataForCharacters):
2434         * platform/graphics/chromium/FontChromiumWin.cpp:
2435         (WebCore::Font::drawGlyphs):
2436         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
2437         (WebCore::FontPlatformData::scriptFontProperties):
2438         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
2439         (WebCore::FontPlatformData::querySystemForRenderStyle):
2440         * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
2441         (WebCore::fillBMPGlyphs):
2442         * platform/graphics/chromium/ImageChromium.cpp:
2443         (WebCore::Image::loadPlatformResource):
2444         * platform/graphics/chromium/ImageChromiumMac.mm:
2445         (WebCore::Image::loadPlatformResource):
2446         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
2447         (WebCore::SimpleFontData::platformInit):
2448         (WebCore::SimpleFontData::determinePitch):
2449         (WebCore::SimpleFontData::platformWidthForGlyph):
2450         * platform/graphics/chromium/UniscribeHelperTextRun.cpp:
2451         (WebCore::UniscribeHelperTextRun::tryToPreloadFont):
2452         * platform/graphics/skia/FontCustomPlatformData.cpp:
2453         (WebCore::FontCustomPlatformData::fontPlatformData):
2454         * platform/network/chromium/CookieJarChromium.cpp:
2455         (WebCore::setCookies):
2456         (WebCore::cookies):
2457         (WebCore::cookieRequestHeaderFieldValue):
2458         (WebCore::cookiesEnabled):
2459         (WebCore::getRawCookies):
2460         (WebCore::deleteCookie):
2461         * platform/network/chromium/DNSChromium.cpp:
2462         (WebCore::prefetchDNS):
2463         * platform/qt/PlatformBridge.h:
2464         * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
2465         (WebCore::SQLiteFileSystem::deleteDatabaseFile):
2466         (WebCore::SQLiteFileSystem::getDatabaseFileSize):
2467         * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
2468         (chromiumOpen):
2469         (chromiumDelete):
2470         (chromiumAccess):
2471         * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
2472         * plugins/chromium/PluginDataChromium.cpp:
2473         (WebCore::PluginCache::plugins):
2474         * rendering/RenderThemeChromiumMac.mm:
2475         (WebCore::RenderThemeChromiumMac::usesTestModeFocusRingColor):
2476         * rendering/RenderThemeChromiumSkia.cpp:
2477         (WebCore::RenderThemeChromiumSkia::caretBlinkInterval):
2478         * rendering/RenderThemeChromiumWin.cpp:
2479         (WebCore::RenderThemeChromiumWin::platformActiveSelectionBackgroundColor):
2480         (WebCore::RenderThemeChromiumWin::platformInactiveSelectionBackgroundColor):
2481         (WebCore::RenderThemeChromiumWin::platformActiveSelectionForegroundColor):
2482         (WebCore::RenderThemeChromiumWin::systemColor):
2483         (WebCore::RenderThemeChromiumWin::paintButton):
2484         (WebCore::RenderThemeChromiumWin::paintSliderTrack):
2485         (WebCore::menuListButtonWidth):
2486         (WebCore::RenderThemeChromiumWin::paintMenuList):
2487         (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
2488         (WebCore::RenderThemeChromiumWin::paintInnerSpinButton):
2489         (WebCore::RenderThemeChromiumWin::paintProgressBar):
2490         * storage/chromium/IDBFactoryBackendInterface.cpp:
2491         (WebCore::IDBFactoryBackendInterface::create):
2492         (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface):
2493         * storage/chromium/IDBKeyPathBackendImpl.cpp:
2494         (WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath):
2495
2496 2011-01-21  Sheriff Bot  <webkit.review.bot@gmail.com>
2497
2498         Unreviewed, rolling out r76335.
2499         http://trac.webkit.org/changeset/76335
2500         https://bugs.webkit.org/show_bug.cgi?id=52875
2501
2502         profiler tests were broken (Requested by loislo on #webkit).
2503
2504         * inspector/InspectorController.cpp:
2505         (WebCore::InspectorController::addProfile):
2506         (WebCore::InspectorController::getCurrentUserInitiatedProfileName):
2507         * inspector/InspectorController.h:
2508         * inspector/InspectorInstrumentation.cpp:
2509         (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsoleImpl):
2510         * inspector/InspectorInstrumentation.h:
2511         (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsole):
2512         (WebCore::InspectorInstrumentation::inspectorControllerWithFrontendForPage):
2513         * page/Console.cpp:
2514         (WebCore::Console::profile):
2515         (WebCore::Console::profileEnd):
2516
2517 2011-01-21  Ilya Tikhonovsky  <loislo@chromium.org>
2518
2519         Reviewed by Yury Semikhatsky.
2520
2521         Web Inspector: switch page/Console implementation from InspectorController to InspectorInstrumentation.
2522
2523         There are some places in WebCore where we still using direct InspectorController calls.
2524         The idea is to pass all the Inspector related calls via InspectorInstrumentaion which is the
2525         Inspector facade for WebCore.
2526
2527         https://bugs.webkit.org/show_bug.cgi?id=52869
2528
2529         * inspector/InspectorController.cpp:
2530         * inspector/InspectorController.h:
2531         * inspector/InspectorInstrumentation.cpp:
2532         (WebCore::InspectorInstrumentation::addProfileImpl):
2533         (WebCore::InspectorInstrumentation::profilerEnabledImpl):
2534         (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileNameImpl):
2535         * inspector/InspectorInstrumentation.h:
2536         (WebCore::InspectorInstrumentation::addProfile):
2537         (WebCore::InspectorInstrumentation::profilerEnabled):
2538         (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileName):
2539         * page/Console.cpp:
2540         (WebCore::Console::profile):
2541         (WebCore::Console::profileEnd):
2542
2543 2011-01-20  Sam Weinig  <sam@webkit.org>
2544
2545         Reviewed by Gavin Barraclough.
2546
2547         Fix failing tests from r76291.
2548
2549         * platform/ScrollView.cpp:
2550         (WebCore::ScrollView::scrollPosition):
2551         (WebCore::ScrollView::updateScrollbars):
2552         Take the scroll origin into account in more places.
2553
2554 2011-01-20  Kent Tamura  <tkent@chromium.org>
2555
2556         Unreviewed, sorting an Xcode project file.
2557
2558         * WebCore.xcodeproj/project.pbxproj:
2559
2560 2011-01-20  Ben Vanik  <ben.vanik@gmail.com>
2561
2562         Reviewed by Kenneth Russell.
2563
2564         Implementation of the OES_standard_derivatives WebGL extension.
2565         https://bugs.webkit.org/show_bug.cgi?id=51678
2566
2567         Changes are modeled off of the existing OESTextureFloat extension. New files,
2568         extension retrieval, etc all match the existing code.
2569
2570         Changed ANGLEWebKitBridge to allow for multiple sets of the ANGLE shader compiler
2571         options. This supports the enabling of the standard derivatives flag when the
2572         extension is enabled. Refactored the cleanup code to make the destruction of the
2573         compilers (if they had been created) cleaner.
2574
2575         Tested with the WebGL conformance test:
2576         https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/conformance/oes-standard-derivatives.html
2577         Passes on WebKit/OSX, Chromium/OSX, and Chromium/Windows.
2578
2579         * CMakeLists.txt:
2580         * DerivedSources.make:
2581         * GNUmakefile.am:
2582         * WebCore.gypi:
2583         * WebCore.pri:
2584         * WebCore.pro:
2585         * WebCore.xcodeproj/project.pbxproj:
2586         * bindings/js/JSWebGLRenderingContextCustom.cpp:
2587         (WebCore::toJS):
2588         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
2589         (WebCore::toV8Object):
2590         * html/canvas/OESStandardDerivatives.cpp: Added.
2591         (WebCore::OESStandardDerivatives::OESStandardDerivatives):
2592         (WebCore::OESStandardDerivatives::~OESStandardDerivatives):
2593         (WebCore::OESStandardDerivatives::getName):
2594         (WebCore::OESStandardDerivatives::create):
2595         * html/canvas/OESStandardDerivatives.h: Added.
2596         * html/canvas/OESStandardDerivatives.idl: Added.
2597         * html/canvas/WebGLExtension.h:
2598         * html/canvas/WebGLRenderingContext.cpp:
2599         (WebCore::WebGLRenderingContext::getExtension): Enable and return the new extension.
2600         (WebCore::WebGLRenderingContext::getParameter): Support extension enum when enabled.
2601         (WebCore::WebGLRenderingContext::getSupportedExtensions): 
2602         (WebCore::WebGLRenderingContext::hint): Validate extension enum when enabled.
2603         (WebCore::WebGLRenderingContext::getNumberOfExtensions):
2604         (WebCore::WebGLRenderingContext::getExtensionNumber):
2605         * html/canvas/WebGLRenderingContext.h:
2606         * platform/graphics/ANGLEWebKitBridge.cpp:
2607         (WebCore::ANGLEWebKitBridge::~ANGLEWebKitBridge): Cleaned up compiler cleanup.
2608         (WebCore::ANGLEWebKitBridge::cleanupCompilers): Destruct compilers.
2609         (WebCore::ANGLEWebKitBridge::setResources): Cleanup existing compilers when changing
2610         ANGLE settings.
2611         (WebCore::ANGLEWebKitBridge::validateShaderSource): Cleaned up compiler cleanup on error.
2612         * platform/graphics/ANGLEWebKitBridge.h:
2613         (WebCore::ANGLEWebKitBridge::getResources):
2614         * platform/graphics/Extensions3D.h: Added enumeration for the extension.
2615         * platform/graphics/GraphicsContext3D.h: lumbing for GraphicsContext3D.
2616         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
2617         (WebCore::Extensions3DOpenGL::Extensions3DOpenGL): Plumbed through a pointer to the
2618         GraphicsContext3D to handle resetting the shader compilers.
2619         (WebCore::Extensions3DOpenGL::supports): Desktop GL always supports this extension,
2620         so always return true.
2621         (WebCore::Extensions3DOpenGL::ensureEnabled): Reset shader compilers as required.
2622         * platform/graphics/opengl/Extensions3DOpenGL.h: Plumbing for GraphicsContext3D.
2623         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
2624         (WebCore::GraphicsContext3D::getExtensions): Plumbing for GraphicsContext3D to
2625         Extensions3DOpenGL.
2626
2627 2011-01-20  Xiaomei Ji  <xji@chromium.org>
2628
2629         Reviewed by Dan Bernstein.
2630
2631         Fix regression(r71566): PDF in RTL block might messes up text directionality.
2632         https://bugs.webkit.org/show_bug.cgi?id=52776
2633
2634         Test: fast/dom/52776.html
2635
2636         * platform/text/BidiResolver.h:
2637         (WebCore::::checkDirectionInLowerRaiseEmbeddingLevel):
2638         (WebCore::::lowerExplicitEmbeddingLevel):
2639         (WebCore::::raiseExplicitEmbeddingLevel):
2640         (WebCore::::createBidiRunsForLine):
2641
2642 2011-01-20  Beth Dakin  <bdakin@apple.com>
2643
2644         Reviewed by Anders Carlsson.
2645
2646         Follow-on for <rdar://problem/8890255>
2647
2648         This fixes a painting error with ScrollbarPainter scrollers
2649         and the new drawing area code path.
2650         * platform/mac/ScrollbarThemeMac.mm:
2651         (WebCore::updateArrowPlacement):
2652
2653 2011-01-20  Levi Weintraub  <leviw@chromium.org>
2654
2655         Unreviewed.
2656
2657         Fixing build breakage.
2658
2659         * editing/SelectionController.cpp:
2660         (WebCore::SelectionController::willBeModified):
2661
2662 2011-01-20  Levi Weintraub  <leviw@chromium.org>
2663
2664         Reviewed by Ryosuke Niwa.
2665
2666         RTL: Caret goes to the opposite direction when pressing an arrow key after selection is made
2667         https://bugs.webkit.org/show_bug.cgi?id=49511
2668
2669         Test: editing/selection/rtl-move-selection-right-left.html
2670
2671         * editing/SelectionController.cpp:
2672         (WebCore::SelectionController::willBeModified):
2673         Respecting the direction of the containing block when switching selection base and extent in
2674         RTL content.
2675
2676         (WebCore::SelectionController::modifyMovingRight):
2677         (WebCore::SelectionController::modifyMovingLeft):
2678         Using directionOfEnclosingBlock when deciding to use the selection start or end to do the
2679         correct thing for RTL.
2680
2681 2011-01-20  Nate Chapin  <japhet@chromium.org>
2682
2683         Reviewed by Adam Barth.
2684
2685         Null-check m_frame in DOMWindow::setLocation(), since it's
2686         possible to reach this point without it having been checked
2687         already.
2688         https://bugs.webkit.org/show_bug.cgi?id=52769
2689
2690         Test: fast/dom/Window/Location/set-location-after-close.html
2691
2692         * page/DOMWindow.cpp:
2693         (WebCore::DOMWindow::setLocation):
2694
2695 2011-01-20  Chang Shu  <chang.shu@nokia.com>
2696
2697         Reviewed by Darin Adler.
2698
2699         setContentEditable with invalid string should throw exception.
2700         https://bugs.webkit.org/show_bug.cgi?id=52057
2701
2702         Implemented exception throwing for setContentEditable according to the following spec:
2703         http://www.whatwg.org/specs/web-apps/current-work/multipage/editing.html#attr-contenteditable
2704         Related quotas: "On setting, if the new value is an ASCII case-insensitive match for the 
2705         string 'inherit' then the content attribute must be removed, if the new value is an ASCII 
2706         case-insensitive match for the string 'true' then the content attribute must be set to the 
2707         string 'true', if the new value is an ASCII case-insensitive match for the string 'false' 
2708         then the content attribute must be set to the string 'false', and otherwise the attribute 
2709         setter must raise a SYNTAX_ERR exception."
2710
2711         * html/HTMLElement.cpp:
2712         (WebCore::HTMLElement::setContentEditable): Throw exception on invalid input strings; Make setting values case-insensitive and also convert them to lower cases according to the spec.
2713         * html/HTMLElement.h: Add additional parameter ExceptionCode& for function setContentEditable.
2714         * html/HTMLElement.idl: Add exception throwing support for contentEditable setter.
2715
2716 2011-01-19  Adrienne Walker  <enne@google.com>
2717
2718         Reviewed by James Robinson.
2719
2720         [chromium] Composited render surfaces should allow writes to alpha channel.
2721         https://bugs.webkit.org/show_bug.cgi?id=52766
2722
2723         Test: LayoutTests/platform/chromium/compositing
2724
2725         * platform/graphics/chromium/LayerRendererChromium.cpp:
2726         (WebCore::LayerRendererChromium::drawLayers):
2727
2728 2011-01-14  Jer Noble  <jer.noble@apple.com>
2729
2730         Reviewed by Eric Carlson.
2731
2732         REGRESSION (r71842): Compass video is not playing in Safari welcome page
2733         https://bugs.webkit.org/show_bug.cgi?id=52506
2734
2735         New test: LayoutTests/media/video-currentTime-delay.html
2736
2737         Call invalidateCachedTime() every time one of the cached property dependencies changes,
2738         i.e. m_paused and m_playbackRate.
2739
2740         * html/HTMLMediaElement.cpp:
2741         (WebCore::HTMLMediaElement::prepareForLoad):
2742         (WebCore::HTMLMediaElement::setReadyState):
2743         (WebCore::HTMLMediaElement::setPlaybackRate):
2744         (WebCore::HTMLMediaElement::mediaPlayerRateChanged):
2745
2746 2011-01-20  Beth Dakin  <bdakin@apple.com>
2747
2748         Reviewed by Geoffrey Garen.
2749
2750         Fix for <rdar://problem/8890255>
2751
2752         Allow WebKitSystemInterface to draw scrollbars 
2753         when appropriate.
2754         * WebCore.exp.in:
2755         * platform/mac/ScrollbarThemeMac.mm:
2756         (WebCore::scrollbarMap):
2757         (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
2758         (WebCore::ScrollbarThemeMac::registerScrollbar):
2759         (WebCore::ScrollbarThemeMac::unregisterScrollbar):
2760         (WebCore::ScrollbarThemeMac::paint):
2761         * platform/mac/WebCoreSystemInterface.h:
2762         * platform/mac/WebCoreSystemInterface.mm:
2763
2764 2011-01-20  Sam Weinig  <sam@webkit.org>
2765
2766         Reviewed by Dave Hyatt.
2767
2768         Cleanup Scrollbar/ScrollbarClient relationship
2769         https://bugs.webkit.org/show_bug.cgi?id=52779
2770
2771         Pipe all scrolling through the ScrollbarClient/ScrollAnimator
2772         rather than through the Scrollbar. The Scrollbar now is just
2773         a "view" on the scroll position of the scrollable area it is
2774         attached to.
2775
2776         There are now two ways to scroll a scrollable area:
2777         - ScrollbarClient::scroll()
2778         - ScrollbarClient::scrollToOffsetWithoutAnimation()
2779
2780         Both of these go through the ScrollAnimator (updating its state
2781         or starting an animation). The ScrollAnimator, in turn, now calls
2782         ScrollbarClient::setScrollOffsetFromAnimation, which tells the
2783         Scrollbars to pull a new offset (via Scrollbar::offsetDidChange)
2784         and tells the class that derives from ScrollbarClient to scroll
2785         its contents (via ScrollbarClient::setScrollOffset).
2786
2787         * WebCore.xcodeproj/project.pbxproj:
2788         Move Scrollbar.cpp to the right place.
2789
2790         * accessibility/AccessibilityScrollbar.cpp:
2791         (WebCore::AccessibilityScrollbar::setValue):
2792         Initiate the scroll through the scrollbar client, rather than the
2793         scrollbar itself.
2794
2795         * page/FrameView.cpp:
2796         (WebCore::FrameView::scrollTo):
2797         * page/FrameView.h:
2798         Condense the two valueChanged overrides to a single override of the
2799         scrollTo function.
2800
2801         * platform/ScrollAnimator.cpp:
2802         (WebCore::ScrollAnimator::scroll):
2803         (WebCore::ScrollAnimator::scrollToOffsetWithoutAnimation):
2804         (WebCore::ScrollAnimator::currentPosition):
2805         (WebCore::ScrollAnimator::notityPositionChanged):
2806         * platform/ScrollAnimator.h:
2807         * platform/ScrollAnimatorWin.cpp:
2808         (WebCore::ScrollAnimatorWin::scrollToOffsetWithoutAnimation):
2809         (WebCore::ScrollAnimatorWin::animateScroll):
2810         * platform/ScrollAnimatorWin.h:
2811         * platform/mac/ScrollAnimatorMac.h:
2812         * platform/mac/ScrollAnimatorMac.mm:
2813         (WebCore::ScrollAnimatorMac::scrollToOffsetWithoutAnimation):
2814         (WebCore::ScrollAnimatorMac::immediateScrollToPoint):
2815         Change setScrollPositionAndStopAnimation to scrollToOffsetWithoutAnimation
2816         and bottleneck all client notification of changed position through a new
2817         notityPositionChanged() function.
2818
2819         * platform/ScrollView.cpp:
2820         (WebCore::ScrollView::setScrollOffset):
2821         (WebCore::ScrollView::scrollTo):
2822         (WebCore::ScrollView::scrollPosition):
2823         (WebCore::ScrollView::scroll):
2824         (WebCore::ScrollView::updateScrollbars):
2825         (WebCore::ScrollView::wheelEvent):
2826         * platform/ScrollView.h:
2827         (WebCore::ScrollView::horizontalScrollbar):
2828         (WebCore::ScrollView::verticalScrollbar):
2829         Update to scroll via the ScrollbarClient rather than the Scrollbar.
2830
2831         * platform/Scrollbar.cpp:
2832         (WebCore::Scrollbar::offsetDidChange):
2833         (WebCore::Scrollbar::autoscrollPressedPart):
2834         (WebCore::Scrollbar::moveThumb):
2835         (WebCore::Scrollbar::mouseMoved):
2836         * platform/Scrollbar.h:
2837         (WebCore::Scrollbar::setPressedPos):
2838         Change the scrollbar to only updates its offset in response to
2839         an offsetDidChange call.
2840
2841         * platform/ScrollbarClient.cpp:
2842         (WebCore::ScrollbarClient::scroll):
2843         (WebCore::ScrollbarClient::scrollToOffsetWithoutAnimation):
2844         (WebCore::ScrollbarClient::scrollToXOffsetWithoutAnimation):
2845         (WebCore::ScrollbarClient::scrollToYOffsetWithoutAnimation):
2846         (WebCore::ScrollbarClient::setScrollOffsetFromAnimation):
2847         * platform/ScrollbarClient.h:
2848         (WebCore::ScrollbarClient::horizontalScrollbar):
2849         (WebCore::ScrollbarClient::verticalScrollbar):
2850         Make the increasingly misnamed ScrollbarClient responsible for
2851         scrolling.
2852
2853         * platform/efl/ScrollbarEfl.cpp:
2854         (scrollbarEflEdjeMessage):
2855         * platform/gtk/MainFrameScrollbarGtk.cpp:
2856         (MainFrameScrollbarGtk::gtkValueChanged):
2857         * platform/qt/ScrollbarQt.cpp:
2858         (WebCore::Scrollbar::contextMenu):
2859         Update to move scrolling through the client.
2860
2861         * platform/win/PopupMenuWin.cpp:
2862         (WebCore::PopupMenuWin::scrollToRevealSelection):
2863         (WebCore::PopupMenuWin::scrollPosition):
2864         (WebCore::PopupMenuWin::setScrollOffset):
2865         (WebCore::PopupMenuWin::scrollTo):
2866         (WebCore::PopupMenuWin::wndProc):
2867         * platform/win/PopupMenuWin.h:
2868         (WebCore::PopupMenuWin::verticalScrollbar):
2869         * rendering/RenderLayer.cpp:
2870         (WebCore::RenderLayer::scrollToOffset):
2871         (WebCore::RenderLayer::scrollTo):
2872         (WebCore::RenderLayer::setScrollOffset):
2873         (WebCore::RenderLayer::scrollPosition):
2874         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
2875         (WebCore::RenderLayer::scroll):
2876         * rendering/RenderLayer.h:
2877         * rendering/RenderListBox.cpp:
2878         (WebCore::RenderListBox::scrollToRevealElementAtListIndex):
2879         (WebCore::RenderListBox::scroll):
2880         (WebCore::RenderListBox::logicalScroll):
2881         (WebCore::RenderListBox::scrollPosition):
2882         (WebCore::RenderListBox::setScrollOffset):
2883         (WebCore::RenderListBox::scrollTo):
2884         (WebCore::RenderListBox::setScrollTop):
2885         * rendering/RenderListBox.h:
2886         (WebCore::RenderListBox::verticalScrollbar):
2887         Update to scroll via the ScrollbarClient rather than the Scrollbar.
2888
2889         * rendering/RenderMarquee.cpp:
2890         (WebCore::RenderMarquee::start):
2891         Simplify initial paint to just do an immediate scroll to the position.
2892
2893 2011-01-20  Patrick Gansterer  <paroga@webkit.org>
2894
2895         Unreviewed WinCE build fix for r76170.
2896
2897         * platform/graphics/wince/FontWinCE.cpp: Added a missing include.
2898         * platform/graphics/wince/ImageBufferData.h: Added a missing include and fixed style.
2899
2900 2011-01-20  James Robinson  <jamesr@chromium.org>
2901
2902         Reviewed by Darin Fisher.
2903
2904         Implement mozilla's requestAnimationFrame API
2905         https://bugs.webkit.org/show_bug.cgi?id=51218
2906
2907         This implements mozilla's proposed requestAnimationFrame API.  The idea with this API is that
2908         an author driving an animation from script could use window.requestAnimationFrame(callback)
2909         instead of window.setTimeout(callback, 0) to schedule their update logic and let the browser
2910         decide when to update the animations.  This avoids doing unnecessary work when the page content
2911         is offscreen or is being displayed at a different framerate than what the page author expects.
2912
2913         Mozilla's proposal is here: https://developer.mozilla.org/en/DOM/window.mozRequestAnimationFrame
2914         This implements window.mozRequestAnimationFrame as window.webkitRequestAnimationFrame with the
2915         following changes:
2916         *) Only the callback syntax is supported, there is no before paint event
2917         *) webkitRequestAnimationFrame supports a second parameter Element to let the author indicate
2918             what content they intend to animate.  That way if the page is being displayed but the element
2919             in question is offscreen, we can avoid invoking the callback.
2920         *) No timestamp is provided to the caller and there is no window.animationStartTime property
2921             (see https://bugs.webkit.org/show_bug.cgi?id=51952 for discussion of this property)
2922         *) window.webkitRequestAnimationFrame returns a numerical id that can be used to cancel the callback
2923             using window.cancelWebkitRequestAnimationFrame, to parallel window.setTimeout()/window.clearTime().
2924
2925         The implementation depends on the embedder scheduling the callbacks since the callback invocation
2926         depends on the page's visibility and the embedder's paint scheduling, neither of which are exposed
2927         to WebCore.  The expectation for the embedder is that at some point Chrome::scheduleAnimation() is
2928         called FrameView::serviceScriptedAnimations() should be called for the associated Page's main frame.
2929         Ideally serviceScriptedAnimations() would be called prior to rendering - although in practice the
2930         embedder has to rate limit callbacks and may not be able to tie the callback directly to the
2931         rendering loop.
2932
2933         Tests: fast/animation/request-animation-frame-cancel.html
2934                fast/animation/request-animation-frame-cancel2.html
2935                fast/animation/request-animation-frame-display.html
2936                fast/animation/request-animation-frame-within-callback.html
2937                fast/animation/request-animation-frame.html
2938
2939         * WebCore.gypi:
2940         * dom/Document.cpp:
2941         (WebCore::Document::Document):
2942         (WebCore::Document::webkitRequestAnimationFrame):
2943         (WebCore::Document::webkitCancelRequestAnimationFrame):
2944         (WebCore::Document::serviceScriptedAnimations):
2945         * dom/Document.h:
2946         * dom/RequestAnimationFrameCallback.h: Added.
2947         (WebCore::RequestAnimationFrameCallback::~RequestAnimationFrameCallback):
2948         * dom/RequestAnimationFrameCallback.idl: Added.
2949         * loader/EmptyClients.h:
2950         (WebCore::EmptyChromeClient::scheduleAnimation):
2951         * page/Chrome.cpp:
2952         (WebCore::Chrome::scheduleAnimation):
2953         * page/Chrome.h:
2954         * page/ChromeClient.h:
2955         * page/DOMWindow.cpp:
2956         (WebCore::DOMWindow::webkitRequestAnimationFrame):
2957         (WebCore::DOMWindow::webkitCancelRequestAnimationFrame):
2958         * page/DOMWindow.h:
2959         * page/DOMWindow.idl:
2960         * page/FrameView.cpp:
2961         (WebCore::FrameView::scheduleAnimation):
2962         (WebCore::FrameView::serviceScriptedAnimations):
2963         * page/FrameView.h:
2964         * platform/HostWindow.h:
2965
2966 2011-01-20  James Robinson  <jamesr@chromium.org>
2967
2968         Reviewed by Nate Chapin.
2969
2970         [v8] CodeGeneratorV8 generates incorrect code for callbacks with no parameters
2971         https://bugs.webkit.org/show_bug.cgi?id=52837
2972
2973         When generating code to invoke a callback with no parameters CodeGeneratorV8.pm was generating the following:
2974         v8::Handle<v8::Value> argv[] = {}; which does not compile in visual studio.  Instead, if the argument count
2975         is 0, we can just pass a NULL pointer for the argv parameter.
2976
2977         Test added to bindings/scripts/test/TestCallback.idl and covered by run-bindings-tests.  This
2978         patch also includes some spurious changes to the bindings tests golden files (mostly GObject)
2979         because the old golden files were out of date.
2980
2981         * bindings/scripts/CodeGeneratorV8.pm:
2982         * bindings/scripts/test/CPP/WebDOMTestCallback.cpp:
2983         (WebDOMTestCallback::callbackWithNoParam):
2984         * bindings/scripts/test/CPP/WebDOMTestCallback.h:
2985         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
2986         (webkit_dom_test_callback_callback_with_no_param):
2987         * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
2988         * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
2989         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
2990         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
2991         * bindings/scripts/test/JS/JSTestCallback.cpp:
2992         (WebCore::JSTestCallback::callbackWithNoParam):
2993         * bindings/scripts/test/JS/JSTestCallback.h:
2994         * bindings/scripts/test/JS/JSTestInterface.cpp:
2995         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
2996         * bindings/scripts/test/JS/JSTestObj.cpp:
2997         * bindings/scripts/test/ObjC/DOMTestCallback.h:
2998         * bindings/scripts/test/ObjC/DOMTestCallback.mm:
2999         (-[DOMTestCallback callbackWithNoParam]):
3000         * bindings/scripts/test/TestCallback.idl:
3001         * bindings/scripts/test/V8/V8TestCallback.cpp:
3002         (WebCore::V8TestCallback::callbackWithNoParam):
3003         * bindings/scripts/test/V8/V8TestCallback.h:
3004         * bindings/scripts/test/V8/V8TestObj.cpp:
3005         (WebCore::TestObjInternal::reflectedUnsignedIntegralAttrAttrGetter):
3006
3007 2011-01-20  James Robinson  <jamesr@chromium.org>
3008
3009         Reviewed by Eric "Baller" Seidel.
3010
3011         RenderTableSection's setNeedsCellRecalc needs to null check table()
3012         https://bugs.webkit.org/show_bug.cgi?id=52770
3013
3014         Null checks table() before deferencing it in RenderTableSection::setNeedsCellRecalc.
3015         This can be null during detach().  Test constructed by Eric Seidel.
3016
3017         Test: fast/css-generated-content/table-with-scrollbar-corner.html
3018
3019         * rendering/RenderTableSection.cpp:
3020         (WebCore::RenderTableSection::setNeedsCellRecalc):
3021         * rendering/RenderTableSection.h:
3022
3023 2011-01-20  Dirk Schulze  <krit@webkit.org>
3024
3025         Reviewed by Rob Buis.
3026
3027         SVG Pattern doesn't take preserveAspectRatio of references Pattern
3028         https://bugs.webkit.org/show_bug.cgi?id=52802
3029
3030         SVGPattern didn't take preserveAspectRatio of a referenced SVGPattern into account. Store preserveAspectRatio
3031         in PatternAttributes as well, if the attribute was set on the referenced SVGPattern element.
3032
3033         Test: svg/custom/pattern-referencing-preserve-aspect-ratio.svg
3034
3035         * rendering/svg/RenderSVGResourcePattern.cpp:
3036         (WebCore::RenderSVGResourcePattern::buildTileImageTransform):
3037         * svg/PatternAttributes.h:
3038         (WebCore::PatternAttributes::PatternAttributes):
3039         (WebCore::PatternAttributes::preserveAspectRatio):
3040         (WebCore::PatternAttributes::setPreserveAspectRatio):
3041         (WebCore::PatternAttributes::hasPreserveAspectRatio):
3042         * svg/SVGPatternElement.cpp:
3043         (WebCore::SVGPatternElement::collectPatternAttributes):
3044
3045 2011-01-20  Dan Bernstein  <mitz@apple.com>
3046
3047         Reviewed by Adele Peterson.
3048
3049         <rdar://problem/8765498> REGRESSION (r72141): Cannot order prints with Aperture 3.1
3050
3051         <rdar://problem/8884648> REGRESSION (r72141): Safari hangs when visiting a page on www.bfmtv.com
3052         https://bugs.webkit.org/show_bug.cgi?id=52765
3053
3054         <rdar://problem/8890909> REGRESSION (r72141): Very Slow Rendering With Certain Markup
3055         https://bugs.webkit.org/show_bug.cgi?id=52265
3056
3057         Test: fast/block/line-layout/negative-max-height.html
3058
3059         Integer overflow detection led to a block having a huge height. This manifested as broken layout
3060         in the first bug and as extreme slowness in the latter bugs because of
3061         https://bugs.webkit.org/show_bug.cgi?id=52832
3062
3063         * rendering/RootInlineBox.cpp:
3064         (WebCore::RootInlineBox::alignBoxesInBlockDirection): Clamp maxHeight to 0 so the next line
3065         cannot start above this line. The negative maxHeight also caused the integer overflow detection
3066         logic to give the block a huge height.
3067
3068 2011-01-20  Yi Shen  <yi.4.shen@nokia.com>
3069
3070         Reviewed by Eric Carlson.
3071
3072         Clean up the Media Controls CSS for Qt
3073         https://bugs.webkit.org/show_bug.cgi?id=52822
3074
3075         Split the audio::-webkit-media-xxx and video::-webkit-media-xxx rules 
3076         in mediaControlsQt.css, and remove the duplicate audio::-webkit-media-xxx
3077         rules from mediaControlsQtFullscreen.css.
3078
3079         * css/mediaControlsQt.css:
3080         (audio::-webkit-media-controls-panel):
3081         (video::-webkit-media-controls-panel):
3082         (audio::-webkit-media-controls-mute-button):
3083         (video::-webkit-media-controls-mute-button):
3084         (audio::-webkit-media-controls-play-button):
3085         (video::-webkit-media-controls-play-button):
3086         (audio::-webkit-media-controls-timeline-container):
3087         (video::-webkit-media-controls-timeline-container):
3088         (audio::-webkit-media-controls-current-time-display):
3089         (video::-webkit-media-controls-current-time-display):
3090         (audio::-webkit-media-controls-time-remaining-display):
3091         (video::-webkit-media-controls-time-remaining-display):
3092         (audio::-webkit-media-controls-timeline):
3093         (video::-webkit-media-controls-timeline):
3094         (audio::-webkit-media-controls-volume-slider-container):
3095         (video::-webkit-media-controls-volume-slider-container):
3096         (audio::-webkit-media-controls-volume-slider):
3097         (video::-webkit-media-controls-volume-slider):
3098         (audio::-webkit-media-controls-seek-back-button):
3099         (video::-webkit-media-controls-seek-back-button):
3100         (audio::-webkit-media-controls-seek-forward-button):
3101         (video::-webkit-media-controls-seek-forward-button):
3102         (audio::-webkit-media-controls-fullscreen-button):
3103         (video::-webkit-media-controls-fullscreen-button):
3104         (audio::-webkit-media-controls-rewind-button):
3105         (video::-webkit-media-controls-rewind-button):
3106         (audio::-webkit-media-controls-return-to-realtime-button):
3107         (video::-webkit-media-controls-return-to-realtime-button):
3108         (audio::-webkit-media-controls-toggle-closed-captions-button):
3109         (video::-webkit-media-controls-toggle-closed-captions-button):
3110         * css/mediaControlsQtFullscreen.css:
3111         (video::-webkit-media-controls-time-remaining-display):
3112         (video::-webkit-media-controls-seek-back-button):
3113         (video::-webkit-media-controls-seek-forward-button):
3114         (video::-webkit-media-controls-rewind-button):
3115         (video::-webkit-media-controls-return-to-realtime-button):
3116         (video::-webkit-media-controls-toggle-closed-captions-button):
3117
3118 2011-01-20  Alexander Pavlov  <apavlov@chromium.org>
3119
3120         Reviewed by Pavel Feldman.
3121
3122         Web Inspector: [REGRESSION] Canceling of CSS numeric values increment/decrement is broken
3123         https://bugs.webkit.org/show_bug.cgi?id=52816
3124
3125         * inspector/front-end/StylesSidebarPane.js:
3126         (WebInspector.StylePropertyTreeElement.prototype):
3127
3128 2011-01-20  Dawit Alemayehu  <adawit@kde.org>
3129
3130         Reviewed by Andreas Kling.
3131
3132         [Qt] Fix Layering violation in MediaPlayerPrivateQt.
3133         https://bugs.webkit.org/show_bug.cgi?id=52733
3134
3135         No new tests. no behavioral change.
3136
3137        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
3138         (WebCore::MediaPlayerPrivateQt::commitLoad):
3139
3140 2011-01-20  Nate Chapin  <japhet@chromium.org>
3141
3142         Reviewed by Darin Fisher.
3143
3144         [V8] Call malloc and memcpy directly instead of
3145         of strdup in convertV8ObjectToNPVariant() when
3146         converting strings. If there is a null character
3147         in the string, our use of strdup causes us to allocate
3148         too little memory, leading to out of bounds reads.
3149
3150         https://bugs.webkit.org/show_bug.cgi?id=52631
3151
3152         * bindings/v8/V8NPUtils.cpp:
3153         (WebCore::convertV8ObjectToNPVariant):
3154
3155 2011-01-20  Andreas Kling  <kling@webkit.org>
3156
3157         Reviewed by Ariya Hidayat.
3158
3159         [Qt] Fill shadow scratch buffer with proper transparent pixels
3160
3161         QImage::fill() has no Qt::GlobalColor overload in Qt 4.7 (coming in 4.8)
3162         so doing QImage::fill(Qt::transparent) will actually fill all pixels with
3163         the RGBA value 0x00000013.
3164
3165         * platform/graphics/qt/ContextShadowQt.cpp:
3166         (WebCore::ShadowBuffer::scratchImage):
3167
3168 2011-01-19  Adam Roben  <aroben@apple.com>
3169
3170         Remove WKCACFContextFlusher
3171
3172         It wasn't doing anything.
3173
3174         Fixes <http://webkit.org/b/52752> WKCACFContextFlusher is unused
3175
3176         Reviewed by Simon Fraser.
3177
3178         * WebCore.vcproj/WebCore.vcproj: Removed WKCACFContextFlusher. Also let VS have its way with
3179         the file.
3180
3181         * platform/graphics/win/WKCACFContextFlusher.cpp: Removed.
3182         * platform/graphics/win/WKCACFContextFlusher.h: Removed.
3183
3184         * platform/graphics/win/WKCACFLayerRenderer.cpp:
3185         (WebCore::WKCACFLayerRenderer::~WKCACFLayerRenderer):
3186         (WebCore::WKCACFLayerRenderer::layerTreeDidChange):
3187         Stop telling WKCACFContextFlusher about our context, since it never did anything with it.
3188
3189 2011-01-19  Adam Roben  <aroben@apple.com>
3190
3191         Only flush our own context when we get resized
3192
3193         Fixes <http://webkit.org/b/52751> All WKCACFContexts with uncommitted
3194         changes get flushed whenever any composited page is resized
3195
3196         Reviewed by Simon Fraser.
3197
3198         * platform/graphics/win/WKCACFLayerRenderer.cpp:
3199         (WebCore::WKCACFLayerRenderer::resize): Just flush our own context, not all contexts
3200         WKCACFContextFlusher knows about. After all, ours is the only one that just got resized!
3201
3202 2011-01-19  Adam Roben  <aroben@apple.com>
3203
3204         Make WKCACFLayerRenderer ref-counted
3205
3206         This will be needed to handle cases where the client might release its reference to us while
3207         we're calling out to it.
3208
3209         WKCACFLayerRenderer now has a setClient function, which is used rather than passing the
3210         client to create(). This allows clients to null out the client pointer when they're done
3211         with the renderer.
3212
3213         Fixes <http://webkit.org/b/52749> WKCACFLayerRenderer should be
3214         ref-counted
3215
3216         Reviewed by Simon Fraser.
3217
3218         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
3219         (WebCore::MediaPlayerPrivateFullscreenWindow::MediaPlayerPrivateFullscreenWindow):
3220         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h:
3221         Updated for WKCACFLayerRenderer changes.
3222
3223         * platform/graphics/win/WKCACFLayerRenderer.cpp:
3224         (WebCore::WKCACFLayerRenderer::acceleratedCompositingAvailable): Updated for changes to
3225         create().
3226         (WebCore::WKCACFLayerRenderer::create): No longer takes a WKCACFLayerRendererClient. Now
3227         returns a PassOwnPtr.
3228         (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): No longer takes a
3229         WKCACFLayerRendererClient.
3230
3231         * platform/graphics/win/WKCACFLayerRenderer.h: Made WKCACFLayerRenderer inherit from
3232         RefCounted.
3233         (WebCore::WKCACFLayerRenderer::setClient): Added this simple setter.
3234
3235 2011-01-20  Csaba Osztrogonác  <ossy@webkit.org>
3236
3237         [Qt][V8] Unreviewed buildfix after r76248.
3238
3239         * bindings/v8/ScriptCachedFrameData.h: Add missing include.
3240
3241 2011-01-20  Pavel Feldman  <pfeldman@chromium.org>
3242
3243         Reviewed by Yury Semikhatsky.
3244
3245         Web Inspector: enable resource agent upon request.
3246         https://bugs.webkit.org/show_bug.cgi?id=52815
3247
3248         We should not send network-related notifications unless front-end
3249         is interested.
3250
3251         * inspector/Inspector.idl:
3252         * inspector/InspectorController.cpp:
3253         (WebCore::InspectorController::restoreInspectorStateFromCookie):
3254         (WebCore::InspectorController::connectFrontend):
3255         (WebCore::InspectorController::resourceAgent):
3256         * inspector/InspectorController.h:
3257         (WebCore::InspectorController::consoleAgent):
3258         (WebCore::InspectorController::cssAgent):
3259         (WebCore::InspectorController::domAgent):
3260         (WebCore::InspectorController::injectedScriptAgent):
3261         (WebCore::InspectorController::runtimeAgent):
3262         (WebCore::InspectorController::databaseAgent):
3263         (WebCore::InspectorController::domStorageAgent):
3264         (WebCore::InspectorController::fileSystemAgent):
3265         * inspector/InspectorInstrumentation.cpp:
3266         (WebCore::InspectorInstrumentation::retrieveResourceAgent):
3267         * inspector/InspectorResourceAgent.cpp:
3268         (WebCore::InspectorResourceAgent::restore):
3269         (WebCore::InspectorResourceAgent::~InspectorResourceAgent):
3270         (WebCore::InspectorResourceAgent::InspectorResourceAgent):
3271         * inspector/InspectorResourceAgent.h:
3272         (WebCore::InspectorResourceAgent::create):
3273         * inspector/InspectorState.cpp:
3274         (WebCore::InspectorState::InspectorState):
3275         * inspector/InspectorState.h:
3276
3277 2011-01-20  Zoltan Horvath  <zoltan@webkit.org>
3278
3279         Reviewed by Csaba Osztrogonác.
3280
3281         Refactoring of the custom allocation framework
3282         https://bugs.webkit.org/show_bug.cgi?id=49897
3283
3284         Inheriting from FastAllocBase can result in objects getting larger (bug #33896, #46589).
3285         The modification replaces Noncopyable and FastAllocBase classes and these inherits with their
3286         equivalent macro implementation at the necessary places.
3287
3288 2011-01-20  Mikhail Naganov  <mnaganov@chromium.org>
3289
3290         Reviewed by Pavel Feldman.
3291
3292         Web Inspector: [Chromium] CPU Profiles are cleared when navigating back and forth.
3293
3294         Profiles are now not cleared unless renderer instance was changed.
3295
3296         https://bugs.webkit.org/show_bug.cgi?id=52807
3297
3298         * inspector/InspectorController.cpp:
3299         (WebCore::InspectorController::restoreProfiler):
3300         * inspector/InspectorProfilerAgent.cpp:
3301         (WebCore::InspectorProfilerAgent::resetState):
3302         (WebCore::InspectorProfilerAgent::resetFrontendProfiles):
3303         * inspector/InspectorProfilerAgent.h:
3304
3305 2011-01-20  Alexander Pavlov  <apavlov@chromium.org>
3306
3307         Unreviewed, add new JS file refs missing from r76116.
3308
3309         * WebCore.gypi:
3310         * WebCore.vcproj/WebCore.vcproj:
3311         * inspector/front-end/WebKit.qrc:
3312
3313 2011-01-20  Alexander Pavlov  <apavlov@chromium.org>
3314
3315         Reviewed by Pavel Feldman.
3316
3317         Web Inspector: Crash when adding a rule for an ImageDocument
3318         https://bugs.webkit.org/show_bug.cgi?id=52811
3319
3320         * inspector/InspectorCSSAgent.cpp:
3321         (WebCore::InspectorCSSAgent::addRule2):
3322         (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
3323
3324 2011-01-20  Ilya Tikhonovsky  <loislo@chromium.org>
3325
3326         Reviewed by Pavel Feldman.
3327
3328         Web Inspector: cleanup InspectorController's friends list.
3329         We have a plan to extract InspectorAgent from InspectorController.
3330         InspectorAgent will be accessible only from InspectorController.
3331         As result we can simply made some methods public and remove long
3332         friends list.
3333
3334         https://bugs.webkit.org/show_bug.cgi?id=52806
3335
3336         * inspector/InjectedScriptHost.cpp:
3337         (WebCore::InjectedScriptHost::databaseForId):
3338         (WebCore::InjectedScriptHost::selectDatabase):
3339         (WebCore::InjectedScriptHost::selectDOMStorage):
3340         (WebCore::InjectedScriptHost::inspectorDOMAgent):
3341         (WebCore::InjectedScriptHost::frontend):
3342         * inspector/InspectorBrowserDebuggerAgent.cpp:
3343         (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
3344         (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
3345         (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode):
3346         (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode):
3347         (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr):
3348         (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
3349         (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
3350         (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
3351         * inspector/InspectorController.h:
3352         (WebCore::InspectorController::frontend):
3353         * inspector/InspectorInstrumentation.cpp:
3354         (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
3355         (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
3356         (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
3357         (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
3358         (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
3359         (WebCore::InspectorInstrumentation::didModifyDOMAttrImpl):
3360         (WebCore::InspectorInstrumentation::characterDataModifiedImpl):
3361         (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
3362         (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
3363         (WebCore::InspectorInstrumentation::didFailLoadingImpl):
3364         (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl):
3365         (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsoleImpl):
3366         (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
3367         (WebCore::InspectorInstrumentation::cancelPauseOnNativeEvent):
3368         (WebCore::InspectorInstrumentation::retrieveTimelineAgent):
3369         (WebCore::InspectorInstrumentation::retrieveResourceAgent):
3370
3371 2011-01-19  Pavel Podivilov  <podivilov@chromium.org>
3372
3373         Reviewed by Yury Semikhatsky.
3374
3375         Web Inspector: implement JavaScriptBreakpointsSidebarPane based on events from debugger model.
3376         https://bugs.webkit.org/show_bug.cgi?id=52723
3377
3378         Extract all breakpoints-related presentation code from debugger model to JavaScriptBreakpointSidebarPane.
3379
3380         * inspector/front-end/Breakpoint.js:
3381         (WebInspector.Breakpoint):
3382         (WebInspector.Breakpoint.prototype.get data):
3383         (WebInspector.Breakpoint.prototype.remove):
3384         * inspector/front-end/BreakpointsSidebarPane.js:
3385         (WebInspector.JavaScriptBreakpointsSidebarPane):
3386         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointAdded):
3387         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointRemoved):
3388         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointEnableChanged):
3389         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointItemCheckboxClicked):
3390         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._contextMenuEventFired):
3391         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._debuggerPaused):
3392         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._debuggerResumed):
3393         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._addListElement):
3394         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._removeListElement):
3395         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._projectChanged):
3396         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._compare):
3397         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._compareBreakpoints):
3398         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._setupBreakpointElement.didGetSourceLine):
3399         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._setupBreakpointElement):
3400         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointIdForDebuggerPausedEvent):
3401         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._setBreakpointEnabled):
3402         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._removeBreakpoint):
3403         (WebInspector.NativeBreakpointsSidebarPane):
3404         (WebInspector.XHRBreakpointsSidebarPane.prototype.addBreakpointItem):
3405         * inspector/front-end/DebuggerModel.js:
3406         (WebInspector.DebuggerModel.prototype.removeBreakpoint):
3407         (WebInspector.DebuggerModel.prototype.breakpointForId):
3408         (WebInspector.DebuggerModel.prototype._pausedScript):
3409         (WebInspector.DebuggerModel.prototype._resumedScript):
3410         * inspector/front-end/ScriptsPanel.js:
3411         (WebInspector.ScriptsPanel):
3412         * inspector/front-end/inspector.js:
3413
3414 2011-01-20  Dirk Schulze  <krit@webkit.org>
3415
3416         Reviewed by Andreas Kling.
3417
3418         SVG Pattern doesn't take the viewBox of a referenced Pattern
3419         https://bugs.webkit.org/show_bug.cgi?id=52804
3420         
3421         SVGPattern element didn't use the viewBox of another SVGPattern element, referenced
3422         by xlink:href. Modified PatternAttributes, to take the value of the viewBox of the
3423         SVGPattern element as well, if the attribute was set.
3424         This gets checked by a W3C SVG test case.        
3425
3426         Test: svg/W3C-SVG-1.1-SE/pservers-pattern-04-f.svg
3427
3428         * rendering/svg/RenderSVGResourcePattern.cpp:
3429         (WebCore::RenderSVGResourcePattern::buildTileImageTransform):
3430         * svg/PatternAttributes.h:
3431         (WebCore::PatternAttributes::PatternAttributes):
3432         (WebCore::PatternAttributes::viewBox):
3433         (WebCore::PatternAttributes::setViewBox):
3434         (WebCore::PatternAttributes::hasViewBox):
3435         * svg/SVGPatternElement.cpp:
3436         (WebCore::SVGPatternElement::collectPatternAttributes):
3437
3438 2011-01-19  Stephen White  <senorblanco@chromium.org>
3439
3440         [Re-land of r76159 with a compile fix for the Chromium linux shlib
3441         build.]
3442
3443         Reviewed by James Robinson.
3444
3445         Implement accelerated path drawing and clipping for the Canvas2D GPU
3446         path.
3447         https://bugs.webkit.org/show_bug.cgi?id=52627
3448         
3449         This is done with a simple curve interpolator and the GLU tesselator,
3450         which is good enough for a 3-5X speedup on
3451         http://ie.microsoft.com/testdrive/Performance/Galactic/Default.html.
3452
3453         Covered by canvas/philip/2d.path.clip.basic.html, and many, many more.
3454         All tests canvas/philip and fast/canvas paths pass with no
3455         regressions, although two have minor pixel differences which require
3456         rebaselining.
3457
3458         * WebCore.gyp/WebCore.gyp:
3459         Add internal_glu include path to chromium build.
3460         * WebCore.gypi:
3461         Add internal_glu files to chromium build.
3462         * html/canvas/CanvasRenderingContext2D.cpp:
3463         (WebCore::CanvasRenderingContext2D::reset):
3464         (WebCore::CanvasRenderingContext2D::platformLayer):
3465         Make CanvasRenderingContext2D more robust against failure to create
3466         a DrawingBuffer.
3467         * platform/graphics/chromium/DrawingBufferChromium.cpp:
3468         (WebCore::DrawingBuffer::DrawingBuffer):
3469         As in DrawingBufferMac.cpp, call reset() from the constructor.
3470         Also initialize size to (-1, -1), so reset() doesn't early-out.
3471         Add initializers for depthBuffer and stencilBuffer, and remove
3472         multisampleDepthStencilBuffer.
3473         * platform/graphics/chromium/GLES2Canvas.cpp:
3474         Remove some unused #includes.
3475         (WebCore::GLES2Canvas::State::State):
3476         Add clipping state, and implement save/restore via the copy constructor.
3477         (WebCore::operator*):
3478         (WebCore::Quadratic::Quadratic):
3479         (WebCore::Quadratic::fromBezier):
3480         (WebCore::Quadratic::evaluate):
3481         Quadratic Bezier curve class.
3482         (WebCore::Cubic::Cubic):
3483         (WebCore::Cubic::fromBezier):
3484         (WebCore::Cubic::evaluate):
3485         Cubic Bezier curve class.
3486         (WebCore::GLES2Canvas::clearRect):
3487         Add clipping support to clearRect().
3488         (WebCore::GLES2Canvas::fillPath):
3489         Implement fillPath().
3490         (WebCore::GLES2Canvas::fillRect):
3491         Add clipping support to fillRect().
3492         (WebCore::GLES2Canvas::clipPath):
3493         Implement clipPath().
3494         (WebCore::GLES2Canvas::clipOut):
3495         Stub out clipOut() (not called by Canvas 2D).
3496         (WebCore::GLES2Canvas::restore):
3497         When restoring, draw any remaining clipping paths to the stencil buffer.
3498         (WebCore::GLES2Canvas::drawTexturedRect):
3499         Add clipping support.
3500         (WebCore::interpolateQuadratic):
3501         (WebCore::interpolateCubic):
3502         Simple curve interpolation, using the Cubic and Quadratic classes.
3503         (WebCore::PolygonData::PolygonData):
3504         A struct to hold the tesselation data for callbacks.
3505         (WebCore::beginData):
3506         (WebCore::edgeFlagData):
3507         (WebCore::vertexData):
3508         (WebCore::endData):
3509         (WebCore::combineData):
3510         internal_glu tesselation callbacks.
3511         (WebCore::GLES2Canvas::createVertexBufferFromPath):
3512         Build an interpolated, tesselated vertex buffer and element array buffer from a given path, suitable for filling.
3513         (WebCore::GLES2Canvas::beginStencilDraw):
3514         Enable stencilling, and disable draws to the color buffer.
3515         (WebCore::GLES2Canvas::applyClipping):
3516         If clipping is enabled, set the appropriate GL state.
3517         * platform/graphics/chromium/GLES2Canvas.h:
3518         Document the flavours of drawTexturedRect() a bit, so I don't get confused.
3519         * platform/graphics/gpu/DrawingBuffer.cpp:
3520         (WebCore::DrawingBuffer::clear):
3521         (WebCore::DrawingBuffer::createSecondaryBuffers):