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