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