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