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