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