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