2011-01-19 Stephen White <senorblanco@chromium.org>
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-01-19  Stephen White  <senorblanco@chromium.org>
2
3         Reviewed by Darin Adler.
4
5         Fix performance regression in ImageQualityController::objectDestroyed().
6         https://bugs.webkit.org/show_bug.cgi?id=52645
7
8         In r72282, I inadvertently introduced this regression by using a
9         linear search through the hash map on object destruction.  This was
10         because the hash key consisted of both object pointer and layer id,
11         but on object destruction we only know the object pointer, requiring
12         a search to find all the layers. 
13         By replacing the hash map with two nested hash maps, where the outer key
14         is the object and the inner key is the layer, we can find all the
15         relevant data for an object in one hash lookup.
16
17         * rendering/RenderBoxModelObject.cpp:
18         Replace the (object,layer)->size HashMap with object->layer and
19         layer->size HashMaps.
20         (WebCore::ImageQualityController::isEmpty):
21         Implement isEmpty() for the outer HashMap.
22         (WebCore::ImageQualityController::removeLayer):
23         When a layer is removed, remove it from the inner hash map.
24         (WebCore::ImageQualityController::set):
25         Implement set():  if the inner map exists, set the layer->size tuple
26         directly.  If not, create a new inner map, set the tuple, and insert
27         it in the outer map.
28         (WebCore::ImageQualityController::objectDestroyed):
29         Look up the object in the outer map only.
30         (WebCore::ImageQualityController::highQualityRepaintTimerFired):
31         Cosmetic changes for the renamed now-outer hash map.
32         (WebCore::ImageQualityController::shouldPaintAtLowQuality):
33         Do both outer and inner hash map lookups.  Call set() to add/update
34         entries to the hash maps.  keyDestroyed() is now removeLayer().
35         (WebCore::imageQualityController):
36         Make the ImageQualityController a file-static global, so it can be
37         created and destroyed on the fly.
38         (WebCore::RenderBoxModelObject::~RenderBoxModelObject):
39         If there is no ImageQualityController, don't call objectDestroyed().
40         If it's empty, delete it.
41
42
43 2011-01-26  Enrica Casucci  <enrica@apple.com>
44
45         Reviewed by Darin Adler and Adam Roben.
46
47         WebKit2: add support for drag and drop on Windows
48         https://bugs.webkit.org/show_bug.cgi?id=52775
49         <rdar://problem/8514409>
50         
51         On Windows the access to the content being dragged is
52         provided via the IDataObject interface that is made available
53         to the window that registers itself as drop target.
54         Since this interface cannot be accessed from the WebProcess,
55         in every call to one of the methods of the IDropTarget interface
56         we serialize the content of the drag clipboard and send it over to
57         the WebProcess.
58         The bulk of this patch consists in the refactoring needed in DragData
59         and ClipboardWin classes to extract the data from the serialized object.
60         
61         * platform/DragData.cpp:
62         * platform/DragData.h:
63         * platform/win/ClipboardUtilitiesWin.cpp:
64         (WebCore::getWebLocData):
65         (WebCore::getURL):
66         (WebCore::getPlainText):
67         (WebCore::getTextHTML):
68         (WebCore::getCFHTML):
69         (WebCore::fragmentFromFilenames):
70         (WebCore::containsFilenames):
71         (WebCore::fragmentFromHTML):
72         (WebCore::containsHTML):
73         (WebCore::getClipboardData):
74         * platform/win/ClipboardUtilitiesWin.h:
75         * platform/win/ClipboardWin.cpp:
76         (WebCore::Clipboard::create):
77         (WebCore::ClipboardWin::ClipboardWin):
78         (WebCore::ClipboardWin::getData):
79         (WebCore::ClipboardWin::types):
80         (WebCore::ClipboardWin::files):
81         (WebCore::ClipboardWin::hasData):
82         * platform/win/ClipboardWin.h:
83         (WebCore::ClipboardWin::create):
84         * platform/win/DragDataWin.cpp:
85         (WebCore::DragData::DragData):
86         (WebCore::DragData::containsURL):
87         (WebCore::DragData::dragDataMap):
88         (WebCore::DragData::asURL):
89         (WebCore::DragData::containsFiles):
90         (WebCore::DragData::asFilenames):
91         (WebCore::DragData::containsPlainText):
92         (WebCore::DragData::asPlainText):
93         (WebCore::DragData::canSmartReplace):
94         (WebCore::DragData::containsCompatibleContent):
95         (WebCore::DragData::asFragment):
96
97 2011-01-27  Mario Sanchez Prada  <msanchez@igalia.com>
98
99         Reviewed by Martin Robinson.
100
101         [GTK] Space characters in source document interfere with reported caret offset
102         https://bugs.webkit.org/show_bug.cgi?id=53033
103
104         Calculate caret offset from rendered text instead of from node contents.
105
106         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
107         (objectAndOffsetUnignored): Calculate the caret offset based only
108         on positions and ranges, instead of using the computed offset in
109         the container node.
110
111 2011-01-26  Alexey Proskuryakov  <ap@apple.com>
112
113         Reviewed by Darin Adler.
114
115         https://bugs.webkit.org/show_bug.cgi?id=53197
116         <rdar://problem/8895682> Make WebKit2 printing asynchronous
117
118         * WebCore.exp.in: Export more PrintContext methods that we didn't use on Mac before.
119
120         * page/PrintContext.cpp: (WebCore::PrintContext::spoolRect): Changed to make the same
121         transformation as spoolPages does for consistency.
122
123 2011-01-27  David Grogan  <dgrogan@google.com>
124
125         Reviewed by Jeremy Orlow.
126
127         initial support for close() in indexeddb backend
128         https://bugs.webkit.org/show_bug.cgi?id=53150
129
130         Test: storage/indexeddb/transaction-after-close.html
131
132         * storage/IDBDatabase.cpp:
133         (WebCore::IDBDatabase::IDBDatabase):
134         (WebCore::IDBDatabase::transaction):
135         (WebCore::IDBDatabase::close):
136         * storage/IDBDatabase.h:
137         * storage/IDBDatabase.idl:
138         * storage/IDBDatabaseBackendImpl.cpp:
139         (WebCore::IDBDatabaseBackendImpl::transaction):
140         (WebCore::IDBDatabaseBackendImpl::close):
141
142 2011-01-27  Dirk Schulze  <krit@webkit.org>
143
144         Reviewed by Nikolas Zimmermann.
145
146         SVG animation doesn't support calcMode discrete for number and color values.
147         https://bugs.webkit.org/show_bug.cgi?id=53189
148
149         Add support for calcMode discrete on number and color animation.
150
151         Tests: svg/animations/animate-color-calcMode-discrete.html
152                svg/animations/animate-number-calcMode-discrete.html
153
154         * svg/SVGAnimateElement.cpp:
155         (WebCore::SVGAnimateElement::calculateAnimatedValue):
156
157 2011-01-26  Zhenyao Mo  <zmo@google.com>
158
159         Reviewed by Kenneth Russell.
160
161         shaderSource needs to preserve original source
162         https://bugs.webkit.org/show_bug.cgi?id=52833
163
164         Test: fast/canvas/webgl/gl-getshadersource.html
165
166         * html/canvas/WebGLRenderingContext.cpp:
167         (WebCore::WebGLRenderingContext::getShaderParameter): Intercept SHADER_SOURCE_LENGTH.
168         (WebCore::WebGLRenderingContext::getShaderSource): Intercept the call.
169         (WebCore::WebGLRenderingContext::shaderSource): Cache the source.
170         * html/canvas/WebGLShader.cpp: Cache shader source.
171         (WebCore::WebGLShader::WebGLShader):
172         * html/canvas/WebGLShader.h: Ditto.
173         (WebCore::WebGLShader::getSource):
174         (WebCore::WebGLShader::setSource):
175
176 2011-01-27  Patrick Gansterer  <paroga@webkit.org>
177
178         Unreviewed WinCE build fix for r76743.
179
180         * platform/graphics/wince/FontWinCE.cpp:
181         (WebCore::TextRunComponent::TextRunComponent):
182
183 2011-01-27  Pavel Podivilov  <podivilov@chromium.org>
184
185         Reviewed by Pavel Feldman.
186
187         Web Inspector: Closure and Global variable details automatically collapsing on each step through JavaScript code.
188         https://bugs.webkit.org/show_bug.cgi?id=53234
189
190         * inspector/front-end/ScopeChainSidebarPane.js:
191         (WebInspector.ScopeChainSidebarPane):
192         (WebInspector.ScopeChainSidebarPane.prototype.update):
193
194 2011-01-27  Sheriff Bot  <webkit.review.bot@gmail.com>
195
196         Unreviewed, rolling out r76789.
197         http://trac.webkit.org/changeset/76789
198         https://bugs.webkit.org/show_bug.cgi?id=53238
199
200         Broke GTK layout tests (Requested by podivilov on #webkit).
201
202         * inspector/front-end/ScopeChainSidebarPane.js:
203         (WebInspector.ScopeChainSidebarPane):
204         (WebInspector.ScopeChainSidebarPane.prototype.update):
205
206 2011-01-27  Yury Semikhatsky  <yurys@chromium.org>
207
208         Reviewed by Pavel Feldman.
209
210         Web Inspector: store all settings related to the agents on the frontend side
211         https://bugs.webkit.org/show_bug.cgi?id=53174
212
213         * CMakeLists.txt:
214         * GNUmakefile.am:
215         * WebCore.exp.in:
216         * WebCore.gypi:
217         * WebCore.pro:
218         * WebCore.vcproj/WebCore.vcproj:
219         * WebCore.xcodeproj/project.pbxproj:
220         * bindings/js/ScriptDebugServer.cpp:
221         * bindings/js/ScriptDebugServer.h:
222         * bindings/js/ScriptProfiler.cpp:
223         * bindings/js/ScriptProfiler.h:
224         * bindings/v8/ScriptDebugServer.cpp:
225         * bindings/v8/ScriptDebugServer.h:
226         * bindings/v8/ScriptProfiler.cpp:
227         * bindings/v8/ScriptProfiler.h:
228         * inspector/Inspector.idl:
229         * inspector/InspectorAgent.cpp: profiler and debugger enablement state is now stored
230         on the front-end side and will be pushed to the backend when the frontend is loaded.
231         (WebCore::InspectorAgent::InspectorAgent):
232         (WebCore::InspectorAgent::disconnectFrontend):
233         (WebCore::InspectorAgent::restoreDebugger):
234         (WebCore::InspectorAgent::restoreProfiler):
235         (WebCore::InspectorAgent::enableProfiler):
236         (WebCore::InspectorAgent::disableProfiler):
237         (WebCore::InspectorAgent::showAndEnableDebugger):
238         (WebCore::InspectorAgent::enableDebugger):
239         (WebCore::InspectorAgent::disableDebugger):
240         * inspector/InspectorAgent.h:
241         * inspector/InspectorConsoleAgent.cpp: XHR failures will be logged to the console only
242         if the front-end was opened during current browser session and XHR logging is turned on
243         there.
244         (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled):
245         (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
246         * inspector/InspectorDebuggerAgent.cpp:
247         * inspector/InspectorDebuggerAgent.h:
248         * inspector/InspectorInstrumentation.cpp:
249         (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl):
250         (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl):
251         * inspector/InspectorProfilerAgent.cpp:
252         (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
253         (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
254         * inspector/InspectorSettings.cpp: Removed.
255         * inspector/InspectorSettings.h: Removed.
256         * inspector/InspectorState.cpp:
257         (WebCore::InspectorState::InspectorState):
258         * inspector/InspectorState.h:
259         * inspector/front-end/ConsoleView.js:
260         (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.consoleMessagesCleared):
261         (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher):
262         (WebInspector.ConsoleView.prototype._handleContextMenuEvent.itemAction):
263         (WebInspector.ConsoleView.prototype._handleContextMenuEvent):
264         * inspector/front-end/ProfilesPanel.js:
265         (WebInspector.ProfilesPanel.prototype._toggleProfiling):
266         * inspector/front-end/ScriptsPanel.js:
267         (WebInspector.ScriptsPanel.prototype._toggleDebugging):
268         * inspector/front-end/Settings.js:
269         (WebInspector.Settings):
270         * inspector/front-end/inspector.js:
271
272 2011-01-27  Pavel Podivilov  <podivilov@chromium.org>
273
274         Reviewed by Pavel Feldman.
275
276         Web Inspector: Closure and Global variable details automatically collapsing on each step through JavaScript code.
277         https://bugs.webkit.org/show_bug.cgi?id=53234
278
279         * inspector/front-end/ScopeChainSidebarPane.js:
280         (WebInspector.ScopeChainSidebarPane):
281         (WebInspector.ScopeChainSidebarPane.prototype.update):
282
283 2011-01-27  Alexander Pavlov  <apavlov@chromium.org>
284
285         Reviewed by Pavel Feldman.
286
287         Web Inspector: [Elements panel] Tooltip for relative links incorrectly identifies current URL
288         https://bugs.webkit.org/show_bug.cgi?id=53171
289
290         * inspector/front-end/inspector.js:
291         (WebInspector.completeURL): Taught to understand partial href's that start with "?" (contain GET parameters only)
292
293 2011-01-27  Yury Semikhatsky  <yurys@chromium.org>
294
295         Reviewed by Pavel Feldman.
296
297         [V8] Crash in WebCore::addMessageToConsole
298         https://bugs.webkit.org/show_bug.cgi?id=53227
299
300         * bindings/v8/V8Proxy.cpp: check that the Frame where the error
301         occured still has a page before getting a console object from it.
302         (WebCore::V8Proxy::reportUnsafeAccessTo):
303
304 2011-01-27  Hans Wennborg  <hans@chromium.org>
305
306         Reviewed by Jeremy Orlow.
307
308         IndexedDB: Remove IDBCallbacks::onSuccess() used for null values.
309         https://bugs.webkit.org/show_bug.cgi?id=53178
310
311         Remove the IDBCallbacks::onSuccess() function that was used for
312         null values, and replace such calls with calls to
313         IDBCallBacks::onSuccess(SerializedScriptValue::nullValue())
314         instead.
315
316         No new functionality, so no new tests.
317
318         * storage/IDBCallbacks.h:
319         * storage/IDBCursorBackendImpl.cpp:
320         (WebCore::IDBCursorBackendImpl::updateInternal):
321         (WebCore::IDBCursorBackendImpl::continueFunctionInternal):
322         * storage/IDBIndexBackendImpl.cpp:
323         (WebCore::IDBIndexBackendImpl::openCursorInternal):
324         * storage/IDBObjectStoreBackendImpl.cpp:
325         (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
326         (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
327         * storage/IDBRequest.cpp:
328         * storage/IDBRequest.h:
329
330 2011-01-27  Sheriff Bot  <webkit.review.bot@gmail.com>
331
332         Unreviewed, rolling out r76773.
333         http://trac.webkit.org/changeset/76773
334         https://bugs.webkit.org/show_bug.cgi?id=53230
335
336         breaks multiple GTK media tests (Requested by philn-tp on
337         #webkit).
338
339         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
340         (WebCore::mimeTypeCache):
341
342 2011-01-27  Sheriff Bot  <webkit.review.bot@gmail.com>
343
344         Unreviewed, rolling out r76770.
345         http://trac.webkit.org/changeset/76770
346         https://bugs.webkit.org/show_bug.cgi?id=53229
347
348         Some inspector tests fail (Requested by yurys on #webkit).
349
350         * CMakeLists.txt:
351         * GNUmakefile.am:
352         * WebCore.exp.in:
353         * WebCore.gypi:
354         * WebCore.pro:
355         * WebCore.vcproj/WebCore.vcproj:
356         * WebCore.xcodeproj/project.pbxproj:
357         * bindings/js/ScriptDebugServer.cpp:
358         (WebCore::ScriptDebugServer::isDebuggerAlwaysEnabled):
359         * bindings/js/ScriptDebugServer.h:
360         * bindings/js/ScriptProfiler.cpp:
361         (WebCore::ScriptProfiler::isProfilerAlwaysEnabled):
362         * bindings/js/ScriptProfiler.h:
363         * bindings/v8/ScriptDebugServer.cpp:
364         (WebCore::ScriptDebugServer::isDebuggerAlwaysEnabled):
365         * bindings/v8/ScriptDebugServer.h:
366         * bindings/v8/ScriptProfiler.cpp:
367         (WebCore::ScriptProfiler::isProfilerAlwaysEnabled):
368         * bindings/v8/ScriptProfiler.h:
369         * inspector/Inspector.idl:
370         * inspector/InspectorAgent.cpp:
371         (WebCore::InspectorAgent::InspectorAgent):
372         (WebCore::InspectorAgent::disconnectFrontend):
373         (WebCore::InspectorAgent::restoreDebugger):
374         (WebCore::InspectorAgent::restoreProfiler):
375         (WebCore::InspectorAgent::ensureSettingsLoaded):
376         (WebCore::InspectorAgent::enableProfiler):
377         (WebCore::InspectorAgent::disableProfiler):
378         (WebCore::InspectorAgent::showAndEnableDebugger):
379         (WebCore::InspectorAgent::enableDebugger):
380         (WebCore::InspectorAgent::disableDebugger):
381         * inspector/InspectorAgent.h:
382         (WebCore::InspectorAgent::settings):
383         * inspector/InspectorConsoleAgent.cpp:
384         (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled):
385         (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
386         * inspector/InspectorDebuggerAgent.cpp:
387         (WebCore::InspectorDebuggerAgent::isDebuggerAlwaysEnabled):
388         * inspector/InspectorDebuggerAgent.h:
389         * inspector/InspectorInstrumentation.cpp:
390         (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl):
391         (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl):
392         * inspector/InspectorProfilerAgent.cpp:
393         (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
394         (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
395         * inspector/InspectorSettings.cpp: Added.
396         (WebCore::InspectorSettings::InspectorSettings):
397         (WebCore::InspectorSettings::getBoolean):
398         (WebCore::InspectorSettings::setBoolean):
399         (WebCore::InspectorSettings::getLong):
400         (WebCore::InspectorSettings::setLong):
401         (WebCore::InspectorSettings::registerBoolean):
402         (WebCore::InspectorSettings::registerLong):
403         * inspector/InspectorSettings.h: Copied from Source/WebCore/bindings/v8/ScriptProfiler.h.
404         * inspector/InspectorState.cpp:
405         (WebCore::InspectorState::InspectorState):
406         * inspector/InspectorState.h:
407         * inspector/front-end/ConsoleView.js:
408         (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.monitoringXHRStateChanged):
409         (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher):
410         (WebInspector.ConsoleView.prototype._handleContextMenuEvent):
411         * inspector/front-end/ProfilesPanel.js:
412         (WebInspector.ProfilesPanel.prototype._toggleProfiling):
413         * inspector/front-end/ScriptsPanel.js:
414         (WebInspector.ScriptsPanel.prototype._toggleDebugging):
415         * inspector/front-end/Settings.js:
416         (WebInspector.Settings):
417         * inspector/front-end/inspector.js:
418
419 2011-01-26  Philippe Normand  <pnormand@igalia.com>
420
421         Reviewed by Martin Robinson.
422
423         [GTK] LayoutTests/media/audio-mpeg4-supported.html fails
424         https://bugs.webkit.org/show_bug.cgi?id=53125
425
426         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
427         (WebCore::mimeTypeCache): Add audio/x-m4a mimetype in the cache.
428
429 2011-01-26  Yury Semikhatsky  <yurys@chromium.org>
430
431         Reviewed by Pavel Feldman.
432
433         Web Inspector: store all settings related to the agents on the frontend side
434         https://bugs.webkit.org/show_bug.cgi?id=53174
435
436         * CMakeLists.txt:
437         * GNUmakefile.am:
438         * WebCore.exp.in:
439         * WebCore.gypi:
440         * WebCore.pro:
441         * WebCore.vcproj/WebCore.vcproj:
442         * WebCore.xcodeproj/project.pbxproj:
443         * inspector/Inspector.idl:
444         * inspector/InspectorAgent.cpp: profiler and debugger enablement state is now stored
445         on the front-end side and will be pushed to the backend when the frontend is loaded.
446         (WebCore::InspectorAgent::InspectorAgent):
447         (WebCore::InspectorAgent::disconnectFrontend):
448         (WebCore::InspectorAgent::restoreDebugger):
449         (WebCore::InspectorAgent::restoreProfiler):
450         (WebCore::InspectorAgent::enableProfiler):
451         (WebCore::InspectorAgent::disableProfiler):
452         (WebCore::InspectorAgent::showAndEnableDebugger):
453         (WebCore::InspectorAgent::enableDebugger):
454         (WebCore::InspectorAgent::disableDebugger):
455         * inspector/InspectorAgent.h:
456         * inspector/InspectorConsoleAgent.cpp: XHR failures will be logged to the console only
457         if the front-end was opened during current browser session and XHR logging is turned on
458         there.
459         (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled):
460         (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
461         * inspector/InspectorInstrumentation.cpp:
462         (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl):
463         (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl):
464         * inspector/InspectorProfilerAgent.cpp:
465         (WebCore::InspectorProfilerAgent::enable):
466         (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
467         * inspector/InspectorProfilerAgent.h:
468         * inspector/InspectorSettings.cpp: Removed.
469         * inspector/InspectorSettings.h: Removed.
470         * inspector/InspectorState.cpp:
471         (WebCore::InspectorState::InspectorState):
472         * inspector/InspectorState.h:
473         * inspector/front-end/ConsoleView.js:
474         (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.consoleMessagesCleared):
475         (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher):
476         (WebInspector.ConsoleView.prototype._handleContextMenuEvent.itemAction):
477         (WebInspector.ConsoleView.prototype._handleContextMenuEvent):
478         * inspector/front-end/ProfilesPanel.js:
479         (WebInspector.ProfilesPanel.prototype._toggleProfiling):
480         * inspector/front-end/ScriptsPanel.js:
481         (WebInspector.ScriptsPanel.prototype._toggleDebugging):
482         * inspector/front-end/Settings.js:
483         (WebInspector.Settings):
484         * inspector/front-end/inspector.js:
485
486 2011-01-27  Dan Bernstein  <mitz@apple.com>
487
488         Reviewed by Sam Weinig.
489
490         REGRESSION (r76743): Uneven spacing in right-to-left justified text
491         https://bugs.webkit.org/show_bug.cgi?id=53225
492
493         Fixes failure in fast/text/atsui-spacing-features.html
494
495         There was an inconsistency between rendering code and font code in the interpretation of
496         'after expansion' and 'trailing expansion'. Changed all code to interpret these in terms of
497         visual order rather than logical.
498
499         * platform/graphics/Font.cpp:
500         (WebCore::Font::expansionOpportunityCount): Added a text direction parameter and changed to
501         iterate in visual order accordingly.
502         * platform/graphics/Font.h:
503         * platform/graphics/WidthIterator.cpp:
504         (WebCore::WidthIterator::WidthIterator): Pass the run direction to expansionOpportunityCount().
505         (WebCore::WidthIterator::advance): For right-to-left runs, evaluate the trailing expansion
506         condition with respect to the first character, which is the trailing character in visual order.
507         * platform/graphics/mac/ComplexTextController.cpp:
508         (WebCore::ComplexTextController::ComplexTextController): Pass the run direction to
509         expansionOpportunityCount().
510         * rendering/RenderBlockLineLayout.cpp:
511         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Ditto.
512
513 2011-01-26  Adam Roben  <aroben@apple.com>
514
515         Don't create the Direct3D device before it's first needed
516
517         We only need the device once we decide to render. There's no point in creating it before
518         then.
519
520         Reviewed by Sam Weinig.
521
522         * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
523         (WebCore::CACFLayerTreeHost::setWindow): Removed the call to createRenderer() from here.
524         We already have code to create it when we first try to draw.
525         (WebCore::CACFLayerTreeHost::createRenderer): Flush the context after we set our layer's
526         bounds so that the bounds will take effect the next time we render (which could be just
527         after this function returns).
528
529 2011-01-26  Adam Roben  <aroben@apple.com>
530
531         Add assertions that CACFLayerTreeHost gains and loses an HWND only once
532
533         CACFLayerTreeHost doesn't support any other use pattern.
534
535         Reviewed by Sam Weinig.
536
537         * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
538         (WebCore::CACFLayerTreeHost::CACFLayerTreeHost): Initialize new member.
539         (WebCore::CACFLayerTreeHost::setWindow): Assert that we transition from not having a window,
540         to having a window, to not having a window just once over the lifetime of this object.
541
542         * platform/graphics/ca/win/CACFLayerTreeHost.h: Added m_state.
543
544 2011-01-26  Adam Roben  <aroben@apple.com>
545
546         Notify layers that their animations have started when we flush the context, not when we
547         render
548
549         r76372 separated context flushing from rendering, but this bit of code got left behind.
550
551         Reviewed by Sam Weinig.
552
553         * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
554         (WebCore::CACFLayerTreeHost::render): Moved code to notify the layers from here to
555         notifyAnimationsStarted.
556         (WebCore::CACFLayerTreeHost::flushPendingLayerChangesNow): Added a call to
557         notifyAnimationsStarted after we flush the context.
558         (WebCore::CACFLayerTreeHost::notifyAnimationsStarted): Added. Code came from render. Changed
559         to call PlatformCALayer::animationStarted rather than calling through to the client
560         directly.
561
562         * platform/graphics/ca/win/CACFLayerTreeHost.h: Added notifyAniamtionsStarted.
563
564 2011-01-26  Adam Roben  <aroben@apple.com>
565
566         Small cleanup in MediaPlayerPrivateFullscreenWindow
567
568         Reviewed by Sam Weinig.
569
570         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
571         (WebCore::MediaPlayerPrivateFullscreenWindow::~MediaPlayerPrivateFullscreenWindow): Moved
572         code here from close(), since this was the only place that called it after the following
573         change to createWindow.
574         (WebCore::MediaPlayerPrivateFullscreenWindow::createWindow): Replaced code that handled the
575         case where we had already created the window with an assertion that we have not already done
576         so. Our single caller (FullscreenVideoController) did not require this behavior.
577
578         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h: Removed layerView.
579
580 2011-01-26  Sam Weinig  <sam@webkit.org>
581
582         Reviewed by Adam Roben.
583
584         Move ScrollView scroll wheel code to ScrollAnimator.
585
586         * platform/ScrollAnimator.cpp:
587         (WebCore::ScrollAnimator::handleWheelEvent):
588         * platform/ScrollAnimator.h:
589         Moved implementation of handleWheelEvent from ScrollView::wheelEvent.
590
591         * platform/ScrollView.cpp:
592         (WebCore::ScrollView::wheelEvent):
593         Call down to the ScrollableArea.
594
595         * platform/ScrollableArea.cpp:
596         (WebCore::ScrollableArea::handleWheelEvent):
597         Call down to the ScrollAnimator.
598
599         * platform/ScrollableArea.h:
600         (WebCore::ScrollableArea::scrollPosition):
601         (WebCore::ScrollableArea::minimumScrollPosition):
602         (WebCore::ScrollableArea::maximumScrollPosition):
603         (WebCore::ScrollableArea::visibleContentRect):
604         (WebCore::ScrollableArea::visibleHeight):
605         (WebCore::ScrollableArea::visibleWidth):
606         Add functions needed to implement wheel event in the animator.
607
608 2011-01-26  David Kilzer  <ddkilzer@apple.com>
609
610         <http://webkit.org/b/53192> Add experimental support for HTTP pipelining in CFNetwork
611         <rdar://problem/8821760>
612
613         Reviewed by Antti Koivisto.
614
615         This adds support for HTTP pipelining in CFNetwork, but does not
616         enable it.  To enable it post-SnowLeopard, use this command:
617
618             defaults write BUNDLE.ID WebKitEnableHTTPPipelining -bool YES
619
620         Once enabled, it is possible to force the same load priority
621         (high) to be sent to CFNetwork to allow WebCore to handle the
622         scheduling:
623
624             defaults write BUNDLE.ID WebKitForceHTTPPipeliningPriorityHigh -bool YES
625
626         * WebCore.exp.in: Export _wkGetHTTPPipeliningPriority and
627         _wkSetHTTPPipeliningPriority.
628
629         * loader/DocumentThreadableLoader.cpp:
630         (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequestWithPreflight):
631         Copy the priority to preflightRequest.
632
633         * loader/ResourceLoadScheduler.cpp:
634         (WebCore::ResourceLoadScheduler::scheduleLoad): Refactored code
635         at the end of the method to use an early return.
636
637         * loader/cache/CachedResourceRequest.cpp:
638         (WebCore::CachedResourceRequest::load): Set the priority on the
639         ResourceRequest object based on the priority of the
640         CachedResourceRequest before calling
641         ResourceLoadScheduler::scheduleSubresourceLoad().
642
643         * loader/icon/IconLoader.cpp:
644         (WebCore::IconLoader::startLoading): Create a ResourceRequest
645         object and set its priority to ResourceLoadPriorityLow before
646         passing it to ResourceLoadScheduler::scheduleSubresourceLoad().
647
648         * platform/mac/WebCoreSystemInterface.h:
649         (wkGetHTTPPipeliningPriority): Added.
650         (wkSetHTTPPipeliningPriority): Added.
651         * platform/mac/WebCoreSystemInterface.mm:
652         (wkGetHTTPPipeliningPriority): Added.
653         (wkSetHTTPPipeliningPriority): Added.
654
655         * platform/network/ResourceRequestBase.cpp:
656         (WebCore::ResourceRequestBase::adopt): Set m_priority when
657         adopting a CrossThreadResourceRequestData.
658         (WebCore::ResourceRequestBase::copyData): Set m_priority when
659         creating a CrossThreadResourceRequestData.
660         (WebCore::ResourceRequestBase::priority): Added.
661         (WebCore::ResourceRequestBase::setPriority): Added.
662         (WebCore::equalIgnoringHeaderFields): Priorities must match when
663         comparing two ResourceRequest objects.
664
665         * platform/network/ResourceRequestBase.h:
666         (WebCore::ResourceRequestBase::ResourceRequestBase): Set default
667         priority of new objects to ResourceLoadPriorityLow.
668         (WebCore::ResourceRequestBase::priority): Added declaration.
669         (WebCore::ResourceRequestBase::setPriority): Added declaration.
670         (WebCore::isHTTPPipeliningEnabled): Added.
671         (WebCore::shouldUseHTTPPipeliningPriority): Added.
672
673         * platform/network/cf/ResourceRequestCFNet.cpp: Updated so that
674         Mac OS X and Windows share code.
675         (WebCore::initializeMaximumHTTPConnectionCountPerHost): Always
676         set the HTTP connection count per host, but return an
677         'unlimited' value when using HTTP pipelining.  This method used
678         to be defined in ResourceRequestMac.mm for Mac OS X.
679         (WebCore::readBooleanPreference): Added.  Helper method for
680         reading boolean user defaults.
681         (WebCore::isHTTPPipeliningEnabled): Returns value of user
682         default key WebKitEnableHTTPPipelining, or false if not set.
683         (WebCore::shouldUseHTTPPipeliningPriority): Returns value of
684         user default key WebKitForceHTTPPipeliningPriorityHigh, or false
685         if not set.
686         * platform/network/cf/ResourceRequestCFNet.h: Updated so that
687         Mac OS X and Windows share code.  Fixed indentation.
688         (WebCore::mapHTTPPipeliningPriorityToResourceLoadPriority): Added.
689         (WebCore::mapResourceLoadPriorityToHTTPPipeliningPriority): Added.
690
691         * platform/network/mac/ResourceRequestMac.mm:
692         (WebCore::ResourceRequest::doUpdatePlatformRequest): Update
693         HTTP pipelining priority on NSMutableFURLRequest object.
694         (WebCore::ResourceRequest::doUpdateResourceRequest): Update
695         m_priority from the NSURLRequest object.
696         (WebCore::initializeMaximumHTTPConnectionCountPerHost): Removed.
697         Code is now shared with Windows in ResourceRequestCFNet.cpp.
698
699 2011-01-26  Beth Dakin  <bdakin@apple.com>
700
701         Reviewed by Darin Adler.
702
703         Fix for <rdar://problem/8895140> Adopt WKScrollbar metrics 
704         when using WKScrollbars.
705
706         New WebKitSystemInterface Functionality.
707         * WebCore.exp.in:
708         * platform/mac/WebCoreSystemInterface.h:
709         * platform/mac/WebCoreSystemInterface.mm:
710
711         Some of the terrible static arrays are now only needed in the 
712         old non-WK code, so they are if-def'd now.
713         * platform/mac/ScrollbarThemeMac.mm:
714         
715         Just patching this function in a better way than I did
716         before.
717         (WebCore::updateArrowPlacement):
718         
719         Call into WK for the right values.
720         (WebCore::ScrollbarThemeMac::scrollbarThickness):
721         (WebCore::ScrollbarThemeMac::hasThumb):
722         (WebCore::ScrollbarThemeMac::minimumThumbLength):
723         
724         Return false if there are no buttons.
725         (WebCore::ScrollbarThemeMac::hasButtons):
726
727         Return an empty IntRect if there are not buttons.
728         (WebCore::buttonRepaintRect):
729
730 2011-01-26  Sam Weinig  <sam@webkit.org>
731
732         Reviewed by Maciej Stachowiak.
733
734         Add events to represent the start/end of a gesture scroll
735         https://bugs.webkit.org/show_bug.cgi?id=53215
736
737         * WebCore.exp.in: 
738         Add new file.
739
740         * WebCore.xcodeproj/project.pbxproj:
741         Add new file.
742
743         * page/EventHandler.cpp:
744         (WebCore::EventHandler::handleGestureEvent):
745         * page/EventHandler.h:
746         Add entry point for handling gesture events.
747
748         * platform/PlatformGestureEvent.h: Added.
749         (WebCore::PlatformGestureEvent::PlatformGestureEvent):
750         (WebCore::PlatformGestureEvent::type):
751         (WebCore::PlatformGestureEvent::position):
752         (WebCore::PlatformGestureEvent::globalPosition):
753         (WebCore::PlatformGestureEvent::timestamp):
754         Add platform agnostic representation of a gesture event.
755
756 2011-01-26  Dan Bernstein  <mitz@apple.com>
757
758         Reviewed by Dave Hyatt.
759
760         <rdar://problem/8446709> Allow inter-ideograph justification for CJK
761         https://bugs.webkit.org/show_bug.cgi?id=53184
762
763         Tests: fast/text/justify-ideograph-complex.html
764                fast/text/justify-ideograph-simple.html
765                fast/text/justify-ideograph-vertical.html
766
767         * html/canvas/CanvasRenderingContext2D.cpp:
768         (WebCore::CanvasRenderingContext2D::drawTextInternal): Corrected the type of the third parameter
769         passed to the TextRun constructor and added the trailingExpansionBehavior parameter.
770         * platform/graphics/Font.cpp:
771         (WebCore::Font::expansionOpportunityCount): Added. Returns the number of expansion opportunities
772         for text justification. On entry, isAfterExpansion says whether an expansion opportunity exists
773         before the first character. On return, isAfterExpansion says whether an expansion opportunity
774         exists after the last character.
775         * platform/graphics/Font.h: 
776         * platform/graphics/GlyphBuffer.h:
777         (WebCore::GlyphBuffer::expandLastAdvance): Added.
778         * platform/graphics/TextRun.h:
779         (WebCore::TextRun::TextRun): Added a TrailingExpansionBehavior parameter to the constructors.
780         Renamed padding to expansion.
781         (WebCore::TextRun::expansion): Renamed padding() to this.
782         (WebCore::TextRun::allowsTrailingExpansion): Added this accessor.
783         * platform/graphics/WidthIterator.cpp:
784         (WebCore::WidthIterator::WidthIterator): Initialize m_isAfterExpansion. Use Font::expansionOpportunityCount()
785         and adjust the count if it includes a trailing expansion opportunity but the run disallows trailing
786         expansion.
787         (WebCore::WidthIterator::advance): Apply expansion before and after CJK ideographs.
788         (WebCore::WidthIterator::advanceOneCharacter): Changed to not clear the GlyphBuffer so that advance()
789         can expand the last advance if it is followed by a CJK ideograph.
790         * platform/graphics/WidthIterator.h: Renamed m_padding to m_expansion and m_padPerSpace
791         to m_expansionPerOpportunity.
792         * platform/graphics/chromium/FontChromiumWin.cpp:
793         (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
794         * platform/graphics/chromium/FontLinux.cpp:
795         (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
796         * platform/graphics/efl/FontEfl.cpp:
797         (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
798         * platform/graphics/gtk/FontGtk.cpp:
799         (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
800         * platform/graphics/haiku/FontHaiku.cpp:
801         (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
802         * platform/graphics/mac/ComplexTextController.cpp:
803         (WebCore::ComplexTextController::ComplexTextController): Initialize m_isAfterExpansion. Use
804         Font::expansionOpportunityCount() and adjust the count if it includes a trailing expansion
805         opportunity but the run disallows trailing expansion.
806         (WebCore::ComplexTextController::adjustGlyphsAndAdvances): Moved the definition and initialization
807         of hasExtraSpacing outside the loop. Apply expansion before and after CJK ideographs.
808         * platform/graphics/mac/ComplexTextController.h: Renamed m_padding to m_expansion and m_padPerSpace
809         to m_expansionPerOpportunity.
810         * platform/graphics/mac/FontMac.mm:
811         (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
812         * platform/graphics/qt/FontQt.cpp:
813         (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
814         * platform/graphics/win/FontWin.cpp:
815         (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
816         * platform/graphics/win/UniscribeController.cpp:
817         (WebCore::UniscribeController::UniscribeController): Updated for rename.
818         * platform/graphics/wince/FontWinCE.cpp:
819         (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
820         * platform/graphics/wx/FontWx.cpp:
821         (WebCore::Font::canExpandAroundIdeographsInComplexText): Added.
822         * rendering/EllipsisBox.cpp:
823         (WebCore::EllipsisBox::paint): Pass a TrailingExpansionBehavior to the TextRun constructor.
824         (WebCore::EllipsisBox::selectionRect): Ditto.
825         (WebCore::EllipsisBox::paintSelection): Ditto.
826         * rendering/InlineBox.h:
827         (WebCore::InlineBox::InlineBox): Renamed m_toAdd to m_expansion.
828         (WebCore::InlineBox::expansion): Renamed toAdd() to this.
829         * rendering/InlineTextBox.cpp:
830         (WebCore::InlineTextBox::selectionRect): Pass a TrailingExpansionBehavior to the TextRun constructor.
831         (WebCore::InlineTextBox::paint): Ditto.
832         (WebCore::InlineTextBox::paintSelection): Ditto.
833         (WebCore::InlineTextBox::paintCompositionBackground): Ditto.
834         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): Ditto.
835         (WebCore::InlineTextBox::paintTextMatchMarker): Ditto.
836         (WebCore::InlineTextBox::computeRectForReplacementMarker): Ditto.
837         (WebCore::InlineTextBox::offsetForPosition): Ditto.
838         (WebCore::InlineTextBox::positionForOffset): Ditto.
839         * rendering/InlineTextBox.h:
840         (WebCore::InlineTextBox::setExpansion): Renamed setSpaceAdd() to this.
841         (WebCore::InlineTextBox::trailingExpansionBehavior): Added. Trailing expansion is allowed if this
842         is not the last leaf box on the line.
843         * rendering/RenderBlockLineLayout.cpp:
844         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Keep expansion opportunity counts
845         in a vector instead of computing them twice. Discard the trailing expansion opportunity in the
846         last text box.
847         * rendering/RenderFileUploadControl.cpp:
848         (WebCore::RenderFileUploadControl::paintObject): Pass a TrailingExpansionBehavior to the TextRun constructor.
849         (WebCore::RenderFileUploadControl::computePreferredLogicalWidths): Ditto.
850         * rendering/RenderListBox.cpp:
851         (WebCore::RenderListBox::updateFromElement): Ditto.
852         (WebCore::RenderListBox::paintItemForeground): Ditto. Also corrected the type of the second parameter.
853         * rendering/RenderTextControl.cpp:
854         (WebCore::RenderTextControl::getAvgCharWidth): Ditto.
855         (WebCore::RenderTextControl::paintPlaceholder): Ditto.
856         * rendering/svg/SVGInlineTextBox.cpp:
857         (WebCore::SVGInlineTextBox::constructTextRun): Ditto.
858
859 2011-01-26  Andy Estes  <aestes@apple.com>
860
861         Rubber-stamped by Darin Adler.
862
863         Inline HTMLObjectElement::hasValidClassId().
864
865         * html/HTMLObjectElement.cpp:
866         (WebCore::HTMLObjectElement::hasValidClassId):
867
868 2011-01-26  Evan Martin  <evan@chromium.org>
869
870         Reviewed by Tony Chang.
871
872         [chromium] crash on getBoundingClientRect in complex text
873         https://bugs.webkit.org/show_bug.cgi?id=53199
874
875         Use the correct array bound; we want the number of characters processed by
876         the shaper, not the longest continuous script run length.
877
878         Test: platform/chromium-linux/fast/text/international/complex-text-rectangle.html
879
880         * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
881         (WebCore::ComplexTextController::nextScriptRun):
882         * platform/graphics/chromium/ComplexTextControllerLinux.h:
883         (WebCore::ComplexTextController::numCodePoints):
884
885 2011-01-26  Emil A Eklund  <eae@chromium.org>
886
887         Reviewed by Alexey Proskuryakov.
888
889         Remove cached document reference from CSSStyleSheet and XSLStyleSheet.
890         https://bugs.webkit.org/show_bug.cgi?id=52084
891
892         Test: fast/dom/css-delete-doc.html
893
894         * css/CSSMediaRule.cpp:
895         (WebCore::CSSMediaRule::insertRule):
896         (WebCore::CSSMediaRule::deleteRule):
897         * css/CSSStyleSheet.cpp:
898         (WebCore::CSSStyleSheet::CSSStyleSheet):
899         (WebCore::CSSStyleSheet::document):
900         * css/CSSStyleSheet.h:
901         * xml/XSLStyleSheet.h:
902         (WebCore::XSLStyleSheet::parentStyleSheet):
903         * xml/XSLStyleSheetLibxslt.cpp:
904         (WebCore::XSLStyleSheet::XSLStyleSheet):
905         (WebCore::XSLStyleSheet::cachedResourceLoader):
906         (WebCore::XSLStyleSheet::setParentStyleSheet):
907         (WebCore::XSLStyleSheet::ownerDocument):
908         * xml/XSLStyleSheetQt.cpp:
909         (WebCore::XSLStyleSheet::XSLStyleSheet):
910         (WebCore::XSLStyleSheet::cachedResourceLoader):
911         (WebCore::XSLStyleSheet::ownerDocument):
912
913 2011-01-25  Dimitri Glazkov  <dglazkov@chromium.org>
914
915         Reviewed by Kent Tamura.
916
917         Reduce ref-count churn in shadowPseudoId.
918         https://bugs.webkit.org/show_bug.cgi?id=53136
919
920         Refactoring, so no new tests.
921
922         * dom/Element.h:
923         (WebCore::Element::shadowPseudoId): Changed signature to use const AtomicString&
924         * html/ValidationMessage.cpp:
925         (WebCore::ElementWithPseudoId::shadowPseudoId): Ditto.
926         * html/shadow/SliderThumbElement.cpp:
927         (WebCore::SliderThumbElement::shadowPseudoId): Ditto, plus moved from the header file.
928         * html/shadow/SliderThumbElement.h: Ditto.
929         * rendering/MediaControlElements.cpp:
930         (WebCore::MediaControlMuteButtonElement::shadowPseudoId): Ditto.
931         (WebCore::MediaControlVolumeSliderMuteButtonElement::shadowPseudoId): Ditto.
932         (WebCore::MediaControlPlayButtonElement::shadowPseudoId): Ditto.
933         (WebCore::MediaControlSeekForwardButtonElement::shadowPseudoId): Ditto.
934         (WebCore::MediaControlSeekBackButtonElement::shadowPseudoId): Ditto.
935         (WebCore::MediaControlRewindButtonElement::shadowPseudoId): Ditto.
936         (WebCore::MediaControlReturnToRealtimeButtonElement::shadowPseudoId): Ditto.
937         (WebCore::MediaControlToggleClosedCaptionsButtonElement::shadowPseudoId): Ditto.
938         (WebCore::MediaControlTimelineElement::shadowPseudoId): Ditto.
939         (WebCore::MediaControlVolumeSliderElement::shadowPseudoId): Ditto.
940         (WebCore::MediaControlFullscreenButtonElement::shadowPseudoId): Ditto.
941         * rendering/MediaControlElements.h: Ditto.
942
943 2011-01-26  Dave Hyatt  <hyatt@apple.com>
944
945         Reviewed by Dan Bernstein.
946
947         https://bugs.webkit.org/show_bug.cgi?id=46421, make multi-column layout work with vertical text.
948
949         Added new tests in fast/multicol/vertical-lr and fast/multicol/vertical-rl.
950
951         * css/html.css:
952         Update p, blockquote and h1-h6 to respect directionality so that column layout tests that use those
953         elements work properly.
954
955         * rendering/InlineFlowBox.cpp:
956         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
957         Fix a flipping bug with the computation of lineTopIncludingMargins where it could be incorrectly shrunk
958         in some cases (causing lines to all stack on top of one another).
959
960         * rendering/InlineTextBox.h:
961         (WebCore::InlineTextBox::calculateBoundaries):
962         Fix calculateBoundaries to be physical rather than logical.
963
964         * rendering/LayoutState.cpp:
965         (WebCore::LayoutState::addForcedColumnBreak):
966         * rendering/LayoutState.h:
967         Rename childY to childLogicalOffset.
968
969         * rendering/RenderBlock.cpp:
970         (WebCore::RenderBlock::layoutBlock):
971         (WebCore::RenderBlock::addOverflowFromChildren):
972         (WebCore::RenderBlock::addOverflowFromFloats):
973         (WebCore::RenderBlock::collapseMargins):
974         (WebCore::RenderBlock::estimateLogicalTopPosition):
975         (WebCore::RenderBlock::layoutBlockChild):
976         (WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):
977         (WebCore::RenderBlock::paintColumnRules):
978         (WebCore::RenderBlock::paintColumnContents):
979         (WebCore::RenderBlock::paintFloats):
980         (WebCore::RenderBlock::selectionGaps):
981         (WebCore::RenderBlock::removeFloatingObjectsBelow):
982         (WebCore::RenderBlock::addOverhangingFloats):
983         (WebCore::RenderBlock::hitTestFloats):
984         (WebCore::RenderBlock::hitTestColumns):
985         (WebCore::RenderBlock::calcColumnWidth):
986         (WebCore::RenderBlock::desiredColumnWidth):
987         (WebCore::RenderBlock::columnRectAt):
988         (WebCore::RenderBlock::layoutColumns):
989         (WebCore::RenderBlock::adjustPointToColumnContents):
990         (WebCore::RenderBlock::adjustRectForColumns):
991         (WebCore::RenderBlock::flipForWritingModeIncludingColumns):
992         (WebCore::RenderBlock::adjustForColumns):
993         (WebCore::RenderBlock::adjustForBorderFit):
994         (WebCore::RenderBlock::nextPageLogicalTop):
995         (WebCore::RenderBlock::applyBeforeBreak):
996         (WebCore::RenderBlock::applyAfterBreak):
997         (WebCore::RenderBlock::adjustForUnsplittableChild):
998         (WebCore::RenderBlock::adjustLinePositionForPagination):
999         * rendering/RenderBlock.h:
1000         (WebCore::RenderBlock::logicalRightOffsetForContent):
1001         (WebCore::RenderBlock::logicalLeftOffsetForContent):
1002         (WebCore::RenderBlock::leftForFloatIncludingMargin):
1003         (WebCore::RenderBlock::topForFloatIncludingMargin):
1004         * rendering/RenderBlockLineLayout.cpp:
1005         (WebCore::RenderBlock::layoutInlineChildren):
1006         (WebCore::RenderBlock::determineStartPosition):
1007         Reworking of all the RenderBlock column functions to support flipping and vertical modes.
1008
1009         * rendering/RenderBox.cpp:
1010         (WebCore::RenderBox::offsetFromContainer):
1011         (WebCore::RenderBox::flipForWritingModeIncludingColumns):
1012         Patch offsetFromContainer to be aware of flipped block writing modes when dealing with column layouts.
1013
1014         * rendering/RenderBox.h:
1015         (WebCore::RenderBox::clientLogicalBottom):
1016         Fix a bug in clientLogicalBottom where it didn't add in the right border/padding.
1017         
1018         * rendering/RenderFlexibleBox.cpp:
1019         (WebCore::RenderFlexibleBox::layoutBlock):
1020         Better terminology for pagination.
1021
1022         * rendering/RenderInline.cpp:
1023         (WebCore::RenderInline::offsetFromContainer):
1024         (WebCore::RenderInline::mapLocalToContainer):
1025         * rendering/RenderLayer.cpp:
1026         (WebCore::RenderLayer::paintChildLayerIntoColumns):
1027         (WebCore::RenderLayer::hitTestChildLayerColumns):
1028         (WebCore::RenderLayer::localBoundingBox):
1029         (WebCore::RenderLayer::boundingBox):
1030         Patch painting in RenderLayers to be vertical-text-aware.
1031     
1032         * rendering/RenderObject.cpp:
1033         (WebCore::RenderObject::mapLocalToContainer):
1034         Add code to be flipped block-aware with columns.
1035
1036         * rendering/RenderTable.cpp:
1037         (WebCore::RenderTable::layout):
1038         * rendering/RenderTableRow.cpp:
1039         (WebCore::RenderTableRow::layout):
1040         * rendering/RenderTableSection.cpp:
1041         (WebCore::RenderTableSection::layoutRows):
1042         Fix pagination to use better terminology.
1043         
1044         * rendering/RenderText.cpp:
1045         (WebCore::RenderText::absoluteQuads):
1046         (WebCore::RenderText::absoluteQuadsForRange):
1047         Fix a bug where vertical text wasn't taken into account.
1048
1049 2011-01-26  Dimitri Glazkov  <dglazkov@chromium.org>
1050
1051         Unreviewed, rolling out r76719.
1052         http://trac.webkit.org/changeset/76719
1053         https://bugs.webkit.org/show_bug.cgi?id=53122
1054
1055         Broke a bunch of media tests in Chromium/Qt/GTK.
1056
1057 2011-01-26  Tony Chang  <tony@chromium.org>
1058
1059         Reviewed by Ryosuke Niwa.
1060
1061         [gtk] strip NUL characters when copying text/html on GTK+
1062         https://bugs.webkit.org/show_bug.cgi?id=52508
1063
1064         Putting NUL characters in the text/html clipboard doesn't work in
1065         WebKit GTK+ (the pasted value is truncated at the NUL).  Since we're
1066         already stripping this character for plain text (for Windows), strip
1067         it in text/html too.
1068
1069         * editing/MarkupAccumulator.h: mark function as virtual
1070         * editing/markup.cpp:
1071         (WebCore::StyledMarkupAccumulator::appendString):
1072         (WebCore::StyledMarkupAccumulator::takeResults): strip nulls
1073
1074 2011-01-26  Mario Sanchez Prada  <msanchez@igalia.com>
1075
1076         Reviewed by Martin Robinson.
1077
1078         [GTK] Reliable crash with getTextAtOffset()
1079         https://bugs.webkit.org/show_bug.cgi?id=53131
1080
1081         Properly calculate length in bytes for a UTF8 substring.
1082
1083         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1084         (utf8Substr): Use character instead of bytes as units to
1085         calculate the length in bytes for the UTF8 string.
1086
1087 2011-01-25  Dimitri Glazkov  <dglazkov@chromium.org>
1088
1089         Reviewed by Kent Tamura.
1090
1091         Change HTMLInputElement-derived parts of media element shadow DOM to use shadowPseudoId.
1092         https://bugs.webkit.org/show_bug.cgi?id=53122
1093
1094         This is the first step in converting HTMLMediaElement to the new shadow DOM.
1095
1096         Should not regress any existing tests. No observable change in behavior.
1097
1098         * css/CSSSelector.cpp:
1099         (WebCore::CSSSelector::pseudoId): Removed now-unnecessary hard-coded pseudo-element selectors.
1100         (WebCore::nameToPseudoTypeMap): Ditto.
1101         (WebCore::CSSSelector::extractPseudoType): Ditto.
1102         * css/CSSSelector.h: Ditto.
1103         * css/mediaControls.css: Added proper initial values, now that elements use the proper selector pipeline.
1104         * rendering/MediaControlElements.cpp:
1105         (WebCore::MediaControlInputElement::MediaControlInputElement): Removed the switch statement,
1106             which is now replaced with virtual shadowPseudoId on each corresponding class.
1107         (WebCore::MediaControlInputElement::styleForElement): Changed to use element pipeline.
1108         (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement): Changed to set
1109             display type in constructor.
1110         (WebCore::MediaControlMuteButtonElement::create): Changed to not take PseudoId as
1111             constructor argument.
1112         (WebCore::MediaControlMuteButtonElement::shadowPseudoId): Added.
1113         (WebCore::MediaControlVolumeSliderMuteButtonElement::MediaControlVolumeSliderMuteButtonElement): Added
1114             to disambiguate from the MediaControlMuteButtonElement.
1115         (WebCore::MediaControlVolumeSliderMuteButtonElement::create): Added.
1116         (WebCore::MediaControlVolumeSliderMuteButtonElement::shadowPseudoId): Added.
1117         (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement): Changed to not take PseudoId as
1118             constructor argument.
1119         (WebCore::MediaControlPlayButtonElement::shadowPseudoId): Added.
1120         (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement): Changed to not take PseudoId as
1121             constructor argument.
1122         (WebCore::MediaControlSeekForwardButtonElement::MediaControlSeekForwardButtonElement): Added.
1123         (WebCore::MediaControlSeekForwardButtonElement::create): Added.
1124         (WebCore::MediaControlSeekForwardButtonElement::shadowPseudoId): Added.
1125         (WebCore::MediaControlSeekBackButtonElement::MediaControlSeekBackButtonElement): Added.
1126         (WebCore::MediaControlSeekBackButtonElement::create): Added.
1127         (WebCore::MediaControlSeekBackButtonElement::shadowPseudoId): Added.
1128         (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement): Added.
1129         (WebCore::MediaControlRewindButtonElement::shadowPseudoId): Added.
1130         (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement): Changed to not take PseudoId as
1131             constructor argument.
1132         (WebCore::MediaControlReturnToRealtimeButtonElement::shadowPseudoId): Added.
1133         (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement): Changed to not take PseudoId as
1134             constructor argument.
1135         (WebCore::MediaControlToggleClosedCaptionsButtonElement::shadowPseudoId): Added.
1136         (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): Changed to not take PseudoId as
1137             constructor argument.
1138         (WebCore::MediaControlTimelineElement::shadowPseudoId): Added.
1139         (WebCore::MediaControlVolumeSliderElement::MediaControlVolumeSliderElement): Changed to not take PseudoId as
1140             constructor argument.
1141         (WebCore::MediaControlVolumeSliderElement::shadowPseudoId): Added.
1142         (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement): Changed to not take PseudoId as
1143             constructor argument.
1144         (WebCore::MediaControlFullscreenButtonElement::shadowPseudoId): Added.
1145         * rendering/MediaControlElements.h:
1146         (WebCore::MediaControlSeekForwardButtonElement::isForwardButton): Added.
1147         (WebCore::MediaControlSeekBackButtonElement::isForwardButton): Added.
1148         * rendering/RenderMedia.cpp:
1149         (WebCore::RenderMedia::createMuteButton): Changed to use new constructor.
1150         (WebCore::RenderMedia::createSeekBackButton): Ditto.
1151         (WebCore::RenderMedia::createSeekForwardButton): Ditto.
1152         (WebCore::RenderMedia::createVolumeSliderMuteButton): Ditto.
1153         * rendering/style/RenderStyleConstants.h: Removed constants that are no longer used.
1154
1155 2011-01-26  Kenneth Russell  <kbr@google.com>
1156
1157         Reviewed by James Robinson.
1158
1159         Fix multisampling support in DrawingBuffer
1160         https://bugs.webkit.org/show_bug.cgi?id=53154
1161
1162         In DrawingBuffer's multisampling code path, fixed enum usage and a
1163         bug where it would incorrectly redefine the depth and stencil
1164         buffers. Hooked up multisampling code path in Chromium port.
1165
1166         Tested manually with some accelerated 2D canvas content.
1167         Multisampling isn't being switched on for the accelerated 2D
1168         canvas at the current time because it will increase fill rate
1169         requirements and cause a large number of rebaselines.
1170
1171         * platform/graphics/Extensions3D.h:
1172         * platform/graphics/chromium/DrawingBufferChromium.cpp:
1173         (WebCore::DrawingBuffer::publishToPlatformLayer):
1174         * platform/graphics/chromium/Extensions3DChromium.h:
1175         * platform/graphics/gpu/DrawingBuffer.cpp:
1176         (WebCore::DrawingBuffer::create):
1177         (WebCore::DrawingBuffer::reset):
1178         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
1179         (WebCore::Extensions3DOpenGL::supports):
1180
1181 2011-01-26  Tony Chang  <tony@chromium.org>
1182
1183         Unreviewed.
1184
1185         [chromium] revert r68310 because of race conditions detected by tsans
1186         https://bugs.webkit.org/show_bug.cgi?id=53185
1187
1188         Causes stability problems for Chromium, http://crbug.com/70589
1189
1190         * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
1191         (WebCore::SQLiteFileSystem::registerSQLiteVFS):
1192
1193 2011-01-26  Justin Schuh  <jschuh@chromium.org>
1194
1195         Reviewed by Adam Barth.
1196
1197         Make fireEventsAndUpdateStyle use stack local vectors. 
1198         https://bugs.webkit.org/show_bug.cgi?id=46760
1199
1200         Test: animations/animation-add-events-in-handler.html
1201
1202         * page/animation/AnimationController.cpp:
1203         (WebCore::AnimationControllerPrivate::fireEventsAndUpdateStyle):
1204
1205 2011-01-26  Nate Chapin  <japhet@chromium.org>
1206
1207         Reviewed by Adam Barth.
1208
1209         Remove m_URL from FrameLoader and depend on Document::url()
1210         instead. FrameLoader::url() will be removed in a followup patch.
1211         https://bugs.webkit.org/show_bug.cgi?id=41165
1212
1213         Refactor only, no new tests.
1214
1215         * WebCore.exp.in:
1216         * dom/Document.cpp:
1217         (WebCore::Document::Document):
1218         (WebCore::Document::updateURLForPushOrReplaceState):
1219         * loader/DocumentWriter.cpp:
1220         (WebCore::DocumentWriter::begin):
1221         * loader/FrameLoader.cpp:
1222         (WebCore::FrameLoader::iconURL):
1223         (WebCore::FrameLoader::didOpenURL):
1224         (WebCore::FrameLoader::didExplicitOpen):
1225         (WebCore::FrameLoader::receivedFirstData):
1226         (WebCore::FrameLoader::url):
1227         (WebCore::FrameLoader::setOutgoingReferrer):
1228         (WebCore::FrameLoader::startIconLoader):
1229         (WebCore::FrameLoader::commitIconURLToIconDatabase):
1230         (WebCore::FrameLoader::finishedParsing):
1231         (WebCore::FrameLoader::checkIfDisplayInsecureContent):
1232         (WebCore::FrameLoader::checkIfRunInsecureContent):
1233         (WebCore::FrameLoader::updateFirstPartyForCookies):
1234         (WebCore::FrameLoader::loadInSameDocument):
1235         (WebCore::FrameLoader::commitProvisionalLoad):
1236         (WebCore::FrameLoader::open):
1237         (WebCore::FrameLoader::shouldScrollToAnchor):
1238         * loader/FrameLoader.h: Rename setURL() to setOutgoingReferrer().
1239
1240 2011-01-25  Brian Weinstein  <bweinstein@apple.com>
1241
1242         Reviewed by Antti Koivisto.
1243
1244         Crashes loading pages when cancelling subresource loads through WebKit
1245         https://bugs.webkit.org/show_bug.cgi?id=53123
1246         <rdar://problem/8914361>
1247         
1248         Fix a crash that happened when cancelling subresource loads through WebKit.
1249         
1250         When a load is cancelled synchronously (via the WebKit client), CachedResourceLoader::requestResource 
1251         can be called recursively on the same function, either leading to infinite recursion, or deleting 
1252         an object when it is not done being used.
1253         
1254         The fix for this was to call checkForPendingPreloads and servePendingRequests asynchronously when 
1255         CachedResourceLoader::loadDone was called synchronously (due to the load being cancelled synchronously).
1256
1257         Test: fast/loader/willSendRequest-null-for-preload.html
1258
1259         * loader/DocumentLoader.cpp:
1260         (WebCore::DocumentLoader::setRequest): Only dispatch didReceiveServerRedirectForProvisionalLoadForFrame 
1261             if our new URL is non-null.
1262         * loader/cache/CachedResourceLoader.cpp:
1263         (WebCore::CachedResourceLoader::CachedResourceLoader): Initialize our timer.
1264         (WebCore::CachedResourceLoader::loadDone): If the CachedResource we were passed in was 0, that means this 
1265             function was called synchronously
1266             from CachedResourceRequest::load, and we don't want to call into checkForPendingPreloads synchronously, 
1267             so put it on a 0-delay timer to make the calls to checkForPendingPreloads and servePendingRequests asynchronous.
1268         (WebCore::CachedResourceLoader::loadDonePendingActionTimerFired): Call checkForPendingPreloads and servePendingRequests.
1269         (WebCore::CachedResourceLoader::checkForPendingPreloads): m_pendingPreloads is now a Deque instead of a Vector, 
1270             so use Deque methods.
1271         * loader/cache/CachedResourceLoader.h: Add the timer, the timer callback function, and make m_pendingPreloads a Deque.
1272
1273 2011-01-25  Pavel Podivilov  <podivilov@chromium.org>
1274
1275         Reviewed by Pavel Feldman.
1276
1277         Web Inspector: evaluate in console may not work when window.console is substituted or deleted.
1278         https://bugs.webkit.org/show_bug.cgi?id=53072
1279
1280         Test: inspector/console-substituted.html
1281
1282         * inspector/InjectedScriptSource.js:
1283         (.):
1284
1285 2011-01-26  Carlos Garcia Campos  <cgarcia@igalia.com>
1286
1287         Reviewed by Martin Robinson.
1288
1289         [cairo] Use CAIRO_OPERATOR_DARKEN when available
1290         https://bugs.webkit.org/show_bug.cgi?id=53084
1291
1292         Use CAIRO_OPERATOR_DARKEN for CompositePlusDarker instead of
1293         CAIRO_OPERATOR_SATURATE when building with cairo version >= 1.10.
1294
1295         * platform/graphics/cairo/CairoUtilities.cpp:
1296         (WebCore::toCairoOperator):
1297
1298 2011-01-26  Pavel Feldman  <pfeldman@chromium.org>
1299
1300         Reviewed by Yury Semikhatsky.
1301
1302         Web Inspector: visualize \n in strings as unicode cr
1303         symbol in stack variables sidebar.
1304         https://bugs.webkit.org/show_bug.cgi?id=53162
1305
1306         * inspector/front-end/ObjectPropertiesSection.js:
1307         (WebInspector.ObjectPropertyTreeElement.prototype.update):
1308
1309 2011-01-26  Andrey Kosyakov  <caseq@chromium.org>
1310
1311         Reviewed by Pavel Feldman.
1312
1313         Web Inspector: size is wrong for cached resources in Network panel
1314         - Set the size for 304/not modified resources from cached resource.
1315         - Add response headers size to resource transfer size.
1316         https://bugs.webkit.org/show_bug.cgi?id=52886
1317
1318         * inspector/InspectorResourceAgent.cpp:
1319         (WebCore::InspectorResourceAgent::didReceiveResponse):
1320         * inspector/front-end/Resource.js:
1321         (WebInspector.Resource):
1322         (WebInspector.Resource.prototype.get transferSize):
1323         (WebInspector.Resource.prototype.set responseHeaders):
1324         (WebInspector.Resource.prototype._headersSize):
1325         (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
1326
1327 2011-01-26  Carol Szabo  <carol.szabo@nokia.com>
1328
1329         Reviewed by Simon Hausmann.
1330
1331         Fixed TiledBacking store to take into account new dirty regions caused by
1332         paint time layouts.
1333
1334         Flawed rendering design for QtWebKit resulting in artifacts being displayed
1335         https://bugs.webkit.org/show_bug.cgi?id=49184
1336
1337         There are no new tests as this patch aims at fixing flicker that
1338         happen randomly, mostly on slow hardware, thus are hard to reproduce
1339         consistently in an automated test.
1340
1341         This patch does not fully address the said bug but it is a step in the
1342         right direction. A full solution to the bug, as currently perceived,
1343         requires either a Qt GUI API change, a performance hit for QtWebKit,
1344         or a hack, until a full solution is provided this patch is progress.
1345
1346         * platform/graphics/TiledBackingStore.cpp:
1347         (WebCore::TiledBackingStore::updateTileBuffers):
1348         Changed to take into account newly dirtied areas created during
1349         tile update initiated layouts during the same update.
1350
1351 2011-01-26  Patrick Gansterer  <paroga@webkit.org>
1352
1353         Reviewed by Andreas Kling.
1354
1355         [SKIA] Remove "current path" of GraphicsContext
1356         https://bugs.webkit.org/show_bug.cgi?id=53124
1357
1358         * platform/graphics/GraphicsContext.h:
1359         * platform/graphics/skia/GraphicsContextSkia.cpp:
1360         (WebCore::GraphicsContext::clipPath):
1361         (WebCore::GraphicsContext::fillPath):
1362         (WebCore::GraphicsContext::strokePath):
1363         * platform/graphics/skia/PathSkia.cpp:
1364         (WebCore::Path::strokeBoundingRect):
1365         * platform/graphics/skia/PlatformContextSkia.cpp:
1366         * platform/graphics/skia/PlatformContextSkia.h:
1367
1368 2011-01-26  Zalan Bujtas <zbujtas@gmail.com>
1369
1370         Reviewed by Andreas Kling.
1371
1372         [Qt] Path::normalAngleAtLength() returns incorrect value on ACID3.
1373
1374         QPainterPath returns angle values with the origo being at the top left corner,
1375         we need to account for this in normalAngleAtLength().
1376         This Regressed with r66979.
1377
1378         No new tests as this is already covered by ACID3.
1379
1380         * platform/graphics/qt/PathQt.cpp:
1381         (WebCore::Path::normalAngleAtLength):
1382
1383 2011-01-26  Pavel Feldman  <pfeldman@chromium.org>
1384
1385         Reviewed by Yury Semikhatsky.
1386
1387         Web Inspector: live edit does not update source snippet.
1388         https://bugs.webkit.org/show_bug.cgi?id=53097
1389
1390         * inspector/front-end/ScriptsPanel.js:
1391         (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
1392
1393 2011-01-26  Pavel Feldman  <pfeldman@chromium.org>
1394
1395         Reviewed by Yury Semikhatsky.
1396
1397         Web Inspector: Incorrect on-hover evaluation of a variable named 'profile'.
1398         https://bugs.webkit.org/show_bug.cgi?id=53018
1399
1400         * inspector/InjectedScript.cpp:
1401         (WebCore::InjectedScript::evaluate):
1402         (WebCore::InjectedScript::evaluateOnCallFrame):
1403         (WebCore::InjectedScript::getCompletions):
1404         (WebCore::InjectedScript::getCompletionsOnCallFrame):
1405         * inspector/InjectedScript.h:
1406         * inspector/InjectedScriptSource.js:
1407         (.):
1408         * inspector/Inspector.idl:
1409         * inspector/InspectorDebuggerAgent.cpp:
1410         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
1411         (WebCore::InspectorDebuggerAgent::getCompletionsOnCallFrame):
1412         * inspector/InspectorDebuggerAgent.h:
1413         * inspector/InspectorRuntimeAgent.cpp:
1414         (WebCore::InspectorRuntimeAgent::evaluate):
1415         (WebCore::InspectorRuntimeAgent::getCompletions):
1416         * inspector/InspectorRuntimeAgent.h:
1417         * inspector/front-end/ConsoleView.js:
1418         (WebInspector.ConsoleView.prototype.completions):
1419         (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
1420         (WebInspector.ConsoleView.prototype._enterKeyPressed):
1421         * inspector/front-end/ScriptsPanel.js:
1422         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame.updatingCallbackWrapper):
1423         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
1424         * inspector/front-end/SourceFrame.js:
1425         (WebInspector.SourceFrame.prototype._showPopup):
1426         * inspector/front-end/WatchExpressionsSidebarPane.js:
1427         (WebInspector.WatchExpressionsSection.prototype.update):
1428
1429 2011-01-26  Hironori Bono  <hbono@chromium.org>
1430
1431         Reviewed by Kent Tamura.
1432
1433         A speculative fix for Bug 52422 - [chromium] More crash in
1434         FontFallbackList::determinePitch(const Font* font)
1435         https://bugs.webkit.org/show_bug.cgi?id=52422
1436
1437         My previous change may not work on non-US Windows whose system fonts
1438         have localized aliases matching to the system locale because of a
1439         font-name mismatch in createFontIndirectAndGetWinName(). This change
1440         tries all the fonts installed in a PC and returns the first font that we
1441         can create without errors.
1442
1443         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
1444         (WebCore::GetLastResortFallbackFontProcData::GetLastResortFallbackFontProcData):
1445         Added a struct used for getLastResortFallbackFontProc().
1446         (WebCore::getLastResortFallbackFontProc): Added a callback for EnumFontFamilies().
1447         (WebCore::FontCache::getLastResortFallbackFont): Use EnumFontFamilies() to find a last-resort font.
1448
1449 2011-01-26  James Robinson  <jamesr@chromium.org>
1450
1451         Reviewed by Nate Chapin.
1452
1453         Add a DOMTimeStamp parameter to the requestAnimationFrame callback
1454         https://bugs.webkit.org/show_bug.cgi?id=53142
1455
1456         This adds a DOMTimeStamp parameter to the requestAnimationFrame callback to more
1457         closely match mozilla's proposal.  This is useful if the page has multiple imperative animations
1458         and wants to ensure that they all remain synchronized.  If each callback used Date.now() to
1459         update its animation state, they would potentially be out of sync with each other.  If they use
1460         the timestamp then all callbacks for the same "frame" will update to the same state.
1461
1462         Test: fast/animation/request-animation-frame-timestamps.html
1463
1464         * bindings/scripts/CodeGeneratorV8.pm:
1465         * bindings/scripts/test/V8/V8TestCallback.cpp:
1466         (WebCore::V8TestCallback::callbackWithClass2Param):
1467         * dom/Document.cpp:
1468         (WebCore::Document::serviceScriptedAnimations):
1469         * dom/Document.h:
1470         * dom/RequestAnimationFrameCallback.h:
1471         * dom/RequestAnimationFrameCallback.idl:
1472         * page/FrameView.cpp:
1473         (WebCore::FrameView::serviceScriptedAnimations):
1474         * page/FrameView.h:
1475
1476 2011-01-25  Yuzo Fujishima  <yuzo@google.com>
1477
1478         Unreviewed attempt to fix compilation error for Chromium Clang.
1479
1480         * platform/graphics/mac/ComplexTextController.cpp:
1481         (WebCore::ComplexTextController::advance):
1482
1483 2011-01-25  Ned Holbrook  <nholbrook@apple.com>
1484
1485         Reviewed by Dan Bernstein.
1486
1487         ComplexTextController incorrectly conflates string length and range of indexes
1488         https://bugs.webkit.org/show_bug.cgi?id=52760
1489
1490         Test: fast/text/offsetForPosition-complex-fallback.html
1491
1492         * platform/graphics/mac/ComplexTextController.cpp:
1493         (WebCore::ComplexTextController::offsetForPosition):
1494         (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
1495         (WebCore::ComplexTextController::ComplexTextRun::setIsNonMonotonic):
1496         (WebCore::ComplexTextController::advance):
1497         * platform/graphics/mac/ComplexTextController.h:
1498         (WebCore::ComplexTextController::ComplexTextRun::create):
1499         (WebCore::ComplexTextController::ComplexTextRun::indexEnd):
1500         * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
1501         (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
1502         * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
1503         (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
1504         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
1505
1506 2011-01-25  Sam Weinig  <sam@webkit.org>
1507
1508         Reviewed by David Hyatt.
1509
1510         Scrollbars don't work correctly for top-to-bottom text in an overflow: scroll area
1511         https://bugs.webkit.org/show_bug.cgi?id=53048
1512
1513         Test: fast/overflow/overflow-rtl-vertical-origin.html
1514
1515         * rendering/RenderLayer.cpp:
1516         (WebCore::RenderLayer::scrollPosition):
1517         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
1518         Take the scroll origin into account when calculating scrollbars in more places.
1519
1520 2011-01-25  Steve Falkenburg  <sfalken@apple.com>
1521
1522         Windows production build fix.
1523         Use correct configuration-specific path in makefile.
1524
1525         * WebCore.vcproj/WebCore.make:
1526
1527 2011-01-25  Kent Tamura  <tkent@chromium.org>
1528
1529         Reviewed by Dimitri Glazkov.
1530
1531         Radio button group state is not restored correctly
1532         https://bugs.webkit.org/show_bug.cgi?id=50442
1533
1534         Fixes a bug that radio button states are not restored correctly in
1535         a case that non-first radio button in a group is checked.
1536
1537         If "checked" attribute is present, the radio button is checked and
1538         other radio buttons in the group are unchecked. This behavior
1539         disturbs form state restoring. This patch changes this behavior so
1540         that the "checked" attribute handling is delayed after form state
1541         restoring.
1542
1543         Test: fast/forms/state-restore-radio-group.html
1544
1545         * html/HTMLFormControlElement.h:
1546          Make finishParsingChildren() protected so that HTMLInpuElement can call it.
1547         * html/HTMLInputElement.cpp:
1548         (WebCore::HTMLInputElement::HTMLInputElement):
1549          - Add createdByParser parameter.
1550          - Initialize m_stateRestored and m_parsingInProgress.
1551         (WebCore::HTMLInputElement::create): Sync with the constructor.
1552         (WebCore::HTMLInputElement::restoreFormControlState):
1553          Set m_stateRestored in order to refer it in finishParsingChildren().
1554         (WebCore::HTMLInputElement::parseMappedAttribute):
1555          Don't call setChecked() during parsing. Move setNeedsValidityCheck()
1556          to setChecked().
1557         (WebCore::HTMLInputElement::finishParsingChildren):
1558          Call setChecked() if form state is not restored.
1559         (WebCore::HTMLInputElement::setChecked):
1560          Move setNeedsValidityCheck() from parseMappedAttribute() because
1561          finishParsingChildren() also needs to call setNeedsValidityCheck().
1562         * html/HTMLInputElement.h:
1563          - Remove the default value of HTMLFormElement* of the HTMLInputElement
1564            constructor, and add createdByParser parameter.
1565          - Introduce m_parsingInProgress and m_stateRestored.
1566         * html/HTMLIsIndexElement.cpp:
1567         (WebCore::HTMLIsIndexElement::HTMLIsIndexElement):
1568          Sync with the HTMLInputElement constructor change.
1569         * html/HTMLTagNames.in: Add constructorNeedsCreatedByParser flag.
1570         * rendering/MediaControlElements.cpp:
1571         (WebCore::MediaControlInputElement::MediaControlInputElement):
1572          Sync with the HTMLInputElement constructor change.
1573         * rendering/ShadowElement.cpp:
1574         (WebCore::ShadowInputElement::ShadowInputElement): ditto.
1575         * rendering/ShadowElement.h:
1576         (WebCore::ShadowElement::ShadowElement): ditto.
1577
1578 2011-01-25  Kent Tamura  <tkent@chromium.org>
1579
1580         Reviewed by Dimitri Glazkov.
1581
1582         HTMLFormElement::checkValidity() returns incorrect result if 'invalid' events are canceled.
1583         https://bugs.webkit.org/show_bug.cgi?id=52565
1584
1585         * html/HTMLFormElement.cpp:
1586         (WebCore::HTMLFormElement::validateInteractively):
1587           Check checkInvalidControlsAndCollectUnhandled() result instead of
1588           checking emptiness of unhandled invalid controls list.
1589         (WebCore::HTMLFormElement::checkValidity): ditto.
1590         (WebCore::HTMLFormElement::checkInvalidControlsAndCollectUnhandled):
1591           Renamed from collectUnhandledInvalidControls().
1592           Returns true if there is any invalid control regardless of event canceling.
1593         * html/HTMLFormElement.h: Rename collectUnhandledInvalidControls() to
1594           checkInvalidControlsAndCollectUnhandled().
1595
1596 2011-01-25  Kent Tamura  <tkent@chromium.org>
1597
1598         Reviewed by Dimitri Glazkov.
1599
1600         Range and number inputs should reject increment and decrement by
1601         keyboard or mouse wheel if they are disabled or read-only
1602         https://bugs.webkit.org/show_bug.cgi?id=53151
1603
1604         * html/RangeInputType.cpp:
1605         (WebCore::RangeInputType::handleKeydownEvent): Check disabled() and readOnly().
1606         * html/TextFieldInputType.cpp:
1607         (WebCore::TextFieldInputType::handleKeydownEventForSpinButton): ditto.
1608         (WebCore::TextFieldInputType::handleWheelEventForSpinButton): ditto.
1609
1610 2011-01-25  Kent Tamura  <tkent@chromium.org>
1611
1612         Reviewed by Dimitri Glazkov.
1613
1614         API to support localized numbers for <input type=number>
1615         https://bugs.webkit.org/show_bug.cgi?id=45730
1616
1617         Introduce platform/text/LocalizedNumber.h, and
1618         LocalizedNumberNone.cpp, which is an empty implementation of the
1619         functions in LocalizedNumber.h.  We use LocalizedNumberNone.cpp in
1620         all platforms for now.
1621
1622         A string in a type=number field is parsed as a localized number
1623         first. If the parsing fails, it is parsed as the HTML5 number.
1624
1625         We introduce HTMLInputElement::visibleValue(). It represents a value
1626         which should be drawn by a renderer. HTMLInputElement::value() always
1627         returns a number formatted for HTML5, and visibleValue() may return a
1628         localized number.
1629
1630         No new tests because this doesn't change any behavior.
1631
1632         * Android.mk: Add LocalizedNumber.h and/or LocalizedNumberNone.cpp.
1633         * CMakeLists.txt: ditto.
1634         * GNUmakefile.am: ditto.
1635         * WebCore.gypi: ditto.
1636         * WebCore.pro: ditto.
1637         * WebCore.vcproj/WebCore.vcproj: ditto.
1638         * WebCore.xcodeproj/project.pbxproj: ditto.
1639         * dom/InputElement.h: Add visibleValue().
1640         * html/HTMLInputElement.cpp:
1641         (WebCore::HTMLInputElement::visibleValue): Added.  Just call InputType::visibleValue().
1642         * html/HTMLInputElement.h: Declare visibleValue().
1643         * html/InputType.cpp:
1644         (WebCore::InputType::visibleValue): Add the default implementation of
1645           visibleValue(), which returns HTMLInputElement::value().
1646         * html/InputType.h: Add declarations.
1647         * html/NumberInputType.cpp:
1648         (WebCore::isHTMLNumberCharacter): Renamed from isNumberCharacter().
1649         (WebCore::isNumberCharacter): Calls isLocalizedNumberCharacter() and isHTMLNumberCharacter().
1650         (WebCore::NumberInputType::visibleValue):
1651           Returns a localized number string produced by formatLocalizedNumber().
1652         (WebCore::NumberInputType::isAcceptableValue): Calls parseLocalizedNumber().
1653         (WebCore::NumberInputType::sanitizeValue): Calls parseLocalizedNumber().
1654         * html/NumberInputType.h: Add declarations.
1655         * platform/text/LocalizedNumber.h: Added.
1656         * platform/text/LocalizedNumberNone.cpp: Added.
1657         (WebCore::parseLocalizedNumber):
1658         (WebCore::formatLocalizedNumber):
1659         (WebCore::isLocalizedNumberCharacter):
1660         * rendering/RenderTextControlSingleLine.cpp:
1661         (WebCore::RenderTextControlSingleLine::updateFromElement):
1662           Calls InputElement::visibleValue() instead of value().
1663         * wml/WMLInputElement.h:
1664         (WebCore::WMLInputElement::visibleValue): Added. It just calls value().
1665
1666 2011-01-25  Alexey Proskuryakov  <ap@apple.com>
1667
1668         Reviewed by Darin Adler.
1669
1670         https://bugs.webkit.org/show_bug.cgi?id=53143
1671         Add IntRectHash
1672
1673         * WebCore.xcodeproj/project.pbxproj:
1674         * platform/graphics/IntRectHash.h: Added.
1675
1676         * platform/graphics/IntSizeHash.h: Don't do "using WebCore::IntSize"!
1677
1678 2011-01-25  Ilya Sherman  <isherman@chromium.org>
1679
1680         Reviewed by Ryosuke Niwa.
1681
1682         Remove trailing whitespace in HTMLInputElement.cpp
1683         https://bugs.webkit.org/show_bug.cgi?id=53152
1684
1685         * html/HTMLInputElement.cpp:
1686         (WebCore::HTMLInputElement::updateCheckedRadioButtons):
1687         (WebCore::HTMLInputElement::applyStep):
1688         (WebCore::HTMLInputElement::updateFocusAppearance):
1689         (WebCore::HTMLInputElement::mapToEntry):
1690         (WebCore::HTMLInputElement::setAutofilled):
1691         (WebCore::HTMLInputElement::willMoveToNewOwnerDocument):
1692         (WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
1693
1694 2011-01-25  Mike Reed  <reed@google.com>
1695
1696         Reviewed by James Robinson.
1697
1698         DrawingBufer::reset() today checks if the new size is the same as its
1699         m_size, and if so, returns immediately. This does not match the
1700         semantics of <canvas>, which wants to clear its contents anytime the
1701         size is specified.
1702         https://bugs.webkit.org/show_bug.cgi?id=53149
1703
1704         Test: Covered by existing <canvas> tests using gpu.
1705
1706         * platform/graphics/chromium/DrawingBufferChromium.cpp:
1707         (WebCore::DrawingBuffer::DrawingBuffer):
1708         * platform/graphics/gpu/DrawingBuffer.cpp:
1709         (WebCore::DrawingBuffer::reset):
1710
1711 2011-01-25  Cris Neckar  <cdn@chromium.org>
1712
1713         Reviewed by Adam Barth.
1714
1715         Add a hashset of DOMURLs to ScriptExecutionContext to track back references.
1716         https://bugs.webkit.org/show_bug.cgi?id=53038
1717
1718         Test: fast/dom/window-domurl-crash.html
1719
1720         * dom/ScriptExecutionContext.cpp:
1721         (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
1722         (WebCore::ScriptExecutionContext::createdDomUrl):
1723         (WebCore::ScriptExecutionContext::destroyedDomUrl):
1724         * dom/ScriptExecutionContext.h:
1725         (WebCore::ScriptExecutionContext::domUrls):
1726         * html/DOMURL.cpp:
1727         (WebCore::DOMURL::DOMURL):
1728         (WebCore::DOMURL::~DOMURL):
1729         (WebCore::DOMURL::contextDestroyed):
1730         * html/DOMURL.h:
1731         (WebCore::DOMURL::scriptExecutionContext):
1732
1733 2011-01-23  Antti Koivisto  <antti@apple.com>
1734
1735         Reviewed by Darin Adler.
1736
1737         https://bugs.webkit.org/show_bug.cgi?id=52983
1738         Eliminate m_tagHistory pointer from CSSSelector
1739
1740         Keep the component selectors in the array in CSSSelectorList instead
1741         of maintaining a linked list between them. This allows eliminating
1742         m_tagHistory pointer, shrinking CSSSelector by 25% (selection performance
1743         seems to improve some too due to better locality).
1744
1745         * WebCore.xcodeproj/project.pbxproj:
1746         
1747             Make CSSSelector.h a private header.
1748         
1749         * css/CSSGrammar.y:
1750         
1751             Use CSSParserSelector during parsing to keep the tag history in 
1752             a linked list. This is flattened to an array after parsing.
1753             Use accessors for setting selector values.
1754             Use OwnPtr in selector vector.
1755             
1756         * css/CSSPageRule.cpp:
1757         (WebCore::CSSPageRule::CSSPageRule):
1758         * css/CSSPageRule.h:
1759         (WebCore::CSSPageRule::create):
1760         
1761             Simplify.
1762     
1763         * css/CSSParser.cpp:
1764         (WebCore::CSSParser::~CSSParser):
1765         (WebCore::CSSParser::createFloatingSelector):
1766         (WebCore::CSSParser::sinkFloatingSelector):
1767         (WebCore::CSSParser::createStyleRule):
1768         (WebCore::CSSParser::updateSpecifiersWithElementName):
1769         (WebCore::CSSParser::createPageRule):
1770         * css/CSSParser.h:
1771         (WebCore::CSSParser::reusableSelectorVector):
1772         
1773             CSSSelector -> CSSParserSelector.
1774             Use OwnPtr in selector vector.
1775             
1776         * css/CSSParserValues.cpp:
1777         (WebCore::CSSParserSelector::CSSParserSelector):
1778         (WebCore::CSSParserSelector::~CSSParserSelector):
1779         * css/CSSParserValues.h:
1780         (WebCore::CSSParserSelector::releaseSelector):
1781         (WebCore::CSSParserSelector::setTag):
1782         (WebCore::CSSParserSelector::setValue):
1783         (WebCore::CSSParserSelector::setAttribute):
1784         (WebCore::CSSParserSelector::setArgument):
1785         (WebCore::CSSParserSelector::setSimpleSelector):
1786         (WebCore::CSSParserSelector::setMatch):
1787         (WebCore::CSSParserSelector::setRelation):
1788         (WebCore::CSSParserSelector::setForPage):
1789         (WebCore::CSSParserSelector::pseudoType):
1790         (WebCore::CSSParserSelector::isUnknownPseudoElement):
1791         (WebCore::CSSParserSelector::isSimple):
1792         (WebCore::CSSParserSelector::tagHistory):
1793         (WebCore::CSSParserSelector::setTagHistory):
1794         
1795             Linked list used during parsing.
1796             Avoid recursive destruction.
1797
1798         * css/CSSSelector.cpp:
1799         (WebCore::CSSSelector::extractPseudoType):
1800         (WebCore::CSSSelector::operator==):
1801         (WebCore::CSSSelector::selectorText):
1802         (WebCore::CSSSelector::setSimpleSelector):
1803         * css/CSSSelector.h:
1804         (WebCore::CSSSelector::CSSSelector):
1805         (WebCore::CSSSelector::~CSSSelector):
1806         (WebCore::CSSSelector::tagHistory):
1807         (WebCore::CSSSelector::tag):
1808         (WebCore::CSSSelector::value):
1809         (WebCore::CSSSelector::setTag):
1810         (WebCore::CSSSelector::isLastInTagHistory):
1811         (WebCore::CSSSelector::setNotLastInTagHistory):
1812         (WebCore::CSSSelector::RareData::RareData):
1813         (WebCore::CSSSelector::RareData::~RareData):
1814         (WebCore::CSSSelector::createRareData):
1815         (WebCore::CSSSelector::setValue):
1816         
1817             Remove m_tagHistory.
1818             Keep m_value in the union with the rare data pointer instead.
1819             Make m_value and m_tag private, implement accessors.
1820             Add a new bit to indicate end of the tag history (multipart selector).
1821             Eliminate complex destruction. Selectors are now deleted as an array or by a CSSParserSelector chain.
1822             
1823         * css/CSSSelectorList.cpp:
1824         (WebCore::CSSSelectorList::adoptSelectorVector):
1825         
1826             Flatten everything to an array.
1827         
1828         (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()):
1829         * css/CSSSelectorList.h:
1830         (WebCore::CSSSelectorList::hasOneSelector):
1831         (WebCore::CSSSelectorList::next):
1832         
1833             Skip over the subparts of multipart selectors to find the next selector.
1834     
1835         * css/CSSStyleRule.h:
1836         (WebCore::CSSStyleRule::adoptSelectorVector):
1837         
1838             CSSSelector -> CSSParserSelector.
1839             
1840         * css/CSSStyleSelector.cpp:
1841         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
1842         (WebCore::CSSRuleSet::addRule):
1843         (WebCore::collectIdsAndSiblingRulesFromList):
1844         (WebCore::CSSStyleSelector::matchPageRulesForList):
1845         * dom/Node.cpp:
1846         (WebCore::Node::querySelector):
1847         * dom/SelectorNodeList.cpp:
1848         (WebCore::createSelectorNodeList):
1849         
1850             Use accessors.
1851
1852 2011-01-25  James Simonsen  <simonjam@chromium.org>
1853
1854         Reviewed by Tony Chang.
1855
1856         [Chromium] Support small caps in complex text on linux
1857         https://bugs.webkit.org/show_bug.cgi?id=53051
1858
1859         * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
1860         (WebCore::ComplexTextController::nextScriptRun): Break runs at small caps boundaries.
1861         (WebCore::ComplexTextController::setupFontForScriptRun): Setup small caps font data if needed.
1862         * platform/graphics/chromium/ComplexTextControllerLinux.h: Store small caps text in separate string.
1863
1864 2011-01-25  Steve Falkenburg  <sfalken@apple.com>
1865
1866         Rubber-stamped by Adam Roben.
1867
1868         Windows production build fix.
1869         Use correct environment variable escaping
1870
1871         * WebCore.vcproj/WebCore.make:
1872
1873 2011-01-25  Adam Barth  <abarth@webkit.org>
1874
1875         Reviewed by Eric Seidel.
1876
1877         Empty URLs are never display isolated
1878         https://bugs.webkit.org/show_bug.cgi?id=53053
1879
1880         This check mirrors the check in the local case.  There isn't a good way
1881         to test this with a LayoutTest, but it is tested in Chromium (where
1882         this registry is used).
1883
1884         * platform/SchemeRegistry.cpp:
1885         (WebCore::SchemeRegistry::shouldTreatURLSchemeAsDisplayIsolated):
1886
1887 2011-01-25  Sam Weinig  <sam@webkit.org>
1888
1889         Reviewed by Anders Carlsson.
1890
1891         Pipe a timestamp down into the PlatformWheelEvent for the Mac.
1892         https://bugs.webkit.org/show_bug.cgi?id=53111
1893
1894         * platform/PlatformWheelEvent.h:
1895         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1896         (WebCore::PlatformWheelEvent::timestamp):
1897         Add timestamp member.
1898
1899         * platform/mac/WheelEventMac.mm:
1900         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1901         Initialize the timestamp from the event.
1902
1903 2011-01-25  Sheriff Bot  <webkit.review.bot@gmail.com>
1904
1905         Unreviewed, rolling out r76625.
1906         http://trac.webkit.org/changeset/76625
1907         https://bugs.webkit.org/show_bug.cgi?id=53119
1908
1909         "incorrect pixel test results" (Requested by rniwa on
1910         #webkit).
1911
1912         * rendering/RenderBox.cpp:
1913         (WebCore::RenderBox::localCaretRect):
1914
1915 2011-01-25  Patrick Gansterer  <paroga@webkit.org>
1916
1917         Unreviewed WinCE build fix for r76614.
1918
1919         * platform/FileSystem.h:
1920
1921 2011-01-21  Levi Weintraub  <leviw@chromium.org>
1922
1923         Reviewed by Darin Adler.
1924
1925         Adding border and padding to the calculation of the local caret rect for RenderBoxes.
1926
1927         Undo moves caret to invalid position
1928         https://bugs.webkit.org/show_bug.cgi?id=49744
1929
1930         Tests: editing/selection/caret-painting-after-paste-undo-rtl.html
1931                editing/selection/caret-painting-after-paste-undo.html
1932
1933         * rendering/RenderBox.cpp:
1934         (WebCore::RenderBox::localCaretRect):
1935
1936 2011-01-25  Sam Weinig  <sam@webkit.org>
1937
1938         Reviewed by Anders Carlsson.
1939
1940         Add hasPreciseScrollingDeltas bit to PlatformWheelEvent on the Mac.
1941         https://bugs.webkit.org/show_bug.cgi?id=53107
1942
1943         * platform/PlatformWheelEvent.h:
1944         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1945         (WebCore::PlatformWheelEvent::hasPreciseScrollingDeltas):
1946         * platform/mac/WheelEventMac.mm:
1947         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1948
1949 2011-01-20  Jer Noble  <jer.noble@apple.com>
1950
1951         Reviewed by Eric Carlson.
1952
1953         REGRESSION (r72119): Audio never plays on Star Wars intro animation
1954         https://bugs.webkit.org/show_bug.cgi?id=52467
1955         
1956         QuickTime's eat/m4a movie importer compontent doesn't list audio/m4a as a mime
1957         type which it supports, though it handles .m4a files just fine.  Change the way
1958         we build the list of supported MIME Types through a new WebKitSystemInterface
1959         function.
1960         
1961         Caused by r72119, which adds system-specific extension->MIME entries to the cache
1962         before global entries, and the system-specific entries include QuickTime's registry 
1963         entries which contain the audio/m4a MIME type, while its components do not.
1964
1965         Test: media/audio-mpeg4-supported.html
1966
1967         * WebCore.vcproj/QTMovieWinCommon.vsprops:
1968         * platform/graphics/win/QTMovie.cpp:
1969         (getMIMETypeCallBack):
1970         (initializeSupportedTypes):
1971         (QTMovie::countSupportedTypes): gSupportedTypes is now a CFArrayRef.
1972         (QTMovie::getSupportedType): Ditto.
1973
1974 2011-01-25  Hans Wennborg  <hans@chromium.org>
1975
1976         Reviewed by Jeremy Orlow.
1977
1978         IndexedDB: Remove PlatformBridge::idbShutdown()
1979         https://bugs.webkit.org/show_bug.cgi?id=53077
1980
1981         Since Chromium r72157, this is not used anymore. The previous use was
1982         to signal to the embedder that IndexedDB was shutting down, but we
1983         agreed it is better if the embedder keeps track of that itself.
1984
1985         No new tests: this does not change any functionality.
1986
1987         * platform/chromium/PlatformBridge.h:
1988         * storage/IDBFactoryBackendInterface.cpp:
1989         * storage/IDBFactoryBackendInterface.h:
1990         (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface):
1991         * storage/chromium/IDBFactoryBackendInterface.cpp:
1992
1993 2011-01-25  Darin Adler  <darin@apple.com>
1994
1995         Reviewed by Anders Carlsson.
1996
1997         WebKit is using CSBackupSetItemExcluded incorrectly
1998         https://bugs.webkit.org/show_bug.cgi?id=53095
1999         rdar://problem/8790540
2000
2001         * loader/icon/IconDatabase.cpp:
2002         (WebCore::IconDatabase::performOpenInitialization): Added code to
2003         exclude the database from backup one time, and record inside the
2004         database that this has been done.
2005         (WebCore::IconDatabase::wasExcludedFromBackup): Added.
2006         (WebCore::IconDatabase::setWasExcludedFromBackup): Added.
2007         * loader/icon/IconDatabase.h: Added new functions above.
2008
2009         * platform/FileSystem.cpp:
2010         (WebCore::canExcludeFromBackup): Added.
2011         (WebCore::excludeFromBackup): Added.
2012
2013         * platform/FileSystem.h: Added canExcludeFromBackup, excludeFromBackup,
2014         and pathAsURL functions. Cleaned up ifdefs and comments a bit and sorted
2015         things alphabetically, particularly platform-specific sections.
2016
2017         * platform/cf/FileSystemCF.cpp:
2018         (WebCore::pathAsURL): Added.
2019
2020         * platform/mac/FileSystemMac.mm:
2021         (WebCore::canExcludeFromBackup): Added.
2022         (WebCore::excludeFromBackup): Added.
2023
2024         * platform/network/cf/FormDataStreamCFNet.cpp:
2025         (WebCore::advanceCurrentStream): Changed to call pathAsURL.
2026         * platform/network/mac/FormDataStreamMac.mm:
2027         (WebCore::advanceCurrentStream): Ditto.
2028
2029 2011-01-25  Helder Correia  <helder@sencha.com>
2030
2031         Reviewed by Dirk Schulze.
2032
2033         REGRESSION(75139): SVG gradients are not applied to texts
2034         https://bugs.webkit.org/show_bug.cgi?id=52531
2035
2036         CGContextConcatCTM should use the CGLayer context, not the
2037         GraphicsContext. Also, the CTM needs to be adjusted (translated).
2038         This fixes SVG text gradient fill.
2039
2040         Test: svg/css/composite-shadow-text.svg
2041
2042         * platform/graphics/cg/GraphicsContextCG.cpp:
2043         (WebCore::GraphicsContext::fillRect):
2044
2045 2011-01-25  Benjamin Kalman  <kalman@chromium.org>
2046
2047         Reviewed by Ryosuke Niwa.
2048
2049         Cannot extend or modify forward by word over a non-contenteditable region
2050         https://bugs.webkit.org/show_bug.cgi?id=53070
2051
2052         Test: editing/selection/extend-forward-by-word-over-non-editable.html
2053
2054         Change all instances of honorEditableBoundaryAtOrAfter to honorEditableBoundaryAtOrBefore and vice versa in the
2055         functions which determine the end/start of words/lines/sentences in visible_units.cpp.
2056
2057         This fixes the bug where moving forwards by a word over a non-contenteditable region would place the cursor
2058         inside that region, and then get moved back to the start of the word due to honorEditableBoundaryAtOrBefore.
2059         The cursor is now moved to the end of the region (which is effectively a noop in this case).
2060
2061         * editing/visible_units.cpp: Change all instances of honorEditableBoundaryAtOrAfter to
2062         honorEditableBoundaryAtOrBefore and vice versa.
2063         (WebCore::previousWordPosition):
2064         (WebCore::nextWordPosition):
2065         (WebCore::startOfLine):
2066         (WebCore::endOfLine):
2067         (WebCore::previousSentencePosition):
2068         (WebCore::nextSentencePosition):
2069         (WebCore::logicalStartOfLine):
2070         (WebCore::logicalEndOfLine):
2071
2072 2011-01-25  Yael Aharon  <yael.aharon@nokia.com>
2073
2074         Unreviewed build fix.
2075         After r76466, efsrv.lib is used unconditionally.
2076         Don't guard it with ENABLE_NETSCAPE_PLUGIN_API.
2077
2078         * WebCore.pro:
2079
2080 2011-01-24  Zhenyao Mo  <zmo@google.com>
2081
2082         Reviewed by Kenneth Russell.
2083
2084         Style cleanup for WebGLRenderingContext
2085         https://bugs.webkit.org/show_bug.cgi?id=52352
2086
2087         * html/canvas/WebGLBuffer.cpp:
2088         * html/canvas/WebGLBuffer.h:
2089         * html/canvas/WebGLObject.cpp:
2090         * html/canvas/WebGLProgram.cpp:
2091         * html/canvas/WebGLRenderbuffer.cpp:
2092         * html/canvas/WebGLRenderingContext.cpp:
2093         (WebCore::WebGLRenderingContext::create):
2094         (WebCore::WebGLRenderingContext::blendFunc):
2095         (WebCore::WebGLRenderingContext::createShader):
2096         (WebCore::WebGLRenderingContext::deleteBuffer):
2097         (WebCore::WebGLRenderingContext::deleteShader):
2098         (WebCore::WebGLRenderingContext::deleteTexture):
2099         (WebCore::WebGLRenderingContext::disableVertexAttribArray):
2100         (WebCore::WebGLRenderingContext::validateIndexArrayPrecise):
2101         (WebCore::WebGLRenderingContext::validateRenderingState):
2102         (WebCore::WebGLRenderingContext::enableVertexAttribArray):
2103         (WebCore::WebGLRenderingContext::getUniform):
2104         (WebCore::WebGLRenderingContext::detachAndRemoveAllObjects):
2105         * html/canvas/WebGLRenderingContext.h:
2106         * html/canvas/WebGLShader.cpp:
2107         * html/canvas/WebGLTexture.cpp:
2108         * html/canvas/WebGLUniformLocation.cpp:
2109         * html/canvas/WebGLUniformLocation.h:
2110
2111 2011-01-24  Chris Marrin  <cmarrin@apple.com>
2112
2113         Reviewed by Eric Seidel.
2114
2115         Change ENABLE_3D_CANVAS to ENABLE_WEBGL
2116         https://bugs.webkit.org/show_bug.cgi?id=53041
2117
2118         * Configurations/FeatureDefines.xcconfig:
2119         * DerivedSources.cpp:
2120         * GNUmakefile.am:
2121         * WebCore.pro:
2122         * bindings/generic/RuntimeEnabledFeatures.h:
2123         * bindings/js/JSArrayBufferCustom.cpp:
2124         * bindings/js/JSCanvasRenderingContextCustom.cpp:
2125         (WebCore::toJS):
2126         * bindings/js/JSDOMWindowCustom.cpp:
2127         * bindings/js/JSDataViewCustom.cpp:
2128         * bindings/js/JSDocumentCustom.cpp:
2129         * bindings/js/JSFloat32ArrayCustom.cpp:
2130         * bindings/js/JSHTMLCanvasElementCustom.cpp:
2131         (WebCore::JSHTMLCanvasElement::getContext):
2132         * bindings/js/JSInt16ArrayCustom.cpp:
2133         * bindings/js/JSInt32ArrayCustom.cpp:
2134         * bindings/js/JSInt8ArrayCustom.cpp:
2135         * bindings/js/JSUint16ArrayCustom.cpp:
2136         * bindings/js/JSUint32ArrayCustom.cpp:
2137         * bindings/js/JSUint8ArrayCustom.cpp:
2138         * bindings/js/JSWebGLRenderingContextCustom.cpp:
2139         * bindings/js/JSXMLHttpRequestCustom.cpp:
2140         (WebCore::JSXMLHttpRequest::markChildren):
2141         (WebCore::JSXMLHttpRequest::send):
2142         (WebCore::JSXMLHttpRequest::response):
2143         * bindings/v8/custom/V8ArrayBufferCustom.cpp:
2144         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
2145         * bindings/v8/custom/V8DataViewCustom.cpp:
2146         * bindings/v8/custom/V8DocumentCustom.cpp:
2147         (WebCore::V8Document::getCSSCanvasContextCallback):
2148         * bindings/v8/custom/V8Float32ArrayCustom.cpp:
2149         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
2150         (WebCore::V8HTMLCanvasElement::getContextCallback):
2151         * bindings/v8/custom/V8Int16ArrayCustom.cpp:
2152         * bindings/v8/custom/V8Int32ArrayCustom.cpp:
2153         * bindings/v8/custom/V8Int8ArrayCustom.cpp:
2154         * bindings/v8/custom/V8Uint16ArrayCustom.cpp:
2155         * bindings/v8/custom/V8Uint32ArrayCustom.cpp:
2156         * bindings/v8/custom/V8Uint8ArrayCustom.cpp:
2157         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
2158         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
2159         (WebCore::V8XMLHttpRequest::responseAccessorGetter):
2160         (WebCore::V8XMLHttpRequest::sendCallback):
2161         * features.pri:
2162         * html/HTMLCanvasElement.cpp:
2163         (WebCore::HTMLCanvasElement::getContext):
2164         (WebCore::HTMLCanvasElement::reset):
2165         * html/HTMLCanvasElement.h:
2166         * html/canvas/ArrayBuffer.cpp:
2167         * html/canvas/ArrayBuffer.idl:
2168         * html/canvas/ArrayBufferView.cpp:
2169         * html/canvas/ArrayBufferView.idl:
2170         * html/canvas/DataView.cpp:
2171         * html/canvas/DataView.idl:
2172         * html/canvas/Float32Array.cpp:
2173         * html/canvas/Float32Array.idl:
2174         * html/canvas/Int16Array.cpp:
2175         * html/canvas/Int16Array.idl:
2176         * html/canvas/Int32Array.cpp:
2177         * html/canvas/Int32Array.idl:
2178         * html/canvas/Int8Array.cpp:
2179         * html/canvas/Int8Array.idl:
2180         * html/canvas/OESStandardDerivatives.cpp:
2181         * html/canvas/OESStandardDerivatives.idl:
2182         * html/canvas/OESTextureFloat.cpp:
2183         * html/canvas/OESTextureFloat.idl:
2184         * html/canvas/Uint16Array.cpp:
2185         * html/canvas/Uint16Array.idl:
2186         * html/canvas/Uint32Array.cpp:
2187         * html/canvas/Uint32Array.idl:
2188         * html/canvas/Uint8Array.cpp:
2189         * html/canvas/Uint8Array.idl:
2190         * html/canvas/WebGLActiveInfo.idl:
2191         * html/canvas/WebGLBuffer.cpp:
2192         * html/canvas/WebGLBuffer.idl:
2193         * html/canvas/WebGLContextAttributes.cpp:
2194         * html/canvas/WebGLContextAttributes.idl:
2195         * html/canvas/WebGLContextEvent.idl:
2196         * html/canvas/WebGLExtension.cpp:
2197         * html/canvas/WebGLFramebuffer.cpp:
2198         * html/canvas/WebGLFramebuffer.idl:
2199         * html/canvas/WebGLGetInfo.cpp:
2200         * html/canvas/WebGLObject.cpp:
2201         * html/canvas/WebGLProgram.cpp:
2202         * html/canvas/WebGLProgram.idl:
2203         * html/canvas/WebGLRenderbuffer.cpp:
2204         * html/canvas/WebGLRenderbuffer.idl:
2205         * html/canvas/WebGLRenderingContext.cpp:
2206         * html/canvas/WebGLRenderingContext.idl:
2207         * html/canvas/WebGLShader.cpp:
2208         * html/canvas/WebGLShader.idl:
2209         * html/canvas/WebGLTexture.cpp:
2210         * html/canvas/WebGLTexture.idl:
2211         * html/canvas/WebGLUniformLocation.cpp:
2212         * html/canvas/WebGLUniformLocation.idl:
2213         * html/canvas/WebKitLoseContext.cpp:
2214         * html/canvas/WebKitLoseContext.idl:
2215         * page/DOMWindow.idl:
2216         * platform/graphics/ANGLEWebKitBridge.cpp:
2217         * platform/graphics/GraphicsContext3D.cpp:
2218         * platform/graphics/cg/GraphicsContext3DCG.cpp:
2219         * platform/graphics/gpu/DrawingBuffer.cpp:
2220         * platform/graphics/gpu/mac/DrawingBufferMac.mm:
2221         * platform/graphics/mac/GraphicsContext3DMac.mm:
2222         * platform/graphics/mac/WebGLLayer.mm:
2223         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
2224         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
2225         * platform/graphics/qt/Extensions3DQt.cpp:
2226         * platform/graphics/qt/GraphicsContext3DQt.cpp:
2227         * platform/graphics/qt/GraphicsLayerQt.cpp:
2228         (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
2229         (WebCore::GraphicsLayerQtImpl::paint):
2230         (WebCore::GraphicsLayerQtImpl::flushChanges):
2231         * platform/graphics/qt/GraphicsLayerQt.h:
2232         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
2233         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
2234         * rendering/RenderLayerBacking.cpp:
2235         (WebCore::isAcceleratedCanvas):
2236         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
2237         (WebCore::RenderLayerBacking::containsPaintedContent):
2238         (WebCore::RenderLayerBacking::contentChanged):
2239         * webaudio/AudioBuffer.cpp:
2240         * webaudio/AudioBuffer.idl:
2241         * webaudio/RealtimeAnalyser.cpp:
2242         * webaudio/RealtimeAnalyser.h:
2243         * webaudio/RealtimeAnalyserNode.h:
2244         * webaudio/RealtimeAnalyserNode.idl:
2245         * xml/XMLHttpRequest.cpp:
2246         (WebCore::XMLHttpRequest::setResponseType):
2247         (WebCore::XMLHttpRequest::clearResponse):
2248         (WebCore::XMLHttpRequest::didReceiveData):
2249         * xml/XMLHttpRequest.h:
2250
2251 2011-01-25  Mikhail Naganov  <mnaganov@chromium.org>
2252
2253         Reviewed by Pavel Feldman.
2254
2255         Web Inspector: [Chromium] Prepare for landing of detailed heap snapshots.
2256
2257         - Introduce Preferences.detailedHeapProfiles flag for controlling
2258           querying of detailed heap snapshots.
2259         - Add boilerplate code for the new view.
2260         - Factor out common code.
2261
2262         https://bugs.webkit.org/show_bug.cgi?id=52624
2263
2264         * WebCore.gypi:
2265         * WebCore.vcproj/WebCore.vcproj:
2266         * bindings/js/ScriptProfiler.h:
2267         (WebCore::ScriptProfiler::HeapSnapshotControl::~HeapSnapshotControl):
2268         (WebCore::ScriptProfiler::takeHeapSnapshot):
2269         * bindings/v8/ScriptProfiler.cpp:
2270         (WebCore::ScriptProfiler::takeHeapSnapshot):
2271         * bindings/v8/ScriptProfiler.h:
2272         (WebCore::ScriptProfiler::HeapSnapshotControl::~HeapSnapshotControl):
2273         * inspector/Inspector.idl:
2274         * inspector/InspectorProfilerAgent.cpp:
2275         (WebCore::InspectorProfilerAgent::takeHeapSnapshot):
2276         * inspector/InspectorProfilerAgent.h:
2277         * inspector/front-end/DetailedHeapshotView.js: Added.
2278         (WebInspector.DetailedHeapshotView):
2279         (WebInspector.DetailedHeapshotView.prototype.get statusBarItems):
2280         (WebInspector.DetailedHeapshotView.prototype.get profile):
2281         (WebInspector.DetailedHeapshotView.prototype.set profile):
2282         (WebInspector.DetailedHeapshotView.prototype.show):
2283         (WebInspector.DetailedHeapshotView.prototype.hide):
2284         (WebInspector.DetailedHeapshotProfileType):
2285         (WebInspector.DetailedHeapshotProfileType.prototype.get buttonTooltip):
2286         (WebInspector.DetailedHeapshotProfileType.prototype.get buttonStyle):
2287         (WebInspector.DetailedHeapshotProfileType.prototype.buttonClicked):
2288         (WebInspector.DetailedHeapshotProfileType.prototype.get welcomeMessage):
2289         (WebInspector.DetailedHeapshotProfileType.prototype.createSidebarTreeElementForProfile):
2290         (WebInspector.DetailedHeapshotProfileType.prototype.createView):
2291         * inspector/front-end/HeapSnapshot.js: Added.
2292         (WebInspector.HeapSnapshotEdgesIterator):
2293         (WebInspector.HeapSnapshotEdgesIterator.prototype.get done):
2294         (WebInspector.HeapSnapshotEdgesIterator.prototype.get isElement):
2295         (WebInspector.HeapSnapshotEdgesIterator.prototype.get isHidden):
2296         (WebInspector.HeapSnapshotEdgesIterator.prototype.get name):
2297         (WebInspector.HeapSnapshotEdgesIterator.prototype.next):
2298         (WebInspector.HeapSnapshotEdgesIterator.prototype.get node):
2299         (WebInspector.HeapSnapshotEdgesIterator.prototype.get nodeIndex):
2300         (WebInspector.HeapSnapshotEdgesIterator.prototype._getNameOrIndex):
2301         (WebInspector.HeapSnapshotEdgesIterator.prototype._getType):
2302         (WebInspector.HeapSnapshotNodeWrapper):
2303         (WebInspector.HeapSnapshotNodeWrapper.prototype.get edges):
2304         (WebInspector.HeapSnapshotNodeWrapper.prototype.get edgesCount):
2305         (WebInspector.HeapSnapshotNodeWrapper.prototype.get instancesCount):
2306         (WebInspector.HeapSnapshotNodeWrapper.prototype.get isHidden):
2307         (WebInspector.HeapSnapshotNodeWrapper.prototype.get name):
2308         (WebInspector.HeapSnapshotNodeWrapper.prototype.get selfSize):
2309         (WebInspector.HeapSnapshotNodeWrapper.prototype._getName):
2310         (WebInspector.HeapSnapshotNodeWrapper.prototype._getEdges):
2311         (WebInspector.HeapSnapshotNodeWrapper.prototype._getType):
2312         (WebInspector.HeapSnapshot):
2313         (WebInspector.HeapSnapshot.prototype._init):
2314         (WebInspector.HeapSnapshot.prototype.get rootEdges):
2315         * inspector/front-end/HeapSnapshotView.js:
2316         (WebInspector.HeapSnapshotProfileType.prototype.buttonClicked):
2317         * inspector/front-end/ProfilesPanel.js:
2318         (WebInspector.ProfilesPanel.prototype._setRecordingProfile):
2319         (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
2320         (WebInspector.ProfilerDispatcher.prototype.setRecordingProfile):
2321         (WebInspector.ProfilerDispatcher.prototype.reportHeapSnapshotProgress):
2322         * inspector/front-end/Settings.js:
2323         * inspector/front-end/WebKit.qrc:
2324         * inspector/front-end/inspector.html:
2325         * inspector/front-end/inspector.js:
2326         (WebInspector._createPanels):
2327
2328 2011-01-25  Yury Semikhatsky  <yurys@chromium.org>
2329
2330         Reviewed by Pavel Feldman.
2331
2332         Web Inspector: remove "attached" state related methods from InspectorAgent
2333         https://bugs.webkit.org/show_bug.cgi?id=53086
2334
2335         * WebCore.exp.in:
2336         * inspector/InspectorAgent.cpp:
2337         * inspector/InspectorAgent.h:
2338         * inspector/InspectorFrontendClientLocal.cpp:
2339         (WebCore::InspectorFrontendClientLocal::changeAttachedWindowHeight):
2340         (WebCore::InspectorFrontendClientLocal::restoreAttachedWindowHeight):
2341         * inspector/InspectorSettings.cpp:
2342         (WebCore::InspectorSettings::InspectorSettings):
2343         * inspector/InspectorSettings.h:
2344
2345 2011-01-25  Qi Zhang  <qi.2.zhang@nokia.com>
2346
2347         Reviewed by Laszlo Gombos.
2348
2349         [Symbian] RVCT fails to compile [U|I]nt[8|16|32]Array.h
2350         https://bugs.webkit.org/show_bug.cgi?id=51873
2351         
2352         Replace the using declaration, because it doesn't compile on RVCT, and WINSCW has the same issue.
2353         No new functionality so no new tests.
2354
2355         * html/canvas/Int32Array.h:
2356         (WebCore::Int32Array::set):
2357         * html/canvas/Int8Array.h:
2358         (WebCore::Int8Array::set):
2359         * html/canvas/Uint16Array.h:
2360         (WebCore::Uint16Array::set):
2361         * html/canvas/Uint32Array.h:
2362         (WebCore::Uint32Array::set):
2363         * html/canvas/Uint8Array.h:
2364         (WebCore::Uint8Array::set):
2365
2366 2011-01-25  Zoltan Herczeg  <zherczeg@webkit.org>
2367
2368         Reviewed by Dirk Schulze.
2369
2370         Repaint SVG elements with filter instead of relayout where possible
2371         https://bugs.webkit.org/show_bug.cgi?id=52200
2372
2373         This patch allows repainting of filters, when their
2374         attribute changes does not require relayout.
2375
2376         Existing dynamic-update tests cover this feature.
2377
2378         * platform/graphics/filters/FilterEffect.cpp:
2379         (WebCore::FilterEffect::clearResult): Clearing the currently stored image
2380         before repainting.
2381         * platform/graphics/filters/FilterEffect.h:
2382         * rendering/RenderObject.h:
2383         (WebCore::RenderObject::isSVGResourceFilter): Not only the filter primitives,
2384         but filters should also be detected to allow safe testing and casting.
2385         * rendering/svg/RenderSVGResourceFilter.cpp:
2386         (WebCore::RenderSVGResourceFilter::buildPrimitives): Passing the renderer.
2387         (WebCore::RenderSVGResourceFilter::applyResource):
2388         determineFilterPrimitiveSubregion does not require the filter anymore.
2389         (WebCore::RenderSVGResourceFilter::postApplyResource): Repaint
2390         if lastEffect->hasResult() is false.
2391         (WebCore::RenderSVGResourceFilter::primitiveAttributeChanged):
2392         Searching for all FilterEffects, whose created by the current FilterElement,
2393         and clearing all resulting images depending on those FilterEffects.
2394         * rendering/svg/RenderSVGResourceFilter.h:
2395         (WebCore::RenderSVGResourceFilter::isSVGResourceFilter):
2396         * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
2397         (WebCore::RenderSVGResourceFilterPrimitive::determineFilterPrimitiveSubregion):
2398         The filter argument is unnecessary anymore. But is is still kept as a static
2399         member, since the primitive renderer still does not know about the
2400         FilterEffect objects.
2401         * rendering/svg/RenderSVGResourceFilterPrimitive.h:
2402         (WebCore::RenderSVGResourceFilterPrimitive::RenderSVGResourceFilterPrimitive):
2403         (WebCore::RenderSVGResourceFilterPrimitive::primitiveAttributeChanged):
2404         Calls RenderSVGResourceFilter::primitiveAttributeChanged.
2405         * svg/SVGFEDiffuseLightingElement.cpp:
2406         (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute):
2407         Setting the new attribute value for each FilterEffect.
2408         (WebCore::SVGFEDiffuseLightingElement::svgAttributeChanged):
2409         * svg/SVGFEDiffuseLightingElement.h:
2410         Calling primitiveAttributeChanged.
2411         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
2412         (WebCore::SVGFilterPrimitiveStandardAttributes::setFilterEffectAttribute):
2413         This function will be removed when all FilterElement implements
2414         their setFilterEffectAttribute
2415         * svg/SVGFilterPrimitiveStandardAttributes.h:
2416         (WebCore::SVGFilterPrimitiveStandardAttributes::primitiveAttributeChanged):
2417         * svg/graphics/filters/SVGFilterBuilder.cpp:
2418         (WebCore::SVGFilterBuilder::appendEffectToEffectReferences): The
2419         renderers are assigned to the filter effects.
2420         (WebCore::SVGFilterBuilder::clearEffects):
2421         (WebCore::SVGFilterBuilder::clearResultsRecursive): Recursively
2422         clearing the result images for those filters, whose depend on
2423         the starting filter.
2424         * svg/graphics/filters/SVGFilterBuilder.h:
2425         (WebCore::SVGFilterBuilder::effectReferences): 'get' is unnecessary
2426         (WebCore::SVGFilterBuilder::effectByRenderer): returns the
2427         FilterEffect belongs to this RenderObject.
2428
2429 2011-01-25  Dirk Schulze  <krit@webkit.org>
2430
2431         Reviewed by Nikolas Zimmermann.
2432
2433         SVG is missing to-animation support for Path
2434         https://bugs.webkit.org/show_bug.cgi?id=52982
2435
2436         SVG was missing 'to' animation support for SVG paths. Even the fallback to discrete
2437         animation did not work and an assert was thrown, because of the missing m_fromPath.
2438         This also influences a test of the W3C test suite. Subtest 2 of animate-elem-83-t.svg passes now.
2439
2440         Test: svg/animations/animate-path-to-animation.html
2441
2442         * svg/SVGAnimateElement.cpp:
2443         (WebCore::SVGAnimateElement::calculateAnimatedValue): Take the value of the last SVGAnimateElement for
2444         m_fromPath, since 'to' animations are accumulative.
2445         (WebCore::SVGAnimateElement::calculateFromAndToValues): Added support for 'to' animations.
2446         (WebCore::SVGAnimateElement::resetToBaseValue): Set m_animatedPath on the first animation element to baseVal.
2447         * svg/SVGPathByteStream.h:
2448         (WebCore::SVGPathByteStream::copySVGPathByteStream): Return copy of current byte stream.
2449
2450 2011-01-25  Pavel Feldman  <pfeldman@chromium.org>
2451
2452         Reviewed by Yury Semikhatsky.
2453
2454         Web Inspector: bind resources to URLs upon adding them into the tree.
2455         https://bugs.webkit.org/show_bug.cgi?id=53013
2456
2457         * inspector/front-end/AuditRules.js:
2458         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
2459         * inspector/front-end/CSSStyleModel.js:
2460         (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
2461         (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
2462         * inspector/front-end/DebuggerModel.js:
2463         (WebInspector.DebuggerModel.prototype._parsedScriptSource):
2464         * inspector/front-end/NetworkManager.js:
2465         (WebInspector.NetworkManager.prototype._processCachedResources):
2466         (WebInspector.NetworkManager.prototype.inflightResourceForURL):
2467         (WebInspector.NetworkDispatcher):
2468         (WebInspector.NetworkDispatcher.prototype.willSendRequest):
2469         (WebInspector.NetworkDispatcher.prototype.markResourceAsCached):
2470         (WebInspector.NetworkDispatcher.prototype.didReceiveResponse):
2471         (WebInspector.NetworkDispatcher.prototype.didReceiveContentLength):
2472         (WebInspector.NetworkDispatcher.prototype.didFinishLoading):
2473         (WebInspector.NetworkDispatcher.prototype.didFailLoading):
2474         (WebInspector.NetworkDispatcher.prototype.willSendWebSocketHandshakeRequest):
2475         (WebInspector.NetworkDispatcher.prototype.didReceiveWebSocketHandshakeResponse):
2476         (WebInspector.NetworkDispatcher.prototype.didCloseWebSocket):
2477         (WebInspector.NetworkDispatcher.prototype._appendRedirect):
2478         (WebInspector.NetworkDispatcher.prototype._startResource):
2479         (WebInspector.NetworkDispatcher.prototype._finishResource):
2480         (WebInspector.NetworkDispatcher.prototype._createResource):
2481         * inspector/front-end/ResourceTreeModel.js:
2482         (WebInspector.ResourceTreeModel.prototype.addResourceToFrame):
2483         (WebInspector.ResourceTreeModel.prototype._bindResourceURL):
2484         (WebInspector.ResourceTreeModel.prototype._clearResources):
2485         (WebInspector.ResourceTreeModel.prototype._unbindResourceURL):
2486         * inspector/front-end/ResourcesPanel.js:
2487         (WebInspector.ResourcesPanel.prototype.canShowSourceLine):
2488         (WebInspector.ResourcesPanel.prototype.showSourceLine):
2489         * inspector/front-end/ScriptsPanel.js:
2490         (WebInspector.ScriptsPanel.prototype._parsedScriptSource):
2491         (WebInspector.ScriptsPanel.prototype._addScript):
2492
2493 2011-01-25  Nikolas Zimmermann  <nzimmermann@rim.com>
2494
2495         Reviewed by Dirk Schulze.
2496
2497         Introduce FontMetrics abstraction
2498         https://bugs.webkit.org/show_bug.cgi?id=51456
2499
2500         Use accurate floating-point metrics for SVG Font calculations instead of casting float -> integer.
2501         This hopefully fixes differences between 32/64 bit bots.
2502
2503         Needs new layout test results for several platforms, which need to be taken from the bots landing afterwards.
2504
2505         * platform/graphics/SimpleFontData.cpp:
2506         (WebCore::SimpleFontData::SimpleFontData):
2507         (WebCore::SimpleFontData::initCharWidths):
2508
2509 2011-01-24  Pavel Podivilov  <podivilov@chromium.org>
2510
2511         Reviewed by Pavel Feldman.
2512
2513         Web Inspector: debugger and browser debugger agents should manage sticky breakpoints independently.
2514         https://bugs.webkit.org/show_bug.cgi?id=52999
2515
2516         * inspector/Inspector.idl:
2517         * inspector/InspectorAgent.cpp:
2518         (WebCore::InspectorAgent::didCommitLoad):
2519         (WebCore::InspectorAgent::enableDebugger):
2520         (WebCore::InspectorAgent::inspectedURLWithoutFragment):
2521         * inspector/InspectorAgent.h:
2522         * inspector/InspectorBrowserDebuggerAgent.cpp:
2523         (WebCore::InspectorBrowserDebuggerAgent::setAllBrowserBreakpoints):
2524         (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged):
2525         (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint):
2526         * inspector/InspectorBrowserDebuggerAgent.h:
2527         * inspector/InspectorDebuggerAgent.cpp:
2528         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
2529         (WebCore::InspectorDebuggerAgent::setAllJavaScriptBreakpoints):
2530         (WebCore::InspectorDebuggerAgent::inspectedURLChanged):
2531         (WebCore::InspectorDebuggerAgent::restoreBreakpoints):
2532         * inspector/InspectorDebuggerAgent.h:
2533         * inspector/InspectorState.cpp:
2534         (WebCore::InspectorState::InspectorState):
2535         * inspector/InspectorState.h:
2536         * inspector/front-end/BreakpointManager.js:
2537         (WebInspector.BreakpointManager):
2538         (WebInspector.BreakpointManager.prototype._projectChanged):
2539         (WebInspector.BreakpointManager.prototype._saveBreakpoints):
2540         (WebInspector.BreakpointManager.prototype._pushBreakpointsToBackend):
2541
2542 2011-01-25  Carlos Garcia Campos  <cgarcia@igalia.com>
2543
2544         Reviewed by Martin Robinson.
2545
2546         [GTK] Crash in some pages containing flash
2547         https://bugs.webkit.org/show_bug.cgi?id=53016
2548
2549         Flash plugin can produce X errors that are handled by the GDK X
2550         error handler, which exits the process. Since we don't want to
2551         crash due to flash bugs, we install a custom error handler to show
2552         a warning when a X error happens without aborting.
2553
2554         * plugins/gtk/PluginPackageGtk.cpp:
2555         (WebCore::webkitgtkXError):
2556         (WebCore::PluginPackage::load):
2557
2558 2011-01-25  Carlos Garcia Campos  <cgarcia@igalia.com>
2559
2560         Reviewed by Martin Robinson.
2561
2562         [GTK] Implement spin buttons in RenderThemeGtk
2563         https://bugs.webkit.org/show_bug.cgi?id=51454
2564
2565         Paint inner up/down buttons for spin button elements when building
2566         with GTK+ 3.x.
2567
2568         Test results will land with the GTK+ 2.x version of this patch.
2569
2570         * platform/gtk/RenderThemeGtk.h:
2571         * platform/gtk/RenderThemeGtk2.cpp:
2572         (WebCore::RenderThemeGtk::adjustInnerSpinButtonStyle):
2573         (WebCore::RenderThemeGtk::paintInnerSpinButton):
2574         * platform/gtk/RenderThemeGtk3.cpp:
2575         (WebCore::spinButtonArrowSize):
2576         (WebCore::RenderThemeGtk::adjustInnerSpinButtonStyle):
2577         (WebCore::paintSpinArrowButton):
2578         (WebCore::RenderThemeGtk::paintInnerSpinButton):
2579
2580 2011-01-24  Mihai Parparita  <mihaip@chromium.org>
2581
2582         Unreviewed. Missed move of one m_deleted use to be outside NDEBUG block
2583         in r76575.
2584
2585         * loader/cache/CachedResource.cpp:
2586         (WebCore::CachedResource::~CachedResource):
2587
2588 2011-01-24  Mihai Parparita  <mihaip@chromium.org>
2589
2590         Reviewed by Tony Chang.
2591
2592         Add runtime checks for invariants in memory cache
2593         https://bugs.webkit.org/show_bug.cgi?id=53059
2594         
2595         To help track down bug 53045, add some CRASH calls in addition to
2596         ASSERTs, so that we can track down failures in reliability bots.
2597
2598         Just some checks, no new tests necessary.
2599         
2600         * css/CSSImageValue.cpp:
2601         (WebCore::CSSImageValue::cachedImage):
2602         * loader/cache/CachedResource.h:
2603         * loader/cache/CachedResource.cpp:
2604         (WebCore::CachedResource::~CachedResource):
2605
2606 2011-01-24  Simon Fraser  <simon.fraser@apple.com>
2607
2608         Reviewed by Dan Bernstein.
2609
2610         Leaking CSSRuleDataList objects
2611         https://bugs.webkit.org/show_bug.cgi?id=53062
2612
2613         Fix leaked CSSRuleDataLists added to the m_pseudoRules hash.
2614
2615         * css/CSSStyleSelector.cpp:
2616         (WebCore::CSSRuleSet::~CSSRuleSet):
2617
2618 2011-01-24  Simon Fraser  <simon.fraser@apple.com>
2619
2620         Reviewed by Eric Seidel.
2621
2622         Refcount Images used in rendering code
2623         https://bugs.webkit.org/show_bug.cgi?id=52701
2624
2625         Change StyleImage::image(RenderObject*, const IntSize&) and
2626         CSSImageGeneratorValue::image(RenderObject*, const IntSize&) to
2627         return PassRefPtr<Image>, and adjust other code accordingly.
2628         
2629         This allows us to return one-time images, for example for CSS gradients
2630         whose appearance may change depending on factors other than the renderer
2631         and the destination size.
2632
2633         * css/CSSCanvasValue.cpp:
2634         (WebCore::CSSCanvasValue::image):
2635         * css/CSSCanvasValue.h:
2636         * css/CSSGradientValue.cpp:
2637         (WebCore::CSSGradientValue::image):
2638         * css/CSSGradientValue.h:
2639         * css/CSSImageGeneratorValue.h:
2640         * rendering/RenderBoxModelObject.cpp:
2641         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
2642         (WebCore::RenderBoxModelObject::paintNinePieceImage):
2643         * rendering/RenderImage.cpp:
2644         (WebCore::RenderImage::paintReplaced):
2645         (WebCore::RenderImage::paintIntoRect):
2646         * rendering/RenderImageResource.h:
2647         (WebCore::RenderImageResource::image):
2648         * rendering/RenderImageResourceStyleImage.h:
2649         (WebCore::RenderImageResourceStyleImage::image):
2650         * rendering/RenderListMarker.cpp:
2651         (WebCore::RenderListMarker::paint):
2652         * rendering/style/StyleCachedImage.cpp:
2653         (WebCore::StyleCachedImage::image):
2654         * rendering/style/StyleCachedImage.h:
2655         * rendering/style/StyleGeneratedImage.cpp:
2656         (WebCore::StyleGeneratedImage::image):
2657         * rendering/style/StyleGeneratedImage.h:
2658         * rendering/style/StyleImage.h:
2659         * rendering/style/StylePendingImage.h:
2660         (WebCore::StylePendingImage::image):
2661         * rendering/svg/RenderSVGImage.cpp:
2662         (WebCore::RenderSVGImage::paint):
2663
2664 2011-01-24  Tony Chang  <tony@chromium.org>
2665
2666         Unreviewed, round ascent and descent to match old code.
2667
2668         * platform/graphics/chromium/SimpleFontDataLinux.cpp:
2669         (WebCore::SimpleFontData::platformInit):
2670
2671 2011-01-24  Simon Fraser  <simon.fraser@apple.com>
2672
2673         Reviewed by Chris Marrin.
2674
2675         perspective() transform function should take lengths
2676         https://bugs.webkit.org/show_bug.cgi?id=52683
2677         
2678         The argument to the perspective() transform function should
2679         be a Length, rather than a bare number. Bare numbers are still
2680         accepted (and treated as px), but this behavior is deprecated.
2681
2682         Test: animations/3d/transform-perspective.html
2683               transforms/3d/general/3dtransform-values.html
2684
2685         * css/CSSParser.cpp:
2686         (WebCore::CSSParser::parseTransform): Check the units for the perspective()
2687         function. Allow bare numbers for backwards compatibility.
2688         * css/CSSStyleSelector.cpp:
2689         (WebCore::CSSStyleSelector::createTransformOperations): Convert
2690         value to Length.
2691         * platform/graphics/transforms/PerspectiveTransformOperation.cpp:
2692         (WebCore::clampToPostiveInteger): Helper.
2693         (WebCore::PerspectiveTransformOperation::blend): Blend via Lengths.
2694         * platform/graphics/transforms/PerspectiveTransformOperation.h:
2695         (WebCore::PerspectiveTransformOperation::create): double -> Length.
2696         (WebCore::PerspectiveTransformOperation::perspective): Ditto.
2697         (WebCore::PerspectiveTransformOperation::isIdentity): Ditto.
2698         (WebCore::PerspectiveTransformOperation::apply): Ditto.
2699         (WebCore::PerspectiveTransformOperation::PerspectiveTransformOperation): Assert
2700         that the Length is a fixed type.
2701
2702 2011-01-24  Kent Tamura  <tkent@chromium.org>
2703
2704         Reviewed by Dimitri Glazkov.
2705
2706         [Windows] Textfield <input>s have different widths.
2707         https://bugs.webkit.org/show_bug.cgi?id=48405
2708
2709         - Apply the padding override for type=text to other textfield types too.
2710         - Reset margin value of outer spin button, which is not used in Windows.
2711         - Don't add inner spin button width to the preferred text field width.
2712           Text fields should have the identical widths regardless of the
2713           existence of spin buttons.
2714
2715         Test: fast/forms/input-widths.html
2716
2717         * css/themeWin.css:
2718         (input[type="week"]):
2719         (input[type="week"]:disabled):
2720         (input[type="search"]::-webkit-search-cancel-button):
2721         (input::-webkit-outer-spin-button):
2722         * rendering/RenderTextControlSingleLine.cpp:
2723         (WebCore::RenderTextControlSingleLine::preferredContentWidth):
2724         Don't add inner spin button width to the preferred width.
2725
2726 2011-01-24  Kent Tamura  <tkent@chromium.org>
2727
2728         Reviewed by Dimitri Glazkov.
2729
2730         Some bugs of search cancel button and spin button about state change in
2731         an event handler.
2732         https://bugs.webkit.org/show_bug.cgi?id=46950
2733
2734         Fix the following problems:
2735          * Type=search field didn't release event capturing
2736          * Assertion failure when an input field with spin buttons was changed
2737            to another type on focus event.
2738          * A input field with spin button didn't release event capturing when it
2739            was changed to another type on focus event.
2740
2741         Tests: fast/forms/input-number-change-type-on-focus.html
2742                fast/forms/search-hide-cancel-on-cancel.html
2743
2744         * rendering/TextControlInnerElements.cpp:
2745         (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
2746          - Make the variable 'input' RefPtr.  It makes the code simpler.
2747          - Remove visibility check on mouseup event. We should release capturing
2748            anyway because the cancel button may be invisible if JavaScript code
2749            called by the focus event removes the input value.
2750         (WebCore::SpinButtonElement::detach):
2751          - Release capturing on detach because it is possible that a spin button
2752            node is detached while it is capturing events.
2753         (WebCore::SpinButtonElement::defaultEventHandler):
2754           Take a reference to this and check renderer() after some functions which
2755           may run JavaScript code.
2756         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
2757           Make the variable 'input' RefPtr to align other functions in this file.
2758         (WebCore::InputFieldSpeechButtonElement::setRecognitionResult): ditto.
2759         * rendering/TextControlInnerElements.h: Declare SpinButtonElement::detach().
2760
2761 2011-01-24  Ryosuke Niwa  <rniwa@webkit.org>
2762
2763         Reviewed by Ojan Vafai.
2764
2765         Inserting multiple whitespace using text composition (IME) should insert interleaved nbsp and whitespace.
2766         https://bugs.webkit.org/show_bug.cgi?id=52781
2767
2768         The bug was caused by stringWithRebalancedWhitespace's replacing the space at the beginning of a paragraph
2769         and the end of a paragraph by a non-breaking space after it replaced two consecutive spaces by a space and
2770         non-breaking space pattern, thereby replacing more spaces by non-breaking spaces than needed.
2771
2772         Rewrote the function using Vector<UChar> to fix the bug. New function no longer calls String::replace
2773         multiple times but instead it traverses through the string and replaces a space that immediately follows
2774         another space or appears at the beginning of a paragraph or at the end of a paragraph by a non-break space.
2775
2776         * editing/CompositeEditCommand.cpp:
2777         * editing/htmlediting.cpp:
2778         (WebCore::stringWithRebalancedWhitespace): Written.
2779         * editing/htmlediting.h:
2780         (WebCore::isWhitespace): Removed from CompositeEditCommand.cpp
2781
2782 2011-01-24  Kenneth Russell  <kbr@google.com>
2783
2784         Reviewed by James Robinson.
2785
2786         Web Audio API: port FFTFrame to FFTW
2787         https://bugs.webkit.org/show_bug.cgi?id=52989
2788
2789         Ported FFTFrame class to the open-source FFTW library. Tested with
2790         unit tests from Chris Rogers. Made preliminary changes to GYP
2791         files for conditional compilation of these files; will need to be
2792         adjusted once FFTW is integrated as third-party source.
2793
2794         * WebCore.gyp/WebCore.gyp:
2795         * WebCore.gypi:
2796         * platform/audio/FFTFrame.h:
2797         * platform/audio/fftw: Added.
2798         * platform/audio/fftw/FFTFrameFFTW.cpp: Added.
2799         (WebCore::FFTFrame::FFTFrame):
2800         (WebCore::FFTFrame::~FFTFrame):
2801         (WebCore::FFTFrame::multiply):
2802         (WebCore::FFTFrame::doFFT):
2803         (WebCore::FFTFrame::doInverseFFT):
2804         (WebCore::FFTFrame::cleanup):
2805         (WebCore::FFTFrame::realData):
2806         (WebCore::FFTFrame::imagData):
2807         (WebCore::FFTFrame::fftwPlanForSize):
2808
2809 2011-01-24  Anders Carlsson  <andersca@apple.com>
2810
2811         Reviewed by Dan Bernstein.
2812
2813         Reset the page scale factor on standard frame loads
2814         https://bugs.webkit.org/show_bug.cgi?id=53058
2815         <rdar://problem/8908844>
2816
2817         Add a symbol needed by WebKit2.
2818
2819         * WebCore.exp.in:
2820
2821 2011-01-24  Ryosuke Niwa  <rniwa@webkit.org>
2822
2823         Reviewed by Eric Seidel.
2824
2825         Stop instantiating legacy editing positions in InsertTextCommand, MoveSelectionCommand,
2826         ReplaceSelectionCommand, SelectionController, SpellChecker, TypingCommand, and markup.cpp
2827         https://bugs.webkit.org/show_bug.cgi?id=52676
2828
2829         Stop instantiating legacy editing positions in the following files.
2830
2831         * editing/InsertTextCommand.cpp:
2832         (WebCore::InsertTextCommand::prepareForTextInsertion):
2833         (WebCore::InsertTextCommand::performTrivialReplace):
2834         (WebCore::InsertTextCommand::input):
2835         (WebCore::InsertTextCommand::insertTab):
2836         * editing/MoveSelectionCommand.cpp:
2837         (WebCore::MoveSelectionCommand::doApply):
2838         * editing/ReplaceSelectionCommand.cpp:
2839         (WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds):
2840         (WebCore::ReplaceSelectionCommand::mergeEndIfNeeded):
2841         (WebCore::ReplaceSelectionCommand::doApply):
2842         (WebCore::ReplaceSelectionCommand::shouldRemoveEndBR):
2843         (WebCore::ReplaceSelectionCommand::performTrivialReplace):
2844         * editing/SelectionController.cpp:
2845         (WebCore::SelectionController::setSelectionFromNone):
2846         * editing/SpellChecker.cpp:
2847         (WebCore::SpellChecker::didCheck):
2848         * editing/TypingCommand.cpp:
2849         (WebCore::TypingCommand::makeEditableRootEmpty):
2850         (WebCore::TypingCommand::deleteKeyPressed):
2851         (WebCore::TypingCommand::forwardDeleteKeyPressed):
2852         * editing/markup.cpp:
2853         (WebCore::StyledMarkupAccumulator::appendText):
2854         (WebCore::StyledMarkupAccumulator::serializeNodes):
2855         (WebCore::highestAncestorToWrapMarkup):
2856         (WebCore::createMarkup):
2857
2858 2011-01-24  Peter Kasting  <pkasting@google.com>
2859
2860         Reviewed by Darin Adler.
2861
2862         Roll back r67261 ("Don't fire onclick on middle clicks") due to
2863         regressions.
2864         https://bugs.webkit.org/show_bug.cgi?id=46733
2865
2866         * html/HTMLAnchorElement.cpp:
2867         (WebCore::isLinkClick):
2868         * html/HTMLInputElement.cpp:
2869         (WebCore::HTMLInputElement::preDispatchEventHandler):
2870         (WebCore::HTMLInputElement::postDispatchEventHandler):
2871         (WebCore::HTMLInputElement::defaultEventHandler):
2872         * page/EventHandler.cpp:
2873         (WebCore::EventHandler::handleMouseDoubleClickEvent):
2874         (WebCore::EventHandler::handleMouseReleaseEvent):
2875
2876 2011-01-24  Martin Robinson  <mrobinson@igalia.com>
2877
2878         Reviewed by Eric Seidel.
2879
2880         [GTK] Many DOM XHTML tests time out
2881         https://bugs.webkit.org/show_bug.cgi?id=52553
2882
2883         Properly handle the situation where a synchronous load fails before the inner
2884         event loop has started. In this case, we simply do not run the inner event loop,
2885         or else it will block indefinitely (since no GIO or libsoup callbacks will fire).
2886
2887         * platform/network/soup/ResourceHandleSoup.cpp:
2888         (WebCore::ResourceHandle::loadResourceSynchronously): Bail out of a synchronous
2889         load if it fails up front.
2890
2891 2011-01-24  Zhenyao Mo  <zmo@google.com>
2892
2893         Reviewed by Eric Seidel.
2894
2895         Cleanup WebGLGetInfo and related get*Parameter helpers in WebGLRenderingContext
2896         https://bugs.webkit.org/show_bug.cgi?id=52338
2897
2898         Removed the long/unsigned long types and corresponding get functions
2899         and use int/unsigned int instead.
2900
2901         * bindings/js/JSWebGLRenderingContextCustom.cpp:
2902         (WebCore::toJS):
2903         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
2904         (WebCore::toV8Object):
2905         * html/canvas/WebGLGetInfo.cpp:
2906         (WebCore::WebGLGetInfo::WebGLGetInfo):
2907         (WebCore::WebGLGetInfo::getInt):
2908         (WebCore::WebGLGetInfo::getUnsignedInt):
2909         * html/canvas/WebGLGetInfo.h:
2910         * html/canvas/WebGLRenderingContext.cpp:
2911         (WebCore::WebGLRenderingContext::getBufferParameter):
2912         (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
2913         (WebCore::WebGLRenderingContext::getParameter):
2914         (WebCore::WebGLRenderingContext::getProgramParameter):
2915         (WebCore::WebGLRenderingContext::getRenderbufferParameter):
2916         (WebCore::WebGLRenderingContext::getShaderParameter):
2917         (WebCore::WebGLRenderingContext::getTexParameter):
2918         (WebCore::WebGLRenderingContext::getUniform):
2919         (WebCore::WebGLRenderingContext::getVertexAttrib):
2920         (WebCore::WebGLRenderingContext::getIntParameter):
2921         (WebCore::WebGLRenderingContext::getUnsignedIntParameter):
2922         * html/canvas/WebGLRenderingContext.h:
2923
2924 2011-01-24  Zhenyao Mo  <zmo@google.com>
2925
2926         Reviewed by Darin Adler.
2927
2928         Remove sizeInBytes from GraphicsContext3D's various implementations
2929         https://bugs.webkit.org/show_bug.cgi?id=52339
2930
2931         * html/canvas/WebGLRenderingContext.cpp:
2932         (WebCore::WebGLRenderingContext::sizeInBytes):
2933         * platform/graphics/GraphicsContext3D.h:
2934         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
2935         * platform/graphics/qt/GraphicsContext3DQt.cpp:
2936
2937 2011-01-24  Adam Roben  <aroben@apple.com>
2938
2939         Windows Production build fix
2940
2941         * WebCore.vcproj/WebCore.make: Update for move of WebCore into Source.
2942
2943 2011-01-24  Anton Muhin  <antonm@chromium.org>
2944
2945         Reviewed by Nate Chapin.
2946
2947         [v8] Refactoring: extract IntrusiveDOMWrapperMap into a seprate class and files.
2948         https://bugs.webkit.org/show_bug.cgi?id=52911
2949
2950         Plain refactoring, covered by the existing tests.
2951
2952         * WebCore.gypi: IntrusiveDOMWrapperMap.h added.
2953         * bindings/v8/DOMDataStore.cpp: IntrusiveDOMWrapperMap is moved out of DOMDataStore class.
2954         * bindings/v8/DOMDataStore.h: IntrusiveDOMWrapperMap is moved out of DOMDataStore class.
2955         * bindings/v8/IntrusiveDOMWrapperMap.h: Added.
2956         (WebCore::ChunkedTable::ChunkedTable):
2957         (WebCore::ChunkedTable::add):
2958         (WebCore::ChunkedTable::remove):
2959         (WebCore::ChunkedTable::clear):
2960         (WebCore::ChunkedTable::visit):
2961         (WebCore::ChunkedTable::Chunk::Chunk):
2962         (WebCore::ChunkedTable::clearEntries):
2963         (WebCore::ChunkedTable::visitEntries):
2964         (WebCore::IntrusiveDOMWrapperMap::IntrusiveDOMWrapperMap):
2965         (WebCore::IntrusiveDOMWrapperMap::get):
2966         (WebCore::IntrusiveDOMWrapperMap::set):
2967         (WebCore::IntrusiveDOMWrapperMap::contains):
2968         (WebCore::IntrusiveDOMWrapperMap::visit):
2969         (WebCore::IntrusiveDOMWrapperMap::removeIfPresent):
2970         (WebCore::IntrusiveDOMWrapperMap::clear):
2971         (WebCore::IntrusiveDOMWrapperMap::ChunkedTableTraits::move):
2972         (WebCore::IntrusiveDOMWrapperMap::ChunkedTableTraits::clear):
2973         (WebCore::IntrusiveDOMWrapperMap::ChunkedTableTraits::visit):
2974         * bindings/v8/StaticDOMDataStore.h: include added.
2975
2976 2011-01-24  Shane Stephens  <shanestephens@google.com>
2977
2978         Reviewed by Chris Marrin.
2979
2980         TransformationMatrix multiply operations apply operands in wrong order.
2981         https://bugs.webkit.org/show_bug.cgi?id=52780
2982
2983         Rename TranformationMatrix::multLeft into multiply (the method does a multRight,
2984         not a multLeft).
2985
2986         Remove TransformationMatrix::multiply, which was actually doing a multLeft.
2987
2988         Fix TransformationMatrix::operator* and operator*= such that the operand is
2989         applied to the right-hand side of the matrix that the method is called on.
2990         i.e., previously "a * b" used to compute "b * a", and "a *= b" used to store
2991         "b * a" in "a".  This has now been fixed so "a * b" computes "a * b" and
2992         "a *= b" stores "a * b" in "a".
2993
2994         Convert all call sites for these methods to provide operands in the correct order.
2995
2996         No new tests as patch adds no new functionality.
2997
2998         * css/WebKitCSSMatrix.cpp:
2999         (WebCore::WebKitCSSMatrix::multiply):
3000         * platform/graphics/transforms/Matrix3DTransformOperation.h:
3001         (WebCore::Matrix3DTransformOperation::apply):
3002         * platform/graphics/transforms/MatrixTransformOperation.h:
3003         (WebCore::MatrixTransformOperation::apply):
3004         * platform/graphics/transforms/TransformationMatrix.cpp:
3005         (WebCore::TransformationMatrix::scaleNonUniform):
3006         (WebCore::TransformationMatrix::scale3d):
3007         (WebCore::TransformationMatrix::rotate3d):
3008         (WebCore::TransformationMatrix::skew):
3009         (WebCore::TransformationMatrix::applyPerspective):
3010         (WebCore::TransformationMatrix::multiply):
3011         (WebCore::TransformationMatrix::recompose):
3012         * platform/graphics/transforms/TransformationMatrix.h:
3013         (WebCore::TransformationMatrix::operator*=):
3014         (WebCore::TransformationMatrix::operator*):
3015         * rendering/RenderLayer.cpp:
3016         (WebCore::transparencyClipBox):
3017         * rendering/RenderObject.cpp:
3018         (WebCore::RenderObject::getTransformFromContainer):
3019         * rendering/TransformState.cpp:
3020         (WebCore::TransformState::applyTransform):
3021         (WebCore::HitTestingTransformState::applyTransform):
3022
3023 2011-01-24  Andrei Popescu  <andreip@google.com>
3024
3025         Reviewed by Nate Chapin.
3026
3027         IndexedDatabase methods should not take arguments of type OptionsObject
3028         https://bugs.webkit.org/show_bug.cgi?id=53012
3029
3030         This patch reverts all IDB methods, except IDBDatabase::createObjectStore and
3031         IDBObjectStore::createIndex, to using a plain list of arguments instead of
3032         grouping the various parameters inside a single OptionsObject argument.
3033         This decision was made on public-webapps@w3.org mailing list.
3034
3035         We also add support (v8 only for now) for passing DOMStringList objects as arguments to native
3036         methods. The code for obtaining a DOMStringList object from a JS array of strings existed already
3037         in OptionsObject.cpp, I just copied it to V8Bindings.cpp and taught the v8 code generator how to
3038         use it.
3039
3040         * bindings/scripts/CodeGeneratorV8.pm:
3041         * bindings/v8/V8Binding.cpp:
3042         (WebCore::v8ValueToWebCoreDOMStringList):
3043         * bindings/v8/V8Binding.h:
3044         * storage/IDBDatabase.cpp:
3045         (WebCore::IDBDatabase::transaction):
3046         * storage/IDBDatabase.h:
3047         (WebCore::IDBDatabase::transaction):
3048         * storage/IDBDatabase.idl:
3049         * storage/IDBIndex.cpp:
3050         (WebCore::IDBIndex::openCursor):
3051         (WebCore::IDBIndex::openKeyCursor):
3052         * storage/IDBIndex.h:
3053         (WebCore::IDBIndex::openCursor):
3054         (WebCore::IDBIndex::openKeyCursor):
3055         * storage/IDBIndex.idl:
3056         * storage/IDBObjectStore.cpp:
3057         (WebCore::IDBObjectStore::openCursor):
3058         * storage/IDBObjectStore.h:
3059         (WebCore::IDBObjectStore::openCursor):
3060         * storage/IDBObjectStore.idl:
3061
3062 2011-01-24  Pavel Feldman  <pfeldman@chromium.org>
3063
3064         Reviewed by Yury Semikhatsky.
3065
3066         Web Inspector: extract dispatch API from network manager.
3067         https://bugs.webkit.org/show_bug.cgi?id=53009
3068
3069         * WebCore.xcodeproj/project.pbxproj:
3070         * inspector/front-end/NetworkManager.js:
3071         (WebInspector.NetworkManager):
3072         (WebInspector.NetworkManager.prototype.reset):
3073         (WebInspector.NetworkManager.prototype.requestContent):
3074         (WebInspector.NetworkManager.prototype._processCachedResources):
3075         (WebInspector.NetworkDispatcher):
3076         (WebInspector.NetworkDispatcher.prototype._updateResourceWithRequest):
3077         (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
3078         (WebInspector.NetworkDispatcher.prototype._updateResourceWithCachedResource):
3079         (WebInspector.NetworkDispatcher.prototype.identifierForInitialRequest):
3080         (WebInspector.NetworkDispatcher.prototype.willSendRequest):
3081         (WebInspector.NetworkDispatcher.prototype.didReceiveResponse):
3082         (WebInspector.NetworkDispatcher.prototype.didLoadResourceFromMemoryCache):
3083         (WebInspector.NetworkDispatcher.prototype.didCommitLoadForFrame):
3084         (WebInspector.NetworkDispatcher.prototype.didCreateWebSocket):
3085         (WebInspector.NetworkDispatcher.prototype._appendRedirect):
3086         (WebInspector.NetworkDispatcher.prototype._startResource):
3087         (WebInspector.NetworkDispatcher.prototype._updateResource):
3088         (WebInspector.NetworkDispatcher.prototype._finishResource):
3089         (WebInspector.NetworkDispatcher.prototype._addFramesRecursively):
3090         (WebInspector.NetworkDispatcher.prototype._dispatchEventToListeners):
3091         (WebInspector.NetworkDispatcher.prototype._createResource):
3092         * inspector/front-end/Resource.js:
3093         (WebInspector.Resource.prototype._innerRequestContent):
3094         * inspector/front-end/ResourceTreeModel.js:
3095         (WebInspector.ResourceTreeModel):
3096         (WebInspector.ResourceTreeModel.prototype.reset):
3097         (WebInspector.ResourceTreeModel.prototype.unbindResourceURL):
3098
3099 2011-01-24  Yury Semikhatsky  <yurys@chromium.org>
3100
3101         Reviewed by Pavel Feldman.
3102
3103         Web Inspector: [JSC] remove ScriptDebugServer::pageCreated
3104         https://bugs.webkit.org/show_bug.cgi?id=53007
3105
3106         It's impossible to create "provisional" inspector for pages which are
3107         not yet created so there is no need to listen for page creation in ScriptDebugServer.
3108
3109         * bindings/js/ScriptDebugServer.cpp:
3110         * bindings/js/ScriptDebugServer.h:
3111         * page/Page.cpp:
3112         (WebCore::Page::Page):
3113
3114 2011-01-24  Pavel Podivilov  <podivilov@chromium.org>
3115
3116         Reviewed by Pavel Feldman.
3117
3118         Web Inspector: [REGRESSION] AppCache view on resources panel is broken.
3119         https://bugs.webkit.org/show_bug.cgi?id=53002
3120
3121
3122         * inspector/front-end/ApplicationCacheItemsView.js:
3123         (WebInspector.ApplicationCacheItemsView.prototype._update):
3124         * inspector/front-end/DOMAgent.js:
3125         (WebInspector.ApplicationCacheDispatcher.getApplicationCachesAsync):
3126
3127 2011-01-24  Andreas Kling  <kling@webkit.org>
3128
3129         Reviewed by Kenneth Rohde Christiansen.
3130
3131         [Qt] Fix warnings about unregistering an invalid timer
3132         https://bugs.webkit.org/show_bug.cgi?id=53006
3133
3134         The ShadowBuffer's purge timer ID was initialized with 0 which lead
3135         to us calling QObject::killTimer(0), causing some qWarnings.
3136
3137         * platform/graphics/qt/ContextShadowQt.cpp:
3138         (WebCore::ShadowBuffer::ShadowBuffer):
3139         (WebCore::ShadowBuffer::schedulePurge):
3140
3141 2011-01-21  Mikhail Naganov  <mnaganov@chromium.org>
3142
3143         Reviewed by Pavel Feldman.
3144
3145         Web Inspector: [Chromium] Fix heap snapshot table sorting.
3146
3147         Fix table sorting to avoid qsort instability artefacts.
3148
3149         https://bugs.webkit.org/show_bug.cgi?id=52914
3150
3151         * inspector/front-end/HeapSnapshotView.js:
3152         (WebInspector.HeapSnapshotView.prototype._sortData):
3153         (WebInspector.HeapSnapshotDataGridList.propertyComparator.comparator):
3154         (WebInspector.HeapSnapshotDataGridList.propertyComparator):
3155
3156 2011-01-24  Mikhail Naganov  <mnaganov@chromium.org>
3157
3158         Reviewed by Yury Semikhatsky.
3159
3160         Web Inspector: Find duplicate strings in localizedStrings.js, update it.
3161
3162         https://bugs.webkit.org/show_bug.cgi?id=53005
3163
3164         * English.lproj/localizedStrings.js:
3165
3166 2011-01-24  Pavel Podivilov  <podivilov@chromium.org>
3167
3168         Unreviewed, build fix  for r76509.
3169
3170         * inspector/InspectorDebuggerAgent.cpp:
3171         (WebCore::InspectorDebuggerAgent::setBreakpoint):
3172
3173 2011-01-24  Pavel Podivilov  <podivilov@chromium.org>
3174
3175         Unreviewed, build fix  for r76509.
3176
3177         * bindings/js/ScriptDebugServer.h:
3178
3179 2011-01-24  Pavel Podivilov  <podivilov@chromium.org>
3180
3181         Reviewed by Yury Semikhatsky.
3182
3183         Web Inspector: set breakpoints by line:column.
3184         https://bugs.webkit.org/show_bug.cgi?id=52615
3185
3186         * CMakeLists.txt:
3187         * GNUmakefile.am:
3188         * WebCore.gypi:
3189         * WebCore.pro:
3190         * WebCore.vcproj/WebCore.vcproj:
3191         * WebCore.xcodeproj/project.pbxproj:
3192         * bindings/js/ScriptDebugServer.cpp:
3193         (WebCore::ScriptDebugServer::setBreakpoint):
3194         (WebCore::ScriptDebugServer::removeBreakpoint):
3195         (WebCore::ScriptDebugServer::hasBreakpoint):
3196         (WebCore::ScriptDebugServer::clearBreakpoints):
3197         * bindings/js/ScriptDebugServer.h:
3198         * bindings/v8/DebuggerScript.js:
3199         ():
3200         * bindings/v8/ScriptDebugServer.cpp:
3201         (WebCore::ScriptDebugServer::setBreakpoint):
3202         * bindings/v8/ScriptDebugServer.h:
3203         * inspector/Inspector.idl:
3204         * inspector/InspectorBrowserDebuggerAgent.cpp:
3205         (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint):
3206         * inspector/InspectorDebuggerAgent.cpp:
3207         (WebCore::InspectorDebuggerAgent::setStickyBreakpoint):
3208         (WebCore::InspectorDebuggerAgent::setBreakpoint):
3209         (WebCore::InspectorDebuggerAgent::restoreBreakpoint):
3210         (WebCore::InspectorDebuggerAgent::didParseSource):
3211         * inspector/InspectorDebuggerAgent.h:
3212         * inspector/ScriptBreakpoint.cpp: Removed.
3213         * inspector/ScriptBreakpoint.h:
3214         (WebCore::ScriptBreakpoint::ScriptBreakpoint):
3215         * inspector/front-end/Breakpoint.js:
3216         (WebInspector.Breakpoint):
3217         (WebInspector.Breakpoint.prototype.get url):
3218         * inspector/front-end/BreakpointManager.js:
3219         (WebInspector.JavaScriptBreakpoint.prototype._serializeToJSON):
3220         * inspector/front-end/DebuggerModel.js:
3221         (WebInspector.DebuggerModel.prototype.continueToLine):
3222         (WebInspector.DebuggerModel.prototype.setBreakpoint):
3223         (WebInspector.DebuggerModel.prototype._breakpointSetOnBackend):
3224         (WebInspector.DebuggerDispatcher.prototype.breakpointResolved):
3225
3226 2011-01-24  Peter Beverloo  <peter@chromium.org>
3227
3228         Reviewed by Pavel Feldman.
3229
3230         Web Inspector: recognize application/x-font-woff as a valid mime-type.
3231         https://bugs.webkit.org/show_bug.cgi?id=52977
3232
3233         No new tests.
3234
3235         * inspector/front-end/inspector.js:
3236
3237 2011-01-24  Pavel Podivilov  <podivilov@chromium.org>
3238
3239         Unreviewed, fix for r76497.
3240
3241         * inspector/front-end/ResourcesPanel.js:
3242         (WebInspector.ResourcesPanel.prototype.show):
3243
3244 2011-01-24  Andreas Kling  <kling@webkit.org>
3245
3246         Reviewed by Tor Arne Vestbø.
3247
3248         [Qt] Use rad2deg() from WTF instead of rolling our own.
3249         https://bugs.webkit.org/show_bug.cgi?id=52993
3250
3251         * platform/graphics/qt/GraphicsContextQt.cpp:
3252         (WebCore::GraphicsContext::rotate):
3253         * platform/graphics/qt/PathQt.cpp:
3254         (WebCore::Path::addArc):
3255
3256 2011-01-24  Sergio Villar Senin  <svillar@igalia.com>
3257
3258         Reviewed by Martin Robinson.
3259
3260         [Gtk] ResourceHandleSoup: do not wait for streams to close to issue didFinishLoading
3261         https://bugs.webkit.org/show_bug.cgi?id=52885
3262
3263         No new tests as it does not change functionality. We will not wait for
3264         the the input stream to close to issue didFinishLoading to
3265         WebCore. We expect a subtle performance improvement with this
3266         patch when loading complex web pages, as we wouldn't have to wait
3267         for the stream to close (which involves creating a thread among
3268         other things).
3269
3270         * platform/network/soup/ResourceHandleSoup.cpp:
3271         (WebCore::closeCallback):
3272         (WebCore::readCallback):
3273
3274 2011-01-21  Pavel Podivilov  <podivilov@chromium.org>
3275
3276         Reviewed by Pavel Feldman.
3277
3278         Web Inspector: eliminate SourceView and ScriptView classes.
3279         https://bugs.webkit.org/show_bug.cgi?id=52896
3280
3281         SourceView and ScriptView delegate everything to SourceFrame and should be eliminated.
3282
3283         * WebCore.gypi:
3284         * WebCore.vcproj/WebCore.vcproj:
3285         * inspector/front-end/GoToLineDialog.js:
3286         (WebInspector.GoToLineDialog.prototype._highlightSelectedLine):
3287         * inspector/front-end/ResourceView.js:
3288         (WebInspector.ResourceView.createResourceView):
3289         (WebInspector.ResourceView.resourceViewTypeMatchesResource):
3290         (WebInspector.SourceFrameContentProviderForResource):  Moved from SourceView.
3291         * inspector/front-end/ResourcesPanel.js:
3292         (WebInspector.ResourcesPanel.prototype.show):
3293         (WebInspector.ResourcesPanel.prototype._applyDiffMarkup):
3294         (WebInspector.FrameResourceTreeElement.prototype._errorsWarningsUpdated):
3295         * inspector/front-end/ScriptView.js: Removed.
3296         * inspector/front-end/ScriptsPanel.js:
3297         (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
3298         (WebInspector.ScriptsPanel.prototype._sourceFrameForScriptOrResource):
3299         (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
3300         (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions):
3301         (WebInspector.ScriptsPanel.prototype._formatScript):
3302         (WebInspector.SourceFrameContentProviderForScript): Moved from ScriptView.
3303         * inspector/front-end/SourceFrame.js:
3304         (WebInspector.SourceFrame):
3305         (WebInspector.SourceFrame.prototype.show):
3306         (WebInspector.SourceFrame.prototype.hide):
3307         (WebInspector.SourceFrame.prototype.hasContent):
3308         (WebInspector.SourceFrame.prototype._createTextViewer):
3309         (WebInspector.SourceFrame.prototype.performSearch.doFindSearchMatches):
3310         (WebInspector.SourceFrame.prototype.performSearch):
3311         * inspector/front-end/SourceView.js: Removed.
3312         * inspector/front-end/WebKit.qrc:
3313         * inspector/front-end/inspector.html:
3314
3315 2011-01-24  Andras Becsi  <abecsi@webkit.org>
3316
3317         Reviewed by Csaba Osztrogonác.
3318
3319         [Qt] Move project files into Source
3320         https://bugs.webkit.org/show_bug.cgi?id=52891
3321
3322         No new tests needed.
3323
3324         * WebCore.pri:
3325         * WebCore.pro:
3326
3327 2011-01-24  Kent Tamura  <tkent@chromium.org>
3328
3329         Unreviewed, trivial fix.
3330
3331         Fix a Chromium-only assertion failure by r76491.
3332         https://bugs.webkit.org/show_bug.cgi?id=38982
3333
3334         Separate icon loading from the FileChooser constructor in order to avoid
3335         ref() before adoptRef().
3336
3337         * platform/FileChooser.cpp:
3338         (WebCore::FileChooser::FileChooser):
3339         (WebCore::FileChooser::initialize):
3340         (WebCore::FileChooser::create):
3341         * platform/FileChooser.h:
3342
3343 2011-01-24  MORITA Hajime  <morrita@google.com>
3344
3345         Reviewed by Kent Tamura.
3346
3347         TextControlInnerElement::m_shadowParent should be removed.
3348         https://bugs.webkit.org/show_bug.cgi?id=52998
3349
3350         No new tests. No behavioral change.
3351
3352         * rendering/TextControlInnerElements.cpp:
3353         (WebCore::TextControlInnerElement::TextControlInnerElement):
3354         * rendering/TextControlInnerElements.h:
3355
3356 2011-01-24  Yury Semikhatsky  <yurys@chromium.org>
3357
3358         Reviewed by Pavel Feldman.
3359
3360         REGRESSION (r72895): console.trace crashes
3361         https://bugs.webkit.org/show_bug.cgi?id=52981
3362
3363         - Use local RefPtr variable for accessing PassRefPtr arguments to make sure the PassRefPtr has
3364         non-null value.
3365         - Use PassRefPtr for objects whos ownership is passed to the inspector.
3366
3367         * GNUmakefile.am:
3368         * WebCore.gypi:
3369         * WebCore.pro:
3370         * WebCore.vcproj/WebCore.vcproj:
3371         * WebCore.xcodeproj/project.pbxproj:
3372         * inspector/InspectorConsoleInstrumentation.h: Added. Extract inline methods called from the console into their
3373         own header to reduce compilation time of other classes that depend on the inspector instrumentation.
3374         (WebCore::InspectorInstrumentation::addMessageToConsole):
3375         (WebCore::InspectorInstrumentation::consoleCount):
3376         (WebCore::InspectorInstrumentation::startConsoleTiming):
3377         (WebCore::InspectorInstrumentation::stopConsoleTiming):
3378         (WebCore::InspectorInstrumentation::consoleMarkTimeline):
3379         (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsole):
3380         (WebCore::InspectorInstrumentation::addProfile):
3381         (WebCore::InspectorInstrumentation::profilerEnabled):
3382         (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileName):
3383         * inspector/InspectorDatabaseInstrumentation.h: Added. Extract inline methods called from the datanase code into their
3384         own header to reduce compilation time of other classes that depend on the inspector instrumentation.
3385         (WebCore::InspectorInstrumentation::didOpenDatabase):
3386         * inspector/InspectorInstrumentation.cpp:
3387         (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
3388         (WebCore::InspectorInstrumentation::consoleCountImpl):
3389         (WebCore::InspectorInstrumentation::stopConsoleTimingImpl):
3390         (WebCore::InspectorInstrumentation::consoleMarkTimelineImpl):
3391         (WebCore::InspectorInstrumentation::addProfileImpl):
3392         (WebCore::InspectorInstrumentation::didOpenDatabaseImpl):
3393         * inspector/InspectorInstrumentation.h:
3394         * page/Console.cpp: use RefPtr local variable instead of accessing PassRefPtr argument directly.
3395         (WebCore::Console::addMessage):
3396         (WebCore::Console::trace):
3397         (WebCore::Console::count):
3398         (WebCore::Console::markTimeline):
3399         (WebCore::Console::profileEnd):
3400         (WebCore::Console::timeEnd):
3401         (WebCore::Console::group):
3402         (WebCore::Console::groupCollapsed):
3403         * storage/Database.cpp:
3404         (WebCore::Database::openDatabase):
3405
3406 2010-01-24  Kent Tamura  <tkent@chromium.org>
3407
3408         Reviewed by Darin Fisher.
3409
3410         [Chromium] Support icon loading for <input type=file>
3411         https://bugs.webkit.org/show_bug.cgi?id=38982
3412
3413         An icon data in Chromium port is represented as WebCore::Image. We
3414         don't need OS-specific code anymore.
3415
3416         * WebCore.gypi:
3417         * platform/graphics/Icon.h:
3418         (WebCore::Icon::create): Add Chromium-specific factory.
3419         * platform/graphics/chromium/IconChromium.cpp: Added.
3420         * platform/graphics/chromium/IconChromiumLinux.cpp: Removed.
3421         * platform/graphics/chromium/IconChromiumMac.cpp: Removed.
3422         * platform/graphics/chromium/IconChromiumWin.cpp: Removed.
3423         * platform/graphics/chromium/PlatformIcon.h:
3424
3425 2011-01-21  Pavel Podivilov  <podivilov@chromium.org>
3426
3427         Reviewed by Pavel Feldman.
3428
3429         Web Inspector: move search functions from SourceView to SourceFrame.
3430         https://bugs.webkit.org/show_bug.cgi?id=52895
3431
3432         This is the last step before eliminating SourceView and ScriptView since
3433         this classes just delegate everything to SourceFrame.
3434
3435         * inspector/front-end/SourceFrame.js:
3436         (WebInspector.SourceFrame.prototype.set visible):
3437         (WebInspector.SourceFrame.prototype._clearLineHighlight):
3438         (WebInspector.SourceFrame.prototype._createTextViewer):
3439         (WebInspector.SourceFrame.prototype.performSearch.doFindSearchMatches):
3440         (WebInspector.SourceFrame.prototype.performSearch):
3441         (WebInspector.SourceFrame.prototype.searchCanceled):
3442         (WebInspector.SourceFrame.prototype.jumpToFirstSearchResult):
3443         (WebInspector.SourceFrame.prototype.jumpToLastSearchResult):
3444         (WebInspector.SourceFrame.prototype.jumpToNextSearchResult):
3445         (WebInspector.SourceFrame.prototype.jumpToPreviousSearchResult):
3446         (WebInspector.SourceFrame.prototype.showingFirstSearchResult):
3447         (WebInspector.SourceFrame.prototype.showingLastSearchResult):
3448         (WebInspector.SourceFrame.prototype._jumpToSearchResult):
3449         * inspector/front-end/SourceView.js:
3450         (WebInspector.SourceView.prototype.hide):
3451         (WebInspector.SourceView.prototype.searchCanceled):
3452         (WebInspector.SourceView.prototype.performSearch):
3453         (WebInspector.SourceView.prototype.jumpToFirstSearchResult):
3454         (WebInspector.SourceView.prototype.jumpToLastSearchResult):
3455         (WebInspector.SourceView.prototype.jumpToNextSearchResult):
3456         (WebInspector.SourceView.prototype.jumpToPreviousSearchResult):
3457         (WebInspector.SourceView.prototype.showingFirstSearchResult):
3458         (WebInspector.SourceView.prototype.showingLastSearchResult):
3459         (WebInspector.SourceView.prototype.clearMessages):
3460
3461 2011-01-24  Sheriff Bot  <webkit.review.bot@gmail.com>
3462
3463         Unreviewed, rolling out r76463.
3464         http://trac.webkit.org/changeset/76463
3465         https://bugs.webkit.org/show_bug.cgi?id=52993
3466
3467         It broke canvas/philip/tests/2d.path.stroke.skew.html
3468         (Requested by Ossy on #webkit).
3469
3470         * platform/graphics/qt/GraphicsContextQt.cpp:
3471         (WebCore::GraphicsContext::rotate):
3472         * platform/graphics/qt/PathQt.cpp:
3473         (WebCore::Path::addArc):
3474
3475 2011-01-23  Andrey Kosyakov  <caseq@chromium.org>
3476
3477         Reviewed by Pavel Feldman.
3478
3479         Web Inspector: summary bar is not resized properly with the rest of network panel
3480         https://bugs.webkit.org/show_bug.cgi?id=52881
3481
3482         * inspector/front-end/NetworkPanel.js:
3483         (WebInspector.NetworkPanel.prototype.updateSidebarWidth):
3484         (WebInspector.NetworkPanel.prototype._positionSummaryBar):
3485         (WebInspector.NetworkPanel.prototype._toggleGridMode):
3486
3487 2011-01-19  MORITA Hajime  <morrita@google.com>
3488
3489         Reviewed by Ryosuke Niwa.
3490
3491         Space and tab characters "sent" by an input method give totally different results than typing them directly
3492         https://bugs.webkit.org/show_bug.cgi?id=5241
3493         
3494         * Introduced TextEvent::InputTypeComposition and TypingCommand::TextCompositionType to 
3495           distinguish text input which is originated by composition.
3496         * Generalized rebalanceWhitespaceAt() to rebalanceWhitespaceOnTextSubstring() to rebalancing 
3497           range of string on text node, instead of surrounding part of that.
3498
3499         Test: editing/inserting/insert-composition-whitespace.html
3500
3501         * dom/TextEvent.h:
3502         (WebCore::TextEvent::isComposition):
3503         * dom/TextEventInputType.h: Added TextEventInputComposition as a member of TextEvent::InputType
3504         * editing/CompositeEditCommand.cpp:
3505         (WebCore::containsOnlyWhitespace):
3506         (WebCore::CompositeEditCommand::shouldRebalanceLeadingWhitespaceFor):
3507         (WebCore::CompositeEditCommand::canRebalance):
3508         (WebCore::CompositeEditCommand::rebalanceWhitespaceAt):
3509         (WebCore::CompositeEditCommand::rebalanceWhitespaceOnTextSubstring): Added: A generalized version of rebalanceWhitespaceAt(), which takes a range inside Text string.
3510         * editing/CompositeEditCommand.h:
3511         * editing/Editor.cpp:
3512         (WebCore::Editor::insertTextForConfirmedComposition): Added.
3513         (WebCore::Editor::insertTextWithoutSendingTextEvent):
3514         (WebCore::Editor::confirmComposition): Now uses insertTextForConfirmedComposition().
3515         (WebCore::Editor::setComposition):
3516         * editing/Editor.h:
3517         * editing/InsertTextCommand.cpp:
3518         (WebCore::InsertTextCommand::input):
3519         * editing/InsertTextCommand.h:
3520         * editing/TypingCommand.cpp:
3521         (WebCore::TypingCommand::TypingCommand):
3522         (WebCore::TypingCommand::insertText):
3523         (WebCore::TypingCommand::insertTextRunWithoutNewlines):
3524         * editing/TypingCommand.h: Added TypingCommand::m_compositionType and TypingCommand::TextCompositionType
3525         (WebCore::TypingCommand::setCompositionType): Added.
3526         (WebCore::TypingCommand::create):
3527
3528 2011-01-23  Mark Rowe  <mrowe@apple.com>
3529
3530         Follow-up to r76477.
3531
3532         Fix the scripts that detect problematic code such as static initializers
3533         and destructors, weak vtables, inappropriate files in the framework wrappers,
3534         and public headers including private headers. These had all been broken
3535         since the projects were moved in to the Source directory as the paths to the
3536         scripts were not updated at that time.
3537
3538         Stop copying an IDL file in to the framework wrapper. Doing that doesn't even make sense.
3539
3540         * WebCore.xcodeproj/project.pbxproj:
3541
3542 2011-01-23  Mark Rowe  <mrowe@apple.com>
3543
3544         Build fix after r76459.
3545
3546         Static member variables or globals of types that have constructors or destructors are bad as
3547         they generate static initializers and destructors. This is code that is run either at link time
3548         when the library is loaded in to memory or at application termination time. Both of these are
3549         terrible for performance and are thus outlawed in WebKit code.
3550
3551         The typical solution is to replace the static member or global with a function that allocates
3552         the necessary variable on the heap. The variable is leaked to prevent it from being destroyed
3553         at application termination time. The DEFINE_STATIC_LOCAL macro wraps this in to a concise little
3554         package, but sadly fails to work in this case due to the type containing multiple template
3555         parameters.
3556         
3557         * inspector/InspectorInstrumentation.cpp:
3558         (WebCore::InspectorInstrumentation::inspectorAgents):
3559         * inspector/InspectorInstrumentation.h:
3560         (WebCore::InspectorInstrumentation::bindInspectorAgent):
3561         (WebCore::InspectorInstrumentation::unbindInspectorAgent):
3562         (WebCore::InspectorInstrumentation::inspectorAgentForPage):
3563
3564 2011-01-21  Vangelis Kokkevis  <vangelis@chromium.org>
3565
3566         Reviewed by Kenneth Russell.
3567
3568         [chromium] Add support for -webkit-mask properties to the
3569         accelerated compositing path.
3570         https://bugs.webkit.org/show_bug.cgi?id=49780
3571          
3572         Tests: Existing tests in LayoutTests/compositing/masks
3573
3574         * platform/graphics/chromium/ContentLayerChromium.cpp:
3575         (WebCore::ContentLayerChromium::draw):
3576         (WebCore::ContentLayerChromium::unreserveContentsTexture):
3577         (WebCore::ContentLayerChromium::bindContentsTexture):
3578         * platform/graphics/chromium/ContentLayerChromium.h:
3579         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
3580         (WebCore::GraphicsLayerChromium::setMaskLayer):
3581         * platform/graphics/chromium/GraphicsLayerChromium.h:
3582         * platform/graphics/chromium/LayerChromium.cpp:
3583         (WebCore::LayerChromium::LayerChromium):
3584         * platform/graphics/chromium/LayerChromium.h:
3585         (WebCore::LayerChromium::setMaskLayer):
3586         (WebCore::LayerChromium::maskLayer):
3587         (WebCore::LayerChromium::unreserveContentsTexture):
3588         (WebCore::LayerChromium::bindContentsTexture):
3589         * platform/graphics/chromium/LayerRendererChromium.cpp:
3590         (WebCore::LayerRendererChromium::updateLayersRecursive):
3591         * platform/graphics/chromium/LayerTexture.cpp:
3592         (WebCore::LayerTexture::bindTexture):
3593         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
3594         (WebCore::RenderSurfaceChromium::SharedValues::SharedValues):
3595         (WebCore::RenderSurfaceChromium::SharedValues::~SharedValues):
3596         (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
3597         (WebCore::RenderSurfaceChromium::draw):
3598         * platform/graphics/chromium/RenderSurfaceChromium.h:
3599         (WebCore::RenderSurfaceChromium::SharedValues::maskShaderProgram):
3600         (WebCore::RenderSurfaceChromium::SharedValues::maskShaderSamplerLocation):
3601         (WebCore::RenderSurfaceChromium::SharedValues::maskShaderMaskSamplerLocation):
3602         (WebCore::RenderSurfaceChromium::SharedValues::maskShaderMatrixLocation):
3603         (WebCore::RenderSurfaceChromium::SharedValues::maskShaderAlphaLocation):
3604
3605 2011-01-23  Patrick Gansterer  <paroga@webkit.org>
3606
3607         Reviewed by Darin Adler.
3608
3609         Use WTF::StringHasher in WebCore
3610         https://bugs.webkit.org/show_bug.cgi?id=52934
3611
3612         * loader/appcache/ApplicationCacheStorage.cpp:
3613         (WebCore::urlHostHash):
3614         * platform/LinkHash.cpp:
3615         (WebCore::visitedLinkHashInline):
3616         * platform/cf/BinaryPropertyList.cpp:
3617         (WebCore::IntegerArrayHash::hash):
3618         * platform/graphics/wx/FontPlatformDataWx.cpp:
3619         (WebCore::FontPlatformData::computeHash):
3620         * platform/network/ProtectionSpaceHash.h:
3621         (WebCore::ProtectionSpaceHash::hash):
3622
3623 2011-01-23  Patrick Gansterer  <paroga@webkit.org>
3624
3625         Reviewed by David Kilzer.
3626
3627         Add an overload to base64Encode with String output
3628         https://bugs.webkit.org/show_bug.cgi?id=50122
3629
3630         This change removes duplicated code.
3631
3632         * inspector/InspectorResourceAgent.cpp:
3633         (WebCore::InspectorResourceAgent::resourceContentBase64):
3634         * page/DOMWindow.cpp:
3635         (WebCore::DOMWindow::btoa):
3636         * platform/graphics/skia/FontCustomPlatformData.cpp:
3637         (WebCore::createUniqueFontName):
3638         * platform/graphics/win/FontCustomPlatformData.cpp:
3639         (WebCore::createUniqueFontName):
3640         * platform/graphics/wince/FontCustomPlatformData.cpp:
3641         (WebCore::createUniqueFontName):
3642         * platform/network/cf/ResourceHandleCFNet.cpp:
3643         (WebCore::encodeBasicAuthorization):
3644         * platform/network/mac/ResourceHandleMac.mm:
3645         (WebCore::encodeBasicAuthorization):
3646         * platform/text/Base64.cpp:
3647         (WebCore::base64Encode):
3648         * platform/text/Base64.h:
3649         (WebCore::base64Encode):
3650         * platform/wince/KeygenWinCE.cpp:
3651         (WebCore::WebCore::signedPublicKeyAndChallengeString):
3652
3653 2011-01-23  Patrick Gansterer  <paroga@webkit.org>
3654
3655         Reviewed by David Kilzer.
3656
3657         Add String::containsOnlyLatin1()
3658         https://bugs.webkit.org/show_bug.cgi?id=52979
3659
3660         Use String::containsOnlyLatin1() instead of isSafeToConvertCharList().
3661
3662         * page/DOMWindow.cpp:
3663         (WebCore::DOMWindow::btoa):
3664         (WebCore::DOMWindow::atob):
3665
3666 2011-01-23  Patrick Gansterer  <paroga@webkit.org>
3667
3668         Reviewed by Andreas Kling.
3669
3670         [CMake] Add missing CodeGenerator dependencies
3671         https://bugs.webkit.org/show_bug.cgi?id=52976
3672
3673         * CMakeLists.txt:
3674
3675 2011-01-23  Yael Aharon  <yael.aharon@nokia.com>
3676
3677         Reviewed by Kenneth Rohde Christiansen.
3678
3679         [Qt][Symbian] Fix --minimal build
3680         https://bugs.webkit.org/show_bug.cgi?id=52839
3681
3682         Some of the plugins' functionality is reimplemented in
3683         Symbian specific files.
3684         Some of this functionality should be compiled in even if 
3685         the guard NETSCAPE_PLUGIN_API is turned off.
3686         This patch moves that functionality out of the
3687         NETSCAPE_PLUGIN_API guard.
3688
3689         Build fix so no new tests.
3690
3691         * WebCore.pro:
3692         * plugins/symbian/PluginPackageSymbian.cpp:
3693
3694 2011-01-23  Andreas Kling  <kling@webkit.org>
3695
3696         Reviewed by Tor Arne Vestbø.
3697
3698         [Qt] Use rad2deg() from WTF instead of rolling our own.
3699
3700         * platform/graphics/qt/GraphicsContextQt.cpp:
3701         (WebCore::GraphicsContext::rotate):
3702         * platform/graphics/qt/PathQt.cpp:
3703         (WebCore::Path::addArc):
3704
3705 2011-01-23  Kenneth Rohde Christiansen <kenneth@webkit.org>
3706
3707         Reviewed by Andreas Kling.
3708
3709         Viewport meta: Always adjust device dimensions to the device pixel ratio.
3710
3711         * dom/ViewportArguments.cpp:
3712         (WebCore::computeViewportAttributes):
3713
3714 2011-01-23  Andreas Kling  <kling@webkit.org>
3715
3716         Reviewed by Kenneth Rohde Christiansen.
3717
3718         Don't scale absolute geometry specified by viewport meta tag.
3719
3720         * dom/ViewportArguments.cpp:
3721         (WebCore::computeViewportAttributes):
3722
3723 2011-01-23  Ilya Tikhonovsky  <loislo@chromium.org>
3724
3725         Unreviewed build fix.
3726
3727         Web Inspector: looks like efl doesn't regenerate InspectorBackendDispatcher.
3728
3729         Touch Inspector.idl.
3730
3731         * inspector/Inspector.idl:
3732
3733 2011-01-22  Ilya Tikhonovsky  <loislo@chromium.org>
3734
3735         Reviewed by Pavel Feldman.
3736
3737         Web Inspector: next step in splitting InspectorController.
3738
3739         Splitting InspectorController is a bit tricky process.
3740
3741         As a first step I'll do the next things:
3742         1) rename existing InspectorController to InspectorAgent;
3743         2) s/nspectorController/nspectorAgent/g everywhere in WebCore/inspector but InspectorInstrumentation;
3744         3) create a fake InspectorController derived from the InspectorAgent for the rest of WebCore and WebKit;
3745
3746         The second step is a migration of a small set of functions described in bug 52510 from InspectorAgent to InspectorController.
3747
3748         As far as the second step will have significant changes in the functions' implementation I'll do it as a separate patch.
3749
3750         https://bugs.webkit.org/show_bug.cgi?id=52955
3751
3752         * CMakeLists.txt:
3753         * GNUmakefile.am:
3754         * WebCore.exp.in:
3755         * WebCore.gypi:
3756         * WebCore.pro:
3757         * WebCore.vcproj/WebCore.vcproj:
3758         * WebCore.xcodeproj/project.pbxproj:
3759         * bindings/js/JSInjectedScriptHostCustom.cpp:
3760         (WebCore::JSInjectedScriptHost::nodeForId):
3761         (WebCore::JSInjectedScriptHost::selectDOMStorage):
3762         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
3763         (WebCore::V8InjectedScriptHost::nodeForIdCallback):
3764         * inspector/CodeGeneratorInspector.pm:
3765         * inspector/InjectedScriptHost.cpp:
3766         (WebCore::InjectedScriptHost::InjectedScriptHost):
3767         (WebCore::InjectedScriptHost::clearConsoleMessages):
3768         (WebCore::InjectedScriptHost::databaseForId):
3769         (WebCore::InjectedScriptHost::selectDatabase):
3770         (WebCore::InjectedScriptHost::selectDOMStorage):
3771         (WebCore::InjectedScriptHost::injectedScriptForMainFrame):
3772         (WebCore::InjectedScriptHost::inspectorDOMAgent):
3773         (WebCore::InjectedScriptHost::frontend):
3774         (WebCore::InjectedScriptHost::didCreateWorker):
3775         (WebCore::InjectedScriptHost::didDestroyWorker):
3776         * inspector/InjectedScriptHost.h:
3777         (WebCore::InjectedScriptHost::create):
3778         (WebCore::InjectedScriptHost::inspectorAgent):
3779         (WebCore::InjectedScriptHost::disconnectController):
3780         * inspector/InspectorAgent.cpp: Copied from Source/WebCore/inspector/InspectorController.cpp.
3781         (WebCore::InspectorAgent::InspectorAgent):
3782         (WebCore::InspectorAgent::~InspectorAgent):
3783         (WebCore::InspectorAgent::inspectedPageDestroyed):
3784         (WebCore::InspectorAgent::enabled):
3785         (WebCore::InspectorAgent::inspectorStartsAttached):
3786         (WebCore::InspectorAgent::setInspectorStartsAttached):
3787         (WebCore::InspectorAgent::setInspectorAttachedHeight):
3788         (WebCore::InspectorAgent::inspectorAttachedHeight):
3789         (WebCore::InspectorAgent::searchingForNodeInPage):
3790         (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
3791         (WebCore::InspectorAgent::inspect):
3792         (WebCore::InspectorAgent::focusNode):
3793         (WebCore::InspectorAgent::highlight):
3794         (WebCore::InspectorAgent::highlightDOMNode):
3795         (WebCore::InspectorAgent::highlightFrame):
3796         (WebCore::InspectorAgent::hideHighlight):
3797         (WebCore::InspectorAgent::mouseDidMoveOverElement):
3798         (WebCore::InspectorAgent::handleMousePress):
3799         (WebCore::InspectorAgent::setInspectorFrontendClient):
3800         (WebCore::InspectorAgent::didClearWindowObjectInWorld):
3801         (WebCore::InspectorAgent::setSearchingForNode):
3802         (WebCore::InspectorAgent::connectFrontend):
3803         (WebCore::InspectorAgent::show):
3804         (WebCore::InspectorAgent::showPanel):
3805         (WebCore::InspectorAgent::close):
3806         (WebCore::InspectorAgent::disconnectFrontend):
3807         (WebCore::InspectorAgent::resourceAgent):
3808         (WebCore::InspectorAgent::releaseFrontendLifetimeAgents):
3809         (WebCore::InspectorAgent::populateScriptObjects):
3810         (WebCore::InspectorAgent::pushDataCollectedOffline):
3811         (WebCore::InspectorAgent::restoreDebugger):
3812         (WebCore::InspectorAgent::restoreProfiler):
3813         (WebCore::InspectorAgent::unbindAllResources):
3814         (WebCore::InspectorAgent::didCommitLoad):
3815         (WebCore::InspectorAgent::mainResourceFiredDOMContentEvent):
3816         (WebCore::InspectorAgent::mainResourceFiredLoadEvent):
3817         (WebCore::InspectorAgent::isMainResourceLoader):
3818         (WebCore::InspectorAgent::willSendRequest):
3819         (WebCore::InspectorAgent::ensureSettingsLoaded):
3820         (WebCore::InspectorAgent::startTimelineProfiler):
3821         (WebCore::InspectorAgent::stopTimelineProfiler):
3822         (WebCore::PostWorkerNotificationToFrontendTask::create):
3823         (WebCore::PostWorkerNotificationToFrontendTask::PostWorkerNotificationToFrontendTask):
3824         (WebCore::PostWorkerNotificationToFrontendTask::performTask):
3825         (WebCore::InspectorAgent::postWorkerNotificationToFrontend):
3826         (WebCore::InspectorAgent::didCreateWorker):
3827         (WebCore::InspectorAgent::didDestroyWorker):
3828         (WebCore::InspectorAgent::didOpenDatabase):
3829         (WebCore::InspectorAgent::getCookies):
3830         (WebCore::InspectorAgent::buildArrayForCookies):
3831         (WebCore::InspectorAgent::buildObjectForCookie):
3832         (WebCore::InspectorAgent::deleteCookie):
3833         (WebCore::InspectorAgent::didUseDOMStorage):
3834         (WebCore::InspectorAgent::didCreateWebSocket):
3835         (WebCore::InspectorAgent::willSendWebSocketHandshakeRequest):
3836         (WebCore::InspectorAgent::didReceiveWebSocketHandshakeResponse):
3837         (WebCore::InspectorAgent::didCloseWebSocket):
3838         (WebCore::InspectorAgent::isRecordingUserInitiatedProfile):
3839         (WebCore::InspectorAgent::startUserInitiatedProfiling):
3840         (WebCore::InspectorAgent::stopUserInitiatedProfiling):
3841         (WebCore::InspectorAgent::profilerEnabled):
3842         (WebCore::InspectorAgent::enableProfiler):
3843         (WebCore::InspectorAgent::disableProfiler):
3844         (WebCore::InspectorAgent::showAndEnableDebugger):
3845         (WebCore::InspectorAgent::enableDebugger):
3846         (WebCore::InspectorAgent::disableDebugger):
3847         (WebCore::InspectorAgent::resume):
3848         (WebCore::InspectorAgent::setAllBrowserBreakpoints):
3849         (WebCore::InspectorAgent::evaluateForTestInFrontend):
3850         (WebCore::InspectorAgent::didEvaluateForTestInFrontend):
3851         (WebCore::quadToPath):
3852         (WebCore::drawOutlinedQuad):
3853         (WebCore::drawOutlinedQuadWithClip):
3854         (WebCore::drawHighlightForBox):
3855         (WebCore::drawHighlightForLineBoxesOrSVGRenderer):
3856         (WebCore::convertFromFrameToMainFrame):
3857         (WebCore::frameToMainFrameOffset):
3858         (WebCore::InspectorAgent::drawNodeHighlight):
3859         (WebCore::InspectorAgent::drawElementTitle):
3860         (WebCore::InspectorAgent::openInInspectedWindow):
3861         (WebCore::InspectorAgent::addScriptToEvaluateOnLoad):
3862         (WebCore::InspectorAgent::removeAllScriptsToEvaluateOnLoad):
3863         (WebCore::InspectorAgent::setInspectorExtensionAPI):
3864         (WebCore::InspectorAgent::inspectedURL):
3865         (WebCore::InspectorAgent::reloadPage):
3866         (WebCore::InspectorAgent::setExtraHeaders):
3867         * inspector/InspectorAgent.h: Copied from Source/WebCore/inspector/InspectorController.h.
3868         (WebCore::InspectorAgent::inspectorBackendDispatcher):
3869         (WebCore::InspectorAgent::inspectorClient):
3870         (WebCore::InspectorAgent::injectedScriptHost):
3871         (WebCore::InspectorAgent::inspectedPage):
3872         (WebCore::InspectorAgent::hideDOMNodeHighlight):
3873         (WebCore::InspectorAgent::hideFrameHighlight):
3874         (WebCore::InspectorAgent::frontend):
3875         (WebCore::InspectorAgent::inspectorController):
3876         (WebCore::InspectorAgent::inspectorAgent):
3877         (WebCore::InspectorAgent::consoleAgent):
3878         (WebCore::InspectorAgent::cssAgent):
3879         (WebCore::InspectorAgent::domAgent):
3880         (WebCore::InspectorAgent::injectedScriptAgent):
3881         (WebCore::InspectorAgent::runtimeAgent):
3882         (WebCore::InspectorAgent::timelineAgent):
3883         (WebCore::InspectorAgent::databaseAgent):
3884         (WebCore::InspectorAgent::domStorageAgent):
3885         (WebCore::InspectorAgent::fileSystemAgent):
3886         (WebCore::InspectorAgent::browserDebuggerAgent):
3887         (WebCore::InspectorAgent::debuggerAgent):
3888         (WebCore::InspectorAgent::profilerAgent):
3889         (WebCore::InspectorAgent::applicationCacheAgent):
3890         (WebCore::InspectorAgent::hasInspectorFrontendClient):
3891         (WebCore::InspectorAgent::hasFrontend):
3892         (WebCore::InspectorAgent::startProfiling):
3893         (WebCore::InspectorAgent::stopProfiling):
3894         (WebCore::InspectorAgent::debuggerEnabled):
3895         (WebCore::InspectorAgent::state):
3896         (WebCore::InspectorAgent::settings):
3897         * inspector/InspectorApplicationCacheAgent.cpp:
3898         (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
3899         (WebCore::InspectorApplicationCacheAgent::getApplicationCaches):
3900         * inspector/InspectorApplicationCacheAgent.h:
3901         * inspector/InspectorBrowserDebuggerAgent.cpp:
3902         (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
3903         (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged):
3904         (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint):
3905         (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
3906         (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
3907         (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode):
3908         (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode):
3909         (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr):
3910         (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
3911         (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
3912         (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
3913         * inspector/InspectorBrowserDebuggerAgent.h:
3914         (WebCore::InspectorBrowserDebuggerAgent::create):
3915         * inspector/InspectorConsoleAgent.cpp:
3916         (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
3917         (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
3918         (WebCore::InspectorConsoleAgent::clearConsoleMessages):
3919         (WebCore::InspectorConsoleAgent::addMessageToConsole):
3920         (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest):
3921         (WebCore::InspectorConsoleAgent::didReceiveResponse):
3922         (WebCore::InspectorConsoleAgent::didFailLoading):
3923         (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled):
3924         (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
3925         (WebCore::InspectorConsoleAgent::addConsoleMessage):
3926         * inspector/InspectorConsoleAgent.h:
3927         * inspector/InspectorController.cpp:
3928         (WebCore::InspectorController::InspectorController):
3929         * inspector/InspectorController.h:
3930         * inspector/InspectorDatabaseAgent.cpp:
3931         * inspector/InspectorDebuggerAgent.cpp:
3932         (WebCore::InspectorDebuggerAgent::create):
3933         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
3934         (WebCore::InspectorDebuggerAgent::~InspectorDebuggerAgent):
3935         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
3936         (WebCore::InspectorDebuggerAgent::getCompletionsOnCallFrame):
3937         (WebCore::InspectorDebuggerAgent::currentCallFrames):
3938         * inspector/InspectorDebuggerAgent.h:
3939         * inspector/InspectorFileSystemAgent.cpp:
3940         (WebCore::InspectorFileSystemAgentCallbacks::didOpenFileSystem):
3941         (WebCore::InspectorFileSystemAgent::InspectorFileSystemAgent):
3942         (WebCore::InspectorFileSystemAgent::stop):
3943         (WebCore::InspectorFileSystemAgent::getFileSystemPathAsync):
3944         (WebCore::InspectorFileSystemAgent::didGetFileSystemPath):
3945         (WebCore::InspectorFileSystemAgent::didGetFileSystemError):
3946         * inspector/InspectorFileSystemAgent.h:
3947         (WebCore::InspectorFileSystemAgent::create):
3948         * inspector/InspectorFrontendHost.cpp:
3949         (WebCore::InspectorFrontendHost::setExtensionAPI):
3950         * inspector/InspectorProfilerAgent.cpp:
3951         (WebCore::InspectorProfilerAgent::create):
3952         (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
3953         (WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole):
3954         (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
3955         (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
3956         (WebCore::InspectorProfilerAgent::stopUserInitiatedProfiling):
3957         * inspector/InspectorProfilerAgent.h:
3958
3959 2011-01-22  Chris Rogers  <crogers@google.com>
3960
3961         Rubber-stamped by Anders Carlsson.
3962
3963         Fix FFTFrameStub to compile properly
3964         https://bugs.webkit.org/show_bug.cgi?id=52969
3965
3966         No new tests since this is a build fix.
3967
3968         * platform/audio/FFTFrameStub.cpp:
3969         (WebCore::FFTFrame::FFTFrame):
3970
3971 2011-01-22  Andrei Popescu  <andreip@google.com>
3972
3973         Reviewed by Jeremy Orlow.
3974
3975         IndexedDB corrupts data on disk
3976         https://bugs.webkit.org/show_bug.cgi?id=52890
3977
3978         We need to store the SerializedScriptValues on disk in a BLOB column rather than TEXT.
3979         Test: storage/indexeddb/data-corruption.html
3980
3981         * platform/sql/SQLiteStatement.cpp:
3982         (WebCore::SQLiteStatement::bindBlob):
3983         (WebCore::SQLiteStatement::getColumnBlobAsString):
3984         (WebCore::SQLiteStatement::getColumnBlobAsVector):
3985         * platform/sql/SQLiteStatement.h:
3986         * storage/IDBCursorBackendImpl.cpp:
3987         (WebCore::IDBCursorBackendImpl::loadCurrentRow):
3988         * storage/IDBFactoryBackendImpl.cpp:
3989         (WebCore::runCommands):
3990         (WebCore::createTables):
3991         (WebCore::createMetaDataTable):
3992         (WebCore::migrateDatabase):
3993         * storage/IDBObjectStoreBackendImpl.cpp:
3994         (WebCore::IDBObjectStoreBackendImpl::getInternal):
3995         (WebCore::putObjectStoreData):
3996
3997 2011-01-22  Nikolas Zimmermann  <nzimmermann@rim.com>
3998
3999         Not reviewed. Fix WinCE build.
4000
4001         * platform/graphics/wince/GraphicsContextWinCE.cpp:
4002         (WebCore::GraphicsContext::drawText):
4003         * rendering/RenderThemeWinCE.cpp:
4004         (WebCore::RenderThemeWinCE::adjustMenuListButtonStyle):
4005
4006 2011-01-22  Nikolas Zimmermann  <nzimmermann@rim.com>
4007
4008         Reviewed by Dirk Schulze.
4009
4010         REGRESSION: Vertical line metrics incorrect
4011         https://bugs.webkit.org/show_bug.cgi?id=52960
4012
4013         SimpleFontDataMac.mm contains a hack to modifiy lineGap/descent for the 'Hiragino' font.
4014         That didn't influence the lineSpacing so far, but does now, causing regressions.
4015
4016         Restore old line spacing behaviour to fix the regression.
4017         Covered by existing fast/blockflow, fast/repaint and fast/text/international test cases.
4018
4019         * platform/graphics/FontMetrics.h:
4020         (WebCore::FontMetrics::FontMetrics):
4021         (WebCore::FontMetrics::floatLineSpacing):
4022         (WebCore::FontMetrics::setLineSpacing):
4023         (WebCore::FontMetrics::lineSpacing):
4024         (WebCore::FontMetrics::reset):
4025         * platform/graphics/SimpleFontData.cpp:
4026         (WebCore::SimpleFontData::SimpleFontData):
4027         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
4028         (WebCore::SimpleFontData::platformInit):