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