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