2010-04-07 Sheriff Bot <webkit.review.bot@gmail.com>
[WebKit-https.git] / WebCore / ChangeLog
1 2010-04-07  Sheriff Bot  <webkit.review.bot@gmail.com>
2
3         Unreviewed, rolling out r57196.
4         http://trac.webkit.org/changeset/57196
5         https://bugs.webkit.org/show_bug.cgi?id=37196
6
7         Multiple layout test failures on Chromium (Requested by yurys
8         on #webkit).
9
10         * bindings/js/ScriptCallStack.cpp:
11         (WebCore::ScriptCallStack::callLocation):
12         * bindings/js/ScriptCallStack.h:
13         * bindings/v8/ScriptCallStack.cpp:
14         (WebCore::ScriptCallStack::create):
15         (WebCore::ScriptCallStack::callLocation):
16         (WebCore::ScriptCallStack::ScriptCallStack):
17         * bindings/v8/ScriptCallStack.h:
18         * bindings/v8/ScriptDebugServer.cpp:
19         * bindings/v8/ScriptDebugServer.h:
20         * bindings/v8/V8Proxy.cpp:
21         (WebCore::V8Proxy::createUtilityContext):
22         (WebCore::V8Proxy::sourceLineNumber):
23         (WebCore::V8Proxy::sourceName):
24         * bindings/v8/V8Proxy.h:
25         (WebCore::V8Proxy::utilityContext):
26         * inspector/TimelineRecordFactory.cpp:
27         (WebCore::TimelineRecordFactory::createGenericRecord):
28
29 2010-04-07  Simon Hausmann  <simon.hausmann@nokia.com>
30
31         Unreviewed, rolling out r57199.
32         http://trac.webkit.org/changeset/57199
33         https://bugs.webkit.org/show_bug.cgi?id=36750
34
35         Breaks non-touch enabled build
36
37         * dom/Document.idl:
38         * dom/Element.idl:
39         * page/DOMWindow.idl:
40
41 2010-04-07  Simon Hausmann  <simon.hausmann@nokia.com>
42
43         Reviewed by Laszlo Gombos.
44
45         https://bugs.webkit.org/show_bug.cgi?id=36750
46
47         [Qt] Package build without touch support is broken
48
49         Use the conditional attribute instead of #ifdefs in the idl file for the
50         touch specific properties, to make the generated files compile with and
51         without the touch events enabled.
52
53         * dom/Document.idl: Use conditional instead of #ifdef.
54         * dom/Element.idl: Ditto.
55         * page/DOMWindow.idl: Ditto.
56
57 2010-04-07  Jaime Yap  <jaimeyap@google.com>
58
59         Reviewed by Yury Semikhatsky.
60
61         Adds the ability to get the function symbol name when looking up the call location
62         for records sent by the InspectorTimelineAgent.
63         https://bugs.webkit.org/show_bug.cgi?id=36839
64
65         No new tests.
66
67         * bindings/js/ScriptCallStack.cpp:
68         (WebCore::ScriptCallStack::callLocation):
69         * bindings/js/ScriptCallStack.h:
70         * bindings/v8/ScriptCallStack.cpp:
71         (WebCore::ScriptCallStack::create):
72         (WebCore::ScriptCallStack::callLocation):
73         (WebCore::ScriptCallStack::ScriptCallStack):
74         * bindings/v8/ScriptCallStack.h:
75         * bindings/v8/ScriptDebugServer.cpp:
76         (WebCore::ScriptDebugServer::createUtilityContext):
77         (WebCore::ScriptDebugServer::lastCallFrame):
78         * bindings/v8/ScriptDebugServer.h:
79         (WebCore::ScriptDebugServer::utilityContext):
80         * bindings/v8/V8Proxy.cpp:
81         * bindings/v8/V8Proxy.h:
82         * inspector/TimelineRecordFactory.cpp:
83         (WebCore::TimelineRecordFactory::createGenericRecord):
84
85 2010-04-06  Greg Bolsinga  <bolsinga@apple.com>
86
87         Reviewed by Darin Adler.
88
89         https://bugs.webkit.org/show_bug.cgi?id=37188
90         WebCore::page::Geolocation::m_shouldClearCache is not used.
91
92         * page/Geolocation.cpp:
93         (WebCore::Geolocation::Geolocation): Remove m_shouldClearCache.
94         * page/Geolocation.h:
95         (WebCore::Geolocation::): Ditto.
96
97 2010-04-06  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
98
99         Reviewed by Eric Seidel.
100
101         Remove obsolete MOBILE flag
102         https://bugs.webkit.org/show_bug.cgi?id=37125
103
104         The MOBILE flag is no longer used by any of the ports.
105         The flag use to control some tokenizer defaults that 
106         can be changed runtime.
107
108         No new tests as there is no new functionality.
109
110         * config.h:
111         * html/HTMLTokenizer.cpp:
112
113 2010-04-06  Adam Barth  <abarth@webkit.org>
114
115         Reviewed by Eric Seidel.
116
117         REGRESSION: Worker termination via JS timeout may cause worker tests like fast/workers/worker-terminate.html fail.
118         https://bugs.webkit.org/show_bug.cgi?id=36646
119
120         Cause the worker code to swallow termination exceptions because these
121         need not be reported to the user because they are an implementation
122         detail of how we terminate worker execution.
123
124         Test: fast/workers/worker-terminate-forever.html
125
126         * bindings/js/JSDOMBinding.cpp:
127         (WebCore::reportException):
128             - Refuse to report termination exceptions to the user because they
129               are an implementation detail.
130         * bindings/js/WorkerScriptController.cpp:
131         (WebCore::WorkerScriptController::forbidExecution):
132             - Instead of using timeouts to stop run away workers, use our fancy
133               new Terminator object.
134
135 2010-04-06  Kinuko Yasuda  <kinuko@chromium.org>
136
137         Reviewed by Jian Li.
138
139         Add basic FileSystem operations for FileReader/FileWriter support for POSIX (incl. Mac)
140         https://bugs.webkit.org/show_bug.cgi?id=36938
141
142         No new tests; will be added when we implement upper layers.
143
144         * platform/FileSystem.h:
145         (WebCore::):
146         * platform/posix/FileSystemPOSIX.cpp:
147         (WebCore::openFile):
148         (WebCore::closeFile):
149         (WebCore::seekFile):
150         (WebCore::truncateFile):
151         (WebCore::writeToFile):
152         (WebCore::readFromFile):
153
154 2010-04-06  Nicolas Weber  <thakis@chromium.org>
155
156         Reviewed by Dimitri Glazkov.
157
158         Implement DragImage functionality for chromium/mac.
159         https://bugs.webkit.org/show_bug.cgi?id=37069
160
161         * page/chromium/DragControllerChromium.cpp:
162         (WebCore::DragController::maxDragImageSize):
163         Use a max size of 400x400 on OS X.
164         * platform/chromium/DragImageChromiumMac.cpp:
165         (WebCore::dragImageSize): Implement.
166         (WebCore::deleteDragImage): Implement.
167         (WebCore::scaleDragImage): Implement.
168         (WebCore::dissolveDragImageToFraction): Implement.
169         (WebCore::createDragImageFromImage): Implement.
170         * platform/chromium/DragImageRef.h:
171         Use CGImageRefs as DragImageRef on OS X.
172
173 2010-04-06  Chris Evans  <cevans@chromium.org>
174
175         Reviewed by Adam Barth.
176
177         Use the new UserGestureIndictor to process javascript:window.open()
178
179         https://bugs.webkit.org/show_bug.cgi?id=37138
180
181         * bindings/v8/ScriptController.cpp
182         (WebCore::ScriptController::processingUserGesture):
183           Use the new UserGestureIndicator when processing a
184           javascript:window.open()
185
186 2010-04-06  Vangelis Kokkevis  <vangelis@chromium.org>
187
188         Reviewed by Dimitri Glazkov.
189
190         Renaming Graphics Layer related classes used by Chromium from *Skia to *Chromium and replacing wherever possible Skia-specific
191         data types with WebCore equivalents. The source files will be renamed accordingly and moved out of platform/graphics/skia
192         in a subsequent CL.
193         https://bugs.webkit.org/show_bug.cgi?id=37116
194
195         No new functionality so no new tests.
196
197         * platform/graphics/GraphicsLayer.h:
198         * platform/graphics/skia/GraphicsLayerSkia.cpp:
199         (WebCore::setLayerBorderColor):
200         (WebCore::clearBorderColor):
201         (WebCore::setLayerBackgroundColor):
202         (WebCore::clearLayerBackgroundColor):
203         (WebCore::GraphicsLayer::create):
204         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
205         (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
206         (WebCore::GraphicsLayerChromium::setName):
207         (WebCore::GraphicsLayerChromium::nativeLayer):
208         (WebCore::GraphicsLayerChromium::setChildren):
209         (WebCore::GraphicsLayerChromium::addChild):
210         (WebCore::GraphicsLayerChromium::addChildAtIndex):
211         (WebCore::GraphicsLayerChromium::addChildBelow):
212         (WebCore::GraphicsLayerChromium::addChildAbove):
213         (WebCore::GraphicsLayerChromium::replaceChild):
214         (WebCore::GraphicsLayerChromium::removeFromParent):
215         (WebCore::GraphicsLayerChromium::setPosition):
216         (WebCore::GraphicsLayerChromium::setAnchorPoint):
217         (WebCore::GraphicsLayerChromium::setSize):
218         (WebCore::GraphicsLayerChromium::setTransform):
219         (WebCore::GraphicsLayerChromium::setChildrenTransform):
220         (WebCore::GraphicsLayerChromium::setPreserves3D):
221         (WebCore::GraphicsLayerChromium::setMasksToBounds):
222         (WebCore::GraphicsLayerChromium::setDrawsContent):
223         (WebCore::GraphicsLayerChromium::setBackgroundColor):
224         (WebCore::GraphicsLayerChromium::clearBackgroundColor):
225         (WebCore::GraphicsLayerChromium::setContentsOpaque):
226         (WebCore::GraphicsLayerChromium::setBackfaceVisibility):
227         (WebCore::GraphicsLayerChromium::setOpacity):
228         (WebCore::GraphicsLayerChromium::setNeedsDisplay):
229         (WebCore::GraphicsLayerChromium::setNeedsDisplayInRect):
230         (WebCore::GraphicsLayerChromium::setContentsRect):
231         (WebCore::GraphicsLayerChromium::setContentsToImage):
232         (WebCore::GraphicsLayerChromium::setContentsToVideo):
233         (WebCore::GraphicsLayerChromium::setGeometryOrientation):
234         (WebCore::GraphicsLayerChromium::hostLayerForSublayers):
235         (WebCore::GraphicsLayerChromium::layerForSuperlayer):
236         (WebCore::GraphicsLayerChromium::platformLayer):
237         (WebCore::GraphicsLayerChromium::setDebugBackgroundColor):
238         (WebCore::GraphicsLayerChromium::setDebugBorder):
239         (WebCore::GraphicsLayerChromium::updateSublayerList):
240         (WebCore::GraphicsLayerChromium::updateLayerPosition):
241         (WebCore::GraphicsLayerChromium::updateLayerSize):
242         (WebCore::GraphicsLayerChromium::updateAnchorPoint):
243         (WebCore::GraphicsLayerChromium::updateTransform):
244         (WebCore::GraphicsLayerChromium::updateChildrenTransform):
245         (WebCore::GraphicsLayerChromium::updateMasksToBounds):
246         (WebCore::GraphicsLayerChromium::updateContentsOpaque):
247         (WebCore::GraphicsLayerChromium::updateBackfaceVisibility):
248         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
249         (WebCore::GraphicsLayerChromium::updateLayerDrawsContent):
250         (WebCore::GraphicsLayerChromium::updateLayerBackgroundColor):
251         (WebCore::GraphicsLayerChromium::updateContentsImage):
252         (WebCore::GraphicsLayerChromium::updateContentsVideo):
253         (WebCore::GraphicsLayerChromium::updateContentsRect):
254         (WebCore::GraphicsLayerChromium::updateGeometryOrientation):
255         (WebCore::GraphicsLayerChromium::setupContentsLayer):
256         (WebCore::GraphicsLayerChromium::updateOpacityOnLayer):
257         * platform/graphics/skia/GraphicsLayerSkia.h:
258         (WebCore::GraphicsLayerChromium::primaryLayer):
259         (WebCore::GraphicsLayerChromium::contentsLayer):
260         * platform/graphics/skia/LayerRendererSkia.cpp:
261         (WebCore::LayerRendererChromium::create):
262         (WebCore::LayerRendererChromium::LayerRendererChromium):
263         (WebCore::LayerRendererChromium::~LayerRendererChromium):
264         (WebCore::LayerRendererChromium::updateLayerContents):
265         (WebCore::LayerRendererChromium::drawLayersInCanvas):
266         (WebCore::LayerRendererChromium::drawLayerInCanvasRecursive):
267         (WebCore::LayerRendererChromium::updateLayerContentsRecursive):
268         * platform/graphics/skia/LayerRendererSkia.h:
269         (WebCore::LayerRendererChromium::setRootLayer):
270         (WebCore::LayerRendererChromium::rootLayer):
271         * platform/graphics/skia/LayerSkia.cpp:
272         (WebCore::LayerChromium::create):
273         (WebCore::LayerChromium::LayerChromium):
274         (WebCore::LayerChromium::~LayerChromium):
275         (WebCore::LayerChromium::updateGraphicsContext):
276         (WebCore::LayerChromium::updateContents):
277         (WebCore::LayerChromium::drawDebugBorder):
278         (WebCore::LayerChromium::setNeedsCommit):
279         (WebCore::LayerChromium::addSublayer):
280         (WebCore::LayerChromium::insertSublayer):
281         (WebCore::LayerChromium::removeFromSuperlayer):
282         (WebCore::LayerChromium::removeSublayer):
283         (WebCore::LayerChromium::indexOfSublayer):
284         (WebCore::LayerChromium::setBackingStoreRect):
285         (WebCore::LayerChromium::setBounds):
286         (WebCore::LayerChromium::setFrame):
287         (WebCore::LayerChromium::rootLayer):
288         (WebCore::LayerChromium::removeAllSublayers):
289         (WebCore::LayerChromium::setSublayers):
290         (WebCore::LayerChromium::setSuperlayer):
291         (WebCore::LayerChromium::superlayer):
292         (WebCore::LayerChromium::setNeedsDisplay):
293         * platform/graphics/skia/LayerSkia.h:
294         (WebCore::LayerChromium::setAnchorPoint):
295         (WebCore::LayerChromium::anchorPoint):
296         (WebCore::LayerChromium::borderWidth):
297         (WebCore::LayerChromium::bounds):
298         (WebCore::LayerChromium::frame):
299         (WebCore::LayerChromium::setPosition):
300         (WebCore::LayerChromium::position):
301         (WebCore::LayerChromium::zPosition):
302         (WebCore::LayerChromium::getSublayers):
303         (WebCore::LayerChromium::setSublayerTransform):
304         (WebCore::LayerChromium::sublayerTransform):
305         (WebCore::LayerChromium::setTransform):
306         (WebCore::LayerChromium::transform):
307
308 2010-04-06  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
309
310         Reviewed by Laszlo Gombos.
311
312         [Qt] WebKit does not build on Windows with --3d-canvas
313         https://bugs.webkit.org/show_bug.cgi?id=37026
314
315         * platform/graphics/GraphicsContext3D.h:
316         * platform/graphics/qt/GraphicsContext3DQt.cpp:
317         (WebCore::GraphicsContext3D::getActiveAttrib):
318         (WebCore::GraphicsContext3D::getActiveUniform):
319
320 2010-04-06  Abhinav Mithal <abhinav.mithal@nokia.com>
321
322         Reviewed by Laszlo Gombos.
323
324         [Qt] npapi header leaves XP_WIN flag defined even when __SYMBIAN32__ flag is found
325         https://bugs.webkit.org/show_bug.cgi?id=34614
326
327         Do not define XP_WIN if WebKit is compiled for Symbian.
328
329         No new tests as there is no new functionality.
330
331         * bridge/npapi.h:
332
333 2010-04-06  Chris Fleizach  <cfleizach@apple.com>
334
335         Reviewed by Beth Dakin.
336
337         aria-label doesn't work on image map area
338         https://bugs.webkit.org/show_bug.cgi?id=36977
339
340         Test: platform/mac/accessibility/area-with-aria-label.html
341
342         * accessibility/AccessibilityImageMapLink.cpp:
343         (WebCore::AccessibilityImageMapLink::accessibilityDescription):
344
345 2010-04-06  James Robinson  <jamesr@chromium.org>
346
347         Reviewed by Simon Fraser.
348
349         Reverts the incorrect fixed position fastpath scrolling logic
350         https://bugs.webkit.org/show_bug.cgi?id=33150
351
352         This code does not properly handle overflow or transforms on fixed
353         position elements, causing repaint bugs on scroll.
354
355         No new tests.
356
357         * page/FrameView.cpp:
358         (WebCore::FrameView::addFixedObject):
359         (WebCore::FrameView::removeFixedObject):
360         * page/FrameView.h:
361         * platform/ScrollView.cpp:
362         (WebCore::ScrollView::scrollContents):
363         * platform/ScrollView.h:
364         * rendering/RenderObject.cpp:
365         (WebCore::RenderObject::styleWillChange):
366
367 2010-04-06  Kevin Ollivier  <kevino@theolliviers.com>
368
369         [wx] Build fix for wxMac / Cocoa on wx trunk.
370         
371         * platform/wx/wxcode/mac/carbon/fontprops.mm:
372         (wxFontContainsCharacters):
373
374 2010-04-06  Simon Hausmann  <simon.hausmann@nokia.com>
375
376         Reviewed by Darin Adler.
377
378         JS code generator does not support feature conditional attributes that are writable
379         https://bugs.webkit.org/show_bug.cgi?id=37149
380
381         Write out the feature #ifdef not only for the getter, but also for the setter
382         function.
383
384         * bindings/scripts/CodeGeneratorJS.pm:
385
386 2010-04-06  Evan Stade  <estade@chromium.org>
387
388         Reviewed by Dimitri Glazkov.
389
390         [chromium] need DragImage implementation
391         https://bugs.webkit.org/show_bug.cgi?id=35811
392
393         Use the DragImageRef that the DragController passes to us.
394
395         This was previously committed but rolled back for breaking layout
396         tests. The fix is on the WebKit/chromium side.
397
398         * WebCore.gyp/WebCore.gyp:
399         * WebCore.gypi:
400         * platform/chromium/DragImageChromium.cpp: Removed.
401         * platform/chromium/DragImageChromiumMac.cpp: Added.
402         (WebCore::dragImageSize):
403         (WebCore::deleteDragImage):
404         (WebCore::scaleDragImage):
405         (WebCore::dissolveDragImageToFraction):
406         (WebCore::createDragImageFromImage):
407         (WebCore::createDragImageIconForCachedImage):
408         * platform/chromium/DragImageChromiumSkia.cpp: Added.
409         (WebCore::dragImageSize):
410         (WebCore::deleteDragImage):
411         (WebCore::scaleDragImage):
412         (WebCore::dissolveDragImageToFraction):
413         (WebCore::createDragImageFromImage):
414         (WebCore::createDragImageIconForCachedImage):
415         * platform/chromium/DragImageRef.h:
416
417 2010-04-01  Yuzo Fujishima  <yuzo@google.com>
418
419         Reviewed by Darin Adler.
420
421         Fix bug: CSS3 :not selector with ID simple selector sequence test fails
422         As per http://www.w3.org/TR/css3-selectors/#negation, :not(X) takes a simple selector as an argument.
423         WebKit was accepting a simple selector *sequence*.
424         This patch adds WebCore::CSSSelector::isSimple which judges if the selector is simple.
425         The method is used in CSSGrammar.y to decide whether to accept the selector as the argument of :not().
426         https://bugs.webkit.org/show_bug.cgi?id=36276
427
428         Test: fast/css/invalid-not-with-simple-selector-sequence.html
429
430         * css/CSSGrammar.y:
431         * css/CSSSelector.cpp:
432         (WebCore::CSSSelector::isSimple):
433         * css/CSSSelector.h:
434
435 2010-04-06  Andy Estes  <aestes@apple.com>
436
437         Rubber-stamped by Dan Bernstein.
438
439         Remove non-ASCII characters from license headers to fix build errors on
440         Japanese Windows.
441
442         https://bugs.webkit.org/show_bug.cgi?id=37008
443
444         * dom/UserGestureIndicator.cpp:
445         * dom/UserGestureIndicator.h:
446
447 2010-04-06  Andrei Popescu  <andreip@google.com>
448
449         Reviewed by Dimitri Glazkov.
450
451         [V8][Android] PageCache crashes when JavaScript is disabled
452         https://bugs.webkit.org/show_bug.cgi?id=37150
453
454         This patch ensures that saving and restoration of the script
455         state only happens when JS is enabled and each frame has a
456         non-null context.
457
458         No new tests: existing tests show the feature is working
459         when JS is enabled. When JS is disabled, manual testing
460         is required.
461
462         * bindings/v8/ScriptCachedFrameData.cpp:
463         (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
464         (WebCore::ScriptCachedFrameData::restore):
465
466 2010-04-06  Ilya Tikhonovsky  <loislo@chromium.org>
467
468         Unreviewed build fix.
469
470         Web Inspector: missed files were added.
471
472
473         * GNUmakefile.am:
474         * bindings/js/ScriptGCEvent.h: Added.
475         (WebCore::ScriptGCEvent::addEventListener):
476         (WebCore::ScriptGCEvent::removeEventListener):
477         (WebCore::ScriptGCEvent::getHeapSize):
478         * bindings/v8/ScriptGCEvent.cpp: Added.
479         (WebCore::ScriptGCEvent::addEventListener):
480         (WebCore::ScriptGCEvent::removeEventListener):
481         (WebCore::ScriptGCEvent::getHeapSize):
482         (WebCore::ScriptGCEvent::getUsedHeapSize):
483         (WebCore::ScriptGCEvent::gcPrologueCallback):
484         (WebCore::ScriptGCEvent::gcEpilogueCallback):
485         * bindings/v8/ScriptGCEvent.h: Added.
486         * inspector/ScriptGCEventListener.h: Added.
487         (WebCore::ScriptGCEventListener::~ScriptGCEventListener):
488
489 2010-04-06  Ilya Tikhonovsky  <loislo@chromium.org>
490
491         Reviewed by Pavel Feldman.
492
493         Web Inspector: The JS code can be not optimal from memory usage point of view.
494         As example it can generate a lot of temp objects and GC will spend significant time to collect these objects.
495         GC event will show us these moments. Also each event can show us how much memory is in use.
496         https://bugs.webkit.org/show_bug.cgi?id=37025
497
498         * WebCore.gypi:
499         * WebCore.pro:
500         * inspector/InspectorTimelineAgent.cpp:
501         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
502         (WebCore::InspectorTimelineAgent::pushGCEventRecords):
503         (WebCore::InspectorTimelineAgent::didGC):
504         (WebCore::InspectorTimelineAgent::~InspectorTimelineAgent):
505         (WebCore::InspectorTimelineAgent::didInstallTimer):
506         (WebCore::InspectorTimelineAgent::didRemoveTimer):
507         (WebCore::InspectorTimelineAgent::willSendResourceRequest):
508         (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
509         (WebCore::InspectorTimelineAgent::didMarkTimeline):
510         (WebCore::InspectorTimelineAgent::addRecordToTimeline):
511         (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
512         (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
513         (WebCore::InspectorTimelineAgent::pushCurrentRecord):
514         * inspector/InspectorTimelineAgent.h:
515         (WebCore::):
516         (WebCore::InspectorTimelineAgent::instanceCount):
517         (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
518         (WebCore::InspectorTimelineAgent::GCEvent::GCEvent):
519         * inspector/TimelineRecordFactory.cpp:
520         (WebCore::TimelineRecordFactory::createGCEventData):
521         * inspector/TimelineRecordFactory.h:
522         * inspector/front-end/Popover.js:
523         (WebInspector.PopoverHelper.prototype._mouseHover):
524         * inspector/front-end/TimelineAgent.js:
525         * inspector/front-end/TimelinePanel.js:
526         (WebInspector.TimelinePanel.prototype.get _recordStyles):
527         (WebInspector.TimelinePanel.FormattedRecord):
528         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
529         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
530
531 2010-04-05  Antonio Gomes  <tonikitoo@webkit.org>
532
533         Reviewed by Laszlo Gombos.
534
535         Remove unused DIRECTIONAL_PAD_NAVIGATION
536         https://bugs.webkit.org/show_bug.cgi?id=37134
537
538         Android browser was planning to have a "directional pad navigation" available on
539         trunk, guarded by a build flag named DIRECTIONAL_PAD_NAVIGATION, but according to
540         https://bugs.webkit.org/show_bug.cgi?id=23145#c3 , the plan was dropped.
541
542         However bug 23163 landed some code relying on the build flag supposedly to be added,
543         and is now dead code in trunk.
544
545         * dom/Element.cpp:
546         (WebCore::Element::updateFocusAppearance):
547
548 2010-04-06  Mattias Nissler  <mnissler@chromium.org>
549
550         Reviewed by Pavel Feldman.
551
552         Rework inspector docking to issue a request call from the frontend
553         whenever the user triggers to (un)dock the inspector window. Doing so
554         enables InspectorFrontendHost implementations to asynchronously decide
555         whether the window is docked or not. The old canAttachWindow() is not
556         required anymore, remove it.
557         https://bugs.webkit.org/show_bug.cgi?id=36944
558
559         * inspector/InspectorFrontendClient.h:
560         * inspector/InspectorFrontendClientLocal.cpp:
561         (WebCore::InspectorFrontendClientLocal::requestAttachWindow):
562         * inspector/InspectorFrontendClientLocal.h:
563         * inspector/InspectorFrontendHost.cpp:
564         (WebCore::InspectorFrontendHost::requestAttachWindow):
565         * inspector/InspectorFrontendHost.h:
566         * inspector/InspectorFrontendHost.idl:
567         * inspector/front-end/inspector.js:
568         (WebInspector.toggleAttach):
569
570 2010-04-06  Vitaly Repeshko  <vitalyr@chromium.org>
571
572         Reviewed by Yury Semikhatsky.
573
574         [V8] Extend the set of types supported by SerializedScriptValue
575         https://bugs.webkit.org/show_bug.cgi?id=37052
576
577         New types include sparse arrays, Uint32, Date, and ImageData.
578
579         Serialization process became more flexible. A state can either
580         directly write primitive values (instead of returning them like
581         iterator) or construct a new state for serializing complex values
582         that will return to the current state when done.
583
584         Deserialization process now avoids exposing the tags using a set
585         of factory functions for complex objects instead.
586
587         Internal buffer type changed to uint8_t to be independent of
588         whether char is signed or not.
589
590         * bindings/v8/SerializedScriptValue.cpp:
591         (WebCore::):
592         (WebCore::Writer::Writer):
593         (WebCore::Writer::writeString):
594         (WebCore::Writer::writeUint32):
595         (WebCore::Writer::writeDate):
596         (WebCore::Writer::writeNumber):
597         (WebCore::Writer::writeImageData):
598         (WebCore::Writer::writeArray):
599         (WebCore::Writer::writeObject):
600         (WebCore::Writer::writeSparseArray):
601         (WebCore::Writer::doWriteUint32):
602         (WebCore::Writer::doWriteNumber):
603         (WebCore::Writer::append):
604         (WebCore::Writer::fillHole):
605         (WebCore::Writer::byteAt):
606         (WebCore::Serializer::Serializer):
607         (WebCore::Serializer::serialize):
608         (WebCore::Serializer::writeArray):
609         (WebCore::Serializer::writeObject):
610         (WebCore::Serializer::writeSparseArray):
611         (WebCore::Serializer::StateBase::StateBase):
612         (WebCore::Serializer::ErrorState::ErrorState):
613         (WebCore::Serializer::ErrorState::advance):
614         (WebCore::Serializer::State::composite):
615         (WebCore::Serializer::State::State):
616         (WebCore::Serializer::ArrayState::ArrayState):
617         (WebCore::Serializer::ArrayState::advance):
618         (WebCore::Serializer::AbstractObjectState::AbstractObjectState):
619         (WebCore::Serializer::AbstractObjectState::advance):
620         (WebCore::Serializer::ObjectState::ObjectState):
621         (WebCore::Serializer::ObjectState::objectDone):
622         (WebCore::Serializer::SparseArrayState::SparseArrayState):
623         (WebCore::Serializer::SparseArrayState::objectDone):
624         (WebCore::Serializer::push):
625         (WebCore::Serializer::pop):
626         (WebCore::Serializer::handleError):
627         (WebCore::Serializer::checkComposite):
628         (WebCore::Serializer::writeString):
629         (WebCore::Serializer::writeImageData):
630         (WebCore::Serializer::newArrayState):
631         (WebCore::Serializer::newObjectState):
632         (WebCore::Serializer::doSerialize):
633         (WebCore::Reader::Reader):
634         (WebCore::Reader::read):
635         (WebCore::Reader::readString):
636         (WebCore::Reader::readUint32):
637         (WebCore::Reader::readDate):
638         (WebCore::Reader::readNumber):
639         (WebCore::Reader::readImageData):
640         (WebCore::Reader::doReadUint32):
641         (WebCore::Reader::doReadNumber):
642         (WebCore::Deserializer::Deserializer):
643         (WebCore::Deserializer::createArray):
644         (WebCore::Deserializer::createObject):
645         (WebCore::Deserializer::createSparseArray):
646         (WebCore::Deserializer::initializeObject):
647         (WebCore::Deserializer::doDeserialize):
648         (WebCore::Deserializer::stackDepth):
649         (WebCore::SerializedScriptValue::deserialize):
650
651 2010-04-06  Csaba Osztrogon√°c  <ossy@webkit.org>
652
653         Unreviewed buildfix for --minimal build.
654         Buildfix after r57134. Add ENABLE(WORKERS) guard.
655
656         original bug: https://bugs.webkit.org/show_bug.cgi?id=36375
657
658         * bindings/js/JSWorkerContextErrorHandler.cpp:
659
660 2010-04-06  Dirk Schulze  <krit@webkit.org>
661
662         Reviewed by Oliver Hunt.
663
664         SVG/SMIL parse failure on attribute keySplines
665         https://bugs.webkit.org/show_bug.cgi?id=37071
666
667         Test: svg/animations/animate-keySplines.html
668
669         The String in 'keySplines' can have multiple spaces between numbers
670         and delimiters. The parsing code is inspired by SVGParserUtilities
671         and respects this.
672
673         * svg/SVGAnimationElement.cpp:
674         (WebCore::parseKeySplines):
675
676 2010-04-06  Yury Semikhatsky  <yurys@chromium.org>
677
678         Reviewed by Pavel Feldman.
679
680         Refactored error reporting mechanizm on Worker Global Objects.
681         Unlike other event listeners which accept single argument(Event)
682         onerror handler on worker global object should be a function
683         accepting three arguments. This error reporting was implementedas
684         EventListener::reportError method which had custom implementations
685         for v8 and JSC. This patch removes EventListener::reportError and
686         moves its functionality into custom bindings(V8WorkerContextErrorHandler
687         and JSWorkerContextErrorHandler) that implement EventListener inerface
688         for the onerror handler.
689
690         This patch also makes uncaught exceptions that happen in the onerror
691         listener be reported to the Worker's onerror handler.
692
693         https://bugs.webkit.org/show_bug.cgi?id=36375
694
695         * Android.jscbindings.mk:
696         * GNUmakefile.am:
697         * WebCore.gypi:
698         * WebCore.pro:
699         * WebCore.vcproj/WebCore.vcproj:
700         * WebCore.xcodeproj/project.pbxproj:
701         * bindings/js/JSBindingsAllInOne.cpp:
702         * bindings/js/JSEventListener.cpp:
703         * bindings/js/JSEventListener.h:
704         * bindings/js/JSWorkerContextErrorHandler.cpp: Added.
705         (WebCore::JSWorkerContextErrorHandler::JSWorkerContextErrorHandler):
706         (WebCore::JSWorkerContextErrorHandler::~JSWorkerContextErrorHandler):
707         (WebCore::JSWorkerContextErrorHandler::handleEvent):
708         * bindings/js/JSWorkerContextErrorHandler.h: Added.
709         (WebCore::JSWorkerContextErrorHandler::create):
710         (WebCore::createJSWorkerContextErrorHandler):
711         * bindings/scripts/CodeGeneratorJS.pm:
712         * bindings/scripts/CodeGeneratorV8.pm:
713         * bindings/v8/V8WorkerContextErrorHandler.cpp: Added.
714         (WebCore::V8WorkerContextErrorHandler::V8WorkerContextErrorHandler):
715         (WebCore::V8WorkerContextErrorHandler::callListenerFunction):
716         * bindings/v8/V8WorkerContextErrorHandler.h: Added.
717         (WebCore::V8WorkerContextErrorHandler::create):
718         * bindings/v8/V8WorkerContextEventListener.cpp:
719         * bindings/v8/V8WorkerContextEventListener.h:
720         * dom/EventListener.h:
721         * workers/WorkerContext.cpp:
722         (WebCore::WorkerContext::WorkerContext):
723         (WebCore::WorkerContext::reportException):
724         * workers/WorkerContext.h:
725
726 2010-04-06  Pavel Feldman  <pfeldman@chromium.org>
727
728         Not reviewed: reverting v8 change at r57079 for crashing Chromium layout tests.
729
730 2010-04-05  MORITA Hajime  <morrita@google.com>
731
732         Reviewed by Darin Adler.
733
734         RenderProgress.cpp is missing CurrentTime.h
735         https://bugs.webkit.org/show_bug.cgi?id=37080
736
737         No new tests. just fixed compilation error.
738
739         * rendering/RenderProgress.cpp:
740
741
742 2010-04-05  Eric Uhrhane  <ericu@chromium.org>
743
744         Reviewed by Brady Eidson.
745
746         window.openDatabase() always fails for new databases when using WebKit nightly with Safari 4.0.5
747         https://bugs.webkit.org/show_bug.cgi?id=36671
748
749         The previous "fix" I mistakenly compared hashes, an improvement over comparing pointers, but still not right.
750
751         No new tests.
752
753         * storage/DatabaseTracker.cpp:
754         (WebCore::DatabaseTracker::fullPathForDatabaseNoLock): Use SecurityOrigin::equal to compare instead of SecurityOriginHash.
755
756 2010-04-05  Anthony Ricaud  <rik@webkit.org>
757
758         Reviewed by Timothy Hatcher.
759
760         Web Inspector: Audits launcher view is unusable with a small height window
761         https://bugs.webkit.org/show_bug.cgi?id=37109
762
763         Use flex box instead of absolute positioning to avoid overlapping elements.
764
765         * inspector/front-end/AuditLauncherView.js:
766         (WebInspector.AuditLauncherView.prototype._createLauncherUI):
767         * inspector/front-end/audits.css:
768         (.audit-launcher-view .audit-launcher-view-content):
769         (.audit-launcher-view div.button-container):
770         (.audit-launcher-view .flexible-space):
771
772 2010-04-05  Luiz Agostini  <luiz.agostini@openbossa.org>
773
774         Reviewed by Kenneth Rohde Christiansen.
775
776         [Qt] Maemo5 theme - wrong spelling
777         https://bugs.webkit.org/show_bug.cgi?id=37110
778
779         Correcting wrong spelling in RenderThemeQt.cpp.
780
781         * platform/qt/RenderThemeQt.cpp:
782
783 2010-04-05  Leandro Pereira  <leandro@profusion.mobi>
784
785         Reviewed by Kenneth Rohde Christiansen.
786
787         Add EFL-specific code to platform/Platform*Event.h.
788         http://webkit.org/b/36309
789
790         * platform/PlatformWheelEvent.h:
791         * platform/PlatformMouseEvent.h:
792         * platform/PlatformKeyboardEvent.h:
793
794 2010-04-05  Leandro Pereira  <leandro@profusion.mobi>
795
796         Reviewed by Kenneth Rohde Christiansen.
797
798         Add EFL-specific code to platform/graphics/*.h.
799         http://webkit.org/b/36308
800
801         * platform/graphics/Icon.h:
802         * platform/graphics/IntRect.h:
803         * platform/graphics/FloatRect.h:
804         * platform/graphics/IntPoint.h:
805
806 2010-04-05  Robert Hogan  <robert@webkit.org>
807
808         Reviewed by Kenneth Rohde Christiansen.
809
810         [Qt] Fix infinite redirection loop in QNetworkReplyHandler
811
812         Put a maximum on consecutive redirections so we don't have to
813         worry about whether it's the same url or not.
814
815         Tolerate up to 10 consecutive redirections, anything beyond
816         that is considered a potentially infinite recursion in the
817         redirection requests. This is the same behaviour as Firefox.
818
819         https://bugs.webkit.org/show_bug.cgi?id=37097
820
821         * platform/network/qt/QNetworkReplyHandler.cpp:
822         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
823         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
824         * platform/network/qt/QNetworkReplyHandler.h:
825
826 2010-04-05  Dimitri Glazkov  <dglazkov@chromium.org> and James Robinson <jamesr@chromium.org>
827
828         Reviewed by Darin Adler and Dimitri Glazkov.
829
830         Style update done due to mutation event dispatching in textarea can be
831         used to corrupt the render tree.
832         https://bugs.webkit.org/show_bug.cgi?id=36864
833
834         Tests: fast/forms/select-change-listbox-to-popup-roundtrip.html
835                fast/forms/select-change-popup-to-listbox-roundtrip.html
836                fast/forms/textarea-and-mutation-events.html
837
838         * dom/Document.cpp:
839         (WebCore::Document::finishedParsing): Added updateStyleIfNeeded()
840             call to ensure that object loads start before firing window load.
841         * dom/Node.cpp:
842         (WebCore::Node::dispatchGenericEvent): Removed invocation of
843             Document::updateStyleForAllDocuments
844         * html/HTMLSelectElement.cpp:
845         (WebCore::HTMLSelectElement::parseMappedAttribute): Added explicit
846             recalc to ensure accuracy of representation, especially for
847             menuList/listBox switches.
848
849 2010-04-05  Antonio Gomes  <tonikitoo@webkit.org>
850
851         Reviewed by Laszlo Gombos.
852
853         Cleaned up spatial-navigation-test-cases.html by removing the wrongly
854         used <frameset> tag.
855
856         Patch also adds a manual-test specifically to test Spatial Navigation with framesets.
857
858         * manual-tests/spatial-navigation/frameset.html: Added.
859         * manual-tests/spatial-navigation/spatial-navigation-test-cases.html:
860
861 2010-04-05  Mark Rowe  <mrowe@apple.com>
862
863         Reviewed by Adele Peterson.
864
865         Roll out r56989 as it introduced crashes in Mail.
866         <http://webkit.org/b/37115> / <rdar://problem/7829331>
867
868         * dom/Position.cpp:
869         (WebCore::Position::isCandidate):
870         * dom/PositionIterator.cpp:
871         (WebCore::PositionIterator::isCandidate):
872
873 2010-04-05  Darin Adler  <darin@apple.com>
874
875         Reviewed by Sam Weinig.
876
877         Images must re-load when an image-holding element moves into a new document
878         https://bugs.webkit.org/show_bug.cgi?id=37127
879
880         Test: fast/images/move-image-to-new-document.html
881
882         * html/HTMLImageElement.cpp:
883         (WebCore::HTMLImageElement::willMoveToNewOwnerDocument): Call ImageLoader's
884         elementWillMoveToNewOwnerDocument function.
885         * html/HTMLImageElement.h: Added willMoveToNewOwnerDocument.
886         * html/HTMLInputElement.cpp:
887         (WebCore::HTMLInputElement::willMoveToNewOwnerDocument): Ditto.
888         * html/HTMLPlugInImageElement.cpp:
889         (WebCore::HTMLPlugInImageElement::willMoveToNewOwnerDocument): Ditto.
890         * html/HTMLPlugInImageElement.h: Ditto.
891         * html/HTMLVideoElement.cpp:
892         (WebCore::HTMLVideoElement::willMoveToNewOwnerDocument): Ditto.
893         * html/HTMLVideoElement.h: Ditto.
894         * svg/SVGImageElement.cpp:
895         (WebCore::SVGImageElement::willMoveToNewOwnerDocument): Ditto.
896         * svg/SVGImageElement.h: Ditto.
897
898         * html/HTMLMediaElement.h: Made willMoveToNewOwnerDocument protected
899         so it can be called by HTMLVideoElement.cpp.
900
901         * loader/ImageLoader.cpp:
902         (WebCore::ImageLoader::elementWillMoveToNewOwnerDocument): Added.
903         Resets the loader by clearing out the cached image.
904         * loader/ImageLoader.h: Added it.
905
906 2010-04-05  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
907
908         Reviewed by Kenneth Rohde Christiansen.
909
910         [Symbian] Consolidate Symbian WINSCW environment configuration
911         https://bugs.webkit.org/show_bug.cgi?id=37100
912
913         Move the "undefinition" of WIN32 and _WIN32 from WebCore/config.h
914         to JavaScriptCore/wtf/Platform.h as it is not specific to WebCore.
915
916         No new tests as there is no new functionality.
917
918         * config.h:
919
920 2010-04-05  Leandro Pereira  <leandro@profusion.mobi>
921
922         Reviewed by Kenneth Rohde Christiansen.
923
924         Add missing ClipboardEfl.h to platform/efl.
925         http://webkit.org/b/36242
926
927         * platform/efl/ClipboardEfl.h: Added.
928
929 2010-04-05  Yuta Kitamura  <yutak@chromium.org>
930
931         Reviewed by Darin Adler.
932
933         Escape control characters in CSS string value when it is serialilzed.
934
935         When WebKit serializes a CSS string value that contains binary characters
936         ('\0\1\2' for example), it did not escape these characters. As a result,
937         users got (invisible) control characters through scripts. This change fixes
938         this issue.
939
940         As a side effect, two separate codes for escaping CSS strings are merged, and
941         become a public function (quoteCSSString).
942
943         CSS string value is not correctly serialized when it contains binary characters
944         https://bugs.webkit.org/show_bug.cgi?id=28938
945
946         Test: fast/css/string-quote-binary.html
947
948         * css/CSSParser.cpp:
949         (WebCore::isCSSTokenizerIdentifier):
950         (WebCore::isCSSTokenizerURL):
951         (WebCore::quoteCSSString):
952         (WebCore::quoteCSSStringIfNeeded):
953         (WebCore::quoteCSSURLIfNeeded):
954         * css/CSSParser.h:
955         * css/CSSPrimitiveValue.cpp:
956         (WebCore::CSSPrimitiveValue::cssText):
957         * css/FontFamilyValue.cpp:
958         (WebCore::FontFamilyValue::cssText):
959
960 2010-04-05  John Gregg  <johnnyg@google.com>
961
962         Reviewed by Darin Adler.
963
964         Notifications should not resolve an empty icon parameter as a relative URL
965         https://bugs.webkit.org/show_bug.cgi?id=36862
966
967         * notifications/Notification.cpp:
968         (WebCore::Notification::Notification):
969
970 2010-04-05  Darin Adler  <darin@apple.com>
971
972         Reviewed by Mark Rowe.
973
974         Removed some unneeded type casts.
975
976         * css/CSSPrimitiveValue.cpp:
977         (WebCore::CSSPrimitiveValue::cssText): Removed an unneeded cast.
978         * page/Location.cpp:
979         (WebCore::Location::host): Removed unneeded parentheses and cast.
980         (WebCore::Location::port): Ditto.
981         * platform/KURLGoogle.cpp:
982         (WebCore::KURL::setPort): Ditto.
983         * workers/WorkerLocation.cpp:
984         (WebCore::WorkerLocation::host): Ditto.
985         (WebCore::WorkerLocation::port): Ditto.
986
987 2010-04-05  Sheriff Bot  <webkit.review.bot@gmail.com>
988
989         Unreviewed, rolling out r57081.
990         http://trac.webkit.org/changeset/57081
991         https://bugs.webkit.org/show_bug.cgi?id=37121
992
993         We think it triggered two tests to fail on Tiger because of
994         race conditions (Requested by abarth on #webkit).
995
996         * dom/Node.cpp:
997         (WebCore::Node::dispatchGenericEvent):
998         * html/HTMLSelectElement.cpp:
999         (WebCore::HTMLSelectElement::parseMappedAttribute):
1000
1001 2010-04-05  Brady Eidson  <beidson@apple.com>
1002
1003         Reviewed by Oliver Hunt.
1004
1005         ASSERT close()ing the same StorageAreaImpl twice when using multiple PageGroups
1006         <rdar://problem/7828420> and https://bugs.webkit.org/show_bug.cgi?id=37120
1007
1008         No new tests. (No behavior change)
1009
1010         * storage/StorageNamespaceImpl.cpp:
1011         (WebCore::StorageNamespaceImpl::close): Change this invalid ASSERT to an early return.
1012
1013 2010-04-05  Sheriff Bot  <webkit.review.bot@gmail.com>
1014
1015         Unreviewed, rolling out r57030.
1016         http://trac.webkit.org/changeset/57030
1017         https://bugs.webkit.org/show_bug.cgi?id=37114
1018
1019         Regressed fast/repaint/line-flow-with-floats-9 pixel tests in
1020         chromium port (Requested by jamesr on #webkit).
1021
1022         * rendering/RenderBlock.h:
1023         * rendering/RenderBlockLineLayout.cpp:
1024         (WebCore::RenderBlock::layoutInlineChildren):
1025
1026 2010-04-05  Alexey Proskuryakov  <ap@apple.com>
1027
1028         Reviewed by Darin Adler.
1029
1030         https://bugs.webkit.org/show_bug.cgi?id=37111
1031         <rdar://problem/7790327> Draw replacement text when plug-in host crashes
1032
1033         * page/mac/WebCoreViewFactory.h:
1034         * platform/LocalizedStrings.h:
1035         * platform/mac/LocalizedStringsMac.mm:
1036         * platform/gtk/LocalizedStringsGtk.cpp:
1037         * platform/qt/Localizations.cpp:
1038         * platform/wx/LocalizedStringsWx.cpp:
1039         Added a localizable string for plug-in failure (only used on Mac at the moment).
1040
1041         * WebCore.xcodeproj/project.pbxproj: Made RenderEmbeddedObject.h (and dependencies) private,
1042         since it's now used from WebKit.
1043
1044         * rendering/RenderEmbeddedObject.cpp:
1045         (WebCore::RenderEmbeddedObject::RenderEmbeddedObject):m Removed m_showsMissingPluginIndicator
1046         initializer.
1047         (WebCore::RenderEmbeddedObject::updateWidget): Check m_replacementText instead of the removed
1048         m_showsMissingPluginIndicator.
1049         (WebCore::RenderEmbeddedObject::setShowsMissingPluginIndicator): Load m_replacementText.
1050         (WebCore::RenderEmbeddedObject::setShowsCrashedPluginIndicator): Ditto.
1051         (WebCore::RenderEmbeddedObject::paint): Check m_replacementText instead of the removed
1052         m_showsMissingPluginIndicator.
1053         (WebCore::RenderEmbeddedObject::paintReplaced): Draw arbitrary text from m_replacementText
1054         insted of just "Missing Plug-in". Renamed constants and variables accordingly.
1055
1056         * rendering/RenderEmbeddedObject.h: Changed boolean for missing plug-in to a String holding
1057         actual replacement text.
1058
1059         * loader/FrameLoader.cpp: (WebCore::FrameLoader::loadPlugin): Adapted for the change in
1060         setShowsMissingPluginIndicator(), which no longer takes an argument.
1061
1062         * WebCore/WebCore.base.exp: Exported RenderEmbeddedObject::setShowsCrashedPluginIndicator().
1063
1064 2010-04-05  Chris Fleizach  <cfleizach@apple.com>
1065
1066         Reviewed by Darin Adler.
1067
1068         Bug 37040 - AX: need to send selected children change notification when aria-selected changed
1069         https://bugs.webkit.org/show_bug.cgi?id=37040
1070
1071         When aria-selected is changed in the DOM, it will trigger a selected children change notification. 
1072
1073         Test: platform/mac/accessibility/aria-listbox-selectedchildren-change.html
1074
1075         * accessibility/AXObjectCache.cpp:
1076         (WebCore::AXObjectCache::selectedChildrenChanged):
1077         * accessibility/AXObjectCache.h:
1078         * accessibility/AccessibilityMediaControls.cpp:
1079         (WebCore::AccessibilityMediaControl::controlType):
1080             Remove extra whitespace before comment (webkit-style).
1081         * accessibility/AccessibilityRenderObject.cpp:
1082         (WebCore::AccessibilityRenderObject::observableObject):
1083             Allowed a listBox to be an observable object.
1084         (WebCore::AccessibilityRenderObject::ariaRoleHasPresentationalChildren):
1085         (WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren):
1086             Updated and streamlined existing code.
1087         * dom/Element.cpp:
1088         (WebCore::Element::updateAfterAttributeChanged):
1089
1090 2010-04-05  Adam Treat  <atreat@rim.com>
1091
1092         Reviewed by Darin Adler.
1093
1094         Fix regression in pixel test for animated svg background images.
1095
1096         https://bugs.webkit.org/show_bug.cgi?id=37027
1097
1098         * svg/graphics/SVGImage.cpp:
1099         (WebCore::SVGImageChromeClient::invalidateContentsAndWindow):
1100
1101 2010-04-05  Robert Hogan  <robert@webkit.org>
1102
1103         Reviewed by Kenneth Rohde-Christiansen.
1104
1105         [Qt] Fix infinite redirection loop in QNetworkReplyHandler
1106
1107         Qt enters an infinite loop if a redirect response redirects to itself.
1108
1109         Fixes http/tests/xmlhttprequest/connection-error-sync.html
1110
1111         https://bugs.webkit.org/show_bug.cgi?id=37097
1112
1113         * platform/network/qt/QNetworkReplyHandler.cpp:
1114         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
1115
1116 2010-04-05  Yury Semikhatsky  <yurys@chromium.org>
1117
1118         Unreviewed, revert r57078.
1119
1120         * Android.jscbindings.mk:
1121         * GNUmakefile.am:
1122         * WebCore.gypi:
1123         * WebCore.pro:
1124         * WebCore.vcproj/WebCore.vcproj:
1125         * WebCore.xcodeproj/project.pbxproj:
1126         * bindings/js/JSEventListener.cpp:
1127         (WebCore::JSEventListener::reportError):
1128         * bindings/js/JSEventListener.h:
1129         * bindings/js/JSWorkerContextErrorHandler.cpp: Removed.
1130         * bindings/js/JSWorkerContextErrorHandler.h: Removed.
1131         * bindings/scripts/CodeGeneratorJS.pm:
1132         * bindings/scripts/CodeGeneratorV8.pm:
1133         * bindings/v8/V8WorkerContextErrorHandler.cpp: Removed.
1134         * bindings/v8/V8WorkerContextErrorHandler.h: Removed.
1135         * bindings/v8/V8WorkerContextEventListener.cpp:
1136         (WebCore::V8WorkerContextEventListener::reportError):
1137         * bindings/v8/V8WorkerContextEventListener.h:
1138         * dom/EventListener.h:
1139         (WebCore::EventListener::reportError):
1140         * workers/WorkerContext.cpp:
1141         (WebCore::WorkerContext::WorkerContext):
1142         (WebCore::WorkerContext::reportException):
1143         * workers/WorkerContext.h:
1144
1145 2010-04-05  Dimitri Glazkov  <dglazkov@chromium.org>
1146
1147         Reviewed by Darin Adler.
1148
1149         Style update done due to mutation event dispatching in textarea can be
1150         used to corrupt the render tree.
1151         https://bugs.webkit.org/show_bug.cgi?id=36864
1152
1153         Tests: fast/forms/select-change-listbox-to-popup-roundtrip.html
1154                fast/forms/select-change-popup-to-listbox-roundtrip.html
1155                fast/forms/textarea-and-mutation-events.html
1156
1157         * dom/Node.cpp:
1158         (WebCore::Node::dispatchGenericEvent): Removed invocation of
1159             Document::updateStyleForAllDocuments
1160         * html/HTMLSelectElement.cpp:
1161         (WebCore::HTMLSelectElement::parseMappedAttribute): Added explicit
1162             recalc to ensure accuracy of representation, especially for
1163             menuList/listBox switches.
1164
1165 2010-04-01  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1166
1167         Reviewed by Dave Hyatt.
1168
1169         iframe flattening doesn't flatten
1170         https://bugs.webkit.org/show_bug.cgi?id=36798
1171
1172         Fixed to the iframe flattening code so that the iframes on
1173         http://www.samisite.com/test-csb2nf/id43.htm are actually
1174         flattened.
1175
1176         Covered by current tests.
1177
1178         * page/FrameView.cpp: Propagate contents changes of iframes
1179         and subframes in framesets to the parent so that it is relayouted
1180         (WebCore::FrameView::setContentsSize):
1181         (WebCore::FrameView::adjustViewSize):
1182         (WebCore::FrameView::scheduleRelayout):
1183         * rendering/RenderPart.cpp: HTMLIFrameElement do not inherit from
1184         HTMLFrameElement, but HTMLFrameElementBase, correct cast. Correct
1185         the use of inset border values. Avoid a sometimes unnecessary
1186         relayout.
1187         (WebCore::RenderPart::layoutWithFlattening):
1188         * rendering/RenderPartObject.cpp: Make the calcHeight and calcWidth
1189         return the right values, considering scrolling and fixed width/height
1190         (WebCore::RenderPartObject::flattenFrame):
1191         (WebCore::RenderPartObject::calcHeight):
1192         (WebCore::RenderPartObject::calcWidth):
1193         (WebCore::RenderPartObject::layout):
1194
1195 2010-04-05  Vitaly Repeshko  <vitalyr@chromium.org>
1196
1197         Reviewed by Yury Semikhatsky.
1198
1199         [V8] Extend the set of types supported by SerializedScriptValue
1200         https://bugs.webkit.org/show_bug.cgi?id=37052
1201
1202         New types include sparse arrays, Uint32, Date, and ImageData.
1203
1204         Serialization process became more flexible. A state can either
1205         directly write primitive values (instead of returning them like
1206         iterator) or construct a new state for serializing complex values
1207         that will return to the current state when done.
1208
1209         Deserialization process now avoids exposing the tags using a set
1210         of factory functions for complex objects instead.
1211
1212         Internal buffer type changed to uint8_t to be independent of
1213         whether char is signed or not.
1214
1215         * bindings/v8/SerializedScriptValue.cpp:
1216         (WebCore::):
1217         (WebCore::Writer::Writer):
1218         (WebCore::Writer::writeString):
1219         (WebCore::Writer::writeUint32):
1220         (WebCore::Writer::writeDate):
1221         (WebCore::Writer::writeNumber):
1222         (WebCore::Writer::writeImageData):
1223         (WebCore::Writer::writeArray):
1224         (WebCore::Writer::writeObject):
1225         (WebCore::Writer::writeSparseArray):
1226         (WebCore::Writer::doWriteUint32):
1227         (WebCore::Writer::doWriteNumber):
1228         (WebCore::Writer::append):
1229         (WebCore::Writer::fillHole):
1230         (WebCore::Writer::byteAt):
1231         (WebCore::Serializer::Serializer):
1232         (WebCore::Serializer::serialize):
1233         (WebCore::Serializer::writeArray):
1234         (WebCore::Serializer::writeObject):
1235         (WebCore::Serializer::writeSparseArray):
1236         (WebCore::Serializer::StateBase::StateBase):
1237         (WebCore::Serializer::ErrorState::ErrorState):
1238         (WebCore::Serializer::ErrorState::advance):
1239         (WebCore::Serializer::State::composite):
1240         (WebCore::Serializer::State::State):
1241         (WebCore::Serializer::ArrayState::ArrayState):
1242         (WebCore::Serializer::ArrayState::advance):
1243         (WebCore::Serializer::AbstractObjectState::AbstractObjectState):
1244         (WebCore::Serializer::AbstractObjectState::advance):
1245         (WebCore::Serializer::ObjectState::ObjectState):
1246         (WebCore::Serializer::ObjectState::objectDone):
1247         (WebCore::Serializer::SparseArrayState::SparseArrayState):
1248         (WebCore::Serializer::SparseArrayState::objectDone):
1249         (WebCore::Serializer::push):
1250         (WebCore::Serializer::pop):
1251         (WebCore::Serializer::handleError):
1252         (WebCore::Serializer::checkComposite):
1253         (WebCore::Serializer::writeString):
1254         (WebCore::Serializer::writeImageData):
1255         (WebCore::Serializer::newArrayState):
1256         (WebCore::Serializer::newObjectState):
1257         (WebCore::Serializer::doSerialize):
1258         (WebCore::Reader::Reader):
1259         (WebCore::Reader::read):
1260         (WebCore::Reader::readString):
1261         (WebCore::Reader::readUint32):
1262         (WebCore::Reader::readDate):
1263         (WebCore::Reader::readNumber):
1264         (WebCore::Reader::readImageData):
1265         (WebCore::Reader::doReadUint32):
1266         (WebCore::Reader::doReadNumber):
1267         (WebCore::Deserializer::Deserializer):
1268         (WebCore::Deserializer::createArray):
1269         (WebCore::Deserializer::createObject):
1270         (WebCore::Deserializer::createSparseArray):
1271         (WebCore::Deserializer::initializeObject):
1272         (WebCore::Deserializer::doDeserialize):
1273         (WebCore::Deserializer::stackDepth):
1274         (WebCore::SerializedScriptValue::deserialize):
1275
1276 2010-04-05  Yury Semikhatsky  <yurys@chromium.org>
1277
1278         Reviewed by Pavel Feldman.
1279
1280         Refactored error reporting mechanizm on Worker Global Objects.
1281         Unlike other event listeners which accept single argument(Event)
1282         onerror handler on worker global object should be a function
1283         accepting three arguments. This error reporting was implementedas
1284         EventListener::reportError method which had custom implementations
1285         for v8 and JSC. This patch removes EventListener::reportError and
1286         moves its functionality into custom bindings(V8WorkerContextErrorHandler
1287         and JSWorkerContextErrorHandler) that implement EventListener inerface
1288         for the onerror handler.
1289
1290         This patch also makes uncaught exceptions that happen in the onerror
1291         listener be reported to the Worker's onerror handler.
1292
1293         https://bugs.webkit.org/show_bug.cgi?id=36375
1294
1295         * WebCore.gypi:
1296         * WebCore.pro:
1297         * WebCore.xcodeproj/project.pbxproj:
1298         * bindings/js/JSEventListener.cpp:
1299         * bindings/js/JSEventListener.h:
1300         * bindings/js/JSWorkerContextErrorHandler.cpp: Added.
1301         (WebCore::JSWorkerContextErrorHandler::JSWorkerContextErrorHandler):
1302         (WebCore::JSWorkerContextErrorHandler::~JSWorkerContextErrorHandler):
1303         (WebCore::JSWorkerContextErrorHandler::handleEvent):
1304         * bindings/js/JSWorkerContextErrorHandler.h: Added.
1305         (WebCore::JSWorkerContextErrorHandler::create):
1306         (WebCore::createJSWorkerContextErrorHandler):
1307         * bindings/scripts/CodeGeneratorJS.pm:
1308         * bindings/scripts/CodeGeneratorV8.pm:
1309         * bindings/v8/V8WorkerContextErrorHandler.cpp: Added.
1310         (WebCore::V8WorkerContextErrorHandler::V8WorkerContextErrorHandler):
1311         (WebCore::V8WorkerContextErrorHandler::callListenerFunction):
1312         * bindings/v8/V8WorkerContextErrorHandler.h: Added.
1313         (WebCore::V8WorkerContextErrorHandler::create):
1314         * bindings/v8/V8WorkerContextEventListener.cpp:
1315         * bindings/v8/V8WorkerContextEventListener.h:
1316         * dom/EventListener.h: Removed reportError method that was used only for reporting worker errors.
1317         * workers/WorkerContext.cpp:
1318         (WebCore::WorkerContext::WorkerContext):
1319         (WebCore::WorkerContext::reportException):
1320         * workers/WorkerContext.h:
1321
1322 2010-04-05  Antonio Gomes  <tonikitoo@webkit.org>
1323
1324         Reviewed by Darin Adler.
1325
1326         Fix some  "explicit braces to avoid ambiguous 'else'" warnings
1327         https://bugs.webkit.org/show_bug.cgi?id=37088
1328
1329         * dom/Node.cpp:
1330         (WebCore::Node::dispatchGenericEvent):
1331         * page/DOMWindow.cpp:
1332         (WebCore::DOMWindow::dispatchEvent):
1333
1334 2010-04-05  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1335
1336         Reviewed by Kenneth Rohde Christiansen.
1337
1338         Consolidate the definition of SKIP_STATIC_CONSTRUCTORS_ON_GCC
1339
1340         Instead of defining and undefining it later, let's not
1341         define SKIP_STATIC_CONSTRUCTORS_ON_GCC for WINSCW.
1342
1343         No new tests as there is no new functionality.
1344
1345         * config.h:
1346
1347 2010-04-05  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1348
1349         Reviewed by Kenneth Rohde Christiansen.
1350
1351         [Qt] [Symbian] Remove obsolete build flags for Symbian
1352         https://bugs.webkit.org/show_bug.cgi?id=37083
1353
1354         Symbian port of QtWebKit port does not use icu, so it does 
1355         not need U_HAVE_* defines.
1356
1357         Symbian now has inttypes.h as part of OpenC.
1358
1359         stdio.h, limits.h and MathExtras.h are already included in
1360         more appropriate locations.
1361
1362         No new tests as there is no new functionality.
1363
1364         * config.h:
1365
1366 2010-04-05  Pavel Feldman  <pfeldman@chromium.org>
1367
1368         Not reviewed: chromium build fix.
1369
1370         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
1371         (WebCore::V8InspectorFrontendHost::platformCallback):
1372         (WebCore::V8InspectorFrontendHost::portCallback):
1373
1374 2010-04-05  Pavel Feldman  <pfeldman@chromium.org>
1375
1376         Reviewed by Yury Semikhatsky.
1377
1378         Web Inspector: [REGRESSION] platform detection in Chromium
1379         has regressed to unknown.
1380
1381         https://bugs.webkit.org/show_bug.cgi?id=37081
1382
1383         * bindings/js/JSInspectorFrontendHostCustom.cpp:
1384         (WebCore::JSInspectorFrontendHost::platform):
1385         (WebCore::JSInspectorFrontendHost::port):
1386         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
1387         (WebCore::V8InspectorFrontendHost::platform):
1388         (WebCore::V8InspectorFrontendHost::port):
1389         * inspector/InspectorFrontendHost.cpp:
1390         * inspector/InspectorFrontendHost.h:
1391         * inspector/InspectorFrontendHost.idl:
1392
1393 2010-04-05  Andrey Kosyakov  <caseq@chromium.org>
1394
1395         Reviewed by Yury Semikhatsky.
1396
1397         Remove logging of successful XHR and worker's importScript()
1398         to inspector console
1399         https://bugs.webkit.org/show_bug.cgi?id=37078
1400
1401         * bindings/js/JSWorkerContextCustom.cpp:
1402         (WebCore::JSWorkerContext::importScripts):
1403         * bindings/v8/custom/V8WorkerContextCustom.cpp:
1404         (WebCore::V8WorkerContext::importScriptsCallback):
1405         * workers/DedicatedWorkerContext.cpp:
1406         (WebCore::DedicatedWorkerContext::importScripts):
1407         * workers/DedicatedWorkerContext.h:
1408         * workers/WorkerContext.cpp:
1409         (WebCore::WorkerContext::importScripts):
1410         * workers/WorkerContext.h:
1411         * xml/XMLHttpRequest.cpp:
1412         (WebCore::XMLHttpRequest::didFinishLoading):
1413
1414 2010-04-04  Pavel Feldman  <pfeldman@chromium.org>
1415
1416         Not reviewed. Rolling out chromium changes r57028 and r57032
1417         for breaking chromium layout tests.
1418
1419         * WebCore.gyp/WebCore.gyp:
1420         * WebCore.gypi:
1421         * platform/chromium/DragImageChromium.cpp: Added.
1422         (WebCore::dragImageSize):
1423         (WebCore::deleteDragImage):
1424         (WebCore::scaleDragImage):
1425         (WebCore::dissolveDragImageToFraction):
1426         (WebCore::createDragImageFromImage):
1427         (WebCore::createDragImageIconForCachedImage):
1428         * platform/chromium/DragImageChromiumMac.cpp: Removed.
1429         * platform/chromium/DragImageChromiumSkia.cpp: Removed.
1430         * platform/chromium/DragImageRef.h:
1431
1432 2010-03-29  Antonio Gomes  <tonikitoo@webkit.org>
1433
1434         Reviewed by Simon Fraser.
1435         Patch by Antonio Gomes <tonikitoo@webkit.org>
1436
1437         Spatial Navigation: Initial code simplification in FocusController.cpp and SpatialNavigation.cpp
1438
1439         WebCore::distanceInDirection method was handling much of the logic not
1440         strictly only related to the distance between nodes acquisition. This
1441         method was simplified and renamed to 'WebCore::distanceDataForNode'.
1442         The latter is now responsible for only getting the distance and alignment
1443         data, while all assignement logic previously in distanceInDirection method
1444         was moved place to updateFocusCandidateIfCloser.
1445
1446         Parent document distance and alignment acquisitions, in turn, have also
1447         changed location: they are both got from deepFindFocusableNodeInDirection,
1448         and passed in a recursive call to findFocusableNodeInDirection via the
1449         candidateParent variable (optional parameter). In addition, the need for
1450         the 'focusCandidateCopy' variable in deepFindFocusableNodeInDirection method
1451         was removed, making the code much cleaner.
1452
1453         No behaviour change at this point. Mostly moving code around to the place
1454         where it should live in.
1455
1456         * page/FocusController.cpp:
1457         (WebCore::FocusController::advanceFocusDirectionally):
1458         (WebCore::updateFocusCandidateIfCloser):
1459         (WebCore::FocusController::findFocusableNodeInDirection):
1460         (WebCore::FocusController::deepFindFocusableNodeInDirection):
1461         * page/FocusController.h:
1462         * page/SpatialNavigation.cpp:
1463         (WebCore::distanceDataForNode):
1464         (WebCore::renderRectRelativeToRootDocument):
1465         * page/SpatialNavigation.h:
1466
1467 2010-04-04  Pavel Feldman  <pfeldman@chromium.org>
1468
1469         Reviewed by Timothy Hatcher.
1470
1471         Web Inspector: In the inherited styles, do not render non-inherited properties as overriden.
1472
1473         https://bugs.webkit.org/show_bug.cgi?id=37072
1474
1475         * inspector/front-end/StylesSidebarPane.js:
1476         (WebInspector.StylePropertiesSection.prototype.isPropertyOverloaded):
1477
1478 2010-04-03  yael aharon  <yael.aharon@nokia.com>
1479
1480         Reviewed by Darin Adler.
1481
1482         Enable HTMLProgressElement for Safari on OSX
1483         https://bugs.webkit.org/show_bug.cgi?id=36961
1484
1485         * Configurations/FeatureDefines.xcconfig:
1486         * WebCore.xcodeproj/project.pbxproj:
1487         * rendering/RenderThemeMac.h:
1488         * rendering/RenderThemeMac.mm:
1489         (WebCore::RenderThemeMac::animationRepeatIntervalForProgressBar):
1490         (WebCore::RenderThemeMac::animationDurationForProgressBar):
1491         (WebCore::RenderThemeMac::adjustProgressBarStyle):
1492         (WebCore::RenderThemeMac::paintProgressBar):
1493
1494 2010-04-03  Jakub Wieczorek  <jwieczorek@webkit.org>
1495
1496         Unreviewed.
1497
1498         Fix debug build with GCC >= 4.3.
1499
1500         * platform/graphics/GraphicsLayer.cpp: Include stdio.h explicitly.
1501
1502 2010-04-03  Kenneth Russell  <kbr@google.com>
1503
1504         Reviewed by Darin Fisher.
1505
1506         Inconsistent failure modes from uniform[Matrix]* with null WebGLUniformLocation
1507         https://bugs.webkit.org/show_bug.cgi?id=36574
1508
1509         Fixed bugs in JavaScript bindings for uniform[Matrix]* entry
1510         points causing them to throw exceptions rather than synthesize GL
1511         errors. Fixed the implementations to synthesize INVALID_VALUE
1512         rather than INVALID_OPERATION to comply to the WebGL spec. Updated
1513         uniform-location-expected.txt to incorporate the correct error.
1514         Tested in Safari and Chromium.
1515
1516         Test: fast/canvas/webgl/null-uniform-location.html
1517
1518         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
1519         (WebCore::V8WebGLRenderingContext::getUniformCallback):
1520         (WebCore::vertexAttribAndUniformHelperf):
1521         (WebCore::uniformHelperi):
1522         (WebCore::uniformMatrixHelper):
1523         * html/canvas/WebGLRenderingContext.cpp:
1524         (WebCore::WebGLRenderingContext::uniform1f):
1525         (WebCore::WebGLRenderingContext::uniform1fv):
1526         (WebCore::WebGLRenderingContext::uniform1i):
1527         (WebCore::WebGLRenderingContext::uniform1iv):
1528         (WebCore::WebGLRenderingContext::uniform2f):
1529         (WebCore::WebGLRenderingContext::uniform2fv):
1530         (WebCore::WebGLRenderingContext::uniform2i):
1531         (WebCore::WebGLRenderingContext::uniform2iv):
1532         (WebCore::WebGLRenderingContext::uniform3f):
1533         (WebCore::WebGLRenderingContext::uniform3fv):
1534         (WebCore::WebGLRenderingContext::uniform3i):
1535         (WebCore::WebGLRenderingContext::uniform3iv):
1536         (WebCore::WebGLRenderingContext::uniform4f):
1537         (WebCore::WebGLRenderingContext::uniform4fv):
1538         (WebCore::WebGLRenderingContext::uniform4i):
1539         (WebCore::WebGLRenderingContext::uniform4iv):
1540         (WebCore::WebGLRenderingContext::uniformMatrix2fv):
1541         (WebCore::WebGLRenderingContext::uniformMatrix3fv):
1542         (WebCore::WebGLRenderingContext::uniformMatrix4fv):
1543
1544 2010-04-02  Andy Estes  <aestes@apple.com>
1545
1546         Reviewed by Adam Barth.
1547
1548         The previous mechanism for testing whether an event was due to a user
1549         gesture only checked the event type, not the source of the event.  This
1550         allowed scripts to defeat popup blocking by programatically emitting
1551         certain types of events.
1552
1553         Change the user gesture detection to check for a flag that is only set
1554         when the event in question was generated through the platform and not
1555         through the DOM.
1556
1557         https://bugs.webkit.org/show_bug.cgi?id=37008
1558
1559         Tests: fast/events/popup-allowed-from-gesture-initiated-event.html
1560                fast/events/popup-blocked-from-fake-button-click.html
1561                fast/events/popup-blocked-from-fake-focus.html
1562
1563         * Android.mk: Add UserGestureIndicator.{cpp, h}.
1564         * GNUmakefile.am: Same.
1565         * WebCore.gypi: Same.
1566         * WebCore.pro: Same.
1567         * WebCore.vcproj/WebCore.vcproj: Same.
1568         * WebCore.xcodeproj/project.pbxproj: Same.
1569         * bindings/v8/ScriptController.cpp:
1570         (WebCore::ScriptController::processingUserGesture): Check the value of
1571         UserGesureIndicator::processingUserGesture().
1572         * dom/Document.cpp:
1573         (WebCore::Document::createEvent): Remove call to
1574         Event::setCreatedByDOM().
1575         * dom/Event.cpp:
1576         (WebCore::Event::Event): Remove initializers for m_createdByDOM.
1577         (WebCore::Event::fromUserGesture): Check the value of
1578         UserGestureIndicator::processingUserGesture().
1579         * dom/Event.h: Remove m_createdByDOM.
1580         * dom/UserGestureIndicator.cpp: Added.
1581         (WebCore::UserGestureIndicator::UserGestureIndicator): Save the previous
1582         value of s_processingUserGesture before setting it to true.
1583         (WebCore::UserGestureIndicator::~UserGestureIndicator): Restore
1584         s_processingUserGesture to its previous value.
1585         * dom/UserGestureIndicator.h: Added.
1586         (WebCore::UserGestureIndicator::processingUserGesture): Return the value
1587         of s_processingUserGesture.
1588         * page/EventHandler.cpp:
1589         (WebCore::EventHandler::handleMousePressEvent): Instantiate a
1590         UserGestureIndicator object on the stack to indicate a user gesture is
1591         being processed.
1592         (WebCore::EventHandler::handleMouseDoubleClickEvent): Same.
1593         (WebCore::EventHandler::handleMouseReleaseEvent): Same.
1594         (WebCore::EventHandler::keyEvent): Same.
1595         (WebCore::EventHandler::handleTouchEvent): Same.
1596
1597 2010-04-02  Justin Schuh  <jschuh@chromium.org>
1598
1599         Reviewed by Alexey Proskuryakov.
1600
1601         XHR allows arbitrary XSRF across domains 
1602         https://bugs.webkit.org/show_bug.cgi?id=36843
1603
1604         Added a one-line change to prevent bypassing the XDC check on
1605         synchronous preflighted requests. Added layout tests to cover
1606         variations of this problem.
1607
1608         Tests: http/tests/xmlhttprequest/access-control-preflight-async-header-denied.html
1609                http/tests/xmlhttprequest/access-control-preflight-async-method-denied.html
1610                http/tests/xmlhttprequest/access-control-preflight-sync-header-denied.html
1611                http/tests/xmlhttprequest/access-control-preflight-sync-method-denied.html
1612
1613         * loader/DocumentThreadableLoader.cpp:
1614         (WebCore::DocumentThreadableLoader::preflightFailure):
1615
1616 2010-04-02  Nayan Kumar K  <nayankk@gmail.com>
1617
1618         Reviewed by Eric Seidel.
1619
1620         Fix for WML enabled build failure.
1621
1622         https://bugs.webkit.org/show_bug.cgi?id=36648
1623
1624         * wml/WMLOptionElement.cpp:
1625         (WebCore::WMLOptionElement::disabled):
1626         * wml/WMLOptionElement.h:
1627         * wml/WMLSelectElement.cpp:
1628         (WebCore::WMLSelectElement::listBoxSelectItem):
1629         * wml/WMLSelectElement.h:
1630
1631 2010-04-02  MORITA Hajime  <morrita@google.com>
1632
1633         Reviewed by Alexey Proskuryakov.
1634
1635         https://bugs.webkit.org/show_bug.cgi?id=37011
1636         Position::primaryDirection() should not use its own accessor.
1637
1638         No new tests. This is small clenaup with no behaviour change.
1639
1640         * dom/Position.cpp:
1641         (WebCore::Position::primaryDirection):
1642
1643 2010-04-02  Eric Uhrhane  <ericu@chromium.org>
1644
1645         Reviewed by Brady Eidson.
1646
1647         window.openDatabase() always fails for new databases when using WebKit nightly with Safari 4.0.5.  This is caused by a SecurityOrigin pointer comparison that I should have switched to be a hash comparison in r56293 [bug 34991].
1648         https://bugs.webkit.org/show_bug.cgi?id=36671
1649
1650         No new tests.  Requires testing on Safari on Windows.
1651
1652         * storage/DatabaseTracker.cpp:
1653         (WebCore::DatabaseTracker::fullPathForDatabaseNoLock): Convert a pointer comparison to use SecurityOriginHash::hash() instead, and move it to the end of the clause for speed in the easy-out case.
1654
1655 2010-04-02  Michael Nordman  <michaeln@google.com>
1656
1657         Reviewed by Nate Chapin.
1658
1659         Set the close policy used by the DatabaseCloseTask in a constructor argument
1660         instead of hard coding it.
1661         https://bugs.webkit.org/show_bug.cgi?id=37037
1662
1663         No new tests, new new functionality.
1664
1665         * storage/Database.cpp: This callsite passes in DoNotRemoveFromDatabaseContext to retain its current behavior.
1666         (WebCore::Database::markAsDeletedAndClose):
1667         * storage/DatabaseTask.cpp:
1668         (WebCore::DatabaseCloseTask::DatabaseCloseTask):
1669         (WebCore::DatabaseCloseTask::doPerformTask):
1670         * storage/DatabaseTask.h:
1671         (WebCore::DatabaseCloseTask::create):
1672
1673 2010-04-02  James Robinson  <jamesr@chromium.org>
1674
1675         Reviewed by Simon Fraser.
1676
1677         Remove an ASSERT that sometimes flakes due to time dependent animations
1678         https://bugs.webkit.org/show_bug.cgi?id=37048
1679
1680         The outline repaint rectangle for a layer might change between two calls
1681         if there are animations involved, even if nothing in the DOM has actually
1682         changed between the calls.
1683
1684         No change in behavior, no new tests.
1685
1686         * rendering/RenderLayer.cpp:
1687         (WebCore::RenderLayer::updateLayerPositions):
1688
1689 2010-04-02  Evan Stade  <estade@chromium.org>
1690
1691         Reviewed by Adam Barth.
1692
1693         [chromium] need DragImage implementation
1694         https://bugs.webkit.org/show_bug.cgi?id=35811
1695
1696         Add two files that failed to get added in my previous patch.
1697
1698         * platform/chromium/DragImageChromiumMac.cpp: Added.
1699         (WebCore::dragImageSize):
1700         (WebCore::deleteDragImage):
1701         (WebCore::scaleDragImage):
1702         (WebCore::dissolveDragImageToFraction):
1703         (WebCore::createDragImageFromImage):
1704         (WebCore::createDragImageIconForCachedImage):
1705         * platform/chromium/DragImageChromiumSkia.cpp: Added.
1706         (WebCore::dragImageSize):
1707         (WebCore::deleteDragImage):
1708         (WebCore::scaleDragImage):
1709         (WebCore::dissolveDragImageToFraction):
1710         (WebCore::createDragImageFromImage):
1711         (WebCore::createDragImageIconForCachedImage):
1712
1713 2010-04-02  Jer Noble  <jer.noble@apple.com>
1714
1715         Reviewed by Eric Carlson.
1716
1717         Configure multi-language movies: when QuickTime has sufficiently loaded
1718         the movie, call into wkQTMovieSelectPreferredAlternates to select the
1719         movie's alternate tracks according to the user's language preferences.
1720
1721         https://bugs.webkit.org/show_bug.cgi?id=36624
1722
1723         * WebCore.base.exp:
1724         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 
1725         (WebCore::MediaPlayerPrivate::updateStates): If the movie is sufficiently loaded,
1726         call wkQTMovieSelectPreferredAlternates to set up the alternate tracks.
1727         * platform/mac/WebCoreSystemInterface.h: Declare WKQTMovieSelectPreferredAlternates.
1728         * platform/mac/WebCoreSystemInterface.mm: Add WKQTMovieSelectPreferredAlternates.
1729
1730 2010-04-02  James Robinson  <jamesr@chromium.org>
1731
1732         Reviewed by Darin Adler.
1733
1734         Splits RenderBlock::layoutInline into smaller functions
1735         https://bugs.webkit.org/show_bug.cgi?id=36921
1736
1737         RenderBlock::layoutInlineChildren is 351 lines long and very difficult
1738         to comprehend or edit safely. This patch splits it up into a few
1739         slightly smaller functions.  Most of the code is now in the 241 line
1740         layoutRunsAndFloats() which is a slight improvement.
1741
1742         Perf neutral on the page cyclers.  This doesn't introduce any function
1743         calls into the hottest layout paths inside layoutRunsAndFloats and
1744         findNextLineBreak.
1745
1746         No change in behavior, no new tests.
1747
1748         * rendering/RenderBlock.h:
1749         (WebCore::RenderBlock::FloatWithRect::FloatWithRect):
1750         * rendering/RenderBlockLineLayout.cpp:
1751         (WebCore::RenderBlock::layoutReplacedElements):
1752         (WebCore::RenderBlock::createLineBoxesForResolver):
1753         (WebCore::RenderBlock::layoutRunsAndFloats):
1754         (WebCore::RenderBlock::layoutInlineChildren):
1755
1756 2010-04-02  Evan Stade  <estade@chromium.org>
1757
1758         Reviewed by Eric Seidel.
1759
1760         [chromium] need DragImage implementation
1761         https://bugs.webkit.org/show_bug.cgi?id=35811
1762
1763         Basic implementation using SkBitmap. Transformations are not supported
1764         yet. No implementation for mac.
1765
1766         * WebCore.gyp/WebCore.gyp:
1767         * WebCore.gypi:
1768         * platform/chromium/DragImageChromium.cpp:
1769         * platform/chromium/DragImageRef.h:
1770
1771 2010-04-02  Evan Martin  <evan@chromium.org>
1772
1773         Reviewed by Eric Seidel.
1774
1775         [chromium] font fallback for generic fonts picks wrong font
1776         https://bugs.webkit.org/show_bug.cgi?id=37033
1777
1778         When a page specifies the generic "monospace" font and the user's
1779         browser-configured monospace font doesn't exist, we previously relied
1780         on getLastResortFallbackFont to eventually pick a monospace font for us.
1781
1782         But that doesn't quite work: WebKit first falls back to the user's
1783         "preferred standard font" before hitting the last resort code path.
1784         So if the above conditions hold but this font exists, we'll end up
1785         never hitting the last resort codepath.
1786
1787         The fix is to allow OS-level font fallback when first attempting to
1788         resolve monospace.  The existing code tried to do this, but the logic
1789         was wrong.  We would eventually fall back to the correct font anyway
1790         so we didn't notice the logic was wrong.
1791
1792         This code is all handling cases where particular fonts aren't installed,
1793         so I can't think of a way to test it; existing tests should still pass.
1794
1795         * platform/graphics/chromium/FontCacheLinux.cpp:
1796         (WebCore::FontCache::createFontPlatformData):
1797
1798 2010-04-02  Andrew Scherkus  <scherkus@chromium.org>
1799
1800         Reviewed by Eric Carlson and Eric Seidel.
1801
1802         Don't stop the playback event timer when media resource loading has suspended.
1803         https://bugs.webkit.org/show_bug.cgi?id=37003
1804
1805         When a user agent decides to suspend media resource loading and enters the
1806         NETWORK_IDLE state we are supposed to only stop the progress event timer but
1807         keep the playback timer running.
1808
1809         Test: http/tests/media/video-play-suspend.html
1810
1811         * html/HTMLMediaElement.cpp:
1812         (WebCore::HTMLMediaElement::setNetworkState): Only stop the progress event timer.
1813
1814 2010-04-02  Darin Adler  <darin@apple.com>
1815
1816         Fix mispelling that broke the build.
1817
1818         * html/canvas/CanvasRenderingContext2D.cpp:
1819         * html/canvas/CanvasRenderingContext2D.h:
1820         Dashbard -> Dashboard.
1821
1822 2010-04-02  David Levin  <levin@chromium.org>
1823
1824         Reviewed by Darin Adler.
1825
1826         (non-generated) code should only use CanvasRenderingContext::canvas as a CanvasSurface.
1827         https://bugs.webkit.org/show_bug.cgi?id=36906
1828
1829         * dom/CanvasSurface.cpp: Added methods for items that depended on
1830         CanvasRenderingContext::canvas() being an HTMLElement(), so that this usage
1831         can be dealt with in one place.
1832         (WebCore::CanvasSurface::securityOrigin): Only used by methods that are
1833         only run in the document context.
1834         (WebCore::CanvasSurface::renderBox): Will likely return 0 in a worker context.
1835         (WebCore::CanvasSurface::computedStyle): Used by setFont. Return value is TBD for
1836         the worker context.
1837         (WebCore::CanvasSurface::styleSelector): Ditto.
1838         * dom/CanvasSurface.h:
1839         * html/HTMLCanvasElement.cpp:
1840         (WebCore::HTMLCanvasElement::getContext): Passing in information into
1841         the CanvasRenderingContext2D constructor to eliminate some uses of document
1842         inside of the CanvasRenderingContext2D class.
1843         * html/HTMLCanvasElement.h:
1844         (WebCore::HTMLCanvasElement::renderBox): Added to disambiguate between the
1845         two parent class versions of the method.
1846         (WebCore::HTMLCanvasElement::computedStyle): Ditto.
1847         * html/canvas/CanvasRenderingContext2D.cpp: All of these changes are about
1848         removing document usage either by using a bool that is set in the constructor or
1849         by calling one of the new methods added to CanvasSurface.
1850         (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
1851         (WebCore::CanvasRenderingContext2D::clearPathForDashboardBackwardCompatibilityMode):
1852         (WebCore::CanvasRenderingContext2D::checkOrigin):
1853         (WebCore::CanvasRenderingContext2D::prepareGradientForDashboard):
1854         (WebCore::CanvasRenderingContext2D::createPattern):
1855         (WebCore::CanvasRenderingContext2D::setFont):
1856         (WebCore::CanvasRenderingContext2D::drawTextInternal):
1857         * html/canvas/CanvasRenderingContext2D.h:
1858         * html/canvas/WebGLRenderingContext.cpp: Removed some duplicate includes.
1859         (WebCore::WebGLRenderingContext::markContextChanged): Reduced calls to renderBox
1860          as it may become slightly more expensive in the future.
1861         (WebCore::WebGLRenderingContext::reshape): Ditto.
1862
1863 2010-04-02  Zhenyao Mo  <zmo@google.com>
1864
1865         Reviewed by Eric Seidel.
1866
1867         Implement and test new framebuffer object attachment behavior.
1868         https://bugs.webkit.org/show_bug.cgi?id=35611
1869
1870         Test: fast/canvas/webgl/framebuffer-object-attachment.html
1871
1872         * html/canvas/WebGLFramebuffer.cpp: Keep track of attached stencil/depth renderbuffers in WebGLFramebuffer.
1873         (WebCore::WebGLFramebuffer::WebGLFramebuffer):
1874         (WebCore::WebGLFramebuffer::setIsAttached):
1875         * html/canvas/WebGLFramebuffer.h: Ditto.
1876         (WebCore::WebGLFramebuffer::isDepthAttached):
1877         (WebCore::WebGLFramebuffer::isStencilAttached):
1878         (WebCore::WebGLFramebuffer::isDepthStencilAttached):
1879         * html/canvas/WebGLRenderbuffer.cpp: Keep track of internalformat.
1880         (WebCore::WebGLRenderbuffer::WebGLRenderbuffer):
1881         * html/canvas/WebGLRenderbuffer.h: Ditto.
1882         (WebCore::WebGLRenderbuffer::setInternalformat):
1883         (WebCore::WebGLRenderbuffer::getInternalformat):
1884         * html/canvas/WebGLRenderingContext.cpp:
1885         (WebCore::WebGLRenderingContext::framebufferRenderbuffer): Detect stencil/depth buffer conflicts.
1886         (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter): Handling DEPTH_STENCIL case.
1887         (WebCore::WebGLRenderingContext::getRenderbufferParameter): Get correct WebGL internalformat.
1888         (WebCore::WebGLRenderingContext::renderbufferStorage): Detect illegal enums.
1889         * html/canvas/WebGLRenderingContext.idl: Add DEPTH_STENCIL enums.
1890         * platform/graphics/GraphicsContext3D.h: Add DEPTH_STENCIL enums.
1891         (WebCore::GraphicsContext3D::):
1892         * platform/graphics/mac/GraphicsContext3DMac.cpp: Map to correct DEPTH_STENCIL format.
1893         (WebCore::GraphicsContext3D::framebufferRenderbuffer):
1894         (WebCore::GraphicsContext3D::renderbufferStorage):
1895         (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
1896
1897 2010-04-02  Kent Tamura  <tkent@chromium.org>
1898
1899         Reviewed by Darin Adler.
1900
1901         Form control state shouldn't be restored for hidden inputs.
1902         https://bugs.webkit.org/show_bug.cgi?id=26241
1903
1904         To fix this issue, we don't save values if it is not changed from
1905         the default value.
1906
1907         Updating the value IDL attribute of some controls such as
1908         type=hidden also updates the value content attribute, and it's
1909         impossible to distinguish the initial value and the current
1910         value. The values of such controls are not saved. It won't be a
1911         problem because we want to save and restore user-edited values.
1912
1913         Test: fast/forms/state-restore-to-non-edited-controls.html
1914
1915         * html/HTMLInputElement.cpp:
1916         (WebCore::HTMLInputElement::saveFormControlState):
1917           Do not save the value if it is same as the default value.
1918         * html/HTMLTextAreaElement.cpp:
1919         (WebCore::HTMLTextAreaElement::saveFormControlState): ditto.
1920
1921 2010-04-02  Kent Tamura  <tkent@chromium.org>
1922
1923         Reviewed by Darin Adler.
1924
1925         Forms with autocomplete=off should not consume saved state
1926         https://bugs.webkit.org/show_bug.cgi?id=36762
1927         
1928         Introduce Element::shouldSaveAndRestoreFormControlState() to check
1929         if we should save and restore control state.
1930
1931         Test: fast/forms/state-restore-to-non-autocomplete-form.html
1932
1933         * dom/Document.cpp:
1934         (WebCore::Document::formElementsState): Check shouldSaveAndRestoreFormControlState().
1935         * dom/Element.h:
1936         (WebCore::Element::shouldSaveAndRestoreFormControlState): Added. It just returns true.
1937         * html/HTMLFormControlElement.cpp:
1938         (WebCore::HTMLFormControlElementWithState::autoComplete):
1939           Added. It return autocomplete state of the form.
1940         (WebCore::HTMLFormControlElementWithState::shouldSaveAndRestoreFormControlState):
1941           Added. It returns the result of autoComplete().
1942         (WebCore::HTMLFormControlElementWithState::finishParsingChildren):
1943           Do not restore state if shouldSaveAndRestoreFormControlState() is false.
1944         * html/HTMLFormControlElement.h: Declare autoComplete() and overriding methods.
1945         * html/HTMLInputElement.cpp:
1946         (WebCore::HTMLInputElement::autoComplete):
1947           Reduce code by using autoComplete() of the parent class.
1948         (WebCore::HTMLInputElement::saveFormControlState):
1949           Remove the autoComplete() check. Document::formElementsState() does equivalent check.
1950
1951 2010-04-02  Simon Fraser  <simon.fraser@apple.com>
1952
1953         Reviewed by Darin Adler.
1954
1955         Very bad scrolling-performance with the Trackpad at http://www.apple.com/ipad/app-store/
1956         https://bugs.webkit.org/show_bug.cgi?id=36978
1957
1958         When we update compositing layers (which can happen on scrolling, when there are fixed position elements
1959         on the page), we can end up redundantly setting images as layer contents if we have to color-correct
1960         the image. This is because we call CGImageCreateCopyWithColorSpace(), which hands back a new image
1961         every time.
1962         
1963         Avoid this by storing a reference to the original uncorrected image, which is used to then
1964         avoid work if the image does not change.
1965
1966         * platform/graphics/mac/GraphicsLayerCA.h:
1967         * platform/graphics/mac/GraphicsLayerCA.mm:
1968         (WebCore::GraphicsLayerCA::setContentsToImage):
1969
1970 2010-04-02  Simon Fraser  <simon.fraser@apple.com>
1971
1972         Reviewed by Darin Adler.
1973
1974         Avoid doing work in FrameView::scrollPositionChanged() if there are no fixed position elements
1975         https://bugs.webkit.org/show_bug.cgi?id=36994
1976         
1977         r55890 added knowledge to FrameView about whether it contains any fixed-position elements. We can
1978         use this to avoid updating widget positions, and compositing layer positions when possible.
1979
1980         * page/FrameView.cpp:
1981         (WebCore::FrameView::scrollPositionChanged):
1982         * page/FrameView.h:
1983         (WebCore::FrameView::hasFixedObjects):
1984
1985 2010-04-02  Nate Chapin  <japhet@chromium.org>
1986
1987         Rubber-stamped by Dimitri Glazkov.
1988
1989         http://trac.webkit.org/changeset/57004 caused
1990         fast/dom/console-log-stack-overflow.html to fail for Chromium.
1991         Add check for empty wrappers before using them to create a hidden reference.
1992
1993         * bindings/scripts/CodeGeneratorV8.pm:
1994
1995 2010-04-01  Nate Chapin  <japhet@chromium.org>
1996
1997         Reviewed by Dimitri Glazkov.
1998
1999         [V8] Generalize (and generate!) the creation of hidden references
2000         between JS wrappers.
2001         
2002         https://bugs.webkit.org/show_bug.cgi?id=36777
2003
2004         * Android.v8bindings.mk:
2005         * WebCore.gypi:
2006         * bindings/scripts/CodeGeneratorV8.pm: Generate calls to setHiddenReference() in
2007         attribute getters.
2008         * bindings/v8/V8DOMWrapper.cpp:
2009         (WebCore::V8DOMWrapper::setHiddenReference): Split common logic out of hidden setHiddenWindowReference
2010         (WebCore::V8DOMWrapper::setHiddenWindowReference): Now contains logic specific to putting a 
2011         hidden reference on a global object.
2012         (WebCore::globalObjectPrototypeIsDOMWindow): Be more thorough in the COMPILE_ASSERTs.
2013         (WebCore::V8DOMWrapper::convertEventTargetToV8Object): Cleanup: Remove a duplicate if statement.
2014         * bindings/v8/V8DOMWrapper.h:
2015         * bindings/v8/WrapperTypeInfo.h:
2016         * bindings/v8/custom/V8BarInfoCustom.cpp: Removed.
2017         * bindings/v8/custom/V8CSSStyleSheetCustom.cpp:
2018         (WebCore::toV8):
2019         * bindings/v8/custom/V8DOMSelectionCustom.cpp: Removed.
2020         * bindings/v8/custom/V8HistoryCustom.cpp:
2021         * bindings/v8/custom/V8LocationCustom.cpp:
2022         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
2023         (WebCore::V8MessageChannel::constructorCallback):
2024         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
2025         (WebCore::toV8):
2026         * bindings/v8/custom/V8NavigatorCustom.cpp: Removed.
2027         * bindings/v8/custom/V8ScreenCustom.cpp: Removed.
2028         * bindings/v8/custom/V8StyleSheetCustom.cpp:
2029         (WebCore::toV8):
2030         * loader/appcache/DOMApplicationCache.h:
2031         (WebCore::DOMApplicationCache::frame): Add frame() accessor.
2032
2033
2034 2010-04-01  Pavel Feldman  <pfeldman@chromium.org>
2035
2036         Reviewed by Timothy Hatcher.
2037
2038         Web Inspector: start editing DOM and styles on click-and-pause.
2039
2040         https://bugs.webkit.org/show_bug.cgi?id=36965
2041
2042         * inspector/front-end/ElementsTreeOutline.js:
2043         (WebInspector.ElementsTreeElement.prototype.onattach):
2044         (WebInspector.ElementsTreeElement.prototype.selectOnMouseDown):
2045         (WebInspector.ElementsTreeElement.prototype.ondblclick):
2046         (WebInspector.ElementsTreeElement.prototype._handleClickAndPause):
2047         (WebInspector.ElementsTreeElement.prototype._startEditingTarget):
2048         (WebInspector.ElementsTreeElement.prototype._startEditingAttribute):
2049         (WebInspector.ElementsTreeElement.prototype._startEditingTextNode):
2050         (WebInspector.ElementsTreeElement.prototype._startEditingTagName):
2051         (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML):
2052         * inspector/front-end/StylesSidebarPane.js:
2053         (WebInspector.StylePropertiesSection.prototype._handleEmptySpaceDoubleClick):
2054         (WebInspector.StylePropertiesSection.prototype._handleSelectorClick):
2055         (WebInspector.StylePropertiesSection.prototype._handleSelectorClickAndPause):
2056         (WebInspector.StylePropertiesSection.prototype._handleSelectorDoubleClick):
2057         (WebInspector.StylePropertiesSection.prototype._startEditingOnMouseEvent):
2058         (WebInspector.StylePropertyTreeElement.prototype.onattach):
2059         (WebInspector.StylePropertyTreeElement.prototype):
2060         * inspector/front-end/inspector.css:
2061         * inspector/front-end/inspector.js:
2062         * inspector/front-end/treeoutline.js:
2063         (TreeElement.prototype._attach):
2064         (TreeElement.treeElementMouseDown):
2065         (TreeElement.prototype.selectOnMouseDown):
2066
2067 2010-04-02  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2068
2069         Unreviewed build fix when building --no-svg.
2070
2071         Build fix after r56941. Add ENABLE(SVG) guard.
2072
2073         * rendering/RenderLayer.cpp:
2074         (WebCore::RenderLayer::updateLayerPositions):
2075
2076 2010-04-02  Yury Semikhatsky  <yurys@chromium.org>
2077
2078         Reviewed by Pavel Feldman.
2079
2080         Implement InspectorFrontendHost::showContextMenu for Chromium.
2081  
2082         Move inspector frontend context menu code from InspectorFrontendClient to InspectorFrontendHost as it's platform independent.
2083  
2084         https://bugs.webkit.org/show_bug.cgi?id=36817
2085
2086         * WebCore.Inspector.exp:
2087         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
2088         (WebCore::V8InspectorFrontendHost::showContextMenuCallback):
2089         * inspector/InspectorFrontendClient.h:
2090         * inspector/InspectorFrontendClientLocal.cpp:
2091         (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
2092         (WebCore::InspectorFrontendClientLocal::~InspectorFrontendClientLocal):
2093         (WebCore::InspectorFrontendClientLocal::windowObjectCleared):
2094         * inspector/InspectorFrontendClientLocal.h:
2095         * inspector/InspectorFrontendHost.cpp:
2096         (WebCore::FrontendMenuProvider::create):
2097         (WebCore::FrontendMenuProvider::disconnect):
2098         (WebCore::FrontendMenuProvider::FrontendMenuProvider):
2099         (WebCore::FrontendMenuProvider::~FrontendMenuProvider):
2100         (WebCore::FrontendMenuProvider::populateContextMenu):
2101         (WebCore::FrontendMenuProvider::contextMenuItemSelected):
2102         (WebCore::FrontendMenuProvider::contextMenuCleared):
2103         (WebCore::InspectorFrontendHost::InspectorFrontendHost):
2104         (WebCore::InspectorFrontendHost::disconnectClient):
2105         (WebCore::InspectorFrontendHost::showContextMenu):
2106         * inspector/InspectorFrontendHost.h:
2107         (WebCore::InspectorFrontendHost::create):
2108
2109 2010-04-02  Ilya Tikhonovsky  <loislo@chromium.org>
2110
2111         Reviewed by Pavel Feldman.
2112
2113         WebInspector: Timeline Overview pane should support short records filtering.
2114         https://bugs.webkit.org/show_bug.cgi?id=37020
2115
2116         * English.lproj/localizedStrings.js:
2117         * inspector/front-end/TimelineOverviewPane.js:
2118         (WebInspector.TimelineOverviewPane.prototype.update.markTimeline):
2119         (WebInspector.TimelineOverviewPane.prototype.update):
2120         * inspector/front-end/TimelinePanel.js:
2121         (WebInspector.TimelinePanel):
2122         (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
2123         (WebInspector.TimelinePanel.prototype._toggleFilterButtonClicked):
2124         (WebInspector.TimelinePanel.prototype._refresh):
2125         (WebInspector.TimelinePanel.prototype._addToRecordsWindow):
2126         (WebInspector.TimelinePanel.FormattedRecord.prototype.isLong):
2127
2128 2010-04-02  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2129
2130         Reviewed by Eric Seidel.
2131
2132         Accept XHTML-MP content type as XHTML content
2133         https://bugs.webkit.org/show_bug.cgi?id=34262
2134
2135         Enable processing XHTML-MP mime type as an XHTML document
2136         even if XHTML-MP support is not enabled.
2137
2138         * platform/MIMETypeRegistry.cpp:
2139         (WebCore::initializeSupportedNonImageMimeTypes):
2140
2141 2010-04-02  Adam Barth  <abarth@webkit.org>
2142
2143         Reviewed by Daniel Bates.
2144
2145         Make XSSAuditor go fast with large POST data
2146         https://bugs.webkit.org/show_bug.cgi?id=36694
2147
2148         There were two things slowing down this bechmark:
2149
2150         1) Searching the large POST data for each inline event handler.  To
2151            make this faster, we now use a suffix tree to fast-reject strings
2152            that don't appear as substrings of the POST data.
2153
2154         2) The next largest cost was flattening the form data into a string.
2155            To make this fater, we now use the form data object itself as a key
2156            and only flatten once.
2157
2158         * GNUmakefile.am:
2159         * WebCore.gypi:
2160         * WebCore.vcproj/WebCore.vcproj:
2161         * WebCore.xcodeproj/project.pbxproj:
2162         * page/XSSAuditor.cpp:
2163         (WebCore::XSSAuditor::CachingURLCanonicalizer::canonicalizeURL):
2164         (WebCore::XSSAuditor::CachingURLCanonicalizer::clear):
2165         (WebCore::XSSAuditor::XSSAuditor):
2166         (WebCore::XSSAuditor::findInRequest):
2167         * page/XSSAuditor.h:
2168         (WebCore::XSSAuditor::CachingURLCanonicalizer::CachingURLCanonicalizer):
2169         (WebCore::XSSAuditor::CachingURLCanonicalizer::generation):
2170         * platform/text/SuffixTree.h: Added.
2171         (WebCore::UnicodeCodebook::codeWord):
2172         (WebCore::UnicodeCodebook::):
2173         (WebCore::ASCIICodebook::codeWord):
2174         (WebCore::ASCIICodebook::):
2175         (WebCore::SuffixTree::SuffixTree):
2176         (WebCore::SuffixTree::mightContain):
2177         (WebCore::SuffixTree::Node::Node):
2178         (WebCore::SuffixTree::Node::~Node):
2179         (WebCore::SuffixTree::Node::at):
2180         (WebCore::SuffixTree::build):
2181
2182 2010-04-02  Roland Steiner  <rolandsteiner@chromium.org>
2183
2184         Reviewed by Eric Seidel.
2185
2186         Bug 36741 -  Duplicate, slightly divergent implementation of Position[Iterator]::isCandidate()
2187         https://bugs.webkit.org/show_bug.cgi?id=36741
2188         
2189         Patch: change Position::isCandididate() to call the PositionIterator::isCandidate() version.
2190         Update PositionIterator::isCandidate() to mirror Position::isCandidate().
2191
2192         Rationale: PositionIterator::isCandidate() is called in a tight loop within
2193         next/previousCandidate(). Also, creation of a PositionIterator from a Position
2194         is cheaper than vice-versa.
2195
2196         Tests: ran all tests in 'editing'.
2197
2198         * dom/Position.cpp:
2199         (WebCore::Position::isCandidate):
2200         * dom/PositionIterator.cpp:
2201         (WebCore::PositionIterator::isCandidate):
2202
2203 2010-04-02  Steve Falkenburg  <sfalken@apple.com>
2204
2205         Reviewed by Dan Bernstein.
2206
2207         Database code falsely returns errors due to errant pointer check
2208         https://bugs.webkit.org/show_bug.cgi?id=37014
2209
2210         r56943 introduced a check to see if there were any unprocessed
2211         SQL commands after calling sqlite3_prepare16_v2.
2212
2213         Accessing the remaining data via pointer wasn't possible since
2214         the query string is deallocated immediately after the
2215         query runs. The String returned from strippedWhiteSpace
2216         goes out of scope at that point.
2217
2218         Fix is to store the strippedWhiteSpace in a temporary String
2219         so we can access it via character ptr later in the function.
2220
2221         * platform/sql/SQLiteStatement.cpp:
2222         (WebCore::SQLiteStatement::prepare):
2223
2224 2010-04-01  MORITA Hajime  <morrita@google.com>
2225
2226         Reviewed by Darin Adler.
2227
2228         setting document.title doesn't change document.title value 
2229         https://bugs.webkit.org/show_bug.cgi?id=36802
2230
2231         An entity of "value" argument on HTMLTitleElement::setTitle() could be
2232         Document::m_title and be changed during HTMLTitleElement::setText(). 
2233         Fix copying the argument to keep the original value.
2234         
2235         Test: fast/dom/Document/title-with-multiple-children.html
2236
2237         * html/HTMLTitleElement.cpp:
2238         (WebCore::HTMLTitleElement::setText):
2239
2240 2010-04-01  Luiz Agostini  <luiz.agostini@openbossa.org>
2241
2242         Reviewed by Kenneth Rohde Christiansen.
2243
2244         [Qt] Maemo5 theme - <select multiple> custom rendering
2245         https://bugs.webkit.org/show_bug.cgi?id=36369
2246
2247         Customizing rendering of <select multiple> elements in Maemo5.
2248
2249         * platform/qt/Maemo5Webstyle.cpp:
2250         (Maemo5WebStyle::drawMultipleComboButton):
2251         (Maemo5WebStyle::drawSimpleComboButton):
2252         (Maemo5WebStyle::getButtonImageSize):
2253         (Maemo5WebStyle::findComboButton):
2254         (Maemo5WebStyle::drawComplexControl):
2255         * platform/qt/Maemo5Webstyle.h:
2256
2257 2010-04-01  Kinuko Yasuda  <kinuko@chromium.org>
2258
2259         Reviewed by Dmitry Titov.
2260
2261         Add FileThread for async file operation support in FileReader and FileWriter
2262         https://bugs.webkit.org/show_bug.cgi?id=36896
2263
2264         Add FileThread for async file operation support for FileReader and
2265         FileWriter.  The patch also adds ENABLE_FILE_READER or
2266         ENABLE_FILE_WRITER build flags/defines.  Both flags are disabled
2267         by default.
2268
2269         No new tests, will add ones when after adding modules which use the thread.
2270
2271         * Configurations/FeatureDefines.xcconfig:
2272         * GNUmakefile.am:
2273         * WebCore.gypi:
2274         * WebCore.pro:
2275         * WebCore.vcproj/WebCore.vcproj:
2276         * WebCore.xcodeproj/project.pbxproj:
2277         * dom/ScriptExecutionContext.cpp:
2278         (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
2279         (WebCore::ScriptExecutionContext::fileThread):
2280         * dom/ScriptExecutionContext.h:
2281         * html/FileThread.cpp: Added.
2282         (WebCore::FileThread::FileThread):
2283         (WebCore::FileThread::~FileThread):
2284         (WebCore::FileThread::start):
2285         (WebCore::FileThread::stop):
2286         (WebCore::FileThread::postTask):
2287         (WebCore::SameFilePredicate::SameFilePredicate):
2288         (WebCore::SameFilePredicate::operator()):
2289         (WebCore::FileThread::removeTask):
2290         (WebCore::FileThread::fileThreadStart):
2291         (WebCore::FileThread::runLoop):
2292         * html/FileThread.h: Added.
2293         (WebCore::FileThread::create):
2294         (WebCore::FileThread::Task::Task):
2295         (WebCore::FileThread::Task::~Task):
2296         (WebCore::FileThread::Task::fileHandle):
2297         * platform/Logging.cpp:
2298         (WebCore::):
2299         (WebCore::getChannelFromName):
2300         * platform/Logging.h:
2301
2302 2010-04-01  Sheriff Bot  <webkit.review.bot@gmail.com>
2303
2304         Unreviewed. Rollout of http://trac.webkit.org/changeset/56930
2305         https://bugs.webkit.org/show_bug.cgi?id=36977
2306
2307         * accessibility/AccessibilityImageMapLink.cpp:
2308         (WebCore::AccessibilityImageMapLink::accessibilityDescription):
2309
2310 2010-04-01  MORITA Hajime  <morrita@google.com>
2311
2312         Reviewed by Darin Adler.
2313
2314         WebCore::Document::updateLayoutIgnorePendingStylesheets NULL pointer
2315         https://bugs.webkit.org/show_bug.cgi?id=31680
2316         Ownerless nodes leads a crash on DOMSelection APIs
2317         https://bugs.webkit.org/show_bug.cgi?id=36800
2318
2319         Added guards nodes from foreign documents to DOMSelection APIs.
2320
2321         Tests: editing/selection/DOMSelection-DocumentType.html
2322                editing/selection/DOMSelection-crossing-document.html
2323
2324         * editing/VisiblePosition.cpp:
2325         (WebCore::VisiblePosition::canonicalPosition):
2326         * page/DOMSelection.cpp:
2327         (WebCore::DOMSelection::collapse):
2328         (WebCore::DOMSelection::setBaseAndExtent):
2329         (WebCore::DOMSelection::setPosition):
2330         (WebCore::DOMSelection::extend):
2331         (WebCore::DOMSelection::containsNode):
2332         (WebCore::DOMSelection::isValidForPosition):
2333         * page/DOMSelection.h:
2334
2335 2010-04-01  Chris Evans  <cevans@chromium.org>
2336
2337         Reviewed by Adam Barth.
2338
2339         Fix a NULL pointer crash if @import fails to load a stylesheet.
2340
2341         https://bugs.webkit.org/show_bug.cgi?id=36804
2342
2343         Test: fast/xsl/xslt-bad-import-uri.html
2344
2345         * xml/XSLStyleSheetLibxslt.cpp:
2346         (WebCore::XSLStyleSheet::parseString):
2347           Handle an empty string gracefully. An empty string has a NULL
2348           buffer, which we pass in to xmlCreateMemoryParserCtxt(). It returns
2349           NULL if it is passed a NULL buffer.
2350           In the top-level XSL case, the current code does not crash "by luck"
2351           because the other APIs used can handle a NULL argument. In the
2352           @import case, additional code runs which will deference the NULL.
2353
2354 2010-04-01  Alexey Proskuryakov  <ap@apple.com>
2355
2356         Reviewed by Darin Adler.
2357
2358         https://bugs.webkit.org/show_bug.cgi?id=36854
2359         <rdar://problem/7811668> REGRESSION (r47291): Body from cross origin preflight response
2360         is prepended to the actual response body
2361
2362         Tests: http/tests/xmlhttprequest/access-control-response-with-body-sync.html
2363                http/tests/xmlhttprequest/access-control-response-with-body.html
2364
2365         * loader/DocumentThreadableLoader.cpp: (WebCore::DocumentThreadableLoader::didReceiveData):
2366         Don't send data to the client when handling a preflight request.
2367
2368 2010-04-01  Ada Chan  <adachan@apple.com>
2369
2370         Reviewed by Darin Adler.
2371         
2372         Change DatabaseTracker::deleteOrigin() to return true if there are no errors in deleting the origin.
2373         Ditto for DatabaseTracker::deleteDatabase().
2374         
2375         https://bugs.webkit.org/show_bug.cgi?id=36988
2376
2377         * storage/DatabaseTracker.cpp:
2378         (WebCore::DatabaseTracker::deleteOrigin):
2379         (WebCore::DatabaseTracker::deleteDatabase):
2380         * storage/DatabaseTracker.h:
2381
2382 2010-04-01  Simon Fraser  <simon.fraser@apple.com>
2383
2384         No review.
2385
2386         Remove some casts that I indended to remove before committing r56948.
2387
2388         * rendering/RenderTreeAsText.cpp:
2389         (WebCore::writeRenderObject):
2390         (WebCore::write):
2391
2392 2010-04-01  Simon Fraser  <simon.fraser@apple.com>
2393
2394         Reviewed by Darin Adler.
2395
2396         Assertion failure (willBeComposited == needsToBeComposited(layer)) in
2397         RenderLayerCompositor::computeCompositingRequirements() on hulu.com
2398         https://bugs.webkit.org/show_bug.cgi?id=36516
2399         
2400         Fix assertions added in r56017. That changed replaced calls to needsToBeComposited()
2401         with use of the local 'willBeComposited' variable, but that fails to take into
2402         account the fact that needsToBeComposited() also tests layer->isSelfPaintingLayer().
2403         
2404         Fix by adding a canBeComposited() method that we call before testing
2405         whether the layer should go into compositing mode.
2406
2407         Test: compositing/self-painting-layers2.html
2408
2409         * rendering/RenderLayerCompositor.cpp:
2410         (WebCore::RenderLayerCompositor::calculateCompositedBounds): Repace use of isSelfPaintingLayer()
2411         with a call to canBeComposited().
2412         (WebCore::RenderLayerCompositor::computeCompositingRequirements): Call canBeComposited() to ensure
2413         that we only toggle 'willBeComposited' for layers that can.
2414         (WebCore::RenderLayerCompositor::needsToBeComposited): Call canBeComposited().
2415         (WebCore::RenderLayerCompositor::canBeComposited): Test if compositing is enabled, and whether
2416         the layer is self-painting.
2417         * rendering/RenderLayerCompositor.h: Add canBeComposited().
2418
2419 2010-04-01  Simon Fraser  <simon.fraser@apple.com>
2420
2421         Reviewed by Darin Adler.
2422
2423         https://bugs.webkit.org/show_bug.cgi?id=36980
2424         Add object addresses to debug showLayerTree() output.
2425         
2426         Add the ability to print RenderLayer and RenderObject addresses in the showLayerTree()
2427         output.
2428
2429         * platform/text/TextStream.cpp:
2430         (WebCore::TextStream::operator<<):
2431         * platform/text/TextStream.h:
2432         * rendering/RenderLayer.cpp:
2433         (showLayerTree):
2434         * rendering/RenderTreeAsText.cpp:
2435         (WebCore::writeRenderObject):
2436         (WebCore::write):
2437         * rendering/RenderTreeAsText.h:
2438
2439 2010-03-29  Dumitru Daniliuc  <dumi@chromium.org>
2440
2441         Reviewed by Dimitri Glazkov.
2442
2443         Changing SQLiteStatement::prepare() to return an error when it's
2444         given a string that has more than one statement in it. Currently,
2445         everything past the first statement is silently ignored.
2446
2447         Test: storage/executesql-accepts-only-one-statement.html
2448
2449         * platform/sql/SQLiteStatement.cpp:
2450         (WebCore::SQLiteStatement::prepare):
2451
2452 2010-04-01  James Robinson  <jamesr@chromium.org>
2453
2454         Reviewed by Simon Fraser.
2455
2456         Keeps a transient optimistic offset to the root in RenderLayer::updateLayerPositions
2457         https://bugs.webkit.org/show_bug.cgi?id=33520
2458
2459         RenderLayer::updateLayerPositions() makes a recursive walk through all RenderLayers and updates the repaint rectangles on each.
2460         These rectangles have to be calculated in the repaint container's coordinates using RenderObject::mapLocalToContainer to walk
2461         up to the repaint container.  This patch keeps track of the offset to the root and uses that offset instead of walking back up to
2462         the root every time.
2463
2464         Tests: fast/layers/nested-layers-1.html
2465                fast/layers/nested-layers-2.html
2466                fast/layers/nested-layers-3.html
2467                fast/layers/nested-layers-4.html
2468
2469         * page/FrameView.cpp:
2470         (WebCore::FrameView::layout):
2471         * rendering/RenderBox.cpp:
2472         (WebCore::RenderBox::outlineBoundsForRepaint):
2473         * rendering/RenderBox.h:
2474         * rendering/RenderLayer.cpp:
2475         (WebCore::RenderLayer::updateLayerPositions):
2476         * rendering/RenderLayer.h:
2477         * rendering/RenderObject.h:
2478         (WebCore::RenderObject::outlineBoundsForRepaint):
2479         * rendering/RenderSVGModelObject.cpp:
2480         (WebCore::RenderSVGModelObject::outlineBoundsForRepaint):
2481         * rendering/RenderSVGModelObject.h:
2482
2483 2010-04-01  Daniel Bates  <dbates@rim.com>
2484
2485         Reviewed by Darin Adler.
2486
2487         https://bugs.webkit.org/show_bug.cgi?id=36901
2488
2489         Removed functions Range::operator == and Range::operator != as they
2490         were using C++ code that was not sound and hence may have undefined
2491         behavior.
2492
2493         Test case: manual-tests/crash-on-find-with-no-selection.html
2494
2495         * dom/Range.cpp:
2496         (WebCore::areRangesEqual): Added.
2497         * dom/Range.h:
2498         * editing/markup.cpp:
2499         (WebCore::createMarkup): Modified to call WebCore::areRangesEqual.
2500         * manual-tests/crash-on-find-with-no-selection.html: Added.
2501         * page/Frame.cpp:
2502         (WebCore::Frame::findString): Modified to call WebCore::areRangesEqual.
2503
2504 2010-04-01  Geoffrey Garen  <ggaren@apple.com>
2505
2506         Reviewed by Sam Weinig.
2507
2508         Synchronous rendering when setting form control values slows down JavaScript
2509         https://bugs.webkit.org/show_bug.cgi?id=36967
2510
2511         This patch basically reverts http://trac.webkit.org/changeset/19006.
2512         
2513         Dan asked me to investigate why 19006 is no longer needed. I have two answers:
2514
2515             (1) I was also able to remove the synchronous call to updateFromElement().
2516             That call was the proximate cause of the crash that 19006 fixed.
2517
2518             (2) updateFromElement() no longer calls HTMLElement::setInnerText()
2519             in the way that it used to. (However, it doesn't seem prudent to
2520             rely on this happy coincidence.)
2521
2522         * html/HTMLInputElement.cpp:
2523         (WebCore::HTMLInputElement::setValue): Simplified some logic here. Moved
2524         setNeedsValidityCheck() outside of individual 'if' clauses, since they all
2525         called it.
2526         
2527         Removed call to updateStyleIfNeeded(), which does rendering synchronously,
2528         since that was the performance problem. (setNeedsStyleRecalc() ensures
2529         that rendering will happen asynchronously.) Also removed comment about
2530         ordering dangers introduced by updateStyleIfNeeded().
2531         
2532         Removed call to updateFromElement(), since it's dangerous and also a minor
2533         performance problem. (setNeedsStyleRecalc() ensures that updateFromElement()
2534         will happen asynchronously, too.)
2535
2536         * html/HTMLTextAreaElement.cpp:
2537         (WebCore::HTMLTextAreaElement::setNonDirtyValue): Ditto. Here, I had to
2538         add a call to setNeedsStyleRecalc(), since there wasn't one before.
2539
2540 2010-04-01  Ilya Tikhonovsky  <loislo@chromium.org>
2541
2542         Reviewed by Pavel Feldman.
2543
2544         Web Inspector: Sometimes js code can detach page from it's frame and in that case
2545         Dispatch Events will stay in the TimelineAgent's events stack. Only immediate events will
2546         appear at frontend.
2547         https://bugs.webkit.org/show_bug.cgi?id=36890
2548
2549         * bindings/v8/V8Proxy.cpp:
2550         (WebCore::V8Proxy::callFunction):
2551         * dom/Node.cpp:
2552         (WebCore::Node::dispatchGenericEvent):
2553         * page/DOMWindow.cpp:
2554         (WebCore::DOMWindow::dispatchEvent):
2555
2556 2010-04-01  Chris Fleizach  <cfleizach@apple.com>
2557
2558         Reviewed by Beth Dakin.
2559
2560         Bug 36977 - aria-label doesn't work on image map area
2561         https://bugs.webkit.org/show_bug.cgi?id=36977
2562
2563         Test: platform/mac/accessibility/area-with-aria-label.html
2564
2565         * accessibility/AccessibilityImageMapLink.cpp:
2566         (WebCore::AccessibilityImageMapLink::accessibilityDescription):
2567
2568 2010-04-01  Simon Fraser  <simon.fraser@apple.com>
2569
2570         Reviewed by Dan Bernstein.
2571
2572         Assertion failure: !repaintContainer || repaintContainer == this
2573         https://bugs.webkit.org/show_bug.cgi?id=36672
2574         
2575         RenderText's implementation of clippedOverflowRectForRepaint() uses containingBlock()
2576         to get the renderer to use for computing the repaint rect. However, the renderer returned
2577         by containingBlock() may be an ancestor of the repaintContainer, and containingBlock()
2578         doesn't have the 'repaintContainerSkipped' logic that container() has.
2579         
2580         So in this case, check to see whether repaintContainer is actually a descendant of the
2581         containing block, and in that case just repaint the entire repaintContainer.
2582
2583         Test: compositing/repaint/inline-repaint-container.html
2584
2585         * rendering/RenderText.cpp:
2586         (WebCore::RenderText::clippedOverflowRectForRepaint):
2587
2588 2010-04-01  Csaba Osztrogon√°c  <ossy@webkit.org>
2589
2590         Reviewed by Jian Li.
2591
2592         [Qt] REGRESSION(r56869): Windows build is broken
2593         https://bugs.webkit.org/show_bug.cgi?id=36929
2594
2595         * WebCore.pro: LIBS += -lOle32 added.
2596         * platform/UUID.cpp: Define ARRAYSIZE macro if it isn't defined before.
2597
2598 2010-04-01  Chris Fleizach  <cfleizach@apple.com>
2599
2600         Reviewed by Beth Dakin.
2601
2602         Bug 36968 - 1 crash in Safari at com.apple.WebCore: WebCore::Element::getAttribute const
2603         https://bugs.webkit.org/show_bug.cgi?id=36968
2604
2605         Test: accessibility/crash-with-noelement-selectbox.html
2606
2607         When a <select> element had no options, the selectedIndex == -1 and that was being
2608         used to index into an empty array.
2609
2610         * accessibility/AccessibilityRenderObject.cpp:
2611         (WebCore::AccessibilityRenderObject::stringValue):
2612
2613 2010-04-01  MORITA Hajime  <morrita@google.com>
2614
2615         Reviewed by Shinichiro Hamaji.
2616
2617         https://bugs.webkit.org/show_bug.cgi?id=36948
2618         Refactoring: Position::primaryDirection() should be extracted.
2619
2620         No new tests. No functinal change.
2621
2622         * dom/Position.cpp:
2623         (WebCore::Position::getInlineBoxAndOffset):
2624         (WebCore::Position::primaryDirection): Added
2625         * dom/Position.h:
2626         * editing/VisiblePosition.cpp:
2627         (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
2628         (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
2629
2630 2010-04-01  Alexander Pavlov  <apavlov@chromium.org>
2631
2632         Reviewed by Pavel Feldman.
2633
2634         Web Inspector: Audits: fix parsing of injected script-evaluated result for CssInHeadRule
2635         https://bugs.webkit.org/show_bug.cgi?id=36952
2636
2637         * inspector/front-end/AuditRules.js:
2638         (WebInspector.AuditRules.CssInHeadRule.prototype.doRun):
2639
2640 2010-03-31  Jeremy Orlow  <jorlow@chromium.org>
2641
2642         Reviewed by Nate Chapin.
2643
2644         Misc IndexedDatabase cleanup
2645         https://bugs.webkit.org/show_bug.cgi?id=36889
2646
2647         No functional changes.
2648
2649         * bindings/v8/custom/V8CustomIDBCallbacks.h:  
2650         (WebCore::V8CustomIDBCallbacks::onSuccess):
2651         (WebCore::V8CustomIDBCallbacks::onError):
2652         (WebCore::V8CustomIDBCallbacks::V8CustomIDBCallbacks):
2653             Get rid of 2 largely redundant bools
2654
2655         * storage/IndexedDatabase.h:
2656         * storage/IndexedDatabaseImpl.cpp:
2657         (WebCore::IndexedDatabaseImpl::open):
2658         * storage/IndexedDatabaseImpl.h:
2659         * storage/IndexedDatabaseRequest.cpp:
2660         (WebCore::IndexedDatabaseRequest::open):
2661         * storage/IndexedDatabaseRequest.h:
2662             Plumb the Frame* and style cleanups.
2663
2664 2010-03-31  Nikolas Zimmermann  <nzimmermann@rim.com>
2665
2666         Reviewed by Dirk Schulze.
2667
2668         REGRESSION: document.documentElement.getScreenCTM() returns incorrect matrix.
2669         https://bugs.webkit.org/show_bug.cgi?id=27183
2670
2671         Rewrite getCTM() / getScreenCTM() handling in an iterative way, fixing all known problems/limitations.
2672         The bug mentioned above is actually not a regression, getScreenCTM() only worked before, because we
2673         did not handle non-SVG CSS box parents properly. When support was added to handle those cases, the
2674         getScreenCTM() handling was completly off, causing a lot of trouble in real-life SVG applications (carto.net for instance)
2675
2676         Tests: svg/custom/svgsvgelement-ctm.xhtml (fixed typo, missing unit identifier in CSS 'height' property, leading to incorrect results)
2677                svg/custom/svgsvgelement-ctm2.xhtml
2678                svg/custom/svgsvgelement-ctm3.xhtml
2679                svg/custom/svgsvgelement-ctm4.xhtml
2680                svg/custom/svgsvgelement-ctm5.xhtml
2681
2682         * svg/SVGLocatable.cpp:
2683         (WebCore::SVGLocatable::getBBox):
2684         (WebCore::SVGLocatable::computeCTM):
2685         * svg/SVGLocatable.h:
2686         (WebCore::SVGLocatable::localCoordinateSpaceTransform):
2687         * svg/SVGSVGElement.cpp:
2688         (WebCore::SVGSVGElement::localCoordinateSpaceTransform):
2689         (WebCore::SVGSVGElement::createRenderer):
2690         * svg/SVGSVGElement.h:
2691         * svg/SVGStyledElement.cpp:
2692         (WebCore::SVGStyledElement::localCoordinateSpaceTransform):
2693         * svg/SVGStyledElement.h:
2694         * svg/SVGStyledLocatableElement.cpp:
2695         (WebCore::SVGStyledLocatableElement::getCTM):
2696         (WebCore::SVGStyledLocatableElement::getScreenCTM):
2697         * svg/SVGStyledLocatableElement.h:
2698         (WebCore::SVGStyledLocatableElement::localCoordinateSpaceTransform):
2699         * svg/SVGStyledTransformableElement.cpp:
2700         (WebCore::SVGStyledTransformableElement::getCTM):
2701         (WebCore::SVGStyledTransformableElement::getScreenCTM):
2702         * svg/SVGStyledTransformableElement.h:
2703         (WebCore::SVGStyledTransformableElement::localCoordinateSpaceTransform):
2704         * svg/SVGTextElement.cpp:
2705         (WebCore::SVGTextElement::getCTM):
2706         (WebCore::SVGTextElement::getScreenCTM):
2707         * svg/SVGTextElement.h:
2708         (WebCore::SVGTextElement::localCoordinateSpaceTransform):
2709         * svg/SVGTransformable.cpp:
2710         (WebCore::SVGTransformable::SVGTransformable):
2711         * svg/SVGTransformable.h:
2712         (WebCore::SVGTransformable::localCoordinateSpaceTransform):
2713
2714 2010-04-01  Vitaly Repeshko  <vitalyr@chromium.org>
2715
2716         Reviewed by Darin Fisher.
2717
2718         [V8] Quick fix for failure in SerializedScriptValue
2719         https://bugs.webkit.org/show_bug.cgi?id=36943
2720
2721         This allows the web worker layout tests to pass again.
2722
2723         * bindings/v8/SerializedScriptValue.h:
2724         (WebCore::SerializedScriptValue::deserializeAndSetProperty):
2725
2726 2010-03-31  MORITA Hajime  <morrita@google.com>
2727         
2728         Reviewed by Darin Adler.
2729
2730         Crash when writing into a detached TITLE element
2731         https://bugs.webkit.org/show_bug.cgi?id=25567
2732         
2733         Document::setTitle() invoked HTMLTitleElement::setText(), which
2734         contains DOM tree modification, even when setTitle() is called
2735         from HTMLTitleElement::childrenChanged().  Fix to skip setText()
2736         when setTitle() is called childrenChanged() to avoid cascading
2737         DOM mutations between Document and HTMLTitleElement.
2738
2739         Test: fast/dom/title-content-write-set.html
2740
2741         * dom/Document.cpp:
2742         (WebCore::Document::setTitle):
2743
2744 2010-04-01  Roland Steiner  <rolandsteiner@chromium.org>
2745
2746         Reviewed by Darin Adler.
2747
2748         Bug 36803 - 'Inline-table' workaround for <ruby> broken with ruby support
2749         https://bugs.webkit.org/show_bug.cgi?id=36803
2750
2751         Don't use ruby rendering if the underlying 'display' property has been
2752         changed into a value other than 'inline' or 'block' (such as 'inline-table').
2753
2754         Test: fast/ruby/ruby-inline-table.html
2755
2756         * rendering/RenderObject.cpp:
2757         (WebCore::RenderObject::createObject):
2758
2759 2010-03-31  Geoffrey Garen  <ggaren@apple.com>
2760
2761         Reviewed by Darin Adler.
2762
2763         Crash submitting display:none textarea in a form
2764         https://bugs.webkit.org/show_bug.cgi?id=36905
2765
2766         Test: fast/forms/textarea-submit-crash.html
2767
2768         * html/HTMLTextAreaElement.cpp:
2769         (WebCore::HTMLTextAreaElement::appendFormData): Do update layout before
2770         asking our renderer for its text, since we can't rely on our renderer's
2771         text if layout is needed.
2772
2773         * rendering/RenderTextControl.cpp:
2774         (WebCore::RenderTextControl::textWithHardLineBreaks): Don't update layout
2775         while being asked for our text, since doing so may delete us, causing a crash.
2776
2777 2010-03-31  Chris Fleizach  <cfleizach@apple.com>
2778
2779         Reviewed by Darin Adler.
2780
2781         Bug 36845 - AX: need a way to set the label of a AXWebArea through WebKit
2782         https://bugs.webkit.org/show_bug.cgi?id=36845
2783
2784         Provide a way through WebKit to set an accessible label that describes the web area.
2785
2786         Test: platform/mac/accessibility/html-with-aria-label.html
2787
2788         * accessibility/AccessibilityObject.h:
2789         (WebCore::AccessibilityObject::setAccessibleName):
2790         * accessibility/AccessibilityRenderObject.cpp:
2791         (WebCore::AccessibilityRenderObject::accessibilityDescription):
2792         (WebCore::AccessibilityRenderObject::setAccessibleName):
2793         * accessibility/AccessibilityRenderObject.h:
2794
2795 2010-03-31  Mark Rowe  <mrowe@apple.com>
2796
2797         Reviewed by Darin Adler.
2798
2799         <http://webkit.org/b/36878> REGRESSION: Trailing colon on hostnames (with no port specified) causes "Not allowed to use restricted network port"
2800
2801         * platform/KURL.cpp:
2802         (WebCore::KURL::port): Explicitly handle the case of a colon being present in the URL after the host name but with
2803         no port number before the path.  This is handled in the same manner as the colon and port being omitted completely.
2804
2805 2010-03-31  Gavin Barraclough  <barraclough@apple.com>
2806
2807         Reviewed by Oliver Hunt.
2808
2809         Remove dependency on TextBreakIterator from StringImpl.cpp,
2810         and from member methods of String.
2811
2812         Make 'numGraphemeClusters' & 'numCharactersInGraphemeClusters'
2813         global function defined in PlatformString.h, rather than
2814         member methods on String (these can be implemented purely
2815         using the characters() and length() public interface),
2816         and make 'makeCapitalized' a static function in RenderText.cpp.
2817
2818         * dom/InputElement.cpp:
2819         (WebCore::InputElement::sanitizeUserInputValue):
2820         (WebCore::InputElement::handleBeforeTextInsertedEvent):
2821         * html/HTMLInputElement.cpp:
2822         (WebCore::HTMLInputElement::tooLong):
2823         * html/HTMLTextAreaElement.cpp:
2824         (WebCore::HTMLTextAreaElement::handleBeforeTextInsertedEvent):
2825         (WebCore::HTMLTextAreaElement::sanitizeUserInputValue):
2826         (WebCore::HTMLTextAreaElement::tooLong):
2827         * platform/text/PlatformString.h:
2828         (WebCore::String::makeSecure):
2829         * platform/text/String.cpp:
2830         (WebCore::numGraphemeClusters):
2831         (WebCore::numCharactersInGraphemeClusters):
2832         * platform/text/StringImpl.cpp:
2833         * platform/text/StringImpl.h:
2834         * rendering/RenderText.cpp:
2835         (WebCore::makeCapitalized):
2836         (WebCore::RenderText::setTextInternal):
2837
2838 2010-03-31  Vitaly Repeshko  <vitalyr@chromium.org>
2839
2840         Reviewed by David Levin.
2841
2842         [V8] SerializedScriptValue must be deserialized only once and in the right context
2843         https://bugs.webkit.org/show_bug.cgi?id=36892
2844
2845         See also https://bugs.webkit.org/show_bug.cgi?id=34227 for the
2846         corresponding JSC change.
2847
2848         General idea: SerializedScriptValue must be deserialized only once
2849         and in the context of the intended MessageEvent recepient. The
2850         approach we take for now is to eagerly deserialize when a
2851         JavaScript wrapper for MessageEvent is created.
2852
2853         A better fix would be to keep a reference to the context in
2854         MessageEvent and use it when lazily deserializing. It's harder to
2855         do since the API doesn't have a clean method to have such a reference.
2856
2857         Tested by fast/dom/Window/window-postmessage-clone-frames.html. This
2858         test still fails but only for the types which we can't serialize yet.
2859
2860         * bindings/scripts/CodeGeneratorV8.pm:
2861         * bindings/v8/SerializedScriptValue.h:
2862         (WebCore::SerializedScriptValue::deserializeAndSetProperty):
2863         * bindings/v8/custom/V8MessageEventCustom.cpp:
2864         (WebCore::V8MessageEvent::initMessageEventCallback):
2865
2866 2010-03-31  Adam Barth  <abarth@webkit.org>
2867
2868         Reviewed by Darin Fisher.
2869
2870         Cleanup RedirectScheduler
2871         https://bugs.webkit.org/show_bug.cgi?id=36874
2872
2873         Removed the nutty ScheduledRedirection struct in favor of a hierarchy
2874         of classes to represent the various kinds of scheduled redirects.
2875         Doing this lets us get rid of the pseudo RTTI switch statements on
2876         "type" in favour of calling virtual functions.
2877
2878         No new tests because this change should be API identical with the
2879         existing RedirectScheduler.
2880
2881         * loader/RedirectScheduler.cpp:
2882         (WebCore::ScheduledNavigation::ScheduledNavigation):
2883         (WebCore::ScheduledNavigation::~ScheduledNavigation):
2884         (WebCore::ScheduledNavigation::isLocationChange):
2885         (WebCore::ScheduledNavigation::shouldStartTimer):
2886         (WebCore::ScheduledNavigation::didStartTimer):
2887         (WebCore::ScheduledNavigation::didStopTimer):
2888         (WebCore::ScheduledNavigation::delay):
2889         (WebCore::ScheduledNavigation::lockHistory):
2890         (WebCore::ScheduledNavigation::lockBackForwardList):
2891         (WebCore::ScheduledNavigation::wasDuringLoad):
2892         (WebCore::ScheduledURLNavigation::ScheduledURLNavigation):
2893         (WebCore::ScheduledURLNavigation::fire):
2894         (WebCore::ScheduledURLNavigation::didStartTimer):
2895         (WebCore::ScheduledURLNavigation::didStopTimer):
2896         (WebCore::ScheduledURLNavigation::url):
2897         (WebCore::ScheduledURLNavigation::referrer):
2898         (WebCore::ScheduledURLNavigation::wasUserGesture):
2899         (WebCore::ScheduledRedirect::ScheduledRedirect):
2900         (WebCore::ScheduledRedirect::isLocationChange):
2901         (WebCore::ScheduledRedirect::shouldStartTimer):
2902         (WebCore::ScheduledLocationChange::ScheduledLocationChange):
2903         (WebCore::ScheduledRefresh::ScheduledRefresh):
2904         (WebCore::ScheduledRefresh::fire):
2905         (WebCore::ScheduledHistoryNavigation::ScheduledHistoryNavigation):
2906         (WebCore::ScheduledHistoryNavigation::fire):
2907         (WebCore::ScheduledFormSubmission::ScheduledFormSubmission):
2908         (WebCore::ScheduledFormSubmission::fire):
2909         (WebCore::RedirectScheduler::redirectScheduledDuringLoad):
2910         (WebCore::RedirectScheduler::clear):
2911         (WebCore::RedirectScheduler::scheduleRedirect):
2912         (WebCore::RedirectScheduler::mustLockBackForwardList):
2913         (WebCore::RedirectScheduler::scheduleLocationChange):
2914         (WebCore::RedirectScheduler::scheduleFormSubmission):
2915         (WebCore::RedirectScheduler::scheduleRefresh):
2916         (WebCore::RedirectScheduler::locationChangePending):
2917         (WebCore::RedirectScheduler::scheduleHistoryNavigation):
2918         (WebCore::RedirectScheduler::timerFired):
2919         (WebCore::RedirectScheduler::schedule):
2920         (WebCore::RedirectScheduler::startTimer):
2921         (WebCore::RedirectScheduler::cancel):
2922         * loader/RedirectScheduler.h:
2923
2924 2010-03-31  Zhenyao Mo  <zmo@google.com>
2925
2926         Reviewed by Darin Fisher.
2927
2928         Hook up WebGLContextAttributes to OpenGL context creation code
2929         https://bugs.webkit.org/show_bug.cgi?id=33416
2930
2931         Test: fast/canvas/webgl/context-attributes-alpha-depth-stencil-antialias.html
2932
2933         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: Fix an index bug.
2934         (WebCore::V8HTMLCanvasElement::getContextCallback):
2935         * platform/graphics/GraphicsContext3D.h: Add members/functions for multisampling/stencil buffer purpose.
2936         * platform/graphics/mac/Canvas3DLayer.h: Add GraphicsContext3D as a member of Canvas3DLayer.
2937         * platform/graphics/mac/Canvas3DLayer.mm: Add multisampling support.
2938         (-[Canvas3DLayer drawInCGLContext:pixelFormat:forLayerTime:displayTime:]):
2939         * platform/graphics/mac/GraphicsContext3DMac.cpp: Hook up WebGLContextAttributes to OpenGL context creation code for Mac.
2940         (WebCore::GraphicsContext3D::GraphicsContext3D):
2941         (WebCore::GraphicsContext3D::~GraphicsContext3D):
2942         (WebCore::GraphicsContext3D::validateAttributes):
2943         (WebCore::GraphicsContext3D::reshape):
2944         (WebCore::GraphicsContext3D::prepareTexture):
2945         (WebCore::GraphicsContext3D::bindFramebuffer):
2946         (WebCore::GraphicsContext3D::readPixels):
2947         * platform/graphics/mac/GraphicsLayerCA.mm: Adjust to modified Canvas3DLayer init call.
2948         (WebCore::GraphicsLayerCA::setContentsToGraphicsContext3D):
2949
2950 2010-03-31  Jian Li  <jianli@chromium.org>
2951
2952         Reviewed by Dmitry Titov.
2953
2954         Add support to create UUID string.
2955         https://bugs.webkit.org/show_bug.cgi?id=36472
2956
2957         * GNUmakefile.am:
2958         * WebCore.gypi:
2959         * WebCore.pro:
2960         * WebCore.vcproj/WebCore.vcproj:
2961         * WebCore.xcodeproj/project.pbxproj:
2962         * platform/UUID.cpp: Added.
2963         (WebCore::createCanonicalUUIDString):
2964         * platform/UUID.h: Added.
2965
2966 2010-03-31  Darin Adler  <darin@apple.com>
2967
2968         * rendering/RenderThemeChromiumWin.h: Fix inconsistent line endings.
2969
2970 2010-03-31  Luiz Agostini  <luiz.agostini@openbossa.org>
2971
2972         Reviewed by Kenneth Rohde Christiansen.
2973
2974         [Qt] Maemo5 theme - form controls style
2975         https://bugs.webkit.org/show_bug.cgi?id=36370
2976
2977         Adjusting Mameo5 form elements rendering.
2978
2979         * WebCore.pri:
2980         * WebCore.pro:
2981         * css/themeQtMaemo5.css: Added.
2982         (select):
2983         (select:disabled):
2984         (select:active):
2985         (select:active:disabled):
2986         (textarea):
2987         (textarea:disabled):
2988         (textarea:active):
2989         * platform/qt/Maemo5Webstyle.cpp: Added.
2990         (Maemo5WebStyle::Maemo5WebStyle):
2991         (drawRectangularControlBackgorund):
2992         (Maemo5WebStyle::drawChecker):
2993         (Maemo5WebStyle::findChecker):
2994         (Maemo5WebStyle::drawRadio):
2995         (Maemo5WebStyle::findRadio):
2996         (Maemo5WebStyle::drawControl):
2997         (Maemo5WebStyle::drawComplexControl):
2998         * platform/qt/Maemo5Webstyle.h: Added.
2999         * platform/qt/RenderThemeQt.cpp:
3000         (WebCore::RenderThemeQt::RenderThemeQt):
3001         (WebCore::RenderThemeQt::isControlStyled):
3002         (WebCore::RenderThemeQt::popupInternalPaddingBottom):
3003         (WebCore::RenderThemeQt::extraDefaultStyleSheet):
3004         (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
3005         * platform/qt/RenderThemeQt.h:
3006
3007 2010-03-31  Alexey Proskuryakov  <ap@apple.com>
3008
3009         https://bugs.webkit.org/show_bug.cgi?id=36897
3010         <rdar://problem/7804018> REGRESSION (r56429): Flash ads are clipped when main page is scrolled (boxofficemojo.com)
3011
3012         Addressing additional review comments.
3013
3014         * rendering/RenderWidget.cpp: Removed an unneeded include.
3015         * rendering/RenderWidget.h: Reworded the new comment.
3016
3017 2010-03-31  Alexey Proskuryakov  <ap@apple.com>
3018
3019         Reviewed by Dan Bernstein.
3020
3021         https://bugs.webkit.org/show_bug.cgi?id=36897
3022         <rdar://problem/7804018> REGRESSION (r56429): Flash ads are clipped when main page is scrolled (boxofficemojo.com)
3023
3024         * manual-tests/plugin-in-iframe-scroll.html: Added.
3025         * manual-tests/resources/plugin-in-iframe-scroll-iframe.html: Added.
3026
3027         * rendering/RenderWidget.cpp:
3028         (WebCore::RenderWidget::setWidgetGeometry): This method isn't called when an iframe containing
3029         the widget moves, so we should store a value that is not dependent on current scroll offset.
3030         (WebCore::RenderWidget::windowClipRect): Apply scroll offset and window clip now.
3031
3032         * rendering/RenderWidget.h: Renamed m_windowClipRect to m_clipRect, because it is no longer
3033         in window coordinates.
3034
3035         * WebCore.base.exp: Export RenderWidget::windowClipRect(), since it's no longer inline.
3036
3037 2010-03-31  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3038
3039         Unreviewed crash fix.
3040
3041         Crash with frame flattening on after r56854
3042         https://bugs.webkit.org/show_bug.cgi?id=36894
3043
3044         Solution tested by Greg Bolsinga, thanks.
3045
3046         * page/FrameView.cpp:
3047         (WebCore::FrameView::avoidScrollbarCreation):
3048         * platform/ScrollView.cpp:
3049         (WebCore::ScrollView::setHasHorizontalScrollbar):
3050         (WebCore::ScrollView::setHasVerticalScrollbar):
3051
3052 2010-03-31  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3053
3054         Reviewed by Antti Koivisto.
3055
3056         iframe flattening doesn't flatten
3057         https://bugs.webkit.org/show_bug.cgi?id=36798
3058
3059         Do not draw scrollbars for subframes when frame flattening is
3060         enabled. Implemented using a virtual method in ScrollView as
3061         suggested by Dave Hyatt.
3062
3063         Do not suppress scrollbars as that is wrong according to
3064         Dave Hyatt.
3065
3066         Covered by current tests.
3067
3068         * page/FrameView.cpp:
3069         (WebCore::FrameView::avoidScrollbarCreation):
3070         * page/FrameView.h:
3071         * platform/ScrollView.cpp:
3072         (WebCore::ScrollView::setHasHorizontalScrollbar):
3073         (WebCore::ScrollView::setHasVerticalScrollbar):
3074         * platform/ScrollView.h:
3075         (WebCore::ScrollView::avoidScrollbarCreation):
3076         * rendering/RenderPart.cpp:
3077         (WebCore::RenderPart::layoutWithFlattening):
3078
3079 2010-03-30  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3080
3081         Reviewed by Antti Koivisto.
3082
3083         iframe flattening doesn't flatten
3084         https://bugs.webkit.org/show_bug.cgi?id=36798
3085
3086         Fix wrongly reversing logic in frame flattening check.
3087
3088         Tests:
3089         fast/frames/flattening/iframe-flattening-fixed-height.html
3090         fast/frames/flattening/iframe-flattening-fixed-width.html
3091         fast/frames/flattening/iframe-flattening-fixed-width-and-height.html
3092         fast/frames/flattening/iframe-flattening-fixed-width-and-height-no-scrolling.html
3093
3094         * rendering/RenderPartObject.cpp:
3095         (WebCore::RenderPartObject::flattenFrame):
3096
3097 2010-03-31  Marcus Bulach  <bulach@chromium.org>
3098
3099         Reviewed by Jeremy Orlow.
3100
3101         Implements cancelGeolocationPermissionRequestForFrame.
3102         Similar to requestGeolocationPermissionForFrame(), passes Geolocation* to cancelGeolocationPermissionRequestForFrame(),
3103         so that the embedder can identify which Geolocation object is cancelling the pending permission request.
3104         Calls cancelGeolocationPermissionRequestForFrame() before stopUpdating() so it better matches the startUpdating() / requestPermission() flow.
3105         https://bugs.webkit.org/show_bug.cgi?id=35031
3106
3107         * loader/EmptyClients.h:
3108         (WebCore::EmptyChromeClient::cancelGeolocationPermissionRequestForFrame):
3109         * page/Chrome.cpp:
3110         (WebCore::Chrome::cancelGeolocationPermissionRequestForFrame):
3111         * page/Chrome.h:
3112         * page/ChromeClient.h:
3113         * page/Geolocation.cpp:
3114         (WebCore::Geolocation::disconnectFrame):
3115
3116 2010-03-31  Yael Aharon  <yael.aharon@nokia.com>
3117
3118         Reviewed by Antti Koivisto.
3119
3120         Add animation to progress element
3121         https://bugs.webkit.org/show_bug.cgi?id=36664
3122
3123         Add a timer to control the animation. The timer is started after painting
3124         or a state change in the progress bar, to prevent animation from running
3125         when the progress bar is not visible.
3126
3127         * html/HTMLProgressElement.cpp:
3128         (WebCore::HTMLProgressElement::createRenderer):
3129         * manual-tests/dom: Added.
3130         * manual-tests/dom/progressbar.html: Added.
3131         * platform/qt/RenderThemeQt.cpp:
3132         (WebCore::RenderThemeQt::animationRepeatIntervalForProgressBar):
3133         (WebCore::RenderThemeQt::animationDurationForProgressBar):
3134         (WebCore::RenderThemeQt::paintProgressBar):
3135         * platform/qt/RenderThemeQt.h:
3136         * rendering/RenderProgress.cpp:
3137         (WebCore::RenderProgress::RenderProgress):
3138         (WebCore::RenderProgress::layout):
3139         (WebCore::RenderProgress::updateFromElement):
3140         (WebCore::RenderProgress::animationProgress):
3141         (WebCore::RenderProgress::animationTimerFired):
3142         (WebCore::RenderProgress::paint):
3143         (WebCore::RenderProgress::updateAnimationState):
3144         * rendering/RenderProgress.h:
3145         * rendering/RenderTheme.cpp:
3146         (WebCore::RenderTheme::animationRepeatIntervalForProgressBar):
3147         (WebCore::RenderTheme::animationDurationForProgressBar):
3148         * rendering/RenderTheme.h:
3149
3150 2010-03-31  Pavel Feldman  <pfeldman@chromium.org>
3151
3152         Not reviewed. Rolling out r56829 since it broke chromium layout tests.
3153
3154         [REGRESSION] Inspector tests started crashing since r56829
3155         https://bugs.webkit.org/show_bug.cgi?id=36888
3156
3157         * bindings/scripts/CodeGeneratorV8.pm:
3158         * bindings/v8/V8Utilities.cpp:
3159         * bindings/v8/V8Utilities.h:
3160         * loader/FrameLoaderClient.h:
3161
3162 2010-03-31  Pavel Feldman  <pfeldman@chromium.org>
3163
3164         Reviewed by Timothy Hatcher.
3165
3166         Web Inspector: creating new style bugfixing.
3167
3168         https://bugs.webkit.org/show_bug.cgi?id=36884
3169
3170         - InspectorDOMAgent should clear internal state upon reset (we are re-using
3171           single dom agent instance throughout entire inspector controller lifetime) 
3172         - Brought back blank style 'refresh' processing logic - remove it by mistake earlier
3173         - Blocked couple of click handlers so that double-click to edit was not
3174           expanding / collapsing the pane
3175         - There is no need to reach out for matched rules upon 'refresh' update -
3176           getting computed style is sufficient.
3177
3178         * css/CSSStyleSelector.cpp:
3179         (WebCore::CSSStyleSelector::matchRulesForList):
3180         * inspector/InspectorDOMAgent.cpp:
3181         (WebCore::InspectorDOMAgent::discardBindings):
3182         * inspector/front-end/StylesSidebarPane.js:
3183         (WebInspector.StylesSidebarPane.prototype.update.getStylesCallback):
3184         (WebInspector.StylesSidebarPane.prototype.update.getComputedStyleCallback):
3185         (WebInspector.StylesSidebarPane.prototype.update):
3186         (WebInspector.StylesSidebarPane.prototype._refreshUpdate):
3187         (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
3188         (WebInspector.StylesSidebarPane.prototype._refreshStyleRules):
3189         (WebInspector.StylesSidebarPane.prototype.addBlankSection):
3190         (WebInspector.StylePropertiesSection.prototype._dblclickEmptySpace):
3191         (WebInspector.StylePropertiesSection.prototype._clickSelector):
3192
3193 2010-03-31  Yury Semikhatsky  <yurys@chromium.org>
3194
3195         Unreviewed. Chromium build fix: create missing v8::HandleScope.
3196
3197         https://bugs.webkit.org/show_bug.cgi?id=36828
3198
3199         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
3200         (WebCore::InjectedScriptHost::canAccessInspectedWindow):
3201
3202 2010-03-31  Yury Semikhatsky  <yurys@chromium.org>
3203
3204         Reviewed by Pavel Feldman.
3205
3206         Check that injected script can still access inspected window object when wrapping console object. When the window cannot be access serialize objects as strings. Also don't call InjectedScript.dispatch if the window cannot be accessed (due to frame navigation).
3207
3208         https://bugs.webkit.org/show_bug.cgi?id=36828
3209
3210         * bindings/js/JSInjectedScriptHostCustom.cpp:
3211         (WebCore::InjectedScriptHost::canAccessInspectedWindow):
3212         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
3213         (WebCore::InjectedScriptHost::canAccessInspectedWindow):
3214         * inspector/InjectedScript.cpp:
3215         (WebCore::InjectedScript::wrapForConsole):
3216         * inspector/InjectedScriptHost.h:
3217         * inspector/front-end/InjectedScript.js:
3218         (injectedScriptConstructor):
3219
3220 2010-03-31  Mattias Nissler  <mnissler@google.com>
3221
3222         Reviewed by Pavel Feldman.
3223
3224         Allow generic resource URLs for cookie handling in the inspector. This
3225         enables display of all cookies, not only those that are associated
3226         with resources accessed through http, https or file.
3227         https://bugs.webkit.org/show_bug.cgi?id=36877
3228
3229         * inspector/front-end/CookieItemsView.js:
3230         (WebInspector.CookieItemsView.prototype._filterCookiesForDomain):
3231         * inspector/front-end/DOMAgent.js:
3232         (WebInspector.Cookies.cookieMatchesResourceURL):
3233         * inspector/front-end/inspector.js:
3234         (WebInspector.updateResource):
3235
3236 2010-03-30  Jeremy Orlow  <jorlow@chromium.org>
3237
3238         Reviewed by Nate Chapin.
3239
3240         IndexedDB: Finish hooking up bindings for IndexedDatabaseRequest
3241         https://bugs.webkit.org/show_bug.cgi?id=36830
3242
3243         Still not enough hooked up to test.  Soon!
3244
3245         * WebCore.gypi:
3246         * bindings/v8/custom/V8CustomIDBCallback.h: Removed.
3247         * bindings/v8/custom/V8CustomIDBCallbacks.h: Added.
3248         (WebCore::V8CustomIDBCallbacks::create):
3249         (WebCore::V8CustomIDBCallbacks::~V8CustomIDBCallbacks):
3250         (WebCore::V8CustomIDBCallbacks::onSuccess):
3251         (WebCore::V8CustomIDBCallbacks::onError):
3252         (WebCore::V8CustomIDBCallbacks::V8CustomIDBCallbacks):
3253         * bindings/v8/custom/V8IndexedDatabaseRequestCustom.cpp:
3254         (WebCore::V8IndexedDatabaseRequest::openCallback):
3255         * storage/IDBDatabaseRequest.cpp: Added.
3256         (WebCore::IDBDatabaseRequest::IDBDatabaseRequest):
3257         (WebCore::IDBDatabaseRequest::~IDBDatabaseRequest):
3258         * storage/IDBDatabaseRequest.h:
3259         (WebCore::IDBDatabaseRequest::create):
3260         * storage/IndexedDatabaseRequest.cpp:
3261         (WebCore::IndexedDatabaseRequest::open):
3262         * storage/IndexedDatabaseRequest.h:
3263
3264 2010-03-31  Zhenyao Mo  <zmo@google.com>
3265
3266         Reviewed by Darin Fisher.
3267
3268         Implement memmove behavior for WebGLArray set()
3269         https://bugs.webkit.org/show_bug.cgi?id=35619
3270
3271         New test cases are added to fast/canvas/webgl/array-setters.html.
3272
3273         * html/canvas/WebGLArray.cpp: Use memmove instead of memcpy; with memmove, copying takes place as if an intermediate buffer was used, allowing the destination and source to overlap.
3274         (WebCore::WebGLArray::setImpl):
3275
3276 2010-03-31  Benjamin Poulain  <benjamin.poulain@nokia.com>
3277
3278         Reviewed by Darin Adler.
3279
3280         tryLayoutDoingPositionedMovementOnly does not have to be in RenderObject or be virtual
3281         https://bugs.webkit.org/show_bug.cgi?id=36810
3282
3283         Move tryLayoutDoingPositionedMovementOnly as a regular method of RenderBox
3284
3285         * rendering/RenderBox.h:
3286         (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly):
3287         * rendering/RenderObject.h:
3288
3289 2010-03-31  John Gregg  <johnnyg@google.com>
3290
3291         Reviewed by Darin Fisher.
3292
3293         [chromium] add logging of cross-frame property accesses for site isolation
3294         https://bugs.webkit.org/show_bug.cgi?id=35773
3295
3296         No new tests as no new functionality.
3297
3298         * bindings/scripts/CodeGeneratorV8.pm:
3299         * bindings/v8/V8Utilities.cpp:
3300         (WebCore::logPropertyAccess):
3301         * bindings/v8/V8Utilities.h:
3302         * loader/FrameLoaderClient.h:
3303         (WebCore::FrameLoaderClient::logCrossFramePropertyAccess):
3304
3305 2010-03-30  Gavin Barraclough  <barraclough@apple.com>
3306
3307         Rubber stamped by Sam Weinig.
3308
3309         https://bugs.webkit.org/show_bug.cgi?id=36866
3310         Move CString to WTF
3311
3312         * Android.mk:
3313         * ForwardingHeaders/wtf/text: Added.
3314         * ForwardingHeaders/wtf/text/CString.h: Added.
3315         * GNUmakefile.am:
3316         * WebCore.base.exp:
3317         * WebCore.gypi:
3318         * WebCore.order:
3319         * WebCore.pro:
3320         * WebCore.vcproj/WebCore.vcproj:
3321         * WebCore.xcodeproj/project.pbxproj:
3322         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3323         * bindings/js/JSDOMWindowBase.cpp:
3324         * bindings/js/ScheduledAction.cpp:
3325         * bindings/js/ScriptController.cpp:
3326         * bindings/v8/ScriptController.cpp:
3327         * bindings/v8/V8Binding.cpp:
3328         * bindings/v8/V8DOMWindowShell.cpp:
3329         * bridge/jni/JNIBridge.cpp:
3330         * bridge/jni/v8/JavaStringV8.h:
3331         (JSC::Bindings::JavaStringImpl::init):
3332         * css/CSSParser.cpp:
3333         * dom/CharacterData.cpp:
3334         * dom/Document.cpp:
3335         * dom/Element.cpp:
3336         * dom/Node.cpp:
3337         * dom/Position.cpp:
3338         * dom/Range.cpp:
3339         * dom/Text.cpp:
3340         * dom/XMLTokenizer.cpp:
3341         * dom/XMLTokenizerLibxml2.cpp:
3342         * dom/XMLTokenizerQt.cpp:
3343         * editing/SelectionController.cpp:
3344         * editing/VisiblePosition.cpp:
3345         * editing/VisibleSelection.cpp:
3346         * history/CachedFrame.cpp:
3347         * history/HistoryItem.cpp:
3348         * history/qt/HistoryItemQt.cpp:
3349         * html/FormDataList.h:
3350         (WebCore::FormDataList::appendData):
3351         (WebCore::FormDataList::Item::Item):
3352         (WebCore::FormDataList::Item::data):
3353         * html/HTMLDocument.cpp:
3354         * html/PreloadScanner.cpp:
3355         * inspector/InspectorController.cpp:
3356         * inspector/InspectorDOMAgent.cpp:
3357         * loader/DocLoader.cpp:
3358         * loader/FTPDirectoryDocument.cpp:
3359         * loader/FrameLoader.cpp:
3360         * loader/HistoryController.cpp:
3361         * loader/ProgressTracker.cpp:
3362         * loader/appcache/ApplicationCacheStorage.cpp:
3363         * loader/archive/cf/LegacyWebArchive.cpp:
3364         * loader/icon/wince/IconDatabaseWince.cpp:
3365         * loader/loader.cpp:
3366         * page/Console.cpp:
3367         * page/DOMWindow.cpp:
3368         * page/SecurityOrigin.cpp:
3369         * page/XSSAuditor.cpp:
3370         * page/animation/AnimationBase.cpp:
3371         * platform/ContextMenu.cpp:
3372         * platform/FileSystem.h:
3373         * platform/KURL.cpp:
3374         * platform/KURLGoogle.cpp:
3375         * platform/KURLGooglePrivate.h:
3376         * platform/Pasteboard.h:
3377         * platform/android/FileSystemAndroid.cpp:
3378         * platform/android/TemporaryLinkStubs.cpp:
3379         * platform/brew/KURLBrew.cpp:
3380         * platform/cf/FileSystemCF.cpp:
3381         * platform/chromium/MIMETypeRegistryChromium.cpp:
3382         * platform/efl/FileSystemEfl.cpp:
3383         * platform/efl/PasteboardEfl.cpp:
3384         * platform/efl/PlatformKeyboardEventEfl.cpp:
3385         * platform/efl/PlatformScreenEfl.cpp:
3386         * platform/efl/RenderThemeEfl.cpp:
3387         * platform/efl/ScrollbarEfl.cpp:
3388         * platform/efl/SharedBufferEfl.cpp:
3389         * platform/efl/WidgetEfl.cpp:
3390         * platform/graphics/GlyphPageTreeNode.cpp:
3391         * platform/graphics/cairo/FontPlatformDataCairo.cpp:
3392         * platform/graphics/cg/ImageBufferCG.cpp:
3393         * platform/graphics/chromium/FontCacheLinux.cpp:
3394         * platform/graphics/chromium/FontPlatformDataLinux.h:
3395         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
3396         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
3397         * platform/graphics/gtk/FontPlatformDataPango.cpp:
3398         * platform/graphics/gtk/IconGtk.cpp:
3399         * platform/graphics/gtk/ImageGtk.cpp:
3400         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
3401         * platform/graphics/mac/GraphicsContext3DMac.cpp:
3402         * platform/graphics/mac/GraphicsLayerCA.mm:
3403         * platform/graphics/qt/GraphicsContext3DQt.cpp:
3404         * platform/graphics/qt/ImageBufferQt.cpp:
3405         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
3406         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
3407         * platform/graphics/skia/GraphicsLayerSkia.cpp:
3408         * platform/graphics/win/GraphicsLayerCACF.cpp:
3409         * platform/graphics/win/WKCACFLayer.cpp:
3410         * platform/graphics/wx/FontPlatformData.h:
3411         * platform/gtk/ClipboardGtk.cpp:
3412         * platform/gtk/ContextMenuItemGtk.cpp:
3413         * platform/gtk/DataObjectGtk.h:
3414         * platform/gtk/FileChooserGtk.cpp:
3415         * platform/gtk/FileSystemGtk.cpp:
3416         * platform/gtk/GeolocationServiceGtk.cpp:
3417         * platform/gtk/KURLGtk.cpp:
3418         * platform/gtk/Language.cpp:
3419         * platform/gtk/LocalizedStringsGtk.cpp:
3420         * platform/gtk/PasteboardGtk.cpp:
3421         * platform/gtk/PopupMenuGtk.cpp:
3422         * platform/gtk/RenderThemeGtk.cpp:
3423         * platform/gtk/SharedBufferGtk.cpp:
3424         * platform/haiku/FileSystemHaiku.cpp:
3425         * platform/haiku/PlatformKeyboardEventHaiku.cpp:
3426         * platform/network/CredentialStorage.cpp:
3427         * platform/network/FormData.cpp:
3428         * platform/network/FormData.h:
3429         * platform/network/FormDataBuilder.cpp:
3430         * platform/network/FormDataBuilder.h:
3431         * platform/network/HTTPParsers.cpp:
3432         * platform/network/android/ResourceHandleAndroid.cpp:
3433         * platform/network/cf/FormDataStreamCFNet.cpp:
3434         * platform/network/cf/ResourceHandleCFNet.cpp:
3435         * platform/network/chromium/ResourceResponse.h:
3436         * platform/network/curl/FormDataStreamCurl.cpp:
3437         * platform/network/curl/ResourceHandleManager.cpp:
3438         * platform/network/curl/ResourceHandleManager.h:
3439         * platform/network/mac/FormDataStreamMac.mm:
3440         * platform/network/mac/ResourceHandleMac.mm:
3441         * platform/network/qt/QNetworkReplyHandler.cpp:
3442         * platform/network/soup/CookieJarSoup.cpp:
3443         * platform/network/soup/ResourceHandleSoup.cpp:
3444         * platform/network/soup/ResourceRequestSoup.cpp:
3445         * platform/network/soup/ResourceResponseSoup.cpp:
3446         * platform/network/win/ResourceHandleWin.cpp:
3447         * platform/posix/FileSystemPOSIX.cpp:
3448         * platform/qt/FileSystemQt.cpp:
3449         * platform/qt/KURLQt.cpp:
3450         * platform/qt/TemporaryLinkStubs.cpp:
3451         * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
3452         * platform/text/CString.cpp: Removed.
3453         * platform/text/CString.h: Removed.
3454         * platform/text/PlatformString.h:
3455         * platform/text/String.cpp:
3456         * platform/text/StringImpl.cpp:
3457         * platform/text/TextCodec.h:
3458         * platform/text/TextCodecICU.cpp:
3459         * platform/text/TextCodecLatin1.cpp:
3460         * platform/text/TextCodecUTF16.cpp:
3461         * platform/text/TextCodecUserDefined.cpp:
3462         * platform/text/TextEncoding.cpp:
3463         * platform/text/TextEncoding.h:
3464         * platform/text/chromium/TextBreakIteratorInternalICUChromium.cpp:
3465         * platform/text/gtk/TextCodecGtk.cpp:
3466         * platform/text/haiku/StringHaiku.cpp:
3467         * platform/text/mac/TextCodecMac.cpp:
3468         * platform/text/qt/TextCodecQt.cpp:
3469         * platform/text/wx/StringWx.cpp:
3470         * platform/win/ClipboardUtilitiesWin.cpp:
3471         * platform/win/ClipboardWin.cpp:
3472         * platform/win/ContextMenuItemWin.cpp:
3473         * platform/win/ContextMenuWin.cpp:
3474         * platform/win/FileSystemWin.cpp:
3475         * platform/win/GDIObjectCounter.cpp:
3476         * platform/win/Language.cpp:
3477         * platform/win/PasteboardWin.cpp:
3478         * platform/wince/FileSystemWince.cpp:
3479         * platform/wince/KeygenWince.cpp:
3480         * platform/wince/PasteboardWince.cpp:
3481         * platform/wx/FileSystemWx.cpp:
3482         * platform/wx/LoggingWx.cpp:
3483         * plugins/PluginDebug.h:
3484         * plugins/PluginPackage.cpp:
3485         * plugins/PluginStream.cpp:
3486         * plugins/PluginStream.h:
3487         * plugins/PluginView.h:
3488         * plugins/gtk/PluginPackageGtk.cpp:
3489         * plugins/mac/PluginPackageMac.cpp:
3490         * plugins/qt/PluginPackageQt.cpp:
3491         * plugins/symbian/PluginPackageSymbian.cpp:
3492         * plugins/win/PluginPackageWin.cpp:
3493         * rendering/RenderLayer.cpp:
3494         * rendering/RenderLayerCompositor.cpp:
3495         * rendering/RenderTreeAsText.cpp:
3496         * storage/Database.cpp:
3497         * storage/SQLTransactionCoordinator.cpp:
3498         * storage/SQLTransactionCoordinator.h:
3499         * storage/StorageAreaSync.cpp:
3500         * storage/StorageSyncManager.cpp:
3501         * storage/chromium/DatabaseTrackerChromium.cpp:
3502         * storage/chromium/QuotaTracker.cpp:
3503         * storage/chromium/QuotaTracker.h:
3504         * svg/SVGFontFaceElement.cpp:
3505         * svg/SVGStyledElement.cpp:
3506         * svg/SVGUseElement.cpp:
3507         * websockets/WebSocket.cpp:
3508         * websockets/WebSocketChannel.cpp:
3509         * websockets/WebSocketHandshake.cpp:
3510         * wml/WMLErrorHandling.cpp:
3511         * wml/WMLGoElement.cpp:
3512         * wml/WMLPageState.cpp:
3513         * wml/WMLPostfieldElement.cpp:
3514         * wml/WMLSelectElement.cpp:
3515         * xml/XMLHttpRequest.cpp:
3516         * xml/XSLStyleSheetLibxslt.cpp:
3517         * xml/XSLTProcessorLibxslt.cpp:
3518
3519 2010-03-30  Kent Tamura  <tkent@chromium.org>
3520
3521         Reviewed by Brady Eidson.
3522
3523         REGRESSION (r56439) - Crash when a renderer for a file upload control
3524         with a selected file is recreated
3525         https://bugs.webkit.org/show_bug.cgi?id=36723
3526
3527         RenderFileUploadControl::chooseIconForFiles was called before
3528         m_fileChooser was initialized.
3529
3530         * platform/FileChooser.cpp:
3531         (WebCore::FileChooser::FileChooser): Introduce m_isInitializing flag to
3532           avoid FileChooserClient::repaint() call.
3533         (WebCore::FileChooser::loadIcon):
3534         (WebCore::FileChooser::iconLoaded):
3535         * platform/FileChooser.h: Add a FielChooser parameter to
3536           FileChooserClient::chooseIconForFiles().
3537         * rendering/RenderFileUploadControl.cpp:
3538         (WebCore::RenderFileUploadControl::chooseIconForFiles):
3539         (WebCore::RenderFileUploadControl::paintObject): Add an assertion.
3540         * rendering/RenderFileUploadControl.h:
3541
3542 2010-03-30  Stanislav Paltis  <Stanislav.Paltis@nokia.com>
3543
3544         Reviewed by Laszlo Gombos.
3545
3546         [Qt] qmake/symbian build failure
3547         https://bugs.webkit.org/show_bug.cgi?id=36745
3548
3549         Fix build break in Symbian build introduced in r56714,
3550         by modifying comment escape character from ";" to "#".
3551
3552         * WebCore.pro:
3553
3554 2010-03-30  Kevin Ollivier  <kevino@theolliviers.com>
3555
3556         [wx] Build fix after new localized string addition.
3557
3558         * platform/wx/LocalizedStringsWx.cpp:
3559         (WebCore::missingPluginText):
3560
3561 2010-03-30  Sam Weinig  <sam@webkit.org>
3562
3563         Reviewed by Anders Carlsson.
3564
3565         Add missing export.
3566
3567         * WebCore.base.exp:
3568
3569 2010-03-30  Enrica Casucci  <enrica@apple.com>
3570
3571         Reviewed by Darin Adler.
3572
3573         Incorrect insertion position after typing THAI CHARACTER SARA AM = 0E33.
3574         <rdar://problem/7810749>
3575         https://bugs.webkit.org/show_bug.cgi?id=36858
3576
3577         Test: fast/text/multiglyph-characters.html
3578
3579         Characters with multiple glyph were not supported correctly.
3580         Computing the advance width was producing a division by zero.
3581         
3582         * platform/graphics/mac/ComplexTextController.cpp:
3583         (WebCore::ComplexTextController::advance):
3584
3585 2010-03-30  Chris Evans  <cevans@chromium.org>
3586
3587         Reviewed by Adam Barth.
3588
3589         Taint the canvas if an SVG-derived pattern is rendered into it.
3590
3591         https://bugs.webkit.org/show_bug.cgi?id=36838
3592
3593         Test: fast/canvas/svg-taint.html
3594
3595         * html/canvas/CanvasRenderingContext2D.cpp:
3596         (WebCore::CanvasRenderingContext2D::createPattern):
3597           Take into account the image's hasSingleSecurityOrigin() property.
3598
3599 2010-03-30  Alexey Proskuryakov  <ap@apple.com>
3600