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