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