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