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